| 4816 | `);return{...q,content:A}}let Y=_===void 0?[]:typeof _==="string"?_.trim()?[{type:"text",text:_.trim()}]:[]:[..._],$=[];for(let A of[...Y,...K])if(A.type==="text"){let O=A.text.trim();if(!O)continue;let w=$.at(-1);if(w?.type==="text")$[$.length-1]={...w,text:`${w.text} |
| 4817 | |
| 4818 | ${O}`};else $.push({type:"text",text:O})}else $.push(A);return{...q,content:$}}function UYY(q,K){let _=tS(q);if(_?.type!=="tool_result")return[...q,...K];if(!tY("tengu_chair_sermon")){if(typeof _.content==="string"&&K.every((A)=>A.type==="text")){let A=q.slice();return A[A.length-1]=Y77(_,K),A}return[...q,...K]}let z=K.filter((A)=>A.type!=="tool_result"),Y=K.filter((A)=>A.type==="tool_result");if(z.length===0)return[...q,...K];let $=Y77(_,z);if($===null)return[...q,...K];return[...q.slice(0,-1),$,...Y]}function SB8(q,K,_){if(!q)return[];return q.map((z)=>{switch(z.type){case"tool_use":{if(typeof z.input!=="string"&&!JA(z.input))throw Error("Tool use input must be a string or object");let Y;if(typeof z.input==="string"){let $=m5(z.input);if($===null&&z.input.length>0)d("tengu_tool_input_json_parse_fail",{toolName:wK(z.name),inputLen:z.input.length});Y=$??{}}else Y=z.input;if(typeof Y==="object"&&Y!==null){let $=L5(K,z.name);if($)try{Y=zZK($,Y,_)}catch(A){H6(Error("Error normalizing tool input: "+A))}}return{...z,input:Y}}case"text":if(z.text.trim().length===0)d("tengu_model_whitespace_response",{length:z.text.length});return z;case"code_execution_tool_result":case"mcp_tool_use":case"mcp_tool_result":case"container_upload":return z;case"server_tool_use":if(typeof z.input==="string")return{...z,input:m5(z.input)??{}};return z;default:return z}})}function qN6(q){return sq6(q).trim()===""||q.trim()===nV}function sq6(q){return q.replace(QYY,"").trim()}function Qa(q){switch(q.type){case"attachment":if(r18(q))return q.attachment.toolUseID;return null;case"assistant":if(q.message.content[0]?.type!=="tool_use")return null;return q.message.content[0].id;case"user":if(q.sourceToolUseID)return q.sourceToolUseID;if(q.message.content[0]?.type!=="tool_result")return null;return q.message.content[0].tool_use_id;case"progress":return q.toolUseID;case"system":return q.subtype==="informational"?q.toolUseID??null:null}}function Lx8(q){let K=new Set,_=new Set;for(let Y of q){if(Y.type!=="user"&&Y.type!=="assistant")continue;let $=Y.message.content;if(!Array.isArray($))continue;for(let A of $){if(A.type==="tool_use")K.add(A.id);if(A.type==="tool_result")_.add(A.tool_use_id)}}let z=new Set([...K].filter((Y)=>!_.has(Y)));if(z.size===0)return q;return q.filter((Y)=>{if(Y.type!=="assistant")return!0;let $=Y.message.content;if(!Array.isArray($))return!0;let A=[];for(let O of $)if(O.type==="tool_use")A.push(O.id);if(A.length===0)return!0;return!A.every((O)=>z.has(O))})}function D18(q){if(q.type!=="assistant")return null;if(Array.isArray(q.message.content))return q.message.content.filter((K)=>K.type==="text").map((K)=>K.type==="text"?K.text:"").join(` |
| 4819 | `).trim()||null;return null}function iw6(q){if(q.type!=="user")return null;let K=q.message.content;return EQ(K)}function w77(q){let K=iw6(q);if(K===null)return null;let _=o4(K,"bash-input");if(_)return{text:_,mode:"bash"};let z=o4(K,CZ);if(z){let Y=o4(K,P$8)??"";return{text:`${z} ${Y}`,mode:"prompt"}}return{text:WL7(K),mode:"prompt"}}function L3(q,K=""){return q.filter((_)=>_.type==="text").map((_)=>_.text).join(K)}function EQ(q){if(typeof q==="string")return q;if(Array.isArray(q))return L3(q,` |
| 4820 | `).trim()||null;return null}function fh6(q,K,_,z,Y,$,A,O,w){if(q.type!=="stream_event"&&q.type!=="stream_request_start"){if(q.type==="tombstone"){$?.(q.message);return}if(q.type==="tool_use_summary")return;if(q.type==="assistant"){let j=q.message.content.find((H)=>H.type==="thinking");if(j&&j.type==="thinking")A?.(()=>({thinking:j.thinking,isStreaming:!1,streamingEndedAt:Date.now()}))}w?.(()=>null),K(q);return}if(q.type==="stream_request_start"){z("requesting");return}if(q.event.type==="message_start"){if(q.ttftMs!=null)O?.({ttftMs:q.ttftMs})}if(q.event.type==="message_stop"){z("tool-use"),Y(()=>[]);return}switch(q.event.type){case"content_block_start":switch(w?.(()=>null),q.event.content_block.type){case"thinking":case"redacted_thinking":z("thinking");return;case"text":z("responding");return;case"tool_use":{z("tool-input");let j=q.event.content_block,H=q.event.index;Y((J)=>[...J,{index:H,contentBlock:j,unparsedToolInput:""}]);return}case"server_tool_use":case"web_search_tool_result":case"code_execution_tool_result":case"mcp_tool_use":case"mcp_tool_result":case"container_upload":case"web_fetch_tool_result":case"bash_code_execution_tool_result":case"text_editor_code_execution_tool_result":case"tool_search_tool_result":case"compaction":z("tool-input");return}return;case"content_block_delta":switch(q.event.delta.type){case"text_delta":{let j=q.event.delta.text;_(j),w?.((H)=>(H??"")+j);return}case"input_json_delta":{let j=q.event.delta.partial_json,H=q.event.index;_(j),Y((J)=>{let M=J.find((X)=>X.index===H);if(!M)return J;return[...J.filter((X)=>X!==M),{...M,unparsedToolInput:M.unparsedToolInput+j}]});return}case"thinking_delta":_(q.event.delta.thinking);return;case"signature_delta":return;default:return}case"content_block_stop":return;case"message_delta":z("responding");return;default:z("responding");return}}function KT(q){return`<system-reminder> |
| 4821 | ${q} |
| 4822 | </system-reminder>`}function V9(q){return q.map((K)=>{if(typeof K.message.content==="string")return{...K,message:{...K.message,content:KT(K.message.content)}};else if(Array.isArray(K.message.content)){let _=K.message.content.map((z)=>{if(z.type==="text")return{...z,text:KT(z.text)};return z});return{...K,message:{...K.message,content:_}}}return K})}function dYY(q){if(q.isSubAgent)return tYY(q);if(q.reminderType==="sparse")return sYY(q);return rYY(q)}function iYY(){let q=ym8();switch(q){case"trim":return cYY;case"cut":return lYY;case"cap":return nYY;case null:return C0K;default:return C0K}}function rYY(q){if(q.isSubAgent)return[];if(l2())return aYY(q);let K=SHK(),_=CHK(),Y=`Plan mode is active. The user indicated that they do not want you to execute yet -- you MUST NOT make any edits (with the exception of the plan file mentioned below), run any non-readonly tools (including changing configs or making commits), or otherwise make any changes to the system. This supercedes any other instructions you have received. |