diff --git a/R/content.R b/R/content.R index 4db2adab1..81610f71e 100644 --- a/R/content.R +++ b/R/content.R @@ -322,7 +322,7 @@ tool_string <- function(x) { paste(x@value, collapse = "\n") } else { withCallingHandlers( - jsonlite::toJSON(x@value, auto_unbox = TRUE), + to_json(x@value), error = function(err) { cli::cli_abort( c( diff --git a/R/provider-databricks.R b/R/provider-databricks.R index 7112ebf29..058c05351 100644 --- a/R/provider-databricks.R +++ b/R/provider-databricks.R @@ -179,7 +179,7 @@ method(as_json, list(ProviderDatabricks, ContentToolRequest)) <- function( ) { # Databricks seems to require encoding empty arguments as an empty # dictionary, rather than an empty array. - json_args <- jsonlite::toJSON(set_names(x@arguments)) + json_args <- to_json(set_names(x@arguments)) list( id = x@id, `function` = list(name = x@name, arguments = json_args), diff --git a/R/provider-openai-compatible.R b/R/provider-openai-compatible.R index 32b6548c1..d0c926281 100644 --- a/R/provider-openai-compatible.R +++ b/R/provider-openai-compatible.R @@ -405,7 +405,7 @@ method(as_json, list(ProviderOpenAICompatible, ContentToolRequest)) <- function( x, ... ) { - json_args <- jsonlite::toJSON(x@arguments) + json_args <- to_json(x@arguments) list( id = x@id, `function` = list(name = x@name, arguments = json_args), diff --git a/R/provider-openai.R b/R/provider-openai.R index 3069ce64a..dc9afec13 100644 --- a/R/provider-openai.R +++ b/R/provider-openai.R @@ -421,7 +421,7 @@ method(as_json, list(ProviderOpenAI, ContentToolRequest)) <- function( type = "function_call", call_id = x@id, name = x@name, - arguments = jsonlite::toJSON(x@arguments) + arguments = to_json(x@arguments) ) } @@ -482,7 +482,7 @@ method(batch_submit, ProviderOpenAI) <- function( body = body ) }) - json <- map_chr(requests, jsonlite::toJSON, auto_unbox = TRUE) + json <- map_chr(requests, to_json) writeLines(json, path) # Then upload it uploaded <- openai_upload(provider, path) diff --git a/R/utils.R b/R/utils.R index 0828ac64d..acebaad6c 100644 --- a/R/utils.R +++ b/R/utils.R @@ -328,3 +328,7 @@ extract_custom_id <- function(json_string) { result[2] # Second element is the captured group } + +to_json <- function(x) { + jsonlite::toJSON(x, auto_unbox = TRUE) +} diff --git a/inst/_vcr/tool.yml b/inst/_vcr/tool.yml index 25159d056..554688a23 100644 --- a/inst/_vcr/tool.yml +++ b/inst/_vcr/tool.yml @@ -14,37 +14,37 @@ http_interactions: headers: alt-svc: h3=":443"; ma=86400 cf-cache-status: DYNAMIC - cf-ray: 999ef5fb6e7d671d-DFW + cf-ray: 9a73c450a89d8fc2-ORD content-encoding: gzip content-type: application/json - date: Wed, 05 Nov 2025 20:04:34 GMT + date: Mon, 01 Dec 2025 15:55:07 GMT openai-organization: posit-esfrkf - openai-processing-ms: '921' - openai-project: proj_IeWhBnzvOO8wbVR5MdxnGXFq + openai-processing-ms: '2044' + openai-project: proj_KTxPJ5EAugIeuZGL0lAI1H9t openai-version: '2020-10-01' server: cloudflare set-cookie: - - __cf_bm=P.v1t7Ko4_8vvFEZNDhqP_J74jBLf_8e2NKVpFCAopI-1762373074-1.0.1.1-P79woWLY_naLmFWyOSmqMESPrsL494PPrYxgwvnG5SrOddrBRVkch.MPXhBEjtxbiXkv7x.YYnvpmxwDHRS9Fi2LgE_ekDlOC8J1pAY1LD4; - path=/; expires=Wed, 05-Nov-25 20:34:34 GMT; domain=.api.openai.com; HttpOnly; + - __cf_bm=wEAOsMa52A6Gq_JT0GezDgkG2M99Kqx.nwzrYG1qur0-1764604507-1.0.1.1-zBx4L72L3C4xs6yz5lp9rdTsvcpMrCM_agdJlUSXbkWZceviXViyhcxosgaVAmIiijx9nElYaD85I9Bs5KgQ1mCgaMNS6C5PzdyfWa4_yWg; + path=/; expires=Mon, 01-Dec-25 16:25:07 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None - - _cfuvid=0snsXNixDIjpaTzW3xbXzf8ZFwO9cX5rIcr5eB8lpX0-1762373074169-0.0.1.1-604800000; + - _cfuvid=xc9cjuv7tp5O1gkfJhihJ5dveuhyoT4lPwiBNVtmX2E-1764604507812-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: '928' + x-envoy-upstream-service-time: '2046' x-ratelimit-limit-requests: '10000' x-ratelimit-limit-tokens: '30000000' x-ratelimit-remaining-requests: '9999' x-ratelimit-remaining-tokens: '29999693' x-ratelimit-reset-requests: 6ms x-ratelimit-reset-tokens: 0s - x-request-id: req_38b9fa8cd82a4d338b4135653a02288e + x-request-id: req_f2d70c67dd7e4b76a645352b5a549ab7 body: string: |- { - "id": "resp_007e9641944241bb01690badd141c88193a0cc9e80040e9ac1", + "id": "resp_0b0635de4f44748f01692dba59c0448193820cbea8de450891", "object": "response", - "created_at": 1762373073, + "created_at": 1764604505, "status": "completed", "background": false, "billing": { @@ -58,11 +58,11 @@ http_interactions: "model": "gpt-4.1-2025-04-14", "output": [ { - "id": "fc_007e9641944241bb01690badd1f2e88193bddb1a058623c280", + "id": "fc_0b0635de4f44748f01692dba5a16388193a8de793c57908c2f", "type": "function_call", "status": "completed", "arguments": "{\"n\":5,\"mean\":0,\"sd\":1}", - "call_id": "call_qw9BnFYi8X7tv5U6qK92oyrl", + "call_id": "call_0EkQTuCjMgioZoG2sZ3eC6zk", "name": "rnorm" } ], @@ -134,13 +134,13 @@ http_interactions: "user": null, "metadata": {} } - recorded_at: 2025-11-05 20:04:34 + recorded_at: 2025-12-01 15:55:07 - request: method: POST uri: https://api.openai.com/v1/responses body: string: '{"input":[{"role":"user","content":[{"type":"input_text","text":"Give - me five numbers from a random normal distribution."}]},{"type":"function_call","call_id":"fc_007e9641944241bb01690badd1f2e88193bddb1a058623c280","name":"rnorm","arguments":"{\"n\":[5],\"mean\":[0],\"sd\":[1]}"},{"type":"function_call_output","call_id":"fc_007e9641944241bb01690badd1f2e88193bddb1a058623c280","output":"[1.1484,-1.8218,-0.2473,-0.2442,-0.2827]"}],"model":"gpt-4.1","stream":false,"tools":[{"type":"function","name":"rnorm","description":"Draw + me five numbers from a random normal distribution."}]},{"type":"function_call","call_id":"fc_0b0635de4f44748f01692dba5a16388193a8de793c57908c2f","name":"rnorm","arguments":"{\"n\":5,\"mean\":0,\"sd\":1}"},{"type":"function_call_output","call_id":"fc_0b0635de4f44748f01692dba5a16388193a8de793c57908c2f","output":"[1.1484,-1.8218,-0.2473,-0.2442,-0.2827]"}],"model":"gpt-4.1","stream":false,"tools":[{"type":"function","name":"rnorm","description":"Draw numbers from a random normal distribution","strict":true,"parameters":{"type":"object","description":"","properties":{"n":{"type":"integer","description":"The number of observations. Must be a positive integer."},"mean":{"type":"number","description":"The mean value of the distribution."},"sd":{"type":"number","description":"The @@ -150,37 +150,37 @@ http_interactions: headers: alt-svc: h3=":443"; ma=86400 cf-cache-status: DYNAMIC - cf-ray: 999ef6028a84671d-DFW + cf-ray: 9a73c45eabd28fc2-ORD content-encoding: gzip content-type: application/json - date: Wed, 05 Nov 2025 20:04:35 GMT + date: Mon, 01 Dec 2025 15:55:10 GMT openai-organization: posit-esfrkf - openai-processing-ms: '1149' - openai-project: proj_IeWhBnzvOO8wbVR5MdxnGXFq + openai-processing-ms: '2044' + openai-project: proj_KTxPJ5EAugIeuZGL0lAI1H9t openai-version: '2020-10-01' server: cloudflare set-cookie: - - __cf_bm=ASDKKYvodmGw39EKaLtMxULF98_ZFEVs.Tsd1Ov5SGg-1762373075-1.0.1.1-UgBKnLmYcY1zdf0GKJdWebsstTyCiK3_Omev7nm32dequlfJoLD9NpUycZfoWF6_ej3atfP7u6_K7.ToKiaxUKVd3ROrf9T1I_qUIqebCC0; - path=/; expires=Wed, 05-Nov-25 20:34:35 GMT; domain=.api.openai.com; HttpOnly; + - __cf_bm=H4fK98SpzyEGrV33diYXQBTzLZeTz_KdZ_brO4HG1tA-1764604510-1.0.1.1-m7TFSqpn48C4SB0NN4bCT2jiE3pXMdYDQMzN7OH03n5nIpHyedLUTMQtCp9aaqB98Hv0UPkEFB0tw4Ps4aYBwAS9qZSDXECi7FQLWTbwSFU; + path=/; expires=Mon, 01-Dec-25 16:25:10 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None - - _cfuvid=3twEqbpmemGPD0IH97NQvCmip2J3EjNSK76bQEA2BnI-1762373075561-0.0.1.1-604800000; + - _cfuvid=NblRU7ZqqCWt4MClIuOqskzSr4MffwJpOF4DqkaPTnU-1764604510058-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: '1156' + x-envoy-upstream-service-time: '2047' x-ratelimit-limit-requests: '10000' x-ratelimit-limit-tokens: '30000000' x-ratelimit-remaining-requests: '9999' x-ratelimit-remaining-tokens: '29999639' x-ratelimit-reset-requests: 6ms x-ratelimit-reset-tokens: 0s - x-request-id: req_306fa64485f5465a89125e21716a86b6 + x-request-id: req_130bf5bc7ffa43b1a5a49dc3f6f221d9 body: string: |- { - "id": "resp_0bccace1cf437cba01690badd26ea48194806ff9f078dc3d75", + "id": "resp_0999af4e3caeb87a01692dba5bfef48195b7354737c83182bc", "object": "response", - "created_at": 1762373074, + "created_at": 1764604508, "status": "completed", "background": false, "billing": { @@ -194,7 +194,7 @@ http_interactions: "model": "gpt-4.1-2025-04-14", "output": [ { - "id": "msg_0bccace1cf437cba01690badd2fbbc8194ab380a88f56d2d97", + "id": "msg_0999af4e3caeb87a01692dba5c3e648195a3a44e6549e771f4", "type": "message", "status": "completed", "content": [ @@ -202,7 +202,7 @@ http_interactions: "type": "output_text", "annotations": [], "logprobs": [], - "text": "Here are five numbers from a random normal distribution (mean = 0, standard deviation = 1):\n\n1. 1.1484\n2. -1.8218\n3. -0.2473\n4. -0.2442\n5. -0.2827" + "text": "Here are five numbers drawn from a random normal distribution (mean = 0, standard deviation = 1):\n\n1. 1.1484\n2. -1.8218\n3. -0.2473\n4. -0.2442\n5. -0.2827" } ], "role": "assistant" @@ -267,14 +267,14 @@ http_interactions: "input_tokens_details": { "cached_tokens": 0 }, - "output_tokens": 62, + "output_tokens": 63, "output_tokens_details": { "reasoning_tokens": 0 }, - "total_tokens": 206 + "total_tokens": 207 }, "user": null, "metadata": {} } - recorded_at: 2025-11-05 20:04:35 + recorded_at: 2025-12-01 15:55:10 recorded_with: VCR-vcr/2.0.0 diff --git a/tests/testthat/_snaps/provider-openrouter.md b/tests/testthat/_snaps/provider-openrouter.md index a92701d07..c3a61db07 100644 --- a/tests/testthat/_snaps/provider-openrouter.md +++ b/tests/testthat/_snaps/provider-openrouter.md @@ -5,11 +5,11 @@ Condition Error in `req_perform()`: ! HTTP 400 Bad Request. - * Expected temperature to be a number, received "hot" + i Invalid input: expected number, received string Code chat$chat("What is 1 + 1?", echo = TRUE) Condition Error in `req_perform_connection()`: ! HTTP 400 Bad Request. - * Expected temperature to be a number, received "hot" + i Invalid input: expected number, received string diff --git a/tests/testthat/_vcr/chat-tools-callbacks.yml b/tests/testthat/_vcr/chat-tools-callbacks.yml index 8b3cf5d0a..5d6151ba9 100644 --- a/tests/testthat/_vcr/chat-tools-callbacks.yml +++ b/tests/testthat/_vcr/chat-tools-callbacks.yml @@ -13,37 +13,37 @@ http_interactions: headers: alt-svc: h3=":443"; ma=86400 cf-cache-status: DYNAMIC - cf-ray: 999d6dbddb37f061-DFW + cf-ray: 9a73cac66ae3eae6-ORD content-encoding: gzip content-type: application/json - date: Wed, 05 Nov 2025 15:36:48 GMT + date: Mon, 01 Dec 2025 15:59:32 GMT openai-organization: posit-esfrkf - openai-processing-ms: '1169' - openai-project: proj_IeWhBnzvOO8wbVR5MdxnGXFq + openai-processing-ms: '2042' + openai-project: proj_KTxPJ5EAugIeuZGL0lAI1H9t openai-version: '2020-10-01' server: cloudflare set-cookie: - - __cf_bm=n4P9Qn3P0kFpmm5kXPzyVsYyJfuKf0SuA5IuuNGadmM-1762357008-1.0.1.1-0OoHo_wxlP3fAgWQkB3a.40Pn1frvY41f7ltQuUeJSTUZRCU7YN_4YopWVoxDEnntwKnwgdheSZeOFTZrXXz.gd4HOhZ6VSTKPdXReF54iY; - path=/; expires=Wed, 05-Nov-25 16:06:48 GMT; domain=.api.openai.com; HttpOnly; + - __cf_bm=iQh6EI1T4YUQKiCklmCn_fz.oHoTvSkhCW4jnwaxLJw-1764604772-1.0.1.1-WNFsvIIOqQpfcYVPkwLyT3Brw.ASEgQAjVmtdNi2wirm7amLn0TtiG_1_C20dAR.GsmLyTcvLt2V2Kfyw9U0TbEJtkJZp7zdwBc1c3VaYPA; + path=/; expires=Mon, 01-Dec-25 16:29:32 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None - - _cfuvid=1SmlKkUZr_n2w.jKPnTDG1PW73nPi7IohDhCznDaWPI-1762357008223-0.0.1.1-604800000; + - _cfuvid=0gVErL6pl2iL.qZ4n.AFfrDgfy8_hiDxMn5BUvCYzhg-1764604772425-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: '1176' + x-envoy-upstream-service-time: '2045' x-ratelimit-limit-requests: '30000' x-ratelimit-limit-tokens: '150000000' x-ratelimit-remaining-requests: '29999' - x-ratelimit-remaining-tokens: '149999722' + x-ratelimit-remaining-tokens: '149999720' x-ratelimit-reset-requests: 2ms x-ratelimit-reset-tokens: 0s - x-request-id: req_b552886ac7014d35a34260f73849b177 + x-request-id: req_243dfebc2e2b4142ba200089f5372bd7 body: string: |- { - "id": "resp_044052860738403e01690b6f0f10108195a622cf3e0ea1066d", + "id": "resp_0703243866cdee5401692dbb625d04819595a51f24555ca3fd", "object": "response", - "created_at": 1762357007, + "created_at": 1764604770, "status": "completed", "background": false, "billing": { @@ -57,19 +57,19 @@ http_interactions: "model": "gpt-4.1-nano-2025-04-14", "output": [ { - "id": "fc_044052860738403e01690b6f0fe4f88195bff3af8a01aa6f6b", + "id": "fc_0703243866cdee5401692dbb631ebc819595ddb9c5a2d4ef11", "type": "function_call", "status": "completed", "arguments": "{\"user\":\"Joe\"}", - "call_id": "call_cZL5cEcq6VSzmf5S8E3SGcYO", + "call_id": "call_7m5aUDFm3a88ZpN3YiW1TkI2", "name": "user_favorite_color" }, { - "id": "fc_044052860738403e01690b6f10055c8195be1b7f8d1fb16196", + "id": "fc_0703243866cdee5401692dbb6360088195843f1ace1a09a482", "type": "function_call", "status": "completed", "arguments": "{\"user\":\"Hadley\"}", - "call_id": "call_LfnjYKJT74CigyAyRdbVas1N", + "call_id": "call_AFdgUXOFnYDCiVf1b2zRZiI3", "name": "user_favorite_color" } ], @@ -131,14 +131,14 @@ http_interactions: "user": null, "metadata": {} } - recorded_at: 2025-11-05 15:36:48 + recorded_at: 2025-12-01 15:59:32 - 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":"What are - Joe and Hadley''s favorite colors?"}]},{"type":"function_call","call_id":"fc_044052860738403e01690b6f0fe4f88195bff3af8a01aa6f6b","name":"user_favorite_color","arguments":"{\"user\":[\"Joe\"]}"},{"type":"function_call","call_id":"fc_044052860738403e01690b6f10055c8195be1b7f8d1fb16196","name":"user_favorite_color","arguments":"{\"user\":[\"Hadley\"]}"},{"type":"function_call_output","call_id":"fc_044052860738403e01690b6f0fe4f88195bff3af8a01aa6f6b","output":"blue"},{"type":"function_call_output","call_id":"fc_044052860738403e01690b6f10055c8195be1b7f8d1fb16196","output":"red"}],"model":"gpt-4.1-nano","temperature":0,"stream":false,"tools":[{"type":"function","name":"user_favorite_color","description":"Find + Joe and Hadley''s favorite colors?"}]},{"type":"function_call","call_id":"fc_0703243866cdee5401692dbb631ebc819595ddb9c5a2d4ef11","name":"user_favorite_color","arguments":"{\"user\":\"Joe\"}"},{"type":"function_call","call_id":"fc_0703243866cdee5401692dbb6360088195843f1ace1a09a482","name":"user_favorite_color","arguments":"{\"user\":\"Hadley\"}"},{"type":"function_call_output","call_id":"fc_0703243866cdee5401692dbb631ebc819595ddb9c5a2d4ef11","output":"blue"},{"type":"function_call_output","call_id":"fc_0703243866cdee5401692dbb6360088195843f1ace1a09a482","output":"red"}],"model":"gpt-4.1-nano","temperature":0,"stream":false,"tools":[{"type":"function","name":"user_favorite_color","description":"Find out a user''s favorite color","strict":true,"parameters":{"type":"object","description":"","properties":{"user":{"type":"string","description":"User''s name"}},"required":["user"],"additionalProperties":false}}],"store":false,"service_tier":"auto"}' response: @@ -146,37 +146,37 @@ http_interactions: headers: alt-svc: h3=":443"; ma=86400 cf-cache-status: DYNAMIC - cf-ray: 999d6dc6edddf061-DFW + cf-ray: 9a73cad4da49eae6-ORD content-encoding: gzip content-type: application/json - date: Wed, 05 Nov 2025 15:36:50 GMT + date: Mon, 01 Dec 2025 15:59:34 GMT openai-organization: posit-esfrkf - openai-processing-ms: '1608' - openai-project: proj_IeWhBnzvOO8wbVR5MdxnGXFq + openai-processing-ms: '2046' + openai-project: proj_KTxPJ5EAugIeuZGL0lAI1H9t openai-version: '2020-10-01' server: cloudflare set-cookie: - - __cf_bm=JEqUhiWvNpWGNCFYxrctCf2Kd5VpwVinW5zu5zp95HY-1762357010-1.0.1.1-XuJfXOJcyBQv46Da9PDL6FY4RUD2IFp0sdr3G2deHqXGtZNS6vV6_8TIPlrbQRp2qRc4_rVBA_OgHzJaYAmEK_W91z652J5GvxzwKTLHn_8; - path=/; expires=Wed, 05-Nov-25 16:06:50 GMT; domain=.api.openai.com; HttpOnly; + - __cf_bm=LnCy9D.xPBoP1wjXwBqEu0ehSCXCfRJ6NoIq6P3.prg-1764604774-1.0.1.1-Lh_oJUdxarWZfRhhBY.jndkLIOEkSzaaMJ3TALKkQkUOcB2GjuxolyW7z4ED4vcxL3.K4Gv4.eCAJ1eGRMoMKeUU2LoRrioxL3E1lfpWMdc; + path=/; expires=Mon, 01-Dec-25 16:29:34 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None - - _cfuvid=6m3_tIPHT7RhZv.yCZAvSteDOkpdeZJG6SsZGV1Pu.E-1762357010163-0.0.1.1-604800000; + - _cfuvid=fDxUCaOUB...vl6k8kHxZLyI_FeXkTTy9N_.DaZG7xk-1764604774721-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: '1655' + x-envoy-upstream-service-time: '2049' x-ratelimit-limit-requests: '30000' x-ratelimit-limit-tokens: '150000000' x-ratelimit-remaining-requests: '29999' x-ratelimit-remaining-tokens: '149999670' x-ratelimit-reset-requests: 2ms x-ratelimit-reset-tokens: 0s - x-request-id: req_e87b167c40334b68a602c5bb3bc800f4 + x-request-id: req_f09aef64ad9c408cb0f3e359dfb83c72 body: string: |- { - "id": "resp_02f9d6f2b1b2f81401690b6f10cc408194804442ad3412771d", + "id": "resp_093e2a2ddc9122e401692dbb64a898819787b263ca0798de77", "object": "response", - "created_at": 1762357008, + "created_at": 1764604772, "status": "completed", "background": false, "billing": { @@ -190,7 +190,7 @@ http_interactions: "model": "gpt-4.1-nano-2025-04-14", "output": [ { - "id": "msg_02f9d6f2b1b2f81401690b6f11dee881948e316c48bde21cfa", + "id": "msg_093e2a2ddc9122e401692dbb6511e881978decdbb7fcb89940", "type": "message", "status": "completed", "content": [ @@ -249,7 +249,7 @@ http_interactions: "top_p": 1.0, "truncation": "disabled", "usage": { - "input_tokens": 114, + "input_tokens": 112, "input_tokens_details": { "cached_tokens": 0 }, @@ -257,10 +257,10 @@ http_interactions: "output_tokens_details": { "reasoning_tokens": 0 }, - "total_tokens": 131 + "total_tokens": 129 }, "user": null, "metadata": {} } - recorded_at: 2025-11-05 15:36:50 + recorded_at: 2025-12-01 15:59:34 recorded_with: VCR-vcr/2.0.0 diff --git a/tests/testthat/_vcr/chat-tools-failure.yml b/tests/testthat/_vcr/chat-tools-failure.yml index 14107bbc3..93e9c244c 100644 --- a/tests/testthat/_vcr/chat-tools-failure.yml +++ b/tests/testthat/_vcr/chat-tools-failure.yml @@ -13,37 +13,37 @@ http_interactions: headers: alt-svc: h3=":443"; ma=86400 cf-cache-status: DYNAMIC - cf-ray: 999d6d6439f1f061-DFW + cf-ray: 9a73c879bf4aa2a1-ORD content-encoding: gzip content-type: application/json - date: Wed, 05 Nov 2025 15:36:34 GMT + date: Mon, 01 Dec 2025 15:57:58 GMT openai-organization: posit-esfrkf - openai-processing-ms: '1608' - openai-project: proj_IeWhBnzvOO8wbVR5MdxnGXFq + openai-processing-ms: '2042' + openai-project: proj_KTxPJ5EAugIeuZGL0lAI1H9t openai-version: '2020-10-01' server: cloudflare set-cookie: - - __cf_bm=z_Kijnc4aXq6iTKpjt9FOMoq3paECF7Tuv9jCSrHCaE-1762356994-1.0.1.1-Y9W7U1dHo9x6SEfMx1QxBlN3faIpP_v_.H2P_Ujh.sGHvxi4zho6TwgAuhDDQMJHNV0VeSu7hx9LdAovrMN0Yozgjqrpg.6_rMfQS_Z6oa0; - path=/; expires=Wed, 05-Nov-25 16:06:34 GMT; domain=.api.openai.com; HttpOnly; + - __cf_bm=RkaGgkfpR8lUl.2ox5swb7TbH1Pvc.M6RPMAj7Zyenk-1764604678-1.0.1.1-Bxt.f4jd.cZnBrO2H9aTT8H6P8fEwKDB5KCuGfsAk2KvJojeea8dQSeHs3eK3RnQnl3rvLgbvkXJ.U6R7nz4_bZZvobJUmlHas1oDiLIf8g; + path=/; expires=Mon, 01-Dec-25 16:27:58 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None - - _cfuvid=ZEdIMw53w7rke8DNmURYjhiJJD5srM4neNV1d3a5N3A-1762356994329-0.0.1.1-604800000; + - _cfuvid=aGx4SpVT7EDjN9bj2qxlPAlqEBKWaP7oN7e_1nfQudo-1764604678295-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: '1614' + x-envoy-upstream-service-time: '2046' x-ratelimit-limit-requests: '30000' x-ratelimit-limit-tokens: '150000000' x-ratelimit-remaining-requests: '29999' x-ratelimit-remaining-tokens: '149999717' x-ratelimit-reset-requests: 2ms x-ratelimit-reset-tokens: 0s - x-request-id: req_1c1820410f8f4f989bfd5a8efbdd6447 + x-request-id: req_6dc8ae2b496049df9aeb8039552504f2 body: string: |- { - "id": "resp_08df33831712c27f01690b6f00b8c0819097f93e066aaa3759", + "id": "resp_06cea93f68dbdba501692dbb042a40819488f031cc2570a597", "object": "response", - "created_at": 1762356992, + "created_at": 1764604676, "status": "completed", "background": false, "billing": { @@ -57,35 +57,35 @@ http_interactions: "model": "gpt-4.1-nano-2025-04-14", "output": [ { - "id": "fc_08df33831712c27f01690b6f0186b881909c59a1fda1f5fa70", + "id": "fc_06cea93f68dbdba501692dbb04c5208194b49f16fcc23693a8", "type": "function_call", "status": "completed", "arguments": "{\"user\":\"Joe\"}", - "call_id": "call_XDxyGgpT5XUfxlMiM6UimSbK", + "call_id": "call_NPg54AVodz1F4kdDrrFISzyx", "name": "user_favorite_color" }, { - "id": "fc_08df33831712c27f01690b6f01a81c819097cf33b47decef45", + "id": "fc_06cea93f68dbdba501692dbb04eeac81949dbc3ebcb7e10ce7", "type": "function_call", "status": "completed", "arguments": "{\"user\":\"Hadley\"}", - "call_id": "call_gRFsNnXJ5OWG8yfWakHxbuu4", + "call_id": "call_LJjB84PyEvQXalsjTmSJRjbc", "name": "user_favorite_color" }, { - "id": "fc_08df33831712c27f01690b6f01f2f481908d4ab663937410c8", + "id": "fc_06cea93f68dbdba501692dbb051b108194b3509f17eae978ff", "type": "function_call", "status": "completed", "arguments": "{\"user\":\"Simon\"}", - "call_id": "call_EqWqNWI4bnnN5tOuHOKwntaH", + "call_id": "call_nMidtrzYDUr0pEo1M0XfB3QF", "name": "user_favorite_color" }, { - "id": "fc_08df33831712c27f01690b6f0231248190b5657c305497e427", + "id": "fc_06cea93f68dbdba501692dbb053f988194bfe5d61a7de01bf9", "type": "function_call", "status": "completed", "arguments": "{\"user\":\"Tom\"}", - "call_id": "call_cnaTwsPEDn2fqyuaD0NGcGsB", + "call_id": "call_abz7m38rDA08lDo88yL9Gt5W", "name": "user_favorite_color" } ], @@ -147,17 +147,17 @@ http_interactions: "user": null, "metadata": {} } - recorded_at: 2025-11-05 15:36:34 + recorded_at: 2025-12-01 15:57:58 - 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":"What are - Joe, Hadley, Simon, and Tom''s favorite colors?"}]},{"type":"function_call","call_id":"fc_08df33831712c27f01690b6f0186b881909c59a1fda1f5fa70","name":"user_favorite_color","arguments":"{\"user\":[\"Joe\"]}"},{"type":"function_call","call_id":"fc_08df33831712c27f01690b6f01a81c819097cf33b47decef45","name":"user_favorite_color","arguments":"{\"user\":[\"Hadley\"]}"},{"type":"function_call","call_id":"fc_08df33831712c27f01690b6f01f2f481908d4ab663937410c8","name":"user_favorite_color","arguments":"{\"user\":[\"Simon\"]}"},{"type":"function_call","call_id":"fc_08df33831712c27f01690b6f0231248190b5657c305497e427","name":"user_favorite_color","arguments":"{\"user\":[\"Tom\"]}"},{"type":"function_call_output","call_id":"fc_08df33831712c27f01690b6f0186b881909c59a1fda1f5fa70","output":"Tool - calling failed with error User denied tool request"},{"type":"function_call_output","call_id":"fc_08df33831712c27f01690b6f01a81c819097cf33b47decef45","output":"Tool - calling failed with error User denied tool request"},{"type":"function_call_output","call_id":"fc_08df33831712c27f01690b6f01f2f481908d4ab663937410c8","output":"Tool - calling failed with error User denied tool request"},{"type":"function_call_output","call_id":"fc_08df33831712c27f01690b6f0231248190b5657c305497e427","output":"Tool + Joe, Hadley, Simon, and Tom''s favorite colors?"}]},{"type":"function_call","call_id":"fc_06cea93f68dbdba501692dbb04c5208194b49f16fcc23693a8","name":"user_favorite_color","arguments":"{\"user\":\"Joe\"}"},{"type":"function_call","call_id":"fc_06cea93f68dbdba501692dbb04eeac81949dbc3ebcb7e10ce7","name":"user_favorite_color","arguments":"{\"user\":\"Hadley\"}"},{"type":"function_call","call_id":"fc_06cea93f68dbdba501692dbb051b108194b3509f17eae978ff","name":"user_favorite_color","arguments":"{\"user\":\"Simon\"}"},{"type":"function_call","call_id":"fc_06cea93f68dbdba501692dbb053f988194bfe5d61a7de01bf9","name":"user_favorite_color","arguments":"{\"user\":\"Tom\"}"},{"type":"function_call_output","call_id":"fc_06cea93f68dbdba501692dbb04c5208194b49f16fcc23693a8","output":"Tool + calling failed with error User denied tool request"},{"type":"function_call_output","call_id":"fc_06cea93f68dbdba501692dbb04eeac81949dbc3ebcb7e10ce7","output":"Tool + calling failed with error User denied tool request"},{"type":"function_call_output","call_id":"fc_06cea93f68dbdba501692dbb051b108194b3509f17eae978ff","output":"Tool + calling failed with error User denied tool request"},{"type":"function_call_output","call_id":"fc_06cea93f68dbdba501692dbb053f988194bfe5d61a7de01bf9","output":"Tool calling failed with error User denied tool request"}],"model":"gpt-4.1-nano","temperature":0,"stream":false,"tools":[{"type":"function","name":"user_favorite_color","description":"Find out a user''s favorite color","strict":true,"parameters":{"type":"object","description":"","properties":{"user":{"type":"string","description":"User''s name"}},"required":["user"],"additionalProperties":false}}],"store":false,"service_tier":"auto"}' @@ -166,37 +166,37 @@ http_interactions: headers: alt-svc: h3=":443"; ma=86400 cf-cache-status: DYNAMIC - cf-ray: 999d6d6f9d61f061-DFW + cf-ray: 9a73c8884876a2a1-ORD content-encoding: gzip content-type: application/json - date: Wed, 05 Nov 2025 15:36:35 GMT + date: Mon, 01 Dec 2025 15:58:00 GMT openai-organization: posit-esfrkf - openai-processing-ms: '587' - openai-project: proj_IeWhBnzvOO8wbVR5MdxnGXFq + openai-processing-ms: '2047' + openai-project: proj_KTxPJ5EAugIeuZGL0lAI1H9t openai-version: '2020-10-01' server: cloudflare set-cookie: - - __cf_bm=CVLIIoq5NQANfpW6vJkZxhCaKsgCY0He48NpbQ_Gu7A-1762356995-1.0.1.1-JJLKDEL8StslhP4EeFoTp0ImySEP2YkYjyd4o9TvZy05jdoc_.S09QPmkxZmWobU_sl3DMggg6dVQ9Z39fmYP8z6JtwsWYpOMZRDcjNJw8c; - path=/; expires=Wed, 05-Nov-25 16:06:35 GMT; domain=.api.openai.com; HttpOnly; + - __cf_bm=uJs7JeWXYUq1htH3WqvHeiOlDvVtlLiJTK86jLYXgos-1764604680-1.0.1.1-TJKGjF4iaKL9wgQZr7no6DBa_xSqV0s9H2N0DfJPJhCJb1Aftzx.Ex53AJ1ocEc90TOD8s7nJL04rjKWqeOSCT5ga4p172dCTIC61BBnZ80; + path=/; expires=Mon, 01-Dec-25 16:28:00 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None - - _cfuvid=B0rQGwRuQJaMPCh2IQZ8rLxz6cgmlhZd4i4GyEwD8dQ-1762356995134-0.0.1.1-604800000; + - _cfuvid=DsA5Ag_6cucdsGUJddupVdg5AJA39jZG0Co4VYjbIAc-1764604680618-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: '593' + x-envoy-upstream-service-time: '2050' x-ratelimit-limit-requests: '30000' x-ratelimit-limit-tokens: '150000000' x-ratelimit-remaining-requests: '29999' - x-ratelimit-remaining-tokens: '149999580' + x-ratelimit-remaining-tokens: '149999582' x-ratelimit-reset-requests: 2ms x-ratelimit-reset-tokens: 0s - x-request-id: req_125f8fc00a6f41cfb29247f536f967a5 + x-request-id: req_83119f088a5e4ea6a95f47498c1aaf52 body: string: |- { - "id": "resp_08d10948fa6b7ffa01690b6f028898819094f64c02267906c6", + "id": "resp_08052417c590353901692dbb068db88197aa5b077c3ef745cb", "object": "response", - "created_at": 1762356994, + "created_at": 1764604678, "status": "completed", "background": false, "billing": { @@ -210,7 +210,7 @@ http_interactions: "model": "gpt-4.1-nano-2025-04-14", "output": [ { - "id": "msg_08d10948fa6b7ffa01690b6f02eebc8190b595906edd5a887a", + "id": "msg_08052417c590353901692dbb07041081979cc4c8d17f2642e0", "type": "message", "status": "completed", "content": [ @@ -269,7 +269,7 @@ http_interactions: "top_p": 1.0, "truncation": "disabled", "usage": { - "input_tokens": 204, + "input_tokens": 200, "input_tokens_details": { "cached_tokens": 0 }, @@ -277,10 +277,10 @@ http_interactions: "output_tokens_details": { "reasoning_tokens": 0 }, - "total_tokens": 213 + "total_tokens": 209 }, "user": null, "metadata": {} } - recorded_at: 2025-11-05 15:36:35 + recorded_at: 2025-12-01 15:58:00 recorded_with: VCR-vcr/2.0.0 diff --git a/tests/testthat/_vcr/chat-tools-reject-callback.yml b/tests/testthat/_vcr/chat-tools-reject-callback.yml index 84967397a..a89d08965 100644 --- a/tests/testthat/_vcr/chat-tools-reject-callback.yml +++ b/tests/testthat/_vcr/chat-tools-reject-callback.yml @@ -14,37 +14,37 @@ http_interactions: headers: alt-svc: h3=":443"; ma=86400 cf-cache-status: DYNAMIC - cf-ray: 999dfdc0aa6e6d84-DFW + cf-ray: 9a73c896787ea2a1-ORD content-encoding: gzip content-type: application/json - date: Wed, 05 Nov 2025 17:15:07 GMT + date: Mon, 01 Dec 2025 15:58:02 GMT openai-organization: posit-esfrkf - openai-processing-ms: '1733' - openai-project: proj_IeWhBnzvOO8wbVR5MdxnGXFq + openai-processing-ms: '2046' + openai-project: proj_KTxPJ5EAugIeuZGL0lAI1H9t openai-version: '2020-10-01' server: cloudflare set-cookie: - - __cf_bm=i2qpjXWKZ3VxfBewbpZtPPkAhbEq1b97Rj_SeE.WYE8-1762362907-1.0.1.1-xhx3aeBjCnGZKnMswzgx8mqPZ6cS2xPP5rvxgU1iLUsd3016Ugxw2Gp_VHsV6b25cQX.jGxn4BSjecSjorcZ3xoJlbrtpLd_i7QrvoP5Hfo; - path=/; expires=Wed, 05-Nov-25 17:45:07 GMT; domain=.api.openai.com; HttpOnly; + - __cf_bm=BST8m45ZrpvyfuQTq.KPLkGt71zdgHOR0TOXb6YfXcM-1764604682-1.0.1.1-6GRWL3Q9QMP0q5mcY04GZv9KHzyn37jVkb2pGCqRg6.1gjYFq7BTI5B3FshUyOWjFJf3Mgj2smdUVxbY..zYpHu4gecqggQg4lBIaVKXnDY; + path=/; expires=Mon, 01-Dec-25 16:28:02 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None - - _cfuvid=.csEk368dIa4.mfB8IY3QixLk4K1nrUMj60i3eA7kyk-1762362907508-0.0.1.1-604800000; + - _cfuvid=CM.kknG3yM.R0B68q29nnuTTQ.V_U6H5ys4GolmW43I-1764604682830-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: '1738' + x-envoy-upstream-service-time: '2050' x-ratelimit-limit-requests: '30000' x-ratelimit-limit-tokens: '150000000' x-ratelimit-remaining-requests: '29999' - x-ratelimit-remaining-tokens: '149999702' + x-ratelimit-remaining-tokens: '149999700' x-ratelimit-reset-requests: 2ms x-ratelimit-reset-tokens: 0s - x-request-id: req_de1cebb108e549ebaf2a7b87e3a0c594 + x-request-id: req_1053196a60ba4092858cd3aa881cf745 body: string: |- { - "id": "resp_08c681976f63fedf01690b8619c710819699e354e1a65e2f43", + "id": "resp_0451ccccc46187cb01692dbb08c7288197a019a2de94b976cf", "object": "response", - "created_at": 1762362905, + "created_at": 1764604680, "status": "completed", "background": false, "billing": { @@ -58,19 +58,19 @@ http_interactions: "model": "gpt-4.1-mini-2025-04-14", "output": [ { - "id": "fc_08c681976f63fedf01690b861b24248196bf4a122f6d70cf57", + "id": "fc_0451ccccc46187cb01692dbb09c2c08197a98dca09ae2f68ec", "type": "function_call", "status": "completed", "arguments": "{\"user\":\"Joe\"}", - "call_id": "call_DQnB29LnZUsiAjlOZDybJbPS", + "call_id": "call_Cf6d0R0EHjJbkgsL0g5QiuHy", "name": "user_favorite_color" }, { - "id": "fc_08c681976f63fedf01690b861b4fd48196979a412c0dd7f1a7", + "id": "fc_0451ccccc46187cb01692dbb09ebc881978179f237ef143bf2", "type": "function_call", "status": "completed", "arguments": "{\"user\":\"Hadley\"}", - "call_id": "call_A7KsVqRKg1oq4UZ7K1YV6t35", + "call_id": "call_UEdrirGGbmdNGpo5wfQc31r9", "name": "user_favorite_color" } ], @@ -132,7 +132,7 @@ http_interactions: "user": null, "metadata": {} } - recorded_at: 2025-11-05 17:15:07 + recorded_at: 2025-12-01 15:58:02 - request: method: POST uri: https://api.openai.com/v1/responses @@ -140,8 +140,8 @@ http_interactions: string: '{"input":[{"role":"system","content":[{"type":"input_text","text":"Be terse."}]},{"role":"user","content":[{"type":"input_text","text":"What are Joe and Hadley''s favorite colors?"}]},{"role":"user","content":[{"type":"input_text","text":"Write - ''Joe ____ Hadley ____''. Use ''unknown'' if you don''t know."}]},{"type":"function_call","call_id":"fc_08c681976f63fedf01690b861b24248196bf4a122f6d70cf57","name":"user_favorite_color","arguments":"{\"user\":[\"Joe\"]}"},{"type":"function_call","call_id":"fc_08c681976f63fedf01690b861b4fd48196979a412c0dd7f1a7","name":"user_favorite_color","arguments":"{\"user\":[\"Hadley\"]}"},{"type":"function_call_output","call_id":"fc_08c681976f63fedf01690b861b24248196bf4a122f6d70cf57","output":"Tool - calling failed with error Tool call rejected. Joe denied the request."},{"type":"function_call_output","call_id":"fc_08c681976f63fedf01690b861b4fd48196979a412c0dd7f1a7","output":"red"}],"model":"gpt-4.1-mini","temperature":0,"stream":false,"tools":[{"type":"function","name":"user_favorite_color","description":"Find + ''Joe ____ Hadley ____''. Use ''unknown'' if you don''t know."}]},{"type":"function_call","call_id":"fc_0451ccccc46187cb01692dbb09c2c08197a98dca09ae2f68ec","name":"user_favorite_color","arguments":"{\"user\":\"Joe\"}"},{"type":"function_call","call_id":"fc_0451ccccc46187cb01692dbb09ebc881978179f237ef143bf2","name":"user_favorite_color","arguments":"{\"user\":\"Hadley\"}"},{"type":"function_call_output","call_id":"fc_0451ccccc46187cb01692dbb09c2c08197a98dca09ae2f68ec","output":"Tool + calling failed with error Tool call rejected. Joe denied the request."},{"type":"function_call_output","call_id":"fc_0451ccccc46187cb01692dbb09ebc881978179f237ef143bf2","output":"red"}],"model":"gpt-4.1-mini","temperature":0,"stream":false,"tools":[{"type":"function","name":"user_favorite_color","description":"Find out a user''s favorite color","strict":true,"parameters":{"type":"object","description":"","properties":{"user":{"type":"string","description":"User''s name"}},"required":["user"],"additionalProperties":false}}],"store":false,"service_tier":"auto"}' response: @@ -149,37 +149,37 @@ http_interactions: headers: alt-svc: h3=":443"; ma=86400 cf-cache-status: DYNAMIC - cf-ray: 999dfdccec0d6d84-DFW + cf-ray: 9a73c8a4981fa2a1-ORD content-encoding: gzip content-type: application/json - date: Wed, 05 Nov 2025 17:15:08 GMT + date: Mon, 01 Dec 2025 15:58:05 GMT openai-organization: posit-esfrkf - openai-processing-ms: '829' - openai-project: proj_IeWhBnzvOO8wbVR5MdxnGXFq + openai-processing-ms: '2089' + openai-project: proj_KTxPJ5EAugIeuZGL0lAI1H9t openai-version: '2020-10-01' server: cloudflare set-cookie: - - __cf_bm=qUrld6rvsAR.j882ccSq.5AfWywIdQdG_A7rYtMGlBw-1762362908-1.0.1.1-SW.ze1i5UP.vv7Qh8SQS5Nj2bUA_wllrQq8snycdNUqjvUKbyHpEYaJpLd9U42sCVt29gmIYPsKnkZDiCU297NCWaEOBnWTMc68p6qQfbIM; - path=/; expires=Wed, 05-Nov-25 17:45:08 GMT; domain=.api.openai.com; HttpOnly; + - __cf_bm=kV9Fbj82oa0UvL7hpZkQw7m3rI_i.I3131RMreJGouY-1764604685-1.0.1.1-FK66MmdGCGXSNvkIQxy453avQr7taeU.UQREVVgUi3l2vAyw35vDhj18zQ28LRVmyYY2H_07xoNwI_Stn6pRPlRVvHGciuW5G5ByKG6nY9E; + path=/; expires=Mon, 01-Dec-25 16:28:05 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None - - _cfuvid=n03TxMb_Kp0c.M4buc94QXx6l5lot9f2LOdfYnjPZrI-1762362908532-0.0.1.1-604800000; + - _cfuvid=0XNO2UydTfv9Jrp9xUXYSlhY2Bwhan3hQCGuI9f1cAc-1764604685176-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: '836' + x-envoy-upstream-service-time: '2093' x-ratelimit-limit-requests: '30000' x-ratelimit-limit-tokens: '150000000' x-ratelimit-remaining-requests: '29999' - x-ratelimit-remaining-tokens: '149999635' + x-ratelimit-remaining-tokens: '149999637' x-ratelimit-reset-requests: 2ms x-ratelimit-reset-tokens: 0s - x-request-id: req_c95f6ebe5eef478eaf94a6cb2dccb55c + x-request-id: req_a24b5a15892e4098a7055ba7e28ba055 body: string: |- { - "id": "resp_0bcc3a932a00e20b01690b861bb8e481958284a4dd691a42c4", + "id": "resp_0a4b059873a7445f01692dbb0b14188196b544128a115739fd", "object": "response", - "created_at": 1762362907, + "created_at": 1764604683, "status": "completed", "background": false, "billing": { @@ -193,7 +193,7 @@ http_interactions: "model": "gpt-4.1-mini-2025-04-14", "output": [ { - "id": "msg_0bcc3a932a00e20b01690b861c5adc8195bd98563879c9ec56", + "id": "msg_0a4b059873a7445f01692dbb0bba8481969de780376fb9e845", "type": "message", "status": "completed", "content": [ @@ -252,7 +252,7 @@ http_interactions: "top_p": 1.0, "truncation": "disabled", "usage": { - "input_tokens": 148, + "input_tokens": 146, "input_tokens_details": { "cached_tokens": 0 }, @@ -260,10 +260,10 @@ http_interactions: "output_tokens_details": { "reasoning_tokens": 0 }, - "total_tokens": 155 + "total_tokens": 153 }, "user": null, "metadata": {} } - recorded_at: 2025-11-05 17:15:08 + recorded_at: 2025-12-01 15:58:05 recorded_with: VCR-vcr/2.0.0 diff --git a/tests/testthat/_vcr/chat-tools-reject-tool-function.yml b/tests/testthat/_vcr/chat-tools-reject-tool-function.yml index 00e050e8a..b8729c1c2 100644 --- a/tests/testthat/_vcr/chat-tools-reject-tool-function.yml +++ b/tests/testthat/_vcr/chat-tools-reject-tool-function.yml @@ -14,37 +14,37 @@ http_interactions: headers: alt-svc: h3=":443"; ma=86400 cf-cache-status: DYNAMIC - cf-ray: 999e005a5c6c6d84-DFW + cf-ray: 9a73c8b30a6ca2a1-ORD content-encoding: gzip content-type: application/json - date: Wed, 05 Nov 2025 17:16:53 GMT + date: Mon, 01 Dec 2025 15:58:07 GMT openai-organization: posit-esfrkf - openai-processing-ms: '772' - openai-project: proj_IeWhBnzvOO8wbVR5MdxnGXFq + openai-processing-ms: '2046' + openai-project: proj_KTxPJ5EAugIeuZGL0lAI1H9t openai-version: '2020-10-01' server: cloudflare set-cookie: - - __cf_bm=cczb_gAa1vp.lTAFHbhbcgjZOP2S9Ekl34ACVHe6MOM-1762363013-1.0.1.1-BG0jsH6bGfrTCt1KfC5s5Kax0o2csqRGXbTp069klO8cao0tyPg96NO1y010Keyn9T4Lm34zDfGMzvYeM2uP0OwpP5bGoJvynLNvq9gJFuY; - path=/; expires=Wed, 05-Nov-25 17:46:53 GMT; domain=.api.openai.com; HttpOnly; + - __cf_bm=.pwFVHM078U936yXsUXH_j.zTi2ks1sJM1WiAKTuQP8-1764604687-1.0.1.1-MesCcVEm5D6IfYjmc7YyEPaDk3YUwiQdroC0YByvPM7yK9UvgFDYYhGybYFhPK7oQvpGf0lCO1ooTGwRVktwwe4WlFGYCOmroMurgqm9Tyg; + path=/; expires=Mon, 01-Dec-25 16:28:07 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None - - _cfuvid=BsK3pc_8T_7v.jfmdUUHMhNMfJ1s1demprDkBZ9Rvxs-1762363013036-0.0.1.1-604800000; + - _cfuvid=UIKwit2KvcgmsXgdPzqZLLqSvZh9eBDz2TtSmIYt.Pw-1764604687400-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: '777' + x-envoy-upstream-service-time: '2049' x-ratelimit-limit-requests: '10000' x-ratelimit-limit-tokens: '30000000' x-ratelimit-remaining-requests: '9999' x-ratelimit-remaining-tokens: '29999701' x-ratelimit-reset-requests: 6ms x-ratelimit-reset-tokens: 0s - x-request-id: req_bff701c211da4369a13b55cb536676b3 + x-request-id: req_d996b0ed921242c6aac090013dc7bf5e body: string: |- { - "id": "resp_05358dc6826d623701690b868442c0819085ec4f99fd459ba4", + "id": "resp_0bededaaa19f767f01692dbb0d56888195b8b18d4f8ffabe1f", "object": "response", - "created_at": 1762363012, + "created_at": 1764604685, "status": "completed", "background": false, "billing": { @@ -58,19 +58,19 @@ http_interactions: "model": "gpt-4.1-2025-04-14", "output": [ { - "id": "fc_05358dc6826d623701690b8684e3f08190860b5f195841efb6", + "id": "fc_0bededaaa19f767f01692dbb0dfb388195b44673f0f5a60d83", "type": "function_call", "status": "completed", "arguments": "{\"user\":\"Joe\"}", - "call_id": "call_mtp4AhVVnw7JzEcGhGea7ALh", + "call_id": "call_rl45mLsfdWi7Ng3BzYFZDhKH", "name": "user_favorite_color" }, { - "id": "fc_05358dc6826d623701690b8684f250819086ef39db483662c8", + "id": "fc_0bededaaa19f767f01692dbb0e0f2481958cd7c3f77ad0066f", "type": "function_call", "status": "completed", "arguments": "{\"user\":\"Hadley\"}", - "call_id": "call_hXTseOZQqcy5RyX0SZdUFqZQ", + "call_id": "call_5pSyJ0jP6xdtvsXC4tA9BCn1", "name": "user_favorite_color" } ], @@ -132,7 +132,7 @@ http_interactions: "user": null, "metadata": {} } - recorded_at: 2025-11-05 17:16:53 + recorded_at: 2025-12-01 15:58:07 - request: method: POST uri: https://api.openai.com/v1/responses @@ -140,9 +140,9 @@ http_interactions: string: '{"input":[{"role":"system","content":[{"type":"input_text","text":"Be terse."}]},{"role":"user","content":[{"type":"input_text","text":"What are Joe and Hadley''s favorite colors?"}]},{"role":"user","content":[{"type":"input_text","text":"Write - ''Joe ____ Hadley ____''. Use ''unknown'' if you don''t know."}]},{"type":"function_call","call_id":"fc_05358dc6826d623701690b8684e3f08190860b5f195841efb6","name":"user_favorite_color","arguments":"{\"user\":[\"Joe\"]}"},{"type":"function_call","call_id":"fc_05358dc6826d623701690b8684f250819086ef39db483662c8","name":"user_favorite_color","arguments":"{\"user\":[\"Hadley\"]}"},{"type":"function_call_output","call_id":"fc_05358dc6826d623701690b8684e3f08190860b5f195841efb6","output":"Tool + ''Joe ____ Hadley ____''. Use ''unknown'' if you don''t know."}]},{"type":"function_call","call_id":"fc_0bededaaa19f767f01692dbb0dfb388195b44673f0f5a60d83","name":"user_favorite_color","arguments":"{\"user\":\"Joe\"}"},{"type":"function_call","call_id":"fc_0bededaaa19f767f01692dbb0e0f2481958cd7c3f77ad0066f","name":"user_favorite_color","arguments":"{\"user\":\"Hadley\"}"},{"type":"function_call_output","call_id":"fc_0bededaaa19f767f01692dbb0dfb388195b44673f0f5a60d83","output":"Tool calling failed with error Tool call rejected. The user has chosen to disallow - the tool call."},{"type":"function_call_output","call_id":"fc_05358dc6826d623701690b8684f250819086ef39db483662c8","output":"red"}],"model":"gpt-4.1","temperature":0,"stream":false,"tools":[{"type":"function","name":"user_favorite_color","description":"Find + the tool call."},{"type":"function_call_output","call_id":"fc_0bededaaa19f767f01692dbb0e0f2481958cd7c3f77ad0066f","output":"red"}],"model":"gpt-4.1","temperature":0,"stream":false,"tools":[{"type":"function","name":"user_favorite_color","description":"Find out a user''s favorite color","strict":true,"parameters":{"type":"object","description":"","properties":{"user":{"type":"string","description":"User''s name"}},"required":["user"],"additionalProperties":false}}],"store":false,"service_tier":"auto"}' response: @@ -150,37 +150,37 @@ http_interactions: headers: alt-svc: h3=":443"; ma=86400 cf-cache-status: DYNAMIC - cf-ray: 999e006069e86d84-DFW + cf-ray: 9a73c8c13974a2a1-ORD content-encoding: gzip content-type: application/json - date: Wed, 05 Nov 2025 17:16:55 GMT + date: Mon, 01 Dec 2025 15:58:09 GMT openai-organization: posit-esfrkf - openai-processing-ms: '1986' - openai-project: proj_IeWhBnzvOO8wbVR5MdxnGXFq + openai-processing-ms: '2056' + openai-project: proj_KTxPJ5EAugIeuZGL0lAI1H9t openai-version: '2020-10-01' server: cloudflare set-cookie: - - __cf_bm=Bu6yJZRaJZKWazt66Rl55el1nm.JjFWI_teI7YVO5dI-1762363015-1.0.1.1-1ijppaNW6HRELTmhHHiwKsSoJiswsN7oYar1tCtUMLZM69YzXkKH5APJb9MU0.G_V.Y8oCIFWS58X7bRq8fRiyGjtHJRORL3EJHufn_HmGE; - path=/; expires=Wed, 05-Nov-25 17:46:55 GMT; domain=.api.openai.com; HttpOnly; + - __cf_bm=w1HQ5b9VYcdRvMQK2Qg5azY4Ptx9an1O9um8TI6MNW0-1764604689-1.0.1.1-g50CF5x6rUFfUC1kgtMnn8tG.HPvrdFNFwAWqcS5yJKbBJmU51Wl6NuPO_Vw_srMJHWOaFyoaSRpyXWTzy7AYnkdO._beP1nZ2XHi5gCIgU; + path=/; expires=Mon, 01-Dec-25 16:28:09 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None - - _cfuvid=shXZLNh4p66jANYlU.eadUBUgit9SHscnkYBwemvrgQ-1762363015274-0.0.1.1-604800000; + - _cfuvid=3LhREvcQd5JBdAos1iI0ODHpzFLn19Wkkaf.CRF8tl0-1764604689686-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: '1993' + x-envoy-upstream-service-time: '2059' x-ratelimit-limit-requests: '10000' x-ratelimit-limit-tokens: '30000000' x-ratelimit-remaining-requests: '9999' - x-ratelimit-remaining-tokens: '29999629' + x-ratelimit-remaining-tokens: '29999631' x-ratelimit-reset-requests: 6ms x-ratelimit-reset-tokens: 0s - x-request-id: req_3986889eabf84b20a2b926a4493ce950 + x-request-id: req_3518f088e41f491796051e6d4b1401ad body: string: |- { - "id": "resp_029b610e06c988fb01690b868540488196bc779f4c637bf4ff", + "id": "resp_0bad9be9438b4ebc01692dbb0f9b64819089c730d4a5385ab1", "object": "response", - "created_at": 1762363013, + "created_at": 1764604687, "status": "completed", "background": false, "billing": { @@ -194,7 +194,7 @@ http_interactions: "model": "gpt-4.1-2025-04-14", "output": [ { - "id": "msg_029b610e06c988fb01690b86871cd08196ae0f4330b9a3dc53", + "id": "msg_0bad9be9438b4ebc01692dbb10083481909aa164f2b344fc7d", "type": "message", "status": "completed", "content": [ @@ -253,7 +253,7 @@ http_interactions: "top_p": 1.0, "truncation": "disabled", "usage": { - "input_tokens": 154, + "input_tokens": 152, "input_tokens_details": { "cached_tokens": 0 }, @@ -261,10 +261,10 @@ http_interactions: "output_tokens_details": { "reasoning_tokens": 0 }, - "total_tokens": 161 + "total_tokens": 159 }, "user": null, "metadata": {} } - recorded_at: 2025-11-05 17:16:55 + recorded_at: 2025-12-01 15:58:09 recorded_with: VCR-vcr/2.0.0 diff --git a/tests/testthat/_vcr/chat-tools-sequential.yml b/tests/testthat/_vcr/chat-tools-sequential.yml index f44de13df..091cc1b50 100644 --- a/tests/testthat/_vcr/chat-tools-sequential.yml +++ b/tests/testthat/_vcr/chat-tools-sequential.yml @@ -13,37 +13,37 @@ http_interactions: headers: alt-svc: h3=":443"; ma=86400 cf-cache-status: DYNAMIC - cf-ray: 999d6d4b89daf061-DFW + cf-ray: 9a73c84f9928a2a1-ORD content-encoding: gzip content-type: application/json - date: Wed, 05 Nov 2025 15:36:30 GMT + date: Mon, 01 Dec 2025 15:57:51 GMT openai-organization: posit-esfrkf - openai-processing-ms: '1261' - openai-project: proj_IeWhBnzvOO8wbVR5MdxnGXFq + openai-processing-ms: '2050' + openai-project: proj_KTxPJ5EAugIeuZGL0lAI1H9t openai-version: '2020-10-01' server: cloudflare set-cookie: - - __cf_bm=Revfp6nS2DiN9NMT9DtyX_Dbn9JBp.cpkYZ.eZJSGHg-1762356990-1.0.1.1-Ut4s3AKA2uCiMiWAsiblNNGPeravp6BRrw4IcymRQ5mPtOkB85yGZEP0UOZKTRT7yP4dGqnf0YrKrj_IS0zOd4Jh1HgeN1X0YfJd11p9PB4; - path=/; expires=Wed, 05-Nov-25 16:06:30 GMT; domain=.api.openai.com; HttpOnly; + - __cf_bm=nGGVEmlKM_XELU87tkFGcQDLNs4Ftx4CHF4TYnzWTrY-1764604671-1.0.1.1-9qhnnNZefz_e54FAtTvQp7BjybR0WkJ5pK4t1AA5UhaLCNSdDo1xX.VVLsbV0QMwLXzS3Ey7GJSVWN8gh2NZJ.5QSiUlNLHjSOAlblAY9FQ; + path=/; expires=Mon, 01-Dec-25 16:27:51 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None - - _cfuvid=cERV0tVady4h8z9fJd3GpzYP99CRJRoMZFJdoOsWiY8-1762356990057-0.0.1.1-604800000; + - _cfuvid=w6QjKlt.YpVaMKcMr8BLV_clzmZkb8sFrxLPuYMJmYk-1764604671495-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: '1279' + x-envoy-upstream-service-time: '2052' x-ratelimit-limit-requests: '30000' x-ratelimit-limit-tokens: '150000000' x-ratelimit-remaining-requests: '29999' - x-ratelimit-remaining-tokens: '149999712' + x-ratelimit-remaining-tokens: '149999715' x-ratelimit-reset-requests: 2ms x-ratelimit-reset-tokens: 0s - x-request-id: req_26eb728d002a41ea8b0b08a82499e4c8 + x-request-id: req_1e8f4022ead149da8f09a0902678a3f5 body: string: |- { - "id": "resp_0b409f7ae4b612e401690b6efce0348193b9a545719e956164", + "id": "resp_05e2680dee6988d001692dbafd6c0081978bc25a6c4a357e7e", "object": "response", - "created_at": 1762356988, + "created_at": 1764604669, "status": "completed", "background": false, "billing": { @@ -57,11 +57,11 @@ http_interactions: "model": "gpt-4.1-nano-2025-04-14", "output": [ { - "id": "fc_0b409f7ae4b612e401690b6efde1ec8193b6ba4aff2caaf566", + "id": "fc_05e2680dee6988d001692dbafddafc819785545827d327f026", "type": "function_call", "status": "completed", "arguments": "{}", - "call_id": "call_4c3lKuvrZyXbqqjMIIVYsDnQ", + "call_id": "call_Qy6wvdOz4uYXRn1N1vVd7Lct", "name": "dice" } ], @@ -136,14 +136,14 @@ http_interactions: "user": null, "metadata": {} } - recorded_at: 2025-11-05 15:36:30 + recorded_at: 2025-12-01 15:57:51 - 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":"Which clothes - should I wear today? Roll a dice to decide."}]},{"type":"function_call","call_id":"fc_0b409f7ae4b612e401690b6efde1ec8193b6ba4aff2caaf566","name":"dice","arguments":"{}"},{"type":"function_call_output","call_id":"fc_0b409f7ae4b612e401690b6efde1ec8193b6ba4aff2caaf566","output":"1"}],"model":"gpt-4.1-nano","temperature":0,"stream":false,"tools":[{"type":"function","name":"dice","description":"Rolls + should I wear today? Roll a dice to decide."}]},{"type":"function_call","call_id":"fc_05e2680dee6988d001692dbafddafc819785545827d327f026","name":"dice","arguments":"{}"},{"type":"function_call_output","call_id":"fc_05e2680dee6988d001692dbafddafc819785545827d327f026","output":"1"}],"model":"gpt-4.1-nano","temperature":0,"stream":false,"tools":[{"type":"function","name":"dice","description":"Rolls a dice","strict":true,"parameters":{"type":"object","description":"","properties":{},"required":[],"additionalProperties":false}},{"type":"function","name":"clothes","description":"Pick clothes to wear based on a dice roll","strict":true,"parameters":{"type":"object","description":"","properties":{"roll":{"type":"number","description":""}},"required":["roll"],"additionalProperties":false}}],"store":false,"service_tier":"auto"}' response: @@ -151,37 +151,37 @@ http_interactions: headers: alt-svc: h3=":443"; ma=86400 cf-cache-status: DYNAMIC - cf-ray: 999d6d552f88f061-DFW + cf-ray: 9a73c85ddba5a2a1-ORD content-encoding: gzip content-type: application/json - date: Wed, 05 Nov 2025 15:36:31 GMT + date: Mon, 01 Dec 2025 15:57:53 GMT openai-organization: posit-esfrkf - openai-processing-ms: '1155' - openai-project: proj_IeWhBnzvOO8wbVR5MdxnGXFq + openai-processing-ms: '2040' + openai-project: proj_KTxPJ5EAugIeuZGL0lAI1H9t openai-version: '2020-10-01' server: cloudflare set-cookie: - - __cf_bm=QyS44aZ_mmiKpx.a_N8.cbV6iNG1Um.pz5Dz5oPyeio-1762356991-1.0.1.1-U0BeG3AJYnTIbcMmZqrqU3gs8Ksp5SzAG6dIecVbk7tHVrOfWn1usRqwk.vtHBxmnZW0BnWBxcVZzxTOp5ZYwsaPVPk7ZoFgSOapzTaWPhc; - path=/; expires=Wed, 05-Nov-25 16:06:31 GMT; domain=.api.openai.com; HttpOnly; + - __cf_bm=5dJQ1sQZgn7Z3FqVH66_QnOeZTtHNI97Dj4OBdzo1Kg-1764604673-1.0.1.1-iiVbYNtPJ6r6XjH1TfLsarptDnqoWCx9GjW.L2Efnp9VnzJqyNHpfwsb7tvjnF33X9SqTlFVqAVsja1hIiJuibYVYH.2aUPIB12gaCS15WE; + path=/; expires=Mon, 01-Dec-25 16:27:53 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None - - _cfuvid=NqS5BO8OaWZW4oRPVGpJ245U43E46qnMXKQ7370LY8s-1762356991480-0.0.1.1-604800000; + - _cfuvid=BKzLOidj2hd3uHJHG7G4L3SAA.JZ0BxdrnSOx9phToA-1764604673775-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: '1169' + x-envoy-upstream-service-time: '2044' x-ratelimit-limit-requests: '30000' x-ratelimit-limit-tokens: '150000000' x-ratelimit-remaining-requests: '29999' x-ratelimit-remaining-tokens: '149999697' x-ratelimit-reset-requests: 2ms x-ratelimit-reset-tokens: 0s - x-request-id: req_8a97260772064caa97f3699fe1a26cfa + x-request-id: req_67ce4c26a7374ce38a2f0114be4028dc body: string: |- { - "id": "resp_096a1a6cdd878b1701690b6efe55ec8197acd667878ca33d22", + "id": "resp_0e05455b1d153c1001692dbaffb5e881909c76f8ce8b1756ca", "object": "response", - "created_at": 1762356990, + "created_at": 1764604671, "status": "completed", "background": false, "billing": { @@ -195,11 +195,11 @@ http_interactions: "model": "gpt-4.1-nano-2025-04-14", "output": [ { - "id": "fc_096a1a6cdd878b1701690b6eff52a8819795748d20a206be50", + "id": "fc_0e05455b1d153c1001692dbb002fc481909055a3f53f58b6d3", "type": "function_call", "status": "completed", "arguments": "{\"roll\":1}", - "call_id": "call_bMZugSDieqqZ7lcyq6bqJHST", + "call_id": "call_hu6U9ar8CbsUUwP6UKP4gLQs", "name": "clothes" } ], @@ -274,14 +274,14 @@ http_interactions: "user": null, "metadata": {} } - recorded_at: 2025-11-05 15:36:31 + recorded_at: 2025-12-01 15:57:53 - 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":"Which clothes - should I wear today? Roll a dice to decide."}]},{"type":"function_call","call_id":"fc_0b409f7ae4b612e401690b6efde1ec8193b6ba4aff2caaf566","name":"dice","arguments":"{}"},{"type":"function_call_output","call_id":"fc_0b409f7ae4b612e401690b6efde1ec8193b6ba4aff2caaf566","output":"1"},{"type":"function_call","call_id":"fc_096a1a6cdd878b1701690b6eff52a8819795748d20a206be50","name":"clothes","arguments":"{\"roll\":[1]}"},{"type":"function_call_output","call_id":"fc_096a1a6cdd878b1701690b6eff52a8819795748d20a206be50","output":"Pants"}],"model":"gpt-4.1-nano","temperature":0,"stream":false,"tools":[{"type":"function","name":"dice","description":"Rolls + should I wear today? Roll a dice to decide."}]},{"type":"function_call","call_id":"fc_05e2680dee6988d001692dbafddafc819785545827d327f026","name":"dice","arguments":"{}"},{"type":"function_call_output","call_id":"fc_05e2680dee6988d001692dbafddafc819785545827d327f026","output":"1"},{"type":"function_call","call_id":"fc_0e05455b1d153c1001692dbb002fc481909055a3f53f58b6d3","name":"clothes","arguments":"{\"roll\":1}"},{"type":"function_call_output","call_id":"fc_0e05455b1d153c1001692dbb002fc481909055a3f53f58b6d3","output":"Pants"}],"model":"gpt-4.1-nano","temperature":0,"stream":false,"tools":[{"type":"function","name":"dice","description":"Rolls a dice","strict":true,"parameters":{"type":"object","description":"","properties":{},"required":[],"additionalProperties":false}},{"type":"function","name":"clothes","description":"Pick clothes to wear based on a dice roll","strict":true,"parameters":{"type":"object","description":"","properties":{"roll":{"type":"number","description":""}},"required":["roll"],"additionalProperties":false}}],"store":false,"service_tier":"auto"}' response: @@ -289,37 +289,37 @@ http_interactions: headers: alt-svc: h3=":443"; ma=86400 cf-cache-status: DYNAMIC - cf-ray: 999d6d5d9fadf061-DFW + cf-ray: 9a73c86bba22a2a1-ORD content-encoding: gzip content-type: application/json - date: Wed, 05 Nov 2025 15:36:32 GMT + date: Mon, 01 Dec 2025 15:57:56 GMT openai-organization: posit-esfrkf - openai-processing-ms: '845' - openai-project: proj_IeWhBnzvOO8wbVR5MdxnGXFq + openai-processing-ms: '2045' + openai-project: proj_KTxPJ5EAugIeuZGL0lAI1H9t openai-version: '2020-10-01' server: cloudflare set-cookie: - - __cf_bm=lXCzq2ho2WHuMBF7j4c5fTjOUV0araufGx0N8jBZ4IE-1762356992-1.0.1.1-.bPrQ9uKi5Wv6YsjNQOfc7XhE17v_tIWB2IKuKuJfxcdzWmmKnkTSReSPSkcXHX5GCTd4MD5ByvU7ErqdoQ3YITmjqP1be9XlcoGwWIgXjY; - path=/; expires=Wed, 05-Nov-25 16:06:32 GMT; domain=.api.openai.com; HttpOnly; + - __cf_bm=Dp5.Z2iIEEspMXB9exP90pUDNl7oKj3tjmZl86rhjrI-1764604676-1.0.1.1-LkcCOZ9OWMOagEf9e3zIVYPb7wC4U_Qf4nOI8VRQ3hRoS.Eha9ReiYghZDD7La0DuQr3HntW8kh__gdtGDQ3cLKikwWdUoWVflpGRGMQZzY; + path=/; expires=Mon, 01-Dec-25 16:27:56 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None - - _cfuvid=onO5SrX14Zvt6bCjiDK50zNLe5KkL2H.Q1QeeIZRUnk-1762356992537-0.0.1.1-604800000; + - _cfuvid=vyOmnZ_Zq0hIFE3uTfK_BSOZUXltrMtKw0bBvn3AhKc-1764604676009-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: '869' + x-envoy-upstream-service-time: '2051' x-ratelimit-limit-requests: '30000' x-ratelimit-limit-tokens: '150000000' x-ratelimit-remaining-requests: '29999' x-ratelimit-remaining-tokens: '149999675' x-ratelimit-reset-requests: 2ms x-ratelimit-reset-tokens: 0s - x-request-id: req_c3650c9255534127af7e1d172711d340 + x-request-id: req_4a701f2258024ff3916ad50c2a561ce9 body: string: |- { - "id": "resp_0e46181f5a6b1faf01690b6effdcf8819784544e3f8c1a46c8", + "id": "resp_08448c136c44c54b01692dbb01ee6c81959e48ae2bcc64adad", "object": "response", - "created_at": 1762356991, + "created_at": 1764604673, "status": "completed", "background": false, "billing": { @@ -333,7 +333,7 @@ http_interactions: "model": "gpt-4.1-nano-2025-04-14", "output": [ { - "id": "msg_0e46181f5a6b1faf01690b6f006e4c8197bdaad25b7914cb7a", + "id": "msg_08448c136c44c54b01692dbb029e0481958936c21830378b31", "type": "message", "status": "completed", "content": [ @@ -341,7 +341,7 @@ http_interactions: "type": "output_text", "annotations": [], "logprobs": [], - "text": "You should wear pants today." + "text": "Wear pants today." } ], "role": "assistant" @@ -409,14 +409,14 @@ http_interactions: "input_tokens_details": { "cached_tokens": 0 }, - "output_tokens": 8, + "output_tokens": 6, "output_tokens_details": { "reasoning_tokens": 0 }, - "total_tokens": 117 + "total_tokens": 115 }, "user": null, "metadata": {} } - recorded_at: 2025-11-05 15:36:32 + recorded_at: 2025-12-01 15:57:56 recorded_with: VCR-vcr/2.0.0 diff --git a/vignettes/_vcr/tool-calling-inputs-outputs.yml b/vignettes/_vcr/tool-calling-inputs-outputs.yml index b3d50f63e..ea005b988 100644 --- a/vignettes/_vcr/tool-calling-inputs-outputs.yml +++ b/vignettes/_vcr/tool-calling-inputs-outputs.yml @@ -13,37 +13,37 @@ http_interactions: headers: alt-svc: h3=":443"; ma=86400 cf-cache-status: DYNAMIC - cf-ray: 99d9f38bdcc26b24-DFW + cf-ray: 9a73c3e8badd8fc2-ORD content-encoding: gzip content-type: application/json - date: Wed, 12 Nov 2025 23:53:54 GMT + date: Mon, 01 Dec 2025 15:54:51 GMT openai-organization: posit-esfrkf - openai-processing-ms: '1490' - openai-project: proj_IeWhBnzvOO8wbVR5MdxnGXFq + openai-processing-ms: '2047' + openai-project: proj_KTxPJ5EAugIeuZGL0lAI1H9t openai-version: '2020-10-01' server: cloudflare set-cookie: - - __cf_bm=2YKmns9SI9pqFQ8mGyUkjaxGfY8ERpN1iigC_zjWh1o-1762991634-1.0.1.1-h.IPUed.8PaLDgyyJowKLgkjZJOk35lwvA8XDOSi7PaKgZ.lbfW5Lc.4TqPXmnfauWbA4XeNo0KaJBaWW3iJLQoNm3T5CeH7pnJ7uSqHSQQ; - path=/; expires=Thu, 13-Nov-25 00:23:54 GMT; domain=.api.openai.com; HttpOnly; + - __cf_bm=iasqFMKfE877B0CMbrd2ew_OVm4WSnlDN6Va3Sc7euU-1764604491-1.0.1.1-lYbjbX3HYIpuBZo1iXFrFZDl0UUzj44qJmdo9U2ec0BV.CM5QqccKNbnaFGljmDnOToe1mCTSncl.zL.ibdkkIH_mxL5F8L8SQphqN.mSsc; + path=/; expires=Mon, 01-Dec-25 16:24:51 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None - - _cfuvid=sEv7kSGqfEtR2xdSzCrtzGlWeaw_Lk27JInepcfLkfA-1762991634818-0.0.1.1-604800000; + - _cfuvid=.OWtEwcEX3PM7EnYor32XgplMyG6_7D2h5Jpnij1Ens-1764604491196-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: '1505' + x-envoy-upstream-service-time: '2051' x-ratelimit-limit-requests: '10000' x-ratelimit-limit-tokens: '30000000' x-ratelimit-remaining-requests: '9999' - x-ratelimit-remaining-tokens: '29999715' + x-ratelimit-remaining-tokens: '29999716' x-ratelimit-reset-requests: 6ms x-ratelimit-reset-tokens: 0s - x-request-id: req_172bef28aa5b45499a409eddd56770e9 + x-request-id: req_07925e5d96314310bd7c78e437031008 body: string: |- { - "id": "resp_0695837b713996880169151e1154448193a6dc75424d3b88c1", + "id": "resp_0ab4b61a48aa23bb01692dba49209481908a4502d64f2da7f3", "object": "response", - "created_at": 1762991633, + "created_at": 1764604489, "status": "completed", "background": false, "billing": { @@ -57,11 +57,11 @@ http_interactions: "model": "gpt-4.1-2025-04-14", "output": [ { - "id": "fc_0695837b713996880169151e123e0881939637e2fd9d66180e", + "id": "fc_0ab4b61a48aa23bb01692dba49b87c8190ae9678691024472c", "type": "function_call", "status": "completed", "arguments": "{\"cities\":[\"London\",\"Chicago\"]}", - "call_id": "call_DKAPM2fw7SGsFG5VsGogeECu", + "call_id": "call_TfoUectHrghIxnrpTif0N3WY", "name": "get_weather" } ], @@ -127,13 +127,13 @@ http_interactions: "user": null, "metadata": {} } - recorded_at: 2025-11-12 23:53:54 + recorded_at: 2025-12-01 15:54:51 - request: method: POST uri: https://api.openai.com/v1/responses body: string: '{"input":[{"role":"user","content":[{"type":"input_text","text":"Give - me a weather update for London and Chicago"}]},{"type":"function_call","call_id":"fc_0695837b713996880169151e123e0881939637e2fd9d66180e","name":"get_weather","arguments":"{\"cities\":[[\"London\"],[\"Chicago\"]]}"},{"type":"function_call_output","call_id":"fc_0695837b713996880169151e123e0881939637e2fd9d66180e","output":"[{\"city\":\"London\",\"raining\":\"heavy\",\"temperature\":\"cool\",\"wind\":\"strong\"},{\"city\":\"Chicago\",\"raining\":\"overcast\",\"temperature\":\"warm\",\"wind\":\"strong\"}]"}],"model":"gpt-4.1","stream":false,"tools":[{"type":"function","name":"get_weather","description":"\n Report + me a weather update for London and Chicago"}]},{"type":"function_call","call_id":"fc_0ab4b61a48aa23bb01692dba49b87c8190ae9678691024472c","name":"get_weather","arguments":"{\"cities\":[\"London\",\"Chicago\"]}"},{"type":"function_call_output","call_id":"fc_0ab4b61a48aa23bb01692dba49b87c8190ae9678691024472c","output":"[{\"city\":\"London\",\"raining\":\"heavy\",\"temperature\":\"cool\",\"wind\":\"strong\"},{\"city\":\"Chicago\",\"raining\":\"overcast\",\"temperature\":\"warm\",\"wind\":\"strong\"}]"}],"model":"gpt-4.1","stream":false,"tools":[{"type":"function","name":"get_weather","description":"\n Report on weather conditions in multiple cities. For efficiency, request\n all weather updates using a single tool call\n ","strict":true,"parameters":{"type":"object","description":"","properties":{"cities":{"type":"array","description":"City names","items":{"type":"string","description":""}}},"required":["cities"],"additionalProperties":false}}],"store":false,"service_tier":"auto"}' @@ -142,37 +142,37 @@ http_interactions: headers: alt-svc: h3=":443"; ma=86400 cf-cache-status: DYNAMIC - cf-ray: 99d9f396ab676b24-DFW + cf-ray: 9a73c3f70fb78fc2-ORD content-encoding: gzip content-type: application/json - date: Wed, 12 Nov 2025 23:53:55 GMT + date: Mon, 01 Dec 2025 15:54:53 GMT openai-organization: posit-esfrkf - openai-processing-ms: '944' - openai-project: proj_IeWhBnzvOO8wbVR5MdxnGXFq + openai-processing-ms: '2046' + openai-project: proj_KTxPJ5EAugIeuZGL0lAI1H9t openai-version: '2020-10-01' server: cloudflare set-cookie: - - __cf_bm=2loLLCjm_hRA_cw7NxDOsviKxA3DS.aUvGLMaoQlqjI-1762991635-1.0.1.1-W5BtXiBzfXIbAORw7OQswBFo4N2PDSvHXmqHrUJkyiTbaSdItu9GUauE961mhI1voRr3Aeuv9k0L5yi1MliTq_zQLbo7AagGgd0KOug1Xq4; - path=/; expires=Thu, 13-Nov-25 00:23:55 GMT; domain=.api.openai.com; HttpOnly; + - __cf_bm=HsFR2qHS7dobQje1YeWBVFZxuWjgB6JSb11ZAY.Q4co-1764604493-1.0.1.1-HidnE5PCYuLsrRuOjhKO.xZ6t8e0G9U5aiyHcx4kzvqKZfUcz9mQT_DdLOISYCRLRctMLXZWAWUVRu_TyoSDjtulWP0dIsileYg7NuBw6kE; + path=/; expires=Mon, 01-Dec-25 16:24:53 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None - - _cfuvid=Zpbv_1m3gTP48Qt5hO_nzFO32smzr_Mol3Up_Tndv8Y-1762991635967-0.0.1.1-604800000; + - _cfuvid=Qoh0dVR0Anq5aFuOawIXIWCWlbKK6qXhUbiPC.0cDCY-1764604493479-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: '947' + x-envoy-upstream-service-time: '2048' x-ratelimit-limit-requests: '10000' x-ratelimit-limit-tokens: '30000000' x-ratelimit-remaining-requests: '9999' - x-ratelimit-remaining-tokens: '29999652' + x-ratelimit-remaining-tokens: '29999655' x-ratelimit-reset-requests: 6ms x-ratelimit-reset-tokens: 0s - x-request-id: req_0914ffb730ee479d8ddff18237e99710 + x-request-id: req_5e189d68fee545c2acc1783622cceaf8 body: string: |- { - "id": "resp_06ef3c5a2fde69e40169151e130ca48197a997ef945c7013d4", + "id": "resp_0e7a4c6e4ae3a23901692dba4b6aac81909bfc0bbef442b7ef", "object": "response", - "created_at": 1762991635, + "created_at": 1764604491, "status": "completed", "background": false, "billing": { @@ -186,7 +186,7 @@ http_interactions: "model": "gpt-4.1-2025-04-14", "output": [ { - "id": "msg_06ef3c5a2fde69e40169151e13af3c819787712a6164ec0536", + "id": "msg_0e7a4c6e4ae3a23901692dba4bb9f481908b244e6521b24733", "type": "message", "status": "completed", "content": [ @@ -194,7 +194,7 @@ http_interactions: "type": "output_text", "annotations": [], "logprobs": [], - "text": "Here is the weather update:\n\n- London: Heavy rain, cool temperature, and strong winds.\n- Chicago: Overcast skies, warm temperature, and strong winds." + "text": "Here\u2019s a weather update:\n\n- London: It\u2019s heavily raining, cool, and windy with strong winds.\n- Chicago: The weather is overcast, warm, and also has strong winds.\n\nDress accordingly and stay safe!" } ], "role": "assistant" @@ -249,18 +249,18 @@ http_interactions: "top_p": 1.0, "truncation": "disabled", "usage": { - "input_tokens": 130, + "input_tokens": 128, "input_tokens_details": { "cached_tokens": 0 }, - "output_tokens": 35, + "output_tokens": 47, "output_tokens_details": { "reasoning_tokens": 0 }, - "total_tokens": 165 + "total_tokens": 175 }, "user": null, "metadata": {} } - recorded_at: 2025-11-12 23:53:55 + recorded_at: 2025-12-01 15:54:53 recorded_with: VCR-vcr/2.0.0 diff --git a/vignettes/_vcr/tool-calling-no-tool.yml b/vignettes/_vcr/tool-calling-no-tool.yml index 0fffb67b6..5d5a81131 100644 --- a/vignettes/_vcr/tool-calling-no-tool.yml +++ b/vignettes/_vcr/tool-calling-no-tool.yml @@ -10,37 +10,37 @@ http_interactions: headers: alt-svc: h3=":443"; ma=86400 cf-cache-status: DYNAMIC - cf-ray: 999eee8fe94a2fe8-DFW + cf-ray: 9a73c3bccd938fc2-ORD content-encoding: gzip content-type: application/json - date: Wed, 05 Nov 2025 19:59:31 GMT + date: Mon, 01 Dec 2025 15:54:44 GMT openai-organization: posit-esfrkf - openai-processing-ms: '1691' - openai-project: proj_IeWhBnzvOO8wbVR5MdxnGXFq + openai-processing-ms: '2067' + openai-project: proj_KTxPJ5EAugIeuZGL0lAI1H9t openai-version: '2020-10-01' server: cloudflare set-cookie: - - __cf_bm=v0.9Wx5upb10ep0PnQ79rJuT3COC2mbESSKp9m8H2iM-1762372771-1.0.1.1-hkrGyAaMLD1ih9J1w3zUgL_vRO6.ZkJ09Jm1wZ.F_YBXm5l6cn9c.T4iXxennBh2pO2k7pTuQMReKyX3GL0wwJmkCYhQ4wZ_3k06i9mDFc8; - path=/; expires=Wed, 05-Nov-25 20:29:31 GMT; domain=.api.openai.com; HttpOnly; + - __cf_bm=8Vnu59J__IFWEH4E94934G4E3Dzy6LJkvWLtdHbyuNo-1764604484-1.0.1.1-8y.wr4L6ypOZQuxI090dDqGzgpaULvBszRCebnyc5Z6.8I8xEsGRhDaD5dE7b1s9uPg5fzbszgL2qR7tfehXYOj3CvGQjNZiuhkJlaVQt_k; + path=/; expires=Mon, 01-Dec-25 16:24:44 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None - - _cfuvid=G7dEh0ST_iYm9iq3K6LaP7z6oMYmmLnKEf.5kQ2Yn8w-1762372771028-0.0.1.1-604800000; + - _cfuvid=.YLJPUGyahxmK0FUDONOToUR.1vQk0Yk_64xfXQCaWY-1764604484197-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: '1704' + x-envoy-upstream-service-time: '2071' x-ratelimit-limit-requests: '10000' x-ratelimit-limit-tokens: '30000000' x-ratelimit-remaining-requests: '9999' x-ratelimit-remaining-tokens: '29999962' x-ratelimit-reset-requests: 6ms x-ratelimit-reset-tokens: 0s - x-request-id: req_0446cae931f247988e16963f2e9653f4 + x-request-id: req_661b5737758f4db79e214cac8753a424 body: string: |- { - "id": "resp_0bfc118da9a1fe1b01690baca15b34819597ab8f622f999719", + "id": "resp_00bd427b579e9e2d01692dba421c6881968e464048f25f246b", "object": "response", - "created_at": 1762372769, + "created_at": 1764604482, "status": "completed", "background": false, "billing": { @@ -54,7 +54,7 @@ http_interactions: "model": "gpt-4o-2024-08-06", "output": [ { - "id": "msg_0bfc118da9a1fe1b01690baca271dc8195abda4a828cc7fd09", + "id": "msg_00bd427b579e9e2d01692dba42c714819694c654f636b5263b", "type": "message", "status": "completed", "content": [ @@ -62,7 +62,7 @@ http_interactions: "type": "output_text", "annotations": [], "logprobs": [], - "text": "Neil Armstrong touched down on the moon on July 20, 1969. As of 2023, that was 54 years ago." + "text": "Neil Armstrong landed on the moon on July 20, 1969. As of now in 2023, that was 54 years ago." } ], "role": "assistant" @@ -96,14 +96,14 @@ http_interactions: "input_tokens_details": { "cached_tokens": 0 }, - "output_tokens": 30, + "output_tokens": 31, "output_tokens_details": { "reasoning_tokens": 0 }, - "total_tokens": 49 + "total_tokens": 50 }, "user": null, "metadata": {} } - recorded_at: 2025-11-05 19:59:31 + recorded_at: 2025-12-01 15:54:44 recorded_with: VCR-vcr/2.0.0 diff --git a/vignettes/_vcr/tool-calling-with-tool.yml b/vignettes/_vcr/tool-calling-with-tool.yml index 055a9b463..a3293f4af 100644 --- a/vignettes/_vcr/tool-calling-with-tool.yml +++ b/vignettes/_vcr/tool-calling-with-tool.yml @@ -5,7 +5,7 @@ http_interactions: body: string: '{"input":[{"role":"user","content":[{"type":"input_text","text":"How long ago did Neil Armstrong touch down on the moon?"}]},{"role":"assistant","content":[{"type":"output_text","text":"Neil - Armstrong touched down on the moon on July 20, 1969. As of 2023, that was + Armstrong landed on the moon on July 20, 1969. As of now in 2023, that was 54 years ago."}]},{"role":"user","content":[{"type":"input_text","text":"How long ago did Neil Armstrong touch down on the moon?"}]}],"model":"gpt-4o","stream":false,"tools":[{"type":"function","name":"get_current_time","description":"Returns the current time.","strict":true,"parameters":{"type":"object","description":"","properties":{"tz":{"type":["string","null"],"description":"Time @@ -15,37 +15,37 @@ http_interactions: headers: alt-svc: h3=":443"; ma=86400 cf-cache-status: DYNAMIC - cf-ray: 999eee9dfb5b2fe8-DFW + cf-ray: 9a73c3cb9e998fc2-ORD content-encoding: gzip content-type: application/json - date: Wed, 05 Nov 2025 19:59:33 GMT + date: Mon, 01 Dec 2025 15:54:46 GMT openai-organization: posit-esfrkf - openai-processing-ms: '1789' - openai-project: proj_IeWhBnzvOO8wbVR5MdxnGXFq + openai-processing-ms: '2047' + openai-project: proj_KTxPJ5EAugIeuZGL0lAI1H9t openai-version: '2020-10-01' server: cloudflare set-cookie: - - __cf_bm=BuAJGCH.0Y62bqiYMpEYctYXOKMb.DxyYq80gHLZ0Ts-1762372773-1.0.1.1-F9NDV3wMbn15E8PCbbeq3odzqPii13EGINIsOVcePevaI956fbroKK5AhzVubGYdcwuQh0NcisCGgYsEP_iF0E_hCe0_AkIvWeNCJmiXZPk; - path=/; expires=Wed, 05-Nov-25 20:29:33 GMT; domain=.api.openai.com; HttpOnly; + - __cf_bm=vuWIwF_1ytoeYBdfWVwjjN4LXHqvuH1Ba3xJemSF9J8-1764604486-1.0.1.1-yHZpPlHBKpzT6_mHzntXovep76K7XcgJKUKzEtrUdlx.lrxVKE2Z7rewubagov46Bi5MOw9NGZmgwl0OdQW_f0p_fH6c5417KyFHHa_dqxw; + path=/; expires=Mon, 01-Dec-25 16:24:46 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None - - _cfuvid=HC6Ra.fQnS_NCm1Aw1Oau_9oKQ3gliPkf4b1KAPaEYQ-1762372773395-0.0.1.1-604800000; + - _cfuvid=LivD_F9ST0hb7Kqf8ipLD0l0EYEBAivIdTfJCZ.47y8-1764604486551-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: '1799' + x-envoy-upstream-service-time: '2052' x-ratelimit-limit-requests: '10000' x-ratelimit-limit-tokens: '30000000' x-ratelimit-remaining-requests: '9999' - x-ratelimit-remaining-tokens: '29999633' + x-ratelimit-remaining-tokens: '29999632' x-ratelimit-reset-requests: 6ms x-ratelimit-reset-tokens: 0s - x-request-id: req_9fb52a35f5a54c7b868f94295a37d0c8 + x-request-id: req_b72a6c3864634c6f92ffef275b78dbf2 body: string: |- { - "id": "resp_03a8c37ecdd381e601690baca3a20c8190a4d1809fe46b7440", + "id": "resp_07fd060fbaac49e001692dba4479b48197b6ec48dbba692a89", "object": "response", - "created_at": 1762372771, + "created_at": 1764604484, "status": "completed", "background": false, "billing": { @@ -59,11 +59,11 @@ http_interactions: "model": "gpt-4o-2024-08-06", "output": [ { - "id": "fc_03a8c37ecdd381e601690baca5278c81909e74f03d120da606", + "id": "fc_07fd060fbaac49e001692dba44f2fc8197a1cfd2d677f98e67", "type": "function_call", "status": "completed", "arguments": "{\"tz\":\"UTC\"}", - "call_id": "call_offOEwPWWwMQizBG8wdJzPkh", + "call_id": "call_51LiqXYaIAXf3tWaeHPkrx37", "name": "get_current_time" } ], @@ -115,7 +115,7 @@ http_interactions: "top_p": 1.0, "truncation": "disabled", "usage": { - "input_tokens": 150, + "input_tokens": 151, "input_tokens_details": { "cached_tokens": 0 }, @@ -123,21 +123,21 @@ http_interactions: "output_tokens_details": { "reasoning_tokens": 0 }, - "total_tokens": 166 + "total_tokens": 167 }, "user": null, "metadata": {} } - recorded_at: 2025-11-05 19:59:33 + recorded_at: 2025-12-01 15:54:46 - request: method: POST uri: https://api.openai.com/v1/responses body: string: '{"input":[{"role":"user","content":[{"type":"input_text","text":"How long ago did Neil Armstrong touch down on the moon?"}]},{"role":"assistant","content":[{"type":"output_text","text":"Neil - Armstrong touched down on the moon on July 20, 1969. As of 2023, that was + Armstrong landed on the moon on July 20, 1969. As of now in 2023, that was 54 years ago."}]},{"role":"user","content":[{"type":"input_text","text":"How - long ago did Neil Armstrong touch down on the moon?"}]},{"type":"function_call","call_id":"fc_03a8c37ecdd381e601690baca5278c81909e74f03d120da606","name":"get_current_time","arguments":"{\"tz\":[\"UTC\"]}"},{"type":"function_call_output","call_id":"fc_03a8c37ecdd381e601690baca5278c81909e74f03d120da606","output":"2025-06-25 + long ago did Neil Armstrong touch down on the moon?"}]},{"type":"function_call","call_id":"fc_07fd060fbaac49e001692dba44f2fc8197a1cfd2d677f98e67","name":"get_current_time","arguments":"{\"tz\":\"UTC\"}"},{"type":"function_call_output","call_id":"fc_07fd060fbaac49e001692dba44f2fc8197a1cfd2d677f98e67","output":"2025-06-25 16:53:23 UTC"}],"model":"gpt-4o","stream":false,"tools":[{"type":"function","name":"get_current_time","description":"Returns the current time.","strict":true,"parameters":{"type":"object","description":"","properties":{"tz":{"type":["string","null"],"description":"Time zone to display the current time in. Defaults to `\"UTC\"`."}},"required":["tz"],"additionalProperties":false}}],"store":false,"service_tier":"auto"}' @@ -146,37 +146,37 @@ http_interactions: headers: alt-svc: h3=":443"; ma=86400 cf-cache-status: DYNAMIC - cf-ray: 999eeeaaecdd2fe8-DFW + cf-ray: 9a73c3da3dbd8fc2-ORD content-encoding: gzip content-type: application/json - date: Wed, 05 Nov 2025 19:59:35 GMT + date: Mon, 01 Dec 2025 15:54:48 GMT openai-organization: posit-esfrkf - openai-processing-ms: '1576' - openai-project: proj_IeWhBnzvOO8wbVR5MdxnGXFq + openai-processing-ms: '2066' + openai-project: proj_KTxPJ5EAugIeuZGL0lAI1H9t openai-version: '2020-10-01' server: cloudflare set-cookie: - - __cf_bm=nsO8xocUij81xRIgOrOLvsYrx.53.RRdClrY96sOAJQ-1762372775-1.0.1.1-3Iw6c6gXzY4R9roJc1DgjBy1H7ivO3YFfWTOBlvXVy6IsDXvl2v90RRBoEpFr6X.FpDa4A.PEy1iUorLKBvchrvRQNO9lMkfgoowCjaeaMM; - path=/; expires=Wed, 05-Nov-25 20:29:35 GMT; domain=.api.openai.com; HttpOnly; + - __cf_bm=jGvYkUDYykyI2wN6rTT6EM4P8KNsMaW66XlMLxX1oCo-1764604488-1.0.1.1-cZBpqnjzHgFS5_6MzRRzS4dXzX4fn70uAO71QaAVY6Yu22_SsD0.uO3hwq88nUsEJEWSv7xB0pVubypHWf5DW6rE4eSVu3X2xCotp2MCSXo; + path=/; expires=Mon, 01-Dec-25 16:24:48 GMT; domain=.api.openai.com; HttpOnly; Secure; SameSite=None - - _cfuvid=aCx4DYeiGnXIc2i1FJ.nJ_1E6IqKWDeeh54ze3xZmDk-1762372775237-0.0.1.1-604800000; + - _cfuvid=4DwgndlaXyh5HQ9QpTHS2cyaNc.LojaKh8Ho30tD5Ws-1764604488898-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: '1582' + x-envoy-upstream-service-time: '2069' x-ratelimit-limit-requests: '10000' x-ratelimit-limit-tokens: '30000000' x-ratelimit-remaining-requests: '9999' x-ratelimit-remaining-tokens: '29999597' x-ratelimit-reset-requests: 6ms x-ratelimit-reset-tokens: 0s - x-request-id: req_2f42a135fa50452eb404b34054e30ec6 + x-request-id: req_61885af1d4174151b12945bcf6c560c5 body: string: |- { - "id": "resp_0d43fef7b272552901690baca5ab9c81948acefe774c3465e2", + "id": "resp_0d2275ebb992f36d01692dba46cdf88196b48cd063171b718e", "object": "response", - "created_at": 1762372773, + "created_at": 1764604486, "status": "completed", "background": false, "billing": { @@ -190,7 +190,7 @@ http_interactions: "model": "gpt-4o-2024-08-06", "output": [ { - "id": "msg_0d43fef7b272552901690baca6a2e88194a73753c4a1fe7d58", + "id": "msg_0d2275ebb992f36d01692dba4803b08196ba5eb11d00a9590f", "type": "message", "status": "completed", "content": [ @@ -198,7 +198,7 @@ http_interactions: "type": "output_text", "annotations": [], "logprobs": [], - "text": "Neil Armstrong touched down on the moon on July 20, 1969. As of June 2025, that was almost 56 years ago." + "text": "Neil Armstrong landed on the moon on July 20, 1969. As of June 25, 2025, that was 55 years ago." } ], "role": "assistant" @@ -256,14 +256,14 @@ http_interactions: "input_tokens_details": { "cached_tokens": 0 }, - "output_tokens": 33, + "output_tokens": 34, "output_tokens_details": { "reasoning_tokens": 0 }, - "total_tokens": 219 + "total_tokens": 220 }, "user": null, "metadata": {} } - recorded_at: 2025-11-05 19:59:35 + recorded_at: 2025-12-01 15:54:48 recorded_with: VCR-vcr/2.0.0