@puku/puku-cli 1.8.41 → 1.8.42

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.
Files changed (2) hide show
  1. package/dist/cli.mjs +14 -14
  2. package/package.json +1 -1
package/dist/cli.mjs CHANGED
@@ -596,7 +596,7 @@ but this machine requires organization ${_}.
596
596
 
597
597
  Please log in with the correct organization: claude auth login`}}var $eA=300000,mW=null,Xb=null,e76=0,OeA=3600000,HeA=180000,im,feA=5000,jeA=3600000,XeA=180000,WZ6,_46,Iq,ZRq=0,nF_,DZ6=null,cr6=null,GRq=0,veA=1740000,hRq;var Kq=h(()=>{N4();qM();LK();i4();tS();F7();J_();Ec_();ef();f76();mc_();GD6();Bc_();li6();V2();Y8();__();R_();W_();H7();D_();hh();Ob();iF_();Kb();W8();m_();gr6();im=iZ_(async()=>{let _=await YeA(),q=await MeA();if(_||q)await lDq();return q},OeA);WZ6=iZ_(async()=>{return await JeA()},jeA);_46=c_(()=>{if(n7())return null;if(process.platform==="darwin"){let q=XRq();if(q){if(q.stdout)return{key:q.stdout,source:"/login managed key"}}else{let K=IW();try{let A=IZ(`security find-generic-password -a $USER -w -s "${K}"`);if(A)return{key:A,source:"/login managed key"}}catch(A){K6(A)}}}let _=$_();if(!_.primaryApiKey)return null;return{key:_.primaryApiKey,source:"/login managed key"}});Iq=c_(()=>{if(n7())return null;if(process.env.PUKU_CLI_OAUTH_TOKEN)return{accessToken:process.env.PUKU_CLI_OAUTH_TOKEN,refreshToken:null,expiresAt:null,scopes:["user:inference"],subscriptionType:null,rateLimitTier:null};let _=Qi6();if(_)return{accessToken:_,refreshToken:null,expiresAt:null,scopes:["user:inference"],subscriptionType:null,rateLimitTier:null};try{let A=d7().read()?.claudeAiOauth;if(!A?.accessToken)return null;return A}catch(q){return K6(q),null}});nF_=new Map;hRq=class hRq extends Error{}});function SRq(){Uy=void 0,Yx8()}function R0(){if(Uy!==void 0)return Uy;if($8()!=="firstParty")return Uy=Hp(!1);if(!VM())return Uy=Hp(!1);if(process.env.PUKU_CLI_ENTRYPOINT==="local-agent")return Uy=Hp(!1);let _=Iq();if(_?.accessToken&&_.subscriptionType===null)return Uy=Hp(!0);if(_?.accessToken&&_.scopes?.includes(SV)&&(_.subscriptionType==="enterprise"||_.subscriptionType==="team"))return Uy=Hp(!0);try{let{key:q}=t3({skipRetrievingKeyFromApiKeyHelper:!0});if(q)return Uy=Hp(!0)}catch{}return Uy=Hp(!1)}var Uy;var Md_=h(()=>{i4();Kq();F7();Gm6()});function bRq(_){let q=_.toUpperCase();return keA.has(q)||NeA.some((K)=>q.startsWith(K))}var keA,NeA,CRq,z46;var dr6=h(()=>{keA=new Set(["PUKU_CLI_PROVIDER_MANAGED_BY_HOST","PUKU_CLI_USE_BEDROCK","PUKU_CLI_USE_VERTEX","PUKU_CLI_USE_FOUNDRY","PUKU_CLI_USE_GITHUB","PUKU_AI_BASE_URL","ANTHROPIC_BASE_URL","ANTHROPIC_BEDROCK_BASE_URL","ANTHROPIC_VERTEX_BASE_URL","ANTHROPIC_FOUNDRY_BASE_URL","ANTHROPIC_FOUNDRY_RESOURCE","ANTHROPIC_VERTEX_PROJECT_ID","CLOUD_ML_REGION","PUKU_AI_API_KEY","ANTHROPIC_API_KEY","ANTHROPIC_AUTH_TOKEN","PUKU_CLI_OAUTH_TOKEN","AWS_BEARER_TOKEN_BEDROCK","ANTHROPIC_FOUNDRY_API_KEY","PUKU_CLI_SKIP_BEDROCK_AUTH","PUKU_CLI_SKIP_VERTEX_AUTH","PUKU_CLI_SKIP_FOUNDRY_AUTH","PUKU_AI_MODEL","ANTHROPIC_MODEL","ANTHROPIC_DEFAULT_HAIKU_MODEL","ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION","ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME","ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES","ANTHROPIC_DEFAULT_OPUS_MODEL","ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION","ANTHROPIC_DEFAULT_OPUS_MODEL_NAME","ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES","ANTHROPIC_DEFAULT_SONNET_MODEL","ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION","ANTHROPIC_DEFAULT_SONNET_MODEL_NAME","ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES","PUKU_AI_SMALL_FAST_MODEL","ANTHROPIC_SMALL_FAST_MODEL","ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION","PUKU_CLI_SUBAGENT_MODEL"]),NeA=["VERTEX_REGION_CLAUDE_"];CRq=["apiKeyHelper","awsAuthRefresh","awsCredentialExport","gcpAuthRefresh","otelHeadersHelper","statusLine"],z46=new Set(["ANTHROPIC_CUSTOM_HEADERS","ANTHROPIC_CUSTOM_MODEL_OPTION","ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION","ANTHROPIC_CUSTOM_MODEL_OPTION_NAME","ANTHROPIC_DEFAULT_HAIKU_MODEL","ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION","ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME","ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES","ANTHROPIC_DEFAULT_OPUS_MODEL","ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION","ANTHROPIC_DEFAULT_OPUS_MODEL_NAME","ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES","ANTHROPIC_DEFAULT_SONNET_MODEL","ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION","ANTHROPIC_DEFAULT_SONNET_MODEL_NAME","ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES","ANTHROPIC_FOUNDRY_API_KEY","PUKU_AI_MODEL","PUKU_AI_SMALL_FAST_MODEL","ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION","AWS_DEFAULT_REGION","AWS_PROFILE","AWS_REGION","BASH_DEFAULT_TIMEOUT_MS","BASH_MAX_OUTPUT_LENGTH","BASH_MAX_TIMEOUT_MS","PUKU_CLI_BASH_MAINTAIN_PROJECT_WORKING_DIR","PUKU_CLI_API_KEY_HELPER_TTL_MS","PUKU_CLI_DISABLE_EXPERIMENTAL_BETAS","PUKU_CLI_DISABLE_NONESSENTIAL_TRAFFIC","PUKU_CLI_DISABLE_TERMINAL_TITLE","PUKU_CLI_ENABLE_TELEMETRY","PUKU_CLI_EXPERIMENTAL_AGENT_TEAMS","PUKU_CLI_IDE_SKIP_AUTO_INSTALL","PUKU_CLI_MAX_OUTPUT_TOKENS","PUKU_CLI_SKIP_BEDROCK_AUTH","PUKU_CLI_SKIP_FOUNDRY_AUTH","PUKU_CLI_SKIP_VERTEX_AUTH","PUKU_CLI_SUBAGENT_MODEL","PUKU_CLI_USE_BEDROCK","PUKU_CLI_USE_FOUNDRY","PUKU_CLI_USE_GITHUB","PUKU_CLI_USE_VERTEX","DISABLE_AUTOUPDATER","DISABLE_BUG_COMMAND","DISABLE_COST_WARNINGS","DISABLE_ERROR_REPORTING","DISABLE_FEEDBACK_COMMAND","DISABLE_TELEMETRY","ENABLE_TOOL_SEARCH","MAX_MCP_OUTPUT_TOKENS","MAX_THINKING_TOKENS","MCP_TIMEOUT","MCP_TOOL_TIMEOUT","OTEL_EXPORTER_OTLP_HEADERS","OTEL_EXPORTER_OTLP_LOGS_HEADERS","OTEL_EXPORTER_OTLP_LOGS_PROTOCOL","OTEL_EXPORTER_OTLP_METRICS_CLIENT_CERTIFICATE","OTEL_EXPORTER_OTLP_METRICS_CLIENT_KEY","OTEL_EXPORTER_OTLP_METRICS_HEADERS","OTEL_EXPORTER_OTLP_METRICS_PROTOCOL","OTEL_EXPORTER_OTLP_PROTOCOL","OTEL_EXPORTER_OTLP_TRACES_HEADERS","OTEL_LOG_TOOL_DETAILS","OTEL_LOG_USER_PROMPTS","OTEL_LOGS_EXPORT_INTERVAL","OTEL_LOGS_EXPORTER","OTEL_METRIC_EXPORT_INTERVAL","OTEL_METRICS_EXPORTER","OTEL_METRICS_INCLUDE_ACCOUNT_UUID","OTEL_METRICS_INCLUDE_SESSION_ID","OTEL_METRICS_INCLUDE_VERSION","OTEL_RESOURCE_ATTRIBUTES","USE_BUILTIN_RIPGREP","VERTEX_REGION_CLAUDE_3_5_HAIKU","VERTEX_REGION_CLAUDE_3_5_SONNET","VERTEX_REGION_CLAUDE_3_7_SONNET","VERTEX_REGION_CLAUDE_4_0_OPUS","VERTEX_REGION_CLAUDE_4_0_SONNET","VERTEX_REGION_CLAUDE_4_1_OPUS","VERTEX_REGION_CLAUDE_4_5_SONNET","VERTEX_REGION_CLAUDE_4_6_SONNET","VERTEX_REGION_CLAUDE_HAIKU_4_5"])});var IRq={};N_(IRq,{applySafeConfigEnvironmentVariables:()=>fd_,applyConfigEnvironmentVariables:()=>L0});function VeA(_){if(!_||!process.env.ANTHROPIC_UNIX_SOCKET)return _||{};let{ANTHROPIC_UNIX_SOCKET:q,ANTHROPIC_BASE_URL:K,ANTHROPIC_API_KEY:A,ANTHROPIC_AUTH_TOKEN:z,PUKU_CLI_OAUTH_TOKEN:$,...w}=_;return w}function yeA(_){if(!_)return{};if(!C6(process.env.PUKU_CLI_PROVIDER_MANAGED_BY_HOST))return _;let q={};for(let[K,A]of Object.entries(_))if(!bRq(K))q[K]=A;return q}function ReA(_){if(!_||!Qr6)return _||{};let q={};for(let[K,A]of Object.entries(_))if(!Qr6.has(K))q[K]=A;return q}function $46(_){return ReA(yeA(VeA(_)))}function fd_(){if(Qr6===void 0)Qr6=process.env.PUKU_CLI_ENTRYPOINT==="puku-desktop"?new Set(Object.keys(process.env)):null;Object.assign(process.env,$46($_().env));for(let q of LeA){if(q==="policySettings")continue;if(!gO(q))continue;Object.assign(process.env,$46(s_(q)?.env))}R0(),Object.assign(process.env,$46(s_("policySettings")?.env));let _=$46(x8()?.env);for(let[q,K]of Object.entries(_))if(z46.has(q.toUpperCase()))process.env[q]=K}function L0(){Object.assign(process.env,$46($_().env)),Object.assign(process.env,$46(x8()?.env)),oU8(),je8(),UJq(),dl6()}var Qr6,LeA;var w46=h(()=>{Md_();OJ6();Y8();R_();dr6();eV();tJ();L3();W8();LeA=["userSettings","flagSettings","policySettings"]});function xRq(..._){let q=_.reduce((z,{length:$})=>z+$,0),K=new Uint8Array(q),A=0;for(let z of _)K.set(z,A),A+=z.length;return K}var VZ6,Fy;var O46=h(()=>{VZ6=new TextEncoder,Fy=new TextDecoder});import{Buffer as uRq}from"node:buffer";function EeA(_){let q=_;if(q instanceof Uint8Array)q=Fy.decode(q);return q}var pRq=(_)=>uRq.from(_).toString("base64url"),vg=(_)=>new Uint8Array(uRq.from(EeA(_),"base64url"));var lr6=h(()=>{O46()});var or6={};N_(or6,{JWTInvalid:()=>wX,JWTExpired:()=>yZ6,JWTClaimValidationFailed:()=>gW,JWSSignatureVerificationFailed:()=>ar6,JWSInvalid:()=>yY,JWKSTimeout:()=>BRq,JWKSNoMatchingKey:()=>nr6,JWKSMultipleMatchingKeys:()=>rr6,JWKSInvalid:()=>RZ6,JWKInvalid:()=>cRq,JWEInvalid:()=>gRq,JWEDecryptionFailed:()=>mRq,JOSENotSupported:()=>CM,JOSEError:()=>qj,JOSEAlgNotAllowed:()=>ir6});var qj,gW,yZ6,ir6,CM,mRq,gRq,yY,wX,cRq,RZ6,nr6,rr6,BRq,ar6;var OX=h(()=>{qj=class qj extends Error{static code="ERR_JOSE_GENERIC";code="ERR_JOSE_GENERIC";constructor(_,q){super(_,q);this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}};gW=class gW extends qj{static code="ERR_JWT_CLAIM_VALIDATION_FAILED";code="ERR_JWT_CLAIM_VALIDATION_FAILED";claim;reason;payload;constructor(_,q,K="unspecified",A="unspecified"){super(_,{cause:{claim:K,reason:A,payload:q}});this.claim=K,this.reason=A,this.payload=q}};yZ6=class yZ6 extends qj{static code="ERR_JWT_EXPIRED";code="ERR_JWT_EXPIRED";claim;reason;payload;constructor(_,q,K="unspecified",A="unspecified"){super(_,{cause:{claim:K,reason:A,payload:q}});this.claim=K,this.reason=A,this.payload=q}};ir6=class ir6 extends qj{static code="ERR_JOSE_ALG_NOT_ALLOWED";code="ERR_JOSE_ALG_NOT_ALLOWED"};CM=class CM extends qj{static code="ERR_JOSE_NOT_SUPPORTED";code="ERR_JOSE_NOT_SUPPORTED"};mRq=class mRq extends qj{static code="ERR_JWE_DECRYPTION_FAILED";code="ERR_JWE_DECRYPTION_FAILED";constructor(_="decryption operation failed",q){super(_,q)}};gRq=class gRq extends qj{static code="ERR_JWE_INVALID";code="ERR_JWE_INVALID"};yY=class yY extends qj{static code="ERR_JWS_INVALID";code="ERR_JWS_INVALID"};wX=class wX extends qj{static code="ERR_JWT_INVALID";code="ERR_JWT_INVALID"};cRq=class cRq extends qj{static code="ERR_JWK_INVALID";code="ERR_JWK_INVALID"};RZ6=class RZ6 extends qj{static code="ERR_JWKS_INVALID";code="ERR_JWKS_INVALID"};nr6=class nr6 extends qj{static code="ERR_JWKS_NO_MATCHING_KEY";code="ERR_JWKS_NO_MATCHING_KEY";constructor(_="no applicable key found in the JSON Web Key Set",q){super(_,q)}};rr6=class rr6 extends qj{[Symbol.asyncIterator];static code="ERR_JWKS_MULTIPLE_MATCHING_KEYS";code="ERR_JWKS_MULTIPLE_MATCHING_KEYS";constructor(_="multiple matching keys found in the JSON Web Key Set",q){super(_,q)}};BRq=class BRq extends qj{static code="ERR_JWKS_TIMEOUT";code="ERR_JWKS_TIMEOUT";constructor(_="request timed out",q){super(_,q)}};ar6=class ar6 extends qj{static code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";code="ERR_JWS_SIGNATURE_VERIFICATION_FAILED";constructor(_="signature verification failed",q){super(_,q)}}});function LZ6(_){switch(_){case"PS256":case"RS256":case"ES256":case"ES256K":return"sha256";case"PS384":case"RS384":case"ES384":return"sha384";case"PS512":case"RS512":case"ES512":return"sha512";case"EdDSA":return;default:throw new CM(`alg ${_} is not supported either by JOSE or your javascript runtime`)}}var jd_=h(()=>{OX()});import*as URq from"node:crypto";import*as FRq from"node:util";var SeA,dRq,Y46=(_)=>FRq.types.isCryptoKey(_);var sr6=h(()=>{SeA=URq.webcrypto,dRq=SeA});import*as QRq from"node:util";var tr6=(_)=>QRq.types.isKeyObject(_);var Jd_=()=>{};function lRq(_,q,...K){if(K=K.filter(Boolean),K.length>2){let A=K.pop();_+=`one of type ${K.join(", ")}, or ${A}.`}else if(K.length===2)_+=`one of type ${K[0]} or ${K[1]}.`;else _+=`of type ${K[0]}.`;if(q==null)_+=` Received ${q}`;else if(typeof q==="function"&&q.name)_+=` Received function ${q.name}`;else if(typeof q==="object"&&q!=null){if(q.constructor?.name)_+=` Received an instance of ${q.constructor.name}`}return _}function Xd_(_,q,...K){return lRq(`Key for the ${_} algorithm must be `,q,...K)}var EZ6=(_,...q)=>{return lRq("Key must be ",_,...q)};var Pd_=(_)=>tr6(_)||Y46(_),Pb;var er6=h(()=>{sr6();Jd_();Pb=["KeyObject"];if(globalThis.CryptoKey||dRq?.CryptoKey)Pb.push("CryptoKey")});function beA(_){return typeof _==="object"&&_!==null}function YX(_){if(!beA(_)||Object.prototype.toString.call(_)!=="[object Object]")return!1;if(Object.getPrototypeOf(_)===null)return!0;let q=_;while(Object.getPrototypeOf(q)!==null)q=Object.getPrototypeOf(q);return Object.getPrototypeOf(_)===q}function dy(_){return YX(_)&&typeof _.kty==="string"}function iRq(_){return _.kty!=="oct"&&typeof _.d==="string"}function nRq(_){return _.kty!=="oct"&&typeof _.d>"u"}function rRq(_){return dy(_)&&_.kty==="oct"&&typeof _.k==="string"}var hZ6=()=>{};import{KeyObject as CeA}from"node:crypto";var IeA=(_)=>{switch(_){case"prime256v1":return"P-256";case"secp384r1":return"P-384";case"secp521r1":return"P-521";case"secp256k1":return"secp256k1";default:throw new CM("Unsupported key curve for this operation")}},xeA=(_,q)=>{let K;if(Y46(_))K=CeA.from(_);else if(tr6(_))K=_;else if(dy(_))return _.crv;else throw TypeError(EZ6(_,...Pb));if(K.type==="secret")throw TypeError('only "private" or "public" type keys can be used for this operation');switch(K.asymmetricKeyType){case"ed25519":case"ed448":return`Ed${K.asymmetricKeyType.slice(2)}`;case"x25519":case"x448":return`X${K.asymmetricKeyType.slice(1)}`;case"ec":{let A=K.asymmetricKeyDetails.namedCurve;if(q)return A;return IeA(A)}default:throw TypeError("Invalid asymmetric key type for this operation")}},oRq;var sRq=h(()=>{OX();sr6();Jd_();er6();hZ6();oRq=xeA});import{KeyObject as ueA}from"node:crypto";var Wd_=(_,q)=>{let K;try{if(_ instanceof ueA)K=_.asymmetricKeyDetails?.modulusLength;else K=Buffer.from(_.n,"base64url").byteLength<<3}catch{}if(typeof K!=="number"||K<2048)throw TypeError(`${q} requires key modulusLength to be 2048 bits or larger`)};var tRq=()=>{};import{constants as eRq,KeyObject as peA}from"node:crypto";function SZ6(_,q){let K,A,z;if(q instanceof peA)K=q.asymmetricKeyType,A=q.asymmetricKeyDetails;else switch(z=!0,q.kty){case"RSA":K="rsa";break;case"EC":K="ec";break;case"OKP":{if(q.crv==="Ed25519"){K="ed25519";break}if(q.crv==="Ed448"){K="ed448";break}throw TypeError("Invalid key for this operation, its crv must be Ed25519 or Ed448")}default:throw TypeError("Invalid key for this operation, its kty must be RSA, OKP, or EC")}let $;switch(_){case"EdDSA":if(!["ed25519","ed448"].includes(K))throw TypeError("Invalid key for this operation, its asymmetricKeyType must be ed25519 or ed448");break;case"RS256":case"RS384":case"RS512":if(K!=="rsa")throw TypeError("Invalid key for this operation, its asymmetricKeyType must be rsa");Wd_(q,_);break;case"PS256":case"PS384":case"PS512":if(K==="rsa-pss"){let{hashAlgorithm:w,mgf1HashAlgorithm:O,saltLength:Y}=A,H=parseInt(_.slice(-3),10);if(w!==void 0&&(w!==`sha${H}`||O!==w))throw TypeError(`Invalid key for this operation, its RSA-PSS parameters do not meet the requirements of "alg" ${_}`);if(Y!==void 0&&Y>H>>3)throw TypeError(`Invalid key for this operation, its RSA-PSS parameter saltLength does not meet the requirements of "alg" ${_}`)}else if(K!=="rsa")throw TypeError("Invalid key for this operation, its asymmetricKeyType must be rsa or rsa-pss");Wd_(q,_),$={padding:eRq.RSA_PKCS1_PSS_PADDING,saltLength:eRq.RSA_PSS_SALTLEN_DIGEST};break;case"ES256":case"ES256K":case"ES384":case"ES512":{if(K!=="ec")throw TypeError("Invalid key for this operation, its asymmetricKeyType must be ec");let w=oRq(q),O=meA.get(_);if(w!==O)throw TypeError(`Invalid key curve for the algorithm, its curve must be ${O}, got ${w}`);$={dsaEncoding:"ieee-p1363"};break}default:throw new CM(`alg ${_} is not supported either by JOSE or your javascript runtime`)}if(z)return{format:"jwk",key:q,...$};return $?{...$,key:q}:q}var meA;var Dd_=h(()=>{sRq();OX();tRq();meA=new Map([["ES256","P-256"],["ES256K","secp256k1"],["ES384","P-384"],["ES512","P-521"]])});function Zd_(_){switch(_){case"HS256":return"sha256";case"HS384":return"sha384";case"HS512":return"sha512";default:throw new CM(`alg ${_} is not supported either by JOSE or your javascript runtime`)}}var _Lq=h(()=>{OX()});function Wb(_,q="algorithm.name"){return TypeError(`CryptoKey does not support this operation, its ${q} must be ${_}`)}function _a6(_,q){return _.name===q}function Gd_(_){return parseInt(_.name.slice(4),10)}function geA(_){switch(_){case"ES256":return"P-256";case"ES384":return"P-384";case"ES512":return"P-521";default:throw Error("unreachable")}}function ceA(_,q){if(q.length&&!q.some((K)=>_.usages.includes(K))){let K="CryptoKey does not support this operation, its usages must include ";if(q.length>2){let A=q.pop();K+=`one of ${q.join(", ")}, or ${A}.`}else if(q.length===2)K+=`one of ${q[0]} or ${q[1]}.`;else K+=`${q[0]}.`;throw TypeError(K)}}function qLq(_,q,...K){switch(q){case"HS256":case"HS384":case"HS512":{if(!_a6(_.algorithm,"HMAC"))throw Wb("HMAC");let A=parseInt(q.slice(2),10);if(Gd_(_.algorithm.hash)!==A)throw Wb(`SHA-${A}`,"algorithm.hash");break}case"RS256":case"RS384":case"RS512":{if(!_a6(_.algorithm,"RSASSA-PKCS1-v1_5"))throw Wb("RSASSA-PKCS1-v1_5");let A=parseInt(q.slice(2),10);if(Gd_(_.algorithm.hash)!==A)throw Wb(`SHA-${A}`,"algorithm.hash");break}case"PS256":case"PS384":case"PS512":{if(!_a6(_.algorithm,"RSA-PSS"))throw Wb("RSA-PSS");let A=parseInt(q.slice(2),10);if(Gd_(_.algorithm.hash)!==A)throw Wb(`SHA-${A}`,"algorithm.hash");break}case"EdDSA":{if(_.algorithm.name!=="Ed25519"&&_.algorithm.name!=="Ed448")throw Wb("Ed25519 or Ed448");break}case"ES256":case"ES384":case"ES512":{if(!_a6(_.algorithm,"ECDSA"))throw Wb("ECDSA");let A=geA(q);if(_.algorithm.namedCurve!==A)throw Wb(A,"algorithm.namedCurve");break}default:throw TypeError("CryptoKey does not support this operation")}ceA(_,K)}import{KeyObject as KLq,createSecretKey as ALq}from"node:crypto";function bZ6(_,q,K){if(q instanceof Uint8Array){if(!_.startsWith("HS"))throw TypeError(EZ6(q,...Pb));return ALq(q)}if(q instanceof KLq)return q;if(Y46(q))return qLq(q,_,K),KLq.from(q);if(dy(q)){if(_.startsWith("HS"))return ALq(Buffer.from(q.k,"base64url"));return q}throw TypeError(EZ6(q,...Pb,"Uint8Array","JSON Web Key"))}var vd_=h(()=>{sr6();er6();hZ6()});import*as qa6 from"node:crypto";import{promisify as BeA}from"node:util";var UeA,FeA=async(_,q,K)=>{let A=bZ6(_,q,"sign");if(_.startsWith("HS")){let z=qa6.createHmac(Zd_(_),A);return z.update(K),z.digest()}return UeA(LZ6(_),K,SZ6(_,A))},zLq;var $Lq=h(()=>{jd_();_Lq();Dd_();vd_();UeA=BeA(qa6.sign),zLq=FeA});import*as Ka6 from"node:crypto";import{promisify as deA}from"node:util";var QeA,leA=async(_,q,K,A)=>{let z=bZ6(_,q,"verify");if(_.startsWith("HS")){let O=await zLq(_,z,A),Y=K;try{return Ka6.timingSafeEqual(Y,O)}catch{return!1}}let $=LZ6(_),w=SZ6(_,z);try{return await QeA($,A,w,K)}catch{return!1}},wLq;var OLq=h(()=>{jd_();Dd_();$Lq();vd_();QeA=deA(Ka6.verify),wLq=leA});var ieA=(..._)=>{let q=_.filter(Boolean);if(q.length===0||q.length===1)return!0;let K;for(let A of q){let z=Object.keys(A);if(!K||K.size===0){K=new Set(z);continue}for(let $ of z){if(K.has($))return!1;K.add($)}}return!0},YLq;var HLq=h(()=>{YLq=ieA});function MLq(_,q,K,A){if(q.startsWith("HS")||q==="dir"||q.startsWith("PBES2")||/^A\d{3}(?:GCM)?KW$/.test(q))neA(q,K,A,_);else reA(q,K,A,_)}var H46=(_)=>_?.[Symbol.toStringTag],Td_=(_,q,K)=>{if(q.use!==void 0&&q.use!=="sig")throw TypeError("Invalid key for this operation, when present its use must be sig");if(q.key_ops!==void 0&&q.key_ops.includes?.(K)!==!0)throw TypeError(`Invalid key for this operation, when present its key_ops must include ${K}`);if(q.alg!==void 0&&q.alg!==_)throw TypeError(`Invalid key for this operation, when present its alg must be ${_}`);return!0},neA=(_,q,K,A)=>{if(q instanceof Uint8Array)return;if(A&&dy(q)){if(rRq(q)&&Td_(_,q,K))return;throw TypeError('JSON Web Key for symmetric algorithms must have JWK "kty" (Key Type) equal to "oct" and the JWK "k" (Key Value) present')}if(!Pd_(q))throw TypeError(Xd_(_,q,...Pb,"Uint8Array",A?"JSON Web Key":null));if(q.type!=="secret")throw TypeError(`${H46(q)} instances for symmetric algorithms must be of type "secret"`)},reA=(_,q,K,A)=>{if(A&&dy(q))switch(K){case"sign":if(iRq(q)&&Td_(_,q,K))return;throw TypeError("JSON Web Key for this operation be a private JWK");case"verify":if(nRq(q)&&Td_(_,q,K))return;throw TypeError("JSON Web Key for this operation be a public JWK")}if(!Pd_(q))throw TypeError(Xd_(_,q,...Pb,A?"JSON Web Key":null));if(q.type==="secret")throw TypeError(`${H46(q)} instances for asymmetric algorithms must not be of type "secret"`);if(K==="sign"&&q.type==="public")throw TypeError(`${H46(q)} instances for asymmetric algorithm signing must be of type "private"`);if(K==="decrypt"&&q.type==="public")throw TypeError(`${H46(q)} instances for asymmetric algorithm decryption must be of type "private"`);if(q.algorithm&&K==="verify"&&q.type==="private")throw TypeError(`${H46(q)} instances for asymmetric algorithm verifying must be of type "public"`);if(q.algorithm&&K==="encrypt"&&q.type==="private")throw TypeError(`${H46(q)} instances for asymmetric algorithm encryption must be of type "public"`)},sz3,kd_;var fLq=h(()=>{er6();hZ6();sz3=MLq.bind(void 0,!1),kd_=MLq.bind(void 0,!0)});function aeA(_,q,K,A,z){if(z.crit!==void 0&&A?.crit===void 0)throw new _('"crit" (Critical) Header Parameter MUST be integrity protected');if(!A||A.crit===void 0)return new Set;if(!Array.isArray(A.crit)||A.crit.length===0||A.crit.some((w)=>typeof w!=="string"||w.length===0))throw new _('"crit" (Critical) Header Parameter MUST be an array of non-empty strings when present');let $;if(K!==void 0)$=new Map([...Object.entries(K),...q.entries()]);else $=q;for(let w of A.crit){if(!$.has(w))throw new CM(`Extension Header Parameter "${w}" is not recognized`);if(z[w]===void 0)throw new _(`Extension Header Parameter "${w}" is missing`);if($.get(w)&&A[w]===void 0)throw new _(`Extension Header Parameter "${w}" MUST be integrity protected`)}return new Set(A.crit)}var jLq;var JLq=h(()=>{OX();jLq=aeA});var oeA=(_,q)=>{if(q!==void 0&&(!Array.isArray(q)||q.some((K)=>typeof K!=="string")))throw TypeError(`"${_}" option must be an array of strings`);if(!q)return;return new Set(q)},XLq;var PLq=h(()=>{XLq=oeA});import{createPrivateKey as seA,createPublicKey as teA}from"node:crypto";var eeA=(_)=>{if(_.d)return seA({format:"jwk",key:_});return teA({format:"jwk",key:_})},WLq;var DLq=h(()=>{WLq=eeA});async function Aa6(_,q){if(!YX(_))throw TypeError("JWK must be an object");switch(q||=_.alg,_.kty){case"oct":if(typeof _.k!=="string"||!_.k)throw TypeError('missing "k" (Key Value) Parameter value');return vg(_.k);case"RSA":if(_.oth!==void 0)throw new CM('RSA JWK "oth" (Other Primes Info) Parameter value is not supported');case"EC":case"OKP":return WLq({..._,alg:q});default:throw new CM('Unsupported "kty" (Key Type) Parameter value')}}var Nd_=h(()=>{lr6();DLq();OX()});async function ZLq(_,q,K){if(!YX(_))throw new yY("Flattened JWS must be an object");if(_.protected===void 0&&_.header===void 0)throw new yY('Flattened JWS must have either of the "protected" or "header" members');if(_.protected!==void 0&&typeof _.protected!=="string")throw new yY("JWS Protected Header incorrect type");if(_.payload===void 0)throw new yY("JWS Payload missing");if(typeof _.signature!=="string")throw new yY("JWS Signature missing or incorrect type");if(_.header!==void 0&&!YX(_.header))throw new yY("JWS Unprotected Header incorrect type");let A={};if(_.protected)try{let P=vg(_.protected);A=JSON.parse(Fy.decode(P))}catch{throw new yY("JWS Protected Header is invalid")}if(!YLq(A,_.header))throw new yY("JWS Protected and JWS Unprotected Header Parameter names must be disjoint");let z={...A,..._.header},$=jLq(yY,new Map([["b64",!0]]),K?.crit,A,z),w=!0;if($.has("b64")){if(w=A.b64,typeof w!=="boolean")throw new yY('The "b64" (base64url-encode payload) Header Parameter must be a boolean')}let{alg:O}=z;if(typeof O!=="string"||!O)throw new yY('JWS "alg" (Algorithm) Header Parameter missing or invalid');let Y=K&&XLq("algorithms",K.algorithms);if(Y&&!Y.has(O))throw new ir6('"alg" (Algorithm) Header Parameter value not allowed');if(w){if(typeof _.payload!=="string")throw new yY("JWS Payload must be a string")}else if(typeof _.payload!=="string"&&!(_.payload instanceof Uint8Array))throw new yY("JWS Payload must be a string or an Uint8Array instance");let H=!1;if(typeof q==="function"){if(q=await q(A,_),H=!0,kd_(O,q,"verify"),dy(q))q=await Aa6(q,O)}else kd_(O,q,"verify");let M=xRq(VZ6.encode(_.protected??""),VZ6.encode("."),typeof _.payload==="string"?VZ6.encode(_.payload):_.payload),f;try{f=vg(_.signature)}catch{throw new yY("Failed to base64url decode the signature")}if(!await wLq(O,q,f,M))throw new ar6;let J;if(w)try{J=vg(_.payload)}catch{throw new yY("Failed to base64url decode the payload")}else if(typeof _.payload==="string")J=VZ6.encode(_.payload);else J=_.payload;let X={payload:J};if(_.protected!==void 0)X.protectedHeader=A;if(_.header!==void 0)X.unprotectedHeader=_.header;if(H)return{...X,key:q};return X}var GLq=h(()=>{lr6();OLq();OX();O46();HLq();fLq();JLq();PLq();hZ6();Nd_()});async function vLq(_,q,K){if(_ instanceof Uint8Array)_=Fy.decode(_);if(typeof _!=="string")throw new yY("Compact JWS must be a string or Uint8Array");let{0:A,1:z,2:$,length:w}=_.split(".");if(w!==3)throw new yY("Invalid Compact JWS");let O=await ZLq({payload:z,protected:A,signature:$},q,K),Y={payload:O.payload,protectedHeader:O.protectedHeader};if(typeof q==="function")return{...Y,key:O.key};return Y}var TLq=h(()=>{GLq();OX();O46()});var kLq=(_)=>Math.floor(_.getTime()/1000);var _65,Vd_=(_)=>{let q=_65.exec(_);if(!q||q[4]&&q[1])throw TypeError("Invalid time period format");let K=parseFloat(q[2]),A=q[3].toLowerCase(),z;switch(A){case"sec":case"secs":case"second":case"seconds":case"s":z=Math.round(K);break;case"minute":case"minutes":case"min":case"mins":case"m":z=Math.round(K*60);break;case"hour":case"hours":case"hr":case"hrs":case"h":z=Math.round(K*3600);break;case"day":case"days":case"d":z=Math.round(K*86400);break;case"week":case"weeks":case"w":z=Math.round(K*604800);break;default:z=Math.round(K*31557600);break}if(q[1]==="-"||q[4]==="ago")return-z;return z};var NLq=h(()=>{_65=/^(\+|\-)? ?(\d+|\d+\.\d+) ?(seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)(?: (ago|from now))?$/i});var VLq=(_)=>_.toLowerCase().replace(/^application\//,""),q65=(_,q)=>{if(typeof _==="string")return q.includes(_);if(Array.isArray(_))return q.some(Set.prototype.has.bind(new Set(_)));return!1},yLq=(_,q,K={})=>{let A;try{A=JSON.parse(Fy.decode(q))}catch{}if(!YX(A))throw new wX("JWT Claims Set must be a top-level JSON object");let{typ:z}=K;if(z&&(typeof _.typ!=="string"||VLq(_.typ)!==VLq(z)))throw new gW('unexpected "typ" JWT header value',A,"typ","check_failed");let{requiredClaims:$=[],issuer:w,subject:O,audience:Y,maxTokenAge:H}=K,M=[...$];if(H!==void 0)M.push("iat");if(Y!==void 0)M.push("aud");if(O!==void 0)M.push("sub");if(w!==void 0)M.push("iss");for(let X of new Set(M.reverse()))if(!(X in A))throw new gW(`missing required "${X}" claim`,A,X,"missing");if(w&&!(Array.isArray(w)?w:[w]).includes(A.iss))throw new gW('unexpected "iss" claim value',A,"iss","check_failed");if(O&&A.sub!==O)throw new gW('unexpected "sub" claim value',A,"sub","check_failed");if(Y&&!q65(A.aud,typeof Y==="string"?[Y]:Y))throw new gW('unexpected "aud" claim value',A,"aud","check_failed");let f;switch(typeof K.clockTolerance){case"string":f=Vd_(K.clockTolerance);break;case"number":f=K.clockTolerance;break;case"undefined":f=0;break;default:throw TypeError("Invalid clockTolerance option type")}let{currentDate:j}=K,J=kLq(j||new Date);if((A.iat!==void 0||H)&&typeof A.iat!=="number")throw new gW('"iat" claim must be a number',A,"iat","invalid");if(A.nbf!==void 0){if(typeof A.nbf!=="number")throw new gW('"nbf" claim must be a number',A,"nbf","invalid");if(A.nbf>J+f)throw new gW('"nbf" claim timestamp check failed',A,"nbf","check_failed")}if(A.exp!==void 0){if(typeof A.exp!=="number")throw new gW('"exp" claim must be a number',A,"exp","invalid");if(A.exp<=J-f)throw new yZ6('"exp" claim timestamp check failed',A,"exp","check_failed")}if(H){let X=J-A.iat,P=typeof H==="number"?H:Vd_(H);if(X-f>P)throw new yZ6('"iat" claim timestamp check failed (too far in the past)',A,"iat","check_failed");if(X<0-f)throw new gW('"iat" claim timestamp check failed (it should be in the past)',A,"iat","check_failed")}return A};var RLq=h(()=>{OX();O46();NLq()});async function yd_(_,q,K){let A=await vLq(_,q,K);if(A.protectedHeader.crit?.includes("b64")&&A.protectedHeader.b64===!1)throw new wX("JWTs MUST NOT use unencoded payload");let $={payload:yLq(A.protectedHeader,A.payload,K),protectedHeader:A.protectedHeader};if(typeof q==="function")return{...$,key:A.key};return $}var LLq=h(()=>{TLq();RLq();OX()});function K65(_){switch(typeof _==="string"&&_.slice(0,2)){case"RS":case"PS":return"RSA";case"ES":return"EC";case"Ed":return"OKP";default:throw new CM('Unsupported "alg" value for a JSON Web Key Set')}}function A65(_){return _&&typeof _==="object"&&Array.isArray(_.keys)&&_.keys.every(z65)}function z65(_){return YX(_)}function hLq(_){if(typeof structuredClone==="function")return structuredClone(_);return JSON.parse(JSON.stringify(_))}class SLq{_jwks;_cached=new WeakMap;constructor(_){if(!A65(_))throw new RZ6("JSON Web Key Set malformed");this._jwks=hLq(_)}async getKey(_,q){let{alg:K,kid:A}={..._,...q?.header},z=K65(K),$=this._jwks.keys.filter((Y)=>{let H=z===Y.kty;if(H&&typeof A==="string")H=A===Y.kid;if(H&&typeof Y.alg==="string")H=K===Y.alg;if(H&&typeof Y.use==="string")H=Y.use==="sig";if(H&&Array.isArray(Y.key_ops))H=Y.key_ops.includes("verify");if(H&&K==="EdDSA")H=Y.crv==="Ed25519"||Y.crv==="Ed448";if(H)switch(K){case"ES256":H=Y.crv==="P-256";break;case"ES256K":H=Y.crv==="secp256k1";break;case"ES384":H=Y.crv==="P-384";break;case"ES512":H=Y.crv==="P-521";break}return H}),{0:w,length:O}=$;if(O===0)throw new nr6;if(O!==1){let Y=new rr6,{_cached:H}=this;throw Y[Symbol.asyncIterator]=async function*(){for(let M of $)try{yield await ELq(H,M,K)}catch{}},Y}return ELq(this._cached,w,K)}}async function ELq(_,q,K){let A=_.get(q)||_.set(q,{}).get(q);if(A[K]===void 0){let z=await Aa6({...q,ext:!0},K);if(z instanceof Uint8Array||z.type!=="public")throw new RZ6("JSON Web Key Set members must be public keys");A[K]=z}return A[K]}function Rd_(_){let q=new SLq(_),K=async(A,z)=>q.getKey(A,z);return Object.defineProperties(K,{jwks:{value:()=>hLq(q._jwks),enumerable:!0,configurable:!1,writable:!1}}),K}var bLq=h(()=>{Nd_();OX()});var CZ6={};N_(CZ6,{encode:()=>$65,decode:()=>Ld_});var $65,Ld_;var Ed_=h(()=>{lr6();$65=pRq,Ld_=vg});function hd_(_){if(typeof _!=="string")throw new wX("JWTs must use Compact JWS serialization, JWT must be a string");let{1:q,length:K}=_.split(".");if(K===5)throw new wX("Only JWTs using Compact JWS serialization can be decoded");if(K!==3)throw new wX("Invalid JWT");if(!q)throw new wX("JWTs must contain a payload");let A;try{A=Ld_(q)}catch{throw new wX("Failed to base64url decode the payload")}let z;try{z=JSON.parse(Fy.decode(A))}catch{throw new wX("Failed to parse the decoded payload as JSON")}if(!YX(z))throw new wX("Invalid JWT Claims Set");return z}var CLq=h(()=>{Ed_();O46();OX()});var Sd_=h(()=>{LLq();bLq();CLq();OX();Ed_()});var bd_,Cd_,za6,Id_;var ILq=h(()=>{bd_=class bd_ extends Error{constructor(){super("Invalid subject")}};Cd_=class Cd_ extends Error{constructor(){super("Invalid refresh token")}};za6=class za6 extends Error{constructor(){super("Invalid access token")}};Id_=class Id_ extends Error{constructor(){super("Invalid authorization code")}}});function w65(_){let q=new Uint8Array(_);return crypto.getRandomValues(q),CZ6.encode(q)}async function O65(_,q){if(q==="plain")return _;let A=new TextEncoder().encode(_),z=await crypto.subtle.digest("SHA-256",A);return CZ6.encode(new Uint8Array(z))}async function xd_(_=64){if(_<43||_>128)throw Error("Code verifier length must be between 43 and 128 characters");let q=w65(_),K=await O65(q,"S256");return{verifier:q,challenge:K,method:"S256"}}var xLq=h(()=>{Sd_()});function uLq(_){let q=new Map,K=new Map,A=_.issuer||process.env.OPENAUTH_ISSUER;if(!A)throw Error("No issuer");let z=_.fetch??fetch;async function $(){let Y=K.get(A);if(Y)return Y;let H=await(z||fetch)(`${A}/.well-known/oauth-authorization-server`).then((M)=>M.json());return K.set(A,H),H}async function w(){let Y=await $(),H=q.get(A);if(H)return H;let M=await(z||fetch)(Y.jwks_uri).then((j)=>j.json()),f=Rd_(M);return q.set(A,f),f}let O={async authorize(Y,H,M){let f=new URL(A+"/authorize"),j={state:crypto.randomUUID()};if(f.searchParams.set("client_id",_.clientID),f.searchParams.set("redirect_uri",Y),f.searchParams.set("response_type",H),f.searchParams.set("state",j.state),M?.provider)f.searchParams.set("provider",M.provider);if(M?.pkce&&H==="code"){let J=await xd_();f.searchParams.set("code_challenge_method","S256"),f.searchParams.set("code_challenge",J.challenge),j.verifier=J.verifier}return{challenge:j,url:f.toString()}},async pkce(Y,H){let M=new URL(A+"/authorize");if(H?.provider)M.searchParams.set("provider",H.provider);M.searchParams.set("client_id",_.clientID),M.searchParams.set("redirect_uri",Y),M.searchParams.set("response_type","code");let f=await xd_();return M.searchParams.set("code_challenge_method","S256"),M.searchParams.set("code_challenge",f.challenge),[f.verifier,M.toString()]},async exchange(Y,H,M){let f=await z(A+"/token",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({code:Y,redirect_uri:H,grant_type:"authorization_code",client_id:_.clientID,code_verifier:M||""}).toString()}),j=await f.json();if(!f.ok)return{err:new Id_};return{err:!1,tokens:{access:j.access_token,refresh:j.refresh_token,expiresIn:j.expires_in}}},async refresh(Y,H){if(H&&H.access){let j=hd_(H.access);if(!j)return{err:new za6};if((j.exp||0)>Date.now()/1000+30)return{err:!1}}let M=await z(A+"/token",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:Y}).toString()}),f=await M.json();if(!M.ok)return{err:new Cd_};return{err:!1,tokens:{access:f.access_token,refresh:f.refresh_token,expiresIn:f.expires_in}}},async verify(Y,H,M){let f=await w();try{let j=await yd_(H,f,{issuer:A}),J=await Y[j.payload.type]["~standard"].validate(j.payload.properties);if(!J.issues&&j.payload.mode==="access")return{aud:j.payload.aud,subject:{type:j.payload.type,properties:J.value}};return{err:new bd_}}catch(j){if(j instanceof or6.JWTExpired&&M?.refresh){let J=await this.refresh(M.refresh);if(J.err)return J;let X=await O.verify(Y,J.tokens.access,{refresh:J.tokens.refresh,issuer:A,fetch:M?.fetch});if(X.err)return X;return X.tokens=J.tokens,X}return{err:new za6}}}};return O}var pLq=h(()=>{Sd_();ILq();xLq()});import{randomBytes as mLq,webcrypto as Y65}from"crypto";function ud_(_){return _.toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function $a6(){return ud_(mLq(32))}async function wa6(_){let q=new TextEncoder().encode(_),K=await Y65.subtle.digest("SHA-256",q);return ud_(Buffer.from(K))}function Oa6(){return ud_(mLq(32))}var pd_=()=>{};var _Eq={};N_(_Eq,{storeSession:()=>Xn,stopBackgroundRefresh:()=>eLq,startPukuAuth:()=>Pn,startBackgroundRefresh:()=>mZ6,runBackgroundTick:()=>Fd_,revokeRemoteSession:()=>Qd_,refreshSession:()=>M46,reAuthenticate:()=>T65,injectEnv:()=>Qy,hasValidStoredSessionSync:()=>pZ6,hasExternalAuthSource:()=>Ud_,getStoredSession:()=>ly,getSilentSession:()=>dd_,getPukuWorkerUrl:()=>Ha6,getPukuAuthIssuer:()=>Ya6,generatePkceVerifier:()=>QLq,generatePkceChallenge:()=>lLq,generateOpaqueState:()=>iLq,ensureAuthenticated:()=>v65,clearSession:()=>Db,__test__:()=>k65,SUPPORTED_PROVIDERS:()=>rLq,DEFAULT_PUKU_WORKER_URL:()=>FLq,DEFAULT_PUKU_AUTH_ISSUER:()=>ULq});import{mkdir as M65,readFile as f65,unlink as j65,writeFile as J65}from"fs/promises";import{readFileSync as gd_}from"fs";import{homedir as BLq}from"os";import{join as Bd_}from"path";async function P65(_){let{createInterface:q}=await import("node:readline");process.stdin.pause(),process.stderr.write(_);try{return await new Promise((K,A)=>{let z=q({input:process.stdin,output:process.stderr,terminal:!1});z.once("line",($)=>{z.close(),K($.trim())}),z.once("close",()=>{K("")}),z.once("SIGINT",()=>{z.close(),A(Error("Cancelled"))})})}finally{process.stdin.resume()}}function Ya6(){return(process.env.PUKU_AUTH_ISSUER||ULq).replace(/\/$/,"")}function Ha6(){return(process.env.PUKU_WORKER_URL||FLq).replace(/\/$/,"")}function aLq(){if(!md_)md_=uLq({clientID:dLq,issuer:Ya6()});return md_}async function ly(){let _;try{_=await f65(uZ6,"utf8")}catch{return null}let q;try{q=JSON.parse(_)}catch{return await Db(),null}if(!q.accessToken&&q.token)return await Db(),null;if(!q.accessToken||!q.user||!q.user.id||!q.user.email)return await Db(),null;return q}async function Xn(_){await M65(nLq,{recursive:!0}),await J65(uZ6,JSON.stringify(_,null,2),{mode:384})}async function Db(){try{await j65(uZ6)}catch{}}function pZ6(){try{let _=gd_(uZ6,"utf8"),q=JSON.parse(_);if(!q.accessToken||!q.expiresAt)return!1;return Date.now()<q.expiresAt-60000}catch{return!1}}function Ud_(){try{let q=Bd_(BLq(),".puku-cli","settings.json"),K=gd_(q,"utf8"),A=JSON.parse(K);if(typeof A.apiKeyHelper==="string"&&A.apiKeyHelper.length>0)return!0}catch{}if(process.env.PUKU_CLI_API_KEY_FILE_DESCRIPTOR)return!0;if(process.env.ANTHROPIC_API_KEY)return!0;let _=process.env.ANTHROPIC_AUTH_TOKEN;if(_)try{let q=gd_(uZ6,"utf8");if(JSON.parse(q).accessToken===_)return!1;return!0}catch{return!0}return!1}function oLq(_){let q=_.split(".");if(q.length!==3)return null;try{let K=q[1],A=K.replace(/-/g,"+").replace(/_/g,"/").padEnd(K.length+(4-K.length%4)%4,"="),z=JSON.parse(Buffer.from(A,"base64").toString("utf8")),$=z.properties??{};return{sub:z.sub,iss:z.iss,aud:z.aud,exp:z.exp,iat:z.iat,type:z.type,mode:z.mode,id:$.id??z.id,email:$.email??z.email,name:$.name??z.name,picture:$.picture??z.picture,provider:$.provider??z.provider,issuedAt:$.issuedAt}}catch{return null}}function sLq(_){let q=oLq(_);if(q?.exp)return q.exp*1000;return}async function M46(_,q={}){if(!_.refreshToken)return null;if(xZ6)return xZ6;if(!q.force&&Date.now()-cd_<D65)return _;let K=(async()=>{try{let A=await aLq().refresh(_.refreshToken);if(A.err)return null;if(!A.tokens)return null;return cd_=Date.now(),{..._,accessToken:A.tokens.access,refreshToken:A.tokens.refresh??_.refreshToken,expiresAt:sLq(A.tokens.access)??Date.now()+(A.tokens.expiresIn??3600)*1000,validatedAt:Date.now()}}catch{return null}})().finally(()=>{xZ6=null});return xZ6=K,K}function mZ6(_){if(!_.refreshToken)return;eLq(),tLq(_,_.expiresAt??Date.now())}function tLq(_,q){let K=Math.max(0,q-Date.now()-W65);if(K<=cLq){cW=setTimeout(()=>{Fd_(_.refreshToken)},K),cW.unref?.();return}cW=setTimeout(()=>{tLq(_,q)},cLq),cW.unref?.()}function eLq(){if(cW)clearTimeout(cW),cW=null}async function Fd_(_,q=0){cW=null;let K=await ly();if(!K||K.refreshToken!==_)return;let A=await M46(K);if(A){await Xn(A),Qy(A),mZ6(A),l("ev_event",{attempt:q});return}if(q>=gLq.length)return;let z=gLq[q];cW=setTimeout(()=>{Fd_(_,q+1)},z),cW.unref?.()}async function Pn(_){if(IZ6)return IZ6;return IZ6=(async()=>{try{return await Z65(_)}finally{IZ6=null}})(),IZ6}async function Z65(_){let{openBrowser:q,onStatus:K,readCode:A=P65}=_,z=QLq(),$=await lLq(z),w=iLq(),O=Ya6(),Y=new URL(`${O}/authorize`);Y.searchParams.set("client_id",dLq),Y.searchParams.set("response_type","code"),Y.searchParams.set("state",w),Y.searchParams.set("code_challenge",$),Y.searchParams.set("code_challenge_method","S256"),Y.searchParams.set("scope","openid profile email"),Y.searchParams.set("flow","device");let H=Y.toString();K?.({kind:"awaiting_code",url:H}),await q(H),K?.({kind:"entering_code",url:H});let M=await A(`
598
598
  Paste the authorization code from your browser: `);if(!M)throw Error("No authorization code provided.");K?.({kind:"exchanging"});let f=await aLq().exchange(M,X65,z);if(f.err)throw Error(`Token exchange failed: ${f.err.message??"invalid or expired code"}`);return await G65(_,f.tokens.access,f.tokens.refresh,f.tokens.expiresIn)}async function G65(_,q,K,A){let{onStatus:z}=_,$=sLq(q)??Date.now()+(A??3600)*1000,w=oLq(q)??{};if(!w.email||!w.sub)throw Error("JWT is missing required claims (sub, email). Cannot create session.");let O=w.provider;if(!O||!rLq.includes(O))throw Error(`Unexpected provider claim in JWT: ${O}`);let H={id:w.id??w.sub.replace(/^user:/,""),email:String(w.email),name:String(w.name??w.email),picture:w.picture,provider:O},M={accessToken:q,refreshToken:K,expiresAt:$,user:H,createdAt:Date.now(),validatedAt:Date.now()};return await Xn(M),z?.({kind:"success",user:H}),M}function Qy(_){process.env.PUKU_AI_BASE_URL=Ha6(),process.env.ANTHROPIC_AUTH_TOKEN=_.accessToken,process.env.PUKU_USER_EMAIL=_.user.email,process.env.PUKU_USER_NAME=_.user.name,mZ6(_)}async function dd_(){let _=await ly();if(!_)return null;if(_.expiresAt&&Date.now()<_.expiresAt-60000)return _;let q=await M46(_);if(q)return await Xn(q),q;return await Db(),null}async function v65(_){let q=await ly();if(q){if(q.expiresAt&&Date.now()<q.expiresAt-60000)return Qy(q),q;let A=await M46(q);if(A)return await Xn(A),Qy(A),A;await Db(),process.stderr.write(` Puku Auth: session expired, re-authenticating...
599
- `)}let K=await Pn({openBrowser:_.openBrowser,onStatus:_.onStatus});return Qy(K),K}async function T65(_){await Db();let q=await Pn({openBrowser:_.openBrowser,onStatus:_.onStatus});return Qy(q),q}async function Qd_(_){try{await fetch(`${Ya6()}/logout`,{method:"POST",headers:{Authorization:`Bearer ${_.accessToken}`}})}catch{}}var ULq="https://puku.sh/api/oauth",FLq="https://api-cli.puku.sh",dLq="puku-cli",X65="http://127.0.0.1:0/callback",QLq,lLq,iLq,nLq,uZ6,rLq,md_=null,W65=300000,gLq,cW=null,IZ6=null,xZ6=null,cd_=0,D65=30000,cLq=2147000000,k65;var E0=h(()=>{pLq();pd_();QLq=$a6,lLq=wa6,iLq=Oa6;nLq=Bd_(BLq(),".config",process.env.APP_NAME||"pukucode"),uZ6=Bd_(nLq,"session.json"),rLq=["google","microsoft","github"];gLq=[30000,60000,120000,240000,300000];k65={resetRefreshState(){if(xZ6=null,cd_=0,cW)clearTimeout(cW),cW=null}}});class Zb{diff(_,q,K={}){let A;if(typeof K==="function")A=K,K={};else if("callback"in K)A=K.callback;let z=this.castInput(_,K),$=this.castInput(q,K),w=this.removeEmpty(this.tokenize(z,K)),O=this.removeEmpty(this.tokenize($,K));return this.diffWithOptionsObj(w,O,K,A)}diffWithOptionsObj(_,q,K,A){var z;let $=(Z)=>{if(Z=this.postProcess(Z,K),A){setTimeout(function(){A(Z)},0);return}else return Z},w=q.length,O=_.length,Y=1,H=w+O;if(K.maxEditLength!=null)H=Math.min(H,K.maxEditLength);let M=(z=K.timeout)!==null&&z!==void 0?z:1/0,f=Date.now()+M,j=[{oldPos:-1,lastComponent:void 0}],J=this.extractCommon(j[0],q,_,0,K);if(j[0].oldPos+1>=O&&J+1>=w)return $(this.buildValues(j[0].lastComponent,q,_));let X=-1/0,P=1/0,W=()=>{for(let Z=Math.max(X,-Y);Z<=Math.min(P,Y);Z+=2){let G,v=j[Z-1],k=j[Z+1];if(v)j[Z-1]=void 0;let N=!1;if(k){let b=k.oldPos-Z;N=k&&0<=b&&b<w}let L=v&&v.oldPos+1<O;if(!N&&!L){j[Z]=void 0;continue}if(!L||N&&v.oldPos<k.oldPos)G=this.addToPath(k,!0,!1,0,K);else G=this.addToPath(v,!1,!0,1,K);if(J=this.extractCommon(G,q,_,Z,K),G.oldPos+1>=O&&J+1>=w)return $(this.buildValues(G.lastComponent,q,_))||!0;else{if(j[Z]=G,G.oldPos+1>=O)P=Math.min(P,Z-1);if(J+1>=w)X=Math.max(X,Z+1)}}Y++};if(A)(function Z(){setTimeout(function(){if(Y>H||Date.now()>f)return A(void 0);if(!W())Z()},0)})();else while(Y<=H&&Date.now()<=f){let Z=W();if(Z)return Z}}addToPath(_,q,K,A,z){let $=_.lastComponent;if($&&!z.oneChangePerToken&&$.added===q&&$.removed===K)return{oldPos:_.oldPos+A,lastComponent:{count:$.count+1,added:q,removed:K,previousComponent:$.previousComponent}};else return{oldPos:_.oldPos+A,lastComponent:{count:1,added:q,removed:K,previousComponent:$}}}extractCommon(_,q,K,A,z){let $=q.length,w=K.length,O=_.oldPos,Y=O-A,H=0;while(Y+1<$&&O+1<w&&this.equals(K[O+1],q[Y+1],z))if(Y++,O++,H++,z.oneChangePerToken)_.lastComponent={count:1,previousComponent:_.lastComponent,added:!1,removed:!1};if(H&&!z.oneChangePerToken)_.lastComponent={count:H,previousComponent:_.lastComponent,added:!1,removed:!1};return _.oldPos=O,Y}equals(_,q,K){if(K.comparator)return K.comparator(_,q);else return _===q||!!K.ignoreCase&&_.toLowerCase()===q.toLowerCase()}removeEmpty(_){let q=[];for(let K=0;K<_.length;K++)if(_[K])q.push(_[K]);return q}castInput(_,q){return _}tokenize(_,q){return Array.from(_)}join(_){return _.join("")}postProcess(_,q){return _}get useLongestToken(){return!1}buildValues(_,q,K){let A=[],z;while(_)A.push(_),z=_.previousComponent,delete _.previousComponent,_=z;A.reverse();let $=A.length,w=0,O=0,Y=0;for(;w<$;w++){let H=A[w];if(!H.removed){if(!H.added&&this.useLongestToken){let M=q.slice(O,O+H.count);M=M.map(function(f,j){let J=K[Y+j];return J.length>f.length?J:f}),H.value=this.join(M)}else H.value=this.join(q.slice(O,O+H.count));if(O+=H.count,!H.added)Y+=H.count}else H.value=this.join(K.slice(Y,Y+H.count)),Y+=H.count}return A}}function ld_(_,q){let K;for(K=0;K<_.length&&K<q.length;K++)if(_[K]!=q[K])return _.slice(0,K);return _.slice(0,K)}function id_(_,q){let K;if(!_||!q||_[_.length-1]!=q[q.length-1])return"";for(K=0;K<_.length&&K<q.length;K++)if(_[_.length-(K+1)]!=q[q.length-(K+1)])return _.slice(-K);return _.slice(-K)}function Ma6(_,q,K){if(_.slice(0,q.length)!=q)throw Error(`string ${JSON.stringify(_)} doesn't start with prefix ${JSON.stringify(q)}; this is a bug`);return K+_.slice(q.length)}function fa6(_,q,K){if(!q)return _+K;if(_.slice(-q.length)!=q)throw Error(`string ${JSON.stringify(_)} doesn't end with suffix ${JSON.stringify(q)}; this is a bug`);return _.slice(0,-q.length)+K}function f46(_,q){return Ma6(_,q,"")}function gZ6(_,q){return fa6(_,q,"")}function nd_(_,q){return q.slice(0,N65(_,q))}function N65(_,q){let K=0;if(_.length>q.length)K=_.length-q.length;let A=q.length;if(_.length<q.length)A=_.length;let z=Array(A),$=0;z[0]=0;for(let w=1;w<A;w++){if(q[w]==q[$])z[w]=z[$];else z[w]=$;while($>0&&q[w]!=q[$])$=z[$];if(q[w]==q[$])$++}$=0;for(let w=K;w<_.length;w++){while($>0&&_[w]!=q[$])$=z[$];if(_[w]==q[$])$++}return $}function j46(_){let q;for(q=_.length-1;q>=0;q--)if(!_[q].match(/\s/))break;return _.substring(q+1)}function Gb(_){let q=_.match(/^\s*/);return q?q[0]:""}function qEq(_,q,K,A){if(q&&K){let z=Gb(q.value),$=j46(q.value),w=Gb(K.value),O=j46(K.value);if(_){let Y=ld_(z,w);_.value=fa6(_.value,w,Y),q.value=f46(q.value,Y),K.value=f46(K.value,Y)}if(A){let Y=id_($,O);A.value=Ma6(A.value,O,Y),q.value=gZ6(q.value,Y),K.value=gZ6(K.value,Y)}}else if(K){if(_){let z=Gb(K.value);K.value=K.value.substring(z.length)}if(A){let z=Gb(A.value);A.value=A.value.substring(z.length)}}else if(_&&A){let z=Gb(A.value),$=Gb(q.value),w=j46(q.value),O=ld_(z,$);q.value=f46(q.value,O);let Y=id_(f46(z,O),w);q.value=gZ6(q.value,Y),A.value=Ma6(A.value,z,Y),_.value=fa6(_.value,z,z.slice(0,z.length-Y.length))}else if(A){let z=Gb(A.value),$=j46(q.value),w=nd_($,z);q.value=gZ6(q.value,w)}else if(_){let z=j46(_.value),$=Gb(q.value),w=nd_(z,$);q.value=f46(q.value,w)}}function rd_(_,q,K){return zEq.diff(_,q,K)}var ja6="a-zA-Z0-9_\\u{AD}\\u{C0}-\\u{D6}\\u{D8}-\\u{F6}\\u{F8}-\\u{2C6}\\u{2C8}-\\u{2D7}\\u{2DE}-\\u{2FF}\\u{1E00}-\\u{1EFF}",V65,KEq,y65,AEq,zEq;var $Eq=h(()=>{V65=new RegExp(`[${ja6}]+|\\s+|[^${ja6}]`,"ug");KEq=class KEq extends Zb{equals(_,q,K){if(K.ignoreCase)_=_.toLowerCase(),q=q.toLowerCase();return _.trim()===q.trim()}tokenize(_,q={}){let K;if(q.intlSegmenter){let $=q.intlSegmenter;if($.resolvedOptions().granularity!="word")throw Error('The segmenter passed must have a granularity of "word"');K=[];for(let w of Array.from($.segment(_))){let O=w.segment;if(K.length&&/\s/.test(K[K.length-1])&&/\s/.test(O))K[K.length-1]+=O;else K.push(O)}}else K=_.match(V65)||[];let A=[],z=null;return K.forEach(($)=>{if(/\s/.test($))if(z==null)A.push($);else A.push(A.pop()+$);else if(z!=null&&/\s/.test(z))if(A[A.length-1]==z)A.push(A.pop()+$);else A.push(z+$);else A.push($);z=$}),A}join(_){return _.map((q,K)=>{if(K==0)return q;else return q.replace(/^\s+/,"")}).join("")}postProcess(_,q){if(!_||q.oneChangePerToken)return _;let K=null,A=null,z=null;if(_.forEach(($)=>{if($.added)A=$;else if($.removed)z=$;else{if(A||z)qEq(K,z,A,$);K=$,A=null,z=null}}),A||z)qEq(K,z,A,null);return _}};y65=new KEq;AEq=class AEq extends Zb{tokenize(_){let q=new RegExp(`(\\r?\\n)|[${ja6}]+|[^\\S\\n\\r]+|[^${ja6}]`,"ug");return _.match(q)||[]}};zEq=new AEq});function Tg(_,q,K){return OEq.diff(_,q,K)}function R65(_,q){if(q.stripTrailingCr)_=_.replace(/\r\n/g,`
599
+ `)}let K=await Pn({openBrowser:_.openBrowser,onStatus:_.onStatus});return Qy(K),K}async function T65(_){await Db();let q=await Pn({openBrowser:_.openBrowser,onStatus:_.onStatus});return Qy(q),q}async function Qd_(_){try{await fetch(`${Ya6()}/logout`,{method:"POST",headers:{Authorization:`Bearer ${_.accessToken}`}})}catch{}}var ULq="https://puku.sh/api/oauth",FLq="https://api-cli.puku.sh",dLq="puku-cli",X65="http://127.0.0.1:0/callback",QLq,lLq,iLq,nLq,uZ6,rLq,md_=null,W65=300000,gLq,cW=null,IZ6=null,xZ6=null,cd_=0,D65=30000,cLq=2147000000,k65;var E0=h(()=>{pLq();pd_();QLq=$a6,lLq=wa6,iLq=Oa6;nLq=Bd_(BLq(),".config",process.env.APP_NAME||"pukucode"),uZ6=Bd_(nLq,"session.json"),rLq=["google","microsoft","github","email"];gLq=[30000,60000,120000,240000,300000];k65={resetRefreshState(){if(xZ6=null,cd_=0,cW)clearTimeout(cW),cW=null}}});class Zb{diff(_,q,K={}){let A;if(typeof K==="function")A=K,K={};else if("callback"in K)A=K.callback;let z=this.castInput(_,K),$=this.castInput(q,K),w=this.removeEmpty(this.tokenize(z,K)),O=this.removeEmpty(this.tokenize($,K));return this.diffWithOptionsObj(w,O,K,A)}diffWithOptionsObj(_,q,K,A){var z;let $=(Z)=>{if(Z=this.postProcess(Z,K),A){setTimeout(function(){A(Z)},0);return}else return Z},w=q.length,O=_.length,Y=1,H=w+O;if(K.maxEditLength!=null)H=Math.min(H,K.maxEditLength);let M=(z=K.timeout)!==null&&z!==void 0?z:1/0,f=Date.now()+M,j=[{oldPos:-1,lastComponent:void 0}],J=this.extractCommon(j[0],q,_,0,K);if(j[0].oldPos+1>=O&&J+1>=w)return $(this.buildValues(j[0].lastComponent,q,_));let X=-1/0,P=1/0,W=()=>{for(let Z=Math.max(X,-Y);Z<=Math.min(P,Y);Z+=2){let G,v=j[Z-1],k=j[Z+1];if(v)j[Z-1]=void 0;let N=!1;if(k){let b=k.oldPos-Z;N=k&&0<=b&&b<w}let L=v&&v.oldPos+1<O;if(!N&&!L){j[Z]=void 0;continue}if(!L||N&&v.oldPos<k.oldPos)G=this.addToPath(k,!0,!1,0,K);else G=this.addToPath(v,!1,!0,1,K);if(J=this.extractCommon(G,q,_,Z,K),G.oldPos+1>=O&&J+1>=w)return $(this.buildValues(G.lastComponent,q,_))||!0;else{if(j[Z]=G,G.oldPos+1>=O)P=Math.min(P,Z-1);if(J+1>=w)X=Math.max(X,Z+1)}}Y++};if(A)(function Z(){setTimeout(function(){if(Y>H||Date.now()>f)return A(void 0);if(!W())Z()},0)})();else while(Y<=H&&Date.now()<=f){let Z=W();if(Z)return Z}}addToPath(_,q,K,A,z){let $=_.lastComponent;if($&&!z.oneChangePerToken&&$.added===q&&$.removed===K)return{oldPos:_.oldPos+A,lastComponent:{count:$.count+1,added:q,removed:K,previousComponent:$.previousComponent}};else return{oldPos:_.oldPos+A,lastComponent:{count:1,added:q,removed:K,previousComponent:$}}}extractCommon(_,q,K,A,z){let $=q.length,w=K.length,O=_.oldPos,Y=O-A,H=0;while(Y+1<$&&O+1<w&&this.equals(K[O+1],q[Y+1],z))if(Y++,O++,H++,z.oneChangePerToken)_.lastComponent={count:1,previousComponent:_.lastComponent,added:!1,removed:!1};if(H&&!z.oneChangePerToken)_.lastComponent={count:H,previousComponent:_.lastComponent,added:!1,removed:!1};return _.oldPos=O,Y}equals(_,q,K){if(K.comparator)return K.comparator(_,q);else return _===q||!!K.ignoreCase&&_.toLowerCase()===q.toLowerCase()}removeEmpty(_){let q=[];for(let K=0;K<_.length;K++)if(_[K])q.push(_[K]);return q}castInput(_,q){return _}tokenize(_,q){return Array.from(_)}join(_){return _.join("")}postProcess(_,q){return _}get useLongestToken(){return!1}buildValues(_,q,K){let A=[],z;while(_)A.push(_),z=_.previousComponent,delete _.previousComponent,_=z;A.reverse();let $=A.length,w=0,O=0,Y=0;for(;w<$;w++){let H=A[w];if(!H.removed){if(!H.added&&this.useLongestToken){let M=q.slice(O,O+H.count);M=M.map(function(f,j){let J=K[Y+j];return J.length>f.length?J:f}),H.value=this.join(M)}else H.value=this.join(q.slice(O,O+H.count));if(O+=H.count,!H.added)Y+=H.count}else H.value=this.join(K.slice(Y,Y+H.count)),Y+=H.count}return A}}function ld_(_,q){let K;for(K=0;K<_.length&&K<q.length;K++)if(_[K]!=q[K])return _.slice(0,K);return _.slice(0,K)}function id_(_,q){let K;if(!_||!q||_[_.length-1]!=q[q.length-1])return"";for(K=0;K<_.length&&K<q.length;K++)if(_[_.length-(K+1)]!=q[q.length-(K+1)])return _.slice(-K);return _.slice(-K)}function Ma6(_,q,K){if(_.slice(0,q.length)!=q)throw Error(`string ${JSON.stringify(_)} doesn't start with prefix ${JSON.stringify(q)}; this is a bug`);return K+_.slice(q.length)}function fa6(_,q,K){if(!q)return _+K;if(_.slice(-q.length)!=q)throw Error(`string ${JSON.stringify(_)} doesn't end with suffix ${JSON.stringify(q)}; this is a bug`);return _.slice(0,-q.length)+K}function f46(_,q){return Ma6(_,q,"")}function gZ6(_,q){return fa6(_,q,"")}function nd_(_,q){return q.slice(0,N65(_,q))}function N65(_,q){let K=0;if(_.length>q.length)K=_.length-q.length;let A=q.length;if(_.length<q.length)A=_.length;let z=Array(A),$=0;z[0]=0;for(let w=1;w<A;w++){if(q[w]==q[$])z[w]=z[$];else z[w]=$;while($>0&&q[w]!=q[$])$=z[$];if(q[w]==q[$])$++}$=0;for(let w=K;w<_.length;w++){while($>0&&_[w]!=q[$])$=z[$];if(_[w]==q[$])$++}return $}function j46(_){let q;for(q=_.length-1;q>=0;q--)if(!_[q].match(/\s/))break;return _.substring(q+1)}function Gb(_){let q=_.match(/^\s*/);return q?q[0]:""}function qEq(_,q,K,A){if(q&&K){let z=Gb(q.value),$=j46(q.value),w=Gb(K.value),O=j46(K.value);if(_){let Y=ld_(z,w);_.value=fa6(_.value,w,Y),q.value=f46(q.value,Y),K.value=f46(K.value,Y)}if(A){let Y=id_($,O);A.value=Ma6(A.value,O,Y),q.value=gZ6(q.value,Y),K.value=gZ6(K.value,Y)}}else if(K){if(_){let z=Gb(K.value);K.value=K.value.substring(z.length)}if(A){let z=Gb(A.value);A.value=A.value.substring(z.length)}}else if(_&&A){let z=Gb(A.value),$=Gb(q.value),w=j46(q.value),O=ld_(z,$);q.value=f46(q.value,O);let Y=id_(f46(z,O),w);q.value=gZ6(q.value,Y),A.value=Ma6(A.value,z,Y),_.value=fa6(_.value,z,z.slice(0,z.length-Y.length))}else if(A){let z=Gb(A.value),$=j46(q.value),w=nd_($,z);q.value=gZ6(q.value,w)}else if(_){let z=j46(_.value),$=Gb(q.value),w=nd_(z,$);q.value=f46(q.value,w)}}function rd_(_,q,K){return zEq.diff(_,q,K)}var ja6="a-zA-Z0-9_\\u{AD}\\u{C0}-\\u{D6}\\u{D8}-\\u{F6}\\u{F8}-\\u{2C6}\\u{2C8}-\\u{2D7}\\u{2DE}-\\u{2FF}\\u{1E00}-\\u{1EFF}",V65,KEq,y65,AEq,zEq;var $Eq=h(()=>{V65=new RegExp(`[${ja6}]+|\\s+|[^${ja6}]`,"ug");KEq=class KEq extends Zb{equals(_,q,K){if(K.ignoreCase)_=_.toLowerCase(),q=q.toLowerCase();return _.trim()===q.trim()}tokenize(_,q={}){let K;if(q.intlSegmenter){let $=q.intlSegmenter;if($.resolvedOptions().granularity!="word")throw Error('The segmenter passed must have a granularity of "word"');K=[];for(let w of Array.from($.segment(_))){let O=w.segment;if(K.length&&/\s/.test(K[K.length-1])&&/\s/.test(O))K[K.length-1]+=O;else K.push(O)}}else K=_.match(V65)||[];let A=[],z=null;return K.forEach(($)=>{if(/\s/.test($))if(z==null)A.push($);else A.push(A.pop()+$);else if(z!=null&&/\s/.test(z))if(A[A.length-1]==z)A.push(A.pop()+$);else A.push(z+$);else A.push($);z=$}),A}join(_){return _.map((q,K)=>{if(K==0)return q;else return q.replace(/^\s+/,"")}).join("")}postProcess(_,q){if(!_||q.oneChangePerToken)return _;let K=null,A=null,z=null;if(_.forEach(($)=>{if($.added)A=$;else if($.removed)z=$;else{if(A||z)qEq(K,z,A,$);K=$,A=null,z=null}}),A||z)qEq(K,z,A,null);return _}};y65=new KEq;AEq=class AEq extends Zb{tokenize(_){let q=new RegExp(`(\\r?\\n)|[${ja6}]+|[^\\S\\n\\r]+|[^${ja6}]`,"ug");return _.match(q)||[]}};zEq=new AEq});function Tg(_,q,K){return OEq.diff(_,q,K)}function R65(_,q){if(q.stripTrailingCr)_=_.replace(/\r\n/g,`
600
600
  `);let K=[],A=_.split(/(\n|\r\n)/);if(!A[A.length-1])A.pop();for(let z=0;z<A.length;z++){let $=A[z];if(z%2&&!q.newlineIsToken)K[K.length-1]+=$;else K.push($)}return K}var wEq,OEq;var ad_=h(()=>{wEq=class wEq extends Zb{constructor(){super(...arguments);this.tokenize=R65}equals(_,q,K){if(K.ignoreWhitespace){if(!K.newlineIsToken||!_.includes(`
601
601
  `))_=_.trim();if(!K.newlineIsToken||!q.includes(`
602
602
  `))q=q.trim()}else if(K.ignoreNewlineAtEof&&!K.newlineIsToken){if(_.endsWith(`
@@ -2014,7 +2014,7 @@ Then start a tmux session with: tmux new-session -s claude`}}function Ho(_){swit
2014
2014
  Open this URL in your browser to continue:
2015
2015
  ${H}
2016
2016
 
2017
- `)},onStatus:(H)=>{if(w)return;if(H.kind==="awaiting_code")K({status:"awaiting_code",url:H.url});else if(H.kind==="entering_code")z.current="",K({status:"entering_code",url:H.url,buffer:""});else if(H.kind==="exchanging")K({status:"exchanging"});else if(H.kind==="success")K({status:"success",email:H.user.email,name:H.user.name})},readCode:()=>new Promise((H,M)=>{rk.resolve=H,rk.reject=M})});if(w)return;await new Promise((H)=>setTimeout(H,600)),A.current(Y)}catch(Y){if(w)return;K({status:"error",message:Y instanceof Error?Y.message:String(Y)})}}return O(),()=>{w=!0,rk.reject?.(Error("Cancelled")),rk.resolve=null,rk.reject=null}},[]);if(q.status==="picking_method")return D(Rzz,{onContinue:$});return y(x,{flexDirection:"column",gap:1,paddingLeft:1,children:[D(Ezz,{state:q}),q.status==="entering_code"?D(Lzz,{bufferRef:z,setState:K}):null]})}function Rzz({onContinue:_}){return uq((q,K)=>{if(K.return||q===" ")_()}),y(x,{flexDirection:"column",gap:1,paddingLeft:1,children:[D(T,{children:"Puku CLI can be used with your Puku account"}),D(T,{bold:!0,children:"Select login method:"}),y(x,{flexDirection:"column",marginTop:1,children:[y(x,{children:[D(T,{color:"cyan",children:"❯ "}),D(T,{color:"rgb(196,93,255)",bold:!0,children:"1. Puku Account"})]}),D(x,{paddingLeft:5,children:D(T,{dimColor:!0,children:"Login using your personal Puku account"})})]}),D(T,{dimColor:!0,children:"Use ↑/↓ to choose, ↵ to continue."})]})}function Lzz({bufferRef:_,setState:q}){return uq((K,A)=>{if(A.return){let z=_.current.trim(),$=rk.resolve;if(rk.resolve=null,rk.reject=null,_.current="",$)$(z);if(z)q({status:"exchanging"});return}if(A.escape){let z=rk.reject;rk.resolve=null,rk.reject=null,_.current="",z?.(Error("Cancelled"));return}if(A.backspace||A.delete){_.current=_.current.slice(0,-1),q((z)=>z.status==="entering_code"?{...z,buffer:_.current}:z);return}if(K&&K.length>0){let z=K.replace(/\x1b\[200~/g,"");if(!z)return;_.current+=z,q(($)=>$.status==="entering_code"?{...$,buffer:_.current}:$)}}),null}function Ezz({state:_}){switch(_.status){case"picking_method":return null;case"awaiting_code":return y(x,{flexDirection:"column",gap:1,children:[y(x,{children:[D(eK,{}),D(T,{children:" Waiting for you to authorize in your browser…"})]}),D(T,{dimColor:!0,children:"Press Ctrl+C to cancel."}),y(x,{flexDirection:"column",marginTop:1,children:[D(T,{dimColor:!0,children:"Open this URL in your browser to continue:"}),D(T,{children:_.url}),D(T,{dimColor:!0,children:"A one-time code will appear on the page. Paste it below when ready."})]})]});case"entering_code":return y(x,{flexDirection:"column",gap:1,children:[y(x,{children:[D(eK,{}),D(T,{children:" Paste the one-time code from your browser:"})]}),y(x,{flexDirection:"column",marginTop:1,children:[D(T,{dimColor:!0,children:"If you have not opened the URL yet, visit:"}),D(T,{children:_.url})]}),y(x,{marginTop:1,children:[D(T,{dimColor:!0,children:"Paste, then press "}),D(T,{bold:!0,children:"↵"}),D(T,{dimColor:!0,children:" to confirm. "}),D(T,{bold:!0,children:"Esc"}),D(T,{dimColor:!0,children:" to cancel."})]}),y(x,{children:[D(T,{color:"cyan",children:"❯ "}),D(T,{children:_.buffer}),D(hzz,{})]})]});case"exchanging":return y(x,{children:[D(eK,{}),D(T,{children:" Verifying code for tokens…"})]});case"success":return y(x,{children:[D(T,{color:"green",children:"✓"}),y(T,{children:[" Signed in as ",_.email]})]});case"error":return y(x,{flexDirection:"column",gap:1,children:[y(x,{children:[D(T,{color:"error",children:"✗"}),y(T,{children:[" Authentication failed: ",_.message]})]}),D(T,{dimColor:!0,children:"Run /login to try again."})]})}}function hzz(){let[_,q]=PL.useState(!0);return PL.useEffect(()=>{let K=setInterval(()=>q((A)=>!A),500);return()=>clearInterval(K)},[]),D(T,{color:"cyan",children:_?"█":" "})}var PL,rk;var H48=h(()=>{Q6();Z9();E0();jw();a();PL=A6(a6(),1),rk={resolve:null,reject:null}});var M48;var WZK=h(()=>{s8();M48=b6(()=>R.object({restrictions:R.record(R.string(),R.object({allowed:R.boolean()}))}))});import{createHash as Szz}from"crypto";import{readFileSync as bzz}from"fs";import{unlink as ZZK,writeFile as Czz}from"fs/promises";import{join as Izz}from"path";function xzz(_){return _ instanceof Error}function GZK(){if(Jo)return;if(WL())Jo=new Promise((_)=>{HI=_,setTimeout(()=>{if(HI)V("Policy limits: Loading promise timed out, resolving anyway"),HI(),HI=null},gzz)})}function o4_(){return Izz(j8(),uzz)}function czz(){return`${Dq().BASE_API_URL}/api/claude_code/policy_limits`}function j48(_){if(Array.isArray(_))return _.map(j48);if(_!==null&&typeof _==="object"){let q={};for(let[K,A]of Object.entries(_).sort(([z],[$])=>z.localeCompare($)))q[K]=j48(A);return q}return _}function Bzz(_){let q=j48(_),K=x6(q);return`sha256:${Szz("sha256").update(K).digest("hex")}`}function WL(){if($8()!=="firstParty")return!1;if(!VM())return!1;try{let{key:q}=t3({skipRetrievingKeyFromApiKeyHelper:!0});if(q)return!0}catch{}let _=Iq();if(!_?.accessToken)return!1;if(!_.scopes?.includes(SV))return!1;if(_.subscriptionType!=="enterprise"&&_.subscriptionType!=="team")return!1;return!0}async function s4_(){if(Jo)await Jo}function Uzz(){try{let{key:q}=t3({skipRetrievingKeyFromApiKeyHelper:!0});if(q)return{headers:{"x-api-key":q}}}catch{}let _=Iq();if(_?.accessToken)return{headers:{Authorization:`Bearer ${_.accessToken}`,"anthropic-beta":r1}};return{headers:{},error:"No authentication available"}}async function Fzz(_){let q=null;for(let K=1;K<=f48+1;K++){if(q=await dzz(_),q.success)return q;if(q.skipRetry)return q;if(K>f48)return q;let A=VR(K);V(`Policy limits: Retry ${K}/${f48} after ${A}ms`),await Qq(A)}return q}async function dzz(_){try{await lO();let q=Uzz();if(q.error)return{success:!1,error:"Authentication required for policy limits",skipRetry:!0};let K=czz(),A={...q.headers,"User-Agent":VY()};if(_)A["If-None-Match"]=`"${_}"`;let z=await z8.get(K,{headers:A,timeout:pzz,validateStatus:(w)=>w===200||w===304||w===404});if(z.status===304)return V("Policy limits: Using cached restrictions (304)"),{success:!0,restrictions:null,etag:_};if(z.status===404)return V("Policy limits: No restrictions found (404)"),{success:!0,restrictions:{},etag:void 0};let $=M48().safeParse(z.data);if(!$.success)return V(`Policy limits: Invalid response format - ${$.error.message}`),{success:!1,error:"Invalid policy limits format"};return V("Policy limits: Fetched successfully"),{success:!0,restrictions:$.data.restrictions}}catch(q){let{kind:K,message:A}=Lf6(q);switch(K){case"auth":return{success:!1,error:"Not authorized for policy limits",skipRetry:!0};case"timeout":return{success:!1,error:"Policy limits request timeout"};case"network":return{success:!1,error:"Cannot connect to server"};default:return{success:!1,error:A}}}}function vZK(){try{let _=bzz(o4_(),"utf-8"),q=$4(_,!1),K=M48().safeParse(q);if(!K.success)return null;return K.data.restrictions}catch{return null}}async function Qzz(_){try{let q=o4_();await Czz(q,x6({restrictions:_},null,2),{encoding:"utf-8",mode:384}),V(`Policy limits: Saved to ${q}`)}catch(q){V(`Policy limits: Failed to save - ${q instanceof Error?q.message:"unknown error"}`)}}async function J48(){if(!WL())return null;let _=vZK(),q=_?Bzz(_):void 0;try{let K=await Fzz(q);if(!K.success){if(_)return V("Policy limits: Using stale cache after fetch failure"),VD=_,_;return null}if(K.restrictions===null&&_)return V("Policy limits: Cache still valid (304 Not Modified)"),VD=_,_;let A=K.restrictions||{};if(Object.keys(A).length>0)return VD=A,await Qzz(A),V("Policy limits: Applied new restrictions successfully"),A;VD=A;try{await ZZK(o4_()),V("Policy limits: Deleted cached file (404 response)")}catch($){if(xzz($)&&$.code!=="ENOENT")V(`Policy limits: Failed to delete cached file - ${$.message}`)}return A}catch{if(_)return V("Policy limits: Using stale cache after error"),VD=_,_;return null}}function uY(_){let q=izz();if(!q){if(V3()&&lzz.has(_))return!1;return!0}let K=q[_];if(!K)return!0;return K.allowed}function izz(){if(!WL())return null;if(VD)return VD;let _=vZK();if(_)return VD=_,_;return null}async function TZK(){if(WL()&&!Jo)Jo=new Promise((_)=>{HI=_});try{if(await J48(),WL())rzz()}finally{if(HI)HI(),HI=null}}async function t4_(){if(await X48(),!WL())return;await J48(),V("Policy limits: Refreshed after auth change")}async function X48(){kZK(),VD=null,Jo=null,HI=null;try{await ZZK(o4_())}catch{}}async function nzz(){if(!WL())return;let _=VD?x6(VD):null;try{if(await J48(),(VD?x6(VD):null)!==_)V("Policy limits: Changed during background poll")}catch{}}function rzz(){if(C36!==null)return;if(!WL())return;if(C36=setInterval(()=>{nzz()},mzz),C36.unref(),!DZK)DZK=!0,Uq(async()=>kZK())}function kZK(){if(C36!==null)clearInterval(C36),C36=null}var uzz="policy-limits.json",pzz=1e4,f48=5,mzz=3600000,C36=null,DZK=!1,Jo=null,HI=null,gzz=30000,VD=null,lzz;var yD=h(()=>{U7();i4();Kq();rA();__();R_();W_();r3();F7();m_();hc();WZK();lzz=new Set(["allow_product_feedback"])});import{randomBytes as ozz}from"crypto";import{basename as szz,extname as tzz,isAbsolute as ezz,join as P48}from"path";function _$z(){let _=NZK.map((q)=>q.replace("/","\\/")).join("|");return`xclip -selection clipboard -t TARGETS -o 2>/dev/null | grep -E "${_}" || wl-paste -l 2>/dev/null | grep -E "${_}"`}function q$z(_){return NZK.flatMap((q)=>[`xclip -selection clipboard -t ${q} -o > "${_}" 2>/dev/null`,`wl-paste --type ${q} > "${_}" 2>/dev/null`]).join(" || ")}function VZK(){let _=process.platform,q=process.env.PUKU_CODE_TMPDIR||(_==="win32"?process.env.TEMP||"C:\\Temp":"/tmp"),K="puku_cli_latest_screenshot.png",A={darwin:P48(q,"puku_cli_latest_screenshot.png"),linux:P48(q,"puku_cli_latest_screenshot.png"),win32:P48(q,"puku_cli_latest_screenshot.png")},z=A[_]||A.linux,$={darwin:{checkImage:"osascript -e 'the clipboard as «class PNGf»'",saveImage:`osascript -e 'set png_data to (the clipboard as «class PNGf»)' -e 'set fp to open for access POSIX file "${z}" with write permission' -e 'write png_data to fp' -e 'close access fp'`,getPath:"osascript -e 'get POSIX path of (the clipboard as «class furl»)'",deleteFile:`rm -f "${z}"`},linux:{checkImage:_$z(),saveImage:q$z(z),getPath:"xclip -selection clipboard -t text/plain -o 2>/dev/null || wl-paste 2>/dev/null",deleteFile:`rm -f "${z}"`},win32:{checkImage:'powershell -NoProfile -Command "(Get-Clipboard -Format Image) -ne $null"',saveImage:`powershell -NoProfile -Command "$img = Get-Clipboard -Format Image; if ($img) { $img.Save('${z.replace(/\\/g,"\\\\")}', [System.Drawing.Imaging.ImageFormat]::Png) }"`,getPath:'powershell -NoProfile -Command "Get-Clipboard"',deleteFile:`del /f "${z}"`}};return{commands:$[_]||$.linux,screenshotPath:z}}async function yZK(){if(process.platform!=="darwin")return!1;return(await g8("osascript",["-e","the clipboard as «class PNGf»"])).code===0}async function I36(){let{commands:_,screenshotPath:q}=VZK();try{if((await zz(_.checkImage,{shell:!0,reject:!1})).exitCode!==0)return null;if((await zz(_.saveImage,{shell:!0,reject:!1})).exitCode!==0)return null;let z=K_().readFileBytesSync(q);if(z.length>=2&&z[0]===66&&z[1]===77)z=await(await m56())(z).png().toBuffer();let $=await eG(z,z.length,"png"),w=$.buffer.toString("base64"),O=z06(w);return zz(_.deleteFile,{shell:!0,reject:!1}),{base64:w,mediaType:O,dimensions:$.dimensions}}catch{return null}}async function K$z(){let{commands:_}=VZK();try{let q=await zz(_.getPath,{shell:!0,reject:!1});if(q.exitCode!==0||!q.stdout)return null;return q.stdout.trim()}catch(q){return K6(q),null}}function RZK(_){if(_.startsWith('"')&&_.endsWith('"')||_.startsWith("'")&&_.endsWith("'"))return _.slice(1,-1);return _}function LZK(_){if(process.platform==="win32")return _;let A=`__DOUBLE_BACKSLASH_${ozz(8).toString("hex")}__`;return _.replace(/\\\\/g,A).replace(/\\(.)/g,"$1").replace(new RegExp(A,"g"),"\\")}function qA_(_){let q=RZK(_.trim()),K=LZK(q);return _A_.test(K)}function A$z(_){let q=RZK(_.trim()),K=LZK(q);if(_A_.test(K))return K;return null}async function EZK(_){let q=A$z(_);if(!q)return null;let K=q,A;try{if(ezz(K))A=K_().readFileBytesSync(K);else{let Y=await K$z();if(Y&&K===szz(Y))A=K_().readFileBytesSync(Y)}}catch(Y){return K6(Y),null}if(!A)return null;if(A.length===0)return V(`Image file is empty: ${K}`,{level:"warn"}),null;if(A.length>=2&&A[0]===66&&A[1]===77)A=await(await m56())(A).png().toBuffer();let z=tzz(K).slice(1).toLowerCase()||"png",$=await eG(A,A.length,z),w=$.buffer.toString("base64"),O=z06(w);return{path:K,base64:w,mediaType:O,dimensions:$.dimensions}}var e4_=800,NZK,_A_;var x36=h(()=>{qM();Ht_();__();H7();o8();OD();D_();NZK=["image/png","image/jpeg","image/jpg","image/gif","image/webp","image/bmp"];_A_=/\.(png|jpe?g|gif|webp)$/i});import{mkdir as z$z,open as $$z}from"fs/promises";import{join as KA_}from"path";function SZK(){return KA_(j8(),hZK,X_())}async function O$z(){let _=SZK();await z$z(_,{recursive:!0})}function bZK(_,q){let K=q.split("/")[1]||"png";return KA_(SZK(),`${_}.${K}`)}function u36(_){if(_.type!=="image")return null;let q=bZK(_.id,_.mediaType||"image/png");return xZK(),Xo.set(_.id,q),q}async function Po(_){if(_.type!=="image")return null;try{await O$z();let q=bZK(_.id,_.mediaType||"image/png"),K=await $$z(q,"w",384);try{await K.writeFile(_.content,{encoding:"base64"}),await K.datasync()}finally{await K.close()}return xZK(),Xo.set(_.id,q),V(`Stored image ${_.id} to ${q}`),q}catch(q){return V(`Failed to store image: ${q}`),null}}async function CZK(_){let q=new Map;for(let[K,A]of Object.entries(_))if(A.type==="image"){let z=await Po(A);if(z)q.set(Number(K),z)}return q}function AA_(_){return Xo.get(_)??null}function IZK(){Xo.clear()}function xZK(){while(Xo.size>=w$z){let _=Xo.keys().next().value;if(_!==void 0)Xo.delete(_);else break}}async function uZK(){let _=K_(),q=KA_(j8(),hZK),K=X_();try{let A;try{A=await _.readdir(q)}catch{return}for(let z of A){if(z.name===K)continue;let $=KA_(q,z.name);try{await _.rm($,{recursive:!0,force:!0}),V(`Cleaned up old image cache: ${$}`)}catch{}}try{if((await _.readdir(q)).length===0)await _.rmdir(q)}catch{}}catch{}}var hZK="image-cache",w$z=200,Xo;var MI=h(()=>{J_();__();R_();o8();Xo=new Map});import{pathToFileURL as Y$z}from"url";function mZK(_){let q=pZK.c(13),{imageId:K,backgroundColor:A,isSelected:z}=_,$=z===void 0?!1:z,w=AA_(K),O=`[Image #${K}]`;if(w&&b2()){let H=Y$z(w).href,M,f;if(q[0]!==A||q[1]!==O||q[2]!==$)M=D(T,{backgroundColor:A,inverse:$,children:O}),f=D(T,{backgroundColor:A,inverse:$,bold:$,children:O}),q[0]=A,q[1]=O,q[2]=$,q[3]=M,q[4]=f;else M=q[3],f=q[4];let j;if(q[5]!==H||q[6]!==M||q[7]!==f)j=D(cq,{url:H,fallback:M,children:f}),q[5]=H,q[6]=M,q[7]=f,q[8]=j;else j=q[8];return j}let Y;if(q[9]!==A||q[10]!==O||q[11]!==$)Y=D(T,{backgroundColor:A,inverse:$,children:O}),q[9]=A,q[10]=O,q[11]=$,q[12]=Y;else Y=q[12];return Y}var pZK;var gZK=h(()=>{nn();rb();Q6();MI();a();pZK=A6(s6(),1)});function p36({line:_,column:q,active:K}){let A=fI.useContext(cs6),z=fI.useRef(null),$=fI.useCallback((w)=>{z.current=w},[]);return fI.useLayoutEffect(()=>{let w=z.current;if(K&&w)A({relativeX:q,relativeY:_,node:w});else A(null,w)}),fI.useLayoutEffect(()=>{return()=>{A(null,z.current)}},[A]),$}var fI;var zA_=h(()=>{bn_();fI=A6(a6(),1)});function m36(_){let q=cZK.c(32),{isFocused:K,isSelected:A,children:z,description:$,showScrollDown:w,showScrollUp:O,styled:Y,disabled:H,declareCursor:M}=_,f=A===void 0?!1:A,j=Y===void 0?!0:Y,J=H===void 0?!1:H,X;if(q[0]!==J||q[1]!==K||q[2]!==w||q[3]!==O)X=function(){if(J)return D(T,{children:" "});if(K)return D(T,{color:"suggestion",children:n6.pointer});if(w)return D(T,{dimColor:!0,children:n6.arrowDown});if(O)return D(T,{dimColor:!0,children:n6.arrowUp});return D(T,{children:" "})},q[0]=J,q[1]=K,q[2]=w,q[3]=O,q[4]=X;else X=q[4];let P=X,W;if(q[5]!==J||q[6]!==K||q[7]!==f||q[8]!==j)W=function(){if(J)return"inactive";if(!j)return;if(f)return"success";if(K)return"suggestion"}(),q[5]=J,q[6]=K,q[7]=f,q[8]=j,q[9]=W;else W=q[9];let Z=W,G=K&&!J&&M!==!1,v;if(q[10]!==G)v={line:0,column:0,active:G},q[10]=G,q[11]=v;else v=q[11];let k=p36(v),N;if(q[12]!==P)N=P(),q[12]=P,q[13]=N;else N=q[13];let L;if(q[14]!==z||q[15]!==J||q[16]!==j||q[17]!==Z)L=j?D(T,{color:Z,dimColor:J,children:z}):z,q[14]=z,q[15]=J,q[16]=j,q[17]=Z,q[18]=L;else L=q[18];let b;if(q[19]!==J||q[20]!==f)b=f&&!J&&D(T,{color:"success",children:n6.tick}),q[19]=J,q[20]=f,q[21]=b;else b=q[21];let C;if(q[22]!==b||q[23]!==N||q[24]!==L)C=y(x,{flexDirection:"row",gap:1,children:[N,L,b]}),q[22]=b,q[23]=N,q[24]=L,q[25]=C;else C=q[25];let I;if(q[26]!==$)I=$&&D(x,{paddingLeft:2,children:D(T,{color:"inactive",children:$})}),q[26]=$,q[27]=I;else I=q[27];let p;if(q[28]!==k||q[29]!==C||q[30]!==I)p=y(x,{ref:k,flexDirection:"column",children:[C,I]}),q[28]=k,q[29]=C,q[30]=I,q[31]=p;else p=q[31];return p}var cZK;var $A_=h(()=>{Lq();zA_();Q6();a();cZK=A6(s6(),1)});function iB(_){let q=BZK.c(8),{isFocused:K,isSelected:A,children:z,description:$,shouldShowDownArrow:w,shouldShowUpArrow:O,declareCursor:Y}=_,H;if(q[0]!==z||q[1]!==Y||q[2]!==$||q[3]!==K||q[4]!==A||q[5]!==w||q[6]!==O)H=D(m36,{isFocused:K,isSelected:A,description:$,showScrollDown:w,showScrollUp:O,styled:!1,declareCursor:Y,children:z}),q[0]=z,q[1]=Y,q[2]=$,q[3]=K,q[4]=A,q[5]=w,q[6]=O,q[7]=H;else H=q[7];return H}var BZK;var wA_=h(()=>{$A_();a();BZK=A6(s6(),1)});function g36(_){let q=UZK.c(100),{option:K,isFocused:A,isSelected:z,shouldShowDownArrow:$,shouldShowUpArrow:w,maxIndexWidth:O,index:Y,inputValue:H,onInputChange:M,onSubmit:f,onExit:j,layout:J,children:X,showLabel:P,onOpenEditor:W,resetCursorOnUpdate:Z,onImagePaste:G,pastedContents:v,onRemoveImage:k,imagesSelected:N,selectedImageIndex:L,onImagesSelectedChange:b,onSelectedImageIndexChange:C}=_,I=P===void 0?!1:P,p=Z===void 0?!1:Z,m=L===void 0?0:L,g;if(q[0]!==v)g=v?Object.values(v).filter(H$z):[],q[0]=v,q[1]=g;else g=q[1];let c=g,u=I||K.showLabelWithValue===!0,[U,F]=Wo.useState(H.length),Q=Wo.useRef(!1),o;if(q[2]!==H.length||q[3]!==A||q[4]!==p)o=()=>{if(p&&A)if(Q.current)Q.current=!1;else F(H.length)},q[2]=H.length,q[3]=A,q[4]=p,q[5]=o;else o=q[5];let z6;if(q[6]!==H||q[7]!==A||q[8]!==p)z6=[p,A,H],q[6]=H,q[7]=A,q[8]=p,q[9]=z6;else z6=q[9];Wo.useEffect(o,z6);let t;if(q[10]!==H||q[11]!==M||q[12]!==W)t=()=>{W?.(H,M)},q[10]=H,q[11]=M,q[12]=W,q[13]=t;else t=q[13];let e=A&&!!W,s;if(q[14]!==e)s={context:"Chat",isActive:e},q[14]=e,q[15]=s;else s=q[15];U_("chat:externalEditor",t,s);let n;if(q[16]!==G)n=()=>{if(!G)return;I36().then((k6)=>{if(k6)G(k6.base64,k6.mediaType,void 0,k6.dimensions)})},q[16]=G,q[17]=n;else n=q[17];let r=A&&!!G,M6;if(q[18]!==r)M6={context:"Chat",isActive:r},q[18]=r,q[19]=M6;else M6=q[19];U_("chat:imagePaste",n,M6);let _6;if(q[20]!==c||q[21]!==k)_6=()=>{if(c.length>0&&k)k(c.at(-1).id)},q[20]=c,q[21]=k,q[22]=_6;else _6=q[22];let J6=A&&!N&&H===""&&c.length>0&&!!k,w6;if(q[23]!==J6)w6={context:"Attachments",isActive:J6},q[23]=J6,q[24]=w6;else w6=q[24];U_("attachments:remove",_6,w6);let f6,$6;if(q[25]!==c.length||q[26]!==C||q[27]!==m)f6=()=>{if(c.length>1)C?.((m+1)%c.length)},$6=()=>{if(c.length>1)C?.((m-1+c.length)%c.length)},q[25]=c.length,q[26]=C,q[27]=m,q[28]=f6,q[29]=$6;else f6=q[28],$6=q[29];let H6;if(q[30]!==c||q[31]!==b||q[32]!==k||q[33]!==C||q[34]!==m)H6=()=>{let k6=c[m];if(k6&&k)if(k(k6.id),c.length<=1)b?.(!1);else C?.(Math.min(m,c.length-2))},q[30]=c,q[31]=b,q[32]=k,q[33]=C,q[34]=m,q[35]=H6;else H6=q[35];let q6;if(q[36]!==b)q6=()=>{b?.(!1)},q[36]=b,q[37]=q6;else q6=q[37];let Y6;if(q[38]!==f6||q[39]!==$6||q[40]!==H6||q[41]!==q6)Y6={"attachments:next":f6,"attachments:previous":$6,"attachments:remove":H6,"attachments:exit":q6},q[38]=f6,q[39]=$6,q[40]=H6,q[41]=q6,q[42]=Y6;else Y6=q[42];let v6=A&&!!N,m6;if(q[43]!==v6)m6={context:"Attachments",isActive:v6},q[43]=v6,q[44]=m6;else m6=q[44];jq(Y6,m6);let S6;if(q[45]!==b)S6=(k6,I6)=>{if(I6.upArrow)b?.(!1)},q[45]=b,q[46]=S6;else S6=q[46];let c6=A&&!!N,l6;if(q[47]!==c6)l6={isActive:c6},q[47]=c6,q[48]=l6;else l6=q[48];uq(S6,l6);let h6,L6;if(q[49]!==N||q[50]!==A||q[51]!==b)h6=()=>{if(!A&&N)b?.(!1)},L6=[A,N,b],q[49]=N,q[50]=A,q[51]=b,q[52]=h6,q[53]=L6;else h6=q[52],L6=q[53];Wo.useEffect(h6,L6);let W6=J==="expanded"?O+3:O+4,X6=J==="compact"?0:void 0,F6=`${Y}.`,d6;if(q[54]!==O||q[55]!==F6)d6=F6.padEnd(O+2),q[54]=O,q[55]=F6,q[56]=d6;else d6=q[56];let V6;if(q[57]!==d6)V6=D(T,{dimColor:!0,children:d6}),q[57]=d6,q[58]=V6;else V6=q[58];let y6;if(q[59]!==U||q[60]!==N||q[61]!==H||q[62]!==A||q[63]!==j||q[64]!==G||q[65]!==M||q[66]!==f||q[67]!==K||q[68]!==u)y6=u?y(q_,{children:[D(T,{color:A?"suggestion":void 0,children:K.label}),A?y(q_,{children:[D(T,{color:"suggestion",children:K.labelValueSeparator??", "}),D(IA,{value:H,onChange:(k6)=>{Q.current=!0,M(k6),K.onChange(k6)},onSubmit:f,onExit:j,placeholder:K.placeholder,focus:!N,showCursor:!0,multiline:!0,cursorOffset:U,onChangeCursorOffset:F,columns:80,onImagePaste:G,onPaste:(k6)=>{Q.current=!0;let I6=H.slice(0,U),o6=H.slice(U),U6=I6+k6+o6;M(U6),K.onChange(U6),F(I6.length+k6.length)}})]}):H&&y(T,{children:[K.labelValueSeparator??", ",H]})]}):A?D(IA,{value:H,onChange:(k6)=>{Q.current=!0,M(k6),K.onChange(k6)},onSubmit:f,onExit:j,placeholder:K.placeholder||(typeof K.label==="string"?K.label:void 0),focus:!N,showCursor:!0,multiline:!0,cursorOffset:U,onChangeCursorOffset:F,columns:80,onImagePaste:G,onPaste:(k6)=>{Q.current=!0;let I6=H.slice(0,U),o6=H.slice(U),U6=I6+k6+o6;M(U6),K.onChange(U6),F(I6.length+k6.length)}}):D(T,{color:H?void 0:"inactive",children:H||K.placeholder||K.label}),q[59]=U,q[60]=N,q[61]=H,q[62]=A,q[63]=j,q[64]=G,q[65]=M,q[66]=f,q[67]=K,q[68]=u,q[69]=y6;else y6=q[69];let u6;if(q[70]!==X||q[71]!==X6||q[72]!==V6||q[73]!==y6)u6=y(x,{flexDirection:"row",flexShrink:X6,children:[V6,X,y6]}),q[70]=X,q[71]=X6,q[72]=V6,q[73]=y6,q[74]=u6;else u6=q[74];let D6;if(q[75]!==A||q[76]!==z||q[77]!==$||q[78]!==w||q[79]!==u6)D6=D(iB,{isFocused:A,isSelected:z,shouldShowDownArrow:$,shouldShowUpArrow:w,declareCursor:!1,children:u6}),q[75]=A,q[76]=z,q[77]=$,q[78]=w,q[79]=u6,q[80]=D6;else D6=q[80];let G6;if(q[81]!==W6||q[82]!==A||q[83]!==z||q[84]!==K.description||q[85]!==K.dimDescription)G6=K.description&&D(x,{paddingLeft:W6,children:D(T,{dimColor:K.dimDescription!==!1,color:z?"success":A?"suggestion":void 0,children:K.description})}),q[81]=W6,q[82]=A,q[83]=z,q[84]=K.description,q[85]=K.dimDescription,q[86]=G6;else G6=q[86];let j6;if(q[87]!==W6||q[88]!==c||q[89]!==N||q[90]!==A||q[91]!==m)j6=c.length>0&&y(x,{flexDirection:"row",gap:1,paddingLeft:W6,children:[c.map((k6,I6)=>D(mZK,{imageId:k6.id,isSelected:!!N&&I6===m},k6.id)),D(x,{flexGrow:1,justifyContent:"flex-start",flexDirection:"row",children:D(T,{dimColor:!0,children:N?y(w8,{children:[c.length>1&&y(q_,{children:[D(F_,{action:"attachments:next",context:"Attachments",fallback:"→",description:"next"}),D(F_,{action:"attachments:previous",context:"Attachments",fallback:"←",description:"prev"})]}),D(F_,{action:"attachments:remove",context:"Attachments",fallback:"backspace",description:"remove"}),D(F_,{action:"attachments:exit",context:"Attachments",fallback:"esc",description:"cancel"})]}):A?"(↓ to select)":null})})]}),q[87]=W6,q[88]=c,q[89]=N,q[90]=A,q[91]=m,q[92]=j6;else j6=q[92];let T6;if(q[93]!==J)T6=J==="expanded"&&D(T,{children:" "}),q[93]=J,q[94]=T6;else T6=q[94];let R6;if(q[95]!==D6||q[96]!==G6||q[97]!==j6||q[98]!==T6)R6=y(x,{flexDirection:"column",flexShrink:0,children:[D6,G6,j6,T6]}),q[95]=D6,q[96]=G6,q[97]=j6,q[98]=T6,q[99]=R6;else R6=q[99];return R6}function H$z(_){return _.type==="image"}var UZK,Wo;var W48=h(()=>{Q6();$q();x36();gZK();c7();aK();T9();wA_();a();UZK=A6(s6(),1),Wo=A6(a6(),1)});function k9(_,q){let K=FZK.c(8),A=q===void 0?!0:q,$=c36.useContext(mV6)?.setState,w,O;if(K[0]!==A||K[1]!==_||K[2]!==$)w=()=>{if(!A||!$)return;return $((M)=>{if(M.activeOverlays.has(_))return M;let f=new Set(M.activeOverlays);return f.add(_),{...M,activeOverlays:f}}),()=>{$((M)=>{if(!M.activeOverlays.has(_))return M;let f=new Set(M.activeOverlays);return f.delete(_),{...M,activeOverlays:f}})}},O=[_,A,$],K[0]=A,K[1]=_,K[2]=$,K[3]=w,K[4]=O;else w=K[3],O=K[4];c36.useEffect(w,O);let Y,H;if(K[5]!==A)Y=()=>{if(!A)return;return f$z},H=[A],K[5]=A,K[6]=Y,K[7]=H;else Y=K[6],H=K[7];c36.useLayoutEffect(Y,H)}function f$z(){return Y$.get(process.stdout)?.invalidatePrevFrame()}function dZK(){return z_(j$z)}function j$z(_){return _.activeOverlays.size>0}function B36(){return z_(J$z)}function J$z(_){for(let q of _.activeOverlays)if(!M$z.has(q))return!0;return!1}var FZK,c36,M$z;var e2=h(()=>{MX();c8();FZK=A6(s6(),1),c36=A6(a6(),1),M$z=new Set(["autocomplete"])});var OA_;var QZK=h(()=>{OA_=class OA_ extends Map{first;last;constructor(_){let q=[],K,A,z,$=0;for(let w of _){let O={label:w.label,value:w.value,description:w.description,previous:z,next:void 0,index:$};if(z)z.next=O;K||=O,A=O,q.push([w.value,O]),$++,z=O}super(q);this.first=K,this.last=A}}});import{isDeepStrictEqual as X$z}from"util";function YA_({visibleOptionCount:_=5,options:q,initialFocusValue:K,onFocus:A,focusValue:z}){let[$,w]=N9.useReducer(P$z,{visibleOptionCount:_,options:q,initialFocusValue:z||K},lZK),O=N9.useRef(A);O.current=A;let[Y,H]=N9.useState(q);if(q!==Y&&!X$z(q,Y))w({type:"reset",state:lZK({visibleOptionCount:_,options:q,initialFocusValue:z??$.focusedValue??K,currentViewport:{visibleFromIndex:$.visibleFromIndex,visibleToIndex:$.visibleToIndex}})}),H(q);let M=N9.useCallback(()=>{w({type:"focus-next-option"})},[]),f=N9.useCallback(()=>{w({type:"focus-previous-option"})},[]),j=N9.useCallback(()=>{w({type:"focus-next-page"})},[]),J=N9.useCallback(()=>{w({type:"focus-previous-page"})},[]),X=N9.useCallback((v)=>{if(v!==void 0)w({type:"set-focus",value:v})},[]),P=N9.useMemo(()=>{return q.map((v,k)=>({...v,index:k})).slice($.visibleFromIndex,$.visibleToIndex)},[q,$.visibleFromIndex,$.visibleToIndex]),W=N9.useMemo(()=>{if($.focusedValue===void 0)return;if(q.some((k)=>k.value===$.focusedValue))return $.focusedValue;return q[0]?.value},[$.focusedValue,q]),Z=N9.useMemo(()=>{return q.find((k)=>k.value===W)?.type==="input"},[W,q]);N9.useEffect(()=>{if(W!==void 0)O.current?.(W)},[W]),N9.useEffect(()=>{if(z!==void 0)w({type:"set-focus",value:z})},[z]);let G=N9.useMemo(()=>{if(W===void 0)return 0;let v=q.findIndex((k)=>k.value===W);return v>=0?v+1:0},[W,q]);return{focusedValue:W,focusedIndex:G,visibleFromIndex:$.visibleFromIndex,visibleToIndex:$.visibleToIndex,visibleOptions:P,isInInput:Z??!1,focusNextOption:M,focusPreviousOption:f,focusNextPage:j,focusPreviousPage:J,focusOption:X,options:q}}var N9,P$z=(_,q)=>{switch(q.type){case"focus-next-option":{if(_.focusedValue===void 0)return _;let K=_.optionMap.get(_.focusedValue);if(!K)return _;if(K.next){if(!(K.next.index>=_.visibleToIndex))return{..._,focusedValue:K.next.value};let $=Math.min(_.optionMap.size,_.visibleToIndex+1),w=$-_.visibleOptionCount;return{..._,focusedValue:K.next.value,visibleFromIndex:w,visibleToIndex:$}}let A=_.optionMap.first;if(!A)return _;return{..._,focusedValue:A.value,visibleFromIndex:0,visibleToIndex:_.visibleOptionCount}}case"focus-previous-option":{if(_.focusedValue===void 0)return _;let K=_.optionMap.get(_.focusedValue);if(!K)return _;if(K.previous){if(!(K.previous.index<_.visibleFromIndex))return{..._,focusedValue:K.previous.value};let O=Math.max(0,_.visibleFromIndex-1),Y=O+_.visibleOptionCount;return{..._,focusedValue:K.previous.value,visibleFromIndex:O,visibleToIndex:Y}}let A=_.optionMap.last;if(!A)return _;let z=_.optionMap.size,$=Math.max(0,z-_.visibleOptionCount);return{..._,focusedValue:A.value,visibleFromIndex:$,visibleToIndex:z}}case"focus-next-page":{if(_.focusedValue===void 0)return _;let K=_.optionMap.get(_.focusedValue);if(!K)return _;let A=Math.min(_.optionMap.size-1,K.index+_.visibleOptionCount),z=_.optionMap.first;while(z&&z.index<A)if(z.next)z=z.next;else break;if(!z)return _;let $=Math.min(_.optionMap.size,z.index+1),w=Math.max(0,$-_.visibleOptionCount);return{..._,focusedValue:z.value,visibleFromIndex:w,visibleToIndex:$}}case"focus-previous-page":{if(_.focusedValue===void 0)return _;let K=_.optionMap.get(_.focusedValue);if(!K)return _;let A=Math.max(0,K.index-_.visibleOptionCount),z=_.optionMap.first;while(z&&z.index<A)if(z.next)z=z.next;else break;if(!z)return _;let $=Math.max(0,z.index),w=Math.min(_.optionMap.size,$+_.visibleOptionCount);return{..._,focusedValue:z.value,visibleFromIndex:$,visibleToIndex:w}}case"reset":return q.state;case"set-focus":{if(_.focusedValue===q.value)return _;let K=_.optionMap.get(q.value);if(!K)return _;if(K.index>=_.visibleFromIndex&&K.index<_.visibleToIndex)return{..._,focusedValue:q.value};let A,z;if(K.index<_.visibleFromIndex)A=K.index,z=Math.min(_.optionMap.size,A+_.visibleOptionCount);else z=Math.min(_.optionMap.size,K.index+1),A=Math.max(0,z-_.visibleOptionCount);return{..._,focusedValue:q.value,visibleFromIndex:A,visibleToIndex:z}}}},lZK=({visibleOptionCount:_,options:q,initialFocusValue:K,currentViewport:A})=>{let z=typeof _==="number"?Math.min(_,q.length):q.length,$=new OA_(q),w=K!==void 0&&$.get(K),O=w?K:$.first?.value,Y=0,H=z;if(w){let M=w.index;if(A)if(M>=A.visibleFromIndex&&M<A.visibleToIndex)Y=A.visibleFromIndex,H=Math.min($.size,A.visibleToIndex);else if(M<A.visibleFromIndex)Y=M,H=Math.min($.size,Y+z);else H=Math.min($.size,M+1),Y=Math.max(0,H-z);else if(M>=z)H=Math.min($.size,M+1),Y=Math.max(0,H-z);Y=Math.max(0,Math.min(Y,$.size-1)),H=Math.min($.size,Math.max(z,H))}return{optionMap:$,visibleOptionCount:z,focusedValue:O,visibleFromIndex:Y,visibleToIndex:H}};var D48=h(()=>{QZK();N9=A6(a6(),1)});import{isDeepStrictEqual as W$z}from"util";function iZK({isDisabled:_=!1,visibleOptionCount:q=5,options:K,defaultValue:A=[],onChange:z,onCancel:$,onFocus:w,focusValue:O,submitButtonText:Y,onSubmit:H,onDownFromLastItem:M,onUpFromFirstItem:f,initialFocusLast:j,hideIndexes:J=!1}){let[X,P]=nB.useState(A),[W,Z]=nB.useState(!1),[G,v]=nB.useState(K);if(K!==G&&!W$z(K,G))P(A),v(K);let[k,N]=nB.useState(()=>{let I=new Map;return K.forEach((p)=>{if(p.type==="input"&&p.initialValue)I.set(p.value,p.initialValue)}),I}),L=nB.useCallback((I)=>{let p=typeof I==="function"?I(X):I;P(p),z?.(p)},[X,z]),b=YA_({visibleOptionCount:q,options:K,initialFocusValue:j?K[K.length-1]?.value:void 0,onFocus:w,focusValue:O});k9("multi-select");let C=nB.useCallback((I,p)=>{N((g)=>{let c=new Map(g);return c.set(I,p),c});let m=K.find((g)=>g.value===I);if(m&&m.type==="input")m.onChange(p);L((g)=>{if(p){if(!g.includes(I))return[...g,I];return g}else return g.filter((c)=>c!==I)})},[K,L]);return uq((I,p,m)=>{let g=BQ(I),u=K.find((F)=>F.value===b.focusedValue)?.type==="input";if(u){if(!(p.upArrow||p.downArrow||p.escape||p.tab||p.return||p.ctrl&&(I==="n"||I==="p"||p.return)))return}let U=K[K.length-1]?.value;if(p.tab&&!p.shift){if(Y&&H&&b.focusedValue===U&&!W)Z(!0);else if(!W)b.focusNextOption();return}if(p.tab&&p.shift){if(Y&&H&&W)Z(!1),b.focusOption(U);else b.focusPreviousOption();return}if(p.downArrow||p.ctrl&&I==="n"||!p.ctrl&&!p.shift&&I==="j"){if(W&&M)M();else if(Y&&H&&b.focusedValue===U&&!W)Z(!0);else if(!Y&&M&&b.focusedValue===U)M();else if(!W)b.focusNextOption();return}if(p.upArrow||p.ctrl&&I==="p"||!p.ctrl&&!p.shift&&I==="k"){if(Y&&H&&W)Z(!1),b.focusOption(U);else if(f&&b.focusedValue===K[0]?.value)f();else b.focusPreviousOption();return}if(p.pageDown){b.focusNextPage();return}if(p.pageUp){b.focusPreviousPage();return}if(p.return||am6(I)===" "){if(p.ctrl&&p.return&&u&&H){H(X);return}if(W&&H){H(X);return}if(p.return&&!Y&&H){H(X);return}if(b.focusedValue!==void 0){let F=X.includes(b.focusedValue)?X.filter((Q)=>Q!==b.focusedValue):[...X,b.focusedValue];L(F)}return}if(!J&&/^[0-9]+$/.test(g)){let F=parseInt(g)-1;if(F>=0&&F<K.length){let Q=K[F].value,o=X.includes(Q)?X.filter((z6)=>z6!==Q):[...X,Q];L(o)}return}if(p.escape)$(),m.stopImmediatePropagation()},{isActive:!_}),{...b,selectedValues:X,inputValues:k,isSubmitFocused:W,updateInputValue:C,onCancel:$}}var nB;var nZK=h(()=>{e2();Q6();D48();nB=A6(a6(),1)});function U36(_){let q=rZK.c(44),{isDisabled:K,visibleOptionCount:A,options:z,defaultValue:$,onCancel:w,onChange:O,onFocus:Y,focusValue:H,submitButtonText:M,onSubmit:f,onDownFromLastItem:j,onUpFromFirstItem:J,initialFocusLast:X,onOpenEditor:P,hideIndexes:W,onImagePaste:Z,pastedContents:G,onRemoveImage:v}=_,k=K===void 0?!1:K,N=A===void 0?5:A,L;if(q[0]!==$)L=$===void 0?[]:$,q[0]=$,q[1]=L;else L=q[1];let b=L,C=W===void 0?!1:W,I;if(q[2]!==b||q[3]!==H||q[4]!==C||q[5]!==X||q[6]!==k||q[7]!==w||q[8]!==O||q[9]!==j||q[10]!==Y||q[11]!==f||q[12]!==J||q[13]!==z||q[14]!==M||q[15]!==N)I={isDisabled:k,visibleOptionCount:N,options:z,defaultValue:b,onChange:O,onCancel:w,onFocus:Y,focusValue:H,submitButtonText:M,onSubmit:f,onDownFromLastItem:j,onUpFromFirstItem:J,initialFocusLast:X,hideIndexes:C},q[2]=b,q[3]=H,q[4]=C,q[5]=X,q[6]=k,q[7]=w,q[8]=O,q[9]=j,q[10]=Y,q[11]=f,q[12]=J,q[13]=z,q[14]=M,q[15]=N,q[16]=I;else I=q[16];let p=iZK(I),m,g,c,u,U;if(q[17]!==C||q[18]!==k||q[19]!==w||q[20]!==Z||q[21]!==P||q[22]!==v||q[23]!==z.length||q[24]!==G||q[25]!==p){let z6=z.length.toString().length;g=x,U="column",m=x,c="column",u=p.visibleOptions.map((t,e)=>{let s=!k&&p.focusedValue===t.value&&!p.isSubmitFocused,n=p.selectedValues.includes(t.value),r=t.index===p.visibleFromIndex,M6=t.index===p.visibleToIndex-1,_6=p.visibleToIndex<z.length,J6=p.visibleFromIndex>0,w6=p.visibleFromIndex+e+1;if(t.type==="input"){let f6=p.inputValues.get(t.value)||"";return D(x,{gap:1,children:D(g36,{option:t,isFocused:s,isSelected:!1,shouldShowDownArrow:_6&&M6,shouldShowUpArrow:J6&&r,maxIndexWidth:z6,index:w6,inputValue:f6,onInputChange:($6)=>{p.updateInputValue(t.value,$6)},onSubmit:D$z,onExit:()=>{w()},layout:"compact",onOpenEditor:P,onImagePaste:Z,pastedContents:G,onRemoveImage:v,children:y(T,{color:n?"success":void 0,children:["[",n?n6.tick:" ","]"," "]})})},String(t.value))}return D(x,{gap:1,children:y(iB,{isFocused:s,isSelected:!1,shouldShowDownArrow:_6&&M6,shouldShowUpArrow:J6&&r,description:t.description,children:[!C&&D(T,{dimColor:!0,children:`${w6}.`.padEnd(z6)}),y(T,{color:n?"success":void 0,children:["[",n?n6.tick:" ","]"]}),D(T,{color:s?"suggestion":void 0,children:t.label})]})},String(t.value))}),q[17]=C,q[18]=k,q[19]=w,q[20]=Z,q[21]=P,q[22]=v,q[23]=z.length,q[24]=G,q[25]=p,q[26]=m,q[27]=g,q[28]=c,q[29]=u,q[30]=U}else m=q[26],g=q[27],c=q[28],u=q[29],U=q[30];let F;if(q[31]!==m||q[32]!==c||q[33]!==u)F=D(m,{flexDirection:c,children:u}),q[31]=m,q[32]=c,q[33]=u,q[34]=F;else F=q[34];let Q;if(q[35]!==f||q[36]!==p.isSubmitFocused||q[37]!==M)Q=M&&f&&y(x,{marginTop:0,gap:1,children:[p.isSubmitFocused?D(T,{color:"suggestion",children:n6.pointer}):D(T,{children:" "}),D(x,{marginLeft:3,children:D(T,{color:p.isSubmitFocused?"suggestion":void 0,bold:!0,children:M})})]}),q[35]=f,q[36]=p.isSubmitFocused,q[37]=M,q[38]=Q;else Q=q[38];let o;if(q[39]!==g||q[40]!==F||q[41]!==Q||q[42]!==U)o=y(g,{flexDirection:U,children:[F,Q]}),q[39]=g,q[40]=F,q[41]=Q,q[42]=U,q[43]=o;else o=q[43];return o}function D$z(){}var rZK;var HA_=h(()=>{Lq();Q6();W48();wA_();nZK();a();rZK=A6(s6(),1)});var Z48,aZK=({isDisabled:_=!1,disableSelection:q=!1,state:K,options:A,isMultiSelect:z=!1,onUpFromFirstItem:$,onDownFromLastItem:w,onInputModeToggle:O,inputValues:Y,imagesSelected:H=!1,onEnterImageSelection:M})=>{k9("select",!!K.onCancel);let f=Z48.useMemo(()=>{return A.find((X)=>X.value===K.focusedValue)?.type==="input"},[A,K.focusedValue]),j=Z48.useMemo(()=>{let J={};if(!f)J["select:next"]=()=>{if(w){let X=A[A.length-1];if(X&&K.focusedValue===X.value){w();return}}K.focusNextOption()},J["select:previous"]=()=>{if($&&K.visibleFromIndex===0){let X=A[0];if(X&&K.focusedValue===X.value){$();return}}K.focusPreviousOption()},J["select:accept"]=()=>{if(q===!0)return;if(K.focusedValue===void 0)return;if(A.find((P)=>P.value===K.focusedValue)?.disabled===!0)return;K.selectFocusedOption?.(),K.onChange?.(K.focusedValue)};if(K.onCancel)J["select:cancel"]=()=>{K.onCancel()};return J},[A,K,w,$,f,q]);jq(j,{context:"Select",isActive:!_}),uq((J,X,P)=>{let W=BQ(J),Z=A.find((v)=>v.value===K.focusedValue),G=Z?.type==="input";if(X.tab&&O&&K.focusedValue!==void 0){O(K.focusedValue);return}if(G){if(H)return;if(X.downArrow&&M?.()){P.stopImmediatePropagation();return}if(X.downArrow||X.ctrl&&J==="n"){if(w){let v=A[A.length-1];if(v&&K.focusedValue===v.value){w(),P.stopImmediatePropagation();return}}K.focusNextOption(),P.stopImmediatePropagation();return}if(X.upArrow||X.ctrl&&J==="p"){if($&&K.visibleFromIndex===0){let v=A[0];if(v&&K.focusedValue===v.value){$(),P.stopImmediatePropagation();return}}K.focusPreviousOption(),P.stopImmediatePropagation();return}return}if(X.pageDown)K.focusNextPage();if(X.pageUp)K.focusPreviousPage();if(q!==!0){if(z&&am6(J)===" "&&K.focusedValue!==void 0){if(Z?.disabled!==!0)K.selectFocusedOption?.(),K.onChange?.(K.focusedValue)}if(q!=="numeric"&&/^[0-9]+$/.test(W)){let v=parseInt(W)-1;if(v>=0&&v<K.options.length){let k=K.options[v];if(k.disabled===!0)return;if(k.type==="input"){if((Y?.get(k.value)??"").trim()){K.onChange?.(k.value);return}if(k.allowEmptySubmitToCancel){K.onChange?.(k.value);return}K.focusOption(k.value);return}K.onChange?.(k.value);return}}}},{isActive:!_})};var oZK=h(()=>{e2();Q6();$q();Z48=A6(a6(),1)});function sZK({visibleOptionCount:_=5,options:q,defaultValue:K,onChange:A,onCancel:z,onFocus:$,focusValue:w}){let[O,Y]=MA_.useState(K),H=YA_({visibleOptionCount:_,options:q,initialFocusValue:void 0,onFocus:$,focusValue:w}),M=MA_.useCallback(()=>{Y(H.focusedValue)},[H.focusedValue]);return{...H,value:O,selectFocusedOption:M,onChange:A,onCancel:z}}var MA_;var tZK=h(()=>{D48();MA_=A6(a6(),1)});function fA_(_){if(typeof _==="string")return _;if(typeof _==="number")return String(_);if(!_)return"";if(Array.isArray(_))return _.map(fA_).join("");if(DL.default.isValidElement(_))return fA_(_.props.children);return""}function g_(_){let q=G48.c(72),{isDisabled:K,hideIndexes:A,visibleOptionCount:z,highlightText:$,options:w,defaultValue:O,onCancel:Y,onChange:H,onFocus:M,defaultFocusValue:f,layout:j,disableSelection:J,inlineDescriptions:X,onUpFromFirstItem:P,onDownFromLastItem:W,onInputModeToggle:Z,onOpenEditor:G,onImagePaste:v,pastedContents:k,onRemoveImage:N}=_,L=K===void 0?!1:K,b=A===void 0?!1:A,C=z===void 0?5:z,I=j===void 0?"compact":j,p=J===void 0?!1:J,m=X===void 0?!1:X,[g,c]=DL.useState(!1),[u,U]=DL.useState(0),F;if(q[0]!==w)F=()=>{let Y6=new Map;return w.forEach((v6)=>{if(v6.type==="input"&&v6.initialValue)Y6.set(v6.value,v6.initialValue)}),Y6},q[0]=w,q[1]=F;else F=q[1];let[Q,o]=DL.useState(F),z6;if(q[2]===Symbol.for("react.memo_cache_sentinel"))z6=new Map,q[2]=z6;else z6=q[2];let t=DL.useRef(z6),e,s;if(q[3]!==Q||q[4]!==w)s=()=>{for(let Y6 of w)if(Y6.type==="input"&&Y6.initialValue!==void 0){let v6=t.current.get(Y6.value)??"",m6=Q.get(Y6.value)??"",S6=Y6.initialValue;if(S6!==v6&&m6===v6)o((c6)=>{let l6=new Map(c6);return l6.set(Y6.value,S6),l6});t.current.set(Y6.value,S6)}},e=[w,Q],q[3]=Q,q[4]=w,q[5]=e,q[6]=s;else e=q[5],s=q[6];DL.useEffect(s,e);let n;if(q[7]!==f||q[8]!==O||q[9]!==Y||q[10]!==H||q[11]!==M||q[12]!==w||q[13]!==C)n={visibleOptionCount:C,options:w,defaultValue:O,onChange:H,onCancel:Y,onFocus:M,focusValue:f},q[7]=f,q[8]=O,q[9]=Y,q[10]=H,q[11]=M,q[12]=w,q[13]=C,q[14]=n;else n=q[14];let r=sZK(n),M6=p||(b?"numeric":!1),_6;if(q[15]!==k)_6=()=>{if(k&&Object.values(k).some(R$z)){let Y6=b8(Object.values(k),y$z);return c(!0),U(Y6-1),!0}return!1},q[15]=k,q[16]=_6;else _6=q[16];let J6;if(q[17]!==g||q[18]!==Q||q[19]!==L||q[20]!==W||q[21]!==Z||q[22]!==P||q[23]!==w||q[24]!==r||q[25]!==M6||q[26]!==_6)J6={isDisabled:L,disableSelection:M6,state:r,options:w,isMultiSelect:!1,onUpFromFirstItem:P,onDownFromLastItem:W,onInputModeToggle:Z,inputValues:Q,imagesSelected:g,onEnterImageSelection:_6},q[17]=g,q[18]=Q,q[19]=L,q[20]=W,q[21]=Z,q[22]=P,q[23]=w,q[24]=r,q[25]=M6,q[26]=_6,q[27]=J6;else J6=q[27];aZK(J6);let w6,f6,$6,H6;if(q[28]!==b||q[29]!==$||q[30]!==g||q[31]!==m||q[32]!==Q||q[33]!==L||q[34]!==I||q[35]!==Y||q[36]!==H||q[37]!==v||q[38]!==G||q[39]!==N||q[40]!==w.length||q[41]!==k||q[42]!==u||q[43]!==r.focusedValue||q[44]!==r.options||q[45]!==r.value||q[46]!==r.visibleFromIndex||q[47]!==r.visibleOptions||q[48]!==r.visibleToIndex){H6=Symbol.for("react.early_return_sentinel");_:{let Y6={container:V$z,highlightedText:N$z};if(I==="expanded"){let h6;if(q[53]!==r.options.length)h6=r.options.length.toString(),q[53]=r.options.length,q[54]=h6;else h6=q[54];let L6=h6.length;H6=D(x,{...Y6.container(),children:r.visibleOptions.map((W6,X6)=>{let F6=W6.index===r.visibleFromIndex,d6=W6.index===r.visibleToIndex-1,V6=r.visibleToIndex<w.length,y6=r.visibleFromIndex>0,u6=r.visibleFromIndex+X6+1,D6=!L&&r.focusedValue===W6.value,G6=r.value===W6.value;if(W6.type==="input"){let k6=Q.has(W6.value)?Q.get(W6.value):W6.initialValue||"";return D(g36,{option:W6,isFocused:D6,isSelected:G6,shouldShowDownArrow:V6&&d6,shouldShowUpArrow:y6&&F6,maxIndexWidth:L6,index:u6,inputValue:k6,onInputChange:(I6)=>{o((o6)=>{let U6=new Map(o6);return U6.set(W6.value,I6),U6})},onSubmit:(I6)=>{let o6=k&&Object.values(k).some(k$z);if(I6.trim()||o6||W6.allowEmptySubmitToCancel)H?.(W6.value);else Y?.()},onExit:Y,layout:"expanded",showLabel:m,onOpenEditor:G,resetCursorOnUpdate:W6.resetCursorOnUpdate,onImagePaste:v,pastedContents:k,onRemoveImage:N,imagesSelected:g,selectedImageIndex:u,onImagesSelectedChange:c,onSelectedImageIndexChange:U},String(W6.value))}let j6=W6.label;if(typeof W6.label==="string"&&$&&W6.label.includes($)){let k6=W6.label,I6=k6.indexOf($);j6=y(q_,{children:[k6.slice(0,I6),D(T,{...Y6.highlightedText(),children:$}),k6.slice(I6+$.length)]})}let T6=W6.disabled===!0,R6=T6?void 0:G6?"success":D6?"suggestion":void 0;return y(x,{flexDirection:"column",flexShrink:0,children:[D(iB,{isFocused:D6,isSelected:G6,shouldShowDownArrow:V6&&d6,shouldShowUpArrow:y6&&F6,children:D(T,{dimColor:T6,color:R6,children:j6})}),W6.description&&D(x,{paddingLeft:2,children:D(T,{dimColor:T6||W6.dimDescription!==!1,color:R6,children:D(x7,{children:W6.description})})}),D(T,{children:" "})]},String(W6.value))})});break _}if(I==="compact-vertical"){let h6;if(q[55]!==b||q[56]!==r.options)h6=b?0:r.options.length.toString().length,q[55]=b,q[56]=r.options,q[57]=h6;else h6=q[57];let L6=h6;H6=D(x,{...Y6.container(),children:r.visibleOptions.map((W6,X6)=>{let F6=W6.index===r.visibleFromIndex,d6=W6.index===r.visibleToIndex-1,V6=r.visibleToIndex<w.length,y6=r.visibleFromIndex>0,u6=r.visibleFromIndex+X6+1,D6=!L&&r.focusedValue===W6.value,G6=r.value===W6.value;if(W6.type==="input"){let R6=Q.has(W6.value)?Q.get(W6.value):W6.initialValue||"";return D(g36,{option:W6,isFocused:D6,isSelected:G6,shouldShowDownArrow:V6&&d6,shouldShowUpArrow:y6&&F6,maxIndexWidth:L6,index:u6,inputValue:R6,onInputChange:(k6)=>{o((I6)=>{let o6=new Map(I6);return o6.set(W6.value,k6),o6})},onSubmit:(k6)=>{let I6=k&&Object.values(k).some(T$z);if(k6.trim()||I6||W6.allowEmptySubmitToCancel)H?.(W6.value);else Y?.()},onExit:Y,layout:"compact",showLabel:m,onOpenEditor:G,resetCursorOnUpdate:W6.resetCursorOnUpdate,onImagePaste:v,pastedContents:k,onRemoveImage:N,imagesSelected:g,selectedImageIndex:u,onImagesSelectedChange:c,onSelectedImageIndexChange:U},String(W6.value))}let j6=W6.label;if(typeof W6.label==="string"&&$&&W6.label.includes($)){let R6=W6.label,k6=R6.indexOf($);j6=y(q_,{children:[R6.slice(0,k6),D(T,{...Y6.highlightedText(),children:$}),R6.slice(k6+$.length)]})}let T6=W6.disabled===!0;return y(x,{flexDirection:"column",flexShrink:0,children:[D(iB,{isFocused:D6,isSelected:G6,shouldShowDownArrow:V6&&d6,shouldShowUpArrow:y6&&F6,children:y(q_,{children:[!b&&D(T,{dimColor:!0,children:`${u6}.`.padEnd(L6+1)}),D(T,{dimColor:T6,color:T6?void 0:G6?"success":D6?"suggestion":void 0,children:j6})]})}),W6.description&&D(x,{paddingLeft:b?4:L6+4,children:D(T,{dimColor:T6||W6.dimDescription!==!1,color:T6?void 0:G6?"success":D6?"suggestion":void 0,children:D(x7,{children:W6.description})})})]},String(W6.value))})});break _}let v6;if(q[58]!==b||q[59]!==r.options)v6=b?0:r.options.length.toString().length,q[58]=b,q[59]=r.options,q[60]=v6;else v6=q[60];let m6=v6,S6=r.visibleOptions.some(v$z),c6=!m&&!S6&&r.visibleOptions.some(G$z),l6=r.visibleOptions.map((h6,L6)=>{let W6=h6.index===r.visibleFromIndex,X6=h6.index===r.visibleToIndex-1,F6=r.visibleToIndex<w.length,d6=r.visibleFromIndex>0,V6=r.visibleFromIndex+L6+1,y6=!L&&r.focusedValue===h6.value,u6=r.value===h6.value,D6=h6.disabled===!0,G6=h6.label;if(typeof h6.label==="string"&&$&&h6.label.includes($)){let j6=h6.label,T6=j6.indexOf($);G6=y(q_,{children:[j6.slice(0,T6),D(T,{...Y6.highlightedText(),children:$}),j6.slice(T6+$.length)]})}return{option:h6,index:V6,label:G6,isFocused:y6,isSelected:u6,isOptionDisabled:D6,shouldShowDownArrow:F6&&X6,shouldShowUpArrow:d6&&W6}});if(c6){let h6;if(q[61]!==b||q[62]!==m6)h6=(X6)=>{if(X6.option.type==="input")return 0;let F6=fA_(X6.option.label),d6=b?0:m6+2,V6=X6.isSelected?2:0;return 2+d6+o_(F6)+V6},q[61]=b,q[62]=m6,q[63]=h6;else h6=q[63];let L6=Math.max(...l6.map(h6)),W6;if(q[64]!==b||q[65]!==m6||q[66]!==L6)W6=(X6)=>{if(X6.option.type==="input")return null;let F6=fA_(X6.option.label),d6=b?0:m6+2,V6=X6.isSelected?2:0,y6=2+d6+o_(F6)+V6,u6=L6-y6;return y(L$z,{isFocused:X6.isFocused,children:[y(x,{flexDirection:"row",flexShrink:0,children:[X6.isFocused?D(T,{color:"puku",children:n6.pointer}):X6.shouldShowDownArrow?D(T,{dimColor:!0,children:n6.arrowDown}):X6.shouldShowUpArrow?D(T,{dimColor:!0,children:n6.arrowUp}):D(T,{children:" "}),D(T,{children:" "}),y(T,{dimColor:X6.isOptionDisabled,color:X6.isOptionDisabled?void 0:X6.isSelected?"success":X6.isFocused?"suggestion":void 0,children:[!b&&D(T,{dimColor:!0,children:`${X6.index}.`.padEnd(m6+2)}),X6.label]}),X6.isSelected&&y(T,{color:"success",children:[" ",n6.tick]}),u6>0&&D(T,{children:" ".repeat(u6)})]}),D(x,{flexGrow:1,marginLeft:2,children:D(T,{wrap:"wrap",dimColor:X6.isOptionDisabled||X6.option.dimDescription!==!1,color:X6.isOptionDisabled?void 0:X6.isSelected?"success":X6.isFocused?"suggestion":void 0,children:D(x7,{children:X6.option.description||" "})})})]},String(X6.option.value))},q[64]=b,q[65]=m6,q[66]=L6,q[67]=W6;else W6=q[67];H6=D(x,{...Y6.container(),children:l6.map(W6)});break _}w6=x,f6=Y6.container(),$6=r.visibleOptions.map((h6,L6)=>{if(h6.type==="input"){let j6=Q.has(h6.value)?Q.get(h6.value):h6.initialValue||"",T6=h6.index===r.visibleFromIndex,R6=h6.index===r.visibleToIndex-1,k6=r.visibleToIndex<w.length,I6=r.visibleFromIndex>0,o6=r.visibleFromIndex+L6+1,U6=!L&&r.focusedValue===h6.value,w_=r.value===h6.value;return D(g36,{option:h6,isFocused:U6,isSelected:w_,shouldShowDownArrow:k6&&R6,shouldShowUpArrow:I6&&T6,maxIndexWidth:m6,index:o6,inputValue:j6,onInputChange:(H_)=>{o((Z6)=>{let i6=new Map(Z6);return i6.set(h6.value,H_),i6})},onSubmit:(H_)=>{let Z6=k&&Object.values(k).some(Z$z);if(H_.trim()||Z6||h6.allowEmptySubmitToCancel)H?.(h6.value);else Y?.()},onExit:Y,layout:"compact",showLabel:m,onOpenEditor:G,resetCursorOnUpdate:h6.resetCursorOnUpdate,onImagePaste:v,pastedContents:k,onRemoveImage:N,imagesSelected:g,selectedImageIndex:u,onImagesSelectedChange:c,onSelectedImageIndexChange:U},String(h6.value))}let W6=h6.label;if(typeof h6.label==="string"&&$&&h6.label.includes($)){let j6=h6.label,T6=j6.indexOf($);W6=y(q_,{children:[j6.slice(0,T6),D(T,{...Y6.highlightedText(),children:$}),j6.slice(T6+$.length)]})}let X6=h6.index===r.visibleFromIndex,F6=h6.index===r.visibleToIndex-1,d6=r.visibleToIndex<w.length,V6=r.visibleFromIndex>0,y6=r.visibleFromIndex+L6+1,u6=!L&&r.focusedValue===h6.value,D6=r.value===h6.value,G6=h6.disabled===!0;return y(iB,{isFocused:u6,isSelected:D6,shouldShowDownArrow:d6&&F6,shouldShowUpArrow:V6&&X6,children:[y(x,{flexDirection:"row",flexShrink:0,children:[!b&&D(T,{dimColor:!0,children:`${y6}.`.padEnd(m6+2)}),y(T,{dimColor:G6,color:G6?void 0:D6?"success":u6?"suggestion":void 0,children:[W6,m&&h6.description&&y(T,{dimColor:G6||h6.dimDescription!==!1,children:[" ",h6.description]})]})]}),!m&&h6.description&&D(x,{flexShrink:99,marginLeft:2,children:D(T,{wrap:"wrap-trim",dimColor:G6||h6.dimDescription!==!1,color:G6?void 0:D6?"success":u6?"suggestion":void 0,children:D(x7,{children:h6.description})})})]},String(h6.value))})}q[28]=b,q[29]=$,q[30]=g,q[31]=m,q[32]=Q,q[33]=L,q[34]=I,q[35]=Y,q[36]=H,q[37]=v,q[38]=G,q[39]=N,q[40]=w.length,q[41]=k,q[42]=u,q[43]=r.focusedValue,q[44]=r.options,q[45]=r.value,q[46]=r.visibleFromIndex,q[47]=r.visibleOptions,q[48]=r.visibleToIndex,q[49]=w6,q[50]=f6,q[51]=$6,q[52]=H6}else w6=q[49],f6=q[50],$6=q[51],H6=q[52];if(H6!==Symbol.for("react.early_return_sentinel"))return H6;let q6;if(q[68]!==w6||q[69]!==f6||q[70]!==$6)q6=D(w6,{...f6,children:$6}),q[68]=w6,q[69]=f6,q[70]=$6,q[71]=q6;else q6=q[71];return q6}function Z$z(_){return _.type==="image"}function G$z(_){return _.description}function v$z(_){return _.type==="input"}function T$z(_){return _.type==="image"}function k$z(_){return _.type==="image"}function N$z(){return{bold:!0}}function V$z(){return{flexDirection:"column"}}function y$z(_){return _.type==="image"}function R$z(_){return _.type==="image"}function L$z(_){let q=G48.c(5),{isFocused:K,children:A}=_,z;if(q[0]!==K)z={line:0,column:0,active:K},q[0]=K,q[1]=z;else z=q[1];let $=p36(z),w;if(q[2]!==A||q[3]!==$)w=D(x,{ref:$,flexDirection:"row",children:A}),q[2]=A,q[3]=$,q[4]=w;else w=q[4];return w}var G48,DL;var R4=h(()=>{Lq();zA_();w4();Q6();W48();wA_();oZK();tZK();a();G48=A6(s6(),1),DL=A6(a6(),1)});var M5=h(()=>{HA_();R4()});function rB(_){let q=eZK.c(13),{title:K,subtitle:A,color:z,workerBadge:$}=_,w=z===void 0?"permission":z,O;if(q[0]!==w||q[1]!==K)O=D(T,{bold:!0,color:w,children:K}),q[0]=w,q[1]=K,q[2]=O;else O=q[2];let Y;if(q[3]!==$)Y=$&&y(T,{dimColor:!0,children:["· ","@",$.name]}),q[3]=$,q[4]=Y;else Y=q[4];let H;if(q[5]!==O||q[6]!==Y)H=y(x,{flexDirection:"row",gap:1,children:[O,Y]}),q[5]=O,q[6]=Y,q[7]=H;else H=q[7];let M;if(q[8]!==A)M=A!=null&&(typeof A==="string"?D(T,{dimColor:!0,wrap:"truncate-start",children:A}):A),q[8]=A,q[9]=M;else M=q[9];let f;if(q[10]!==H||q[11]!==M)f=y(x,{flexDirection:"column",children:[H,M]}),q[10]=H,q[11]=M,q[12]=f;else f=q[12];return f}var eZK;var gV6=h(()=>{Q6();a();eZK=A6(s6(),1)});function u5(_){let q=_GK.c(15),{title:K,subtitle:A,color:z,titleColor:$,innerPaddingX:w,workerBadge:O,titleRight:Y,children:H}=_,M=z===void 0?"permission":z,f=w===void 0?1:w,j;if(q[0]!==A||q[1]!==K||q[2]!==$||q[3]!==O)j=D(rB,{title:K,subtitle:A,color:$,workerBadge:O}),q[0]=A,q[1]=K,q[2]=$,q[3]=O,q[4]=j;else j=q[4];let J;if(q[5]!==j||q[6]!==Y)J=D(x,{paddingX:1,flexDirection:"column",children:y(x,{justifyContent:"space-between",children:[j,Y]})}),q[5]=j,q[6]=Y,q[7]=J;else J=q[7];let X;if(q[8]!==H||q[9]!==f)X=D(x,{flexDirection:"column",paddingX:f,children:H}),q[8]=H,q[9]=f,q[10]=X;else X=q[10];let P;if(q[11]!==M||q[12]!==J||q[13]!==X)P=y(x,{flexDirection:"column",borderStyle:"round",borderColor:M,borderLeft:!1,borderRight:!1,borderBottom:!1,marginTop:1,children:[J,X]}),q[11]=M,q[12]=J,q[13]=X,q[14]=P;else P=q[14];return P}var _GK;var hH=h(()=>{Q6();gV6();a();_GK=A6(s6(),1)});function F36(_){if(!_)return{shellSettings:{},envVars:{},hasHooks:!1};let q={};for(let z of CRq){let $=_[z];if(typeof $==="string"&&$.length>0)q[z]=$}let K={};if(_.env&&typeof _.env==="object"){for(let[z,$]of Object.entries(_.env))if(typeof $==="string"&&$.length>0){if(!z46.has(z.toUpperCase()))K[z]=$}}let A=_.hooks!==void 0&&_.hooks!==null&&typeof _.hooks==="object"&&Object.keys(_.hooks).length>0;return{shellSettings:q,envVars:K,hasHooks:A,hooks:A?_.hooks:void 0}}function jA_(_){return Object.keys(_.shellSettings).length>0||Object.keys(_.envVars).length>0||_.hasHooks}function qGK(_,q){let K=F36(_),A=F36(q);if(!jA_(A))return!1;if(!jA_(K))return!0;let z=x6({shellSettings:K.shellSettings,envVars:K.envVars,hooks:K.hooks}),$=x6({shellSettings:A.shellSettings,envVars:A.envVars,hooks:A.hooks});return z!==$}function KGK(_){let q=[];for(let K of Object.keys(_.shellSettings))q.push(K);for(let K of Object.keys(_.envVars))q.push(K);if(_.hasHooks)q.push("hooks");return q}var v48=h(()=>{dr6();m_()});function zGK(_){let q=AGK.c(26),{settings:K,onAccept:A,onReject:z}=_,$=F36(K),w=KGK($),O=e7(),Y;if(q[0]===Symbol.for("react.memo_cache_sentinel"))Y={context:"Confirmation"},q[0]=Y;else Y=q[0];U_("confirm:no",z,Y);let H;if(q[1]!==A||q[2]!==z)H=function(F){if(F==="exit"){z();return}A()},q[1]=A,q[2]=z,q[3]=H;else H=q[3];let M=H,f=u5,j="warning",J="warning",X="Managed settings require approval",P=x,W="column",Z=1,G=1,v;if(q[4]===Symbol.for("react.memo_cache_sentinel"))v=D(T,{children:"Your organization has configured managed settings that could allow execution of arbitrary code or interception of your prompts and responses."}),q[4]=v;else v=q[4];let k=x,N="column",L;if(q[5]===Symbol.for("react.memo_cache_sentinel"))L=D(T,{dimColor:!0,children:"Settings requiring approval:"}),q[5]=L;else L=q[5];let b=w.map(E$z),C;if(q[6]!==k||q[7]!==L||q[8]!==b)C=y(k,{flexDirection:N,children:[L,b]}),q[6]=k,q[7]=L,q[8]=b,q[9]=C;else C=q[9];let I;if(q[10]===Symbol.for("react.memo_cache_sentinel"))I=D(T,{children:"Only accept if you trust your organization's IT administration and expect these settings to be configured."}),q[10]=I;else I=q[10];let p;if(q[11]===Symbol.for("react.memo_cache_sentinel"))p=[{label:"Yes, I trust these settings",value:"accept"},{label:"No, exit puku-cli",value:"exit"}],q[11]=p;else p=q[11];let m;if(q[12]!==M)m=D(g_,{options:p,onChange:(U)=>M(U),onCancel:()=>M("exit")}),q[12]=M,q[13]=m;else m=q[13];let g;if(q[14]!==O.keyName||q[15]!==O.pending)g=D(T,{dimColor:!0,children:O.pending?y(q_,{children:["Press ",O.keyName," again to exit"]}):D(q_,{children:"Enter to confirm · Esc to exit"})}),q[14]=O.keyName,q[15]=O.pending,q[16]=g;else g=q[16];let c;if(q[17]!==P||q[18]!==C||q[19]!==m||q[20]!==g||q[21]!==v)c=y(P,{flexDirection:W,gap:Z,paddingTop:G,children:[v,C,I,m,g]}),q[17]=P,q[18]=C,q[19]=m,q[20]=g,q[21]=v,q[22]=c;else c=q[22];let u;if(q[23]!==f||q[24]!==c)u=D(f,{color:j,titleColor:J,title:X,children:c}),q[23]=f,q[24]=c,q[25]=u;else u=q[25];return u}function E$z(_,q){return D(x,{paddingLeft:2,children:y(T,{children:[D(T,{dimColor:!0,children:"· "}),D(T,{children:_})]})},q)}var AGK;var $GK=h(()=>{Hw();Q6();$q();M5();hH();v48();a();AGK=A6(s6(),1)});function S$z(_,q){let K=T48.c(9),{addNotification:A,removeNotification:z}=lK(),$;if(K[0]!==A||K[1]!==z||K[2]!==_)$=()=>{if(_.length===0){z("keybinding-config-warning");return}let O=b8(_,C$z),Y=b8(_,b$z),H;if(O>0&&Y>0)H=`Found ${O} keybinding ${E8(O,"error")} and ${Y} ${E8(Y,"warning")}`;else if(O>0)H=`Found ${O} keybinding ${E8(O,"error")}`;else H=`Found ${Y} keybinding ${E8(Y,"warning")}`;H=H+" · /doctor for details",A({key:"keybinding-config-warning",text:H,color:O>0?"error":"warning",priority:O>0?"immediate":"high",timeoutMs:60000})},K[0]=A,K[1]=z,K[2]=_,K[3]=$;else $=K[3];let w;if(K[4]!==A||K[5]!==q||K[6]!==z||K[7]!==_)w=[_,q,A,z],K[4]=A,K[5]=q,K[6]=z,K[7]=_,K[8]=w;else w=K[8];Hf.useEffect($,w)}function b$z(_){return _.severity==="warning"}function C$z(_){return _.severity==="error"}function pY({children:_}){let[{bindings:q,warnings:K},A]=Hf.useState(()=>{let W=ok6();return V(`[keybindings] KeybindingSetup initialized with ${W.bindings.length} bindings, ${W.warnings.length} warnings`),W}),[z,$]=Hf.useState(!1);S$z(K,z);let w=Hf.useRef(null),[O,Y]=Hf.useState(null),H=Hf.useRef(null),M=Hf.useRef(new Map),f=Hf.useRef(new Set),j=Hf.useCallback((W)=>{f.current.add(W)},[]),J=Hf.useCallback((W)=>{f.current.delete(W)},[]),X=Hf.useCallback(()=>{if(H.current)clearTimeout(H.current),H.current=null},[]),P=Hf.useCallback((W)=>{if(X(),W!==null)H.current=setTimeout((Z,G)=>{V("[keybindings] Chord timeout - cancelling"),Z.current=null,G(null)},h$z,w,Y);w.current=W,Y(W)},[X]);return Hf.useEffect(()=>{yMK();let W=RMK((Z)=>{$(!0),A(Z),V(`[keybindings] Reloaded: ${Z.bindings.length} bindings, ${Z.warnings.length} warnings`)});return()=>{W(),X()}},[X]),y($K_,{bindings:q,pendingChordRef:w,pendingChord:O,setPendingChord:P,activeContexts:f.current,registerActiveContext:j,unregisterActiveContext:J,handlerRegistryRef:M,children:[D(I$z,{bindings:q,pendingChordRef:w,setPendingChord:P,activeContexts:f.current,handlerRegistryRef:M}),_]})}function I$z(_){let q=T48.c(6),{bindings:K,pendingChordRef:A,setPendingChord:z,activeContexts:$,handlerRegistryRef:w}=_,O;if(q[0]!==$||q[1]!==K||q[2]!==w||q[3]!==A||q[4]!==z)O=(H,M,f)=>{if((M.wheelUp||M.wheelDown)&&A.current===null)return;let j=w.current,J=new Set;if(j)for(let Z of j.values())for(let G of Z)J.add(G.context);let X=[...J,...$,"Global"],P=A.current!==null,W=AK_(H,M,X,K,A.current);_:switch(W.type){case"chord_started":{z(W.pending),f.stopImmediatePropagation();break _}case"match":{if(z(null),P){let Z=new Set(X);if(j){let G=j.get(W.action);if(G&&G.size>0){for(let v of G)if(Z.has(v.context)){v.handler(),f.stopImmediatePropagation();break}}}}break _}case"chord_cancelled":{z(null),f.stopImmediatePropagation();break _}case"unbound":{z(null),f.stopImmediatePropagation();break _}case"none":}},q[0]=$,q[1]=K,q[2]=w,q[3]=A,q[4]=z,q[5]=O;else O=q[5];return uq(O),null}var T48,Hf,h$z=1000;var ZL=h(()=>{Qz();Q6();__();IC();CC();zK_();a();T48=A6(s6(),1),Hf=A6(a6(),1)});import{writeSync as Rv}from"fs";function N48(_=!1){if(!process.stdout.isTTY)return;try{Rv(1,Fb);let q=Y$.get(process.stdout);if(!_&&q?.isAltScreenActive)try{q.unmount()}catch{Rv(1,wA6)}else if(_&&q?.isAltScreenActive);if(q?.drainStdin(),q?.detachForShutdown(),Rv(1,Rn),Rv(1,Cb),Rv(1,mn),Rv(1,$A6),Rv(1,c0),Rv(1,Is6),db())Rv(1,HH(OA6));if(!C6(process.env.PUKU_CLI_DISABLE_TERMINAL_TITLE))if(process.platform==="win32")process.title="";else Rv(1,mFq)}catch{}}function V48(){if(wGK)return;if(process.stdout.isTTY&&VZ()&&!oP())try{let _=X_();if(!BV6(_))return;let q=Mf(_),K;if(q)K=`"${q.replace(/\\/g,"\\\\").replace(/"/g,"\\\"")}"`;else K=_;Rv(1,Y_.dim(`
2017
+ `)},onStatus:(H)=>{if(w)return;if(H.kind==="awaiting_code")K({status:"awaiting_code",url:H.url});else if(H.kind==="entering_code")z.current="",K({status:"entering_code",url:H.url,buffer:""});else if(H.kind==="exchanging")K({status:"exchanging"});else if(H.kind==="success")K({status:"success",email:H.user.email,name:H.user.name})},readCode:()=>new Promise((H,M)=>{rk.resolve=H,rk.reject=M})});if(w)return;await new Promise((H)=>setTimeout(H,600)),A.current(Y)}catch(Y){if(w)return;K({status:"error",message:Y instanceof Error?Y.message:String(Y)})}}return O(),()=>{w=!0,rk.reject?.(Error("Cancelled")),rk.resolve=null,rk.reject=null}},[]);if(q.status==="picking_method")return D(Rzz,{onContinue:$});return y(x,{flexDirection:"column",gap:1,paddingLeft:1,children:[D(Ezz,{state:q}),q.status==="entering_code"?D(Lzz,{bufferRef:z,setState:K}):null]})}function Rzz({onContinue:_}){return uq((q,K)=>{if(K.return||q===" ")_()}),y(x,{flexDirection:"column",gap:1,paddingLeft:1,children:[D(T,{children:"Puku CLI can be used with your Puku account"}),D(T,{bold:!0,children:"Select login method:"}),y(x,{flexDirection:"column",marginTop:1,children:[y(x,{children:[D(T,{color:"cyan",children:"❯ "}),D(T,{color:"rgb(196,93,255)",bold:!0,children:"Login using Puku Account"})]}),D(x,{paddingLeft:2,children:D(T,{dimColor:!0,children:"Continue with Google, Microsoft, or email on puku.sh"})})]}),D(T,{dimColor:!0,children:"Use ↑/↓ to choose, ↵ to continue."})]})}function Lzz({bufferRef:_,setState:q}){return uq((K,A)=>{if(A.return){let z=_.current.trim(),$=rk.resolve;if(rk.resolve=null,rk.reject=null,_.current="",$)$(z);if(z)q({status:"exchanging"});return}if(A.escape){let z=rk.reject;rk.resolve=null,rk.reject=null,_.current="",z?.(Error("Cancelled"));return}if(A.backspace||A.delete){_.current=_.current.slice(0,-1),q((z)=>z.status==="entering_code"?{...z,buffer:_.current}:z);return}if(K&&K.length>0){let z=K.replace(/\x1b\[200~/g,"");if(!z)return;_.current+=z,q(($)=>$.status==="entering_code"?{...$,buffer:_.current}:$)}}),null}function Ezz({state:_}){switch(_.status){case"picking_method":return null;case"awaiting_code":return y(x,{flexDirection:"column",gap:1,children:[y(x,{children:[D(eK,{}),D(T,{children:" Waiting for you to authorize in your browser…"})]}),D(T,{dimColor:!0,children:"Press Ctrl+C to cancel."}),y(x,{flexDirection:"column",marginTop:1,children:[D(T,{dimColor:!0,children:"Open this URL in your browser to continue:"}),D(T,{children:_.url}),D(T,{dimColor:!0,children:"A one-time code will appear on the page. Paste it below when ready."})]})]});case"entering_code":return y(x,{flexDirection:"column",gap:1,children:[y(x,{children:[D(eK,{}),D(T,{children:" Paste the one-time code from your browser:"})]}),y(x,{flexDirection:"column",marginTop:1,children:[D(T,{dimColor:!0,children:"If you have not opened the URL yet, visit:"}),D(T,{children:_.url})]}),y(x,{marginTop:1,children:[D(T,{dimColor:!0,children:"Paste, then press "}),D(T,{bold:!0,children:"↵"}),D(T,{dimColor:!0,children:" to confirm. "}),D(T,{bold:!0,children:"Esc"}),D(T,{dimColor:!0,children:" to cancel."})]}),y(x,{children:[D(T,{color:"cyan",children:"❯ "}),D(T,{children:_.buffer}),D(hzz,{})]})]});case"exchanging":return y(x,{children:[D(eK,{}),D(T,{children:" Verifying code for tokens…"})]});case"success":return y(x,{children:[D(T,{color:"green",children:"✓"}),y(T,{children:[" Signed in as ",_.email]})]});case"error":return y(x,{flexDirection:"column",gap:1,children:[y(x,{children:[D(T,{color:"error",children:"✗"}),y(T,{children:[" Authentication failed: ",_.message]})]}),D(T,{dimColor:!0,children:"Run /login to try again."})]})}}function hzz(){let[_,q]=PL.useState(!0);return PL.useEffect(()=>{let K=setInterval(()=>q((A)=>!A),500);return()=>clearInterval(K)},[]),D(T,{color:"cyan",children:_?"█":" "})}var PL,rk;var H48=h(()=>{Q6();Z9();E0();jw();a();PL=A6(a6(),1),rk={resolve:null,reject:null}});var M48;var WZK=h(()=>{s8();M48=b6(()=>R.object({restrictions:R.record(R.string(),R.object({allowed:R.boolean()}))}))});import{createHash as Szz}from"crypto";import{readFileSync as bzz}from"fs";import{unlink as ZZK,writeFile as Czz}from"fs/promises";import{join as Izz}from"path";function xzz(_){return _ instanceof Error}function GZK(){if(Jo)return;if(WL())Jo=new Promise((_)=>{HI=_,setTimeout(()=>{if(HI)V("Policy limits: Loading promise timed out, resolving anyway"),HI(),HI=null},gzz)})}function o4_(){return Izz(j8(),uzz)}function czz(){return`${Dq().BASE_API_URL}/api/claude_code/policy_limits`}function j48(_){if(Array.isArray(_))return _.map(j48);if(_!==null&&typeof _==="object"){let q={};for(let[K,A]of Object.entries(_).sort(([z],[$])=>z.localeCompare($)))q[K]=j48(A);return q}return _}function Bzz(_){let q=j48(_),K=x6(q);return`sha256:${Szz("sha256").update(K).digest("hex")}`}function WL(){if($8()!=="firstParty")return!1;if(!VM())return!1;try{let{key:q}=t3({skipRetrievingKeyFromApiKeyHelper:!0});if(q)return!0}catch{}let _=Iq();if(!_?.accessToken)return!1;if(!_.scopes?.includes(SV))return!1;if(_.subscriptionType!=="enterprise"&&_.subscriptionType!=="team")return!1;return!0}async function s4_(){if(Jo)await Jo}function Uzz(){try{let{key:q}=t3({skipRetrievingKeyFromApiKeyHelper:!0});if(q)return{headers:{"x-api-key":q}}}catch{}let _=Iq();if(_?.accessToken)return{headers:{Authorization:`Bearer ${_.accessToken}`,"anthropic-beta":r1}};return{headers:{},error:"No authentication available"}}async function Fzz(_){let q=null;for(let K=1;K<=f48+1;K++){if(q=await dzz(_),q.success)return q;if(q.skipRetry)return q;if(K>f48)return q;let A=VR(K);V(`Policy limits: Retry ${K}/${f48} after ${A}ms`),await Qq(A)}return q}async function dzz(_){try{await lO();let q=Uzz();if(q.error)return{success:!1,error:"Authentication required for policy limits",skipRetry:!0};let K=czz(),A={...q.headers,"User-Agent":VY()};if(_)A["If-None-Match"]=`"${_}"`;let z=await z8.get(K,{headers:A,timeout:pzz,validateStatus:(w)=>w===200||w===304||w===404});if(z.status===304)return V("Policy limits: Using cached restrictions (304)"),{success:!0,restrictions:null,etag:_};if(z.status===404)return V("Policy limits: No restrictions found (404)"),{success:!0,restrictions:{},etag:void 0};let $=M48().safeParse(z.data);if(!$.success)return V(`Policy limits: Invalid response format - ${$.error.message}`),{success:!1,error:"Invalid policy limits format"};return V("Policy limits: Fetched successfully"),{success:!0,restrictions:$.data.restrictions}}catch(q){let{kind:K,message:A}=Lf6(q);switch(K){case"auth":return{success:!1,error:"Not authorized for policy limits",skipRetry:!0};case"timeout":return{success:!1,error:"Policy limits request timeout"};case"network":return{success:!1,error:"Cannot connect to server"};default:return{success:!1,error:A}}}}function vZK(){try{let _=bzz(o4_(),"utf-8"),q=$4(_,!1),K=M48().safeParse(q);if(!K.success)return null;return K.data.restrictions}catch{return null}}async function Qzz(_){try{let q=o4_();await Czz(q,x6({restrictions:_},null,2),{encoding:"utf-8",mode:384}),V(`Policy limits: Saved to ${q}`)}catch(q){V(`Policy limits: Failed to save - ${q instanceof Error?q.message:"unknown error"}`)}}async function J48(){if(!WL())return null;let _=vZK(),q=_?Bzz(_):void 0;try{let K=await Fzz(q);if(!K.success){if(_)return V("Policy limits: Using stale cache after fetch failure"),VD=_,_;return null}if(K.restrictions===null&&_)return V("Policy limits: Cache still valid (304 Not Modified)"),VD=_,_;let A=K.restrictions||{};if(Object.keys(A).length>0)return VD=A,await Qzz(A),V("Policy limits: Applied new restrictions successfully"),A;VD=A;try{await ZZK(o4_()),V("Policy limits: Deleted cached file (404 response)")}catch($){if(xzz($)&&$.code!=="ENOENT")V(`Policy limits: Failed to delete cached file - ${$.message}`)}return A}catch{if(_)return V("Policy limits: Using stale cache after error"),VD=_,_;return null}}function uY(_){let q=izz();if(!q){if(V3()&&lzz.has(_))return!1;return!0}let K=q[_];if(!K)return!0;return K.allowed}function izz(){if(!WL())return null;if(VD)return VD;let _=vZK();if(_)return VD=_,_;return null}async function TZK(){if(WL()&&!Jo)Jo=new Promise((_)=>{HI=_});try{if(await J48(),WL())rzz()}finally{if(HI)HI(),HI=null}}async function t4_(){if(await X48(),!WL())return;await J48(),V("Policy limits: Refreshed after auth change")}async function X48(){kZK(),VD=null,Jo=null,HI=null;try{await ZZK(o4_())}catch{}}async function nzz(){if(!WL())return;let _=VD?x6(VD):null;try{if(await J48(),(VD?x6(VD):null)!==_)V("Policy limits: Changed during background poll")}catch{}}function rzz(){if(C36!==null)return;if(!WL())return;if(C36=setInterval(()=>{nzz()},mzz),C36.unref(),!DZK)DZK=!0,Uq(async()=>kZK())}function kZK(){if(C36!==null)clearInterval(C36),C36=null}var uzz="policy-limits.json",pzz=1e4,f48=5,mzz=3600000,C36=null,DZK=!1,Jo=null,HI=null,gzz=30000,VD=null,lzz;var yD=h(()=>{U7();i4();Kq();rA();__();R_();W_();r3();F7();m_();hc();WZK();lzz=new Set(["allow_product_feedback"])});import{randomBytes as ozz}from"crypto";import{basename as szz,extname as tzz,isAbsolute as ezz,join as P48}from"path";function _$z(){let _=NZK.map((q)=>q.replace("/","\\/")).join("|");return`xclip -selection clipboard -t TARGETS -o 2>/dev/null | grep -E "${_}" || wl-paste -l 2>/dev/null | grep -E "${_}"`}function q$z(_){return NZK.flatMap((q)=>[`xclip -selection clipboard -t ${q} -o > "${_}" 2>/dev/null`,`wl-paste --type ${q} > "${_}" 2>/dev/null`]).join(" || ")}function VZK(){let _=process.platform,q=process.env.PUKU_CODE_TMPDIR||(_==="win32"?process.env.TEMP||"C:\\Temp":"/tmp"),K="puku_cli_latest_screenshot.png",A={darwin:P48(q,"puku_cli_latest_screenshot.png"),linux:P48(q,"puku_cli_latest_screenshot.png"),win32:P48(q,"puku_cli_latest_screenshot.png")},z=A[_]||A.linux,$={darwin:{checkImage:"osascript -e 'the clipboard as «class PNGf»'",saveImage:`osascript -e 'set png_data to (the clipboard as «class PNGf»)' -e 'set fp to open for access POSIX file "${z}" with write permission' -e 'write png_data to fp' -e 'close access fp'`,getPath:"osascript -e 'get POSIX path of (the clipboard as «class furl»)'",deleteFile:`rm -f "${z}"`},linux:{checkImage:_$z(),saveImage:q$z(z),getPath:"xclip -selection clipboard -t text/plain -o 2>/dev/null || wl-paste 2>/dev/null",deleteFile:`rm -f "${z}"`},win32:{checkImage:'powershell -NoProfile -Command "(Get-Clipboard -Format Image) -ne $null"',saveImage:`powershell -NoProfile -Command "$img = Get-Clipboard -Format Image; if ($img) { $img.Save('${z.replace(/\\/g,"\\\\")}', [System.Drawing.Imaging.ImageFormat]::Png) }"`,getPath:'powershell -NoProfile -Command "Get-Clipboard"',deleteFile:`del /f "${z}"`}};return{commands:$[_]||$.linux,screenshotPath:z}}async function yZK(){if(process.platform!=="darwin")return!1;return(await g8("osascript",["-e","the clipboard as «class PNGf»"])).code===0}async function I36(){let{commands:_,screenshotPath:q}=VZK();try{if((await zz(_.checkImage,{shell:!0,reject:!1})).exitCode!==0)return null;if((await zz(_.saveImage,{shell:!0,reject:!1})).exitCode!==0)return null;let z=K_().readFileBytesSync(q);if(z.length>=2&&z[0]===66&&z[1]===77)z=await(await m56())(z).png().toBuffer();let $=await eG(z,z.length,"png"),w=$.buffer.toString("base64"),O=z06(w);return zz(_.deleteFile,{shell:!0,reject:!1}),{base64:w,mediaType:O,dimensions:$.dimensions}}catch{return null}}async function K$z(){let{commands:_}=VZK();try{let q=await zz(_.getPath,{shell:!0,reject:!1});if(q.exitCode!==0||!q.stdout)return null;return q.stdout.trim()}catch(q){return K6(q),null}}function RZK(_){if(_.startsWith('"')&&_.endsWith('"')||_.startsWith("'")&&_.endsWith("'"))return _.slice(1,-1);return _}function LZK(_){if(process.platform==="win32")return _;let A=`__DOUBLE_BACKSLASH_${ozz(8).toString("hex")}__`;return _.replace(/\\\\/g,A).replace(/\\(.)/g,"$1").replace(new RegExp(A,"g"),"\\")}function qA_(_){let q=RZK(_.trim()),K=LZK(q);return _A_.test(K)}function A$z(_){let q=RZK(_.trim()),K=LZK(q);if(_A_.test(K))return K;return null}async function EZK(_){let q=A$z(_);if(!q)return null;let K=q,A;try{if(ezz(K))A=K_().readFileBytesSync(K);else{let Y=await K$z();if(Y&&K===szz(Y))A=K_().readFileBytesSync(Y)}}catch(Y){return K6(Y),null}if(!A)return null;if(A.length===0)return V(`Image file is empty: ${K}`,{level:"warn"}),null;if(A.length>=2&&A[0]===66&&A[1]===77)A=await(await m56())(A).png().toBuffer();let z=tzz(K).slice(1).toLowerCase()||"png",$=await eG(A,A.length,z),w=$.buffer.toString("base64"),O=z06(w);return{path:K,base64:w,mediaType:O,dimensions:$.dimensions}}var e4_=800,NZK,_A_;var x36=h(()=>{qM();Ht_();__();H7();o8();OD();D_();NZK=["image/png","image/jpeg","image/jpg","image/gif","image/webp","image/bmp"];_A_=/\.(png|jpe?g|gif|webp)$/i});import{mkdir as z$z,open as $$z}from"fs/promises";import{join as KA_}from"path";function SZK(){return KA_(j8(),hZK,X_())}async function O$z(){let _=SZK();await z$z(_,{recursive:!0})}function bZK(_,q){let K=q.split("/")[1]||"png";return KA_(SZK(),`${_}.${K}`)}function u36(_){if(_.type!=="image")return null;let q=bZK(_.id,_.mediaType||"image/png");return xZK(),Xo.set(_.id,q),q}async function Po(_){if(_.type!=="image")return null;try{await O$z();let q=bZK(_.id,_.mediaType||"image/png"),K=await $$z(q,"w",384);try{await K.writeFile(_.content,{encoding:"base64"}),await K.datasync()}finally{await K.close()}return xZK(),Xo.set(_.id,q),V(`Stored image ${_.id} to ${q}`),q}catch(q){return V(`Failed to store image: ${q}`),null}}async function CZK(_){let q=new Map;for(let[K,A]of Object.entries(_))if(A.type==="image"){let z=await Po(A);if(z)q.set(Number(K),z)}return q}function AA_(_){return Xo.get(_)??null}function IZK(){Xo.clear()}function xZK(){while(Xo.size>=w$z){let _=Xo.keys().next().value;if(_!==void 0)Xo.delete(_);else break}}async function uZK(){let _=K_(),q=KA_(j8(),hZK),K=X_();try{let A;try{A=await _.readdir(q)}catch{return}for(let z of A){if(z.name===K)continue;let $=KA_(q,z.name);try{await _.rm($,{recursive:!0,force:!0}),V(`Cleaned up old image cache: ${$}`)}catch{}}try{if((await _.readdir(q)).length===0)await _.rmdir(q)}catch{}}catch{}}var hZK="image-cache",w$z=200,Xo;var MI=h(()=>{J_();__();R_();o8();Xo=new Map});import{pathToFileURL as Y$z}from"url";function mZK(_){let q=pZK.c(13),{imageId:K,backgroundColor:A,isSelected:z}=_,$=z===void 0?!1:z,w=AA_(K),O=`[Image #${K}]`;if(w&&b2()){let H=Y$z(w).href,M,f;if(q[0]!==A||q[1]!==O||q[2]!==$)M=D(T,{backgroundColor:A,inverse:$,children:O}),f=D(T,{backgroundColor:A,inverse:$,bold:$,children:O}),q[0]=A,q[1]=O,q[2]=$,q[3]=M,q[4]=f;else M=q[3],f=q[4];let j;if(q[5]!==H||q[6]!==M||q[7]!==f)j=D(cq,{url:H,fallback:M,children:f}),q[5]=H,q[6]=M,q[7]=f,q[8]=j;else j=q[8];return j}let Y;if(q[9]!==A||q[10]!==O||q[11]!==$)Y=D(T,{backgroundColor:A,inverse:$,children:O}),q[9]=A,q[10]=O,q[11]=$,q[12]=Y;else Y=q[12];return Y}var pZK;var gZK=h(()=>{nn();rb();Q6();MI();a();pZK=A6(s6(),1)});function p36({line:_,column:q,active:K}){let A=fI.useContext(cs6),z=fI.useRef(null),$=fI.useCallback((w)=>{z.current=w},[]);return fI.useLayoutEffect(()=>{let w=z.current;if(K&&w)A({relativeX:q,relativeY:_,node:w});else A(null,w)}),fI.useLayoutEffect(()=>{return()=>{A(null,z.current)}},[A]),$}var fI;var zA_=h(()=>{bn_();fI=A6(a6(),1)});function m36(_){let q=cZK.c(32),{isFocused:K,isSelected:A,children:z,description:$,showScrollDown:w,showScrollUp:O,styled:Y,disabled:H,declareCursor:M}=_,f=A===void 0?!1:A,j=Y===void 0?!0:Y,J=H===void 0?!1:H,X;if(q[0]!==J||q[1]!==K||q[2]!==w||q[3]!==O)X=function(){if(J)return D(T,{children:" "});if(K)return D(T,{color:"suggestion",children:n6.pointer});if(w)return D(T,{dimColor:!0,children:n6.arrowDown});if(O)return D(T,{dimColor:!0,children:n6.arrowUp});return D(T,{children:" "})},q[0]=J,q[1]=K,q[2]=w,q[3]=O,q[4]=X;else X=q[4];let P=X,W;if(q[5]!==J||q[6]!==K||q[7]!==f||q[8]!==j)W=function(){if(J)return"inactive";if(!j)return;if(f)return"success";if(K)return"suggestion"}(),q[5]=J,q[6]=K,q[7]=f,q[8]=j,q[9]=W;else W=q[9];let Z=W,G=K&&!J&&M!==!1,v;if(q[10]!==G)v={line:0,column:0,active:G},q[10]=G,q[11]=v;else v=q[11];let k=p36(v),N;if(q[12]!==P)N=P(),q[12]=P,q[13]=N;else N=q[13];let L;if(q[14]!==z||q[15]!==J||q[16]!==j||q[17]!==Z)L=j?D(T,{color:Z,dimColor:J,children:z}):z,q[14]=z,q[15]=J,q[16]=j,q[17]=Z,q[18]=L;else L=q[18];let b;if(q[19]!==J||q[20]!==f)b=f&&!J&&D(T,{color:"success",children:n6.tick}),q[19]=J,q[20]=f,q[21]=b;else b=q[21];let C;if(q[22]!==b||q[23]!==N||q[24]!==L)C=y(x,{flexDirection:"row",gap:1,children:[N,L,b]}),q[22]=b,q[23]=N,q[24]=L,q[25]=C;else C=q[25];let I;if(q[26]!==$)I=$&&D(x,{paddingLeft:2,children:D(T,{color:"inactive",children:$})}),q[26]=$,q[27]=I;else I=q[27];let p;if(q[28]!==k||q[29]!==C||q[30]!==I)p=y(x,{ref:k,flexDirection:"column",children:[C,I]}),q[28]=k,q[29]=C,q[30]=I,q[31]=p;else p=q[31];return p}var cZK;var $A_=h(()=>{Lq();zA_();Q6();a();cZK=A6(s6(),1)});function iB(_){let q=BZK.c(8),{isFocused:K,isSelected:A,children:z,description:$,shouldShowDownArrow:w,shouldShowUpArrow:O,declareCursor:Y}=_,H;if(q[0]!==z||q[1]!==Y||q[2]!==$||q[3]!==K||q[4]!==A||q[5]!==w||q[6]!==O)H=D(m36,{isFocused:K,isSelected:A,description:$,showScrollDown:w,showScrollUp:O,styled:!1,declareCursor:Y,children:z}),q[0]=z,q[1]=Y,q[2]=$,q[3]=K,q[4]=A,q[5]=w,q[6]=O,q[7]=H;else H=q[7];return H}var BZK;var wA_=h(()=>{$A_();a();BZK=A6(s6(),1)});function g36(_){let q=UZK.c(100),{option:K,isFocused:A,isSelected:z,shouldShowDownArrow:$,shouldShowUpArrow:w,maxIndexWidth:O,index:Y,inputValue:H,onInputChange:M,onSubmit:f,onExit:j,layout:J,children:X,showLabel:P,onOpenEditor:W,resetCursorOnUpdate:Z,onImagePaste:G,pastedContents:v,onRemoveImage:k,imagesSelected:N,selectedImageIndex:L,onImagesSelectedChange:b,onSelectedImageIndexChange:C}=_,I=P===void 0?!1:P,p=Z===void 0?!1:Z,m=L===void 0?0:L,g;if(q[0]!==v)g=v?Object.values(v).filter(H$z):[],q[0]=v,q[1]=g;else g=q[1];let c=g,u=I||K.showLabelWithValue===!0,[U,F]=Wo.useState(H.length),Q=Wo.useRef(!1),o;if(q[2]!==H.length||q[3]!==A||q[4]!==p)o=()=>{if(p&&A)if(Q.current)Q.current=!1;else F(H.length)},q[2]=H.length,q[3]=A,q[4]=p,q[5]=o;else o=q[5];let z6;if(q[6]!==H||q[7]!==A||q[8]!==p)z6=[p,A,H],q[6]=H,q[7]=A,q[8]=p,q[9]=z6;else z6=q[9];Wo.useEffect(o,z6);let t;if(q[10]!==H||q[11]!==M||q[12]!==W)t=()=>{W?.(H,M)},q[10]=H,q[11]=M,q[12]=W,q[13]=t;else t=q[13];let e=A&&!!W,s;if(q[14]!==e)s={context:"Chat",isActive:e},q[14]=e,q[15]=s;else s=q[15];U_("chat:externalEditor",t,s);let n;if(q[16]!==G)n=()=>{if(!G)return;I36().then((k6)=>{if(k6)G(k6.base64,k6.mediaType,void 0,k6.dimensions)})},q[16]=G,q[17]=n;else n=q[17];let r=A&&!!G,M6;if(q[18]!==r)M6={context:"Chat",isActive:r},q[18]=r,q[19]=M6;else M6=q[19];U_("chat:imagePaste",n,M6);let _6;if(q[20]!==c||q[21]!==k)_6=()=>{if(c.length>0&&k)k(c.at(-1).id)},q[20]=c,q[21]=k,q[22]=_6;else _6=q[22];let J6=A&&!N&&H===""&&c.length>0&&!!k,w6;if(q[23]!==J6)w6={context:"Attachments",isActive:J6},q[23]=J6,q[24]=w6;else w6=q[24];U_("attachments:remove",_6,w6);let f6,$6;if(q[25]!==c.length||q[26]!==C||q[27]!==m)f6=()=>{if(c.length>1)C?.((m+1)%c.length)},$6=()=>{if(c.length>1)C?.((m-1+c.length)%c.length)},q[25]=c.length,q[26]=C,q[27]=m,q[28]=f6,q[29]=$6;else f6=q[28],$6=q[29];let H6;if(q[30]!==c||q[31]!==b||q[32]!==k||q[33]!==C||q[34]!==m)H6=()=>{let k6=c[m];if(k6&&k)if(k(k6.id),c.length<=1)b?.(!1);else C?.(Math.min(m,c.length-2))},q[30]=c,q[31]=b,q[32]=k,q[33]=C,q[34]=m,q[35]=H6;else H6=q[35];let q6;if(q[36]!==b)q6=()=>{b?.(!1)},q[36]=b,q[37]=q6;else q6=q[37];let Y6;if(q[38]!==f6||q[39]!==$6||q[40]!==H6||q[41]!==q6)Y6={"attachments:next":f6,"attachments:previous":$6,"attachments:remove":H6,"attachments:exit":q6},q[38]=f6,q[39]=$6,q[40]=H6,q[41]=q6,q[42]=Y6;else Y6=q[42];let v6=A&&!!N,m6;if(q[43]!==v6)m6={context:"Attachments",isActive:v6},q[43]=v6,q[44]=m6;else m6=q[44];jq(Y6,m6);let S6;if(q[45]!==b)S6=(k6,I6)=>{if(I6.upArrow)b?.(!1)},q[45]=b,q[46]=S6;else S6=q[46];let c6=A&&!!N,l6;if(q[47]!==c6)l6={isActive:c6},q[47]=c6,q[48]=l6;else l6=q[48];uq(S6,l6);let h6,L6;if(q[49]!==N||q[50]!==A||q[51]!==b)h6=()=>{if(!A&&N)b?.(!1)},L6=[A,N,b],q[49]=N,q[50]=A,q[51]=b,q[52]=h6,q[53]=L6;else h6=q[52],L6=q[53];Wo.useEffect(h6,L6);let W6=J==="expanded"?O+3:O+4,X6=J==="compact"?0:void 0,F6=`${Y}.`,d6;if(q[54]!==O||q[55]!==F6)d6=F6.padEnd(O+2),q[54]=O,q[55]=F6,q[56]=d6;else d6=q[56];let V6;if(q[57]!==d6)V6=D(T,{dimColor:!0,children:d6}),q[57]=d6,q[58]=V6;else V6=q[58];let y6;if(q[59]!==U||q[60]!==N||q[61]!==H||q[62]!==A||q[63]!==j||q[64]!==G||q[65]!==M||q[66]!==f||q[67]!==K||q[68]!==u)y6=u?y(q_,{children:[D(T,{color:A?"suggestion":void 0,children:K.label}),A?y(q_,{children:[D(T,{color:"suggestion",children:K.labelValueSeparator??", "}),D(IA,{value:H,onChange:(k6)=>{Q.current=!0,M(k6),K.onChange(k6)},onSubmit:f,onExit:j,placeholder:K.placeholder,focus:!N,showCursor:!0,multiline:!0,cursorOffset:U,onChangeCursorOffset:F,columns:80,onImagePaste:G,onPaste:(k6)=>{Q.current=!0;let I6=H.slice(0,U),o6=H.slice(U),U6=I6+k6+o6;M(U6),K.onChange(U6),F(I6.length+k6.length)}})]}):H&&y(T,{children:[K.labelValueSeparator??", ",H]})]}):A?D(IA,{value:H,onChange:(k6)=>{Q.current=!0,M(k6),K.onChange(k6)},onSubmit:f,onExit:j,placeholder:K.placeholder||(typeof K.label==="string"?K.label:void 0),focus:!N,showCursor:!0,multiline:!0,cursorOffset:U,onChangeCursorOffset:F,columns:80,onImagePaste:G,onPaste:(k6)=>{Q.current=!0;let I6=H.slice(0,U),o6=H.slice(U),U6=I6+k6+o6;M(U6),K.onChange(U6),F(I6.length+k6.length)}}):D(T,{color:H?void 0:"inactive",children:H||K.placeholder||K.label}),q[59]=U,q[60]=N,q[61]=H,q[62]=A,q[63]=j,q[64]=G,q[65]=M,q[66]=f,q[67]=K,q[68]=u,q[69]=y6;else y6=q[69];let u6;if(q[70]!==X||q[71]!==X6||q[72]!==V6||q[73]!==y6)u6=y(x,{flexDirection:"row",flexShrink:X6,children:[V6,X,y6]}),q[70]=X,q[71]=X6,q[72]=V6,q[73]=y6,q[74]=u6;else u6=q[74];let D6;if(q[75]!==A||q[76]!==z||q[77]!==$||q[78]!==w||q[79]!==u6)D6=D(iB,{isFocused:A,isSelected:z,shouldShowDownArrow:$,shouldShowUpArrow:w,declareCursor:!1,children:u6}),q[75]=A,q[76]=z,q[77]=$,q[78]=w,q[79]=u6,q[80]=D6;else D6=q[80];let G6;if(q[81]!==W6||q[82]!==A||q[83]!==z||q[84]!==K.description||q[85]!==K.dimDescription)G6=K.description&&D(x,{paddingLeft:W6,children:D(T,{dimColor:K.dimDescription!==!1,color:z?"success":A?"suggestion":void 0,children:K.description})}),q[81]=W6,q[82]=A,q[83]=z,q[84]=K.description,q[85]=K.dimDescription,q[86]=G6;else G6=q[86];let j6;if(q[87]!==W6||q[88]!==c||q[89]!==N||q[90]!==A||q[91]!==m)j6=c.length>0&&y(x,{flexDirection:"row",gap:1,paddingLeft:W6,children:[c.map((k6,I6)=>D(mZK,{imageId:k6.id,isSelected:!!N&&I6===m},k6.id)),D(x,{flexGrow:1,justifyContent:"flex-start",flexDirection:"row",children:D(T,{dimColor:!0,children:N?y(w8,{children:[c.length>1&&y(q_,{children:[D(F_,{action:"attachments:next",context:"Attachments",fallback:"→",description:"next"}),D(F_,{action:"attachments:previous",context:"Attachments",fallback:"←",description:"prev"})]}),D(F_,{action:"attachments:remove",context:"Attachments",fallback:"backspace",description:"remove"}),D(F_,{action:"attachments:exit",context:"Attachments",fallback:"esc",description:"cancel"})]}):A?"(↓ to select)":null})})]}),q[87]=W6,q[88]=c,q[89]=N,q[90]=A,q[91]=m,q[92]=j6;else j6=q[92];let T6;if(q[93]!==J)T6=J==="expanded"&&D(T,{children:" "}),q[93]=J,q[94]=T6;else T6=q[94];let R6;if(q[95]!==D6||q[96]!==G6||q[97]!==j6||q[98]!==T6)R6=y(x,{flexDirection:"column",flexShrink:0,children:[D6,G6,j6,T6]}),q[95]=D6,q[96]=G6,q[97]=j6,q[98]=T6,q[99]=R6;else R6=q[99];return R6}function H$z(_){return _.type==="image"}var UZK,Wo;var W48=h(()=>{Q6();$q();x36();gZK();c7();aK();T9();wA_();a();UZK=A6(s6(),1),Wo=A6(a6(),1)});function k9(_,q){let K=FZK.c(8),A=q===void 0?!0:q,$=c36.useContext(mV6)?.setState,w,O;if(K[0]!==A||K[1]!==_||K[2]!==$)w=()=>{if(!A||!$)return;return $((M)=>{if(M.activeOverlays.has(_))return M;let f=new Set(M.activeOverlays);return f.add(_),{...M,activeOverlays:f}}),()=>{$((M)=>{if(!M.activeOverlays.has(_))return M;let f=new Set(M.activeOverlays);return f.delete(_),{...M,activeOverlays:f}})}},O=[_,A,$],K[0]=A,K[1]=_,K[2]=$,K[3]=w,K[4]=O;else w=K[3],O=K[4];c36.useEffect(w,O);let Y,H;if(K[5]!==A)Y=()=>{if(!A)return;return f$z},H=[A],K[5]=A,K[6]=Y,K[7]=H;else Y=K[6],H=K[7];c36.useLayoutEffect(Y,H)}function f$z(){return Y$.get(process.stdout)?.invalidatePrevFrame()}function dZK(){return z_(j$z)}function j$z(_){return _.activeOverlays.size>0}function B36(){return z_(J$z)}function J$z(_){for(let q of _.activeOverlays)if(!M$z.has(q))return!0;return!1}var FZK,c36,M$z;var e2=h(()=>{MX();c8();FZK=A6(s6(),1),c36=A6(a6(),1),M$z=new Set(["autocomplete"])});var OA_;var QZK=h(()=>{OA_=class OA_ extends Map{first;last;constructor(_){let q=[],K,A,z,$=0;for(let w of _){let O={label:w.label,value:w.value,description:w.description,previous:z,next:void 0,index:$};if(z)z.next=O;K||=O,A=O,q.push([w.value,O]),$++,z=O}super(q);this.first=K,this.last=A}}});import{isDeepStrictEqual as X$z}from"util";function YA_({visibleOptionCount:_=5,options:q,initialFocusValue:K,onFocus:A,focusValue:z}){let[$,w]=N9.useReducer(P$z,{visibleOptionCount:_,options:q,initialFocusValue:z||K},lZK),O=N9.useRef(A);O.current=A;let[Y,H]=N9.useState(q);if(q!==Y&&!X$z(q,Y))w({type:"reset",state:lZK({visibleOptionCount:_,options:q,initialFocusValue:z??$.focusedValue??K,currentViewport:{visibleFromIndex:$.visibleFromIndex,visibleToIndex:$.visibleToIndex}})}),H(q);let M=N9.useCallback(()=>{w({type:"focus-next-option"})},[]),f=N9.useCallback(()=>{w({type:"focus-previous-option"})},[]),j=N9.useCallback(()=>{w({type:"focus-next-page"})},[]),J=N9.useCallback(()=>{w({type:"focus-previous-page"})},[]),X=N9.useCallback((v)=>{if(v!==void 0)w({type:"set-focus",value:v})},[]),P=N9.useMemo(()=>{return q.map((v,k)=>({...v,index:k})).slice($.visibleFromIndex,$.visibleToIndex)},[q,$.visibleFromIndex,$.visibleToIndex]),W=N9.useMemo(()=>{if($.focusedValue===void 0)return;if(q.some((k)=>k.value===$.focusedValue))return $.focusedValue;return q[0]?.value},[$.focusedValue,q]),Z=N9.useMemo(()=>{return q.find((k)=>k.value===W)?.type==="input"},[W,q]);N9.useEffect(()=>{if(W!==void 0)O.current?.(W)},[W]),N9.useEffect(()=>{if(z!==void 0)w({type:"set-focus",value:z})},[z]);let G=N9.useMemo(()=>{if(W===void 0)return 0;let v=q.findIndex((k)=>k.value===W);return v>=0?v+1:0},[W,q]);return{focusedValue:W,focusedIndex:G,visibleFromIndex:$.visibleFromIndex,visibleToIndex:$.visibleToIndex,visibleOptions:P,isInInput:Z??!1,focusNextOption:M,focusPreviousOption:f,focusNextPage:j,focusPreviousPage:J,focusOption:X,options:q}}var N9,P$z=(_,q)=>{switch(q.type){case"focus-next-option":{if(_.focusedValue===void 0)return _;let K=_.optionMap.get(_.focusedValue);if(!K)return _;if(K.next){if(!(K.next.index>=_.visibleToIndex))return{..._,focusedValue:K.next.value};let $=Math.min(_.optionMap.size,_.visibleToIndex+1),w=$-_.visibleOptionCount;return{..._,focusedValue:K.next.value,visibleFromIndex:w,visibleToIndex:$}}let A=_.optionMap.first;if(!A)return _;return{..._,focusedValue:A.value,visibleFromIndex:0,visibleToIndex:_.visibleOptionCount}}case"focus-previous-option":{if(_.focusedValue===void 0)return _;let K=_.optionMap.get(_.focusedValue);if(!K)return _;if(K.previous){if(!(K.previous.index<_.visibleFromIndex))return{..._,focusedValue:K.previous.value};let O=Math.max(0,_.visibleFromIndex-1),Y=O+_.visibleOptionCount;return{..._,focusedValue:K.previous.value,visibleFromIndex:O,visibleToIndex:Y}}let A=_.optionMap.last;if(!A)return _;let z=_.optionMap.size,$=Math.max(0,z-_.visibleOptionCount);return{..._,focusedValue:A.value,visibleFromIndex:$,visibleToIndex:z}}case"focus-next-page":{if(_.focusedValue===void 0)return _;let K=_.optionMap.get(_.focusedValue);if(!K)return _;let A=Math.min(_.optionMap.size-1,K.index+_.visibleOptionCount),z=_.optionMap.first;while(z&&z.index<A)if(z.next)z=z.next;else break;if(!z)return _;let $=Math.min(_.optionMap.size,z.index+1),w=Math.max(0,$-_.visibleOptionCount);return{..._,focusedValue:z.value,visibleFromIndex:w,visibleToIndex:$}}case"focus-previous-page":{if(_.focusedValue===void 0)return _;let K=_.optionMap.get(_.focusedValue);if(!K)return _;let A=Math.max(0,K.index-_.visibleOptionCount),z=_.optionMap.first;while(z&&z.index<A)if(z.next)z=z.next;else break;if(!z)return _;let $=Math.max(0,z.index),w=Math.min(_.optionMap.size,$+_.visibleOptionCount);return{..._,focusedValue:z.value,visibleFromIndex:$,visibleToIndex:w}}case"reset":return q.state;case"set-focus":{if(_.focusedValue===q.value)return _;let K=_.optionMap.get(q.value);if(!K)return _;if(K.index>=_.visibleFromIndex&&K.index<_.visibleToIndex)return{..._,focusedValue:q.value};let A,z;if(K.index<_.visibleFromIndex)A=K.index,z=Math.min(_.optionMap.size,A+_.visibleOptionCount);else z=Math.min(_.optionMap.size,K.index+1),A=Math.max(0,z-_.visibleOptionCount);return{..._,focusedValue:q.value,visibleFromIndex:A,visibleToIndex:z}}}},lZK=({visibleOptionCount:_,options:q,initialFocusValue:K,currentViewport:A})=>{let z=typeof _==="number"?Math.min(_,q.length):q.length,$=new OA_(q),w=K!==void 0&&$.get(K),O=w?K:$.first?.value,Y=0,H=z;if(w){let M=w.index;if(A)if(M>=A.visibleFromIndex&&M<A.visibleToIndex)Y=A.visibleFromIndex,H=Math.min($.size,A.visibleToIndex);else if(M<A.visibleFromIndex)Y=M,H=Math.min($.size,Y+z);else H=Math.min($.size,M+1),Y=Math.max(0,H-z);else if(M>=z)H=Math.min($.size,M+1),Y=Math.max(0,H-z);Y=Math.max(0,Math.min(Y,$.size-1)),H=Math.min($.size,Math.max(z,H))}return{optionMap:$,visibleOptionCount:z,focusedValue:O,visibleFromIndex:Y,visibleToIndex:H}};var D48=h(()=>{QZK();N9=A6(a6(),1)});import{isDeepStrictEqual as W$z}from"util";function iZK({isDisabled:_=!1,visibleOptionCount:q=5,options:K,defaultValue:A=[],onChange:z,onCancel:$,onFocus:w,focusValue:O,submitButtonText:Y,onSubmit:H,onDownFromLastItem:M,onUpFromFirstItem:f,initialFocusLast:j,hideIndexes:J=!1}){let[X,P]=nB.useState(A),[W,Z]=nB.useState(!1),[G,v]=nB.useState(K);if(K!==G&&!W$z(K,G))P(A),v(K);let[k,N]=nB.useState(()=>{let I=new Map;return K.forEach((p)=>{if(p.type==="input"&&p.initialValue)I.set(p.value,p.initialValue)}),I}),L=nB.useCallback((I)=>{let p=typeof I==="function"?I(X):I;P(p),z?.(p)},[X,z]),b=YA_({visibleOptionCount:q,options:K,initialFocusValue:j?K[K.length-1]?.value:void 0,onFocus:w,focusValue:O});k9("multi-select");let C=nB.useCallback((I,p)=>{N((g)=>{let c=new Map(g);return c.set(I,p),c});let m=K.find((g)=>g.value===I);if(m&&m.type==="input")m.onChange(p);L((g)=>{if(p){if(!g.includes(I))return[...g,I];return g}else return g.filter((c)=>c!==I)})},[K,L]);return uq((I,p,m)=>{let g=BQ(I),u=K.find((F)=>F.value===b.focusedValue)?.type==="input";if(u){if(!(p.upArrow||p.downArrow||p.escape||p.tab||p.return||p.ctrl&&(I==="n"||I==="p"||p.return)))return}let U=K[K.length-1]?.value;if(p.tab&&!p.shift){if(Y&&H&&b.focusedValue===U&&!W)Z(!0);else if(!W)b.focusNextOption();return}if(p.tab&&p.shift){if(Y&&H&&W)Z(!1),b.focusOption(U);else b.focusPreviousOption();return}if(p.downArrow||p.ctrl&&I==="n"||!p.ctrl&&!p.shift&&I==="j"){if(W&&M)M();else if(Y&&H&&b.focusedValue===U&&!W)Z(!0);else if(!Y&&M&&b.focusedValue===U)M();else if(!W)b.focusNextOption();return}if(p.upArrow||p.ctrl&&I==="p"||!p.ctrl&&!p.shift&&I==="k"){if(Y&&H&&W)Z(!1),b.focusOption(U);else if(f&&b.focusedValue===K[0]?.value)f();else b.focusPreviousOption();return}if(p.pageDown){b.focusNextPage();return}if(p.pageUp){b.focusPreviousPage();return}if(p.return||am6(I)===" "){if(p.ctrl&&p.return&&u&&H){H(X);return}if(W&&H){H(X);return}if(p.return&&!Y&&H){H(X);return}if(b.focusedValue!==void 0){let F=X.includes(b.focusedValue)?X.filter((Q)=>Q!==b.focusedValue):[...X,b.focusedValue];L(F)}return}if(!J&&/^[0-9]+$/.test(g)){let F=parseInt(g)-1;if(F>=0&&F<K.length){let Q=K[F].value,o=X.includes(Q)?X.filter((z6)=>z6!==Q):[...X,Q];L(o)}return}if(p.escape)$(),m.stopImmediatePropagation()},{isActive:!_}),{...b,selectedValues:X,inputValues:k,isSubmitFocused:W,updateInputValue:C,onCancel:$}}var nB;var nZK=h(()=>{e2();Q6();D48();nB=A6(a6(),1)});function U36(_){let q=rZK.c(44),{isDisabled:K,visibleOptionCount:A,options:z,defaultValue:$,onCancel:w,onChange:O,onFocus:Y,focusValue:H,submitButtonText:M,onSubmit:f,onDownFromLastItem:j,onUpFromFirstItem:J,initialFocusLast:X,onOpenEditor:P,hideIndexes:W,onImagePaste:Z,pastedContents:G,onRemoveImage:v}=_,k=K===void 0?!1:K,N=A===void 0?5:A,L;if(q[0]!==$)L=$===void 0?[]:$,q[0]=$,q[1]=L;else L=q[1];let b=L,C=W===void 0?!1:W,I;if(q[2]!==b||q[3]!==H||q[4]!==C||q[5]!==X||q[6]!==k||q[7]!==w||q[8]!==O||q[9]!==j||q[10]!==Y||q[11]!==f||q[12]!==J||q[13]!==z||q[14]!==M||q[15]!==N)I={isDisabled:k,visibleOptionCount:N,options:z,defaultValue:b,onChange:O,onCancel:w,onFocus:Y,focusValue:H,submitButtonText:M,onSubmit:f,onDownFromLastItem:j,onUpFromFirstItem:J,initialFocusLast:X,hideIndexes:C},q[2]=b,q[3]=H,q[4]=C,q[5]=X,q[6]=k,q[7]=w,q[8]=O,q[9]=j,q[10]=Y,q[11]=f,q[12]=J,q[13]=z,q[14]=M,q[15]=N,q[16]=I;else I=q[16];let p=iZK(I),m,g,c,u,U;if(q[17]!==C||q[18]!==k||q[19]!==w||q[20]!==Z||q[21]!==P||q[22]!==v||q[23]!==z.length||q[24]!==G||q[25]!==p){let z6=z.length.toString().length;g=x,U="column",m=x,c="column",u=p.visibleOptions.map((t,e)=>{let s=!k&&p.focusedValue===t.value&&!p.isSubmitFocused,n=p.selectedValues.includes(t.value),r=t.index===p.visibleFromIndex,M6=t.index===p.visibleToIndex-1,_6=p.visibleToIndex<z.length,J6=p.visibleFromIndex>0,w6=p.visibleFromIndex+e+1;if(t.type==="input"){let f6=p.inputValues.get(t.value)||"";return D(x,{gap:1,children:D(g36,{option:t,isFocused:s,isSelected:!1,shouldShowDownArrow:_6&&M6,shouldShowUpArrow:J6&&r,maxIndexWidth:z6,index:w6,inputValue:f6,onInputChange:($6)=>{p.updateInputValue(t.value,$6)},onSubmit:D$z,onExit:()=>{w()},layout:"compact",onOpenEditor:P,onImagePaste:Z,pastedContents:G,onRemoveImage:v,children:y(T,{color:n?"success":void 0,children:["[",n?n6.tick:" ","]"," "]})})},String(t.value))}return D(x,{gap:1,children:y(iB,{isFocused:s,isSelected:!1,shouldShowDownArrow:_6&&M6,shouldShowUpArrow:J6&&r,description:t.description,children:[!C&&D(T,{dimColor:!0,children:`${w6}.`.padEnd(z6)}),y(T,{color:n?"success":void 0,children:["[",n?n6.tick:" ","]"]}),D(T,{color:s?"suggestion":void 0,children:t.label})]})},String(t.value))}),q[17]=C,q[18]=k,q[19]=w,q[20]=Z,q[21]=P,q[22]=v,q[23]=z.length,q[24]=G,q[25]=p,q[26]=m,q[27]=g,q[28]=c,q[29]=u,q[30]=U}else m=q[26],g=q[27],c=q[28],u=q[29],U=q[30];let F;if(q[31]!==m||q[32]!==c||q[33]!==u)F=D(m,{flexDirection:c,children:u}),q[31]=m,q[32]=c,q[33]=u,q[34]=F;else F=q[34];let Q;if(q[35]!==f||q[36]!==p.isSubmitFocused||q[37]!==M)Q=M&&f&&y(x,{marginTop:0,gap:1,children:[p.isSubmitFocused?D(T,{color:"suggestion",children:n6.pointer}):D(T,{children:" "}),D(x,{marginLeft:3,children:D(T,{color:p.isSubmitFocused?"suggestion":void 0,bold:!0,children:M})})]}),q[35]=f,q[36]=p.isSubmitFocused,q[37]=M,q[38]=Q;else Q=q[38];let o;if(q[39]!==g||q[40]!==F||q[41]!==Q||q[42]!==U)o=y(g,{flexDirection:U,children:[F,Q]}),q[39]=g,q[40]=F,q[41]=Q,q[42]=U,q[43]=o;else o=q[43];return o}function D$z(){}var rZK;var HA_=h(()=>{Lq();Q6();W48();wA_();nZK();a();rZK=A6(s6(),1)});var Z48,aZK=({isDisabled:_=!1,disableSelection:q=!1,state:K,options:A,isMultiSelect:z=!1,onUpFromFirstItem:$,onDownFromLastItem:w,onInputModeToggle:O,inputValues:Y,imagesSelected:H=!1,onEnterImageSelection:M})=>{k9("select",!!K.onCancel);let f=Z48.useMemo(()=>{return A.find((X)=>X.value===K.focusedValue)?.type==="input"},[A,K.focusedValue]),j=Z48.useMemo(()=>{let J={};if(!f)J["select:next"]=()=>{if(w){let X=A[A.length-1];if(X&&K.focusedValue===X.value){w();return}}K.focusNextOption()},J["select:previous"]=()=>{if($&&K.visibleFromIndex===0){let X=A[0];if(X&&K.focusedValue===X.value){$();return}}K.focusPreviousOption()},J["select:accept"]=()=>{if(q===!0)return;if(K.focusedValue===void 0)return;if(A.find((P)=>P.value===K.focusedValue)?.disabled===!0)return;K.selectFocusedOption?.(),K.onChange?.(K.focusedValue)};if(K.onCancel)J["select:cancel"]=()=>{K.onCancel()};return J},[A,K,w,$,f,q]);jq(j,{context:"Select",isActive:!_}),uq((J,X,P)=>{let W=BQ(J),Z=A.find((v)=>v.value===K.focusedValue),G=Z?.type==="input";if(X.tab&&O&&K.focusedValue!==void 0){O(K.focusedValue);return}if(G){if(H)return;if(X.downArrow&&M?.()){P.stopImmediatePropagation();return}if(X.downArrow||X.ctrl&&J==="n"){if(w){let v=A[A.length-1];if(v&&K.focusedValue===v.value){w(),P.stopImmediatePropagation();return}}K.focusNextOption(),P.stopImmediatePropagation();return}if(X.upArrow||X.ctrl&&J==="p"){if($&&K.visibleFromIndex===0){let v=A[0];if(v&&K.focusedValue===v.value){$(),P.stopImmediatePropagation();return}}K.focusPreviousOption(),P.stopImmediatePropagation();return}return}if(X.pageDown)K.focusNextPage();if(X.pageUp)K.focusPreviousPage();if(q!==!0){if(z&&am6(J)===" "&&K.focusedValue!==void 0){if(Z?.disabled!==!0)K.selectFocusedOption?.(),K.onChange?.(K.focusedValue)}if(q!=="numeric"&&/^[0-9]+$/.test(W)){let v=parseInt(W)-1;if(v>=0&&v<K.options.length){let k=K.options[v];if(k.disabled===!0)return;if(k.type==="input"){if((Y?.get(k.value)??"").trim()){K.onChange?.(k.value);return}if(k.allowEmptySubmitToCancel){K.onChange?.(k.value);return}K.focusOption(k.value);return}K.onChange?.(k.value);return}}}},{isActive:!_})};var oZK=h(()=>{e2();Q6();$q();Z48=A6(a6(),1)});function sZK({visibleOptionCount:_=5,options:q,defaultValue:K,onChange:A,onCancel:z,onFocus:$,focusValue:w}){let[O,Y]=MA_.useState(K),H=YA_({visibleOptionCount:_,options:q,initialFocusValue:void 0,onFocus:$,focusValue:w}),M=MA_.useCallback(()=>{Y(H.focusedValue)},[H.focusedValue]);return{...H,value:O,selectFocusedOption:M,onChange:A,onCancel:z}}var MA_;var tZK=h(()=>{D48();MA_=A6(a6(),1)});function fA_(_){if(typeof _==="string")return _;if(typeof _==="number")return String(_);if(!_)return"";if(Array.isArray(_))return _.map(fA_).join("");if(DL.default.isValidElement(_))return fA_(_.props.children);return""}function g_(_){let q=G48.c(72),{isDisabled:K,hideIndexes:A,visibleOptionCount:z,highlightText:$,options:w,defaultValue:O,onCancel:Y,onChange:H,onFocus:M,defaultFocusValue:f,layout:j,disableSelection:J,inlineDescriptions:X,onUpFromFirstItem:P,onDownFromLastItem:W,onInputModeToggle:Z,onOpenEditor:G,onImagePaste:v,pastedContents:k,onRemoveImage:N}=_,L=K===void 0?!1:K,b=A===void 0?!1:A,C=z===void 0?5:z,I=j===void 0?"compact":j,p=J===void 0?!1:J,m=X===void 0?!1:X,[g,c]=DL.useState(!1),[u,U]=DL.useState(0),F;if(q[0]!==w)F=()=>{let Y6=new Map;return w.forEach((v6)=>{if(v6.type==="input"&&v6.initialValue)Y6.set(v6.value,v6.initialValue)}),Y6},q[0]=w,q[1]=F;else F=q[1];let[Q,o]=DL.useState(F),z6;if(q[2]===Symbol.for("react.memo_cache_sentinel"))z6=new Map,q[2]=z6;else z6=q[2];let t=DL.useRef(z6),e,s;if(q[3]!==Q||q[4]!==w)s=()=>{for(let Y6 of w)if(Y6.type==="input"&&Y6.initialValue!==void 0){let v6=t.current.get(Y6.value)??"",m6=Q.get(Y6.value)??"",S6=Y6.initialValue;if(S6!==v6&&m6===v6)o((c6)=>{let l6=new Map(c6);return l6.set(Y6.value,S6),l6});t.current.set(Y6.value,S6)}},e=[w,Q],q[3]=Q,q[4]=w,q[5]=e,q[6]=s;else e=q[5],s=q[6];DL.useEffect(s,e);let n;if(q[7]!==f||q[8]!==O||q[9]!==Y||q[10]!==H||q[11]!==M||q[12]!==w||q[13]!==C)n={visibleOptionCount:C,options:w,defaultValue:O,onChange:H,onCancel:Y,onFocus:M,focusValue:f},q[7]=f,q[8]=O,q[9]=Y,q[10]=H,q[11]=M,q[12]=w,q[13]=C,q[14]=n;else n=q[14];let r=sZK(n),M6=p||(b?"numeric":!1),_6;if(q[15]!==k)_6=()=>{if(k&&Object.values(k).some(R$z)){let Y6=b8(Object.values(k),y$z);return c(!0),U(Y6-1),!0}return!1},q[15]=k,q[16]=_6;else _6=q[16];let J6;if(q[17]!==g||q[18]!==Q||q[19]!==L||q[20]!==W||q[21]!==Z||q[22]!==P||q[23]!==w||q[24]!==r||q[25]!==M6||q[26]!==_6)J6={isDisabled:L,disableSelection:M6,state:r,options:w,isMultiSelect:!1,onUpFromFirstItem:P,onDownFromLastItem:W,onInputModeToggle:Z,inputValues:Q,imagesSelected:g,onEnterImageSelection:_6},q[17]=g,q[18]=Q,q[19]=L,q[20]=W,q[21]=Z,q[22]=P,q[23]=w,q[24]=r,q[25]=M6,q[26]=_6,q[27]=J6;else J6=q[27];aZK(J6);let w6,f6,$6,H6;if(q[28]!==b||q[29]!==$||q[30]!==g||q[31]!==m||q[32]!==Q||q[33]!==L||q[34]!==I||q[35]!==Y||q[36]!==H||q[37]!==v||q[38]!==G||q[39]!==N||q[40]!==w.length||q[41]!==k||q[42]!==u||q[43]!==r.focusedValue||q[44]!==r.options||q[45]!==r.value||q[46]!==r.visibleFromIndex||q[47]!==r.visibleOptions||q[48]!==r.visibleToIndex){H6=Symbol.for("react.early_return_sentinel");_:{let Y6={container:V$z,highlightedText:N$z};if(I==="expanded"){let h6;if(q[53]!==r.options.length)h6=r.options.length.toString(),q[53]=r.options.length,q[54]=h6;else h6=q[54];let L6=h6.length;H6=D(x,{...Y6.container(),children:r.visibleOptions.map((W6,X6)=>{let F6=W6.index===r.visibleFromIndex,d6=W6.index===r.visibleToIndex-1,V6=r.visibleToIndex<w.length,y6=r.visibleFromIndex>0,u6=r.visibleFromIndex+X6+1,D6=!L&&r.focusedValue===W6.value,G6=r.value===W6.value;if(W6.type==="input"){let k6=Q.has(W6.value)?Q.get(W6.value):W6.initialValue||"";return D(g36,{option:W6,isFocused:D6,isSelected:G6,shouldShowDownArrow:V6&&d6,shouldShowUpArrow:y6&&F6,maxIndexWidth:L6,index:u6,inputValue:k6,onInputChange:(I6)=>{o((o6)=>{let U6=new Map(o6);return U6.set(W6.value,I6),U6})},onSubmit:(I6)=>{let o6=k&&Object.values(k).some(k$z);if(I6.trim()||o6||W6.allowEmptySubmitToCancel)H?.(W6.value);else Y?.()},onExit:Y,layout:"expanded",showLabel:m,onOpenEditor:G,resetCursorOnUpdate:W6.resetCursorOnUpdate,onImagePaste:v,pastedContents:k,onRemoveImage:N,imagesSelected:g,selectedImageIndex:u,onImagesSelectedChange:c,onSelectedImageIndexChange:U},String(W6.value))}let j6=W6.label;if(typeof W6.label==="string"&&$&&W6.label.includes($)){let k6=W6.label,I6=k6.indexOf($);j6=y(q_,{children:[k6.slice(0,I6),D(T,{...Y6.highlightedText(),children:$}),k6.slice(I6+$.length)]})}let T6=W6.disabled===!0,R6=T6?void 0:G6?"success":D6?"suggestion":void 0;return y(x,{flexDirection:"column",flexShrink:0,children:[D(iB,{isFocused:D6,isSelected:G6,shouldShowDownArrow:V6&&d6,shouldShowUpArrow:y6&&F6,children:D(T,{dimColor:T6,color:R6,children:j6})}),W6.description&&D(x,{paddingLeft:2,children:D(T,{dimColor:T6||W6.dimDescription!==!1,color:R6,children:D(x7,{children:W6.description})})}),D(T,{children:" "})]},String(W6.value))})});break _}if(I==="compact-vertical"){let h6;if(q[55]!==b||q[56]!==r.options)h6=b?0:r.options.length.toString().length,q[55]=b,q[56]=r.options,q[57]=h6;else h6=q[57];let L6=h6;H6=D(x,{...Y6.container(),children:r.visibleOptions.map((W6,X6)=>{let F6=W6.index===r.visibleFromIndex,d6=W6.index===r.visibleToIndex-1,V6=r.visibleToIndex<w.length,y6=r.visibleFromIndex>0,u6=r.visibleFromIndex+X6+1,D6=!L&&r.focusedValue===W6.value,G6=r.value===W6.value;if(W6.type==="input"){let R6=Q.has(W6.value)?Q.get(W6.value):W6.initialValue||"";return D(g36,{option:W6,isFocused:D6,isSelected:G6,shouldShowDownArrow:V6&&d6,shouldShowUpArrow:y6&&F6,maxIndexWidth:L6,index:u6,inputValue:R6,onInputChange:(k6)=>{o((I6)=>{let o6=new Map(I6);return o6.set(W6.value,k6),o6})},onSubmit:(k6)=>{let I6=k&&Object.values(k).some(T$z);if(k6.trim()||I6||W6.allowEmptySubmitToCancel)H?.(W6.value);else Y?.()},onExit:Y,layout:"compact",showLabel:m,onOpenEditor:G,resetCursorOnUpdate:W6.resetCursorOnUpdate,onImagePaste:v,pastedContents:k,onRemoveImage:N,imagesSelected:g,selectedImageIndex:u,onImagesSelectedChange:c,onSelectedImageIndexChange:U},String(W6.value))}let j6=W6.label;if(typeof W6.label==="string"&&$&&W6.label.includes($)){let R6=W6.label,k6=R6.indexOf($);j6=y(q_,{children:[R6.slice(0,k6),D(T,{...Y6.highlightedText(),children:$}),R6.slice(k6+$.length)]})}let T6=W6.disabled===!0;return y(x,{flexDirection:"column",flexShrink:0,children:[D(iB,{isFocused:D6,isSelected:G6,shouldShowDownArrow:V6&&d6,shouldShowUpArrow:y6&&F6,children:y(q_,{children:[!b&&D(T,{dimColor:!0,children:`${u6}.`.padEnd(L6+1)}),D(T,{dimColor:T6,color:T6?void 0:G6?"success":D6?"suggestion":void 0,children:j6})]})}),W6.description&&D(x,{paddingLeft:b?4:L6+4,children:D(T,{dimColor:T6||W6.dimDescription!==!1,color:T6?void 0:G6?"success":D6?"suggestion":void 0,children:D(x7,{children:W6.description})})})]},String(W6.value))})});break _}let v6;if(q[58]!==b||q[59]!==r.options)v6=b?0:r.options.length.toString().length,q[58]=b,q[59]=r.options,q[60]=v6;else v6=q[60];let m6=v6,S6=r.visibleOptions.some(v$z),c6=!m&&!S6&&r.visibleOptions.some(G$z),l6=r.visibleOptions.map((h6,L6)=>{let W6=h6.index===r.visibleFromIndex,X6=h6.index===r.visibleToIndex-1,F6=r.visibleToIndex<w.length,d6=r.visibleFromIndex>0,V6=r.visibleFromIndex+L6+1,y6=!L&&r.focusedValue===h6.value,u6=r.value===h6.value,D6=h6.disabled===!0,G6=h6.label;if(typeof h6.label==="string"&&$&&h6.label.includes($)){let j6=h6.label,T6=j6.indexOf($);G6=y(q_,{children:[j6.slice(0,T6),D(T,{...Y6.highlightedText(),children:$}),j6.slice(T6+$.length)]})}return{option:h6,index:V6,label:G6,isFocused:y6,isSelected:u6,isOptionDisabled:D6,shouldShowDownArrow:F6&&X6,shouldShowUpArrow:d6&&W6}});if(c6){let h6;if(q[61]!==b||q[62]!==m6)h6=(X6)=>{if(X6.option.type==="input")return 0;let F6=fA_(X6.option.label),d6=b?0:m6+2,V6=X6.isSelected?2:0;return 2+d6+o_(F6)+V6},q[61]=b,q[62]=m6,q[63]=h6;else h6=q[63];let L6=Math.max(...l6.map(h6)),W6;if(q[64]!==b||q[65]!==m6||q[66]!==L6)W6=(X6)=>{if(X6.option.type==="input")return null;let F6=fA_(X6.option.label),d6=b?0:m6+2,V6=X6.isSelected?2:0,y6=2+d6+o_(F6)+V6,u6=L6-y6;return y(L$z,{isFocused:X6.isFocused,children:[y(x,{flexDirection:"row",flexShrink:0,children:[X6.isFocused?D(T,{color:"puku",children:n6.pointer}):X6.shouldShowDownArrow?D(T,{dimColor:!0,children:n6.arrowDown}):X6.shouldShowUpArrow?D(T,{dimColor:!0,children:n6.arrowUp}):D(T,{children:" "}),D(T,{children:" "}),y(T,{dimColor:X6.isOptionDisabled,color:X6.isOptionDisabled?void 0:X6.isSelected?"success":X6.isFocused?"suggestion":void 0,children:[!b&&D(T,{dimColor:!0,children:`${X6.index}.`.padEnd(m6+2)}),X6.label]}),X6.isSelected&&y(T,{color:"success",children:[" ",n6.tick]}),u6>0&&D(T,{children:" ".repeat(u6)})]}),D(x,{flexGrow:1,marginLeft:2,children:D(T,{wrap:"wrap",dimColor:X6.isOptionDisabled||X6.option.dimDescription!==!1,color:X6.isOptionDisabled?void 0:X6.isSelected?"success":X6.isFocused?"suggestion":void 0,children:D(x7,{children:X6.option.description||" "})})})]},String(X6.option.value))},q[64]=b,q[65]=m6,q[66]=L6,q[67]=W6;else W6=q[67];H6=D(x,{...Y6.container(),children:l6.map(W6)});break _}w6=x,f6=Y6.container(),$6=r.visibleOptions.map((h6,L6)=>{if(h6.type==="input"){let j6=Q.has(h6.value)?Q.get(h6.value):h6.initialValue||"",T6=h6.index===r.visibleFromIndex,R6=h6.index===r.visibleToIndex-1,k6=r.visibleToIndex<w.length,I6=r.visibleFromIndex>0,o6=r.visibleFromIndex+L6+1,U6=!L&&r.focusedValue===h6.value,w_=r.value===h6.value;return D(g36,{option:h6,isFocused:U6,isSelected:w_,shouldShowDownArrow:k6&&R6,shouldShowUpArrow:I6&&T6,maxIndexWidth:m6,index:o6,inputValue:j6,onInputChange:(H_)=>{o((Z6)=>{let i6=new Map(Z6);return i6.set(h6.value,H_),i6})},onSubmit:(H_)=>{let Z6=k&&Object.values(k).some(Z$z);if(H_.trim()||Z6||h6.allowEmptySubmitToCancel)H?.(h6.value);else Y?.()},onExit:Y,layout:"compact",showLabel:m,onOpenEditor:G,resetCursorOnUpdate:h6.resetCursorOnUpdate,onImagePaste:v,pastedContents:k,onRemoveImage:N,imagesSelected:g,selectedImageIndex:u,onImagesSelectedChange:c,onSelectedImageIndexChange:U},String(h6.value))}let W6=h6.label;if(typeof h6.label==="string"&&$&&h6.label.includes($)){let j6=h6.label,T6=j6.indexOf($);W6=y(q_,{children:[j6.slice(0,T6),D(T,{...Y6.highlightedText(),children:$}),j6.slice(T6+$.length)]})}let X6=h6.index===r.visibleFromIndex,F6=h6.index===r.visibleToIndex-1,d6=r.visibleToIndex<w.length,V6=r.visibleFromIndex>0,y6=r.visibleFromIndex+L6+1,u6=!L&&r.focusedValue===h6.value,D6=r.value===h6.value,G6=h6.disabled===!0;return y(iB,{isFocused:u6,isSelected:D6,shouldShowDownArrow:d6&&F6,shouldShowUpArrow:V6&&X6,children:[y(x,{flexDirection:"row",flexShrink:0,children:[!b&&D(T,{dimColor:!0,children:`${y6}.`.padEnd(m6+2)}),y(T,{dimColor:G6,color:G6?void 0:D6?"success":u6?"suggestion":void 0,children:[W6,m&&h6.description&&y(T,{dimColor:G6||h6.dimDescription!==!1,children:[" ",h6.description]})]})]}),!m&&h6.description&&D(x,{flexShrink:99,marginLeft:2,children:D(T,{wrap:"wrap-trim",dimColor:G6||h6.dimDescription!==!1,color:G6?void 0:D6?"success":u6?"suggestion":void 0,children:D(x7,{children:h6.description})})})]},String(h6.value))})}q[28]=b,q[29]=$,q[30]=g,q[31]=m,q[32]=Q,q[33]=L,q[34]=I,q[35]=Y,q[36]=H,q[37]=v,q[38]=G,q[39]=N,q[40]=w.length,q[41]=k,q[42]=u,q[43]=r.focusedValue,q[44]=r.options,q[45]=r.value,q[46]=r.visibleFromIndex,q[47]=r.visibleOptions,q[48]=r.visibleToIndex,q[49]=w6,q[50]=f6,q[51]=$6,q[52]=H6}else w6=q[49],f6=q[50],$6=q[51],H6=q[52];if(H6!==Symbol.for("react.early_return_sentinel"))return H6;let q6;if(q[68]!==w6||q[69]!==f6||q[70]!==$6)q6=D(w6,{...f6,children:$6}),q[68]=w6,q[69]=f6,q[70]=$6,q[71]=q6;else q6=q[71];return q6}function Z$z(_){return _.type==="image"}function G$z(_){return _.description}function v$z(_){return _.type==="input"}function T$z(_){return _.type==="image"}function k$z(_){return _.type==="image"}function N$z(){return{bold:!0}}function V$z(){return{flexDirection:"column"}}function y$z(_){return _.type==="image"}function R$z(_){return _.type==="image"}function L$z(_){let q=G48.c(5),{isFocused:K,children:A}=_,z;if(q[0]!==K)z={line:0,column:0,active:K},q[0]=K,q[1]=z;else z=q[1];let $=p36(z),w;if(q[2]!==A||q[3]!==$)w=D(x,{ref:$,flexDirection:"row",children:A}),q[2]=A,q[3]=$,q[4]=w;else w=q[4];return w}var G48,DL;var R4=h(()=>{Lq();zA_();w4();Q6();W48();wA_();oZK();tZK();a();G48=A6(s6(),1),DL=A6(a6(),1)});var M5=h(()=>{HA_();R4()});function rB(_){let q=eZK.c(13),{title:K,subtitle:A,color:z,workerBadge:$}=_,w=z===void 0?"permission":z,O;if(q[0]!==w||q[1]!==K)O=D(T,{bold:!0,color:w,children:K}),q[0]=w,q[1]=K,q[2]=O;else O=q[2];let Y;if(q[3]!==$)Y=$&&y(T,{dimColor:!0,children:["· ","@",$.name]}),q[3]=$,q[4]=Y;else Y=q[4];let H;if(q[5]!==O||q[6]!==Y)H=y(x,{flexDirection:"row",gap:1,children:[O,Y]}),q[5]=O,q[6]=Y,q[7]=H;else H=q[7];let M;if(q[8]!==A)M=A!=null&&(typeof A==="string"?D(T,{dimColor:!0,wrap:"truncate-start",children:A}):A),q[8]=A,q[9]=M;else M=q[9];let f;if(q[10]!==H||q[11]!==M)f=y(x,{flexDirection:"column",children:[H,M]}),q[10]=H,q[11]=M,q[12]=f;else f=q[12];return f}var eZK;var gV6=h(()=>{Q6();a();eZK=A6(s6(),1)});function u5(_){let q=_GK.c(15),{title:K,subtitle:A,color:z,titleColor:$,innerPaddingX:w,workerBadge:O,titleRight:Y,children:H}=_,M=z===void 0?"permission":z,f=w===void 0?1:w,j;if(q[0]!==A||q[1]!==K||q[2]!==$||q[3]!==O)j=D(rB,{title:K,subtitle:A,color:$,workerBadge:O}),q[0]=A,q[1]=K,q[2]=$,q[3]=O,q[4]=j;else j=q[4];let J;if(q[5]!==j||q[6]!==Y)J=D(x,{paddingX:1,flexDirection:"column",children:y(x,{justifyContent:"space-between",children:[j,Y]})}),q[5]=j,q[6]=Y,q[7]=J;else J=q[7];let X;if(q[8]!==H||q[9]!==f)X=D(x,{flexDirection:"column",paddingX:f,children:H}),q[8]=H,q[9]=f,q[10]=X;else X=q[10];let P;if(q[11]!==M||q[12]!==J||q[13]!==X)P=y(x,{flexDirection:"column",borderStyle:"round",borderColor:M,borderLeft:!1,borderRight:!1,borderBottom:!1,marginTop:1,children:[J,X]}),q[11]=M,q[12]=J,q[13]=X,q[14]=P;else P=q[14];return P}var _GK;var hH=h(()=>{Q6();gV6();a();_GK=A6(s6(),1)});function F36(_){if(!_)return{shellSettings:{},envVars:{},hasHooks:!1};let q={};for(let z of CRq){let $=_[z];if(typeof $==="string"&&$.length>0)q[z]=$}let K={};if(_.env&&typeof _.env==="object"){for(let[z,$]of Object.entries(_.env))if(typeof $==="string"&&$.length>0){if(!z46.has(z.toUpperCase()))K[z]=$}}let A=_.hooks!==void 0&&_.hooks!==null&&typeof _.hooks==="object"&&Object.keys(_.hooks).length>0;return{shellSettings:q,envVars:K,hasHooks:A,hooks:A?_.hooks:void 0}}function jA_(_){return Object.keys(_.shellSettings).length>0||Object.keys(_.envVars).length>0||_.hasHooks}function qGK(_,q){let K=F36(_),A=F36(q);if(!jA_(A))return!1;if(!jA_(K))return!0;let z=x6({shellSettings:K.shellSettings,envVars:K.envVars,hooks:K.hooks}),$=x6({shellSettings:A.shellSettings,envVars:A.envVars,hooks:A.hooks});return z!==$}function KGK(_){let q=[];for(let K of Object.keys(_.shellSettings))q.push(K);for(let K of Object.keys(_.envVars))q.push(K);if(_.hasHooks)q.push("hooks");return q}var v48=h(()=>{dr6();m_()});function zGK(_){let q=AGK.c(26),{settings:K,onAccept:A,onReject:z}=_,$=F36(K),w=KGK($),O=e7(),Y;if(q[0]===Symbol.for("react.memo_cache_sentinel"))Y={context:"Confirmation"},q[0]=Y;else Y=q[0];U_("confirm:no",z,Y);let H;if(q[1]!==A||q[2]!==z)H=function(F){if(F==="exit"){z();return}A()},q[1]=A,q[2]=z,q[3]=H;else H=q[3];let M=H,f=u5,j="warning",J="warning",X="Managed settings require approval",P=x,W="column",Z=1,G=1,v;if(q[4]===Symbol.for("react.memo_cache_sentinel"))v=D(T,{children:"Your organization has configured managed settings that could allow execution of arbitrary code or interception of your prompts and responses."}),q[4]=v;else v=q[4];let k=x,N="column",L;if(q[5]===Symbol.for("react.memo_cache_sentinel"))L=D(T,{dimColor:!0,children:"Settings requiring approval:"}),q[5]=L;else L=q[5];let b=w.map(E$z),C;if(q[6]!==k||q[7]!==L||q[8]!==b)C=y(k,{flexDirection:N,children:[L,b]}),q[6]=k,q[7]=L,q[8]=b,q[9]=C;else C=q[9];let I;if(q[10]===Symbol.for("react.memo_cache_sentinel"))I=D(T,{children:"Only accept if you trust your organization's IT administration and expect these settings to be configured."}),q[10]=I;else I=q[10];let p;if(q[11]===Symbol.for("react.memo_cache_sentinel"))p=[{label:"Yes, I trust these settings",value:"accept"},{label:"No, exit puku-cli",value:"exit"}],q[11]=p;else p=q[11];let m;if(q[12]!==M)m=D(g_,{options:p,onChange:(U)=>M(U),onCancel:()=>M("exit")}),q[12]=M,q[13]=m;else m=q[13];let g;if(q[14]!==O.keyName||q[15]!==O.pending)g=D(T,{dimColor:!0,children:O.pending?y(q_,{children:["Press ",O.keyName," again to exit"]}):D(q_,{children:"Enter to confirm · Esc to exit"})}),q[14]=O.keyName,q[15]=O.pending,q[16]=g;else g=q[16];let c;if(q[17]!==P||q[18]!==C||q[19]!==m||q[20]!==g||q[21]!==v)c=y(P,{flexDirection:W,gap:Z,paddingTop:G,children:[v,C,I,m,g]}),q[17]=P,q[18]=C,q[19]=m,q[20]=g,q[21]=v,q[22]=c;else c=q[22];let u;if(q[23]!==f||q[24]!==c)u=D(f,{color:j,titleColor:J,title:X,children:c}),q[23]=f,q[24]=c,q[25]=u;else u=q[25];return u}function E$z(_,q){return D(x,{paddingLeft:2,children:y(T,{children:[D(T,{dimColor:!0,children:"· "}),D(T,{children:_})]})},q)}var AGK;var $GK=h(()=>{Hw();Q6();$q();M5();hH();v48();a();AGK=A6(s6(),1)});function S$z(_,q){let K=T48.c(9),{addNotification:A,removeNotification:z}=lK(),$;if(K[0]!==A||K[1]!==z||K[2]!==_)$=()=>{if(_.length===0){z("keybinding-config-warning");return}let O=b8(_,C$z),Y=b8(_,b$z),H;if(O>0&&Y>0)H=`Found ${O} keybinding ${E8(O,"error")} and ${Y} ${E8(Y,"warning")}`;else if(O>0)H=`Found ${O} keybinding ${E8(O,"error")}`;else H=`Found ${Y} keybinding ${E8(Y,"warning")}`;H=H+" · /doctor for details",A({key:"keybinding-config-warning",text:H,color:O>0?"error":"warning",priority:O>0?"immediate":"high",timeoutMs:60000})},K[0]=A,K[1]=z,K[2]=_,K[3]=$;else $=K[3];let w;if(K[4]!==A||K[5]!==q||K[6]!==z||K[7]!==_)w=[_,q,A,z],K[4]=A,K[5]=q,K[6]=z,K[7]=_,K[8]=w;else w=K[8];Hf.useEffect($,w)}function b$z(_){return _.severity==="warning"}function C$z(_){return _.severity==="error"}function pY({children:_}){let[{bindings:q,warnings:K},A]=Hf.useState(()=>{let W=ok6();return V(`[keybindings] KeybindingSetup initialized with ${W.bindings.length} bindings, ${W.warnings.length} warnings`),W}),[z,$]=Hf.useState(!1);S$z(K,z);let w=Hf.useRef(null),[O,Y]=Hf.useState(null),H=Hf.useRef(null),M=Hf.useRef(new Map),f=Hf.useRef(new Set),j=Hf.useCallback((W)=>{f.current.add(W)},[]),J=Hf.useCallback((W)=>{f.current.delete(W)},[]),X=Hf.useCallback(()=>{if(H.current)clearTimeout(H.current),H.current=null},[]),P=Hf.useCallback((W)=>{if(X(),W!==null)H.current=setTimeout((Z,G)=>{V("[keybindings] Chord timeout - cancelling"),Z.current=null,G(null)},h$z,w,Y);w.current=W,Y(W)},[X]);return Hf.useEffect(()=>{yMK();let W=RMK((Z)=>{$(!0),A(Z),V(`[keybindings] Reloaded: ${Z.bindings.length} bindings, ${Z.warnings.length} warnings`)});return()=>{W(),X()}},[X]),y($K_,{bindings:q,pendingChordRef:w,pendingChord:O,setPendingChord:P,activeContexts:f.current,registerActiveContext:j,unregisterActiveContext:J,handlerRegistryRef:M,children:[D(I$z,{bindings:q,pendingChordRef:w,setPendingChord:P,activeContexts:f.current,handlerRegistryRef:M}),_]})}function I$z(_){let q=T48.c(6),{bindings:K,pendingChordRef:A,setPendingChord:z,activeContexts:$,handlerRegistryRef:w}=_,O;if(q[0]!==$||q[1]!==K||q[2]!==w||q[3]!==A||q[4]!==z)O=(H,M,f)=>{if((M.wheelUp||M.wheelDown)&&A.current===null)return;let j=w.current,J=new Set;if(j)for(let Z of j.values())for(let G of Z)J.add(G.context);let X=[...J,...$,"Global"],P=A.current!==null,W=AK_(H,M,X,K,A.current);_:switch(W.type){case"chord_started":{z(W.pending),f.stopImmediatePropagation();break _}case"match":{if(z(null),P){let Z=new Set(X);if(j){let G=j.get(W.action);if(G&&G.size>0){for(let v of G)if(Z.has(v.context)){v.handler(),f.stopImmediatePropagation();break}}}}break _}case"chord_cancelled":{z(null),f.stopImmediatePropagation();break _}case"unbound":{z(null),f.stopImmediatePropagation();break _}case"none":}},q[0]=$,q[1]=K,q[2]=w,q[3]=A,q[4]=z,q[5]=O;else O=q[5];return uq(O),null}var T48,Hf,h$z=1000;var ZL=h(()=>{Qz();Q6();__();IC();CC();zK_();a();T48=A6(s6(),1),Hf=A6(a6(),1)});import{writeSync as Rv}from"fs";function N48(_=!1){if(!process.stdout.isTTY)return;try{Rv(1,Fb);let q=Y$.get(process.stdout);if(!_&&q?.isAltScreenActive)try{q.unmount()}catch{Rv(1,wA6)}else if(_&&q?.isAltScreenActive);if(q?.drainStdin(),q?.detachForShutdown(),Rv(1,Rn),Rv(1,Cb),Rv(1,mn),Rv(1,$A6),Rv(1,c0),Rv(1,Is6),db())Rv(1,HH(OA6));if(!C6(process.env.PUKU_CLI_DISABLE_TERMINAL_TITLE))if(process.platform==="win32")process.title="";else Rv(1,mFq)}catch{}}function V48(){if(wGK)return;if(process.stdout.isTTY&&VZ()&&!oP())try{let _=X_();if(!BV6(_))return;let q=Mf(_),K;if(q)K=`"${q.replace(/\\/g,"\\\\").replace(/"/g,"\\\"")}"`;else K=_;Rv(1,Y_.dim(`
2018
2018
  You can resume this session with:
2019
2019
  puku-cli --resume ${K}
2020
2020
  `)),wGK=!0}catch{}}function y48(_){if(cV6!==void 0)clearTimeout(cV6),cV6=void 0;try{Y$.get(process.stdout)?.drainStdin()}catch{}try{process.exit(_)}catch(q){process.kill(process.pid,"SIGKILL")}throw Error("unreachable")}function E7(_=0,q="other",K){process.exitCode=_,x$z=z7(_,q,K).catch((A)=>{V(`Graceful shutdown failed: ${A}`,{level:"error"}),N48(),V48(),y48(_)}).catch(()=>{})}function d36(){return R48}async function z7(_=0,q="other",K){if(R48)return;R48=!0;let{executeSessionEndHooks:A,getSessionEndHookTimeoutMs:z}=await Promise.resolve().then(() => (H$(),HGK)),$=z();await new Promise((Y)=>setTimeout(Y,20)),cV6=setTimeout((Y)=>{N48(!0),V48(),y48(Y)},Math.max(5000,$+3500),_),cV6.unref(),process.exitCode=_,N48(!0),V48();let w;try{let Y=(async()=>{try{await $k8()}catch{}})();await Promise.race([Y,new Promise((H,M)=>{w=setTimeout((f)=>f(new YGK),2000,M)})]),clearTimeout(w)}catch{clearTimeout(w)}try{await A(q,{...K,signal:AbortSignal.timeout($),timeoutMs:$})}catch{}try{M26()}catch{}let O=WM6();if(O)l("ev_event",{scope:"session_end",last_request_id:O});try{await Promise.race([Promise.all([oa6(),aa6()]),Qq(500)])}catch{}if(K?.finalMessage)try{Rv(2,K.finalMessage+`
@@ -5324,7 +5324,7 @@ To fix this issue:
5324
5324
  `),"install_failed";let{hasPermissions:q}=await wH8();if(!q)return"no_permissions";let K=_?`@puku/puku-cli@${_}`:"@puku/puku-cli",A=C8.isRunningWithBun()?"bun":"npm",z=await g8(A,["install","-g",K],{cwd:ZE6()});if(z.code!==0){let $=new FY_(`Failed to install new version of claude: ${z.stdout} ${z.stderr}`);return K6($),"install_failed"}return b_(($)=>({...$,installMethod:"global"})),"success"}finally{await cSz()}}async function FSz(){let _=KF();for(let[,q]of Object.entries(_))try{let K=await DE6(q);if(!K)continue;let{filtered:A,hadAlias:z}=cY_(K);if(z)await BY_(q,A),V(`Removed claude alias from ${q}`)}catch(K){V(`Failed to remove alias from ${q}: ${K}`,{level:"error"})}}var FY_,flK=300000;var KE=h(()=>{U7();Y8();F7();__();n5();R_();W_();H7();o8();u$();D_();W8();UY_();m_();FY_=class FY_ extends Rf6{}});import{readFile as dSz}from"fs/promises";function QY_(_,q){return q.includes(_.id)||_.idLike.some((K)=>q.includes(K))}function OH8(){let _=process.execPath||process.argv[0]||"";if(/[/\\]mise[/\\]installs[/\\]/i.test(_))return V(`Detected mise installation: ${_}`),!0;return!1}function YH8(){let _=process.execPath||process.argv[0]||"";if(/[/\\]\.?asdf[/\\]installs[/\\]/i.test(_))return V(`Detected asdf installation: ${_}`),!0;return!1}function lY_(){let _=r_();if(_!=="macos"&&_!=="linux"&&_!=="wsl")return!1;let q=process.execPath||process.argv[0]||"";if(q.includes("/Caskroom/"))return V(`Detected Homebrew cask installation: ${q}`),!0;return!1}function HH8(){if(r_()!=="windows")return!1;let q=process.execPath||process.argv[0]||"",K=[/Microsoft[/\\]WinGet[/\\]Packages/i,/Microsoft[/\\]WinGet[/\\]Links/i];for(let A of K)if(A.test(q))return V(`Detected winget installation: ${q}`),!0;return!1}var dY_,MH8,fH8,jH8,JH8,oY6;var iY_=h(()=>{LK();__();H7();iK();dY_=c_(async()=>{try{let _=await dSz("/etc/os-release","utf8"),q=_.match(/^ID=["']?(\S+?)["']?\s*$/m),K=_.match(/^ID_LIKE=["']?(.+?)["']?\s*$/m);return{id:q?.[1]??"",idLike:K?.[1]?.split(" ")??[]}}catch{return null}});MH8=c_(async()=>{if(r_()!=="linux")return!1;let q=await dY_();if(q&&!QY_(q,["arch"]))return!1;let K=process.execPath||process.argv[0]||"",A=await B_("pacman",["-Qo",K],{timeout:5000,useCwd:!1});if(A.code===0&&A.stdout)return V(`Detected pacman installation: ${A.stdout.trim()}`),!0;return!1}),fH8=c_(async()=>{if(r_()!=="linux")return!1;let q=await dY_();if(q&&!QY_(q,["debian"]))return!1;let K=process.execPath||process.argv[0]||"",A=await B_("dpkg",["-S",K],{timeout:5000,useCwd:!1});if(A.code===0&&A.stdout)return V(`Detected deb installation: ${A.stdout.trim()}`),!0;return!1}),jH8=c_(async()=>{if(r_()!=="linux")return!1;let q=await dY_();if(q&&!QY_(q,["fedora","rhel","suse"]))return!1;let K=process.execPath||process.argv[0]||"",A=await B_("rpm",["-qf",K],{timeout:5000,useCwd:!1});if(A.code===0&&A.stdout)return V(`Detected rpm installation: ${A.stdout.trim()}`),!0;return!1}),JH8=c_(async()=>{if(r_()!=="linux")return!1;let q=await dY_();if(q&&!QY_(q,["alpine"]))return!1;let K=process.execPath||process.argv[0]||"",A=await B_("apk",["info","--who-owns",K],{timeout:5000,useCwd:!1});if(A.code===0&&A.stdout)return V(`Detected apk installation: ${A.stdout.trim()}`),!0;return!1}),oY6=c_(async()=>{if(lY_())return"homebrew";if(HH8())return"winget";if(OH8())return"mise";if(YH8())return"asdf";if(await MH8())return"pacman";if(await JH8())return"apk";if(await fH8())return"deb";if(await jH8())return"rpm";return"unknown"})});import{readFile as QSz,realpath as GlK}from"fs/promises";import{homedir as is}from"os";import{delimiter as lSz,join as vN,posix as vE6,win32 as TE6}from"path";function iSz(){let _=process.argv[1]||"",q=process.execPath||process.argv[0]||"";if(r_()==="windows")_=_.split(TE6.sep).join(vE6.sep),q=q.split(TE6.sep).join(vE6.sep);return[_,q]}async function ns(){let[_]=iSz();if(a1()){if(lY_()||HH8()||OH8()||YH8()||await MH8()||await fH8()||await jH8()||await JH8())return"package-manager";return"native"}if(wlK())return"npm-local";if(["/usr/local/lib/node_modules","/usr/lib/node_modules","/opt/homebrew/lib/node_modules","/opt/homebrew/bin","/usr/local/bin","/.nvm/versions/node/"].some((z)=>_.includes(z)))return"npm-global";if(_.includes("/npm/")||_.includes("/nvm/"))return"npm-global";let K=await zz("npm config get prefix",{shell:!0,reject:!1}),A=K.exitCode===0?K.stdout.trim():null;if(A&&_.startsWith(A))return"npm-global";return"unknown"}async function nSz(){if(a1()){try{return await GlK(process.execPath)}catch{}try{let _=await r9("puku-cli");if(_)return _}catch{}try{return await K_().stat(vN(is(),".local/bin/puku-cli")),vN(is(),".local/bin/puku-cli")}catch{}return"native"}try{return process.argv[0]||"unknown"}catch{return"unknown"}}function rSz(){try{if(a1())return process.execPath||"unknown";return process.argv[1]||"unknown"}catch{return"unknown"}}async function aSz(){let _=K_(),q=[],K=vN(is(),".puku-cli","local");if(await Qs())q.push({type:"npm-local",path:K});let A=["@anthropic-ai/claude-code"];A.push("@puku/puku-cli");let z=await B_("npm",["-g","config","get","prefix"]);if(z.code===0&&z.stdout){let O=z.stdout.trim(),Y=r_()==="windows",H=Y?vN(O,"puku-cli"):vN(O,"bin","puku-cli"),M=!1;try{await _.stat(H),M=!0}catch{}if(M){let f=!1;try{if((await GlK(H)).includes("/Caskroom/"))f=lY_()}catch{}if(!f)q.push({type:"npm-global",path:H})}else for(let f of A){let j=Y?vN(O,"node_modules",f):vN(O,"lib","node_modules",f);try{await _.stat(j),q.push({type:"npm-global-orphan",path:j})}catch{}}}let $=vN(is(),".local","bin","puku-cli");try{await _.stat($),q.push({type:"native",path:$})}catch{}if($_().installMethod==="native"){let O=vN(is(),".local","share","puku-cli");try{if(await _.stat(O),!q.some((Y)=>Y.type==="native"))q.push({type:"native",path:O})}catch{}}return q}async function oSz(_){let q=[];try{let $=await QSz(vN(s9(),"managed-settings.json"),"utf-8"),w=h_($),O=w&&typeof w==="object"?w.strictPluginOnlyCustomization:void 0;if(O!==void 0&&typeof O!=="boolean")if(!Array.isArray(O))q.push({issue:`managed-settings.json: strictPluginOnlyCustomization has an invalid value (expected true or an array, got ${typeof O})`,fix:`The field is silently ignored (schema .catch rescues it). Set it to true, or an array of: ${w86.join(", ")}.`});else{let Y=O.filter((H)=>typeof H==="string"&&!w86.includes(H));if(Y.length>0)q.push({issue:`managed-settings.json: strictPluginOnlyCustomization has ${Y.length} value(s) this client doesn't recognize: ${Y.map(String).join(", ")}`,fix:`These are silently ignored (forwards-compat). Known surfaces for this version: ${w86.join(", ")}. Either remove them, or this client is older than the managed-settings intended.`})}}catch{}let K=$_();if(_==="development")return q;if(_==="native"){let w=(process.env.PATH||"").split(lSz),O=is(),Y=vN(O,".local","bin"),H=Y;if(r_()==="windows")H=Y.split(TE6.sep).join(vE6.sep);if(!w.some((f)=>{let j=f;if(r_()==="windows")j=f.split(TE6.sep).join(vE6.sep);let J=j.replace(/\/+$/,""),X=f.replace(/[/\\]+$/,"");return J===H||X==="~/.local/bin"||X==="$HOME/.local/bin"}))if(r_()==="windows"){let j=Y.split(vE6.sep).join(TE6.sep);q.push({issue:`Native installation exists but ${j} is not in your PATH`,fix:"Add it by opening: System Properties → Environment Variables → Edit User PATH → New → Add the path above. Then restart your terminal."})}else{let j=rY6(),X=KF()[j],P=X?X.replace(is(),"~"):"your shell config file";q.push({issue:"Native installation exists but ~/.local/bin is not in your PATH",fix:`Run: echo 'export PATH="$HOME/.local/bin:$PATH"' >> ${P} then open a new terminal or run: source ${P}`})}}if(!C6(process.env.DISABLE_INSTALLATION_CHECKS)){if(_==="npm-local"&&K.installMethod!=="local")q.push({issue:`Running from local installation but config install method is '${K.installMethod}'`,fix:"Consider using native installation: puku-cli install"});if(_==="native"&&K.installMethod!=="native")q.push({issue:`Running native installation but config install method is '${K.installMethod}'`,fix:"Run puku-cli install to update configuration"})}if(_==="npm-global"&&await Qs())q.push({issue:"Local installation exists but not being used",fix:"Consider using native installation: puku-cli install"});let A=await $H8(),z=await HlK();if(_==="npm-local"){if(!await r9("puku-cli")&&!z)if(A)q.push({issue:"Local installation not accessible",fix:`Alias exists but points to invalid target: ${A}. Update alias: alias puku-cli="~/.puku-cli/local/puku-cli"`});else q.push({issue:"Local installation not accessible",fix:'Create alias: alias puku-cli="~/.puku-cli/local/puku-cli"'})}return q}function sSz(){if(r_()!=="linux")return[];let _=[],q=N8.getLinuxGlobPatternWarnings();if(q.length>0){let K=q.slice(0,3).join(", "),A=q.length-3,z=A>0?`${K} (${A} more)`:K;_.push({issue:"Glob patterns in sandbox permission rules are not fully supported on Linux",fix:`Found ${q.length} pattern(s): ${z}. On Linux, glob patterns in Edit/Read rules will be ignored.`})}return _}async function rs(){let _=await ns(),q=typeof MACRO<"u"?"99.0.0":"unknown",K=await nSz(),A=rSz(),z=await aSz(),$=await oSz(_);if($.push(...sSz()),_==="native"){let J=z.filter((P)=>P.type==="npm-global"||P.type==="npm-global-orphan"||P.type==="npm-local"),X=r_()==="windows";for(let P of J)if(P.type==="npm-global")$.push({issue:`Leftover npm global installation at ${P.path}`,fix:"Run: npm -g uninstall @puku/puku-cli"});else if(P.type==="npm-global-orphan")$.push({issue:`Orphaned npm global package at ${P.path}`,fix:X?`Run: rmdir /s /q "${P.path}"`:`Run: rm -rf ${P.path}`});else if(P.type==="npm-local")$.push({issue:`Leftover npm local installation at ${P.path}`,fix:X?`Run: rmdir /s /q "${P.path}"`:`Run: rm -rf ${P.path}`})}let O=$_().installMethod||"not set",Y=null;if(_==="npm-global"&&$8()==="firstParty"){if(Y=(await wH8()).hasPermissions,!Y&&!Ol())$.push({issue:"Insufficient permissions for auto-updates",fix:"Do one of: (1) Re-install node without sudo, or (2) Use `puku-cli install` for native installation"})}let H=Zrq(),M={working:H.working??!0,mode:H.mode,systemPath:H.mode==="system"?H.path:null},f=_==="package-manager"?await oY6():void 0;return{installationType:_,version:q,installationPath:K,invokedBinary:A,configInstallMethod:O,autoUpdates:(()=>{let J=Ol();return J?`disabled (${AJ6(J)})`:"enabled"})(),hasUpdatePermissions:Y,multipleInstallations:z,warnings:$,packageManager:f,ripgrepStatus:M}}var as=h(()=>{qM();KE();Y8();d8();R_();H7();o8();ls();F7();iY_();iK();mG();Nz();UT();FZ();UY_();m_();pZ()});import{homedir as tSz}from"os";import{join as nY_}from"path";function rY_(_){return{env:_?.env??process.env,home:_?.homedir??process.env.HOME??tSz()}}function aY_(_){let{env:q,home:K}=rY_(_);return q.XDG_STATE_HOME??nY_(K,".local","state")}function vlK(_){let{env:q,home:K}=rY_(_);return q.XDG_CACHE_HOME??nY_(K,".cache")}function TlK(_){let{env:q,home:K}=rY_(_);return q.XDG_DATA_HOME??nY_(K,".local","share")}function klK(_){let{home:q}=rY_(_);return nY_(q,".local","bin")}var XH8=()=>{};async function NlK(){return""}async function VlK(){throw Error("Native installer is not available in puku-cli.")}var ylK=()=>{};import{basename as eSz,join as RlK}from"path";function zF(){let _=process.env.ENABLE_PID_BASED_VERSION_LOCKING;if(C6(_))return!0;if(v4(_))return!1;return Q_("ev_event",!1)}function oY_(_){if(_<=1)return!1;try{return process.kill(_,0),!0}catch{return!1}}function qbz(_,q){if(!oY_(_))return!1;if(_===process.pid)return!0;try{let K=bzK(_);if(!K)return!0;let A=K.toLowerCase(),z=q.toLowerCase();return A.includes("puku-cli")||A.includes(z)}catch{return!0}}function os(_){let q=K_();try{let K=q.readFileSync(_,{encoding:"utf8"});if(!K||K.trim()==="")return null;let A=h_(K);if(typeof A.pid!=="number"||!A.version||!A.execPath)return null;return A}catch{return null}}function kE6(_){let q=os(_);if(!q)return!1;let{pid:K,execPath:A}=q;if(!oY_(K))return!1;if(!qbz(K,A))return V(`Lock PID ${K} is running but does not appear to be Claude - treating as stale`),!1;let z=K_();try{let $=z.statSync(_);if(Date.now()-$.mtimeMs>_bz){if(!oY_(K))return!1}}catch{}return!0}function Kbz(_,q){let K=K_(),A=`${_}.tmp.${process.pid}.${Date.now()}`;try{ew(A,x6(q,null,2),{encoding:"utf8",flush:!0}),K.renameSync(A,_)}catch(z){try{K.unlinkSync(A)}catch{}throw z}}async function LlK(_,q){let K=K_(),A=eSz(_);if(kE6(q)){let $=os(q);return V(`Cannot acquire lock for ${A} - held by PID ${$?.pid}`),null}let z={pid:process.pid,version:A,execPath:process.execPath,acquiredAt:Date.now()};try{if(Kbz(q,z),os(q)?.pid!==process.pid)return null;return V(`Acquired PID lock for ${A} (PID ${process.pid})`),()=>{try{if(os(q)?.pid===process.pid)K.unlinkSync(q),V(`Released PID lock for ${A}`)}catch(w){V(`Failed to release lock for ${A}: ${w}`)}}}catch($){return V(`Failed to acquire lock for ${A}: ${$}`),null}}async function ElK(_,q){let K=await LlK(_,q);if(!K)return!1;let A=()=>{try{K()}catch{}};return process.on("exit",A),process.on("SIGINT",A),process.on("SIGTERM",A),!0}async function hlK(_,q,K){let A=await LlK(_,q);if(!A)return!1;try{return await K(),!0}finally{A()}}function SlK(_){let q=K_(),K=[];try{let A=q.readdirStringSync(_).filter((z)=>z.endsWith(".lock"));for(let z of A){let $=RlK(_,z),w=os($);if(w)K.push({version:w.version,pid:w.pid,isProcessRunning:oY_(w.pid),execPath:w.execPath,acquiredAt:new Date(w.acquiredAt),lockFilePath:$})}}catch(A){if(D8(A))return K;K6(f8(A))}return K}function sY_(_){let q=K_(),K=0;try{let A=q.readdirStringSync(_).filter((z)=>z.endsWith(".lock"));for(let z of A){let $=RlK(_,z);try{if(q.lstatSync($).isDirectory())q.rmSync($,{recursive:!0,force:!0}),K++,V(`Cleaned up legacy directory lock: ${z}`);else if(!kE6($))q.unlinkSync($),K++,V(`Cleaned up stale lock: ${z}`)}catch{}}}catch(A){if(D8(A))return 0;K6(f8(A))}return K}var _bz=7200000;var PH8=h(()=>{__();R_();W_();o8();Kz6();D_();m_()});import{constants as Abz}from"fs";import{access as xlK,chmod as zbz,copyFile as DH8,lstat as $bz,mkdir as ts,readdir as eY_,readlink as ZH8,realpath as wbz,rename as _9_,rm as K9_,rmdir as Obz,stat as TN,symlink as Ybz,unlink as AE,writeFile as Hbz}from"fs/promises";import{homedir as ulK}from"os";import{basename as Mbz,delimiter as fbz,dirname as $x,join as b9,resolve as wx}from"path";function es(){let _=C8.platform,q=process.arch==="x64"?"x64":process.arch==="arm64"?"arm64":null;if(!q){let K=Error(`Unsupported architecture: ${process.arch}`);throw V(`Native installer does not support architecture: ${process.arch}`,{level:"error"}),K}if(_==="linux"&&zv.isMuslEnvironment())return`linux-${q}-musl`;return`${_}-${q}`}function plK(_){return _.startsWith("win32")?"puku-cli.exe":"puku-cli"}function zE(){let _=es(),q=plK(_);return{versions:b9(TlK(),"puku-cli","versions"),staging:b9(vlK(),"puku-cli","staging"),locks:b9(aY_(),"puku-cli","locks"),executable:b9(klK(),q)}}async function ss(_){try{let q=await TN(_);if(!q.isFile()||q.size===0)return!1;return await xlK(_,Abz.X_OK),!0}catch{return!1}}async function vH8(_){let q=zE(),K=[q.versions,q.staging,q.locks];await Promise.all(K.map(($)=>ts($,{recursive:!0})));let A=$x(q.executable);await ts(A,{recursive:!0});let z=b9(q.versions,_);try{await TN(z)}catch{await Hbz(z,"",{encoding:"utf8"})}return{stagingPath:b9(q.staging,_),installPath:z}}async function mlK(_,q,K=0){let A=zE(),z=VE6(A,_);if(await ts(A.locks,{recursive:!0}),zF()){let w=0,O=K+1,Y=K>0?1000:100,H=K>0?5000:500;while(w<O){if(await hlK(_,z,async()=>{try{await q()}catch(f){throw K6(f),f}}))return l("ev_event",{is_pid_based:!0,is_lifetime_lock:!1,attempts:w+1}),!0;if(w++,w<O){let f=Math.min(Y*Math.pow(2,w-1),H);await Qq(f)}}return l("ev_event",{is_pid_based:!0,is_lifetime_lock:!1,attempts:O}),q9_(_,Error("Lock held by another process")),!1}let $=null;try{try{$=await Nw(_,{stale:GH8,retries:{retries:K,minTimeout:K>0?1000:100,maxTimeout:K>0?5000:500},lockfilePath:z,onCompromised:(w)=>{V(`NON-FATAL: Version lock was compromised during operation: ${w.message}`,{level:"info"})}})}catch(w){return l("ev_event",{is_pid_based:!1,is_lifetime_lock:!1}),q9_(_,w),!1}try{return await q(),l("ev_event",{is_pid_based:!1,is_lifetime_lock:!1}),!0}catch(w){throw K6(w),w}}finally{if($)await $()}}async function glK(_,q){await ts($x(q),{recursive:!0});let K=`${q}.tmp.${process.pid}.${Date.now()}`;try{await DH8(_,K),await zbz(K,493),await _9_(K,q),V(`Atomically installed binary to ${q}`)}catch(A){try{await AE(K)}catch{}throw A}}async function jbz(_,q){try{let K=b9(_,"node_modules","@anthropic-ai"),z=(await eY_(K)).find((w)=>w.startsWith("claude-cli-native-"));if(!z)throw l("ev_event",{stage_find_package:!0,error_package_not_found:!0}),Error("Could not find platform-specific native package");let $=b9(K,z,"cli");try{await TN($)}catch{throw l("ev_event",{stage_binary_exists:!0,error_binary_not_found:!0}),Error("Native binary not found in staged package")}await glK($,q),await K9_(_,{recursive:!0,force:!0}),l("ev_event",{})}catch(K){let A=B6(K);if(!A.includes("Could not find platform-specific")&&!A.includes("Native binary not found"))l("ev_event",{stage_atomic_move:!0,error_move_failed:!0});throw K6(f8(K)),K}}async function Jbz(_,q){try{let K=es(),A=plK(K),z=b9(_,A);try{await TN(z)}catch{throw l("ev_event",{stage_binary_exists:!0,error_binary_not_found:!0}),Error("Staged binary not found")}await glK(z,q),await K9_(_,{recursive:!0,force:!0}),l("ev_event",{})}catch(K){if(!B6(K).includes("Staged binary not found"))l("ev_event",{stage_atomic_move:!0,error_move_failed:!0});throw K6(f8(K)),K}}async function Xbz(_,q,K){if(K==="npm")await jbz(_,q);else await Jbz(_,q)}async function blK(_,q){let{stagingPath:K,installPath:A}=await vH8(_),{executable:z}=zE(),$=C6(process.env.ENABLE_LOCKLESS_UPDATES)?`${K}.${process.pid}.${Date.now()}`:K,w=!await clK(_)||q;if(w){V(q?`Force reinstalling native installer version ${_}`:`Downloading native installer version ${_}`);let O=await VlK(_,$);await Xbz($,A,O)}else V(`Version ${_} already installed, updating symlink`);if(await Wbz(z),await Dbz(z,A),!await ss(z)){let O=!1;try{await TN(A),O=!0}catch{}throw Error(`Failed to create executable at ${z}. Source file exists: ${O}. Check write permissions to ${z}.`)}return w}async function clK(_){let{installPath:q}=await vH8(_);return ss(q)}async function Pbz(_,q=!1){let K=Date.now(),A=await NlK(_),{executable:z}=zE();if(V(`Checking for native installer update to version ${A}`),!q){let O=await AF();if(O&&wj(A,O)){if(V(`Native installer: maxVersion ${O} is set, capping update from ${A} to ${O}`),w1("99.0.0",O))return V(`Native installer: current version 99.0.0 is already at or above maxVersion ${O}, skipping update`),l("ev_event",{latency_ms:Date.now()-K,max_version:O,available_version:A}),{success:!0,latestVersion:A};A=O}}if(!q&&A==="99.0.0"&&await clK(A)&&await ss(z))return V(`Found ${A} at ${z}, skipping install`),l("ev_event",{latency_ms:Date.now()-K,was_new_install:!1,was_force_reinstall:!1,was_already_running:!0}),{success:!0,latestVersion:A};if(!q&&aY6(A))return l("ev_event",{latency_ms:Date.now()-K,target_version:A}),{success:!0,latestVersion:A};let $=!1,w;if(C6(process.env.ENABLE_LOCKLESS_UPDATES))$=await blK(A,q),w=Date.now()-K;else{let{installPath:O}=await vH8(A);if(q)await Gbz(O);let Y=await mlK(O,async()=>{$=await blK(A,q)},3);if(w=Date.now()-K,!Y){let H=zE(),M;if(zF()){let f=VE6(H,O);if(kE6(f))M=os(f)?.pid}return l("ev_event",{latency_ms:w,lock_holder_pid:M}),{success:!1,latestVersion:A,lockFailed:!0,lockHolderPid:M}}}return l("ev_event",{latency_ms:w,was_new_install:$,was_force_reinstall:q}),V(`Successfully updated to version ${A}`),{success:!0,latestVersion:A}}async function Wbz(_){try{await Obz(_),V(`Removed empty directory at ${_}`)}catch(q){let K=T8(q);if(K!=="ENOTDIR"&&K!=="ENOENT"&&K!=="ENOTEMPTY")V(`Could not remove directory at ${_}: ${q}`)}}async function Dbz(_,q){if(es().startsWith("win32"))try{let w=$x(_);await ts(w,{recursive:!0});let O;try{O=await TN(_)}catch{}if(O){try{let H=await TN(q);if(O.size===H.size)return!1}catch{}let Y=`${_}.old.${Date.now()}`;await _9_(_,Y);try{await DH8(q,_);try{await AE(Y)}catch{}}catch(H){try{await _9_(Y,_)}catch(M){let f=Error(`Failed to restore old executable: ${M}`,{cause:H});throw K6(f),f}throw H}}else try{await DH8(q,_)}catch(Y){if(D8(Y))throw Error(`Source file does not exist: ${q}`);throw Y}return!0}catch(w){return K6(Error(`Failed to copy executable from ${q} to ${_}: ${w}`)),!1}let z=$x(_);try{await ts(z,{recursive:!0}),V(`Created directory ${z} for symlink`)}catch(w){return K6(Error(`Failed to create directory ${z}: ${w}`)),!1}try{let w=!1;try{await TN(_),w=!0}catch{}if(w){try{let O=await ZH8(_),Y=wx($x(_),O),H=wx(q);if(Y===H)return!1}catch{}await AE(_)}}catch(w){K6(Error(`Failed to check/remove existing symlink: ${w}`))}let $=`${_}.tmp.${process.pid}.${Date.now()}`;try{return await Ybz(q,$),await _9_($,_),V(`Atomically updated symlink ${_} -> ${q}`),!0}catch(w){try{await AE($)}catch{}return K6(Error(`Failed to create symlink from ${_} to ${q}: ${w}`)),!1}}async function _t(_=!1){if(C6(process.env.DISABLE_INSTALLATION_CHECKS))return[];let q=await ns();if(q==="development")return[];let K=$_();if(!(_||q==="native"||K.installMethod==="native"))return[];let z=zE(),$=[],w=$x(z.executable),O=wx(w),H=es().startsWith("win32");try{await xlK(w)}catch{$.push({message:`installMethod is native, but directory ${w} does not exist`,userActionRequired:!0,type:"error"})}if(H){if(!await ss(z.executable))$.push({message:`installMethod is native, but claude command is missing or invalid at ${z.executable}`,userActionRequired:!0,type:"error"})}else try{let f=await ZH8(z.executable),j=wx($x(z.executable),f);if(!await ss(j))$.push({message:`Claude symlink points to missing or invalid binary: ${f}`,userActionRequired:!0,type:"error"})}catch(f){if(D8(f))$.push({message:`installMethod is native, but claude command not found at ${z.executable}`,userActionRequired:!0,type:"error"});else if(!await ss(z.executable))$.push({message:`${z.executable} exists but is not a valid Claude binary`,userActionRequired:!0,type:"error"})}if(!(process.env.PATH||"").split(fbz).some((f)=>{try{let j=wx(f);if(H)return j.toLowerCase()===O.toLowerCase();return j===O}catch{return!1}}))if(H){let f=w.replace(/\//g,"\\");$.push({message:`Native installation exists but ${f} is not in your PATH. Add it by opening: System Properties → Environment Variables → Edit User PATH → New → Add the path above. Then restart your terminal.`,userActionRequired:!0,type:"path"})}else{let f=rY6(),J=KF()[f],X=J?J.replace(ulK(),"~"):"your shell config file";$.push({message:`Native installation exists but ~/.local/bin is not in your PATH. Run:
5325
5325
 
5326
5326
  echo 'export PATH="$HOME/.local/bin:$PATH"' >> ${X} && source ${X}`,userActionRequired:!0,type:"path"})}return $}function NE6(_,q=!1){if(q)return ClK(_,q);if(tY_)return V("installLatest: joining in-flight call"),tY_;let K=ClK(_,q);tY_=K;let A=()=>{tY_=null};return K.then(A,A),K}async function ClK(_,q=!1){let K=await Pbz(_,q);if(!K.success)return{latestVersion:null,wasUpdated:!1,lockFailed:K.lockFailed,lockHolderPid:K.lockHolderPid};if($_().installMethod!=="native")b_((z)=>({...z,installMethod:"native",autoUpdates:!1,autoUpdatesProtectedForNative:!0})),V('Native installer: Set installMethod to "native" and disabled legacy auto-updater for protection');return sY6(),{latestVersion:K.latestVersion,wasUpdated:K.success,lockFailed:!1}}async function Zbz(_){try{let q=await ZH8(_),K=wx($x(_),q);if(await ss(K))return K}catch{}return null}function VE6(_,q){let K=Mbz(q);return b9(_.locks,`${K}.lock`)}async function TH8(){let _=zE();if(!process.execPath.includes(_.versions))return;let q=wx(process.execPath);try{let K=VE6(_,q);if(await ts(_.locks,{recursive:!0}),zF()){if(!await ElK(q,K)){l("ev_event",{is_pid_based:!0,is_lifetime_lock:!0}),q9_(q,Error("Lock already held by another process"));return}l("ev_event",{is_pid_based:!0,is_lifetime_lock:!0}),V(`Acquired PID lock on running version: ${q}`)}else{let A;try{A=await Nw(q,{stale:GH8,retries:0,lockfilePath:K,onCompromised:(z)=>{V(`NON-FATAL: Lock on running version was compromised: ${z.message}`,{level:"info"})}}),l("ev_event",{is_pid_based:!1,is_lifetime_lock:!0}),V(`Acquired mtime-based lock on running version: ${q}`),Uq(async()=>{try{await A?.()}catch{}})}catch(z){if(D8(z)){V(`Cannot lock current version - file does not exist: ${q}`,{level:"info"});return}l("ev_event",{is_pid_based:!1,is_lifetime_lock:!0}),q9_(q,z);return}}}catch(K){if(D8(K)){V(`Cannot lock current version - file does not exist: ${q}`,{level:"info"});return}V(`NON-FATAL: Failed to lock current version during execution ${B6(K)}`,{level:"info"})}}function q9_(_,q){K6(Error(`NON-FATAL: Lock acquisition failed for ${_} (expected in multi-process scenarios)`,{cause:q}))}async function Gbz(_){let q=zE(),K=VE6(q,_);try{await AE(K),V(`Force-removed lock file at ${K}`)}catch(A){V(`Failed to force-remove lock file: ${B6(A)}`)}}async function sY6(){await Promise.resolve();let _=zE(),q=Date.now()-3600000;if(es().startsWith("win32")){let $=$x(_.executable);try{let w=await eY_($),O=0;for(let Y of w){if(!/^puku-cli\.exe\.old\.\d+$/.test(Y))continue;try{await AE(b9($,Y)),O++}catch{}}if(O>0)V(`Cleaned up ${O} old Windows executables on startup`)}catch(w){if(!D8(w))V(`Failed to clean up old Windows executables: ${w}`)}}try{let $=await eY_(_.staging),w=0;for(let O of $){let Y=b9(_.staging,O);try{if((await TN(Y)).mtime.getTime()<q)await K9_(Y,{recursive:!0,force:!0}),w++,V(`Cleaned up old staging directory: ${O}`)}catch{}}if(w>0)V(`Cleaned up ${w} orphaned staging directories`),l("ev_event",{cleaned_count:w})}catch($){if(!D8($))V(`Failed to clean up staging directories: ${$}`)}if(zF()){let $=sY_(_.locks);if($>0)V(`Cleaned up ${$} stale version locks`),l("ev_event",{cleaned_count:$})}let K;try{K=await eY_(_.versions)}catch($){if(!D8($))V(`Failed to readdir versions directory: ${$}`);return}let A=[],z=0;for(let $ of K){let w=b9(_.versions,$);if(/\.tmp\.\d+\.\d+$/.test($)){try{if((await TN(w)).mtime.getTime()<q)await AE(w),z++,V(`Cleaned up orphaned temp install file: ${$}`)}catch{}continue}try{let O=await TN(w);if(!O.isFile())continue;if(process.platform!=="win32"&&O.size>0&&(O.mode&73)===0)continue;A.push({name:$,path:w,resolvedPath:wx(w),mtime:O.mtime})}catch{}}if(z>0)V(`Cleaned up ${z} orphaned temp install files`),l("ev_event",{cleaned_count:z});if(A.length===0)return;try{let $=process.execPath,w=new Set;if($&&$.includes(_.versions))w.add(wx($));let O=await Zbz(_.executable);if(O)w.add(O);for(let J of A){if(w.has(J.resolvedPath))continue;let X=VE6(_,J.resolvedPath),P=!1;if(zF())P=kE6(X);else try{P=await JU8(J.resolvedPath,{stale:GH8,lockfilePath:X})}catch{P=!1}if(P)w.add(J.resolvedPath),V(`Protecting locked version from cleanup: ${J.name}`)}let H=A.filter((J)=>!w.has(J.resolvedPath)).sort((J,X)=>X.mtime.getTime()-J.mtime.getTime()).slice(WH8);if(H.length===0){l("ev_event",{total_count:A.length,deleted_count:0,protected_count:w.size,retained_count:WH8,lock_failed_count:0,error_count:0});return}let M=0,f=0,j=0;await Promise.all(H.map(async(J)=>{try{if(await mlK(J.path,async()=>{await AE(J.path)}))M++;else f++,V(`Skipping deletion of ${J.name} - locked by another process`)}catch(X){j++,K6(Error(`Failed to delete version ${J.name}: ${X}`))}})),l("ev_event",{total_count:A.length,deleted_count:M,protected_count:w.size,retained_count:WH8,lock_failed_count:f,error_count:j})}catch($){if(!D8($))K6(Error(`Version cleanup failed: ${$}`))}}async function vbz(_){let q=_;if((await $bz(_)).isSymbolicLink())q=await wbz(_);return q.endsWith(".js")||q.includes("node_modules")}async function yE6(){let _=zE();try{if(await vbz(_.executable)){V(`Skipping removal of ${_.executable} - appears to be npm-managed`);return}await AE(_.executable),V(`Removed claude symlink at ${_.executable}`)}catch(q){if(D8(q))return;K6(Error(`Failed to remove claude symlink: ${q}`))}}async function kH8(){let _=[],q=KF();for(let[K,A]of Object.entries(q))try{let z=await DE6(A);if(!z)continue;let{filtered:$,hadAlias:w}=cY_(z);if(w)await BY_(A,$),_.push({message:`Removed claude alias from ${A}. Run: unalias claude`,userActionRequired:!0,type:"alias"}),V(`Cleaned up claude alias from ${K} config`)}catch(z){K6(z),_.push({message:`Failed to clean up ${A}: ${z}`,userActionRequired:!1,type:"error"})}return _}async function Tbz(_){try{let q=await g8("npm",["config","get","prefix"]);if(q.code!==0||!q.stdout)return{success:!1,error:"Failed to get npm global prefix"};let K=q.stdout.trim(),A=!1;async function z($,w){try{return await AE($),V(`Manually removed ${w}: ${$}`),!0}catch{return!1}}if(es().startsWith("win32")){let $=b9(K,"puku-cli.cmd"),w=b9(K,"puku-cli.ps1"),O=b9(K,"puku-cli");if(await z($,"bin script"))A=!0;if(await z(w,"PowerShell script"))A=!0;if(await z(O,"bin executable"))A=!0}else{let $=b9(K,"bin","puku-cli");if(await z($,"bin symlink"))A=!0}if(A){V(`Successfully removed ${_} manually`);let $=es().startsWith("win32")?b9(K,"node_modules",_):b9(K,"lib","node_modules",_);return{success:!0,warning:`${_} executables removed, but node_modules directory was left intact for safety. You may manually delete it later at: ${$}`}}else return{success:!1}}catch(q){return V(`Manual removal failed: ${q}`,{level:"error"}),{success:!1,error:`Manual removal failed: ${q}`}}}async function IlK(_){let{code:q,stderr:K}=await g8("npm",["uninstall","-g",_],{cwd:process.cwd()});if(q===0)return V(`Removed global npm installation of ${_}`),{success:!0};else if(K&&!K.includes("npm ERR! code E404")){if(K.includes("npm error code ENOTEMPTY")){V(`Failed to uninstall global npm package ${_}: ${K}`,{level:"error"}),V("Attempting manual removal due to ENOTEMPTY error");let A=await Tbz(_);if(A.success)return{success:!0,warning:A.warning};else if(A.error)return{success:!1,error:`Failed to remove global npm installation of ${_}: ${K}. Manual removal also failed: ${A.error}`}}return V(`Failed to uninstall global npm package ${_}: ${K}`,{level:"error"}),{success:!1,error:`Failed to remove global npm installation of ${_}: ${K}`}}return{success:!1}}async function NH8(){let _=[],q=[],K=0,A=await IlK("@anthropic-ai/claude-code");if(A.success){if(K++,A.warning)q.push(A.warning)}else if(A.error)_.push(A.error);{let $=await IlK("@puku/puku-cli");if($.success){if(K++,$.warning)q.push($.warning)}else if($.error)_.push($.error)}let z=b9(ulK(),".puku-cli","local");try{await K9_(z,{recursive:!0}),K++,V(`Removed local installation at ${z}`)}catch($){if(!D8($))_.push(`Failed to remove ${z}: ${$}`),V(`Failed to remove local installation: ${$}`,{level:"error"})}return{removed:K,errors:_,warnings:q}}var WH8=2,GH8=604800000,tY_=null;var BlK=h(()=>{KE();rA();Y8();__();as();n5();Az6();R_();W_();H7();ls();D_();UY_();XH8();ylK();PH8()});var $E=h(()=>{BlK()});function Ox(){let _=lh(),K=["user","project","local"].flatMap((A)=>DO(A).errors);return{settings:_.settings,errors:[..._.errors,...K]}}var RE6=h(()=>{zf();W8()});function UlK(){return[]}function FlK(_,q=null,K){let A=_?.find((z)=>z.name==="ide");if(q){let z=Uw(q.ideType),$=bk(q.ideType)?"plugin":"extension";if(q.error)return[{label:"IDE",value:y(T,{children:[l8("error",K)(n6.cross)," Error installing ",z," ",$,": ",q.error,`
5327
- `,"Please restart your IDE and try again."]})}];if(q.installed)if(A&&A.type==="connected")if(q.installedVersion!==A.serverInfo?.version)return[{label:"IDE",value:`Connected to ${z} ${$} version ${q.installedVersion} (server version: ${A.serverInfo?.version})`}];else return[{label:"IDE",value:`Connected to ${z} ${$} version ${q.installedVersion}`}];else return[{label:"IDE",value:`Installed ${z} ${$}`}]}else if(A){let z=oq8(A)??"IDE";if(A.type==="connected")return[{label:"IDE",value:`Connected to ${z} extension`}];else return[{label:"IDE",value:`${l8("error",K)(n6.cross)} Not connected to ${z}`}]}return[]}function dlK(_=[],q){let K=_.filter(($)=>$.name!=="ide");if(!K.length)return[];let A={connected:0,pending:0,needsAuth:0,failed:0};for(let $ of K)if($.type==="connected")A.connected++;else if($.type==="pending")A.pending++;else if($.type==="needs-auth")A.needsAuth++;else A.failed++;let z=[];if(A.connected)z.push(l8("success",q)(`${A.connected} connected`));if(A.needsAuth)z.push(l8("warning",q)(`${A.needsAuth} need auth`));if(A.pending)z.push(l8("inactive",q)(`${A.pending} pending`));if(A.failed)z.push(l8("error",q)(`${A.failed} failed`));return[{label:"MCP servers",value:`${z.join(", ")} ${l8("inactive",q)("· /mcp")}`}]}async function QlK(){let _=await aO(),q=Lr(_),K=[];return q.forEach((A)=>{let z=r7(A.path);K.push(`Large ${z} will impact performance (${q7(A.content.length)} chars > ${q7(HC)})`)}),K}function llK(){return[{label:"Setting sources",value:Fh().filter((A)=>{let z=s_(A);return z!==null&&Object.keys(z).length>0}).map((A)=>{if(A==="policySettings"){let z=Vp8();if(z===null)return null;switch(z){case"remote":return"Enterprise managed settings (remote)";case"plist":return"Enterprise managed settings (plist)";case"hklm":return"Enterprise managed settings (HKLM)";case"file":{let{hasBase:$,hasDropIns:w}=Tp8();if($&&w)return"Enterprise managed settings (file + drop-ins)";if(w)return"Enterprise managed settings (drop-ins)";return"Enterprise managed settings (file)"}case"hkcu":return"Enterprise managed settings (HKCU)"}}return Yu8(A)}).filter((A)=>A!==null)}]}async function ilK(){return(await _t()).map((q)=>q.message)}async function nlK(){let _=await rs(),q=[],{errors:K}=Ox();if(K.length>0){let z=Array.from(new Set(K.map(($)=>$.file))).join(", ");q.push(`Found invalid settings files: ${z}. They will be ignored.`)}if(_.warnings.forEach((A)=>{q.push(A.issue)}),_.hasUpdatePermissions===!1)q.push("No write permissions for auto-updates (requires sudo)");return q}function kbz(_){return{ANTHROPIC_AUTH_TOKEN:"Environment variable",PUKU_CLI_OAUTH_TOKEN:"Puku OAuth token",PUKU_CLI_OAUTH_TOKEN_FILE_DESCRIPTOR:"Puku OAuth token (file descriptor)",CCR_OAUTH_TOKEN_FILE:"Puku OAuth token (CCR)",apiKeyHelper:"API key helper","claude.ai":"Puku.ai",none:"Not set"}[_]??_}function Nbz(_){return{PUKU_AI_API_KEY:"Environment variable",apiKeyHelper:"API key helper","/login managed key":"Managed by Puku",none:"Not set"}[_]??_}function rlK(){let _=A46();if(!_)return[];let q=[];if(_.subscription)q.push({label:"Login method",value:`${_.subscription} Account`});if(_.tokenSource)q.push({label:"Auth token",value:kbz(_.tokenSource)});if(_.apiKeySource)q.push({label:"API key",value:Nbz(_.apiKeySource)});if(_.organization&&!process.env.IS_DEMO)q.push({label:"Organization",value:_.organization});if(_.email&&!process.env.IS_DEMO)q.push({label:"Email",value:_.email});return q}function alK(){let _=$8(),q=[];if(_!=="firstParty"){let z={bedrock:"AWS Bedrock",vertex:"Google Vertex AI",foundry:"Microsoft Foundry",openai:"OpenAI-compatible",codex:"Codex",gemini:"Google Gemini"}[_];q.push({label:"API provider",value:z})}if(_==="bedrock"){let z=process.env.BEDROCK_BASE_URL;if(z)q.push({label:"Bedrock base URL",value:z});if(q.push({label:"AWS region",value:Cd()}),C6(process.env.PUKU_CLI_SKIP_BEDROCK_AUTH))q.push({value:"AWS auth skipped"})}else if(_==="vertex"){let z=process.env.VERTEX_BASE_URL;if(z)q.push({label:"Vertex base URL",value:z});let $=process.env.ANTHROPIC_VERTEX_PROJECT_ID;if($)q.push({label:"GCP project",value:$});if(q.push({label:"Default region",value:YC6()}),C6(process.env.PUKU_CLI_SKIP_VERTEX_AUTH))q.push({value:"GCP auth skipped"})}else if(_==="foundry"){let z=process.env.ANTHROPIC_FOUNDRY_BASE_URL;if(z)q.push({label:"Microsoft Foundry base URL",value:z});let $=process.env.ANTHROPIC_FOUNDRY_RESOURCE;if($)q.push({label:"Microsoft Foundry resource",value:$});if(C6(process.env.PUKU_CLI_SKIP_FOUNDRY_AUTH))q.push({value:"Microsoft Foundry auth skipped"})}else if(_==="openai"){let z=process.env.OPENAI_BASE_URL;if(z)q.push({label:"OpenAI base URL",value:nP(z,process.env)??z});let $=process.env.OPENAI_MODEL;if($){let w=$,O=c1({model:$}),Y=O.resolvedModel,H=O.reasoning?.effort;if(Y&&Y!==$.toLowerCase())w=Y;if(H)w=`${w} (${H})`;q.push({label:"Model",value:nP(w,process.env)??w})}}else if(_==="codex"){let z=process.env.OPENAI_BASE_URL;if(z)q.push({label:"Codex base URL",value:nP(z,process.env)??z});let $=process.env.OPENAI_MODEL;if($){let w=$,O=c1({model:$}),Y=O.resolvedModel,H=O.reasoning?.effort;if(Y&&Y!==$.toLowerCase())w=Y;if(H)w=`${w} (${H})`;q.push({label:"Model",value:nP(w,process.env)??w})}}else if(_==="gemini"){let z=process.env.GEMINI_BASE_URL;if(z)q.push({label:"Gemini base URL",value:nP(z,process.env)??z});let $=process.env.GEMINI_MODEL;if($)q.push({label:"Model",value:nP($,process.env)??$})}let K=jG();if(K)q.push({label:"Proxy",value:K});let A=wG();if(process.env.NODE_EXTRA_CA_CERTS)q.push({label:"Additional CA cert(s)",value:process.env.NODE_EXTRA_CA_CERTS});if(A){if(A.cert&&process.env.PUKU_CLI_CLIENT_CERT)q.push({label:"mTLS client cert",value:process.env.PUKU_CLI_CLIENT_CERT});if(A.key&&process.env.PUKU_CLI_CLIENT_KEY)q.push({label:"mTLS client key",value:process.env.PUKU_CLI_CLIENT_KEY})}return q}function olK(_){let q=k2(_);if(_===null&&Hq()){let K=LD6();q=`${Y_.bold("Default")} ${K}`}return q}var slK=h(()=>{N4();Lq();Q6();Kq();f9();as();R_();M7();qq();Mw();Sq();F7();qh();eV();$E();tJ();Nz();RE6();L3();W8();tH6();a()});function Vbz(){let _=X_(),K=Mf(_)??D(T,{dimColor:!0,children:"/rename to add a name"});return[{label:"Version",value:"1.8.41"},{label:"Session name",value:K},{label:"Session ID",value:_},{label:"cwd",value:M_()},...rlK(),...alK()]}function ybz({mainLoopModel:_,mcp:q,theme:K,context:A}){return[{label:"Model",value:olK(_)},...FlK(q.clients,A.options.ideInstallationStatus,K),...dlK(q.clients,K),...UlK(),...llK()]}async function tlK(){return[...await ilK(),...await nlK(),...await QlK()]}function Rbz(_){let q=A9_.c(8),{value:K}=_;if(Array.isArray(K)){let A;if(q[0]!==K){let $;if(q[2]!==K.length)$=(w,O)=>y(T,{children:[w,O<K.length-1?",":""]},O),q[2]=K.length,q[3]=$;else $=q[3];A=K.map($),q[0]=K,q[1]=A}else A=q[1];let z;if(q[4]!==A)z=D(x,{flexWrap:"wrap",columnGap:1,flexShrink:99,children:A}),q[4]=A,q[5]=z;else z=q[5];return z}if(typeof K==="string"){let A;if(q[6]!==K)A=D(T,{children:K}),q[6]=K,q[7]=A;else A=q[7];return A}return K}function elK(_){let q=A9_.c(20),{context:K,diagnosticsPromise:A}=_,z=z_(Sbz),$=z_(hbz),[w]=Yq(),O;if(q[0]===Symbol.for("react.memo_cache_sentinel"))O=Vbz(),q[0]=O;else O=q[0];let Y;if(q[1]!==K||q[2]!==z||q[3]!==$||q[4]!==w)Y=ybz({mainLoopModel:z,mcp:$,theme:w,context:K}),q[1]=K,q[2]=z,q[3]=$,q[4]=w,q[5]=Y;else Y=q[5];let H;if(q[6]!==Y)H=[O,Y],q[6]=Y,q[7]=H;else H=q[7];let M=H,f=dX()?1:void 0,j;if(q[8]!==M)j=M.map(Lbz),q[8]=M,q[9]=j;else j=q[9];let J;if(q[10]!==A)J=D(z9_.Suspense,{fallback:null,children:D(bbz,{promise:A})}),q[10]=A,q[11]=J;else J=q[11];let X;if(q[12]!==f||q[13]!==j||q[14]!==J)X=y(x,{flexDirection:"column",gap:1,flexGrow:f,children:[j,J]}),q[12]=f,q[13]=j,q[14]=J,q[15]=X;else X=q[15];let P;if(q[16]===Symbol.for("react.memo_cache_sentinel"))P=D(T,{dimColor:!0,children:D(F_,{action:"confirm:no",context:"Settings",fallback:"Esc",description:"cancel"})}),q[16]=P;else P=q[16];let W;if(q[17]!==f||q[18]!==X)W=y(x,{flexDirection:"column",flexGrow:f,children:[X,P]}),q[17]=f,q[18]=X,q[19]=W;else W=q[19];return W}function Lbz(_,q){return _.length>0&&D(x,{flexDirection:"column",children:_.map(Ebz)},q)}function Ebz(_,q){let{label:K,value:A}=_;return y(x,{flexDirection:"row",gap:1,flexShrink:0,children:[K!==void 0&&y(T,{bold:!0,children:[K,":"]}),D(Rbz,{value:A})]},q)}function hbz(_){return _.mcp}function Sbz(_){return _.mainLoopModel}function bbz(_){let q=A9_.c(5),{promise:K}=_,A=z9_.use(K);if(A.length===0)return null;let z;if(q[0]===Symbol.for("react.memo_cache_sentinel"))z=D(T,{bold:!0,children:"System Diagnostics"}),q[0]=z;else z=q[0];let $;if(q[1]!==A)$=A.map(Cbz),q[1]=A,q[2]=$;else $=q[2];let w;if(q[3]!==$)w=y(x,{flexDirection:"column",paddingBottom:1,children:[z,$]}),q[3]=$,q[4]=w;else w=q[4];return w}function Cbz(_,q){return y(x,{flexDirection:"row",gap:1,paddingX:1,children:[D(T,{color:"error",children:n6.warning}),typeof _==="string"?D(T,{wrap:"wrap",children:_}):_]},q)}var A9_,z9_;var _iK=h(()=>{Lq();J_();tR();Q6();c8();d8();VK();slK();c7();a();A9_=A6(s6(),1),z9_=A6(a6(),1)});function VH8(){return!1}async function qiK(){return!1}function yH8(){return!1}function KiK(){return!0}function AiK(){return null}var tY6=h(()=>{Kq();R_()});function eY6(_){let q=ziK.c(59),{onThemeSelect:K,showIntroText:A,helpText:z,showHelpTextBelow:$,hideEscToCancel:w,skipExitHandling:O,onCancel:Y}=_,H=A===void 0?!1:A,M=z===void 0?"":z,f=$===void 0?!1:$,j=w===void 0?!1:w,J=O===void 0?!1:O,[X]=Yq(),P=C46(),{columns:W}=G8(),Z;if(q[0]===Symbol.for("react.memo_cache_sentinel"))Z=HR6(),q[0]=Z;else Z=q[0];let G=Z,v;if(q[1]!==X)v=G===null?LLK(X):null,q[1]=X,q[2]=v;else v=q[2];let k=v,{setPreviewTheme:N,savePreview:L,cancelPreview:b}=Do6(),C=z_(xbz)??!1,I=U8();wK_("ThemePicker");let p=u7("theme:toggleSyntaxHighlighting","ThemePicker","ctrl+t"),m;if(q[3]!==I||q[4]!==C)m=()=>{if(G===null){let q6=!C;k8("userSettings",{syntaxHighlightingDisabled:q6}),I((Y6)=>({...Y6,settings:{...Y6.settings,syntaxHighlightingDisabled:q6}}))}},q[3]=I,q[4]=C,q[5]=m;else m=q[5];let g;if(q[6]===Symbol.for("react.memo_cache_sentinel"))g={context:"ThemePicker"},q[6]=g;else g=q[6];U_("theme:toggleSyntaxHighlighting",m,g);let c=e7(J?Ibz:void 0),u;if(q[7]===Symbol.for("react.memo_cache_sentinel"))u=[...[],{label:"Dark mode",value:"dark"},{label:"Light mode",value:"light"},{label:"Dark mode (colorblind-friendly)",value:"dark-daltonized"},{label:"Light mode (colorblind-friendly)",value:"light-daltonized"},{label:"Dark mode (ANSI colors only)",value:"dark-ansi"},{label:"Light mode (ANSI colors only)",value:"light-ansi"}],q[7]=u;else u=q[7];let U=u,F;if(q[8]!==H)F=H?D(T,{children:"Let's get started."}):D(T,{bold:!0,color:"permission",children:"Theme"}),q[8]=H,q[9]=F;else F=q[9];let Q;if(q[10]===Symbol.for("react.memo_cache_sentinel"))Q=D(T,{bold:!0,children:"Choose the text style that looks best with your terminal"}),q[10]=Q;else Q=q[10];let o;if(q[11]!==M||q[12]!==f)o=M&&!f&&D(T,{dimColor:!0,children:M}),q[11]=M,q[12]=f,q[13]=o;else o=q[13];let z6;if(q[14]!==o)z6=y(x,{flexDirection:"column",children:[Q,o]}),q[14]=o,q[15]=z6;else z6=q[15];let t;if(q[16]!==N)t=(q6)=>{N(q6)},q[16]=N,q[17]=t;else t=q[17];let e;if(q[18]!==K||q[19]!==L)e=(q6)=>{L(),K(q6)},q[18]=K,q[19]=L,q[20]=e;else e=q[20];let s;if(q[21]!==b||q[22]!==Y||q[23]!==J)s=J?()=>{b(),Y?.()}:async()=>{b(),await z7(0)},q[21]=b,q[22]=Y,q[23]=J,q[24]=s;else s=q[24];let n;if(q[25]!==t||q[26]!==e||q[27]!==s||q[28]!==P)n=D(g_,{options:U,onFocus:t,onChange:e,onCancel:s,visibleOptionCount:U.length,defaultValue:P,defaultFocusValue:P}),q[25]=t,q[26]=e,q[27]=s,q[28]=P,q[29]=n;else n=q[29];let r;if(q[30]!==F||q[31]!==z6||q[32]!==n)r=y(x,{flexDirection:"column",gap:1,children:[F,z6,n]}),q[30]=F,q[31]=z6,q[32]=n,q[33]=r;else r=q[33];let M6;if(q[34]===Symbol.for("react.memo_cache_sentinel"))M6={oldStart:1,newStart:1,oldLines:3,newLines:3,lines:[" function greet() {",'- console.log("Hello, World!");','+ console.log("Hello, Puku CLI!");'," }"]},q[34]=M6;else M6=q[34];let _6;if(q[35]!==W)_6=D(x,{flexDirection:"column",borderTop:!0,borderBottom:!0,borderLeft:!1,borderRight:!1,borderStyle:"dashed",borderColor:"subtle",children:D(CL,{patch:M6,dim:!1,filePath:"demo.js",firstLine:null,width:W})}),q[35]=W,q[36]=_6;else _6=q[36];let J6=G==="env"?`Syntax highlighting disabled (via PUKU_CLI_SYNTAX_HIGHLIGHT=${process.env.PUKU_CLI_SYNTAX_HIGHLIGHT})`:C?`Syntax highlighting disabled (${p} to enable)`:k?`Syntax theme: ${k.theme}${k.source?` (from ${k.source})`:""} (${p} to disable)`:`Syntax highlighting enabled (${p} to disable)`,w6;if(q[37]!==J6)w6=y(T,{dimColor:!0,children:[" ",J6]}),q[37]=J6,q[38]=w6;else w6=q[38];let f6;if(q[39]!==_6||q[40]!==w6)f6=y(x,{flexDirection:"column",width:"100%",children:[_6,w6]}),q[39]=_6,q[40]=w6,q[41]=f6;else f6=q[41];let $6;if(q[42]!==r||q[43]!==f6)$6=y(x,{flexDirection:"column",gap:1,children:[r,f6]}),q[42]=r,q[43]=f6,q[44]=$6;else $6=q[44];let H6=$6;if(!H){let q6;if(q[45]!==H6)q6=D(x,{flexDirection:"column",children:H6}),q[45]=H6,q[46]=q6;else q6=q[46];let Y6;if(q[47]!==M||q[48]!==f)Y6=f&&M&&D(x,{marginLeft:3,children:D(T,{dimColor:!0,children:M})}),q[47]=M,q[48]=f,q[49]=Y6;else Y6=q[49];let v6;if(q[50]!==c||q[51]!==j)v6=!j&&D(x,{children:D(T,{dimColor:!0,italic:!0,children:c.pending?y(q_,{children:["Press ",c.keyName," again to exit"]}):y(w8,{children:[D(C_,{shortcut:"Enter",action:"select"}),D(C_,{shortcut:"Esc",action:"cancel"})]})})}),q[50]=c,q[51]=j,q[52]=v6;else v6=q[52];let m6;if(q[53]!==Y6||q[54]!==v6)m6=y(x,{marginTop:1,children:[Y6,v6]}),q[53]=Y6,q[54]=v6,q[55]=m6;else m6=q[55];let S6;if(q[56]!==q6||q[57]!==m6)S6=y(q_,{children:[q6,m6]}),q[56]=q6,q[57]=m6,q[58]=S6;else S6=q[58];return S6}return H6}function Ibz(){}function xbz(_){return _.settings.syntaxHighlightingDisabled}var ziK;var w9_=h(()=>{Hw();IK();Q6();IC();$q();D9();c8();u$();W8();M5();aK();G7();L$_();qO6();a();ziK=A6(s6(),1)});function _96(_){switch(_){case"low":return Du8;case"medium":return Zu8;case"high":return NN_;case"max":return Gu8;default:return NN_}}var O9_=h(()=>{l5();Mj()});function qt(_){let q=EH8.c(82),{initial:K,sessionModel:A,onSelect:z,onCancel:$,isStandaloneCommand:w,showFastModeNotice:O,headerText:Y,skipSettingsWrite:H}=_,M=U8(),f=e7(),j=K===null?H9_:K,[J,X]=Y9_.useState(j),P=z_(gbz),[W,Z]=Y9_.useState(!1),G=z_(mbz),v;if(q[0]!==G)v=G!==void 0?Jr(G):void 0,q[0]=G,q[1]=v;else v=q[1];let[k,N]=Y9_.useState(v),L=P??!1,b;if(q[2]!==L)b=bU(L),q[2]=L,q[3]=b;else b=q[3];let C=b,I;_:{if(K!==null&&!C.some((G6)=>G6.value===K)){let G6;if(q[4]!==K)G6=k2(K),q[4]=K,q[5]=G6;else G6=q[5];let j6;if(q[6]!==K||q[7]!==G6)j6={value:K,label:G6,description:"Current model"},q[6]=K,q[7]=G6,q[8]=j6;else j6=q[8];let T6;if(q[9]!==C||q[10]!==j6)T6=[...C,j6],q[9]=C,q[10]=j6,q[11]=T6;else T6=q[11];I=T6;break _}I=C}let p=I,m;if(q[12]!==p)m=p.map(pbz),q[12]=p,q[13]=m;else m=q[13];let g=m,c;if(q[14]!==j||q[15]!==g)c=g.some((G6)=>G6.value===j)?j:g[0]?.value??void 0,q[14]=j,q[15]=g,q[16]=c;else c=q[16];let u=c,U=Math.min(10,g.length),F=Math.max(0,g.length-U),Q;if(q[17]!==J||q[18]!==g)Q=g.find((G6)=>G6.value===J)?.label,q[17]=J,q[18]=g,q[19]=Q;else Q=q[19];let o=Q,z6,t;if(q[20]!==J){let G6=LH8(J);z6=G6?DX(G6):!1,t=G6?_56(G6):!1,q[20]=J,q[21]=z6,q[22]=t}else z6=q[21],t=q[22];let e=t,s;if(q[23]!==J)s=RH8(J),q[23]=J,q[24]=s;else s=q[24];let n=s,r=k==="max"&&!e?"high":k,M6;if(q[25]!==G||q[26]!==W)M6=(G6)=>{if(X(G6),!W&&G===void 0)N(RH8(G6))},q[25]=G,q[26]=W,q[27]=M6;else M6=q[27];let _6=M6,J6;if(q[28]!==n||q[29]!==z6||q[30]!==e)J6=(G6)=>{if(!z6)return;N((j6)=>cbz(j6??n,G6,e)),Z(!0)},q[28]=n,q[29]=z6,q[30]=e,q[31]=J6;else J6=q[31];let w6=J6,f6;if(q[32]!==w6)f6={"modelPicker:decreaseEffort":()=>w6("left"),"modelPicker:increaseEffort":()=>w6("right")},q[32]=w6,q[33]=f6;else f6=q[33];let $6;if(q[34]===Symbol.for("react.memo_cache_sentinel"))$6={context:"ModelPicker"},q[34]=$6;else $6=q[34];jq(f6,$6);let H6;if(q[35]!==k||q[36]!==W||q[37]!==z||q[38]!==M||q[39]!==H)H6=function(j6){if(l("ev_event",{effort:k}),!H){let k6=Oaq(k,RH8(j6),s_("userSettings")?.effortLevel,W),I6=Xc(k6);if(I6!==void 0)k8("userSettings",{effortLevel:I6});M((o6)=>({...o6,effortValue:k6}))}let T6=LH8(j6),R6=W&&T6&&DX(T6)?k:void 0;if(j6===H9_){z(null,R6);return}z(j6,R6)},q[35]=k,q[36]=W,q[37]=z,q[38]=M,q[39]=H,q[40]=H6;else H6=q[40];let q6=H6,Y6;if(q[41]===Symbol.for("react.memo_cache_sentinel"))Y6=D(T,{color:"remember",bold:!0,children:"Select model"}),q[41]=Y6;else Y6=q[41];let v6=Y??"Switch between puku-ai models. Applies to this session and future puku-cli sessions. For other/previous model names, specify with --model.",m6;if(q[42]!==v6)m6=D(T,{dimColor:!0,children:v6}),q[42]=v6,q[43]=m6;else m6=q[43];let S6;if(q[44]!==A)S6=A&&y(T,{dimColor:!0,children:["Currently using ",k2(A)," for this session (set by plan mode). Selecting a model will undo this."]}),q[44]=A,q[45]=S6;else S6=q[45];let c6;if(q[46]!==m6||q[47]!==S6)c6=y(x,{marginBottom:1,flexDirection:"column",children:[Y6,m6,S6]}),q[46]=m6,q[47]=S6,q[48]=c6;else c6=q[48];let l6=$??ubz,h6;if(q[49]!==_6||q[50]!==q6||q[51]!==u||q[52]!==j||q[53]!==g||q[54]!==l6||q[55]!==U)h6=D(x,{flexDirection:"column",children:D(g_,{defaultValue:j,defaultFocusValue:u,options:g,onChange:q6,onFocus:_6,onCancel:l6,visibleOptionCount:U})}),q[49]=_6,q[50]=q6,q[51]=u,q[52]=j,q[53]=g,q[54]=l6,q[55]=U,q[56]=h6;else h6=q[56];let L6;if(q[57]!==F)L6=F>0&&D(x,{paddingLeft:3,children:y(T,{dimColor:!0,children:["and ",F," more…"]})}),q[57]=F,q[58]=L6;else L6=q[58];let W6;if(q[59]!==h6||q[60]!==L6)W6=y(x,{flexDirection:"column",marginBottom:1,children:[h6,L6]}),q[59]=h6,q[60]=L6,q[61]=W6;else W6=q[61];let X6;if(q[62]!==r||q[63]!==n||q[64]!==o||q[65]!==z6)X6=D(x,{marginBottom:1,flexDirection:"column",children:z6?y(T,{dimColor:!0,children:[D($iK,{effort:r})," ",FC(r)," effort",r===n?" (default)":""," ",D(T,{color:"subtle",children:"← → to adjust"})]}):y(T,{color:"subtle",children:[D($iK,{effort:void 0})," Effort not supported",o?` for ${o}`:""]})}),q[62]=r,q[63]=n,q[64]=o,q[65]=z6,q[66]=X6;else X6=q[66];let F6;if(q[67]!==O)F6=oK()?O?D(x,{marginBottom:1,children:y(T,{dimColor:!0,children:["Fast mode is ",D(T,{bold:!0,children:"ON"})," and available with"," ",v0," only (/fast). Switching to other models turn off fast mode."]})}):NY()&&!Cy()?D(x,{marginBottom:1,children:y(T,{dimColor:!0,children:["Use ",D(T,{bold:!0,children:"/fast"})," to turn on Fast mode (",v0," only)."]})}):null:null,q[67]=O,q[68]=F6;else F6=q[68];let d6;if(q[69]!==c6||q[70]!==W6||q[71]!==X6||q[72]!==F6)d6=y(x,{flexDirection:"column",children:[c6,W6,X6,F6]}),q[69]=c6,q[70]=W6,q[71]=X6,q[72]=F6,q[73]=d6;else d6=q[73];let V6;if(q[74]!==f||q[75]!==w)V6=w&&D(T,{dimColor:!0,italic:!0,children:f.pending?y(q_,{children:["Press ",f.keyName," again to exit"]}):y(w8,{children:[D(C_,{shortcut:"Enter",action:"confirm"}),D(F_,{action:"select:cancel",context:"Select",fallback:"Esc",description:"exit"})]})}),q[74]=f,q[75]=w,q[76]=V6;else V6=q[76];let y6;if(q[77]!==d6||q[78]!==V6)y6=y(x,{flexDirection:"column",children:[d6,V6]}),q[77]=d6,q[78]=V6,q[79]=y6;else y6=q[79];let u6=y6;if(!w)return u6;let D6;if(q[80]!==u6)D6=D(H5,{color:"permission",children:u6}),q[80]=u6,q[81]=D6;else D6=q[81];return D6}function ubz(){}function pbz(_){return{..._,value:_.value===null?H9_:_.value}}function mbz(_){return _.effortValue}function gbz(_){return oK()?_.fastMode:!1}function LH8(_){if(!_)return;return _===H9_?LM():j7(_)}function $iK(_){let q=EH8.c(5),{effort:K}=_,A=K?"puku":"subtle",z=K??"low",$;if(q[0]!==z)$=_96(z),q[0]=z,q[1]=$;else $=q[1];let w;if(q[2]!==A||q[3]!==$)w=D(T,{color:A,children:$}),q[2]=A,q[3]=$,q[4]=w;else w=q[4];return w}function cbz(_,q,K){let A=K?["low","medium","high","max"]:["low","medium","high"],z=A.indexOf(_),$=z!==-1?z:A.indexOf("high");if(q==="right")return A[($+1)%A.length];else return A[($-1+A.length)%A.length]}function RH8(_){let q=LH8(_)??LM(),K=DT6(q);return K!==void 0?Jr(K):"high"}var EH8,Y9_,H9_="__NO_PREFERENCE__";var M9_=h(()=>{TN6();Hw();RM();Q6();$q();c8();Mj();Sq();lR6();W8();c7();M5();aK();G7();kH();O9_();a();EH8=A6(s6(),1),Y9_=A6(a6(),1)});function Kt(_,q,K){if(!Hq())return!1;if(q)return!0;if(_===null||!uW(_))return!1;let A=_.toLowerCase().replace(/\[1m\]$/,"").trim(),z=A==="opus"||A.includes("opus-4-6"),$=A==="sonnet"||A.includes("sonnet-4-6");if(z&&K)return!1;return z||$}var f9_=h(()=>{Kq();A1()});var YiK={};N_(YiK,{PukuMdExternalIncludesDialog:()=>hH8});function hH8(_){let q=wiK.c(18),{onDone:K,isStandaloneDialog:A,externalIncludes:z}=_,$;if(q[0]===Symbol.for("react.memo_cache_sentinel"))$=[],q[0]=$;else $=q[0];OiK.default.useEffect(dbz,$);let w;if(q[1]!==K)w=(G)=>{if(G==="no")l("ev_event",{}),h3(Fbz);else l("ev_event",{}),h3(Ubz);K()},q[1]=K,q[2]=w;else w=q[2];let O=w,Y;if(q[3]!==O)Y=()=>{O("no")},q[3]=O,q[4]=Y;else Y=q[4];let H=Y,M=!A,f=!A,j;if(q[5]===Symbol.for("react.memo_cache_sentinel"))j=D(T,{children:"This project's CLAUDE.md imports files outside the current working directory. Never allow this for third-party repositories."}),q[5]=j;else j=q[5];let J;if(q[6]!==z)J=z&&z.length>0&&y(x,{flexDirection:"column",children:[D(T,{dimColor:!0,children:"External imports:"}),z.map(Bbz)]}),q[6]=z,q[7]=J;else J=q[7];let X;if(q[8]===Symbol.for("react.memo_cache_sentinel"))X=y(T,{dimColor:!0,children:["Important: Only use Puku with files you trust. Accessing untrusted files may pose security risks"," ",D(cq,{url:"https://puku.sh/docs/en/security"})," "]}),q[8]=X;else X=q[8];let P;if(q[9]===Symbol.for("react.memo_cache_sentinel"))P=[{label:"Yes, allow external imports",value:"yes"},{label:"No, disable external imports",value:"no"}],q[9]=P;else P=q[9];let W;if(q[10]!==O)W=D(g_,{options:P,onChange:(G)=>O(G)}),q[10]=O,q[11]=W;else W=q[11];let Z;if(q[12]!==H||q[13]!==W||q[14]!==M||q[15]!==f||q[16]!==J)Z=y(q8,{title:"Allow external CLAUDE.md file imports?",color:"warning",onCancel:H,hideBorder:M,hideInputGuide:f,children:[j,J,X,W]}),q[12]=H,q[13]=W,q[14]=M,q[15]=f,q[16]=J,q[17]=Z;else Z=q[17];return Z}function Bbz(_,q){return y(T,{dimColor:!0,children:[" ",_.path]},q)}function Ubz(_){return{..._,hasClaudeMdExternalIncludesApproved:!0,hasClaudeMdExternalIncludesWarningShown:!0}}function Fbz(_){return{..._,hasClaudeMdExternalIncludesApproved:!1,hasClaudeMdExternalIncludesWarningShown:!0}}function dbz(){l("ev_event",{})}var wiK,OiK;var SH8=h(()=>{Q6();Y8();M5();cK();a();wiK=A6(s6(),1),OiK=A6(a6(),1)});function MiK(_){let q=HiK.c(17),{currentVersion:K,onChoice:A}=_,z;if(q[0]!==A)z=function(W){A(W)},q[0]=A,q[1]=z;else z=q[1];let $=z,w;if(q[2]!==A)w=function(){A("cancel")},q[2]=A,q[3]=w;else w=q[3];let O=w,Y;if(q[4]!==K)Y=y(T,{children:["The stable channel may have an older version than what you're currently running (",K,")."]}),q[4]=K,q[5]=Y;else Y=q[5];let H;if(q[6]===Symbol.for("react.memo_cache_sentinel"))H=D(T,{dimColor:!0,children:"How would you like to handle this?"}),q[6]=H;else H=q[6];let M;if(q[7]===Symbol.for("react.memo_cache_sentinel"))M={label:"Allow possible downgrade to stable version",value:"downgrade"},q[7]=M;else M=q[7];let f=`Stay on current version (${K}) until stable catches up`,j;if(q[8]!==f)j=[M,{label:f,value:"stay"}],q[8]=f,q[9]=j;else j=q[9];let J;if(q[10]!==$||q[11]!==j)J=D(g_,{options:j,onChange:$}),q[10]=$,q[11]=j,q[12]=J;else J=q[12];let X;if(q[13]!==O||q[14]!==Y||q[15]!==J)X=y(q8,{title:"Switch to Stable Channel",onCancel:O,color:"permission",hideBorder:!0,hideInputGuide:!0,children:[Y,H,J]}),q[13]=O,q[14]=Y,q[15]=J,q[16]=X;else X=q[16];return X}var HiK;var fiK=h(()=>{Q6();M5();cK();a();HiK=A6(s6(),1)});function jiK(_){return Object.entries(_).map(([q,K])=>({label:K?.name??Qbz,value:q,description:K?.description??lbz}))}function XiK(_){let q=JiK.c(16),{initialStyle:K,onComplete:A,onCancel:z,isStandaloneCommand:$}=_,w;if(q[0]===Symbol.for("react.memo_cache_sentinel"))w=[],q[0]=w;else w=q[0];let[O,Y]=LE6.useState(w),[H,M]=LE6.useState(!0),f,j;if(q[1]===Symbol.for("react.memo_cache_sentinel"))f=()=>{hY6(M_()).then((k)=>{let N=jiK(k);Y(N),M(!1)}).catch(()=>{let k=jiK(fa);Y(k),M(!1)})},j=[],q[1]=f,q[2]=j;else f=q[1],j=q[2];LE6.useEffect(f,j);let J;if(q[3]!==A)J=(k)=>{A(k)},q[3]=A,q[4]=J;else J=q[4];let X=J,P=!$,W=!$,Z;if(q[5]===Symbol.for("react.memo_cache_sentinel"))Z=D(x,{marginTop:1,children:D(T,{dimColor:!0,children:"This changes how Puku communicates with you"})}),q[5]=Z;else Z=q[5];let G;if(q[6]!==X||q[7]!==K||q[8]!==H||q[9]!==O)G=y(x,{flexDirection:"column",gap:1,children:[Z,H?D(T,{dimColor:!0,children:"Loading output styles…"}):D(g_,{options:O,onChange:X,visibleOptionCount:10,defaultValue:K})]}),q[6]=X,q[7]=K,q[8]=H,q[9]=O,q[10]=G;else G=q[10];let v;if(q[11]!==z||q[12]!==P||q[13]!==W||q[14]!==G)v=D(q8,{title:"Preferred output style",onCancel:z,hideInputGuide:P,hideBorder:W,children:G}),q[11]=z,q[12]=P,q[13]=W,q[14]=G,q[15]=v;else v=q[15];return v}var JiK,LE6,Qbz="Default",lbz="Puku CLI completes coding tasks efficiently and provides concise responses";var PiK=h(()=>{mR();Q6();d8();R4();cK();a();JiK=A6(s6(),1),LE6=A6(a6(),1)});function DiK(_){let q=WiK.c(13),{initialLanguage:K,onComplete:A,onCancel:z}=_,[$,w]=bH8.useState(K),[O,Y]=bH8.useState((K??"").length),H;if(q[0]===Symbol.for("react.memo_cache_sentinel"))H={context:"Settings"},q[0]=H;else H=q[0];U_("confirm:no",z,H);let M;if(q[1]!==$||q[2]!==A)M=function(){let v=$?.trim();A(v||void 0)},q[1]=$,q[2]=A,q[3]=M;else M=q[3];let f=M,j;if(q[4]===Symbol.for("react.memo_cache_sentinel"))j=D(T,{children:"Enter your preferred response and voice language:"}),q[4]=j;else j=q[4];let J;if(q[5]===Symbol.for("react.memo_cache_sentinel"))J=D(T,{children:n6.pointer}),q[5]=J;else J=q[5];let X=$??"",P;if(q[6]!==O||q[7]!==f||q[8]!==X)P=y(x,{flexDirection:"row",gap:1,children:[J,D(IA,{value:X,onChange:w,onSubmit:f,focus:!0,showCursor:!0,placeholder:`e.g., Japanese, 日本語, Español${n6.ellipsis}`,columns:60,cursorOffset:O,onChangeCursorOffset:Y})]}),q[6]=O,q[7]=f,q[8]=X,q[9]=P;else P=q[9];let W;if(q[10]===Symbol.for("react.memo_cache_sentinel"))W=D(T,{dimColor:!0,children:"Leave empty for default (English)"}),q[10]=W;else W=q[10];let Z;if(q[11]!==P)Z=y(x,{flexDirection:"column",gap:1,children:[j,P,W]}),q[11]=P,q[12]=Z;else Z=q[12];return Z}var WiK,bH8;var ZiK=h(()=>{Lq();Q6();$q();T9();a();WiK=A6(s6(),1),bH8=A6(a6(),1)});function kN(_){let q=GiK.c(17),{query:K,placeholder:A,isFocused:z,isTerminalFocused:$,prefix:w,width:O,cursorOffset:Y,borderless:H}=_,M=A===void 0?"Search…":A,f=w===void 0?"⌕":w,j=H===void 0?!1:H,J=Y??K.length,X=j?void 0:"round",P=z?"suggestion":void 0,W=!z,Z=j?0:1,G=!z,v;if(q[0]!==z||q[1]!==$||q[2]!==J||q[3]!==M||q[4]!==K)v=z?D(q_,{children:K?$?y(q_,{children:[D(T,{children:K.slice(0,J)}),D(T,{inverse:!0,children:J<K.length?K[J]:" "}),J<K.length&&D(T,{children:K.slice(J+1)})]}):D(T,{children:K}):$?y(q_,{children:[D(T,{inverse:!0,children:M.charAt(0)}),D(T,{dimColor:!0,children:M.slice(1)})]}):D(T,{dimColor:!0,children:M})}):K?D(T,{children:K}):D(T,{children:M}),q[0]=z,q[1]=$,q[2]=J,q[3]=M,q[4]=K,q[5]=v;else v=q[5];let k;if(q[6]!==f||q[7]!==G||q[8]!==v)k=y(T,{dimColor:G,children:[f," ",v]}),q[6]=f,q[7]=G,q[8]=v,q[9]=k;else k=q[9];let N;if(q[10]!==k||q[11]!==X||q[12]!==P||q[13]!==W||q[14]!==Z||q[15]!==O)N=D(x,{flexShrink:0,borderStyle:X,borderColor:P,borderDimColor:W,paddingX:Z,width:O,children:k}),q[10]=k,q[11]=X,q[12]=P,q[13]=W,q[14]=Z,q[15]=O,q[16]=N;else N=q[16];return N}var GiK;var At=h(()=>{Q6();a();GiK=A6(s6(),1)});function ibz(_){if(_.ctrl&&(_.key==="k"||_.key==="u"||_.key==="w"))return!0;if(_.meta&&_.key==="backspace")return!0;return!1}function nbz(_){return(_.ctrl||_.meta)&&_.key==="y"}function gD({isActive:_,onExit:q,onCancel:K,onExitUp:A,columns:z,passthroughCtrlKeys:$=[],initialQuery:w="",backspaceExitsOnEmpty:O=!0}){let{columns:Y}=G8(),H=z??Y,[M,f]=EE6.useState(w),[j,J]=EE6.useState(w.length),X=EE6.useCallback((W)=>{f(W),J(W.length)},[]),P=(W)=>{if(!_)return;let Z=V7.fromText(M,H,j);if(W.ctrl&&$.includes(W.key.toLowerCase()))return;if(!ibz(W))$E6();if(!nbz(W))wE6();if(W.key==="return"||W.key==="down"){W.preventDefault(),q();return}if(W.key==="up"){if(W.preventDefault(),A)A();return}if(W.key==="escape"){if(W.preventDefault(),K)K();else if(M.length>0)f(""),J(0);else q();return}if(W.key==="backspace"){if(W.preventDefault(),W.meta){let{cursor:v,killed:k}=Z.deleteWordBefore();qx(k,"prepend"),f(v.text),J(v.offset);return}if(M.length===0){if(O)(K??q)();return}let G=Z.backspace();f(G.text),J(G.offset);return}if(W.key==="delete"){W.preventDefault();let G=Z.del();f(G.text),J(G.offset);return}if(W.key==="left"&&(W.ctrl||W.meta||W.fn)){W.preventDefault();let G=Z.prevWord();J(G.offset);return}if(W.key==="right"&&(W.ctrl||W.meta||W.fn)){W.preventDefault();let G=Z.nextWord();J(G.offset);return}if(W.key==="left"){W.preventDefault();let G=Z.left();J(G.offset);return}if(W.key==="right"){W.preventDefault();let G=Z.right();J(G.offset);return}if(W.key==="home"){W.preventDefault(),J(0);return}if(W.key==="end"){W.preventDefault(),J(M.length);return}if(W.ctrl){switch(W.preventDefault(),W.key.toLowerCase()){case"a":J(0);return;case"e":J(M.length);return;case"b":J(Z.left().offset);return;case"f":J(Z.right().offset);return;case"d":{if(M.length===0){(K??q)();return}let G=Z.del();f(G.text),J(G.offset);return}case"h":{if(M.length===0){if(O)(K??q)();return}let G=Z.backspace();f(G.text),J(G.offset);return}case"k":{let{cursor:G,killed:v}=Z.deleteToLineEnd();qx(v,"append"),f(G.text),J(G.offset);return}case"u":{let{cursor:G,killed:v}=Z.deleteToLineStart();qx(v,"prepend"),f(G.text),J(G.offset);return}case"w":{let{cursor:G,killed:v}=Z.deleteWordBefore();qx(v,"prepend"),f(G.text),J(G.offset);return}case"y":{let G=MY_();if(G.length>0){let v=Z.offset,k=Z.insert(G);fY_(v,G.length),f(k.text),J(k.offset)}return}case"g":case"c":if(K){K();return}}return}if(W.meta){switch(W.preventDefault(),W.key.toLowerCase()){case"b":J(Z.prevWord().offset);return;case"f":J(Z.nextWord().offset);return;case"d":{let G=Z.deleteWordAfter();f(G.text),J(G.offset);return}case"y":{let G=jY_();if(G){let{text:v,start:k,length:N}=G,L=M.slice(0,k),b=M.slice(k+N),C=L+v+b,I=k+v.length;JY_(v.length),f(C),J(I)}return}}return}if(W.key==="tab")return;if(W.key.length>=1&&!rbz.has(W.key)){W.preventDefault();let G=Z.insert(W.key);f(G.text),J(G.offset)}};return uq((W,Z,G)=>{P(new B0(G.keypress))},{isActive:_}),{query:M,setQuery:X,cursorOffset:j,handleKeyDown:P}}var EE6,rbz;var $F=h(()=>{MA6();Q6();Bs();IK();EE6=A6(a6(),1);rbz=new Set(["pageup","pagedown","insert","wheelup","wheeldown","mouse","f1","f2","f3","f4","f5","f6","f7","f8","f9","f10","f11","f12"])});function kiK({onClose:_,context:q,setTabsHidden:K,onIsSearchModeChange:A,contentHeight:z}){let{headerFocused:$,focusHeader:w,blurHeader:O}=mj(),Y=dX(),[,H]=Yq(),M=C46(),[f,j]=fY.useState($_()),J=Nf.useRef($_()),[X,P]=fY.useState(t8()),W=Nf.useRef(t8()),[Z,G]=fY.useState(X?.outputStyle||l2),v=Nf.useRef(Z),[k,N]=fY.useState(X?.language),L=Nf.useRef(k),[b,C]=fY.useState(0),[I,p]=fY.useState(0),[m,g]=fY.useState(!0),c=b3(),{rows:u}=G8(),U=z??Math.min(Math.floor(u*0.8),30),F=Math.max(5,U-10),Q=z_((Z6)=>Z6.mainLoopModel),o=z_((Z6)=>Z6.verbose),z6=z_((Z6)=>Z6.thinkingEnabled),t=z_((Z6)=>oK()?Z6.fastMode:!1),e=z_((Z6)=>Z6.promptSuggestionEnabled),s=aO_()||AE6()==="enabled",n=!1,r=U8(),[M6,_6]=fY.useState({}),J6=Nf.useRef(z6),[w6]=fY.useState(()=>s_("localSettings")),[f6]=fY.useState(()=>s_("userSettings")),$6=Nf.useRef(M),H6=V5(),[q6]=fY.useState(()=>{let Z6=H6.getState();return{mainLoopModel:Z6.mainLoopModel,mainLoopModelForSession:Z6.mainLoopModelForSession,verbose:Z6.verbose,thinkingEnabled:Z6.thinkingEnabled,fastMode:Z6.fastMode,promptSuggestionEnabled:Z6.promptSuggestionEnabled,isBriefOnly:Z6.isBriefOnly,replBridgeEnabled:Z6.replBridgeEnabled,replBridgeOutboundOnly:Z6.replBridgeOutboundOnly,settings:Z6.settings}}),[Y6]=fY.useState(()=>MI6()),v6=Nf.useRef(!1),[m6,S6]=fY.useState(!1),[c6,l6]=fY.useState(null),{query:h6,setQuery:L6,cursorOffset:W6}=gD({isActive:m&&c6===null&&!$,onExit:()=>g(!1),onExitUp:w,passthroughCtrlKeys:["c","d"]}),X6=m&&!$;Nf.useEffect(()=>{A?.(X6)},[X6,A]);let F6=$7_(q.options.mcpClients),d6=!C6(process.env.PUKU_CLI_DISABLE_FILE_CHECKPOINTING),V6=Nf.use(aO(!0)),y6=rs_(V6),u6=Ol();function D6(Z6){l("ev_event",{from_model:Q,to_model:Z6}),r((A_)=>({...A_,mainLoopModel:Z6,mainLoopModelForSession:null})),_6((A_)=>{let v_=k2(Z6)+(Kt(Z6,!1,xW())?" · Billed as extra usage":"");if("model"in A_){let{model:_8,...u8}=A_;return{...u8,model:v_}}return{...A_,model:v_}})}function G6(Z6){b_((i6)=>({...i6,verbose:Z6})),j({...$_(),verbose:Z6}),r((i6)=>({...i6,verbose:Z6})),_6((i6)=>{if("verbose"in i6){let{verbose:A_,...v_}=i6;return v_}return{...i6,verbose:Z6}})}let j6=[{id:"autoCompactEnabled",label:"Auto-compact",value:f.autoCompactEnabled,type:"boolean",onChange(Z6){b_((i6)=>({...i6,autoCompactEnabled:Z6})),j({...$_(),autoCompactEnabled:Z6}),l("ev_event",{enabled:Z6})}},{id:"spinnerTipsEnabled",label:"Show tips",value:X?.spinnerTipsEnabled??!0,type:"boolean",onChange(Z6){k8("localSettings",{spinnerTipsEnabled:Z6}),P((i6)=>({...i6,spinnerTipsEnabled:Z6})),l("ev_event",{enabled:Z6})}},{id:"prefersReducedMotion",label:"Reduce motion",value:X?.prefersReducedMotion??!1,type:"boolean",onChange(Z6){k8("localSettings",{prefersReducedMotion:Z6}),P((i6)=>({...i6,prefersReducedMotion:Z6})),r((i6)=>({...i6,settings:{...i6.settings,prefersReducedMotion:Z6}})),l("ev_event",{enabled:Z6})}},{id:"thinkingEnabled",label:"Thinking mode",value:z6??!0,type:"boolean",onChange(Z6){r((i6)=>({...i6,thinkingEnabled:Z6})),k8("userSettings",{alwaysThinkingEnabled:Z6?void 0:!1}),l("ev_event",{enabled:Z6})}},...oK()&&NY()?[{id:"fastMode",label:`Fast mode (${v0} only)`,value:!!t,type:"boolean",onChange(Z6){if(si(),k8("userSettings",{fastMode:Z6?!0:void 0}),Z6)r((i6)=>({...i6,mainLoopModel:kD6(),mainLoopModelForSession:null,fastMode:!0})),_6((i6)=>({...i6,model:kD6(),"Fast mode":"ON"}));else r((i6)=>({...i6,fastMode:!1})),_6((i6)=>({...i6,"Fast mode":"OFF"}))}}]:[],...Q_("ev_event",!1)?[{id:"promptSuggestionEnabled",label:"Prompt suggestions",value:e,type:"boolean",onChange(Z6){r((i6)=>({...i6,promptSuggestionEnabled:Z6})),k8("userSettings",{promptSuggestionEnabled:Z6?void 0:!1})}}]:[],...[],...d6?[{id:"fileCheckpointingEnabled",label:"Rewind code (checkpoints)",value:f.fileCheckpointingEnabled,type:"boolean",onChange(Z6){b_((i6)=>({...i6,fileCheckpointingEnabled:Z6})),j({...$_(),fileCheckpointingEnabled:Z6}),l("ev_event",{enabled:Z6})}}]:[],{id:"verbose",label:"Verbose output",value:o,type:"boolean",onChange:G6},{id:"terminalProgressBarEnabled",label:"Terminal progress bar",value:f.terminalProgressBarEnabled,type:"boolean",onChange(Z6){b_((i6)=>({...i6,terminalProgressBarEnabled:Z6})),j({...$_(),terminalProgressBarEnabled:Z6}),l("ev_event",{enabled:Z6})}},...Q_("ev_event",!1)?[{id:"showStatusInTerminalTab",label:"Show status in terminal tab",value:f.showStatusInTerminalTab??!1,type:"boolean",onChange(Z6){b_((i6)=>({...i6,showStatusInTerminalTab:Z6})),j({...$_(),showStatusInTerminalTab:Z6}),l("ev_event",{enabled:Z6})}}]:[],{id:"showTurnDuration",label:"Show turn duration",value:f.showTurnDuration,type:"boolean",onChange(Z6){b_((i6)=>({...i6,showTurnDuration:Z6})),j({...$_(),showTurnDuration:Z6}),l("ev_event",{enabled:Z6})}},{id:"defaultPermissionMode",label:"Default permission mode",value:X?.permissions?.defaultMode||"default",options:(()=>{let Z6=["default","plan"],i6=Y2,A_=["bypassPermissions"];if(!s)A_.push("auto");return[...Z6,...i6.filter((v_)=>!Z6.includes(v_)&&!A_.includes(v_))]})(),type:"enum",onChange(Z6){let i6=jW(Z6),A_=Eu8(i6)?dT(i6):i6,v_=k8("userSettings",{permissions:{...X?.permissions,defaultMode:A_}});if(v_.error){K6(v_.error);return}P((_8)=>({..._8,permissions:{..._8?.permissions,defaultMode:A_}})),_6((_8)=>({..._8,defaultPermissionMode:Z6})),l("ev_event",{setting:"defaultPermissionMode",value:Z6})}},...s?[{id:"useAutoModeDuringPlan",label:"Use auto mode during plan",value:X?.useAutoModeDuringPlan??!0,type:"boolean",onChange(Z6){k8("userSettings",{useAutoModeDuringPlan:Z6}),P((i6)=>({...i6,useAutoModeDuringPlan:Z6})),r((i6)=>{let A_=uY6(i6.toolPermissionContext);if(A_===i6.toolPermissionContext)return i6;return{...i6,toolPermissionContext:A_}}),_6((i6)=>({...i6,"Use auto mode during plan":Z6}))}}]:[],{id:"respectGitignore",label:"Respect .gitignore in file picker",value:f.respectGitignore,type:"boolean",onChange(Z6){b_((i6)=>({...i6,respectGitignore:Z6})),j({...$_(),respectGitignore:Z6}),l("ev_event",{enabled:Z6})}},{id:"copyFullResponse",label:"Always copy full response (skip /copy picker)",value:f.copyFullResponse,type:"boolean",onChange(Z6){b_((i6)=>({...i6,copyFullResponse:Z6})),j({...$_(),copyFullResponse:Z6}),l("ev_event",{setting:"copyFullResponse",value:String(Z6)})}},...NK()?[{id:"copyOnSelect",label:"Copy on select",value:f.copyOnSelect??!0,type:"boolean",onChange(Z6){b_((i6)=>({...i6,copyOnSelect:Z6})),j({...$_(),copyOnSelect:Z6}),l("ev_event",{setting:"copyOnSelect",value:String(Z6)})}}]:[],{id:"flickerFreeMode",label:"Flicker-free mode",value:f.flickerFreeMode??process.env.USER_TYPE==="ant",type:"boolean",onChange(Z6){b_((i6)=>({...i6,flickerFreeMode:Z6})),j({...$_(),flickerFreeMode:Z6}),l("ev_event",{setting:"flickerFreeMode",value:String(Z6)})}},u6?{id:"autoUpdatesChannel",label:"Auto-update channel",value:"disabled",type:"managedEnum",onChange(){}}:{id:"autoUpdatesChannel",label:"Auto-update channel",value:X?.autoUpdatesChannel??"latest",type:"managedEnum",onChange(){}},{id:"theme",label:"Theme",value:M,type:"managedEnum",onChange:H},{id:"notifChannel",label:"Notifications",value:f.preferredNotifChannel,options:["auto","iterm2","terminal_bell","iterm2_with_bell","kitty","ghostty","notifications_disabled"],type:"enum",onChange(Z6){b_((i6)=>({...i6,preferredNotifChannel:Z6})),j({...$_(),preferredNotifChannel:Z6})}},...[],{id:"outputStyle",label:"Output style",value:Z,type:"managedEnum",onChange:()=>{}},...[],{id:"language",label:"Language",value:k??"Default (English)",type:"managedEnum",onChange:()=>{}},{id:"editorMode",label:"Editor mode",value:f.editorMode==="emacs"?"normal":f.editorMode||"normal",options:["normal","vim"],type:"enum",onChange(Z6){b_((i6)=>({...i6,editorMode:Z6})),j({...$_(),editorMode:Z6}),l("ev_event",{mode:Z6,source:"config_panel"})}},{id:"prStatusFooterEnabled",label:"Show PR status footer",value:f.prStatusFooterEnabled??!0,type:"boolean",onChange(Z6){b_((i6)=>{if(i6.prStatusFooterEnabled===Z6)return i6;return{...i6,prStatusFooterEnabled:Z6}}),j({...$_(),prStatusFooterEnabled:Z6}),l("ev_event",{enabled:Z6})}},{id:"model",label:"Model",value:Q===null?"Default (recommended)":k2(Q),type:"managedEnum",onChange:D6},...F6?[{id:"diffTool",label:"Diff tool",value:f.diffTool??"auto",options:["terminal","auto"],type:"enum",onChange(Z6){b_((i6)=>({...i6,diffTool:Z6})),j({...$_(),diffTool:Z6}),l("ev_event",{tool:Z6,source:"config_panel"})}}]:[],...!G1()?[{id:"autoConnectIde",label:"Auto-connect to IDE (external terminal)",value:f.autoConnectIde??!1,type:"boolean",onChange(Z6){b_((i6)=>({...i6,autoConnectIde:Z6})),j({...$_(),autoConnectIde:Z6}),l("ev_event",{enabled:Z6,source:"config_panel"})}}]:[],...G1()?[{id:"autoInstallIdeExtension",label:"Auto-install IDE extension",value:f.autoInstallIdeExtension??!0,type:"boolean",onChange(Z6){b_((i6)=>({...i6,autoInstallIdeExtension:Z6})),j({...$_(),autoInstallIdeExtension:Z6}),l("ev_event",{enabled:Z6,source:"config_panel"})}}]:[],{id:"pukuInChromeDefaultEnabled",label:"Puku in Chrome enabled by default",value:f.pukuInChromeDefaultEnabled??!0,type:"boolean",onChange(Z6){b_((i6)=>({...i6,pukuInChromeDefaultEnabled:Z6})),j({...$_(),pukuInChromeDefaultEnabled:Z6}),l("ev_event",{enabled:Z6})}},...Rq()?(()=>{let Z6=x78();return[{id:"teammateMode",label:Z6?`Teammate mode [overridden: ${Z6}]`:"Teammate mode",value:f.teammateMode??"auto",options:["auto","tmux","in-process"],type:"enum",onChange(A_){if(A_!=="auto"&&A_!=="tmux"&&A_!=="in-process")return;u78(A_),b_((v_)=>({...v_,teammateMode:A_})),j({...$_(),teammateMode:A_}),l("ev_event",{mode:A_})}},{id:"teammateDefaultModel",label:"Default teammate model",value:viK(f.teammateDefaultModel),type:"managedEnum",onChange(){}}]})():[],...[],...y6?[{id:"showExternalIncludesDialog",label:"External CLAUDE.md includes",value:(()=>{if($3().hasClaudeMdExternalIncludesApproved)return"true";else return"false"})(),type:"managedEnum",onChange(){}}]:[],...process.env.ANTHROPIC_API_KEY&&!LT()?[{id:"apiKey",label:y(T,{children:["Use custom API key:"," ",D(T,{bold:!0,children:KX(process.env.ANTHROPIC_API_KEY)})]}),searchText:"Use custom API key",value:Boolean(process.env.ANTHROPIC_API_KEY&&f.customApiKeyResponses?.approved?.includes(KX(process.env.ANTHROPIC_API_KEY))),type:"boolean",onChange(Z6){b_((i6)=>{let A_={...i6};if(!A_.customApiKeyResponses)A_.customApiKeyResponses={approved:[],rejected:[]};if(!A_.customApiKeyResponses.approved)A_.customApiKeyResponses={...A_.customApiKeyResponses,approved:[]};if(!A_.customApiKeyResponses.rejected)A_.customApiKeyResponses={...A_.customApiKeyResponses,rejected:[]};if(process.env.ANTHROPIC_API_KEY){let v_=KX(process.env.ANTHROPIC_API_KEY);if(Z6)A_.customApiKeyResponses={...A_.customApiKeyResponses,approved:[...(A_.customApiKeyResponses.approved??[]).filter((_8)=>_8!==v_),v_],rejected:(A_.customApiKeyResponses.rejected??[]).filter((_8)=>_8!==v_)};else A_.customApiKeyResponses={...A_.customApiKeyResponses,approved:(A_.customApiKeyResponses.approved??[]).filter((_8)=>_8!==v_),rejected:[...(A_.customApiKeyResponses.rejected??[]).filter((_8)=>_8!==v_),v_]}}return A_}),j($_())}}]:[]],T6=Nf.useMemo(()=>{if(!h6)return j6;let Z6=h6.toLowerCase();return j6.filter((i6)=>{if(i6.id.toLowerCase().includes(Z6))return!0;return("searchText"in i6?i6.searchText:i6.label).toLowerCase().includes(Z6)})},[j6,h6]);Nf.useEffect(()=>{if(b>=T6.length){let Z6=Math.max(0,T6.length-1);C(Z6),p(Math.max(0,Z6-F+1));return}p((Z6)=>{if(b<Z6)return b;if(b>=Z6+F)return b-F+1;return Z6})},[T6.length,b,F]);let R6=fY.useCallback((Z6)=>{p((i6)=>{if(Z6<i6)return Z6;if(Z6>=i6+F)return Z6-F+1;return i6})},[F]),k6=fY.useCallback(()=>{if(c6!==null)return;let Z6=Object.entries(M6).map(([_8,u8])=>{return l("ev_event",{key:_8,value:u8}),`Set ${_8} to ${Y_.bold(u8)}`}),i6=LT()?void 0:process.env.ANTHROPIC_API_KEY,A_=Boolean(i6&&J.current.customApiKeyResponses?.approved?.includes(KX(i6))),v_=Boolean(i6&&f.customApiKeyResponses?.approved?.includes(KX(i6)));if(A_!==v_)Z6.push(`${v_?"Enabled":"Disabled"} custom API key`),l("ev_event",{key:"env.ANTHROPIC_API_KEY",value:v_});if(f.theme!==J.current.theme)Z6.push(`Set theme to ${Y_.bold(f.theme)}`);if(f.preferredNotifChannel!==J.current.preferredNotifChannel)Z6.push(`Set notifications to ${Y_.bold(f.preferredNotifChannel)}`);if(Z!==v.current)Z6.push(`Set output style to ${Y_.bold(Z)}`);if(k!==L.current)Z6.push(`Set response language to ${Y_.bold(k??"Default (English)")}`);if(f.editorMode!==J.current.editorMode)Z6.push(`Set editor mode to ${Y_.bold(f.editorMode||"emacs")}`);if(f.diffTool!==J.current.diffTool)Z6.push(`Set diff tool to ${Y_.bold(f.diffTool)}`);if(f.autoConnectIde!==J.current.autoConnectIde)Z6.push(`${f.autoConnectIde?"Enabled":"Disabled"} auto-connect to IDE`);if(f.autoInstallIdeExtension!==J.current.autoInstallIdeExtension)Z6.push(`${f.autoInstallIdeExtension?"Enabled":"Disabled"} auto-install IDE extension`);if(f.autoCompactEnabled!==J.current.autoCompactEnabled)Z6.push(`${f.autoCompactEnabled?"Enabled":"Disabled"} auto-compact`);if(f.respectGitignore!==J.current.respectGitignore)Z6.push(`${f.respectGitignore?"Enabled":"Disabled"} respect .gitignore in file picker`);if(f.copyFullResponse!==J.current.copyFullResponse)Z6.push(`${f.copyFullResponse?"Enabled":"Disabled"} always copy full response`);if(f.copyOnSelect!==J.current.copyOnSelect)Z6.push(`${f.copyOnSelect?"Enabled":"Disabled"} copy on select`);if(f.terminalProgressBarEnabled!==J.current.terminalProgressBarEnabled)Z6.push(`${f.terminalProgressBarEnabled?"Enabled":"Disabled"} terminal progress bar`);if(f.showStatusInTerminalTab!==J.current.showStatusInTerminalTab)Z6.push(`${f.showStatusInTerminalTab?"Enabled":"Disabled"} terminal tab status`);if(f.showTurnDuration!==J.current.showTurnDuration)Z6.push(`${f.showTurnDuration?"Enabled":"Disabled"} turn duration`);if(f.remoteControlAtStartup!==J.current.remoteControlAtStartup){let _8=f.remoteControlAtStartup===void 0?"Reset Remote Control to default":`${f.remoteControlAtStartup?"Enabled":"Disabled"} Remote Control for all sessions`;Z6.push(_8)}if(X?.autoUpdatesChannel!==W.current?.autoUpdatesChannel)Z6.push(`Set auto-update channel to ${Y_.bold(X?.autoUpdatesChannel??"latest")}`);if(Z6.length>0)_(Z6.join(`
5327
+ `,"Please restart your IDE and try again."]})}];if(q.installed)if(A&&A.type==="connected")if(q.installedVersion!==A.serverInfo?.version)return[{label:"IDE",value:`Connected to ${z} ${$} version ${q.installedVersion} (server version: ${A.serverInfo?.version})`}];else return[{label:"IDE",value:`Connected to ${z} ${$} version ${q.installedVersion}`}];else return[{label:"IDE",value:`Installed ${z} ${$}`}]}else if(A){let z=oq8(A)??"IDE";if(A.type==="connected")return[{label:"IDE",value:`Connected to ${z} extension`}];else return[{label:"IDE",value:`${l8("error",K)(n6.cross)} Not connected to ${z}`}]}return[]}function dlK(_=[],q){let K=_.filter(($)=>$.name!=="ide");if(!K.length)return[];let A={connected:0,pending:0,needsAuth:0,failed:0};for(let $ of K)if($.type==="connected")A.connected++;else if($.type==="pending")A.pending++;else if($.type==="needs-auth")A.needsAuth++;else A.failed++;let z=[];if(A.connected)z.push(l8("success",q)(`${A.connected} connected`));if(A.needsAuth)z.push(l8("warning",q)(`${A.needsAuth} need auth`));if(A.pending)z.push(l8("inactive",q)(`${A.pending} pending`));if(A.failed)z.push(l8("error",q)(`${A.failed} failed`));return[{label:"MCP servers",value:`${z.join(", ")} ${l8("inactive",q)("· /mcp")}`}]}async function QlK(){let _=await aO(),q=Lr(_),K=[];return q.forEach((A)=>{let z=r7(A.path);K.push(`Large ${z} will impact performance (${q7(A.content.length)} chars > ${q7(HC)})`)}),K}function llK(){return[{label:"Setting sources",value:Fh().filter((A)=>{let z=s_(A);return z!==null&&Object.keys(z).length>0}).map((A)=>{if(A==="policySettings"){let z=Vp8();if(z===null)return null;switch(z){case"remote":return"Enterprise managed settings (remote)";case"plist":return"Enterprise managed settings (plist)";case"hklm":return"Enterprise managed settings (HKLM)";case"file":{let{hasBase:$,hasDropIns:w}=Tp8();if($&&w)return"Enterprise managed settings (file + drop-ins)";if(w)return"Enterprise managed settings (drop-ins)";return"Enterprise managed settings (file)"}case"hkcu":return"Enterprise managed settings (HKCU)"}}return Yu8(A)}).filter((A)=>A!==null)}]}async function ilK(){return(await _t()).map((q)=>q.message)}async function nlK(){let _=await rs(),q=[],{errors:K}=Ox();if(K.length>0){let z=Array.from(new Set(K.map(($)=>$.file))).join(", ");q.push(`Found invalid settings files: ${z}. They will be ignored.`)}if(_.warnings.forEach((A)=>{q.push(A.issue)}),_.hasUpdatePermissions===!1)q.push("No write permissions for auto-updates (requires sudo)");return q}function kbz(_){return{ANTHROPIC_AUTH_TOKEN:"Environment variable",PUKU_CLI_OAUTH_TOKEN:"Puku OAuth token",PUKU_CLI_OAUTH_TOKEN_FILE_DESCRIPTOR:"Puku OAuth token (file descriptor)",CCR_OAUTH_TOKEN_FILE:"Puku OAuth token (CCR)",apiKeyHelper:"API key helper","claude.ai":"Puku.ai",none:"Not set"}[_]??_}function Nbz(_){return{PUKU_AI_API_KEY:"Environment variable",apiKeyHelper:"API key helper","/login managed key":"Managed by Puku",none:"Not set"}[_]??_}function rlK(){let _=A46();if(!_)return[];let q=[];if(_.subscription)q.push({label:"Login method",value:`${_.subscription} Account`});if(_.tokenSource)q.push({label:"Auth token",value:kbz(_.tokenSource)});if(_.apiKeySource)q.push({label:"API key",value:Nbz(_.apiKeySource)});if(_.organization&&!process.env.IS_DEMO)q.push({label:"Organization",value:_.organization});if(_.email&&!process.env.IS_DEMO)q.push({label:"Email",value:_.email});return q}function alK(){let _=$8(),q=[];if(_!=="firstParty"){let z={bedrock:"AWS Bedrock",vertex:"Google Vertex AI",foundry:"Microsoft Foundry",openai:"OpenAI-compatible",codex:"Codex",gemini:"Google Gemini"}[_];q.push({label:"API provider",value:z})}if(_==="bedrock"){let z=process.env.BEDROCK_BASE_URL;if(z)q.push({label:"Bedrock base URL",value:z});if(q.push({label:"AWS region",value:Cd()}),C6(process.env.PUKU_CLI_SKIP_BEDROCK_AUTH))q.push({value:"AWS auth skipped"})}else if(_==="vertex"){let z=process.env.VERTEX_BASE_URL;if(z)q.push({label:"Vertex base URL",value:z});let $=process.env.ANTHROPIC_VERTEX_PROJECT_ID;if($)q.push({label:"GCP project",value:$});if(q.push({label:"Default region",value:YC6()}),C6(process.env.PUKU_CLI_SKIP_VERTEX_AUTH))q.push({value:"GCP auth skipped"})}else if(_==="foundry"){let z=process.env.ANTHROPIC_FOUNDRY_BASE_URL;if(z)q.push({label:"Microsoft Foundry base URL",value:z});let $=process.env.ANTHROPIC_FOUNDRY_RESOURCE;if($)q.push({label:"Microsoft Foundry resource",value:$});if(C6(process.env.PUKU_CLI_SKIP_FOUNDRY_AUTH))q.push({value:"Microsoft Foundry auth skipped"})}else if(_==="openai"){let z=process.env.OPENAI_BASE_URL;if(z)q.push({label:"OpenAI base URL",value:nP(z,process.env)??z});let $=process.env.OPENAI_MODEL;if($){let w=$,O=c1({model:$}),Y=O.resolvedModel,H=O.reasoning?.effort;if(Y&&Y!==$.toLowerCase())w=Y;if(H)w=`${w} (${H})`;q.push({label:"Model",value:nP(w,process.env)??w})}}else if(_==="codex"){let z=process.env.OPENAI_BASE_URL;if(z)q.push({label:"Codex base URL",value:nP(z,process.env)??z});let $=process.env.OPENAI_MODEL;if($){let w=$,O=c1({model:$}),Y=O.resolvedModel,H=O.reasoning?.effort;if(Y&&Y!==$.toLowerCase())w=Y;if(H)w=`${w} (${H})`;q.push({label:"Model",value:nP(w,process.env)??w})}}else if(_==="gemini"){let z=process.env.GEMINI_BASE_URL;if(z)q.push({label:"Gemini base URL",value:nP(z,process.env)??z});let $=process.env.GEMINI_MODEL;if($)q.push({label:"Model",value:nP($,process.env)??$})}let K=jG();if(K)q.push({label:"Proxy",value:K});let A=wG();if(process.env.NODE_EXTRA_CA_CERTS)q.push({label:"Additional CA cert(s)",value:process.env.NODE_EXTRA_CA_CERTS});if(A){if(A.cert&&process.env.PUKU_CLI_CLIENT_CERT)q.push({label:"mTLS client cert",value:process.env.PUKU_CLI_CLIENT_CERT});if(A.key&&process.env.PUKU_CLI_CLIENT_KEY)q.push({label:"mTLS client key",value:process.env.PUKU_CLI_CLIENT_KEY})}return q}function olK(_){let q=k2(_);if(_===null&&Hq()){let K=LD6();q=`${Y_.bold("Default")} ${K}`}return q}var slK=h(()=>{N4();Lq();Q6();Kq();f9();as();R_();M7();qq();Mw();Sq();F7();qh();eV();$E();tJ();Nz();RE6();L3();W8();tH6();a()});function Vbz(){let _=X_(),K=Mf(_)??D(T,{dimColor:!0,children:"/rename to add a name"});return[{label:"Version",value:"1.8.42"},{label:"Session name",value:K},{label:"Session ID",value:_},{label:"cwd",value:M_()},...rlK(),...alK()]}function ybz({mainLoopModel:_,mcp:q,theme:K,context:A}){return[{label:"Model",value:olK(_)},...FlK(q.clients,A.options.ideInstallationStatus,K),...dlK(q.clients,K),...UlK(),...llK()]}async function tlK(){return[...await ilK(),...await nlK(),...await QlK()]}function Rbz(_){let q=A9_.c(8),{value:K}=_;if(Array.isArray(K)){let A;if(q[0]!==K){let $;if(q[2]!==K.length)$=(w,O)=>y(T,{children:[w,O<K.length-1?",":""]},O),q[2]=K.length,q[3]=$;else $=q[3];A=K.map($),q[0]=K,q[1]=A}else A=q[1];let z;if(q[4]!==A)z=D(x,{flexWrap:"wrap",columnGap:1,flexShrink:99,children:A}),q[4]=A,q[5]=z;else z=q[5];return z}if(typeof K==="string"){let A;if(q[6]!==K)A=D(T,{children:K}),q[6]=K,q[7]=A;else A=q[7];return A}return K}function elK(_){let q=A9_.c(20),{context:K,diagnosticsPromise:A}=_,z=z_(Sbz),$=z_(hbz),[w]=Yq(),O;if(q[0]===Symbol.for("react.memo_cache_sentinel"))O=Vbz(),q[0]=O;else O=q[0];let Y;if(q[1]!==K||q[2]!==z||q[3]!==$||q[4]!==w)Y=ybz({mainLoopModel:z,mcp:$,theme:w,context:K}),q[1]=K,q[2]=z,q[3]=$,q[4]=w,q[5]=Y;else Y=q[5];let H;if(q[6]!==Y)H=[O,Y],q[6]=Y,q[7]=H;else H=q[7];let M=H,f=dX()?1:void 0,j;if(q[8]!==M)j=M.map(Lbz),q[8]=M,q[9]=j;else j=q[9];let J;if(q[10]!==A)J=D(z9_.Suspense,{fallback:null,children:D(bbz,{promise:A})}),q[10]=A,q[11]=J;else J=q[11];let X;if(q[12]!==f||q[13]!==j||q[14]!==J)X=y(x,{flexDirection:"column",gap:1,flexGrow:f,children:[j,J]}),q[12]=f,q[13]=j,q[14]=J,q[15]=X;else X=q[15];let P;if(q[16]===Symbol.for("react.memo_cache_sentinel"))P=D(T,{dimColor:!0,children:D(F_,{action:"confirm:no",context:"Settings",fallback:"Esc",description:"cancel"})}),q[16]=P;else P=q[16];let W;if(q[17]!==f||q[18]!==X)W=y(x,{flexDirection:"column",flexGrow:f,children:[X,P]}),q[17]=f,q[18]=X,q[19]=W;else W=q[19];return W}function Lbz(_,q){return _.length>0&&D(x,{flexDirection:"column",children:_.map(Ebz)},q)}function Ebz(_,q){let{label:K,value:A}=_;return y(x,{flexDirection:"row",gap:1,flexShrink:0,children:[K!==void 0&&y(T,{bold:!0,children:[K,":"]}),D(Rbz,{value:A})]},q)}function hbz(_){return _.mcp}function Sbz(_){return _.mainLoopModel}function bbz(_){let q=A9_.c(5),{promise:K}=_,A=z9_.use(K);if(A.length===0)return null;let z;if(q[0]===Symbol.for("react.memo_cache_sentinel"))z=D(T,{bold:!0,children:"System Diagnostics"}),q[0]=z;else z=q[0];let $;if(q[1]!==A)$=A.map(Cbz),q[1]=A,q[2]=$;else $=q[2];let w;if(q[3]!==$)w=y(x,{flexDirection:"column",paddingBottom:1,children:[z,$]}),q[3]=$,q[4]=w;else w=q[4];return w}function Cbz(_,q){return y(x,{flexDirection:"row",gap:1,paddingX:1,children:[D(T,{color:"error",children:n6.warning}),typeof _==="string"?D(T,{wrap:"wrap",children:_}):_]},q)}var A9_,z9_;var _iK=h(()=>{Lq();J_();tR();Q6();c8();d8();VK();slK();c7();a();A9_=A6(s6(),1),z9_=A6(a6(),1)});function VH8(){return!1}async function qiK(){return!1}function yH8(){return!1}function KiK(){return!0}function AiK(){return null}var tY6=h(()=>{Kq();R_()});function eY6(_){let q=ziK.c(59),{onThemeSelect:K,showIntroText:A,helpText:z,showHelpTextBelow:$,hideEscToCancel:w,skipExitHandling:O,onCancel:Y}=_,H=A===void 0?!1:A,M=z===void 0?"":z,f=$===void 0?!1:$,j=w===void 0?!1:w,J=O===void 0?!1:O,[X]=Yq(),P=C46(),{columns:W}=G8(),Z;if(q[0]===Symbol.for("react.memo_cache_sentinel"))Z=HR6(),q[0]=Z;else Z=q[0];let G=Z,v;if(q[1]!==X)v=G===null?LLK(X):null,q[1]=X,q[2]=v;else v=q[2];let k=v,{setPreviewTheme:N,savePreview:L,cancelPreview:b}=Do6(),C=z_(xbz)??!1,I=U8();wK_("ThemePicker");let p=u7("theme:toggleSyntaxHighlighting","ThemePicker","ctrl+t"),m;if(q[3]!==I||q[4]!==C)m=()=>{if(G===null){let q6=!C;k8("userSettings",{syntaxHighlightingDisabled:q6}),I((Y6)=>({...Y6,settings:{...Y6.settings,syntaxHighlightingDisabled:q6}}))}},q[3]=I,q[4]=C,q[5]=m;else m=q[5];let g;if(q[6]===Symbol.for("react.memo_cache_sentinel"))g={context:"ThemePicker"},q[6]=g;else g=q[6];U_("theme:toggleSyntaxHighlighting",m,g);let c=e7(J?Ibz:void 0),u;if(q[7]===Symbol.for("react.memo_cache_sentinel"))u=[...[],{label:"Dark mode",value:"dark"},{label:"Light mode",value:"light"},{label:"Dark mode (colorblind-friendly)",value:"dark-daltonized"},{label:"Light mode (colorblind-friendly)",value:"light-daltonized"},{label:"Dark mode (ANSI colors only)",value:"dark-ansi"},{label:"Light mode (ANSI colors only)",value:"light-ansi"}],q[7]=u;else u=q[7];let U=u,F;if(q[8]!==H)F=H?D(T,{children:"Let's get started."}):D(T,{bold:!0,color:"permission",children:"Theme"}),q[8]=H,q[9]=F;else F=q[9];let Q;if(q[10]===Symbol.for("react.memo_cache_sentinel"))Q=D(T,{bold:!0,children:"Choose the text style that looks best with your terminal"}),q[10]=Q;else Q=q[10];let o;if(q[11]!==M||q[12]!==f)o=M&&!f&&D(T,{dimColor:!0,children:M}),q[11]=M,q[12]=f,q[13]=o;else o=q[13];let z6;if(q[14]!==o)z6=y(x,{flexDirection:"column",children:[Q,o]}),q[14]=o,q[15]=z6;else z6=q[15];let t;if(q[16]!==N)t=(q6)=>{N(q6)},q[16]=N,q[17]=t;else t=q[17];let e;if(q[18]!==K||q[19]!==L)e=(q6)=>{L(),K(q6)},q[18]=K,q[19]=L,q[20]=e;else e=q[20];let s;if(q[21]!==b||q[22]!==Y||q[23]!==J)s=J?()=>{b(),Y?.()}:async()=>{b(),await z7(0)},q[21]=b,q[22]=Y,q[23]=J,q[24]=s;else s=q[24];let n;if(q[25]!==t||q[26]!==e||q[27]!==s||q[28]!==P)n=D(g_,{options:U,onFocus:t,onChange:e,onCancel:s,visibleOptionCount:U.length,defaultValue:P,defaultFocusValue:P}),q[25]=t,q[26]=e,q[27]=s,q[28]=P,q[29]=n;else n=q[29];let r;if(q[30]!==F||q[31]!==z6||q[32]!==n)r=y(x,{flexDirection:"column",gap:1,children:[F,z6,n]}),q[30]=F,q[31]=z6,q[32]=n,q[33]=r;else r=q[33];let M6;if(q[34]===Symbol.for("react.memo_cache_sentinel"))M6={oldStart:1,newStart:1,oldLines:3,newLines:3,lines:[" function greet() {",'- console.log("Hello, World!");','+ console.log("Hello, Puku CLI!");'," }"]},q[34]=M6;else M6=q[34];let _6;if(q[35]!==W)_6=D(x,{flexDirection:"column",borderTop:!0,borderBottom:!0,borderLeft:!1,borderRight:!1,borderStyle:"dashed",borderColor:"subtle",children:D(CL,{patch:M6,dim:!1,filePath:"demo.js",firstLine:null,width:W})}),q[35]=W,q[36]=_6;else _6=q[36];let J6=G==="env"?`Syntax highlighting disabled (via PUKU_CLI_SYNTAX_HIGHLIGHT=${process.env.PUKU_CLI_SYNTAX_HIGHLIGHT})`:C?`Syntax highlighting disabled (${p} to enable)`:k?`Syntax theme: ${k.theme}${k.source?` (from ${k.source})`:""} (${p} to disable)`:`Syntax highlighting enabled (${p} to disable)`,w6;if(q[37]!==J6)w6=y(T,{dimColor:!0,children:[" ",J6]}),q[37]=J6,q[38]=w6;else w6=q[38];let f6;if(q[39]!==_6||q[40]!==w6)f6=y(x,{flexDirection:"column",width:"100%",children:[_6,w6]}),q[39]=_6,q[40]=w6,q[41]=f6;else f6=q[41];let $6;if(q[42]!==r||q[43]!==f6)$6=y(x,{flexDirection:"column",gap:1,children:[r,f6]}),q[42]=r,q[43]=f6,q[44]=$6;else $6=q[44];let H6=$6;if(!H){let q6;if(q[45]!==H6)q6=D(x,{flexDirection:"column",children:H6}),q[45]=H6,q[46]=q6;else q6=q[46];let Y6;if(q[47]!==M||q[48]!==f)Y6=f&&M&&D(x,{marginLeft:3,children:D(T,{dimColor:!0,children:M})}),q[47]=M,q[48]=f,q[49]=Y6;else Y6=q[49];let v6;if(q[50]!==c||q[51]!==j)v6=!j&&D(x,{children:D(T,{dimColor:!0,italic:!0,children:c.pending?y(q_,{children:["Press ",c.keyName," again to exit"]}):y(w8,{children:[D(C_,{shortcut:"Enter",action:"select"}),D(C_,{shortcut:"Esc",action:"cancel"})]})})}),q[50]=c,q[51]=j,q[52]=v6;else v6=q[52];let m6;if(q[53]!==Y6||q[54]!==v6)m6=y(x,{marginTop:1,children:[Y6,v6]}),q[53]=Y6,q[54]=v6,q[55]=m6;else m6=q[55];let S6;if(q[56]!==q6||q[57]!==m6)S6=y(q_,{children:[q6,m6]}),q[56]=q6,q[57]=m6,q[58]=S6;else S6=q[58];return S6}return H6}function Ibz(){}function xbz(_){return _.settings.syntaxHighlightingDisabled}var ziK;var w9_=h(()=>{Hw();IK();Q6();IC();$q();D9();c8();u$();W8();M5();aK();G7();L$_();qO6();a();ziK=A6(s6(),1)});function _96(_){switch(_){case"low":return Du8;case"medium":return Zu8;case"high":return NN_;case"max":return Gu8;default:return NN_}}var O9_=h(()=>{l5();Mj()});function qt(_){let q=EH8.c(82),{initial:K,sessionModel:A,onSelect:z,onCancel:$,isStandaloneCommand:w,showFastModeNotice:O,headerText:Y,skipSettingsWrite:H}=_,M=U8(),f=e7(),j=K===null?H9_:K,[J,X]=Y9_.useState(j),P=z_(gbz),[W,Z]=Y9_.useState(!1),G=z_(mbz),v;if(q[0]!==G)v=G!==void 0?Jr(G):void 0,q[0]=G,q[1]=v;else v=q[1];let[k,N]=Y9_.useState(v),L=P??!1,b;if(q[2]!==L)b=bU(L),q[2]=L,q[3]=b;else b=q[3];let C=b,I;_:{if(K!==null&&!C.some((G6)=>G6.value===K)){let G6;if(q[4]!==K)G6=k2(K),q[4]=K,q[5]=G6;else G6=q[5];let j6;if(q[6]!==K||q[7]!==G6)j6={value:K,label:G6,description:"Current model"},q[6]=K,q[7]=G6,q[8]=j6;else j6=q[8];let T6;if(q[9]!==C||q[10]!==j6)T6=[...C,j6],q[9]=C,q[10]=j6,q[11]=T6;else T6=q[11];I=T6;break _}I=C}let p=I,m;if(q[12]!==p)m=p.map(pbz),q[12]=p,q[13]=m;else m=q[13];let g=m,c;if(q[14]!==j||q[15]!==g)c=g.some((G6)=>G6.value===j)?j:g[0]?.value??void 0,q[14]=j,q[15]=g,q[16]=c;else c=q[16];let u=c,U=Math.min(10,g.length),F=Math.max(0,g.length-U),Q;if(q[17]!==J||q[18]!==g)Q=g.find((G6)=>G6.value===J)?.label,q[17]=J,q[18]=g,q[19]=Q;else Q=q[19];let o=Q,z6,t;if(q[20]!==J){let G6=LH8(J);z6=G6?DX(G6):!1,t=G6?_56(G6):!1,q[20]=J,q[21]=z6,q[22]=t}else z6=q[21],t=q[22];let e=t,s;if(q[23]!==J)s=RH8(J),q[23]=J,q[24]=s;else s=q[24];let n=s,r=k==="max"&&!e?"high":k,M6;if(q[25]!==G||q[26]!==W)M6=(G6)=>{if(X(G6),!W&&G===void 0)N(RH8(G6))},q[25]=G,q[26]=W,q[27]=M6;else M6=q[27];let _6=M6,J6;if(q[28]!==n||q[29]!==z6||q[30]!==e)J6=(G6)=>{if(!z6)return;N((j6)=>cbz(j6??n,G6,e)),Z(!0)},q[28]=n,q[29]=z6,q[30]=e,q[31]=J6;else J6=q[31];let w6=J6,f6;if(q[32]!==w6)f6={"modelPicker:decreaseEffort":()=>w6("left"),"modelPicker:increaseEffort":()=>w6("right")},q[32]=w6,q[33]=f6;else f6=q[33];let $6;if(q[34]===Symbol.for("react.memo_cache_sentinel"))$6={context:"ModelPicker"},q[34]=$6;else $6=q[34];jq(f6,$6);let H6;if(q[35]!==k||q[36]!==W||q[37]!==z||q[38]!==M||q[39]!==H)H6=function(j6){if(l("ev_event",{effort:k}),!H){let k6=Oaq(k,RH8(j6),s_("userSettings")?.effortLevel,W),I6=Xc(k6);if(I6!==void 0)k8("userSettings",{effortLevel:I6});M((o6)=>({...o6,effortValue:k6}))}let T6=LH8(j6),R6=W&&T6&&DX(T6)?k:void 0;if(j6===H9_){z(null,R6);return}z(j6,R6)},q[35]=k,q[36]=W,q[37]=z,q[38]=M,q[39]=H,q[40]=H6;else H6=q[40];let q6=H6,Y6;if(q[41]===Symbol.for("react.memo_cache_sentinel"))Y6=D(T,{color:"remember",bold:!0,children:"Select model"}),q[41]=Y6;else Y6=q[41];let v6=Y??"Switch between puku-ai models. Applies to this session and future puku-cli sessions. For other/previous model names, specify with --model.",m6;if(q[42]!==v6)m6=D(T,{dimColor:!0,children:v6}),q[42]=v6,q[43]=m6;else m6=q[43];let S6;if(q[44]!==A)S6=A&&y(T,{dimColor:!0,children:["Currently using ",k2(A)," for this session (set by plan mode). Selecting a model will undo this."]}),q[44]=A,q[45]=S6;else S6=q[45];let c6;if(q[46]!==m6||q[47]!==S6)c6=y(x,{marginBottom:1,flexDirection:"column",children:[Y6,m6,S6]}),q[46]=m6,q[47]=S6,q[48]=c6;else c6=q[48];let l6=$??ubz,h6;if(q[49]!==_6||q[50]!==q6||q[51]!==u||q[52]!==j||q[53]!==g||q[54]!==l6||q[55]!==U)h6=D(x,{flexDirection:"column",children:D(g_,{defaultValue:j,defaultFocusValue:u,options:g,onChange:q6,onFocus:_6,onCancel:l6,visibleOptionCount:U})}),q[49]=_6,q[50]=q6,q[51]=u,q[52]=j,q[53]=g,q[54]=l6,q[55]=U,q[56]=h6;else h6=q[56];let L6;if(q[57]!==F)L6=F>0&&D(x,{paddingLeft:3,children:y(T,{dimColor:!0,children:["and ",F," more…"]})}),q[57]=F,q[58]=L6;else L6=q[58];let W6;if(q[59]!==h6||q[60]!==L6)W6=y(x,{flexDirection:"column",marginBottom:1,children:[h6,L6]}),q[59]=h6,q[60]=L6,q[61]=W6;else W6=q[61];let X6;if(q[62]!==r||q[63]!==n||q[64]!==o||q[65]!==z6)X6=D(x,{marginBottom:1,flexDirection:"column",children:z6?y(T,{dimColor:!0,children:[D($iK,{effort:r})," ",FC(r)," effort",r===n?" (default)":""," ",D(T,{color:"subtle",children:"← → to adjust"})]}):y(T,{color:"subtle",children:[D($iK,{effort:void 0})," Effort not supported",o?` for ${o}`:""]})}),q[62]=r,q[63]=n,q[64]=o,q[65]=z6,q[66]=X6;else X6=q[66];let F6;if(q[67]!==O)F6=oK()?O?D(x,{marginBottom:1,children:y(T,{dimColor:!0,children:["Fast mode is ",D(T,{bold:!0,children:"ON"})," and available with"," ",v0," only (/fast). Switching to other models turn off fast mode."]})}):NY()&&!Cy()?D(x,{marginBottom:1,children:y(T,{dimColor:!0,children:["Use ",D(T,{bold:!0,children:"/fast"})," to turn on Fast mode (",v0," only)."]})}):null:null,q[67]=O,q[68]=F6;else F6=q[68];let d6;if(q[69]!==c6||q[70]!==W6||q[71]!==X6||q[72]!==F6)d6=y(x,{flexDirection:"column",children:[c6,W6,X6,F6]}),q[69]=c6,q[70]=W6,q[71]=X6,q[72]=F6,q[73]=d6;else d6=q[73];let V6;if(q[74]!==f||q[75]!==w)V6=w&&D(T,{dimColor:!0,italic:!0,children:f.pending?y(q_,{children:["Press ",f.keyName," again to exit"]}):y(w8,{children:[D(C_,{shortcut:"Enter",action:"confirm"}),D(F_,{action:"select:cancel",context:"Select",fallback:"Esc",description:"exit"})]})}),q[74]=f,q[75]=w,q[76]=V6;else V6=q[76];let y6;if(q[77]!==d6||q[78]!==V6)y6=y(x,{flexDirection:"column",children:[d6,V6]}),q[77]=d6,q[78]=V6,q[79]=y6;else y6=q[79];let u6=y6;if(!w)return u6;let D6;if(q[80]!==u6)D6=D(H5,{color:"permission",children:u6}),q[80]=u6,q[81]=D6;else D6=q[81];return D6}function ubz(){}function pbz(_){return{..._,value:_.value===null?H9_:_.value}}function mbz(_){return _.effortValue}function gbz(_){return oK()?_.fastMode:!1}function LH8(_){if(!_)return;return _===H9_?LM():j7(_)}function $iK(_){let q=EH8.c(5),{effort:K}=_,A=K?"puku":"subtle",z=K??"low",$;if(q[0]!==z)$=_96(z),q[0]=z,q[1]=$;else $=q[1];let w;if(q[2]!==A||q[3]!==$)w=D(T,{color:A,children:$}),q[2]=A,q[3]=$,q[4]=w;else w=q[4];return w}function cbz(_,q,K){let A=K?["low","medium","high","max"]:["low","medium","high"],z=A.indexOf(_),$=z!==-1?z:A.indexOf("high");if(q==="right")return A[($+1)%A.length];else return A[($-1+A.length)%A.length]}function RH8(_){let q=LH8(_)??LM(),K=DT6(q);return K!==void 0?Jr(K):"high"}var EH8,Y9_,H9_="__NO_PREFERENCE__";var M9_=h(()=>{TN6();Hw();RM();Q6();$q();c8();Mj();Sq();lR6();W8();c7();M5();aK();G7();kH();O9_();a();EH8=A6(s6(),1),Y9_=A6(a6(),1)});function Kt(_,q,K){if(!Hq())return!1;if(q)return!0;if(_===null||!uW(_))return!1;let A=_.toLowerCase().replace(/\[1m\]$/,"").trim(),z=A==="opus"||A.includes("opus-4-6"),$=A==="sonnet"||A.includes("sonnet-4-6");if(z&&K)return!1;return z||$}var f9_=h(()=>{Kq();A1()});var YiK={};N_(YiK,{PukuMdExternalIncludesDialog:()=>hH8});function hH8(_){let q=wiK.c(18),{onDone:K,isStandaloneDialog:A,externalIncludes:z}=_,$;if(q[0]===Symbol.for("react.memo_cache_sentinel"))$=[],q[0]=$;else $=q[0];OiK.default.useEffect(dbz,$);let w;if(q[1]!==K)w=(G)=>{if(G==="no")l("ev_event",{}),h3(Fbz);else l("ev_event",{}),h3(Ubz);K()},q[1]=K,q[2]=w;else w=q[2];let O=w,Y;if(q[3]!==O)Y=()=>{O("no")},q[3]=O,q[4]=Y;else Y=q[4];let H=Y,M=!A,f=!A,j;if(q[5]===Symbol.for("react.memo_cache_sentinel"))j=D(T,{children:"This project's CLAUDE.md imports files outside the current working directory. Never allow this for third-party repositories."}),q[5]=j;else j=q[5];let J;if(q[6]!==z)J=z&&z.length>0&&y(x,{flexDirection:"column",children:[D(T,{dimColor:!0,children:"External imports:"}),z.map(Bbz)]}),q[6]=z,q[7]=J;else J=q[7];let X;if(q[8]===Symbol.for("react.memo_cache_sentinel"))X=y(T,{dimColor:!0,children:["Important: Only use Puku with files you trust. Accessing untrusted files may pose security risks"," ",D(cq,{url:"https://puku.sh/docs/en/security"})," "]}),q[8]=X;else X=q[8];let P;if(q[9]===Symbol.for("react.memo_cache_sentinel"))P=[{label:"Yes, allow external imports",value:"yes"},{label:"No, disable external imports",value:"no"}],q[9]=P;else P=q[9];let W;if(q[10]!==O)W=D(g_,{options:P,onChange:(G)=>O(G)}),q[10]=O,q[11]=W;else W=q[11];let Z;if(q[12]!==H||q[13]!==W||q[14]!==M||q[15]!==f||q[16]!==J)Z=y(q8,{title:"Allow external CLAUDE.md file imports?",color:"warning",onCancel:H,hideBorder:M,hideInputGuide:f,children:[j,J,X,W]}),q[12]=H,q[13]=W,q[14]=M,q[15]=f,q[16]=J,q[17]=Z;else Z=q[17];return Z}function Bbz(_,q){return y(T,{dimColor:!0,children:[" ",_.path]},q)}function Ubz(_){return{..._,hasClaudeMdExternalIncludesApproved:!0,hasClaudeMdExternalIncludesWarningShown:!0}}function Fbz(_){return{..._,hasClaudeMdExternalIncludesApproved:!1,hasClaudeMdExternalIncludesWarningShown:!0}}function dbz(){l("ev_event",{})}var wiK,OiK;var SH8=h(()=>{Q6();Y8();M5();cK();a();wiK=A6(s6(),1),OiK=A6(a6(),1)});function MiK(_){let q=HiK.c(17),{currentVersion:K,onChoice:A}=_,z;if(q[0]!==A)z=function(W){A(W)},q[0]=A,q[1]=z;else z=q[1];let $=z,w;if(q[2]!==A)w=function(){A("cancel")},q[2]=A,q[3]=w;else w=q[3];let O=w,Y;if(q[4]!==K)Y=y(T,{children:["The stable channel may have an older version than what you're currently running (",K,")."]}),q[4]=K,q[5]=Y;else Y=q[5];let H;if(q[6]===Symbol.for("react.memo_cache_sentinel"))H=D(T,{dimColor:!0,children:"How would you like to handle this?"}),q[6]=H;else H=q[6];let M;if(q[7]===Symbol.for("react.memo_cache_sentinel"))M={label:"Allow possible downgrade to stable version",value:"downgrade"},q[7]=M;else M=q[7];let f=`Stay on current version (${K}) until stable catches up`,j;if(q[8]!==f)j=[M,{label:f,value:"stay"}],q[8]=f,q[9]=j;else j=q[9];let J;if(q[10]!==$||q[11]!==j)J=D(g_,{options:j,onChange:$}),q[10]=$,q[11]=j,q[12]=J;else J=q[12];let X;if(q[13]!==O||q[14]!==Y||q[15]!==J)X=y(q8,{title:"Switch to Stable Channel",onCancel:O,color:"permission",hideBorder:!0,hideInputGuide:!0,children:[Y,H,J]}),q[13]=O,q[14]=Y,q[15]=J,q[16]=X;else X=q[16];return X}var HiK;var fiK=h(()=>{Q6();M5();cK();a();HiK=A6(s6(),1)});function jiK(_){return Object.entries(_).map(([q,K])=>({label:K?.name??Qbz,value:q,description:K?.description??lbz}))}function XiK(_){let q=JiK.c(16),{initialStyle:K,onComplete:A,onCancel:z,isStandaloneCommand:$}=_,w;if(q[0]===Symbol.for("react.memo_cache_sentinel"))w=[],q[0]=w;else w=q[0];let[O,Y]=LE6.useState(w),[H,M]=LE6.useState(!0),f,j;if(q[1]===Symbol.for("react.memo_cache_sentinel"))f=()=>{hY6(M_()).then((k)=>{let N=jiK(k);Y(N),M(!1)}).catch(()=>{let k=jiK(fa);Y(k),M(!1)})},j=[],q[1]=f,q[2]=j;else f=q[1],j=q[2];LE6.useEffect(f,j);let J;if(q[3]!==A)J=(k)=>{A(k)},q[3]=A,q[4]=J;else J=q[4];let X=J,P=!$,W=!$,Z;if(q[5]===Symbol.for("react.memo_cache_sentinel"))Z=D(x,{marginTop:1,children:D(T,{dimColor:!0,children:"This changes how Puku communicates with you"})}),q[5]=Z;else Z=q[5];let G;if(q[6]!==X||q[7]!==K||q[8]!==H||q[9]!==O)G=y(x,{flexDirection:"column",gap:1,children:[Z,H?D(T,{dimColor:!0,children:"Loading output styles…"}):D(g_,{options:O,onChange:X,visibleOptionCount:10,defaultValue:K})]}),q[6]=X,q[7]=K,q[8]=H,q[9]=O,q[10]=G;else G=q[10];let v;if(q[11]!==z||q[12]!==P||q[13]!==W||q[14]!==G)v=D(q8,{title:"Preferred output style",onCancel:z,hideInputGuide:P,hideBorder:W,children:G}),q[11]=z,q[12]=P,q[13]=W,q[14]=G,q[15]=v;else v=q[15];return v}var JiK,LE6,Qbz="Default",lbz="Puku CLI completes coding tasks efficiently and provides concise responses";var PiK=h(()=>{mR();Q6();d8();R4();cK();a();JiK=A6(s6(),1),LE6=A6(a6(),1)});function DiK(_){let q=WiK.c(13),{initialLanguage:K,onComplete:A,onCancel:z}=_,[$,w]=bH8.useState(K),[O,Y]=bH8.useState((K??"").length),H;if(q[0]===Symbol.for("react.memo_cache_sentinel"))H={context:"Settings"},q[0]=H;else H=q[0];U_("confirm:no",z,H);let M;if(q[1]!==$||q[2]!==A)M=function(){let v=$?.trim();A(v||void 0)},q[1]=$,q[2]=A,q[3]=M;else M=q[3];let f=M,j;if(q[4]===Symbol.for("react.memo_cache_sentinel"))j=D(T,{children:"Enter your preferred response and voice language:"}),q[4]=j;else j=q[4];let J;if(q[5]===Symbol.for("react.memo_cache_sentinel"))J=D(T,{children:n6.pointer}),q[5]=J;else J=q[5];let X=$??"",P;if(q[6]!==O||q[7]!==f||q[8]!==X)P=y(x,{flexDirection:"row",gap:1,children:[J,D(IA,{value:X,onChange:w,onSubmit:f,focus:!0,showCursor:!0,placeholder:`e.g., Japanese, 日本語, Español${n6.ellipsis}`,columns:60,cursorOffset:O,onChangeCursorOffset:Y})]}),q[6]=O,q[7]=f,q[8]=X,q[9]=P;else P=q[9];let W;if(q[10]===Symbol.for("react.memo_cache_sentinel"))W=D(T,{dimColor:!0,children:"Leave empty for default (English)"}),q[10]=W;else W=q[10];let Z;if(q[11]!==P)Z=y(x,{flexDirection:"column",gap:1,children:[j,P,W]}),q[11]=P,q[12]=Z;else Z=q[12];return Z}var WiK,bH8;var ZiK=h(()=>{Lq();Q6();$q();T9();a();WiK=A6(s6(),1),bH8=A6(a6(),1)});function kN(_){let q=GiK.c(17),{query:K,placeholder:A,isFocused:z,isTerminalFocused:$,prefix:w,width:O,cursorOffset:Y,borderless:H}=_,M=A===void 0?"Search…":A,f=w===void 0?"⌕":w,j=H===void 0?!1:H,J=Y??K.length,X=j?void 0:"round",P=z?"suggestion":void 0,W=!z,Z=j?0:1,G=!z,v;if(q[0]!==z||q[1]!==$||q[2]!==J||q[3]!==M||q[4]!==K)v=z?D(q_,{children:K?$?y(q_,{children:[D(T,{children:K.slice(0,J)}),D(T,{inverse:!0,children:J<K.length?K[J]:" "}),J<K.length&&D(T,{children:K.slice(J+1)})]}):D(T,{children:K}):$?y(q_,{children:[D(T,{inverse:!0,children:M.charAt(0)}),D(T,{dimColor:!0,children:M.slice(1)})]}):D(T,{dimColor:!0,children:M})}):K?D(T,{children:K}):D(T,{children:M}),q[0]=z,q[1]=$,q[2]=J,q[3]=M,q[4]=K,q[5]=v;else v=q[5];let k;if(q[6]!==f||q[7]!==G||q[8]!==v)k=y(T,{dimColor:G,children:[f," ",v]}),q[6]=f,q[7]=G,q[8]=v,q[9]=k;else k=q[9];let N;if(q[10]!==k||q[11]!==X||q[12]!==P||q[13]!==W||q[14]!==Z||q[15]!==O)N=D(x,{flexShrink:0,borderStyle:X,borderColor:P,borderDimColor:W,paddingX:Z,width:O,children:k}),q[10]=k,q[11]=X,q[12]=P,q[13]=W,q[14]=Z,q[15]=O,q[16]=N;else N=q[16];return N}var GiK;var At=h(()=>{Q6();a();GiK=A6(s6(),1)});function ibz(_){if(_.ctrl&&(_.key==="k"||_.key==="u"||_.key==="w"))return!0;if(_.meta&&_.key==="backspace")return!0;return!1}function nbz(_){return(_.ctrl||_.meta)&&_.key==="y"}function gD({isActive:_,onExit:q,onCancel:K,onExitUp:A,columns:z,passthroughCtrlKeys:$=[],initialQuery:w="",backspaceExitsOnEmpty:O=!0}){let{columns:Y}=G8(),H=z??Y,[M,f]=EE6.useState(w),[j,J]=EE6.useState(w.length),X=EE6.useCallback((W)=>{f(W),J(W.length)},[]),P=(W)=>{if(!_)return;let Z=V7.fromText(M,H,j);if(W.ctrl&&$.includes(W.key.toLowerCase()))return;if(!ibz(W))$E6();if(!nbz(W))wE6();if(W.key==="return"||W.key==="down"){W.preventDefault(),q();return}if(W.key==="up"){if(W.preventDefault(),A)A();return}if(W.key==="escape"){if(W.preventDefault(),K)K();else if(M.length>0)f(""),J(0);else q();return}if(W.key==="backspace"){if(W.preventDefault(),W.meta){let{cursor:v,killed:k}=Z.deleteWordBefore();qx(k,"prepend"),f(v.text),J(v.offset);return}if(M.length===0){if(O)(K??q)();return}let G=Z.backspace();f(G.text),J(G.offset);return}if(W.key==="delete"){W.preventDefault();let G=Z.del();f(G.text),J(G.offset);return}if(W.key==="left"&&(W.ctrl||W.meta||W.fn)){W.preventDefault();let G=Z.prevWord();J(G.offset);return}if(W.key==="right"&&(W.ctrl||W.meta||W.fn)){W.preventDefault();let G=Z.nextWord();J(G.offset);return}if(W.key==="left"){W.preventDefault();let G=Z.left();J(G.offset);return}if(W.key==="right"){W.preventDefault();let G=Z.right();J(G.offset);return}if(W.key==="home"){W.preventDefault(),J(0);return}if(W.key==="end"){W.preventDefault(),J(M.length);return}if(W.ctrl){switch(W.preventDefault(),W.key.toLowerCase()){case"a":J(0);return;case"e":J(M.length);return;case"b":J(Z.left().offset);return;case"f":J(Z.right().offset);return;case"d":{if(M.length===0){(K??q)();return}let G=Z.del();f(G.text),J(G.offset);return}case"h":{if(M.length===0){if(O)(K??q)();return}let G=Z.backspace();f(G.text),J(G.offset);return}case"k":{let{cursor:G,killed:v}=Z.deleteToLineEnd();qx(v,"append"),f(G.text),J(G.offset);return}case"u":{let{cursor:G,killed:v}=Z.deleteToLineStart();qx(v,"prepend"),f(G.text),J(G.offset);return}case"w":{let{cursor:G,killed:v}=Z.deleteWordBefore();qx(v,"prepend"),f(G.text),J(G.offset);return}case"y":{let G=MY_();if(G.length>0){let v=Z.offset,k=Z.insert(G);fY_(v,G.length),f(k.text),J(k.offset)}return}case"g":case"c":if(K){K();return}}return}if(W.meta){switch(W.preventDefault(),W.key.toLowerCase()){case"b":J(Z.prevWord().offset);return;case"f":J(Z.nextWord().offset);return;case"d":{let G=Z.deleteWordAfter();f(G.text),J(G.offset);return}case"y":{let G=jY_();if(G){let{text:v,start:k,length:N}=G,L=M.slice(0,k),b=M.slice(k+N),C=L+v+b,I=k+v.length;JY_(v.length),f(C),J(I)}return}}return}if(W.key==="tab")return;if(W.key.length>=1&&!rbz.has(W.key)){W.preventDefault();let G=Z.insert(W.key);f(G.text),J(G.offset)}};return uq((W,Z,G)=>{P(new B0(G.keypress))},{isActive:_}),{query:M,setQuery:X,cursorOffset:j,handleKeyDown:P}}var EE6,rbz;var $F=h(()=>{MA6();Q6();Bs();IK();EE6=A6(a6(),1);rbz=new Set(["pageup","pagedown","insert","wheelup","wheeldown","mouse","f1","f2","f3","f4","f5","f6","f7","f8","f9","f10","f11","f12"])});function kiK({onClose:_,context:q,setTabsHidden:K,onIsSearchModeChange:A,contentHeight:z}){let{headerFocused:$,focusHeader:w,blurHeader:O}=mj(),Y=dX(),[,H]=Yq(),M=C46(),[f,j]=fY.useState($_()),J=Nf.useRef($_()),[X,P]=fY.useState(t8()),W=Nf.useRef(t8()),[Z,G]=fY.useState(X?.outputStyle||l2),v=Nf.useRef(Z),[k,N]=fY.useState(X?.language),L=Nf.useRef(k),[b,C]=fY.useState(0),[I,p]=fY.useState(0),[m,g]=fY.useState(!0),c=b3(),{rows:u}=G8(),U=z??Math.min(Math.floor(u*0.8),30),F=Math.max(5,U-10),Q=z_((Z6)=>Z6.mainLoopModel),o=z_((Z6)=>Z6.verbose),z6=z_((Z6)=>Z6.thinkingEnabled),t=z_((Z6)=>oK()?Z6.fastMode:!1),e=z_((Z6)=>Z6.promptSuggestionEnabled),s=aO_()||AE6()==="enabled",n=!1,r=U8(),[M6,_6]=fY.useState({}),J6=Nf.useRef(z6),[w6]=fY.useState(()=>s_("localSettings")),[f6]=fY.useState(()=>s_("userSettings")),$6=Nf.useRef(M),H6=V5(),[q6]=fY.useState(()=>{let Z6=H6.getState();return{mainLoopModel:Z6.mainLoopModel,mainLoopModelForSession:Z6.mainLoopModelForSession,verbose:Z6.verbose,thinkingEnabled:Z6.thinkingEnabled,fastMode:Z6.fastMode,promptSuggestionEnabled:Z6.promptSuggestionEnabled,isBriefOnly:Z6.isBriefOnly,replBridgeEnabled:Z6.replBridgeEnabled,replBridgeOutboundOnly:Z6.replBridgeOutboundOnly,settings:Z6.settings}}),[Y6]=fY.useState(()=>MI6()),v6=Nf.useRef(!1),[m6,S6]=fY.useState(!1),[c6,l6]=fY.useState(null),{query:h6,setQuery:L6,cursorOffset:W6}=gD({isActive:m&&c6===null&&!$,onExit:()=>g(!1),onExitUp:w,passthroughCtrlKeys:["c","d"]}),X6=m&&!$;Nf.useEffect(()=>{A?.(X6)},[X6,A]);let F6=$7_(q.options.mcpClients),d6=!C6(process.env.PUKU_CLI_DISABLE_FILE_CHECKPOINTING),V6=Nf.use(aO(!0)),y6=rs_(V6),u6=Ol();function D6(Z6){l("ev_event",{from_model:Q,to_model:Z6}),r((A_)=>({...A_,mainLoopModel:Z6,mainLoopModelForSession:null})),_6((A_)=>{let v_=k2(Z6)+(Kt(Z6,!1,xW())?" · Billed as extra usage":"");if("model"in A_){let{model:_8,...u8}=A_;return{...u8,model:v_}}return{...A_,model:v_}})}function G6(Z6){b_((i6)=>({...i6,verbose:Z6})),j({...$_(),verbose:Z6}),r((i6)=>({...i6,verbose:Z6})),_6((i6)=>{if("verbose"in i6){let{verbose:A_,...v_}=i6;return v_}return{...i6,verbose:Z6}})}let j6=[{id:"autoCompactEnabled",label:"Auto-compact",value:f.autoCompactEnabled,type:"boolean",onChange(Z6){b_((i6)=>({...i6,autoCompactEnabled:Z6})),j({...$_(),autoCompactEnabled:Z6}),l("ev_event",{enabled:Z6})}},{id:"spinnerTipsEnabled",label:"Show tips",value:X?.spinnerTipsEnabled??!0,type:"boolean",onChange(Z6){k8("localSettings",{spinnerTipsEnabled:Z6}),P((i6)=>({...i6,spinnerTipsEnabled:Z6})),l("ev_event",{enabled:Z6})}},{id:"prefersReducedMotion",label:"Reduce motion",value:X?.prefersReducedMotion??!1,type:"boolean",onChange(Z6){k8("localSettings",{prefersReducedMotion:Z6}),P((i6)=>({...i6,prefersReducedMotion:Z6})),r((i6)=>({...i6,settings:{...i6.settings,prefersReducedMotion:Z6}})),l("ev_event",{enabled:Z6})}},{id:"thinkingEnabled",label:"Thinking mode",value:z6??!0,type:"boolean",onChange(Z6){r((i6)=>({...i6,thinkingEnabled:Z6})),k8("userSettings",{alwaysThinkingEnabled:Z6?void 0:!1}),l("ev_event",{enabled:Z6})}},...oK()&&NY()?[{id:"fastMode",label:`Fast mode (${v0} only)`,value:!!t,type:"boolean",onChange(Z6){if(si(),k8("userSettings",{fastMode:Z6?!0:void 0}),Z6)r((i6)=>({...i6,mainLoopModel:kD6(),mainLoopModelForSession:null,fastMode:!0})),_6((i6)=>({...i6,model:kD6(),"Fast mode":"ON"}));else r((i6)=>({...i6,fastMode:!1})),_6((i6)=>({...i6,"Fast mode":"OFF"}))}}]:[],...Q_("ev_event",!1)?[{id:"promptSuggestionEnabled",label:"Prompt suggestions",value:e,type:"boolean",onChange(Z6){r((i6)=>({...i6,promptSuggestionEnabled:Z6})),k8("userSettings",{promptSuggestionEnabled:Z6?void 0:!1})}}]:[],...[],...d6?[{id:"fileCheckpointingEnabled",label:"Rewind code (checkpoints)",value:f.fileCheckpointingEnabled,type:"boolean",onChange(Z6){b_((i6)=>({...i6,fileCheckpointingEnabled:Z6})),j({...$_(),fileCheckpointingEnabled:Z6}),l("ev_event",{enabled:Z6})}}]:[],{id:"verbose",label:"Verbose output",value:o,type:"boolean",onChange:G6},{id:"terminalProgressBarEnabled",label:"Terminal progress bar",value:f.terminalProgressBarEnabled,type:"boolean",onChange(Z6){b_((i6)=>({...i6,terminalProgressBarEnabled:Z6})),j({...$_(),terminalProgressBarEnabled:Z6}),l("ev_event",{enabled:Z6})}},...Q_("ev_event",!1)?[{id:"showStatusInTerminalTab",label:"Show status in terminal tab",value:f.showStatusInTerminalTab??!1,type:"boolean",onChange(Z6){b_((i6)=>({...i6,showStatusInTerminalTab:Z6})),j({...$_(),showStatusInTerminalTab:Z6}),l("ev_event",{enabled:Z6})}}]:[],{id:"showTurnDuration",label:"Show turn duration",value:f.showTurnDuration,type:"boolean",onChange(Z6){b_((i6)=>({...i6,showTurnDuration:Z6})),j({...$_(),showTurnDuration:Z6}),l("ev_event",{enabled:Z6})}},{id:"defaultPermissionMode",label:"Default permission mode",value:X?.permissions?.defaultMode||"default",options:(()=>{let Z6=["default","plan"],i6=Y2,A_=["bypassPermissions"];if(!s)A_.push("auto");return[...Z6,...i6.filter((v_)=>!Z6.includes(v_)&&!A_.includes(v_))]})(),type:"enum",onChange(Z6){let i6=jW(Z6),A_=Eu8(i6)?dT(i6):i6,v_=k8("userSettings",{permissions:{...X?.permissions,defaultMode:A_}});if(v_.error){K6(v_.error);return}P((_8)=>({..._8,permissions:{..._8?.permissions,defaultMode:A_}})),_6((_8)=>({..._8,defaultPermissionMode:Z6})),l("ev_event",{setting:"defaultPermissionMode",value:Z6})}},...s?[{id:"useAutoModeDuringPlan",label:"Use auto mode during plan",value:X?.useAutoModeDuringPlan??!0,type:"boolean",onChange(Z6){k8("userSettings",{useAutoModeDuringPlan:Z6}),P((i6)=>({...i6,useAutoModeDuringPlan:Z6})),r((i6)=>{let A_=uY6(i6.toolPermissionContext);if(A_===i6.toolPermissionContext)return i6;return{...i6,toolPermissionContext:A_}}),_6((i6)=>({...i6,"Use auto mode during plan":Z6}))}}]:[],{id:"respectGitignore",label:"Respect .gitignore in file picker",value:f.respectGitignore,type:"boolean",onChange(Z6){b_((i6)=>({...i6,respectGitignore:Z6})),j({...$_(),respectGitignore:Z6}),l("ev_event",{enabled:Z6})}},{id:"copyFullResponse",label:"Always copy full response (skip /copy picker)",value:f.copyFullResponse,type:"boolean",onChange(Z6){b_((i6)=>({...i6,copyFullResponse:Z6})),j({...$_(),copyFullResponse:Z6}),l("ev_event",{setting:"copyFullResponse",value:String(Z6)})}},...NK()?[{id:"copyOnSelect",label:"Copy on select",value:f.copyOnSelect??!0,type:"boolean",onChange(Z6){b_((i6)=>({...i6,copyOnSelect:Z6})),j({...$_(),copyOnSelect:Z6}),l("ev_event",{setting:"copyOnSelect",value:String(Z6)})}}]:[],{id:"flickerFreeMode",label:"Flicker-free mode",value:f.flickerFreeMode??process.env.USER_TYPE==="ant",type:"boolean",onChange(Z6){b_((i6)=>({...i6,flickerFreeMode:Z6})),j({...$_(),flickerFreeMode:Z6}),l("ev_event",{setting:"flickerFreeMode",value:String(Z6)})}},u6?{id:"autoUpdatesChannel",label:"Auto-update channel",value:"disabled",type:"managedEnum",onChange(){}}:{id:"autoUpdatesChannel",label:"Auto-update channel",value:X?.autoUpdatesChannel??"latest",type:"managedEnum",onChange(){}},{id:"theme",label:"Theme",value:M,type:"managedEnum",onChange:H},{id:"notifChannel",label:"Notifications",value:f.preferredNotifChannel,options:["auto","iterm2","terminal_bell","iterm2_with_bell","kitty","ghostty","notifications_disabled"],type:"enum",onChange(Z6){b_((i6)=>({...i6,preferredNotifChannel:Z6})),j({...$_(),preferredNotifChannel:Z6})}},...[],{id:"outputStyle",label:"Output style",value:Z,type:"managedEnum",onChange:()=>{}},...[],{id:"language",label:"Language",value:k??"Default (English)",type:"managedEnum",onChange:()=>{}},{id:"editorMode",label:"Editor mode",value:f.editorMode==="emacs"?"normal":f.editorMode||"normal",options:["normal","vim"],type:"enum",onChange(Z6){b_((i6)=>({...i6,editorMode:Z6})),j({...$_(),editorMode:Z6}),l("ev_event",{mode:Z6,source:"config_panel"})}},{id:"prStatusFooterEnabled",label:"Show PR status footer",value:f.prStatusFooterEnabled??!0,type:"boolean",onChange(Z6){b_((i6)=>{if(i6.prStatusFooterEnabled===Z6)return i6;return{...i6,prStatusFooterEnabled:Z6}}),j({...$_(),prStatusFooterEnabled:Z6}),l("ev_event",{enabled:Z6})}},{id:"model",label:"Model",value:Q===null?"Default (recommended)":k2(Q),type:"managedEnum",onChange:D6},...F6?[{id:"diffTool",label:"Diff tool",value:f.diffTool??"auto",options:["terminal","auto"],type:"enum",onChange(Z6){b_((i6)=>({...i6,diffTool:Z6})),j({...$_(),diffTool:Z6}),l("ev_event",{tool:Z6,source:"config_panel"})}}]:[],...!G1()?[{id:"autoConnectIde",label:"Auto-connect to IDE (external terminal)",value:f.autoConnectIde??!1,type:"boolean",onChange(Z6){b_((i6)=>({...i6,autoConnectIde:Z6})),j({...$_(),autoConnectIde:Z6}),l("ev_event",{enabled:Z6,source:"config_panel"})}}]:[],...G1()?[{id:"autoInstallIdeExtension",label:"Auto-install IDE extension",value:f.autoInstallIdeExtension??!0,type:"boolean",onChange(Z6){b_((i6)=>({...i6,autoInstallIdeExtension:Z6})),j({...$_(),autoInstallIdeExtension:Z6}),l("ev_event",{enabled:Z6,source:"config_panel"})}}]:[],{id:"pukuInChromeDefaultEnabled",label:"Puku in Chrome enabled by default",value:f.pukuInChromeDefaultEnabled??!0,type:"boolean",onChange(Z6){b_((i6)=>({...i6,pukuInChromeDefaultEnabled:Z6})),j({...$_(),pukuInChromeDefaultEnabled:Z6}),l("ev_event",{enabled:Z6})}},...Rq()?(()=>{let Z6=x78();return[{id:"teammateMode",label:Z6?`Teammate mode [overridden: ${Z6}]`:"Teammate mode",value:f.teammateMode??"auto",options:["auto","tmux","in-process"],type:"enum",onChange(A_){if(A_!=="auto"&&A_!=="tmux"&&A_!=="in-process")return;u78(A_),b_((v_)=>({...v_,teammateMode:A_})),j({...$_(),teammateMode:A_}),l("ev_event",{mode:A_})}},{id:"teammateDefaultModel",label:"Default teammate model",value:viK(f.teammateDefaultModel),type:"managedEnum",onChange(){}}]})():[],...[],...y6?[{id:"showExternalIncludesDialog",label:"External CLAUDE.md includes",value:(()=>{if($3().hasClaudeMdExternalIncludesApproved)return"true";else return"false"})(),type:"managedEnum",onChange(){}}]:[],...process.env.ANTHROPIC_API_KEY&&!LT()?[{id:"apiKey",label:y(T,{children:["Use custom API key:"," ",D(T,{bold:!0,children:KX(process.env.ANTHROPIC_API_KEY)})]}),searchText:"Use custom API key",value:Boolean(process.env.ANTHROPIC_API_KEY&&f.customApiKeyResponses?.approved?.includes(KX(process.env.ANTHROPIC_API_KEY))),type:"boolean",onChange(Z6){b_((i6)=>{let A_={...i6};if(!A_.customApiKeyResponses)A_.customApiKeyResponses={approved:[],rejected:[]};if(!A_.customApiKeyResponses.approved)A_.customApiKeyResponses={...A_.customApiKeyResponses,approved:[]};if(!A_.customApiKeyResponses.rejected)A_.customApiKeyResponses={...A_.customApiKeyResponses,rejected:[]};if(process.env.ANTHROPIC_API_KEY){let v_=KX(process.env.ANTHROPIC_API_KEY);if(Z6)A_.customApiKeyResponses={...A_.customApiKeyResponses,approved:[...(A_.customApiKeyResponses.approved??[]).filter((_8)=>_8!==v_),v_],rejected:(A_.customApiKeyResponses.rejected??[]).filter((_8)=>_8!==v_)};else A_.customApiKeyResponses={...A_.customApiKeyResponses,approved:(A_.customApiKeyResponses.approved??[]).filter((_8)=>_8!==v_),rejected:[...(A_.customApiKeyResponses.rejected??[]).filter((_8)=>_8!==v_),v_]}}return A_}),j($_())}}]:[]],T6=Nf.useMemo(()=>{if(!h6)return j6;let Z6=h6.toLowerCase();return j6.filter((i6)=>{if(i6.id.toLowerCase().includes(Z6))return!0;return("searchText"in i6?i6.searchText:i6.label).toLowerCase().includes(Z6)})},[j6,h6]);Nf.useEffect(()=>{if(b>=T6.length){let Z6=Math.max(0,T6.length-1);C(Z6),p(Math.max(0,Z6-F+1));return}p((Z6)=>{if(b<Z6)return b;if(b>=Z6+F)return b-F+1;return Z6})},[T6.length,b,F]);let R6=fY.useCallback((Z6)=>{p((i6)=>{if(Z6<i6)return Z6;if(Z6>=i6+F)return Z6-F+1;return i6})},[F]),k6=fY.useCallback(()=>{if(c6!==null)return;let Z6=Object.entries(M6).map(([_8,u8])=>{return l("ev_event",{key:_8,value:u8}),`Set ${_8} to ${Y_.bold(u8)}`}),i6=LT()?void 0:process.env.ANTHROPIC_API_KEY,A_=Boolean(i6&&J.current.customApiKeyResponses?.approved?.includes(KX(i6))),v_=Boolean(i6&&f.customApiKeyResponses?.approved?.includes(KX(i6)));if(A_!==v_)Z6.push(`${v_?"Enabled":"Disabled"} custom API key`),l("ev_event",{key:"env.ANTHROPIC_API_KEY",value:v_});if(f.theme!==J.current.theme)Z6.push(`Set theme to ${Y_.bold(f.theme)}`);if(f.preferredNotifChannel!==J.current.preferredNotifChannel)Z6.push(`Set notifications to ${Y_.bold(f.preferredNotifChannel)}`);if(Z!==v.current)Z6.push(`Set output style to ${Y_.bold(Z)}`);if(k!==L.current)Z6.push(`Set response language to ${Y_.bold(k??"Default (English)")}`);if(f.editorMode!==J.current.editorMode)Z6.push(`Set editor mode to ${Y_.bold(f.editorMode||"emacs")}`);if(f.diffTool!==J.current.diffTool)Z6.push(`Set diff tool to ${Y_.bold(f.diffTool)}`);if(f.autoConnectIde!==J.current.autoConnectIde)Z6.push(`${f.autoConnectIde?"Enabled":"Disabled"} auto-connect to IDE`);if(f.autoInstallIdeExtension!==J.current.autoInstallIdeExtension)Z6.push(`${f.autoInstallIdeExtension?"Enabled":"Disabled"} auto-install IDE extension`);if(f.autoCompactEnabled!==J.current.autoCompactEnabled)Z6.push(`${f.autoCompactEnabled?"Enabled":"Disabled"} auto-compact`);if(f.respectGitignore!==J.current.respectGitignore)Z6.push(`${f.respectGitignore?"Enabled":"Disabled"} respect .gitignore in file picker`);if(f.copyFullResponse!==J.current.copyFullResponse)Z6.push(`${f.copyFullResponse?"Enabled":"Disabled"} always copy full response`);if(f.copyOnSelect!==J.current.copyOnSelect)Z6.push(`${f.copyOnSelect?"Enabled":"Disabled"} copy on select`);if(f.terminalProgressBarEnabled!==J.current.terminalProgressBarEnabled)Z6.push(`${f.terminalProgressBarEnabled?"Enabled":"Disabled"} terminal progress bar`);if(f.showStatusInTerminalTab!==J.current.showStatusInTerminalTab)Z6.push(`${f.showStatusInTerminalTab?"Enabled":"Disabled"} terminal tab status`);if(f.showTurnDuration!==J.current.showTurnDuration)Z6.push(`${f.showTurnDuration?"Enabled":"Disabled"} turn duration`);if(f.remoteControlAtStartup!==J.current.remoteControlAtStartup){let _8=f.remoteControlAtStartup===void 0?"Reset Remote Control to default":`${f.remoteControlAtStartup?"Enabled":"Disabled"} Remote Control for all sessions`;Z6.push(_8)}if(X?.autoUpdatesChannel!==W.current?.autoUpdatesChannel)Z6.push(`Set auto-update channel to ${Y_.bold(X?.autoUpdatesChannel??"latest")}`);if(Z6.length>0)_(Z6.join(`
5328
5328
  `));else _("Config dialog dismissed",{display:"system"})},[c6,M6,f,Q,Z,k,X?.autoUpdatesChannel,oK()?X?.fastMode:void 0,_]),I6=fY.useCallback(()=>{if(M!==$6.current)H($6.current);b_(()=>J.current);let Z6=w6;k8("localSettings",{spinnerTipsEnabled:Z6?.spinnerTipsEnabled,prefersReducedMotion:Z6?.prefersReducedMotion,defaultView:Z6?.defaultView,outputStyle:Z6?.outputStyle});let i6=f6;k8("userSettings",{alwaysThinkingEnabled:i6?.alwaysThinkingEnabled,fastMode:i6?.fastMode,promptSuggestionEnabled:i6?.promptSuggestionEnabled,autoUpdatesChannel:i6?.autoUpdatesChannel,minimumVersion:i6?.minimumVersion,language:i6?.language,...{useAutoModeDuringPlan:i6?.useAutoModeDuringPlan},syntaxHighlightingDisabled:i6?.syntaxHighlightingDisabled,permissions:i6?.permissions===void 0?void 0:{...i6.permissions,defaultMode:i6.permissions.defaultMode}});let A_=q6;if(r((v_)=>({...v_,mainLoopModel:A_.mainLoopModel,mainLoopModelForSession:A_.mainLoopModelForSession,verbose:A_.verbose,thinkingEnabled:A_.thinkingEnabled,fastMode:A_.fastMode,promptSuggestionEnabled:A_.promptSuggestionEnabled,isBriefOnly:A_.isBriefOnly,replBridgeEnabled:A_.replBridgeEnabled,replBridgeOutboundOnly:A_.replBridgeOutboundOnly,settings:A_.settings,toolPermissionContext:uY6(v_.toolPermissionContext)})),MI6()!==Y6)yM6(Y6)},[M,H,w6,f6,q6,Y6,r]),o6=fY.useCallback(()=>{if(c6!==null)return;if(v6.current)I6();_("Config dialog dismissed",{display:"system"})},[c6,I6,_]);U_("confirm:no",o6,{context:"Settings",isActive:c6===null&&!m&&!$}),U_("settings:close",k6,{context:"Settings",isActive:c6===null&&!m&&!$});let U6=fY.useCallback(()=>{let Z6=T6[b];if(!Z6||!Z6.onChange)return;if(Z6.type==="boolean"){if(v6.current=!0,Z6.onChange(!Z6.value),Z6.id==="thinkingEnabled"){if(!Z6.value===J6.current)S6(!1);else if(q.messages.some((v_)=>v_.type==="assistant"))S6(!0)}return}if(Z6.id==="theme"||Z6.id==="model"||Z6.id==="teammateDefaultModel"||Z6.id==="showExternalIncludesDialog"||Z6.id==="outputStyle"||Z6.id==="language")switch(Z6.id){case"theme":l6("Theme"),K(!0);return;case"model":l6("Model"),K(!0);return;case"teammateDefaultModel":l6("TeammateModel"),K(!0);return;case"showExternalIncludesDialog":l6("ExternalIncludes"),K(!0);return;case"outputStyle":l6("OutputStyle"),K(!0);return;case"language":l6("Language"),K(!0);return}if(Z6.id==="autoUpdatesChannel"){if(u6){l6("EnableAutoUpdates"),K(!0);return}if((X?.autoUpdatesChannel??"latest")==="latest")l6("ChannelDowngrade"),K(!0);else v6.current=!0,k8("userSettings",{autoUpdatesChannel:"latest",minimumVersion:void 0}),P((A_)=>({...A_,autoUpdatesChannel:"latest",minimumVersion:void 0})),l("ev_event",{channel:"latest"});return}if(Z6.type==="enum"){v6.current=!0;let A_=(Z6.options.indexOf(Z6.value)+1)%Z6.options.length;Z6.onChange(Z6.options[A_]);return}},[u6,T6,b,X?.autoUpdatesChannel,K]),w_=(Z6)=>{S6(!1);let i6=Math.max(0,Math.min(T6.length-1,b+Z6));C(i6),R6(i6)};jq({"select:previous":()=>{if(b===0)S6(!1),g(!0),p(0);else w_(-1)},"select:next":()=>w_(1),"scroll:lineUp":()=>w_(-1),"scroll:lineDown":()=>w_(1),"select:accept":U6,"settings:search":()=>{g(!0),L6("")}},{context:"Settings",isActive:c6===null&&!m&&!$});let H_=fY.useCallback((Z6)=>{if(c6!==null)return;if($){if(Z6.key==="down")O();return}if(m){if(Z6.key==="escape"){if(Z6.preventDefault(),h6.length>0)L6("");else g(!1);return}if(Z6.key==="return"||Z6.key==="down"||Z6.key==="wheeldown")Z6.preventDefault(),g(!1),C(0),p(0);return}if(Z6.key==="left"||Z6.key==="right"||Z6.key==="tab"){Z6.preventDefault(),U6();return}if(Z6.ctrl||Z6.meta)return;if(Z6.key==="j"||Z6.key==="k"||Z6.key==="/")return;if(Z6.key.length===1&&Z6.key!==" ")Z6.preventDefault(),g(!0),L6(Z6.key)},[c6,$,m,h6,L6,U6,O]);return D(x,{flexDirection:"column",width:"100%",tabIndex:0,autoFocus:!0,onKeyDown:H_,children:c6==="Theme"?y(q_,{children:[D(eY6,{onThemeSelect:(Z6)=>{v6.current=!0,H(Z6),l6(null),K(!1)},onCancel:()=>{l6(null),K(!1)},hideEscToCancel:!0,skipExitHandling:!0}),D(x,{children:D(T,{dimColor:!0,italic:!0,children:y(w8,{children:[D(C_,{shortcut:"Enter",action:"select"}),D(F_,{action:"confirm:no",context:"Confirmation",fallback:"Esc",description:"cancel"})]})})})]}):c6==="Model"?y(q_,{children:[D(qt,{initial:Q,onSelect:(Z6,i6)=>{v6.current=!0,D6(Z6),l6(null),K(!1)},onCancel:()=>{l6(null),K(!1)},showFastModeNotice:oK()?t&&iO(Q)&&NY():!1}),D(T,{dimColor:!0,children:y(w8,{children:[D(C_,{shortcut:"Enter",action:"confirm"}),D(F_,{action:"confirm:no",context:"Confirmation",fallback:"Esc",description:"cancel"})]})})]}):c6==="TeammateModel"?y(q_,{children:[D(qt,{initial:f.teammateDefaultModel??null,skipSettingsWrite:!0,headerText:"Default model for newly spawned teammates. The leader can override via the tool call's model parameter.",onSelect:(Z6,i6)=>{if(l6(null),K(!1),f.teammateDefaultModel===void 0&&Z6===null)return;v6.current=!0,b_((A_)=>A_.teammateDefaultModel===Z6?A_:{...A_,teammateDefaultModel:Z6}),j({...$_(),teammateDefaultModel:Z6}),_6((A_)=>({...A_,teammateDefaultModel:viK(Z6)})),l("ev_event",{model:Z6})},onCancel:()=>{l6(null),K(!1)}}),D(T,{dimColor:!0,children:y(w8,{children:[D(C_,{shortcut:"Enter",action:"confirm"}),D(F_,{action:"confirm:no",context:"Confirmation",fallback:"Esc",description:"cancel"})]})})]}):c6==="ExternalIncludes"?y(q_,{children:[D(hH8,{onDone:()=>{l6(null),K(!1)},externalIncludes:oT6(V6)}),D(T,{dimColor:!0,children:y(w8,{children:[D(C_,{shortcut:"Enter",action:"confirm"}),D(F_,{action:"confirm:no",context:"Confirmation",fallback:"Esc",description:"disable external includes"})]})})]}):c6==="OutputStyle"?y(q_,{children:[D(XiK,{initialStyle:Z,onComplete:(Z6)=>{v6.current=!0,G(Z6??l2),l6(null),K(!1),k8("localSettings",{outputStyle:Z6}),l("ev_event",{style:Z6??l2,source:"config_panel",settings_source:"localSettings"})},onCancel:()=>{l6(null),K(!1)}}),D(T,{dimColor:!0,children:y(w8,{children:[D(C_,{shortcut:"Enter",action:"confirm"}),D(F_,{action:"confirm:no",context:"Confirmation",fallback:"Esc",description:"cancel"})]})})]}):c6==="Language"?y(q_,{children:[D(DiK,{initialLanguage:k,onComplete:(Z6)=>{v6.current=!0,N(Z6),l6(null),K(!1),k8("userSettings",{language:Z6}),l("ev_event",{language:Z6??"default",source:"config_panel"})},onCancel:()=>{l6(null),K(!1)}}),D(T,{dimColor:!0,children:y(w8,{children:[D(C_,{shortcut:"Enter",action:"confirm"}),D(F_,{action:"confirm:no",context:"Settings",fallback:"Esc",description:"cancel"})]})})]}):c6==="EnableAutoUpdates"?D(q8,{title:"Enable Auto-Updates",onCancel:()=>{l6(null),K(!1)},hideBorder:!0,hideInputGuide:!0,children:u6?.type!=="config"?y(q_,{children:[D(T,{children:u6?.type==="env"?"Auto-updates are controlled by an environment variable and cannot be changed here.":"Auto-updates are disabled in development builds."}),u6?.type==="env"&&y(T,{dimColor:!0,children:["Unset ",u6.envVar," to re-enable auto-updates."]})]}):D(g_,{options:[{label:"Enable with latest channel",value:"latest"},{label:"Enable with stable channel",value:"stable"}],onChange:(Z6)=>{v6.current=!0,l6(null),K(!1),b_((i6)=>({...i6,autoUpdates:!0})),j({...$_(),autoUpdates:!0}),k8("userSettings",{autoUpdatesChannel:Z6,minimumVersion:void 0}),P((i6)=>({...i6,autoUpdatesChannel:Z6,minimumVersion:void 0})),l("ev_event",{channel:Z6})}})}):c6==="ChannelDowngrade"?D(MiK,{currentVersion:"99.0.0",onChoice:(Z6)=>{if(l6(null),K(!1),Z6==="cancel")return;v6.current=!0;let i6={autoUpdatesChannel:"stable"};if(Z6==="stay")i6.minimumVersion="99.0.0";k8("userSettings",i6),P((A_)=>({...A_,...i6})),l("ev_event",{channel:"stable",minimum_version_set:Z6==="stay"})}}):y(x,{flexDirection:"column",gap:1,marginY:Y?void 0:1,children:[D(kN,{query:h6,isFocused:m&&!$,isTerminalFocused:c,cursorOffset:W6,placeholder:"Search settings…"}),D(x,{flexDirection:"column",children:T6.length===0?y(T,{dimColor:!0,italic:!0,children:['No settings match "',h6,'"']}):y(q_,{children:[I>0&&y(T,{dimColor:!0,children:[n6.arrowUp," ",I," more above"]}),T6.slice(I,I+F).map((Z6,i6)=>{let v_=I+i6===b&&!$&&!m;return D(Nf.Fragment,{children:y(x,{children:[D(x,{width:44,children:y(T,{color:v_?"suggestion":void 0,children:[v_?n6.pointer:" "," ",Z6.label]})}),D(x,{children:Z6.type==="boolean"?y(q_,{children:[D(T,{color:v_?"suggestion":void 0,children:Z6.value.toString()}),m6&&Z6.id==="thinkingEnabled"&&y(T,{color:"warning",children:[" ","Changing thinking mode mid-conversation will increase latency and may reduce quality."]})]}):Z6.id==="theme"?D(T,{color:v_?"suggestion":void 0,children:abz[Z6.value.toString()]??Z6.value.toString()}):Z6.id==="notifChannel"?D(T,{color:v_?"suggestion":void 0,children:D(obz,{value:Z6.value.toString()})}):Z6.id==="defaultPermissionMode"?D(T,{color:v_?"suggestion":void 0,children:QT(Z6.value)}):Z6.id==="autoUpdatesChannel"&&u6?y(x,{flexDirection:"column",children:[D(T,{color:v_?"suggestion":void 0,children:"disabled"}),y(T,{dimColor:!0,children:["(",AJ6(u6),")"]})]}):D(T,{color:v_?"suggestion":void 0,children:Z6.value.toString()})},v_?"selected":"unselected")]})},Z6.id)}),I+F<T6.length&&y(T,{dimColor:!0,children:[n6.arrowDown," ",T6.length-I-F," ","more below"]})]})}),$?D(T,{dimColor:!0,children:y(w8,{children:[D(C_,{shortcut:"←/→ tab",action:"switch"}),D(C_,{shortcut:"↓",action:"return"}),D(F_,{action:"confirm:no",context:"Settings",fallback:"Esc",description:"close"})]})}):m?D(T,{dimColor:!0,children:y(w8,{children:[D(T,{children:"Type to filter"}),D(C_,{shortcut:"Enter/↓",action:"select"}),D(C_,{shortcut:"↑",action:"tabs"}),D(F_,{action:"confirm:no",context:"Settings",fallback:"Esc",description:"clear"})]})}):D(T,{dimColor:!0,children:y(w8,{children:[D(F_,{action:"select:accept",context:"Settings",fallback:"Space",description:"change"}),D(F_,{action:"settings:close",context:"Settings",fallback:"Enter",description:"save"}),D(F_,{action:"settings:search",context:"Settings",fallback:"/",description:"search"}),D(F_,{action:"confirm:no",context:"Settings",fallback:"Esc",description:"cancel"})]})})]})})}function viK(_){if(_===void 0)return k2(sR6());if(_===null)return"Default (leader's model)";return k2(_)}function obz(_){let q=TiK.c(4),{value:K}=_;switch(K){case"auto":return"Auto";case"iterm2":{let A;if(q[0]===Symbol.for("react.memo_cache_sentinel"))A=y(T,{children:["iTerm2 ",D(T,{dimColor:!0,children:"(OSC 9)"})]}),q[0]=A;else A=q[0];return A}case"terminal_bell":{let A;if(q[1]===Symbol.for("react.memo_cache_sentinel"))A=y(T,{children:["Terminal Bell ",D(T,{dimColor:!0,children:"(\\a)"})]}),q[1]=A;else A=q[1];return A}case"kitty":{let A;if(q[2]===Symbol.for("react.memo_cache_sentinel"))A=y(T,{children:["Kitty ",D(T,{dimColor:!0,children:"(OSC 99)"})]}),q[2]=A;else A=q[2];return A}case"ghostty":{let A;if(q[3]===Symbol.for("react.memo_cache_sentinel"))A=y(T,{children:["Ghostty ",D(T,{dimColor:!0,children:"(OSC 777)"})]}),q[3]=A;else A=q[3];return A}case"iterm2_with_bell":return"iTerm2 w/ Bell";case"notifications_disabled":return"Disabled";default:return K}}var TiK,Nf,fY,abz;var NiK=h(()=>{Q6();$q();Lq();Y8();GD6();Y8();N4();t9();O9();D_();tY6();w9_();c8();M9_();Sq();f9_();SH8();fiK();cK();M5();PiK();ZiK();f9();G7();c7();aK();tv();tR();At();Mw();W8();J_();mR();R_();Uz();Yo();dw8();$F();IK();RM();$9();a();TiK=A6(s6(),1),Nf=A6(a6(),1),fY=A6(a6(),1);abz={auto:"Auto (match terminal)",dark:"Dark mode",light:"Light mode","dark-daltonized":"Dark mode (colorblind-friendly)","light-daltonized":"Light mode (colorblind-friendly)","dark-ansi":"Dark mode (ANSI colors only)","light-ansi":"Light mode (ANSI colors only)"}});function yiK(){return j9_}function RiK(){return J9_}function sbz(){let _=j9_!==null,q=J9_!==null;if(j9_=null,J9_=null,_)for(let K of hE6)K(null);if(q)for(let K of SE6)K(null)}function CH8(_){if(!_||typeof _.limit!=="number"||typeof _.used!=="number"||typeof _.resetsAt!=="string")return null;return{limit:_.limit,used:_.used,resetsAt:_.resetsAt}}function ViK(_,q){return fetch(q,{headers:{Authorization:`Bearer ${_.accessToken}`}})}async function bE6(){let _=await dd_();if(!_){sbz();return}let q=`${Ha6()}/puku/v1/subscription`,K=await ViK(_,q);if(K.status===401&&_.refreshToken){let $=await M46(_,{force:!0});if($)await Xn($),_=$,mZ6($),K=await ViK(_,q)}if(!K.ok)return;let A;try{A=await K.json()}catch{return}let z=A.quotas?.chat;if(!z)return;if(typeof z.used_req==="number"&&typeof z.req_limit==="number"){let $={used_req:z.used_req,req_limit:z.req_limit};j9_=$;for(let w of hE6)w($)}if(z.windows!==void 0){let $=CH8(z.windows.fiveHour),w=CH8(z.windows.weekly),O=CH8(z.windows.monthly);if($||w||O){let Y={fiveHour:$,weekly:w,monthly:O};J9_=Y;for(let H of SE6)H(Y)}}}var j9_=null,hE6,J9_=null,SE6;var X9_=h(()=>{E0();hE6=new Set,SE6=new Set});function LiK(){let[_,q]=K96.useState(yiK());return K96.useEffect(()=>{let K=(A)=>{q(A)};return hE6.add(K),()=>{hE6.delete(K)}},[]),_}function EiK(){let[_,q]=K96.useState(RiK());return K96.useEffect(()=>{let K=(A)=>{q(A)};return SE6.add(K),()=>{SE6.delete(K)}},[]),_}var K96;var IH8=h(()=>{X9_();K96=A6(a6(),1)});function xH8({title:_,window:q,maxWidth:K}){let A=q.limit>0?Math.min(1,q.used/q.limit):0,z=(A*100).toFixed(1),$=s_6(q.resetsAt,!1,!0),w=Math.max(10,Math.min(K-30,20));return y(x,{flexDirection:"column",children:[D(T,{bold:!0,children:_}),y(x,{flexDirection:"row",gap:1,children:[D(iR,{ratio:A,width:w,fillColor:"rate_limit_fill",emptyColor:"rate_limit_empty"}),y(T,{children:[z,"% (",q.used," / ",q.limit,")"]})]}),y(T,{dimColor:!0,children:[" Resets at: ",$]})]})}function SiK(){let _=EiK();if(hiK.useEffect(()=>{bE6()},[]),!_)return D(x,{flexDirection:"column",gap:1,children:D(T,{dimColor:!0,children:"Loading usage data…"})});let q=_.fiveHour||_.weekly||_.monthly,K=80;return y(x,{flexDirection:"column",gap:1,width:"100%",children:[!q&&D(T,{dimColor:!0,children:"No usage data available."}),_.fiveHour&&D(xH8,{title:"Five Hour Usage:",window:_.fiveHour,maxWidth:K}),_.weekly&&D(xH8,{title:"Weekly Usage:",window:_.weekly,maxWidth:K}),_.monthly&&D(xH8,{title:"Monthly Usage:",window:_.monthly,maxWidth:K})]})}var hiK;var biK=h(()=>{Q6();X9_();IH8();KN6();qq();a();hiK=A6(a6(),1)});function uH8(){let _=oV6();if(!_||!_.available||_.granted)return!1;return sV6(_)!==null}function uiK(){if(!uH8())return!1;let _=$_();if(_.hasVisitedExtraUsage)return!1;if((_.overageCreditUpsellSeenCount??0)>=ebz)return!1;return!0}function _Cz(_){return`${_} in extra usage for third-party apps · /extra-usage`}function IiK(_){return`${_} in extra usage`}function piK(_){let q=xiK.c(8),{maxWidth:K,twoLine:A}=_,z,$;if(q[0]!==K||q[1]!==A){$=Symbol.for("react.early_return_sentinel");_:{let w=oV6();if(!w){$=null;break _}let O=sV6(w);if(!O){$=null;break _}if(A){let f=IiK(O),j;if(q[4]!==K)j=K?EA(CiK,K):CiK,q[4]=K,q[5]=j;else j=q[5];let J;if(q[6]!==j)J=D(T,{dimColor:!0,children:j}),q[6]=j,q[7]=J;else J=q[7];$=y(q_,{children:[D(T,{color:"puku",children:K?EA(f,K):f}),J]});break _}let Y=_Cz(O),H=K?EA(Y,K):Y,M=Math.min(IiK(O).length,H.length);z=y(T,{dimColor:!0,children:[D(T,{color:"puku",children:H.slice(0,M)}),H.slice(M)]})}q[0]=K,q[1]=A,q[2]=z,q[3]=$}else z=q[2],$=q[3];if($!==Symbol.for("react.early_return_sentinel"))return $;return z}var xiK,tbz,ebz=3,CiK="On us. Works on third-party apps · /extra-usage";var pH8=h(()=>{Q6();TA_();Y8();qq();a();xiK=A6(s6(),1),tbz=A6(a6(),1)});function IE6(_){return typeof _==="object"&&_!==null}function NN(_){return typeof _==="string"&&_.trim()?_.trim():void 0}function A96(_){return typeof _==="number"&&Number.isFinite(_)?_:void 0}function mH8(_){return typeof _==="boolean"?_:void 0}function gH8(_){let q=A96(_);if(q===void 0)return;return new Date(q*1000).toISOString()}function P9_(_){if(!IE6(_))return;let q=A96(_.used_percent)??A96(_.usedPercent);if(q===void 0)return;let K=A96(_.window_minutes)??A96(_.windowDurationMins)??(()=>{let z=A96(_.limit_window_seconds);return z===void 0?void 0:Math.round(z/60)})(),A=gH8(_.resets_at)??gH8(_.resetsAt)??gH8(_.reset_at);return{usedPercent:q,windowMinutes:K,resetsAt:A}}function giK(_){if(!IE6(_))return;let q=mH8(_.has_credits)??mH8(_.hasCredits)??!1,K=mH8(_.unlimited)??!1,A=NN(_.balance);if(!q&&!K&&!A)return;return{hasCredits:q,unlimited:K,balance:A}}function CE6(_,q){if(!IE6(_))return;let K=NN(_.limit_name)??NN(_.limitName)??NN(_.limit_id)??NN(_.limitId)??q,A=P9_(_.primary)??P9_(_.primary_window),z=P9_(_.secondary)??P9_(_.secondary_window),$=giK(_.credits);if(!A&&!z&&!$)return;return{limitName:K,primary:A,secondary:z,credits:$}}function cH8(_,q="codex"){if(Array.isArray(_))return _.map((K,A)=>CE6(K,A===0?q:`${q}-${A+1}`)).filter((K)=>K!==void 0);if(!IE6(_))return[];return Object.entries(_).map(([K,A])=>CE6(A,K)).filter((K)=>K!==void 0)}function qCz(_){let q=NN(_.plan_type)??NN(_.planType),K=[],A=giK(_.credits),z=CE6(_.rate_limit,"codex");if(z)z.credits??=A,K.push(z);else if(A)K.push({limitName:"codex",credits:A});let $=CE6(_.code_review_rate_limit,"code review");if($)K.push($);return K.push(...cH8(_.additional_rate_limits??_.additionalRateLimits,"additional")),{planType:q,snapshots:K}}function KCz(_){if(Array.isArray(_))return{snapshots:cH8(_)};if(!IE6(_))return{snapshots:[]};if("rate_limit"in _||"code_review_rate_limit"in _||"additional_rate_limits"in _||"credits"in _)return qCz(_);let q=_.rate_limits??_.rateLimits??_.rate_limits_by_limit_id??_.rateLimitsByLimitId;if(q!==void 0)return{planType:NN(_.plan_type)??NN(_.planType),snapshots:cH8(q)};let K=CE6(_,"codex");return{planType:NN(_.plan_type)??NN(_.planType),snapshots:K?[K]:[]}}function z96(_){if(!_)return _;return _[0].toUpperCase()+_.slice(1)}function miK(_,q){if(_===void 0||_<=0)return q;if(_===10080)return"weekly";if(_%1440===0)return`${_/1440}d`;if(_%60===0)return`${_/60}h`;return`${_}m`}function ACz(_){let q=_?.trim();if(!q)return;let K=Number.parseInt(q,10);if(Number.isFinite(K)&&`${K}`===q&&K>0)return`${K}`;let A=Number.parseFloat(q);if(Number.isFinite(A)&&A>0)return`${Math.round(A)}`;return}function zCz(_){if(!_?.hasCredits)return;if(_.unlimited)return{kind:"text",label:"Credits",value:"Unlimited"};let q=ACz(_.balance);if(!q)return;return{kind:"text",label:"Credits",value:`${q} credits`}}function ciK(_){let q=[];for(let K of _){let A=K.limitName.trim()||"codex",z=zCz(K.credits);if(!(K.primary!==void 0||K.secondary!==void 0||z!==void 0))continue;let w=A.toLowerCase()!=="codex",O=Number(K.primary!==void 0)+Number(K.secondary!==void 0),Y=w&&O===1;if(w&&!Y)q.push({kind:"text",label:`${z96(A)} limit`,value:""});if(K.primary){let H=z96(miK(K.primary.windowMinutes,"5h"));q.push({kind:"window",label:Y?`${z96(A)} ${H} limit`:`${H} limit`,usedPercent:K.primary.usedPercent,resetsAt:K.primary.resetsAt})}if(K.secondary){let H=z96(miK(K.secondary.windowMinutes,"weekly"));q.push({kind:"window",label:Y?`${z96(A)} ${H} limit`:`${H} limit`,usedPercent:K.secondary.usedPercent,resetsAt:K.secondary.resetsAt})}if(z)q.push(z)}return q}function BiK(_){if(!_)return;return _.split(/[_\s-]+/).filter(Boolean).map((q)=>z96(q.toLowerCase())).join(" ")}function $Cz(_=_h){return new URL("/backend-api/wham/usage",_).toString()}async function UiK(){let _=c1({model:process.env.OPENAI_MODEL,baseUrl:process.env.OPENAI_BASE_URL});if(!rH6(_.baseUrl))throw Error("Codex usage is only available with the official ChatGPT Codex backend.");let q=iP();if(!q.apiKey){let A=q.authPath?` or place a Codex auth.json at ${q.authPath}`:"";throw Error(`Codex auth is required. Set CODEX_API_KEY${A}.`)}if(!q.accountId)throw Error("Codex auth is missing chatgpt_account_id. Re-login with the Codex CLI or set CHATGPT_ACCOUNT_ID/CODEX_ACCOUNT_ID.");let K=await fetch($Cz(_.baseUrl),{method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${q.apiKey}`,"chatgpt-account-id":q.accountId,originator:"puku-cli"},signal:AbortSignal.timeout(5000)});if(!K.ok){let A=await K.text().catch(()=>"unknown error");throw Error(`Codex usage error ${K.status}: ${A}`)}return KCz(await K.json())}var FiK=h(()=>{qh()});function wCz({label:_,usedPercent:q,resetsAt:K,maxWidth:A}){let z=Math.max(0,Math.min(100,q)),$=`${Math.floor(z)}% used`,w=K?`Resets ${s_6(K,!0,!0)}`:void 0;if(A>=62)return y(x,{flexDirection:"column",children:[D(T,{bold:!0,children:_}),y(x,{flexDirection:"row",gap:1,children:[D(iR,{ratio:z/100,width:50,fillColor:"rate_limit_fill",emptyColor:"rate_limit_empty"}),D(T,{children:$})]}),w?D(T,{dimColor:!0,children:w}):null]});return y(x,{flexDirection:"column",children:[y(T,{children:[D(T,{bold:!0,children:_}),w?y(q_,{children:[D(T,{children:" "}),y(T,{dimColor:!0,children:["· ",w]})]}):null]}),D(iR,{ratio:z/100,width:A,fillColor:"rate_limit_fill",emptyColor:"rate_limit_empty"}),D(T,{children:$})]})}function OCz({label:_,value:q}){if(!q)return D(T,{bold:!0,children:_});return y(T,{children:[D(T,{bold:!0,children:_}),y(T,{dimColor:!0,children:[" · ",q]})]})}function QiK(){let[_,q]=$96.useState(null),[K,A]=$96.useState(null),[z,$]=$96.useState(!0),{columns:w}=G8(),O=w-2,Y=Math.min(O,80),H=diK.useCallback(async()=>{$(!0),A(null);try{q(await UiK())}catch(j){K6(j),A(j instanceof Error?j.message:"Failed to load Codex usage")}finally{$(!1)}},[]);if($96.useEffect(()=>{H()},[H]),U_("settings:retry",()=>{H()},{context:"Settings",isActive:!!K&&!z}),K)return y(x,{flexDirection:"column",gap:1,children:[y(T,{color:"error",children:["Error: ",K]}),D(T,{dimColor:!0,children:y(w8,{children:[D(F_,{action:"settings:retry",context:"Settings",fallback:"r",description:"retry"}),D(F_,{action:"confirm:no",context:"Settings",fallback:"Esc",description:"cancel"})]})})]});if(!_)return y(x,{flexDirection:"column",gap:1,children:[D(T,{dimColor:!0,children:"Loading Codex usage data…"}),D(T,{dimColor:!0,children:D(F_,{action:"confirm:no",context:"Settings",fallback:"Esc",description:"cancel"})})]});let M=ciK(_.snapshots),f=BiK(_.planType);return y(x,{flexDirection:"column",gap:1,width:"100%",children:[f?y(T,{dimColor:!0,children:["Plan: ",f]}):null,M.length===0?D(T,{dimColor:!0,children:"Codex usage data is not available for this account."}):null,M.map((j,J)=>j.kind==="window"?D(wCz,{label:j.label,usedPercent:j.usedPercent,resetsAt:j.resetsAt,maxWidth:Y},`${j.label}-${J}`):D(OCz,{label:j.label,value:j.value},`${j.label}-${J}`)),D(T,{dimColor:!0,children:D(F_,{action:"confirm:no",context:"Settings",fallback:"Esc",description:"cancel"})})]})}var diK,$96;var liK=h(()=>{IK();Q6();$q();FiK();qq();D_();c7();aK();KN6();a();diK=A6(a6(),1),$96=A6(a6(),1)});function niK(_){let q=UH8.c(34),{title:K,limit:A,maxWidth:z,showTimeInReset:$,extraSubtext:w}=_,O=$===void 0?!0:$,{utilization:Y,resets_at:H}=A;if(Y===null)return null;let M=`${Math.floor(Y)}% used`,f;if(H){let j;if(q[0]!==H||q[1]!==O)j=s_6(H,!0,O),q[0]=H,q[1]=O,q[2]=j;else j=q[2];f=`Resets ${j}`}if(w)if(f)f=`${w} · ${f}`;else f=w;if(z>=62){let j;if(q[3]!==K)j=D(T,{bold:!0,children:K}),q[3]=K,q[4]=j;else j=q[4];let J=Y/100,X;if(q[5]!==J)X=D(iR,{ratio:J,width:50,fillColor:"rate_limit_fill",emptyColor:"rate_limit_empty"}),q[5]=J,q[6]=X;else X=q[6];let P;if(q[7]!==M)P=D(T,{children:M}),q[7]=M,q[8]=P;else P=q[8];let W;if(q[9]!==X||q[10]!==P)W=y(x,{flexDirection:"row",gap:1,children:[X,P]}),q[9]=X,q[10]=P,q[11]=W;else W=q[11];let Z;if(q[12]!==f)Z=f&&D(T,{dimColor:!0,children:f}),q[12]=f,q[13]=Z;else Z=q[13];let G;if(q[14]!==j||q[15]!==W||q[16]!==Z)G=y(x,{flexDirection:"column",children:[j,W,Z]}),q[14]=j,q[15]=W,q[16]=Z,q[17]=G;else G=q[17];return G}else{let j;if(q[18]!==K)j=D(T,{bold:!0,children:K}),q[18]=K,q[19]=j;else j=q[19];let J;if(q[20]!==f)J=f&&y(q_,{children:[D(T,{children:" "}),y(T,{dimColor:!0,children:["· ",f]})]}),q[20]=f,q[21]=J;else J=q[21];let X;if(q[22]!==j||q[23]!==J)X=y(T,{children:[j,J]}),q[22]=j,q[23]=J,q[24]=X;else X=q[24];let P=Y/100,W;if(q[25]!==z||q[26]!==P)W=D(iR,{ratio:P,width:z,fillColor:"rate_limit_fill",emptyColor:"rate_limit_empty"}),q[25]=z,q[26]=P,q[27]=W;else W=q[27];let Z;if(q[28]!==M)Z=D(T,{children:M}),q[28]=M,q[29]=Z;else Z=q[29];let G;if(q[30]!==X||q[31]!==W||q[32]!==Z)G=y(x,{flexDirection:"column",children:[X,W,Z]}),q[30]=X,q[31]=W,q[32]=Z,q[33]=G;else G=q[33];return G}}function YCz(){let[_,q]=w96.useState(null),[K,A]=w96.useState(null),[z,$]=w96.useState(!0),{columns:w}=G8(),O=w-2,Y=Math.min(O,80),H=iiK.useCallback(async()=>{$(!0),A(null);try{let J=await r36();q(J)}catch(J){K6(J);let X=J,P=X.response?.data?x6(X.response.data):void 0;A(P?`Failed to load usage data: ${P}`:"Failed to load usage data")}finally{$(!1)}},[]);if(w96.useEffect(()=>{H()},[H]),U_("settings:retry",()=>{H()},{context:"Settings",isActive:!!K&&!z}),K)return y(x,{flexDirection:"column",gap:1,children:[y(T,{color:"error",children:["Error: ",K]}),D(T,{dimColor:!0,children:y(w8,{children:[D(F_,{action:"settings:retry",context:"Settings",fallback:"r",description:"retry"}),D(F_,{action:"confirm:no",context:"Settings",fallback:"Esc",description:"cancel"})]})})]});if(!_)return y(x,{flexDirection:"column",gap:1,children:[D(T,{dimColor:!0,children:"Loading usage data…"}),D(T,{dimColor:!0,children:D(F_,{action:"confirm:no",context:"Settings",fallback:"Esc",description:"cancel"})})]});let M=o7(),f=M==="max"||M==="team"||M===null,j=[{title:"Current session",limit:_.five_hour},{title:"Current week (all models)",limit:_.seven_day},...f?[{title:"Current week (Sonnet only)",limit:_.seven_day_sonnet}]:[]];return y(x,{flexDirection:"column",gap:1,width:"100%",children:[j.some(({limit:J})=>J)||D(T,{dimColor:!0,children:"/usage is only available for subscription plans."}),j.map(({title:J,limit:X})=>X&&D(niK,{title:J,limit:X,maxWidth:Y},J)),_.extra_usage&&D(HCz,{extraUsage:_.extra_usage,maxWidth:Y}),uH8()&&D(piK,{maxWidth:Y}),D(T,{dimColor:!0,children:D(F_,{action:"confirm:no",context:"Settings",fallback:"Esc",description:"cancel"})})]})}function riK(){if($8()==="codex")return D(QiK,{});if(!Hq())return D(SiK,{});return D(YCz,{})}function HCz(_){let q=UH8.c(20),{extraUsage:K,maxWidth:A}=_,z=o7();if(!(z==="pro"||z==="max"))return!1;if(!K.is_enabled){if(oB.isEnabled()){let v;if(q[0]===Symbol.for("react.memo_cache_sentinel"))v=y(x,{flexDirection:"column",children:[D(T,{bold:!0,children:BH8}),D(T,{dimColor:!0,children:"Extra usage not enabled · /extra-usage to enable"})]}),q[0]=v;else v=q[0];return v}return null}if(K.monthly_limit===null){let v;if(q[1]===Symbol.for("react.memo_cache_sentinel"))v=y(x,{flexDirection:"column",children:[D(T,{bold:!0,children:BH8}),D(T,{dimColor:!0,children:"Unlimited"})]}),q[1]=v;else v=q[1];return v}if(typeof K.used_credits!=="number"||typeof K.utilization!=="number")return null;let w=K.used_credits/100,O;if(q[2]!==w)O=$R6(w,2),q[2]=w,q[3]=O;else O=q[3];let Y=O,H=K.monthly_limit/100,M;if(q[4]!==H)M=$R6(H,2),q[4]=H,q[5]=M;else M=q[5];let f=M,j,J,X,P;if(q[6]!==K.utilization){let v=new Date,k=new Date(v.getFullYear(),v.getMonth()+1,1);j=niK,P=BH8,J=K.utilization,X=k.toISOString(),q[6]=K.utilization,q[7]=j,q[8]=J,q[9]=X,q[10]=P}else j=q[7],J=q[8],X=q[9],P=q[10];let W;if(q[11]!==J||q[12]!==X)W={utilization:J,resets_at:X},q[11]=J,q[12]=X,q[13]=W;else W=q[13];let Z=`${Y} / ${f} spent`,G;if(q[14]!==j||q[15]!==A||q[16]!==P||q[17]!==W||q[18]!==Z)G=D(j,{title:P,limit:W,showTimeInReset:!1,extraSubtext:Z,maxWidth:A}),q[14]=j,q[15]=A,q[16]=P,q[17]=W,q[18]=Z,q[19]=G;else G=q[19];return G}var UH8,iiK,w96,BH8="Extra usage";var aiK=h(()=>{tV6();pv();Kq();biK();IK();Q6();$q();kA_();qq();D_();F7();m_();c7();aK();KN6();pH8();liK();a();UH8=A6(s6(),1),iiK=A6(a6(),1),w96=A6(a6(),1)});function O96(_){let q=oiK.c(25),{onClose:K,context:A,defaultTab:z}=_,[$,w]=wF.useState(z),[O,Y]=wF.useState(!1),[H,M]=wF.useState(!1),[f,j]=wF.useState(!1),J=dX(),{rows:X}=eK_(G8()),P=J?X+1:Math.max(15,Math.min(Math.floor(X*0.8),30)),[W]=wF.useState(MCz);e7();let Z;if(q[0]!==K||q[1]!==O)Z=()=>{if(O)return;K("Status dialog dismissed",{display:"system"})},q[0]=K,q[1]=O,q[2]=Z;else Z=q[2];let G=Z,v=!O&&!($==="Config"&&H)&&!($==="Gates"&&f),k;if(q[3]!==v)k={context:"Settings",isActive:v},q[3]=v,q[4]=k;else k=q[4];U_("confirm:no",G,k);let N;if(q[5]!==A||q[6]!==W)N=D(_3,{title:"Status",children:D(elK,{context:A,diagnosticsPromise:W})},"status"),q[5]=A,q[6]=W,q[7]=N;else N=q[7];let L;if(q[8]!==P||q[9]!==A||q[10]!==K)L=D(_3,{title:"Config",children:D(wF.Suspense,{fallback:null,children:D(kiK,{context:A,onClose:K,setTabsHidden:Y,onIsSearchModeChange:M,contentHeight:P})})},"config"),q[8]=P,q[9]=A,q[10]=K,q[11]=L;else L=q[11];let b;if(q[12]===Symbol.for("react.memo_cache_sentinel"))b=D(_3,{title:"Usage",children:D(riK,{})},"usage"),q[12]=b;else b=q[12];let C;if(q[13]!==P)C=[],q[13]=P,q[14]=C;else C=q[14];let I;if(q[15]!==N||q[16]!==L||q[17]!==C)I=[N,L,b,...C],q[15]=N,q[16]=L,q[17]=C,q[18]=I;else I=q[18];let p=I,m=z!=="Config"&&z!=="Gates",g=O||J?void 0:P,c;if(q[19]!==$||q[20]!==g||q[21]!==m||q[22]!==p||q[23]!==O)c=D(H5,{color:"permission",children:D(sv,{color:"permission",selectedTab:$,onTabChange:w,hidden:O,initialHeaderFocused:m,contentHeight:g,children:p})}),q[19]=$,q[20]=g,q[21]=m,q[22]=p,q[23]=O,q[24]=c;else c=q[24];return c}function MCz(){return tlK().catch(fCz)}function fCz(){return[]}var oiK,wF;var W9_=h(()=>{$q();Hw();IK();tR();kH();tv();_iK();NiK();aiK();a();oiK=A6(s6(),1),wF=A6(a6(),1)});var siK={};N_(siK,{call:()=>jCz});var jCz=async(_,q)=>{return D(O96,{onClose:_,context:q,defaultTab:"Config"})};var tiK=h(()=>{W9_();a()});var JCz,eiK;var _nK=h(()=>{JCz={aliases:["settings"],type:"local-jsx",name:"config",description:"Open config panel",load:()=>Promise.resolve().then(() => (tiK(),siK))},eiK=JCz});var qnK={};N_(qnK,{formatContextAsMarkdownTable:()=>D9_,collectContextData:()=>Y96,call:()=>PCz});async function Y96(_){let{messages:q,getAppState:K,options:{mainLoopModel:A,tools:z,agentDefinitions:$,customSystemPrompt:w,appendSystemPrompt:O}}=_,Y=Xw(q),{messages:H}=await Vc(Y),M=K();return GcK(H,A,async()=>M.toolPermissionContext,z,$,void 0,{options:{customSystemPrompt:w,appendSystemPrompt:O}},void 0,Y)}async function PCz(_,q){let K=await Y96(q);return{type:"text",value:D9_(K,q.options.theme)}}function D9_(_,q="dark"){let{categories:K,totalTokens:A,rawMaxTokens:z,percentage:$,model:w,memoryFiles:O,mcpTools:Y,agents:H,skills:M,gridRows:f}=_,j="⛁",J="⛀",X="⛶",P="⛝",W=new Map;for(let e of K)W.set(e.name,l8(e.color,q));function Z(e){if(e.categoryName==="Free space")return"⛶";if(e.categoryName==="Autocompact buffer"||e.categoryName==="Compact buffer")return"⛝";return e.squareFullness>=0.7?"⛁":"⛀"}function G(e){let s=W.get(e.categoryName),n=Z(e);return s?s(n):n}let v=`**Context Usage**
5329
5329
 
5330
5330
  `,k=(e)=>{switch(e){case"userSettings":return"User";case"projectSettings":return"Project";case"localSettings":return"Local";case"flagSettings":return"Flag";case"policySettings":return"Managed";case"plugin":return"Plugin";case"built-in":case"builtin":return"Built-in";case"bundled":return"Built-in";case"mcp":return"MCP";default:return e||"Other"}},N=K.filter((e)=>e.tokens>0&&e.name!=="Free space"&&e.name!=="Autocompact buffer"&&e.name!=="Compact buffer"&&!e.isDeferred),L=K.find((e)=>e.name==="Free space"),b=K.find((e)=>e.name==="Autocompact buffer"||e.name==="Compact buffer"),C=[];for(let e of N){let s=e.tokens/z;C.push({glyph:s>=0.07?"⛁":"⛀",name:e.name,tokens:e.tokens,pct:`${(s*100).toFixed(1)}%`,colorName:e.name})}if(L&&L.tokens>0)C.push({glyph:"⛶",name:"Free space",tokens:L.tokens,pct:`${(L.tokens/z*100).toFixed(1)}%`,colorName:"Free space",dim:!0});if(b&&b.tokens>0)C.push({glyph:"⛝",name:b.name,tokens:b.tokens,pct:`${(b.tokens/z*100).toFixed(1)}%`,colorName:b.name,dim:!0});let I=(e)=>{let s=Bf(e.tokens),n=e.colorName?W.get(e.colorName):void 0;return`${n?n(e.glyph):e.glyph} ${e.name}: ${s} tokens (${e.pct})`},p=2,m=(e)=>e.map((s)=>`${G(s)} `).join("").trimEnd(),c=`${$z(w)} · ${Bf(A)}/${Bf(z)} tokens (${$}%)`,u=4,U=(f[0]?.length??0)*p,F=Math.max(u,U-c.length+u),Q=[];Q.push(m(f[0]??[])+" ".repeat(F)+c);let o="Estimated usage by category",z6=Math.max(u,U-o.length+u);Q.push(m(f[1]??[])+" ".repeat(z6)+o);let t=Math.max(f.length,C.length+2);for(let e=2;e<t;e++){let s=m(f[e]??Array(f[0]?.length??0).fill({categoryName:"Free space",squareFullness:1})),n=e-2<C.length?I(C[e-2]):"",r=Math.max(u,U-s.length+u);Q.push(s+" ".repeat(r)+n)}if(v+="```\n"+Q.join(`
@@ -5971,7 +5971,7 @@ Bad (wrong case): {"title": "Fix Login Button On Mobile"}`,VUz;var m96=h(()=>{s8
5971
5971
  `)}function pUz(_){if(!_||typeof _!=="object")return typeof _==="string"?_:"";let q=_;if(typeof q.stdout==="string"){let A=typeof q.stderr==="string"?q.stderr:"";return q.stdout+(A?`
5972
5972
  `+A:"")}if(q.file&&typeof q.file==="object"&&typeof q.file.content==="string")return q.file.content;let K=[];for(let A of["content","output","result","text","message"]){let z=q[A];if(typeof z==="string")K.push(z)}for(let A of["filenames","lines","results"]){let z=q[A];if(Array.isArray(z)&&z.every(($)=>typeof $==="string"))K.push(z.join(`
5973
5973
  `))}return K.join(`
5974
- `)}var ieK="</system-reminder>",neK,reK;var jj8=h(()=>{P8();neK=new Set([lc,nM]),reK=new WeakMap});function aeK(_){if(_>=70)return"horizontal";return"compact"}function oeK(_,q,K){if(q==="horizontal"){let z=K,$=Jj8+u1_+x1_+z,w=_-$,O=Math.max(30,w),Y=Math.min(z+O+x1_+u1_,_-Jj8);if(Y<z+O+x1_+u1_)O=Y-z-x1_-u1_;return{leftWidth:z,rightWidth:O,totalWidth:Y}}let A=Math.min(_-Jj8,mUz+20);return{leftWidth:A,rightWidth:A,totalWidth:A}}function seK(_,q){if(o_(_)<=q)return _;let K="/",A="…",z=1,$=1,w=_.split(K),O=w[0]||"",Y=w[w.length-1]||"",H=o_(O),M=o_(Y);if(w.length===1)return UK(_,q);if(O===""&&z+$+M>=q)return`${K}${UK(Y,Math.max(1,q-$))}`;if(O!==""&&z*2+$+M>=q)return`${A}${K}${UK(Y,Math.max(1,q-z-$))}`;if(w.length===2){let J=q-z-$-M;return`${gQ(O,J)}${A}${K}${Y}`}let f=q-H-M-z-2*$;if(f<=0){let J=Math.max(0,q-M-z-2*$);return`${gQ(O,J)}${K}${A}${K}${Y}`}let j=[];for(let J=w.length-2;J>0;J--){let X=w[J];if(X&&o_(X)+$<=f)j.unshift(X),f-=o_(X)+$;else break}if(j.length===0)return`${O}${K}${A}${K}${Y}`;return`${O}${K}${A}${K}${j.join(K)}${K}${Y}`}async function teK(){if(p1_)return p1_;let _=X_();return p1_=Xw6(10).then((q)=>{return fh6=q.filter((K)=>{if(K.isSidechain)return!1;if(K.sessionId===_)return!1;if(K.summary?.includes("I apologize"))return!1;let A=K.summary&&K.summary!=="No prompt",z=K.firstPrompt&&K.firstPrompt!=="No prompt";return A||z}).slice(0,3),fh6}).catch(()=>{return fh6=[],fh6}),p1_}function eeK(){return fh6}var mUz=50,Jj8=4,x1_=1,u1_=2,fh6,p1_=null;var Xj8=h(()=>{J_();w4();Kq();d8();M7();qq();$h6();VK();W8();fh6=[]});function q67(_){let{title:q,lines:K,footer:A,emptyMessage:z,customContent:$}=_,w=o_(q);if($!==void 0)w=Math.max(w,$.width);else if(K.length===0&&z)w=Math.max(w,o_(z));else{let Y=Math.max(0,...K.map((H)=>H.timestamp?o_(H.timestamp):0));for(let H of K){let M=Y>0?Y:0,f=o_(H.text)+(M>0?M+2:0);w=Math.max(w,f)}}if(A)w=Math.max(w,o_(A));return w}function K67(_){let q=_67.c(15),{config:K,actualWidth:A}=_,{title:z,lines:$,footer:w,emptyMessage:O,customContent:Y}=K,H;if(q[0]!==$)H=Math.max(0,...$.map(gUz)),q[0]=$,q[1]=H;else H=q[1];let M=H,f;if(q[2]!==z)f=D(T,{bold:!0,color:"sectionLabel",children:z}),q[2]=z,q[3]=f;else f=q[3];let j;if(q[4]!==A||q[5]!==Y||q[6]!==O||q[7]!==w||q[8]!==$||q[9]!==M)j=Y?y(q_,{children:[Y.content,w&&D(T,{dimColor:!0,italic:!0,children:EA(w,A)})]}):$.length===0&&O?D(T,{dimColor:!0,children:EA(O,A)}):y(q_,{children:[$.map((X,P)=>{let W=Math.max(10,A-(M>0?M+2:0));return y(T,{children:[M>0&&y(q_,{children:[D(T,{dimColor:!0,children:(X.timestamp||"").padEnd(M)})," "]}),D(T,{children:EA(X.text,W)})]},P)}),w&&D(T,{dimColor:!0,italic:!0,children:EA(w,A)})]}),q[4]=A,q[5]=Y,q[6]=O,q[7]=w,q[8]=$,q[9]=M,q[10]=j;else j=q[10];let J;if(q[11]!==A||q[12]!==f||q[13]!==j)J=y(x,{flexDirection:"column",width:A,children:[f,j]}),q[11]=A,q[12]=f,q[13]=j,q[14]=J;else J=q[14];return J}function gUz(_){return _.timestamp?o_(_.timestamp):0}var _67;var A67=h(()=>{w4();Q6();qq();a();_67=A6(s6(),1)});function w67(_){let q=z67.c(10),{feeds:K,maxWidth:A}=_,z;if(q[0]!==K){let H=K.map(cUz);z=Math.max(...H),q[0]=K,q[1]=z}else z=q[1];let w=Math.max(20,Math.min(z,A)),O;if(q[2]!==w||q[3]!==K){let H;if(q[5]!==w||q[6]!==K.length)H=(M,f)=>y($67.Fragment,{children:[D(K67,{config:M,actualWidth:w}),f<K.length-1&&D(j$,{color:"puku",width:w})]},f),q[5]=w,q[6]=K.length,q[7]=H;else H=q[7];O=K.map(H),q[2]=w,q[3]=K,q[4]=O}else O=q[4];let Y;if(q[8]!==O)Y=D(x,{flexDirection:"column",children:O}),q[8]=O,q[9]=Y;else Y=q[9];return Y}function cUz(_){return q67(_)}var z67,$67;var O67=h(()=>{Q6();Zv();A67();a();z67=A6(s6(),1),$67=A6(a6(),1)});import*as Y67 from"os";function FUz(){return D(x,{flexDirection:"column",children:D(T,{children:H67})})}function M67(){let{columns:_}=G8(),q=xY(),K=aeK(_);if(K==="compact")return null;let{leftWidth:A,rightWidth:z}=oeK(_,K,dUz),$="1.8.41",w=process.env.PUKU_USER_NAME,O=$z(q),Y=process.cwd().replace(Y67.homedir(),"~"),H=eeK(),M={title:"Recent activity",lines:H.map((j)=>{return{text:(j.summary&&j.summary!=="No prompt"?j.summary:j.firstPrompt)||"",timestamp:cT(j.modified)}}),footer:H.length>0?"/resume for more":void 0,emptyMessage:"No recent activity"},f={title:"What's new",lines:BUz.map((j)=>({text:j})),footer:"/release-notes for more"};return D(x,{flexDirection:"column",borderStyle:"round",borderColor:"#4A4C53",borderText:{content:` v${$} `,position:"bottom",align:"end",offset:3},width:_,children:y(x,{flexDirection:"row",paddingX:1,gap:1,children:[y(x,{flexDirection:"column",width:A,justifyContent:"space-between",alignItems:"center",minHeight:9,children:[w&&D(x,{children:y(T,{bold:!0,children:["Welcome back, ",w]})}),D(x,{flexDirection:"column",marginY:1,children:D(FUz,{})}),y(x,{flexDirection:"column",children:[D(T,{dimColor:!0,children:O}),D(T,{dimColor:!0,children:seK(Y,A-2)})]})]}),D(x,{height:"100%",borderStyle:"single",borderColor:"#4A4C53",borderDimColor:!0,borderTop:!1,borderBottom:!1,borderLeft:!1}),D(w67,{feeds:[M,f],maxWidth:z})]})})}var BUz,H67,UUz,dUz;var f67=h(()=>{Q6();IK();gk();Sq();Xj8();qq();O67();a();BUz=["/remote-control live message feed","Puku mobile app relay session view","Teal prompt borders + ▶ char"],H67=`\x1B[0m\x1B[38;5;177m▆\x1B[48;5;183m \x1B[0m\x1B[38;5;177m▆\x1B[0m
5974
+ `)}var ieK="</system-reminder>",neK,reK;var jj8=h(()=>{P8();neK=new Set([lc,nM]),reK=new WeakMap});function aeK(_){if(_>=70)return"horizontal";return"compact"}function oeK(_,q,K){if(q==="horizontal"){let z=K,$=Jj8+u1_+x1_+z,w=_-$,O=Math.max(30,w),Y=Math.min(z+O+x1_+u1_,_-Jj8);if(Y<z+O+x1_+u1_)O=Y-z-x1_-u1_;return{leftWidth:z,rightWidth:O,totalWidth:Y}}let A=Math.min(_-Jj8,mUz+20);return{leftWidth:A,rightWidth:A,totalWidth:A}}function seK(_,q){if(o_(_)<=q)return _;let K="/",A="…",z=1,$=1,w=_.split(K),O=w[0]||"",Y=w[w.length-1]||"",H=o_(O),M=o_(Y);if(w.length===1)return UK(_,q);if(O===""&&z+$+M>=q)return`${K}${UK(Y,Math.max(1,q-$))}`;if(O!==""&&z*2+$+M>=q)return`${A}${K}${UK(Y,Math.max(1,q-z-$))}`;if(w.length===2){let J=q-z-$-M;return`${gQ(O,J)}${A}${K}${Y}`}let f=q-H-M-z-2*$;if(f<=0){let J=Math.max(0,q-M-z-2*$);return`${gQ(O,J)}${K}${A}${K}${Y}`}let j=[];for(let J=w.length-2;J>0;J--){let X=w[J];if(X&&o_(X)+$<=f)j.unshift(X),f-=o_(X)+$;else break}if(j.length===0)return`${O}${K}${A}${K}${Y}`;return`${O}${K}${A}${K}${j.join(K)}${K}${Y}`}async function teK(){if(p1_)return p1_;let _=X_();return p1_=Xw6(10).then((q)=>{return fh6=q.filter((K)=>{if(K.isSidechain)return!1;if(K.sessionId===_)return!1;if(K.summary?.includes("I apologize"))return!1;let A=K.summary&&K.summary!=="No prompt",z=K.firstPrompt&&K.firstPrompt!=="No prompt";return A||z}).slice(0,3),fh6}).catch(()=>{return fh6=[],fh6}),p1_}function eeK(){return fh6}var mUz=50,Jj8=4,x1_=1,u1_=2,fh6,p1_=null;var Xj8=h(()=>{J_();w4();Kq();d8();M7();qq();$h6();VK();W8();fh6=[]});function q67(_){let{title:q,lines:K,footer:A,emptyMessage:z,customContent:$}=_,w=o_(q);if($!==void 0)w=Math.max(w,$.width);else if(K.length===0&&z)w=Math.max(w,o_(z));else{let Y=Math.max(0,...K.map((H)=>H.timestamp?o_(H.timestamp):0));for(let H of K){let M=Y>0?Y:0,f=o_(H.text)+(M>0?M+2:0);w=Math.max(w,f)}}if(A)w=Math.max(w,o_(A));return w}function K67(_){let q=_67.c(15),{config:K,actualWidth:A}=_,{title:z,lines:$,footer:w,emptyMessage:O,customContent:Y}=K,H;if(q[0]!==$)H=Math.max(0,...$.map(gUz)),q[0]=$,q[1]=H;else H=q[1];let M=H,f;if(q[2]!==z)f=D(T,{bold:!0,color:"sectionLabel",children:z}),q[2]=z,q[3]=f;else f=q[3];let j;if(q[4]!==A||q[5]!==Y||q[6]!==O||q[7]!==w||q[8]!==$||q[9]!==M)j=Y?y(q_,{children:[Y.content,w&&D(T,{dimColor:!0,italic:!0,children:EA(w,A)})]}):$.length===0&&O?D(T,{dimColor:!0,children:EA(O,A)}):y(q_,{children:[$.map((X,P)=>{let W=Math.max(10,A-(M>0?M+2:0));return y(T,{children:[M>0&&y(q_,{children:[D(T,{dimColor:!0,children:(X.timestamp||"").padEnd(M)})," "]}),D(T,{children:EA(X.text,W)})]},P)}),w&&D(T,{dimColor:!0,italic:!0,children:EA(w,A)})]}),q[4]=A,q[5]=Y,q[6]=O,q[7]=w,q[8]=$,q[9]=M,q[10]=j;else j=q[10];let J;if(q[11]!==A||q[12]!==f||q[13]!==j)J=y(x,{flexDirection:"column",width:A,children:[f,j]}),q[11]=A,q[12]=f,q[13]=j,q[14]=J;else J=q[14];return J}function gUz(_){return _.timestamp?o_(_.timestamp):0}var _67;var A67=h(()=>{w4();Q6();qq();a();_67=A6(s6(),1)});function w67(_){let q=z67.c(10),{feeds:K,maxWidth:A}=_,z;if(q[0]!==K){let H=K.map(cUz);z=Math.max(...H),q[0]=K,q[1]=z}else z=q[1];let w=Math.max(20,Math.min(z,A)),O;if(q[2]!==w||q[3]!==K){let H;if(q[5]!==w||q[6]!==K.length)H=(M,f)=>y($67.Fragment,{children:[D(K67,{config:M,actualWidth:w}),f<K.length-1&&D(j$,{color:"puku",width:w})]},f),q[5]=w,q[6]=K.length,q[7]=H;else H=q[7];O=K.map(H),q[2]=w,q[3]=K,q[4]=O}else O=q[4];let Y;if(q[8]!==O)Y=D(x,{flexDirection:"column",children:O}),q[8]=O,q[9]=Y;else Y=q[9];return Y}function cUz(_){return q67(_)}var z67,$67;var O67=h(()=>{Q6();Zv();A67();a();z67=A6(s6(),1),$67=A6(a6(),1)});import*as Y67 from"os";function FUz(){return D(x,{flexDirection:"column",children:D(T,{children:H67})})}function M67(){let{columns:_}=G8(),q=xY(),K=aeK(_);if(K==="compact")return null;let{leftWidth:A,rightWidth:z}=oeK(_,K,dUz),$="1.8.42",w=process.env.PUKU_USER_NAME,O=$z(q),Y=process.cwd().replace(Y67.homedir(),"~"),H=eeK(),M={title:"Recent activity",lines:H.map((j)=>{return{text:(j.summary&&j.summary!=="No prompt"?j.summary:j.firstPrompt)||"",timestamp:cT(j.modified)}}),footer:H.length>0?"/resume for more":void 0,emptyMessage:"No recent activity"},f={title:"What's new",lines:BUz.map((j)=>({text:j})),footer:"/release-notes for more"};return D(x,{flexDirection:"column",borderStyle:"round",borderColor:"#4A4C53",borderText:{content:` v${$} `,position:"bottom",align:"end",offset:3},width:_,children:y(x,{flexDirection:"row",paddingX:1,gap:1,children:[y(x,{flexDirection:"column",width:A,justifyContent:"space-between",alignItems:"center",minHeight:9,children:[w&&D(x,{children:y(T,{bold:!0,children:["Welcome back, ",w]})}),D(x,{flexDirection:"column",marginY:1,children:D(FUz,{})}),y(x,{flexDirection:"column",children:[D(T,{dimColor:!0,children:O}),D(T,{dimColor:!0,children:seK(Y,A-2)})]})]}),D(x,{height:"100%",borderStyle:"single",borderColor:"#4A4C53",borderDimColor:!0,borderTop:!1,borderBottom:!1,borderLeft:!1}),D(w67,{feeds:[M,f],maxWidth:z})]})})}var BUz,H67,UUz,dUz;var f67=h(()=>{Q6();IK();gk();Sq();Xj8();qq();O67();a();BUz=["/remote-control live message feed","Puku mobile app relay session view","Teal prompt borders + ▶ char"],H67=`\x1B[0m\x1B[38;5;177m▆\x1B[48;5;183m \x1B[0m\x1B[38;5;177m▆\x1B[0m
5975
5975
  `+`\x1B[7m\x1B[38;5;183m \x1B[38;5;140m▗▅▅▅▅▅▅▅▖\x1B[38;5;183m \x1B[0m
5976
5976
  `+`\x1B[7m\x1B[38;5;183m \x1B[0m\x1B[38;5;140m▋ \x1B[7m▍\x1B[38;5;183m \x1B[0m
5977
5977
  `+`\x1B[7m\x1B[38;5;183m \x1B[0m\x1B[38;5;140m▋ \x1B[7m▍\x1B[38;5;183m \x1B[0m
@@ -7737,7 +7737,7 @@ ${l8("suggestion",_.theme)(`/plugin install frontend-design@${VO}`)}`},cooldownS
7737
7737
  ${l8("suggestion",_.theme)(`/plugin install vercel@${VO}`)}`},cooldownSessions:3,isRelevant:async(_)=>kX7("vercel",_,{filePath:/(?:^|[/\\])vercel\.json$/i,cli:["vercel"]})},{id:"effort-high-nudge",content:async(_)=>{let K=l8("suggestion",_.theme)("/effort high");return Q_("ev_event","off")==="copy_b"?`Use ${K} for better one-shot answers. puku-cli thinks it through first.`:`Working on something tricky? ${K} gives better first answers`},cooldownSessions:3,isRelevant:async()=>{if(!jn())return!1;if(!DX(rK()))return!1;if(s_("policySettings")?.effortLevel!==void 0)return!1;if(jr()!==void 0)return!1;let _=t8().effortLevel;if(_==="high"||_==="max")return!1;return Q_("ev_event","off")!=="off"}},{id:"subagent-fanout-nudge",content:async(_)=>{let q=l8("suggestion",_.theme);return Q_("ev_event","off")==="copy_b"?`For big tasks, tell puku-cli to ${q("use subagents")}. They work in parallel and keep your main thread clean.`:`Say ${q('"fan out subagents"')} and puku-cli sends a team. Each one digs deep so nothing gets missed.`},cooldownSessions:3,isRelevant:async()=>{if(!jn())return!1;return Q_("ev_event","off")!=="off"}},{id:"loop-command-nudge",content:async(_)=>{let q=l8("suggestion",_.theme);return Q_("ev_event","off")==="copy_b"?`Use ${q("/loop 5m check the deploy")} to run any prompt on a schedule. Set it and forget it.`:`${q("/loop")} runs any prompt on a recurring schedule. Great for monitoring deploys, babysitting PRs, or polling status.`},cooldownSessions:3,isRelevant:async()=>{if(!jn())return!1;if(!M1K())return!1;return Q_("ev_event","off")!=="off"}},{id:"guest-passes",content:async(_)=>{let q=l8("puku",_.theme),K=JH_();return K?`Share puku-cli and earn ${q(jH_(K))} of extra usage · ${q("/passes")}`:`You have free guest passes to share · ${q("/passes")}`},cooldownSessions:3,isRelevant:async()=>{if($_().hasVisitedPasses)return!1;let{eligible:q}=fH_();return q}},{id:"overage-credit",content:async(_)=>{let q=l8("puku",_.theme),K=oV6(),A=K?sV6(K):null;if(!A)return"";return`${q(`${A} in extra usage, on us`)} · third-party apps · ${q("/extra-usage")}`},cooldownSessions:3,isRelevant:async()=>uiK()},{id:"feedback-command",content:async()=>"Use /feedback to help us improve!",cooldownSessions:15,async isRelevant(){if(process.env.USER_TYPE==="ant")return!1;return $_().numStartups>5}}],Uw$=process.env.USER_TYPE==="ant"?[{id:"important-claudemd",content:async()=>'[ANT-ONLY] Use "IMPORTANT:" prefix for must-follow PUKU.md rules',cooldownSessions:30,isRelevant:async()=>!0},{id:"skillify",content:async()=>"[ANT-ONLY] Use /skillify at the end of a workflow to turn it into a reusable skill",cooldownSessions:15,isRelevant:async()=>!0}]:[]});function dw$(_){if(_.length===0)return;if(_.length===1)return _[0];let q=_.map((K)=>({tip:K,sessions:kj_(K.id)}));return q.sort((K,A)=>A.sessions-K.sessions),q[0]?.tip}async function NX7(_){if(x8().spinnerTipsEnabled===!1)return;let q=await yj_(_);if(q.length===0)return;return dw$(q)}function VX7(_){MX7(_.id),l("ev_event",{tipIdLength:_.id,cooldownSessions:_.cooldownSessions})}var yX7=h(()=>{W8();PD8();GD8()});var Qw$,lw$,iw$,u99,nw$,rw$,aw$,ow$,sw$,tw$,p99,ew$,_O$,qO$,m99,KO$,g99,AO$,c99,zO$,$O$,wO$,OO$,B99,YO$,U99,HO$,MO$,fO$,jO$,JO$,F99,XO$,RX7,PO$,vD8,WO$,DO$,LX7,ZO$,EX7,GO$,d99,Q99;var hX7=h(()=>{s8();J78();Qw$=b6(()=>R.unknown()),lw$=b6(()=>R.object({matcher:R.string().optional(),hookCallbackIds:R.array(R.string()),timeout:R.number().optional()}).describe("Configuration for matching and routing hook callbacks.")),iw$=b6(()=>R.object({subtype:R.literal("initialize"),hooks:R.record(dWK(),R.array(lw$())).optional(),sdkMcpServers:R.array(R.string()).optional(),jsonSchema:R.record(R.string(),R.unknown()).optional(),systemPrompt:R.string().optional(),appendSystemPrompt:R.string().optional(),agents:R.record(R.string(),nWK()).optional(),promptSuggestions:R.boolean().optional(),agentProgressSummaries:R.boolean().optional()}).describe("Initializes the SDK session with hooks, MCP servers, and agent configuration.")),u99=b6(()=>R.object({commands:R.array(H78()),agents:R.array(M78()),output_style:R.string(),available_output_styles:R.array(R.string()),models:R.array(lWK()),account:iWK(),pid:R.number().optional().describe("@internal CLI process PID for tmux socket isolation"),fast_mode_state:WV6().optional()}).describe("Response from session initialization with available commands, models, and account info.")),nw$=b6(()=>R.object({subtype:R.literal("interrupt")}).describe("Interrupts the currently running conversation turn.")),rw$=b6(()=>R.object({subtype:R.literal("can_use_tool"),tool_name:R.string(),input:R.record(R.string(),R.unknown()),permission_suggestions:R.array(PV6()).optional(),blocked_path:R.string().optional(),decision_reason:R.string().optional(),title:R.string().optional(),display_name:R.string().optional(),tool_use_id:R.string(),agent_id:R.string().optional(),description:R.string().optional(),questions:R.array(R.object({question:R.string(),header:R.string().optional(),options:R.array(R.object({label:R.string(),description:R.string().optional(),preview:R.string().optional()})).min(2).max(4),multi_select:R.boolean().optional()})).min(1).max(4).optional()}).describe("Requests permission to use a tool with the given input.")),aw$=b6(()=>R.object({subtype:R.literal("set_permission_mode"),mode:_I(),ultraplan:R.boolean().optional().describe("@internal CCR ultraplan session marker.")}).describe("Sets the permission mode for tool execution handling.")),ow$=b6(()=>R.object({subtype:R.literal("set_model"),model:R.string().optional()}).describe("Sets the model to use for subsequent conversation turns.")),sw$=b6(()=>R.object({subtype:R.literal("set_max_thinking_tokens"),max_thinking_tokens:R.number().nullable()}).describe("Sets the maximum number of thinking tokens for extended thinking.")),tw$=b6(()=>R.object({subtype:R.literal("mcp_status")}).describe("Requests the current status of all MCP server connections.")),p99=b6(()=>R.object({mcpServers:R.array(Y78())}).describe("Response containing the current status of all MCP server connections.")),ew$=b6(()=>R.object({subtype:R.literal("get_context_usage")}).describe("Requests a breakdown of current context window usage by category.")),_O$=b6(()=>R.object({name:R.string(),tokens:R.number(),color:R.string(),isDeferred:R.boolean().optional()})),qO$=b6(()=>R.object({color:R.string(),isFilled:R.boolean(),categoryName:R.string(),tokens:R.number(),percentage:R.number(),squareFullness:R.number()})),m99=b6(()=>R.object({categories:R.array(_O$()),totalTokens:R.number(),maxTokens:R.number(),rawMaxTokens:R.number(),percentage:R.number(),gridRows:R.array(R.array(qO$())),model:R.string(),memoryFiles:R.array(R.object({path:R.string(),type:R.string(),tokens:R.number()})),mcpTools:R.array(R.object({name:R.string(),serverName:R.string(),tokens:R.number(),isLoaded:R.boolean().optional()})),deferredBuiltinTools:R.array(R.object({name:R.string(),tokens:R.number(),isLoaded:R.boolean()})).optional(),systemTools:R.array(R.object({name:R.string(),tokens:R.number()})).optional(),systemPromptSections:R.array(R.object({name:R.string(),tokens:R.number()})).optional(),agents:R.array(R.object({agentType:R.string(),source:R.string(),tokens:R.number()})),slashCommands:R.object({totalCommands:R.number(),includedCommands:R.number(),tokens:R.number()}).optional(),skills:R.object({totalSkills:R.number(),includedSkills:R.number(),tokens:R.number(),skillFrontmatter:R.array(R.object({name:R.string(),source:R.string(),tokens:R.number()}))}).optional(),autoCompactThreshold:R.number().optional(),isAutoCompactEnabled:R.boolean(),messageBreakdown:R.object({toolCallTokens:R.number(),toolResultTokens:R.number(),attachmentTokens:R.number(),assistantMessageTokens:R.number(),userMessageTokens:R.number(),toolCallsByType:R.array(R.object({name:R.string(),callTokens:R.number(),resultTokens:R.number()})),attachmentsByType:R.array(R.object({name:R.string(),tokens:R.number()}))}).optional(),apiUsage:R.object({input_tokens:R.number(),output_tokens:R.number(),cache_creation_input_tokens:R.number(),cache_read_input_tokens:R.number()}).nullable()}).describe("Breakdown of current context window usage by category (system prompt, tools, messages, etc.).")),KO$=b6(()=>R.object({subtype:R.literal("rewind_files"),user_message_id:R.string(),dry_run:R.boolean().optional()}).describe("Rewinds file changes made since a specific user message.")),g99=b6(()=>R.object({canRewind:R.boolean(),error:R.string().optional(),filesChanged:R.array(R.string()).optional(),insertions:R.number().optional(),deletions:R.number().optional()}).describe("Result of a rewindFiles operation.")),AO$=b6(()=>R.object({subtype:R.literal("cancel_async_message"),message_uuid:R.string()}).describe("Drops a pending async user message from the command queue by uuid. No-op if already dequeued for execution.")),c99=b6(()=>R.object({cancelled:R.boolean()}).describe("Result of a cancel_async_message operation. cancelled=false means the message was not in the queue (already dequeued or never enqueued).")),zO$=b6(()=>R.object({subtype:R.literal("seed_read_state"),path:R.string(),mtime:R.number()}).describe("Seeds the readFileState cache with a path+mtime entry. Use when a prior Read was removed from context (e.g. by snip) so Edit validation would fail despite the client having observed the Read. The mtime lets the CLI detect if the file changed since the seeded Read — same staleness check as the normal path.")),$O$=b6(()=>R.object({subtype:R.literal("hook_callback"),callback_id:R.string(),input:QWK(),tool_use_id:R.string().optional()}).describe("Delivers a hook callback with its input data.")),wO$=b6(()=>R.object({subtype:R.literal("mcp_message"),server_name:R.string(),message:Qw$()}).describe("Sends a JSON-RPC message to a specific MCP server.")),OO$=b6(()=>R.object({subtype:R.literal("mcp_set_servers"),servers:R.record(R.string(),D4_())}).describe("Replaces the set of dynamically managed MCP servers.")),B99=b6(()=>R.object({added:R.array(R.string()),removed:R.array(R.string()),errors:R.record(R.string(),R.string())}).describe("Result of replacing the set of dynamically managed MCP servers.")),YO$=b6(()=>R.object({subtype:R.literal("reload_plugins")}).describe("Reloads plugins from disk and returns the refreshed session components.")),U99=b6(()=>R.object({commands:R.array(H78()),agents:R.array(M78()),plugins:R.array(R.object({name:R.string(),path:R.string(),source:R.string().optional()})),mcpServers:R.array(Y78()),error_count:R.number()}).describe("Refreshed commands, agents, plugins, and MCP server status after reload.")),HO$=b6(()=>R.object({subtype:R.literal("mcp_reconnect"),serverName:R.string()}).describe("Reconnects a disconnected or failed MCP server.")),MO$=b6(()=>R.object({subtype:R.literal("mcp_toggle"),serverName:R.string(),enabled:R.boolean()}).describe("Enables or disables an MCP server.")),fO$=b6(()=>R.object({subtype:R.literal("stop_task"),task_id:R.string()}).describe("Stops a running task.")),jO$=b6(()=>R.object({subtype:R.literal("apply_flag_settings"),settings:R.record(R.string(),R.unknown())}).describe("Merges the provided settings into the flag settings layer, updating the active configuration.")),JO$=b6(()=>R.object({subtype:R.literal("get_settings")}).describe("Returns the effective merged settings and the raw per-source settings.")),F99=b6(()=>R.object({effective:R.record(R.string(),R.unknown()),sources:R.array(R.object({source:R.enum(["userSettings","projectSettings","localSettings","flagSettings","policySettings"]),settings:R.record(R.string(),R.unknown())})).describe("Ordered low-to-high priority — later entries override earlier ones."),applied:R.object({model:R.string(),effort:R.enum(["low","medium","high","max"]).nullable()}).optional().describe("Runtime-resolved values after env overrides, session state, and model-specific defaults are applied. Unlike `effective` (disk merge), these reflect what will actually be sent to the API.")}).describe("Effective merged settings plus raw per-source settings in merge order.")),XO$=b6(()=>R.object({subtype:R.literal("elicitation"),mcp_server_name:R.string(),message:R.string(),mode:R.enum(["form","url"]).optional(),url:R.string().optional(),elicitation_id:R.string().optional(),requested_schema:R.record(R.string(),R.unknown()).optional()}).describe("Requests the SDK consumer to handle an MCP elicitation (user input request).")),RX7=b6(()=>R.object({action:R.enum(["accept","decline","cancel"]),content:R.record(R.string(),R.unknown()).optional()}).describe("Response from the SDK consumer for an elicitation request.")),PO$=b6(()=>R.union([nw$(),rw$(),iw$(),aw$(),ow$(),sw$(),tw$(),ew$(),$O$(),wO$(),KO$(),AO$(),zO$(),OO$(),YO$(),HO$(),MO$(),fO$(),jO$(),JO$(),XO$()])),vD8=b6(()=>R.object({type:R.literal("control_request"),request_id:R.string(),request:PO$()})),WO$=b6(()=>R.object({subtype:R.literal("success"),request_id:R.string(),response:R.record(R.string(),R.unknown()).optional()})),DO$=b6(()=>R.object({subtype:R.literal("error"),request_id:R.string(),error:R.string(),pending_permission_requests:R.array(R.lazy(()=>vD8())).optional()})),LX7=b6(()=>R.object({type:R.literal("control_response"),response:R.union([WO$(),DO$()])})),ZO$=b6(()=>R.object({type:R.literal("control_cancel_request"),request_id:R.string()}).describe("Cancels a currently open control request.")),EX7=b6(()=>R.object({type:R.literal("keep_alive")}).describe("Keep-alive message to maintain WebSocket connection.")),GO$=b6(()=>R.object({type:R.literal("update_environment_variables"),variables:R.record(R.string(),R.string())}).describe("Updates environment variables at runtime.")),d99=b6(()=>R.union([_DK(),oWK(),sWK(),eWK(),LX7(),vD8(),ZO$(),EX7()])),Q99=b6(()=>R.union([j78(),vD8(),LX7(),EX7(),GO$()]))});function KH6(_,q,K,A){let z={type:"permissionPromptTool",permissionPromptToolName:q.name,toolResult:_};if(_.behavior==="allow"){let $=_.updatedPermissions;if($)A.setAppState((O)=>({...O,toolPermissionContext:RX(O.toolPermissionContext,$)})),Mk($);let w=Object.keys(_.updatedInput).length>0?_.updatedInput:K;return{..._,updatedInput:w,decisionReason:z}}else if(_.behavior==="deny"&&_.interrupt)V(`SDK permission prompt deny+interrupt: tool=${q.name} message=${_.message}`),A.abortController.abort();return{..._,decisionReason:z}}var s99,SX7,vO$,TO$,iS6;var TD8=h(()=>{s8();__();XO();E4_();s99=b6(()=>yK.object({tool_name:yK.string().describe("The name of the tool requesting permission"),input:yK.record(yK.string(),yK.unknown()).describe("The input for the tool"),tool_use_id:yK.string().optional().describe("The unique tool use request ID")})),SX7=b6(()=>yK.enum(["user_temporary","user_permanent","user_reject"]).optional().catch(void 0)),vO$=b6(()=>yK.object({behavior:yK.literal("allow"),updatedInput:yK.record(yK.string(),yK.unknown()),updatedPermissions:yK.array(D36()).optional().catch((_)=>{V(`Malformed updatedPermissions from SDK host ignored: ${_.error.issues[0]?.message??"unknown"}`,{level:"warn"});return}),toolUseID:yK.string().optional(),decisionClassification:SX7()})),TO$=b6(()=>yK.object({behavior:yK.literal("deny"),message:yK.string(),interrupt:yK.boolean().optional(),toolUseID:yK.string().optional(),decisionClassification:SX7()})),iS6=b6(()=>yK.union([vO$(),TO$()]))});function NO$(_){return _.replace(kO$,(q)=>q==="\u2028"?"\\u2028":"\\u2029")}function Rj_(_){return NO$(x6(_))}var kO$;var kD8=h(()=>{m_();kO$=/\u2028|\u2029/g});import{randomUUID as ND8}from"crypto";function yO$(_){if(!_)return;if(_.type==="classifier")return _.reason;switch(_.type){case"rule":case"mode":case"subcommandResults":case"permissionPromptTool":return;case"hook":case"asyncAgent":case"sandboxOverride":case"workingDir":case"safetyCheck":case"other":return _.reason}}function RO$(_,q,K,A){let z;try{z=_.getActivityDescription?.(q)??_.getToolUseSummary?.(q)??_.userFacingName(q)}catch{z=_.name}return{tool_name:_.name,action_description:z,tool_use_id:K,request_id:A,input:q}}class nS6{input;replayUserMessages;structuredInput;pendingRequests=new Map;restoredWorkerState=Promise.resolve(null);inputClosed=!1;unexpectedResponseCallback;resolvedToolUseIds=new Set;prependedLines=[];onControlRequestSent;onControlRequestResolved;outbound=new HL6;constructor(_,q){this.input=_;this.replayUserMessages=q;this.input=_,this.structuredInput=this.read()}trackResolvedToolUseId(_){if(_.request.subtype==="can_use_tool"){if(this.resolvedToolUseIds.add(_.request.tool_use_id),this.resolvedToolUseIds.size>LO$){let q=this.resolvedToolUseIds.values().next().value;if(q!==void 0)this.resolvedToolUseIds.delete(q)}}}flushInternalEvents(){return Promise.resolve()}get internalEventsPending(){return 0}prependUserMessage(_){this.prependedLines.push(x6({type:"user",session_id:"",message:{role:"user",content:_},parent_tool_use_id:null})+`
7738
7738
  `)}async*read(){let _="",q=async function*(){for(;;){if(this.prependedLines.length>0)_=this.prependedLines.join("")+_,this.prependedLines=[];let K=_.indexOf(`
7739
7739
  `);if(K===-1)break;let A=_.slice(0,K);_=_.slice(K+1);let z=await this.processLine(A);if(z)S_("info","cli_stdin_message_parsed",{type:z.type}),yield z}}.bind(this);yield*q();for await(let K of this.input)_+=K,yield*q();if(_){let K=await this.processLine(_);if(K)yield K}this.inputClosed=!0;for(let K of this.pendingRequests.values())K.reject(Error("Tool permission stream closed before response received"))}getPendingPermissionRequests(){return Array.from(this.pendingRequests.values()).map((_)=>_.request).filter((_)=>_.request.subtype==="can_use_tool")}setUnexpectedResponseCallback(_){this.unexpectedResponseCallback=_}injectControlResponse(_){let q=_.response?.request_id;if(!q)return;let K=this.pendingRequests.get(q);if(!K)return;if(this.trackResolvedToolUseId(K.request),this.pendingRequests.delete(q),this.write({type:"control_cancel_request",request_id:q}),_.response.subtype==="error")K.reject(Error(_.response.error));else{let A=_.response.response;if(K.schema)try{K.resolve(K.schema.parse(A))}catch(z){K.reject(z)}else K.resolve({})}}setOnControlRequestSent(_){this.onControlRequestSent=_}setOnControlRequestResolved(_){this.onControlRequestResolved=_}async processLine(_){if(!_)return;try{let q=mM_(h_(_));if(q.type==="keep_alive")return;if(q.type==="update_environment_variables"){let K=Object.keys(q.variables);for(let[A,z]of Object.entries(q.variables))process.env[A]=z;V(`[structuredIO] applied update_environment_variables: ${K.join(", ")}`);return}if(q.type==="control_response"){let K="uuid"in q&&typeof q.uuid==="string"?q.uuid:void 0;if(K)RR(K,"completed");let A=this.pendingRequests.get(q.response.request_id);if(!A){let w=(q.response.subtype==="success"?q.response.response:void 0)?.toolUseID;if(typeof w==="string"&&this.resolvedToolUseIds.has(w)){V(`Ignoring duplicate control_response for already-resolved toolUseID=${w} request_id=${q.response.request_id}`);return}if(this.unexpectedResponseCallback)await this.unexpectedResponseCallback(q);return}if(this.trackResolvedToolUseId(A.request),this.pendingRequests.delete(q.response.request_id),A.request.request.subtype==="can_use_tool"&&this.onControlRequestResolved)this.onControlRequestResolved(q.response.request_id);if(q.response.subtype==="error"){A.reject(Error(q.response.error));return}let z=q.response.response;if(A.schema)try{A.resolve(A.schema.parse(z))}catch($){A.reject($)}else A.resolve({});if(this.replayUserMessages)return q;return}if(q.type!=="user"&&q.type!=="control_request"&&q.type!=="assistant"&&q.type!=="system"){V(`Ignoring unknown message type: ${q.type}`,{level:"warn"});return}if(q.type==="control_request"){if(!q.request)bX7("Error: Missing request on control_request");return q}if(q.type==="assistant"||q.type==="system")return q;if(q.message.role!=="user")bX7(`Error: Expected message role 'user', got '${q.message.role}'`);return q}catch(q){console.error(`Error parsing streaming input line: ${_}: ${q}`),process.exit(1)}}async write(_){MK(Rj_(_)+`
7740
- `)}async sendRequest(_,q,K,A=ND8()){let z={type:"control_request",request_id:A,request:_};if(this.inputClosed)throw Error("Stream closed");if(K?.aborted)throw Error("Request aborted");if(this.outbound.enqueue(z),_.subtype==="can_use_tool"&&this.onControlRequestSent)this.onControlRequestSent(z);let $=()=>{this.outbound.enqueue({type:"control_cancel_request",request_id:A});let w=this.pendingRequests.get(A);if(w)this.trackResolvedToolUseId(w.request),w.reject(new Z5)};if(K)K.addEventListener("abort",$,{once:!0});try{return await new Promise((w,O)=>{this.pendingRequests.set(A,{request:{type:"control_request",request_id:A,request:_},resolve:(Y)=>{w(Y)},reject:O,schema:q})})}finally{if(K)K.removeEventListener("abort",$);this.pendingRequests.delete(A)}}createCanUseTool(_){return async(q,K,A,z,$,w)=>{let O=w??await v9(q,K,A,z,$);if(O.behavior==="allow"||O.behavior==="deny")return O;let Y=new AbortController,H=A.abortController.signal,M=()=>Y.abort();H.addEventListener("abort",M,{once:!0});try{let f=EO$(q.name,$,K,A,O.suggestions).then((P)=>({source:"hook",decision:P})),j=ND8();_?.(RO$(q,K,$,j));let J=this.sendRequest({subtype:"can_use_tool",tool_name:q.name,input:K,permission_suggestions:O.suggestions,blocked_path:O.blockedPath,decision_reason:yO$(O.decisionReason),tool_use_id:$,agent_id:A.agentId},iS6(),Y.signal,j).then((P)=>({source:"sdk",result:P})),X=await Promise.race([f,J]);if(X.source==="hook"){if(X.decision)return J.catch(()=>{}),Y.abort(),X.decision;let P=await J;return KH6(P.result,q,K,A)}return KH6(X.result,q,K,A)}catch(f){return KH6({behavior:"deny",message:`Tool permission request failed: ${f}`,toolUseID:$},q,K,A)}finally{if(this.getPendingPermissionRequests().length===0)Sx("running");H.removeEventListener("abort",M)}}}createHookCallback(_,q){return{type:"callback",timeout:q,callback:async(K,A,z)=>{try{return await this.sendRequest({subtype:"hook_callback",callback_id:_,input:K,tool_use_id:A||void 0},j16(),z)}catch($){return console.error(`Error in hook callback ${_}:`,$),{}}}}}async handleElicitation(_,q,K,A,z,$,w){try{return await this.sendRequest({subtype:"elicitation",mcp_server_name:_,message:q,mode:z,url:$,elicitation_id:w,requested_schema:K},RX7(),A)}catch{return{action:"cancel"}}}createSandboxAskCallback(){return async(_)=>{try{return(await this.sendRequest({subtype:"can_use_tool",tool_name:VO$,input:{host:_.host},tool_use_id:ND8(),description:`Allow network connection to ${_.host}?`},iS6())).behavior==="allow"}catch{return!1}}}async sendMcpMessage(_,q){return(await this.sendRequest({subtype:"mcp_message",server_name:_,message:q},R.object({mcp_response:R.any()}))).mcp_response}}function bX7(_){console.error(_),process.exit(1)}async function EO$(_,q,K,A,z){let w=A.getAppState().toolPermissionContext.mode,O=gs(_,q,K,A,w,z,A.abortController.signal);for await(let Y of O)if(Y.permissionRequestResult&&(Y.permissionRequestResult.behavior==="allow"||Y.permissionRequestResult.behavior==="deny")){let H=Y.permissionRequestResult;if(H.behavior==="allow"){let M=H.updatedInput||K,f=H.updatedPermissions??[];if(f.length>0){Mk(f);let j=A.getAppState(),J=RX(j.toolPermissionContext,f);A.setAppState((X)=>{if(X.toolPermissionContext===J)return X;return{...X,toolPermissionContext:J}})}return{behavior:"allow",updatedInput:M,userModified:!1,decisionReason:{type:"hook",hookName:"PermissionRequest"}}}else return{behavior:"deny",message:H.message||"Permission denied by PermissionRequest hook",decisionReason:{type:"hook",hookName:"PermissionRequest"}}}return}var VO$="SandboxNetworkAccess",LO$=1000;var Lj_=h(()=>{hX7();lJ8();__();Dz();W_();TD8();Fw();m_();s8();H$();XO();mF();m_();ZO8();kD8()});function CX7(_,q,K){let A=Ej_.useRef(!1);Ej_.useEffect(()=>{if(!lz()||A.current)return;if(A.current=!0,_)R5_(_,K)},[q,_,K])}var Ej_;var IX7=h(()=>{sX();Ej_=A6(a6(),1)});function VD8(_){let q=xX7.c(22),{hostPattern:K,onUserResponse:A}=_,{host:z}=K,$;if(q[0]!==A)$=function(N){_:switch(N){case"yes":{A({allow:!0,persistToSettings:!1});break _}case"yes-dont-ask-again":{A({allow:!0,persistToSettings:!0});break _}case"no":A({allow:!1,persistToSettings:!1})}},q[0]=A,q[1]=$;else $=q[1];let w=$,O;if(q[2]===Symbol.for("react.memo_cache_sentinel"))O=fr(),q[2]=O;else O=q[2];let Y=O,H;if(q[3]===Symbol.for("react.memo_cache_sentinel"))H={label:"Yes",value:"yes"},q[3]=H;else H=q[3];let M;if(q[4]!==z)M=!Y?[{label:y(T,{children:["Yes, and don't ask again for ",D(T,{bold:!0,children:z})]}),value:"yes-dont-ask-again"}]:[],q[4]=z,q[5]=M;else M=q[5];let f;if(q[6]===Symbol.for("react.memo_cache_sentinel"))f={label:y(T,{children:["No, and tell puku what to do differently ",D(T,{bold:!0,children:"(esc)"})]}),value:"no"},q[6]=f;else f=q[6];let j;if(q[7]!==M)j=[H,...M,f],q[7]=M,q[8]=j;else j=q[8];let J=j,X;if(q[9]===Symbol.for("react.memo_cache_sentinel"))X=D(T,{dimColor:!0,children:"Host:"}),q[9]=X;else X=q[9];let P;if(q[10]!==z)P=y(x,{children:[X,y(T,{children:[" ",z]})]}),q[10]=z,q[11]=P;else P=q[11];let W;if(q[12]===Symbol.for("react.memo_cache_sentinel"))W=D(x,{marginTop:1,children:D(T,{children:"Do you want to allow this connection?"})}),q[12]=W;else W=q[12];let Z;if(q[13]!==A)Z=()=>{A({allow:!1,persistToSettings:!1})},q[13]=A,q[14]=Z;else Z=q[14];let G;if(q[15]!==w||q[16]!==J||q[17]!==Z)G=D(x,{children:D(g_,{options:J,onChange:w,onCancel:Z})}),q[15]=w,q[16]=J,q[17]=Z,q[18]=G;else G=q[18];let v;if(q[19]!==G||q[20]!==P)v=D(u5,{title:"Network request outside of sandbox",children:y(x,{flexDirection:"column",paddingX:2,paddingY:1,children:[P,W,G]})}),q[19]=G,q[20]=P,q[21]=v;else v=q[21];return v}var xX7;var uX7=h(()=>{Q6();Nz();R4();hH();a();xX7=A6(s6(),1)});function hO$(_){let q=_.getHours()%12||12,K=String(_.getMinutes()).padStart(2,"0"),A=String(_.getSeconds()).padStart(2,"0"),z=_.getHours()<12?"am":"pm";return`${q}:${K}:${A}${z}`}function yD8(){let _=pX7.c(15),q;if(_[0]===Symbol.for("react.memo_cache_sentinel"))q=[],_[0]=q;else q=_[0];let[K,A]=rS6.useState(q),[z,$]=rS6.useState(0),w,O;if(_[1]===Symbol.for("react.memo_cache_sentinel"))w=()=>{if(!N8.isSandboxingEnabled()||r_()==="linux")return;let X=N8.getSandboxViolationStore();if(!X||typeof X.subscribe!=="function")return;return X.subscribe((W)=>{A(W.slice(-10)),$(X.getTotalCount())})},O=[],_[1]=w,_[2]=O;else w=_[1],O=_[2];if(rS6.useEffect(w,O),!N8.isSandboxingEnabled()||r_()==="linux")return null;if(z===0)return null;let Y=z===1?"operation":"operations",H;if(_[3]!==Y||_[4]!==z)H=D(x,{marginLeft:0,children:y(T,{color:"permission",children:["⧈ Sandbox blocked ",z," total"," ",Y]})}),_[3]=Y,_[4]=z,_[5]=H;else H=_[5];let M;if(_[6]!==K)M=K.map(SO$),_[6]=K,_[7]=M;else M=_[7];let f=Math.min(10,K.length),j;if(_[8]!==f||_[9]!==z)j=D(x,{paddingLeft:2,children:y(T,{dimColor:!0,children:["… showing last ",f," of ",z]})}),_[8]=f,_[9]=z,_[10]=j;else j=_[10];let J;if(_[11]!==H||_[12]!==M||_[13]!==j)J=y(x,{flexDirection:"column",marginTop:1,children:[H,M,j]}),_[11]=H,_[12]=M,_[13]=j,_[14]=J;else J=_[14];return J}function SO$(_,q){return D(x,{paddingLeft:2,children:y(T,{dimColor:!0,children:[hO$(_.timestamp),_.command?` ${_.command}:`:""," ",_.line]})},`${_.timestamp.getTime()}-${q}`)}var pX7,rS6;var mX7=h(()=>{Q6();Nz();iK();a();pX7=A6(s6(),1),rS6=A6(a6(),1)});function BX7(_){let q=gX7.c(4),{mcpClients:K}=_,A=K===void 0?bO$:K,{addNotification:z}=lK(),$,w;if(q[0]!==z||q[1]!==A)$=()=>{try{if(k7())return;let O=A.filter(uO$),Y=A.filter(xO$),H=A.filter(IO$),M=A.filter(CO$);if(O.length===0&&Y.length===0&&H.length===0&&M.length===0)return;if(O.length>0)z({key:"mcp-failed",jsx:y(q_,{children:[y(T,{color:"error",children:[O.length," MCP"," ",O.length===1?"server":"servers"," failed"]}),D(T,{dimColor:!0,children:" · /mcp"})]}),priority:"medium"});if(Y.length>0)z({key:"mcp-claudeai-failed",jsx:y(q_,{children:[y(T,{color:"error",children:[Y.length," puku.sh"," ",Y.length===1?"connector":"connectors"," ","unavailable"]}),D(T,{dimColor:!0,children:" · /mcp"})]}),priority:"medium"});if(H.length>0)z({key:"mcp-needs-auth",jsx:y(q_,{children:[y(T,{color:"warning",children:[H.length," MCP"," ",H.length===1?"server needs":"servers need"," ","auth"]}),D(T,{dimColor:!0,children:" · /mcp"})]}),priority:"medium"});if(M.length>0)z({key:"mcp-claudeai-needs-auth",jsx:y(q_,{children:[y(T,{color:"warning",children:[M.length," puku.sh"," ",M.length===1?"connector needs":"connectors need"," ","auth"]}),D(T,{dimColor:!0,children:" · /mcp"})]}),priority:"medium"})}catch(O){K6(O)}},w=[z,A],q[0]=z,q[1]=A,q[2]=$,q[3]=w;else $=q[2],w=q[3];cX7.useEffect($,w)}function CO$(_){return _.type==="needs-auth"&&_.config.type==="claudeai-proxy"&&Wq8(_.name)}function IO$(_){return _.type==="needs-auth"&&_.config.type!=="claudeai-proxy"}function xO$(_){return _.type==="failed"&&_.config.type==="claudeai-proxy"&&Wq8(_.name)}function uO$(_){return _.type==="failed"&&_.config.type!=="sse-ide"&&_.config.type!=="ws-ide"&&_.config.type!=="claudeai-proxy"}var gX7,cX7,bO$;var UX7=h(()=>{D_();Qz();J_();Q6();D$6();a();gX7=A6(s6(),1),cX7=A6(a6(),1),bO$=[]});function FX7(){let{addNotification:_}=lK(),q=z_(($)=>$.toolPermissionContext.mode),K=z_(($)=>$.toolPermissionContext.isAutoModeAvailable),A=aS6.useRef(!1),z=aS6.useRef(q);aS6.useEffect(()=>{let $=z.current;if(z.current=q,k7())return;if(A.current)return;if(!(q==="default"&&$!=="default"&&$!=="auto"&&!K&&ih()))return;let O=tI();if(!O)return;A.current=!0,_({key:"auto-mode-unavailable",text:sU(O),color:"warning",priority:"medium"})},[q,K,_])}var aS6;var dX7=h(()=>{Qz();J_();c8();O9();W8();aS6=A6(a6(),1)});function lX7(){let _=QX7.c(10),{addNotification:q}=lK(),K=U8(),[A,z]=AH6.useState(gO$),$;if(_[0]===Symbol.for("react.memo_cache_sentinel"))$=new Set,_[0]=$;else $=_[0];let w=AH6.useRef($),O;if(_[1]!==q||_[2]!==K)O=(J,X)=>{let P=`${J}:${X}`;if(w.current.has(P))return;w.current.add(P),V(`LSP error: ${J} - ${X}`),K((Z)=>{let G=new Set(Z.plugins.errors.map(mO$)),v=`generic-error:${J}:${X}`;if(G.has(v))return Z;return{...Z,plugins:{...Z.plugins,errors:[...Z.plugins.errors,{type:"generic-error",source:J,error:X}]}}});let W=J.startsWith("plugin:")?J.split(":")[1]??J:J;q({key:`lsp-error-${J}`,jsx:y(q_,{children:[y(T,{color:"error",children:["LSP for ",W," failed"]}),D(T,{dimColor:!0,children:" · /plugin for details"})]}),priority:"medium",timeoutMs:8000})},_[1]=q,_[2]=K,_[3]=O;else O=_[3];let Y=O,H;if(_[4]!==Y)H=()=>{if(k7())return;if(Qd())return;let J=Lw6();if(J.status==="failed"){Y("lsp-manager",J.error.message),z(!1);return}if(J.status==="pending"||J.status==="not-started")return;let X=RI();if(X){let P=X.getAllServers();for(let[W,Z]of P)if(Z.state==="error"&&Z.lastError)Y(W,Z.lastError.message)}},_[4]=Y,_[5]=H;else H=_[5];let M=H;jH(M,A?pO$:null);let f,j;if(_[6]!==M||_[7]!==A)f=()=>{if(k7()||!A)return;M()},j=[M,A],_[6]=M,_[7]=A,_[8]=f,_[9]=j;else f=_[8],j=_[9];AH6.useEffect(f,j)}function mO$(_){if(_.type==="generic-error")return`generic-error:${_.source}:${_.error}`;return`${_.type}:${_.source}`}function gO$(){return C6("true")}var QX7,AH6,pO$=5000;var iX7=h(()=>{fX();J_();Qz();Q6();EL();c8();__();R_();a();QX7=A6(s6(),1),AH6=A6(a6(),1)});async function rX7(_){if(!_||!_.trim())return V("[binaryCheck] Empty command provided, returning false"),!1;let q=_.trim(),K=nX7.get(q);if(K!==void 0)return V(`[binaryCheck] Cache hit for '${q}': ${K}`),K;let A=!1;if(await r9(q).catch(()=>null))A=!0;return nX7.set(q,A),V(`[binaryCheck] Binary '${q}' ${A?"found":"not found"}`),A}var nX7;var aX7=h(()=>{__();pZ();nX7=new Map});import{extname as cO$}from"path";function UO$(_){return lT.has(_.toLowerCase())}function FO$(_){if(!_)return null;if(typeof _==="string")return V("[lspRecommendation] Skipping string path lspServers (not readable from marketplace)"),null;if(Array.isArray(_)){for(let q of _){if(typeof q==="string")continue;let K=sX7(q);if(K)return K}return null}return sX7(_)}function oX7(_){return typeof _==="object"&&_!==null}function sX7(_){let q=new Set,K=null;for(let[A,z]of Object.entries(_)){if(!oX7(z))continue;if(!K&&typeof z.command==="string")K=z.command;let $=z.extensionToLanguage;if(oX7($))for(let w of Object.keys($))q.add(w.toLowerCase())}if(!K||q.size===0)return null;return{extensions:q,command:K}}async function dO$(){let _=new Map;try{let q=await FA();for(let K of Object.keys(q))try{let A=await kf(K),z=UO$(K);for(let $ of A.plugins){if(!$.lspServers)continue;let w=FO$($.lspServers);if(!w)continue;let O=`${$.name}@${K}`;_.set(O,{entry:$,marketplaceName:K,extensions:w.extensions,command:w.command,isOfficial:z})}}catch(A){V(`[lspRecommendation] Failed to load marketplace ${K}: ${A}`)}}catch(q){V(`[lspRecommendation] Failed to load marketplaces config: ${q}`)}return _}async function tX7(_){if(QO$())return V("[lspRecommendation] Recommendations are disabled"),[];let q=cO$(_).toLowerCase();if(!q)return V("[lspRecommendation] No file extension found"),[];V(`[lspRecommendation] Looking for LSP plugins for ${q}`);let K=await dO$(),z=$_().lspRecommendationNeverPlugins??[],$=[];for(let[O,Y]of K){if(!Y.extensions.has(q))continue;if(z.includes(O)){V(`[lspRecommendation] Skipping ${O} (in never suggest list)`);continue}if(xv(O)){V(`[lspRecommendation] Skipping ${O} (already installed)`);continue}$.push({info:Y,pluginId:O})}let w=[];for(let{info:O,pluginId:Y}of $)if(await rX7(O.command))w.push({info:O,pluginId:Y}),V(`[lspRecommendation] Binary '${O.command}' found for ${Y}`);else V(`[lspRecommendation] Skipping ${Y} (binary '${O.command}' not found)`);return w.sort((O,Y)=>{if(O.info.isOfficial&&!Y.info.isOfficial)return-1;if(!O.info.isOfficial&&Y.info.isOfficial)return 1;return 0}),w.map(({info:O,pluginId:Y})=>({pluginId:Y,pluginName:O.entry.name,marketplaceName:O.marketplaceName,description:O.entry.description,isOfficial:O.isOfficial,extensions:Array.from(O.extensions),command:O.command}))}function eX7(_){b_((q)=>{let K=q.lspRecommendationNeverPlugins??[];if(K.includes(_))return q;return{...q,lspRecommendationNeverPlugins:[...K,_]}}),V(`[lspRecommendation] Added ${_} to never suggest`)}function _P7(){b_((_)=>{let q=(_.lspRecommendationIgnoredCount??0)+1;return{..._,lspRecommendationIgnoredCount:q}}),V("[lspRecommendation] Incremented ignored count")}function QO$(){let _=$_();return _.lspRecommendationDisabled===!0||(_.lspRecommendationIgnoredCount??0)>=BO$}var BO$=5;var qP7=h(()=>{aX7();Y8();__();L1();X3();Uf()});function Sj_(){let _=KP7.c(6),[q,K]=hj_.useState(null),A=hj_.useRef(!1),z;if(_[0]!==q)z=(H)=>{if(k7())return;if(q)return;if(A.current)return;A.current=!0,H().then((M)=>{if(M)K(M)}).catch(K6).finally(()=>{A.current=!1})},_[0]=q,_[1]=z;else z=_[1];let $=z,w;if(_[2]===Symbol.for("react.memo_cache_sentinel"))w=()=>K(null),_[2]=w;else w=_[2];let O=w,Y;if(_[3]!==q||_[4]!==$)Y={recommendation:q,clearRecommendation:O,tryResolve:$},_[3]=q,_[4]=$,_[5]=Y;else Y=_[5];return Y}async function bj_(_,q,K,A,z){try{let $=await Ej(_);if(!$)throw Error(`Plugin ${_} not found in marketplace`);await z($),A({key:`${K}-installed`,jsx:y(T,{color:"success",children:[n6.tick," ",q," installed · restart to apply"]}),priority:"immediate",timeoutMs:5000})}catch($){K6($),A({key:`${K}-install-failed`,jsx:y(T,{color:"error",children:["Failed to install ",q]}),priority:"immediate",timeoutMs:5000})}}var KP7,hj_;var RD8=h(()=>{Lq();J_();Q6();D_();X3();a();KP7=A6(s6(),1),hj_=A6(a6(),1)});import{extname as lO$,join as iO$}from"path";function zP7(){let _=AP7.c(12),q=z_(aO$),{addNotification:K}=lK(),A;if(_[0]===Symbol.for("react.memo_cache_sentinel"))A=new Set,_[0]=A;else A=_[0];let z=Cj_.useRef(A),{recommendation:$,clearRecommendation:w,tryResolve:O}=Sj_(),Y,H;if(_[1]!==q||_[2]!==O)Y=()=>{O(async()=>{if(sX_())return null;let J=[];for(let X of q)if(!z.current.has(X))z.current.add(X),J.push(X);for(let X of J)try{let W=(await tX7(X))[0];if(W)return V(`[useLspPluginRecommendation] Found match: ${W.pluginName} for ${X}`),tX_(!0),{pluginId:W.pluginId,pluginName:W.pluginName,pluginDescription:W.description,fileExtension:lO$(X),shownAt:Date.now()}}catch(P){K6(P)}return null})},H=[q,O],_[1]=q,_[2]=O,_[3]=Y,_[4]=H;else Y=_[3],H=_[4];Cj_.useEffect(Y,H);let M;if(_[5]!==K||_[6]!==w||_[7]!==$)M=(J)=>{if(!$)return;let{pluginId:X,pluginName:P,shownAt:W}=$;V(`[useLspPluginRecommendation] User response: ${J} for ${P}`);_:switch(J){case"yes":{bj_(X,P,"lsp-plugin",K,async(Z)=>{V(`[useLspPluginRecommendation] Installing plugin: ${X}`);let G=typeof Z.entry.source==="string"?iO$(Z.marketplaceInstallLocation,Z.entry.source):void 0;await rL6(X,Z.entry,"user",void 0,G);let v=s_("userSettings");k8("userSettings",{enabledPlugins:{...v?.enabledPlugins,[X]:!0}}),V(`[useLspPluginRecommendation] Plugin installed: ${X}`)});break _}case"no":{let Z=Date.now()-W;if(Z>=nO$)V(`[useLspPluginRecommendation] Timeout detected (${Z}ms), incrementing ignored count`),_P7();break _}case"never":{eX7(X);break _}case"disable":b_(rO$)}w()},_[5]=K,_[6]=w,_[7]=$,_[8]=M;else M=_[8];let f=M,j;if(_[9]!==f||_[10]!==$)j={recommendation:$,handleResponse:f},_[9]=f,_[10]=$,_[11]=j;else j=_[11];return j}function rO$(_){if(_.lspRecommendationDisabled)return _;return{..._,lspRecommendationDisabled:!0}}function aO$(_){return _.fileHistory.trackedFiles}var AP7,Cj_,nO$=28000;var $P7=h(()=>{J_();Qz();c8();Y8();__();D_();qP7();nU();W8();RD8();AP7=A6(s6(),1),Cj_=A6(a6(),1)});function wP7({pluginName:_,pluginDescription:q,fileExtension:K,onResponse:A}){let z=Ij_.useRef(A);z.current=A,Ij_.useEffect(()=>{let O=setTimeout((Y)=>Y.current("no"),oO$,z);return()=>clearTimeout(O)},[]);function $(O){switch(O){case"yes":A("yes");break;case"no":A("no");break;case"never":A("never");break;case"disable":A("disable");break}}return D(u5,{title:"LSP Plugin Recommendation",children:y(x,{flexDirection:"column",paddingX:2,paddingY:1,children:[D(x,{marginBottom:1,children:D(T,{dimColor:!0,children:"LSP provides code intelligence like go-to-definition and error checking"})}),y(x,{children:[D(T,{dimColor:!0,children:"Plugin:"}),y(T,{children:[" ",_]})]}),q&&D(x,{children:D(T,{dimColor:!0,children:q})}),y(x,{children:[D(T,{dimColor:!0,children:"Triggered by:"}),y(T,{children:[" ",K," files"]})]}),D(x,{marginTop:1,children:D(T,{children:"Would you like to install this LSP plugin?"})}),D(x,{children:D(g_,{options:[{label:y(T,{children:["Yes, install ",D(T,{bold:!0,children:_})]}),value:"yes"},{label:"No, not now",value:"no"},{label:y(T,{children:["Never for ",D(T,{bold:!0,children:_})]}),value:"never"},{label:"Disable all LSP recommendations",value:"disable"}],onChange:$,onCancel:()=>A("no")})})]})})}var Ij_,oO$=30000;var OP7=h(()=>{Q6();R4();hH();a();Ij_=A6(a6(),1)});function HP7(){let _=YP7.c(11),q=xj_.useSyncExternalStore(OyK,F58),{addNotification:K}=lK(),{recommendation:A,clearRecommendation:z,tryResolve:$}=Sj_(),w,O;if(_[0]!==q||_[1]!==$)w=()=>{if(!q)return;$(async()=>{let f=await MyK(q);if(f)V(`[usePukuCodeHintRecommendation] surfacing ${f.pluginId} from ${f.sourceCommand}`),wyK();if(F58()===q)$yK();return f})},O=[q,$],_[0]=q,_[1]=$,_[2]=w,_[3]=O;else w=_[2],O=_[3];xj_.useEffect(w,O);let Y;if(_[4]!==K||_[5]!==z||_[6]!==A)Y=(f)=>{if(!A)return;fyK(A.pluginId),l("ev_event",{_PROTO_plugin_name:A.pluginName,_PROTO_marketplace_name:A.marketplaceName,response:f});_:switch(f){case"yes":{let{pluginId:j,pluginName:J,marketplaceName:X}=A;bj_(j,J,"hint-plugin",K,async(P)=>{let W=await iU({pluginId:j,entry:P.entry,marketplaceName:X,scope:"user",trigger:"hint"});if(!W.success)throw Error(W.error)});break _}case"disable":{jyK();break _}case"no":}z()},_[4]=K,_[5]=z,_[6]=A,_[7]=Y;else Y=_[7];let H=Y,M;if(_[8]!==H||_[9]!==A)M={recommendation:A,handleResponse:H},_[8]=H,_[9]=A,_[10]=M;else M=_[10];return M}var YP7,xj_;var MP7=h(()=>{Qz();Uy6();__();Tz_();nU();RD8();YP7=A6(s6(),1),xj_=A6(a6(),1)});function fP7({pluginName:_,pluginDescription:q,marketplaceName:K,sourceCommand:A,onResponse:z}){let $=uj_.useRef(z);$.current=z,uj_.useEffect(()=>{let Y=setTimeout((H)=>H.current("no"),sO$,$);return()=>clearTimeout(Y)},[]);function w(Y){switch(Y){case"yes":z("yes");break;case"disable":z("disable");break;default:z("no")}}return D(u5,{title:"Plugin Recommendation",children:y(x,{flexDirection:"column",paddingX:2,paddingY:1,children:[D(x,{marginBottom:1,children:y(T,{dimColor:!0,children:["The ",D(T,{bold:!0,children:A})," command suggests installing a plugin."]})}),y(x,{children:[D(T,{dimColor:!0,children:"Plugin:"}),y(T,{children:[" ",_]})]}),y(x,{children:[D(T,{dimColor:!0,children:"Marketplace:"}),y(T,{children:[" ",K]})]}),q&&D(x,{children:D(T,{dimColor:!0,children:q})}),D(x,{marginTop:1,children:D(T,{children:"Would you like to install it?"})}),D(x,{children:D(g_,{options:[{label:y(T,{children:["Yes, install ",D(T,{bold:!0,children:_})]}),value:"yes"},{label:"No",value:"no"},{label:"No, and don't show plugin installation hints again",value:"disable"}],onChange:w,onCancel:()=>z("no")})})]})})}var uj_,sO$=30000;var jP7=h(()=>{Q6();R4();hH();a();uj_=A6(a6(),1)});function PP7(){let _=JP7.c(20),{addNotification:q}=lK(),K=z_(_Y$),A;_:{if(!K){let P;if(_[0]===Symbol.for("react.memo_cache_sentinel"))P={totalFailed:0,failedMarketplacesCount:0,failedPluginsCount:0},_[0]=P;else P=_[0];A=P;break _}let H;if(_[1]!==K.marketplaces)H=K.marketplaces.filter(eO$),_[1]=K.marketplaces,_[2]=H;else H=_[2];let M=H,f;if(_[3]!==K.plugins)f=K.plugins.filter(tO$),_[3]=K.plugins,_[4]=f;else f=_[4];let j=f,J=M.length+j.length,X;if(_[5]!==M.length||_[6]!==j.length||_[7]!==J)X={totalFailed:J,failedMarketplacesCount:M.length,failedPluginsCount:j.length},_[5]=M.length,_[6]=j.length,_[7]=J,_[8]=X;else X=_[8];A=X}let{totalFailed:z,failedMarketplacesCount:$,failedPluginsCount:w}=A,O;if(_[9]!==q||_[10]!==$||_[11]!==w||_[12]!==K||_[13]!==z)O=()=>{if(k7())return;if(!K){V("No installation status to monitor");return}if(z===0)return;if(V(`Plugin installation status: ${$} failed marketplaces, ${w} failed plugins`),z===0)return;V(`Adding notification for ${z} failed installations`),q({key:"plugin-install-failed",jsx:y(q_,{children:[y(T,{color:"error",children:[z," ",E8(z,"plugin")," failed to install"]}),D(T,{dimColor:!0,children:" · /plugin for details"})]}),priority:"medium"})},_[9]=q,_[10]=$,_[11]=w,_[12]=K,_[13]=z,_[14]=O;else O=_[14];let Y;if(_[15]!==q||_[16]!==$||_[17]!==w||_[18]!==z)Y=[q,z,$,w],_[15]=q,_[16]=$,_[17]=w,_[18]=z,_[19]=Y;else Y=_[19];XP7.useEffect(O,Y)}function tO$(_){return _.status==="failed"}function eO$(_){return _.status==="failed"}function _Y$(_){return _.plugins.installationStatus}var JP7,XP7;var WP7=h(()=>{J_();Qz();Q6();c8();__();a();JP7=A6(s6(),1),XP7=A6(a6(),1)});function ZP7(){let _=DP7.c(7),{addNotification:q}=lK(),K;if(_[0]===Symbol.for("react.memo_cache_sentinel"))K=[],_[0]=K;else K=_[0];let[A,z]=oS6.useState(K),$,w;if(_[1]===Symbol.for("react.memo_cache_sentinel"))$=()=>{if(k7())return;return RoK((M)=>{V(`Plugin autoupdate notification: ${M.length} plugin(s) updated`),z(M)})},w=[],_[1]=$,_[2]=w;else $=_[1],w=_[2];oS6.useEffect($,w);let O,Y;if(_[3]!==q||_[4]!==A)O=()=>{if(k7())return;if(A.length===0)return;let H=A.map(qY$),M=H.length<=2?H.join(" and "):`${H.length} plugins`;q({key:"plugin-autoupdate-restart",jsx:y(q_,{children:[y(T,{color:"success",children:[H.length===1?"Plugin":"Plugins"," updated:"," ",M]}),D(T,{dimColor:!0,children:" · Run /reload-plugins to apply"})]}),priority:"low",timeoutMs:1e4}),V(`Showing plugin autoupdate notification for: ${H.join(", ")}`)},Y=[A,q],_[3]=q,_[4]=A,_[5]=O,_[6]=Y;else O=_[5],Y=_[6];oS6.useEffect(O,Y)}function qY$(_){let q=_.indexOf("@");return q>0?_.substring(0,q):_}var DP7,oS6;var GP7=h(()=>{J_();Qz();Q6();__();w1_();a();DP7=A6(s6(),1),oS6=A6(a6(),1)});import{isAbsolute as KY$,resolve as AY$}from"path";function LD8(_,q,K){let A=[],z=[],$=[];for(let[w,O]of Object.entries(_)){let Y=q[w],H=vP7(O.source,K?.projectRoot);if(!Y)A.push(w);else if(O.sourceIsFallback)$.push(w);else if(!N2(H,Y.source))z.push({name:w,declaredSource:H,materializedSource:Y.source});else $.push(w)}return{missing:A,sourceChanged:z,upToDate:$}}async function pj_(_){let q=FU();if(Object.keys(q).length===0)return{installed:[],updated:[],failed:[],upToDate:[],skipped:[]};let K;try{K=await FA()}catch(M){K6(M),K={}}let A=LD8(q,K,{projectRoot:J8()}),z=[...A.missing.map((M)=>({name:M,source:vP7(q[M].source),action:"install"})),...A.sourceChanged.map(({name:M,declaredSource:f})=>({name:M,source:f,action:"update"}))],$=[],w=[];for(let M of z){if(_?.skip?.(M.name,M.source)){$.push(M.name);continue}if(M.action==="update"&&EV(M.source)&&!await P7(M.source.path)){V(`[reconcile] '${M.name}' declared path does not exist; keeping materialized entry`),$.push(M.name);continue}w.push(M)}if(w.length===0)return{installed:[],updated:[],failed:[],upToDate:A.upToDate,skipped:$};V(`[reconcile] ${w.length} marketplace(s): ${w.map((M)=>`${M.name}(${M.action})`).join(", ")}`);let O=[],Y=[],H=[];for(let M=0;M<w.length;M++){let{name:f,source:j,action:J}=w[M];_?.onProgress?.({type:"installing",name:f,action:J,index:M+1,total:w.length});try{let X=await tL(j);if(J==="install")O.push(f);else Y.push(f);_?.onProgress?.({type:"installed",name:f,alreadyMaterialized:X.alreadyMaterialized})}catch(X){let P=B6(X);H.push({name:f,error:P}),_?.onProgress?.({type:"failed",name:f,error:P}),K6(X)}}return{installed:O,updated:Y,failed:H,upToDate:A.upToDate,skipped:$}}function vP7(_,q){if((_.source==="directory"||_.source==="file")&&!KY$(_.path)){let K=q??J8(),A=qO(K);return{..._,path:AY$(A??K,_.path)}}return _}var ED8=h(()=>{qn();J_();__();W_();M7();h4();D_();X3();Uf()});function hD8(_,q,K,A){_((z)=>({...z,plugins:{...z.plugins,installationStatus:{...z.plugins.installationStatus,marketplaces:z.plugins.installationStatus.marketplaces.map(($)=>$.name===q?{...$,status:K,error:A}:$)}}}))}async function TP7(_){V("performBackgroundPluginInstallations called");try{let q=FU(),K=await FA().catch(()=>({})),A=LD8(q,K),z=[...A.missing,...A.sourceChanged.map((O)=>O.name)];if(_((O)=>({...O,plugins:{...O.plugins,installationStatus:{marketplaces:z.map((Y)=>({name:Y,status:"pending"})),plugins:[]}}})),z.length===0)return;V(`Installing ${z.length} marketplace(s) in background`);let $=await pj_({onProgress:(O)=>{switch(O.type){case"installing":hD8(_,O.name,"installing");break;case"installed":hD8(_,O.name,"installed");break;case"failed":hD8(_,O.name,"failed",O.error);break}}}),w={installed_count:$.installed.length,updated_count:$.updated.length,failed_count:$.failed.length,up_to_date_count:$.upToDate.length};if(l("ev_event",w),S_("info","ev_event",w),$.installed.length>0){sL(),V(`Auto-refreshing plugins after ${$.installed.length} new marketplace(s) installed`);try{await Gt(_)}catch(O){K6(O),V(`Auto-refresh failed, falling back to needsRefresh: ${O}`,{level:"warn"}),_J("performBackgroundPluginInstallations: auto-refresh failed"),_((Y)=>{if(Y.plugins.needsRefresh)return Y;return{...Y,plugins:{...Y.plugins,needsRefresh:!0}}})}}else if($.updated.length>0)sL(),_J("performBackgroundPluginInstallations: marketplaces reconciled"),_((O)=>{if(O.plugins.needsRefresh)return O;return{...O,plugins:{...O.plugins,needsRefresh:!0}}})}catch(q){K6(q)}}var kP7=h(()=>{__();Dz();D_();X3();uw();ED8();xH_()});async function NP7(_){if(V("performStartupChecks called"),!Vw()){V("Trust not accepted for current directory - skipping plugin installations");return}try{if(V("Starting background plugin installations"),await bO_())sL(),_J("performStartupChecks: seed marketplaces changed"),_((K)=>{if(K.plugins.needsRefresh)return K;return{...K,plugins:{...K.plugins,needsRefresh:!0}}});await TP7(_)}catch(q){V(`Error initiating background plugin installations: ${q}`)}}var VP7=h(()=>{kP7();Y8();__();X3();uw()});function RP7(){let _=yP7.c(11),q;if(_[0]===Symbol.for("react.memo_cache_sentinel"))q=AH.getInstance().getStatus(),_[0]=q;else q=_[0];let[K,A]=mj_.useState(q),z,$;if(_[1]===Symbol.for("react.memo_cache_sentinel"))z=()=>{return AH.getInstance().subscribe(A)},$=[],_[1]=z,_[2]=$;else z=_[1],$=_[2];if(mj_.useEffect(z,$),!K.isAuthenticating&&!K.error&&K.output.length===0)return null;if(!K.isAuthenticating&&!K.error)return null;let w;if(_[3]===Symbol.for("react.memo_cache_sentinel"))w=D(T,{bold:!0,color:"permission",children:"Cloud Authentication"}),_[3]=w;else w=_[3];let O;if(_[4]!==K.output)O=K.output.length>0&&D(x,{flexDirection:"column",marginTop:1,children:K.output.slice(-5).map($Y$)}),_[4]=K.output,_[5]=O;else O=_[5];let Y;if(_[6]!==K.error)Y=K.error&&D(x,{marginTop:1,children:D(T,{color:"error",children:K.error})}),_[6]=K.error,_[7]=Y;else Y=_[7];let H;if(_[8]!==O||_[9]!==Y)H=y(x,{flexDirection:"column",borderStyle:"round",borderColor:"permission",paddingX:1,marginY:1,children:[w,O,Y]}),_[8]=O,_[9]=Y,_[10]=H;else H=_[10];return H}function $Y$(_,q){let K=_.match(zY$);if(!K)return D(T,{dimColor:!0,children:_},q);let A=K[0],z=K.index??0,$=_.slice(0,z),w=_.slice(z+A.length);return y(T,{dimColor:!0,children:[$,D(cq,{url:A,children:A}),w]},q)}var yP7,mj_,zY$;var LP7=h(()=>{Q6();li6();a();yP7=A6(s6(),1),mj_=A6(a6(),1),zY$=/https?:\/\/\S+/});function hP7(_){let q=EP7.c(17),{addNotification:K}=lK(),A=sB(),z;if(q[0]!==A||q[1]!==_)z=le_(A,_),q[0]=A,q[1]=_,q[2]=z;else z=q[2];let $=z,w;if(q[3]!==A)w=ie_(A),q[3]=A,q[4]=w;else w=q[4];let O=w,Y=$e.useRef(null),H;if(q[5]===Symbol.for("react.memo_cache_sentinel"))H=o7(),q[5]=H;else H=q[5];let M=H,f;if(q[6]===Symbol.for("react.memo_cache_sentinel"))f=hy(),q[6]=f;else f=q[6];let j=f,J=M==="team"||M==="enterprise",[X,P]=$e.useState(!1),W,Z;if(q[7]!==K||q[8]!==A.isUsingOverage||q[9]!==X||q[10]!==O)W=()=>{if(k7())return;if(A.isUsingOverage&&!X&&(!J||j))K({key:"limit-reached",text:O,priority:"immediate"}),P(!0);else if(!A.isUsingOverage&&X)P(!1)},Z=[A.isUsingOverage,O,X,K,j,J],q[7]=K,q[8]=A.isUsingOverage,q[9]=X,q[10]=O,q[11]=W,q[12]=Z;else W=q[11],Z=q[12];$e.useEffect(W,Z);let G,v;if(q[13]!==K||q[14]!==$)G=()=>{if(k7())return;if($&&$!==Y.current)Y.current=$,K({key:"rate-limit-warning",jsx:D(T,{children:D(T,{color:"warning",children:$})}),priority:"high"})},v=[$,K],q[13]=K,q[14]=$,q[15]=G,q[16]=v;else G=q[15],v=q[16];$e.useEffect(G,v)}var EP7,$e;var SP7=h(()=>{Qz();Q6();IR();eV6();Kq();eS();J_();a();EP7=A6(s6(),1),$e=A6(a6(),1)});function OY$(_){let q=_.toLowerCase(),K=$8();for(let[A,z]of Object.entries(wY$)){let $=z.retirementDates[K];if(!q.includes(A)||!$)continue;return{isDeprecated:!0,modelName:z.modelName,retirementDate:$}}return{isDeprecated:!1}}function gj_(_){if(!_)return null;let q=OY$(_);if(!q.isDeprecated)return null;return`⚠ ${q.modelName} will be retired on ${q.retirementDate}. Consider switching to a newer model.`}var wY$;var SD8=h(()=>{F7();wY$={"claude-3-opus":{modelName:"Claude 3 Opus",retirementDates:{firstParty:"January 5, 2026",bedrock:"January 15, 2026",vertex:"January 5, 2026",foundry:"January 5, 2026"}},"claude-3-7-sonnet":{modelName:"Claude 3.7 Sonnet",retirementDates:{firstParty:"February 19, 2026",bedrock:"April 28, 2026",vertex:"May 11, 2026",foundry:"February 19, 2026"}},"claude-3-5-haiku":{modelName:"Claude 3.5 Haiku",retirementDates:{firstParty:"February 19, 2026",bedrock:null,vertex:null,foundry:null}}}});function CP7(_){let q=bP7.c(4),{addNotification:K}=lK(),A=cj_.useRef(null),z,$;if(q[0]!==K||q[1]!==_)z=()=>{if(k7())return;let w=gj_(_);if(w&&w!==A.current)A.current=w,K({key:"model-deprecation-warning",text:w,color:"warning",priority:"high"});if(!w)A.current=null},$=[_,K],q[0]=K,q[1]=_,q[2]=z,q[3]=$;else z=q[2],$=q[3];cj_.useEffect(z,$)}var bP7,cj_;var IP7=h(()=>{Qz();SD8();J_();bP7=A6(s6(),1),cj_=A6(a6(),1)});function xP7(){fT(async()=>{if(iZ())return null;let _=await zx("latest");if(!_)return null;if(!wj(_,"1.8.41"))return null;return{key:"puku-cli-update-available",priority:"medium",timeoutMs:30000,color:"warning",text:`↑ puku-cli ${_} is available (you have 1.8.41). Run \`puku-cli update\` to upgrade.`}})}var uP7=h(()=>{KE();Y8();ze()});function mP7(_){let q=pP7.c(26),{ideSelection:K,mcpClients:A,ideInstallationStatus:z}=_,{addNotification:$,removeNotification:w}=lK(),{status:O,ideName:Y}=u16(A),H=we.useRef(!1),M;if(q[0]!==z)M=z?bk(z?.ideType):!1,q[0]=z,q[1]=M;else M=q[1];let f=M,j=z?.error||f,J=O==="connected"&&(K?.filePath||K?.text&&K.lineCount>0),X=O==="connected"&&!J,P=j&&!f&&!X&&!J,W=j&&f&&!X&&!J,Z,G;if(q[2]!==$||q[3]!==O||q[4]!==w||q[5]!==W)Z=()=>{if(k7())return;if(G1()||O!==null||W){w("ide-status-hint");return}if(H.current||($_().ideHintShownCount??0)>=YY$)return;let I=setTimeout(HY$,3000,H,$);return()=>clearTimeout(I)},G=[$,w,O,W],q[2]=$,q[3]=O,q[4]=w,q[5]=W,q[6]=Z,q[7]=G;else Z=q[6],G=q[7];we.useEffect(Z,G);let v,k;if(q[8]!==$||q[9]!==Y||q[10]!==O||q[11]!==w||q[12]!==P||q[13]!==W)v=()=>{if(k7())return;if(P||W||O!=="disconnected"||!Y){w("ide-status-disconnected");return}$({key:"ide-status-disconnected",text:`${Y} disconnected`,color:"error",priority:"medium"})},k=[$,w,O,Y,P,W],q[8]=$,q[9]=Y,q[10]=O,q[11]=w,q[12]=P,q[13]=W,q[14]=v,q[15]=k;else v=q[14],k=q[15];we.useEffect(v,k);let N,L;if(q[16]!==$||q[17]!==w||q[18]!==W)N=()=>{if(k7())return;if(!W){w("ide-status-jetbrains-disconnected");return}$({key:"ide-status-jetbrains-disconnected",text:"IDE plugin not connected · /status for info",priority:"medium"})},L=[$,w,W],q[16]=$,q[17]=w,q[18]=W,q[19]=N,q[20]=L;else N=q[19],L=q[20];we.useEffect(N,L);let b,C;if(q[21]!==$||q[22]!==w||q[23]!==P)b=()=>{if(k7())return;if(!P){w("ide-status-install-error");return}$({key:"ide-status-install-error",text:"IDE extension install failed (see /status for info)",color:"error",priority:"medium"})},C=[$,w,P],q[21]=$,q[22]=w,q[23]=P,q[24]=b,q[25]=C;else b=q[24],C=q[25];we.useEffect(b,C)}function HY$(_,q){u$6(!0).then((K)=>{let A=K[0]?.name;if(A&&!_.current)_.current=!0,b_(MY$),q({key:"ide-status-hint",jsx:y(T,{dimColor:!0,children:["/ide for ",D(T,{color:"ide",children:A})]}),priority:"low"})})}function MY$(_){return{..._,ideHintShownCount:(_.ideHintShownCount??0)+1}}var pP7,we,YY$=5;var gP7=h(()=>{Qz();Q6();Y8();Mw();J_();ff_();a();pP7=A6(s6(),1),we=A6(a6(),1)});function BP7(){fT(jY$)}function jY$(){let _=$_(),q=[];for(let K of fY$){let A=K(_);if(A)q.push(A)}return q.length>0?q:null}function cP7(_){return _!==void 0&&Date.now()-_<3000}var fY$;var UP7=h(()=>{Y8();ze();fY$=[(_)=>{if(!cP7(_.sonnet45To46MigrationTimestamp))return;return{key:"sonnet-46-update",text:"Model updated to Sonnet 4.6",color:"suggestion",priority:"high",timeoutMs:3000}},(_)=>{let q=Boolean(_.legacyOpusMigrationTimestamp),K=_.legacyOpusMigrationTimestamp??_.opusProMigrationTimestamp;if(!cP7(K))return;return{key:"opus-pro-update",text:q?"Model updated to Opus 4.6 · Set PUKU_CLI_DISABLE_LEGACY_MODEL_REMAP=1 to opt out":"Model updated to Opus 4.6",color:"suggestion",priority:"high",timeoutMs:q?8000:3000}}]});function FP7(){fT(XY$)}async function XY$(){if(($_().subscriptionNoticeCount??0)>=JY$)return null;let _=await WY$();if(_===null)return null;return b_(PY$),l("ev_event",{}),{key:"switch-to-subscription",jsx:y(T,{color:"suggestion",children:["Use your existing Puku ",_," plan with puku-cli",y(T,{color:"text",dimColor:!0,children:[" ","· /login to activate"]})]}),priority:"low"}}function PY$(_){return{..._,subscriptionNoticeCount:(_.subscriptionNoticeCount??0)+1}}async function WY$(){if(Hq())return null;let _=await cDq();if(!_)return null;if(_.account.has_claude_max)return"Max";if(_.account.has_claude_pro)return"Pro";return null}var JY$=3;var dP7=h(()=>{f76();Kq();Q6();Y8();ze();a()});function QP7(_){if(!("text"in _))return 1;let q=_.text.match(/^(\d+)/);return q?.[1]?parseInt(q[1],10):1}function DY$(_,q){return lP7(QP7(_)+1)}function lP7(_){return{key:"teammate-spawn",text:_===1?"1 agent spawned":`${_} agents spawned`,priority:"low",timeoutMs:5000,fold:DY$}}function ZY$(_,q){return iP7(QP7(_)+1)}function iP7(_){return{key:"teammate-shutdown",text:_===1?"1 agent shut down":`${_} agents shut down`,priority:"low",timeoutMs:5000,fold:ZY$}}function nP7(){let _=z_((z)=>z.tasks),{addNotification:q}=lK(),K=sS6.useRef(new Set),A=sS6.useRef(new Set);sS6.useEffect(()=>{if(k7())return;for(let[z,$]of Object.entries(_)){if(!vO($))continue;if($.status==="running"&&!K.current.has(z))K.current.add(z),q(lP7(1));if($.status==="completed"&&!A.current.has(z))A.current.add(z),q(iP7(1))}},[_,q])}var sS6;var rP7=h(()=>{J_();Qz();c8();sS6=A6(a6(),1)});function eP7(){let _=tP7.c(13),{addNotification:q}=lK(),K=z_(kY$),A=U8(),z,$;if(_[0]!==q||_[1]!==K||_[2]!==A)z=()=>{if(k7())return;if(!oK())return;return wZq((M)=>{if(M)q({key:sP7,color:"fastMode",priority:"immediate",text:"Fast mode is now available · /fast to turn on"});else if(K)A(TY$),q({key:sP7,color:"warning",priority:"immediate",text:"Fast mode has been disabled by your organization"})})},$=[q,K,A],_[0]=q,_[1]=K,_[2]=A,_[3]=z,_[4]=$;else z=_[3],$=_[4];Bj_.useEffect(z,$);let w,O;if(_[5]!==q||_[6]!==A)w=()=>{if(k7())return;if(!oK())return;return zZq((M)=>{A(vY$),q({key:GY$,color:"warning",priority:"immediate",text:M})})},O=[q,A],_[5]=q,_[6]=A,_[7]=w,_[8]=O;else w=_[7],O=_[8];Bj_.useEffect(w,O);let Y,H;if(_[9]!==q||_[10]!==K)Y=()=>{if(k7())return;if(!K)return;let M=eDq((j,J)=>{let X=JA(j-Date.now(),{hideTrailingZeros:!0}),P=NY$(J,X);q({key:aP7,invalidates:[oP7],text:P,color:"warning",priority:"immediate"})}),f=_Zq(()=>{q({key:oP7,invalidates:[aP7],color:"fastMode",text:"Fast limit reset · now using fast mode",priority:"immediate"})});return()=>{M(),f()}},H=[q,K],_[9]=q,_[10]=K,_[11]=Y,_[12]=H;else Y=_[11],H=_[12];Bj_.useEffect(Y,H)}function vY$(_){return{..._,fastMode:!1}}function TY$(_){return{..._,fastMode:!1}}function kY$(_){return _.fastMode}function NY$(_,q){switch(_){case"overloaded":return`Fast mode overloaded and is temporarily unavailable · resets in ${q}`;case"rate_limit":return`Fast limit reached and temporarily disabled · resets in ${q}`}}var tP7,Bj_,aP7="fast-mode-cooldown-started",oP7="fast-mode-cooldown-expired",sP7="fast-mode-org-changed",GY$="fast-mode-overage-rejected";var _W7=h(()=>{Qz();c8();RM();qq();J_();tP7=A6(s6(),1),Bj_=A6(a6(),1)});function KW7(_){let q=qW7.c(8),{onRun:K,onCancel:A,reason:z}=_,$=Uj_.useRef(!1),w;if(q[0]===Symbol.for("react.memo_cache_sentinel"))w={context:"Confirmation"},q[0]=w;else w=q[0];U_("confirm:no",A,w);let O,Y;if(q[1]!==K)O=()=>{if(!$.current)$.current=!0,K()},Y=[K],q[1]=K,q[2]=O,q[3]=Y;else O=q[2],Y=q[3];Uj_.useEffect(O,Y);let H;if(q[4]===Symbol.for("react.memo_cache_sentinel"))H=D(x,{children:D(T,{bold:!0,children:"Running feedback capture..."})}),q[4]=H;else H=q[4];let M;if(q[5]===Symbol.for("react.memo_cache_sentinel"))M=D(x,{children:y(T,{dimColor:!0,children:["Press ",D(C_,{shortcut:"Esc",action:"cancel"})," anytime"]})}),q[5]=M;else M=q[5];let f;if(q[6]!==z)f=y(x,{flexDirection:"column",marginTop:1,children:[H,M,D(x,{children:y(T,{dimColor:!0,children:["Reason: ",z]})})]}),q[6]=z,q[7]=f;else f=q[7];return f}function AW7(_){return!1;switch(_){case"feedback_survey_bad":return!1;case"feedback_survey_good":return!1;default:return!1}}function zW7(_){return"/issue"}function $W7(_){switch(_){case"feedback_survey_bad":return'You responded "Bad" to the feedback survey';case"feedback_survey_good":return'You responded "Good" to the feedback survey';default:return"Unknown reason"}}var qW7,Uj_;var wW7=h(()=>{G7();Q6();$q();a();qW7=A6(s6(),1),Uj_=A6(a6(),1)});function OW7(){return null}function RY$(_){for(let q of _){if(q.type!=="assistant")continue;let K=q.message.content;if(!Array.isArray(K))continue;for(let A of K){if(A.type!=="tool_use"||!("name"in A))continue;let z=A.name;if(z.startsWith("mcp__"))return!1;if(z===Aq){let w=A.input?.command||"";if(VY$.some((O)=>O.test(w)))return!1}}}return!0}function LY$(_){for(let q=_.length-1;q>=0;q--){let K=_[q];if(K.type!=="user")continue;let A=aa(K);if(!A)continue;return yY$.some((z)=>z.test(A))}return!1}function YW7(_,q){if(process.env.USER_TYPE!=="ant")return!1;let K=tS6.useRef(0),A=tS6.useRef(-1),z=tS6.useMemo(()=>RY$(_)&&LY$(_),[_]);if(A.current===q)return!0;if(Date.now()-K.current<hY$)return!1;if(q<EY$)return!1;if(!z)return!1;return K.current=Date.now(),A.current=q,!0}var tS6,VY$,yY$,EY$=3,hY$=1800000;var HW7=h(()=>{P8();tS6=A6(a6(),1),VY$=[/\bcurl\b/,/\bwget\b/,/\bssh\b/,/\bkubectl\b/,/\bsrun\b/,/\bdocker\b/,/\bbq\b/,/\bgsutil\b/,/\bgcloud\b/,/\baws\b/,/\bgit\s+push\b/,/\bgit\s+pull\b/,/\bgit\s+fetch\b/,/\bgh\s+(pr|issue)\b/,/\bnc\b/,/\bncat\b/,/\btelnet\b/,/\bftp\b/],yY$=[/^no[,!]\s/i,/\bthat'?s (wrong|incorrect|not (what|right|correct))\b/i,/\bnot what I (asked|wanted|meant|said)\b/i,/\bI (said|asked|wanted|told you|already said)\b/i,/\bwhy did you\b/i,/\byou should(n'?t| not)? have\b/i,/\byou were supposed to\b/i,/\btry again\b/i,/\b(undo|revert) (that|this|it|what you)\b/i]});var SY$,bY$;var MW7=h(()=>{J_();Q6();a();SY$=A6(s6(),1),bY$=A6(a6(),1)});function bD8(_){let q=fW7.c(7),{children:K,mouseTracking:A}=_,z=A===void 0?!0:A,$=eS6.useContext(Fg),w=eS6.useContext(Qg),O,Y;if(q[0]!==z||q[1]!==w)O=()=>{let f=Y$.get(process.stdout);if(!w)return;return w(wv6+"\x1B[2J\x1B[H"+(z?gn:"")),f?.setAltScreenActive(!0,z),()=>{f?.setAltScreenActive(!1),f?.clearTextSelection(),w((z?Fb:"")+wA6)}},Y=[w,z],q[0]=z,q[1]=w,q[2]=O,q[3]=Y;else O=q[2],Y=q[3];eS6.useInsertionEffect(O,Y);let H=$?.rows??24,M;if(q[4]!==K||q[5]!==H)M=D(MH,{flexDirection:"column",height:H,width:"100%",flexShrink:0,children:K}),q[4]=K,q[5]=H,q[6]=M;else M=q[6];return M}var fW7,eS6;var jW7=h(()=>{MX();Ug();ib();lb();Mv6();a();fW7=A6(s6(),1),eS6=A6(a6(),1)});function JW7(_,q,K){let A=zH6.useRef(!1),z=zH6.useRef(K);z.current=K,zH6.useEffect(()=>{if(!q)return;return _.subscribe(()=>{let w=_.getState(),O=_.hasSelection();if(w?.isDragging){A.current=!1;return}if(!O){A.current=!1;return}if(A.current)return;if(!($_().copyOnSelect??!0))return;let H=_.copySelectionNoClear();if(!H||!H.trim()){A.current=!0;return}A.current=!0,z.current?.(H)})},[q,_])}function XW7(_){let[q]=Yq();zH6.useEffect(()=>{_.setSelectionBgColor(fH(q).selectionBg)},[_,q])}var zH6;var PW7=h(()=>{I46();Y8();U0();zH6=A6(a6(),1)});function lY$(_){if(_.wheelUp||_.wheelDown)return!1;if((_.leftArrow||_.rightArrow||_.upArrow||_.downArrow||_.home||_.end||_.pageUp||_.pageDown)&&(_.shift||_.meta||_.super))return!1;return!0}function iY$(_){if(!_.shift||_.meta)return null;if(_.leftArrow)return"left";if(_.rightArrow)return"right";if(_.upArrow)return"up";if(_.downArrow)return"down";if(_.home)return"lineStart";if(_.end)return"lineEnd";return null}function ZW7(_,q,K){if(!_.xtermJs){if(_.wheelMode&&K-_.time>cY$)_.wheelMode=!1,_.burstCount=0,_.mult=_.base;if(_.pendingFlip){if(_.pendingFlip=!1,q!==_.dir||K-_.time>uY$)return _.dir=q,_.time=K,_.mult=_.base,Math.floor(_.mult);_.wheelMode=!0}let O=K-_.time;if(q!==_.dir&&_.dir!==0)return _.pendingFlip=!0,_.time=K,0;if(_.dir=q,_.time=K,_.wheelMode)if(O<DW7)if(++_.burstCount>=5)_.wheelMode=!1,_.burstCount=0,_.mult=_.base;else return 1;else _.burstCount=0;if(_.wheelMode){let Y=Math.pow(0.5,O/WW7),H=Math.max(mY$,_.base*2),M=1+(_.mult-1)*Y+pY$*Y;return _.mult=Math.min(H,M,_.mult+gY$),Math.floor(_.mult)}if(O>CY$)_.mult=_.base;else{let Y=Math.max(xY$,_.base*2);_.mult=Math.min(Y,_.mult+IY$)}return Math.floor(_.mult)}let A=K-_.time,z=q===_.dir;if(_.time=K,_.dir=q,z&&A<DW7)return 1;if(!z||A>QY$)_.mult=2,_.frac=0;else{let O=Math.pow(0.5,A/WW7),Y=A>=UY$?FY$:dY$;_.mult=Math.min(Y,1+(_.mult-1)*O+BY$*O)}let $=_.mult+_.frac,w=Math.floor($);return _.frac=$-w,w}function nY$(){let _=process.env.PUKU_CLI_SCROLL_SPEED;if(!_)return 1;let q=parseFloat(_);return Number.isNaN(q)||q<=0?1:Math.min(q,20)}function rY$(_=!1,q=1){return{time:0,mult:q,dir:0,xtermJs:_,frac:0,base:q,pendingFlip:!1,wheelMode:!1,burstCount:0}}function GW7(){let _=Qb(),q=nY$();return V(`wheel accel: ${_?"decay (xterm.js)":"window (native)"} · base=${q} · TERM_PROGRAM=${process.env.TERM_PROGRAM??"unset"}`),rY$(_,q)}function CD8({scrollRef:_,isActive:q,onScroll:K,isModal:A=!1}){let z=TA6(),{addNotification:$}=lK(),w=Qx.useRef(null);function O(M){let f=uFq(),j=M.length,J;switch(f){case"native":J=`copied ${j} chars to clipboard`;break;case"tmux-buffer":J=`copied ${j} chars to tmux buffer · paste with prefix + ]`;break;case"osc52":J=`sent ${j} chars via OSC 52 · check terminal clipboard settings if paste fails`;break}$({key:"selection-copied",text:J,color:"suggestion",priority:"immediate",timeoutMs:f==="native"?2000:4000})}function Y(){let M=z.copySelection();if(M)O(M)}function H(M,f){let j=z.getState();if(!j?.anchor||!j.focus)return;let J=M.getViewportTop(),X=J+M.getViewportHeight()-1;if(j.anchor.row<J||j.anchor.row>X)return;if(j.focus.row<J||j.focus.row>X)return;let P=Math.max(0,M.getScrollHeight()-M.getViewportHeight()),W=M.getScrollTop()+M.getPendingDelta(),Z=Math.max(0,Math.min(P,W+f))-W;if(Z===0)return;if(Z>0)z.captureScrolledRows(J,J+Z-1,"above"),z.shiftSelection(-Z,J,X);else{let G=-Z;z.captureScrolledRows(X-G+1,X,"below"),z.shiftSelection(G,J,X)}}return jq({"scroll:pageUp":()=>{let M=_.current;if(!M)return;let f=-Math.max(1,Math.floor(M.getViewportHeight()/2));H(M,f);let j=dx(M,f);K?.(j,M)},"scroll:pageDown":()=>{let M=_.current;if(!M)return;let f=Math.max(1,Math.floor(M.getViewportHeight()/2));H(M,f);let j=dx(M,f);K?.(j,M)},"scroll:lineUp":()=>{z.clearSelection();let M=_.current;if(!M||M.getScrollHeight()<=M.getViewportHeight())return!1;w.current??=GW7(),_9$(M,ZW7(w.current,-1,performance.now())),K?.(!1,M)},"scroll:lineDown":()=>{z.clearSelection();let M=_.current;if(!M||M.getScrollHeight()<=M.getViewportHeight())return!1;w.current??=GW7();let f=ZW7(w.current,1,performance.now()),j=eY$(M,f);K?.(j,M)},"scroll:top":()=>{let M=_.current;if(!M)return;H(M,-(M.getScrollTop()+M.getPendingDelta())),M.scrollTo(0),K?.(!1,M)},"scroll:bottom":()=>{let M=_.current;if(!M)return;let f=Math.max(0,M.getScrollHeight()-M.getViewportHeight());H(M,f-(M.getScrollTop()+M.getPendingDelta())),M.scrollTo(f),M.scrollToBottom(),K?.(!0,M)},"selection:copy":Y},{context:"Scroll",isActive:q}),jq({"scroll:halfPageUp":()=>{let M=_.current;if(!M)return;let f=-Math.max(1,Math.floor(M.getViewportHeight()/2));H(M,f);let j=dx(M,f);K?.(j,M)},"scroll:halfPageDown":()=>{let M=_.current;if(!M)return;let f=Math.max(1,Math.floor(M.getViewportHeight()/2));H(M,f);let j=dx(M,f);K?.(j,M)},"scroll:fullPageUp":()=>{let M=_.current;if(!M)return;let f=-Math.max(1,M.getViewportHeight());H(M,f);let j=dx(M,f);K?.(j,M)},"scroll:fullPageDown":()=>{let M=_.current;if(!M)return;let f=Math.max(1,M.getViewportHeight());H(M,f);let j=dx(M,f);K?.(j,M)}},{context:"Scroll",isActive:q}),uq((M,f,j)=>{let J=_.current;if(!J)return;let X=K9$(J,q9$(M,f),(P)=>H(J,P));if(X===null)return;K?.(X,J),j.stopImmediatePropagation()},{isActive:q&&A}),uq((M,f,j)=>{if(!z.hasSelection())return;if(f.escape){z.clearSelection(),j.stopImmediatePropagation();return}if(f.ctrl&&!f.shift&&!f.meta&&M==="c"){Y(),j.stopImmediatePropagation();return}let J=iY$(f);if(J){z.moveFocus(J),j.stopImmediatePropagation();return}if(lY$(f))z.clearSelection()},{isActive:q}),sY$(_,z,q,K),JW7(z,q,O),XW7(z),null}function sY$(_,q,K,A){let z=Qx.useRef(null),$=Qx.useRef(0),w=Qx.useRef(0),O=Qx.useRef(0),Y=Qx.useRef(A);Y.current=A,Qx.useEffect(()=>{if(!K)return;function H(){if($.current=0,z.current)clearInterval(z.current),z.current=null}function M(){let X=q.getState(),P=_.current,W=$.current;if(!X?.isDragging||!X.focus||!P||W===0||++O.current>oY$){H();return}if(P.getPendingDelta()!==0)return;let Z=P.getViewportTop(),G=Z+P.getViewportHeight()-1;if(W<0){if(P.getScrollTop()<=0){H();return}let v=Math.min(Fj_,P.getScrollTop());q.captureScrolledRows(G-v+1,G,"below"),q.shiftAnchor(v,0,G),P.scrollBy(-Fj_)}else{let v=Math.max(0,P.getScrollHeight()-P.getViewportHeight());if(P.getScrollTop()>=v){H();return}let k=Math.min(Fj_,v-P.getScrollTop());q.captureScrolledRows(Z,Z+k-1,"above"),q.shiftAnchor(-k,Z,G),P.scrollBy(Fj_)}Y.current?.(!1,P)}function f(X){if(w.current=X,$.current===X)return;if(H(),$.current=X,O.current=0,M(),$.current===X)z.current=setInterval(M,aY$)}function j(){let X=_.current;if(!X){H();return}let P=X.getViewportTop(),W=P+X.getViewportHeight()-1,Z=q.getState();if(!Z?.isDragging||Z.scrolledOffAbove.length===0&&Z.scrolledOffBelow.length===0)w.current=0;let G=tY$(Z,P,W,w.current);if(G===0){if(w.current!==0&&Z?.focus){let v=Z.focus.row<P?-1:Z.focus.row>W?1:0;if(v!==0&&v!==w.current)Z.scrolledOffAbove=[],Z.scrolledOffBelow=[],Z.scrolledOffAboveSW=[],Z.scrolledOffBelowSW=[],w.current=0}H()}else f(G)}let J=q.subscribe(j);return()=>{J(),H(),w.current=0}},[K,_,q])}function tY$(_,q,K,A=0){if(!_?.isDragging||!_.anchor||!_.focus)return 0;let z=_.focus.row,$=z<q?-1:z>K?1:0;if(A!==0)return $===A?$:0;if(_.anchor.row<q||_.anchor.row>K)return 0;return $}function dx(_,q){let K=Math.max(0,_.getScrollHeight()-_.getViewportHeight()),A=_.getScrollTop()+_.getPendingDelta()+q;if(A>=K)return _.scrollTo(K),_.scrollToBottom(),!0;return _.scrollTo(Math.max(0,A)),!1}function eY$(_,q){let K=Math.max(0,_.getScrollHeight()-_.getViewportHeight());if(_.getScrollTop()+_.getPendingDelta()+q>=K)return _.scrollToBottom(),!0;return _.scrollBy(q),!1}function _9$(_,q){if(_.getScrollTop()+_.getPendingDelta()-q<=0){_.scrollTo(0);return}_.scrollBy(-q)}function q9$(_,q){if(q.meta)return null;if(!q.ctrl&&!q.shift){if(q.upArrow)return"lineUp";if(q.downArrow)return"lineDown";if(q.home)return"top";if(q.end)return"bottom"}if(q.ctrl){if(q.shift)return null;switch(_){case"u":return"halfPageUp";case"d":return"halfPageDown";case"b":return"fullPageUp";case"f":return"fullPageDown";case"n":return"lineDown";case"p":return"lineUp";default:return null}}let K=_[0];if(!K||_!==K.repeat(_.length))return null;if(K==="G"||K==="g"&&q.shift)return"bottom";if(q.shift)return null;switch(K){case"g":return"top";case"j":return"lineDown";case"k":return"lineUp";case" ":return"fullPageDown";case"b":return"fullPageUp";default:return null}}function K9$(_,q,K){switch(q){case null:return null;case"lineUp":case"lineDown":{let A=q==="lineDown"?1:-1;return K(A),dx(_,A)}case"halfPageUp":case"halfPageDown":{let A=Math.max(1,Math.floor(_.getViewportHeight()/2)),z=q==="halfPageDown"?A:-A;return K(z),dx(_,z)}case"fullPageUp":case"fullPageDown":{let A=Math.max(1,_.getViewportHeight()),z=q==="fullPageDown"?A:-A;return K(z),dx(_,z)}case"top":return K(-(_.getScrollTop()+_.getPendingDelta())),_.scrollTo(0),!1;case"bottom":{let A=Math.max(0,_.getScrollHeight()-_.getViewportHeight());return K(A-(_.getScrollTop()+_.getPendingDelta())),_.scrollTo(A),_.scrollToBottom(),!0}}}var Qx,CY$=40,IY$=0.3,xY$=6,uY$=200,pY$=15,mY$=15,gY$=3,cY$=1500,WW7=150,BY$=5,DW7=5,UY$=80,FY$=3,dY$=6,QY$=500,Fj_=2,aY$=50,oY$=200;var vW7=h(()=>{Qz();PW7();Kt6();AR();Y1();Q6();$q();__();Qx=A6(a6(),1)});async function TW7(){let _=cw8();if(!_)return;try{await _.teardown()}catch(q){V(`[puku-relay] teardown ignored error: ${q instanceof Error?q.message:String(q)}`)}}var kW7=h(()=>{qw_();__()});var VW7={};N_(VW7,{default:()=>z9$,PukuRelayPopup:()=>NW7});function A9$({onDone:_}){let q=z_((P)=>P.pukuRelaySession),K=z_((P)=>P.replBridgeSessionActive),A=z_((P)=>P.replBridgeConnected),z=U8(),[$,w]=lx.useState("idle"),[O,Y]=lx.useState(""),[H,M]=lx.useState("");lx.useEffect(()=>{if(!q)_()},[q,_]),lx.useEffect(()=>{if(!q||q.command!=="remote-control"){Y("");return}let P=`puku://remote?s=${q.sessionId}&t=${q.mobileToken}`;SN(P,{type:"utf8",errorCorrectionLevel:"L"}).then(Y).catch((W)=>{V(`[puku-relay-popup] QR render failed: ${W instanceof Error?W.message:String(W)}`),Y("")})},[q]);let f=K?"#22C55E":A?"#EAB308":"#6B7280";U_("confirm:no",()=>{if($==="confirming")w("idle");else _()},{context:"PukuRelayPopup"}),U_("pukuRelayPopup:closeRequest",()=>{if($==="idle")w("confirming")},{context:"PukuRelayPopup"}),U_("pukuRelayPopup:cancelClose",()=>{if($==="confirming")w("idle")},{context:"PukuRelayPopup"}),U_("pukuRelayPopup:confirmClose",()=>{if($!=="confirming")return;j()},{context:"PukuRelayPopup"});async function j(){M("");try{await TW7(),z((P)=>({...P,pukuRelaySession:null,replBridgeEnabled:!1,replBridgeExplicit:!1,replBridgeConnected:!1,replBridgeSessionActive:!1,replBridgeReconnecting:!1})),_()}catch(P){M(P instanceof Error?P.message:String(P)),w("idle")}}if(!q)return null;let J=O.split(`
7740
+ `)}async sendRequest(_,q,K,A=ND8()){let z={type:"control_request",request_id:A,request:_};if(this.inputClosed)throw Error("Stream closed");if(K?.aborted)throw Error("Request aborted");if(this.outbound.enqueue(z),_.subtype==="can_use_tool"&&this.onControlRequestSent)this.onControlRequestSent(z);let $=()=>{this.outbound.enqueue({type:"control_cancel_request",request_id:A});let w=this.pendingRequests.get(A);if(w)this.trackResolvedToolUseId(w.request),w.reject(new Z5)};if(K)K.addEventListener("abort",$,{once:!0});try{return await new Promise((w,O)=>{this.pendingRequests.set(A,{request:{type:"control_request",request_id:A,request:_},resolve:(Y)=>{w(Y)},reject:O,schema:q})})}finally{if(K)K.removeEventListener("abort",$);this.pendingRequests.delete(A)}}createCanUseTool(_){return async(q,K,A,z,$,w)=>{let O=w??await v9(q,K,A,z,$);if(O.behavior==="allow"||O.behavior==="deny")return O;let Y=new AbortController,H=A.abortController.signal,M=()=>Y.abort();H.addEventListener("abort",M,{once:!0});try{let f=EO$(q.name,$,K,A,O.suggestions).then((P)=>({source:"hook",decision:P})),j=ND8();_?.(RO$(q,K,$,j));let J=this.sendRequest({subtype:"can_use_tool",tool_name:q.name,input:K,permission_suggestions:O.suggestions,blocked_path:O.blockedPath,decision_reason:yO$(O.decisionReason),tool_use_id:$,agent_id:A.agentId},iS6(),Y.signal,j).then((P)=>({source:"sdk",result:P})),X=await Promise.race([f,J]);if(X.source==="hook"){if(X.decision)return J.catch(()=>{}),Y.abort(),X.decision;let P=await J;return KH6(P.result,q,K,A)}return KH6(X.result,q,K,A)}catch(f){return KH6({behavior:"deny",message:`Tool permission request failed: ${f}`,toolUseID:$},q,K,A)}finally{if(this.getPendingPermissionRequests().length===0)Sx("running");H.removeEventListener("abort",M)}}}createHookCallback(_,q){return{type:"callback",timeout:q,callback:async(K,A,z)=>{try{return await this.sendRequest({subtype:"hook_callback",callback_id:_,input:K,tool_use_id:A||void 0},j16(),z)}catch($){return console.error(`Error in hook callback ${_}:`,$),{}}}}}async handleElicitation(_,q,K,A,z,$,w){try{return await this.sendRequest({subtype:"elicitation",mcp_server_name:_,message:q,mode:z,url:$,elicitation_id:w,requested_schema:K},RX7(),A)}catch{return{action:"cancel"}}}createSandboxAskCallback(){return async(_)=>{try{return(await this.sendRequest({subtype:"can_use_tool",tool_name:VO$,input:{host:_.host},tool_use_id:ND8(),description:`Allow network connection to ${_.host}?`},iS6())).behavior==="allow"}catch{return!1}}}async sendMcpMessage(_,q){return(await this.sendRequest({subtype:"mcp_message",server_name:_,message:q},R.object({mcp_response:R.any()}))).mcp_response}}function bX7(_){console.error(_),process.exit(1)}async function EO$(_,q,K,A,z){let w=A.getAppState().toolPermissionContext.mode,O=gs(_,q,K,A,w,z,A.abortController.signal);for await(let Y of O)if(Y.permissionRequestResult&&(Y.permissionRequestResult.behavior==="allow"||Y.permissionRequestResult.behavior==="deny")){let H=Y.permissionRequestResult;if(H.behavior==="allow"){let M=H.updatedInput||K,f=H.updatedPermissions??[];if(f.length>0){Mk(f);let j=A.getAppState(),J=RX(j.toolPermissionContext,f);A.setAppState((X)=>{if(X.toolPermissionContext===J)return X;return{...X,toolPermissionContext:J}})}return{behavior:"allow",updatedInput:M,userModified:!1,decisionReason:{type:"hook",hookName:"PermissionRequest"}}}else return{behavior:"deny",message:H.message||"Permission denied by PermissionRequest hook",decisionReason:{type:"hook",hookName:"PermissionRequest"}}}return}var VO$="SandboxNetworkAccess",LO$=1000;var Lj_=h(()=>{hX7();lJ8();__();Dz();W_();TD8();Fw();m_();s8();H$();XO();mF();m_();ZO8();kD8()});function CX7(_,q,K){let A=Ej_.useRef(!1);Ej_.useEffect(()=>{if(!lz()||A.current)return;if(A.current=!0,_)R5_(_,K)},[q,_,K])}var Ej_;var IX7=h(()=>{sX();Ej_=A6(a6(),1)});function VD8(_){let q=xX7.c(22),{hostPattern:K,onUserResponse:A}=_,{host:z}=K,$;if(q[0]!==A)$=function(N){_:switch(N){case"yes":{A({allow:!0,persistToSettings:!1});break _}case"yes-dont-ask-again":{A({allow:!0,persistToSettings:!0});break _}case"no":A({allow:!1,persistToSettings:!1})}},q[0]=A,q[1]=$;else $=q[1];let w=$,O;if(q[2]===Symbol.for("react.memo_cache_sentinel"))O=fr(),q[2]=O;else O=q[2];let Y=O,H;if(q[3]===Symbol.for("react.memo_cache_sentinel"))H={label:"Yes",value:"yes"},q[3]=H;else H=q[3];let M;if(q[4]!==z)M=!Y?[{label:y(T,{children:["Yes, and don't ask again for ",D(T,{bold:!0,children:z})]}),value:"yes-dont-ask-again"}]:[],q[4]=z,q[5]=M;else M=q[5];let f;if(q[6]===Symbol.for("react.memo_cache_sentinel"))f={label:y(T,{children:["No, and tell puku what to do differently ",D(T,{bold:!0,children:"(esc)"})]}),value:"no"},q[6]=f;else f=q[6];let j;if(q[7]!==M)j=[H,...M,f],q[7]=M,q[8]=j;else j=q[8];let J=j,X;if(q[9]===Symbol.for("react.memo_cache_sentinel"))X=D(T,{dimColor:!0,children:"Host:"}),q[9]=X;else X=q[9];let P;if(q[10]!==z)P=y(x,{children:[X,y(T,{children:[" ",z]})]}),q[10]=z,q[11]=P;else P=q[11];let W;if(q[12]===Symbol.for("react.memo_cache_sentinel"))W=D(x,{marginTop:1,children:D(T,{children:"Do you want to allow this connection?"})}),q[12]=W;else W=q[12];let Z;if(q[13]!==A)Z=()=>{A({allow:!1,persistToSettings:!1})},q[13]=A,q[14]=Z;else Z=q[14];let G;if(q[15]!==w||q[16]!==J||q[17]!==Z)G=D(x,{children:D(g_,{options:J,onChange:w,onCancel:Z})}),q[15]=w,q[16]=J,q[17]=Z,q[18]=G;else G=q[18];let v;if(q[19]!==G||q[20]!==P)v=D(u5,{title:"Network request outside of sandbox",children:y(x,{flexDirection:"column",paddingX:2,paddingY:1,children:[P,W,G]})}),q[19]=G,q[20]=P,q[21]=v;else v=q[21];return v}var xX7;var uX7=h(()=>{Q6();Nz();R4();hH();a();xX7=A6(s6(),1)});function hO$(_){let q=_.getHours()%12||12,K=String(_.getMinutes()).padStart(2,"0"),A=String(_.getSeconds()).padStart(2,"0"),z=_.getHours()<12?"am":"pm";return`${q}:${K}:${A}${z}`}function yD8(){let _=pX7.c(15),q;if(_[0]===Symbol.for("react.memo_cache_sentinel"))q=[],_[0]=q;else q=_[0];let[K,A]=rS6.useState(q),[z,$]=rS6.useState(0),w,O;if(_[1]===Symbol.for("react.memo_cache_sentinel"))w=()=>{if(!N8.isSandboxingEnabled()||r_()==="linux")return;let X=N8.getSandboxViolationStore();if(!X||typeof X.subscribe!=="function")return;return X.subscribe((W)=>{A(W.slice(-10)),$(X.getTotalCount())})},O=[],_[1]=w,_[2]=O;else w=_[1],O=_[2];if(rS6.useEffect(w,O),!N8.isSandboxingEnabled()||r_()==="linux")return null;if(z===0)return null;let Y=z===1?"operation":"operations",H;if(_[3]!==Y||_[4]!==z)H=D(x,{marginLeft:0,children:y(T,{color:"permission",children:["⧈ Sandbox blocked ",z," total"," ",Y]})}),_[3]=Y,_[4]=z,_[5]=H;else H=_[5];let M;if(_[6]!==K)M=K.map(SO$),_[6]=K,_[7]=M;else M=_[7];let f=Math.min(10,K.length),j;if(_[8]!==f||_[9]!==z)j=D(x,{paddingLeft:2,children:y(T,{dimColor:!0,children:["… showing last ",f," of ",z]})}),_[8]=f,_[9]=z,_[10]=j;else j=_[10];let J;if(_[11]!==H||_[12]!==M||_[13]!==j)J=y(x,{flexDirection:"column",marginTop:1,children:[H,M,j]}),_[11]=H,_[12]=M,_[13]=j,_[14]=J;else J=_[14];return J}function SO$(_,q){return D(x,{paddingLeft:2,children:y(T,{dimColor:!0,children:[hO$(_.timestamp),_.command?` ${_.command}:`:""," ",_.line]})},`${_.timestamp.getTime()}-${q}`)}var pX7,rS6;var mX7=h(()=>{Q6();Nz();iK();a();pX7=A6(s6(),1),rS6=A6(a6(),1)});function BX7(_){let q=gX7.c(4),{mcpClients:K}=_,A=K===void 0?bO$:K,{addNotification:z}=lK(),$,w;if(q[0]!==z||q[1]!==A)$=()=>{try{if(k7())return;let O=A.filter(uO$),Y=A.filter(xO$),H=A.filter(IO$),M=A.filter(CO$);if(O.length===0&&Y.length===0&&H.length===0&&M.length===0)return;if(O.length>0)z({key:"mcp-failed",jsx:y(q_,{children:[y(T,{color:"error",children:[O.length," MCP"," ",O.length===1?"server":"servers"," failed"]}),D(T,{dimColor:!0,children:" · /mcp"})]}),priority:"medium"});if(Y.length>0)z({key:"mcp-claudeai-failed",jsx:y(q_,{children:[y(T,{color:"error",children:[Y.length," puku.sh"," ",Y.length===1?"connector":"connectors"," ","unavailable"]}),D(T,{dimColor:!0,children:" · /mcp"})]}),priority:"medium"});if(H.length>0)z({key:"mcp-needs-auth",jsx:y(q_,{children:[y(T,{color:"warning",children:[H.length," MCP"," ",H.length===1?"server needs":"servers need"," ","auth"]}),D(T,{dimColor:!0,children:" · /mcp"})]}),priority:"medium"});if(M.length>0)z({key:"mcp-claudeai-needs-auth",jsx:y(q_,{children:[y(T,{color:"warning",children:[M.length," puku.sh"," ",M.length===1?"connector needs":"connectors need"," ","auth"]}),D(T,{dimColor:!0,children:" · /mcp"})]}),priority:"medium"})}catch(O){K6(O)}},w=[z,A],q[0]=z,q[1]=A,q[2]=$,q[3]=w;else $=q[2],w=q[3];cX7.useEffect($,w)}function CO$(_){return _.type==="needs-auth"&&_.config.type==="claudeai-proxy"&&Wq8(_.name)}function IO$(_){return _.type==="needs-auth"&&_.config.type!=="claudeai-proxy"}function xO$(_){return _.type==="failed"&&_.config.type==="claudeai-proxy"&&Wq8(_.name)}function uO$(_){return _.type==="failed"&&_.config.type!=="sse-ide"&&_.config.type!=="ws-ide"&&_.config.type!=="claudeai-proxy"}var gX7,cX7,bO$;var UX7=h(()=>{D_();Qz();J_();Q6();D$6();a();gX7=A6(s6(),1),cX7=A6(a6(),1),bO$=[]});function FX7(){let{addNotification:_}=lK(),q=z_(($)=>$.toolPermissionContext.mode),K=z_(($)=>$.toolPermissionContext.isAutoModeAvailable),A=aS6.useRef(!1),z=aS6.useRef(q);aS6.useEffect(()=>{let $=z.current;if(z.current=q,k7())return;if(A.current)return;if(!(q==="default"&&$!=="default"&&$!=="auto"&&!K&&ih()))return;let O=tI();if(!O)return;A.current=!0,_({key:"auto-mode-unavailable",text:sU(O),color:"warning",priority:"medium"})},[q,K,_])}var aS6;var dX7=h(()=>{Qz();J_();c8();O9();W8();aS6=A6(a6(),1)});function lX7(){let _=QX7.c(10),{addNotification:q}=lK(),K=U8(),[A,z]=AH6.useState(gO$),$;if(_[0]===Symbol.for("react.memo_cache_sentinel"))$=new Set,_[0]=$;else $=_[0];let w=AH6.useRef($),O;if(_[1]!==q||_[2]!==K)O=(J,X)=>{let P=`${J}:${X}`;if(w.current.has(P))return;w.current.add(P),V(`LSP error: ${J} - ${X}`),K((Z)=>{let G=new Set(Z.plugins.errors.map(mO$)),v=`generic-error:${J}:${X}`;if(G.has(v))return Z;return{...Z,plugins:{...Z.plugins,errors:[...Z.plugins.errors,{type:"generic-error",source:J,error:X}]}}});let W=J.startsWith("plugin:")?J.split(":")[1]??J:J;q({key:`lsp-error-${J}`,jsx:y(q_,{children:[y(T,{color:"error",children:["LSP for ",W," failed"]}),D(T,{dimColor:!0,children:" · /plugin for details"})]}),priority:"medium",timeoutMs:8000})},_[1]=q,_[2]=K,_[3]=O;else O=_[3];let Y=O,H;if(_[4]!==Y)H=()=>{if(k7())return;if(Qd())return;let J=Lw6();if(J.status==="failed"){Y("lsp-manager",J.error.message),z(!1);return}if(J.status==="pending"||J.status==="not-started")return;let X=RI();if(X){let P=X.getAllServers();for(let[W,Z]of P)if(Z.state==="error"&&Z.lastError)Y(W,Z.lastError.message)}},_[4]=Y,_[5]=H;else H=_[5];let M=H;jH(M,A?pO$:null);let f,j;if(_[6]!==M||_[7]!==A)f=()=>{if(k7()||!A)return;M()},j=[M,A],_[6]=M,_[7]=A,_[8]=f,_[9]=j;else f=_[8],j=_[9];AH6.useEffect(f,j)}function mO$(_){if(_.type==="generic-error")return`generic-error:${_.source}:${_.error}`;return`${_.type}:${_.source}`}function gO$(){return C6("true")}var QX7,AH6,pO$=5000;var iX7=h(()=>{fX();J_();Qz();Q6();EL();c8();__();R_();a();QX7=A6(s6(),1),AH6=A6(a6(),1)});async function rX7(_){if(!_||!_.trim())return V("[binaryCheck] Empty command provided, returning false"),!1;let q=_.trim(),K=nX7.get(q);if(K!==void 0)return V(`[binaryCheck] Cache hit for '${q}': ${K}`),K;let A=!1;if(await r9(q).catch(()=>null))A=!0;return nX7.set(q,A),V(`[binaryCheck] Binary '${q}' ${A?"found":"not found"}`),A}var nX7;var aX7=h(()=>{__();pZ();nX7=new Map});import{extname as cO$}from"path";function UO$(_){return lT.has(_.toLowerCase())}function FO$(_){if(!_)return null;if(typeof _==="string")return V("[lspRecommendation] Skipping string path lspServers (not readable from marketplace)"),null;if(Array.isArray(_)){for(let q of _){if(typeof q==="string")continue;let K=sX7(q);if(K)return K}return null}return sX7(_)}function oX7(_){return typeof _==="object"&&_!==null}function sX7(_){let q=new Set,K=null;for(let[A,z]of Object.entries(_)){if(!oX7(z))continue;if(!K&&typeof z.command==="string")K=z.command;let $=z.extensionToLanguage;if(oX7($))for(let w of Object.keys($))q.add(w.toLowerCase())}if(!K||q.size===0)return null;return{extensions:q,command:K}}async function dO$(){let _=new Map;try{let q=await FA();for(let K of Object.keys(q))try{let A=await kf(K),z=UO$(K);for(let $ of A.plugins){if(!$.lspServers)continue;let w=FO$($.lspServers);if(!w)continue;let O=`${$.name}@${K}`;_.set(O,{entry:$,marketplaceName:K,extensions:w.extensions,command:w.command,isOfficial:z})}}catch(A){V(`[lspRecommendation] Failed to load marketplace ${K}: ${A}`)}}catch(q){V(`[lspRecommendation] Failed to load marketplaces config: ${q}`)}return _}async function tX7(_){if(QO$())return V("[lspRecommendation] Recommendations are disabled"),[];let q=cO$(_).toLowerCase();if(!q)return V("[lspRecommendation] No file extension found"),[];V(`[lspRecommendation] Looking for LSP plugins for ${q}`);let K=await dO$(),z=$_().lspRecommendationNeverPlugins??[],$=[];for(let[O,Y]of K){if(!Y.extensions.has(q))continue;if(z.includes(O)){V(`[lspRecommendation] Skipping ${O} (in never suggest list)`);continue}if(xv(O)){V(`[lspRecommendation] Skipping ${O} (already installed)`);continue}$.push({info:Y,pluginId:O})}let w=[];for(let{info:O,pluginId:Y}of $)if(await rX7(O.command))w.push({info:O,pluginId:Y}),V(`[lspRecommendation] Binary '${O.command}' found for ${Y}`);else V(`[lspRecommendation] Skipping ${Y} (binary '${O.command}' not found)`);return w.sort((O,Y)=>{if(O.info.isOfficial&&!Y.info.isOfficial)return-1;if(!O.info.isOfficial&&Y.info.isOfficial)return 1;return 0}),w.map(({info:O,pluginId:Y})=>({pluginId:Y,pluginName:O.entry.name,marketplaceName:O.marketplaceName,description:O.entry.description,isOfficial:O.isOfficial,extensions:Array.from(O.extensions),command:O.command}))}function eX7(_){b_((q)=>{let K=q.lspRecommendationNeverPlugins??[];if(K.includes(_))return q;return{...q,lspRecommendationNeverPlugins:[...K,_]}}),V(`[lspRecommendation] Added ${_} to never suggest`)}function _P7(){b_((_)=>{let q=(_.lspRecommendationIgnoredCount??0)+1;return{..._,lspRecommendationIgnoredCount:q}}),V("[lspRecommendation] Incremented ignored count")}function QO$(){let _=$_();return _.lspRecommendationDisabled===!0||(_.lspRecommendationIgnoredCount??0)>=BO$}var BO$=5;var qP7=h(()=>{aX7();Y8();__();L1();X3();Uf()});function Sj_(){let _=KP7.c(6),[q,K]=hj_.useState(null),A=hj_.useRef(!1),z;if(_[0]!==q)z=(H)=>{if(k7())return;if(q)return;if(A.current)return;A.current=!0,H().then((M)=>{if(M)K(M)}).catch(K6).finally(()=>{A.current=!1})},_[0]=q,_[1]=z;else z=_[1];let $=z,w;if(_[2]===Symbol.for("react.memo_cache_sentinel"))w=()=>K(null),_[2]=w;else w=_[2];let O=w,Y;if(_[3]!==q||_[4]!==$)Y={recommendation:q,clearRecommendation:O,tryResolve:$},_[3]=q,_[4]=$,_[5]=Y;else Y=_[5];return Y}async function bj_(_,q,K,A,z){try{let $=await Ej(_);if(!$)throw Error(`Plugin ${_} not found in marketplace`);await z($),A({key:`${K}-installed`,jsx:y(T,{color:"success",children:[n6.tick," ",q," installed · restart to apply"]}),priority:"immediate",timeoutMs:5000})}catch($){K6($),A({key:`${K}-install-failed`,jsx:y(T,{color:"error",children:["Failed to install ",q]}),priority:"immediate",timeoutMs:5000})}}var KP7,hj_;var RD8=h(()=>{Lq();J_();Q6();D_();X3();a();KP7=A6(s6(),1),hj_=A6(a6(),1)});import{extname as lO$,join as iO$}from"path";function zP7(){let _=AP7.c(12),q=z_(aO$),{addNotification:K}=lK(),A;if(_[0]===Symbol.for("react.memo_cache_sentinel"))A=new Set,_[0]=A;else A=_[0];let z=Cj_.useRef(A),{recommendation:$,clearRecommendation:w,tryResolve:O}=Sj_(),Y,H;if(_[1]!==q||_[2]!==O)Y=()=>{O(async()=>{if(sX_())return null;let J=[];for(let X of q)if(!z.current.has(X))z.current.add(X),J.push(X);for(let X of J)try{let W=(await tX7(X))[0];if(W)return V(`[useLspPluginRecommendation] Found match: ${W.pluginName} for ${X}`),tX_(!0),{pluginId:W.pluginId,pluginName:W.pluginName,pluginDescription:W.description,fileExtension:lO$(X),shownAt:Date.now()}}catch(P){K6(P)}return null})},H=[q,O],_[1]=q,_[2]=O,_[3]=Y,_[4]=H;else Y=_[3],H=_[4];Cj_.useEffect(Y,H);let M;if(_[5]!==K||_[6]!==w||_[7]!==$)M=(J)=>{if(!$)return;let{pluginId:X,pluginName:P,shownAt:W}=$;V(`[useLspPluginRecommendation] User response: ${J} for ${P}`);_:switch(J){case"yes":{bj_(X,P,"lsp-plugin",K,async(Z)=>{V(`[useLspPluginRecommendation] Installing plugin: ${X}`);let G=typeof Z.entry.source==="string"?iO$(Z.marketplaceInstallLocation,Z.entry.source):void 0;await rL6(X,Z.entry,"user",void 0,G);let v=s_("userSettings");k8("userSettings",{enabledPlugins:{...v?.enabledPlugins,[X]:!0}}),V(`[useLspPluginRecommendation] Plugin installed: ${X}`)});break _}case"no":{let Z=Date.now()-W;if(Z>=nO$)V(`[useLspPluginRecommendation] Timeout detected (${Z}ms), incrementing ignored count`),_P7();break _}case"never":{eX7(X);break _}case"disable":b_(rO$)}w()},_[5]=K,_[6]=w,_[7]=$,_[8]=M;else M=_[8];let f=M,j;if(_[9]!==f||_[10]!==$)j={recommendation:$,handleResponse:f},_[9]=f,_[10]=$,_[11]=j;else j=_[11];return j}function rO$(_){if(_.lspRecommendationDisabled)return _;return{..._,lspRecommendationDisabled:!0}}function aO$(_){return _.fileHistory.trackedFiles}var AP7,Cj_,nO$=28000;var $P7=h(()=>{J_();Qz();c8();Y8();__();D_();qP7();nU();W8();RD8();AP7=A6(s6(),1),Cj_=A6(a6(),1)});function wP7({pluginName:_,pluginDescription:q,fileExtension:K,onResponse:A}){let z=Ij_.useRef(A);z.current=A,Ij_.useEffect(()=>{let O=setTimeout((Y)=>Y.current("no"),oO$,z);return()=>clearTimeout(O)},[]);function $(O){switch(O){case"yes":A("yes");break;case"no":A("no");break;case"never":A("never");break;case"disable":A("disable");break}}return D(u5,{title:"LSP Plugin Recommendation",children:y(x,{flexDirection:"column",paddingX:2,paddingY:1,children:[D(x,{marginBottom:1,children:D(T,{dimColor:!0,children:"LSP provides code intelligence like go-to-definition and error checking"})}),y(x,{children:[D(T,{dimColor:!0,children:"Plugin:"}),y(T,{children:[" ",_]})]}),q&&D(x,{children:D(T,{dimColor:!0,children:q})}),y(x,{children:[D(T,{dimColor:!0,children:"Triggered by:"}),y(T,{children:[" ",K," files"]})]}),D(x,{marginTop:1,children:D(T,{children:"Would you like to install this LSP plugin?"})}),D(x,{children:D(g_,{options:[{label:y(T,{children:["Yes, install ",D(T,{bold:!0,children:_})]}),value:"yes"},{label:"No, not now",value:"no"},{label:y(T,{children:["Never for ",D(T,{bold:!0,children:_})]}),value:"never"},{label:"Disable all LSP recommendations",value:"disable"}],onChange:$,onCancel:()=>A("no")})})]})})}var Ij_,oO$=30000;var OP7=h(()=>{Q6();R4();hH();a();Ij_=A6(a6(),1)});function HP7(){let _=YP7.c(11),q=xj_.useSyncExternalStore(OyK,F58),{addNotification:K}=lK(),{recommendation:A,clearRecommendation:z,tryResolve:$}=Sj_(),w,O;if(_[0]!==q||_[1]!==$)w=()=>{if(!q)return;$(async()=>{let f=await MyK(q);if(f)V(`[usePukuCodeHintRecommendation] surfacing ${f.pluginId} from ${f.sourceCommand}`),wyK();if(F58()===q)$yK();return f})},O=[q,$],_[0]=q,_[1]=$,_[2]=w,_[3]=O;else w=_[2],O=_[3];xj_.useEffect(w,O);let Y;if(_[4]!==K||_[5]!==z||_[6]!==A)Y=(f)=>{if(!A)return;fyK(A.pluginId),l("ev_event",{_PROTO_plugin_name:A.pluginName,_PROTO_marketplace_name:A.marketplaceName,response:f});_:switch(f){case"yes":{let{pluginId:j,pluginName:J,marketplaceName:X}=A;bj_(j,J,"hint-plugin",K,async(P)=>{let W=await iU({pluginId:j,entry:P.entry,marketplaceName:X,scope:"user",trigger:"hint"});if(!W.success)throw Error(W.error)});break _}case"disable":{jyK();break _}case"no":}z()},_[4]=K,_[5]=z,_[6]=A,_[7]=Y;else Y=_[7];let H=Y,M;if(_[8]!==H||_[9]!==A)M={recommendation:A,handleResponse:H},_[8]=H,_[9]=A,_[10]=M;else M=_[10];return M}var YP7,xj_;var MP7=h(()=>{Qz();Uy6();__();Tz_();nU();RD8();YP7=A6(s6(),1),xj_=A6(a6(),1)});function fP7({pluginName:_,pluginDescription:q,marketplaceName:K,sourceCommand:A,onResponse:z}){let $=uj_.useRef(z);$.current=z,uj_.useEffect(()=>{let Y=setTimeout((H)=>H.current("no"),sO$,$);return()=>clearTimeout(Y)},[]);function w(Y){switch(Y){case"yes":z("yes");break;case"disable":z("disable");break;default:z("no")}}return D(u5,{title:"Plugin Recommendation",children:y(x,{flexDirection:"column",paddingX:2,paddingY:1,children:[D(x,{marginBottom:1,children:y(T,{dimColor:!0,children:["The ",D(T,{bold:!0,children:A})," command suggests installing a plugin."]})}),y(x,{children:[D(T,{dimColor:!0,children:"Plugin:"}),y(T,{children:[" ",_]})]}),y(x,{children:[D(T,{dimColor:!0,children:"Marketplace:"}),y(T,{children:[" ",K]})]}),q&&D(x,{children:D(T,{dimColor:!0,children:q})}),D(x,{marginTop:1,children:D(T,{children:"Would you like to install it?"})}),D(x,{children:D(g_,{options:[{label:y(T,{children:["Yes, install ",D(T,{bold:!0,children:_})]}),value:"yes"},{label:"No",value:"no"},{label:"No, and don't show plugin installation hints again",value:"disable"}],onChange:w,onCancel:()=>z("no")})})]})})}var uj_,sO$=30000;var jP7=h(()=>{Q6();R4();hH();a();uj_=A6(a6(),1)});function PP7(){let _=JP7.c(20),{addNotification:q}=lK(),K=z_(_Y$),A;_:{if(!K){let P;if(_[0]===Symbol.for("react.memo_cache_sentinel"))P={totalFailed:0,failedMarketplacesCount:0,failedPluginsCount:0},_[0]=P;else P=_[0];A=P;break _}let H;if(_[1]!==K.marketplaces)H=K.marketplaces.filter(eO$),_[1]=K.marketplaces,_[2]=H;else H=_[2];let M=H,f;if(_[3]!==K.plugins)f=K.plugins.filter(tO$),_[3]=K.plugins,_[4]=f;else f=_[4];let j=f,J=M.length+j.length,X;if(_[5]!==M.length||_[6]!==j.length||_[7]!==J)X={totalFailed:J,failedMarketplacesCount:M.length,failedPluginsCount:j.length},_[5]=M.length,_[6]=j.length,_[7]=J,_[8]=X;else X=_[8];A=X}let{totalFailed:z,failedMarketplacesCount:$,failedPluginsCount:w}=A,O;if(_[9]!==q||_[10]!==$||_[11]!==w||_[12]!==K||_[13]!==z)O=()=>{if(k7())return;if(!K){V("No installation status to monitor");return}if(z===0)return;if(V(`Plugin installation status: ${$} failed marketplaces, ${w} failed plugins`),z===0)return;V(`Adding notification for ${z} failed installations`),q({key:"plugin-install-failed",jsx:y(q_,{children:[y(T,{color:"error",children:[z," ",E8(z,"plugin")," failed to install"]}),D(T,{dimColor:!0,children:" · /plugin for details"})]}),priority:"medium"})},_[9]=q,_[10]=$,_[11]=w,_[12]=K,_[13]=z,_[14]=O;else O=_[14];let Y;if(_[15]!==q||_[16]!==$||_[17]!==w||_[18]!==z)Y=[q,z,$,w],_[15]=q,_[16]=$,_[17]=w,_[18]=z,_[19]=Y;else Y=_[19];XP7.useEffect(O,Y)}function tO$(_){return _.status==="failed"}function eO$(_){return _.status==="failed"}function _Y$(_){return _.plugins.installationStatus}var JP7,XP7;var WP7=h(()=>{J_();Qz();Q6();c8();__();a();JP7=A6(s6(),1),XP7=A6(a6(),1)});function ZP7(){let _=DP7.c(7),{addNotification:q}=lK(),K;if(_[0]===Symbol.for("react.memo_cache_sentinel"))K=[],_[0]=K;else K=_[0];let[A,z]=oS6.useState(K),$,w;if(_[1]===Symbol.for("react.memo_cache_sentinel"))$=()=>{if(k7())return;return RoK((M)=>{V(`Plugin autoupdate notification: ${M.length} plugin(s) updated`),z(M)})},w=[],_[1]=$,_[2]=w;else $=_[1],w=_[2];oS6.useEffect($,w);let O,Y;if(_[3]!==q||_[4]!==A)O=()=>{if(k7())return;if(A.length===0)return;let H=A.map(qY$),M=H.length<=2?H.join(" and "):`${H.length} plugins`;q({key:"plugin-autoupdate-restart",jsx:y(q_,{children:[y(T,{color:"success",children:[H.length===1?"Plugin":"Plugins"," updated:"," ",M]}),D(T,{dimColor:!0,children:" · Run /reload-plugins to apply"})]}),priority:"low",timeoutMs:1e4}),V(`Showing plugin autoupdate notification for: ${H.join(", ")}`)},Y=[A,q],_[3]=q,_[4]=A,_[5]=O,_[6]=Y;else O=_[5],Y=_[6];oS6.useEffect(O,Y)}function qY$(_){let q=_.indexOf("@");return q>0?_.substring(0,q):_}var DP7,oS6;var GP7=h(()=>{J_();Qz();Q6();__();w1_();a();DP7=A6(s6(),1),oS6=A6(a6(),1)});import{isAbsolute as KY$,resolve as AY$}from"path";function LD8(_,q,K){let A=[],z=[],$=[];for(let[w,O]of Object.entries(_)){let Y=q[w],H=vP7(O.source,K?.projectRoot);if(!Y)A.push(w);else if(O.sourceIsFallback)$.push(w);else if(!N2(H,Y.source))z.push({name:w,declaredSource:H,materializedSource:Y.source});else $.push(w)}return{missing:A,sourceChanged:z,upToDate:$}}async function pj_(_){let q=FU();if(Object.keys(q).length===0)return{installed:[],updated:[],failed:[],upToDate:[],skipped:[]};let K;try{K=await FA()}catch(M){K6(M),K={}}let A=LD8(q,K,{projectRoot:J8()}),z=[...A.missing.map((M)=>({name:M,source:vP7(q[M].source),action:"install"})),...A.sourceChanged.map(({name:M,declaredSource:f})=>({name:M,source:f,action:"update"}))],$=[],w=[];for(let M of z){if(_?.skip?.(M.name,M.source)){$.push(M.name);continue}if(M.action==="update"&&EV(M.source)&&!await P7(M.source.path)){V(`[reconcile] '${M.name}' declared path does not exist; keeping materialized entry`),$.push(M.name);continue}w.push(M)}if(w.length===0)return{installed:[],updated:[],failed:[],upToDate:A.upToDate,skipped:$};V(`[reconcile] ${w.length} marketplace(s): ${w.map((M)=>`${M.name}(${M.action})`).join(", ")}`);let O=[],Y=[],H=[];for(let M=0;M<w.length;M++){let{name:f,source:j,action:J}=w[M];_?.onProgress?.({type:"installing",name:f,action:J,index:M+1,total:w.length});try{let X=await tL(j);if(J==="install")O.push(f);else Y.push(f);_?.onProgress?.({type:"installed",name:f,alreadyMaterialized:X.alreadyMaterialized})}catch(X){let P=B6(X);H.push({name:f,error:P}),_?.onProgress?.({type:"failed",name:f,error:P}),K6(X)}}return{installed:O,updated:Y,failed:H,upToDate:A.upToDate,skipped:$}}function vP7(_,q){if((_.source==="directory"||_.source==="file")&&!KY$(_.path)){let K=q??J8(),A=qO(K);return{..._,path:AY$(A??K,_.path)}}return _}var ED8=h(()=>{qn();J_();__();W_();M7();h4();D_();X3();Uf()});function hD8(_,q,K,A){_((z)=>({...z,plugins:{...z.plugins,installationStatus:{...z.plugins.installationStatus,marketplaces:z.plugins.installationStatus.marketplaces.map(($)=>$.name===q?{...$,status:K,error:A}:$)}}}))}async function TP7(_){V("performBackgroundPluginInstallations called");try{let q=FU(),K=await FA().catch(()=>({})),A=LD8(q,K),z=[...A.missing,...A.sourceChanged.map((O)=>O.name)];if(_((O)=>({...O,plugins:{...O.plugins,installationStatus:{marketplaces:z.map((Y)=>({name:Y,status:"pending"})),plugins:[]}}})),z.length===0)return;V(`Installing ${z.length} marketplace(s) in background`);let $=await pj_({onProgress:(O)=>{switch(O.type){case"installing":hD8(_,O.name,"installing");break;case"installed":hD8(_,O.name,"installed");break;case"failed":hD8(_,O.name,"failed",O.error);break}}}),w={installed_count:$.installed.length,updated_count:$.updated.length,failed_count:$.failed.length,up_to_date_count:$.upToDate.length};if(l("ev_event",w),S_("info","ev_event",w),$.installed.length>0){sL(),V(`Auto-refreshing plugins after ${$.installed.length} new marketplace(s) installed`);try{await Gt(_)}catch(O){K6(O),V(`Auto-refresh failed, falling back to needsRefresh: ${O}`,{level:"warn"}),_J("performBackgroundPluginInstallations: auto-refresh failed"),_((Y)=>{if(Y.plugins.needsRefresh)return Y;return{...Y,plugins:{...Y.plugins,needsRefresh:!0}}})}}else if($.updated.length>0)sL(),_J("performBackgroundPluginInstallations: marketplaces reconciled"),_((O)=>{if(O.plugins.needsRefresh)return O;return{...O,plugins:{...O.plugins,needsRefresh:!0}}})}catch(q){K6(q)}}var kP7=h(()=>{__();Dz();D_();X3();uw();ED8();xH_()});async function NP7(_){if(V("performStartupChecks called"),!Vw()){V("Trust not accepted for current directory - skipping plugin installations");return}try{if(V("Starting background plugin installations"),await bO_())sL(),_J("performStartupChecks: seed marketplaces changed"),_((K)=>{if(K.plugins.needsRefresh)return K;return{...K,plugins:{...K.plugins,needsRefresh:!0}}});await TP7(_)}catch(q){V(`Error initiating background plugin installations: ${q}`)}}var VP7=h(()=>{kP7();Y8();__();X3();uw()});function RP7(){let _=yP7.c(11),q;if(_[0]===Symbol.for("react.memo_cache_sentinel"))q=AH.getInstance().getStatus(),_[0]=q;else q=_[0];let[K,A]=mj_.useState(q),z,$;if(_[1]===Symbol.for("react.memo_cache_sentinel"))z=()=>{return AH.getInstance().subscribe(A)},$=[],_[1]=z,_[2]=$;else z=_[1],$=_[2];if(mj_.useEffect(z,$),!K.isAuthenticating&&!K.error&&K.output.length===0)return null;if(!K.isAuthenticating&&!K.error)return null;let w;if(_[3]===Symbol.for("react.memo_cache_sentinel"))w=D(T,{bold:!0,color:"permission",children:"Cloud Authentication"}),_[3]=w;else w=_[3];let O;if(_[4]!==K.output)O=K.output.length>0&&D(x,{flexDirection:"column",marginTop:1,children:K.output.slice(-5).map($Y$)}),_[4]=K.output,_[5]=O;else O=_[5];let Y;if(_[6]!==K.error)Y=K.error&&D(x,{marginTop:1,children:D(T,{color:"error",children:K.error})}),_[6]=K.error,_[7]=Y;else Y=_[7];let H;if(_[8]!==O||_[9]!==Y)H=y(x,{flexDirection:"column",borderStyle:"round",borderColor:"permission",paddingX:1,marginY:1,children:[w,O,Y]}),_[8]=O,_[9]=Y,_[10]=H;else H=_[10];return H}function $Y$(_,q){let K=_.match(zY$);if(!K)return D(T,{dimColor:!0,children:_},q);let A=K[0],z=K.index??0,$=_.slice(0,z),w=_.slice(z+A.length);return y(T,{dimColor:!0,children:[$,D(cq,{url:A,children:A}),w]},q)}var yP7,mj_,zY$;var LP7=h(()=>{Q6();li6();a();yP7=A6(s6(),1),mj_=A6(a6(),1),zY$=/https?:\/\/\S+/});function hP7(_){let q=EP7.c(17),{addNotification:K}=lK(),A=sB(),z;if(q[0]!==A||q[1]!==_)z=le_(A,_),q[0]=A,q[1]=_,q[2]=z;else z=q[2];let $=z,w;if(q[3]!==A)w=ie_(A),q[3]=A,q[4]=w;else w=q[4];let O=w,Y=$e.useRef(null),H;if(q[5]===Symbol.for("react.memo_cache_sentinel"))H=o7(),q[5]=H;else H=q[5];let M=H,f;if(q[6]===Symbol.for("react.memo_cache_sentinel"))f=hy(),q[6]=f;else f=q[6];let j=f,J=M==="team"||M==="enterprise",[X,P]=$e.useState(!1),W,Z;if(q[7]!==K||q[8]!==A.isUsingOverage||q[9]!==X||q[10]!==O)W=()=>{if(k7())return;if(A.isUsingOverage&&!X&&(!J||j))K({key:"limit-reached",text:O,priority:"immediate"}),P(!0);else if(!A.isUsingOverage&&X)P(!1)},Z=[A.isUsingOverage,O,X,K,j,J],q[7]=K,q[8]=A.isUsingOverage,q[9]=X,q[10]=O,q[11]=W,q[12]=Z;else W=q[11],Z=q[12];$e.useEffect(W,Z);let G,v;if(q[13]!==K||q[14]!==$)G=()=>{if(k7())return;if($&&$!==Y.current)Y.current=$,K({key:"rate-limit-warning",jsx:D(T,{children:D(T,{color:"warning",children:$})}),priority:"high"})},v=[$,K],q[13]=K,q[14]=$,q[15]=G,q[16]=v;else G=q[15],v=q[16];$e.useEffect(G,v)}var EP7,$e;var SP7=h(()=>{Qz();Q6();IR();eV6();Kq();eS();J_();a();EP7=A6(s6(),1),$e=A6(a6(),1)});function OY$(_){let q=_.toLowerCase(),K=$8();for(let[A,z]of Object.entries(wY$)){let $=z.retirementDates[K];if(!q.includes(A)||!$)continue;return{isDeprecated:!0,modelName:z.modelName,retirementDate:$}}return{isDeprecated:!1}}function gj_(_){if(!_)return null;let q=OY$(_);if(!q.isDeprecated)return null;return`⚠ ${q.modelName} will be retired on ${q.retirementDate}. Consider switching to a newer model.`}var wY$;var SD8=h(()=>{F7();wY$={"claude-3-opus":{modelName:"Claude 3 Opus",retirementDates:{firstParty:"January 5, 2026",bedrock:"January 15, 2026",vertex:"January 5, 2026",foundry:"January 5, 2026"}},"claude-3-7-sonnet":{modelName:"Claude 3.7 Sonnet",retirementDates:{firstParty:"February 19, 2026",bedrock:"April 28, 2026",vertex:"May 11, 2026",foundry:"February 19, 2026"}},"claude-3-5-haiku":{modelName:"Claude 3.5 Haiku",retirementDates:{firstParty:"February 19, 2026",bedrock:null,vertex:null,foundry:null}}}});function CP7(_){let q=bP7.c(4),{addNotification:K}=lK(),A=cj_.useRef(null),z,$;if(q[0]!==K||q[1]!==_)z=()=>{if(k7())return;let w=gj_(_);if(w&&w!==A.current)A.current=w,K({key:"model-deprecation-warning",text:w,color:"warning",priority:"high"});if(!w)A.current=null},$=[_,K],q[0]=K,q[1]=_,q[2]=z,q[3]=$;else z=q[2],$=q[3];cj_.useEffect(z,$)}var bP7,cj_;var IP7=h(()=>{Qz();SD8();J_();bP7=A6(s6(),1),cj_=A6(a6(),1)});function xP7(){fT(async()=>{if(iZ())return null;let _=await zx("latest");if(!_)return null;if(!wj(_,"1.8.42"))return null;return{key:"puku-cli-update-available",priority:"medium",timeoutMs:30000,color:"warning",text:`↑ puku-cli ${_} is available (you have 1.8.42). Run \`puku-cli update\` to upgrade.`}})}var uP7=h(()=>{KE();Y8();ze()});function mP7(_){let q=pP7.c(26),{ideSelection:K,mcpClients:A,ideInstallationStatus:z}=_,{addNotification:$,removeNotification:w}=lK(),{status:O,ideName:Y}=u16(A),H=we.useRef(!1),M;if(q[0]!==z)M=z?bk(z?.ideType):!1,q[0]=z,q[1]=M;else M=q[1];let f=M,j=z?.error||f,J=O==="connected"&&(K?.filePath||K?.text&&K.lineCount>0),X=O==="connected"&&!J,P=j&&!f&&!X&&!J,W=j&&f&&!X&&!J,Z,G;if(q[2]!==$||q[3]!==O||q[4]!==w||q[5]!==W)Z=()=>{if(k7())return;if(G1()||O!==null||W){w("ide-status-hint");return}if(H.current||($_().ideHintShownCount??0)>=YY$)return;let I=setTimeout(HY$,3000,H,$);return()=>clearTimeout(I)},G=[$,w,O,W],q[2]=$,q[3]=O,q[4]=w,q[5]=W,q[6]=Z,q[7]=G;else Z=q[6],G=q[7];we.useEffect(Z,G);let v,k;if(q[8]!==$||q[9]!==Y||q[10]!==O||q[11]!==w||q[12]!==P||q[13]!==W)v=()=>{if(k7())return;if(P||W||O!=="disconnected"||!Y){w("ide-status-disconnected");return}$({key:"ide-status-disconnected",text:`${Y} disconnected`,color:"error",priority:"medium"})},k=[$,w,O,Y,P,W],q[8]=$,q[9]=Y,q[10]=O,q[11]=w,q[12]=P,q[13]=W,q[14]=v,q[15]=k;else v=q[14],k=q[15];we.useEffect(v,k);let N,L;if(q[16]!==$||q[17]!==w||q[18]!==W)N=()=>{if(k7())return;if(!W){w("ide-status-jetbrains-disconnected");return}$({key:"ide-status-jetbrains-disconnected",text:"IDE plugin not connected · /status for info",priority:"medium"})},L=[$,w,W],q[16]=$,q[17]=w,q[18]=W,q[19]=N,q[20]=L;else N=q[19],L=q[20];we.useEffect(N,L);let b,C;if(q[21]!==$||q[22]!==w||q[23]!==P)b=()=>{if(k7())return;if(!P){w("ide-status-install-error");return}$({key:"ide-status-install-error",text:"IDE extension install failed (see /status for info)",color:"error",priority:"medium"})},C=[$,w,P],q[21]=$,q[22]=w,q[23]=P,q[24]=b,q[25]=C;else b=q[24],C=q[25];we.useEffect(b,C)}function HY$(_,q){u$6(!0).then((K)=>{let A=K[0]?.name;if(A&&!_.current)_.current=!0,b_(MY$),q({key:"ide-status-hint",jsx:y(T,{dimColor:!0,children:["/ide for ",D(T,{color:"ide",children:A})]}),priority:"low"})})}function MY$(_){return{..._,ideHintShownCount:(_.ideHintShownCount??0)+1}}var pP7,we,YY$=5;var gP7=h(()=>{Qz();Q6();Y8();Mw();J_();ff_();a();pP7=A6(s6(),1),we=A6(a6(),1)});function BP7(){fT(jY$)}function jY$(){let _=$_(),q=[];for(let K of fY$){let A=K(_);if(A)q.push(A)}return q.length>0?q:null}function cP7(_){return _!==void 0&&Date.now()-_<3000}var fY$;var UP7=h(()=>{Y8();ze();fY$=[(_)=>{if(!cP7(_.sonnet45To46MigrationTimestamp))return;return{key:"sonnet-46-update",text:"Model updated to Sonnet 4.6",color:"suggestion",priority:"high",timeoutMs:3000}},(_)=>{let q=Boolean(_.legacyOpusMigrationTimestamp),K=_.legacyOpusMigrationTimestamp??_.opusProMigrationTimestamp;if(!cP7(K))return;return{key:"opus-pro-update",text:q?"Model updated to Opus 4.6 · Set PUKU_CLI_DISABLE_LEGACY_MODEL_REMAP=1 to opt out":"Model updated to Opus 4.6",color:"suggestion",priority:"high",timeoutMs:q?8000:3000}}]});function FP7(){fT(XY$)}async function XY$(){if(($_().subscriptionNoticeCount??0)>=JY$)return null;let _=await WY$();if(_===null)return null;return b_(PY$),l("ev_event",{}),{key:"switch-to-subscription",jsx:y(T,{color:"suggestion",children:["Use your existing Puku ",_," plan with puku-cli",y(T,{color:"text",dimColor:!0,children:[" ","· /login to activate"]})]}),priority:"low"}}function PY$(_){return{..._,subscriptionNoticeCount:(_.subscriptionNoticeCount??0)+1}}async function WY$(){if(Hq())return null;let _=await cDq();if(!_)return null;if(_.account.has_claude_max)return"Max";if(_.account.has_claude_pro)return"Pro";return null}var JY$=3;var dP7=h(()=>{f76();Kq();Q6();Y8();ze();a()});function QP7(_){if(!("text"in _))return 1;let q=_.text.match(/^(\d+)/);return q?.[1]?parseInt(q[1],10):1}function DY$(_,q){return lP7(QP7(_)+1)}function lP7(_){return{key:"teammate-spawn",text:_===1?"1 agent spawned":`${_} agents spawned`,priority:"low",timeoutMs:5000,fold:DY$}}function ZY$(_,q){return iP7(QP7(_)+1)}function iP7(_){return{key:"teammate-shutdown",text:_===1?"1 agent shut down":`${_} agents shut down`,priority:"low",timeoutMs:5000,fold:ZY$}}function nP7(){let _=z_((z)=>z.tasks),{addNotification:q}=lK(),K=sS6.useRef(new Set),A=sS6.useRef(new Set);sS6.useEffect(()=>{if(k7())return;for(let[z,$]of Object.entries(_)){if(!vO($))continue;if($.status==="running"&&!K.current.has(z))K.current.add(z),q(lP7(1));if($.status==="completed"&&!A.current.has(z))A.current.add(z),q(iP7(1))}},[_,q])}var sS6;var rP7=h(()=>{J_();Qz();c8();sS6=A6(a6(),1)});function eP7(){let _=tP7.c(13),{addNotification:q}=lK(),K=z_(kY$),A=U8(),z,$;if(_[0]!==q||_[1]!==K||_[2]!==A)z=()=>{if(k7())return;if(!oK())return;return wZq((M)=>{if(M)q({key:sP7,color:"fastMode",priority:"immediate",text:"Fast mode is now available · /fast to turn on"});else if(K)A(TY$),q({key:sP7,color:"warning",priority:"immediate",text:"Fast mode has been disabled by your organization"})})},$=[q,K,A],_[0]=q,_[1]=K,_[2]=A,_[3]=z,_[4]=$;else z=_[3],$=_[4];Bj_.useEffect(z,$);let w,O;if(_[5]!==q||_[6]!==A)w=()=>{if(k7())return;if(!oK())return;return zZq((M)=>{A(vY$),q({key:GY$,color:"warning",priority:"immediate",text:M})})},O=[q,A],_[5]=q,_[6]=A,_[7]=w,_[8]=O;else w=_[7],O=_[8];Bj_.useEffect(w,O);let Y,H;if(_[9]!==q||_[10]!==K)Y=()=>{if(k7())return;if(!K)return;let M=eDq((j,J)=>{let X=JA(j-Date.now(),{hideTrailingZeros:!0}),P=NY$(J,X);q({key:aP7,invalidates:[oP7],text:P,color:"warning",priority:"immediate"})}),f=_Zq(()=>{q({key:oP7,invalidates:[aP7],color:"fastMode",text:"Fast limit reset · now using fast mode",priority:"immediate"})});return()=>{M(),f()}},H=[q,K],_[9]=q,_[10]=K,_[11]=Y,_[12]=H;else Y=_[11],H=_[12];Bj_.useEffect(Y,H)}function vY$(_){return{..._,fastMode:!1}}function TY$(_){return{..._,fastMode:!1}}function kY$(_){return _.fastMode}function NY$(_,q){switch(_){case"overloaded":return`Fast mode overloaded and is temporarily unavailable · resets in ${q}`;case"rate_limit":return`Fast limit reached and temporarily disabled · resets in ${q}`}}var tP7,Bj_,aP7="fast-mode-cooldown-started",oP7="fast-mode-cooldown-expired",sP7="fast-mode-org-changed",GY$="fast-mode-overage-rejected";var _W7=h(()=>{Qz();c8();RM();qq();J_();tP7=A6(s6(),1),Bj_=A6(a6(),1)});function KW7(_){let q=qW7.c(8),{onRun:K,onCancel:A,reason:z}=_,$=Uj_.useRef(!1),w;if(q[0]===Symbol.for("react.memo_cache_sentinel"))w={context:"Confirmation"},q[0]=w;else w=q[0];U_("confirm:no",A,w);let O,Y;if(q[1]!==K)O=()=>{if(!$.current)$.current=!0,K()},Y=[K],q[1]=K,q[2]=O,q[3]=Y;else O=q[2],Y=q[3];Uj_.useEffect(O,Y);let H;if(q[4]===Symbol.for("react.memo_cache_sentinel"))H=D(x,{children:D(T,{bold:!0,children:"Running feedback capture..."})}),q[4]=H;else H=q[4];let M;if(q[5]===Symbol.for("react.memo_cache_sentinel"))M=D(x,{children:y(T,{dimColor:!0,children:["Press ",D(C_,{shortcut:"Esc",action:"cancel"})," anytime"]})}),q[5]=M;else M=q[5];let f;if(q[6]!==z)f=y(x,{flexDirection:"column",marginTop:1,children:[H,M,D(x,{children:y(T,{dimColor:!0,children:["Reason: ",z]})})]}),q[6]=z,q[7]=f;else f=q[7];return f}function AW7(_){return!1;switch(_){case"feedback_survey_bad":return!1;case"feedback_survey_good":return!1;default:return!1}}function zW7(_){return"/issue"}function $W7(_){switch(_){case"feedback_survey_bad":return'You responded "Bad" to the feedback survey';case"feedback_survey_good":return'You responded "Good" to the feedback survey';default:return"Unknown reason"}}var qW7,Uj_;var wW7=h(()=>{G7();Q6();$q();a();qW7=A6(s6(),1),Uj_=A6(a6(),1)});function OW7(){return null}function RY$(_){for(let q of _){if(q.type!=="assistant")continue;let K=q.message.content;if(!Array.isArray(K))continue;for(let A of K){if(A.type!=="tool_use"||!("name"in A))continue;let z=A.name;if(z.startsWith("mcp__"))return!1;if(z===Aq){let w=A.input?.command||"";if(VY$.some((O)=>O.test(w)))return!1}}}return!0}function LY$(_){for(let q=_.length-1;q>=0;q--){let K=_[q];if(K.type!=="user")continue;let A=aa(K);if(!A)continue;return yY$.some((z)=>z.test(A))}return!1}function YW7(_,q){if(process.env.USER_TYPE!=="ant")return!1;let K=tS6.useRef(0),A=tS6.useRef(-1),z=tS6.useMemo(()=>RY$(_)&&LY$(_),[_]);if(A.current===q)return!0;if(Date.now()-K.current<hY$)return!1;if(q<EY$)return!1;if(!z)return!1;return K.current=Date.now(),A.current=q,!0}var tS6,VY$,yY$,EY$=3,hY$=1800000;var HW7=h(()=>{P8();tS6=A6(a6(),1),VY$=[/\bcurl\b/,/\bwget\b/,/\bssh\b/,/\bkubectl\b/,/\bsrun\b/,/\bdocker\b/,/\bbq\b/,/\bgsutil\b/,/\bgcloud\b/,/\baws\b/,/\bgit\s+push\b/,/\bgit\s+pull\b/,/\bgit\s+fetch\b/,/\bgh\s+(pr|issue)\b/,/\bnc\b/,/\bncat\b/,/\btelnet\b/,/\bftp\b/],yY$=[/^no[,!]\s/i,/\bthat'?s (wrong|incorrect|not (what|right|correct))\b/i,/\bnot what I (asked|wanted|meant|said)\b/i,/\bI (said|asked|wanted|told you|already said)\b/i,/\bwhy did you\b/i,/\byou should(n'?t| not)? have\b/i,/\byou were supposed to\b/i,/\btry again\b/i,/\b(undo|revert) (that|this|it|what you)\b/i]});var SY$,bY$;var MW7=h(()=>{J_();Q6();a();SY$=A6(s6(),1),bY$=A6(a6(),1)});function bD8(_){let q=fW7.c(7),{children:K,mouseTracking:A}=_,z=A===void 0?!0:A,$=eS6.useContext(Fg),w=eS6.useContext(Qg),O,Y;if(q[0]!==z||q[1]!==w)O=()=>{let f=Y$.get(process.stdout);if(!w)return;return w(wv6+"\x1B[2J\x1B[H"+(z?gn:"")),f?.setAltScreenActive(!0,z),()=>{f?.setAltScreenActive(!1),f?.clearTextSelection(),w((z?Fb:"")+wA6)}},Y=[w,z],q[0]=z,q[1]=w,q[2]=O,q[3]=Y;else O=q[2],Y=q[3];eS6.useInsertionEffect(O,Y);let H=$?.rows??24,M;if(q[4]!==K||q[5]!==H)M=D(MH,{flexDirection:"column",height:H,width:"100%",flexShrink:0,children:K}),q[4]=K,q[5]=H,q[6]=M;else M=q[6];return M}var fW7,eS6;var jW7=h(()=>{MX();Ug();ib();lb();Mv6();a();fW7=A6(s6(),1),eS6=A6(a6(),1)});function JW7(_,q,K){let A=zH6.useRef(!1),z=zH6.useRef(K);z.current=K,zH6.useEffect(()=>{if(!q)return;return _.subscribe(()=>{let w=_.getState(),O=_.hasSelection();if(w?.isDragging){A.current=!1;return}if(!O){A.current=!1;return}if(A.current)return;if(!($_().copyOnSelect??!0))return;let H=_.copySelectionNoClear();if(!H||!H.trim()){A.current=!0;return}A.current=!0,z.current?.(H)})},[q,_])}function XW7(_){let[q]=Yq();zH6.useEffect(()=>{_.setSelectionBgColor(fH(q).selectionBg)},[_,q])}var zH6;var PW7=h(()=>{I46();Y8();U0();zH6=A6(a6(),1)});function lY$(_){if(_.wheelUp||_.wheelDown)return!1;if((_.leftArrow||_.rightArrow||_.upArrow||_.downArrow||_.home||_.end||_.pageUp||_.pageDown)&&(_.shift||_.meta||_.super))return!1;return!0}function iY$(_){if(!_.shift||_.meta)return null;if(_.leftArrow)return"left";if(_.rightArrow)return"right";if(_.upArrow)return"up";if(_.downArrow)return"down";if(_.home)return"lineStart";if(_.end)return"lineEnd";return null}function ZW7(_,q,K){if(!_.xtermJs){if(_.wheelMode&&K-_.time>cY$)_.wheelMode=!1,_.burstCount=0,_.mult=_.base;if(_.pendingFlip){if(_.pendingFlip=!1,q!==_.dir||K-_.time>uY$)return _.dir=q,_.time=K,_.mult=_.base,Math.floor(_.mult);_.wheelMode=!0}let O=K-_.time;if(q!==_.dir&&_.dir!==0)return _.pendingFlip=!0,_.time=K,0;if(_.dir=q,_.time=K,_.wheelMode)if(O<DW7)if(++_.burstCount>=5)_.wheelMode=!1,_.burstCount=0,_.mult=_.base;else return 1;else _.burstCount=0;if(_.wheelMode){let Y=Math.pow(0.5,O/WW7),H=Math.max(mY$,_.base*2),M=1+(_.mult-1)*Y+pY$*Y;return _.mult=Math.min(H,M,_.mult+gY$),Math.floor(_.mult)}if(O>CY$)_.mult=_.base;else{let Y=Math.max(xY$,_.base*2);_.mult=Math.min(Y,_.mult+IY$)}return Math.floor(_.mult)}let A=K-_.time,z=q===_.dir;if(_.time=K,_.dir=q,z&&A<DW7)return 1;if(!z||A>QY$)_.mult=2,_.frac=0;else{let O=Math.pow(0.5,A/WW7),Y=A>=UY$?FY$:dY$;_.mult=Math.min(Y,1+(_.mult-1)*O+BY$*O)}let $=_.mult+_.frac,w=Math.floor($);return _.frac=$-w,w}function nY$(){let _=process.env.PUKU_CLI_SCROLL_SPEED;if(!_)return 1;let q=parseFloat(_);return Number.isNaN(q)||q<=0?1:Math.min(q,20)}function rY$(_=!1,q=1){return{time:0,mult:q,dir:0,xtermJs:_,frac:0,base:q,pendingFlip:!1,wheelMode:!1,burstCount:0}}function GW7(){let _=Qb(),q=nY$();return V(`wheel accel: ${_?"decay (xterm.js)":"window (native)"} · base=${q} · TERM_PROGRAM=${process.env.TERM_PROGRAM??"unset"}`),rY$(_,q)}function CD8({scrollRef:_,isActive:q,onScroll:K,isModal:A=!1}){let z=TA6(),{addNotification:$}=lK(),w=Qx.useRef(null);function O(M){let f=uFq(),j=M.length,J;switch(f){case"native":J=`copied ${j} chars to clipboard`;break;case"tmux-buffer":J=`copied ${j} chars to tmux buffer · paste with prefix + ]`;break;case"osc52":J=`sent ${j} chars via OSC 52 · check terminal clipboard settings if paste fails`;break}$({key:"selection-copied",text:J,color:"suggestion",priority:"immediate",timeoutMs:f==="native"?2000:4000})}function Y(){let M=z.copySelection();if(M)O(M)}function H(M,f){let j=z.getState();if(!j?.anchor||!j.focus)return;let J=M.getViewportTop(),X=J+M.getViewportHeight()-1;if(j.anchor.row<J||j.anchor.row>X)return;if(j.focus.row<J||j.focus.row>X)return;let P=Math.max(0,M.getScrollHeight()-M.getViewportHeight()),W=M.getScrollTop()+M.getPendingDelta(),Z=Math.max(0,Math.min(P,W+f))-W;if(Z===0)return;if(Z>0)z.captureScrolledRows(J,J+Z-1,"above"),z.shiftSelection(-Z,J,X);else{let G=-Z;z.captureScrolledRows(X-G+1,X,"below"),z.shiftSelection(G,J,X)}}return jq({"scroll:pageUp":()=>{let M=_.current;if(!M)return;let f=-Math.max(1,Math.floor(M.getViewportHeight()/2));H(M,f);let j=dx(M,f);K?.(j,M)},"scroll:pageDown":()=>{let M=_.current;if(!M)return;let f=Math.max(1,Math.floor(M.getViewportHeight()/2));H(M,f);let j=dx(M,f);K?.(j,M)},"scroll:lineUp":()=>{z.clearSelection();let M=_.current;if(!M||M.getScrollHeight()<=M.getViewportHeight())return!1;w.current??=GW7(),_9$(M,ZW7(w.current,-1,performance.now())),K?.(!1,M)},"scroll:lineDown":()=>{z.clearSelection();let M=_.current;if(!M||M.getScrollHeight()<=M.getViewportHeight())return!1;w.current??=GW7();let f=ZW7(w.current,1,performance.now()),j=eY$(M,f);K?.(j,M)},"scroll:top":()=>{let M=_.current;if(!M)return;H(M,-(M.getScrollTop()+M.getPendingDelta())),M.scrollTo(0),K?.(!1,M)},"scroll:bottom":()=>{let M=_.current;if(!M)return;let f=Math.max(0,M.getScrollHeight()-M.getViewportHeight());H(M,f-(M.getScrollTop()+M.getPendingDelta())),M.scrollTo(f),M.scrollToBottom(),K?.(!0,M)},"selection:copy":Y},{context:"Scroll",isActive:q}),jq({"scroll:halfPageUp":()=>{let M=_.current;if(!M)return;let f=-Math.max(1,Math.floor(M.getViewportHeight()/2));H(M,f);let j=dx(M,f);K?.(j,M)},"scroll:halfPageDown":()=>{let M=_.current;if(!M)return;let f=Math.max(1,Math.floor(M.getViewportHeight()/2));H(M,f);let j=dx(M,f);K?.(j,M)},"scroll:fullPageUp":()=>{let M=_.current;if(!M)return;let f=-Math.max(1,M.getViewportHeight());H(M,f);let j=dx(M,f);K?.(j,M)},"scroll:fullPageDown":()=>{let M=_.current;if(!M)return;let f=Math.max(1,M.getViewportHeight());H(M,f);let j=dx(M,f);K?.(j,M)}},{context:"Scroll",isActive:q}),uq((M,f,j)=>{let J=_.current;if(!J)return;let X=K9$(J,q9$(M,f),(P)=>H(J,P));if(X===null)return;K?.(X,J),j.stopImmediatePropagation()},{isActive:q&&A}),uq((M,f,j)=>{if(!z.hasSelection())return;if(f.escape){z.clearSelection(),j.stopImmediatePropagation();return}if(f.ctrl&&!f.shift&&!f.meta&&M==="c"){Y(),j.stopImmediatePropagation();return}let J=iY$(f);if(J){z.moveFocus(J),j.stopImmediatePropagation();return}if(lY$(f))z.clearSelection()},{isActive:q}),sY$(_,z,q,K),JW7(z,q,O),XW7(z),null}function sY$(_,q,K,A){let z=Qx.useRef(null),$=Qx.useRef(0),w=Qx.useRef(0),O=Qx.useRef(0),Y=Qx.useRef(A);Y.current=A,Qx.useEffect(()=>{if(!K)return;function H(){if($.current=0,z.current)clearInterval(z.current),z.current=null}function M(){let X=q.getState(),P=_.current,W=$.current;if(!X?.isDragging||!X.focus||!P||W===0||++O.current>oY$){H();return}if(P.getPendingDelta()!==0)return;let Z=P.getViewportTop(),G=Z+P.getViewportHeight()-1;if(W<0){if(P.getScrollTop()<=0){H();return}let v=Math.min(Fj_,P.getScrollTop());q.captureScrolledRows(G-v+1,G,"below"),q.shiftAnchor(v,0,G),P.scrollBy(-Fj_)}else{let v=Math.max(0,P.getScrollHeight()-P.getViewportHeight());if(P.getScrollTop()>=v){H();return}let k=Math.min(Fj_,v-P.getScrollTop());q.captureScrolledRows(Z,Z+k-1,"above"),q.shiftAnchor(-k,Z,G),P.scrollBy(Fj_)}Y.current?.(!1,P)}function f(X){if(w.current=X,$.current===X)return;if(H(),$.current=X,O.current=0,M(),$.current===X)z.current=setInterval(M,aY$)}function j(){let X=_.current;if(!X){H();return}let P=X.getViewportTop(),W=P+X.getViewportHeight()-1,Z=q.getState();if(!Z?.isDragging||Z.scrolledOffAbove.length===0&&Z.scrolledOffBelow.length===0)w.current=0;let G=tY$(Z,P,W,w.current);if(G===0){if(w.current!==0&&Z?.focus){let v=Z.focus.row<P?-1:Z.focus.row>W?1:0;if(v!==0&&v!==w.current)Z.scrolledOffAbove=[],Z.scrolledOffBelow=[],Z.scrolledOffAboveSW=[],Z.scrolledOffBelowSW=[],w.current=0}H()}else f(G)}let J=q.subscribe(j);return()=>{J(),H(),w.current=0}},[K,_,q])}function tY$(_,q,K,A=0){if(!_?.isDragging||!_.anchor||!_.focus)return 0;let z=_.focus.row,$=z<q?-1:z>K?1:0;if(A!==0)return $===A?$:0;if(_.anchor.row<q||_.anchor.row>K)return 0;return $}function dx(_,q){let K=Math.max(0,_.getScrollHeight()-_.getViewportHeight()),A=_.getScrollTop()+_.getPendingDelta()+q;if(A>=K)return _.scrollTo(K),_.scrollToBottom(),!0;return _.scrollTo(Math.max(0,A)),!1}function eY$(_,q){let K=Math.max(0,_.getScrollHeight()-_.getViewportHeight());if(_.getScrollTop()+_.getPendingDelta()+q>=K)return _.scrollToBottom(),!0;return _.scrollBy(q),!1}function _9$(_,q){if(_.getScrollTop()+_.getPendingDelta()-q<=0){_.scrollTo(0);return}_.scrollBy(-q)}function q9$(_,q){if(q.meta)return null;if(!q.ctrl&&!q.shift){if(q.upArrow)return"lineUp";if(q.downArrow)return"lineDown";if(q.home)return"top";if(q.end)return"bottom"}if(q.ctrl){if(q.shift)return null;switch(_){case"u":return"halfPageUp";case"d":return"halfPageDown";case"b":return"fullPageUp";case"f":return"fullPageDown";case"n":return"lineDown";case"p":return"lineUp";default:return null}}let K=_[0];if(!K||_!==K.repeat(_.length))return null;if(K==="G"||K==="g"&&q.shift)return"bottom";if(q.shift)return null;switch(K){case"g":return"top";case"j":return"lineDown";case"k":return"lineUp";case" ":return"fullPageDown";case"b":return"fullPageUp";default:return null}}function K9$(_,q,K){switch(q){case null:return null;case"lineUp":case"lineDown":{let A=q==="lineDown"?1:-1;return K(A),dx(_,A)}case"halfPageUp":case"halfPageDown":{let A=Math.max(1,Math.floor(_.getViewportHeight()/2)),z=q==="halfPageDown"?A:-A;return K(z),dx(_,z)}case"fullPageUp":case"fullPageDown":{let A=Math.max(1,_.getViewportHeight()),z=q==="fullPageDown"?A:-A;return K(z),dx(_,z)}case"top":return K(-(_.getScrollTop()+_.getPendingDelta())),_.scrollTo(0),!1;case"bottom":{let A=Math.max(0,_.getScrollHeight()-_.getViewportHeight());return K(A-(_.getScrollTop()+_.getPendingDelta())),_.scrollTo(A),_.scrollToBottom(),!0}}}var Qx,CY$=40,IY$=0.3,xY$=6,uY$=200,pY$=15,mY$=15,gY$=3,cY$=1500,WW7=150,BY$=5,DW7=5,UY$=80,FY$=3,dY$=6,QY$=500,Fj_=2,aY$=50,oY$=200;var vW7=h(()=>{Qz();PW7();Kt6();AR();Y1();Q6();$q();__();Qx=A6(a6(),1)});async function TW7(){let _=cw8();if(!_)return;try{await _.teardown()}catch(q){V(`[puku-relay] teardown ignored error: ${q instanceof Error?q.message:String(q)}`)}}var kW7=h(()=>{qw_();__()});var VW7={};N_(VW7,{default:()=>z9$,PukuRelayPopup:()=>NW7});function A9$({onDone:_}){let q=z_((P)=>P.pukuRelaySession),K=z_((P)=>P.replBridgeSessionActive),A=z_((P)=>P.replBridgeConnected),z=U8(),[$,w]=lx.useState("idle"),[O,Y]=lx.useState(""),[H,M]=lx.useState("");lx.useEffect(()=>{if(!q)_()},[q,_]),lx.useEffect(()=>{if(!q||q.command!=="remote-control"){Y("");return}let P=`puku://remote?s=${q.sessionId}&t=${q.mobileToken}`;SN(P,{type:"utf8",errorCorrectionLevel:"L"}).then(Y).catch((W)=>{V(`[puku-relay-popup] QR render failed: ${W instanceof Error?W.message:String(W)}`),Y("")})},[q]);let f=K?"#22C55E":A?"#EAB308":"#6B7280";U_("confirm:no",()=>{if($==="confirming")w("idle");else _()},{context:"PukuRelayPopup"}),U_("pukuRelayPopup:closeRequest",()=>{if($==="idle")w("confirming")},{context:"PukuRelayPopup"}),U_("pukuRelayPopup:cancelClose",()=>{if($==="confirming")w("idle")},{context:"PukuRelayPopup"}),U_("pukuRelayPopup:confirmClose",()=>{if($!=="confirming")return;j()},{context:"PukuRelayPopup"});async function j(){M("");try{await TW7(),z((P)=>({...P,pukuRelaySession:null,replBridgeEnabled:!1,replBridgeExplicit:!1,replBridgeConnected:!1,replBridgeSessionActive:!1,replBridgeReconnecting:!1})),_()}catch(P){M(P instanceof Error?P.message:String(P)),w("idle")}}if(!q)return null;let J=O.split(`
7741
7741
  `).filter((P)=>P.length>0),X=q.command==="remote-control"&&J.length>0;return y(x,{flexDirection:"column",children:[y(x,{marginBottom:1,children:[D(T,{bold:!0,children:"puku-cli Remote"}),D(T,{dimColor:!0,children:" · "}),D(T,{color:f,children:K?"● client paired":A?"● waiting for scan":"● session active"})]}),y(x,{flexDirection:"column",marginBottom:1,children:[y(T,{children:["Command:"," ",y(T,{color:"cyan",children:["/",q.command]})]}),y(T,{children:["Session:"," ",y(T,{dimColor:!0,children:[q.sessionId.slice(0,8),"…"]})]})]}),y(x,{flexDirection:"column",marginBottom:1,children:[D(T,{dimColor:!0,children:"Open in browser:"}),D(T,{color:"cyan",wrap:"wrap",children:q.webUrl})]}),X&&y(x,{borderStyle:"round",borderColor:"#4A4C53",paddingX:2,flexDirection:"column",marginBottom:1,children:[D(T,{bold:!0,color:"cyan",children:"Scan with Puku app"}),J.map((P,W)=>D(T,{children:P},W))]}),H&&D(x,{flexDirection:"column",marginBottom:1,children:y(T,{color:"red",children:["Failed to close session: ",H]})}),D(x,{marginTop:1,flexDirection:"column",children:$==="idle"?D(T,{dimColor:!0,children:"[c] Close session [esc] Dismiss"}):y(T,{children:["Close remote session? ",D(T,{dimColor:!0,children:"[y/N]"})]})})]})}var lx,NW7,z9$;var yW7=h(()=>{zh6();Q6();$q();c8();kW7();__();a();lx=A6(a6(),1);NW7=lx.memo(A9$),z9$=NW7});var bW7={};N_(bW7,{REPL:()=>uD8});import{dirname as $9$,join as w9$}from"path";import{tmpdir as O9$}from"os";import{writeFile as Y9$}from"fs/promises";import{randomUUID as _b6}from"crypto";function LW7(_){let q=xD8.c(9),{showAllInTranscript:K,virtualScroll:A,searchBadge:z,suppressShowAll:$,status:w}=_,O=$===void 0?!1:$,Y=u7("app:toggleTranscript","Global","ctrl+o"),H=u7("transcript:toggleShowAll","Transcript","ctrl+e"),M=z?" · n/N to navigate":A?` · ${n6.arrowUp}${n6.arrowDown} scroll · home/end top/bottom`:O?"":` · ${H} to ${K?"collapse":"show all"}`,f;if(q[0]!==M||q[1]!==Y)f=y(T,{dimColor:!0,children:["Showing detailed transcript · ",Y," to toggle",M]}),q[0]=M,q[1]=Y,q[2]=f;else f=q[2];let j;if(q[3]!==z||q[4]!==w)j=w?y(q_,{children:[D(x,{flexGrow:1}),y(T,{children:[w," "]})]}):z?y(q_,{children:[D(x,{flexGrow:1}),y(T,{dimColor:!0,children:[z.current,"/",z.count," "]})]}):null,q[3]=z,q[4]=w,q[5]=j;else j=q[5];let J;if(q[6]!==f||q[7]!==j)J=y(x,{noSelect:!0,alignItems:"center",alignSelf:"center",borderTopDimColor:!0,borderBottom:!1,borderLeft:!1,borderRight:!1,borderStyle:"single",marginTop:1,paddingLeft:2,width:"100%",children:[f,j]}),q[6]=f,q[7]=j,q[8]=J;else J=q[8];return J}function D9$({jumpRef:_,count:q,current:K,onClose:A,onCancel:z,setHighlight:$,initialQuery:w}){let{query:O,cursorOffset:Y}=gD({isActive:!0,initialQuery:w,onExit:()=>A(O),onCancel:z}),[H,M]=D3.useState("building");D3.useEffect(()=>{let X=!0,P=_.current?.warmSearchIndex;if(!P){M(null);return}return M("building"),P().then((W)=>{if(!X)return;if(W<20)M(null);else M({ms:W}),setTimeout(()=>X&&M(null),2000)}),()=>{X=!1}},[]);let f=H!=="building";I_.useEffect(()=>{if(!f)return;_.current?.setSearchQuery(O),$(O)},[O,f]);let j=Y,J=j<O.length?O[j]:" ";return y(x,{borderTopDimColor:!0,borderBottom:!1,borderLeft:!1,borderRight:!1,borderStyle:"single",marginTop:1,paddingLeft:2,width:"100%",noSelect:!0,children:[D(T,{children:"/"}),D(T,{children:O.slice(0,j)}),D(T,{inverse:!0,children:J}),j<O.length&&D(T,{children:O.slice(j+1)}),D(x,{flexGrow:1}),H==="building"?D(T,{dimColor:!0,children:"indexing… "}):H?y(T,{dimColor:!0,children:["indexed in ",H.ms,"ms "]}):q===0&&O?D(T,{color:"error",children:"no matches "}):q>0?y(T,{dimColor:!0,children:[K,"/",q," "]}):null]})}function hW7(_){let q=xD8.c(6),{isAnimating:K,title:A,disabled:z,noPrefix:$}=_,w=b3(),[O,Y]=I_.useState(0),H,M;if(q[0]!==z||q[1]!==K||q[2]!==$||q[3]!==w)H=()=>{if(z||$||!K||!w)return;let j=setInterval(G9$,Z9$,Y);return()=>clearInterval(j)},M=[z,$,K,w],q[0]=z,q[1]=K,q[2]=$,q[3]=w,q[4]=H,q[5]=M;else H=q[4],M=q[5];I_.useEffect(H,M);let f=K?SW7[O]??EW7:EW7;return $t6(z?null:$?A:`${f} ${A}`),null}function G9$(_){return _(v9$)}function v9$(_){return(_+1)%SW7.length}function uD8({commands:_,debug:q,initialTools:K,initialMessages:A,pendingHookMessages:z,initialFileHistorySnapshots:$,initialContentReplacements:w,initialAgentName:O,initialAgentColor:Y,mcpClients:H,dynamicMcpConfig:M,autoConnectIdeFlag:f,strictMcpConfig:j=!1,systemPrompt:J,appendSystemPrompt:X,onBeforeQuery:P,onTurnComplete:W,disabled:Z=!1,mainThreadAgentDefinition:G,disableSlashCommands:v=!1,taskListId:k,remoteSessionConfig:N,directConnectConfig:L,sshSession:b,thinkingConfig:C}){let I=!!N,p=I_.useMemo(()=>C6(process.env.PUKU_CLI_DISABLE_TERMINAL_TITLE),[]),m=I_.useMemo(()=>!1,[]),g=I_.useMemo(()=>C6(process.env.PUKU_CLI_DISABLE_VIRTUAL_SCROLL),[]),c=!1,[u,U]=I_.useState(G),F=z_((e6)=>e6.toolPermissionContext),Q=z_((e6)=>e6.verbose),o=z_((e6)=>e6.mcp),z6=z_((e6)=>e6.plugins),t=z_((e6)=>e6.agentDefinitions),e=z_((e6)=>e6.fileHistory),s=z_((e6)=>e6.initialMessage),n=z_((e6)=>e6.pukuAuthSessionAvailable),r=RE(),M6=z_((e6)=>e6.spinnerTip),_6=z_((e6)=>e6.expandedView)==="tasks",J6=z_((e6)=>e6.pendingWorkerRequest),w6=z_((e6)=>e6.pendingSandboxRequest),f6=z_((e6)=>e6.teamContext),$6=z_((e6)=>e6.tasks),H6=z_((e6)=>e6.workerSandboxPermissions),q6=z_((e6)=>e6.elicitation),Y6=z_((e6)=>e6.ultraplanPendingChoice),v6=z_((e6)=>e6.ultraplanLaunchPending),m6=z_((e6)=>e6.viewingAgentTaskId),S6=U8(),c6=m6?$6[m6]:void 0,l6=qY(c6)&&c6.retain&&!c6.diskLoaded;I_.useEffect(()=>{if(!m6||!l6)return;let e6=m6;qU(o$(e6)).then((P_)=>{S6((L_)=>{let S8=L_.tasks[e6];if(!qY(S8)||S8.diskLoaded||!S8.retain)return L_;let i8=S8.messages??[],eq=new Set(i8.map((wq)=>wq.uuid)),r8=P_?P_.messages.filter((wq)=>!eq.has(wq.uuid)):[];return{...L_,tasks:{...L_.tasks,[e6]:{...S8,messages:[...r8,...i8],diskLoaded:!0}}}})})},[m6,l6,S6]);let h6=V5(),L6=lg(),W6=xY(),[X6,F6]=I_.useState(_);r27(I?void 0:A$(),F6);let d6=D3.useSyncExternalStore(RW7?.subscribeToProactiveChanges??j9$,RW7?.isProactiveActive??J9$),V6=z_((e6)=>e6.isBriefOnly),y6=I_.useMemo(()=>gH(F),[F,d6,V6]);vGK(),TGK();let[u6,D6]=I_.useState(M),G6=I_.useCallback((e6)=>{D6(e6)},[D6]),[j6,T6]=I_.useState("prompt"),[R6,k6]=I_.useState(!1),[I6,o6]=I_.useState(!1),[U6,w_]=I_.useState(""),H_=I_.useRef(0),Z6=I_.useRef(void 0),i6=I_.useRef(!1),{addNotification:A_,removeNotification:v_}=lK(),_8=X9$,u8=F27(H,o.clients),[y8,Nq]=I_.useState(void 0),[KK,e8]=I_.useState(null),[Z8,v8]=I_.useState(null),[uK,K8]=I_.useState(!1),[p8,X8]=I_.useState(()=>{return!1}),[h8,oq]=I_.useState(()=>kJ7(W6)),$7=z_((e6)=>e6.showRemoteCallout),[Z4,s4]=I_.useState(()=>vX7());BP7(),FP7(),mP7({ideSelection:y8,mcpClients:u8,ideInstallationStatus:Z8}),BX7({mcpClients:u8}),FX7(),PP7(),ZP7(),L9_(),hP7(W6),eP7(),CP7(W6),M9$(),BJ7(),qX7(),$X7(),xP7(),lX7(),nP7();let{recommendation:YA,handleResponse:vA}=zP7(),{recommendation:B7,handleResponse:F4}=HP7(),TA=I_.useMemo(()=>{return[...y6,...K]},[y6,K]);Mj_({enabled:!I});let $K=yWK();I_.useEffect(()=>{if(I)return;NP7(S6)},[S6,I]),YX7(I?ID8:u8,F.mode),z27(S6,A,{enabled:!I});let aA=ZH_(TA,o.tools,F),{tools:_z,allowedAgentTypes:c5}=I_.useMemo(()=>{if(!u)return{tools:aA,allowedAgentTypes:void 0};let e6=nC(u,aA,!1,!0);return{tools:e6.resolvedTools,allowedAgentTypes:e6.allowedAgentTypes}},[u,aA]),dA=KD8(X6,z6.commands),L4=KD8(dA,o.commands),sq=I_.useMemo(()=>v?[]:L4,[v,L4]);$Y7(I?ID8:o.clients),e27(I?ID8:o.clients,Nq);let[n8,jz]=I_.useState("responding"),kA=I_.useRef(n8);kA.current=n8;let[qz,xA]=I_.useState([]),[i7,M4]=I_.useState(null);I_.useEffect(()=>{if(i7&&!i7.isStreaming&&i7.streamingEndedAt){let P_=30000-(Date.now()-i7.streamingEndedAt);if(P_>0){let L_=setTimeout(M4,P_,null);return()=>clearTimeout(L_)}else M4(null)}},[i7]);let[X5,oA]=I_.useState(null),hz=I_.useRef(null);hz.current=X5;let Z3=I_.useRef(()=>{}),SO=I_.useRef(()=>{}),t4=I_.useRef(null),d3=I_.useRef(null),d4=I_.useRef(0),v7=D3.useRef(new UX8).current,hK=D3.useSyncExternalStore(v7.subscribe,v7.getSnapshot),[y5,oz]=D3.useState(N?.hasInitialPrompt??!1),SK=hK||y5,[sA,Sz]=D3.useState(void 0),QA=D3.useRef(0),lA=D3.useRef(!1),bz=D3.useRef(0),f4=D3.useRef(0),R5=D3.useRef(null),Jz=D3.useCallback(()=>{bz.current=Date.now(),f4.current=0,R5.current=null},[]),Dw=D3.useRef(!1);if(hK&&!Dw.current)Jz();Dw.current=hK;let Cz=D3.useCallback((e6)=>{if(oz(e6),e6)Jz()},[Jz]),sz=D3.useRef(null),n_=D3.useRef(void 0),B8=D3.useRef(void 0),nq=1500,[tq,YK]=D3.useState(!1),[pK,Q4]=I_.useState(null);I_.useEffect(()=>{if(pK?.notifications)pK.notifications.forEach((e6)=>{A_({key:"auto-updater-notification",text:e6,priority:"low"})})},[pK,A_]),I_.useEffect(()=>{if(NK())Rgq().then((e6)=>{if(e6)A_({key:"tmux-mouse-hint",text:e6,priority:"low"})})},[]);let[Bq,RK]=I_.useState(!1);I_.useEffect(()=>{},[]);let[wK,C4]=I_.useState(null),I4=I_.useRef(null),TK=I_.useCallback((e6)=>{if(e6?.isLocalJSXCommand){let{clearLocalJSX:P_,...L_}=e6;I4.current={...L_,isLocalJSXCommand:!0},C4(L_);return}if(I4.current){if(e6?.clearLocalJSX){I4.current=null,C4(null);return}return}if(e6?.clearLocalJSX){C4(null);return}C4(e6)},[]),[x4,bK]=I_.useState([]),[Kz,e4]=I_.useState(null),[p7,NA]=I_.useState([]),[j4,tz]=I_.useState([]),N$=I_.useRef(new Map),y7=z_((e6)=>e6.settings.terminalTitleFromRename)!==!1?Mf(X_()):void 0,[G3,nw]=I_.useState(),V$=I_.useRef((A?.length??0)>0),rw=u?.agentType,Q3=y7??rw??G3??"Puku CLI",R8=x4.length>0||j4.length>0||J6||w6,V8=wK?.isLocalJSXCommand===!0&&wK?.jsx!=null,bq=SK&&!R8&&!V8;I_.useEffect(()=>{if(SK&&!R8&&!V8)return RO7(),()=>LO7()},[SK,R8,V8]);let HA=R8||V8?"waiting":SK?"busy":"idle",VA=HA!=="waiting"?void 0:x4.length>0?`approve ${x4[0].tool.name}`:J6?"worker request":w6?"sandbox request":V8?"dialog open":"input needed";I_.useEffect(()=>{},[HA,VA]);let _A=Q_("ev_event",!1)&&($_().showStatusInTerminalTab??!1);At6(p||!_A?null:HA),I_.useEffect(()=>{return vDK(bK),()=>TDK()},[bK]);let[X7,L5]=I_.useState(()=>{if(!A)return[];let e6=Iq8(A,w);return e6?iK_(A,e6.replacements):A}),_q=I_.useRef(X7),iA=I_.useRef(!1),rq=I_.useCallback((e6)=>{let P_=_q.current,L_=typeof e6==="function"?e6(_q.current):e6;if(_q.current=L_,L_.length<QA.current)QA.current=0;else if(L_.length>P_.length&&lA.current){let S8=L_.length-P_.length;if((P_.length===0||L_[0]===P_[0]?L_.slice(-S8):L_.slice(0,S8)).some(XY6))lA.current=!1;else QA.current=L_.length}L5(L_)},[]),Xz=I_.useCallback((e6)=>{if(e6!==void 0)QA.current=_q.current.length,lA.current=!0;else lA.current=!1;Sz(e6)},[]),SP=I_.useCallback((e6)=>{if(e6.size===0)return;rq((P_)=>iK_(P_,e6))},[rq]),{dividerIndex:JJ,dividerYRef:bO,onScrollAway:CO,onRepin:u9,jumpToNew:XY,shiftDivider:AZ}=U67(X7.length),[XJ,dj]=I_.useState(null),bP=I_.useRef(null),xE=I_.useMemo(()=>F67(X7,JJ),[JJ,X7.length]),PJ=I_.useCallback(()=>{t4.current?.scrollToBottom(),u9(),dj(null)},[u9,dj]),B$=X7.at(-1),BN=B$!=null&&XY6(B$);I_.useEffect(()=>{if(BN)PJ()},[BN,B$,PJ]);let{maybeLoadOlder:E6}=P9$,p6=I_.useCallback((e6,P_)=>{if(d4.current=Date.now(),e6)u9();else CO(P_)},[u9,CO,E6,S6]),j_=Fj7(z,rq),i_=I_.useDeferredValue(X7),M8=X7.length-i_.length;if(M8>0)V(`[useDeferredValue] Messages deferred by ${M8} (${i_.length}→${X7.length})`);let[vq,QK]=I_.useState(null),[w7,Az]=I_.useState(()=>Il_()),Iz=I_.useRef(w7);Iz.current=w7;let p9=I_.useRef(null),MA=I_.useCallback((e6)=>{if(_8(Iz.current,e6))return;if(Iz.current===""&&e6!==""&&Date.now()-d4.current>=W9$)PJ();Iz.current=e6,Az(e6),YK(e6.trim().length>0)},[YK,PJ,_8]);I_.useEffect(()=>{if(w7.trim().length===0)return;let e6=setTimeout(YK,nq,!1);return()=>clearTimeout(e6)},[w7]);let[PY,Zw]=I_.useState("prompt"),[v3,CP]=I_.useState(),IP=I_.useCallback((e6)=>{let P_=new Set(e6);F6((L_)=>L_.filter((S8)=>P_.has(S8.name)||ZJ8.has(S8)))},[F6]),[xP,uE]=I_.useState(new Set),qd=I_.useRef(!1),ax=Hj7({config:N,setMessages:rq,setIsLoading:Cz,onInit:IP,setToolUseConfirmQueue:bK,tools:TA,setStreamingToolUses:xA,setStreamMode:jz,setInProgressToolUseIDs:uE}),DT=jj7({config:L,setMessages:rq,setIsLoading:Cz,setToolUseConfirmQueue:bK,tools:TA}),Qj=Xj7({session:b,setMessages:rq,setIsLoading:Cz,setToolUseConfirmQueue:bK,tools:TA}),lj=Qj.isRemoteMode?Qj:DT.isRemoteMode?DT:ax,[WJ,iH]=I_.useState({}),[IO,pE]=I_.useState(0),DJ=I_.useRef(0),zZ=I_.useRef([]),mE=I_.useCallback((e6)=>{let P_=DJ.current;if(DJ.current=e6(P_),DJ.current>P_){let L_=zZ.current;if(L_.length>0){let S8=L_.at(-1);S8.lastTokenTime=Date.now(),S8.endResponseLength=DJ.current}}},[]),[ZT,UN]=I_.useState(null),FN=!(z_((e6)=>e6.settings.prefersReducedMotion)??!1)&&!lFq(),dN=I_.useCallback((e6)=>{if(!FN)return;UN(e6)},[FN]),GT=ZT&&FN?ZT.substring(0,ZT.lastIndexOf(`
7742
7742
  `)+1)||null:null,[nA,Je]=I_.useState(0),[Xe,QN]=I_.useState(null),[O_,t_]=I_.useState(null),[Zq,T7]=I_.useState(null),[R7,RA]=I_.useState(!1),[WY,I1]=I_.useState(void 0),[x1,uP]=I_.useState(!1),[vT,ZJ]=I_.useState(_b6()),[Ad,fH6]=I_.useState(null),Pe=I_.useRef(!1),zd=I_.useRef(nA);zd.current=nA;let[ox]=I_.useState(()=>({current:Iq8(A,w)})),[GJ,We]=I_.useState($_().hasAcknowledgedCostThreshold),[jH6,Xb6]=I_.useState("INSERT"),[$d,sx]=I_.useState(!1),[m9,Pb6]=I_.useState(!1),[u1,Wb6]=I_.useState(!1);I_.useEffect(()=>{if(Y6&&$d)sx(!1)},[Y6,$d]);let $Z=b3(),gE=I_.useRef($Z);gE.current=$Z;let[ij]=Yq(),wd=D3.useRef(!1),De=I_.useCallback(()=>{if(wd.current)return;wd.current=!0;let e6=_q.current.slice(Te.current);for(let P_ of X68(e6))_u.current.add(P_);Te.current=_q.current.length,NX7({theme:ij,readFileState:TT.current,bashTools:_u.current}).then(async(P_)=>{if(P_){let L_=await P_.content({theme:ij});S6((S8)=>({...S8,spinnerTip:L_})),VX7(P_)}else S6((L_)=>{if(L_.spinnerTip===void 0)return L_;return{...L_,spinnerTip:void 0}})})},[S6,ij]),DY=I_.useCallback(()=>{Cz(!1),Xz(void 0),DJ.current=0,zZ.current=[],UN(null),xA([]),QN(null),t_(null),T7(null),De(),ML6(),Tw_()},[De]),Od=I_.useMemo(()=>jo($6).some((e6)=>e6.status==="running"),[$6]);I_.useEffect(()=>{if(!Od&&sz.current!==null){let e6=Date.now()-sz.current,P_=n_.current;sz.current=null,n_.current=void 0,rq((L_)=>[...L_,I98(e6,P_,b8(L_,dh6))])}},[Od,rq]);let lN=I_.useRef(!1);I_.useEffect(()=>{{if(F.mode!=="auto"){lN.current=!1;return}if(lN.current)return;if(($_().autoPermissionsNotificationCount??0)>=3)return;let L_=setTimeout((S8,i8)=>{S8.current=!0,b_((eq)=>{let r8=eq.autoPermissionsNotificationCount??0;if(r8>=3)return eq;return{...eq,autoPermissionsNotificationCount:r8+1}}),i8((eq)=>[...eq,PO(hf_,"warning")])},800,lN,rq);return()=>clearTimeout(L_)}},[F.mode,rq]);let tx=I_.useRef(!1);I_.useEffect(()=>{if(tx.current)return;let e6=Jw();if(!e6?.creationDurationMs||e6.usedSparsePaths)return;if(e6.creationDurationMs<15000)return;tx.current=!0;let P_=Math.round(e6.creationDurationMs/1000);rq((L_)=>[...L_,PO(`Worktree creation took ${P_}s. For large repos, set \`worktree.sparsePaths\` in .puku-cli/settings.json to check out only the directories you need — e.g. \`{"worktree": {"sparsePaths": ["src", "packages/foo"]}}\`.`,"info")])},[rq]);let cE=I_.useMemo(()=>{let e6=X7.findLast((L_)=>L_.type==="assistant");if(e6?.type!=="assistant")return!1;let P_=e6.message.content.filter((L_)=>L_.type==="tool_use"&&xP.has(L_.id));return P_.length>0&&P_.every((L_)=>L_.type==="tool_use"&&L_.name===pr)},[X7,xP]),{onBeforeQuery:JH6,onTurnComplete:Ze,render:Yd}=Lj7({enabled:m,setMessages:rq,inputValue:w7,setInputValue:MA,setToolJSX:TK}),Ge=(!wK||wK.showSpinner===!0)&&x4.length===0&&j4.length===0&&(SK||sA||Od||Mt_()>0)&&!J6&&!cE&&(!GT||V6),BE=x4.length>0||j4.length>0||p7.length>0||q6.queue.length>0||H6.queue.length>0,ve=hJ7(X7,SK,IO,"session",BE),Db6=yj7(rq),XH6=YW7(X7,IO),UE=I_.useMemo(()=>({...ve,handleSelect:(e6)=>{Re.current=!1;let P_=ve.handleSelect(e6);if(e6==="bad"&&!P_&&AW7("feedback_survey_bad"))ye("feedback_survey_bad"),Re.current=!0}}),[ve]),ex=xJ7(X7,SK,BE,{enabled:!I}),iN=bJ7(X7,SK,BE,{enabled:!I}),nH=H9$(X7,SK,BE,UE.state!=="closed"||ex.state!=="closed"||iN.state!=="closed");JJ7({autoConnectIdeFlag:f,ideToInstallExtension:KK,setDynamicMcpConfig:D6,setShowIdeOnboarding:K8,setIDEInstallationState:v8}),CX7($,e,(e6)=>S6((P_)=>({...P_,fileHistory:e6})));let PH6=I_.useCallback(async(e6,P_,L_)=>{let S8=performance.now();try{let i8=B5_(P_.messages),eq=JE6();await XE6("resume",{getAppState:()=>h6.getState(),setAppState:S6,signal:AbortSignal.timeout(eq),timeoutMs:eq});let r8=await CH("resume",{sessionId:e6,agentType:u?.agentType,model:W6});if(i8.push(...r8),L_==="fork")e0K(P_,P9(e6));else b5_(P_,P9(e6));if(mS6(P_,S6),P_.fileHistorySnapshots)L5_(P_);let{agentDefinition:wq}=qe(P_.agentSetting,G,t);U(wq),S6((q3)=>({...q3,agent:wq?.agentType})),S6((q3)=>({...q3,standaloneAgentContext:gS6(P_.agentName,P_.agentColor)})),pL(P_.agentName),Ne(i8,P_.projectPath??J8()),DY(),oA(null),ZJ(e6);let XK=Uz8(e6);W$_(),E66(),eH(P9(e6),P_.fullPath?$9$(P_.fullPath):null);let{renameRecordingForSession:Y7}=await Promise.resolve().then(() => (pS6(),zJ7));if(await Y7(),await ov(),jE6(),DE(P_),V$.current=!0,nw(void 0),L_!=="fork")$J7(),cS6(P_.worktreeSession),yt(),z58({abortController:new AbortController,getAppState:()=>h6.getState(),setAppState:S6});else{let q3=Jw();if(q3)OP(q3)}if(XK)GM6(XK);if(ox.current&&L_!=="fork")ox.current=nK_(i8,P_.contentReplacements??[]);let S7=ox.current?iK_(i8,ox.current.replacements):i8;rq(()=>S7),TK(null),MA(""),l("ev_event",{entrypoint:L_,success:!0,resume_duration_ms:Math.round(performance.now()-S8)})}catch(i8){throw l("ev_event",{entrypoint:L_,success:!1}),i8}},[DY,S6]),[Cf]=I_.useState(()=>{let e6=Kk(kR);return cX8(e6),e6}),TT=I_.useRef(Cf),_u=I_.useRef(new Set),Te=I_.useRef(0),wZ=I_.useRef(new Set),ke=I_.useRef(new Set),Ne=I_.useCallback((e6,P_)=>{let L_=Jz6(e6,P_,kR);TT.current=h56(TT.current,L_);for(let S8 of X68(e6))_u.current.add(S8)},[]);I_.useEffect(()=>{if(A&&A.length>0)Ne(A,J8()),z58({abortController:new AbortController,getAppState:()=>h6.getState(),setAppState:S6})},[]);let{status:qu,reverify:Ve}=Qj7(),[Ku,ye]=I_.useState(null),Re=I_.useRef(!1),[Hd,Md]=I_.useState(null),[Zb6,WH6]=I_.useState(!1),Gb6=!SK&&x1;function vb6(){if(Zb6||Hd)return;if(R7)return"message-selector";if(tq)return;if(p7[0])return"sandbox-permission";let e6=!wK||wK.shouldContinueAnimation;if(e6&&x4[0])return"tool-permission";if(e6&&j4[0])return"prompt";if(e6&&H6.queue[0])return"worker-sandbox-permission";if(e6&&q6.queue[0])return"elicitation";if(e6&&Gb6)return"cost";if(e6&&Ad)return"idle-return";if(e6&&uK)return"ide-onboarding";if(e6&&h8)return"effort-callout";if(e6&&$7)return"remote-callout";if(e6&&YA)return"lsp-recommendation";if(e6&&B7)return"plugin-hint";if(e6&&Z4)return"desktop-upsell";return}let B5=vb6(),Au=tq&&(p7[0]||x4[0]||j4[0]||H6.queue[0]||q6.queue[0]||Gb6);B8.current=B5,I_.useEffect(()=>{if(!SK)return;let e6=B5==="tool-permission",P_=Date.now();if(e6&&R5.current===null)R5.current=P_;else if(!e6&&R5.current!==null)f4.current+=P_-R5.current,R5.current=null},[B5,SK]);let fd=I_.useRef(B5);I_.useLayoutEffect(()=>{if(fd.current==="tool-permission"!==(B5==="tool-permission"))PJ();fd.current=B5},[B5,PJ]);function Le(){if(B5==="elicitation")return;if(V(`[onCancel] focusedInputDialog=${B5} streamMode=${n8}`),v7.forceEnd(),Pe.current=!1,ZT?.trim())rq((e6)=>[...e6,Vj({content:ZT})]);if(DY(),B5==="tool-permission")x4[0]?.onAbort(),bK([]);else if(B5==="prompt"){for(let e6 of j4)e6.reject(Error("Prompt cancelled by user"));tz([]),X5?.abort("user-cancel")}else if(lj.isRemoteMode)lj.cancelRequest();else X5?.abort("user-cancel");oA(null),Ze(_q.current,!0)}let DH6=I_.useCallback(()=>{let e6=B6_(w7,0);if(!e6)return;if(MA(e6.text),Zw("prompt"),e6.images.length>0)iH((P_)=>{let L_={...P_};for(let S8 of e6.images)L_[S8.id]=S8;return L_})},[MA,Zw,w7,iH]),ZH6={setToolUseConfirmQueue:bK,onCancel:Le,onAgentsKilled:()=>rq((e6)=>[...e6,iUK()]),isMessageSelectorVisible:R7||!!$d,screen:j6,abortSignal:X5?.signal,popCommandFromQueue:DH6,vimMode:jH6,isLocalJSXCommand:wK?.isLocalJSXCommand,isSearchingHistory:m9,isHelpOpen:u1,inputMode:PY,inputValue:w7,streamMode:n8};I_.useEffect(()=>{if(U1()>=5&&!x1&&!GJ){if(l("ev_event",{}),We(!0),mi6())uP(!0)}},[X7,x1,GJ]);let Tb6=I_.useCallback(async(e6)=>{if(Rq()&&VV6()){let P_=HDK(),L_=await MDK(e6.host,P_);return new Promise((S8)=>{if(!L_){NA((i8)=>[...i8,{hostPattern:e6,resolvePromise:S8}]);return}PDK({requestId:P_,host:e6.host,resolve:S8}),S6((i8)=>({...i8,pendingSandboxRequest:{requestId:P_,host:e6.host}}))})}return new Promise((P_)=>{let L_=!1;function S8(i8){if(L_)return;L_=!0,P_(i8)}NA((i8)=>[...i8,{hostPattern:e6,resolvePromise:S8}])})},[S6,h6]);if(I_.useEffect(()=>{let e6=N8.getSandboxUnavailableReason();if(!e6)return;if(N8.isSandboxRequired()){process.stderr.write(`
7743
7743
  Error: sandbox required but unavailable: ${e6}
@@ -7750,7 +7750,7 @@ Error: sandbox required but unavailable: ${e6}
7750
7750
  ${P_}`)}else V("No CLAUDE.md/rules files found");for(let P_ of e6)TT.current.set(P_.path,{content:P_.contentDiffersFromDisk?P_.rawContent??P_.content:P_.content,timestamp:Date.now(),offset:void 0,limit:void 0,isPartialView:P_.contentDiffersFromDisk})}mj7(ow7()),cO7(X7,X7.length===A?.length);let{sendBridgeResult:kH6}=tO7(X7,rq,hz,sq,W6);Z3.current=kH6,Bj7();let fA=I_.useRef(!1);I_.useEffect(()=>{if(r.length<1){fA.current=!1;return}if(fA.current)return;fA.current=!0,b_((e6)=>({...e6,promptQueueUseCount:(e6.promptQueueUseCount??0)+1}))},[r.length]);let NH6=I_.useCallback(async(e6)=>{await $j_({helpers:{setCursorOffset:()=>{},clearBuffer:()=>{},resetHistory:()=>{}},queryGuard:v7,commands:sq,onInputChange:()=>{},setPastedContents:()=>{},setToolJSX:TK,getToolUseContext:rH,messages:X7,mainLoopModel:W6,ideSelection:y8,setUserInputOnProcessing:Xz,setAbortController:oA,onQuery:OZ,setAppState:S6,querySource:kk6(),onBeforeQuery:P,canUseTool:pP,addNotification:A_,setMessages:rq,queuedCommands:e6})},[v7,sq,TK,rH,X7,W6,y8,Xz,pP,oA,OZ,A_,S6,P]);m27({executeQueuedInput:NH6,hasActiveLocalJsxUI:V8,queryGuard:v7}),I_.useEffect(()=>{eN6.recordUserActivity(),Bd(!0)},[w7,IO]),I_.useEffect(()=>{if(IO===1)lW8()},[IO]);let VH6=z_((e6)=>e6.openRemoteControlDialog);I_.useEffect(()=>{if(!VH6)return;S6((L_)=>({...L_,openRemoteControlDialog:!1}));let e6=!1,P_=()=>{e6=!0,TK({jsx:null,shouldHidePromptInput:!1,clearLocalJSX:!0})};(async()=>{try{if(VH6==="popup"){let eq=(await Promise.resolve().then(() => (yW7(),VW7))).default;if(!e6)TK({jsx:D(eq,{onDone:P_}),shouldHidePromptInput:!1,isLocalJSXCommand:!0});return}let S8=await(await Promise.resolve().then(() => (of8(),af8))).call(P_);if(S8&&!e6)TK({jsx:S8,shouldHidePromptInput:!1,isLocalJSXCommand:!0})}catch(L_){V(`[puku-relay-indicator] dispatch failed: ${L_ instanceof Error?L_.message:String(L_)}`)}})()},[VH6,S6,TK]),I_.useEffect(()=>{if(SK)return;if(IO===0)return;if(nA===0)return;let e6=setTimeout((P_,L_,S8,i8,eq)=>{if(wV()>P_)return;let wq=Date.now()-P_;if(!L_&&!S8&&i8.current===void 0&&wq>=$_().messageIdleNotifThresholdMs)gF({message:"Puku CLI is waiting for your input",notificationType:"idle_prompt"},eq)},$_().messageIdleNotifThresholdMs,nA,SK,wK,B8,L6);return()=>clearTimeout(e6)},[SK,wK,IO,nA,L6]),I_.useEffect(()=>{if(nA===0)return;if(SK)return;let e6=Q_("ev_event","off");if(e6!=="hint"&&e6!=="hint_v2")return;if($_().idleReturnDismissed)return;let P_=Number(process.env.PUKU_CLI_IDLE_TOKEN_THRESHOLD??1e5);if(RJ()<P_)return;let L_=Number(process.env.PUKU_CLI_IDLE_THRESHOLD_MINUTES??75)*60000,S8=Date.now()-nA,i8=L_-S8,eq=setTimeout((r8,wq,XK,Y7,S7)=>{if(XK.current.length===0)return;let q3=RJ(),G4=Bf(q3),l3=(Date.now()-r8)/60000;wq({key:"idle-return-hint",jsx:Y7==="hint_v2"?y(q_,{children:[D(T,{dimColor:!0,children:"new task? "}),D(T,{color:"suggestion",children:"/clear"}),D(T,{dimColor:!0,children:" to save "}),y(T,{color:"suggestion",children:[G4," tokens"]})]}):y(T,{color:"warning",children:["new task? /clear to save ",G4," tokens"]}),priority:"medium",timeoutMs:2147483647}),S7.current=Y7,l("ev_event",{action:"hint_shown",variant:Y7,idleMinutes:Math.round(l3),messageCount:XK.current.length,totalInputTokens:q3})},Math.max(0,i8),nA,A_,_q,e6,iA);return()=>{clearTimeout(eq),v_("idle-return-hint"),iA.current=!1}},[nA,SK,A_,v_]);let Wd=I_.useCallback((e6,P_)=>{if(v7.isActive)return!1;if(_eq().some((i8)=>i8.mode==="prompt"||i8.mode==="bash"))return!1;let L_=Y4();oA(L_);let S8=V_({content:e6,isMeta:P_?.isMeta?!0:void 0});return OZ([S8],L_,!0,[],W6),!0},[OZ,W6,h6]),zu={stripTrailing:()=>0,handleKeyEvent:()=>{},resetAnchor:()=>{},interimRange:null};OJ7({enabled:Rq(),isLoading:SK,focusedInputDialog:B5,onSubmitMessage:Wd}),c27({isLoading:SK,onSubmitMessage:Wd}),I_.useEffect(()=>{if(r.some((e6)=>e6.priority==="now"))hz.current?.abort("interrupt")},[r]),I_.useEffect(()=>{return Lb6(),()=>{WI.shutdown()}},[]);let{internal_eventEmitter:HZ}=Eg(),[Eb6,yH6]=I_.useState(0);I_.useEffect(()=>{let e6=()=>{process.stdout.write(`
7751
7751
  Puku has been suspended. Run \`fg\` to bring Puku back.
7752
7752
  Note: ctrl + z now suspends Puku, ctrl + _ undoes input.
7753
- `)},P_=()=>{yH6((L_)=>L_+1)};return HZ?.on("suspend",e6),HZ?.on("resume",P_),()=>{HZ?.off("suspend",e6),HZ?.off("resume",P_)}},[HZ]);let hb6=I_.useMemo(()=>{if(!SK)return null;let e6=X7.filter((XK)=>XK.type==="progress"&&XK.data.type==="hook_progress"&&(XK.data.hookEvent==="Stop"||XK.data.hookEvent==="SubagentStop"));if(e6.length===0)return null;let P_=e6.at(-1)?.toolUseID;if(!P_)return null;if(X7.some((XK)=>XK.type==="system"&&XK.subtype==="stop_hook_summary"&&XK.toolUseID===P_))return null;let S8=e6.filter((XK)=>XK.toolUseID===P_),i8=S8.length,eq=b8(X7,(XK)=>{if(XK.type!=="attachment")return!1;let Y7=XK.attachment;return"hookEvent"in Y7&&(Y7.hookEvent==="Stop"||Y7.hookEvent==="SubagentStop")&&"toolUseID"in Y7&&Y7.toolUseID===P_}),r8=S8.find((XK)=>XK.data.statusMessage)?.data.statusMessage;if(r8)return i8===1?`${r8}…`:`${r8}… ${eq}/${i8}`;let wq=S8[0]?.data.hookEvent==="SubagentStop"?"subagent stop":"stop";return i8===1?`running ${wq} hook`:`running stop hooks… ${eq}/${i8}`},[X7,SK]),nN=I_.useCallback(()=>{QK({messagesLength:X7.length,streamingToolUsesLength:qz.length})},[X7.length,qz.length]),be=I_.useCallback(()=>{QK(null)},[]),$u=NK()&&!g,vJ=I_.useRef(null),[kT,TJ]=I_.useState(!1),[NT,RH6]=I_.useState(""),[wu,Ce]=I_.useState(0),[Dd,O7]=I_.useState(0),x2_=I_.useCallback((e6,P_)=>{Ce(e6),O7(P_)},[]);uq((e6,P_,L_)=>{if(P_.ctrl||P_.meta)return;if(e6==="/"){vJ.current?.setAnchor(),TJ(!0),L_.stopImmediatePropagation();return}let S8=e6[0];if((S8==="n"||S8==="N")&&e6===S8.repeat(e6.length)&&wu>0){let i8=S8==="n"?vJ.current?.nextMatch:vJ.current?.prevMatch;if(i8)for(let eq=0;eq<e6.length;eq++)i8();L_.stopImmediatePropagation()}},{isActive:j6==="transcript"&&$u&&!kT&&!I6});let{setQuery:Ou,scanElement:Sb6,setPositions:dE}=JO7(),Zd=G8().columns,bb6=D3.useRef(Zd);D3.useEffect(()=>{if(bb6.current!==Zd){if(bb6.current=Zd,NT||kT)TJ(!1),RH6(""),Ce(0),O7(0),vJ.current?.disarmSearch(),Ou("")}},[Zd,NT,kT,Ou]),uq((e6,P_,L_)=>{if(P_.ctrl||P_.meta)return;if(e6==="q"){be(),L_.stopImmediatePropagation();return}if(e6==="["&&!I6)o6(!0),k6(!0),L_.stopImmediatePropagation();else if(e6==="v"){if(L_.stopImmediatePropagation(),i6.current)return;i6.current=!0;let S8=H_.current,i8=(eq)=>{if(S8!==H_.current)return;clearTimeout(Z6.current),w_(eq)};i8(`rendering ${i_.length} messages…`),(async()=>{try{let eq=Math.max(80,(process.stdout.columns??80)-6),wq=(await BH_(i_,_z,eq)).replace(/[ \t]+$/gm,""),XK=w9$(O9$(),`cc-transcript-${Date.now()}.txt`);await Y9$(XK,wq);let Y7=C9_(XK);i8(Y7?`opening ${XK}`:`wrote ${XK} · no $VISUAL/$EDITOR set`)}catch(eq){i8(`render failed: ${eq instanceof Error?eq.message:String(eq)}`)}if(i6.current=!1,S8!==H_.current)return;Z6.current=setTimeout((eq)=>eq(""),4000,w_)})()}},{isActive:j6==="transcript"&&$u&&!kT});let Gd=j6==="transcript"&&$u;I_.useEffect(()=>{if(!Gd)RH6(""),Ce(0),O7(0),TJ(!1),H_.current++,clearTimeout(Z6.current),o6(!1),w_("")},[Gd]),I_.useEffect(()=>{if(Ou(Gd?NT:""),!Gd)dE(null)},[Gd,NT,Ou,dE]);let Cb6={screen:j6,setScreen:T6,showAllInTranscript:R6,setShowAllInTranscript:k6,messageCount:X7.length,onEnterTranscript:nN,onExitTranscript:be,virtualScrollActive:$u,searchBarOpen:kT},u2_=vq?i_.slice(0,vq.messagesLength):i_,LH6=vq?qz.slice(0,vq.streamingToolUsesLength):qz;if(tj7({onOpenBackgroundTasks:V8?void 0:()=>sx(!0)}),O27(),j6==="transcript"){let e6=NK()&&!g&&!I6?t4:void 0,P_=D(Wt,{messages:u2_,tools:_z,commands:sq,verbose:!0,toolJSX:null,toolUseConfirmQueue:[],inProgressToolUseIDs:xP,isMessageSelectorVisible:!1,conversationId:vT,screen:j6,agentDefinitions:t,streamingToolUses:LH6,showAllInTranscript:R6,onOpenRateLimitOptions:Xd,isLoading:SK,hidePastThinking:!0,streamingThinking:i7,scrollRef:e6,jumpRef:vJ,onSearchMatchesChange:x2_,scanElement:Sb6,setPositions:dE,disableRenderCap:I6}),L_=wK&&D(x,{flexDirection:"column",width:"100%",children:wK.jsx}),S8=y(pY,{children:[D(hW7,{isAnimating:bq,title:Q3,disabled:p,noPrefix:_A}),D(nW8,{...Cb6}),null,D(rW8,{onSubmit:YZ,isActive:!wK?.isLocalJSXCommand}),e6?D(CD8,{scrollRef:t4,isActive:B5!=="ultraplan-choice",isModal:!kT,onScroll:()=>vJ.current?.disarmSearch()}):null,D(aW8,{...ZH6}),e6?D(Zj8,{scrollRef:t4,scrollable:y(q_,{children:[P_,L_,D(yD8,{})]}),bottom:kT?D(D9$,{jumpRef:vJ,initialQuery:"",count:wu,current:Dd,onClose:(i8)=>{if(RH6(wu>0?i8:""),TJ(!1),!i8)Ce(0),O7(0),vJ.current?.setSearchQuery("")},onCancel:()=>{TJ(!1),vJ.current?.setSearchQuery(""),vJ.current?.setSearchQuery(NT),Ou(NT)},setHighlight:Ou}):D(LW7,{showAllInTranscript:R6,virtualScroll:!0,status:U6||void 0,searchBadge:NT&&wu>0?{current:Dd,count:wu}:void 0})}):y(q_,{children:[P_,L_,D(yD8,{}),D(LW7,{showAllInTranscript:R6,virtualScroll:!1,suppressShowAll:I6,status:U6||void 0})]})]});if(e6)return D(bD8,{mouseTracking:ul_(),children:S8});return S8}let QE=m6?$6[m6]:void 0,lE=QE&&vO(QE)?QE:void 0,MZ=lE??(QE&&qY(QE)?QE:void 0),Ib6=MZ?MZ.messages??[]:FN||!SK?X7:i_,rN=sA&&!MZ&&Ib6.length<=QA.current?sA:void 0,fZ=B5==="tool-permission"?D($17,{onDone:()=>bK(([e6,...P_])=>P_),onReject:DH6,toolUseConfirm:x4[0],toolUseContext:rH(X7,X7,X5??Y4(),W6),verbose:Q,workerBadge:x4[0]?.workerBadge,setStickyFooter:NK()?e4:void 0},x4[0]?.toolUseID):null,aH=Zd<yP8,VT=!wK?.shouldHidePromptInput&&!B5&&!$d,UY=NK()&&wK?.isLocalJSXCommand===!0,Ie=UY?wK.jsx:null,xb6=y(pY,{children:[D(hW7,{isAnimating:bq,title:Q3,disabled:p,noPrefix:_A}),D(nW8,{...Cb6}),null,D(rW8,{onSubmit:YZ,isActive:!wK?.isLocalJSXCommand}),D(CD8,{scrollRef:t4,isActive:NK()&&(Ie!=null||!B5||B5==="tool-permission"),onScroll:Ie||fZ||MZ?void 0:p6}),null,D(aW8,{...ZH6}),D(B9_,{dynamicMcpConfig:u6,isStrictMcpConfig:j,children:D(Zj8,{scrollRef:t4,overlay:fZ,bottomFloat:void 0,modal:Ie,modalScrollRef:d3,dividerYRef:bO,hidePill:!!MZ,hideSticky:!!lE,newMessageCount:xE?.count??0,onPillClick:()=>{dj(null),XY(t4.current)},scrollable:y(q_,{children:[D(s27,{}),D(Wt,{messages:Ib6,tools:_z,commands:sq,verbose:Q,toolJSX:wK,toolUseConfirmQueue:x4,inProgressToolUseIDs:lE?lE.inProgressToolUseIDs??new Set:xP,isMessageSelectorVisible:R7,conversationId:vT,screen:j6,streamingToolUses:qz,showAllInTranscript:R6,agentDefinitions:t,onOpenRateLimitOptions:Xd,isLoading:SK,streamingText:SK&&!MZ?GT:null,isBriefOnly:MZ?!1:V6,unseenDivider:MZ?void 0:xE,scrollRef:NK()?t4:void 0,trackStickyPrompt:NK()?!0:void 0,cursor:XJ,setCursor:dj,cursorNavRef:bP}),D(RP7,{}),!Z&&rN&&!Ie&&D(Vo,{param:{text:rN,type:"text"},addMargin:!0,verbose:Q}),wK&&!(wK.isLocalJSXCommand&&wK.isImmediate)&&!UY&&D(x,{flexDirection:"column",width:"100%",children:wK.jsx}),!1,null,D(x,{flexGrow:1}),Ge&&D(JZK,{mode:n8,spinnerTip:M6,responseLengthRef:DJ,apiMetricsRef:zZ,overrideMessage:Xe,spinnerSuffix:hb6,verbose:Q,loadingStartTimeRef:bz,totalPausedMsRef:f4,pauseStartTimeRef:R5,overrideColor:O_,overrideShimmerColor:Zq,hasActiveTools:xP.size>0,leaderIsIdle:!SK}),!Ge&&!SK&&!sA&&!Od&&V6&&!MZ&&D(XZK,{}),NK()&&D(lf_,{})]}),bottom:y(x,{flexDirection:"row",width:"100%",alignItems:"flex-end",children:[null,y(x,{flexDirection:"column",flexGrow:1,children:[Kz,wK?.isLocalJSXCommand&&wK.isImmediate&&!UY&&D(x,{flexDirection:"column",width:"100%",children:wK.jsx}),!Ge&&!wK?.isLocalJSXCommand&&_6&&$K&&$K.length>0&&D(x,{width:"100%",flexDirection:"column",children:D(H4_,{tasks:$K,isStandalone:!0})}),B5==="sandbox-permission"&&D(VD8,{hostPattern:p7[0].hostPattern,onUserResponse:(e6)=>{let{allow:P_,persistToSettings:L_}=e6,S8=p7[0];if(!S8)return;let i8=S8.hostPattern.host;if(L_){let r8={type:"addRules",rules:[{toolName:xw,ruleContent:`domain:${i8}`}],behavior:P_?"allow":"deny",destination:"localSettings"};S6((wq)=>({...wq,toolPermissionContext:yz(wq.toolPermissionContext,r8)})),CR(r8),N8.refreshConfig()}NA((r8)=>{return r8.filter((wq)=>wq.hostPattern.host===i8).forEach((wq)=>wq.resolvePromise(P_)),r8.filter((wq)=>wq.hostPattern.host!==i8)});let eq=N$.current.get(i8);if(eq){for(let r8 of eq)r8();N$.current.delete(i8)}}},p7[0].hostPattern.host),B5==="prompt"&&D(W17,{title:j4[0].title,toolInputSummary:j4[0].toolInputSummary,request:j4[0].request,onRespond:(e6)=>{let P_=j4[0];if(!P_)return;P_.resolve({prompt_response:P_.request.prompt,selected:e6}),tz(([,...L_])=>L_)},onAbort:()=>{let e6=j4[0];if(!e6)return;e6.reject(Error("Prompt cancelled by user")),tz(([,...P_])=>P_)}},j4[0].request.prompt),J6&&D(FX8,{toolName:J6.toolName,description:J6.description}),w6&&D(FX8,{toolName:"Network Access",description:`Waiting for leader to approve network access to ${w6.host}`}),B5==="worker-sandbox-permission"&&D(VD8,{hostPattern:{host:H6.queue[0].host,port:void 0},onUserResponse:(e6)=>{let{allow:P_,persistToSettings:L_}=e6,S8=H6.queue[0];if(!S8)return;let i8=S8.host;if(fDK(S8.workerName,S8.requestId,i8,P_,f6?.teamName),L_&&P_){let eq={type:"addRules",rules:[{toolName:xw,ruleContent:`domain:${i8}`}],behavior:"allow",destination:"localSettings"};S6((r8)=>({...r8,toolPermissionContext:yz(r8.toolPermissionContext,eq)})),CR(eq),N8.refreshConfig()}S6((eq)=>({...eq,workerSandboxPermissions:{...eq.workerSandboxPermissions,queue:eq.workerSandboxPermissions.queue.slice(1)}}))}},H6.queue[0].requestId),B5==="elicitation"&&D(J17,{event:q6.queue[0],onResponse:(e6,P_)=>{let L_=q6.queue[0];if(!L_)return;if(L_.respond({action:e6,content:P_}),!(L_.params.mode==="url"&&e6==="accept"))S6((i8)=>({...i8,elicitation:{queue:i8.elicitation.queue.slice(1)}}))},onWaitingDismiss:(e6)=>{let P_=q6.queue[0];S6((L_)=>({...L_,elicitation:{queue:L_.elicitation.queue.slice(1)}})),P_?.onWaitingDismiss?.(e6)}},q6.queue[0].serverName+":"+String(q6.queue[0].requestId)),B5==="cost"&&D(PO7,{onDone:()=>{uP(!1),We(!0),b_((e6)=>({...e6,hasAcknowledgedCostThreshold:!0})),l("ev_event",{})}}),B5==="idle-return"&&Ad&&D(ZO7,{idleMinutes:Ad.idleMinutes,totalInputTokens:RJ(),onDone:async(e6)=>{let P_=Ad;if(fH6(null),l("ev_event",{action:e6,idleMinutes:Math.round(P_.idleMinutes),messageCount:_q.current.length,totalInputTokens:RJ()}),e6==="dismiss"){MA(P_.input);return}if(e6==="never")b_((L_)=>{if(L_.idleReturnDismissed)return L_;return{...L_,idleReturnDismissed:!0}});if(e6==="clear"){let{clearConversation:L_}=await Promise.resolve().then(() => (IY_(),t18));await L_({setMessages:rq,readFileState:TT.current,discoveredSkillNames:wZ.current,loadedNestedMemoryPaths:ke.current,getAppState:()=>h6.getState(),setAppState:S6,setConversationId:ZJ}),V$.current=!1,nw(void 0),_u.current.clear(),Te.current=0}Pe.current=!0,Se.current(P_.input,{setCursorOffset:()=>{},clearBuffer:()=>{},resetHistory:()=>{}})}}),B5==="ide-onboarding"&&D(Qq8,{onDone:()=>K8(!1),installationStatus:Z8}),!1,!1,B5==="effort-callout"&&D(TJ7,{model:W6,onDone:(e6)=>{if(oq(!1),e6!=="dismiss")S6((P_)=>({...P_,effortValue:e6}))}}),B5==="remote-callout"&&D(VJ7,{onDone:(e6)=>{S6((P_)=>{if(!P_.showRemoteCallout)return P_;return{...P_,showRemoteCallout:!1,...e6==="enable"&&{replBridgeEnabled:!0,replBridgeExplicit:!0,replBridgeOutboundOnly:!1}}})}}),Hd,B5==="plugin-hint"&&B7&&D(fP7,{pluginName:B7.pluginName,pluginDescription:B7.pluginDescription,marketplaceName:B7.marketplaceName,sourceCommand:B7.sourceCommand,onResponse:F4}),B5==="lsp-recommendation"&&YA&&D(wP7,{pluginName:YA.pluginName,pluginDescription:YA.pluginDescription,fileExtension:YA.fileExtension,onResponse:vA}),B5==="desktop-upsell"&&D(TX7,{onDone:()=>s4(!1)}),null,null,Yd(),!wK?.shouldHidePromptInput&&!B5&&!Zb6&&!Z&&!XJ&&!d36()&&y(q_,{children:[Ku&&D(KW7,{onRun:b2_,onCancel:GH6,reason:$W7(Ku)}),ex.state!=="closed"?D(FS6,{state:ex.state,lastResponse:ex.lastResponse,handleSelect:ex.handleSelect,inputValue:w7,setInputValue:MA,onRequestFeedback:mP}):iN.state!=="closed"?D(FS6,{state:iN.state,lastResponse:iN.lastResponse,handleSelect:iN.handleSelect,handleTranscriptSelect:iN.handleTranscriptSelect,inputValue:w7,setInputValue:MA,onRequestFeedback:mP,message:"How well did Claude use its memory? (optional)"}):D(FS6,{state:UE.state,lastResponse:UE.lastResponse,handleSelect:UE.handleSelect,handleTranscriptSelect:UE.handleTranscriptSelect,inputValue:w7,setInputValue:MA,onRequestFeedback:Re.current?void 0:mP}),nH.state!=="closed"&&D(FS6,{state:nH.state,lastResponse:null,handleSelect:()=>{},handleTranscriptSelect:nH.handleTranscriptSelect,inputValue:w7,setInputValue:MA}),!1,XH6&&D(OW7,{}),D(Aj7,{debug:q,ideSelection:y8,hasSuppressedDialogs:!!Au,isLocalJSXCommandActive:V8,getToolUseContext:rH,toolPermissionContext:F,setToolPermissionContext:jd,apiKeyStatus:qu,commands:sq,agents:t.activeAgents,isLoading:SK,onExit:FE,verbose:Q,messages:X7,onAutoUpdaterResult:Q4,autoUpdaterResult:pK,input:w7,onInputChange:MA,mode:PY,onModeChange:Zw,stashedPrompt:v3,setStashedPrompt:CP,submitCount:IO,onShowMessageSelector:vH6,onMessageActionsEnter:void 0,mcpClients:u8,pastedContents:WJ,setPastedContents:iH,vimMode:jH6,setVimMode:Xb6,showBashesDialog:$d,setShowBashesDialog:sx,onSubmit:YZ,onAgentSubmit:S2_,isSearchingHistory:m9,setIsSearchingHistory:Pb6,helpOpen:u1,setHelpOpen:Wb6,insertTextRef:void 0,voiceInterimRange:zu.interimRange}),D(DJ7,{onBackgroundSession:U5,isLoading:SK})]}),XJ&&D(gMK,{cursor:XJ}),B5==="message-selector"&&D(tX8,{messages:X7,preselectedMessage:WY,onPreRestore:Le,onRestoreCode:async(e6)=>{await V5_((P_)=>{S6((L_)=>({...L_,fileHistory:P_(L_.fileHistory)}))},e6.uuid)},onSummarize:async(e6,P_,L_="from")=>{let S8=Xw(X7),i8=S8.indexOf(e6);if(i8===-1){rq((K3)=>[...K3,PO("That message is no longer in the active context (snipped or pre-compact). Choose a more recent message.","warning")]);return}let eq=Y4(),r8=rH(S8,[],eq,W6),wq=r8.getAppState(),XK=await k1(r8.options.tools,r8.options.mainLoopModel,Array.from(wq.toolPermissionContext.additionalWorkingDirectories.keys()),r8.options.mcpClients),Y7=Uv({mainThreadAgentDefinition:void 0,toolUseContext:r8,customSystemPrompt:r8.options.customSystemPrompt,defaultSystemPrompt:XK,appendSystemPrompt:r8.options.appendSystemPrompt}),[S7,q3]=await Promise.all([l$(),I3()]),G4=await sgK(S8,i8,r8,{systemPrompt:Y7,userContext:S7,systemContext:q3,toolUseContext:r8,forkContextMessages:S8},P_,L_),l3=G4.messagesToKeep??[],gP=L_==="up_to"?[...G4.summaryMessages,...l3]:[...l3,...G4.summaryMessages],ez=[G4.boundaryMarker,...gP,...G4.attachments,...G4.hookResults];if(NK()&&L_==="from")rq((K3)=>{let iE=K3.findIndex((EH6)=>EH6.uuid===e6.uuid);return[...K3.slice(0,iE===-1?0:iE),...ez]});else rq(ez);if(ZJ(_b6()),jN(r8.options.querySource),L_==="from"){let K3=C98(e6);if(K3)MA(K3.text),Zw(K3.mode)}let _$=_Y("app:toggleTranscript","Global","ctrl+o");A_({key:"summarize-ctrl-o-hint",text:`Conversation summarized (${_$} for history)`,priority:"medium",timeoutMs:8000})},onRestoreMessage:Vb6,onClose:()=>{RA(!1),I1(void 0)}}),!1]}),null]})})},Eb6)]});if(NK())return D(bD8,{mouseTracking:ul_(),children:xb6});return xb6}var xD8,D3,I_,H9$=()=>({state:"closed",handleTranscriptSelect:()=>{}}),M9$=()=>{},f9$=()=>({}),RW7=null,j9$=(_)=>()=>{},J9$=()=>!1,X9$=(_,q)=>!1,ID8,P9$,W9$=3000,SW7,EW7="❏",Z9$=960;var pD8=h(()=>{J_();Cw_();Lq();Q6();$F();IK();XO7();_J8();OE();Q6();WO7();GO7();Qz();IM_();SO7();ib();AR();jj();xM_();J_();sM();__();IO7();mF();R_();qq();yG6();EH();Z36();k36();Hz();gO7();dk();v1();IU();BO7();eO7();C$();dM_();wY7();w17();X17();D17();zj7();IW8();Mj7();Jj7();Pj7();Dj7();Tj7();Rj7();jw();TD();FO6();kX();f9();iW8();pv();gj7();EX8();Uj7();dj7();rv();sP8();lj7();nj7();aj7();ZL();D9();lR();sj7();ej7();$27();Y27();W_();D_();v27();XO();GP8();O9();A5();M06();hX();Y8();eS();P8();m96();F5();u$();I27();g27();B27();Ns();bo();d27();Kq_();L28();DH_();l27();a27();OD8();jh6();_78();t27();f4_();tO_();wU();H$();_J7();mH();hB();Bw8();gk();c8();OY();VK();jw6();a06();_k();yL6();Tj();$I();sX();GC();VK();BS6();mL();HU();YJ7();Uz();MJ7();Mw();XJ7();e28();t28();Ij();pw();x16();ZJ7();Aw_();vJ7();yo();tr();lq8();NJ7();yJ7();iK8();ww();jF();SJ7();CJ7();uJ7();cJ7();UJ7();QJ7();KX7();wX7();HX7();yX7();u48();Nz();Lj_();IX7();uX7();mX7();nH8();UX7();dX7();Sf_();iX7();$P7();OP7();MP7();jP7();ZD8();WP7();GP7();VP7();nA_();LP7();SP7();IP7();uP7();gP7();UP7();dP7();rP7();_W7();wW7();HW7();RP8();MW7();C$();Gj8();$9();jW7();vW7();BX();Y1();y1();a();xD8=A6(s6(),1),D3=A6(a6(),1),I_=A6(a6(),1),ID8=[],P9$={maybeLoadOlder:(_)=>{}};SW7=["❏","❐"]});async function qb6(_,q,K,A){let{App:z}=await Promise.resolve().then(() => (uX8(),xX8)),{REPL:$}=await Promise.resolve().then(() => (pD8(),bW7));await A(_,D(z,{...q,children:D($,{...K})}))}var CW7=h(()=>{a()});async function k9$(){if(V3())return V("[Bootstrap] Skipped: Nonessential traffic disabled"),null;if($8()!=="firstParty")return V("[Bootstrap] Skipped: 3P provider"),null;let _=bW();if(!(Iq()?.accessToken&&CW())&&!_)return V("[Bootstrap] Skipped: no usable OAuth or API key"),null;let K=`${Dq().BASE_API_URL}/api/claude_cli/bootstrap`;try{return await Kn(async()=>{let A=Iq()?.accessToken,z;if(A&&CW())z={Authorization:`Bearer ${A}`,"anthropic-beta":r1};else if(_)z={"x-api-key":_};else return V("[Bootstrap] No auth available on retry, aborting"),null;V("[Bootstrap] Fetching");let $=await z8.get(K,{headers:{"Content-Type":"application/json","User-Agent":VY(),...z},timeout:5000}),w=T9$().safeParse($.data);if(!w.success)return V(`[Bootstrap] Response failed validation: ${w.error.message}`),null;return V("[Bootstrap] Fetch ok"),w.data})}catch(A){throw V(`[Bootstrap] Fetch failed: ${z8.isAxiosError(A)?A.response?.status??A.code:"unknown"}`),A}}async function IW7(){try{let _=await k9$();if(!_)return;let q=_.client_data??null,K=_.additional_model_options??[],A=$_();if(N2(A.clientDataCache,q)&&N2(A.additionalModelOptionsCache,K)){V("[Bootstrap] Cache unchanged, skipping write");return}V("[Bootstrap] Cache updated, persisting to disk"),b_((z)=>({...z,clientDataCache:q,additionalModelOptionsCache:K}))}catch(_){K6(_)}}var T9$;var xW7=h(()=>{U7();qn();Kq();y3_();i4();Y8();__();wb();D_();F7();T9$=b6(()=>eM.object({client_data:eM.record(eM.unknown()).nullish(),additional_model_options:eM.array(eM.object({model:eM.string(),name:eM.string(),description:eM.string()}).transform(({model:_,name:q,description:K})=>({value:_,label:q,description:K}))).nullish()}))});function V9$(_){try{let q=new URL(_);return q.search="",q.toString().replace(/\/$/,"")}catch{return}}async function uW7(){if(process.env.PUKU_CLI_DISABLE_NONESSENTIAL_TRAFFIC)return;try{let _=await z8.get("https://api.anthropic.com/mcp-registry/v0/servers?version=latest&visibility=commercial",{timeout:5000}),q=new Set;for(let K of _.data.servers)for(let A of K.server.remotes??[]){let z=V9$(A.url);if(z)q.add(z)}N9$=q,V(`[mcp-registry] Loaded ${q.size} official MCP URLs`)}catch(_){V(`Failed to fetch MCP registry: ${B6(_)}`,{level:"error"})}}var N9$=void 0;var pW7=h(()=>{U7();__();W_()});import{posix as mW7,win32 as gW7}from"path";function R9$(){let _=process.argv[1]||"",q=process.execPath||process.argv[0]||"";if(r_()==="windows")_=_.split(gW7.sep).join(mW7.sep),q=q.split(gW7.sep).join(mW7.sep);let K=[_,q],A=["/build-ant/","/build-external/","/build-external-native/","/build-ant-native/"];return K.some((z)=>A.some(($)=>z.includes($)))}function E9$(_){let q=`${_.name}: ${_.message}`;return L9$.some((K)=>K.test(q))}function cW7(){let _=process.listeners("warning");if(Qj_&&_.includes(Qj_))return;if(!R9$())process.removeAllListeners("warning");Qj_=(K)=>{try{let A=`${K.name}: ${K.message.slice(0,50)}`,z=dj_.get(A)||0;if(dj_.has(A)||dj_.size<y9$)dj_.set(A,z+1);let $=E9$(K);if(l("ev_event",{is_internal:$?1:0,occurrence_count:z+1,classname:K.name,...process.env.USER_TYPE==="ant"&&{message:K.message}}),C6(process.env.PUKU_CLI_DEBUG))V(`${$?"[Internal Warning]":"[Warning]"} ${K.toString()}`,{level:"warn"})}catch{}},process.on("warning",Qj_)}var y9$=1000,dj_,L9$,Qj_=null;var BW7=h(()=>{__();R_();iK();dj_=new Map;L9$=[/MaxListenersExceededWarning.*AbortSignal/,/MaxListenersExceededWarning.*EventTarget/]});function lj_(){let _=UW7.c(1),q;if(_[0]===Symbol.for("react.memo_cache_sentinel"))q=y(T,{children:["MCP servers may execute code or access system resources. All tool calls require approval. Learn more in the"," ",D(cq,{url:"https://puku.sh/docs/en/mcp",children:"MCP documentation"}),"."]}),_[0]=q;else q=_[0];return q}var UW7;var mD8=h(()=>{Q6();a();UW7=A6(s6(),1)});function dW7(_){let q=FW7.c(13),{serverName:K,onDone:A}=_,z;if(q[0]!==A||q[1]!==K)z=function(J){l("ev_event",{choice:J});_:switch(J){case"yes":case"yes_all":{let P=(x8()||{}).enabledMcpjsonServers||[];if(!P.includes(K))k8("localSettings",{enabledMcpjsonServers:[...P,K]});if(J==="yes_all")k8("localSettings",{enableAllProjectMcpServers:!0});A();break _}case"no":{let P=(x8()||{}).disabledMcpjsonServers||[];if(!P.includes(K))k8("localSettings",{disabledMcpjsonServers:[...P,K]});A()}}},q[0]=A,q[1]=K,q[2]=z;else z=q[2];let $=z,w=`New MCP server found in .mcp.json: ${K}`,O;if(q[3]!==$)O=()=>$("no"),q[3]=$,q[4]=O;else O=q[4];let Y;if(q[5]===Symbol.for("react.memo_cache_sentinel"))Y=D(lj_,{}),q[5]=Y;else Y=q[5];let H;if(q[6]===Symbol.for("react.memo_cache_sentinel"))H=[{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"}],q[6]=H;else H=q[6];let M;if(q[7]!==$)M=D(g_,{options:H,onChange:(j)=>$(j),onCancel:()=>$("no")}),q[7]=$,q[8]=M;else M=q[8];let f;if(q[9]!==w||q[10]!==O||q[11]!==M)f=y(q8,{title:w,color:"warning",onCancel:O,children:[Y,M]}),q[9]=w,q[10]=O,q[11]=M,q[12]=f;else f=q[12];return f}var FW7;var QW7=h(()=>{W8();M5();cK();mD8();a();FW7=A6(s6(),1)});function iW7(_){let q=lW7.c(21),{serverNames:K,onDone:A}=_,z;if(q[0]!==A||q[1]!==K)z=function(W){let Z=x8()||{},G=Z.enabledMcpjsonServers||[],v=Z.disabledMcpjsonServers||[],[k,N]=WH_(K,(L)=>W.includes(L));if(l("ev_event",{approved:k.length,rejected:N.length}),k.length>0){let L=[...new Set([...G,...k])];k8("localSettings",{enabledMcpjsonServers:L})}if(N.length>0){let L=[...new Set([...v,...N])];k8("localSettings",{disabledMcpjsonServers:L})}A()},q[0]=A,q[1]=K,q[2]=z;else z=q[2];let $=z,w;if(q[3]!==A||q[4]!==K)w=()=>{let W=(x8()||{}).disabledMcpjsonServers||[],Z=[...new Set([...W,...K])];k8("localSettings",{disabledMcpjsonServers:Z}),A()},q[3]=A,q[4]=K,q[5]=w;else w=q[5];let O=w,Y=`${K.length} new MCP servers found in .mcp.json`,H;if(q[6]===Symbol.for("react.memo_cache_sentinel"))H=D(lj_,{}),q[6]=H;else H=q[6];let M;if(q[7]!==K)M=K.map(h9$),q[7]=K,q[8]=M;else M=q[8];let f;if(q[9]!==O||q[10]!==$||q[11]!==K||q[12]!==M)f=D(U36,{options:M,defaultValue:K,onSubmit:$,onCancel:O,hideIndexes:!0}),q[9]=O,q[10]=$,q[11]=K,q[12]=M,q[13]=f;else f=q[13];let j;if(q[14]!==O||q[15]!==Y||q[16]!==f)j=y(q8,{title:Y,subtitle:"Select any you wish to enable.",color:"warning",onCancel:O,hideInputGuide:!0,children:[H,f]}),q[14]=O,q[15]=Y,q[16]=f,q[17]=j;else j=q[17];let J;if(q[18]===Symbol.for("react.memo_cache_sentinel"))J=D(x,{paddingX:1,children:D(T,{dimColor:!0,italic:!0,children:y(w8,{children:[D(C_,{shortcut:"Space",action:"select"}),D(C_,{shortcut:"Enter",action:"confirm"}),D(F_,{action:"confirm:no",context:"Confirmation",fallback:"Esc",description:"reject all"})]})})}),q[18]=J;else J=q[18];let X;if(q[19]!==j)X=y(q_,{children:[j,J]}),q[19]=j,q[20]=X;else X=q[20];return X}function h9$(_){return{label:_,value:_}}var lW7;var nW7=h(()=>{R28();Q6();W8();c7();HA_();aK();cK();G7();mD8();a();lW7=A6(s6(),1)});async function rW7(_){let{servers:q}=DO("project"),K=Object.keys(q).filter((A)=>T$6(A)==="pending");if(K.length===0)return;await new Promise((A)=>{let z=()=>void A();if(K.length===1&&K[0]!==void 0){let $=K[0];_.render(D($Y,{children:D(pY,{children:D(dW7,{serverName:$,onDone:z})})}))}else _.render(D($Y,{children:D(pY,{children:D(iW7,{serverNames:K,onDone:z})})}))})}var aW7=h(()=>{QW7();nW7();ZL();c8();zf();ZO();a()});var oW7=h(()=>{Y8();__()});class gD8{frameDurations=[];firstRenderTime;lastRenderTime;record(_){let q=performance.now();if(this.firstRenderTime===void 0)this.firstRenderTime=q;this.lastRenderTime=q,this.frameDurations.push(_)}getMetrics(){if(this.frameDurations.length===0||this.firstRenderTime===void 0||this.lastRenderTime===void 0)return;let _=this.lastRenderTime-this.firstRenderTime;if(_<=0)return;let K=this.frameDurations.length/(_/1000),A=this.frameDurations.slice().sort((O,Y)=>Y-O),z=Math.max(0,Math.ceil(A.length*0.01)-1),$=A[z],w=$>0?1000/$:0;return{averageFps:Math.round(K*100)/100,low1PctFps:Math.round(w*100)/100}}}import{realpath as S9$}from"fs/promises";async function sW7(){try{let _=await zp();if(!_){V("Not in a GitHub repository, skipping path mapping update");return}let q=J8(),A=d5(q)??q,z;try{z=(await S9$(A)).normalize("NFC")}catch{z=A}let $=_.toLowerCase(),O=$_().githubRepoPaths?.[$]??[];if(O[0]===z){V(`Path ${z} already tracked for repo ${$}`);return}let Y=O.filter((M)=>M!==z),H=[z,...Y];b_((M)=>({...M,githubRepoPaths:{...M.githubRepoPaths,[$]:H}})),V(`Added ${z} to tracked paths for repo ${$}`)}catch(_){V(`Error updating repo path mapping: ${_}`)}}function tW7(_){let q=$_(),K=_.toLowerCase();return q.githubRepoPaths?.[K]??[]}async function eW7(_){let q=await Promise.all(_.map(P7));return _.filter((K,A)=>q[A])}async function _D7(_,q){try{let K=await tu6(_);if(!K)return!1;let A=VQ(K);if(!A)return!1;return A.toLowerCase()===q.toLowerCase()}catch{return!1}}function qD7(_,q){let K=$_(),A=_.toLowerCase(),z=K.githubRepoPaths?.[A]??[],$=z.filter((O)=>O!==q);if($.length===z.length)return;let w={...K.githubRepoPaths};if($.length===0)delete w[A];else w[A]=$;b_((O)=>({...O,githubRepoPaths:w})),V(`Removed ${q} from tracked paths for repo ${A}`)}var ij_=h(()=>{J_();Y8();__();hJ();M7();Eh();h4()});function KD7(_,q){let[K,A]=nj_.useState(!1);return nj_.useEffect(()=>{A(!1);let z=setTimeout(A,_,!0);return()=>clearTimeout(z)},[_,q]),K}var nj_;var AD7=h(()=>{nj_=A6(a6(),1)});function b9$(){let _=process.env.PUKU_AI_BASE_URL?.replace(/\/$/,"");if(_)return _;return Dq().BASE_API_URL}async function C9$(){try{let q=[`${b9$()}/health`],K=async($)=>{try{let w=await z8.get($,{headers:{"User-Agent":Ag()}});if(w.status!==200)return{success:!1,error:`Failed to connect to ${new URL($).origin}: Status ${w.status}`};return{success:!0}}catch(w){let O=new URL($).origin,Y=Rtq(w);return{success:!1,error:`Failed to connect to ${O}: ${w instanceof Error?w.code||w.message:String(w)}`,sslHint:Y??void 0}}},z=(await Promise.all(q.map(K))).find(($)=>!$.success);if(z)l("ev_event",{isConnectivityError:!1,hasErrorMessage:!!z.error,isSSLError:!!z.sslHint});return z||{success:!0}}catch(_){return K6(_),l("ev_event",{isConnectivityError:!0}),{success:!1,error:`Connectivity check error: ${_ instanceof Error?_.code||_.message:String(_)}`}}}function $D7(_){let q=zD7.c(12),{onSuccess:K}=_,[A,z]=$H6.useState(null),[$,w]=$H6.useState(!0),O=KD7(1000)&&$,Y,H;if(q[0]===Symbol.for("react.memo_cache_sentinel"))Y=()=>{(async function(){let W=await C9$();z(W),w(!1)})()},H=[],q[0]=Y,q[1]=H;else Y=q[0],H=q[1];$H6.useEffect(Y,H);let M,f;if(q[2]!==K||q[3]!==A)M=()=>{if(A?.success)K();else if(A&&!A.success){let X=setTimeout(I9$,100);return()=>clearTimeout(X)}},f=[A,K],q[2]=K,q[3]=A,q[4]=M,q[5]=f;else M=q[4],f=q[5];$H6.useEffect(M,f);let j;if(q[6]!==$||q[7]!==A||q[8]!==O)j=$&&O?y(x,{paddingLeft:1,children:[D(eK,{}),D(T,{children:"Checking connectivity..."})]}):!A?.success&&!$&&y(x,{flexDirection:"column",gap:1,children:[D(T,{color:"error",children:"Unable to connect to Puku services"}),D(T,{color:"error",children:A?.error}),A?.sslHint?y(x,{flexDirection:"column",gap:1,children:[D(T,{children:A.sslHint}),D(T,{color:"suggestion",children:"See https://puku.sh/docs/en/network-config"})]}):y(x,{flexDirection:"column",gap:1,children:[D(T,{children:"Please check your internet connection and network settings."}),$8()==="firstParty"&&y(T,{children:["Note: puku-cli might not be available in your country. Check supported countries at"," ",D(T,{color:"suggestion",children:"https://puku.sh/supported-countries"})]})]})]}),q[6]=$,q[7]=A,q[8]=O,q[9]=j;else j=q[9];let J;if(q[10]!==j)J=D(x,{flexDirection:"column",gap:1,paddingLeft:1,children:j}),q[10]=j,q[11]=J;else J=q[11];return J}function I9$(){return process.exit(1)}var zD7,$H6;var wD7=h(()=>{U7();jw();i4();AD7();Q6();br();wb();D_();F7();a();zD7=A6(s6(),1),$H6=A6(a6(),1)});var YD7={};N_(YD7,{ApproveApiKey:()=>cD8});function cD8(_){let q=OD7.c(17),{customApiKeyTruncated:K,onDone:A}=_,z;if(q[0]!==K||q[1]!==A)z=function(P){_:switch(P){case"yes":{b_((W)=>({...W,customApiKeyResponses:{...W.customApiKeyResponses,approved:[...W.customApiKeyResponses?.approved??[],K]}})),A(!0);break _}case"no":b_((W)=>({...W,customApiKeyResponses:{...W.customApiKeyResponses,rejected:[...W.customApiKeyResponses?.rejected??[],K]}})),A(!1)}},q[0]=K,q[1]=A,q[2]=z;else z=q[2];let $=z,w;if(q[3]!==$)w=()=>$("no"),q[3]=$,q[4]=w;else w=q[4];let O;if(q[5]===Symbol.for("react.memo_cache_sentinel"))O=D(T,{bold:!0,children:"ANTHROPIC_API_KEY"}),q[5]=O;else O=q[5];let Y;if(q[6]!==K)Y=y(T,{children:[O,y(T,{children:[": sk-ant-...",K]})]}),q[6]=K,q[7]=Y;else Y=q[7];let H;if(q[8]===Symbol.for("react.memo_cache_sentinel"))H=D(T,{children:"Do you want to use this API key?"}),q[8]=H;else H=q[8];let M;if(q[9]===Symbol.for("react.memo_cache_sentinel"))M={label:"Yes",value:"yes"},q[9]=M;else M=q[9];let f;if(q[10]===Symbol.for("react.memo_cache_sentinel"))f=[M,{label:y(T,{children:["No (",D(T,{bold:!0,children:"recommended"}),")"]}),value:"no"}],q[10]=f;else f=q[10];let j;if(q[11]!==$)j=D(g_,{defaultValue:"no",defaultFocusValue:"no",options:f,onChange:(X)=>$(X),onCancel:()=>$("no")}),q[11]=$,q[12]=j;else j=q[12];let J;if(q[13]!==w||q[14]!==Y||q[15]!==j)J=y(q8,{title:"Detected a custom API key in your environment",color:"warning",onCancel:w,children:[Y,H,j]}),q[13]=w,q[14]=Y,q[15]=j,q[16]=J;else J=q[16];return J}var OD7;var BD8=h(()=>{Q6();Y8();M5();cK();a();OD7=A6(s6(),1)});function u9$(){return D(x,{flexDirection:"column",width:UD8,overflow:"hidden",children:D(T,{wrap:"truncate",children:x9$})})}function rj_(){let[_]=Yq(),q="Welcome to puku-cli";if(C8.terminal==="Apple_Terminal")return D(p9$,{theme:_,welcomeMessage:"Welcome to puku-cli"});if(["light","light-daltonized","light-ansi"].includes(_))return D(FD8,{welcomeMessage:"Welcome to puku-cli",isLight:!0});return D(FD8,{welcomeMessage:"Welcome to puku-cli",isLight:!1})}function FD8({welcomeMessage:_,isLight:q}){let K=typeof process<"u"&&process.stdout?.columns?process.stdout.columns:80,A=Math.min(K,100),z="…".repeat(A),$=30,w=A>=UD8+30,O=w?A-UD8:A,M=(q?[" "," "," ░░░░░░"," ░░░ ░░░░░░░░░░"," ░░░░░░░░░░░░░░░░░░░ "," ░░░░"," ░░░░░░░░"," ░░░░░░░░░░░░░░░░"]:[" *"," *"," ░░░░░░"," ░░░ ░░░░░░░░░░"," ░░░░░░░░░░░░░░░░░░░ *","* ░░░░"," ░░░░░░░░"," ░░░░░░░░░░░░░░░░"]).map((f)=>f.length>O?f.slice(0,O):f);return y(x,{width:A,flexDirection:"column",children:[y(T,{children:[y(T,{color:"puku",children:[_," "]}),y(T,{dimColor:!0,children:["v","1.8.41"," "]})]}),D(x,{marginBottom:1,children:D(T,{dimColor:!0,children:z})}),y(x,{flexDirection:"row",children:[D(x,{flexDirection:"column",width:O,overflow:"hidden",flexShrink:0,children:M.map((f,j)=>D(T,{children:f},j))}),w&&y(q_,{children:[D(x,{flexShrink:0,children:D(u9$,{})}),D(x,{flexGrow:1})]})]}),D(T,{dimColor:!0,children:z})]})}function p9$({theme:_,welcomeMessage:q}){let K=["light","light-daltonized","light-ansi"].includes(_);return D(FD8,{welcomeMessage:q,isLight:K})}var x9$,UD8=15;var dD8=h(()=>{Q6();n5();a();x9$=`\x1B[0m\x1B[38;5;177m▆\x1B[48;5;183m \x1B[0m\x1B[38;5;177m▆\x1B[0m
7753
+ `)},P_=()=>{yH6((L_)=>L_+1)};return HZ?.on("suspend",e6),HZ?.on("resume",P_),()=>{HZ?.off("suspend",e6),HZ?.off("resume",P_)}},[HZ]);let hb6=I_.useMemo(()=>{if(!SK)return null;let e6=X7.filter((XK)=>XK.type==="progress"&&XK.data.type==="hook_progress"&&(XK.data.hookEvent==="Stop"||XK.data.hookEvent==="SubagentStop"));if(e6.length===0)return null;let P_=e6.at(-1)?.toolUseID;if(!P_)return null;if(X7.some((XK)=>XK.type==="system"&&XK.subtype==="stop_hook_summary"&&XK.toolUseID===P_))return null;let S8=e6.filter((XK)=>XK.toolUseID===P_),i8=S8.length,eq=b8(X7,(XK)=>{if(XK.type!=="attachment")return!1;let Y7=XK.attachment;return"hookEvent"in Y7&&(Y7.hookEvent==="Stop"||Y7.hookEvent==="SubagentStop")&&"toolUseID"in Y7&&Y7.toolUseID===P_}),r8=S8.find((XK)=>XK.data.statusMessage)?.data.statusMessage;if(r8)return i8===1?`${r8}…`:`${r8}… ${eq}/${i8}`;let wq=S8[0]?.data.hookEvent==="SubagentStop"?"subagent stop":"stop";return i8===1?`running ${wq} hook`:`running stop hooks… ${eq}/${i8}`},[X7,SK]),nN=I_.useCallback(()=>{QK({messagesLength:X7.length,streamingToolUsesLength:qz.length})},[X7.length,qz.length]),be=I_.useCallback(()=>{QK(null)},[]),$u=NK()&&!g,vJ=I_.useRef(null),[kT,TJ]=I_.useState(!1),[NT,RH6]=I_.useState(""),[wu,Ce]=I_.useState(0),[Dd,O7]=I_.useState(0),x2_=I_.useCallback((e6,P_)=>{Ce(e6),O7(P_)},[]);uq((e6,P_,L_)=>{if(P_.ctrl||P_.meta)return;if(e6==="/"){vJ.current?.setAnchor(),TJ(!0),L_.stopImmediatePropagation();return}let S8=e6[0];if((S8==="n"||S8==="N")&&e6===S8.repeat(e6.length)&&wu>0){let i8=S8==="n"?vJ.current?.nextMatch:vJ.current?.prevMatch;if(i8)for(let eq=0;eq<e6.length;eq++)i8();L_.stopImmediatePropagation()}},{isActive:j6==="transcript"&&$u&&!kT&&!I6});let{setQuery:Ou,scanElement:Sb6,setPositions:dE}=JO7(),Zd=G8().columns,bb6=D3.useRef(Zd);D3.useEffect(()=>{if(bb6.current!==Zd){if(bb6.current=Zd,NT||kT)TJ(!1),RH6(""),Ce(0),O7(0),vJ.current?.disarmSearch(),Ou("")}},[Zd,NT,kT,Ou]),uq((e6,P_,L_)=>{if(P_.ctrl||P_.meta)return;if(e6==="q"){be(),L_.stopImmediatePropagation();return}if(e6==="["&&!I6)o6(!0),k6(!0),L_.stopImmediatePropagation();else if(e6==="v"){if(L_.stopImmediatePropagation(),i6.current)return;i6.current=!0;let S8=H_.current,i8=(eq)=>{if(S8!==H_.current)return;clearTimeout(Z6.current),w_(eq)};i8(`rendering ${i_.length} messages…`),(async()=>{try{let eq=Math.max(80,(process.stdout.columns??80)-6),wq=(await BH_(i_,_z,eq)).replace(/[ \t]+$/gm,""),XK=w9$(O9$(),`cc-transcript-${Date.now()}.txt`);await Y9$(XK,wq);let Y7=C9_(XK);i8(Y7?`opening ${XK}`:`wrote ${XK} · no $VISUAL/$EDITOR set`)}catch(eq){i8(`render failed: ${eq instanceof Error?eq.message:String(eq)}`)}if(i6.current=!1,S8!==H_.current)return;Z6.current=setTimeout((eq)=>eq(""),4000,w_)})()}},{isActive:j6==="transcript"&&$u&&!kT});let Gd=j6==="transcript"&&$u;I_.useEffect(()=>{if(!Gd)RH6(""),Ce(0),O7(0),TJ(!1),H_.current++,clearTimeout(Z6.current),o6(!1),w_("")},[Gd]),I_.useEffect(()=>{if(Ou(Gd?NT:""),!Gd)dE(null)},[Gd,NT,Ou,dE]);let Cb6={screen:j6,setScreen:T6,showAllInTranscript:R6,setShowAllInTranscript:k6,messageCount:X7.length,onEnterTranscript:nN,onExitTranscript:be,virtualScrollActive:$u,searchBarOpen:kT},u2_=vq?i_.slice(0,vq.messagesLength):i_,LH6=vq?qz.slice(0,vq.streamingToolUsesLength):qz;if(tj7({onOpenBackgroundTasks:V8?void 0:()=>sx(!0)}),O27(),j6==="transcript"){let e6=NK()&&!g&&!I6?t4:void 0,P_=D(Wt,{messages:u2_,tools:_z,commands:sq,verbose:!0,toolJSX:null,toolUseConfirmQueue:[],inProgressToolUseIDs:xP,isMessageSelectorVisible:!1,conversationId:vT,screen:j6,agentDefinitions:t,streamingToolUses:LH6,showAllInTranscript:R6,onOpenRateLimitOptions:Xd,isLoading:SK,hidePastThinking:!0,streamingThinking:i7,scrollRef:e6,jumpRef:vJ,onSearchMatchesChange:x2_,scanElement:Sb6,setPositions:dE,disableRenderCap:I6}),L_=wK&&D(x,{flexDirection:"column",width:"100%",children:wK.jsx}),S8=y(pY,{children:[D(hW7,{isAnimating:bq,title:Q3,disabled:p,noPrefix:_A}),D(nW8,{...Cb6}),null,D(rW8,{onSubmit:YZ,isActive:!wK?.isLocalJSXCommand}),e6?D(CD8,{scrollRef:t4,isActive:B5!=="ultraplan-choice",isModal:!kT,onScroll:()=>vJ.current?.disarmSearch()}):null,D(aW8,{...ZH6}),e6?D(Zj8,{scrollRef:t4,scrollable:y(q_,{children:[P_,L_,D(yD8,{})]}),bottom:kT?D(D9$,{jumpRef:vJ,initialQuery:"",count:wu,current:Dd,onClose:(i8)=>{if(RH6(wu>0?i8:""),TJ(!1),!i8)Ce(0),O7(0),vJ.current?.setSearchQuery("")},onCancel:()=>{TJ(!1),vJ.current?.setSearchQuery(""),vJ.current?.setSearchQuery(NT),Ou(NT)},setHighlight:Ou}):D(LW7,{showAllInTranscript:R6,virtualScroll:!0,status:U6||void 0,searchBadge:NT&&wu>0?{current:Dd,count:wu}:void 0})}):y(q_,{children:[P_,L_,D(yD8,{}),D(LW7,{showAllInTranscript:R6,virtualScroll:!1,suppressShowAll:I6,status:U6||void 0})]})]});if(e6)return D(bD8,{mouseTracking:ul_(),children:S8});return S8}let QE=m6?$6[m6]:void 0,lE=QE&&vO(QE)?QE:void 0,MZ=lE??(QE&&qY(QE)?QE:void 0),Ib6=MZ?MZ.messages??[]:FN||!SK?X7:i_,rN=sA&&!MZ&&Ib6.length<=QA.current?sA:void 0,fZ=B5==="tool-permission"?D($17,{onDone:()=>bK(([e6,...P_])=>P_),onReject:DH6,toolUseConfirm:x4[0],toolUseContext:rH(X7,X7,X5??Y4(),W6),verbose:Q,workerBadge:x4[0]?.workerBadge,setStickyFooter:NK()?e4:void 0},x4[0]?.toolUseID):null,aH=Zd<yP8,VT=!wK?.shouldHidePromptInput&&!B5&&!$d,UY=NK()&&wK?.isLocalJSXCommand===!0,Ie=UY?wK.jsx:null,xb6=y(pY,{children:[D(hW7,{isAnimating:bq,title:Q3,disabled:p,noPrefix:_A}),D(nW8,{...Cb6}),null,D(rW8,{onSubmit:YZ,isActive:!wK?.isLocalJSXCommand}),D(CD8,{scrollRef:t4,isActive:NK()&&(Ie!=null||!B5||B5==="tool-permission"),onScroll:Ie||fZ||MZ?void 0:p6}),null,D(aW8,{...ZH6}),D(B9_,{dynamicMcpConfig:u6,isStrictMcpConfig:j,children:D(Zj8,{scrollRef:t4,overlay:fZ,bottomFloat:void 0,modal:Ie,modalScrollRef:d3,dividerYRef:bO,hidePill:!!MZ,hideSticky:!!lE,newMessageCount:xE?.count??0,onPillClick:()=>{dj(null),XY(t4.current)},scrollable:y(q_,{children:[D(s27,{}),D(Wt,{messages:Ib6,tools:_z,commands:sq,verbose:Q,toolJSX:wK,toolUseConfirmQueue:x4,inProgressToolUseIDs:lE?lE.inProgressToolUseIDs??new Set:xP,isMessageSelectorVisible:R7,conversationId:vT,screen:j6,streamingToolUses:qz,showAllInTranscript:R6,agentDefinitions:t,onOpenRateLimitOptions:Xd,isLoading:SK,streamingText:SK&&!MZ?GT:null,isBriefOnly:MZ?!1:V6,unseenDivider:MZ?void 0:xE,scrollRef:NK()?t4:void 0,trackStickyPrompt:NK()?!0:void 0,cursor:XJ,setCursor:dj,cursorNavRef:bP}),D(RP7,{}),!Z&&rN&&!Ie&&D(Vo,{param:{text:rN,type:"text"},addMargin:!0,verbose:Q}),wK&&!(wK.isLocalJSXCommand&&wK.isImmediate)&&!UY&&D(x,{flexDirection:"column",width:"100%",children:wK.jsx}),!1,null,D(x,{flexGrow:1}),Ge&&D(JZK,{mode:n8,spinnerTip:M6,responseLengthRef:DJ,apiMetricsRef:zZ,overrideMessage:Xe,spinnerSuffix:hb6,verbose:Q,loadingStartTimeRef:bz,totalPausedMsRef:f4,pauseStartTimeRef:R5,overrideColor:O_,overrideShimmerColor:Zq,hasActiveTools:xP.size>0,leaderIsIdle:!SK}),!Ge&&!SK&&!sA&&!Od&&V6&&!MZ&&D(XZK,{}),NK()&&D(lf_,{})]}),bottom:y(x,{flexDirection:"row",width:"100%",alignItems:"flex-end",children:[null,y(x,{flexDirection:"column",flexGrow:1,children:[Kz,wK?.isLocalJSXCommand&&wK.isImmediate&&!UY&&D(x,{flexDirection:"column",width:"100%",children:wK.jsx}),!Ge&&!wK?.isLocalJSXCommand&&_6&&$K&&$K.length>0&&D(x,{width:"100%",flexDirection:"column",children:D(H4_,{tasks:$K,isStandalone:!0})}),B5==="sandbox-permission"&&D(VD8,{hostPattern:p7[0].hostPattern,onUserResponse:(e6)=>{let{allow:P_,persistToSettings:L_}=e6,S8=p7[0];if(!S8)return;let i8=S8.hostPattern.host;if(L_){let r8={type:"addRules",rules:[{toolName:xw,ruleContent:`domain:${i8}`}],behavior:P_?"allow":"deny",destination:"localSettings"};S6((wq)=>({...wq,toolPermissionContext:yz(wq.toolPermissionContext,r8)})),CR(r8),N8.refreshConfig()}NA((r8)=>{return r8.filter((wq)=>wq.hostPattern.host===i8).forEach((wq)=>wq.resolvePromise(P_)),r8.filter((wq)=>wq.hostPattern.host!==i8)});let eq=N$.current.get(i8);if(eq){for(let r8 of eq)r8();N$.current.delete(i8)}}},p7[0].hostPattern.host),B5==="prompt"&&D(W17,{title:j4[0].title,toolInputSummary:j4[0].toolInputSummary,request:j4[0].request,onRespond:(e6)=>{let P_=j4[0];if(!P_)return;P_.resolve({prompt_response:P_.request.prompt,selected:e6}),tz(([,...L_])=>L_)},onAbort:()=>{let e6=j4[0];if(!e6)return;e6.reject(Error("Prompt cancelled by user")),tz(([,...P_])=>P_)}},j4[0].request.prompt),J6&&D(FX8,{toolName:J6.toolName,description:J6.description}),w6&&D(FX8,{toolName:"Network Access",description:`Waiting for leader to approve network access to ${w6.host}`}),B5==="worker-sandbox-permission"&&D(VD8,{hostPattern:{host:H6.queue[0].host,port:void 0},onUserResponse:(e6)=>{let{allow:P_,persistToSettings:L_}=e6,S8=H6.queue[0];if(!S8)return;let i8=S8.host;if(fDK(S8.workerName,S8.requestId,i8,P_,f6?.teamName),L_&&P_){let eq={type:"addRules",rules:[{toolName:xw,ruleContent:`domain:${i8}`}],behavior:"allow",destination:"localSettings"};S6((r8)=>({...r8,toolPermissionContext:yz(r8.toolPermissionContext,eq)})),CR(eq),N8.refreshConfig()}S6((eq)=>({...eq,workerSandboxPermissions:{...eq.workerSandboxPermissions,queue:eq.workerSandboxPermissions.queue.slice(1)}}))}},H6.queue[0].requestId),B5==="elicitation"&&D(J17,{event:q6.queue[0],onResponse:(e6,P_)=>{let L_=q6.queue[0];if(!L_)return;if(L_.respond({action:e6,content:P_}),!(L_.params.mode==="url"&&e6==="accept"))S6((i8)=>({...i8,elicitation:{queue:i8.elicitation.queue.slice(1)}}))},onWaitingDismiss:(e6)=>{let P_=q6.queue[0];S6((L_)=>({...L_,elicitation:{queue:L_.elicitation.queue.slice(1)}})),P_?.onWaitingDismiss?.(e6)}},q6.queue[0].serverName+":"+String(q6.queue[0].requestId)),B5==="cost"&&D(PO7,{onDone:()=>{uP(!1),We(!0),b_((e6)=>({...e6,hasAcknowledgedCostThreshold:!0})),l("ev_event",{})}}),B5==="idle-return"&&Ad&&D(ZO7,{idleMinutes:Ad.idleMinutes,totalInputTokens:RJ(),onDone:async(e6)=>{let P_=Ad;if(fH6(null),l("ev_event",{action:e6,idleMinutes:Math.round(P_.idleMinutes),messageCount:_q.current.length,totalInputTokens:RJ()}),e6==="dismiss"){MA(P_.input);return}if(e6==="never")b_((L_)=>{if(L_.idleReturnDismissed)return L_;return{...L_,idleReturnDismissed:!0}});if(e6==="clear"){let{clearConversation:L_}=await Promise.resolve().then(() => (IY_(),t18));await L_({setMessages:rq,readFileState:TT.current,discoveredSkillNames:wZ.current,loadedNestedMemoryPaths:ke.current,getAppState:()=>h6.getState(),setAppState:S6,setConversationId:ZJ}),V$.current=!1,nw(void 0),_u.current.clear(),Te.current=0}Pe.current=!0,Se.current(P_.input,{setCursorOffset:()=>{},clearBuffer:()=>{},resetHistory:()=>{}})}}),B5==="ide-onboarding"&&D(Qq8,{onDone:()=>K8(!1),installationStatus:Z8}),!1,!1,B5==="effort-callout"&&D(TJ7,{model:W6,onDone:(e6)=>{if(oq(!1),e6!=="dismiss")S6((P_)=>({...P_,effortValue:e6}))}}),B5==="remote-callout"&&D(VJ7,{onDone:(e6)=>{S6((P_)=>{if(!P_.showRemoteCallout)return P_;return{...P_,showRemoteCallout:!1,...e6==="enable"&&{replBridgeEnabled:!0,replBridgeExplicit:!0,replBridgeOutboundOnly:!1}}})}}),Hd,B5==="plugin-hint"&&B7&&D(fP7,{pluginName:B7.pluginName,pluginDescription:B7.pluginDescription,marketplaceName:B7.marketplaceName,sourceCommand:B7.sourceCommand,onResponse:F4}),B5==="lsp-recommendation"&&YA&&D(wP7,{pluginName:YA.pluginName,pluginDescription:YA.pluginDescription,fileExtension:YA.fileExtension,onResponse:vA}),B5==="desktop-upsell"&&D(TX7,{onDone:()=>s4(!1)}),null,null,Yd(),!wK?.shouldHidePromptInput&&!B5&&!Zb6&&!Z&&!XJ&&!d36()&&y(q_,{children:[Ku&&D(KW7,{onRun:b2_,onCancel:GH6,reason:$W7(Ku)}),ex.state!=="closed"?D(FS6,{state:ex.state,lastResponse:ex.lastResponse,handleSelect:ex.handleSelect,inputValue:w7,setInputValue:MA,onRequestFeedback:mP}):iN.state!=="closed"?D(FS6,{state:iN.state,lastResponse:iN.lastResponse,handleSelect:iN.handleSelect,handleTranscriptSelect:iN.handleTranscriptSelect,inputValue:w7,setInputValue:MA,onRequestFeedback:mP,message:"How well did Claude use its memory? (optional)"}):D(FS6,{state:UE.state,lastResponse:UE.lastResponse,handleSelect:UE.handleSelect,handleTranscriptSelect:UE.handleTranscriptSelect,inputValue:w7,setInputValue:MA,onRequestFeedback:Re.current?void 0:mP}),nH.state!=="closed"&&D(FS6,{state:nH.state,lastResponse:null,handleSelect:()=>{},handleTranscriptSelect:nH.handleTranscriptSelect,inputValue:w7,setInputValue:MA}),!1,XH6&&D(OW7,{}),D(Aj7,{debug:q,ideSelection:y8,hasSuppressedDialogs:!!Au,isLocalJSXCommandActive:V8,getToolUseContext:rH,toolPermissionContext:F,setToolPermissionContext:jd,apiKeyStatus:qu,commands:sq,agents:t.activeAgents,isLoading:SK,onExit:FE,verbose:Q,messages:X7,onAutoUpdaterResult:Q4,autoUpdaterResult:pK,input:w7,onInputChange:MA,mode:PY,onModeChange:Zw,stashedPrompt:v3,setStashedPrompt:CP,submitCount:IO,onShowMessageSelector:vH6,onMessageActionsEnter:void 0,mcpClients:u8,pastedContents:WJ,setPastedContents:iH,vimMode:jH6,setVimMode:Xb6,showBashesDialog:$d,setShowBashesDialog:sx,onSubmit:YZ,onAgentSubmit:S2_,isSearchingHistory:m9,setIsSearchingHistory:Pb6,helpOpen:u1,setHelpOpen:Wb6,insertTextRef:void 0,voiceInterimRange:zu.interimRange}),D(DJ7,{onBackgroundSession:U5,isLoading:SK})]}),XJ&&D(gMK,{cursor:XJ}),B5==="message-selector"&&D(tX8,{messages:X7,preselectedMessage:WY,onPreRestore:Le,onRestoreCode:async(e6)=>{await V5_((P_)=>{S6((L_)=>({...L_,fileHistory:P_(L_.fileHistory)}))},e6.uuid)},onSummarize:async(e6,P_,L_="from")=>{let S8=Xw(X7),i8=S8.indexOf(e6);if(i8===-1){rq((K3)=>[...K3,PO("That message is no longer in the active context (snipped or pre-compact). Choose a more recent message.","warning")]);return}let eq=Y4(),r8=rH(S8,[],eq,W6),wq=r8.getAppState(),XK=await k1(r8.options.tools,r8.options.mainLoopModel,Array.from(wq.toolPermissionContext.additionalWorkingDirectories.keys()),r8.options.mcpClients),Y7=Uv({mainThreadAgentDefinition:void 0,toolUseContext:r8,customSystemPrompt:r8.options.customSystemPrompt,defaultSystemPrompt:XK,appendSystemPrompt:r8.options.appendSystemPrompt}),[S7,q3]=await Promise.all([l$(),I3()]),G4=await sgK(S8,i8,r8,{systemPrompt:Y7,userContext:S7,systemContext:q3,toolUseContext:r8,forkContextMessages:S8},P_,L_),l3=G4.messagesToKeep??[],gP=L_==="up_to"?[...G4.summaryMessages,...l3]:[...l3,...G4.summaryMessages],ez=[G4.boundaryMarker,...gP,...G4.attachments,...G4.hookResults];if(NK()&&L_==="from")rq((K3)=>{let iE=K3.findIndex((EH6)=>EH6.uuid===e6.uuid);return[...K3.slice(0,iE===-1?0:iE),...ez]});else rq(ez);if(ZJ(_b6()),jN(r8.options.querySource),L_==="from"){let K3=C98(e6);if(K3)MA(K3.text),Zw(K3.mode)}let _$=_Y("app:toggleTranscript","Global","ctrl+o");A_({key:"summarize-ctrl-o-hint",text:`Conversation summarized (${_$} for history)`,priority:"medium",timeoutMs:8000})},onRestoreMessage:Vb6,onClose:()=>{RA(!1),I1(void 0)}}),!1]}),null]})})},Eb6)]});if(NK())return D(bD8,{mouseTracking:ul_(),children:xb6});return xb6}var xD8,D3,I_,H9$=()=>({state:"closed",handleTranscriptSelect:()=>{}}),M9$=()=>{},f9$=()=>({}),RW7=null,j9$=(_)=>()=>{},J9$=()=>!1,X9$=(_,q)=>!1,ID8,P9$,W9$=3000,SW7,EW7="❏",Z9$=960;var pD8=h(()=>{J_();Cw_();Lq();Q6();$F();IK();XO7();_J8();OE();Q6();WO7();GO7();Qz();IM_();SO7();ib();AR();jj();xM_();J_();sM();__();IO7();mF();R_();qq();yG6();EH();Z36();k36();Hz();gO7();dk();v1();IU();BO7();eO7();C$();dM_();wY7();w17();X17();D17();zj7();IW8();Mj7();Jj7();Pj7();Dj7();Tj7();Rj7();jw();TD();FO6();kX();f9();iW8();pv();gj7();EX8();Uj7();dj7();rv();sP8();lj7();nj7();aj7();ZL();D9();lR();sj7();ej7();$27();Y27();W_();D_();v27();XO();GP8();O9();A5();M06();hX();Y8();eS();P8();m96();F5();u$();I27();g27();B27();Ns();bo();d27();Kq_();L28();DH_();l27();a27();OD8();jh6();_78();t27();f4_();tO_();wU();H$();_J7();mH();hB();Bw8();gk();c8();OY();VK();jw6();a06();_k();yL6();Tj();$I();sX();GC();VK();BS6();mL();HU();YJ7();Uz();MJ7();Mw();XJ7();e28();t28();Ij();pw();x16();ZJ7();Aw_();vJ7();yo();tr();lq8();NJ7();yJ7();iK8();ww();jF();SJ7();CJ7();uJ7();cJ7();UJ7();QJ7();KX7();wX7();HX7();yX7();u48();Nz();Lj_();IX7();uX7();mX7();nH8();UX7();dX7();Sf_();iX7();$P7();OP7();MP7();jP7();ZD8();WP7();GP7();VP7();nA_();LP7();SP7();IP7();uP7();gP7();UP7();dP7();rP7();_W7();wW7();HW7();RP8();MW7();C$();Gj8();$9();jW7();vW7();BX();Y1();y1();a();xD8=A6(s6(),1),D3=A6(a6(),1),I_=A6(a6(),1),ID8=[],P9$={maybeLoadOlder:(_)=>{}};SW7=["❏","❐"]});async function qb6(_,q,K,A){let{App:z}=await Promise.resolve().then(() => (uX8(),xX8)),{REPL:$}=await Promise.resolve().then(() => (pD8(),bW7));await A(_,D(z,{...q,children:D($,{...K})}))}var CW7=h(()=>{a()});async function k9$(){if(V3())return V("[Bootstrap] Skipped: Nonessential traffic disabled"),null;if($8()!=="firstParty")return V("[Bootstrap] Skipped: 3P provider"),null;let _=bW();if(!(Iq()?.accessToken&&CW())&&!_)return V("[Bootstrap] Skipped: no usable OAuth or API key"),null;let K=`${Dq().BASE_API_URL}/api/claude_cli/bootstrap`;try{return await Kn(async()=>{let A=Iq()?.accessToken,z;if(A&&CW())z={Authorization:`Bearer ${A}`,"anthropic-beta":r1};else if(_)z={"x-api-key":_};else return V("[Bootstrap] No auth available on retry, aborting"),null;V("[Bootstrap] Fetching");let $=await z8.get(K,{headers:{"Content-Type":"application/json","User-Agent":VY(),...z},timeout:5000}),w=T9$().safeParse($.data);if(!w.success)return V(`[Bootstrap] Response failed validation: ${w.error.message}`),null;return V("[Bootstrap] Fetch ok"),w.data})}catch(A){throw V(`[Bootstrap] Fetch failed: ${z8.isAxiosError(A)?A.response?.status??A.code:"unknown"}`),A}}async function IW7(){try{let _=await k9$();if(!_)return;let q=_.client_data??null,K=_.additional_model_options??[],A=$_();if(N2(A.clientDataCache,q)&&N2(A.additionalModelOptionsCache,K)){V("[Bootstrap] Cache unchanged, skipping write");return}V("[Bootstrap] Cache updated, persisting to disk"),b_((z)=>({...z,clientDataCache:q,additionalModelOptionsCache:K}))}catch(_){K6(_)}}var T9$;var xW7=h(()=>{U7();qn();Kq();y3_();i4();Y8();__();wb();D_();F7();T9$=b6(()=>eM.object({client_data:eM.record(eM.unknown()).nullish(),additional_model_options:eM.array(eM.object({model:eM.string(),name:eM.string(),description:eM.string()}).transform(({model:_,name:q,description:K})=>({value:_,label:q,description:K}))).nullish()}))});function V9$(_){try{let q=new URL(_);return q.search="",q.toString().replace(/\/$/,"")}catch{return}}async function uW7(){if(process.env.PUKU_CLI_DISABLE_NONESSENTIAL_TRAFFIC)return;try{let _=await z8.get("https://api.anthropic.com/mcp-registry/v0/servers?version=latest&visibility=commercial",{timeout:5000}),q=new Set;for(let K of _.data.servers)for(let A of K.server.remotes??[]){let z=V9$(A.url);if(z)q.add(z)}N9$=q,V(`[mcp-registry] Loaded ${q.size} official MCP URLs`)}catch(_){V(`Failed to fetch MCP registry: ${B6(_)}`,{level:"error"})}}var N9$=void 0;var pW7=h(()=>{U7();__();W_()});import{posix as mW7,win32 as gW7}from"path";function R9$(){let _=process.argv[1]||"",q=process.execPath||process.argv[0]||"";if(r_()==="windows")_=_.split(gW7.sep).join(mW7.sep),q=q.split(gW7.sep).join(mW7.sep);let K=[_,q],A=["/build-ant/","/build-external/","/build-external-native/","/build-ant-native/"];return K.some((z)=>A.some(($)=>z.includes($)))}function E9$(_){let q=`${_.name}: ${_.message}`;return L9$.some((K)=>K.test(q))}function cW7(){let _=process.listeners("warning");if(Qj_&&_.includes(Qj_))return;if(!R9$())process.removeAllListeners("warning");Qj_=(K)=>{try{let A=`${K.name}: ${K.message.slice(0,50)}`,z=dj_.get(A)||0;if(dj_.has(A)||dj_.size<y9$)dj_.set(A,z+1);let $=E9$(K);if(l("ev_event",{is_internal:$?1:0,occurrence_count:z+1,classname:K.name,...process.env.USER_TYPE==="ant"&&{message:K.message}}),C6(process.env.PUKU_CLI_DEBUG))V(`${$?"[Internal Warning]":"[Warning]"} ${K.toString()}`,{level:"warn"})}catch{}},process.on("warning",Qj_)}var y9$=1000,dj_,L9$,Qj_=null;var BW7=h(()=>{__();R_();iK();dj_=new Map;L9$=[/MaxListenersExceededWarning.*AbortSignal/,/MaxListenersExceededWarning.*EventTarget/]});function lj_(){let _=UW7.c(1),q;if(_[0]===Symbol.for("react.memo_cache_sentinel"))q=y(T,{children:["MCP servers may execute code or access system resources. All tool calls require approval. Learn more in the"," ",D(cq,{url:"https://puku.sh/docs/en/mcp",children:"MCP documentation"}),"."]}),_[0]=q;else q=_[0];return q}var UW7;var mD8=h(()=>{Q6();a();UW7=A6(s6(),1)});function dW7(_){let q=FW7.c(13),{serverName:K,onDone:A}=_,z;if(q[0]!==A||q[1]!==K)z=function(J){l("ev_event",{choice:J});_:switch(J){case"yes":case"yes_all":{let P=(x8()||{}).enabledMcpjsonServers||[];if(!P.includes(K))k8("localSettings",{enabledMcpjsonServers:[...P,K]});if(J==="yes_all")k8("localSettings",{enableAllProjectMcpServers:!0});A();break _}case"no":{let P=(x8()||{}).disabledMcpjsonServers||[];if(!P.includes(K))k8("localSettings",{disabledMcpjsonServers:[...P,K]});A()}}},q[0]=A,q[1]=K,q[2]=z;else z=q[2];let $=z,w=`New MCP server found in .mcp.json: ${K}`,O;if(q[3]!==$)O=()=>$("no"),q[3]=$,q[4]=O;else O=q[4];let Y;if(q[5]===Symbol.for("react.memo_cache_sentinel"))Y=D(lj_,{}),q[5]=Y;else Y=q[5];let H;if(q[6]===Symbol.for("react.memo_cache_sentinel"))H=[{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"}],q[6]=H;else H=q[6];let M;if(q[7]!==$)M=D(g_,{options:H,onChange:(j)=>$(j),onCancel:()=>$("no")}),q[7]=$,q[8]=M;else M=q[8];let f;if(q[9]!==w||q[10]!==O||q[11]!==M)f=y(q8,{title:w,color:"warning",onCancel:O,children:[Y,M]}),q[9]=w,q[10]=O,q[11]=M,q[12]=f;else f=q[12];return f}var FW7;var QW7=h(()=>{W8();M5();cK();mD8();a();FW7=A6(s6(),1)});function iW7(_){let q=lW7.c(21),{serverNames:K,onDone:A}=_,z;if(q[0]!==A||q[1]!==K)z=function(W){let Z=x8()||{},G=Z.enabledMcpjsonServers||[],v=Z.disabledMcpjsonServers||[],[k,N]=WH_(K,(L)=>W.includes(L));if(l("ev_event",{approved:k.length,rejected:N.length}),k.length>0){let L=[...new Set([...G,...k])];k8("localSettings",{enabledMcpjsonServers:L})}if(N.length>0){let L=[...new Set([...v,...N])];k8("localSettings",{disabledMcpjsonServers:L})}A()},q[0]=A,q[1]=K,q[2]=z;else z=q[2];let $=z,w;if(q[3]!==A||q[4]!==K)w=()=>{let W=(x8()||{}).disabledMcpjsonServers||[],Z=[...new Set([...W,...K])];k8("localSettings",{disabledMcpjsonServers:Z}),A()},q[3]=A,q[4]=K,q[5]=w;else w=q[5];let O=w,Y=`${K.length} new MCP servers found in .mcp.json`,H;if(q[6]===Symbol.for("react.memo_cache_sentinel"))H=D(lj_,{}),q[6]=H;else H=q[6];let M;if(q[7]!==K)M=K.map(h9$),q[7]=K,q[8]=M;else M=q[8];let f;if(q[9]!==O||q[10]!==$||q[11]!==K||q[12]!==M)f=D(U36,{options:M,defaultValue:K,onSubmit:$,onCancel:O,hideIndexes:!0}),q[9]=O,q[10]=$,q[11]=K,q[12]=M,q[13]=f;else f=q[13];let j;if(q[14]!==O||q[15]!==Y||q[16]!==f)j=y(q8,{title:Y,subtitle:"Select any you wish to enable.",color:"warning",onCancel:O,hideInputGuide:!0,children:[H,f]}),q[14]=O,q[15]=Y,q[16]=f,q[17]=j;else j=q[17];let J;if(q[18]===Symbol.for("react.memo_cache_sentinel"))J=D(x,{paddingX:1,children:D(T,{dimColor:!0,italic:!0,children:y(w8,{children:[D(C_,{shortcut:"Space",action:"select"}),D(C_,{shortcut:"Enter",action:"confirm"}),D(F_,{action:"confirm:no",context:"Confirmation",fallback:"Esc",description:"reject all"})]})})}),q[18]=J;else J=q[18];let X;if(q[19]!==j)X=y(q_,{children:[j,J]}),q[19]=j,q[20]=X;else X=q[20];return X}function h9$(_){return{label:_,value:_}}var lW7;var nW7=h(()=>{R28();Q6();W8();c7();HA_();aK();cK();G7();mD8();a();lW7=A6(s6(),1)});async function rW7(_){let{servers:q}=DO("project"),K=Object.keys(q).filter((A)=>T$6(A)==="pending");if(K.length===0)return;await new Promise((A)=>{let z=()=>void A();if(K.length===1&&K[0]!==void 0){let $=K[0];_.render(D($Y,{children:D(pY,{children:D(dW7,{serverName:$,onDone:z})})}))}else _.render(D($Y,{children:D(pY,{children:D(iW7,{serverNames:K,onDone:z})})}))})}var aW7=h(()=>{QW7();nW7();ZL();c8();zf();ZO();a()});var oW7=h(()=>{Y8();__()});class gD8{frameDurations=[];firstRenderTime;lastRenderTime;record(_){let q=performance.now();if(this.firstRenderTime===void 0)this.firstRenderTime=q;this.lastRenderTime=q,this.frameDurations.push(_)}getMetrics(){if(this.frameDurations.length===0||this.firstRenderTime===void 0||this.lastRenderTime===void 0)return;let _=this.lastRenderTime-this.firstRenderTime;if(_<=0)return;let K=this.frameDurations.length/(_/1000),A=this.frameDurations.slice().sort((O,Y)=>Y-O),z=Math.max(0,Math.ceil(A.length*0.01)-1),$=A[z],w=$>0?1000/$:0;return{averageFps:Math.round(K*100)/100,low1PctFps:Math.round(w*100)/100}}}import{realpath as S9$}from"fs/promises";async function sW7(){try{let _=await zp();if(!_){V("Not in a GitHub repository, skipping path mapping update");return}let q=J8(),A=d5(q)??q,z;try{z=(await S9$(A)).normalize("NFC")}catch{z=A}let $=_.toLowerCase(),O=$_().githubRepoPaths?.[$]??[];if(O[0]===z){V(`Path ${z} already tracked for repo ${$}`);return}let Y=O.filter((M)=>M!==z),H=[z,...Y];b_((M)=>({...M,githubRepoPaths:{...M.githubRepoPaths,[$]:H}})),V(`Added ${z} to tracked paths for repo ${$}`)}catch(_){V(`Error updating repo path mapping: ${_}`)}}function tW7(_){let q=$_(),K=_.toLowerCase();return q.githubRepoPaths?.[K]??[]}async function eW7(_){let q=await Promise.all(_.map(P7));return _.filter((K,A)=>q[A])}async function _D7(_,q){try{let K=await tu6(_);if(!K)return!1;let A=VQ(K);if(!A)return!1;return A.toLowerCase()===q.toLowerCase()}catch{return!1}}function qD7(_,q){let K=$_(),A=_.toLowerCase(),z=K.githubRepoPaths?.[A]??[],$=z.filter((O)=>O!==q);if($.length===z.length)return;let w={...K.githubRepoPaths};if($.length===0)delete w[A];else w[A]=$;b_((O)=>({...O,githubRepoPaths:w})),V(`Removed ${q} from tracked paths for repo ${A}`)}var ij_=h(()=>{J_();Y8();__();hJ();M7();Eh();h4()});function KD7(_,q){let[K,A]=nj_.useState(!1);return nj_.useEffect(()=>{A(!1);let z=setTimeout(A,_,!0);return()=>clearTimeout(z)},[_,q]),K}var nj_;var AD7=h(()=>{nj_=A6(a6(),1)});function b9$(){let _=process.env.PUKU_AI_BASE_URL?.replace(/\/$/,"");if(_)return _;return Dq().BASE_API_URL}async function C9$(){try{let q=[`${b9$()}/health`],K=async($)=>{try{let w=await z8.get($,{headers:{"User-Agent":Ag()}});if(w.status!==200)return{success:!1,error:`Failed to connect to ${new URL($).origin}: Status ${w.status}`};return{success:!0}}catch(w){let O=new URL($).origin,Y=Rtq(w);return{success:!1,error:`Failed to connect to ${O}: ${w instanceof Error?w.code||w.message:String(w)}`,sslHint:Y??void 0}}},z=(await Promise.all(q.map(K))).find(($)=>!$.success);if(z)l("ev_event",{isConnectivityError:!1,hasErrorMessage:!!z.error,isSSLError:!!z.sslHint});return z||{success:!0}}catch(_){return K6(_),l("ev_event",{isConnectivityError:!0}),{success:!1,error:`Connectivity check error: ${_ instanceof Error?_.code||_.message:String(_)}`}}}function $D7(_){let q=zD7.c(12),{onSuccess:K}=_,[A,z]=$H6.useState(null),[$,w]=$H6.useState(!0),O=KD7(1000)&&$,Y,H;if(q[0]===Symbol.for("react.memo_cache_sentinel"))Y=()=>{(async function(){let W=await C9$();z(W),w(!1)})()},H=[],q[0]=Y,q[1]=H;else Y=q[0],H=q[1];$H6.useEffect(Y,H);let M,f;if(q[2]!==K||q[3]!==A)M=()=>{if(A?.success)K();else if(A&&!A.success){let X=setTimeout(I9$,100);return()=>clearTimeout(X)}},f=[A,K],q[2]=K,q[3]=A,q[4]=M,q[5]=f;else M=q[4],f=q[5];$H6.useEffect(M,f);let j;if(q[6]!==$||q[7]!==A||q[8]!==O)j=$&&O?y(x,{paddingLeft:1,children:[D(eK,{}),D(T,{children:"Checking connectivity..."})]}):!A?.success&&!$&&y(x,{flexDirection:"column",gap:1,children:[D(T,{color:"error",children:"Unable to connect to Puku services"}),D(T,{color:"error",children:A?.error}),A?.sslHint?y(x,{flexDirection:"column",gap:1,children:[D(T,{children:A.sslHint}),D(T,{color:"suggestion",children:"See https://puku.sh/docs/en/network-config"})]}):y(x,{flexDirection:"column",gap:1,children:[D(T,{children:"Please check your internet connection and network settings."}),$8()==="firstParty"&&y(T,{children:["Note: puku-cli might not be available in your country. Check supported countries at"," ",D(T,{color:"suggestion",children:"https://puku.sh/supported-countries"})]})]})]}),q[6]=$,q[7]=A,q[8]=O,q[9]=j;else j=q[9];let J;if(q[10]!==j)J=D(x,{flexDirection:"column",gap:1,paddingLeft:1,children:j}),q[10]=j,q[11]=J;else J=q[11];return J}function I9$(){return process.exit(1)}var zD7,$H6;var wD7=h(()=>{U7();jw();i4();AD7();Q6();br();wb();D_();F7();a();zD7=A6(s6(),1),$H6=A6(a6(),1)});var YD7={};N_(YD7,{ApproveApiKey:()=>cD8});function cD8(_){let q=OD7.c(17),{customApiKeyTruncated:K,onDone:A}=_,z;if(q[0]!==K||q[1]!==A)z=function(P){_:switch(P){case"yes":{b_((W)=>({...W,customApiKeyResponses:{...W.customApiKeyResponses,approved:[...W.customApiKeyResponses?.approved??[],K]}})),A(!0);break _}case"no":b_((W)=>({...W,customApiKeyResponses:{...W.customApiKeyResponses,rejected:[...W.customApiKeyResponses?.rejected??[],K]}})),A(!1)}},q[0]=K,q[1]=A,q[2]=z;else z=q[2];let $=z,w;if(q[3]!==$)w=()=>$("no"),q[3]=$,q[4]=w;else w=q[4];let O;if(q[5]===Symbol.for("react.memo_cache_sentinel"))O=D(T,{bold:!0,children:"ANTHROPIC_API_KEY"}),q[5]=O;else O=q[5];let Y;if(q[6]!==K)Y=y(T,{children:[O,y(T,{children:[": sk-ant-...",K]})]}),q[6]=K,q[7]=Y;else Y=q[7];let H;if(q[8]===Symbol.for("react.memo_cache_sentinel"))H=D(T,{children:"Do you want to use this API key?"}),q[8]=H;else H=q[8];let M;if(q[9]===Symbol.for("react.memo_cache_sentinel"))M={label:"Yes",value:"yes"},q[9]=M;else M=q[9];let f;if(q[10]===Symbol.for("react.memo_cache_sentinel"))f=[M,{label:y(T,{children:["No (",D(T,{bold:!0,children:"recommended"}),")"]}),value:"no"}],q[10]=f;else f=q[10];let j;if(q[11]!==$)j=D(g_,{defaultValue:"no",defaultFocusValue:"no",options:f,onChange:(X)=>$(X),onCancel:()=>$("no")}),q[11]=$,q[12]=j;else j=q[12];let J;if(q[13]!==w||q[14]!==Y||q[15]!==j)J=y(q8,{title:"Detected a custom API key in your environment",color:"warning",onCancel:w,children:[Y,H,j]}),q[13]=w,q[14]=Y,q[15]=j,q[16]=J;else J=q[16];return J}var OD7;var BD8=h(()=>{Q6();Y8();M5();cK();a();OD7=A6(s6(),1)});function u9$(){return D(x,{flexDirection:"column",width:UD8,overflow:"hidden",children:D(T,{wrap:"truncate",children:x9$})})}function rj_(){let[_]=Yq(),q="Welcome to puku-cli";if(C8.terminal==="Apple_Terminal")return D(p9$,{theme:_,welcomeMessage:"Welcome to puku-cli"});if(["light","light-daltonized","light-ansi"].includes(_))return D(FD8,{welcomeMessage:"Welcome to puku-cli",isLight:!0});return D(FD8,{welcomeMessage:"Welcome to puku-cli",isLight:!1})}function FD8({welcomeMessage:_,isLight:q}){let K=typeof process<"u"&&process.stdout?.columns?process.stdout.columns:80,A=Math.min(K,100),z="…".repeat(A),$=30,w=A>=UD8+30,O=w?A-UD8:A,M=(q?[" "," "," ░░░░░░"," ░░░ ░░░░░░░░░░"," ░░░░░░░░░░░░░░░░░░░ "," ░░░░"," ░░░░░░░░"," ░░░░░░░░░░░░░░░░"]:[" *"," *"," ░░░░░░"," ░░░ ░░░░░░░░░░"," ░░░░░░░░░░░░░░░░░░░ *","* ░░░░"," ░░░░░░░░"," ░░░░░░░░░░░░░░░░"]).map((f)=>f.length>O?f.slice(0,O):f);return y(x,{width:A,flexDirection:"column",children:[y(T,{children:[y(T,{color:"puku",children:[_," "]}),y(T,{dimColor:!0,children:["v","1.8.42"," "]})]}),D(x,{marginBottom:1,children:D(T,{dimColor:!0,children:z})}),y(x,{flexDirection:"row",children:[D(x,{flexDirection:"column",width:O,overflow:"hidden",flexShrink:0,children:M.map((f,j)=>D(T,{children:f},j))}),w&&y(q_,{children:[D(x,{flexShrink:0,children:D(u9$,{})}),D(x,{flexGrow:1})]})]}),D(T,{dimColor:!0,children:z})]})}function p9$({theme:_,welcomeMessage:q}){let K=["light","light-daltonized","light-ansi"].includes(_);return D(FD8,{welcomeMessage:q,isLight:K})}var x9$,UD8=15;var dD8=h(()=>{Q6();n5();a();x9$=`\x1B[0m\x1B[38;5;177m▆\x1B[48;5;183m \x1B[0m\x1B[38;5;177m▆\x1B[0m
7754
7754
  `+`\x1B[7m\x1B[38;5;183m \x1B[38;5;140m▗▅▅▅▅▅▅▅▖\x1B[38;5;183m \x1B[0m
7755
7755
  `+`\x1B[7m\x1B[38;5;183m \x1B[0m\x1B[38;5;140m▋ \x1B[7m▍\x1B[38;5;183m \x1B[0m
7756
7756
  `+`\x1B[7m\x1B[38;5;183m \x1B[0m\x1B[38;5;140m▋ \x1B[7m▍\x1B[38;5;183m \x1B[0m
@@ -9019,7 +9019,7 @@ For each rule, evaluate:
9019
9019
  Be concise and constructive. Only comment on rules that could be improved. If all rules look good, say so.`;var R2_=h(()=>{W_();Sq();dN6();W8();DC();m_()});var y07={};N_(y07,{update:()=>Rj$});async function Rj$(){if($8()!=="firstParty"){MK(Y_.yellow(`Auto-update is not available for third-party provider builds.
9020
9020
  `)+`To update, pull the latest source from the repository and rebuild:
9021
9021
  git pull && bun install && bun run build
9022
- `);return}l("ev_event",{}),MK(`Current version: 1.8.41
9022
+ `);return}l("ev_event",{}),MK(`Current version: 1.8.42
9023
9023
  `);let _=t8()?.autoUpdatesChannel??"latest";MK(`Checking for updates to ${_} version...
9024
9024
  `),V("update: Starting update check"),V("update: Running diagnostic");let q=await rs();if(V(`update: Installation type: ${q.installationType}`),V(`update: Config install method: ${q.configInstallMethod}`),q.multipleInstallations.length>1){MK(`
9025
9025
  `),MK(Y_.yellow("Warning: Multiple installations found")+`
@@ -9034,19 +9034,19 @@ Be concise and constructive. Only comment on rules that could be improved. If al
9034
9034
  `),MK(Y_.yellow("Warning: Cannot update development build")+`
9035
9035
  `),await z7(1);if(q.installationType==="package-manager"){let H=await oY6();if(MK(`
9036
9036
  `),H==="homebrew"){MK(`puku-cli is managed by Homebrew.
9037
- `);let M=await zx(_);if(M&&!w1("1.8.41",M))MK(`Update available: ${"1.8.41"} → ${M}
9037
+ `);let M=await zx(_);if(M&&!w1("1.8.42",M))MK(`Update available: ${"1.8.42"} → ${M}
9038
9038
  `),MK(`
9039
9039
  `),MK(`To update, run:
9040
9040
  `),MK(Y_.bold(" brew upgrade claude-code")+`
9041
9041
  `);else MK(`puku-cli is up to date!
9042
9042
  `)}else if(H==="winget"){MK(`puku-cli is managed by winget.
9043
- `);let M=await zx(_);if(M&&!w1("1.8.41",M))MK(`Update available: ${"1.8.41"} → ${M}
9043
+ `);let M=await zx(_);if(M&&!w1("1.8.42",M))MK(`Update available: ${"1.8.42"} → ${M}
9044
9044
  `),MK(`
9045
9045
  `),MK(`To update, run:
9046
9046
  `),MK(Y_.bold(" winget upgrade Anthropic.puku-cliCode")+`
9047
9047
  `);else MK(`puku-cli is up to date!
9048
9048
  `)}else if(H==="apk"){MK(`puku-cli is managed by apk.
9049
- `);let M=await zx(_);if(M&&!w1("1.8.41",M))MK(`Update available: ${"1.8.41"} → ${M}
9049
+ `);let M=await zx(_);if(M&&!w1("1.8.42",M))MK(`Update available: ${"1.8.42"} → ${M}
9050
9050
  `),MK(`
9051
9051
  `),MK(`To update, run:
9052
9052
  `),MK(Y_.bold(" apk upgrade claude-code")+`
@@ -9076,14 +9076,14 @@ Be concise and constructive. Only comment on rules that could be improved. If al
9076
9076
  `),process.stderr.write(` • Run with --debug flag for more details
9077
9077
  `);let H="@puku/puku-cli";process.stderr.write(` • Manually check: npm view ${H} version
9078
9078
  `),process.stderr.write(` • Check if you need to login: npm whoami
9079
- `),await z7(1)}if($==="1.8.41")MK(Y_.green("puku-cli is up to date (1.8.41)")+`
9080
- `),await z7(0);MK(`New version available: ${$} (current: 1.8.41)
9079
+ `),await z7(1)}if($==="1.8.42")MK(Y_.green("puku-cli is up to date (1.8.42)")+`
9080
+ `),await z7(0);MK(`New version available: ${$} (current: 1.8.42)
9081
9081
  `),MK(`Installing update...
9082
9082
  `);let w=!1,O="";switch(q.installationType){case"npm-local":w=!0,O="local";break;case"npm-global":w=!1,O="global";break;case"unknown":{let H=await Qs();w=H,O=H?"local":"global",MK(Y_.yellow("Warning: Could not determine installation type")+`
9083
9083
  `),MK(`Attempting ${O} update based on file detection...
9084
9084
  `);break}default:process.stderr.write(`Error: Cannot update ${q.installationType} installation
9085
9085
  `),await z7(1)}MK(`Using ${O} installation update method...
9086
- `),V(`update: Update method determined: ${O}`),V(`update: useLocalUpdate: ${w}`);let Y;if(w)V("update: Calling installOrUpdateClaudePackage() for local update"),Y=await WE6(_);else V("update: Calling installGlobalPackage() for global update"),Y=await GE6();switch(V(`update: Installation status: ${Y}`),Y){case"success":MK(Y_.green(`Successfully updated from 1.8.41 to version ${$}`)+`
9086
+ `),V(`update: Update method determined: ${O}`),V(`update: useLocalUpdate: ${w}`);let Y;if(w)V("update: Calling installOrUpdateClaudePackage() for local update"),Y=await WE6(_);else V("update: Calling installGlobalPackage() for global update"),Y=await GE6();switch(V(`update: Installation status: ${Y}`),Y){case"success":MK(Y_.green(`Successfully updated from 1.8.42 to version ${$}`)+`
9087
9087
  `),await FFK();break;case"no_permissions":if(process.stderr.write(`Error: Insufficient permissions to install update
9088
9088
  `),w)process.stderr.write(`Try manually updating with:
9089
9089
  `),process.stderr.write(` cd ~/.puku-cli/local && npm update @puku/puku-cli
@@ -9147,4 +9147,4 @@ Usage: puku-cli --remote "your task description"`,()=>z7(1));l("ev_event",{has_i
9147
9147
  `));await _58();let{teleportWithProgress:C4}=await Promise.resolve().then(() => (J07(),j07)),I4=await C4(L4,v6);CM6({sessionId:v6}),B8=I4.messages}catch(RK){if(RK instanceof d9)process.stderr.write(RK.formattedMessage+`
9148
9148
  `);else K6(RK),process.stderr.write(Y_.red(`Error: ${B6(RK)}
9149
9149
  `));await z7(1)}}}if(tq){let RK=tq;try{let wK=performance.now(),C4=await OU(pK??RK,void 0);if(!C4)return l("ev_event",{entrypoint:"cli_flag",success:!1}),await gN(L4,`No conversation found with session ID: ${RK}`);let I4=pK?.fullPath??C4.fullPath;if(nq=await YD8(C4,{forkSession:!!M.forkSession,sessionIdOverride:RK,transcriptPath:I4},sz),nq.restoredAgentDef)$K=nq.restoredAgentDef;l("ev_event",{entrypoint:"cli_flag",success:!0,resume_duration_ms:Math.round(performance.now()-wK)})}catch(wK){l("ev_event",{entrypoint:"cli_flag",success:!1}),K6(wK),await gN(L4,B6(wK))}}if(c)try{let RK=await c,wK=b8(RK,(C4)=>!C4.success);if(wK>0)process.stderr.write(Y_.yellow(`Warning: ${wK}/${RK.length} file(s) failed to download.
9150
- `))}catch(RK){return await gN(L4,`Error downloading files: ${B6(RK)}`)}let Bq=nq??(Array.isArray(B8)?{messages:B8,fileHistorySnapshots:void 0,agentName:void 0,agentColor:void 0,restoredAgentDef:$K,initialState:f4,contentReplacements:void 0}:void 0);if(Bq)L2_(M),E2_(M),await qb6(L4,{getFpsMetrics:sq,stats:n8,initialState:Bq.initialState},{...Cz,mainThreadAgentDefinition:Bq.restoredAgentDef??$K,initialMessages:Bq.messages,initialFileHistorySnapshots:Bq.fileHistorySnapshots,initialContentReplacements:Bq.contentReplacements,initialAgentName:Bq.agentName,initialAgentColor:Bq.agentColor},Oe);else await WZ7(L4,{getFpsMetrics:sq,stats:n8,initialState:f4},Px(J8()),{...Cz,initialSearchQuery:YK,forkSession:M.forkSession,filterByPr:Q4})}else{let n_=SO&&t4.length===0?SO:void 0;CK("action_after_hooks"),L2_(M),E2_(M);let B8=null,nq=B8?[B8,...t4]:t4.length>0?t4:void 0;await qb6(L4,{getFpsMetrics:sq,stats:n8,initialState:f4},{...Cz,initialMessages:nq,pendingHookMessages:n_},Oe)}}).version("1.8.41 (puku-cli)","-v, --version","Output the version number"),q.option("-w, --worktree [name]","Create a new git worktree for this session (optionally specify a name)"),q.option("--tmux","Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux."),IB())q.addOption(new U4("--advisor <model>","Enable the server-side advisor tool with the specified model (alias or full ID).").hideHelp());q.addOption(new U4("--enable-auto-mode","Opt in to auto mode").hideHelp()),q.addOption(new U4("--agent-id <id>","Teammate agent ID").hideHelp()),q.addOption(new U4("--agent-name <name>","Teammate display name").hideHelp()),q.addOption(new U4("--team-name <name>","Team name for swarm coordination").hideHelp()),q.addOption(new U4("--agent-color <color>","Teammate UI color").hideHelp()),q.addOption(new U4("--plan-mode-required","Require plan mode before implementation").hideHelp()),q.addOption(new U4("--parent-session-id <id>","Parent session ID for analytics correlation").hideHelp()),q.addOption(new U4("--teammate-mode <mode>",'How to spawn teammates: "tmux", "in-process", or "auto"').choices(["auto","tmux","in-process"]).hideHelp()),q.addOption(new U4("--agent-type <type>","Custom agent type for this teammate").hideHelp()),q.addOption(new U4("--sdk-url <url>","Use remote WebSocket endpoint for SDK I/O streaming (only with -p and stream-json format)").hideHelp()),q.addOption(new U4("--teleport [session]","Resume a teleport session, optionally specify session ID").hideHelp()),q.addOption(new U4("--remote [description]","Create a remote session with the given description").hideHelp()),CK("run_main_options_built");let K=process.argv.includes("-p")||process.argv.includes("--print"),A=process.argv.some((H)=>H.startsWith("cc://")||H.startsWith("cc+unix://"));if(K&&!A)return CK("run_before_parse"),await q.parseAsync(process.argv),CK("run_after_parse"),q;let z=q.command("mcp").description("Configure and manage MCP servers").configureHelp(_()).enablePositionalOptions();if(z.command("serve").description("Start the Puku MCP server").option("-d, --debug","Enable debug mode",()=>!0).option("--verbose","Override verbose mode setting from config",()=>!0).action(async({debug:H,verbose:M})=>{let{mcpServeHandler:f}=await Promise.resolve().then(() => (nx(),ix));await f({debug:H,verbose:M})}),WG7(z),Kv7(z),gC())Av7(z);z.command("remove <name>").description("Remove an MCP server").option("-s, --scope <scope>","Configuration scope (local, user, or project) - if not specified, removes from whichever scope it exists in").action(async(H,M)=>{let{mcpRemoveHandler:f}=await Promise.resolve().then(() => (nx(),ix));await f(H,M)}),z.command("list").description("List configured MCP servers. Note: The workspace trust dialog is skipped and stdio servers from .mcp.json are spawned for health checks. Only use this command in directories you trust.").action(async()=>{let{mcpListHandler:H}=await Promise.resolve().then(() => (nx(),ix));await H()}),z.command("get <name>").description("Get details about an MCP server. Note: The workspace trust dialog is skipped and stdio servers from .mcp.json are spawned for health checks. Only use this command in directories you trust.").action(async(H)=>{let{mcpGetHandler:M}=await Promise.resolve().then(() => (nx(),ix));await M(H)}),z.command("add-json <name> <json>").description("Add an MCP server (stdio or SSE) with a JSON string").option("-s, --scope <scope>","Configuration scope (local, user, or project)","local").option("--client-secret","Prompt for OAuth client secret (or set MCP_CLIENT_SECRET env var)").action(async(H,M,f)=>{let{mcpAddJsonHandler:j}=await Promise.resolve().then(() => (nx(),ix));await j(H,M,f)}),z.command("add-from-puku-desktop").description("Import MCP servers from Puku Desktop (Mac and WSL only)").option("-s, --scope <scope>","Configuration scope (local, user, or project)","local").action(async(H)=>{let{mcpAddFromDesktopHandler:M}=await Promise.resolve().then(() => (nx(),ix));await M(H)}),z.command("reset-project-choices").description("Reset all approved and rejected project-scoped (.mcp.json) servers within this project").action(async()=>{let{mcpResetChoicesHandler:H}=await Promise.resolve().then(() => (nx(),ix));await H()});let $=q.command("auth").description("Manage authentication").configureHelp(_());$.command("login").description("Sign in to your Puku AI account").action(async()=>{let{authLogin:H}=await Promise.resolve().then(() => (wb6(),j2_));await H()}),$.command("status").description("Show authentication status").option("--json","Output as JSON (default)").option("--text","Output as human-readable text").action(async(H)=>{let{authStatus:M}=await Promise.resolve().then(() => (wb6(),j2_));await M(H)}),$.command("logout").description("Log out from your Puku AI account").action(async()=>{let{authLogout:H}=await Promise.resolve().then(() => (wb6(),j2_));await H()});let w=()=>new U4("--cowork","Use cowork_plugins directory").hideHelp(),O=q.command("plugin").alias("plugins").description("Manage Puku plugins").configureHelp(_());O.command("validate <path>").description("Validate a plugin or marketplace manifest").addOption(w()).action(async(H,M)=>{let{pluginValidateHandler:f}=await Promise.resolve().then(() => (WT(),PT));await f(H,M)}),O.command("list").description("List installed plugins").option("--json","Output as JSON").option("--available","Include available plugins from marketplaces (requires --json)").addOption(w()).action(async(H)=>{let{pluginListHandler:M}=await Promise.resolve().then(() => (WT(),PT));await M(H)});let Y=O.command("marketplace").description("Manage Puku marketplaces").configureHelp(_());if(Y.command("add <source>").description("Add a marketplace from a URL, path, or GitHub repo").addOption(w()).option("--sparse <paths...>","Limit checkout to specific directories via git sparse-checkout (for monorepos). Example: --sparse .puku-plugin plugins").option("--scope <scope>","Where to declare the marketplace: user (default), project, or local").action(async(H,M)=>{let{marketplaceAddHandler:f}=await Promise.resolve().then(() => (WT(),PT));await f(H,M)}),Y.command("list").description("List all configured marketplaces").option("--json","Output as JSON").addOption(w()).action(async(H)=>{let{marketplaceListHandler:M}=await Promise.resolve().then(() => (WT(),PT));await M(H)}),Y.command("remove <name>").alias("rm").description("Remove a configured marketplace").addOption(w()).action(async(H,M)=>{let{marketplaceRemoveHandler:f}=await Promise.resolve().then(() => (WT(),PT));await f(H,M)}),Y.command("update [name]").description("Update marketplace(s) from their source - updates all if no name specified").addOption(w()).action(async(H,M)=>{let{marketplaceUpdateHandler:f}=await Promise.resolve().then(() => (WT(),PT));await f(H,M)}),O.command("install <plugin>").alias("i").description("Install a plugin from available marketplaces (use plugin@marketplace for specific marketplace)").option("-s, --scope <scope>","Installation scope: user, project, or local","user").addOption(w()).action(async(H,M)=>{let{pluginInstallHandler:f}=await Promise.resolve().then(() => (WT(),PT));await f(H,M)}),O.command("uninstall <plugin>").alias("remove").alias("rm").description("Uninstall an installed plugin").option("-s, --scope <scope>","Uninstall from scope: user, project, or local","user").option("--keep-data","Preserve the plugin's persistent data directory (~/.puku-cli/plugins/data/{id}/)").addOption(w()).action(async(H,M)=>{let{pluginUninstallHandler:f}=await Promise.resolve().then(() => (WT(),PT));await f(H,M)}),O.command("enable <plugin>").description("Enable a disabled plugin").option("-s, --scope <scope>",`Installation scope: ${yf.join(", ")} (default: auto-detect)`).addOption(w()).action(async(H,M)=>{let{pluginEnableHandler:f}=await Promise.resolve().then(() => (WT(),PT));await f(H,M)}),O.command("disable [plugin]").description("Disable an enabled plugin").option("-a, --all","Disable all enabled plugins").option("-s, --scope <scope>",`Installation scope: ${yf.join(", ")} (default: auto-detect)`).addOption(w()).action(async(H,M)=>{let{pluginDisableHandler:f}=await Promise.resolve().then(() => (WT(),PT));await f(H,M)}),O.command("update <plugin>").description("Update a plugin to the latest version (restart required to apply)").option("-s, --scope <scope>",`Installation scope: ${Ht.join(", ")} (default: user)`).addOption(w()).action(async(H,M)=>{let{pluginUpdateHandler:f}=await Promise.resolve().then(() => (WT(),PT));await f(H,M)}),q.command("setup-token").description("Set up a long-lived authentication token (requires Puku subscription)").action(async()=>{let[{setupTokenHandler:H},{createRoot:M}]=await Promise.all([Promise.resolve().then(() => (V2_(),N2_)),Promise.resolve().then(() => (Q6(),Zv6))]),f=await M(JI(!1));await H(f)}),q.command("agents").description("List configured agents").option("--setting-sources <sources>","Comma-separated list of setting sources to load (user, project, local).").action(async()=>{let{agentsHandler:H}=await Promise.resolve().then(() => (N07(),k07));await H(),process.exit(0)}),rO_()!=="disabled"){let H=q.command("auto-mode").description("Inspect auto mode classifier configuration");H.command("defaults").description("Print the default auto mode environment, allow, and deny rules as JSON").action(async()=>{let{autoModeDefaultsHandler:M}=await Promise.resolve().then(() => (R2_(),y2_));M(),process.exit(0)}),H.command("config").description("Print the effective auto mode config as JSON: your settings where set, defaults otherwise").action(async()=>{let{autoModeConfigHandler:M}=await Promise.resolve().then(() => (R2_(),y2_));M(),process.exit(0)}),H.command("critique").description("Get AI feedback on your custom auto mode rules").option("--model <model>","Override which model is used").action(async(M)=>{let{autoModeCritiqueHandler:f}=await Promise.resolve().then(() => (R2_(),y2_));await f(M),process.exit()})}return q.command("doctor").description("Check the health of your Puku auto-updater. Note: The workspace trust dialog is skipped and stdio servers from .mcp.json are spawned for health checks. Only use this command in directories you trust.").action(async()=>{let[{doctorHandler:H},{createRoot:M}]=await Promise.all([Promise.resolve().then(() => (V2_(),N2_)),Promise.resolve().then(() => (Q6(),Zv6))]),f=await M(JI(!1));await H(f)}),q.command("update").alias("upgrade").description("Check for updates and install if available").action(async()=>{let{update:H}=await Promise.resolve().then(() => (R07(),y07));await H()}),q.command("install [target]").description("Install Puku native build. Use [target] to specify version (stable, latest, or specific version)").option("--force","Force installation even if already installed").action(async(H,M)=>{let{installHandler:f}=await Promise.resolve().then(() => (V2_(),N2_));await f(H,M)}),CK("run_before_parse"),await q.parseAsync(process.argv),CK("run_after_parse"),CK("main_after_run"),M26(),q}async function Qj$({hasInitialPrompt:_,hasStdin:q,verbose:K,debug:A,debugToStderr:z,print:$,outputFormat:w,inputFormat:O,numAllowedTools:Y,numDisallowedTools:H,mcpClientCount:M,worktreeEnabled:f,skipWebFetchPreflight:j,githubActionInputs:J,godModePassed:X,permissionMode:P,modeIsBypass:W,allowGodModePassed:Z,systemPromptFlag:G,appendSystemPromptFlag:v,thinkingConfig:k,assistantActivationPath:N}){try{l("ev_event",{entrypoint:"puku-cli",hasInitialPrompt:_,hasStdin:q,verbose:K,debug:A,debugToStderr:z,print:$,outputFormat:w,inputFormat:O,numAllowedTools:Y,numDisallowedTools:H,mcpClientCount:M,worktree:f,skipWebFetchPreflight:j,...J&&{githubActionInputs:J},godModePassed:X,permissionMode:P,modeIsBypass:W,inProtectedNamespace:ZZ(),allowGodModePassed:Z,thinkingType:k.type,...G&&{systemPromptFlag:G},...v&&{appendSystemPromptFlag:v},is_simple:n7()||void 0,is_coordinator:void 0,...N&&{assistantActivationPath:N},autoUpdatesChannel:t8().autoUpdatesChannel??"latest",...{}})}catch(L){K6(L)}}function L2_(_){}function E2_(_){return}function lj$(){(process.stderr.isTTY?process.stderr:process.stdout.isTTY?process.stdout:void 0)?.write(c0)}function ij$(_){if(typeof _!=="object"||_===null)return{};let q=_,K=q.teammateMode;return{agentId:typeof q.agentId==="string"?q.agentId:void 0,agentName:typeof q.agentName==="string"?q.agentName:void 0,teamName:typeof q.teamName==="string"?q.teamName:void 0,agentColor:typeof q.agentColor==="string"?q.agentColor:void 0,planModeRequired:typeof q.planModeRequired==="boolean"?q.planModeRequired:void 0,parentSessionId:typeof q.parentSessionId==="string"?q.parentSessionId:void 0,teammateMode:K==="auto"||K==="tmux"||K==="in-process"?K:void 0,agentType:typeof q.agentType==="string"?q.agentType:void 0}}var L07=()=>(Hz(),_5(de_)),Lj$=()=>_5(yDK),Ej$=()=>(Yo(),_5(p78)),hj$=null,Sj$,pZ8=15;var nD8=h(()=>{Uh();nN_();iF_();kX8();N4();Qk6();FJ_();zk();i4();kX();LX8();rv();CW7();xW7();d5_();l96();pW7();yD();l36();pR();mH();xB();Uz();pS6();Kq();Y8();yG6();Mj();RM();w46();P8();iK();UV6();Gv();tg();Yj_();m_();oW8();BW7();J_();C$();DZ7();Ug();iD8();IR();D1();aD8();MG7();j1();KE();_H6();A1();jw6();fG7();R_();xW8();Mh6();h4();JG7();r3();D_();SD8();Sq();tS();t9();E0();O9();HP();L1();nL6();XR6();WX();mG();wU();VK();wg6();W8();$h();fw();Aw6();PG7();Q5_();mk();DG7();zv7();D$6();D1();zf();ZO();XN6();GD8();Ls();Ek();rA();GC();mL();d8();__();W_();o8();u$();bL6();gF_();_P();BS6();L3();J_();wv7();Yv7();Mv7();fv7();Zv7();vv7();kv7();Vv7();Rv7();Ev7();Sv7();Cv7();gW8();xv7();EL();sr();Mz6();D16();sM();V2();Dz();ij_();uw();$h6();Nz();V9();ek();oW();rV6();Ij();CK("main_tsx_entry");jp8();jRq();Sj$=_5(hU);CK("main_tsx_imports_loaded");if(Cj$())process.exit(1)});qh();tH6();if(!process.env.PUKU_AUTH)process.env.PUKU_AUTH="true";if(!process.env.PUKU_WORKER_URL)process.env.PUKU_WORKER_URL="https://api-cli.puku.sh";if(!process.env.PUKU_AI_BASE_URL)process.env.PUKU_AI_BASE_URL="https://api-cli.puku.sh";if(!process.env.PUKU_AI_MODEL)process.env.PUKU_AI_MODEL="puku-ai-2.7";if(!process.env.PUKU_AI_SMALL_FAST_MODEL)process.env.PUKU_AI_SMALL_FAST_MODEL="puku-ai-2.7";if(!process.env.PUKU_CLI_AUTO_MODE_MODEL)process.env.PUKU_CLI_AUTO_MODE_MODEL="puku-ai-2.7";process.env.PUKU_CLI_DISABLE_EXPERIMENTAL_BETAS??="true";process.env.COREPACK_ENABLE_AUTO_PIN="0";if(process.env.PUKU_CLI_REMOTE==="true"){let _=process.env.NODE_OPTIONS||"";process.env.NODE_OPTIONS=_?`${_} --max-old-space-size=8192`:"--max-old-space-size=8192"}function h2_(_){if(!_)return!1;let q=_.trim().toLowerCase();return q!==""&&q!=="0"&&q!=="false"&&q!=="no"}function S07(_=process.env){let q=h2_(_.PUKU_CLI_USE_OPENAI),K=h2_(_.PUKU_CLI_USE_GITHUB);if(h2_(_.PUKU_CLI_USE_GEMINI)){if(!(_.GEMINI_API_KEY??_.GOOGLE_API_KEY))return"GEMINI_API_KEY is required when PUKU_CLI_USE_GEMINI=1.";return null}if(K&&!q){if(!((_.GITHUB_TOKEN?.trim()||_.GH_TOKEN?.trim())??""))return"GITHUB_TOKEN or GH_TOKEN is required when PUKU_CLI_USE_GITHUB=1.";return null}if(!q)return null;let A=c1({model:_.OPENAI_MODEL,baseUrl:_.OPENAI_BASE_URL});if(_.OPENAI_API_KEY==="SUA_CHAVE")return"Invalid OPENAI_API_KEY: placeholder value SUA_CHAVE detected. Set a real key or unset for local providers.";if(A.transport==="codex_responses"){let z=iP(_);if(!z.apiKey){let $=z.authPath?` or put auth.json at ${z.authPath}`:"";return`Codex auth is required for ${nP(A.requestedModel,_)??"the requested model"}. Set CODEX_API_KEY${$}.`}if(!z.accountId)return"Codex auth is missing chatgpt_account_id. Re-login with Codex or set CHATGPT_ACCOUNT_ID/CODEX_ACCOUNT_ID.";return null}if(!_.OPENAI_API_KEY&&!fC6(A.baseUrl)){let z=!!(_.GITHUB_TOKEN?.trim()||_.GH_TOKEN?.trim());if(K&&z)return null;return"OPENAI_API_KEY is required when PUKU_CLI_USE_OPENAI=1 and OPENAI_BASE_URL is not local."}return null}function nj$(){let _=S07();if(_)console.error(_),process.exit(1)}async function rj$(){let _=process.argv.slice(2);if(_.length===1&&(_[0]==="--version"||_[0]==="-v"||_[0]==="-V")){console.log("1.8.41 (puku-cli)");return}if(_.includes("--provider")){let{applyProviderFlagFromArgs:$}=await Promise.resolve().then(() => (Uv8(),Bv8)),w=$(_);if(w?.error)console.error(`Error: ${w.error}`),process.exit(1)}{let{enableConfigs:$}=await Promise.resolve().then(() => (Y8(),sy_));$();let{applySafeConfigEnvironmentVariables:w}=await Promise.resolve().then(() => (w46(),IRq));w();let{hydrateGithubModelsTokenFromSecureStorage:O}=await Promise.resolve().then(() => (An6(),RZq));O()}let q=await pv8({processEnv:process.env});if(q!==process.env){let $=S07(q);if($)console.error(`Warning: ignoring saved provider profile. ${$}`);else mv8(process.env,q)}if(nj$(),h2_(process.env.PUKU_AUTH)){let{getSilentSession:$,injectEnv:w}=await Promise.resolve().then(() => (E0(),_Eq)),O=await $();if(O)w(O)}Promise.resolve().then(() => (hQ_(),bpq)).then(({prewarmSyntaxHighlighting:$})=>$());let{profileCheckpoint:K}=await Promise.resolve().then(() => (Uh(),wu8));if(K("cli_entry"),process.argv[2]==="--claude-in-chrome-mcp"){K("cli_claude_in_chrome_mcp_path");let{runClaudeInChromeMcpServer:$}=await Promise.resolve().then(() => (yK8(),VK8));await $();return}else if(process.argv[2]==="--chrome-native-host"){K("cli_chrome_native_host_path");let{runChromeNativeHost:$}=await Promise.resolve().then(() => ($w7(),zw7));await $();return}if(!1)switch(_[0]){case"ps":case"logs":case"attach":case"kill":default:}if((_.includes("--tmux")||_.includes("--tmux=classic"))&&(_.includes("-w")||_.includes("--worktree")||_.some(($)=>$.startsWith("--worktree=")))){K("cli_tmux_worktree_fast_path");let{enableConfigs:$}=await Promise.resolve().then(() => (Y8(),sy_));$();let{isWorktreeModeEnabled:w}=await Promise.resolve().then(() => NuK);if(w()){let{execIntoTmuxWorktree:O}=await Promise.resolve().then(() => (Ij(),h37)),Y=await O(_);if(Y.handled)return;if(Y.error){let{exitWithError:H}=await Promise.resolve().then(() => wV8);H(Y.error)}}}if(_.length===1&&(_[0]==="--update"||_[0]==="--upgrade"))process.argv=[process.argv[0],process.argv[1],"update"];if(_.includes("--bare"))process.env.PUKU_CLI_SIMPLE="1";if(process.env.PUKU_DISABLE_EARLY_INPUT!=="1"){let{startCapturingEarlyInput:$}=await Promise.resolve().then(() => (yG6(),Tgq));$()}K("cli_before_main_import");let{main:z}=await Promise.resolve().then(() => (nD8(),h07));K("cli_after_main_import"),await z(),K("cli_after_main_complete")}rj$();
9150
+ `))}catch(RK){return await gN(L4,`Error downloading files: ${B6(RK)}`)}let Bq=nq??(Array.isArray(B8)?{messages:B8,fileHistorySnapshots:void 0,agentName:void 0,agentColor:void 0,restoredAgentDef:$K,initialState:f4,contentReplacements:void 0}:void 0);if(Bq)L2_(M),E2_(M),await qb6(L4,{getFpsMetrics:sq,stats:n8,initialState:Bq.initialState},{...Cz,mainThreadAgentDefinition:Bq.restoredAgentDef??$K,initialMessages:Bq.messages,initialFileHistorySnapshots:Bq.fileHistorySnapshots,initialContentReplacements:Bq.contentReplacements,initialAgentName:Bq.agentName,initialAgentColor:Bq.agentColor},Oe);else await WZ7(L4,{getFpsMetrics:sq,stats:n8,initialState:f4},Px(J8()),{...Cz,initialSearchQuery:YK,forkSession:M.forkSession,filterByPr:Q4})}else{let n_=SO&&t4.length===0?SO:void 0;CK("action_after_hooks"),L2_(M),E2_(M);let B8=null,nq=B8?[B8,...t4]:t4.length>0?t4:void 0;await qb6(L4,{getFpsMetrics:sq,stats:n8,initialState:f4},{...Cz,initialMessages:nq,pendingHookMessages:n_},Oe)}}).version("1.8.42 (puku-cli)","-v, --version","Output the version number"),q.option("-w, --worktree [name]","Create a new git worktree for this session (optionally specify a name)"),q.option("--tmux","Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux."),IB())q.addOption(new U4("--advisor <model>","Enable the server-side advisor tool with the specified model (alias or full ID).").hideHelp());q.addOption(new U4("--enable-auto-mode","Opt in to auto mode").hideHelp()),q.addOption(new U4("--agent-id <id>","Teammate agent ID").hideHelp()),q.addOption(new U4("--agent-name <name>","Teammate display name").hideHelp()),q.addOption(new U4("--team-name <name>","Team name for swarm coordination").hideHelp()),q.addOption(new U4("--agent-color <color>","Teammate UI color").hideHelp()),q.addOption(new U4("--plan-mode-required","Require plan mode before implementation").hideHelp()),q.addOption(new U4("--parent-session-id <id>","Parent session ID for analytics correlation").hideHelp()),q.addOption(new U4("--teammate-mode <mode>",'How to spawn teammates: "tmux", "in-process", or "auto"').choices(["auto","tmux","in-process"]).hideHelp()),q.addOption(new U4("--agent-type <type>","Custom agent type for this teammate").hideHelp()),q.addOption(new U4("--sdk-url <url>","Use remote WebSocket endpoint for SDK I/O streaming (only with -p and stream-json format)").hideHelp()),q.addOption(new U4("--teleport [session]","Resume a teleport session, optionally specify session ID").hideHelp()),q.addOption(new U4("--remote [description]","Create a remote session with the given description").hideHelp()),CK("run_main_options_built");let K=process.argv.includes("-p")||process.argv.includes("--print"),A=process.argv.some((H)=>H.startsWith("cc://")||H.startsWith("cc+unix://"));if(K&&!A)return CK("run_before_parse"),await q.parseAsync(process.argv),CK("run_after_parse"),q;let z=q.command("mcp").description("Configure and manage MCP servers").configureHelp(_()).enablePositionalOptions();if(z.command("serve").description("Start the Puku MCP server").option("-d, --debug","Enable debug mode",()=>!0).option("--verbose","Override verbose mode setting from config",()=>!0).action(async({debug:H,verbose:M})=>{let{mcpServeHandler:f}=await Promise.resolve().then(() => (nx(),ix));await f({debug:H,verbose:M})}),WG7(z),Kv7(z),gC())Av7(z);z.command("remove <name>").description("Remove an MCP server").option("-s, --scope <scope>","Configuration scope (local, user, or project) - if not specified, removes from whichever scope it exists in").action(async(H,M)=>{let{mcpRemoveHandler:f}=await Promise.resolve().then(() => (nx(),ix));await f(H,M)}),z.command("list").description("List configured MCP servers. Note: The workspace trust dialog is skipped and stdio servers from .mcp.json are spawned for health checks. Only use this command in directories you trust.").action(async()=>{let{mcpListHandler:H}=await Promise.resolve().then(() => (nx(),ix));await H()}),z.command("get <name>").description("Get details about an MCP server. Note: The workspace trust dialog is skipped and stdio servers from .mcp.json are spawned for health checks. Only use this command in directories you trust.").action(async(H)=>{let{mcpGetHandler:M}=await Promise.resolve().then(() => (nx(),ix));await M(H)}),z.command("add-json <name> <json>").description("Add an MCP server (stdio or SSE) with a JSON string").option("-s, --scope <scope>","Configuration scope (local, user, or project)","local").option("--client-secret","Prompt for OAuth client secret (or set MCP_CLIENT_SECRET env var)").action(async(H,M,f)=>{let{mcpAddJsonHandler:j}=await Promise.resolve().then(() => (nx(),ix));await j(H,M,f)}),z.command("add-from-puku-desktop").description("Import MCP servers from Puku Desktop (Mac and WSL only)").option("-s, --scope <scope>","Configuration scope (local, user, or project)","local").action(async(H)=>{let{mcpAddFromDesktopHandler:M}=await Promise.resolve().then(() => (nx(),ix));await M(H)}),z.command("reset-project-choices").description("Reset all approved and rejected project-scoped (.mcp.json) servers within this project").action(async()=>{let{mcpResetChoicesHandler:H}=await Promise.resolve().then(() => (nx(),ix));await H()});let $=q.command("auth").description("Manage authentication").configureHelp(_());$.command("login").description("Sign in to your Puku AI account").action(async()=>{let{authLogin:H}=await Promise.resolve().then(() => (wb6(),j2_));await H()}),$.command("status").description("Show authentication status").option("--json","Output as JSON (default)").option("--text","Output as human-readable text").action(async(H)=>{let{authStatus:M}=await Promise.resolve().then(() => (wb6(),j2_));await M(H)}),$.command("logout").description("Log out from your Puku AI account").action(async()=>{let{authLogout:H}=await Promise.resolve().then(() => (wb6(),j2_));await H()});let w=()=>new U4("--cowork","Use cowork_plugins directory").hideHelp(),O=q.command("plugin").alias("plugins").description("Manage Puku plugins").configureHelp(_());O.command("validate <path>").description("Validate a plugin or marketplace manifest").addOption(w()).action(async(H,M)=>{let{pluginValidateHandler:f}=await Promise.resolve().then(() => (WT(),PT));await f(H,M)}),O.command("list").description("List installed plugins").option("--json","Output as JSON").option("--available","Include available plugins from marketplaces (requires --json)").addOption(w()).action(async(H)=>{let{pluginListHandler:M}=await Promise.resolve().then(() => (WT(),PT));await M(H)});let Y=O.command("marketplace").description("Manage Puku marketplaces").configureHelp(_());if(Y.command("add <source>").description("Add a marketplace from a URL, path, or GitHub repo").addOption(w()).option("--sparse <paths...>","Limit checkout to specific directories via git sparse-checkout (for monorepos). Example: --sparse .puku-plugin plugins").option("--scope <scope>","Where to declare the marketplace: user (default), project, or local").action(async(H,M)=>{let{marketplaceAddHandler:f}=await Promise.resolve().then(() => (WT(),PT));await f(H,M)}),Y.command("list").description("List all configured marketplaces").option("--json","Output as JSON").addOption(w()).action(async(H)=>{let{marketplaceListHandler:M}=await Promise.resolve().then(() => (WT(),PT));await M(H)}),Y.command("remove <name>").alias("rm").description("Remove a configured marketplace").addOption(w()).action(async(H,M)=>{let{marketplaceRemoveHandler:f}=await Promise.resolve().then(() => (WT(),PT));await f(H,M)}),Y.command("update [name]").description("Update marketplace(s) from their source - updates all if no name specified").addOption(w()).action(async(H,M)=>{let{marketplaceUpdateHandler:f}=await Promise.resolve().then(() => (WT(),PT));await f(H,M)}),O.command("install <plugin>").alias("i").description("Install a plugin from available marketplaces (use plugin@marketplace for specific marketplace)").option("-s, --scope <scope>","Installation scope: user, project, or local","user").addOption(w()).action(async(H,M)=>{let{pluginInstallHandler:f}=await Promise.resolve().then(() => (WT(),PT));await f(H,M)}),O.command("uninstall <plugin>").alias("remove").alias("rm").description("Uninstall an installed plugin").option("-s, --scope <scope>","Uninstall from scope: user, project, or local","user").option("--keep-data","Preserve the plugin's persistent data directory (~/.puku-cli/plugins/data/{id}/)").addOption(w()).action(async(H,M)=>{let{pluginUninstallHandler:f}=await Promise.resolve().then(() => (WT(),PT));await f(H,M)}),O.command("enable <plugin>").description("Enable a disabled plugin").option("-s, --scope <scope>",`Installation scope: ${yf.join(", ")} (default: auto-detect)`).addOption(w()).action(async(H,M)=>{let{pluginEnableHandler:f}=await Promise.resolve().then(() => (WT(),PT));await f(H,M)}),O.command("disable [plugin]").description("Disable an enabled plugin").option("-a, --all","Disable all enabled plugins").option("-s, --scope <scope>",`Installation scope: ${yf.join(", ")} (default: auto-detect)`).addOption(w()).action(async(H,M)=>{let{pluginDisableHandler:f}=await Promise.resolve().then(() => (WT(),PT));await f(H,M)}),O.command("update <plugin>").description("Update a plugin to the latest version (restart required to apply)").option("-s, --scope <scope>",`Installation scope: ${Ht.join(", ")} (default: user)`).addOption(w()).action(async(H,M)=>{let{pluginUpdateHandler:f}=await Promise.resolve().then(() => (WT(),PT));await f(H,M)}),q.command("setup-token").description("Set up a long-lived authentication token (requires Puku subscription)").action(async()=>{let[{setupTokenHandler:H},{createRoot:M}]=await Promise.all([Promise.resolve().then(() => (V2_(),N2_)),Promise.resolve().then(() => (Q6(),Zv6))]),f=await M(JI(!1));await H(f)}),q.command("agents").description("List configured agents").option("--setting-sources <sources>","Comma-separated list of setting sources to load (user, project, local).").action(async()=>{let{agentsHandler:H}=await Promise.resolve().then(() => (N07(),k07));await H(),process.exit(0)}),rO_()!=="disabled"){let H=q.command("auto-mode").description("Inspect auto mode classifier configuration");H.command("defaults").description("Print the default auto mode environment, allow, and deny rules as JSON").action(async()=>{let{autoModeDefaultsHandler:M}=await Promise.resolve().then(() => (R2_(),y2_));M(),process.exit(0)}),H.command("config").description("Print the effective auto mode config as JSON: your settings where set, defaults otherwise").action(async()=>{let{autoModeConfigHandler:M}=await Promise.resolve().then(() => (R2_(),y2_));M(),process.exit(0)}),H.command("critique").description("Get AI feedback on your custom auto mode rules").option("--model <model>","Override which model is used").action(async(M)=>{let{autoModeCritiqueHandler:f}=await Promise.resolve().then(() => (R2_(),y2_));await f(M),process.exit()})}return q.command("doctor").description("Check the health of your Puku auto-updater. Note: The workspace trust dialog is skipped and stdio servers from .mcp.json are spawned for health checks. Only use this command in directories you trust.").action(async()=>{let[{doctorHandler:H},{createRoot:M}]=await Promise.all([Promise.resolve().then(() => (V2_(),N2_)),Promise.resolve().then(() => (Q6(),Zv6))]),f=await M(JI(!1));await H(f)}),q.command("update").alias("upgrade").description("Check for updates and install if available").action(async()=>{let{update:H}=await Promise.resolve().then(() => (R07(),y07));await H()}),q.command("install [target]").description("Install Puku native build. Use [target] to specify version (stable, latest, or specific version)").option("--force","Force installation even if already installed").action(async(H,M)=>{let{installHandler:f}=await Promise.resolve().then(() => (V2_(),N2_));await f(H,M)}),CK("run_before_parse"),await q.parseAsync(process.argv),CK("run_after_parse"),CK("main_after_run"),M26(),q}async function Qj$({hasInitialPrompt:_,hasStdin:q,verbose:K,debug:A,debugToStderr:z,print:$,outputFormat:w,inputFormat:O,numAllowedTools:Y,numDisallowedTools:H,mcpClientCount:M,worktreeEnabled:f,skipWebFetchPreflight:j,githubActionInputs:J,godModePassed:X,permissionMode:P,modeIsBypass:W,allowGodModePassed:Z,systemPromptFlag:G,appendSystemPromptFlag:v,thinkingConfig:k,assistantActivationPath:N}){try{l("ev_event",{entrypoint:"puku-cli",hasInitialPrompt:_,hasStdin:q,verbose:K,debug:A,debugToStderr:z,print:$,outputFormat:w,inputFormat:O,numAllowedTools:Y,numDisallowedTools:H,mcpClientCount:M,worktree:f,skipWebFetchPreflight:j,...J&&{githubActionInputs:J},godModePassed:X,permissionMode:P,modeIsBypass:W,inProtectedNamespace:ZZ(),allowGodModePassed:Z,thinkingType:k.type,...G&&{systemPromptFlag:G},...v&&{appendSystemPromptFlag:v},is_simple:n7()||void 0,is_coordinator:void 0,...N&&{assistantActivationPath:N},autoUpdatesChannel:t8().autoUpdatesChannel??"latest",...{}})}catch(L){K6(L)}}function L2_(_){}function E2_(_){return}function lj$(){(process.stderr.isTTY?process.stderr:process.stdout.isTTY?process.stdout:void 0)?.write(c0)}function ij$(_){if(typeof _!=="object"||_===null)return{};let q=_,K=q.teammateMode;return{agentId:typeof q.agentId==="string"?q.agentId:void 0,agentName:typeof q.agentName==="string"?q.agentName:void 0,teamName:typeof q.teamName==="string"?q.teamName:void 0,agentColor:typeof q.agentColor==="string"?q.agentColor:void 0,planModeRequired:typeof q.planModeRequired==="boolean"?q.planModeRequired:void 0,parentSessionId:typeof q.parentSessionId==="string"?q.parentSessionId:void 0,teammateMode:K==="auto"||K==="tmux"||K==="in-process"?K:void 0,agentType:typeof q.agentType==="string"?q.agentType:void 0}}var L07=()=>(Hz(),_5(de_)),Lj$=()=>_5(yDK),Ej$=()=>(Yo(),_5(p78)),hj$=null,Sj$,pZ8=15;var nD8=h(()=>{Uh();nN_();iF_();kX8();N4();Qk6();FJ_();zk();i4();kX();LX8();rv();CW7();xW7();d5_();l96();pW7();yD();l36();pR();mH();xB();Uz();pS6();Kq();Y8();yG6();Mj();RM();w46();P8();iK();UV6();Gv();tg();Yj_();m_();oW8();BW7();J_();C$();DZ7();Ug();iD8();IR();D1();aD8();MG7();j1();KE();_H6();A1();jw6();fG7();R_();xW8();Mh6();h4();JG7();r3();D_();SD8();Sq();tS();t9();E0();O9();HP();L1();nL6();XR6();WX();mG();wU();VK();wg6();W8();$h();fw();Aw6();PG7();Q5_();mk();DG7();zv7();D$6();D1();zf();ZO();XN6();GD8();Ls();Ek();rA();GC();mL();d8();__();W_();o8();u$();bL6();gF_();_P();BS6();L3();J_();wv7();Yv7();Mv7();fv7();Zv7();vv7();kv7();Vv7();Rv7();Ev7();Sv7();Cv7();gW8();xv7();EL();sr();Mz6();D16();sM();V2();Dz();ij_();uw();$h6();Nz();V9();ek();oW();rV6();Ij();CK("main_tsx_entry");jp8();jRq();Sj$=_5(hU);CK("main_tsx_imports_loaded");if(Cj$())process.exit(1)});qh();tH6();if(!process.env.PUKU_AUTH)process.env.PUKU_AUTH="true";if(!process.env.PUKU_WORKER_URL)process.env.PUKU_WORKER_URL="https://api-cli.puku.sh";if(!process.env.PUKU_AI_BASE_URL)process.env.PUKU_AI_BASE_URL="https://api-cli.puku.sh";if(!process.env.PUKU_AI_MODEL)process.env.PUKU_AI_MODEL="puku-ai-2.7";if(!process.env.PUKU_AI_SMALL_FAST_MODEL)process.env.PUKU_AI_SMALL_FAST_MODEL="puku-ai-2.7";if(!process.env.PUKU_CLI_AUTO_MODE_MODEL)process.env.PUKU_CLI_AUTO_MODE_MODEL="puku-ai-2.7";process.env.PUKU_CLI_DISABLE_EXPERIMENTAL_BETAS??="true";process.env.COREPACK_ENABLE_AUTO_PIN="0";if(process.env.PUKU_CLI_REMOTE==="true"){let _=process.env.NODE_OPTIONS||"";process.env.NODE_OPTIONS=_?`${_} --max-old-space-size=8192`:"--max-old-space-size=8192"}function h2_(_){if(!_)return!1;let q=_.trim().toLowerCase();return q!==""&&q!=="0"&&q!=="false"&&q!=="no"}function S07(_=process.env){let q=h2_(_.PUKU_CLI_USE_OPENAI),K=h2_(_.PUKU_CLI_USE_GITHUB);if(h2_(_.PUKU_CLI_USE_GEMINI)){if(!(_.GEMINI_API_KEY??_.GOOGLE_API_KEY))return"GEMINI_API_KEY is required when PUKU_CLI_USE_GEMINI=1.";return null}if(K&&!q){if(!((_.GITHUB_TOKEN?.trim()||_.GH_TOKEN?.trim())??""))return"GITHUB_TOKEN or GH_TOKEN is required when PUKU_CLI_USE_GITHUB=1.";return null}if(!q)return null;let A=c1({model:_.OPENAI_MODEL,baseUrl:_.OPENAI_BASE_URL});if(_.OPENAI_API_KEY==="SUA_CHAVE")return"Invalid OPENAI_API_KEY: placeholder value SUA_CHAVE detected. Set a real key or unset for local providers.";if(A.transport==="codex_responses"){let z=iP(_);if(!z.apiKey){let $=z.authPath?` or put auth.json at ${z.authPath}`:"";return`Codex auth is required for ${nP(A.requestedModel,_)??"the requested model"}. Set CODEX_API_KEY${$}.`}if(!z.accountId)return"Codex auth is missing chatgpt_account_id. Re-login with Codex or set CHATGPT_ACCOUNT_ID/CODEX_ACCOUNT_ID.";return null}if(!_.OPENAI_API_KEY&&!fC6(A.baseUrl)){let z=!!(_.GITHUB_TOKEN?.trim()||_.GH_TOKEN?.trim());if(K&&z)return null;return"OPENAI_API_KEY is required when PUKU_CLI_USE_OPENAI=1 and OPENAI_BASE_URL is not local."}return null}function nj$(){let _=S07();if(_)console.error(_),process.exit(1)}async function rj$(){let _=process.argv.slice(2);if(_.length===1&&(_[0]==="--version"||_[0]==="-v"||_[0]==="-V")){console.log("1.8.42 (puku-cli)");return}if(_.includes("--provider")){let{applyProviderFlagFromArgs:$}=await Promise.resolve().then(() => (Uv8(),Bv8)),w=$(_);if(w?.error)console.error(`Error: ${w.error}`),process.exit(1)}{let{enableConfigs:$}=await Promise.resolve().then(() => (Y8(),sy_));$();let{applySafeConfigEnvironmentVariables:w}=await Promise.resolve().then(() => (w46(),IRq));w();let{hydrateGithubModelsTokenFromSecureStorage:O}=await Promise.resolve().then(() => (An6(),RZq));O()}let q=await pv8({processEnv:process.env});if(q!==process.env){let $=S07(q);if($)console.error(`Warning: ignoring saved provider profile. ${$}`);else mv8(process.env,q)}if(nj$(),h2_(process.env.PUKU_AUTH)){let{getSilentSession:$,injectEnv:w}=await Promise.resolve().then(() => (E0(),_Eq)),O=await $();if(O)w(O)}Promise.resolve().then(() => (hQ_(),bpq)).then(({prewarmSyntaxHighlighting:$})=>$());let{profileCheckpoint:K}=await Promise.resolve().then(() => (Uh(),wu8));if(K("cli_entry"),process.argv[2]==="--claude-in-chrome-mcp"){K("cli_claude_in_chrome_mcp_path");let{runClaudeInChromeMcpServer:$}=await Promise.resolve().then(() => (yK8(),VK8));await $();return}else if(process.argv[2]==="--chrome-native-host"){K("cli_chrome_native_host_path");let{runChromeNativeHost:$}=await Promise.resolve().then(() => ($w7(),zw7));await $();return}if(!1)switch(_[0]){case"ps":case"logs":case"attach":case"kill":default:}if((_.includes("--tmux")||_.includes("--tmux=classic"))&&(_.includes("-w")||_.includes("--worktree")||_.some(($)=>$.startsWith("--worktree=")))){K("cli_tmux_worktree_fast_path");let{enableConfigs:$}=await Promise.resolve().then(() => (Y8(),sy_));$();let{isWorktreeModeEnabled:w}=await Promise.resolve().then(() => NuK);if(w()){let{execIntoTmuxWorktree:O}=await Promise.resolve().then(() => (Ij(),h37)),Y=await O(_);if(Y.handled)return;if(Y.error){let{exitWithError:H}=await Promise.resolve().then(() => wV8);H(Y.error)}}}if(_.length===1&&(_[0]==="--update"||_[0]==="--upgrade"))process.argv=[process.argv[0],process.argv[1],"update"];if(_.includes("--bare"))process.env.PUKU_CLI_SIMPLE="1";if(process.env.PUKU_DISABLE_EARLY_INPUT!=="1"){let{startCapturingEarlyInput:$}=await Promise.resolve().then(() => (yG6(),Tgq));$()}K("cli_before_main_import");let{main:z}=await Promise.resolve().then(() => (nD8(),h07));K("cli_after_main_import"),await z(),K("cli_after_main_complete")}rj$();