| 3143 | `)]);try{let J=await $1.post(A,H,{headers:{Authorization:`Bearer ${z}`,"Content-Type":`multipart/form-data; boundary=${j}`,"Content-Length":H.length.toString()},timeout:j1Y,signal:_.signal,validateStatus:()=>!0});if(J.status!==201){qH6(`upload failed for ${q}: status=${J.status} body=${g6(J.data).slice(0,200)}`);return}let M=X1Y().safeParse(J.data);if(!M.success){qH6(`unexpected response shape for ${q}: ${M.error.message}`);return}return qH6(`uploaded ${q} → ${M.data.file_uuid} (${K} bytes)`),M.data.file_uuid}catch(J){qH6(`upload threw for ${q}: ${J}`);return}}return}var hjK=31457280,j1Y=30000,H1Y,X1Y;var CjK=y(()=>{CK();x7();Ea();H3();_8();l8();H1Y={".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".webp":"image/webp"};X1Y=B6(()=>L.object({file_uuid:L.string()}))});import{stat as bjK}from"fs/promises";async function xjK(q){let K=Z8();for(let _ of q){let z=lq(_);try{if(!(await bjK(z)).isFile())return{result:!1,message:`Attachment "${_}" is not a regular file.`,errorCode:1}}catch(Y){let $=s1(Y);if($==="ENOENT")return{result:!1,message:`Attachment "${_}" does not exist. Current working directory: ${K}.`,errorCode:1};if($==="EACCES"||$==="EPERM")return{result:!1,message:`Attachment "${_}" is not accessible (permission denied).`,errorCode:1};throw Y}}return{result:!0}}async function IjK(q,K){let _=[];for(let z of q){let Y=lq(z),$=await bjK(Y);_.push({path:Y,size:$.size,isImage:lE8.test(Y)})}{let z=K.replBridgeEnabled||i6(process.env.CLAUDE_CODE_BRIEF_UPLOAD),{uploadBriefAttachment:Y}=await Promise.resolve().then(() => (CjK(),SjK)),$=await Promise.all(_.map((A)=>Y(A.path,A.size,{replBridgeEnabled:z,signal:K.signal})));return _.map((A,O)=>$[O]===void 0?A:{...A,file_uuid:$[O]})}return _}var ujK=y(()=>{I7();m8();y8();hN6();dz()});function mjK(){return""}function pjK(q,K,_){let z=(q.attachments?.length??0)>0;if(!q.message&&!z)return null;if(_?.isTranscriptMode)return dj.default.createElement(u,{flexDirection:"row",marginTop:1},dj.default.createElement(u,{minWidth:2},dj.default.createElement(k,{color:"text"},A_)),dj.default.createElement(u,{flexDirection:"column"},q.message?dj.default.createElement(AO,null,q.message):null,dj.default.createElement(Ne1,{attachments:q.attachments})));if(_?.isBriefOnly){let Y=q.sentAt?mb8(q.sentAt):"";return dj.default.createElement(u,{flexDirection:"column",marginTop:1,paddingLeft:2},dj.default.createElement(u,{flexDirection:"row"},dj.default.createElement(k,{color:"briefLabelClaude"},"Claude"),Y?dj.default.createElement(k,{dimColor:!0}," ",Y):null),dj.default.createElement(u,{flexDirection:"column"},q.message?dj.default.createElement(AO,null,q.message):null,dj.default.createElement(Ne1,{attachments:q.attachments})))}return dj.default.createElement(u,{flexDirection:"row",marginTop:1},dj.default.createElement(u,{minWidth:2}),dj.default.createElement(u,{flexDirection:"column"},q.message?dj.default.createElement(AO,null,q.message):null,dj.default.createElement(Ne1,{attachments:q.attachments})))}function Ne1(q){let K=z6(4),{attachments:_}=q;if(!_||_.length===0)return null;let z;if(K[0]!==_)z=_.map(W1Y),K[0]=_,K[1]=z;else z=K[1];let Y;if(K[2]!==z)Y=dj.default.createElement(u,{flexDirection:"column",marginTop:1},z),K[2]=z,K[3]=Y;else Y=K[3];return Y}function W1Y(q){return dj.default.createElement(u,{key:q.path,flexDirection:"row"},dj.default.createElement(k,{dimColor:!0},t6.pointerSmall," ",q.isImage?"[image]":"[file]"," "),dj.default.createElement(k,null,_3(q.path)),dj.default.createElement(k,{dimColor:!0}," (",m4(q.size),")"))}var dj;var BjK=y(()=>{q8();bq();xN();zz();s6();bK();U7();dj=O6(D6(),1)});var IK6={};T8(IK6,{isBriefEntitled:()=>Dm8,isBriefEnabled:()=>gjK,BriefTool:()=>Ee1});function Dm8(){return xk()||i6(process.env.CLAUDE_CODE_BRIEF)||gV("tengu_kairos_brief",!1,Z1Y)}function gjK(){return(xk()||sy())&&Dm8()}var D1Y,f1Y,Z1Y=300000,Ee1;var dQ=y(()=>{x7();v8();o1();k8();Bq();m8();ujK();YI();BjK();D1Y=B6(()=>L.strictObject({message:L.string().describe("The message for the user. Supports markdown formatting."),attachments:L.array(L.string()).optional().describe("Optional file paths (absolute or relative to cwd) to attach. Use for photos, screenshots, diffs, logs, or any file the user should see alongside your message."),status:L.enum(["normal","proactive"]).describe("Use 'proactive' when you're surfacing something the user hasn't asked for and needs to see now — task completion while they're away, a blocker you hit, an unsolicited status update. Use 'normal' when replying to something the user just said.")})),f1Y=B6(()=>L.object({message:L.string().describe("The message"),attachments:L.array(L.object({path:L.string(),size:L.number(),isImage:L.boolean(),file_uuid:L.string().optional()})).optional().describe("Resolved attachment metadata"),sentAt:L.string().optional().describe("ISO timestamp captured at tool execution on the emitting process. Optional — resumed sessions replay pre-sentAt outputs verbatim.")}));Ee1=sq({name:wD6,aliases:[jK1],searchHint:"send a message to the user — your primary visible output channel",maxResultSizeChars:1e5,userFacingName(){return""},get inputSchema(){return D1Y()},get outputSchema(){return f1Y()},isEnabled(){return gjK()},isConcurrencySafe(){return!0},isReadOnly(){return!0},toAutoClassifierInput(q){return q.message},async validateInput({attachments:q},K){if(!q||q.length===0)return{result:!0};return xjK(q)},async description(){return HK1},async prompt(){return JK1},mapToolResultToToolResultBlockParam(q,K){let _=q.attachments?.length??0,z=_===0?"":` (${_} ${A7(_,"attachment")} included)`;return{tool_use_id:K,type:"tool_result",content:`Message delivered to user.${z}`}},renderToolUseMessage:mjK,renderToolResultMessage:pjK,async call({message:q,attachments:K,status:_},z){let Y=new Date().toISOString();if(d("tengu_brief_send",{proactive:_==="proactive",attachment_count:K?.length??0}),!K||K.length===0)return{data:{message:q,sentAt:Y}};let $=z.getAppState(),A=await IjK(K,{replBridgeEnabled:$.replBridgeEnabled,signal:z.abortController.signal});return{data:{message:q,attachments:A,sentAt:Y}}}})});function G1Y(){return GK6("TASK_MAX_OUTPUT_LENGTH",process.env.TASK_MAX_OUTPUT_LENGTH,Re1,Le1).effective}function FjK(q,K){let _=G1Y();if(q.length<=_)return{content:q,wasTruncated:!1};let Y=`[Truncated. Full output: ${sz(K)}] |