diff --git a/DESCRIPTION b/DESCRIPTION index 3ff07d25..258e9d31 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -94,17 +94,20 @@ Collate: 'provider-openai-compatible.R' 'provider-azure.R' 'provider-claude-files.R' + 'provider-claude-tools.R' 'provider-claude.R' 'provider-google.R' 'provider-cloudflare.R' 'provider-databricks.R' 'provider-deepseek.R' 'provider-github.R' + 'provider-google-tools.R' 'provider-google-upload.R' 'provider-groq.R' 'provider-huggingface.R' 'provider-mistral.R' 'provider-ollama.R' + 'provider-openai-tools.R' 'provider-openai.R' 'provider-openrouter.R' 'provider-perplexity.R' diff --git a/NAMESPACE b/NAMESPACE index 667fe419..5a3e24ab 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -60,6 +60,8 @@ export(claude_file_download) export(claude_file_get) export(claude_file_list) export(claude_file_upload) +export(claude_tool_web_fetch) +export(claude_tool_web_search) export(content_image_file) export(content_image_plot) export(content_image_url) @@ -72,6 +74,8 @@ export(contents_replay) export(contents_text) export(create_tool_def) export(df_schema) +export(google_tool_web_fetch) +export(google_tool_web_search) export(google_upload) export(has_credentials) export(interpolate) @@ -90,6 +94,7 @@ export(models_ollama) export(models_openai) export(models_portkey) export(models_vllm) +export(openai_tool_web_search) export(parallel_chat) export(parallel_chat_structured) export(parallel_chat_text) diff --git a/NEWS.md b/NEWS.md index edc252f1..cc6a7f96 100644 --- a/NEWS.md +++ b/NEWS.md @@ -37,6 +37,11 @@ * `parallel_chat_structured()` no longer errors if some results fail to parse. Instead it warns, and the corresponding rows will be filled in with the appropriate missing values (#628). * `parallel_chat_structured()` now returns a tibble, since this does a better job of printing more complex data frames (#787). * `params()` gains new `reasoning_effort` and `reasoning_tokens` so you can control the amount of effort a model spends on thinking. Initial support is provided for `chat_claude()`, `chat_google_gemini()`, and `chat_openai()` (#720). +* ellmer now supports a variety of built-in web search and fetch tools (#578): + - `claude_tool_web_search()` and `claude_tool_web_fetch()` for Claude. + - `google_tool_web_search()` and `google_tool_web_fetch()` for Gemini. + - `openai_tool_web_search()` for OpenAI. + If you want to do web fetch for other providers, you could use `btw::btw_tool_web_read_url()`.* `AssistantTurn`s now have a `@duration` slot, containing the total time to complete the request (@simonpcouch, #798). * `tool()`s can now return image or PDF content types, with `content_image_file()` or `content_image_pdf()` (#735). * The following deprecated functions/arguments/methods have now been removed: * `Chat$extract_data()` -> `chat$chat_structured()` (0.2.0) diff --git a/R/provider-claude-tools.R b/R/provider-claude-tools.R new file mode 100644 index 00000000..d2244ccb --- /dev/null +++ b/R/provider-claude-tools.R @@ -0,0 +1,100 @@ +#' Claude web search tool +#' +#' @description +#' Enables Claude to search the web for up-to-date information. Your organization +#' administrator must enable web search in the Anthropic Console before using +#' this tool, as it costs extra ($10 per 1,000 tokens at time of writing). +#' +#' Learn more in . +#' +#' @param max_uses Integer. Maximum number of searches allowed per request. +#' @param allowed_domains Character vector. Restrict searches to specific domains +#' (e.g., `c("nytimes.com", "bbc.com")`). Cannot be used with `blocked_domains`. +#' @param blocked_domains Character vector. Exclude specific domains from searches. +#' Cannot be used with `allowed_domains`. +#' @param user_location List with optional elements: `country` (2-letter code), +#' `city`, `region`, and `timezone` (IANA timezone) to localize search results. +#' +#' @family built-in tools +#' @export +#' @examples +#' \dontrun{ +#' chat <- chat_claude() +#' chat$register_tool(claude_tool_web_search()) +#' chat$chat("What was in the news today?") +#' chat$chat("What's the biggest news in the economy?") +#' } +claude_tool_web_search <- function( + max_uses = NULL, + allowed_domains = NULL, + blocked_domains = NULL, + user_location = NULL +) { + check_exclusive(allowed_domains, blocked_domains, .require = FALSE) + + check_number_whole(max_uses, allow_null = TRUE, min = 1) + check_character(allowed_domains, allow_null = TRUE) + check_character(blocked_domains, allow_null = TRUE) + + json <- compact(list( + name = "web_search", + type = "web_search_20250305", + max_uses = max_uses, + allowed_domains = allowed_domains, + blocked_domains = blocked_domains, + user_location = user_location + )) + ToolBuiltIn("web_search", json = json) +} + +#' Claude web fetch tool +#' +#' @description +#' Enables Claude to fetch and analyze content from web URLs. Claude can only +#' fetch URLs that appear in the conversation context (user messages or +#' previous tool results). For security reasons, Claude cannot dynamically +#' construct URLs to fetch. +#' +#' Requires the `web-fetch-2025-09-10` beta header. +#' Learn more in . +#' +#' @param max_uses Integer. Maximum number of fetches allowed per request. +#' @param allowed_domains Character vector. Restrict fetches to specific domains. +#' Cannot be used with `blocked_domains`. +#' @param blocked_domains Character vector. Exclude specific domains from fetches. +#' Cannot be used with `allowed_domains`. +#' @param citations Logical. Whether to include citations in the response. Default is `TRUE`. +#' @param max_content_tokens Integer. Maximum number of tokens to fetch from each URL. +#' +#' @family built-in tools +#' @export +#' @examples +#' \dontrun{ +#' chat <- chat_claude(beta_headers = "web-fetch-2025-09-10") +#' chat$register_tool(claude_tool_web_fetch()) +#' chat$chat("What are the latest package releases on https://tidyverse.org/blog") +#' } +claude_tool_web_fetch <- function( + max_uses = NULL, + allowed_domains = NULL, + blocked_domains = NULL, + citations = FALSE, + max_content_tokens = NULL +) { + check_exclusive(allowed_domains, blocked_domains, .require = FALSE) + + check_character(allowed_domains, allow_null = TRUE) + check_character(blocked_domains, allow_null = TRUE) + check_bool(citations) + + json <- compact(list( + name = "web_fetch", + type = "web_fetch_20250910", + max_uses = max_uses, + allowed_domains = allowed_domains, + blocked_domains = blocked_domains, + citations = list(enabled = citations), + max_content_tokens = max_content_tokens + )) + ToolBuiltIn("web_fetch", json) +} diff --git a/R/provider-claude.R b/R/provider-claude.R index a1839df1..10212ade 100644 --- a/R/provider-claude.R +++ b/R/provider-claude.R @@ -313,6 +313,12 @@ method(stream_merge_chunks, ProviderAnthropic) <- function( result$stop_reason <- chunk$delta$stop_reason result$stop_sequence <- chunk$delta$stop_sequence result$usage$output_tokens <- chunk$usage$output_tokens + } else if (chunk$delta$type == "citations_delta") { + # https://docs.claude.com/en/docs/build-with-claude/citations#streaming-support + result$content[[i]]$citations <- c( + result$content[[i]]$citations, + list(chunk$delta$citation) + ) } else if (chunk$type == "error") { if (chunk$error$type == "overloaded_error") { # https://docs.anthropic.com/en/api/messages-streaming#error-events @@ -355,6 +361,30 @@ method(value_turn, ProviderAnthropic) <- function( } ContentToolRequest(content$id, content$name, content$input) } + } else if (content$type == "server_tool_use") { + if (content$name == "web_search") { + # https://docs.claude.com/en/docs/agents-and-tools/tool-use/web-search-tool#response + ContentToolRequestSearch( + query = content$input$query, + json = content + ) + } else if (content$name == "web_fetch") { + # https://docs.claude.com/en/docs/agents-and-tools/tool-use/web-fetch-tool#response + ContentToolRequestFetch( + url = content$input$url, + json = content + ) + } else { + cli::cli_abort("Unknown server tool {.str {content$name}}.") + } + } else if (content$type == "web_search_tool_result") { + urls <- map_chr(content$content, \(x) x$url) + ContentToolResponseSearch( + url = urls, + json = content + ) + } else if (content$type == "web_fetch_tool_result") { + ContentToolResponseFetch(url = content$url %||% "failed", json = content) } else if (content$type == "thinking") { ContentThinking( content$thinking, diff --git a/R/provider-google-tools.R b/R/provider-google-tools.R new file mode 100644 index 00000000..7a26885f --- /dev/null +++ b/R/provider-google-tools.R @@ -0,0 +1,43 @@ +#' Google web search (grounding) tool +#' +#' @description +#' Enables Gemini models to search the web for up-to-date information and ground +#' responses with citations to sources. The model automatically decides when +#' (and how) to search the web based on your prompt. Search results are +#' incorporated into the response with grounding metadata including source +#' URLs and titles. +#' +#' Learn more in . +#' +#' @family built-in tools +#' @export +#' @examples +#' \dontrun{ +#' chat <- chat_google_gemini() +#' chat$register_tool(google_tool_web_search()) +#' chat$chat("What was in the news today?") +#' chat$chat("What's the biggest news in the economy?") +#' } +google_tool_web_search <- function() { + ToolBuiltIn("web_search", list(google_search = set_names(list()))) +} + +#' Google URL fetch tool +#' +#' @description +#' When this tool is enabled, you can include URLs directly in your prompts and +#' Gemini will fetch and analyze the content. +#' +#' Learn more in . +#' +#' @family built-in tools +#' @export +#' @examples +#' \dontrun{ +#' chat <- chat_google_gemini() +#' chat$register_tool(google_tool_web_fetch()) +#' chat$chat("What are the latest package releases on https://tidyverse.org/blog?") +#' } +google_tool_web_fetch <- function() { + ToolBuiltIn(name = "web_fetch", json = list(url_context = set_names(list()))) +} diff --git a/R/provider-google.R b/R/provider-google.R index 7edc7a6b..65110504 100644 --- a/R/provider-google.R +++ b/R/provider-google.R @@ -226,8 +226,13 @@ method(chat_body, ProviderGoogleGemini) <- function( # https://ai.google.dev/api/caching#Tool if (length(tools) > 0) { + is_builtin <- map_lgl(tools, \(tool) S7_inherits(tool, ToolBuiltIn)) funs <- as_json(provider, unname(tools)) - tools <- list(functionDeclarations = funs) + + tools <- c( + compact(list(functionDeclarations = funs[!is_builtin])), + unlist(funs[is_builtin], recursive = FALSE) + ) } else { tools <- NULL } @@ -283,12 +288,26 @@ method(stream_merge_chunks, ProviderGoogleGemini) <- function( } method(value_tokens, ProviderGoogleGemini) <- function(provider, json) { + # https://ai.google.dev/api/generate-content#UsageMetadata usage <- json$usageMetadata + + # Total token count for the generation request (prompt + response candidates). + # Not documented, but appears to include thinking and tool use, i.e. + # usage$promptTokenCount + usage$candidatesTokenCount + + # usage$toolUsePromptTokenCount + usage$thoughtsTokenCount == + # usage$totalTokenCount + total <- usage$totalTokenCount %||% 0 + + # Number of tokens in the prompt. When cachedContent is set, this is + # still the total effective prompt size meaning this includes the number + # of tokens in the cached content. + input <- usage$promptTokenCount %||% 0 + cached <- usage$cachedContentTokenCount %||% 0 tokens( - input = (usage$promptTokenCount %||% 0) + -cached, - output = usage$candidatesTokenCount + (usage$thoughtsTokenCount %||% 0), + input = input - cached, + output = total - input, cached_input = cached ) } diff --git a/R/provider-openai-tools.R b/R/provider-openai-tools.R new file mode 100644 index 00000000..f8fad8c7 --- /dev/null +++ b/R/provider-openai-tools.R @@ -0,0 +1,49 @@ +#' OpenAI web search tool +#' +#' @description +#' Enables OpenAI models to search the web for up-to-date information. The search +#' behavior varies by model: non-reasoning models perform simple searches, while +#' reasoning models can perform agentic, iterative searches. +#' +#' Learn more at +#' +#' @param allowed_domains Character vector. Restrict searches to specific domains +#' (e.g., `c("nytimes.com", "bbc.com")`). Maximum 20 domains. URLs will be +#' automatically cleaned (http/https prefixes removed). +#' @param user_location List with optional elements: `country` (2-letter ISO code), +#' `city`, `region`, and `timezone` (IANA timezone) to localize search results. +#' @param external_web_access Logical. Whether to allow live internet access +#' (`TRUE`, default) or use only cached/indexed results (`FALSE`). +#' +#' @family built-in tools +#' @export +#' @examples +#' \dontrun{ +#' chat <- chat_openai() +#' chat$register_tool(openai_tool_web_search()) +#' chat$chat("Very briefly summarise the top 3 news stories of the day") +#' chat$chat("Of those stories, which one do you think was the most interesting?") +#' } +openai_tool_web_search <- function( + allowed_domains = NULL, + user_location = NULL, + external_web_access = TRUE +) { + check_character(allowed_domains, allow_null = TRUE) + check_bool(external_web_access) + + # Strip http/https from domains + if (!is.null(allowed_domains)) { + allowed_domains <- sub("^https?://", "", allowed_domains) + } + + json <- compact(list( + type = "web_search", + filters = if (!is.null(allowed_domains)) { + list(allowed_domains = allowed_domains) + }, + user_location = user_location, + external_web_access = external_web_access + )) + ToolBuiltIn("web_search", json) +} diff --git a/R/provider-openai.R b/R/provider-openai.R index 2826d597..08c88d0f 100644 --- a/R/provider-openai.R +++ b/R/provider-openai.R @@ -305,9 +305,13 @@ method(value_turn, ProviderOpenAI) <- function( "unknown" ) ContentImageInline(mime_type, output$result) + } else if (output$type == "web_search_call") { + # https://platform.openai.com/docs/guides/tools-web-search#output-and-citations + ContentToolRequestSearch(query = output$action$query, json = output) } else { + browser() cli::cli_abort( - "Unknown content type {.str {content$type}}.", + "Unknown content type {.str {output$type}}.", .internal = TRUE ) } diff --git a/R/tools-built-in.R b/R/tools-built-in.R index f087b8ae..0c165957 100644 --- a/R/tools-built-in.R +++ b/R/tools-built-in.R @@ -9,3 +9,87 @@ ToolBuiltIn <- new_class( method(as_json, list(Provider, ToolBuiltIn)) <- function(provider, x, ...) { x@json } + +# Web search --------------------------------------------------------------- + +ContentToolRequestSearch <- new_class( + "ContentToolRequestSearch", + parent = Content, + properties = list( + query = prop_string(), + json = class_list + ) +) +method(format, ContentToolRequestSearch) <- function(x, ...) { + cli::format_inline("[{.strong web search request}]: {.str {x@query}}") +} +method(as_json, list(Provider, ContentToolRequestSearch)) <- function( + provider, + x, + ... +) { + x@json +} + +ContentToolResponseSearch <- new_class( + "ContentToolResponseSearch", + parent = Content, + properties = list( + urls = class_character, + json = class_list + ) +) +method(format, ContentToolResponseSearch) <- function(x, ...) { + paste0( + cli::format_inline("[{.strong web search results}]:\n"), + paste0("* ", x@urls, "\n", collapse = "") + ) +} + +method(as_json, list(Provider, ContentToolResponseSearch)) <- function( + provider, + x, + ... +) { + x@json +} + +# Web fetch ------------------------------------------------------------------- + +ContentToolRequestFetch <- new_class( + "ContentToolRequestFetch", + parent = Content, + properties = list( + url = prop_string(), + json = class_list + ) +) +method(format, ContentToolRequestFetch) <- function(x, ...) { + cli::format_inline("[{.strong web fetch request}]: {.url {x@url}}") +} +method(as_json, list(Provider, ContentToolRequestFetch)) <- function( + provider, + x, + ... +) { + x@json +} + +ContentToolResponseFetch <- new_class( + "ContentToolResponseFetch", + parent = Content, + properties = list( + url = prop_string(), + json = class_list + ) +) +method(format, ContentToolResponseFetch) <- function(x, ...) { + cli::format_inline("[{.strong web fetch result}]: {.url {x@url}}") +} +method(as_json, list(Provider, ContentToolResponseFetch)) <- function( + provider, + x, + ... +) { + x@json +} diff --git a/R/utils.R b/R/utils.R index 2c6a7402..0828ac64 100644 --- a/R/utils.R +++ b/R/utils.R @@ -60,6 +60,13 @@ pretty_json <- function(x) { jsonlite::toJSON(x, pretty = TRUE, auto_unbox = TRUE) } +parse_json <- function(x) { + tryCatch( + jsonlite::fromJSON(x, simplifyVector = FALSE), + error = function(cnd) NULL + ) +} + read_ndjson <- function(path, fallback = \(line) NULL) { lines <- readLines(path, warn = FALSE) lapply(lines, function(line) { diff --git a/_pkgdown.yml b/_pkgdown.yml index 7108a86e..fbe343e0 100644 --- a/_pkgdown.yml +++ b/_pkgdown.yml @@ -28,6 +28,11 @@ reference: contents: - google_upload - starts_with("claude_file") + - claude_tool_web_search + - claude_tool_web_fetch + - google_tool_web_search + - google_tool_web_fetch + - openai_tool_web_search - title: Chat helpers contents: diff --git a/man/claude_tool_web_fetch.Rd b/man/claude_tool_web_fetch.Rd new file mode 100644 index 00000000..9e445046 --- /dev/null +++ b/man/claude_tool_web_fetch.Rd @@ -0,0 +1,51 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/provider-claude-tools.R +\name{claude_tool_web_fetch} +\alias{claude_tool_web_fetch} +\title{Claude web fetch tool} +\usage{ +claude_tool_web_fetch( + max_uses = NULL, + allowed_domains = NULL, + blocked_domains = NULL, + citations = FALSE, + max_content_tokens = NULL +) +} +\arguments{ +\item{max_uses}{Integer. Maximum number of fetches allowed per request.} + +\item{allowed_domains}{Character vector. Restrict fetches to specific domains. +Cannot be used with \code{blocked_domains}.} + +\item{blocked_domains}{Character vector. Exclude specific domains from fetches. +Cannot be used with \code{allowed_domains}.} + +\item{citations}{Logical. Whether to include citations in the response. Default is \code{TRUE}.} + +\item{max_content_tokens}{Integer. Maximum number of tokens to fetch from each URL.} +} +\description{ +Enables Claude to fetch and analyze content from web URLs. Claude can only +fetch URLs that appear in the conversation context (user messages or +previous tool results). For security reasons, Claude cannot dynamically +construct URLs to fetch. + +Requires the \code{web-fetch-2025-09-10} beta header. +Learn more in \url{https://docs.claude.com/en/docs/agents-and-tools/tool-use/web-fetch-tool}. +} +\examples{ +\dontrun{ +chat <- chat_claude(beta_headers = "web-fetch-2025-09-10") +chat$register_tool(claude_tool_web_fetch()) +chat$chat("What are the latest package releases on https://tidyverse.org/blog") +} +} +\seealso{ +Other built-in tools: +\code{\link{claude_tool_web_search}()}, +\code{\link{google_tool_web_fetch}()}, +\code{\link{google_tool_web_search}()}, +\code{\link{openai_tool_web_search}()} +} +\concept{built-in tools} diff --git a/man/claude_tool_web_search.Rd b/man/claude_tool_web_search.Rd new file mode 100644 index 00000000..d7c684f8 --- /dev/null +++ b/man/claude_tool_web_search.Rd @@ -0,0 +1,48 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/provider-claude-tools.R +\name{claude_tool_web_search} +\alias{claude_tool_web_search} +\title{Claude web search tool} +\usage{ +claude_tool_web_search( + max_uses = NULL, + allowed_domains = NULL, + blocked_domains = NULL, + user_location = NULL +) +} +\arguments{ +\item{max_uses}{Integer. Maximum number of searches allowed per request.} + +\item{allowed_domains}{Character vector. Restrict searches to specific domains +(e.g., \code{c("nytimes.com", "bbc.com")}). Cannot be used with \code{blocked_domains}.} + +\item{blocked_domains}{Character vector. Exclude specific domains from searches. +Cannot be used with \code{allowed_domains}.} + +\item{user_location}{List with optional elements: \code{country} (2-letter code), +\code{city}, \code{region}, and \code{timezone} (IANA timezone) to localize search results.} +} +\description{ +Enables Claude to search the web for up-to-date information. Your organization +administrator must enable web search in the Anthropic Console before using +this tool, as it costs extra ($10 per 1,000 tokens at time of writing). + +Learn more in \url{https://docs.claude.com/en/docs/agents-and-tools/tool-use/web-search-tool}. +} +\examples{ +\dontrun{ +chat <- chat_claude() +chat$register_tool(claude_tool_web_search()) +chat$chat("What was in the news today?") +chat$chat("What's the biggest news in the economy?") +} +} +\seealso{ +Other built-in tools: +\code{\link{claude_tool_web_fetch}()}, +\code{\link{google_tool_web_fetch}()}, +\code{\link{google_tool_web_search}()}, +\code{\link{openai_tool_web_search}()} +} +\concept{built-in tools} diff --git a/man/google_tool_web_fetch.Rd b/man/google_tool_web_fetch.Rd new file mode 100644 index 00000000..83adadf4 --- /dev/null +++ b/man/google_tool_web_fetch.Rd @@ -0,0 +1,29 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/provider-google-tools.R +\name{google_tool_web_fetch} +\alias{google_tool_web_fetch} +\title{Google URL fetch tool} +\usage{ +google_tool_web_fetch() +} +\description{ +When this tool is enabled, you can include URLs directly in your prompts and +Gemini will fetch and analyze the content. + +Learn more in \url{https://ai.google.dev/gemini-api/docs/url-context}. +} +\examples{ +\dontrun{ +chat <- chat_google_gemini() +chat$register_tool(google_tool_web_fetch()) +chat$chat("What are the latest package releases on https://tidyverse.org/blog?") +} +} +\seealso{ +Other built-in tools: +\code{\link{claude_tool_web_fetch}()}, +\code{\link{claude_tool_web_search}()}, +\code{\link{google_tool_web_search}()}, +\code{\link{openai_tool_web_search}()} +} +\concept{built-in tools} diff --git a/man/google_tool_web_search.Rd b/man/google_tool_web_search.Rd new file mode 100644 index 00000000..d6cc3633 --- /dev/null +++ b/man/google_tool_web_search.Rd @@ -0,0 +1,33 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/provider-google-tools.R +\name{google_tool_web_search} +\alias{google_tool_web_search} +\title{Google web search (grounding) tool} +\usage{ +google_tool_web_search() +} +\description{ +Enables Gemini models to search the web for up-to-date information and ground +responses with citations to sources. The model automatically decides when +(and how) to search the web based on your prompt. Search results are +incorporated into the response with grounding metadata including source +URLs and titles. + +Learn more in \url{https://ai.google.dev/gemini-api/docs/google-search}. +} +\examples{ +\dontrun{ +chat <- chat_google_gemini() +chat$register_tool(google_tool_web_search()) +chat$chat("What was in the news today?") +chat$chat("What's the biggest news in the economy?") +} +} +\seealso{ +Other built-in tools: +\code{\link{claude_tool_web_fetch}()}, +\code{\link{claude_tool_web_search}()}, +\code{\link{google_tool_web_fetch}()}, +\code{\link{openai_tool_web_search}()} +} +\concept{built-in tools} diff --git a/man/openai_tool_web_search.Rd b/man/openai_tool_web_search.Rd new file mode 100644 index 00000000..c679e5af --- /dev/null +++ b/man/openai_tool_web_search.Rd @@ -0,0 +1,46 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/provider-openai-tools.R +\name{openai_tool_web_search} +\alias{openai_tool_web_search} +\title{OpenAI web search tool} +\usage{ +openai_tool_web_search( + allowed_domains = NULL, + user_location = NULL, + external_web_access = TRUE +) +} +\arguments{ +\item{allowed_domains}{Character vector. Restrict searches to specific domains +(e.g., \code{c("nytimes.com", "bbc.com")}). Maximum 20 domains. URLs will be +automatically cleaned (http/https prefixes removed).} + +\item{user_location}{List with optional elements: \code{country} (2-letter ISO code), +\code{city}, \code{region}, and \code{timezone} (IANA timezone) to localize search results.} + +\item{external_web_access}{Logical. Whether to allow live internet access +(\code{TRUE}, default) or use only cached/indexed results (\code{FALSE}).} +} +\description{ +Enables OpenAI models to search the web for up-to-date information. The search +behavior varies by model: non-reasoning models perform simple searches, while +reasoning models can perform agentic, iterative searches. + +Learn more at \url{https://platform.openai.com/docs/guides/tools-web-search} +} +\examples{ +\dontrun{ +chat <- chat_openai() +chat$register_tool(openai_tool_web_search()) +chat$chat("Very briefly summarise the top 3 news stories of the day") +chat$chat("Of those stories, which one do you think was the most interesting?") +} +} +\seealso{ +Other built-in tools: +\code{\link{claude_tool_web_fetch}()}, +\code{\link{claude_tool_web_search}()}, +\code{\link{google_tool_web_fetch}()}, +\code{\link{google_tool_web_search}()} +} +\concept{built-in tools} diff --git a/tests/testthat/_vcr/anthropic-web-fetch.yml b/tests/testthat/_vcr/anthropic-web-fetch.yml new file mode 100644 index 00000000..9f92ae32 --- /dev/null +++ b/tests/testthat/_vcr/anthropic-web-fetch.yml @@ -0,0 +1,385 @@ +http_interactions: +- request: + method: POST + uri: https://api.anthropic.com/v1/messages + body: + string: '{"model":"claude-sonnet-4-5-20250929","messages":[{"role":"user","content":[{"type":"text","text":"What''s + the first movie listed on https://rvest.tidyverse.org/articles/starwars.html?","cache_control":{"type":"ephemeral","ttl":"5m"}}]}],"stream":false,"tools":[{"name":"web_fetch","type":"web_fetch_20250910","citations":{"enabled":false}}],"temperature":0,"max_tokens":4096}' + response: + status: 200 + headers: + date: Fri, 07 Nov 2025 15:47:27 GMT + content-type: application/json + content-encoding: gzip + anthropic-ratelimit-input-tokens-limit: '2000000' + anthropic-ratelimit-input-tokens-remaining: '1999000' + anthropic-ratelimit-input-tokens-reset: '2025-11-07T15:47:27Z' + anthropic-ratelimit-output-tokens-limit: '400000' + anthropic-ratelimit-output-tokens-remaining: '400000' + anthropic-ratelimit-output-tokens-reset: '2025-11-07T15:47:27Z' + anthropic-ratelimit-requests-limit: '4000' + anthropic-ratelimit-requests-remaining: '3999' + anthropic-ratelimit-requests-reset: '2025-11-07T15:47:21Z' + retry-after: '34' + anthropic-ratelimit-tokens-limit: '2400000' + anthropic-ratelimit-tokens-remaining: '2399000' + anthropic-ratelimit-tokens-reset: '2025-11-07T15:47:27Z' + request-id: req_011CUtnoqauZ5V5PjEKFqCfg + strict-transport-security: max-age=31536000; includeSubDomains; preload + anthropic-organization-id: bf3687d8-1b59-41eb-9761-a1fd70b24e7e + x-envoy-upstream-service-time: '6055' + cf-cache-status: DYNAMIC + x-robots-tag: none + server: cloudflare + cf-ray: 99adf7fd1ff57a97-DFW + body: + string: '{"model":"claude-sonnet-4-5-20250929","id":"msg_01WSdQZERVjDmn7tPQiTKjH8","type":"message","role":"assistant","content":[{"type":"text","text":"I''ll + fetch that URL to see what the first movie listed is."},{"type":"server_tool_use","id":"srvtoolu_011B8NpmmZj6QqwjjDwxgUU3","name":"web_fetch","input":{"url":"https://rvest.tidyverse.org/articles/starwars.html"}},{"type":"web_fetch_tool_result","tool_use_id":"srvtoolu_011B8NpmmZj6QqwjjDwxgUU3","content":{"type":"web_fetch_result","url":"https://rvest.tidyverse.org/articles/starwars.html","retrieved_at":"2025-11-07T15:00:10.015000+00:00","content":{"type":"document","source":{"type":"text","media_type":"text/plain","data":"![](../logo.png)\nStar + Wars films (static HTML)\nSource:\nvignettes/starwars.Rmd\nstarwars.Rmd\nThis + vignette contains some data about the Star Wars films for use in rvest examples + and vignettes.\nThe Phantom Menace\nReleased: 1999-05-19\nDirector: George + Lucas\nTurmoil has engulfed the Galactic Republic. The taxation of trade routes + to outlying star systems is in dispute.\nHoping to resolve the matter with + a blockade of deadly battleships, the greedy Trade Federation has stopped + all shipping to the small planet of Naboo.\nWhile the Congress of the Republic + endlessly debates this alarming chain of events, the Supreme Chancellor has + secretly dispatched two Jedi Knights, the guardians of peace and justice in + the galaxy, to settle the conflict….\nAttack of the Clones\nReleased: 2002-05-16\nDirector: + George Lucas\nThere is unrest in the Galactic Senate. Several thousand solar + systems have declared their intentions to leave the Republic.\nThis separatist + movement, under the leadership of the mysterious Count Dooku, has made it + difficult for the limited number of Jedi Knights to maintain peace and order + in the galaxy.\nSenator Amidala, the former Queen of Naboo, is returning to + the Galactic Senate to vote on the critical issue of creating an ARMY OF THE + REPUBLIC to assist the overwhelmed Jedi….\nRevenge of the Sith\nReleased: + 2005-05-19\nDirector: George Lucas\nWar! The Republic is crumbling under attacks + by the ruthless Sith Lord, Count Dooku. There are heroes on both sides. Evil + is everywhere.\nIn a stunning move, the fiendish droid leader, General Grievous, + has swept into the Republic capital and kidnapped Chancellor Palpatine, leader + of the Galactic Senate.\nAs the Separatist Droid Army attempts to flee the + besieged capital with their valuable hostage, two Jedi Knights lead a desperate + mission to rescue the captive Chancellor….\nA New Hope\nReleased: 1977-05-25\nDirector: + George Lucas\nIt is a period of civil war. Rebel spaceships, striking from + a hidden base, have won their first victory against the evil Galactic Empire.\nDuring + the battle, Rebel spies managed to steal secret plans to the Empire’s ultimate + weapon, the DEATH STAR, an armored space station with enough power to destroy + an entire planet.\nPursued by the Empire’s sinister agents, Princess Leia + races home aboard her starship, custodian of the stolen plans that can save + her people and restore freedom to the galaxy….\nThe Empire Strikes Back\nReleased: + 1980-05-17\nDirector: Irvin Kershner\nIt is a dark time for the Rebellion. + Although the Death Star has been destroyed, Imperial troops have driven the + Rebel forces from their hidden base and pursued them across the galaxy.\nEvading + the dreaded Imperial Starfleet, a group of freedom fighters led by Luke Skywalker + has established a new secret base on the remote ice world of Hoth.\nThe evil + lord Darth Vader, obsessed with finding young Skywalker, has dispatched thousands + of remote probes into the far reaches of space….\nReturn of the Jedi\nReleased: + 1983-05-25\nDirector: Richard Marquand\nLuke Skywalker has returned to his + home planet of Tatooine in an attempt to rescue his friend Han Solo from the + clutches of the vile gangster Jabba the Hutt.\nLittle does Luke know that + the GALACTIC EMPIRE has secretly begun construction on a new armored space + station even more powerful than the first dreaded Death Star.\nWhen completed, + this ultimate weapon will spell certain doom for the small band of rebels + struggling to restore freedom to the galaxy…\nThe Force Awakens\nReleased: + 2015-12-11\nDirector: J. J. Abrams\nLuke Skywalker has vanished. In his absence, + the sinister FIRST ORDER has risen from the ashes of the Empire and will not + rest until Skywalker, the last Jedi, has been destroyed. With the support + of the REPUBLIC, General Leia Organa leads a brave RESISTANCE. She is desperate + to find her brother Luke and gain his help in restoring peace and justice + to the galaxy. Leia has sent her most daring pilot on a secret mission to + Jakku, where an old ally has discovered a clue to Luke’s whereabouts…."},"title":"Star + Wars films (static HTML)","citations":{"enabled":false}}}},{"type":"text","text":"The + first movie listed on that page is **The Phantom Menace**, which was released + on 1999-05-19 and directed by George Lucas."}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":10,"cache_creation_input_tokens":2227,"cache_read_input_tokens":1052,"cache_creation":{"ephemeral_5m_input_tokens":1052,"ephemeral_1h_input_tokens":0},"output_tokens":123,"service_tier":"standard","server_tool_use":{"web_search_requests":0,"web_fetch_requests":1}}}' + recorded_at: 2025-11-07 15:47:27 +- request: + method: POST + uri: https://api.anthropic.com/v1/messages + body: + string: '{"model":"claude-sonnet-4-5-20250929","messages":[{"role":"user","content":[{"type":"text","text":"What''s + the first movie listed on https://rvest.tidyverse.org/articles/starwars.html?"}]},{"role":"assistant","content":[{"type":"text","text":"I''ll + fetch that URL to see what the first movie listed is."},{"type":"server_tool_use","id":"srvtoolu_011B8NpmmZj6QqwjjDwxgUU3","name":"web_fetch","input":{"url":"https://rvest.tidyverse.org/articles/starwars.html"}},{"type":"web_fetch_tool_result","tool_use_id":"srvtoolu_011B8NpmmZj6QqwjjDwxgUU3","content":{"type":"web_fetch_result","url":"https://rvest.tidyverse.org/articles/starwars.html","retrieved_at":"2025-11-07T15:00:10.015000+00:00","content":{"type":"document","source":{"type":"text","media_type":"text/plain","data":"![](../logo.png)\nStar + Wars films (static HTML)\nSource:\nvignettes/starwars.Rmd\nstarwars.Rmd\nThis + vignette contains some data about the Star Wars films for use in rvest examples + and vignettes.\nThe Phantom Menace\nReleased: 1999-05-19\nDirector: George + Lucas\nTurmoil has engulfed the Galactic Republic. The taxation of trade routes + to outlying star systems is in dispute.\nHoping to resolve the matter with + a blockade of deadly battleships, the greedy Trade Federation has stopped + all shipping to the small planet of Naboo.\nWhile the Congress of the Republic + endlessly debates this alarming chain of events, the Supreme Chancellor has + secretly dispatched two Jedi Knights, the guardians of peace and justice in + the galaxy, to settle the conflict….\nAttack of the Clones\nReleased: 2002-05-16\nDirector: + George Lucas\nThere is unrest in the Galactic Senate. Several thousand solar + systems have declared their intentions to leave the Republic.\nThis separatist + movement, under the leadership of the mysterious Count Dooku, has made it + difficult for the limited number of Jedi Knights to maintain peace and order + in the galaxy.\nSenator Amidala, the former Queen of Naboo, is returning to + the Galactic Senate to vote on the critical issue of creating an ARMY OF THE + REPUBLIC to assist the overwhelmed Jedi….\nRevenge of the Sith\nReleased: + 2005-05-19\nDirector: George Lucas\nWar! The Republic is crumbling under attacks + by the ruthless Sith Lord, Count Dooku. There are heroes on both sides. Evil + is everywhere.\nIn a stunning move, the fiendish droid leader, General Grievous, + has swept into the Republic capital and kidnapped Chancellor Palpatine, leader + of the Galactic Senate.\nAs the Separatist Droid Army attempts to flee the + besieged capital with their valuable hostage, two Jedi Knights lead a desperate + mission to rescue the captive Chancellor….\nA New Hope\nReleased: 1977-05-25\nDirector: + George Lucas\nIt is a period of civil war. Rebel spaceships, striking from + a hidden base, have won their first victory against the evil Galactic Empire.\nDuring + the battle, Rebel spies managed to steal secret plans to the Empire’s ultimate + weapon, the DEATH STAR, an armored space station with enough power to destroy + an entire planet.\nPursued by the Empire’s sinister agents, Princess Leia + races home aboard her starship, custodian of the stolen plans that can save + her people and restore freedom to the galaxy….\nThe Empire Strikes Back\nReleased: + 1980-05-17\nDirector: Irvin Kershner\nIt is a dark time for the Rebellion. + Although the Death Star has been destroyed, Imperial troops have driven the + Rebel forces from their hidden base and pursued them across the galaxy.\nEvading + the dreaded Imperial Starfleet, a group of freedom fighters led by Luke Skywalker + has established a new secret base on the remote ice world of Hoth.\nThe evil + lord Darth Vader, obsessed with finding young Skywalker, has dispatched thousands + of remote probes into the far reaches of space….\nReturn of the Jedi\nReleased: + 1983-05-25\nDirector: Richard Marquand\nLuke Skywalker has returned to his + home planet of Tatooine in an attempt to rescue his friend Han Solo from the + clutches of the vile gangster Jabba the Hutt.\nLittle does Luke know that + the GALACTIC EMPIRE has secretly begun construction on a new armored space + station even more powerful than the first dreaded Death Star.\nWhen completed, + this ultimate weapon will spell certain doom for the small band of rebels + struggling to restore freedom to the galaxy…\nThe Force Awakens\nReleased: + 2015-12-11\nDirector: J. J. Abrams\nLuke Skywalker has vanished. In his absence, + the sinister FIRST ORDER has risen from the ashes of the Empire and will not + rest until Skywalker, the last Jedi, has been destroyed. With the support + of the REPUBLIC, General Leia Organa leads a brave RESISTANCE. She is desperate + to find her brother Luke and gain his help in restoring peace and justice + to the galaxy. Leia has sent her most daring pilot on a secret mission to + Jakku, where an old ally has discovered a clue to Luke’s whereabouts…."},"title":"Star + Wars films (static HTML)","citations":{"enabled":false}}}},{"type":"text","text":"The + first movie listed on that page is **The Phantom Menace**, which was released + on 1999-05-19 and directed by George Lucas."}]},{"role":"user","content":[{"type":"text","text":"What''s + the first movie listed on https://rvest.tidyverse.org/articles/starwars.html?","cache_control":{"type":"ephemeral","ttl":"5m"}}]}],"stream":false,"tools":[{"name":"web_fetch","type":"web_fetch_20250910","citations":{"enabled":false}}],"temperature":0,"max_tokens":4096}' + response: + status: 200 + headers: + date: Fri, 07 Nov 2025 15:47:31 GMT + content-type: application/json + content-encoding: gzip + anthropic-ratelimit-input-tokens-limit: '2000000' + anthropic-ratelimit-input-tokens-remaining: '2000000' + anthropic-ratelimit-input-tokens-reset: '2025-11-07T15:47:30Z' + anthropic-ratelimit-output-tokens-limit: '400000' + anthropic-ratelimit-output-tokens-remaining: '400000' + anthropic-ratelimit-output-tokens-reset: '2025-11-07T15:47:30Z' + anthropic-ratelimit-requests-limit: '4000' + anthropic-ratelimit-requests-remaining: '3999' + anthropic-ratelimit-requests-reset: '2025-11-07T15:47:28Z' + retry-after: '32' + anthropic-ratelimit-tokens-limit: '2400000' + anthropic-ratelimit-tokens-remaining: '2400000' + anthropic-ratelimit-tokens-reset: '2025-11-07T15:47:30Z' + request-id: req_011CUtnpJDnmXb2VT6jYUDJK + strict-transport-security: max-age=31536000; includeSubDomains; preload + anthropic-organization-id: bf3687d8-1b59-41eb-9761-a1fd70b24e7e + x-envoy-upstream-service-time: '2967' + cf-cache-status: DYNAMIC + x-robots-tag: none + server: cloudflare + cf-ray: 99adf82408a27a97-DFW + body: + string: '{"model":"claude-sonnet-4-5-20250929","id":"msg_015hm92puGV4WPvLmaRqmPD5","type":"message","role":"assistant","content":[{"type":"text","text":"Based + on the page I just fetched, the first movie listed on https://rvest.tidyverse.org/articles/starwars.html + is **The Phantom Menace** (released 1999-05-19, directed by George Lucas)."}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":71,"cache_read_input_tokens":2227,"cache_creation":{"ephemeral_5m_input_tokens":71,"ephemeral_1h_input_tokens":0},"output_tokens":60,"service_tier":"standard"}}' + recorded_at: 2025-11-07 15:47:31 +- request: + method: POST + uri: https://api.anthropic.com/v1/messages + body: + string: '{"model":"claude-sonnet-4-5-20250929","messages":[{"role":"user","content":[{"type":"text","text":"What''s + the first movie listed on https://rvest.tidyverse.org/articles/starwars.html?"}]},{"role":"assistant","content":[{"type":"text","text":"I''ll + fetch that URL to see what the first movie listed is."},{"type":"server_tool_use","id":"srvtoolu_011B8NpmmZj6QqwjjDwxgUU3","name":"web_fetch","input":{"url":"https://rvest.tidyverse.org/articles/starwars.html"}},{"type":"web_fetch_tool_result","tool_use_id":"srvtoolu_011B8NpmmZj6QqwjjDwxgUU3","content":{"type":"web_fetch_result","url":"https://rvest.tidyverse.org/articles/starwars.html","retrieved_at":"2025-11-07T15:00:10.015000+00:00","content":{"type":"document","source":{"type":"text","media_type":"text/plain","data":"![](../logo.png)\nStar + Wars films (static HTML)\nSource:\nvignettes/starwars.Rmd\nstarwars.Rmd\nThis + vignette contains some data about the Star Wars films for use in rvest examples + and vignettes.\nThe Phantom Menace\nReleased: 1999-05-19\nDirector: George + Lucas\nTurmoil has engulfed the Galactic Republic. The taxation of trade routes + to outlying star systems is in dispute.\nHoping to resolve the matter with + a blockade of deadly battleships, the greedy Trade Federation has stopped + all shipping to the small planet of Naboo.\nWhile the Congress of the Republic + endlessly debates this alarming chain of events, the Supreme Chancellor has + secretly dispatched two Jedi Knights, the guardians of peace and justice in + the galaxy, to settle the conflict….\nAttack of the Clones\nReleased: 2002-05-16\nDirector: + George Lucas\nThere is unrest in the Galactic Senate. Several thousand solar + systems have declared their intentions to leave the Republic.\nThis separatist + movement, under the leadership of the mysterious Count Dooku, has made it + difficult for the limited number of Jedi Knights to maintain peace and order + in the galaxy.\nSenator Amidala, the former Queen of Naboo, is returning to + the Galactic Senate to vote on the critical issue of creating an ARMY OF THE + REPUBLIC to assist the overwhelmed Jedi….\nRevenge of the Sith\nReleased: + 2005-05-19\nDirector: George Lucas\nWar! The Republic is crumbling under attacks + by the ruthless Sith Lord, Count Dooku. There are heroes on both sides. Evil + is everywhere.\nIn a stunning move, the fiendish droid leader, General Grievous, + has swept into the Republic capital and kidnapped Chancellor Palpatine, leader + of the Galactic Senate.\nAs the Separatist Droid Army attempts to flee the + besieged capital with their valuable hostage, two Jedi Knights lead a desperate + mission to rescue the captive Chancellor….\nA New Hope\nReleased: 1977-05-25\nDirector: + George Lucas\nIt is a period of civil war. Rebel spaceships, striking from + a hidden base, have won their first victory against the evil Galactic Empire.\nDuring + the battle, Rebel spies managed to steal secret plans to the Empire’s ultimate + weapon, the DEATH STAR, an armored space station with enough power to destroy + an entire planet.\nPursued by the Empire’s sinister agents, Princess Leia + races home aboard her starship, custodian of the stolen plans that can save + her people and restore freedom to the galaxy….\nThe Empire Strikes Back\nReleased: + 1980-05-17\nDirector: Irvin Kershner\nIt is a dark time for the Rebellion. + Although the Death Star has been destroyed, Imperial troops have driven the + Rebel forces from their hidden base and pursued them across the galaxy.\nEvading + the dreaded Imperial Starfleet, a group of freedom fighters led by Luke Skywalker + has established a new secret base on the remote ice world of Hoth.\nThe evil + lord Darth Vader, obsessed with finding young Skywalker, has dispatched thousands + of remote probes into the far reaches of space….\nReturn of the Jedi\nReleased: + 1983-05-25\nDirector: Richard Marquand\nLuke Skywalker has returned to his + home planet of Tatooine in an attempt to rescue his friend Han Solo from the + clutches of the vile gangster Jabba the Hutt.\nLittle does Luke know that + the GALACTIC EMPIRE has secretly begun construction on a new armored space + station even more powerful than the first dreaded Death Star.\nWhen completed, + this ultimate weapon will spell certain doom for the small band of rebels + struggling to restore freedom to the galaxy…\nThe Force Awakens\nReleased: + 2015-12-11\nDirector: J. J. Abrams\nLuke Skywalker has vanished. In his absence, + the sinister FIRST ORDER has risen from the ashes of the Empire and will not + rest until Skywalker, the last Jedi, has been destroyed. With the support + of the REPUBLIC, General Leia Organa leads a brave RESISTANCE. She is desperate + to find her brother Luke and gain his help in restoring peace and justice + to the galaxy. Leia has sent her most daring pilot on a secret mission to + Jakku, where an old ally has discovered a clue to Luke’s whereabouts…."},"title":"Star + Wars films (static HTML)","citations":{"enabled":false}}}},{"type":"text","text":"The + first movie listed on that page is **The Phantom Menace**, which was released + on 1999-05-19 and directed by George Lucas."}]},{"role":"user","content":[{"type":"text","text":"What''s + the first movie listed on https://rvest.tidyverse.org/articles/starwars.html?"}]},{"role":"assistant","content":[{"type":"text","text":"Based + on the page I just fetched, the first movie listed on https://rvest.tidyverse.org/articles/starwars.html + is **The Phantom Menace** (released 1999-05-19, directed by George Lucas)."}]},{"role":"user","content":[{"type":"text","text":"Who + directed it?","cache_control":{"type":"ephemeral","ttl":"5m"}}]}],"stream":false,"tools":[{"name":"web_fetch","type":"web_fetch_20250910","citations":{"enabled":false}}],"temperature":0,"max_tokens":4096}' + response: + status: 200 + headers: + date: Fri, 07 Nov 2025 15:47:33 GMT + content-type: application/json + content-encoding: gzip + anthropic-ratelimit-input-tokens-limit: '2000000' + anthropic-ratelimit-input-tokens-remaining: '2000000' + anthropic-ratelimit-input-tokens-reset: '2025-11-07T15:47:33Z' + anthropic-ratelimit-output-tokens-limit: '400000' + anthropic-ratelimit-output-tokens-remaining: '400000' + anthropic-ratelimit-output-tokens-reset: '2025-11-07T15:47:33Z' + anthropic-ratelimit-requests-limit: '4000' + anthropic-ratelimit-requests-remaining: '3999' + anthropic-ratelimit-requests-reset: '2025-11-07T15:47:31Z' + retry-after: '29' + anthropic-ratelimit-tokens-limit: '2400000' + anthropic-ratelimit-tokens-remaining: '2400000' + anthropic-ratelimit-tokens-reset: '2025-11-07T15:47:33Z' + request-id: req_011CUtnpXn7cjqA6CoRgWThb + strict-transport-security: max-age=31536000; includeSubDomains; preload + anthropic-organization-id: bf3687d8-1b59-41eb-9761-a1fd70b24e7e + x-envoy-upstream-service-time: '2357' + cf-cache-status: DYNAMIC + x-robots-tag: none + server: cloudflare + cf-ray: 99adf837cd627a97-DFW + body: + string: '{"model":"claude-sonnet-4-5-20250929","id":"msg_01SBmnpbAgvNWX9pQ9YhUZsX","type":"message","role":"assistant","content":[{"type":"text","text":"George + Lucas directed The Phantom Menace."}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":67,"cache_read_input_tokens":2298,"cache_creation":{"ephemeral_5m_input_tokens":67,"ephemeral_1h_input_tokens":0},"output_tokens":13,"service_tier":"standard"}}' + recorded_at: 2025-11-07 15:47:33 +- request: + method: POST + uri: https://api.anthropic.com/v1/messages + body: + string: '{"model":"claude-sonnet-4-5-20250929","messages":[{"role":"user","content":[{"type":"text","text":"What''s + the first movie listed on https://rvest.tidyverse.org/articles/starwars.html?"}]},{"role":"assistant","content":[{"type":"text","text":"I''ll + fetch that URL to see what the first movie listed is."},{"type":"server_tool_use","id":"srvtoolu_011B8NpmmZj6QqwjjDwxgUU3","name":"web_fetch","input":{"url":"https://rvest.tidyverse.org/articles/starwars.html"}},{"type":"web_fetch_tool_result","tool_use_id":"srvtoolu_011B8NpmmZj6QqwjjDwxgUU3","content":{"type":"web_fetch_result","url":"https://rvest.tidyverse.org/articles/starwars.html","retrieved_at":"2025-11-07T15:00:10.015000+00:00","content":{"type":"document","source":{"type":"text","media_type":"text/plain","data":"![](../logo.png)\nStar + Wars films (static HTML)\nSource:\nvignettes/starwars.Rmd\nstarwars.Rmd\nThis + vignette contains some data about the Star Wars films for use in rvest examples + and vignettes.\nThe Phantom Menace\nReleased: 1999-05-19\nDirector: George + Lucas\nTurmoil has engulfed the Galactic Republic. The taxation of trade routes + to outlying star systems is in dispute.\nHoping to resolve the matter with + a blockade of deadly battleships, the greedy Trade Federation has stopped + all shipping to the small planet of Naboo.\nWhile the Congress of the Republic + endlessly debates this alarming chain of events, the Supreme Chancellor has + secretly dispatched two Jedi Knights, the guardians of peace and justice in + the galaxy, to settle the conflict….\nAttack of the Clones\nReleased: 2002-05-16\nDirector: + George Lucas\nThere is unrest in the Galactic Senate. Several thousand solar + systems have declared their intentions to leave the Republic.\nThis separatist + movement, under the leadership of the mysterious Count Dooku, has made it + difficult for the limited number of Jedi Knights to maintain peace and order + in the galaxy.\nSenator Amidala, the former Queen of Naboo, is returning to + the Galactic Senate to vote on the critical issue of creating an ARMY OF THE + REPUBLIC to assist the overwhelmed Jedi….\nRevenge of the Sith\nReleased: + 2005-05-19\nDirector: George Lucas\nWar! The Republic is crumbling under attacks + by the ruthless Sith Lord, Count Dooku. There are heroes on both sides. Evil + is everywhere.\nIn a stunning move, the fiendish droid leader, General Grievous, + has swept into the Republic capital and kidnapped Chancellor Palpatine, leader + of the Galactic Senate.\nAs the Separatist Droid Army attempts to flee the + besieged capital with their valuable hostage, two Jedi Knights lead a desperate + mission to rescue the captive Chancellor….\nA New Hope\nReleased: 1977-05-25\nDirector: + George Lucas\nIt is a period of civil war. Rebel spaceships, striking from + a hidden base, have won their first victory against the evil Galactic Empire.\nDuring + the battle, Rebel spies managed to steal secret plans to the Empire’s ultimate + weapon, the DEATH STAR, an armored space station with enough power to destroy + an entire planet.\nPursued by the Empire’s sinister agents, Princess Leia + races home aboard her starship, custodian of the stolen plans that can save + her people and restore freedom to the galaxy….\nThe Empire Strikes Back\nReleased: + 1980-05-17\nDirector: Irvin Kershner\nIt is a dark time for the Rebellion. + Although the Death Star has been destroyed, Imperial troops have driven the + Rebel forces from their hidden base and pursued them across the galaxy.\nEvading + the dreaded Imperial Starfleet, a group of freedom fighters led by Luke Skywalker + has established a new secret base on the remote ice world of Hoth.\nThe evil + lord Darth Vader, obsessed with finding young Skywalker, has dispatched thousands + of remote probes into the far reaches of space….\nReturn of the Jedi\nReleased: + 1983-05-25\nDirector: Richard Marquand\nLuke Skywalker has returned to his + home planet of Tatooine in an attempt to rescue his friend Han Solo from the + clutches of the vile gangster Jabba the Hutt.\nLittle does Luke know that + the GALACTIC EMPIRE has secretly begun construction on a new armored space + station even more powerful than the first dreaded Death Star.\nWhen completed, + this ultimate weapon will spell certain doom for the small band of rebels + struggling to restore freedom to the galaxy…\nThe Force Awakens\nReleased: + 2015-12-11\nDirector: J. J. Abrams\nLuke Skywalker has vanished. In his absence, + the sinister FIRST ORDER has risen from the ashes of the Empire and will not + rest until Skywalker, the last Jedi, has been destroyed. With the support + of the REPUBLIC, General Leia Organa leads a brave RESISTANCE. She is desperate + to find her brother Luke and gain his help in restoring peace and justice + to the galaxy. Leia has sent her most daring pilot on a secret mission to + Jakku, where an old ally has discovered a clue to Luke’s whereabouts…."},"title":"Star + Wars films (static HTML)","citations":{"enabled":false}}}},{"type":"text","text":"The + first movie listed on that page is **The Phantom Menace**, which was released + on 1999-05-19 and directed by George Lucas."}]},{"role":"user","content":[{"type":"text","text":"What''s + the first movie listed on https://rvest.tidyverse.org/articles/starwars.html?"}]},{"role":"assistant","content":[{"type":"text","text":"Based + on the page I just fetched, the first movie listed on https://rvest.tidyverse.org/articles/starwars.html + is **The Phantom Menace** (released 1999-05-19, directed by George Lucas)."}]},{"role":"user","content":[{"type":"text","text":"Who + directed it?"}]},{"role":"assistant","content":[{"type":"text","text":"George + Lucas directed The Phantom Menace."}]},{"role":"user","content":[{"type":"text","text":"Who + directed it?","cache_control":{"type":"ephemeral","ttl":"5m"}}]}],"stream":false,"tools":[{"name":"web_fetch","type":"web_fetch_20250910","citations":{"enabled":false}}],"temperature":0,"max_tokens":4096}' + response: + status: 200 + headers: + date: Fri, 07 Nov 2025 15:47:35 GMT + content-type: application/json + content-encoding: gzip + anthropic-ratelimit-input-tokens-limit: '2000000' + anthropic-ratelimit-input-tokens-remaining: '2000000' + anthropic-ratelimit-input-tokens-reset: '2025-11-07T15:47:35Z' + anthropic-ratelimit-output-tokens-limit: '400000' + anthropic-ratelimit-output-tokens-remaining: '400000' + anthropic-ratelimit-output-tokens-reset: '2025-11-07T15:47:35Z' + anthropic-ratelimit-requests-limit: '4000' + anthropic-ratelimit-requests-remaining: '3999' + anthropic-ratelimit-requests-reset: '2025-11-07T15:47:33Z' + retry-after: '26' + anthropic-ratelimit-tokens-limit: '2400000' + anthropic-ratelimit-tokens-remaining: '2400000' + anthropic-ratelimit-tokens-reset: '2025-11-07T15:47:35Z' + request-id: req_011CUtnpiexg2aqhETRdgr5o + strict-transport-security: max-age=31536000; includeSubDomains; preload + anthropic-organization-id: bf3687d8-1b59-41eb-9761-a1fd70b24e7e + x-envoy-upstream-service-time: '2185' + cf-cache-status: DYNAMIC + x-robots-tag: none + server: cloudflare + cf-ray: 99adf847ccd17a97-DFW + body: + string: '{"model":"claude-sonnet-4-5-20250929","id":"msg_01Qe3QBCM1CwPitm3cMsjmTt","type":"message","role":"assistant","content":[{"type":"text","text":"George + Lucas directed The Phantom Menace."}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":20,"cache_read_input_tokens":2365,"cache_creation":{"ephemeral_5m_input_tokens":20,"ephemeral_1h_input_tokens":0},"output_tokens":13,"service_tier":"standard"}}' + recorded_at: 2025-11-07 15:47:35 +recorded_with: VCR-vcr/2.0.0 diff --git a/tests/testthat/_vcr/anthropic-web-search.yml b/tests/testthat/_vcr/anthropic-web-search.yml new file mode 100644 index 00000000..947ff5e6 --- /dev/null +++ b/tests/testthat/_vcr/anthropic-web-search.yml @@ -0,0 +1,162 @@ +http_interactions: +- request: + method: POST + uri: https://api.anthropic.com/v1/messages + body: + string: '{"model":"claude-sonnet-4-5-20250929","messages":[{"role":"user","content":[{"type":"text","text":"When + was ggplot2 1.0.0 released to CRAN?\n\nAnswer in YYYY-MM-DD format.","cache_control":{"type":"ephemeral","ttl":"5m"}}]}],"stream":false,"tools":[{"name":"web_search","type":"web_search_20250305"}],"temperature":0,"max_tokens":4096}' + response: + status: 200 + headers: + date: Fri, 07 Nov 2025 16:59:02 GMT + content-type: application/json + content-encoding: gzip + anthropic-ratelimit-input-tokens-limit: '2000000' + anthropic-ratelimit-input-tokens-remaining: '1983000' + anthropic-ratelimit-input-tokens-reset: '2025-11-07T16:59:00Z' + anthropic-ratelimit-output-tokens-limit: '400000' + anthropic-ratelimit-output-tokens-remaining: '400000' + anthropic-ratelimit-output-tokens-reset: '2025-11-07T16:59:02Z' + anthropic-ratelimit-requests-limit: '4000' + anthropic-ratelimit-requests-remaining: '3999' + anthropic-ratelimit-requests-reset: '2025-11-07T16:58:54Z' + retry-after: '61' + anthropic-ratelimit-tokens-limit: '2400000' + anthropic-ratelimit-tokens-remaining: '2383000' + anthropic-ratelimit-tokens-reset: '2025-11-07T16:59:00Z' + request-id: req_011CUttGGVunXEdqAgqWXTx8 + strict-transport-security: max-age=31536000; includeSubDomains; preload + anthropic-organization-id: bf3687d8-1b59-41eb-9761-a1fd70b24e7e + x-envoy-upstream-service-time: '7671' + cf-cache-status: DYNAMIC + x-robots-tag: none + server: cloudflare + cf-ray: 99ae60ca0bd9ead9-DFW + body: + string: '{"model":"claude-sonnet-4-5-20250929","id":"msg_017uaoheKvkJfKrU6KNML4EF","type":"message","role":"assistant","content":[{"type":"server_tool_use","id":"srvtoolu_01GAHpBrEa6jAjMYsJGetGcD","name":"web_search","input":{"query":"ggplot2 + 1.0.0 CRAN release date"}},{"type":"web_search_tool_result","tool_use_id":"srvtoolu_01GAHpBrEa6jAjMYsJGetGcD","content":[{"type":"web_search_result","title":"Changelog + • ggplot2","url":"https://ggplot2.tidyverse.org/news/index.html","encrypted_content":"EoYgCioICRgCIiRiZjM2ODdkOC0xYjU5LTQxZWItOTc2MS1hMWZkNzBiMjRlN2USDEUpJ5C4IYV/IHoN3xoMSlYZA5hXhZErVLBMIjAlTwspGrbwJEHYLQTsNAA7feqFXaymOhgtsQS7UPhrTQM7d0CCnsbGdiZ7L9ygmk4qiR/nHxvagAouU83fvTfjsgdIV2KkmlFIUzYVVuYnRmmfgCdoCHzrNdZp1B9VcLD1D4QDoqmNYUUEUGDvQbFmcTEhLVlCLWa980DxiyfBzsUJkCpIteU9m0h0aLrOKMEKoHEnAMVV4vN6kGe6Amue0PTJ7clHBieyXtcvb5Gsh2U4LErT1nKWk7g6UnZ8fHD1I1uO/ztd6EJo1xdIGW207P+UaHKn9icWV2f4V/EO+7d4Vr1aQIWLlzChCSHk7RvXu80XsTCTYE5/6eFwW441irxJ1ToWlBHRiMav2YAHcQ+1j7dvJP4wIK2SaicxdNx3dfK1AaYX70GbxWIzMCRzgoM+wDd72avTmpLzp/zfItkggdF8xcI+SW7KsLLpeeK+OU8+sWC1CJzjySlEX2CcoDH30UNaxHaiCyMPSwrDxObbNk7ZR2l15ae0qgOEhib+3LQYarA+fHpQWm+1XEsmKaPEVDhDsRwjuatCiLhQXCXByqGIF2NgrE0VOGBwctYbPbX66pZpUByPRTyP7WTMbQZxctHVPT+dYF+yk6IP3dlxkCGwDCXJK/wgfj2BOmMY750iIDKA49oV+ZY8avUOgz1E53mKP5xES+b6zlXelPQjhtCiJ7t26RvGoLQCwkQZqSzlaoTHllrMkKZ9wnjzOGvy1lIu2rKc5uWK/EoDgjvPbnVCD955V5T7QDB8C5iLobzMy8gEdByrpllPn7yE2/C4Ia0Gje2TbDs6OlISMIyaI3NUU+L47qzJZuwZps7CTMKrKvWm1qboZh3wYC3YMiKT0gMTzFEN9ijm3fE/VwG6ZJaETznVJ4fBGk/Dnmf2B563c636KYJM5jkyHTJOu+xUxJUnI5PRlVVuutFIvCCLYJnbJHye2upsKWnIhIq8I4eyf4+k03Ky48XKN2hK22nAMVM7PEIaASER1EWhUqvNKyEWb7942QpQe5qbx2enGANyqjgjYr8z2Zhh/6f4B73jsZM6xylEHukyTviza1sEP6CA4m4b3kuzmJPLTaBOWllbMqzCbhkGQMURg0f4KKeegcT2E8hZeLGTzvlQ5fQz47AOj6M1m0LXRm4mxr7S+edDBVWo/4jYU3PQWM5javHd8T5l95REwnT055zxv0F4Z0zssQBIwZdA6ihnPmGeIyOcAaVU4uA9xAkpBcqafWtS3Kst7YtjknMtf2gJ9mFKUVpT3HUgALoUzJOwNoXdq1e/RRJnRIK0vUqyi7RiDMzwE4qPRZPDpAXJ431njZEMloh/y9x8jMhgja9WYWjJwP8D9Wkvp58S3EUAWi6qvLOy3XbNapVW+dPRLFd0RRTMpHUZuNTQrY+T0XHSM0BStnTdSW7WPmDpbA8MdyNRDbHB/ANilBQ3tl5Q0FQIx4DVgq1iOO9CzfxnrvPR4qClytKxCZXKIveXT6SM+MAeRRFSO+rRC+b6AjHf/sPz3SIDzl9v1MjpJLbmyLcCtgEccq84Y51onIzvQwrR4nc4EA7251DtiI+6NPP5+ZWi+N/B+EWDlw0TOc9ax9tCkjVBa0m5Lkcd9VhDGTFoli5+3dR4soJOTlFGBa+ND0DxhWciFChXMiszIorlsoZRIaF0dWyH+GwA9VaRG7C93FHc4kDOVb/Q5lh584x73K9pdEr+nx2M57u3vzFHqBdntWLXC7Hw/31vtVPz5JFbhcw/vn7sfnha1YJMd0MA5kiNitp3xp4dS43mS/ABdjCoHthnw6smKx5Vu4fPutllGgXHwTyVxuBMemBXmUE0IsINMG+N1HOH4ckXmtq3l8vtWUB1OANAWUxUppH5kSIgIGPUwYiV9cYaNOEVlXaJ+f/38ke+o2132Lp9wEjqod3D+EUixajUaEEQjH7vB+MCLmWeLNH0nmC6Z7I3SgChvaGmJ7nvho8RbPC+fY+qhHbkVLJttQ/lHbK+LBN+GcOMB9W/C9Of62jP/CFIpKtYGUFLA9s1K5Nn3Bi/w+tXdPtNla5wC1EjXWmdZTQlr/NLTm4RMugfDHwibCsJIy25NUKc5OgOml8O1ufMvq380E8eUyeK/ah2H5czq0pgpq5Yd6NGeMNCLi07ILtsFbqXphsujBCLMNAzanYjWBAnSq/SLcxFOYfaUDoqRKWbOyTySi9gwxJRpzTx3xgs6P0D8xs1Mbv6I95iooN+CGh+c51nlxYe7P3nfnn1jLG/P51+pHbZStdjOhkGil2GheHnpkOtMSFK4hEVM/WetWEAimq4ryLwZdg2ZSvUW4XgTgeiEw21dyobJ7z4x+lGFZ2uuMsyPhbBxudKpJYE4AVF/AV7VFVlDegN2z9zmCE4gAKlQZ/pm0Ff84/FKI9yznxYjwwGzfwLTNfPrYuAXe7Hbd9GRmByi94Y/amUfEhYmVW2+Wh/wkbyprZkOhAMojyMv8C5kcRPpA8IG58X7qDzUyM9nyYlWQhoV9htjy+b/TZCKtw9lTesXIiCWhM1UIWwV0Afi9JjzbndDqBgdv0CADvzy/ptiZ68XNrWsmAPWDWAiir2y7u4kqkCZxMneS+7RjjoH2wVvUI3++iIXERvV7Mq5niVaAHlIzYO72E7dwLwQ9UzuhHszWVuas2vOYgQwWBMb1Do/nCJpDGRWAgPXZMF8jmccveEB94LqSLxFICFEVsUHMgIHoIjzS2XjO+2N/HIGRORjUez561c9UjCD3alXAFTpZNqIUMScyTRm1HOd1wwdK21Klv8YKHwbqcvbzhrie+nrpzf1Fgj9URyHKuFWBZnN+DCPQYb6yChfz1tTtbeQGIVumy8IB+k4uukJAiD0w8J0BWGdxEndaAx14J6a+2yVj8OgiLnFMNVi1Oa1DQfEwKEgcaxzPpM2q8JLf/Jcn1RiccO2pK2tTMX6YxVaT4SnjL3EAyg3ks1kd5G0vqxsYsBvILmH6LszdLFVHIgBzv78inK2Us0BL0LxSkDRvI1dJvHTJpG/EoVjZLG0f9LxGhUh0+QwbFd/vWrEoOt5V6awcfzbFEtIRf3xtteR3s1naurFoYKeI9BivISH68OQTv7LNkPYwRO4mM/5/LkV/5hZd78KJ+36/U5Jf7SKYJH4FMMKttyt5wouWcieZQTBJdH6DPXqausQuSD5Vj7liOb91ics77QB0s1TrfVmXsBY2YvrftVkY7a2pr0DJlnHuCN0mORJnFXbySwAhOY1B0eKe3r0/gH+eoR3x6dbEJitnIyPaitlvUNLkF/1cc3fZDGn26uWOafaReRwE7rnreAac1U2A/sRzQuRnVPgpyHTYb0VRIbSMdfhvOwMLtT9v3JS9LGeA4PrEX7Iw4nV17n8ilfyZ3lJEyPfQIvSwrYnQBRX3Bps8/0pqSrQx8MG8yFYKJ7YOSjfnqnebXL0rRt6SLkEne1aslsEPu+0QjPIVySJtTUn/7u7o6jlUWt4mfanSvrLirUpX7tr/cvHPgZJJOO2wX7baALWVR3EmHYtKx9ResnsYv1cPmsHCWL2WSWOh+YvtCREhkwiDlrsCWfS1Pq4XESF0akcuClMIjEcJ+PSTdrqcoc0+1Zwy+fNcLQqeN0/ZJ2j9t1b/potloswrjayf2cPu2yyZ0v0Zwm5+iat9Eubx/PDjbXGCmqKe+rtgoOZaaNvZE+nDLDqtcKGUckzuIKDd3lfw1jTiWtFzLVBvDLbS4jzT+Xm94xY8GQrgmrtBBaplZGft1oA/JUhWIqoL8p4ieNKR+XI7ErYlqgAMg7M9ML8APicnateWLP1KpcZeBlDXa7Qh+8pql6/LV86I6jmQvmTqGgRpHHsmBEmK1/R23wb+CmdSQrU////ZJDOt5ZoOSo2F6Usz7IRClvhJDYl9S0muL6qGmf8fmXARIDBu04WXF8Ai8Ys8JUDURmbdqfV5bURh1AVyBifSvyjmDFBw7F5szHOhn1CdUY79gSGpuaUSRJvLMeVxKTbg3h8wUyQ+YV5PAKmNKP2J22pGPmgIwqLKHfuw4JBfV7plzJCve0rY7pCFtHuJuAPMTv1W0ASv87ZZBItfADe5ARxEzQQVDttEn79Eu2tf7OK65hMOvVV0lcfcd0RDw2raAv3u46/8YHAqG3Hs750B66eM3mY0VSUl8ErUB2ZGDa8tNOkOnm/RDWci2VaWsrTNp/JTyvvLtm5SSafVA11eyg+0fE6LUPOo4m0uLuPI8N3xDJPwgp77RftI5NSkls1ig1uUS6y/4HNOOMmD9BfQUH09VbrD4Mp+N8N0SdWZmuagusUiA6RXI/d+AS5JtPOP7nK5g9U7qewDVKvawSBjatr8JZQuymq40olRbvBUJqlvlLrHiByoQpvcYW5oFLoxAFHUZS68sO++FfQ1oMf46gC8o/tb0tFChKGKY4udZjtTAfDx+KvH81ToqOF88Nb65pOATfZCiFwi0L0flUNc0BLC4DGYg9g8z2hy7aQXUCKrVSxY9gMR2axN2hnVYL5sLhD5cief2xgkmsGWgNgxjL2JpIBCTJn326rwz8Ew9NJJxj3woXpkVqa3WjPQstU2IEsD5YRMhPMHQft6HTJskYyFq6RXL84IEBzsWOxljidzVoOeB9Y47BlzK82TJvQFXH6aLb2VgJ3wWAMxrJYpQ2yKW7eVTAfUQVSGm43KCTTmLbg7ayV1nYRwj4DT7TNW3OR+dO7GanJqKSKJeN8r4zYOcxW8k6J56UqZoxBvMRL9WdRcMQHA/SRmVAkWlGYGf+hQh2U+8vxj/J3bWgUSVzsCLnqNVBhree61qiqwAXppNfHxkcqKxjZhEYONM0Xm9O7PolqXki0Kk/PdItu5adhZZTxdaHLbHcXd6hgZ0njgctfblRMKn4RX1VYMxBWhdrq8MRb94vOM/DRcltCSx0lr0doY2yOytneoqxqJBXj1poR+tVE9vh0grJB4CJ6XUEQrxDH0B03TiAky3vi+lEhGAFePUF8Lkb+sRR56xwxvIePAB8Ry6DZ7lYyvETt96gCBcpPpBPQdohij8KjJV2qhfixkl8J7SvkESfzl03W4pHJ5lb8sE/JEycUFHqr+78xp+3PA3wv+zKK25jTzDEhdMYtqFN0lv11aYh+DPvFvKSRto1J20SKwdhI9uKIi2VrUlqz9CiHqKy5KcErsza4vlfDV7apB9J471rH676hoeodAdtHG2adhlswr5+qpJGVSD2FnA7oDstirxNDgEZWL7F3lllhgyxrMhwDAHmc98pl73LpuzBw2IUZe6o3W4ob+CimMDTaHMaNKb5IDhSdWWA/eI4u//YTycoo99lv+1J8lLFDR/QIrzWGtLgd3ZHSDcKG1GGyC4h8y1UzqHGL7gaODVfvxgD","page_age":null},{"type":"web_search_result","title":"CRAN: + Package ggplot2","url":"https://cran.r-project.org/package=ggplot2","encrypted_content":"Eq8GCioICRgCIiRiZjM2ODdkOC0xYjU5LTQxZWItOTc2MS1hMWZkNzBiMjRlN2USDDrhAthIu+gs6lY0cxoMzE6+zZ3OTPtQdAZjIjBbolG6mBb+zwWt+NS9n78nIfcEiDilL+jPCD9hcKy7iZR8GJL0MljFR6au69LdWQwqsgXp8JP/13M9J17bNy/hzho6YjOpUuuFIOHWbYQrOgdGpBl8wdflbxGeavXx/RAiDwVzqOPFGn1MOGOA1qIZIHxWHVAdH4CIXwEEGBBcZCggjr1jIKfsfQQJBab95/OgaVr6BDsSzjrAxfF8WJKXVw6zoQln8aOC72HGt01l0Dj3w2s7O6B5fvrLZPyMZd4+8VeZo5nO9zjIgnKeiuHxqpr24Eoe9A4Tbe+hT1CFzlYXUsL/aEkMEhhkW43n5aYlWyKQ8ObgRA0+FfayluVgPw3903zvizlyxvg7jNEc/xWI5+21ocgoEEI6BlLF03wW0Hg1sS9IS99iL0vlMbxiicMHfdqGyUyLVD2mLIs0eBW0d5oLRQFqic/Bw7pf60wLpCyLWF8sg3PbPPWECfc7ILN+ImRe3TxbHyxtTiN8DVQzWO7eMJyEiCX4MssvTLvDHYhYie2AMfn0upoEhRqlgWTE2b08azgXqLuXNzSi1MhHeHQ/wb6oVQZUo41bOqb6j+XERXdilsYhSAv3aR2hG+dYqYrogWuKZdwGorrhhDRtJSNrRHI97W1aZkBrTIt86olG1ia4naxatlA1scvmwT4O+4NZ+kEkOhYpeYIJWn7ZXMOLm7qyKD5fLOv3xc/sfInpp2s/p1ZpTfhEXN9Z4pfp8ENkMuJcE1klojCW3RjhwzxhdVDh5QedwEEnXQfWDQntuZquPQKli0pu0IvmSaIZqQdYaKrov4AuzLCMafnu+7WoSqhOvc8uoSc5yYYILP+9qVvc9ie/9ZnPlUtrnNDxHKBPnruR4Ft4SPMWCTlLh2SPK1UfRTnP9dDulQ4MVxhIIp9KXG9+CCpIiyDJ+kJL+BJX6Vv7d2Bc5VgpkvmaJS3YUSijNUyu+ykKJatCcvNrA8PMOSuesn/JTeePxscT+TIYAw==","page_age":"September + 11, 2025"},{"type":"web_search_result","title":"Releases · tidyverse/ggplot2","url":"https://github.com/tidyverse/ggplot2/releases","encrypted_content":"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","page_age":null},{"type":"web_search_result","title":"ggplot2 + - Wikipedia","url":"https://en.wikipedia.org/wiki/Ggplot2","encrypted_content":"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","page_age":"4 + weeks ago"},{"type":"web_search_result","title":"Package ''ggplot2''","url":"https://cran.r-project.org/web/packages/ggplot2/ggplot2.pdf","encrypted_content":"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","page_age":null},{"type":"web_search_result","title":"Releases + · cran/ggplot2","url":"https://github.com/cran/ggplot2/releases","encrypted_content":"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","page_age":null},{"type":"web_search_result","title":"New + version of ggplot2, new problems · Issue #255 · pbiecek/archivist","url":"https://github.com/pbiecek/archivist/issues/255","encrypted_content":"Ev4KCioICRgCIiRiZjM2ODdkOC0xYjU5LTQxZWItOTc2MS1hMWZkNzBiMjRlN2USDGXrhLtVeJsot02xcxoMgBdX6NeGeDNE3GGtIjDDkOsI6t+L4tfE/RnJ8A2KPEjuKeLErMbzXLiwN3/JqtEmxR+/lMmnqMbyiviFrsgqgQqvlwMvpxBSxmB4ymGEj2UFRKwtyWEmY3jstsWcx2zCGZTHe+pEu4cTBNIcSQTh6h+1rCUQnNp6wRYrPItIsaxVdjc96lgVPtaPXBXDvImx9p0dEIz+/4ONHEaphhR+M10KgZdqu44fD+xOWlLuRoJMnL9YliR07JGWYH0Ur6ymYZNUW3ejbe44e+FAhKe/52aptlfbJiQI+m3m3/v6V59WS8uV6f1JeIQg12Q6TRmAFVorFjQ1bsBLRGi5VikibbcIOyucBAuQAuqCfgSmezvjlXWVgoZZdKaT2FPbnqpYnb5t+Fxxql74H1PrPeODy2aEmVnYnOQzfMQLGAg0+1MfW5gI4YV8v4q8LMpfb9Jp3F4KgpMP0mBxCo8Jz8sZgDd7K+n7AKNfg0DqejIw3nMaq5tgP7+LgkdV61IPqM3qQDzZUVJ+tz4UOZdkrNsjMOAiArAMt8sLiavd9vhz4sBRKOwIhZnkGf1NS8T7vyO9UOZUE/uoecOxqiUxa4Wy2PZrgiaU72DXc+JsKOX8u984FT4g3QcN3AzIdEUJ5iLzxVFsu/ymTdXZzKZ1z75aJFJPAB1CD2fVSsE6qnA1LrhXP/qnRWwJd9edODWoh0sSj6sFnH9Z3BWV7Fc+5bSSPrXnn3pvxKiqjaLxugRLiq4M6Fk2SidB6X4cL6ObTyImJTiYv4UIyuut5FUxoy9+q+g8RsF6LkAab4BTAjUGluH6+rX3vjDp3rAmr59MDBqpxW2zUdjPUM23n0gdO+9mv8PYA7vhRFGqipy3ZbjCDop1rKYV0XM4xS+zULvz/fAClSQi3YbRhCjwQPpahvHTy2FNHRqWumwg70o2JtlrxxA3MAQ3w9VK1f+KAIAc8qPXcIruKewblhAGGgevx7Qn9xb/sH9k70RK3lHwpKpv4PEOjnHRigW6+wMCm8HJmbmbhbnLvS4wm4RRcPxTthGWTdbY9c8RHw7c1xxwdCOK+IHblQxAUekrJDTD5r8mE8eSmZUejbWxcM2r+QQMb4lqvR7nY6g3X6+8yQ8VEwUVFBVfayYgPDUzvj6xqZgnV6E42McTLI9zmueSzu58mocLUMe2h6oSy5g0GGmAd8cUBHPNWmPiP0J8zRuL3WEqqXiLm2Pnxzt/KnQkoImGaZfrFut93mVEgB9+cVZ69houbnoQcxS/cwa1d9Q5vzXcpybzPIqQlSCp7PWGQX+QS52ouyLP7SM72r3tLTRqWbuRjSejCQBoiAyr63Ws74LVwyUCwhHyYFbbeGqMBuOft7fi7WNsFpk2HcON6EsLtom8Fc87ROJI6AoZUnJtwfJ/JYYqW1LZ0peLJsGACLCXhc/3BNMJVDb7oh/Tsgv+DBtQgBXmsGZ732UFqkfw/0ZrsdSSOuMFjT3tzPG6TphwjxiARfhW2+kjFKOH9fhxdC3KiFzy/J6vdkvLDYiOWrT5SzkSvKNofAW/ZDecTGe2brShJIc+1NN/3Tv+x7vE1Xd9QgwfbgdjmHC74L1zSCFZfWZNbLscn8RxqoL4We8KqaosAFguCJXrLPlO5wYGdv/1Vbg240ZW9wc5PdwfzCNr4iYaUUQcUP4dgGd/lpgDJfIlKS6wT1Hpxjxy1IrGNbC3UvegSrvhfayD/JPctqJaDoOyQChlArh9kg+/xZU+4ZrQ2MPJFUdORqjtbU53telc7RR1jB4NErx6knu9GumW+OAekrMYAw==","page_age":null},{"type":"web_search_result","title":"ggplot2 + R Package Stats, Author, Search and Tutorials | Examples | Downloads | Statistics + | Citations","url":"https://rpkg.net/package/ggplot2","encrypted_content":"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","page_age":null},{"type":"web_search_result","title":"ggplot2 + package - RDocumentation","url":"https://www.rdocumentation.org/packages/ggplot2/versions/3.5.2","encrypted_content":"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","page_age":null},{"type":"web_search_result","title":"NEWS","url":"https://cran.r-project.org/web/packages/ggplot2/news/news.html","encrypted_content":"Ev4mCioICRgCIiRiZjM2ODdkOC0xYjU5LTQxZWItOTc2MS1hMWZkNzBiMjRlN2USDOp1P7GLCMI4T12kaBoMWUCflOS+hzcClBmkIjB5fztq1m4cBcAnA5fTjM1/OhLotmh7GnR62Q2syDz81JUzticvWovxVZXW8hPAp4sqgSYsEQRRvaceDHXof6IoYOh1WHEBbhZu00mkFGt//o08c//H/Jnv9sclZp5iOnVeXM0QHChFxAnAznCiNpR7r8MJVd+DcvKjUNNkquA2vHuN4E2tT7iRWX1cU8s7IoBMQswHW20q38PuPn3ZFAyTHjPojUGYLI9354STzFo6WIHobaOf/u+ZzPgMppXU8Na7zYi9YVxrxESHRP7NIhwFrQSrKrx+1bPcwYIHNK9nqgMaM8X2jyz25aWy6p7NgWz1PVnjviUHTk4EI/ig0bUf7SBES3FH9W+7AoVw7JijVWoY84UJ2u3mHUlgO8bALj89viv1Ggp7wuXAmy1KZXpoeBKFvJ3EHaZFGPKeJ17wFtmJd8dPSL8UBvcQRwg6WsY27V4EJzNAk50d3hLpzeNYJwWm590e4yCbaaZ0sNKE2xha2HH/T2DrPDk8CcLB5iv01tuAc1mVKxwJd+NokvDIf7QRLLGyUgDbCWry6mRTG8P3j4RvUyUY8M/FMmiM3vXWFUnaReRShNMvJgto5aKx/+hThvX8upWlEAmVwigQ1Q8cffiCpK8fC06k1wc4EUvcYcqS34kkQaOAMUvQUVr4GTnoTX0q0gh+/66tmwNaOOxZfu8dVXLa2v14EbWc7UwD8rvpkGDv+ObQ6CsLDBjZ86+CtYeEFjufCIGjS1oxcf1F60+d16/cZsl/cIWFxHdZjHddsDXe98ltMdus2J3KBRML2MtAahlGcBSlaq5VU423WNzsJaCUVmzaDJ8dox6Xq6rHxD8mjWFbw5yZrYf1HiiLjZE+o3t3HUr921mGlcv+01fud5t+z63V5YWFXn4rMAGq10poSzGhCYwxWP29NiYtuFF8P6Pzx2z6CqDOsAaKCs3iQhhKuLMzksC2JZia9ZBDSxYizzaIht9R0mx+uvFMtchn5lvMXPaXIKc2g2PRAHGRGcdI6oZcTcbOxk8YYY8EacriybNpH05MieBIzwN2UZd7PvrkD+hvrcrzBm1k8BCM3uytH5PJ2OiyzRoI4DuwTKJKOXeuj02gHxkRX4kY/VxvqQ6LZZIDLcCREOfe9N5dk0YAWCkXYpVhmHDh21bXkq1kpQmgzUImle1NoVCDfNAQ/XVhD5LrSaXX/M8MzkFSsTpCwhITP2sxuTPNoeRMkVjU/NCb+zwE2X23ZtkuU/pVPzrqPejl1tCMZLaH1M7JGxOHjHacRtwZ5Q2WPb7MDju/i+UHDaAKURcHt3p59lo7GWbD12i7/sxYGoVWQ+IZYIhWFl5e/Ri1Nchsy5pN4k1YqttWjkD5ocN5rUA0bbha+c3Q3QtVo+RpCBMkevyTJGAY7WF3+7eTDoLhRx9pdOUiZud1nhpK7rMJPxfuHGevHeRYED5ZkuO3B/SRGPPGnAYt6WITtYJ1F0Il7StG9DT2eI9RfWODawuQJMF+EZH7I45yNyfDwztRLqj1F81oVOxRHdyRekz0GmWE8M3CWVgWukMVwpo9vNvkkiyCLqbcgW6NK749Y5Pp5AXke5q07lJRMd0n/eRrABO3v0McovoFHcV4wYh4wx6xqh7QAx1I+r+iW/CFeb7R3dNLXka2H8/Ik8TsW4Hd/xTg3Lw9LRYFQOHAQCHD68F/uI+/WGyKiTPnhOIl+9RYrawD25cbWAFCTx/t3ZuFTea+xsXd5nmPYiRNQKCaLPtzvP+eO61nk6H2x7ZiJ8MXpQi1nWLQof68rU4HWdHyeXMcvruOMcs/nSA5kiDfkKNP3vnKHdvRLPlrrfMYkbVea2lX6gCmpQ7McmQYayAYqbhRsG/2mreEXrV0h/2cbN3eCrYQ0ExIuiIT5KPo9+vNd0v2SRjmkMag8kEFB3Ckt3YuX6Sa5oqji/RUVLB80jtJ0xkjLWERAT0m0z0Gj2b9n3AQRBX4G5cyWwZYUsan7hCehU0GoApyWUguaW6hoJLDMyKp0MQuF+1EZPG7bIXHlig4ycYkWKrnQA0WPw9HErav06ZIOGfbk7udZwMHTiOdb/F6AoqFcGBe2xUHPE/EK9iUbDnjABAVbmGnoVWeBWPWEsqAsy5ldKCy4LHIUv0ecwo7suHLeZLFY234+1OTl25EKzMvxfh1FHVFd50DV/qc+mrSXLCLsT0n8UPTbK+RJDSR4sMnMI5smEDsNWCMBNGbtU27nZXtrBmVfvaEGIGUNUEiAzKxEArrhKSOqaWDnczuW55fziL4oOwUiKkZYVEWnuGj5SMjj5rrlvlyAxVZafXPJUFwT/5gJdQ8VYXIrH4xcideuokn20V/rg7SGe8hCQjlkbCosvwLl+OVDz+3ECbL9+NCJqlgzs9beWFP0AfJFKDznAvRx9SjG4AbUi+pC5j3CwOzPLVUbhhHflJS5SmOojenL7aqizpDuyC4eM8erPzJ6zCWNiGY3YTQ0s49zE5DeO/0c74MBRcauS92xYVeA7VpdQhSP7sbTrU9U76uSzA7UTCXZyfvoi17XOMleSR0eYusQwDGkdXeizToW4eyuIkFWbcADcexIVn7DGgEuvBprVVVau0QsM8r0hZLGld7vzqgJ/NrfbaMerQ3MME7EnbbmYexdLmQnxG117idx2DdZdQhzMjXrNhVig3ag1TXEmzHM+P70Qagvd75rqlBxhNfGwF1WMGEfZaJtbmFYoVbUSTX8f6zo9zK7KaOmQzD5FgPgrn/bLFbUSx2anPavCuorUzGne6lTesFirtdYT6yBXGgNwGNRHltNOMhqzeXX7V1722E92BVC/rPdfeWzUkcB9x3z8qslydYbrPss/qCvS3BsjQqeCuUrWWks0wa1L4J/Dga9SQ6hxCzE+NBy66JsT8zlj9823gj5d/g8TPJxl03gwCHfPTQqaxaOzP80AEGd4Lzq9tNs2BBRTlc1bzdwh+qsA3NvK3BWXpLlFy+aQL+na1MJk4yIGSjWEXxJxrP4NhwfBY6aWV+GnJtWhSND93i1cXbwzk+Of2BSjnaw63gk850FdJdxw0r02ibrlUO8BLaevm0nv7gK2xBwb2qH6hlYOCfbzPKmJkjWyLtMwjxKrfkel0YMbkKWyD2cgng7syK2agDiD0/wHllF7ghB5L37rf7hSVix69UPzHsDc8U0YX91MM/LGKV3lkC2J7/QXeNcan6VCfg7Uv7HGrFLx+0LD2vbLqE4lhsQXlewPhWUeQgqRyqrQtGgZP3DG8SizaUYyvQrxZXUPWNIgRG9phqL7R+V7VCuq3Msc4LGlBxp0B8WVO8Ob475Pod9auZfQOkr+xLt41VIpUtiLoaJnLwok+vTKAttVqkgpHZIhqMW6zDlOH5z/A3oNqTG8SsBF7qoMuLw1dG+hzHoD5OZF1C4W0SwRB09LhcU7kvhUvP0hPOWryn0gqE/Epm926PYbRA5RjSrVvPIbZqIlXOYwcE+WEqH5VCzkG7vcJ3xgGckShu6ZDwf3SXs+kByc7iaHlUNSZiRYUc+5oxMmQPzITMIsZ6GSC+VSXuWOC1GFRkcnxbfRPPu3LwmcixFG6+MJkwUP9Mw1onIkEtC1qRmkrGmP7g5GhsFiXWQsqi9Taen58mMqE1XXCHTvNv6mHKWc+CZOrPcGVKLasLcbccS7BgsRGoUXDFIH2MQU6P0LTs/3ttp6o1bml18NskkEpH9ORqCGj7D7Qione3TawkEZPXZa554/846Ki8wBbytNgYD1RAl9A/Q8FBo+HlErE39QbuxQDffdES2Yj/Tuqjxwol6BPtDm9QAFGvKPgKoWJ+7cBy/2cLfJRq3xuUkKcvawSPOfnugAwxtM51/D+SXAGvW0P9SfkS3R+jx8Nfj6AKLX3u8o2ZeNRiCEToX3tgOuCC7gQVn5X+IdLMZhmvMg/X7QSJ395h2ZddG2+eY9NlpsyuCp31NqzxIGwdknwYY2DxFJ5rCIECAIn86K9ffepLnPe6R7NedlU4TSlWlwgp/eIj2JDVNf5A2tbONB1p4GXBV3JTMBJ/c+yXAL6AZPkQBPMAQUzON1UbWEr4t2rWkRPqpdDxiE93DPkjuppxTk9QF2zBCQvlRjeHBy8WQDtvq+I7BKBu1JpvNXZIgmqLcQ2uYopea3MToAmWLyYZ3jUkrsFqwYC4NHQwS2yswfrEoV0DqOwf1Y619VEBat8pBMviQpq8Wwstp+iD7wqgACb76CPo1i8EeGLjwfj4BlV9gmh/iosEZFQ2XXrCGl3E8TLBYksb7C3RJ4jsevke0w3k//mvYXbJqXkQxjJjdRphfay4RA/KMFKxnf+KdA8BxOUQbHNccsNp3rSKm45Sm4+SMrHnn3vVYHyZHfVmIsb9aybQpsJK54/Sr00JR3NHDtQnMxfGy27oiwPaj2Ucaa/ASlWeac8sDP4FOk1xnrZDsFXWUgyAdnrsXCac2RwfimESc9HZt4d71JnS/MApQjMfYyF6+YeZ93DWRPiPpZfFamKCXDAkmTzBLDyrsHkYnnnqspkHcPGaaXM3T6Qw/jS1tuO4kAhdeQoKvh3RhBtBu6kYI8hUbxZLKRa+ICgmD+LxbhYFadBm/FQf/EZZbPnbiYsIcynalYfgOaI7PEFtFGfnRMK3uLB7limGSXguO5gTPV+4l4m/mXY7vKJ2KscWulvPuV/2XG0luVtQvsoZSiuhvg5JQJI1MUIeXLxjQRbpMzyxcoXOZRFa/h0INIsKgOCYaR01cLWIpauZlWQPLbIADun1Q2zuI+4hxZ98LFbv6ExXFvooDAQhLz1XzVJJpKzF57jhcDycCuqi1rYp2Mzr0+dKxBHTslNxfmKvc1Y+YHFIxdSG2a9U78drI32YyInVXQ1x8Hs2TPt01a+mKoVtOrFu+dMQ9Pr/KAtzG+bjsJydUn6/Do8zaZw9U7U4CKLeEd+JZi28FKAZK35GIVwJK3QJqp6ZsI1WuXHd+5Lxr3b/98P9ahZJy3uGyTRNwfAazydLDzgJG2irW1hLDz7eFyUer6fVzpw+OpNOh64RetWrV5RjMt6a41zXVV6Eo0QncLe3fnDZhyeWPK8fJmrP3jRH0RYExtpQGdxAoGbEE0lQKxw3BTl7XgO/uTl7H2UUS1kKdJAdOdf6RF3yGiWj6sVAfGU7WhcPaFzIeHL4OFpoFjf4M0tqmrPoPY9LKCDgZ2Xlf+xZnCZRR0wZ1VgNcGZD39f55/vjI1AOcjkjNVCfoCE1UlcLhpOrPkPFO5JCYY9WUCCZVelkdEF2f+OPbiKh4TpXCle7O1WpC7V95cLi6U+XVtRlATEDEUAdHWV3bKqVeyPMqIHursVBSSTETrJjUgNtf5V+ujLMAM7+k9CzuF9Bbd7SmdDJ+9v/NnupBfUoJhRkQyS4UdgaavoCJIY+fdTQOmiCL/uvcVDva2pEwqNwtmUSG2BARJhLkEEeZUKJpQ3gKhPakWQ8GzeGeyazTvMsi68cqMws9pq2uscsEuULUR/viBQaC/ZvZG0zEs6sEI//mCysnbKGlpu8ewOb3ruZcOC51PjSoWUgYxdHZjmz+F9mmaRw6i5rt9YrTNIFeme76RkJlzY3n6IPztpidt1B+PSuNPy9+JVz4uCOcbLFyBbH9oTuVj+MrncdEn8TY/tGL3cMeWuM0pGDEkRnMaK1dzPsU0H7CCtvLQkX1iKhDUTcqtsz2K73TvJeUX31f2wAwDeHpIEwlOvU7h6cRppPhRFk37EK2uDSofhQYJFf40OSnI/bwA7EJ8PHB5WCx8A7Rqg+n4z9pIsWFHRQwjh83zR84JCh3rOejbiyx+SffddEseFSfhbY04zGTD8zPiyKUnu2X7Rcy26eZBg1Fj4uhSvwLdUg5hHqrgat76wwlKkWhE/+rO0cXlrASSzZSr0C5jp7+nZxnUrpELOs+8m73s+IZcOCFwzK7QwD1871WlYpQAqnlTErE8S/nsTEZ2DcVnulrMNpOeKrFM1Q4BIVfQqR4gcGC2CYunmqdQCqh4LTHnxQMtRz3MoC3JE81pUr5hQ50K9zjRMWSkOwUMhwSANOt2+LLtfe/CJuK5/4PFKRApDdDkb4OciES0tgMGc0HqNxc5DKzzN/7eyjSOrmqF+e3bhstJKLpe3lgH5bZTPEatrphm17RFmKufbuO5zXzE2BkLKwIiceK7GzoIzIsvJlg0rG6mA7P+XL0CC/6X4xMB//V4F3jsBmUdx81Q/hGjhmJPFnzKZuDxIafqA5/h+dBRLXWpxUSkAqiqdXeT0GY5zQsLP6IShVLrfAxyDgFvNt/rW7hQJ8LOg2MpbCd0FaUj3BKT/SSaZOMnX8tsqSboINKH+PnmiL7yxD4Bwlr+h6vb5YB1FKKqp6LR9pAONnZKAnCxAN724g1dVI8NoYjBH45yljy0y5tGe1NM/f+Z0zqI85VcXnAJE+r96QTIX1rU9KXzQPDomD5+8zFe3CGZ2HLJxNlab0Zhnn2RAKcE1sAIiH4DgS7NvSmvOZ/QXJkPILjDIoXQfPa9nZWgJrvhkpql5rjCRfCCv+dFQ1vRx5joX2sOfHZjc37jjS+hgD","page_age":null}]},{"type":"text","text":"I + found information about ggplot2 1.0.0 in the search results. According to + the data, "},{"citations":[{"type":"web_search_result_location","cited_text":"... + 0.5.1 (2007-06-10 21:49), 0.5.2 ... (2012-09-04 08:16), 0.9.3.1 (2013-03-02 + 15:57), 0.9.3 (2012-12-05 13:11), 1.0.0 (2014-05-21 15:36), 1.0.1 (201...","url":"https://rpkg.net/package/ggplot2","title":"ggplot2 + R Package Stats, Author, Search and Tutorials | Examples | Downloads | Statistics + | Citations","encrypted_index":"Eo8BCioICRgCIiRiZjM2ODdkOC0xYjU5LTQxZWItOTc2MS1hMWZkNzBiMjRlN2USDNXYN4w15FCKZTQbTBoM6G2P3OgxNnxQNQNOIjDm63SwVPZdL71Ai9i0fy3qqbVWV98vMkFGzU1Wn9bmiD9gb1R8sUK03eIkxneNwesqEwrV6XIsSbgnHLiv8x1JF8wKkgsYBA=="}],"type":"text","text":"ggplot2 + version 1.0.0 was released on 2014-05-21 15:36"},{"type":"text","text":".\n\n**2014-05-21**"}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":10,"cache_creation_input_tokens":19569,"cache_read_input_tokens":2240,"cache_creation":{"ephemeral_5m_input_tokens":2240,"ephemeral_1h_input_tokens":0},"output_tokens":149,"service_tier":"standard","server_tool_use":{"web_search_requests":1}}}' + recorded_at: 2025-11-07 16:59:02 +- request: + method: POST + uri: https://api.anthropic.com/v1/messages + body: + string: '{"model":"claude-sonnet-4-5-20250929","messages":[{"role":"user","content":[{"type":"text","text":"When + was ggplot2 1.0.0 released to CRAN?\n\nAnswer in YYYY-MM-DD format."}]},{"role":"assistant","content":[{"type":"server_tool_use","id":"srvtoolu_01GAHpBrEa6jAjMYsJGetGcD","name":"web_search","input":{"query":"ggplot2 + 1.0.0 CRAN release date"}},{"type":"web_search_tool_result","tool_use_id":"srvtoolu_01GAHpBrEa6jAjMYsJGetGcD","content":[{"type":"web_search_result","title":"Changelog + • ggplot2","url":"https://ggplot2.tidyverse.org/news/index.html","encrypted_content":"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","page_age":null},{"type":"web_search_result","title":"CRAN: + Package ggplot2","url":"https://cran.r-project.org/package=ggplot2","encrypted_content":"Eq8GCioICRgCIiRiZjM2ODdkOC0xYjU5LTQxZWItOTc2MS1hMWZkNzBiMjRlN2USDDrhAthIu+gs6lY0cxoMzE6+zZ3OTPtQdAZjIjBbolG6mBb+zwWt+NS9n78nIfcEiDilL+jPCD9hcKy7iZR8GJL0MljFR6au69LdWQwqsgXp8JP/13M9J17bNy/hzho6YjOpUuuFIOHWbYQrOgdGpBl8wdflbxGeavXx/RAiDwVzqOPFGn1MOGOA1qIZIHxWHVAdH4CIXwEEGBBcZCggjr1jIKfsfQQJBab95/OgaVr6BDsSzjrAxfF8WJKXVw6zoQln8aOC72HGt01l0Dj3w2s7O6B5fvrLZPyMZd4+8VeZo5nO9zjIgnKeiuHxqpr24Eoe9A4Tbe+hT1CFzlYXUsL/aEkMEhhkW43n5aYlWyKQ8ObgRA0+FfayluVgPw3903zvizlyxvg7jNEc/xWI5+21ocgoEEI6BlLF03wW0Hg1sS9IS99iL0vlMbxiicMHfdqGyUyLVD2mLIs0eBW0d5oLRQFqic/Bw7pf60wLpCyLWF8sg3PbPPWECfc7ILN+ImRe3TxbHyxtTiN8DVQzWO7eMJyEiCX4MssvTLvDHYhYie2AMfn0upoEhRqlgWTE2b08azgXqLuXNzSi1MhHeHQ/wb6oVQZUo41bOqb6j+XERXdilsYhSAv3aR2hG+dYqYrogWuKZdwGorrhhDRtJSNrRHI97W1aZkBrTIt86olG1ia4naxatlA1scvmwT4O+4NZ+kEkOhYpeYIJWn7ZXMOLm7qyKD5fLOv3xc/sfInpp2s/p1ZpTfhEXN9Z4pfp8ENkMuJcE1klojCW3RjhwzxhdVDh5QedwEEnXQfWDQntuZquPQKli0pu0IvmSaIZqQdYaKrov4AuzLCMafnu+7WoSqhOvc8uoSc5yYYILP+9qVvc9ie/9ZnPlUtrnNDxHKBPnruR4Ft4SPMWCTlLh2SPK1UfRTnP9dDulQ4MVxhIIp9KXG9+CCpIiyDJ+kJL+BJX6Vv7d2Bc5VgpkvmaJS3YUSijNUyu+ykKJatCcvNrA8PMOSuesn/JTeePxscT+TIYAw==","page_age":"September + 11, 2025"},{"type":"web_search_result","title":"Releases · tidyverse/ggplot2","url":"https://github.com/tidyverse/ggplot2/releases","encrypted_content":"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","page_age":null},{"type":"web_search_result","title":"ggplot2 + - Wikipedia","url":"https://en.wikipedia.org/wiki/Ggplot2","encrypted_content":"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","page_age":"4 + weeks ago"},{"type":"web_search_result","title":"Package ''ggplot2''","url":"https://cran.r-project.org/web/packages/ggplot2/ggplot2.pdf","encrypted_content":"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","page_age":null},{"type":"web_search_result","title":"Releases + · cran/ggplot2","url":"https://github.com/cran/ggplot2/releases","encrypted_content":"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","page_age":null},{"type":"web_search_result","title":"New + version of ggplot2, new problems · Issue #255 · pbiecek/archivist","url":"https://github.com/pbiecek/archivist/issues/255","encrypted_content":"Ev4KCioICRgCIiRiZjM2ODdkOC0xYjU5LTQxZWItOTc2MS1hMWZkNzBiMjRlN2USDGXrhLtVeJsot02xcxoMgBdX6NeGeDNE3GGtIjDDkOsI6t+L4tfE/RnJ8A2KPEjuKeLErMbzXLiwN3/JqtEmxR+/lMmnqMbyiviFrsgqgQqvlwMvpxBSxmB4ymGEj2UFRKwtyWEmY3jstsWcx2zCGZTHe+pEu4cTBNIcSQTh6h+1rCUQnNp6wRYrPItIsaxVdjc96lgVPtaPXBXDvImx9p0dEIz+/4ONHEaphhR+M10KgZdqu44fD+xOWlLuRoJMnL9YliR07JGWYH0Ur6ymYZNUW3ejbe44e+FAhKe/52aptlfbJiQI+m3m3/v6V59WS8uV6f1JeIQg12Q6TRmAFVorFjQ1bsBLRGi5VikibbcIOyucBAuQAuqCfgSmezvjlXWVgoZZdKaT2FPbnqpYnb5t+Fxxql74H1PrPeODy2aEmVnYnOQzfMQLGAg0+1MfW5gI4YV8v4q8LMpfb9Jp3F4KgpMP0mBxCo8Jz8sZgDd7K+n7AKNfg0DqejIw3nMaq5tgP7+LgkdV61IPqM3qQDzZUVJ+tz4UOZdkrNsjMOAiArAMt8sLiavd9vhz4sBRKOwIhZnkGf1NS8T7vyO9UOZUE/uoecOxqiUxa4Wy2PZrgiaU72DXc+JsKOX8u984FT4g3QcN3AzIdEUJ5iLzxVFsu/ymTdXZzKZ1z75aJFJPAB1CD2fVSsE6qnA1LrhXP/qnRWwJd9edODWoh0sSj6sFnH9Z3BWV7Fc+5bSSPrXnn3pvxKiqjaLxugRLiq4M6Fk2SidB6X4cL6ObTyImJTiYv4UIyuut5FUxoy9+q+g8RsF6LkAab4BTAjUGluH6+rX3vjDp3rAmr59MDBqpxW2zUdjPUM23n0gdO+9mv8PYA7vhRFGqipy3ZbjCDop1rKYV0XM4xS+zULvz/fAClSQi3YbRhCjwQPpahvHTy2FNHRqWumwg70o2JtlrxxA3MAQ3w9VK1f+KAIAc8qPXcIruKewblhAGGgevx7Qn9xb/sH9k70RK3lHwpKpv4PEOjnHRigW6+wMCm8HJmbmbhbnLvS4wm4RRcPxTthGWTdbY9c8RHw7c1xxwdCOK+IHblQxAUekrJDTD5r8mE8eSmZUejbWxcM2r+QQMb4lqvR7nY6g3X6+8yQ8VEwUVFBVfayYgPDUzvj6xqZgnV6E42McTLI9zmueSzu58mocLUMe2h6oSy5g0GGmAd8cUBHPNWmPiP0J8zRuL3WEqqXiLm2Pnxzt/KnQkoImGaZfrFut93mVEgB9+cVZ69houbnoQcxS/cwa1d9Q5vzXcpybzPIqQlSCp7PWGQX+QS52ouyLP7SM72r3tLTRqWbuRjSejCQBoiAyr63Ws74LVwyUCwhHyYFbbeGqMBuOft7fi7WNsFpk2HcON6EsLtom8Fc87ROJI6AoZUnJtwfJ/JYYqW1LZ0peLJsGACLCXhc/3BNMJVDb7oh/Tsgv+DBtQgBXmsGZ732UFqkfw/0ZrsdSSOuMFjT3tzPG6TphwjxiARfhW2+kjFKOH9fhxdC3KiFzy/J6vdkvLDYiOWrT5SzkSvKNofAW/ZDecTGe2brShJIc+1NN/3Tv+x7vE1Xd9QgwfbgdjmHC74L1zSCFZfWZNbLscn8RxqoL4We8KqaosAFguCJXrLPlO5wYGdv/1Vbg240ZW9wc5PdwfzCNr4iYaUUQcUP4dgGd/lpgDJfIlKS6wT1Hpxjxy1IrGNbC3UvegSrvhfayD/JPctqJaDoOyQChlArh9kg+/xZU+4ZrQ2MPJFUdORqjtbU53telc7RR1jB4NErx6knu9GumW+OAekrMYAw==","page_age":null},{"type":"web_search_result","title":"ggplot2 + R Package Stats, Author, Search and Tutorials | Examples | Downloads | Statistics + | Citations","url":"https://rpkg.net/package/ggplot2","encrypted_content":"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","page_age":null},{"type":"web_search_result","title":"ggplot2 + package - RDocumentation","url":"https://www.rdocumentation.org/packages/ggplot2/versions/3.5.2","encrypted_content":"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","page_age":null},{"type":"web_search_result","title":"NEWS","url":"https://cran.r-project.org/web/packages/ggplot2/news/news.html","encrypted_content":"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","page_age":null}]},{"type":"text","text":"I + found information about ggplot2 1.0.0 in the search results. According to + the data, "},{"type":"text","text":"ggplot2 version 1.0.0 was released on + 2014-05-21 15:36"},{"type":"text","text":".\n\n**2014-05-21**"}]},{"role":"user","content":[{"type":"text","text":"What + month was that?","cache_control":{"type":"ephemeral","ttl":"5m"}}]}],"stream":false,"tools":[{"name":"web_search","type":"web_search_20250305"}],"temperature":0,"max_tokens":4096}' + response: + status: 200 + headers: + date: Fri, 07 Nov 2025 16:59:05 GMT + content-type: application/json + content-encoding: gzip + anthropic-ratelimit-input-tokens-limit: '2000000' + anthropic-ratelimit-input-tokens-remaining: '2000000' + anthropic-ratelimit-input-tokens-reset: '2025-11-07T16:59:04Z' + anthropic-ratelimit-output-tokens-limit: '400000' + anthropic-ratelimit-output-tokens-remaining: '400000' + anthropic-ratelimit-output-tokens-reset: '2025-11-07T16:59:05Z' + anthropic-ratelimit-requests-limit: '4000' + anthropic-ratelimit-requests-remaining: '3999' + anthropic-ratelimit-requests-reset: '2025-11-07T16:59:02Z' + retry-after: '61' + anthropic-ratelimit-tokens-limit: '2400000' + anthropic-ratelimit-tokens-remaining: '2400000' + anthropic-ratelimit-tokens-reset: '2025-11-07T16:59:04Z' + request-id: req_011CUttGrPrPr3CmdgCrvcmZ + strict-transport-security: max-age=31536000; includeSubDomains; preload + anthropic-organization-id: bf3687d8-1b59-41eb-9761-a1fd70b24e7e + x-envoy-upstream-service-time: '3053' + cf-cache-status: DYNAMIC + x-robots-tag: none + server: cloudflare + cf-ray: 99ae60fbaa79ead9-DFW + body: + string: '{"model":"claude-sonnet-4-5-20250929","id":"msg_01Ds9ByCdpq8qdanpq2A7ERM","type":"message","role":"assistant","content":[{"type":"text","text":"That + was **May** 2014."}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":77,"cache_read_input_tokens":19569,"cache_creation":{"ephemeral_5m_input_tokens":77,"ephemeral_1h_input_tokens":0},"output_tokens":12,"service_tier":"standard"}}' + recorded_at: 2025-11-07 16:59:05 +- request: + method: POST + uri: https://api.anthropic.com/v1/messages + body: + string: '{"model":"claude-sonnet-4-5-20250929","messages":[{"role":"user","content":[{"type":"text","text":"When + was ggplot2 1.0.0 released to CRAN?\n\nAnswer in YYYY-MM-DD format."}]},{"role":"assistant","content":[{"type":"server_tool_use","id":"srvtoolu_01GAHpBrEa6jAjMYsJGetGcD","name":"web_search","input":{"query":"ggplot2 + 1.0.0 CRAN release date"}},{"type":"web_search_tool_result","tool_use_id":"srvtoolu_01GAHpBrEa6jAjMYsJGetGcD","content":[{"type":"web_search_result","title":"Changelog + • ggplot2","url":"https://ggplot2.tidyverse.org/news/index.html","encrypted_content":"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","page_age":null},{"type":"web_search_result","title":"CRAN: + Package ggplot2","url":"https://cran.r-project.org/package=ggplot2","encrypted_content":"Eq8GCioICRgCIiRiZjM2ODdkOC0xYjU5LTQxZWItOTc2MS1hMWZkNzBiMjRlN2USDDrhAthIu+gs6lY0cxoMzE6+zZ3OTPtQdAZjIjBbolG6mBb+zwWt+NS9n78nIfcEiDilL+jPCD9hcKy7iZR8GJL0MljFR6au69LdWQwqsgXp8JP/13M9J17bNy/hzho6YjOpUuuFIOHWbYQrOgdGpBl8wdflbxGeavXx/RAiDwVzqOPFGn1MOGOA1qIZIHxWHVAdH4CIXwEEGBBcZCggjr1jIKfsfQQJBab95/OgaVr6BDsSzjrAxfF8WJKXVw6zoQln8aOC72HGt01l0Dj3w2s7O6B5fvrLZPyMZd4+8VeZo5nO9zjIgnKeiuHxqpr24Eoe9A4Tbe+hT1CFzlYXUsL/aEkMEhhkW43n5aYlWyKQ8ObgRA0+FfayluVgPw3903zvizlyxvg7jNEc/xWI5+21ocgoEEI6BlLF03wW0Hg1sS9IS99iL0vlMbxiicMHfdqGyUyLVD2mLIs0eBW0d5oLRQFqic/Bw7pf60wLpCyLWF8sg3PbPPWECfc7ILN+ImRe3TxbHyxtTiN8DVQzWO7eMJyEiCX4MssvTLvDHYhYie2AMfn0upoEhRqlgWTE2b08azgXqLuXNzSi1MhHeHQ/wb6oVQZUo41bOqb6j+XERXdilsYhSAv3aR2hG+dYqYrogWuKZdwGorrhhDRtJSNrRHI97W1aZkBrTIt86olG1ia4naxatlA1scvmwT4O+4NZ+kEkOhYpeYIJWn7ZXMOLm7qyKD5fLOv3xc/sfInpp2s/p1ZpTfhEXN9Z4pfp8ENkMuJcE1klojCW3RjhwzxhdVDh5QedwEEnXQfWDQntuZquPQKli0pu0IvmSaIZqQdYaKrov4AuzLCMafnu+7WoSqhOvc8uoSc5yYYILP+9qVvc9ie/9ZnPlUtrnNDxHKBPnruR4Ft4SPMWCTlLh2SPK1UfRTnP9dDulQ4MVxhIIp9KXG9+CCpIiyDJ+kJL+BJX6Vv7d2Bc5VgpkvmaJS3YUSijNUyu+ykKJatCcvNrA8PMOSuesn/JTeePxscT+TIYAw==","page_age":"September + 11, 2025"},{"type":"web_search_result","title":"Releases · tidyverse/ggplot2","url":"https://github.com/tidyverse/ggplot2/releases","encrypted_content":"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","page_age":null},{"type":"web_search_result","title":"ggplot2 + - Wikipedia","url":"https://en.wikipedia.org/wiki/Ggplot2","encrypted_content":"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","page_age":"4 + weeks ago"},{"type":"web_search_result","title":"Package ''ggplot2''","url":"https://cran.r-project.org/web/packages/ggplot2/ggplot2.pdf","encrypted_content":"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","page_age":null},{"type":"web_search_result","title":"Releases + · cran/ggplot2","url":"https://github.com/cran/ggplot2/releases","encrypted_content":"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","page_age":null},{"type":"web_search_result","title":"New + version of ggplot2, new problems · Issue #255 · pbiecek/archivist","url":"https://github.com/pbiecek/archivist/issues/255","encrypted_content":"Ev4KCioICRgCIiRiZjM2ODdkOC0xYjU5LTQxZWItOTc2MS1hMWZkNzBiMjRlN2USDGXrhLtVeJsot02xcxoMgBdX6NeGeDNE3GGtIjDDkOsI6t+L4tfE/RnJ8A2KPEjuKeLErMbzXLiwN3/JqtEmxR+/lMmnqMbyiviFrsgqgQqvlwMvpxBSxmB4ymGEj2UFRKwtyWEmY3jstsWcx2zCGZTHe+pEu4cTBNIcSQTh6h+1rCUQnNp6wRYrPItIsaxVdjc96lgVPtaPXBXDvImx9p0dEIz+/4ONHEaphhR+M10KgZdqu44fD+xOWlLuRoJMnL9YliR07JGWYH0Ur6ymYZNUW3ejbe44e+FAhKe/52aptlfbJiQI+m3m3/v6V59WS8uV6f1JeIQg12Q6TRmAFVorFjQ1bsBLRGi5VikibbcIOyucBAuQAuqCfgSmezvjlXWVgoZZdKaT2FPbnqpYnb5t+Fxxql74H1PrPeODy2aEmVnYnOQzfMQLGAg0+1MfW5gI4YV8v4q8LMpfb9Jp3F4KgpMP0mBxCo8Jz8sZgDd7K+n7AKNfg0DqejIw3nMaq5tgP7+LgkdV61IPqM3qQDzZUVJ+tz4UOZdkrNsjMOAiArAMt8sLiavd9vhz4sBRKOwIhZnkGf1NS8T7vyO9UOZUE/uoecOxqiUxa4Wy2PZrgiaU72DXc+JsKOX8u984FT4g3QcN3AzIdEUJ5iLzxVFsu/ymTdXZzKZ1z75aJFJPAB1CD2fVSsE6qnA1LrhXP/qnRWwJd9edODWoh0sSj6sFnH9Z3BWV7Fc+5bSSPrXnn3pvxKiqjaLxugRLiq4M6Fk2SidB6X4cL6ObTyImJTiYv4UIyuut5FUxoy9+q+g8RsF6LkAab4BTAjUGluH6+rX3vjDp3rAmr59MDBqpxW2zUdjPUM23n0gdO+9mv8PYA7vhRFGqipy3ZbjCDop1rKYV0XM4xS+zULvz/fAClSQi3YbRhCjwQPpahvHTy2FNHRqWumwg70o2JtlrxxA3MAQ3w9VK1f+KAIAc8qPXcIruKewblhAGGgevx7Qn9xb/sH9k70RK3lHwpKpv4PEOjnHRigW6+wMCm8HJmbmbhbnLvS4wm4RRcPxTthGWTdbY9c8RHw7c1xxwdCOK+IHblQxAUekrJDTD5r8mE8eSmZUejbWxcM2r+QQMb4lqvR7nY6g3X6+8yQ8VEwUVFBVfayYgPDUzvj6xqZgnV6E42McTLI9zmueSzu58mocLUMe2h6oSy5g0GGmAd8cUBHPNWmPiP0J8zRuL3WEqqXiLm2Pnxzt/KnQkoImGaZfrFut93mVEgB9+cVZ69houbnoQcxS/cwa1d9Q5vzXcpybzPIqQlSCp7PWGQX+QS52ouyLP7SM72r3tLTRqWbuRjSejCQBoiAyr63Ws74LVwyUCwhHyYFbbeGqMBuOft7fi7WNsFpk2HcON6EsLtom8Fc87ROJI6AoZUnJtwfJ/JYYqW1LZ0peLJsGACLCXhc/3BNMJVDb7oh/Tsgv+DBtQgBXmsGZ732UFqkfw/0ZrsdSSOuMFjT3tzPG6TphwjxiARfhW2+kjFKOH9fhxdC3KiFzy/J6vdkvLDYiOWrT5SzkSvKNofAW/ZDecTGe2brShJIc+1NN/3Tv+x7vE1Xd9QgwfbgdjmHC74L1zSCFZfWZNbLscn8RxqoL4We8KqaosAFguCJXrLPlO5wYGdv/1Vbg240ZW9wc5PdwfzCNr4iYaUUQcUP4dgGd/lpgDJfIlKS6wT1Hpxjxy1IrGNbC3UvegSrvhfayD/JPctqJaDoOyQChlArh9kg+/xZU+4ZrQ2MPJFUdORqjtbU53telc7RR1jB4NErx6knu9GumW+OAekrMYAw==","page_age":null},{"type":"web_search_result","title":"ggplot2 + R Package Stats, Author, Search and Tutorials | Examples | Downloads | Statistics + | Citations","url":"https://rpkg.net/package/ggplot2","encrypted_content":"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","page_age":null},{"type":"web_search_result","title":"ggplot2 + package - RDocumentation","url":"https://www.rdocumentation.org/packages/ggplot2/versions/3.5.2","encrypted_content":"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","page_age":null},{"type":"web_search_result","title":"NEWS","url":"https://cran.r-project.org/web/packages/ggplot2/news/news.html","encrypted_content":"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","page_age":null}]},{"type":"text","text":"I + found information about ggplot2 1.0.0 in the search results. According to + the data, "},{"type":"text","text":"ggplot2 version 1.0.0 was released on + 2014-05-21 15:36"},{"type":"text","text":".\n\n**2014-05-21**"}]},{"role":"user","content":[{"type":"text","text":"What + month was that?"}]},{"role":"assistant","content":[{"type":"text","text":"That + was **May** 2014."}]},{"role":"user","content":[{"type":"text","text":"What + month was that?","cache_control":{"type":"ephemeral","ttl":"5m"}}]}],"stream":false,"tools":[{"name":"web_search","type":"web_search_20250305"}],"temperature":0,"max_tokens":4096}' + response: + status: 200 + headers: + date: Fri, 07 Nov 2025 16:59:09 GMT + content-type: application/json + content-encoding: gzip + anthropic-ratelimit-input-tokens-limit: '2000000' + anthropic-ratelimit-input-tokens-remaining: '2000000' + anthropic-ratelimit-input-tokens-reset: '2025-11-07T16:59:08Z' + anthropic-ratelimit-output-tokens-limit: '400000' + anthropic-ratelimit-output-tokens-remaining: '400000' + anthropic-ratelimit-output-tokens-reset: '2025-11-07T16:59:09Z' + anthropic-ratelimit-requests-limit: '4000' + anthropic-ratelimit-requests-remaining: '3999' + anthropic-ratelimit-requests-reset: '2025-11-07T16:59:05Z' + retry-after: '52' + anthropic-ratelimit-tokens-limit: '2400000' + anthropic-ratelimit-tokens-remaining: '2400000' + anthropic-ratelimit-tokens-reset: '2025-11-07T16:59:08Z' + request-id: req_011CUttH6atKiW5bNYmUxWiD + strict-transport-security: max-age=31536000; includeSubDomains; preload + anthropic-organization-id: bf3687d8-1b59-41eb-9761-a1fd70b24e7e + x-envoy-upstream-service-time: '3386' + cf-cache-status: DYNAMIC + x-robots-tag: none + server: cloudflare + cf-ray: 99ae61105c13ead9-DFW + body: + string: '{"model":"claude-sonnet-4-5-20250929","id":"msg_01FJPHSeg3t7dsaCqxGYC9om","type":"message","role":"assistant","content":[{"type":"text","text":"May + is the **5th month** of the year."}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":20,"cache_read_input_tokens":19646,"cache_creation":{"ephemeral_5m_input_tokens":20,"ephemeral_1h_input_tokens":0},"output_tokens":15,"service_tier":"standard"}}' + recorded_at: 2025-11-07 16:59:09 +recorded_with: VCR-vcr/2.0.0 diff --git a/tests/testthat/_vcr/google-web-fetch.yml b/tests/testthat/_vcr/google-web-fetch.yml new file mode 100644 index 00000000..5c7ec1ff --- /dev/null +++ b/tests/testthat/_vcr/google-web-fetch.yml @@ -0,0 +1,388 @@ +http_interactions: +- request: + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent + body: + string: '{"contents":[{"role":"user","parts":[{"text":"What''s the first movie + listed on https://rvest.tidyverse.org/articles/starwars.html?"}]}],"tools":{"url_context":{}},"systemInstruction":{"parts":{"text":""}},"generationConfig":{"temperature":0,"seed":1014}}' + response: + status: 200 + headers: + alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + content-encoding: gzip + content-length: '598' + content-type: application/json; charset=UTF-8 + date: Fri, 07 Nov 2025 16:57:45 GMT + server: scaffolding on HTTPServer2 + server-timing: gfet4t7; dur=1587 + vary: + - Origin + - X-Origin + - Referer + x-content-type-options: nosniff + x-frame-options: SAMEORIGIN + x-xss-protection: '0' + body: + string: | + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "The first movie listed on https://rvest.tidyverse.org/articles/starwars.html is \"The Phantom Menace\"." + } + ], + "role": "model" + }, + "finishReason": "STOP", + "index": 0, + "groundingMetadata": { + "groundingChunks": [ + { + "web": { + "uri": "https://rvest.tidyverse.org/articles/starwars.html", + "title": "Star Wars films (static HTML) • rvest" + } + } + ], + "groundingSupports": [ + { + "segment": { + "startIndex": 1, + "endIndex": 101, + "text": "The first movie listed on https://rvest.tidyverse.org/articles/starwars.html is \"The Phantom Menace\"" + }, + "groundingChunkIndices": [ + 0 + ] + } + ] + }, + "urlContextMetadata": { + "urlMetadata": [ + { + "retrievedUrl": "https://rvest.tidyverse.org/articles/starwars.html", + "urlRetrievalStatus": "URL_RETRIEVAL_STATUS_SUCCESS" + } + ] + } + } + ], + "usageMetadata": { + "promptTokenCount": 25, + "candidatesTokenCount": 49, + "totalTokenCount": 1296, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 25 + } + ], + "toolUsePromptTokenCount": 1133, + "toolUsePromptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 1133 + } + ], + "thoughtsTokenCount": 89 + }, + "modelVersion": "gemini-2.5-flash", + "responseId": "CSUOacmVHrTgz7IP_uaQwQw" + } + recorded_at: 2025-11-07 16:57:45 +- request: + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent + body: + string: '{"contents":[{"role":"user","parts":[{"text":"What''s the first movie + listed on https://rvest.tidyverse.org/articles/starwars.html?"}]},{"role":"model","parts":[{"text":"The + first movie listed on https://rvest.tidyverse.org/articles/starwars.html is + \"The Phantom Menace\"."}]},{"role":"user","parts":[{"text":"What''s the first + movie listed on https://rvest.tidyverse.org/articles/starwars.html?"}]}],"tools":{"url_context":{}},"systemInstruction":{"parts":{"text":""}},"generationConfig":{"temperature":0,"seed":1014}}' + response: + status: 200 + headers: + alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + content-encoding: gzip + content-length: '592' + content-type: application/json; charset=UTF-8 + date: Fri, 07 Nov 2025 16:57:47 GMT + server: scaffolding on HTTPServer2 + server-timing: gfet4t7; dur=1540 + vary: + - Origin + - X-Origin + - Referer + x-content-type-options: nosniff + x-frame-options: SAMEORIGIN + x-xss-protection: '0' + body: + string: | + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "The first movie listed on https://rvest.tidyverse.org/articles/starwars.html is \"The Phantom Menace\"." + } + ], + "role": "model" + }, + "finishReason": "STOP", + "index": 0, + "groundingMetadata": { + "groundingChunks": [ + { + "web": { + "uri": "https://rvest.tidyverse.org/articles/starwars.html", + "title": "Star Wars films (static HTML) • rvest" + } + } + ], + "groundingSupports": [ + { + "segment": { + "endIndex": 100, + "text": "The first movie listed on https://rvest.tidyverse.org/articles/starwars.html is \"The Phantom Menace\"" + }, + "groundingChunkIndices": [ + 0 + ] + } + ] + }, + "urlContextMetadata": { + "urlMetadata": [ + { + "retrievedUrl": "https://rvest.tidyverse.org/articles/starwars.html", + "urlRetrievalStatus": "URL_RETRIEVAL_STATUS_SUCCESS" + } + ] + } + } + ], + "usageMetadata": { + "promptTokenCount": 78, + "candidatesTokenCount": 49, + "totalTokenCount": 1350, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 78 + } + ], + "toolUsePromptTokenCount": 1183, + "toolUsePromptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 1183 + } + ], + "thoughtsTokenCount": 40 + }, + "modelVersion": "gemini-2.5-flash", + "responseId": "CyUOafP3CZGIz7IPk-yeSQ" + } + recorded_at: 2025-11-07 16:57:47 +- request: + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent + body: + string: '{"contents":[{"role":"user","parts":[{"text":"What''s the first movie + listed on https://rvest.tidyverse.org/articles/starwars.html?"}]},{"role":"model","parts":[{"text":"The + first movie listed on https://rvest.tidyverse.org/articles/starwars.html is + \"The Phantom Menace\"."}]},{"role":"user","parts":[{"text":"What''s the first + movie listed on https://rvest.tidyverse.org/articles/starwars.html?"}]},{"role":"model","parts":[{"text":"The + first movie listed on https://rvest.tidyverse.org/articles/starwars.html is + \"The Phantom Menace\"."}]},{"role":"user","parts":[{"text":"Who directed + it?"}]}],"tools":{"url_context":{}},"systemInstruction":{"parts":{"text":""}},"generationConfig":{"temperature":0,"seed":1014}}' + response: + status: 200 + headers: + alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + content-encoding: gzip + content-length: '584' + content-type: application/json; charset=UTF-8 + date: Fri, 07 Nov 2025 16:57:48 GMT + server: scaffolding on HTTPServer2 + server-timing: gfet4t7; dur=1122 + vary: + - Origin + - X-Origin + - Referer + x-content-type-options: nosniff + x-frame-options: SAMEORIGIN + x-xss-protection: '0' + body: + string: | + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "George Lucas directed \"The Phantom Menace\"." + } + ], + "role": "model" + }, + "finishReason": "STOP", + "index": 0, + "groundingMetadata": { + "groundingChunks": [ + { + "web": { + "uri": "https://rvest.tidyverse.org/articles/starwars.html", + "title": "Star Wars films (static HTML) • rvest" + } + } + ], + "groundingSupports": [ + { + "segment": { + "endIndex": 42, + "text": "George Lucas directed \"The Phantom Menace\"" + }, + "groundingChunkIndices": [ + 0 + ] + } + ] + }, + "urlContextMetadata": { + "urlMetadata": [ + { + "retrievedUrl": "https://rvest.tidyverse.org/articles/starwars.html", + "urlRetrievalStatus": "URL_RETRIEVAL_STATUS_SUCCESS" + } + ] + } + } + ], + "usageMetadata": { + "promptTokenCount": 111, + "candidatesTokenCount": 31, + "totalTokenCount": 1390, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 111 + } + ], + "toolUsePromptTokenCount": 1212, + "toolUsePromptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 1212 + } + ], + "thoughtsTokenCount": 36 + }, + "modelVersion": "gemini-2.5-flash", + "responseId": "DCUOafeQGdmfz7IP6fWrkQ8" + } + recorded_at: 2025-11-07 16:57:48 +- request: + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent + body: + string: '{"contents":[{"role":"user","parts":[{"text":"What''s the first movie + listed on https://rvest.tidyverse.org/articles/starwars.html?"}]},{"role":"model","parts":[{"text":"The + first movie listed on https://rvest.tidyverse.org/articles/starwars.html is + \"The Phantom Menace\"."}]},{"role":"user","parts":[{"text":"What''s the first + movie listed on https://rvest.tidyverse.org/articles/starwars.html?"}]},{"role":"model","parts":[{"text":"The + first movie listed on https://rvest.tidyverse.org/articles/starwars.html is + \"The Phantom Menace\"."}]},{"role":"user","parts":[{"text":"Who directed + it?"}]},{"role":"model","parts":[{"text":"George Lucas directed \"The Phantom + Menace\"."}]},{"role":"user","parts":[{"text":"Who directed it?"}]}],"tools":{"url_context":{}},"systemInstruction":{"parts":{"text":""}},"generationConfig":{"temperature":0,"seed":1014}}' + response: + status: 200 + headers: + alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + content-encoding: gzip + content-length: '591' + content-type: application/json; charset=UTF-8 + date: Fri, 07 Nov 2025 16:57:51 GMT + server: scaffolding on HTTPServer2 + server-timing: gfet4t7; dur=2633 + vary: + - Origin + - X-Origin + - Referer + x-content-type-options: nosniff + x-frame-options: SAMEORIGIN + x-xss-protection: '0' + body: + string: | + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "George Lucas directed \"The Phantom Menace\"." + } + ], + "role": "model" + }, + "finishReason": "STOP", + "index": 0, + "groundingMetadata": { + "groundingChunks": [ + { + "web": { + "uri": "https://rvest.tidyverse.org/articles/starwars.html", + "title": "Star Wars films (static HTML) • rvest" + } + } + ], + "groundingSupports": [ + { + "segment": { + "startIndex": 1, + "endIndex": 43, + "text": "George Lucas directed \"The Phantom Menace\"" + }, + "groundingChunkIndices": [ + 0 + ] + } + ] + }, + "urlContextMetadata": { + "urlMetadata": [ + { + "retrievedUrl": "https://rvest.tidyverse.org/articles/starwars.html", + "urlRetrievalStatus": "URL_RETRIEVAL_STATUS_SUCCESS" + } + ] + } + } + ], + "usageMetadata": { + "promptTokenCount": 126, + "candidatesTokenCount": 31, + "totalTokenCount": 1428, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 126 + } + ], + "toolUsePromptTokenCount": 1221, + "toolUsePromptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 1221 + } + ], + "thoughtsTokenCount": 50 + }, + "modelVersion": "gemini-2.5-flash", + "responseId": "DyUOaaSoCuzPz7IP-JqVGA" + } + recorded_at: 2025-11-07 16:57:51 +recorded_with: VCR-vcr/2.0.0 diff --git a/tests/testthat/_vcr/google-web-search.yml b/tests/testthat/_vcr/google-web-search.yml new file mode 100644 index 00000000..a0bc52dd --- /dev/null +++ b/tests/testthat/_vcr/google-web-search.yml @@ -0,0 +1,212 @@ +http_interactions: +- request: + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent + body: + string: '{"contents":[{"role":"user","parts":[{"text":"When was ggplot2 1.0.0 + released to CRAN?\n\nAnswer in YYYY-MM-DD format."}]}],"tools":{"google_search":{}},"systemInstruction":{"parts":{"text":""}},"generationConfig":{"temperature":0,"seed":1014}}' + response: + status: 200 + headers: + alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + content-encoding: gzip + content-length: '2564' + content-type: application/json; charset=UTF-8 + date: Fri, 07 Nov 2025 16:59:13 GMT + server: scaffolding on HTTPServer2 + server-timing: gfet4t7; dur=2558 + vary: + - Origin + - X-Origin + - Referer + x-content-type-options: nosniff + x-frame-options: SAMEORIGIN + x-xss-protection: '0' + body: + string: | + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "ggplot2 version 1.0.0 was released to CRAN on 2014-05-21." + } + ], + "role": "model" + }, + "finishReason": "STOP", + "index": 0, + "groundingMetadata": { + "searchEntryPoint": { + "renderedContent": "\u003cstyle\u003e\n.container {\n align-items: center;\n border-radius: 8px;\n display: flex;\n font-family: Google Sans, Roboto, sans-serif;\n font-size: 14px;\n line-height: 20px;\n padding: 8px 12px;\n}\n.chip {\n display: inline-block;\n border: solid 1px;\n border-radius: 16px;\n min-width: 14px;\n padding: 5px 16px;\n text-align: center;\n user-select: none;\n margin: 0 8px;\n -webkit-tap-highlight-color: transparent;\n}\n.carousel {\n overflow: auto;\n scrollbar-width: none;\n white-space: nowrap;\n margin-right: -12px;\n}\n.headline {\n display: flex;\n margin-right: 4px;\n}\n.gradient-container {\n position: relative;\n}\n.gradient {\n position: absolute;\n transform: translate(3px, -9px);\n height: 36px;\n width: 9px;\n}\n@media (prefers-color-scheme: light) {\n .container {\n background-color: #fafafa;\n box-shadow: 0 0 0 1px #0000000f;\n }\n .headline-label {\n color: #1f1f1f;\n }\n .chip {\n background-color: #ffffff;\n border-color: #d2d2d2;\n color: #5e5e5e;\n text-decoration: none;\n }\n .chip:hover {\n background-color: #f2f2f2;\n }\n .chip:focus {\n background-color: #f2f2f2;\n }\n .chip:active {\n background-color: #d8d8d8;\n border-color: #b6b6b6;\n }\n .logo-dark {\n display: none;\n }\n .gradient {\n background: linear-gradient(90deg, #fafafa 15%, #fafafa00 100%);\n }\n}\n@media (prefers-color-scheme: dark) {\n .container {\n background-color: #1f1f1f;\n box-shadow: 0 0 0 1px #ffffff26;\n }\n .headline-label {\n color: #fff;\n }\n .chip {\n background-color: #2c2c2c;\n border-color: #3c4043;\n color: #fff;\n text-decoration: none;\n }\n .chip:hover {\n background-color: #353536;\n }\n .chip:focus {\n background-color: #353536;\n }\n .chip:active {\n background-color: #464849;\n border-color: #53575b;\n }\n .logo-light {\n display: none;\n }\n .gradient {\n background: linear-gradient(90deg, #1f1f1f 15%, #1f1f1f00 100%);\n }\n}\n\u003c/style\u003e\n\u003cdiv class=\"container\"\u003e\n \u003cdiv class=\"headline\"\u003e\n \u003csvg class=\"logo-light\" width=\"18\" height=\"18\" viewBox=\"9 9 35 35\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"\u003e\n \u003cpath fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M42.8622 27.0064C42.8622 25.7839 42.7525 24.6084 42.5487 23.4799H26.3109V30.1568H35.5897C35.1821 32.3041 33.9596 34.1222 32.1258 35.3448V39.6864H37.7213C40.9814 36.677 42.8622 32.2571 42.8622 27.0064V27.0064Z\" fill=\"#4285F4\"/\u003e\n \u003cpath fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M26.3109 43.8555C30.9659 43.8555 34.8687 42.3195 37.7213 39.6863L32.1258 35.3447C30.5898 36.3792 28.6306 37.0061 26.3109 37.0061C21.8282 37.0061 18.0195 33.9811 16.6559 29.906H10.9194V34.3573C13.7563 39.9841 19.5712 43.8555 26.3109 43.8555V43.8555Z\" fill=\"#34A853\"/\u003e\n \u003cpath fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M16.6559 29.8904C16.3111 28.8559 16.1074 27.7588 16.1074 26.6146C16.1074 25.4704 16.3111 24.3733 16.6559 23.3388V18.8875H10.9194C9.74388 21.2072 9.06992 23.8247 9.06992 26.6146C9.06992 29.4045 9.74388 32.022 10.9194 34.3417L15.3864 30.8621L16.6559 29.8904V29.8904Z\" fill=\"#FBBC05\"/\u003e\n \u003cpath fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M26.3109 16.2386C28.85 16.2386 31.107 17.1164 32.9095 18.8091L37.8466 13.8719C34.853 11.082 30.9659 9.3736 26.3109 9.3736C19.5712 9.3736 13.7563 13.245 10.9194 18.8875L16.6559 23.3388C18.0195 19.2636 21.8282 16.2386 26.3109 16.2386V16.2386Z\" fill=\"#EA4335\"/\u003e\n \u003c/svg\u003e\n \u003csvg class=\"logo-dark\" width=\"18\" height=\"18\" viewBox=\"0 0 48 48\" xmlns=\"http://www.w3.org/2000/svg\"\u003e\n \u003ccircle cx=\"24\" cy=\"23\" fill=\"#FFF\" r=\"22\"/\u003e\n \u003cpath d=\"M33.76 34.26c2.75-2.56 4.49-6.37 4.49-11.26 0-.89-.08-1.84-.29-3H24.01v5.99h8.03c-.4 2.02-1.5 3.56-3.07 4.56v.75l3.91 2.97h.88z\" fill=\"#4285F4\"/\u003e\n \u003cpath d=\"M15.58 25.77A8.845 8.845 0 0 0 24 31.86c1.92 0 3.62-.46 4.97-1.31l4.79 3.71C31.14 36.7 27.65 38 24 38c-5.93 0-11.01-3.4-13.45-8.36l.17-1.01 4.06-2.85h.8z\" fill=\"#34A853\"/\u003e\n \u003cpath d=\"M15.59 20.21a8.864 8.864 0 0 0 0 5.58l-5.03 3.86c-.98-2-1.53-4.25-1.53-6.64 0-2.39.55-4.64 1.53-6.64l1-.22 3.81 2.98.22 1.08z\" fill=\"#FBBC05\"/\u003e\n \u003cpath d=\"M24 14.14c2.11 0 4.02.75 5.52 1.98l4.36-4.36C31.22 9.43 27.81 8 24 8c-5.93 0-11.01 3.4-13.45 8.36l5.03 3.85A8.86 8.86 0 0 1 24 14.14z\" fill=\"#EA4335\"/\u003e\n \u003c/svg\u003e\n \u003cdiv class=\"gradient-container\"\u003e\u003cdiv class=\"gradient\"\u003e\u003c/div\u003e\u003c/div\u003e\n \u003c/div\u003e\n \u003cdiv class=\"carousel\"\u003e\n \u003ca class=\"chip\" href=\"https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQHEbxuMBZkYd6vMNiVFpyk-0eS07dCRhIzO-Gk8irtxRMxCEibZyakMzDMmA4EWiMR9GKihKfT7lnAQKMIJK9WECY6gjhTEkulyZChpQ94OyIMelveXA5hGLo5mXQertKaqQNFM-LKGBEmiveg9han8cKynxZ2IN3k0FYksvI5UXA7uDdykKPsxwiY4hbPg-VpWJJWCzKcoY8-PgjCtuoj-hA==\"\u003eggplot2 1.0.0 CRAN release date\u003c/a\u003e\n \u003c/div\u003e\n\u003c/div\u003e\n" + }, + "groundingChunks": [ + { + "web": { + "uri": "https://vertexaisearch.cloud.google.com/grounding-api-redirect/AUZIYQFDtLIOMdNsroh8w5awCpIGefapgZyLHKlpqVeueT6rc5RepGK57BlbQVb6fR0eAXdo56prxYv6oy50o5lP2KR1IYhVWy06-Vmv4jaegigzDs-px8wAcLmLFk8=", + "title": "rpkg.net" + } + } + ], + "groundingSupports": [ + { + "segment": { + "startIndex": 20, + "endIndex": 57, + "text": "0 was released to CRAN on 2014-05-21." + }, + "groundingChunkIndices": [ + 0 + ] + } + ], + "webSearchQueries": [ + "ggplot2 1.0.0 CRAN release date" + ] + } + } + ], + "usageMetadata": { + "promptTokenCount": 28, + "candidatesTokenCount": 50, + "totalTokenCount": 352, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 28 + } + ], + "toolUsePromptTokenCount": 97, + "toolUsePromptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 97 + } + ], + "thoughtsTokenCount": 177 + }, + "modelVersion": "gemini-2.5-flash", + "responseId": "YSUOac3SFpGIz7IPk-yeSQ" + } + recorded_at: 2025-11-07 16:59:13 +- request: + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent + body: + string: '{"contents":[{"role":"user","parts":[{"text":"When was ggplot2 1.0.0 + released to CRAN?\n\nAnswer in YYYY-MM-DD format."}]},{"role":"model","parts":[{"text":"ggplot2 + version 1.0.0 was released to CRAN on 2014-05-21."}]},{"role":"user","parts":[{"text":"What + month was that?"}]}],"tools":{"google_search":{}},"systemInstruction":{"parts":{"text":""}},"generationConfig":{"temperature":0,"seed":1014}}' + response: + status: 200 + headers: + alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + content-encoding: gzip + content-length: '311' + content-type: application/json; charset=UTF-8 + date: Fri, 07 Nov 2025 16:59:14 GMT + server: scaffolding on HTTPServer2 + server-timing: gfet4t7; dur=698 + vary: + - Origin + - X-Origin + - Referer + x-content-type-options: nosniff + x-frame-options: SAMEORIGIN + x-xss-protection: '0' + body: + string: | + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "That was May." + } + ], + "role": "model" + }, + "finishReason": "STOP", + "index": 0, + "groundingMetadata": {} + } + ], + "usageMetadata": { + "promptTokenCount": 62, + "candidatesTokenCount": 4, + "totalTokenCount": 115, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 62 + } + ], + "thoughtsTokenCount": 49 + }, + "modelVersion": "gemini-2.5-flash", + "responseId": "YiUOaa_GDNXQz7IPpMaW8Q0" + } + recorded_at: 2025-11-07 16:59:14 +- request: + method: POST + uri: https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent + body: + string: '{"contents":[{"role":"user","parts":[{"text":"When was ggplot2 1.0.0 + released to CRAN?\n\nAnswer in YYYY-MM-DD format."}]},{"role":"model","parts":[{"text":"ggplot2 + version 1.0.0 was released to CRAN on 2014-05-21."}]},{"role":"user","parts":[{"text":"What + month was that?"}]},{"role":"model","parts":[{"text":"That was May."}]},{"role":"user","parts":[{"text":"What + month was that?"}]}],"tools":{"google_search":{}},"systemInstruction":{"parts":{"text":""}},"generationConfig":{"temperature":0,"seed":1014}}' + response: + status: 200 + headers: + alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 + content-encoding: gzip + content-length: '313' + content-type: application/json; charset=UTF-8 + date: Fri, 07 Nov 2025 16:59:15 GMT + server: scaffolding on HTTPServer2 + server-timing: gfet4t7; dur=821 + vary: + - Origin + - X-Origin + - Referer + x-content-type-options: nosniff + x-frame-options: SAMEORIGIN + x-xss-protection: '0' + body: + string: | + { + "candidates": [ + { + "content": { + "parts": [ + { + "text": "That was May." + } + ], + "role": "model" + }, + "finishReason": "STOP", + "index": 0, + "groundingMetadata": {} + } + ], + "usageMetadata": { + "promptTokenCount": 73, + "candidatesTokenCount": 4, + "totalTokenCount": 106, + "promptTokensDetails": [ + { + "modality": "TEXT", + "tokenCount": 73 + } + ], + "thoughtsTokenCount": 29 + }, + "modelVersion": "gemini-2.5-flash", + "responseId": "YyUOaa7rCfWsz7IPyqKHuAw" + } + recorded_at: 2025-11-07 16:59:15 +recorded_with: VCR-vcr/2.0.0 diff --git a/tests/testthat/_vcr/openai-v2-web-search.yml b/tests/testthat/_vcr/openai-v2-web-search.yml new file mode 100644 index 00000000..23cc996f --- /dev/null +++ b/tests/testthat/_vcr/openai-v2-web-search.yml @@ -0,0 +1,388 @@ +http_interactions: +- request: + method: POST + uri: https://api.openai.com/v1/responses + body: + string: '{"input":[{"role":"system","content":[{"type":"input_text","text":"Be + terse."}]},{"role":"user","content":[{"type":"input_text","text":"When was + ggplot2 1.0.0 released to CRAN?\n\nAnswer in YYYY-MM-DD format.\n\nThe CRAN + archive page has this info."}]}],"model":"gpt-4.1","temperature":0,"stream":false,"tools":[{"type":"web_search","external_web_access":true}],"store":false,"service_tier":"auto"}' + response: + status: 200 + headers: + alt-svc: h3=":443"; ma=86400 + cf-cache-status: DYNAMIC + cf-ray: 99ae5dff3b0b6bce-DFW + content-encoding: gzip + content-type: application/json + date: Fri, 07 Nov 2025 16:57:06 GMT + openai-organization: posit-esfrkf + openai-processing-ms: '6594' + openai-project: proj_IeWhBnzvOO8wbVR5MdxnGXFq + openai-version: '2020-10-01' + server: cloudflare + set-cookie: + - __cf_bm=CNduO6Iw3VBRFpnlkJmmrpZn68suAMm_KxsYupMJcIY-1762534626-1.0.1.1-8tQhIWKcaKzOcOS2q39lPWQ1tY6Mc9Mh9PETwWfWuPwIiH5RcnwTWlWFMMb2gd3cfu0LA8YecxVKEbwXCWr0gOljOj6uFrK9D1drCK7IfvY; + path=/; expires=Fri, 07-Nov-25 17:27:06 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=PluTrp5gpRUU9NPjRYvUYfiSW2MAGKH4hwoE9s79tuE-1762534626683-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + strict-transport-security: max-age=31536000; includeSubDomains; preload + x-content-type-options: nosniff + x-envoy-upstream-service-time: '6599' + x-request-id: req_f8dc9c2c07af4397b0979da043bb275d + body: + string: |- + { + "id": "resp_0a01833cc558a3bc01690e24dc16d08195942d7d79a7dad164", + "object": "response", + "created_at": 1762534620, + "status": "completed", + "background": false, + "billing": { + "payer": "developer" + }, + "error": null, + "incomplete_details": null, + "instructions": null, + "max_output_tokens": null, + "max_tool_calls": null, + "model": "gpt-4.1-2025-04-14", + "output": [ + { + "id": "ws_0a01833cc558a3bc01690e24dcd9cc819589af57101f84dbcc", + "type": "web_search_call", + "status": "completed", + "action": { + "type": "search", + "query": "ggplot2 1.0.0 CRAN archive release date" + } + }, + { + "id": "msg_0a01833cc558a3bc01690e24e23d44819589c9016c3a34846e", + "type": "message", + "status": "completed", + "content": [ + { + "type": "output_text", + "annotations": [ + { + "type": "url_citation", + "end_index": 147, + "start_index": 57, + "title": "Index of /CRAN/src/contrib/Archive/ggplot2", + "url": "https://stat.ethz.ch/CRAN/src/contrib/Archive/ggplot2/?utm_source=openai" + } + ], + "logprobs": [], + "text": "ggplot2 version\u202f1.0.0 was released to CRAN on 2014\u201105\u201121 ([stat.ethz.ch](https://stat.ethz.ch/CRAN/src/contrib/Archive/ggplot2/?utm_source=openai)).\n\nAnswer: 2014\u201105\u201121" + } + ], + "role": "assistant" + } + ], + "parallel_tool_calls": true, + "previous_response_id": null, + "prompt_cache_key": null, + "prompt_cache_retention": null, + "reasoning": { + "effort": null, + "summary": null + }, + "safety_identifier": null, + "service_tier": "default", + "store": false, + "temperature": 0.0, + "text": { + "format": { + "type": "text" + }, + "verbosity": "medium" + }, + "tool_choice": "auto", + "tools": [ + { + "type": "web_search", + "filters": null, + "search_context_size": "medium", + "user_location": { + "type": "approximate", + "city": null, + "country": "US", + "region": null, + "timezone": null + } + } + ], + "top_logprobs": 0, + "top_p": 1.0, + "truncation": "disabled", + "usage": { + "input_tokens": 17038, + "input_tokens_details": { + "cached_tokens": 0 + }, + "output_tokens": 86, + "output_tokens_details": { + "reasoning_tokens": 0 + }, + "total_tokens": 17124 + }, + "user": null, + "metadata": {} + } + recorded_at: 2025-11-07 16:57:06 +- request: + method: POST + uri: https://api.openai.com/v1/responses + body: + string: '{"input":[{"role":"system","content":[{"type":"input_text","text":"Be + terse."}]},{"role":"user","content":[{"type":"input_text","text":"When was + ggplot2 1.0.0 released to CRAN?\n\nAnswer in YYYY-MM-DD format.\n\nThe CRAN + archive page has this info."}]},{"id":"ws_0a01833cc558a3bc01690e24dcd9cc819589af57101f84dbcc","type":"web_search_call","status":"completed","action":{"type":"search","query":"ggplot2 + 1.0.0 CRAN archive release date"}},{"role":"assistant","content":[{"type":"output_text","text":"ggplot2 + version 1.0.0 was released to CRAN on 2014‑05‑21 ([stat.ethz.ch](https://stat.ethz.ch/CRAN/src/contrib/Archive/ggplot2/?utm_source=openai)).\n\nAnswer: + 2014‑05‑21"}]},{"role":"user","content":[{"type":"input_text","text":"What + month was that?"}]}],"model":"gpt-4.1","temperature":0,"stream":false,"tools":[{"type":"web_search","external_web_access":true}],"store":false,"service_tier":"auto"}' + response: + status: 200 + headers: + alt-svc: h3=":443"; ma=86400 + cf-cache-status: DYNAMIC + cf-ray: 99ae5e29bb956bce-DFW + content-encoding: gzip + content-type: application/json + date: Fri, 07 Nov 2025 16:57:07 GMT + openai-organization: posit-esfrkf + openai-processing-ms: '758' + openai-project: proj_IeWhBnzvOO8wbVR5MdxnGXFq + openai-version: '2020-10-01' + server: cloudflare + set-cookie: + - __cf_bm=Zhxxv690XQpe5DsLfGWzW9SZDYTvdqErtQfEUV._uxg-1762534627-1.0.1.1-Ii9OUDs0hkEq1w_pkXS5i4L5K22JtucP9kEej.QJO3p3ISzs4Gn75GLGHWttLdvdVcszxHSDZuvjrhexZQYcDXOxOSS3EI9D21WL2uPtApA; + path=/; expires=Fri, 07-Nov-25 17:27:07 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=sRoAfBwWbMBg4gWoq4okrzfsKdnBPx.oOQkRm53WhOM-1762534627644-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + strict-transport-security: max-age=31536000; includeSubDomains; preload + x-content-type-options: nosniff + x-envoy-upstream-service-time: '763' + x-ratelimit-limit-requests: '10000' + x-ratelimit-limit-tokens: '30000000' + x-ratelimit-remaining-requests: '9999' + x-ratelimit-remaining-tokens: '29999565' + x-ratelimit-reset-requests: 6ms + x-ratelimit-reset-tokens: 0s + x-request-id: req_07255a3f956b478ca10701f7846cf740 + body: + string: |- + { + "id": "resp_0a01833cc558a3bc01690e24e2e2508195b1c2cfee7e4cff7e", + "object": "response", + "created_at": 1762534626, + "status": "completed", + "background": false, + "billing": { + "payer": "developer" + }, + "error": null, + "incomplete_details": null, + "instructions": null, + "max_output_tokens": null, + "max_tool_calls": null, + "model": "gpt-4.1-2025-04-14", + "output": [ + { + "id": "msg_0a01833cc558a3bc01690e24e38c0081958d92374c8497d272", + "type": "message", + "status": "completed", + "content": [ + { + "type": "output_text", + "annotations": [], + "logprobs": [], + "text": "May." + } + ], + "role": "assistant" + } + ], + "parallel_tool_calls": true, + "previous_response_id": null, + "prompt_cache_key": null, + "prompt_cache_retention": null, + "reasoning": { + "effort": null, + "summary": null + }, + "safety_identifier": null, + "service_tier": "default", + "store": false, + "temperature": 0.0, + "text": { + "format": { + "type": "text" + }, + "verbosity": "medium" + }, + "tool_choice": "auto", + "tools": [ + { + "type": "web_search", + "filters": null, + "search_context_size": "medium", + "user_location": { + "type": "approximate", + "city": null, + "country": "US", + "region": null, + "timezone": null + } + } + ], + "top_logprobs": 0, + "top_p": 1.0, + "truncation": "disabled", + "usage": { + "input_tokens": 416, + "input_tokens_details": { + "cached_tokens": 0 + }, + "output_tokens": 4, + "output_tokens_details": { + "reasoning_tokens": 0 + }, + "total_tokens": 420 + }, + "user": null, + "metadata": {} + } + recorded_at: 2025-11-07 16:57:07 +- request: + method: POST + uri: https://api.openai.com/v1/responses + body: + string: '{"input":[{"role":"system","content":[{"type":"input_text","text":"Be + terse."}]},{"role":"user","content":[{"type":"input_text","text":"When was + ggplot2 1.0.0 released to CRAN?\n\nAnswer in YYYY-MM-DD format.\n\nThe CRAN + archive page has this info."}]},{"id":"ws_0a01833cc558a3bc01690e24dcd9cc819589af57101f84dbcc","type":"web_search_call","status":"completed","action":{"type":"search","query":"ggplot2 + 1.0.0 CRAN archive release date"}},{"role":"assistant","content":[{"type":"output_text","text":"ggplot2 + version 1.0.0 was released to CRAN on 2014‑05‑21 ([stat.ethz.ch](https://stat.ethz.ch/CRAN/src/contrib/Archive/ggplot2/?utm_source=openai)).\n\nAnswer: + 2014‑05‑21"}]},{"role":"user","content":[{"type":"input_text","text":"What + month was that?"}]},{"role":"assistant","content":[{"type":"output_text","text":"May."}]},{"role":"user","content":[{"type":"input_text","text":"What + month was that?"}]}],"model":"gpt-4.1","temperature":0,"stream":false,"tools":[{"type":"web_search","external_web_access":true}],"store":false,"service_tier":"auto"}' + response: + status: 200 + headers: + alt-svc: h3=":443"; ma=86400 + cf-cache-status: DYNAMIC + cf-ray: 99ae5e2fab9c6bce-DFW + content-encoding: gzip + content-type: application/json + date: Fri, 07 Nov 2025 16:57:08 GMT + openai-organization: posit-esfrkf + openai-processing-ms: '670' + openai-project: proj_IeWhBnzvOO8wbVR5MdxnGXFq + openai-version: '2020-10-01' + server: cloudflare + set-cookie: + - __cf_bm=dXZ6bUxcMwzXcoo2u1SiC3mFV0_cwBgKmPvr_2h1vcI-1762534628-1.0.1.1-oY1M8DNxcyNCdeLdlIOSYNCJJ_NOH1xvhlmuo8cvrt3JvI3SXyxUTE8c3gnUqhjcZcHPkoBpdqutkJh73QFAL_lYXZvmzbQpKyj9MsrXWCE; + path=/; expires=Fri, 07-Nov-25 17:27:08 GMT; domain=.api.openai.com; HttpOnly; + Secure; SameSite=None + - _cfuvid=32UC1fRT8wPIZxw4pBdO1IOCZu8TtTKPz2UHWZODqFs-1762534628507-0.0.1.1-604800000; + path=/; domain=.api.openai.com; HttpOnly; Secure; SameSite=None + strict-transport-security: max-age=31536000; includeSubDomains; preload + x-content-type-options: nosniff + x-envoy-upstream-service-time: '677' + x-ratelimit-limit-requests: '10000' + x-ratelimit-limit-tokens: '30000000' + x-ratelimit-remaining-requests: '9999' + x-ratelimit-remaining-tokens: '29999549' + x-ratelimit-reset-requests: 6ms + x-ratelimit-reset-tokens: 0s + x-request-id: req_b2d4259d6be443b8a289a274e7133a68 + body: + string: |- + { + "id": "resp_0a01833cc558a3bc01690e24e3dee48195a6288c1fef751ca7", + "object": "response", + "created_at": 1762534627, + "status": "completed", + "background": false, + "billing": { + "payer": "developer" + }, + "error": null, + "incomplete_details": null, + "instructions": null, + "max_output_tokens": null, + "max_tool_calls": null, + "model": "gpt-4.1-2025-04-14", + "output": [ + { + "id": "msg_0a01833cc558a3bc01690e24e4720c8195a24aba2de909b0f3", + "type": "message", + "status": "completed", + "content": [ + { + "type": "output_text", + "annotations": [], + "logprobs": [], + "text": "May." + } + ], + "role": "assistant" + } + ], + "parallel_tool_calls": true, + "previous_response_id": null, + "prompt_cache_key": null, + "prompt_cache_retention": null, + "reasoning": { + "effort": null, + "summary": null + }, + "safety_identifier": null, + "service_tier": "default", + "store": false, + "temperature": 0.0, + "text": { + "format": { + "type": "text" + }, + "verbosity": "medium" + }, + "tool_choice": "auto", + "tools": [ + { + "type": "web_search", + "filters": null, + "search_context_size": "medium", + "user_location": { + "type": "approximate", + "city": null, + "country": "US", + "region": null, + "timezone": null + } + } + ], + "top_logprobs": 0, + "top_p": 1.0, + "truncation": "disabled", + "usage": { + "input_tokens": 431, + "input_tokens_details": { + "cached_tokens": 0 + }, + "output_tokens": 4, + "output_tokens_details": { + "reasoning_tokens": 0 + }, + "total_tokens": 435 + }, + "user": null, + "metadata": {} + } + recorded_at: 2025-11-07 16:57:08 +recorded_with: VCR-vcr/2.0.0 diff --git a/tests/testthat/helper-provider.R b/tests/testthat/helper-provider.R index e3470bf3..344f1c72 100644 --- a/tests/testthat/helper-provider.R +++ b/tests/testthat/helper-provider.R @@ -95,6 +95,35 @@ test_data_extraction <- function(chat_fun) { ) } +# Built-in tools --------------------------------------------------------- + +test_tool_web_fetch <- function(chat_fun, tool) { + chat <- chat_fun() + chat$register_tool(tool) + + url <- "https://rvest.tidyverse.org/articles/starwars.html" + expect_match( + chat$chat(paste0("What's the first movie listed on ", url, "?")), + "The Phantom Menace" + ) + expect_match(chat$chat("Who directed it?"), "George Lucas") +} + +test_tool_web_search <- function(chat_fun, tool, hint = NULL) { + chat <- chat_fun() + chat$register_tool(tool) + + result <- chat$chat(c( + "When was ggplot2 1.0.0 released to CRAN?", + "Answer in YYYY-MM-DD format.", + hint + )) + # for openAI + result <- gsub("\u2011", "-", result, fixed = TRUE) + expect_match(result, "2014-05-21") + expect_match(chat$chat("What month was that?"), "May") +} + # Images ----------------------------------------------------------------- test_images_inline <- function(chat_fun, test_shape = TRUE) { diff --git a/tests/testthat/test-provider-claude.R b/tests/testthat/test-provider-claude.R index ea0494e0..24c26b7c 100644 --- a/tests/testthat/test-provider-claude.R +++ b/tests/testthat/test-provider-claude.R @@ -40,6 +40,20 @@ test_that("supports tool calling", { test_tools_simple(chat_fun) }) +test_that("can fetch web pages", { + vcr::local_cassette("anthropic-web-fetch") + chat_fun <- \(...) { + chat_anthropic_test(..., beta_headers = "web-fetch-2025-09-10") + } + test_tool_web_fetch(chat_fun, claude_tool_web_fetch()) +}) + +test_that("can search web pages", { + vcr::local_cassette("anthropic-web-search") + chat_fun <- \(...) chat_anthropic_test(...) + test_tool_web_search(chat_fun, claude_tool_web_search()) +}) + test_that("tools can return images", { vcr::local_cassette("anthropic-tool-image") chat_fun <- chat_anthropic_test diff --git a/tests/testthat/test-provider-google.R b/tests/testthat/test-provider-google.R index 92d26f15..7766151a 100644 --- a/tests/testthat/test-provider-google.R +++ b/tests/testthat/test-provider-google.R @@ -47,6 +47,18 @@ test_that("can extract data", { test_data_extraction(chat_fun) }) +test_that("can fetch web pages", { + vcr::local_cassette("google-web-fetch") + chat_fun <- chat_google_gemini_test + test_tool_web_fetch(chat_fun, google_tool_web_fetch()) +}) + +test_that("can search web pages", { + vcr::local_cassette("google-web-search") + chat_fun <- chat_google_gemini_test + test_tool_web_search(chat_fun, google_tool_web_search()) +}) + test_that("can use images", { vcr::local_cassette("google-image") chat_fun <- chat_google_gemini_test diff --git a/tests/testthat/test-provider-openai.R b/tests/testthat/test-provider-openai.R index c3a22f86..2668428c 100644 --- a/tests/testthat/test-provider-openai.R +++ b/tests/testthat/test-provider-openai.R @@ -52,6 +52,16 @@ test_that("can extract data", { test_data_extraction(chat_fun) }) +test_that("can search web pages", { + vcr::local_cassette("openai-v2-web-search") + chat_fun <- \(...) chat_openai_test(model = "gpt-4.1", ...) + test_tool_web_search( + chat_fun, + openai_tool_web_search(), + hint = "The CRAN archive page has this info." + ) +}) + test_that("can use images", { vcr::local_cassette("openai-v2-image") # Needs mini to get shape correct