(q)
| 3157 | ${z.trimEnd()} |
| 3158 | </output>`)}if(q.task.error)_.push(`<error>${q.task.error}</error>`)}return{tool_use_id:K,type:"tool_result",content:_.join(` |
| 3159 | |
| 3160 | `)}},renderToolUseMessage(q){let{block:K=!0}=q;if(!K)return"non-blocking";return""},renderToolUseTag(q){if(!q.task_id)return null;return n_.default.createElement(k,{dimColor:!0}," ",q.task_id)},renderToolUseProgressMessage(q){let _=q[q.length-1]?.data;return n_.default.createElement(u,{flexDirection:"column"},_?.taskDescription&&n_.default.createElement(k,null," ",_.taskDescription),n_.default.createElement(k,null," Waiting for task"," ",n_.default.createElement(k,{dimColor:!0},"(esc to give additional instructions)")))},renderToolResultMessage(q,K,{verbose:_,theme:z}){return n_.default.createElement(k1Y,{content:q,verbose:_,theme:z})},renderToolUseRejectedMessage(){return n_.default.createElement(FU,null)},renderToolUseErrorMessage(q,{verbose:K}){return n_.default.createElement(Y2,{result:q,verbose:K})}})});function V1Y(q){let K=0,_=0;for(let z of q)if(z!=null&&typeof z!=="string")K++,_+=z.content?.length??0;return{searchCount:K,totalResultCount:_}}function UjK({query:q,allowed_domains:K,blocked_domains:_},{verbose:z}){if(!q)return null;let Y="";if(q)Y+=`"${q}"`;if(z){if(K&&K.length>0)Y+=`, only allowing domains: ${K.join(", ")}`;if(_&&_.length>0)Y+=`, blocking domains: ${_.join(", ")}`}return Y}function QjK(q){if(q.length===0)return null;let K=q[q.length-1];if(!K?.data)return null;let _=K.data;switch(_.type){case"query_update":return uK6.default.createElement(s8,null,uK6.default.createElement(k,{dimColor:!0},"Searching: ",_.query));case"search_results_received":return uK6.default.createElement(s8,null,uK6.default.createElement(k,{dimColor:!0},"Found ",_.resultCount,' results for "',_.query,'"'));default:return null}}function djK(q){let{searchCount:K}=V1Y(q.results??[]),_=q.durationSeconds>=1?`${Math.round(q.durationSeconds)}s`:`${Math.round(q.durationSeconds*1000)}ms`;return uK6.default.createElement(u,{justifyContent:"space-between",width:"100%"},uK6.default.createElement(s8,{height:1},uK6.default.createElement(k,null,"Did ",K," search",K!==1?"es":""," in ",_)))}function be1(q){if(!q?.query)return null;return d5(q.query,PN)}var uK6;var cjK=y(()=>{gK();s6();U7();uK6=O6(D6(),1)});function L1Y(q){return{type:"web_search_20250305",name:"web_search",allowed_domains:q.allowed_domains,blocked_domains:q.blocked_domains,max_uses:8}}function R1Y(q,K,_){let z=[],Y="",$=!0;for(let A of q){if(A.type==="server_tool_use"){if($){if($=!1,Y.trim().length>0)z.push(Y.trim());Y=""}continue}if(A.type==="web_search_tool_result"){if(!Array.isArray(A.content)){let w=`Web search error: ${A.content.error_code}`;H6(Error(w)),z.push(w);continue}let O=A.content.map((w)=>({title:w.title,url:w.url}));z.push({tool_use_id:A.tool_use_id,content:O})}if(A.type==="text")if($)Y+=A.text;else $=!0,Y=A.text}if(Y.length)z.push(Y.trim());return{query:K,results:z,durationSeconds:_}}var N1Y,y1Y,E1Y,Gm8;var xe1=y(()=>{Az();x7();o1();ew();Bq();E8();i1();aq();l8();NO6();cjK();N1Y=B6(()=>L.strictObject({query:L.string().min(2).describe("The search query to use"),allowed_domains:L.array(L.string()).optional().describe("Only include search results from these domains"),blocked_domains:L.array(L.string()).optional().describe("Never include search results from these domains")})),y1Y=B6(()=>{let q=L.object({title:L.string().describe("The title of the search result"),url:L.string().describe("The URL of the search result")});return L.object({tool_use_id:L.string().describe("ID of the tool use"),content:L.array(q).describe("Array of search hits")})}),E1Y=B6(()=>L.object({query:L.string().describe("The search query that was executed"),results:L.array(L.union([y1Y(),L.string()])).describe("Search results and/or text commentary from the model"),durationSeconds:L.number().describe("Time taken to complete the search operation")}));Gm8=sq({name:$N,searchHint:"search the web for current information",maxResultSizeChars:1e5,shouldDefer:!0,async description(q){return`Claude wants to search the web for: ${q.query}`},userFacingName(){return"Web Search"},getToolUseSummary:be1,getActivityDescription(q){let K=be1(q);return K?`Searching for ${K}`:"Searching the web"},isEnabled(){let q=E7(),K=D5();if(q==="firstParty")return!0;if(q==="vertex")return K.includes("claude-opus-4")||K.includes("claude-sonnet-4")||K.includes("claude-haiku-4");if(q==="foundry")return!0;return!1},get inputSchema(){return N1Y()},get outputSchema(){return E1Y()},isConcurrencySafe(){return!0},isReadOnly(){return!0},toAutoClassifierInput(q){return q.query},async checkPermissions(q){return{behavior:"passthrough",message:"WebSearchTool requires permission.",suggestions:[{type:"addRules",rules:[{toolName:$N}],behavior:"allow",destination:"localSettings"}]}},async prompt(){return g24()},renderToolUseMessage:UjK,renderToolUseProgressMessage:QjK,renderToolResultMessage:djK,extractSearchText(){return""},async validateInput(q){let{query:K,allowed_domains:_,blocked_domains:z}=q;if(!K.length)return{result:!1,message:"Error: Missing query",errorCode:1};if(_?.length&&z?.length)return{result:!1,message:"Error: Cannot specify both allowed_domains and blocked_domains in the same request",errorCode:2};return{result:!0}},async call(q,K,_,z,Y){let $=performance.now(),{query:A}=q,O=U8({content:"Perform a web search for the query: "+A}),w=L1Y(q),j=g8("tengu_plum_vx3",!1),H=K.getAppState(),J=fR6({messages:[O],systemPrompt:iK(["You are an assistant for performing a web search tool use"]),thinkingConfig:j?{type:"disabled"}:K.options.thinkingConfig,tools:[],signal:K.abortController.signal,options:{getToolPermissionContext:async()=>H.toolPermissionContext,model:j?PH():K.options.mainLoopModel,toolChoice:j?{type:"tool",name:"web_search"}:void 0,isNonInteractiveSession:K.options.isNonInteractiveSession,hasAppendSystemPrompt:!!K.options.appendSystemPrompt,extraToolSchemas:[w],querySource:"web_search_tool",agents:K.options.agentDefinitions.activeAgents,mcpTools:[],agentId:K.agentId,effortValue:H.effortValue}}),M=[],X=null,P="",W=0,D=new Map;for await(let T of J){if(T.type==="assistant"){M.push(...T.message.content);continue}if(T.type==="stream_event"&&T.event?.type==="content_block_start"){let v=T.event.content_block;if(v&&v.type==="server_tool_use"){X=v.id,P="";continue}}if(X&&T.type==="stream_event"&&T.event?.type==="content_block_delta"){let v=T.event.delta;if(v?.type==="input_json_delta"&&v.partial_json){P+=v.partial_json;try{let V=P.match(/"query"\s*:\s*"((?:[^"\\]|\\.)*)"/);if(V&&V[1]){let E=r8('"'+V[1]+'"');if(!D.has(X)||D.get(X)!==E){if(D.set(X,E),W++,Y)Y({toolUseID:`search-progress-${W}`,data:{type:"query_update",query:E}})}}}catch{}}}if(T.type==="stream_event"&&T.event?.type==="content_block_start"){let v=T.event.content_block;if(v&&v.type==="web_search_tool_result"){let V=v.tool_use_id,E=D.get(V)||A,S=v.content;if(W++,Y)Y({toolUseID:V||`search-progress-${W}`,data:{type:"search_results_received",resultCount:Array.isArray(S)?S.length:0,query:E}})}}}let G=(performance.now()-$)/1000;return{data:R1Y(M,A,G)}},mapToolResultToToolResultBlockParam(q,K){let{query:_,results:z}=q,Y=`Web search results for query: "${_}" |
| 3161 | |
| 3162 | `;return(z??[]).forEach(($)=>{if($==null)return;if(typeof $==="string")Y+=$+` |
no test coverage detected