MCPcopy Create free account
hub / github.com/Noumena-Network/code / call

Function call

src/tools/WebFetchTool/WebFetchTool.ts:275–375  ·  view source on GitHub ↗
(
    { url, prompt },
    { abortController, options: { isNonInteractiveSession } },
  )

Source from the content-addressed store, hash-verified

273 renderToolUseProgressMessage,
274 renderToolResultMessage,
275 async call(
276 { url, prompt },
277 { abortController, options: { isNonInteractiveSession } },
278 ) {
279 const start = Date.now()
280
281 const response = await getURLMarkdownContent(url, abortController)
282
283 // Check if we got a redirect to a different host
284 if ('type' in response && response.type === 'redirect') {
285 const statusText =
286 response.statusCode === 301
287 ? 'Moved Permanently'
288 : response.statusCode === 308
289 ? 'Permanent Redirect'
290 : response.statusCode === 307
291 ? 'Temporary Redirect'
292 : 'Found'
293
294 const message = `REDIRECT DETECTED: The URL redirects to a different host.
295
296Original URL: ${response.originalUrl}
297Redirect URL: ${response.redirectUrl}
298Status: ${response.statusCode} ${statusText}
299
300To complete your request, I need to fetch content from the redirected URL. Please use WebFetch again with these parameters:
301- url: "${response.redirectUrl}"
302- prompt: "${prompt}"`
303
304 const output: Output = {
305 bytes: Buffer.byteLength(message),
306 code: response.statusCode,
307 codeText: statusText,
308 finalUrl: response.originalUrl,
309 redirectChain: response.redirectChain,
310 redirectUrl: response.redirectUrl,
311 requestedUrl: url,
312 result: message,
313 durationMs: Date.now() - start,
314 url,
315 }
316
317 return {
318 data: output,
319 }
320 }
321
322 const {
323 content,
324 bytes,
325 code,
326 codeText,
327 contentType,
328 finalUrl,
329 persistedPath,
330 persistedSize,
331 redirectChain,
332 } = response as FetchedContent

Callers

nothing calls this directly

Calls 4

getURLMarkdownContentFunction · 0.85
isPreapprovedUrlFunction · 0.85
applyPromptToMarkdownFunction · 0.85
formatFileSizeFunction · 0.85

Tested by

no test coverage detected