diff --git a/.changeset/ai-sdk-evaluate.md b/.changeset/ai-sdk-evaluate.md new file mode 100644 index 000000000..98865ae40 --- /dev/null +++ b/.changeset/ai-sdk-evaluate.md @@ -0,0 +1,5 @@ +--- +"braintrust": minor +--- + +feat: Add AI SDK instrumentation for typesafe ai jev diff --git a/e2e/config/pr-comment-scenarios.json b/e2e/config/pr-comment-scenarios.json index 0540d6c3a..26b4ada1d 100644 --- a/e2e/config/pr-comment-scenarios.json +++ b/e2e/config/pr-comment-scenarios.json @@ -601,11 +601,11 @@ }, { "variantKey": "ai-sdk-v7", - "label": "v7 pinned" + "label": "v7 pinned (including evaluate)" }, { "variantKey": "ai-sdk-v7-latest", - "label": "v7 latest" + "label": "v7 latest (including evaluate)" } ] }, diff --git a/e2e/scenarios/ai-sdk-instrumentation/__cassettes__/ai-sdk-v7.cassette.blobs/9a14a7a518e93b520c904dd30764c1ad41fd7d47fe63606d39e6da1e58f3a0bc.bin b/e2e/scenarios/ai-sdk-instrumentation/__cassettes__/ai-sdk-v7-latest.cassette.blobs/9a14a7a518e93b520c904dd30764c1ad41fd7d47fe63606d39e6da1e58f3a0bc.bin similarity index 100% rename from e2e/scenarios/ai-sdk-instrumentation/__cassettes__/ai-sdk-v7.cassette.blobs/9a14a7a518e93b520c904dd30764c1ad41fd7d47fe63606d39e6da1e58f3a0bc.bin rename to e2e/scenarios/ai-sdk-instrumentation/__cassettes__/ai-sdk-v7-latest.cassette.blobs/9a14a7a518e93b520c904dd30764c1ad41fd7d47fe63606d39e6da1e58f3a0bc.bin diff --git a/e2e/scenarios/ai-sdk-instrumentation/__cassettes__/ai-sdk-v7-latest.cassette.json b/e2e/scenarios/ai-sdk-instrumentation/__cassettes__/ai-sdk-v7-latest.cassette.json index e8de5ae83..304a94807 100644 --- a/e2e/scenarios/ai-sdk-instrumentation/__cassettes__/ai-sdk-v7-latest.cassette.json +++ b/e2e/scenarios/ai-sdk-instrumentation/__cassettes__/ai-sdk-v7-latest.cassette.json @@ -1,10 +1,153 @@ { "entries": [ + { + "callIndex": 0, + "id": "3bd9e1df6d2ae887", + "matchKey": "POST api.typesafe.ai/v1/systemone", + "recordedAt": "2026-09-17T10:42:07.445Z", + "request": { + "body": { + "kind": "json", + "value": { + "model": "jev-latest", + "questions": { + "category": { + "criteria": { + "billing": "Payments and refunds", + "technical": "Software problems" + }, + "instructions": "Which team should handle this request?", + "type": "choice" + }, + "duplicate": { + "instructions": "Does the customer report a duplicate charge?", + "type": "noul" + }, + "urgency": { + "criteria": ["Low", "Medium", "High"], + "instructions": "How urgent is this request?", + "type": "score" + } + }, + "state": { + "message": "I was charged twice for my subscription. Please refund the duplicate charge." + } + } + }, + "headers": {}, + "method": "POST", + "url": "https://api.typesafe.ai/v1/systemone" + }, + "response": { + "body": { + "kind": "json", + "value": { + "answers": { + "category": { + "choice": "billing", + "confidence": 1, + "probabilities": { + "billing": 1, + "technical": 0 + }, + "type": "choice" + }, + "duplicate": { + "noul": 0.99, + "type": "noul" + }, + "urgency": { + "confidence": 0.74, + "legend": { + "0": "Low", + "1": "Medium", + "2": "High" + }, + "probabilities": { + "0": 0.03, + "1": 0.82, + "2": 0.15 + }, + "score": 1.12, + "type": "score" + } + }, + "model": "jev-1.13.0", + "usage": { + "input_tokens": 382, + "output_tokens": 62 + } + } + }, + "headers": { + "content-length": "383", + "content-type": "application/json", + "date": "Thu, 17 Sep 2026 10:42:06 GMT", + "server": "istio-envoy", + "x-envoy-upstream-service-time": "58", + "x-typesafe-request-id": "req_01a0aef59d817d5d99ccd8b515e2b87f" + }, + "status": 200, + "statusText": "OK" + } + }, + { + "callIndex": 1, + "id": "477ce75c8278a6a0", + "matchKey": "POST api.typesafe.ai/v1/systemone", + "recordedAt": "2026-09-17T10:42:07.580Z", + "request": { + "body": { + "kind": "json", + "value": { + "model": "jev-latest", + "questions": { + "positive": { + "instructions": "Was the delivery successful?", + "type": "noul" + } + }, + "state": "The package arrived intact and on time." + } + }, + "headers": {}, + "method": "POST", + "url": "https://api.typesafe.ai/v1/systemone" + }, + "response": { + "body": { + "kind": "json", + "value": { + "answers": { + "positive": { + "noul": 0.97, + "type": "noul" + } + }, + "model": "jev-1.13.0", + "usage": { + "input_tokens": 279, + "output_tokens": 20 + } + } + }, + "headers": { + "content-length": "121", + "content-type": "application/json", + "date": "Thu, 17 Sep 2026 10:42:06 GMT", + "server": "istio-envoy", + "x-envoy-upstream-service-time": "61", + "x-typesafe-request-id": "req_01a0aef59e067af691296075c09726d7" + }, + "status": 200, + "statusText": "OK" + } + }, { "callIndex": 0, "id": "9aa262365558ebc2", "matchKey": "POST api.openai.com/v1/responses", - "recordedAt": "2026-08-12T03:24:22.135Z", + "recordedAt": "2026-09-17T10:42:08.271Z", "request": { "body": { "kind": "json", @@ -37,11 +180,11 @@ "billing": { "payer": "developer" }, - "completed_at": 1786505061, - "created_at": 1786505061, + "completed_at": 1789641728, + "created_at": 1789641727, "error": null, "frequency_penalty": 0, - "id": "resp_0709f2747f8ef0ed006a7be7657ad4819cbc7091fc3df09960", + "id": "resp_00c533ba50419219006aabc3ffaa9087d2a3e139caec7e609d", "incomplete_details": null, "instructions": null, "max_output_tokens": 24, @@ -60,7 +203,7 @@ "type": "output_text" } ], - "id": "msg_0709f2747f8ef0ed006a7be765e890819caee04be7abb9b472", + "id": "msg_00c533ba50419219006aabc4000a3887d2a489fa170b4bff28", "role": "assistant", "status": "completed", "type": "message" @@ -129,13 +272,13 @@ "access-control-expose-headers": "X-Request-ID, CF-Ray, CF-Ray", "alt-svc": "h3=\":443\"; ma=86400", "cf-cache-status": "DYNAMIC", - "cf-ray": "a29c5dd9fb5155c5-IAD", + "cf-ray": "a3c7809d89b79adc-IAD", "connection": "keep-alive", "content-encoding": "gzip", "content-type": "application/json", - "date": "Wed, 12 Aug 2026 03:24:22 GMT", + "date": "Thu, 17 Sep 2026 10:42:08 GMT", "openai-organization": "braintrust-data", - "openai-processing-ms": "581", + "openai-processing-ms": "580", "openai-project": "proj_vsCSXafhhByzWOThMrJcZiw9", "openai-version": "2020-10-01", "server": "cloudflare", @@ -149,7 +292,7 @@ "x-ratelimit-remaining-tokens": "149999962", "x-ratelimit-reset-requests": "2ms", "x-ratelimit-reset-tokens": "0s", - "x-request-id": "req_2983574f34804e86a2e78b79f46c3e99" + "x-request-id": "req_9b47047b57114af696c3c035fdcba572" }, "status": 200, "statusText": "OK" @@ -159,7 +302,7 @@ "callIndex": 1, "id": "9e077c56377ca81c", "matchKey": "POST api.openai.com/v1/responses", - "recordedAt": "2026-08-12T03:24:22.713Z", + "recordedAt": "2026-09-17T10:42:09.054Z", "request": { "body": { "kind": "json", @@ -210,11 +353,11 @@ "billing": { "payer": "developer" }, - "completed_at": 1786505062, - "created_at": 1786505062, + "completed_at": 1789641728, + "created_at": 1789641728, "error": null, "frequency_penalty": 0, - "id": "resp_0e52fb4afdc09ad5006a7be7663474819c99d935cea2afc6ff", + "id": "resp_01e910f2e5e4882e006aabc4005b9c87d2b3a52acb19672ad3", "incomplete_details": null, "instructions": null, "max_output_tokens": 32, @@ -233,7 +376,7 @@ "type": "output_text" } ], - "id": "msg_0e52fb4afdc09ad5006a7be7668508819cb1a45c98a13a2873", + "id": "msg_01e910f2e5e4882e006aabc400dadc87d28fa99203896e4b04", "role": "assistant", "status": "completed", "type": "message" @@ -315,13 +458,13 @@ "access-control-expose-headers": "X-Request-ID, CF-Ray, CF-Ray", "alt-svc": "h3=\":443\"; ma=86400", "cf-cache-status": "DYNAMIC", - "cf-ray": "a29c5dde78d855c5-IAD", + "cf-ray": "a3c780a1eff39adc-IAD", "connection": "keep-alive", "content-encoding": "gzip", "content-type": "application/json", - "date": "Wed, 12 Aug 2026 03:24:22 GMT", + "date": "Thu, 17 Sep 2026 10:42:09 GMT", "openai-organization": "braintrust-data", - "openai-processing-ms": "485", + "openai-processing-ms": "676", "openai-project": "proj_vsCSXafhhByzWOThMrJcZiw9", "openai-version": "2020-10-01", "server": "cloudflare", @@ -335,7 +478,7 @@ "x-ratelimit-remaining-tokens": "149999935", "x-ratelimit-reset-requests": "2ms", "x-ratelimit-reset-tokens": "0s", - "x-request-id": "req_a479f4aae8bc4aa995d9a94b54705af1" + "x-request-id": "req_6b7ccaed98a244c5a3907f866af5eeec" }, "status": 200, "statusText": "OK" @@ -345,7 +488,7 @@ "callIndex": 2, "id": "bdbf85bb8f9015c8", "matchKey": "POST api.openai.com/v1/responses", - "recordedAt": "2026-08-12T03:24:23.359Z", + "recordedAt": "2026-09-17T10:42:09.696Z", "request": { "body": { "kind": "json", @@ -374,20 +517,20 @@ "response": { "body": { "chunks": [ - "event: response.created\ndata: {\"type\":\"response.created\",\"response\":{\"id\":\"resp_0b461e807f507f5a006a7be766c314819e971536b9d17a845a\",\"object\":\"response\",\"created_at\":1786505062,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":32,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"auto\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":0}", - "event: response.in_progress\ndata: {\"type\":\"response.in_progress\",\"response\":{\"id\":\"resp_0b461e807f507f5a006a7be766c314819e971536b9d17a845a\",\"object\":\"response\",\"created_at\":1786505062,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":32,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"auto\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":1}", - "event: response.output_item.added\ndata: {\"type\":\"response.output_item.added\",\"item\":{\"id\":\"msg_0b461e807f507f5a006a7be7672a94819ebf4c83669ccbd33b\",\"type\":\"message\",\"status\":\"in_progress\",\"content\":[],\"role\":\"assistant\"},\"output_index\":0,\"sequence_number\":2}", - "event: response.content_part.added\ndata: {\"type\":\"response.content_part.added\",\"content_index\":0,\"item_id\":\"msg_0b461e807f507f5a006a7be7672a94819ebf4c83669ccbd33b\",\"output_index\":0,\"part\":{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"\"},\"sequence_number\":3}", - "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"One\",\"item_id\":\"msg_0b461e807f507f5a006a7be7672a94819ebf4c83669ccbd33b\",\"logprobs\":[],\"obfuscation\":\"bR5ffufXFQwbj\",\"output_index\":0,\"sequence_number\":4}", - "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\",\",\"item_id\":\"msg_0b461e807f507f5a006a7be7672a94819ebf4c83669ccbd33b\",\"logprobs\":[],\"obfuscation\":\"woakZFJNGB30XQw\",\"output_index\":0,\"sequence_number\":5}", - "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" two\",\"item_id\":\"msg_0b461e807f507f5a006a7be7672a94819ebf4c83669ccbd33b\",\"logprobs\":[],\"obfuscation\":\"WBTJazPXE7qj\",\"output_index\":0,\"sequence_number\":6}", - "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\",\",\"item_id\":\"msg_0b461e807f507f5a006a7be7672a94819ebf4c83669ccbd33b\",\"logprobs\":[],\"obfuscation\":\"Uh5jd8CUlpbpOFu\",\"output_index\":0,\"sequence_number\":7}", - "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" three\",\"item_id\":\"msg_0b461e807f507f5a006a7be7672a94819ebf4c83669ccbd33b\",\"logprobs\":[],\"obfuscation\":\"O6bS6HBhMO\",\"output_index\":0,\"sequence_number\":8}", - "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\".\",\"item_id\":\"msg_0b461e807f507f5a006a7be7672a94819ebf4c83669ccbd33b\",\"logprobs\":[],\"obfuscation\":\"YiPt8q1AE09bmz2\",\"output_index\":0,\"sequence_number\":9}", - "event: response.output_text.done\ndata: {\"type\":\"response.output_text.done\",\"content_index\":0,\"item_id\":\"msg_0b461e807f507f5a006a7be7672a94819ebf4c83669ccbd33b\",\"logprobs\":[],\"output_index\":0,\"sequence_number\":10,\"text\":\"One, two, three.\"}", - "event: response.content_part.done\ndata: {\"type\":\"response.content_part.done\",\"content_index\":0,\"item_id\":\"msg_0b461e807f507f5a006a7be7672a94819ebf4c83669ccbd33b\",\"output_index\":0,\"part\":{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"One, two, three.\"},\"sequence_number\":11}", - "event: response.output_item.done\ndata: {\"type\":\"response.output_item.done\",\"item\":{\"id\":\"msg_0b461e807f507f5a006a7be7672a94819ebf4c83669ccbd33b\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"One, two, three.\"}],\"role\":\"assistant\"},\"output_index\":0,\"sequence_number\":12}", - "event: response.completed\ndata: {\"type\":\"response.completed\",\"response\":{\"id\":\"resp_0b461e807f507f5a006a7be766c314819e971536b9d17a845a\",\"object\":\"response\",\"created_at\":1786505062,\"status\":\"completed\",\"background\":false,\"completed_at\":1786505063,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":32,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[{\"id\":\"msg_0b461e807f507f5a006a7be7672a94819ebf4c83669ccbd33b\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"One, two, three.\"}],\"role\":\"assistant\"}],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"default\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"auto\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":{\"input_tokens\":22,\"input_tokens_details\":{\"cache_write_tokens\":0,\"cached_tokens\":0},\"output_tokens\":7,\"output_tokens_details\":{\"reasoning_tokens\":0},\"total_tokens\":29},\"user\":null,\"metadata\":{}},\"sequence_number\":13}" + "event: response.created\ndata: {\"type\":\"response.created\",\"response\":{\"id\":\"resp_0c44aab4abfb26e1006aabc40125e887d2a7ad07cac9c94d4e\",\"object\":\"response\",\"created_at\":1789641729,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":32,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"auto\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":0}", + "event: response.in_progress\ndata: {\"type\":\"response.in_progress\",\"response\":{\"id\":\"resp_0c44aab4abfb26e1006aabc40125e887d2a7ad07cac9c94d4e\",\"object\":\"response\",\"created_at\":1789641729,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":32,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"auto\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":1}", + "event: response.output_item.added\ndata: {\"type\":\"response.output_item.added\",\"item\":{\"id\":\"msg_0c44aab4abfb26e1006aabc401767087d28c9b3148ea8550b1\",\"type\":\"message\",\"status\":\"in_progress\",\"content\":[],\"role\":\"assistant\"},\"output_index\":0,\"sequence_number\":2}", + "event: response.content_part.added\ndata: {\"type\":\"response.content_part.added\",\"content_index\":0,\"item_id\":\"msg_0c44aab4abfb26e1006aabc401767087d28c9b3148ea8550b1\",\"output_index\":0,\"part\":{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"\"},\"sequence_number\":3}", + "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"One\",\"item_id\":\"msg_0c44aab4abfb26e1006aabc401767087d28c9b3148ea8550b1\",\"logprobs\":[],\"obfuscation\":\"aHkzRRR9Cmx4P\",\"output_index\":0,\"sequence_number\":4}", + "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\",\",\"item_id\":\"msg_0c44aab4abfb26e1006aabc401767087d28c9b3148ea8550b1\",\"logprobs\":[],\"obfuscation\":\"4461QQFpCjw7awG\",\"output_index\":0,\"sequence_number\":5}", + "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" two\",\"item_id\":\"msg_0c44aab4abfb26e1006aabc401767087d28c9b3148ea8550b1\",\"logprobs\":[],\"obfuscation\":\"Q9N3IYPlSsUI\",\"output_index\":0,\"sequence_number\":6}", + "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\",\",\"item_id\":\"msg_0c44aab4abfb26e1006aabc401767087d28c9b3148ea8550b1\",\"logprobs\":[],\"obfuscation\":\"926XdYzuVPJi5al\",\"output_index\":0,\"sequence_number\":7}", + "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" three\",\"item_id\":\"msg_0c44aab4abfb26e1006aabc401767087d28c9b3148ea8550b1\",\"logprobs\":[],\"obfuscation\":\"fr10nCjWgN\",\"output_index\":0,\"sequence_number\":8}", + "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\".\",\"item_id\":\"msg_0c44aab4abfb26e1006aabc401767087d28c9b3148ea8550b1\",\"logprobs\":[],\"obfuscation\":\"Mby88vgBkMYK4Yl\",\"output_index\":0,\"sequence_number\":9}", + "event: response.output_text.done\ndata: {\"type\":\"response.output_text.done\",\"content_index\":0,\"item_id\":\"msg_0c44aab4abfb26e1006aabc401767087d28c9b3148ea8550b1\",\"logprobs\":[],\"output_index\":0,\"sequence_number\":10,\"text\":\"One, two, three.\"}", + "event: response.content_part.done\ndata: {\"type\":\"response.content_part.done\",\"content_index\":0,\"item_id\":\"msg_0c44aab4abfb26e1006aabc401767087d28c9b3148ea8550b1\",\"output_index\":0,\"part\":{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"One, two, three.\"},\"sequence_number\":11}", + "event: response.output_item.done\ndata: {\"type\":\"response.output_item.done\",\"item\":{\"id\":\"msg_0c44aab4abfb26e1006aabc401767087d28c9b3148ea8550b1\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"One, two, three.\"}],\"role\":\"assistant\"},\"output_index\":0,\"sequence_number\":12}", + "event: response.completed\ndata: {\"type\":\"response.completed\",\"response\":{\"id\":\"resp_0c44aab4abfb26e1006aabc40125e887d2a7ad07cac9c94d4e\",\"object\":\"response\",\"created_at\":1789641729,\"status\":\"completed\",\"background\":false,\"completed_at\":1789641729,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":32,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[{\"id\":\"msg_0c44aab4abfb26e1006aabc401767087d28c9b3148ea8550b1\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"One, two, three.\"}],\"role\":\"assistant\"}],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"default\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"auto\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":{\"input_tokens\":22,\"input_tokens_details\":{\"cache_write_tokens\":0,\"cached_tokens\":0},\"output_tokens\":7,\"output_tokens_details\":{\"reasoning_tokens\":0},\"total_tokens\":29},\"user\":null,\"metadata\":{}},\"sequence_number\":13}" ], "kind": "sse" }, @@ -395,12 +538,12 @@ "access-control-expose-headers": "X-Request-ID, CF-Ray, CF-Ray", "alt-svc": "h3=\":443\"; ma=86400", "cf-cache-status": "DYNAMIC", - "cf-ray": "a29c5de209e655c5-IAD", + "cf-ray": "a3c780a6ce149adc-IAD", "connection": "keep-alive", "content-type": "text/event-stream; charset=utf-8", - "date": "Wed, 12 Aug 2026 03:24:22 GMT", + "date": "Thu, 17 Sep 2026 10:42:09 GMT", "openai-organization": "braintrust-data", - "openai-processing-ms": "105", + "openai-processing-ms": "340", "openai-project": "proj_vsCSXafhhByzWOThMrJcZiw9", "openai-version": "2020-10-01", "server": "cloudflare", @@ -408,7 +551,13 @@ "strict-transport-security": "max-age=31536000; includeSubDomains; preload", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-request-id": "req_83929d202a77445d825c9dcc51084e5a" + "x-ratelimit-limit-requests": "30000", + "x-ratelimit-limit-tokens": "150000000", + "x-ratelimit-remaining-requests": "29999", + "x-ratelimit-remaining-tokens": "149999957", + "x-ratelimit-reset-requests": "2ms", + "x-ratelimit-reset-tokens": "0s", + "x-request-id": "req_96c0de4f268042b9ad3bb11fe05c35ec" }, "status": 200, "statusText": "OK" @@ -418,7 +567,7 @@ "callIndex": 0, "id": "49a95bf2b3466013", "matchKey": "POST api.openai.com/v1/embeddings", - "recordedAt": "2026-08-12T03:24:23.521Z", + "recordedAt": "2026-09-17T10:42:09.961Z", "request": { "body": { "kind": "json", @@ -1009,13 +1158,13 @@ "access-control-expose-headers": "X-Request-ID, CF-Ray, CF-Ray", "alt-svc": "h3=\":443\"; ma=86400", "cf-cache-status": "DYNAMIC", - "cf-ray": "a29c5de61c9d55c5-IAD", + "cf-ray": "a3c780aaea3d9adc-IAD", "connection": "keep-alive", "content-encoding": "gzip", "content-type": "application/json", - "date": "Wed, 12 Aug 2026 03:24:23 GMT", + "date": "Thu, 17 Sep 2026 10:42:09 GMT", "openai-organization": "braintrust-data", - "openai-processing-ms": "76", + "openai-processing-ms": "157", "openai-project": "proj_vsCSXafhhByzWOThMrJcZiw9", "openai-version": "2020-10-01", "server": "cloudflare", @@ -1030,7 +1179,7 @@ "x-ratelimit-remaining-tokens": "9999993", "x-ratelimit-reset-requests": "6ms", "x-ratelimit-reset-tokens": "0s", - "x-request-id": "req_d807b25c33844f76a9dcbc5db7f89105" + "x-request-id": "req_45c1b917a89f4ec78b93b2c0675a11bc" }, "status": 200, "statusText": "OK" @@ -1040,7 +1189,7 @@ "callIndex": 1, "id": "fcc3d17c88f1552b", "matchKey": "POST api.openai.com/v1/embeddings", - "recordedAt": "2026-08-12T03:24:23.688Z", + "recordedAt": "2026-09-17T10:42:10.144Z", "request": { "body": { "kind": "json", @@ -1062,18 +1211,18 @@ "body": { "contentType": "application/json", "kind": "binary", - "path": "ai-sdk-v7-latest.cassette.blobs/92f733cbd438775e360279f4737e012522d5b7d515c6311656914ec416d3fce8.bin", - "sha256": "92f733cbd438775e360279f4737e012522d5b7d515c6311656914ec416d3fce8" + "path": "ai-sdk-v7-latest.cassette.blobs/9a14a7a518e93b520c904dd30764c1ad41fd7d47fe63606d39e6da1e58f3a0bc.bin", + "sha256": "9a14a7a518e93b520c904dd30764c1ad41fd7d47fe63606d39e6da1e58f3a0bc" }, "headers": { "access-control-expose-headers": "X-Request-ID, CF-Ray, CF-Ray", "alt-svc": "h3=\":443\"; ma=86400", "cf-cache-status": "DYNAMIC", - "cf-ray": "a29c5de6fedf55c5-IAD", + "cf-ray": "a3c780ac5e499adc-IAD", "connection": "keep-alive", "content-encoding": "gzip", "content-type": "application/json", - "date": "Wed, 12 Aug 2026 03:24:23 GMT", + "date": "Thu, 17 Sep 2026 10:42:10 GMT", "openai-organization": "braintrust-data", "openai-processing-ms": "104", "openai-project": "proj_vsCSXafhhByzWOThMrJcZiw9", @@ -1090,7 +1239,7 @@ "x-ratelimit-remaining-tokens": "9999985", "x-ratelimit-reset-requests": "6ms", "x-ratelimit-reset-tokens": "0s", - "x-request-id": "req_dda99c3184654cbead2e1f4be4091853" + "x-request-id": "req_8591c46b74fd4940a5f6f4d4e0a81151" }, "status": 200, "statusText": "OK" @@ -1100,7 +1249,7 @@ "callIndex": 0, "id": "064d11f1077567e7", "matchKey": "POST api.cohere.com/v2/rerank", - "recordedAt": "2026-08-12T03:24:23.792Z", + "recordedAt": "2026-09-17T10:42:10.232Z", "request": { "body": { "kind": "json", @@ -1123,7 +1272,7 @@ "body": { "kind": "json", "value": { - "id": "c3756d1b-0c2c-48d0-9ee6-fdc9051eca8b", + "id": "32f25b83-a9e6-4362-a8ad-13891ac45127", "meta": { "api_version": { "version": "2" @@ -1135,7 +1284,7 @@ "results": [ { "index": 1, - "relevance_score": 0.06657539 + "relevance_score": 0.06664825 }, { "index": 0, @@ -1150,7 +1299,7 @@ "cache-control": "no-cache, no-store, no-transform, must-revalidate, private, max-age=0", "content-encoding": "gzip", "content-type": "application/json", - "date": "Wed, 12 Aug 2026 03:24:23 GMT", + "date": "Thu, 17 Sep 2026 10:42:10 GMT", "expires": "Thu, 01 Jan 1970 00:00:00 GMT", "pragma": "no-cache", "server": "envoy", @@ -1158,8 +1307,8 @@ "vary": "Origin,Accept-Encoding", "via": "1.1 google", "x-accel-expires": "0", - "x-debug-trace-id": "0ea7d8d5533b26e40523546284652961", - "x-envoy-upstream-service-time": "45" + "x-debug-trace-id": "5a3d147f9db7749b1fb2c312dbd383fb", + "x-envoy-upstream-service-time": "35" }, "status": 200, "statusText": "OK" @@ -1169,7 +1318,7 @@ "callIndex": 3, "id": "e09f32cc805b35e9", "matchKey": "POST api.openai.com/v1/responses", - "recordedAt": "2026-08-12T03:24:24.571Z", + "recordedAt": "2026-09-17T10:42:10.824Z", "request": { "body": { "kind": "json", @@ -1226,11 +1375,11 @@ "billing": { "payer": "developer" }, - "completed_at": 1786505064, - "created_at": 1786505063, + "completed_at": 1789641730, + "created_at": 1789641730, "error": null, "frequency_penalty": 0, - "id": "resp_07b5933bf6fadff7006a7be767d5e881a38547fd767852b95b", + "id": "resp_015d012871fccb26006aabc4024e3487d2b395f572dbb72c94", "incomplete_details": null, "instructions": null, "max_output_tokens": 128, @@ -1242,8 +1391,8 @@ "output": [ { "arguments": "{\"location\":\"Paris, France\"}", - "call_id": "call_9VV8FnA3IsKGS7OY7w7VIeM0", - "id": "fc_07b5933bf6fadff7006a7be76844a881a3aee46f85e131d282", + "call_id": "call_wtL2XgiH24I5mTwFyRHB386c", + "id": "fc_015d012871fccb26006aabc4029f5487d2988f065037856713", "name": "get_weather", "status": "completed", "type": "function_call" @@ -1332,13 +1481,13 @@ "access-control-expose-headers": "X-Request-ID, CF-Ray, CF-Ray", "alt-svc": "h3=\":443\"; ma=86400", "cf-cache-status": "DYNAMIC", - "cf-ray": "a29c5de8bb2355c5-IAD", + "cf-ray": "a3c780ae1bc39adc-IAD", "connection": "keep-alive", "content-encoding": "gzip", "content-type": "application/json", - "date": "Wed, 12 Aug 2026 03:24:24 GMT", + "date": "Thu, 17 Sep 2026 10:42:10 GMT", "openai-organization": "braintrust-data", - "openai-processing-ms": "658", + "openai-processing-ms": "508", "openai-project": "proj_vsCSXafhhByzWOThMrJcZiw9", "openai-version": "2020-10-01", "server": "cloudflare", @@ -1349,10 +1498,10 @@ "x-ratelimit-limit-requests": "30000", "x-ratelimit-limit-tokens": "150000000", "x-ratelimit-remaining-requests": "29999", - "x-ratelimit-remaining-tokens": "149999687", + "x-ratelimit-remaining-tokens": "149999690", "x-ratelimit-reset-requests": "2ms", "x-ratelimit-reset-tokens": "0s", - "x-request-id": "req_a76af6a5a297434d95ade0bce1479263" + "x-request-id": "req_102e9e632770473488def3045871fb2a" }, "status": 200, "statusText": "OK" @@ -1360,9 +1509,9 @@ }, { "callIndex": 4, - "id": "a66751ca0e851033", + "id": "8030a04a7ebfff30", "matchKey": "POST api.openai.com/v1/responses", - "recordedAt": "2026-08-12T03:24:25.266Z", + "recordedAt": "2026-09-17T10:42:11.556Z", "request": { "body": { "kind": "json", @@ -1383,12 +1532,12 @@ }, { "arguments": "{\"location\":\"Paris, France\"}", - "call_id": "call_9VV8FnA3IsKGS7OY7w7VIeM0", + "call_id": "call_wtL2XgiH24I5mTwFyRHB386c", "name": "get_weather", "type": "function_call" }, { - "call_id": "call_9VV8FnA3IsKGS7OY7w7VIeM0", + "call_id": "call_wtL2XgiH24I5mTwFyRHB386c", "output": "{\"condition\":\"sunny\",\"location\":\"Paris, France\",\"temperatureC\":22}", "type": "function_call_output" } @@ -1430,11 +1579,11 @@ "billing": { "payer": "developer" }, - "completed_at": 1786505065, - "created_at": 1786505064, + "completed_at": 1789641731, + "created_at": 1789641730, "error": null, "frequency_penalty": 0, - "id": "resp_0ebfe244cd23fb94006a7be7689d2481a3876c49d94beb49ab", + "id": "resp_04df60a53e5c9a8c006aabc402e9c887d288411d6f75ea38f3", "incomplete_details": null, "instructions": null, "max_output_tokens": 128, @@ -1446,8 +1595,8 @@ "output": [ { "arguments": "{\"location\":\"Paris, France\"}", - "call_id": "call_OAeh7LZtnoGtKsFOsYLCwm70", - "id": "fc_0ebfe244cd23fb94006a7be769025881a3aee9b3a189067158", + "call_id": "call_lvwSPizCBpDpEa0we9kKtAVN", + "id": "fc_04df60a53e5c9a8c006aabc40344b887d2affdcdb022af0eed", "name": "get_weather", "status": "completed", "type": "function_call" @@ -1536,13 +1685,13 @@ "access-control-expose-headers": "X-Request-ID, CF-Ray, CF-Ray", "alt-svc": "h3=\":443\"; ma=86400", "cf-cache-status": "DYNAMIC", - "cf-ray": "a29c5ded981655c5-IAD", + "cf-ray": "a3c780b1ce669adc-IAD", "connection": "keep-alive", "content-encoding": "gzip", "content-type": "application/json", - "date": "Wed, 12 Aug 2026 03:24:25 GMT", + "date": "Thu, 17 Sep 2026 10:42:11 GMT", "openai-organization": "braintrust-data", - "openai-processing-ms": "621", + "openai-processing-ms": "607", "openai-project": "proj_vsCSXafhhByzWOThMrJcZiw9", "openai-version": "2020-10-01", "server": "cloudflare", @@ -1556,7 +1705,7 @@ "x-ratelimit-remaining-tokens": "149999650", "x-ratelimit-reset-requests": "2ms", "x-ratelimit-reset-tokens": "0s", - "x-request-id": "req_537aa11064dc4d01a34e0789e484985b" + "x-request-id": "req_e6b9a5dde6024f0ea10543cf9ea027ba" }, "status": 200, "statusText": "OK" @@ -1564,9 +1713,9 @@ }, { "callIndex": 5, - "id": "411caa88a9e7de7e", + "id": "48358abcfdc93bf0", "matchKey": "POST api.openai.com/v1/responses", - "recordedAt": "2026-08-12T03:24:25.899Z", + "recordedAt": "2026-09-17T10:42:12.246Z", "request": { "body": { "kind": "json", @@ -1587,23 +1736,23 @@ }, { "arguments": "{\"location\":\"Paris, France\"}", - "call_id": "call_9VV8FnA3IsKGS7OY7w7VIeM0", + "call_id": "call_wtL2XgiH24I5mTwFyRHB386c", "name": "get_weather", "type": "function_call" }, { - "call_id": "call_9VV8FnA3IsKGS7OY7w7VIeM0", + "call_id": "call_wtL2XgiH24I5mTwFyRHB386c", "output": "{\"condition\":\"sunny\",\"location\":\"Paris, France\",\"temperatureC\":22}", "type": "function_call_output" }, { "arguments": "{\"location\":\"Paris, France\"}", - "call_id": "call_OAeh7LZtnoGtKsFOsYLCwm70", + "call_id": "call_lvwSPizCBpDpEa0we9kKtAVN", "name": "get_weather", "type": "function_call" }, { - "call_id": "call_OAeh7LZtnoGtKsFOsYLCwm70", + "call_id": "call_lvwSPizCBpDpEa0we9kKtAVN", "output": "{\"condition\":\"sunny\",\"location\":\"Paris, France\",\"temperatureC\":22}", "type": "function_call_output" } @@ -1645,11 +1794,11 @@ "billing": { "payer": "developer" }, - "completed_at": 1786505065, - "created_at": 1786505065, + "completed_at": 1789641732, + "created_at": 1789641731, "error": null, "frequency_penalty": 0, - "id": "resp_0fa39da86c50662a006a7be76950b481a09cf5016f85f97d07", + "id": "resp_0a8d34207c3abad0006aabc403abfc87d2a949351074bfe4e5", "incomplete_details": null, "instructions": null, "max_output_tokens": 128, @@ -1661,8 +1810,8 @@ "output": [ { "arguments": "{\"location\":\"Paris, France\"}", - "call_id": "call_FizzZsptY3i7nervXBEE9r9M", - "id": "fc_0fa39da86c50662a006a7be769a79c81a0b61c8b804531e9d3", + "call_id": "call_zZ7VEnI66wx7U24hCY8sKu79", + "id": "fc_0a8d34207c3abad0006aabc404041887d2806bae3f86becec7", "name": "get_weather", "status": "completed", "type": "function_call" @@ -1751,13 +1900,13 @@ "access-control-expose-headers": "X-Request-ID, CF-Ray, CF-Ray", "alt-svc": "h3=\":443\"; ma=86400", "cf-cache-status": "DYNAMIC", - "cf-ray": "a29c5df1ee1955c5-IAD", + "cf-ray": "a3c780b65bfe9adc-IAD", "connection": "keep-alive", "content-encoding": "gzip", "content-type": "application/json", - "date": "Wed, 12 Aug 2026 03:24:25 GMT", + "date": "Thu, 17 Sep 2026 10:42:12 GMT", "openai-organization": "braintrust-data", - "openai-processing-ms": "561", + "openai-processing-ms": "566", "openai-project": "proj_vsCSXafhhByzWOThMrJcZiw9", "openai-version": "2020-10-01", "server": "cloudflare", @@ -1768,10 +1917,10 @@ "x-ratelimit-limit-requests": "30000", "x-ratelimit-limit-tokens": "150000000", "x-ratelimit-remaining-requests": "29999", - "x-ratelimit-remaining-tokens": "149999610", + "x-ratelimit-remaining-tokens": "149999612", "x-ratelimit-reset-requests": "2ms", "x-ratelimit-reset-tokens": "0s", - "x-request-id": "req_568ce6bb861a4dbabe41c498aba1a8b6" + "x-request-id": "req_f6c3732a60274149865ee0a0026a4400" }, "status": 200, "statusText": "OK" @@ -1779,9 +1928,9 @@ }, { "callIndex": 6, - "id": "9ce566381453e42f", + "id": "64fa80afb31d0c20", "matchKey": "POST api.openai.com/v1/responses", - "recordedAt": "2026-08-12T03:24:26.756Z", + "recordedAt": "2026-09-17T10:42:12.988Z", "request": { "body": { "kind": "json", @@ -1802,34 +1951,34 @@ }, { "arguments": "{\"location\":\"Paris, France\"}", - "call_id": "call_9VV8FnA3IsKGS7OY7w7VIeM0", + "call_id": "call_wtL2XgiH24I5mTwFyRHB386c", "name": "get_weather", "type": "function_call" }, { - "call_id": "call_9VV8FnA3IsKGS7OY7w7VIeM0", + "call_id": "call_wtL2XgiH24I5mTwFyRHB386c", "output": "{\"condition\":\"sunny\",\"location\":\"Paris, France\",\"temperatureC\":22}", "type": "function_call_output" }, { "arguments": "{\"location\":\"Paris, France\"}", - "call_id": "call_OAeh7LZtnoGtKsFOsYLCwm70", + "call_id": "call_lvwSPizCBpDpEa0we9kKtAVN", "name": "get_weather", "type": "function_call" }, { - "call_id": "call_OAeh7LZtnoGtKsFOsYLCwm70", + "call_id": "call_lvwSPizCBpDpEa0we9kKtAVN", "output": "{\"condition\":\"sunny\",\"location\":\"Paris, France\",\"temperatureC\":22}", "type": "function_call_output" }, { "arguments": "{\"location\":\"Paris, France\"}", - "call_id": "call_FizzZsptY3i7nervXBEE9r9M", + "call_id": "call_zZ7VEnI66wx7U24hCY8sKu79", "name": "get_weather", "type": "function_call" }, { - "call_id": "call_FizzZsptY3i7nervXBEE9r9M", + "call_id": "call_zZ7VEnI66wx7U24hCY8sKu79", "output": "{\"condition\":\"sunny\",\"location\":\"Paris, France\",\"temperatureC\":22}", "type": "function_call_output" } @@ -1871,11 +2020,11 @@ "billing": { "payer": "developer" }, - "completed_at": 1786505066, - "created_at": 1786505065, + "completed_at": 1789641732, + "created_at": 1789641732, "error": null, "frequency_penalty": 0, - "id": "resp_0dfcdb17acb512cc006a7be769f25c819293cd64bb86148604", + "id": "resp_033a4da77b35e3de006aabc40452f087d28fbb826056b1b9bc", "incomplete_details": null, "instructions": null, "max_output_tokens": 128, @@ -1887,8 +2036,8 @@ "output": [ { "arguments": "{\"location\":\"Paris, France\"}", - "call_id": "call_GnZKr3NQH6kq24PDxVaaYPmF", - "id": "fc_0dfcdb17acb512cc006a7be76a72e0819286699448e6af2b1a", + "call_id": "call_G8cUzwixd9CkJblhZMK4Jdtc", + "id": "fc_033a4da77b35e3de006aabc404afac87d2be9eb6371a068335", "name": "get_weather", "status": "completed", "type": "function_call" @@ -1977,13 +2126,13 @@ "access-control-expose-headers": "X-Request-ID, CF-Ray, CF-Ray", "alt-svc": "h3=\":443\"; ma=86400", "cf-cache-status": "DYNAMIC", - "cf-ray": "a29c5df5d90855c5-IAD", + "cf-ray": "a3c780baa8a39adc-IAD", "connection": "keep-alive", "content-encoding": "gzip", "content-type": "application/json", - "date": "Wed, 12 Aug 2026 03:24:26 GMT", + "date": "Thu, 17 Sep 2026 10:42:12 GMT", "openai-organization": "braintrust-data", - "openai-processing-ms": "727", + "openai-processing-ms": "644", "openai-project": "proj_vsCSXafhhByzWOThMrJcZiw9", "openai-version": "2020-10-01", "server": "cloudflare", @@ -1997,7 +2146,7 @@ "x-ratelimit-remaining-tokens": "149999570", "x-ratelimit-reset-requests": "2ms", "x-ratelimit-reset-tokens": "0s", - "x-request-id": "req_f1ecd8fd919740acb2ebb65472923aca" + "x-request-id": "req_f255f5c844ee4b469d8b216cf3a18a34" }, "status": 200, "statusText": "OK" @@ -2007,7 +2156,7 @@ "callIndex": 0, "id": "04d8f7db5dc7b0b8", "matchKey": "POST api.anthropic.com/v1/messages", - "recordedAt": "2026-07-21T08:02:56.484Z", + "recordedAt": "2026-09-17T10:42:13.644Z", "request": { "body": { "kind": "json", @@ -2039,13 +2188,14 @@ "body": { "kind": "json", "value": { + "container": null, "content": [ { "text": "CACHE_OK", "type": "text" } ], - "id": "msg_011CdErU9JFjKLQu9AXL4FBx", + "id": "msg_011Cf8sXkdtbdQJhcor262uJ", "model": "claude-haiku-4-5-20251001", "role": "assistant", "stop_details": null, @@ -2070,27 +2220,28 @@ "anthropic-organization-id": "27796668-7351-40ac-acc4-024aee8995a5", "anthropic-ratelimit-input-tokens-limit": "10000000", "anthropic-ratelimit-input-tokens-remaining": "10000000", - "anthropic-ratelimit-input-tokens-reset": "2026-07-21T08:02:56Z", + "anthropic-ratelimit-input-tokens-reset": "2026-09-17T10:42:13Z", "anthropic-ratelimit-output-tokens-limit": "2000000", "anthropic-ratelimit-output-tokens-remaining": "2000000", - "anthropic-ratelimit-output-tokens-reset": "2026-07-21T08:02:56Z", + "anthropic-ratelimit-output-tokens-reset": "2026-09-17T10:42:13Z", "anthropic-ratelimit-requests-limit": "20000", "anthropic-ratelimit-requests-remaining": "19999", - "anthropic-ratelimit-requests-reset": "2026-07-21T08:02:55Z", + "anthropic-ratelimit-requests-reset": "2026-09-17T10:42:13Z", "anthropic-ratelimit-tokens-limit": "12000000", "anthropic-ratelimit-tokens-remaining": "12000000", - "anthropic-ratelimit-tokens-reset": "2026-07-21T08:02:56Z", + "anthropic-ratelimit-tokens-reset": "2026-09-17T10:42:13Z", + "anthropic-workspace-id": "wrkspc_018bFG1FgNVWqx5pthtdGTzS", "cf-cache-status": "DYNAMIC", - "cf-ray": "a1e8afab39b7fbc5-IAD", + "cf-ray": "a3c780bf6d022d22-IAD", "connection": "keep-alive", "content-encoding": "gzip", "content-security-policy": "default-src 'none'; frame-ancestors 'none'", "content-type": "application/json", - "date": "Tue, 21 Jul 2026 08:02:56 GMT", - "request-id": "req_011CdErU8vBjrSS4tuL6nACN", + "date": "Thu, 17 Sep 2026 10:42:13 GMT", + "request-id": "req_011Cf8sXkJ42Tv8iXuFYkPCE", "server": "cloudflare", "strict-transport-security": "max-age=31536000; includeSubDomains; preload", - "traceresponse": "00-a8d331082efb9442793af9b36b59295d-0845e3377ec3bd74-01", + "traceresponse": "00-8c14997d5becb397bc3f8f25f39f2590-a702e683dddfdd49-01", "transfer-encoding": "chunked", "vary": "Accept-Encoding", "x-robots-tag": "none" @@ -2103,7 +2254,7 @@ "callIndex": 1, "id": "f51018468a0f5811", "matchKey": "POST api.anthropic.com/v1/messages", - "recordedAt": "2026-07-21T08:03:02.171Z", + "recordedAt": "2026-09-17T10:42:19.279Z", "request": { "body": { "kind": "json", @@ -2135,13 +2286,14 @@ "body": { "kind": "json", "value": { + "container": null, "content": [ { "text": "CACHE_OK", "type": "text" } ], - "id": "msg_011CdErUZU4bagcjcqoDbytF", + "id": "msg_011Cf8sYAjEZ6rVdEvyNXYVE", "model": "claude-haiku-4-5-20251001", "role": "assistant", "stop_details": null, @@ -2166,27 +2318,28 @@ "anthropic-organization-id": "27796668-7351-40ac-acc4-024aee8995a5", "anthropic-ratelimit-input-tokens-limit": "10000000", "anthropic-ratelimit-input-tokens-remaining": "10000000", - "anthropic-ratelimit-input-tokens-reset": "2026-07-21T08:03:02Z", + "anthropic-ratelimit-input-tokens-reset": "2026-09-17T10:42:19Z", "anthropic-ratelimit-output-tokens-limit": "2000000", "anthropic-ratelimit-output-tokens-remaining": "2000000", - "anthropic-ratelimit-output-tokens-reset": "2026-07-21T08:03:02Z", + "anthropic-ratelimit-output-tokens-reset": "2026-09-17T10:42:19Z", "anthropic-ratelimit-requests-limit": "20000", "anthropic-ratelimit-requests-remaining": "19999", - "anthropic-ratelimit-requests-reset": "2026-07-21T08:03:01Z", + "anthropic-ratelimit-requests-reset": "2026-09-17T10:42:18Z", "anthropic-ratelimit-tokens-limit": "12000000", "anthropic-ratelimit-tokens-remaining": "12000000", - "anthropic-ratelimit-tokens-reset": "2026-07-21T08:03:02Z", + "anthropic-ratelimit-tokens-reset": "2026-09-17T10:42:19Z", + "anthropic-workspace-id": "wrkspc_018bFG1FgNVWqx5pthtdGTzS", "cf-cache-status": "DYNAMIC", - "cf-ray": "a1e8afce6bdb0de2-IAD", + "cf-ray": "a3c780e2d8810556-IAD", "connection": "keep-alive", "content-encoding": "gzip", "content-security-policy": "default-src 'none'; frame-ancestors 'none'", "content-type": "application/json", - "date": "Tue, 21 Jul 2026 08:03:02 GMT", - "request-id": "req_011CdErUYwZQqvksXhBFrGV5", + "date": "Thu, 17 Sep 2026 10:42:19 GMT", + "request-id": "req_011Cf8sYAP9B2p8gNVNbZ4uy", "server": "cloudflare", "strict-transport-security": "max-age=31536000; includeSubDomains; preload", - "traceresponse": "00-ee50b99963970848365dd0c25abfdc77-7f2f0639821c5fee-01", + "traceresponse": "00-cc6c628279c84d8567313fc005d8208f-b91483183f4ef7eb-01", "transfer-encoding": "chunked", "vary": "Accept-Encoding", "x-robots-tag": "none" @@ -2199,7 +2352,7 @@ "callIndex": 2, "id": "c440f9309e7fff40", "matchKey": "POST api.anthropic.com/v1/messages", - "recordedAt": "2026-07-21T08:03:08.128Z", + "recordedAt": "2026-09-17T10:42:24.849Z", "request": { "body": { "kind": "json", @@ -2231,13 +2384,14 @@ "body": { "kind": "json", "value": { + "container": null, "content": [ { "text": "CACHE_OK", "type": "text" } ], - "id": "msg_011CdErUz7sz8hBbgtbsV2Dv", + "id": "msg_011Cf8sYafeQGZSpfPX6w5NB", "model": "claude-haiku-4-5-20251001", "role": "assistant", "stop_details": null, @@ -2262,27 +2416,28 @@ "anthropic-organization-id": "27796668-7351-40ac-acc4-024aee8995a5", "anthropic-ratelimit-input-tokens-limit": "10000000", "anthropic-ratelimit-input-tokens-remaining": "10000000", - "anthropic-ratelimit-input-tokens-reset": "2026-07-21T08:03:08Z", + "anthropic-ratelimit-input-tokens-reset": "2026-09-17T10:42:24Z", "anthropic-ratelimit-output-tokens-limit": "2000000", "anthropic-ratelimit-output-tokens-remaining": "2000000", - "anthropic-ratelimit-output-tokens-reset": "2026-07-21T08:03:08Z", + "anthropic-ratelimit-output-tokens-reset": "2026-09-17T10:42:24Z", "anthropic-ratelimit-requests-limit": "20000", "anthropic-ratelimit-requests-remaining": "19999", - "anthropic-ratelimit-requests-reset": "2026-07-21T08:03:07Z", + "anthropic-ratelimit-requests-reset": "2026-09-17T10:42:24Z", "anthropic-ratelimit-tokens-limit": "12000000", "anthropic-ratelimit-tokens-remaining": "12000000", - "anthropic-ratelimit-tokens-reset": "2026-07-21T08:03:08Z", + "anthropic-ratelimit-tokens-reset": "2026-09-17T10:42:24Z", + "anthropic-workspace-id": "wrkspc_018bFG1FgNVWqx5pthtdGTzS", "cf-cache-status": "DYNAMIC", - "cf-ray": "a1e8aff1fcc8d6b3-IAD", + "cf-ray": "a3c78105fb7eaf04-IAD", "connection": "keep-alive", "content-encoding": "gzip", "content-security-policy": "default-src 'none'; frame-ancestors 'none'", "content-type": "application/json", - "date": "Tue, 21 Jul 2026 08:03:08 GMT", - "request-id": "req_011CdErUyEYr1bK58woZ1nLQ", + "date": "Thu, 17 Sep 2026 10:42:24 GMT", + "request-id": "req_011Cf8sYaNmqYC5atFgL4HTm", "server": "cloudflare", "strict-transport-security": "max-age=31536000; includeSubDomains; preload", - "traceresponse": "00-c6ffe122df55bf7a8a3597b5925922ce-804dad9bafb9a34b-01", + "traceresponse": "00-b3bb3cf1633bc9fc4a810655719d38a7-ce278f377154c591-01", "transfer-encoding": "chunked", "vary": "Accept-Encoding", "x-robots-tag": "none" @@ -2295,7 +2450,7 @@ "callIndex": 7, "id": "d22bae6c42006c81", "matchKey": "POST api.openai.com/v1/responses", - "recordedAt": "2026-07-21T08:04:33.632Z", + "recordedAt": "2026-09-17T10:42:25.654Z", "request": { "body": { "kind": "json", @@ -2346,11 +2501,11 @@ "billing": { "payer": "developer" }, - "completed_at": 1784621073, - "created_at": 1784621073, + "completed_at": 1789641745, + "created_at": 1789641745, "error": null, "frequency_penalty": 0, - "id": "resp_09e1a9d23cdd3f90006a5f28110004819fb4d2f019bdc584a0", + "id": "resp_0cf4ea43ffeb391b006aabc4110f1487d28220d279dccbb6d8", "incomplete_details": null, "instructions": null, "max_output_tokens": 32, @@ -2369,7 +2524,7 @@ "type": "output_text" } ], - "id": "msg_09e1a9d23cdd3f90006a5f28117088819faa935cf76dbcefa7", + "id": "msg_0cf4ea43ffeb391b006aabc411685887d2953624cfb2caf57c", "role": "assistant", "status": "completed", "type": "message" @@ -2451,13 +2606,13 @@ "access-control-expose-headers": "X-Request-ID, CF-Ray, CF-Ray", "alt-svc": "h3=\":443\"; ma=86400", "cf-cache-status": "DYNAMIC", - "cf-ray": "a1e8b209f94081ed-IAD", + "cf-ray": "a3c781097be4c946-IAD", "connection": "keep-alive", "content-encoding": "gzip", "content-type": "application/json", - "date": "Tue, 21 Jul 2026 08:04:33 GMT", + "date": "Thu, 17 Sep 2026 10:42:25 GMT", "openai-organization": "braintrust-data", - "openai-processing-ms": "641", + "openai-processing-ms": "704", "openai-project": "proj_vsCSXafhhByzWOThMrJcZiw9", "openai-version": "2020-10-01", "server": "cloudflare", @@ -2471,7 +2626,7 @@ "x-ratelimit-remaining-tokens": "149999945", "x-ratelimit-reset-requests": "2ms", "x-ratelimit-reset-tokens": "0s", - "x-request-id": "req_c36e75054343432c9f32a81af32c43b6" + "x-request-id": "req_0bfa694f4ff042e29beeabaf1b1732cf" }, "status": 200, "statusText": "OK" @@ -2481,7 +2636,7 @@ "callIndex": 8, "id": "6d0eec1cfcef015d", "matchKey": "POST api.openai.com/v1/responses", - "recordedAt": "2026-07-21T08:04:35.420Z", + "recordedAt": "2026-09-17T10:42:26.363Z", "request": { "body": { "kind": "json", @@ -2528,19 +2683,19 @@ "response": { "body": { "chunks": [ - "event: response.created\ndata: {\"type\":\"response.created\",\"response\":{\"id\":\"resp_042801f563fbb1d7006a5f2811b15c81919b2a76b14703a3d4\",\"object\":\"response\",\"created_at\":1784621073,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":32,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"json_schema\",\"description\":null,\"name\":\"response\",\"schema\":{\"type\":\"object\",\"properties\":{\"city\":{\"type\":\"string\"}},\"required\":[\"city\"],\"additionalProperties\":false},\"strict\":true},\"verbosity\":\"medium\"},\"tool_choice\":\"auto\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":0}", - "event: response.in_progress\ndata: {\"type\":\"response.in_progress\",\"response\":{\"id\":\"resp_042801f563fbb1d7006a5f2811b15c81919b2a76b14703a3d4\",\"object\":\"response\",\"created_at\":1784621073,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":32,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"json_schema\",\"description\":null,\"name\":\"response\",\"schema\":{\"type\":\"object\",\"properties\":{\"city\":{\"type\":\"string\"}},\"required\":[\"city\"],\"additionalProperties\":false},\"strict\":true},\"verbosity\":\"medium\"},\"tool_choice\":\"auto\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":1}", - "event: response.output_item.added\ndata: {\"type\":\"response.output_item.added\",\"item\":{\"id\":\"msg_042801f563fbb1d7006a5f28133a9881918d33855ad9da313a\",\"type\":\"message\",\"status\":\"in_progress\",\"content\":[],\"role\":\"assistant\"},\"output_index\":0,\"sequence_number\":2}", - "event: response.content_part.added\ndata: {\"type\":\"response.content_part.added\",\"content_index\":0,\"item_id\":\"msg_042801f563fbb1d7006a5f28133a9881918d33855ad9da313a\",\"output_index\":0,\"part\":{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"\"},\"sequence_number\":3}", - "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"{\\\"\",\"item_id\":\"msg_042801f563fbb1d7006a5f28133a9881918d33855ad9da313a\",\"logprobs\":[],\"obfuscation\":\"fEOorHmDsTHteo\",\"output_index\":0,\"sequence_number\":4}", - "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"city\",\"item_id\":\"msg_042801f563fbb1d7006a5f28133a9881918d33855ad9da313a\",\"logprobs\":[],\"obfuscation\":\"MuPeb5KEPGkV\",\"output_index\":0,\"sequence_number\":5}", - "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"\\\":\\\"\",\"item_id\":\"msg_042801f563fbb1d7006a5f28133a9881918d33855ad9da313a\",\"logprobs\":[],\"obfuscation\":\"6EDrwlLb4uJYQ\",\"output_index\":0,\"sequence_number\":6}", - "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"Paris\",\"item_id\":\"msg_042801f563fbb1d7006a5f28133a9881918d33855ad9da313a\",\"logprobs\":[],\"obfuscation\":\"Ha8lIn5yoyG\",\"output_index\":0,\"sequence_number\":7}", - "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"\\\"}\",\"item_id\":\"msg_042801f563fbb1d7006a5f28133a9881918d33855ad9da313a\",\"logprobs\":[],\"obfuscation\":\"8vtQoIgvlMg7bg\",\"output_index\":0,\"sequence_number\":8}", - "event: response.output_text.done\ndata: {\"type\":\"response.output_text.done\",\"content_index\":0,\"item_id\":\"msg_042801f563fbb1d7006a5f28133a9881918d33855ad9da313a\",\"logprobs\":[],\"output_index\":0,\"sequence_number\":9,\"text\":\"{\\\"city\\\":\\\"Paris\\\"}\"}", - "event: response.content_part.done\ndata: {\"type\":\"response.content_part.done\",\"content_index\":0,\"item_id\":\"msg_042801f563fbb1d7006a5f28133a9881918d33855ad9da313a\",\"output_index\":0,\"part\":{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"{\\\"city\\\":\\\"Paris\\\"}\"},\"sequence_number\":10}", - "event: response.output_item.done\ndata: {\"type\":\"response.output_item.done\",\"item\":{\"id\":\"msg_042801f563fbb1d7006a5f28133a9881918d33855ad9da313a\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"{\\\"city\\\":\\\"Paris\\\"}\"}],\"role\":\"assistant\"},\"output_index\":0,\"sequence_number\":11}", - "event: response.completed\ndata: {\"type\":\"response.completed\",\"response\":{\"id\":\"resp_042801f563fbb1d7006a5f2811b15c81919b2a76b14703a3d4\",\"object\":\"response\",\"created_at\":1784621073,\"status\":\"completed\",\"background\":false,\"completed_at\":1784621075,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":32,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[{\"id\":\"msg_042801f563fbb1d7006a5f28133a9881918d33855ad9da313a\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"{\\\"city\\\":\\\"Paris\\\"}\"}],\"role\":\"assistant\"}],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"default\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"json_schema\",\"description\":null,\"name\":\"response\",\"schema\":{\"type\":\"object\",\"properties\":{\"city\":{\"type\":\"string\"}},\"required\":[\"city\"],\"additionalProperties\":false},\"strict\":true},\"verbosity\":\"medium\"},\"tool_choice\":\"auto\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":{\"input_tokens\":38,\"input_tokens_details\":{\"cache_write_tokens\":0,\"cached_tokens\":0},\"output_tokens\":6,\"output_tokens_details\":{\"reasoning_tokens\":0},\"total_tokens\":44},\"user\":null,\"metadata\":{}},\"sequence_number\":12}" + "event: response.created\ndata: {\"type\":\"response.created\",\"response\":{\"id\":\"resp_0d578f06b67bd5c3006aabc411c0d487d29dd904e04e79efc8\",\"object\":\"response\",\"created_at\":1789641745,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":32,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"json_schema\",\"description\":null,\"name\":\"response\",\"schema\":{\"type\":\"object\",\"properties\":{\"city\":{\"type\":\"string\"}},\"required\":[\"city\"],\"additionalProperties\":false},\"strict\":true},\"verbosity\":\"medium\"},\"tool_choice\":\"auto\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":0}", + "event: response.in_progress\ndata: {\"type\":\"response.in_progress\",\"response\":{\"id\":\"resp_0d578f06b67bd5c3006aabc411c0d487d29dd904e04e79efc8\",\"object\":\"response\",\"created_at\":1789641745,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":32,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"json_schema\",\"description\":null,\"name\":\"response\",\"schema\":{\"type\":\"object\",\"properties\":{\"city\":{\"type\":\"string\"}},\"required\":[\"city\"],\"additionalProperties\":false},\"strict\":true},\"verbosity\":\"medium\"},\"tool_choice\":\"auto\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":1}", + "event: response.output_item.added\ndata: {\"type\":\"response.output_item.added\",\"item\":{\"id\":\"msg_0d578f06b67bd5c3006aabc4122b0087d2adb6ea66d2f46f2c\",\"type\":\"message\",\"status\":\"in_progress\",\"content\":[],\"role\":\"assistant\"},\"output_index\":0,\"sequence_number\":2}", + "event: response.content_part.added\ndata: {\"type\":\"response.content_part.added\",\"content_index\":0,\"item_id\":\"msg_0d578f06b67bd5c3006aabc4122b0087d2adb6ea66d2f46f2c\",\"output_index\":0,\"part\":{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"\"},\"sequence_number\":3}", + "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"{\\\"\",\"item_id\":\"msg_0d578f06b67bd5c3006aabc4122b0087d2adb6ea66d2f46f2c\",\"logprobs\":[],\"obfuscation\":\"mb8EBwC0ugUytw\",\"output_index\":0,\"sequence_number\":4}", + "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"city\",\"item_id\":\"msg_0d578f06b67bd5c3006aabc4122b0087d2adb6ea66d2f46f2c\",\"logprobs\":[],\"obfuscation\":\"MJCaLQWnrb8H\",\"output_index\":0,\"sequence_number\":5}", + "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"\\\":\\\"\",\"item_id\":\"msg_0d578f06b67bd5c3006aabc4122b0087d2adb6ea66d2f46f2c\",\"logprobs\":[],\"obfuscation\":\"3CqkIpCdixLzR\",\"output_index\":0,\"sequence_number\":6}", + "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"Paris\",\"item_id\":\"msg_0d578f06b67bd5c3006aabc4122b0087d2adb6ea66d2f46f2c\",\"logprobs\":[],\"obfuscation\":\"jSRpgKScZ1A\",\"output_index\":0,\"sequence_number\":7}", + "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"\\\"}\",\"item_id\":\"msg_0d578f06b67bd5c3006aabc4122b0087d2adb6ea66d2f46f2c\",\"logprobs\":[],\"obfuscation\":\"Gwipj5ci1cAV8P\",\"output_index\":0,\"sequence_number\":8}", + "event: response.output_text.done\ndata: {\"type\":\"response.output_text.done\",\"content_index\":0,\"item_id\":\"msg_0d578f06b67bd5c3006aabc4122b0087d2adb6ea66d2f46f2c\",\"logprobs\":[],\"output_index\":0,\"sequence_number\":9,\"text\":\"{\\\"city\\\":\\\"Paris\\\"}\"}", + "event: response.content_part.done\ndata: {\"type\":\"response.content_part.done\",\"content_index\":0,\"item_id\":\"msg_0d578f06b67bd5c3006aabc4122b0087d2adb6ea66d2f46f2c\",\"output_index\":0,\"part\":{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"{\\\"city\\\":\\\"Paris\\\"}\"},\"sequence_number\":10}", + "event: response.output_item.done\ndata: {\"type\":\"response.output_item.done\",\"item\":{\"id\":\"msg_0d578f06b67bd5c3006aabc4122b0087d2adb6ea66d2f46f2c\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"{\\\"city\\\":\\\"Paris\\\"}\"}],\"role\":\"assistant\"},\"output_index\":0,\"sequence_number\":11}", + "event: response.completed\ndata: {\"type\":\"response.completed\",\"response\":{\"id\":\"resp_0d578f06b67bd5c3006aabc411c0d487d29dd904e04e79efc8\",\"object\":\"response\",\"created_at\":1789641745,\"status\":\"completed\",\"background\":false,\"completed_at\":1789641746,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":32,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[{\"id\":\"msg_0d578f06b67bd5c3006aabc4122b0087d2adb6ea66d2f46f2c\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"{\\\"city\\\":\\\"Paris\\\"}\"}],\"role\":\"assistant\"}],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"default\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"json_schema\",\"description\":null,\"name\":\"response\",\"schema\":{\"type\":\"object\",\"properties\":{\"city\":{\"type\":\"string\"}},\"required\":[\"city\"],\"additionalProperties\":false},\"strict\":true},\"verbosity\":\"medium\"},\"tool_choice\":\"auto\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":{\"input_tokens\":38,\"input_tokens_details\":{\"cache_write_tokens\":0,\"cached_tokens\":0},\"output_tokens\":6,\"output_tokens_details\":{\"reasoning_tokens\":0},\"total_tokens\":44},\"user\":null,\"metadata\":{}},\"sequence_number\":12}" ], "kind": "sse" }, @@ -2548,12 +2703,12 @@ "access-control-expose-headers": "X-Request-ID, CF-Ray, CF-Ray", "alt-svc": "h3=\":443\"; ma=86400", "cf-cache-status": "DYNAMIC", - "cf-ray": "a1e8b20e3c2d81ed-IAD", + "cf-ray": "a3c7810e7db2c946-IAD", "connection": "keep-alive", "content-type": "text/event-stream; charset=utf-8", - "date": "Tue, 21 Jul 2026 08:04:33 GMT", + "date": "Thu, 17 Sep 2026 10:42:26 GMT", "openai-organization": "braintrust-data", - "openai-processing-ms": "106", + "openai-processing-ms": "453", "openai-project": "proj_vsCSXafhhByzWOThMrJcZiw9", "openai-version": "2020-10-01", "server": "cloudflare", @@ -2561,7 +2716,13 @@ "strict-transport-security": "max-age=31536000; includeSubDomains; preload", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-request-id": "req_9a2c6961c1324c0fa424a8b76faa8974" + "x-ratelimit-limit-requests": "30000", + "x-ratelimit-limit-tokens": "150000000", + "x-ratelimit-remaining-requests": "29999", + "x-ratelimit-remaining-tokens": "149999942", + "x-ratelimit-reset-requests": "2ms", + "x-ratelimit-reset-tokens": "0s", + "x-request-id": "req_f1ccfdae200d48ad8155918e11409292" }, "status": 200, "statusText": "OK" @@ -2571,7 +2732,7 @@ "callIndex": 9, "id": "3f08b53881e505ce", "matchKey": "POST api.openai.com/v1/responses", - "recordedAt": "2026-07-21T08:04:36.561Z", + "recordedAt": "2026-09-17T10:42:27.026Z", "request": { "body": { "kind": "json", @@ -2607,11 +2768,11 @@ "billing": { "payer": "developer" }, - "completed_at": 1784621076, - "created_at": 1784621075, + "completed_at": 1789641746, + "created_at": 1789641746, "error": null, "frequency_penalty": 0, - "id": "resp_0187d099e886eba5006a5f28137be8819c900ab8210e3f1e49", + "id": "resp_0838b470c857edca006aabc412736087d2a4e06718f87d29d7", "incomplete_details": null, "instructions": null, "max_output_tokens": 24, @@ -2630,7 +2791,7 @@ "type": "output_text" } ], - "id": "msg_0187d099e886eba5006a5f28145670819c84348b849f16ae12", + "id": "msg_0838b470c857edca006aabc412d2f087d2aad5db1a622f5414", "role": "assistant", "status": "completed", "type": "message" @@ -2699,13 +2860,13 @@ "access-control-expose-headers": "X-Request-ID, CF-Ray, CF-Ray", "alt-svc": "h3=\":443\"; ma=86400", "cf-cache-status": "DYNAMIC", - "cf-ray": "a1e8b2197bd381ed-IAD", + "cf-ray": "a3c78112eda0c946-IAD", "connection": "keep-alive", "content-encoding": "gzip", "content-type": "application/json", - "date": "Tue, 21 Jul 2026 08:04:36 GMT", + "date": "Thu, 17 Sep 2026 10:42:27 GMT", "openai-organization": "braintrust-data", - "openai-processing-ms": "1079", + "openai-processing-ms": "562", "openai-project": "proj_vsCSXafhhByzWOThMrJcZiw9", "openai-version": "2020-10-01", "server": "cloudflare", @@ -2719,7 +2880,7 @@ "x-ratelimit-remaining-tokens": "149999955", "x-ratelimit-reset-requests": "2ms", "x-ratelimit-reset-tokens": "0s", - "x-request-id": "req_75b2e8e773a04c4e98ca8896a8c49a82" + "x-request-id": "req_7be8a3340df44aa6ab68709fe561eede" }, "status": 200, "statusText": "OK" @@ -2729,7 +2890,7 @@ "callIndex": 10, "id": "d026123ce87dfbca", "matchKey": "POST api.openai.com/v1/responses", - "recordedAt": "2026-07-21T08:04:37.639Z", + "recordedAt": "2026-09-17T10:42:27.620Z", "request": { "body": { "kind": "json", @@ -2761,17 +2922,17 @@ "response": { "body": { "chunks": [ - "event: response.created\ndata: {\"type\":\"response.created\",\"response\":{\"id\":\"resp_0c4e11d5392812df006a5f2814df98819dab1465e5c2fdf319\",\"object\":\"response\",\"created_at\":1784621076,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":24,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":1,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"auto\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":0}", - "event: response.in_progress\ndata: {\"type\":\"response.in_progress\",\"response\":{\"id\":\"resp_0c4e11d5392812df006a5f2814df98819dab1465e5c2fdf319\",\"object\":\"response\",\"created_at\":1784621076,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":24,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":1,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"auto\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":1}", - "event: response.output_item.added\ndata: {\"type\":\"response.output_item.added\",\"item\":{\"id\":\"msg_0c4e11d5392812df006a5f281569dc819d957845e74053d90b\",\"type\":\"message\",\"status\":\"in_progress\",\"content\":[],\"role\":\"assistant\"},\"output_index\":0,\"sequence_number\":2}", - "event: response.content_part.added\ndata: {\"type\":\"response.content_part.added\",\"content_index\":0,\"item_id\":\"msg_0c4e11d5392812df006a5f281569dc819d957845e74053d90b\",\"output_index\":0,\"part\":{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"\"},\"sequence_number\":3}", - "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"STREAM\",\"item_id\":\"msg_0c4e11d5392812df006a5f281569dc819d957845e74053d90b\",\"logprobs\":[],\"obfuscation\":\"0FlHYRZirM\",\"output_index\":0,\"sequence_number\":4}", - "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" HEL\",\"item_id\":\"msg_0c4e11d5392812df006a5f281569dc819d957845e74053d90b\",\"logprobs\":[],\"obfuscation\":\"0lQQFtbuZlt2\",\"output_index\":0,\"sequence_number\":5}", - "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"LO\",\"item_id\":\"msg_0c4e11d5392812df006a5f281569dc819d957845e74053d90b\",\"logprobs\":[],\"obfuscation\":\"Wn9a0fuoBjrlPB\",\"output_index\":0,\"sequence_number\":6}", - "event: response.output_text.done\ndata: {\"type\":\"response.output_text.done\",\"content_index\":0,\"item_id\":\"msg_0c4e11d5392812df006a5f281569dc819d957845e74053d90b\",\"logprobs\":[],\"output_index\":0,\"sequence_number\":7,\"text\":\"STREAM HELLO\"}", - "event: response.content_part.done\ndata: {\"type\":\"response.content_part.done\",\"content_index\":0,\"item_id\":\"msg_0c4e11d5392812df006a5f281569dc819d957845e74053d90b\",\"output_index\":0,\"part\":{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"STREAM HELLO\"},\"sequence_number\":8}", - "event: response.output_item.done\ndata: {\"type\":\"response.output_item.done\",\"item\":{\"id\":\"msg_0c4e11d5392812df006a5f281569dc819d957845e74053d90b\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"STREAM HELLO\"}],\"role\":\"assistant\"},\"output_index\":0,\"sequence_number\":9}", - "event: response.completed\ndata: {\"type\":\"response.completed\",\"response\":{\"id\":\"resp_0c4e11d5392812df006a5f2814df98819dab1465e5c2fdf319\",\"object\":\"response\",\"created_at\":1784621076,\"status\":\"completed\",\"background\":false,\"completed_at\":1784621077,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":24,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[{\"id\":\"msg_0c4e11d5392812df006a5f281569dc819d957845e74053d90b\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"STREAM HELLO\"}],\"role\":\"assistant\"}],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"default\",\"store\":true,\"temperature\":1,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"auto\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":{\"input_tokens\":27,\"input_tokens_details\":{\"cache_write_tokens\":0,\"cached_tokens\":0},\"output_tokens\":4,\"output_tokens_details\":{\"reasoning_tokens\":0},\"total_tokens\":31},\"user\":null,\"metadata\":{}},\"sequence_number\":10}" + "event: response.created\ndata: {\"type\":\"response.created\",\"response\":{\"id\":\"resp_038c6ae8832cd510006aabc4131ce087d2aab8e74fd815d725\",\"object\":\"response\",\"created_at\":1789641747,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":24,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":1,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"auto\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":0}", + "event: response.in_progress\ndata: {\"type\":\"response.in_progress\",\"response\":{\"id\":\"resp_038c6ae8832cd510006aabc4131ce087d2aab8e74fd815d725\",\"object\":\"response\",\"created_at\":1789641747,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":24,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":1,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"auto\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":1}", + "event: response.output_item.added\ndata: {\"type\":\"response.output_item.added\",\"item\":{\"id\":\"msg_038c6ae8832cd510006aabc4136e6487d29ed12686f460e3c0\",\"type\":\"message\",\"status\":\"in_progress\",\"content\":[],\"role\":\"assistant\"},\"output_index\":0,\"sequence_number\":2}", + "event: response.content_part.added\ndata: {\"type\":\"response.content_part.added\",\"content_index\":0,\"item_id\":\"msg_038c6ae8832cd510006aabc4136e6487d29ed12686f460e3c0\",\"output_index\":0,\"part\":{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"\"},\"sequence_number\":3}", + "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"STREAM\",\"item_id\":\"msg_038c6ae8832cd510006aabc4136e6487d29ed12686f460e3c0\",\"logprobs\":[],\"obfuscation\":\"ZDlxsapcRB\",\"output_index\":0,\"sequence_number\":4}", + "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" HEL\",\"item_id\":\"msg_038c6ae8832cd510006aabc4136e6487d29ed12686f460e3c0\",\"logprobs\":[],\"obfuscation\":\"hOx4pZC61qOs\",\"output_index\":0,\"sequence_number\":5}", + "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"LO\",\"item_id\":\"msg_038c6ae8832cd510006aabc4136e6487d29ed12686f460e3c0\",\"logprobs\":[],\"obfuscation\":\"U8yvl5ubtFhJXt\",\"output_index\":0,\"sequence_number\":6}", + "event: response.output_text.done\ndata: {\"type\":\"response.output_text.done\",\"content_index\":0,\"item_id\":\"msg_038c6ae8832cd510006aabc4136e6487d29ed12686f460e3c0\",\"logprobs\":[],\"output_index\":0,\"sequence_number\":7,\"text\":\"STREAM HELLO\"}", + "event: response.content_part.done\ndata: {\"type\":\"response.content_part.done\",\"content_index\":0,\"item_id\":\"msg_038c6ae8832cd510006aabc4136e6487d29ed12686f460e3c0\",\"output_index\":0,\"part\":{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"STREAM HELLO\"},\"sequence_number\":8}", + "event: response.output_item.done\ndata: {\"type\":\"response.output_item.done\",\"item\":{\"id\":\"msg_038c6ae8832cd510006aabc4136e6487d29ed12686f460e3c0\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"STREAM HELLO\"}],\"role\":\"assistant\"},\"output_index\":0,\"sequence_number\":9}", + "event: response.completed\ndata: {\"type\":\"response.completed\",\"response\":{\"id\":\"resp_038c6ae8832cd510006aabc4131ce087d2aab8e74fd815d725\",\"object\":\"response\",\"created_at\":1789641747,\"status\":\"completed\",\"background\":false,\"completed_at\":1789641747,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":24,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[{\"id\":\"msg_038c6ae8832cd510006aabc4136e6487d29ed12686f460e3c0\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"STREAM HELLO\"}],\"role\":\"assistant\"}],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"default\",\"store\":true,\"temperature\":1,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"auto\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":{\"input_tokens\":27,\"input_tokens_details\":{\"cache_write_tokens\":0,\"cached_tokens\":0},\"output_tokens\":4,\"output_tokens_details\":{\"reasoning_tokens\":0},\"total_tokens\":31},\"user\":null,\"metadata\":{}},\"sequence_number\":10}" ], "kind": "sse" }, @@ -2779,12 +2940,12 @@ "access-control-expose-headers": "X-Request-ID, CF-Ray, CF-Ray", "alt-svc": "h3=\":443\"; ma=86400", "cf-cache-status": "DYNAMIC", - "cf-ray": "a1e8b220885a81ed-IAD", + "cf-ray": "a3c781170da3c946-IAD", "connection": "keep-alive", "content-type": "text/event-stream; charset=utf-8", - "date": "Tue, 21 Jul 2026 08:04:37 GMT", + "date": "Thu, 17 Sep 2026 10:42:27 GMT", "openai-organization": "braintrust-data", - "openai-processing-ms": "439", + "openai-processing-ms": "342", "openai-project": "proj_vsCSXafhhByzWOThMrJcZiw9", "openai-version": "2020-10-01", "server": "cloudflare", @@ -2792,7 +2953,13 @@ "strict-transport-security": "max-age=31536000; includeSubDomains; preload", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-request-id": "req_b8bf2e688f6243eeba5c2a4b10431846" + "x-ratelimit-limit-requests": "30000", + "x-ratelimit-limit-tokens": "150000000", + "x-ratelimit-remaining-requests": "29999", + "x-ratelimit-remaining-tokens": "149999952", + "x-ratelimit-reset-requests": "2ms", + "x-ratelimit-reset-tokens": "0s", + "x-request-id": "req_2eb4567d38db4cba9752ad874a69ee74" }, "status": 200, "statusText": "OK" @@ -2802,7 +2969,7 @@ "callIndex": 11, "id": "34ad62d7c96775e7", "matchKey": "POST api.openai.com/v1/responses", - "recordedAt": "2026-07-21T08:04:39.041Z", + "recordedAt": "2026-09-17T10:42:28.579Z", "request": { "body": { "kind": "json", @@ -2902,11 +3069,11 @@ "billing": { "payer": "developer" }, - "completed_at": 1784621078, - "created_at": 1784621077, + "completed_at": 1789641748, + "created_at": 1789641747, "error": null, "frequency_penalty": 0, - "id": "resp_03e7cc3a04c36e1a006a5f2815b44881a19f6e6f7ab8fb009c", + "id": "resp_099a04e639fe46f9006aabc413b24887d29f45b34b73c1eb19", "incomplete_details": null, "instructions": null, "max_output_tokens": 256, @@ -2918,16 +3085,16 @@ "output": [ { "arguments": "{\"item\":\"laptop\",\"store\":\"StoreA\"}", - "call_id": "call_Sbvn5IpyZQ87RYFs54LTQOsT", - "id": "fc_03e7cc3a04c36e1a006a5f2816e51881a1918a87d07e38d225", + "call_id": "call_QEMX7d4XI6CMz6L9xvhJ8nON", + "id": "fc_099a04e639fe46f9006aabc41467dc87d2860e5178d826e1a5", "name": "get_store_price", "status": "completed", "type": "function_call" }, { "arguments": "{\"item\":\"laptop\",\"store\":\"StoreB\"}", - "call_id": "call_hnJAlz8hGRJ4087mPHkHomzU", - "id": "fc_03e7cc3a04c36e1a006a5f2816e52c81a18374619829b9c65f", + "call_id": "call_hMTvb4g3We2WoNGU9kaIMKXO", + "id": "fc_099a04e639fe46f9006aabc41467ec87d2993a799fcc1b45e9", "name": "get_store_price", "status": "completed", "type": "function_call" @@ -3043,13 +3210,13 @@ "access-control-expose-headers": "X-Request-ID, CF-Ray, CF-Ray", "alt-svc": "h3=\":443\"; ma=86400", "cf-cache-status": "DYNAMIC", - "cf-ray": "a1e8b2275cce81ed-IAD", + "cf-ray": "a3c7811accacc946-IAD", "connection": "keep-alive", "content-encoding": "gzip", "content-type": "application/json", - "date": "Tue, 21 Jul 2026 08:04:39 GMT", + "date": "Thu, 17 Sep 2026 10:42:28 GMT", "openai-organization": "braintrust-data", - "openai-processing-ms": "1339", + "openai-processing-ms": "854", "openai-project": "proj_vsCSXafhhByzWOThMrJcZiw9", "openai-version": "2020-10-01", "server": "cloudflare", @@ -3063,7 +3230,7 @@ "x-ratelimit-remaining-tokens": "149999610", "x-ratelimit-reset-requests": "2ms", "x-ratelimit-reset-tokens": "0s", - "x-request-id": "req_011b18d1f0304e07aa7ecd26e882a51b" + "x-request-id": "req_6ed7c05c29cc4387bbc8794baedf7ed8" }, "status": 200, "statusText": "OK" @@ -3071,9 +3238,9 @@ }, { "callIndex": 12, - "id": "391a88c0949ca46c", + "id": "57f3678501877210", "matchKey": "POST api.openai.com/v1/responses", - "recordedAt": "2026-07-21T08:04:41.075Z", + "recordedAt": "2026-09-17T10:42:29.410Z", "request": { "body": { "kind": "json", @@ -3112,23 +3279,23 @@ }, { "arguments": "{\"item\":\"laptop\",\"store\":\"StoreA\"}", - "call_id": "call_Sbvn5IpyZQ87RYFs54LTQOsT", + "call_id": "call_QEMX7d4XI6CMz6L9xvhJ8nON", "name": "get_store_price", "type": "function_call" }, { "arguments": "{\"item\":\"laptop\",\"store\":\"StoreB\"}", - "call_id": "call_hnJAlz8hGRJ4087mPHkHomzU", + "call_id": "call_hMTvb4g3We2WoNGU9kaIMKXO", "name": "get_store_price", "type": "function_call" }, { - "call_id": "call_Sbvn5IpyZQ87RYFs54LTQOsT", + "call_id": "call_QEMX7d4XI6CMz6L9xvhJ8nON", "output": "{\"item\":\"laptop\",\"price\":999,\"store\":\"StoreA\"}", "type": "function_call_output" }, { - "call_id": "call_hnJAlz8hGRJ4087mPHkHomzU", + "call_id": "call_hMTvb4g3We2WoNGU9kaIMKXO", "output": "{\"item\":\"laptop\",\"price\":1099,\"store\":\"StoreB\"}", "type": "function_call_output" } @@ -3195,11 +3362,11 @@ "billing": { "payer": "developer" }, - "completed_at": 1784621080, - "created_at": 1784621079, + "completed_at": 1789641749, + "created_at": 1789641748, "error": null, "frequency_penalty": 0, - "id": "resp_03e7cc3a04c36e1a006a5f28174d0c81a196ec72c9be153eb6", + "id": "resp_0529c71fb6b55877006aabc414aa9087d29eef93170680b3fd", "incomplete_details": null, "instructions": null, "max_output_tokens": 256, @@ -3211,8 +3378,8 @@ "output": [ { "arguments": "{\"discountCode\":\"SAVE20\",\"total\":999}", - "call_id": "call_vdhe3VvCry0zQD8sqTnxwSu9", - "id": "fc_03e7cc3a04c36e1a006a5f2818727c81a1bd86af2d77f7f1c4", + "call_id": "call_hPOXVOVq7Tmodi0urJ1FoWS6", + "id": "fc_0529c71fb6b55877006aabc41526c487d293540782ce959e14", "name": "apply_discount", "status": "completed", "type": "function_call" @@ -3328,13 +3495,13 @@ "access-control-expose-headers": "X-Request-ID, CF-Ray, CF-Ray", "alt-svc": "h3=\":443\"; ma=86400", "cf-cache-status": "DYNAMIC", - "cf-ray": "a1e8b2300b6f81ed-IAD", + "cf-ray": "a3c78120bf74c946-IAD", "connection": "keep-alive", "content-encoding": "gzip", "content-type": "application/json", - "date": "Tue, 21 Jul 2026 08:04:41 GMT", + "date": "Thu, 17 Sep 2026 10:42:29 GMT", "openai-organization": "braintrust-data", - "openai-processing-ms": "1947", + "openai-processing-ms": "739", "openai-project": "proj_vsCSXafhhByzWOThMrJcZiw9", "openai-version": "2020-10-01", "server": "cloudflare", @@ -3348,7 +3515,7 @@ "x-ratelimit-remaining-tokens": "149999522", "x-ratelimit-reset-requests": "2ms", "x-ratelimit-reset-tokens": "0s", - "x-request-id": "req_0199866052cf470693456494505431b5" + "x-request-id": "req_f88537dbbe33459a8e9d1d835be326e1" }, "status": 200, "statusText": "OK" @@ -3356,9 +3523,9 @@ }, { "callIndex": 13, - "id": "e5e7abe751025f13", + "id": "5b7c8e75e1916969", "matchKey": "POST api.openai.com/v1/responses", - "recordedAt": "2026-07-21T08:04:43.001Z", + "recordedAt": "2026-09-17T10:42:31.334Z", "request": { "body": { "kind": "json", @@ -3397,34 +3564,34 @@ }, { "arguments": "{\"item\":\"laptop\",\"store\":\"StoreA\"}", - "call_id": "call_Sbvn5IpyZQ87RYFs54LTQOsT", + "call_id": "call_QEMX7d4XI6CMz6L9xvhJ8nON", "name": "get_store_price", "type": "function_call" }, { "arguments": "{\"item\":\"laptop\",\"store\":\"StoreB\"}", - "call_id": "call_hnJAlz8hGRJ4087mPHkHomzU", + "call_id": "call_hMTvb4g3We2WoNGU9kaIMKXO", "name": "get_store_price", "type": "function_call" }, { - "call_id": "call_Sbvn5IpyZQ87RYFs54LTQOsT", + "call_id": "call_QEMX7d4XI6CMz6L9xvhJ8nON", "output": "{\"item\":\"laptop\",\"price\":999,\"store\":\"StoreA\"}", "type": "function_call_output" }, { - "call_id": "call_hnJAlz8hGRJ4087mPHkHomzU", + "call_id": "call_hMTvb4g3We2WoNGU9kaIMKXO", "output": "{\"item\":\"laptop\",\"price\":1099,\"store\":\"StoreB\"}", "type": "function_call_output" }, { "arguments": "{\"discountCode\":\"SAVE20\",\"total\":999}", - "call_id": "call_vdhe3VvCry0zQD8sqTnxwSu9", + "call_id": "call_hPOXVOVq7Tmodi0urJ1FoWS6", "name": "apply_discount", "type": "function_call" }, { - "call_id": "call_vdhe3VvCry0zQD8sqTnxwSu9", + "call_id": "call_hPOXVOVq7Tmodi0urJ1FoWS6", "output": "{\"discountCode\":\"SAVE20\",\"finalTotal\":799.2,\"originalTotal\":999}", "type": "function_call_output" } @@ -3491,11 +3658,11 @@ "billing": { "payer": "developer" }, - "completed_at": 1784621082, - "created_at": 1784621081, + "completed_at": 1789641750, + "created_at": 1789641749, "error": null, "frequency_penalty": 0, - "id": "resp_03e7cc3a04c36e1a006a5f2819407081a1a3b652bfc67ced3b", + "id": "resp_08c88c39c3377071006aabc415831487d29fc5527961b17b54", "incomplete_details": null, "instructions": null, "max_output_tokens": 256, @@ -3514,7 +3681,7 @@ "type": "output_text" } ], - "id": "msg_03e7cc3a04c36e1a006a5f2819ef0c81a18eae394da74b07f8", + "id": "msg_08c88c39c3377071006aabc415fca087d29a987c88f016f4db", "role": "assistant", "status": "completed", "type": "message" @@ -3612,7 +3779,7 @@ "top_p": 1, "truncation": "disabled", "usage": { - "input_tokens": 308, + "input_tokens": 305, "input_tokens_details": { "cache_write_tokens": 0, "cached_tokens": 0 @@ -3621,7 +3788,7 @@ "output_tokens_details": { "reasoning_tokens": 0 }, - "total_tokens": 370 + "total_tokens": 367 }, "user": null } @@ -3630,13 +3797,13 @@ "access-control-expose-headers": "X-Request-ID, CF-Ray, CF-Ray", "alt-svc": "h3=\":443\"; ma=86400", "cf-cache-status": "DYNAMIC", - "cf-ray": "a1e8b23cbd5981ed-IAD", + "cf-ray": "a3c78125e910c946-IAD", "connection": "keep-alive", "content-encoding": "gzip", "content-type": "application/json", - "date": "Tue, 21 Jul 2026 08:04:42 GMT", + "date": "Thu, 17 Sep 2026 10:42:31 GMT", "openai-organization": "braintrust-data", - "openai-processing-ms": "1867", + "openai-processing-ms": "1794", "openai-project": "proj_vsCSXafhhByzWOThMrJcZiw9", "openai-version": "2020-10-01", "server": "cloudflare", @@ -3647,10 +3814,10 @@ "x-ratelimit-limit-requests": "30000", "x-ratelimit-limit-tokens": "150000000", "x-ratelimit-remaining-requests": "29999", - "x-ratelimit-remaining-tokens": "149999475", + "x-ratelimit-remaining-tokens": "149999477", "x-ratelimit-reset-requests": "2ms", "x-ratelimit-reset-tokens": "0s", - "x-request-id": "req_d4349b4c19654e04ada901f4233222c3" + "x-request-id": "req_5e04276e7c5443a9b68e4d72fa456338" }, "status": 200, "statusText": "OK" diff --git a/e2e/scenarios/ai-sdk-instrumentation/__cassettes__/ai-sdk-v7-latest.cassette.blobs/92f733cbd438775e360279f4737e012522d5b7d515c6311656914ec416d3fce8.bin b/e2e/scenarios/ai-sdk-instrumentation/__cassettes__/ai-sdk-v7.cassette.blobs/92f733cbd438775e360279f4737e012522d5b7d515c6311656914ec416d3fce8.bin similarity index 100% rename from e2e/scenarios/ai-sdk-instrumentation/__cassettes__/ai-sdk-v7-latest.cassette.blobs/92f733cbd438775e360279f4737e012522d5b7d515c6311656914ec416d3fce8.bin rename to e2e/scenarios/ai-sdk-instrumentation/__cassettes__/ai-sdk-v7.cassette.blobs/92f733cbd438775e360279f4737e012522d5b7d515c6311656914ec416d3fce8.bin diff --git a/e2e/scenarios/ai-sdk-instrumentation/__cassettes__/ai-sdk-v7.cassette.json b/e2e/scenarios/ai-sdk-instrumentation/__cassettes__/ai-sdk-v7.cassette.json index 4f104ac6c..2736fb648 100644 --- a/e2e/scenarios/ai-sdk-instrumentation/__cassettes__/ai-sdk-v7.cassette.json +++ b/e2e/scenarios/ai-sdk-instrumentation/__cassettes__/ai-sdk-v7.cassette.json @@ -1,10 +1,153 @@ { "entries": [ + { + "callIndex": 0, + "id": "3bd9e1df6d2ae887", + "matchKey": "POST api.typesafe.ai/v1/systemone", + "recordedAt": "2026-09-17T10:41:06.459Z", + "request": { + "body": { + "kind": "json", + "value": { + "model": "jev-latest", + "questions": { + "category": { + "criteria": { + "billing": "Payments and refunds", + "technical": "Software problems" + }, + "instructions": "Which team should handle this request?", + "type": "choice" + }, + "duplicate": { + "instructions": "Does the customer report a duplicate charge?", + "type": "noul" + }, + "urgency": { + "criteria": ["Low", "Medium", "High"], + "instructions": "How urgent is this request?", + "type": "score" + } + }, + "state": { + "message": "I was charged twice for my subscription. Please refund the duplicate charge." + } + } + }, + "headers": {}, + "method": "POST", + "url": "https://api.typesafe.ai/v1/systemone" + }, + "response": { + "body": { + "kind": "json", + "value": { + "answers": { + "category": { + "choice": "billing", + "confidence": 1, + "probabilities": { + "billing": 1, + "technical": 0 + }, + "type": "choice" + }, + "duplicate": { + "noul": 0.99, + "type": "noul" + }, + "urgency": { + "confidence": 0.76, + "legend": { + "0": "Low", + "1": "Medium", + "2": "High" + }, + "probabilities": { + "0": 0.03, + "1": 0.84, + "2": 0.13 + }, + "score": 1.1, + "type": "score" + } + }, + "model": "jev-1.13.0", + "usage": { + "input_tokens": 382, + "output_tokens": 62 + } + } + }, + "headers": { + "content-length": "382", + "content-type": "application/json", + "date": "Thu, 17 Sep 2026 10:41:05 GMT", + "server": "istio-envoy", + "x-envoy-upstream-service-time": "76", + "x-typesafe-request-id": "req_01a0aef4af337e09806f839175da8118" + }, + "status": 200, + "statusText": "OK" + } + }, + { + "callIndex": 1, + "id": "477ce75c8278a6a0", + "matchKey": "POST api.typesafe.ai/v1/systemone", + "recordedAt": "2026-09-17T10:41:06.615Z", + "request": { + "body": { + "kind": "json", + "value": { + "model": "jev-latest", + "questions": { + "positive": { + "instructions": "Was the delivery successful?", + "type": "noul" + } + }, + "state": "The package arrived intact and on time." + } + }, + "headers": {}, + "method": "POST", + "url": "https://api.typesafe.ai/v1/systemone" + }, + "response": { + "body": { + "kind": "json", + "value": { + "answers": { + "positive": { + "noul": 0.98, + "type": "noul" + } + }, + "model": "jev-1.13.0", + "usage": { + "input_tokens": 279, + "output_tokens": 20 + } + } + }, + "headers": { + "content-length": "121", + "content-type": "application/json", + "date": "Thu, 17 Sep 2026 10:41:06 GMT", + "server": "istio-envoy", + "x-envoy-upstream-service-time": "84", + "x-typesafe-request-id": "req_01a0aef4afd27f5e86397a4d774c274a" + }, + "status": 200, + "statusText": "OK" + } + }, { "callIndex": 0, "id": "9aa262365558ebc2", "matchKey": "POST api.openai.com/v1/responses", - "recordedAt": "2026-07-21T08:03:46.237Z", + "recordedAt": "2026-09-17T10:41:08.300Z", "request": { "body": { "kind": "json", @@ -37,11 +180,11 @@ "billing": { "payer": "developer" }, - "completed_at": 1784621026, - "created_at": 1784621025, + "completed_at": 1789641668, + "created_at": 1789641666, "error": null, "frequency_penalty": 0, - "id": "resp_07c409bfa4f24784006a5f27e18b1881a3875c5c744e40a317", + "id": "resp_07789e3e7717e4a4006aabc3c2b3d487d2a8a2ab14648c7357", "incomplete_details": null, "instructions": null, "max_output_tokens": 24, @@ -60,7 +203,7 @@ "type": "output_text" } ], - "id": "msg_07c409bfa4f24784006a5f27e2132881a3bf55193e99621e2f", + "id": "msg_07789e3e7717e4a4006aabc3c4094c87d2b71db7789ed50465", "role": "assistant", "status": "completed", "type": "message" @@ -129,13 +272,13 @@ "access-control-expose-headers": "X-Request-ID, CF-Ray, CF-Ray", "alt-svc": "h3=\":443\"; ma=86400", "cf-cache-status": "DYNAMIC", - "cf-ray": "a1e8b0e1583881ed-IAD", + "cf-ray": "a3c77f208c108970-IAD", "connection": "keep-alive", "content-encoding": "gzip", "content-type": "application/json", - "date": "Tue, 21 Jul 2026 08:03:46 GMT", + "date": "Thu, 17 Sep 2026 10:41:08 GMT", "openai-organization": "braintrust-data", - "openai-processing-ms": "698", + "openai-processing-ms": "1579", "openai-project": "proj_vsCSXafhhByzWOThMrJcZiw9", "openai-version": "2020-10-01", "server": "cloudflare", @@ -146,10 +289,10 @@ "x-ratelimit-limit-requests": "30000", "x-ratelimit-limit-tokens": "150000000", "x-ratelimit-remaining-requests": "29999", - "x-ratelimit-remaining-tokens": "149999962", + "x-ratelimit-remaining-tokens": "149999965", "x-ratelimit-reset-requests": "2ms", "x-ratelimit-reset-tokens": "0s", - "x-request-id": "req_9d498b0ca19449368f9d74c69f09aeaf" + "x-request-id": "req_52b1de3627e2450ea2cbb0a405823464" }, "status": 200, "statusText": "OK" @@ -159,7 +302,7 @@ "callIndex": 1, "id": "9e077c56377ca81c", "matchKey": "POST api.openai.com/v1/responses", - "recordedAt": "2026-07-21T08:03:46.923Z", + "recordedAt": "2026-09-17T10:41:08.938Z", "request": { "body": { "kind": "json", @@ -210,11 +353,11 @@ "billing": { "payer": "developer" }, - "completed_at": 1784621026, - "created_at": 1784621026, + "completed_at": 1789641668, + "created_at": 1789641668, "error": null, "frequency_penalty": 0, - "id": "resp_03091d6b80b06ae4006a5f27e24dd481a0b86f97c8103058fe", + "id": "resp_0e707da66f441ad6006aabc3c462bc87d2aca0bd8ffe47d52c", "incomplete_details": null, "instructions": null, "max_output_tokens": 32, @@ -233,7 +376,7 @@ "type": "output_text" } ], - "id": "msg_03091d6b80b06ae4006a5f27e2b29481a0b6fa124fdc6c21e2", + "id": "msg_0e707da66f441ad6006aabc3c4bdac87d2a58452ce928e7a2b", "role": "assistant", "status": "completed", "type": "message" @@ -315,13 +458,13 @@ "access-control-expose-headers": "X-Request-ID, CF-Ray, CF-Ray", "alt-svc": "h3=\":443\"; ma=86400", "cf-cache-status": "DYNAMIC", - "cf-ray": "a1e8b0e62b3681ed-IAD", + "cf-ray": "a3c77f2b1b708970-IAD", "connection": "keep-alive", "content-encoding": "gzip", "content-type": "application/json", - "date": "Tue, 21 Jul 2026 08:03:46 GMT", + "date": "Thu, 17 Sep 2026 10:41:08 GMT", "openai-organization": "braintrust-data", - "openai-processing-ms": "622", + "openai-processing-ms": "533", "openai-project": "proj_vsCSXafhhByzWOThMrJcZiw9", "openai-version": "2020-10-01", "server": "cloudflare", @@ -335,7 +478,7 @@ "x-ratelimit-remaining-tokens": "149999935", "x-ratelimit-reset-requests": "2ms", "x-ratelimit-reset-tokens": "0s", - "x-request-id": "req_6970a7f3d38a4065923d521144bc4b40" + "x-request-id": "req_d76e127b1c014b08a04e130901286a4e" }, "status": 200, "statusText": "OK" @@ -345,7 +488,7 @@ "callIndex": 2, "id": "bdbf85bb8f9015c8", "matchKey": "POST api.openai.com/v1/responses", - "recordedAt": "2026-07-21T08:03:48.498Z", + "recordedAt": "2026-09-17T10:41:09.791Z", "request": { "body": { "kind": "json", @@ -374,20 +517,20 @@ "response": { "body": { "chunks": [ - "event: response.created\ndata: {\"type\":\"response.created\",\"response\":{\"id\":\"resp_0ff9f4031479740b006a5f27e354b48192b4118225ad8cba3a\",\"object\":\"response\",\"created_at\":1784621027,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":32,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"auto\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":0}", - "event: response.in_progress\ndata: {\"type\":\"response.in_progress\",\"response\":{\"id\":\"resp_0ff9f4031479740b006a5f27e354b48192b4118225ad8cba3a\",\"object\":\"response\",\"created_at\":1784621027,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":32,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"auto\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":1}", - "event: response.output_item.added\ndata: {\"type\":\"response.output_item.added\",\"item\":{\"id\":\"msg_0ff9f4031479740b006a5f27e3fa648192b550e235d5be8f95\",\"type\":\"message\",\"status\":\"in_progress\",\"content\":[],\"role\":\"assistant\"},\"output_index\":0,\"sequence_number\":2}", - "event: response.content_part.added\ndata: {\"type\":\"response.content_part.added\",\"content_index\":0,\"item_id\":\"msg_0ff9f4031479740b006a5f27e3fa648192b550e235d5be8f95\",\"output_index\":0,\"part\":{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"\"},\"sequence_number\":3}", - "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"One\",\"item_id\":\"msg_0ff9f4031479740b006a5f27e3fa648192b550e235d5be8f95\",\"logprobs\":[],\"obfuscation\":\"LnwWW6rF0FbTG\",\"output_index\":0,\"sequence_number\":4}", - "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\",\",\"item_id\":\"msg_0ff9f4031479740b006a5f27e3fa648192b550e235d5be8f95\",\"logprobs\":[],\"obfuscation\":\"YxajuKmGIyH8EMZ\",\"output_index\":0,\"sequence_number\":5}", - "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" two\",\"item_id\":\"msg_0ff9f4031479740b006a5f27e3fa648192b550e235d5be8f95\",\"logprobs\":[],\"obfuscation\":\"xvmvrFB8mIje\",\"output_index\":0,\"sequence_number\":6}", - "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\",\",\"item_id\":\"msg_0ff9f4031479740b006a5f27e3fa648192b550e235d5be8f95\",\"logprobs\":[],\"obfuscation\":\"emfm8hpw99UDabN\",\"output_index\":0,\"sequence_number\":7}", - "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" three\",\"item_id\":\"msg_0ff9f4031479740b006a5f27e3fa648192b550e235d5be8f95\",\"logprobs\":[],\"obfuscation\":\"HvJmRblJXA\",\"output_index\":0,\"sequence_number\":8}", - "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\".\",\"item_id\":\"msg_0ff9f4031479740b006a5f27e3fa648192b550e235d5be8f95\",\"logprobs\":[],\"obfuscation\":\"IIxNBIbrN7Ueg3s\",\"output_index\":0,\"sequence_number\":9}", - "event: response.output_text.done\ndata: {\"type\":\"response.output_text.done\",\"content_index\":0,\"item_id\":\"msg_0ff9f4031479740b006a5f27e3fa648192b550e235d5be8f95\",\"logprobs\":[],\"output_index\":0,\"sequence_number\":10,\"text\":\"One, two, three.\"}", - "event: response.content_part.done\ndata: {\"type\":\"response.content_part.done\",\"content_index\":0,\"item_id\":\"msg_0ff9f4031479740b006a5f27e3fa648192b550e235d5be8f95\",\"output_index\":0,\"part\":{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"One, two, three.\"},\"sequence_number\":11}", - "event: response.output_item.done\ndata: {\"type\":\"response.output_item.done\",\"item\":{\"id\":\"msg_0ff9f4031479740b006a5f27e3fa648192b550e235d5be8f95\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"One, two, three.\"}],\"role\":\"assistant\"},\"output_index\":0,\"sequence_number\":12}", - "event: response.completed\ndata: {\"type\":\"response.completed\",\"response\":{\"id\":\"resp_0ff9f4031479740b006a5f27e354b48192b4118225ad8cba3a\",\"object\":\"response\",\"created_at\":1784621027,\"status\":\"completed\",\"background\":false,\"completed_at\":1784621028,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":32,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[{\"id\":\"msg_0ff9f4031479740b006a5f27e3fa648192b550e235d5be8f95\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"One, two, three.\"}],\"role\":\"assistant\"}],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"default\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"auto\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":{\"input_tokens\":22,\"input_tokens_details\":{\"cache_write_tokens\":0,\"cached_tokens\":0},\"output_tokens\":7,\"output_tokens_details\":{\"reasoning_tokens\":0},\"total_tokens\":29},\"user\":null,\"metadata\":{}},\"sequence_number\":13}" + "event: response.created\ndata: {\"type\":\"response.created\",\"response\":{\"id\":\"resp_042fb70d8bbdad24006aabc3c505a487d280bbec9e638eb752\",\"object\":\"response\",\"created_at\":1789641669,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":32,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"auto\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":0}", + "event: response.in_progress\ndata: {\"type\":\"response.in_progress\",\"response\":{\"id\":\"resp_042fb70d8bbdad24006aabc3c505a487d280bbec9e638eb752\",\"object\":\"response\",\"created_at\":1789641669,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":32,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"auto\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":1}", + "event: response.output_item.added\ndata: {\"type\":\"response.output_item.added\",\"item\":{\"id\":\"msg_042fb70d8bbdad24006aabc3c5785487d2a91e065831dd9d9b\",\"type\":\"message\",\"status\":\"in_progress\",\"content\":[],\"role\":\"assistant\"},\"output_index\":0,\"sequence_number\":2}", + "event: response.content_part.added\ndata: {\"type\":\"response.content_part.added\",\"content_index\":0,\"item_id\":\"msg_042fb70d8bbdad24006aabc3c5785487d2a91e065831dd9d9b\",\"output_index\":0,\"part\":{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"\"},\"sequence_number\":3}", + "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"One\",\"item_id\":\"msg_042fb70d8bbdad24006aabc3c5785487d2a91e065831dd9d9b\",\"logprobs\":[],\"obfuscation\":\"3lUQJPgZ0xRLK\",\"output_index\":0,\"sequence_number\":4}", + "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\",\",\"item_id\":\"msg_042fb70d8bbdad24006aabc3c5785487d2a91e065831dd9d9b\",\"logprobs\":[],\"obfuscation\":\"dY3z6uLSfASAyxU\",\"output_index\":0,\"sequence_number\":5}", + "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" two\",\"item_id\":\"msg_042fb70d8bbdad24006aabc3c5785487d2a91e065831dd9d9b\",\"logprobs\":[],\"obfuscation\":\"YchnSeSi75dL\",\"output_index\":0,\"sequence_number\":6}", + "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\",\",\"item_id\":\"msg_042fb70d8bbdad24006aabc3c5785487d2a91e065831dd9d9b\",\"logprobs\":[],\"obfuscation\":\"upYS7bel0YxhHkV\",\"output_index\":0,\"sequence_number\":7}", + "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" three\",\"item_id\":\"msg_042fb70d8bbdad24006aabc3c5785487d2a91e065831dd9d9b\",\"logprobs\":[],\"obfuscation\":\"sKPAUcEtsh\",\"output_index\":0,\"sequence_number\":8}", + "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\".\",\"item_id\":\"msg_042fb70d8bbdad24006aabc3c5785487d2a91e065831dd9d9b\",\"logprobs\":[],\"obfuscation\":\"UTz1GLinsK3zDFc\",\"output_index\":0,\"sequence_number\":9}", + "event: response.output_text.done\ndata: {\"type\":\"response.output_text.done\",\"content_index\":0,\"item_id\":\"msg_042fb70d8bbdad24006aabc3c5785487d2a91e065831dd9d9b\",\"logprobs\":[],\"output_index\":0,\"sequence_number\":10,\"text\":\"One, two, three.\"}", + "event: response.content_part.done\ndata: {\"type\":\"response.content_part.done\",\"content_index\":0,\"item_id\":\"msg_042fb70d8bbdad24006aabc3c5785487d2a91e065831dd9d9b\",\"output_index\":0,\"part\":{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"One, two, three.\"},\"sequence_number\":11}", + "event: response.output_item.done\ndata: {\"type\":\"response.output_item.done\",\"item\":{\"id\":\"msg_042fb70d8bbdad24006aabc3c5785487d2a91e065831dd9d9b\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"One, two, three.\"}],\"role\":\"assistant\"},\"output_index\":0,\"sequence_number\":12}", + "event: response.completed\ndata: {\"type\":\"response.completed\",\"response\":{\"id\":\"resp_042fb70d8bbdad24006aabc3c505a487d280bbec9e638eb752\",\"object\":\"response\",\"created_at\":1789641669,\"status\":\"completed\",\"background\":false,\"completed_at\":1789641669,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":32,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[{\"id\":\"msg_042fb70d8bbdad24006aabc3c5785487d2a91e065831dd9d9b\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"One, two, three.\"}],\"role\":\"assistant\"}],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"default\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"auto\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":{\"input_tokens\":22,\"input_tokens_details\":{\"cache_write_tokens\":0,\"cached_tokens\":0},\"output_tokens\":7,\"output_tokens_details\":{\"reasoning_tokens\":0},\"total_tokens\":29},\"user\":null,\"metadata\":{}},\"sequence_number\":13}" ], "kind": "sse" }, @@ -395,12 +538,12 @@ "access-control-expose-headers": "X-Request-ID, CF-Ray, CF-Ray", "alt-svc": "h3=\":443\"; ma=86400", "cf-cache-status": "DYNAMIC", - "cf-ray": "a1e8b0ea5e0281ed-IAD", + "cf-ray": "a3c77f2f0f108970-IAD", "connection": "keep-alive", "content-type": "text/event-stream; charset=utf-8", - "date": "Tue, 21 Jul 2026 08:03:47 GMT", + "date": "Thu, 17 Sep 2026 10:41:09 GMT", "openai-organization": "braintrust-data", - "openai-processing-ms": "599", + "openai-processing-ms": "500", "openai-project": "proj_vsCSXafhhByzWOThMrJcZiw9", "openai-version": "2020-10-01", "server": "cloudflare", @@ -408,7 +551,13 @@ "strict-transport-security": "max-age=31536000; includeSubDomains; preload", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-request-id": "req_287d0203976948afb2874e8d815dab3a" + "x-ratelimit-limit-requests": "30000", + "x-ratelimit-limit-tokens": "150000000", + "x-ratelimit-remaining-requests": "29999", + "x-ratelimit-remaining-tokens": "149999960", + "x-ratelimit-reset-requests": "2ms", + "x-ratelimit-reset-tokens": "0s", + "x-request-id": "req_5d9086d9b4b74b78b4a3934063bf91cf" }, "status": 200, "statusText": "OK" @@ -418,7 +567,7 @@ "callIndex": 0, "id": "49a95bf2b3466013", "matchKey": "POST api.openai.com/v1/embeddings", - "recordedAt": "2026-07-21T08:03:48.760Z", + "recordedAt": "2026-09-17T10:41:10.005Z", "request": { "body": { "kind": "json", @@ -1009,13 +1158,13 @@ "access-control-expose-headers": "X-Request-ID, CF-Ray, CF-Ray", "alt-svc": "h3=\":443\"; ma=86400", "cf-cache-status": "DYNAMIC", - "cf-ray": "a1e8b0f44d2881ed-IAD", + "cf-ray": "a3c77f347ee78970-IAD", "connection": "keep-alive", "content-encoding": "gzip", "content-type": "application/json", - "date": "Tue, 21 Jul 2026 08:03:48 GMT", + "date": "Thu, 17 Sep 2026 10:41:10 GMT", "openai-organization": "braintrust-data", - "openai-processing-ms": "151", + "openai-processing-ms": "113", "openai-project": "proj_vsCSXafhhByzWOThMrJcZiw9", "openai-version": "2020-10-01", "server": "cloudflare", @@ -1030,7 +1179,7 @@ "x-ratelimit-remaining-tokens": "9999993", "x-ratelimit-reset-requests": "6ms", "x-ratelimit-reset-tokens": "0s", - "x-request-id": "req_92051347d29c4c36a84847a3f46afb99" + "x-request-id": "req_64c1866397bb487b925304c8477d828a" }, "status": 200, "statusText": "OK" @@ -1040,7 +1189,7 @@ "callIndex": 1, "id": "fcc3d17c88f1552b", "matchKey": "POST api.openai.com/v1/embeddings", - "recordedAt": "2026-07-21T08:03:48.898Z", + "recordedAt": "2026-09-17T10:41:10.237Z", "request": { "body": { "kind": "json", @@ -1062,20 +1211,20 @@ "body": { "contentType": "application/json", "kind": "binary", - "path": "ai-sdk-v7.cassette.blobs/9a14a7a518e93b520c904dd30764c1ad41fd7d47fe63606d39e6da1e58f3a0bc.bin", - "sha256": "9a14a7a518e93b520c904dd30764c1ad41fd7d47fe63606d39e6da1e58f3a0bc" + "path": "ai-sdk-v7.cassette.blobs/92f733cbd438775e360279f4737e012522d5b7d515c6311656914ec416d3fce8.bin", + "sha256": "92f733cbd438775e360279f4737e012522d5b7d515c6311656914ec416d3fce8" }, "headers": { "access-control-expose-headers": "X-Request-ID, CF-Ray, CF-Ray", "alt-svc": "h3=\":443\"; ma=86400", "cf-cache-status": "DYNAMIC", - "cf-ray": "a1e8b0f5ce1a81ed-IAD", + "cf-ray": "a3c77f35ab0c8970-IAD", "connection": "keep-alive", "content-encoding": "gzip", "content-type": "application/json", - "date": "Tue, 21 Jul 2026 08:03:48 GMT", + "date": "Thu, 17 Sep 2026 10:41:10 GMT", "openai-organization": "braintrust-data", - "openai-processing-ms": "66", + "openai-processing-ms": "146", "openai-project": "proj_vsCSXafhhByzWOThMrJcZiw9", "openai-version": "2020-10-01", "server": "cloudflare", @@ -1090,7 +1239,76 @@ "x-ratelimit-remaining-tokens": "9999985", "x-ratelimit-reset-requests": "6ms", "x-ratelimit-reset-tokens": "0s", - "x-request-id": "req_baf14eb71bc040aeab739c38e510570d" + "x-request-id": "req_c6006ee97ed44f869e2d773c066dca8b" + }, + "status": 200, + "statusText": "OK" + } + }, + { + "callIndex": 0, + "id": "064d11f1077567e7", + "matchKey": "POST api.cohere.com/v2/rerank", + "recordedAt": "2026-09-17T10:41:10.417Z", + "request": { + "body": { + "kind": "json", + "value": { + "documents": [ + "Athens is in Greece.", + "Paris is in France.", + "Lima is in Peru." + ], + "model": "rerank-v3.5", + "query": "Which document is about France?", + "top_n": 2 + } + }, + "headers": {}, + "method": "POST", + "url": "https://api.cohere.com/v2/rerank" + }, + "response": { + "body": { + "kind": "json", + "value": { + "id": "a7fc02f5-90ca-4876-b16d-3199d69c54b0", + "meta": { + "api_version": { + "version": "2" + }, + "billed_units": { + "search_units": 1 + } + }, + "results": [ + { + "index": 1, + "relevance_score": 0.06657539 + }, + { + "index": 0, + "relevance_score": 0.015062517 + } + ] + } + }, + "headers": { + "access-control-expose-headers": "X-Debug-Trace-ID", + "alt-svc": "h3=\":443\"; ma=2592000", + "cache-control": "no-cache, no-store, no-transform, must-revalidate, private, max-age=0", + "content-encoding": "gzip", + "content-type": "application/json", + "date": "Thu, 17 Sep 2026 10:41:10 GMT", + "expires": "Thu, 01 Jan 1970 00:00:00 GMT", + "pragma": "no-cache", + "server": "envoy", + "transfer-encoding": "chunked", + "vary": "Origin,Accept-Encoding", + "via": "1.1 google", + "x-accel-expires": "0", + "x-debug-trace-id": "726e3bf04f6f8560d6ba64d0369aafdc", + "x-envoy-upstream-service-time": "117" }, "status": 200, "statusText": "OK" @@ -1100,7 +1318,7 @@ "callIndex": 3, "id": "e09f32cc805b35e9", "matchKey": "POST api.openai.com/v1/responses", - "recordedAt": "2026-07-21T08:03:49.649Z", + "recordedAt": "2026-09-17T10:41:11.015Z", "request": { "body": { "kind": "json", @@ -1157,11 +1375,11 @@ "billing": { "payer": "developer" }, - "completed_at": 1784621029, - "created_at": 1784621028, + "completed_at": 1789641670, + "created_at": 1789641670, "error": null, "frequency_penalty": 0, - "id": "resp_090bb5c218164489006a5f27e4f4008192a085975060fec820", + "id": "resp_06de6e7324745c0e006aabc3c67df887d2a897f2ba01dde665", "incomplete_details": null, "instructions": null, "max_output_tokens": 128, @@ -1173,8 +1391,8 @@ "output": [ { "arguments": "{\"location\":\"Paris, France\"}", - "call_id": "call_EKOO5Hn3MTSQzNcIuDjca7Aw", - "id": "fc_090bb5c218164489006a5f27e576a88192a7b9184af5fa34eb", + "call_id": "call_lkGtEBxePAGvBONZrnT1ZMT6", + "id": "fc_06de6e7324745c0e006aabc3c6c5e487d2bf17c873ab7c6797", "name": "get_weather", "status": "completed", "type": "function_call" @@ -1263,13 +1481,13 @@ "access-control-expose-headers": "X-Request-ID, CF-Ray, CF-Ray", "alt-svc": "h3=\":443\"; ma=86400", "cf-cache-status": "DYNAMIC", - "cf-ray": "a1e8b0f6aeb581ed-IAD", + "cf-ray": "a3c77f383b558970-IAD", "connection": "keep-alive", "content-encoding": "gzip", "content-type": "application/json", - "date": "Tue, 21 Jul 2026 08:03:49 GMT", + "date": "Thu, 17 Sep 2026 10:41:10 GMT", "openai-organization": "braintrust-data", - "openai-processing-ms": "700", + "openai-processing-ms": "503", "openai-project": "proj_vsCSXafhhByzWOThMrJcZiw9", "openai-version": "2020-10-01", "server": "cloudflare", @@ -1280,10 +1498,10 @@ "x-ratelimit-limit-requests": "30000", "x-ratelimit-limit-tokens": "150000000", "x-ratelimit-remaining-requests": "29999", - "x-ratelimit-remaining-tokens": "149999690", + "x-ratelimit-remaining-tokens": "149999687", "x-ratelimit-reset-requests": "2ms", "x-ratelimit-reset-tokens": "0s", - "x-request-id": "req_c4a67ea53f204c5599de7198a31e3348" + "x-request-id": "req_f2ed49355cc44c54a8d026952a5854f8" }, "status": 200, "statusText": "OK" @@ -1291,9 +1509,9 @@ }, { "callIndex": 4, - "id": "0fd7c12ff9a9dec4", + "id": "8030a04a7ebfff30", "matchKey": "POST api.openai.com/v1/responses", - "recordedAt": "2026-07-21T08:03:50.315Z", + "recordedAt": "2026-09-17T10:41:11.577Z", "request": { "body": { "kind": "json", @@ -1314,12 +1532,12 @@ }, { "arguments": "{\"location\":\"Paris, France\"}", - "call_id": "call_EKOO5Hn3MTSQzNcIuDjca7Aw", + "call_id": "call_lkGtEBxePAGvBONZrnT1ZMT6", "name": "get_weather", "type": "function_call" }, { - "call_id": "call_EKOO5Hn3MTSQzNcIuDjca7Aw", + "call_id": "call_lkGtEBxePAGvBONZrnT1ZMT6", "output": "{\"condition\":\"sunny\",\"location\":\"Paris, France\",\"temperatureC\":22}", "type": "function_call_output" } @@ -1361,11 +1579,11 @@ "billing": { "payer": "developer" }, - "completed_at": 1784621030, - "created_at": 1784621029, + "completed_at": 1789641671, + "created_at": 1789641671, "error": null, "frequency_penalty": 0, - "id": "resp_090bb5c218164489006a5f27e5b51c819286d5a67d2f0c0794", + "id": "resp_0a2b12e3d26b5309006aabc3c7150c87d2ac5bac46266c262d", "incomplete_details": null, "instructions": null, "max_output_tokens": 128, @@ -1377,8 +1595,8 @@ "output": [ { "arguments": "{\"location\":\"Paris, France\"}", - "call_id": "call_n0DLmcb240rqgOPKQKAUJx1u", - "id": "fc_090bb5c218164489006a5f27e61d74819282f688766aa8bea0", + "call_id": "call_fyIFMl74I8jt9YNHKcneiNiC", + "id": "fc_0a2b12e3d26b5309006aabc3c75d5087d286b3784d4483c4a8", "name": "get_weather", "status": "completed", "type": "function_call" @@ -1467,13 +1685,13 @@ "access-control-expose-headers": "X-Request-ID, CF-Ray, CF-Ray", "alt-svc": "h3=\":443\"; ma=86400", "cf-cache-status": "DYNAMIC", - "cf-ray": "a1e8b0fb59d681ed-IAD", + "cf-ray": "a3c77f3bfdfd8970-IAD", "connection": "keep-alive", "content-encoding": "gzip", "content-type": "application/json", - "date": "Tue, 21 Jul 2026 08:03:50 GMT", + "date": "Thu, 17 Sep 2026 10:41:11 GMT", "openai-organization": "braintrust-data", - "openai-processing-ms": "612", + "openai-processing-ms": "477", "openai-project": "proj_vsCSXafhhByzWOThMrJcZiw9", "openai-version": "2020-10-01", "server": "cloudflare", @@ -1484,10 +1702,10 @@ "x-ratelimit-limit-requests": "30000", "x-ratelimit-limit-tokens": "150000000", "x-ratelimit-remaining-requests": "29999", - "x-ratelimit-remaining-tokens": "149999652", + "x-ratelimit-remaining-tokens": "149999650", "x-ratelimit-reset-requests": "2ms", "x-ratelimit-reset-tokens": "0s", - "x-request-id": "req_9697abcfbc8d4996af5a12e85e21549f" + "x-request-id": "req_9e04d63c39c44aedb8fb73c75dd7f75f" }, "status": 200, "statusText": "OK" @@ -1495,9 +1713,9 @@ }, { "callIndex": 5, - "id": "c70678b871237e43", + "id": "48358abcfdc93bf0", "matchKey": "POST api.openai.com/v1/responses", - "recordedAt": "2026-07-21T08:03:51.030Z", + "recordedAt": "2026-09-17T10:41:12.435Z", "request": { "body": { "kind": "json", @@ -1518,23 +1736,23 @@ }, { "arguments": "{\"location\":\"Paris, France\"}", - "call_id": "call_EKOO5Hn3MTSQzNcIuDjca7Aw", + "call_id": "call_lkGtEBxePAGvBONZrnT1ZMT6", "name": "get_weather", "type": "function_call" }, { - "call_id": "call_EKOO5Hn3MTSQzNcIuDjca7Aw", + "call_id": "call_lkGtEBxePAGvBONZrnT1ZMT6", "output": "{\"condition\":\"sunny\",\"location\":\"Paris, France\",\"temperatureC\":22}", "type": "function_call_output" }, { "arguments": "{\"location\":\"Paris, France\"}", - "call_id": "call_n0DLmcb240rqgOPKQKAUJx1u", + "call_id": "call_fyIFMl74I8jt9YNHKcneiNiC", "name": "get_weather", "type": "function_call" }, { - "call_id": "call_n0DLmcb240rqgOPKQKAUJx1u", + "call_id": "call_fyIFMl74I8jt9YNHKcneiNiC", "output": "{\"condition\":\"sunny\",\"location\":\"Paris, France\",\"temperatureC\":22}", "type": "function_call_output" } @@ -1576,11 +1794,11 @@ "billing": { "payer": "developer" }, - "completed_at": 1784621030, - "created_at": 1784621030, + "completed_at": 1789641672, + "created_at": 1789641671, "error": null, "frequency_penalty": 0, - "id": "resp_090bb5c218164489006a5f27e65f548192bd688665b682d0bc", + "id": "resp_0121426f456d9757006aabc3c7a73487d2abe2d52c7967c09f", "incomplete_details": null, "instructions": null, "max_output_tokens": 128, @@ -1592,8 +1810,8 @@ "output": [ { "arguments": "{\"location\":\"Paris, France\"}", - "call_id": "call_CqbaTgLUcYKFmpM44r2PYobK", - "id": "fc_090bb5c218164489006a5f27e6dc5081928f573b5067818f58", + "call_id": "call_kKj0LfjwSxgdxbFrFCS2iuZV", + "id": "fc_0121426f456d9757006aabc3c8204c87d28b189ec6aa013d42", "name": "get_weather", "status": "completed", "type": "function_call" @@ -1682,13 +1900,13 @@ "access-control-expose-headers": "X-Request-ID, CF-Ray, CF-Ray", "alt-svc": "h3=\":443\"; ma=86400", "cf-cache-status": "DYNAMIC", - "cf-ray": "a1e8b0ff8c8b81ed-IAD", + "cf-ray": "a3c77f3f78bc8970-IAD", "connection": "keep-alive", "content-encoding": "gzip", "content-type": "application/json", - "date": "Tue, 21 Jul 2026 08:03:51 GMT", + "date": "Thu, 17 Sep 2026 10:41:12 GMT", "openai-organization": "braintrust-data", - "openai-processing-ms": "669", + "openai-processing-ms": "751", "openai-project": "proj_vsCSXafhhByzWOThMrJcZiw9", "openai-version": "2020-10-01", "server": "cloudflare", @@ -1699,10 +1917,10 @@ "x-ratelimit-limit-requests": "30000", "x-ratelimit-limit-tokens": "150000000", "x-ratelimit-remaining-requests": "29999", - "x-ratelimit-remaining-tokens": "149999612", + "x-ratelimit-remaining-tokens": "149999610", "x-ratelimit-reset-requests": "2ms", "x-ratelimit-reset-tokens": "0s", - "x-request-id": "req_3bdb2008bc194cfdb3f0f543a48e20dc" + "x-request-id": "req_54ba3d7a626e48338fb1943dddf8710a" }, "status": 200, "statusText": "OK" @@ -1710,9 +1928,9 @@ }, { "callIndex": 6, - "id": "eb4c00950628aeed", + "id": "64fa80afb31d0c20", "matchKey": "POST api.openai.com/v1/responses", - "recordedAt": "2026-07-21T08:03:51.860Z", + "recordedAt": "2026-09-17T10:41:13.220Z", "request": { "body": { "kind": "json", @@ -1733,34 +1951,34 @@ }, { "arguments": "{\"location\":\"Paris, France\"}", - "call_id": "call_EKOO5Hn3MTSQzNcIuDjca7Aw", + "call_id": "call_lkGtEBxePAGvBONZrnT1ZMT6", "name": "get_weather", "type": "function_call" }, { - "call_id": "call_EKOO5Hn3MTSQzNcIuDjca7Aw", + "call_id": "call_lkGtEBxePAGvBONZrnT1ZMT6", "output": "{\"condition\":\"sunny\",\"location\":\"Paris, France\",\"temperatureC\":22}", "type": "function_call_output" }, { "arguments": "{\"location\":\"Paris, France\"}", - "call_id": "call_n0DLmcb240rqgOPKQKAUJx1u", + "call_id": "call_fyIFMl74I8jt9YNHKcneiNiC", "name": "get_weather", "type": "function_call" }, { - "call_id": "call_n0DLmcb240rqgOPKQKAUJx1u", + "call_id": "call_fyIFMl74I8jt9YNHKcneiNiC", "output": "{\"condition\":\"sunny\",\"location\":\"Paris, France\",\"temperatureC\":22}", "type": "function_call_output" }, { "arguments": "{\"location\":\"Paris, France\"}", - "call_id": "call_CqbaTgLUcYKFmpM44r2PYobK", + "call_id": "call_kKj0LfjwSxgdxbFrFCS2iuZV", "name": "get_weather", "type": "function_call" }, { - "call_id": "call_CqbaTgLUcYKFmpM44r2PYobK", + "call_id": "call_kKj0LfjwSxgdxbFrFCS2iuZV", "output": "{\"condition\":\"sunny\",\"location\":\"Paris, France\",\"temperatureC\":22}", "type": "function_call_output" } @@ -1802,11 +2020,11 @@ "billing": { "payer": "developer" }, - "completed_at": 1784621031, - "created_at": 1784621031, + "completed_at": 1789641673, + "created_at": 1789641672, "error": null, "frequency_penalty": 0, - "id": "resp_090bb5c218164489006a5f27e7136481928b5c9059bbad68c1", + "id": "resp_091a2f4768416c15006aabc3c8838087d2b2ff0e1510581105", "incomplete_details": null, "instructions": null, "max_output_tokens": 128, @@ -1818,8 +2036,8 @@ "output": [ { "arguments": "{\"location\":\"Paris, France\"}", - "call_id": "call_bYJHupK899SYM418tjcrlx0u", - "id": "fc_090bb5c218164489006a5f27e78458819299ebca742db4b359", + "call_id": "call_Ee9RbFjL2lOTQTuC8epIfdDm", + "id": "fc_091a2f4768416c15006aabc3c8f39c87d282abaa085b80d948", "name": "get_weather", "status": "completed", "type": "function_call" @@ -1908,13 +2126,13 @@ "access-control-expose-headers": "X-Request-ID, CF-Ray, CF-Ray", "alt-svc": "h3=\":443\"; ma=86400", "cf-cache-status": "DYNAMIC", - "cf-ray": "a1e8b103f80281ed-IAD", + "cf-ray": "a3c77f44dfc08970-IAD", "connection": "keep-alive", "content-encoding": "gzip", "content-type": "application/json", - "date": "Tue, 21 Jul 2026 08:03:51 GMT", + "date": "Thu, 17 Sep 2026 10:41:13 GMT", "openai-organization": "braintrust-data", - "openai-processing-ms": "783", + "openai-processing-ms": "687", "openai-project": "proj_vsCSXafhhByzWOThMrJcZiw9", "openai-version": "2020-10-01", "server": "cloudflare", @@ -1928,390 +2146,436 @@ "x-ratelimit-remaining-tokens": "149999572", "x-ratelimit-reset-requests": "2ms", "x-ratelimit-reset-tokens": "0s", - "x-request-id": "req_f269fa4238f340839795b5ebf662d640" + "x-request-id": "req_d10c7087bbd8400bad8a773081fad8de" }, "status": 200, "statusText": "OK" } }, { - "callIndex": 7, - "id": "d22bae6c42006c81", - "matchKey": "POST api.openai.com/v1/responses", - "recordedAt": "2026-07-21T08:03:52.808Z", + "callIndex": 0, + "id": "04d8f7db5dc7b0b8", + "matchKey": "POST api.anthropic.com/v1/messages", + "recordedAt": "2026-09-17T10:41:13.799Z", "request": { "body": { "kind": "json", "value": { - "input": [ + "max_tokens": 24, + "messages": [ { "content": [ { - "text": "Return JSON with {\"city\":\"Paris\"}.", - "type": "input_text" + "cache_control": { + "type": "ephemeral" + }, + "text": "braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix\n\nReply with exactly CACHE_OK and nothing else.", + "type": "text" } ], "role": "user" } ], - "max_output_tokens": 32, - "model": "gpt-4o-mini-2024-07-18", - "temperature": 0, - "text": { - "format": { - "name": "response", - "schema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "additionalProperties": false, - "properties": { - "city": { - "type": "string" - } - }, - "required": ["city"], - "type": "object" - }, - "strict": true, - "type": "json_schema" - } - } + "model": "claude-haiku-4-5", + "temperature": 0 } }, "headers": {}, "method": "POST", - "url": "https://api.openai.com/v1/responses" + "url": "https://api.anthropic.com/v1/messages" }, "response": { "body": { "kind": "json", "value": { - "background": false, - "billing": { - "payer": "developer" - }, - "completed_at": 1784621032, - "created_at": 1784621031, - "error": null, - "frequency_penalty": 0, - "id": "resp_0f984a353206ed43006a5f27e7ef98819c8b651358791954a4", - "incomplete_details": null, - "instructions": null, - "max_output_tokens": 32, - "max_tool_calls": null, - "metadata": {}, - "model": "gpt-4o-mini-2024-07-18", - "moderation": null, - "object": "response", - "output": [ + "container": null, + "content": [ { - "content": [ - { - "annotations": [], - "logprobs": [], - "text": "{\"city\":\"Paris\"}", - "type": "output_text" - } - ], - "id": "msg_0f984a353206ed43006a5f27e89840819cb2d6fb2049f1a782", - "role": "assistant", - "status": "completed", - "type": "message" + "text": "CACHE_OK", + "type": "text" } ], - "parallel_tool_calls": true, - "presence_penalty": 0, - "previous_response_id": null, - "prompt_cache_key": "[REDACTED]", - "prompt_cache_retention": "in_memory", - "reasoning": { - "context": null, - "effort": null, - "summary": null - }, - "safety_identifier": null, - "service_tier": "default", - "status": "completed", - "store": true, - "temperature": 0, - "text": { - "format": { - "description": null, - "name": "response", - "schema": { - "additionalProperties": false, - "properties": { - "city": { - "type": "string" - } - }, - "required": ["city"], - "type": "object" - }, - "strict": true, - "type": "json_schema" + "id": "msg_011Cf8sTM1itR4iw19eiYGcS", + "model": "claude-haiku-4-5-20251001", + "role": "assistant", + "stop_details": null, + "stop_reason": "end_turn", + "stop_sequence": null, + "type": "message", + "usage": { + "cache_creation": { + "ephemeral_1h_input_tokens": 0, + "ephemeral_5m_input_tokens": 0 }, - "verbosity": "medium" - }, - "tool_choice": "auto", - "tool_usage": { - "image_gen": { - "input_tokens": 0, - "input_tokens_details": { - "image_tokens": 0, - "text_tokens": 0 - }, - "output_tokens": 0, - "output_tokens_details": { - "image_tokens": 0, - "text_tokens": 0 - }, - "total_tokens": 0 - }, - "web_search": { - "num_requests": 0 - } - }, - "tools": [], - "top_logprobs": 0, - "top_p": 1, - "truncation": "disabled", - "usage": { - "input_tokens": 38, - "input_tokens_details": { - "cache_write_tokens": 0, - "cached_tokens": 0 - }, - "output_tokens": 6, - "output_tokens_details": { - "reasoning_tokens": 0 - }, - "total_tokens": 44 - }, - "user": null + "cache_creation_input_tokens": 0, + "cache_read_input_tokens": 4516, + "inference_geo": "not_available", + "input_tokens": 3, + "output_tokens": 7, + "service_tier": "standard" + } } }, "headers": { - "access-control-expose-headers": "X-Request-ID, CF-Ray, CF-Ray", - "alt-svc": "h3=\":443\"; ma=86400", + "anthropic-organization-id": "27796668-7351-40ac-acc4-024aee8995a5", + "anthropic-ratelimit-input-tokens-limit": "10000000", + "anthropic-ratelimit-input-tokens-remaining": "10000000", + "anthropic-ratelimit-input-tokens-reset": "2026-09-17T10:41:13Z", + "anthropic-ratelimit-output-tokens-limit": "2000000", + "anthropic-ratelimit-output-tokens-remaining": "2000000", + "anthropic-ratelimit-output-tokens-reset": "2026-09-17T10:41:13Z", + "anthropic-ratelimit-requests-limit": "20000", + "anthropic-ratelimit-requests-remaining": "19999", + "anthropic-ratelimit-requests-reset": "2026-09-17T10:41:13Z", + "anthropic-ratelimit-tokens-limit": "12000000", + "anthropic-ratelimit-tokens-remaining": "12000000", + "anthropic-ratelimit-tokens-reset": "2026-09-17T10:41:13Z", + "anthropic-workspace-id": "wrkspc_018bFG1FgNVWqx5pthtdGTzS", "cf-cache-status": "DYNAMIC", - "cf-ray": "a1e8b1093b7d81ed-IAD", + "cf-ray": "a3c77f49dd609db4-IAD", "connection": "keep-alive", "content-encoding": "gzip", + "content-security-policy": "default-src 'none'; frame-ancestors 'none'", "content-type": "application/json", - "date": "Tue, 21 Jul 2026 08:03:52 GMT", - "openai-organization": "braintrust-data", - "openai-processing-ms": "890", - "openai-project": "proj_vsCSXafhhByzWOThMrJcZiw9", - "openai-version": "2020-10-01", + "date": "Thu, 17 Sep 2026 10:41:13 GMT", + "request-id": "req_011Cf8sTLaRcwuzd8NwssAZ2", "server": "cloudflare", - "set-cookie": "[REDACTED]", "strict-transport-security": "max-age=31536000; includeSubDomains; preload", + "traceresponse": "00-f4c62cf667242a85de8270c86e2b8503-fe0cac059822d837-01", "transfer-encoding": "chunked", - "x-content-type-options": "nosniff", - "x-ratelimit-limit-requests": "30000", - "x-ratelimit-limit-tokens": "150000000", - "x-ratelimit-remaining-requests": "29999", - "x-ratelimit-remaining-tokens": "149999942", - "x-ratelimit-reset-requests": "2ms", - "x-ratelimit-reset-tokens": "0s", - "x-request-id": "req_baebb6f6d6994cc796eedf3f48d1c37f" + "vary": "Accept-Encoding", + "x-robots-tag": "none" }, "status": 200, "statusText": "OK" } }, { - "callIndex": 8, - "id": "6d0eec1cfcef015d", - "matchKey": "POST api.openai.com/v1/responses", - "recordedAt": "2026-07-21T08:03:53.627Z", + "callIndex": 1, + "id": "f51018468a0f5811", + "matchKey": "POST api.anthropic.com/v1/messages", + "recordedAt": "2026-09-17T10:41:19.465Z", "request": { "body": { "kind": "json", "value": { - "input": [ + "max_tokens": 24, + "messages": [ { "content": [ { - "text": "Stream JSON with {\"city\":\"Paris\"}.", - "type": "input_text" + "cache_control": { + "type": "ephemeral" + }, + "text": "braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix\n\nReply with exactly CACHE_OK and nothing else.", + "type": "text" } ], "role": "user" } ], - "max_output_tokens": 32, - "model": "gpt-4o-mini-2024-07-18", - "stream": true, - "temperature": 0, - "text": { - "format": { - "name": "response", - "schema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "additionalProperties": false, - "properties": { - "city": { - "type": "string" - } - }, - "required": ["city"], - "type": "object" - }, - "strict": true, - "type": "json_schema" - } - } + "model": "claude-haiku-4-5", + "temperature": 0 } }, "headers": {}, "method": "POST", - "url": "https://api.openai.com/v1/responses" + "url": "https://api.anthropic.com/v1/messages" }, "response": { "body": { - "chunks": [ - "event: response.created\ndata: {\"type\":\"response.created\",\"response\":{\"id\":\"resp_0cc2fdc47b68ed64006a5f27e8dd348192a4e8677944794471\",\"object\":\"response\",\"created_at\":1784621032,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":32,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"json_schema\",\"description\":null,\"name\":\"response\",\"schema\":{\"type\":\"object\",\"properties\":{\"city\":{\"type\":\"string\"}},\"required\":[\"city\"],\"additionalProperties\":false},\"strict\":true},\"verbosity\":\"medium\"},\"tool_choice\":\"auto\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":0}", - "event: response.in_progress\ndata: {\"type\":\"response.in_progress\",\"response\":{\"id\":\"resp_0cc2fdc47b68ed64006a5f27e8dd348192a4e8677944794471\",\"object\":\"response\",\"created_at\":1784621032,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":32,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"json_schema\",\"description\":null,\"name\":\"response\",\"schema\":{\"type\":\"object\",\"properties\":{\"city\":{\"type\":\"string\"}},\"required\":[\"city\"],\"additionalProperties\":false},\"strict\":true},\"verbosity\":\"medium\"},\"tool_choice\":\"auto\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":1}", - "event: response.output_item.added\ndata: {\"type\":\"response.output_item.added\",\"item\":{\"id\":\"msg_0cc2fdc47b68ed64006a5f27e95a388192bf96c4af4aeaf8a0\",\"type\":\"message\",\"status\":\"in_progress\",\"content\":[],\"role\":\"assistant\"},\"output_index\":0,\"sequence_number\":2}", - "event: response.content_part.added\ndata: {\"type\":\"response.content_part.added\",\"content_index\":0,\"item_id\":\"msg_0cc2fdc47b68ed64006a5f27e95a388192bf96c4af4aeaf8a0\",\"output_index\":0,\"part\":{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"\"},\"sequence_number\":3}", - "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"{\\\"\",\"item_id\":\"msg_0cc2fdc47b68ed64006a5f27e95a388192bf96c4af4aeaf8a0\",\"logprobs\":[],\"obfuscation\":\"ADqhlGWfS7T9ZT\",\"output_index\":0,\"sequence_number\":4}", - "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"city\",\"item_id\":\"msg_0cc2fdc47b68ed64006a5f27e95a388192bf96c4af4aeaf8a0\",\"logprobs\":[],\"obfuscation\":\"NYzu4pqkxUg3\",\"output_index\":0,\"sequence_number\":5}", - "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"\\\":\\\"\",\"item_id\":\"msg_0cc2fdc47b68ed64006a5f27e95a388192bf96c4af4aeaf8a0\",\"logprobs\":[],\"obfuscation\":\"MpOHeLGIMnrly\",\"output_index\":0,\"sequence_number\":6}", - "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"Paris\",\"item_id\":\"msg_0cc2fdc47b68ed64006a5f27e95a388192bf96c4af4aeaf8a0\",\"logprobs\":[],\"obfuscation\":\"RLY01I2Ezdf\",\"output_index\":0,\"sequence_number\":7}", - "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"\\\"}\",\"item_id\":\"msg_0cc2fdc47b68ed64006a5f27e95a388192bf96c4af4aeaf8a0\",\"logprobs\":[],\"obfuscation\":\"CWCTu458OptLhE\",\"output_index\":0,\"sequence_number\":8}", - "event: response.output_text.done\ndata: {\"type\":\"response.output_text.done\",\"content_index\":0,\"item_id\":\"msg_0cc2fdc47b68ed64006a5f27e95a388192bf96c4af4aeaf8a0\",\"logprobs\":[],\"output_index\":0,\"sequence_number\":9,\"text\":\"{\\\"city\\\":\\\"Paris\\\"}\"}", - "event: response.content_part.done\ndata: {\"type\":\"response.content_part.done\",\"content_index\":0,\"item_id\":\"msg_0cc2fdc47b68ed64006a5f27e95a388192bf96c4af4aeaf8a0\",\"output_index\":0,\"part\":{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"{\\\"city\\\":\\\"Paris\\\"}\"},\"sequence_number\":10}", - "event: response.output_item.done\ndata: {\"type\":\"response.output_item.done\",\"item\":{\"id\":\"msg_0cc2fdc47b68ed64006a5f27e95a388192bf96c4af4aeaf8a0\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"{\\\"city\\\":\\\"Paris\\\"}\"}],\"role\":\"assistant\"},\"output_index\":0,\"sequence_number\":11}", - "event: response.completed\ndata: {\"type\":\"response.completed\",\"response\":{\"id\":\"resp_0cc2fdc47b68ed64006a5f27e8dd348192a4e8677944794471\",\"object\":\"response\",\"created_at\":1784621032,\"status\":\"completed\",\"background\":false,\"completed_at\":1784621033,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":32,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[{\"id\":\"msg_0cc2fdc47b68ed64006a5f27e95a388192bf96c4af4aeaf8a0\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"{\\\"city\\\":\\\"Paris\\\"}\"}],\"role\":\"assistant\"}],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"default\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"json_schema\",\"description\":null,\"name\":\"response\",\"schema\":{\"type\":\"object\",\"properties\":{\"city\":{\"type\":\"string\"}},\"required\":[\"city\"],\"additionalProperties\":false},\"strict\":true},\"verbosity\":\"medium\"},\"tool_choice\":\"auto\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":{\"input_tokens\":38,\"input_tokens_details\":{\"cache_write_tokens\":0,\"cached_tokens\":0},\"output_tokens\":6,\"output_tokens_details\":{\"reasoning_tokens\":0},\"total_tokens\":44},\"user\":null,\"metadata\":{}},\"sequence_number\":12}" - ], - "kind": "sse" + "kind": "json", + "value": { + "container": null, + "content": [ + { + "text": "CACHE_OK", + "type": "text" + } + ], + "id": "msg_011Cf8sTksRTRNRutH2rkCwh", + "model": "claude-haiku-4-5-20251001", + "role": "assistant", + "stop_details": null, + "stop_reason": "end_turn", + "stop_sequence": null, + "type": "message", + "usage": { + "cache_creation": { + "ephemeral_1h_input_tokens": 0, + "ephemeral_5m_input_tokens": 0 + }, + "cache_creation_input_tokens": 0, + "cache_read_input_tokens": 4516, + "inference_geo": "not_available", + "input_tokens": 3, + "output_tokens": 7, + "service_tier": "standard" + } + } }, "headers": { - "access-control-expose-headers": "X-Request-ID, CF-Ray, CF-Ray", - "alt-svc": "h3=\":443\"; ma=86400", + "anthropic-organization-id": "27796668-7351-40ac-acc4-024aee8995a5", + "anthropic-ratelimit-input-tokens-limit": "10000000", + "anthropic-ratelimit-input-tokens-remaining": "10000000", + "anthropic-ratelimit-input-tokens-reset": "2026-09-17T10:41:19Z", + "anthropic-ratelimit-output-tokens-limit": "2000000", + "anthropic-ratelimit-output-tokens-remaining": "2000000", + "anthropic-ratelimit-output-tokens-reset": "2026-09-17T10:41:19Z", + "anthropic-ratelimit-requests-limit": "20000", + "anthropic-ratelimit-requests-remaining": "19999", + "anthropic-ratelimit-requests-reset": "2026-09-17T10:41:18Z", + "anthropic-ratelimit-tokens-limit": "12000000", + "anthropic-ratelimit-tokens-remaining": "12000000", + "anthropic-ratelimit-tokens-reset": "2026-09-17T10:41:19Z", + "anthropic-workspace-id": "wrkspc_018bFG1FgNVWqx5pthtdGTzS", "cf-cache-status": "DYNAMIC", - "cf-ray": "a1e8b10f1f4c81ed-IAD", + "cf-ray": "a3c77f6cc831c953-IAD", "connection": "keep-alive", - "content-type": "text/event-stream; charset=utf-8", - "date": "Tue, 21 Jul 2026 08:03:52 GMT", - "openai-organization": "braintrust-data", - "openai-processing-ms": "129", - "openai-project": "proj_vsCSXafhhByzWOThMrJcZiw9", - "openai-version": "2020-10-01", + "content-encoding": "gzip", + "content-security-policy": "default-src 'none'; frame-ancestors 'none'", + "content-type": "application/json", + "date": "Thu, 17 Sep 2026 10:41:19 GMT", + "request-id": "req_011Cf8sTkb3jg5WVnhQWbrYy", "server": "cloudflare", - "set-cookie": "[REDACTED]", "strict-transport-security": "max-age=31536000; includeSubDomains; preload", + "traceresponse": "00-b06de3d91a6cf7133ce12dbfd864b83a-6460e356f10f0354-01", "transfer-encoding": "chunked", - "x-content-type-options": "nosniff", - "x-request-id": "req_c8a2de601c394feeb68e49b1e7a2ed78" + "vary": "Accept-Encoding", + "x-robots-tag": "none" }, "status": 200, "statusText": "OK" } }, { - "callIndex": 9, - "id": "3f08b53881e505ce", - "matchKey": "POST api.openai.com/v1/responses", - "recordedAt": "2026-07-21T08:03:54.321Z", + "callIndex": 2, + "id": "c440f9309e7fff40", + "matchKey": "POST api.anthropic.com/v1/messages", + "recordedAt": "2026-09-17T10:41:25.043Z", "request": { "body": { "kind": "json", "value": { - "input": [ - { - "content": "You are a terse assistant.", - "role": "system" - }, + "max_tokens": 24, + "messages": [ { "content": [ { - "text": "Reply with exactly HELLO and no punctuation.", - "type": "input_text" + "cache_control": { + "type": "ephemeral" + }, + "text": "braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix\n\nReply with exactly CACHE_OK and nothing else.", + "type": "text" } ], "role": "user" } ], - "max_output_tokens": 24, - "model": "gpt-4o-mini-2024-07-18" + "model": "claude-haiku-4-5", + "temperature": 0 } }, "headers": {}, "method": "POST", - "url": "https://api.openai.com/v1/responses" + "url": "https://api.anthropic.com/v1/messages" }, "response": { "body": { "kind": "json", "value": { - "background": false, - "billing": { - "payer": "developer" - }, - "completed_at": 1784621034, - "created_at": 1784621033, - "error": null, - "frequency_penalty": 0, - "id": "resp_09c24a4f0844ea2c006a5f27e9af0481a3bcee5c238cb5cae7", - "incomplete_details": null, - "instructions": null, - "max_output_tokens": 24, - "max_tool_calls": null, - "metadata": {}, - "model": "gpt-4o-mini-2024-07-18", - "moderation": null, - "object": "response", - "output": [ + "container": null, + "content": [ { - "content": [ - { - "annotations": [], - "logprobs": [], - "text": "HELLO", - "type": "output_text" - } - ], - "id": "msg_09c24a4f0844ea2c006a5f27ea27a481a3822e2cd6ea39b328", - "role": "assistant", - "status": "completed", - "type": "message" + "text": "CACHE_OK", + "type": "text" } ], - "parallel_tool_calls": true, - "presence_penalty": 0, - "previous_response_id": null, - "prompt_cache_key": "[REDACTED]", - "prompt_cache_retention": "in_memory", - "reasoning": { - "context": null, - "effort": null, - "summary": null - }, - "safety_identifier": null, - "service_tier": "default", - "status": "completed", - "store": true, - "temperature": 1, - "text": { - "format": { - "type": "text" + "id": "msg_011Cf8sUB1UpiYJGpsXLj1de", + "model": "claude-haiku-4-5-20251001", + "role": "assistant", + "stop_details": null, + "stop_reason": "end_turn", + "stop_sequence": null, + "type": "message", + "usage": { + "cache_creation": { + "ephemeral_1h_input_tokens": 0, + "ephemeral_5m_input_tokens": 0 }, - "verbosity": "medium" - }, - "tool_choice": "auto", - "tool_usage": { - "image_gen": { - "input_tokens": 0, - "input_tokens_details": { - "image_tokens": 0, - "text_tokens": 0 - }, - "output_tokens": 0, - "output_tokens_details": { - "image_tokens": 0, - "text_tokens": 0 + "cache_creation_input_tokens": 0, + "cache_read_input_tokens": 4516, + "inference_geo": "not_available", + "input_tokens": 3, + "output_tokens": 7, + "service_tier": "standard" + } + } + }, + "headers": { + "anthropic-organization-id": "27796668-7351-40ac-acc4-024aee8995a5", + "anthropic-ratelimit-input-tokens-limit": "10000000", + "anthropic-ratelimit-input-tokens-remaining": "10000000", + "anthropic-ratelimit-input-tokens-reset": "2026-09-17T10:41:24Z", + "anthropic-ratelimit-output-tokens-limit": "2000000", + "anthropic-ratelimit-output-tokens-remaining": "2000000", + "anthropic-ratelimit-output-tokens-reset": "2026-09-17T10:41:25Z", + "anthropic-ratelimit-requests-limit": "20000", + "anthropic-ratelimit-requests-remaining": "19999", + "anthropic-ratelimit-requests-reset": "2026-09-17T10:41:24Z", + "anthropic-ratelimit-tokens-limit": "12000000", + "anthropic-ratelimit-tokens-remaining": "12000000", + "anthropic-ratelimit-tokens-reset": "2026-09-17T10:41:24Z", + "anthropic-workspace-id": "wrkspc_018bFG1FgNVWqx5pthtdGTzS", + "cf-cache-status": "DYNAMIC", + "cf-ray": "a3c77f901ef81585-IAD", + "connection": "keep-alive", + "content-encoding": "gzip", + "content-security-policy": "default-src 'none'; frame-ancestors 'none'", + "content-type": "application/json", + "date": "Thu, 17 Sep 2026 10:41:25 GMT", + "request-id": "req_011Cf8sUAgdhc8dxWmdhZo7c", + "server": "cloudflare", + "strict-transport-security": "max-age=31536000; includeSubDomains; preload", + "traceresponse": "00-4286652b4e1939a8ab0eeda228dbbc46-44ca127a30587c0e-01", + "transfer-encoding": "chunked", + "vary": "Accept-Encoding", + "x-robots-tag": "none" + }, + "status": 200, + "statusText": "OK" + } + }, + { + "callIndex": 7, + "id": "d22bae6c42006c81", + "matchKey": "POST api.openai.com/v1/responses", + "recordedAt": "2026-09-17T10:41:27.045Z", + "request": { + "body": { + "kind": "json", + "value": { + "input": [ + { + "content": [ + { + "text": "Return JSON with {\"city\":\"Paris\"}.", + "type": "input_text" + } + ], + "role": "user" + } + ], + "max_output_tokens": 32, + "model": "gpt-4o-mini-2024-07-18", + "temperature": 0, + "text": { + "format": { + "name": "response", + "schema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "city": { + "type": "string" + } + }, + "required": ["city"], + "type": "object" + }, + "strict": true, + "type": "json_schema" + } + } + } + }, + "headers": {}, + "method": "POST", + "url": "https://api.openai.com/v1/responses" + }, + "response": { + "body": { + "kind": "json", + "value": { + "background": false, + "billing": { + "payer": "developer" + }, + "completed_at": 1789641686, + "created_at": 1789641686, + "error": null, + "frequency_penalty": 0, + "id": "resp_074997f6b7cf0692006aabc3d6386487d29f5fee29e2e05bcf", + "incomplete_details": null, + "instructions": null, + "max_output_tokens": 32, + "max_tool_calls": null, + "metadata": {}, + "model": "gpt-4o-mini-2024-07-18", + "moderation": null, + "object": "response", + "output": [ + { + "content": [ + { + "annotations": [], + "logprobs": [], + "text": "{\"city\":\"Paris\"}", + "type": "output_text" + } + ], + "id": "msg_074997f6b7cf0692006aabc3d6c54087d28020673ac6c6df8d", + "role": "assistant", + "status": "completed", + "type": "message" + } + ], + "parallel_tool_calls": true, + "presence_penalty": 0, + "previous_response_id": null, + "prompt_cache_key": "[REDACTED]", + "prompt_cache_retention": "in_memory", + "reasoning": { + "context": null, + "effort": null, + "summary": null + }, + "safety_identifier": null, + "service_tier": "default", + "status": "completed", + "store": true, + "temperature": 0, + "text": { + "format": { + "description": null, + "name": "response", + "schema": { + "additionalProperties": false, + "properties": { + "city": { + "type": "string" + } + }, + "required": ["city"], + "type": "object" + }, + "strict": true, + "type": "json_schema" + }, + "verbosity": "medium" + }, + "tool_choice": "auto", + "tool_usage": { + "image_gen": { + "input_tokens": 0, + "input_tokens_details": { + "image_tokens": 0, + "text_tokens": 0 + }, + "output_tokens": 0, + "output_tokens_details": { + "image_tokens": 0, + "text_tokens": 0 }, "total_tokens": 0 }, @@ -2324,16 +2588,16 @@ "top_p": 1, "truncation": "disabled", "usage": { - "input_tokens": 26, + "input_tokens": 38, "input_tokens_details": { "cache_write_tokens": 0, "cached_tokens": 0 }, - "output_tokens": 3, + "output_tokens": 6, "output_tokens_details": { "reasoning_tokens": 0 }, - "total_tokens": 29 + "total_tokens": 44 }, "user": null } @@ -2342,13 +2606,13 @@ "access-control-expose-headers": "X-Request-ID, CF-Ray, CF-Ray", "alt-svc": "h3=\":443\"; ma=86400", "cf-cache-status": "DYNAMIC", - "cf-ray": "a1e8b1143acd81ed-IAD", + "cf-ray": "a3c77f93bae7cd76-IAD", "connection": "keep-alive", "content-encoding": "gzip", "content-type": "application/json", - "date": "Tue, 21 Jul 2026 08:03:54 GMT", + "date": "Thu, 17 Sep 2026 10:41:27 GMT", "openai-organization": "braintrust-data", - "openai-processing-ms": "645", + "openai-processing-ms": "1779", "openai-project": "proj_vsCSXafhhByzWOThMrJcZiw9", "openai-version": "2020-10-01", "server": "cloudflare", @@ -2359,42 +2623,57 @@ "x-ratelimit-limit-requests": "30000", "x-ratelimit-limit-tokens": "150000000", "x-ratelimit-remaining-requests": "29999", - "x-ratelimit-remaining-tokens": "149999955", + "x-ratelimit-remaining-tokens": "149999945", "x-ratelimit-reset-requests": "2ms", "x-ratelimit-reset-tokens": "0s", - "x-request-id": "req_5e3c1fe1420f492585dc22c7ec71a052" + "x-request-id": "req_385e03b9a52f4529bb668013638eecc4" }, "status": 200, "statusText": "OK" } }, { - "callIndex": 10, - "id": "d026123ce87dfbca", + "callIndex": 8, + "id": "6d0eec1cfcef015d", "matchKey": "POST api.openai.com/v1/responses", - "recordedAt": "2026-07-21T08:03:55.156Z", + "recordedAt": "2026-09-17T10:41:27.925Z", "request": { "body": { "kind": "json", "value": { "input": [ - { - "content": "You are a terse assistant.", - "role": "system" - }, { "content": [ { - "text": "Reply with exactly STREAM HELLO and no punctuation.", + "text": "Stream JSON with {\"city\":\"Paris\"}.", "type": "input_text" } ], "role": "user" } ], - "max_output_tokens": 24, + "max_output_tokens": 32, "model": "gpt-4o-mini-2024-07-18", - "stream": true + "stream": true, + "temperature": 0, + "text": { + "format": { + "name": "response", + "schema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": false, + "properties": { + "city": { + "type": "string" + } + }, + "required": ["city"], + "type": "object" + }, + "strict": true, + "type": "json_schema" + } + } } }, "headers": {}, @@ -2404,17 +2683,19 @@ "response": { "body": { "chunks": [ - "event: response.created\ndata: {\"type\":\"response.created\",\"response\":{\"id\":\"resp_0aa3b6ffa313a619006a5f27ea6188819c8e28c923c766d62a\",\"object\":\"response\",\"created_at\":1784621034,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":24,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":1,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"auto\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":0}", - "event: response.in_progress\ndata: {\"type\":\"response.in_progress\",\"response\":{\"id\":\"resp_0aa3b6ffa313a619006a5f27ea6188819c8e28c923c766d62a\",\"object\":\"response\",\"created_at\":1784621034,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":24,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":1,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"auto\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":1}", - "event: response.output_item.added\ndata: {\"type\":\"response.output_item.added\",\"item\":{\"id\":\"msg_0aa3b6ffa313a619006a5f27eaef2c819cb00c3931c9091519\",\"type\":\"message\",\"status\":\"in_progress\",\"content\":[],\"role\":\"assistant\"},\"output_index\":0,\"sequence_number\":2}", - "event: response.content_part.added\ndata: {\"type\":\"response.content_part.added\",\"content_index\":0,\"item_id\":\"msg_0aa3b6ffa313a619006a5f27eaef2c819cb00c3931c9091519\",\"output_index\":0,\"part\":{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"\"},\"sequence_number\":3}", - "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"STREAM\",\"item_id\":\"msg_0aa3b6ffa313a619006a5f27eaef2c819cb00c3931c9091519\",\"logprobs\":[],\"obfuscation\":\"knrAzjNRZa\",\"output_index\":0,\"sequence_number\":4}", - "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" HEL\",\"item_id\":\"msg_0aa3b6ffa313a619006a5f27eaef2c819cb00c3931c9091519\",\"logprobs\":[],\"obfuscation\":\"GefBzUb0UvFk\",\"output_index\":0,\"sequence_number\":5}", - "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"LO\",\"item_id\":\"msg_0aa3b6ffa313a619006a5f27eaef2c819cb00c3931c9091519\",\"logprobs\":[],\"obfuscation\":\"HrpbINaP6JZLat\",\"output_index\":0,\"sequence_number\":6}", - "event: response.output_text.done\ndata: {\"type\":\"response.output_text.done\",\"content_index\":0,\"item_id\":\"msg_0aa3b6ffa313a619006a5f27eaef2c819cb00c3931c9091519\",\"logprobs\":[],\"output_index\":0,\"sequence_number\":7,\"text\":\"STREAM HELLO\"}", - "event: response.content_part.done\ndata: {\"type\":\"response.content_part.done\",\"content_index\":0,\"item_id\":\"msg_0aa3b6ffa313a619006a5f27eaef2c819cb00c3931c9091519\",\"output_index\":0,\"part\":{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"STREAM HELLO\"},\"sequence_number\":8}", - "event: response.output_item.done\ndata: {\"type\":\"response.output_item.done\",\"item\":{\"id\":\"msg_0aa3b6ffa313a619006a5f27eaef2c819cb00c3931c9091519\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"STREAM HELLO\"}],\"role\":\"assistant\"},\"output_index\":0,\"sequence_number\":9}", - "event: response.completed\ndata: {\"type\":\"response.completed\",\"response\":{\"id\":\"resp_0aa3b6ffa313a619006a5f27ea6188819c8e28c923c766d62a\",\"object\":\"response\",\"created_at\":1784621034,\"status\":\"completed\",\"background\":false,\"completed_at\":1784621035,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":24,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[{\"id\":\"msg_0aa3b6ffa313a619006a5f27eaef2c819cb00c3931c9091519\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"STREAM HELLO\"}],\"role\":\"assistant\"}],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"default\",\"store\":true,\"temperature\":1,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"auto\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":{\"input_tokens\":27,\"input_tokens_details\":{\"cache_write_tokens\":0,\"cached_tokens\":0},\"output_tokens\":4,\"output_tokens_details\":{\"reasoning_tokens\":0},\"total_tokens\":31},\"user\":null,\"metadata\":{}},\"sequence_number\":10}" + "event: response.created\ndata: {\"type\":\"response.created\",\"response\":{\"id\":\"resp_0f4872987e966cb9006aabc3d7315087d2b294515a0ad95c12\",\"object\":\"response\",\"created_at\":1789641687,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":32,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"json_schema\",\"description\":null,\"name\":\"response\",\"schema\":{\"type\":\"object\",\"properties\":{\"city\":{\"type\":\"string\"}},\"required\":[\"city\"],\"additionalProperties\":false},\"strict\":true},\"verbosity\":\"medium\"},\"tool_choice\":\"auto\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":0}", + "event: response.in_progress\ndata: {\"type\":\"response.in_progress\",\"response\":{\"id\":\"resp_0f4872987e966cb9006aabc3d7315087d2b294515a0ad95c12\",\"object\":\"response\",\"created_at\":1789641687,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":32,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"json_schema\",\"description\":null,\"name\":\"response\",\"schema\":{\"type\":\"object\",\"properties\":{\"city\":{\"type\":\"string\"}},\"required\":[\"city\"],\"additionalProperties\":false},\"strict\":true},\"verbosity\":\"medium\"},\"tool_choice\":\"auto\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":1}", + "event: response.output_item.added\ndata: {\"type\":\"response.output_item.added\",\"item\":{\"id\":\"msg_0f4872987e966cb9006aabc3d7a7c487d2a6ed7eb46200a842\",\"type\":\"message\",\"status\":\"in_progress\",\"content\":[],\"role\":\"assistant\"},\"output_index\":0,\"sequence_number\":2}", + "event: response.content_part.added\ndata: {\"type\":\"response.content_part.added\",\"content_index\":0,\"item_id\":\"msg_0f4872987e966cb9006aabc3d7a7c487d2a6ed7eb46200a842\",\"output_index\":0,\"part\":{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"\"},\"sequence_number\":3}", + "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"{\\\"\",\"item_id\":\"msg_0f4872987e966cb9006aabc3d7a7c487d2a6ed7eb46200a842\",\"logprobs\":[],\"obfuscation\":\"dpMLGUlse73ppf\",\"output_index\":0,\"sequence_number\":4}", + "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"city\",\"item_id\":\"msg_0f4872987e966cb9006aabc3d7a7c487d2a6ed7eb46200a842\",\"logprobs\":[],\"obfuscation\":\"x474yzMzDzsL\",\"output_index\":0,\"sequence_number\":5}", + "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"\\\":\\\"\",\"item_id\":\"msg_0f4872987e966cb9006aabc3d7a7c487d2a6ed7eb46200a842\",\"logprobs\":[],\"obfuscation\":\"6Hb7OMirSptsu\",\"output_index\":0,\"sequence_number\":6}", + "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"Paris\",\"item_id\":\"msg_0f4872987e966cb9006aabc3d7a7c487d2a6ed7eb46200a842\",\"logprobs\":[],\"obfuscation\":\"praxSegJqLe\",\"output_index\":0,\"sequence_number\":7}", + "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"\\\"}\",\"item_id\":\"msg_0f4872987e966cb9006aabc3d7a7c487d2a6ed7eb46200a842\",\"logprobs\":[],\"obfuscation\":\"VRcaMAhOqFSaoc\",\"output_index\":0,\"sequence_number\":8}", + "event: response.output_text.done\ndata: {\"type\":\"response.output_text.done\",\"content_index\":0,\"item_id\":\"msg_0f4872987e966cb9006aabc3d7a7c487d2a6ed7eb46200a842\",\"logprobs\":[],\"output_index\":0,\"sequence_number\":9,\"text\":\"{\\\"city\\\":\\\"Paris\\\"}\"}", + "event: response.content_part.done\ndata: {\"type\":\"response.content_part.done\",\"content_index\":0,\"item_id\":\"msg_0f4872987e966cb9006aabc3d7a7c487d2a6ed7eb46200a842\",\"output_index\":0,\"part\":{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"{\\\"city\\\":\\\"Paris\\\"}\"},\"sequence_number\":10}", + "event: response.output_item.done\ndata: {\"type\":\"response.output_item.done\",\"item\":{\"id\":\"msg_0f4872987e966cb9006aabc3d7a7c487d2a6ed7eb46200a842\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"{\\\"city\\\":\\\"Paris\\\"}\"}],\"role\":\"assistant\"},\"output_index\":0,\"sequence_number\":11}", + "event: response.completed\ndata: {\"type\":\"response.completed\",\"response\":{\"id\":\"resp_0f4872987e966cb9006aabc3d7315087d2b294515a0ad95c12\",\"object\":\"response\",\"created_at\":1789641687,\"status\":\"completed\",\"background\":false,\"completed_at\":1789641687,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":32,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[{\"id\":\"msg_0f4872987e966cb9006aabc3d7a7c487d2a6ed7eb46200a842\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"{\\\"city\\\":\\\"Paris\\\"}\"}],\"role\":\"assistant\"}],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"default\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"json_schema\",\"description\":null,\"name\":\"response\",\"schema\":{\"type\":\"object\",\"properties\":{\"city\":{\"type\":\"string\"}},\"required\":[\"city\"],\"additionalProperties\":false},\"strict\":true},\"verbosity\":\"medium\"},\"tool_choice\":\"auto\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":{\"input_tokens\":38,\"input_tokens_details\":{\"cache_write_tokens\":0,\"cached_tokens\":0},\"output_tokens\":6,\"output_tokens_details\":{\"reasoning_tokens\":0},\"total_tokens\":44},\"user\":null,\"metadata\":{}},\"sequence_number\":12}" ], "kind": "sse" }, @@ -2422,12 +2703,12 @@ "access-control-expose-headers": "X-Request-ID, CF-Ray, CF-Ray", "alt-svc": "h3=\":443\"; ma=86400", "cf-cache-status": "DYNAMIC", - "cf-ray": "a1e8b1189dbc81ed-IAD", + "cf-ray": "a3c77fa02ac6cd76-IAD", "connection": "keep-alive", "content-type": "text/event-stream; charset=utf-8", - "date": "Tue, 21 Jul 2026 08:03:54 GMT", + "date": "Thu, 17 Sep 2026 10:41:27 GMT", "openai-organization": "braintrust-data", - "openai-processing-ms": "134", + "openai-processing-ms": "567", "openai-project": "proj_vsCSXafhhByzWOThMrJcZiw9", "openai-version": "2020-10-01", "server": "cloudflare", @@ -2435,51 +2716,294 @@ "strict-transport-security": "max-age=31536000; includeSubDomains; preload", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-request-id": "req_5af7a349596b4a228bc17a4de061df36" + "x-ratelimit-limit-requests": "30000", + "x-ratelimit-limit-tokens": "150000000", + "x-ratelimit-remaining-requests": "29999", + "x-ratelimit-remaining-tokens": "149999942", + "x-ratelimit-reset-requests": "2ms", + "x-ratelimit-reset-tokens": "0s", + "x-request-id": "req_c59889724ba945338c7063282f469680" }, "status": 200, "statusText": "OK" } }, { - "callIndex": 11, - "id": "34ad62d7c96775e7", + "callIndex": 9, + "id": "3f08b53881e505ce", "matchKey": "POST api.openai.com/v1/responses", - "recordedAt": "2026-07-21T08:03:57.632Z", + "recordedAt": "2026-09-17T10:41:28.628Z", "request": { "body": { "kind": "json", "value": { "input": [ { - "content": "You are a shopping assistant. Use the tools before answering pricing questions.", + "content": "You are a terse assistant.", "role": "system" }, { "content": [ { - "text": "I need help comparing laptop prices before checkout.", + "text": "Reply with exactly HELLO and no punctuation.", "type": "input_text" } ], "role": "user" - }, + } + ], + "max_output_tokens": 24, + "model": "gpt-4o-mini-2024-07-18" + } + }, + "headers": {}, + "method": "POST", + "url": "https://api.openai.com/v1/responses" + }, + "response": { + "body": { + "kind": "json", + "value": { + "background": false, + "billing": { + "payer": "developer" + }, + "completed_at": 1789641688, + "created_at": 1789641688, + "error": null, + "frequency_penalty": 0, + "id": "resp_0455ad432300de38006aabc3d8079487d29bc021972ac2e662", + "incomplete_details": null, + "instructions": null, + "max_output_tokens": 24, + "max_tool_calls": null, + "metadata": {}, + "model": "gpt-4o-mini-2024-07-18", + "moderation": null, + "object": "response", + "output": [ { "content": [ { - "text": "I can compare store prices and apply a discount code.", + "annotations": [], + "logprobs": [], + "text": "HELLO", "type": "output_text" } ], - "role": "assistant" - }, - { - "content": [ - { - "text": "Call get_store_price for a laptop at StoreA and StoreB, then call apply_discount with code SAVE20 for the cheaper price. Finish with the discounted total.", - "type": "input_text" - } - ], + "id": "msg_0455ad432300de38006aabc3d86ec087d29b32151ac6defb34", + "role": "assistant", + "status": "completed", + "type": "message" + } + ], + "parallel_tool_calls": true, + "presence_penalty": 0, + "previous_response_id": null, + "prompt_cache_key": "[REDACTED]", + "prompt_cache_retention": "in_memory", + "reasoning": { + "context": null, + "effort": null, + "summary": null + }, + "safety_identifier": null, + "service_tier": "default", + "status": "completed", + "store": true, + "temperature": 1, + "text": { + "format": { + "type": "text" + }, + "verbosity": "medium" + }, + "tool_choice": "auto", + "tool_usage": { + "image_gen": { + "input_tokens": 0, + "input_tokens_details": { + "image_tokens": 0, + "text_tokens": 0 + }, + "output_tokens": 0, + "output_tokens_details": { + "image_tokens": 0, + "text_tokens": 0 + }, + "total_tokens": 0 + }, + "web_search": { + "num_requests": 0 + } + }, + "tools": [], + "top_logprobs": 0, + "top_p": 1, + "truncation": "disabled", + "usage": { + "input_tokens": 26, + "input_tokens_details": { + "cache_write_tokens": 0, + "cached_tokens": 0 + }, + "output_tokens": 3, + "output_tokens_details": { + "reasoning_tokens": 0 + }, + "total_tokens": 29 + }, + "user": null + } + }, + "headers": { + "access-control-expose-headers": "X-Request-ID, CF-Ray, CF-Ray", + "alt-svc": "h3=\":443\"; ma=86400", + "cf-cache-status": "DYNAMIC", + "cf-ray": "a3c77fa5a91acd76-IAD", + "connection": "keep-alive", + "content-encoding": "gzip", + "content-type": "application/json", + "date": "Thu, 17 Sep 2026 10:41:28 GMT", + "openai-organization": "braintrust-data", + "openai-processing-ms": "573", + "openai-project": "proj_vsCSXafhhByzWOThMrJcZiw9", + "openai-version": "2020-10-01", + "server": "cloudflare", + "set-cookie": "[REDACTED]", + "strict-transport-security": "max-age=31536000; includeSubDomains; preload", + "transfer-encoding": "chunked", + "x-content-type-options": "nosniff", + "x-ratelimit-limit-requests": "30000", + "x-ratelimit-limit-tokens": "150000000", + "x-ratelimit-remaining-requests": "29999", + "x-ratelimit-remaining-tokens": "149999952", + "x-ratelimit-reset-requests": "2ms", + "x-ratelimit-reset-tokens": "0s", + "x-request-id": "req_7a69d6c2ba8341538efcb0209475c1cf" + }, + "status": 200, + "statusText": "OK" + } + }, + { + "callIndex": 10, + "id": "d026123ce87dfbca", + "matchKey": "POST api.openai.com/v1/responses", + "recordedAt": "2026-09-17T10:41:29.215Z", + "request": { + "body": { + "kind": "json", + "value": { + "input": [ + { + "content": "You are a terse assistant.", + "role": "system" + }, + { + "content": [ + { + "text": "Reply with exactly STREAM HELLO and no punctuation.", + "type": "input_text" + } + ], + "role": "user" + } + ], + "max_output_tokens": 24, + "model": "gpt-4o-mini-2024-07-18", + "stream": true + } + }, + "headers": {}, + "method": "POST", + "url": "https://api.openai.com/v1/responses" + }, + "response": { + "body": { + "chunks": [ + "event: response.created\ndata: {\"type\":\"response.created\",\"response\":{\"id\":\"resp_06a1683a2692bbe7006aabc3d8b44c87d287d48bf19903b6aa\",\"object\":\"response\",\"created_at\":1789641688,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":24,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":1,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"auto\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":0}", + "event: response.in_progress\ndata: {\"type\":\"response.in_progress\",\"response\":{\"id\":\"resp_06a1683a2692bbe7006aabc3d8b44c87d287d48bf19903b6aa\",\"object\":\"response\",\"created_at\":1789641688,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":24,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":1,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"auto\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":1}", + "event: response.output_item.added\ndata: {\"type\":\"response.output_item.added\",\"item\":{\"id\":\"msg_06a1683a2692bbe7006aabc3d9014887d2878a4467d06dc996\",\"type\":\"message\",\"status\":\"in_progress\",\"content\":[],\"role\":\"assistant\"},\"output_index\":0,\"sequence_number\":2}", + "event: response.content_part.added\ndata: {\"type\":\"response.content_part.added\",\"content_index\":0,\"item_id\":\"msg_06a1683a2692bbe7006aabc3d9014887d2878a4467d06dc996\",\"output_index\":0,\"part\":{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"\"},\"sequence_number\":3}", + "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"STREAM\",\"item_id\":\"msg_06a1683a2692bbe7006aabc3d9014887d2878a4467d06dc996\",\"logprobs\":[],\"obfuscation\":\"x0cEn7Q2Uu\",\"output_index\":0,\"sequence_number\":4}", + "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\" HEL\",\"item_id\":\"msg_06a1683a2692bbe7006aabc3d9014887d2878a4467d06dc996\",\"logprobs\":[],\"obfuscation\":\"kZcGEMT6Mgj8\",\"output_index\":0,\"sequence_number\":5}", + "event: response.output_text.delta\ndata: {\"type\":\"response.output_text.delta\",\"content_index\":0,\"delta\":\"LO\",\"item_id\":\"msg_06a1683a2692bbe7006aabc3d9014887d2878a4467d06dc996\",\"logprobs\":[],\"obfuscation\":\"Lp6R4tkG3W2rzA\",\"output_index\":0,\"sequence_number\":6}", + "event: response.output_text.done\ndata: {\"type\":\"response.output_text.done\",\"content_index\":0,\"item_id\":\"msg_06a1683a2692bbe7006aabc3d9014887d2878a4467d06dc996\",\"logprobs\":[],\"output_index\":0,\"sequence_number\":7,\"text\":\"STREAM HELLO\"}", + "event: response.content_part.done\ndata: {\"type\":\"response.content_part.done\",\"content_index\":0,\"item_id\":\"msg_06a1683a2692bbe7006aabc3d9014887d2878a4467d06dc996\",\"output_index\":0,\"part\":{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"STREAM HELLO\"},\"sequence_number\":8}", + "event: response.output_item.done\ndata: {\"type\":\"response.output_item.done\",\"item\":{\"id\":\"msg_06a1683a2692bbe7006aabc3d9014887d2878a4467d06dc996\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"STREAM HELLO\"}],\"role\":\"assistant\"},\"output_index\":0,\"sequence_number\":9}", + "event: response.completed\ndata: {\"type\":\"response.completed\",\"response\":{\"id\":\"resp_06a1683a2692bbe7006aabc3d8b44c87d287d48bf19903b6aa\",\"object\":\"response\",\"created_at\":1789641688,\"status\":\"completed\",\"background\":false,\"completed_at\":1789641689,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":24,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[{\"id\":\"msg_06a1683a2692bbe7006aabc3d9014887d2878a4467d06dc996\",\"type\":\"message\",\"status\":\"completed\",\"content\":[{\"type\":\"output_text\",\"annotations\":[],\"logprobs\":[],\"text\":\"STREAM HELLO\"}],\"role\":\"assistant\"}],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"default\",\"store\":true,\"temperature\":1,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"auto\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":{\"input_tokens\":27,\"input_tokens_details\":{\"cache_write_tokens\":0,\"cached_tokens\":0},\"output_tokens\":4,\"output_tokens_details\":{\"reasoning_tokens\":0},\"total_tokens\":31},\"user\":null,\"metadata\":{}},\"sequence_number\":10}" + ], + "kind": "sse" + }, + "headers": { + "access-control-expose-headers": "X-Request-ID, CF-Ray, CF-Ray", + "alt-svc": "h3=\":443\"; ma=86400", + "cf-cache-status": "DYNAMIC", + "cf-ray": "a3c77faa0c99cd76-IAD", + "connection": "keep-alive", + "content-type": "text/event-stream; charset=utf-8", + "date": "Thu, 17 Sep 2026 10:41:29 GMT", + "openai-organization": "braintrust-data", + "openai-processing-ms": "329", + "openai-project": "proj_vsCSXafhhByzWOThMrJcZiw9", + "openai-version": "2020-10-01", + "server": "cloudflare", + "set-cookie": "[REDACTED]", + "strict-transport-security": "max-age=31536000; includeSubDomains; preload", + "transfer-encoding": "chunked", + "x-content-type-options": "nosniff", + "x-ratelimit-limit-requests": "30000", + "x-ratelimit-limit-tokens": "150000000", + "x-ratelimit-remaining-requests": "29999", + "x-ratelimit-remaining-tokens": "149999955", + "x-ratelimit-reset-requests": "2ms", + "x-ratelimit-reset-tokens": "0s", + "x-request-id": "req_0730bee203ac4777ada0a85298145448" + }, + "status": 200, + "statusText": "OK" + } + }, + { + "callIndex": 11, + "id": "34ad62d7c96775e7", + "matchKey": "POST api.openai.com/v1/responses", + "recordedAt": "2026-09-17T10:41:30.256Z", + "request": { + "body": { + "kind": "json", + "value": { + "input": [ + { + "content": "You are a shopping assistant. Use the tools before answering pricing questions.", + "role": "system" + }, + { + "content": [ + { + "text": "I need help comparing laptop prices before checkout.", + "type": "input_text" + } + ], + "role": "user" + }, + { + "content": [ + { + "text": "I can compare store prices and apply a discount code.", + "type": "output_text" + } + ], + "role": "assistant" + }, + { + "content": [ + { + "text": "Call get_store_price for a laptop at StoreA and StoreB, then call apply_discount with code SAVE20 for the cheaper price. Finish with the discounted total.", + "type": "input_text" + } + ], "role": "user" } ], @@ -2545,11 +3069,11 @@ "billing": { "payer": "developer" }, - "completed_at": 1784621037, - "created_at": 1784621035, + "completed_at": 1789641690, + "created_at": 1789641689, "error": null, "frequency_penalty": 0, - "id": "resp_0bc34b37f36070e3006a5f27eb783c81a3bb4c5a2b86dad179", + "id": "resp_06da380fc702b258006aabc3d94b6087d28ba0877a0a2b75e5", "incomplete_details": null, "instructions": null, "max_output_tokens": 256, @@ -2561,16 +3085,16 @@ "output": [ { "arguments": "{\"item\":\"laptop\",\"store\":\"StoreA\"}", - "call_id": "call_TjPPIKKVTTeVRRCfm4ZN1Y8v", - "id": "fc_0bc34b37f36070e3006a5f27ed333881a399b741a36c0b301e", + "call_id": "call_l5AyNNXOWSUPonxORZfgGvrQ", + "id": "fc_06da380fc702b258006aabc3da1c1c87d2bbbbf8f1fb652259", "name": "get_store_price", "status": "completed", "type": "function_call" }, { "arguments": "{\"item\":\"laptop\",\"store\":\"StoreB\"}", - "call_id": "call_ope2842MEXxBBvRf2BJXrS7d", - "id": "fc_0bc34b37f36070e3006a5f27ed334481a3875f8ac116afe562", + "call_id": "call_mmK6ormkEj5QzEq30KT7FRaV", + "id": "fc_06da380fc702b258006aabc3da1c3087d2b380069e9ad1b3f2", "name": "get_store_price", "status": "completed", "type": "function_call" @@ -2686,13 +3210,13 @@ "access-control-expose-headers": "X-Request-ID, CF-Ray, CF-Ray", "alt-svc": "h3=\":443\"; ma=86400", "cf-cache-status": "DYNAMIC", - "cf-ray": "a1e8b11dc9cc81ed-IAD", + "cf-ray": "a3c77fadbedecd76-IAD", "connection": "keep-alive", "content-encoding": "gzip", "content-type": "application/json", - "date": "Tue, 21 Jul 2026 08:03:57 GMT", + "date": "Thu, 17 Sep 2026 10:41:30 GMT", "openai-organization": "braintrust-data", - "openai-processing-ms": "2397", + "openai-processing-ms": "948", "openai-project": "proj_vsCSXafhhByzWOThMrJcZiw9", "openai-version": "2020-10-01", "server": "cloudflare", @@ -2706,7 +3230,7 @@ "x-ratelimit-remaining-tokens": "149999610", "x-ratelimit-reset-requests": "2ms", "x-ratelimit-reset-tokens": "0s", - "x-request-id": "req_d147ee0203bf46cb9bec2b8c4f358145" + "x-request-id": "req_2d3a534d30c049dda3103392e4ef44e1" }, "status": 200, "statusText": "OK" @@ -2714,9 +3238,9 @@ }, { "callIndex": 12, - "id": "9ddc3c641337677d", + "id": "57f3678501877210", "matchKey": "POST api.openai.com/v1/responses", - "recordedAt": "2026-07-21T08:03:58.550Z", + "recordedAt": "2026-09-17T10:41:31.063Z", "request": { "body": { "kind": "json", @@ -2755,23 +3279,23 @@ }, { "arguments": "{\"item\":\"laptop\",\"store\":\"StoreA\"}", - "call_id": "call_TjPPIKKVTTeVRRCfm4ZN1Y8v", + "call_id": "call_l5AyNNXOWSUPonxORZfgGvrQ", "name": "get_store_price", "type": "function_call" }, { "arguments": "{\"item\":\"laptop\",\"store\":\"StoreB\"}", - "call_id": "call_ope2842MEXxBBvRf2BJXrS7d", + "call_id": "call_mmK6ormkEj5QzEq30KT7FRaV", "name": "get_store_price", "type": "function_call" }, { - "call_id": "call_TjPPIKKVTTeVRRCfm4ZN1Y8v", + "call_id": "call_l5AyNNXOWSUPonxORZfgGvrQ", "output": "{\"item\":\"laptop\",\"price\":999,\"store\":\"StoreA\"}", "type": "function_call_output" }, { - "call_id": "call_ope2842MEXxBBvRf2BJXrS7d", + "call_id": "call_mmK6ormkEj5QzEq30KT7FRaV", "output": "{\"item\":\"laptop\",\"price\":1099,\"store\":\"StoreB\"}", "type": "function_call_output" } @@ -2838,11 +3362,11 @@ "billing": { "payer": "developer" }, - "completed_at": 1784621038, - "created_at": 1784621037, + "completed_at": 1789641690, + "created_at": 1789641690, "error": null, "frequency_penalty": 0, - "id": "resp_0bc34b37f36070e3006a5f27edb03481a3a3a6ce7cbaf1e953", + "id": "resp_009530944f501ff2006aabc3da54e487d2b8c72c780167e091", "incomplete_details": null, "instructions": null, "max_output_tokens": 256, @@ -2854,8 +3378,8 @@ "output": [ { "arguments": "{\"discountCode\":\"SAVE20\",\"total\":999}", - "call_id": "call_IN20AE9uVzVHjg5jO7D2LjdA", - "id": "fc_0bc34b37f36070e3006a5f27ee431081a3a5e08cd3679cd665", + "call_id": "call_R3zLa7gyP92eDF80u8hkIiy9", + "id": "fc_009530944f501ff2006aabc3dacd4087d2ad998d9ee7c72cda", "name": "apply_discount", "status": "completed", "type": "function_call" @@ -2971,13 +3495,13 @@ "access-control-expose-headers": "X-Request-ID, CF-Ray, CF-Ray", "alt-svc": "h3=\":443\"; ma=86400", "cf-cache-status": "DYNAMIC", - "cf-ray": "a1e8b12d3c7581ed-IAD", + "cf-ray": "a3c77fb43fb5cd76-IAD", "connection": "keep-alive", "content-encoding": "gzip", "content-type": "application/json", - "date": "Tue, 21 Jul 2026 08:03:58 GMT", + "date": "Thu, 17 Sep 2026 10:41:31 GMT", "openai-organization": "braintrust-data", - "openai-processing-ms": "865", + "openai-processing-ms": "707", "openai-project": "proj_vsCSXafhhByzWOThMrJcZiw9", "openai-version": "2020-10-01", "server": "cloudflare", @@ -2991,7 +3515,7 @@ "x-ratelimit-remaining-tokens": "149999522", "x-ratelimit-reset-requests": "2ms", "x-ratelimit-reset-tokens": "0s", - "x-request-id": "req_2e1eb16536784848a008f90e3be1ad66" + "x-request-id": "req_7a273039444448c0a02c765f6b8c9554" }, "status": 200, "statusText": "OK" @@ -2999,9 +3523,9 @@ }, { "callIndex": 13, - "id": "a8aa46bb39b31187", + "id": "5b7c8e75e1916969", "matchKey": "POST api.openai.com/v1/responses", - "recordedAt": "2026-07-21T08:04:00.139Z", + "recordedAt": "2026-09-17T10:41:32.219Z", "request": { "body": { "kind": "json", @@ -3040,34 +3564,34 @@ }, { "arguments": "{\"item\":\"laptop\",\"store\":\"StoreA\"}", - "call_id": "call_TjPPIKKVTTeVRRCfm4ZN1Y8v", + "call_id": "call_l5AyNNXOWSUPonxORZfgGvrQ", "name": "get_store_price", "type": "function_call" }, { "arguments": "{\"item\":\"laptop\",\"store\":\"StoreB\"}", - "call_id": "call_ope2842MEXxBBvRf2BJXrS7d", + "call_id": "call_mmK6ormkEj5QzEq30KT7FRaV", "name": "get_store_price", "type": "function_call" }, { - "call_id": "call_TjPPIKKVTTeVRRCfm4ZN1Y8v", + "call_id": "call_l5AyNNXOWSUPonxORZfgGvrQ", "output": "{\"item\":\"laptop\",\"price\":999,\"store\":\"StoreA\"}", "type": "function_call_output" }, { - "call_id": "call_ope2842MEXxBBvRf2BJXrS7d", + "call_id": "call_mmK6ormkEj5QzEq30KT7FRaV", "output": "{\"item\":\"laptop\",\"price\":1099,\"store\":\"StoreB\"}", "type": "function_call_output" }, { "arguments": "{\"discountCode\":\"SAVE20\",\"total\":999}", - "call_id": "call_IN20AE9uVzVHjg5jO7D2LjdA", + "call_id": "call_R3zLa7gyP92eDF80u8hkIiy9", "name": "apply_discount", "type": "function_call" }, { - "call_id": "call_IN20AE9uVzVHjg5jO7D2LjdA", + "call_id": "call_R3zLa7gyP92eDF80u8hkIiy9", "output": "{\"discountCode\":\"SAVE20\",\"finalTotal\":799.2,\"originalTotal\":999}", "type": "function_call_output" } @@ -3134,11 +3658,11 @@ "billing": { "payer": "developer" }, - "completed_at": 1784621040, - "created_at": 1784621038, + "completed_at": 1789641691, + "created_at": 1789641691, "error": null, "frequency_penalty": 0, - "id": "resp_0bc34b37f36070e3006a5f27ee986881a3bd2aaaa2a3eb11b4", + "id": "resp_067a41ebe70a352b006aabc3db262487d2af3ce91c996dff43", "incomplete_details": null, "instructions": null, "max_output_tokens": 256, @@ -3153,11 +3677,11 @@ { "annotations": [], "logprobs": [], - "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A** at $999. After applying the discount code **SAVE20**, the final total is **$799.20**.", + "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A**. After applying the discount code **SAVE20**, the final total is **$799.20**.", "type": "output_text" } ], - "id": "msg_0bc34b37f36070e3006a5f27ef28b881a3a754aa42ea8c32af", + "id": "msg_067a41ebe70a352b006aabc3db92e887d29ecc6f67510fcec1", "role": "assistant", "status": "completed", "type": "message" @@ -3255,16 +3779,16 @@ "top_p": 1, "truncation": "disabled", "usage": { - "input_tokens": 308, + "input_tokens": 305, "input_tokens_details": { "cache_write_tokens": 0, "cached_tokens": 0 }, - "output_tokens": 62, + "output_tokens": 59, "output_tokens_details": { "reasoning_tokens": 0 }, - "total_tokens": 370 + "total_tokens": 364 }, "user": null } @@ -3273,13 +3797,13 @@ "access-control-expose-headers": "X-Request-ID, CF-Ray, CF-Ray", "alt-svc": "h3=\":443\"; ma=86400", "cf-cache-status": "DYNAMIC", - "cf-ray": "a1e8b132f8c981ed-IAD", + "cf-ray": "a3c77fb93d12cd76-IAD", "connection": "keep-alive", "content-encoding": "gzip", "content-type": "application/json", - "date": "Tue, 21 Jul 2026 08:04:00 GMT", + "date": "Thu, 17 Sep 2026 10:41:32 GMT", "openai-organization": "braintrust-data", - "openai-processing-ms": "1539", + "openai-processing-ms": "1030", "openai-project": "proj_vsCSXafhhByzWOThMrJcZiw9", "openai-version": "2020-10-01", "server": "cloudflare", @@ -3290,10 +3814,10 @@ "x-ratelimit-limit-requests": "30000", "x-ratelimit-limit-tokens": "150000000", "x-ratelimit-remaining-requests": "29999", - "x-ratelimit-remaining-tokens": "149999475", + "x-ratelimit-remaining-tokens": "149999477", "x-ratelimit-reset-requests": "2ms", "x-ratelimit-reset-tokens": "0s", - "x-request-id": "req_bb15dbd2ec974b8a9f14c85aae552b18" + "x-request-id": "req_092b799628874c48b6d88c02776f1b73" }, "status": 200, "statusText": "OK" @@ -3303,7 +3827,7 @@ "callIndex": 14, "id": "cab5f9a41efafafd", "matchKey": "POST api.openai.com/v1/responses", - "recordedAt": "2026-07-21T08:04:01.223Z", + "recordedAt": "2026-09-17T10:41:32.929Z", "request": { "body": { "kind": "json", @@ -3356,19 +3880,19 @@ "response": { "body": { "chunks": [ - "event: response.created\ndata: {\"type\":\"response.created\",\"response\":{\"id\":\"resp_0752ed7506f427ba006a5f27f03cf081918fcc7ec16d163e12\",\"object\":\"response\",\"created_at\":1784621040,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":96,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"required\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[{\"type\":\"function\",\"description\":\"Get the weather for a location\",\"name\":\"get_weather\",\"output_schema\":null,\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and country\"}},\"required\":[\"location\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"strict\":true}],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":0}", - "event: response.in_progress\ndata: {\"type\":\"response.in_progress\",\"response\":{\"id\":\"resp_0752ed7506f427ba006a5f27f03cf081918fcc7ec16d163e12\",\"object\":\"response\",\"created_at\":1784621040,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":96,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"required\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[{\"type\":\"function\",\"description\":\"Get the weather for a location\",\"name\":\"get_weather\",\"output_schema\":null,\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and country\"}},\"required\":[\"location\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"strict\":true}],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":1}", - "event: response.output_item.added\ndata: {\"type\":\"response.output_item.added\",\"item\":{\"id\":\"fc_0752ed7506f427ba006a5f27f0e58081918bd609110bf7c62b\",\"type\":\"function_call\",\"status\":\"in_progress\",\"arguments\":\"\",\"call_id\":\"call_mpfOztOhNBpNtHgrfO78vncQ\",\"name\":\"get_weather\"},\"output_index\":0,\"sequence_number\":2}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"{\\\"\",\"item_id\":\"fc_0752ed7506f427ba006a5f27f0e58081918bd609110bf7c62b\",\"obfuscation\":\"pS6mlNDVsg40VK\",\"output_index\":0,\"sequence_number\":3}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"location\",\"item_id\":\"fc_0752ed7506f427ba006a5f27f0e58081918bd609110bf7c62b\",\"obfuscation\":\"x97e29cR\",\"output_index\":0,\"sequence_number\":4}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"\\\":\\\"\",\"item_id\":\"fc_0752ed7506f427ba006a5f27f0e58081918bd609110bf7c62b\",\"obfuscation\":\"VkSY0yaEfBuSL\",\"output_index\":0,\"sequence_number\":5}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"Paris\",\"item_id\":\"fc_0752ed7506f427ba006a5f27f0e58081918bd609110bf7c62b\",\"obfuscation\":\"RdmVjHvZK0Y\",\"output_index\":0,\"sequence_number\":6}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\",\",\"item_id\":\"fc_0752ed7506f427ba006a5f27f0e58081918bd609110bf7c62b\",\"obfuscation\":\"TKB9MNT89CVKufc\",\"output_index\":0,\"sequence_number\":7}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\" France\",\"item_id\":\"fc_0752ed7506f427ba006a5f27f0e58081918bd609110bf7c62b\",\"obfuscation\":\"TeFIScLVS\",\"output_index\":0,\"sequence_number\":8}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"\\\"}\",\"item_id\":\"fc_0752ed7506f427ba006a5f27f0e58081918bd609110bf7c62b\",\"obfuscation\":\"ebJ4OB0rnOo2TJ\",\"output_index\":0,\"sequence_number\":9}", - "event: response.function_call_arguments.done\ndata: {\"type\":\"response.function_call_arguments.done\",\"arguments\":\"{\\\"location\\\":\\\"Paris, France\\\"}\",\"item_id\":\"fc_0752ed7506f427ba006a5f27f0e58081918bd609110bf7c62b\",\"output_index\":0,\"sequence_number\":10}", - "event: response.output_item.done\ndata: {\"type\":\"response.output_item.done\",\"item\":{\"id\":\"fc_0752ed7506f427ba006a5f27f0e58081918bd609110bf7c62b\",\"type\":\"function_call\",\"status\":\"completed\",\"arguments\":\"{\\\"location\\\":\\\"Paris, France\\\"}\",\"call_id\":\"call_mpfOztOhNBpNtHgrfO78vncQ\",\"name\":\"get_weather\"},\"output_index\":0,\"sequence_number\":11}", - "event: response.completed\ndata: {\"type\":\"response.completed\",\"response\":{\"id\":\"resp_0752ed7506f427ba006a5f27f03cf081918fcc7ec16d163e12\",\"object\":\"response\",\"created_at\":1784621040,\"status\":\"completed\",\"background\":false,\"completed_at\":1784621041,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":96,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[{\"id\":\"fc_0752ed7506f427ba006a5f27f0e58081918bd609110bf7c62b\",\"type\":\"function_call\",\"status\":\"completed\",\"arguments\":\"{\\\"location\\\":\\\"Paris, France\\\"}\",\"call_id\":\"call_mpfOztOhNBpNtHgrfO78vncQ\",\"name\":\"get_weather\"}],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"default\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"required\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[{\"type\":\"function\",\"description\":\"Get the weather for a location\",\"name\":\"get_weather\",\"output_schema\":null,\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and country\"}},\"required\":[\"location\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"strict\":true}],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":{\"input_tokens\":84,\"input_tokens_details\":{\"cache_write_tokens\":0,\"cached_tokens\":0},\"output_tokens\":8,\"output_tokens_details\":{\"reasoning_tokens\":0},\"total_tokens\":92},\"user\":null,\"metadata\":{}},\"sequence_number\":12}" + "event: response.created\ndata: {\"type\":\"response.created\",\"response\":{\"id\":\"resp_09b06818adeb1c88006aabc3dc5d7c87d28b8eb92e478c2923\",\"object\":\"response\",\"created_at\":1789641692,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":96,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"required\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[{\"type\":\"function\",\"description\":\"Get the weather for a location\",\"name\":\"get_weather\",\"output_schema\":null,\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and country\"}},\"required\":[\"location\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"strict\":true}],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":0}", + "event: response.in_progress\ndata: {\"type\":\"response.in_progress\",\"response\":{\"id\":\"resp_09b06818adeb1c88006aabc3dc5d7c87d28b8eb92e478c2923\",\"object\":\"response\",\"created_at\":1789641692,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":96,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"required\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[{\"type\":\"function\",\"description\":\"Get the weather for a location\",\"name\":\"get_weather\",\"output_schema\":null,\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and country\"}},\"required\":[\"location\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"strict\":true}],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":1}", + "event: response.output_item.added\ndata: {\"type\":\"response.output_item.added\",\"item\":{\"id\":\"fc_09b06818adeb1c88006aabc3dcb82c87d2a3cc99410f7c1d2e\",\"type\":\"function_call\",\"status\":\"in_progress\",\"arguments\":\"\",\"call_id\":\"call_NLfwcFdv32aNkIJGMeshRH3c\",\"name\":\"get_weather\"},\"output_index\":0,\"sequence_number\":2}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"{\\\"\",\"item_id\":\"fc_09b06818adeb1c88006aabc3dcb82c87d2a3cc99410f7c1d2e\",\"obfuscation\":\"jVehK6Hwh6tZ1S\",\"output_index\":0,\"sequence_number\":3}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"location\",\"item_id\":\"fc_09b06818adeb1c88006aabc3dcb82c87d2a3cc99410f7c1d2e\",\"obfuscation\":\"TX0qMHdP\",\"output_index\":0,\"sequence_number\":4}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"\\\":\\\"\",\"item_id\":\"fc_09b06818adeb1c88006aabc3dcb82c87d2a3cc99410f7c1d2e\",\"obfuscation\":\"U76B8r3fh5O4r\",\"output_index\":0,\"sequence_number\":5}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"Paris\",\"item_id\":\"fc_09b06818adeb1c88006aabc3dcb82c87d2a3cc99410f7c1d2e\",\"obfuscation\":\"x0iPpSOyZmV\",\"output_index\":0,\"sequence_number\":6}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\",\",\"item_id\":\"fc_09b06818adeb1c88006aabc3dcb82c87d2a3cc99410f7c1d2e\",\"obfuscation\":\"19zkNMcc5fU88MT\",\"output_index\":0,\"sequence_number\":7}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\" France\",\"item_id\":\"fc_09b06818adeb1c88006aabc3dcb82c87d2a3cc99410f7c1d2e\",\"obfuscation\":\"6q4cfsgqk\",\"output_index\":0,\"sequence_number\":8}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"\\\"}\",\"item_id\":\"fc_09b06818adeb1c88006aabc3dcb82c87d2a3cc99410f7c1d2e\",\"obfuscation\":\"D3tJlr2lZVPlex\",\"output_index\":0,\"sequence_number\":9}", + "event: response.function_call_arguments.done\ndata: {\"type\":\"response.function_call_arguments.done\",\"arguments\":\"{\\\"location\\\":\\\"Paris, France\\\"}\",\"item_id\":\"fc_09b06818adeb1c88006aabc3dcb82c87d2a3cc99410f7c1d2e\",\"output_index\":0,\"sequence_number\":10}", + "event: response.output_item.done\ndata: {\"type\":\"response.output_item.done\",\"item\":{\"id\":\"fc_09b06818adeb1c88006aabc3dcb82c87d2a3cc99410f7c1d2e\",\"type\":\"function_call\",\"status\":\"completed\",\"arguments\":\"{\\\"location\\\":\\\"Paris, France\\\"}\",\"call_id\":\"call_NLfwcFdv32aNkIJGMeshRH3c\",\"name\":\"get_weather\"},\"output_index\":0,\"sequence_number\":11}", + "event: response.completed\ndata: {\"type\":\"response.completed\",\"response\":{\"id\":\"resp_09b06818adeb1c88006aabc3dc5d7c87d28b8eb92e478c2923\",\"object\":\"response\",\"created_at\":1789641692,\"status\":\"completed\",\"background\":false,\"completed_at\":1789641692,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":96,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[{\"id\":\"fc_09b06818adeb1c88006aabc3dcb82c87d2a3cc99410f7c1d2e\",\"type\":\"function_call\",\"status\":\"completed\",\"arguments\":\"{\\\"location\\\":\\\"Paris, France\\\"}\",\"call_id\":\"call_NLfwcFdv32aNkIJGMeshRH3c\",\"name\":\"get_weather\"}],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"default\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"required\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[{\"type\":\"function\",\"description\":\"Get the weather for a location\",\"name\":\"get_weather\",\"output_schema\":null,\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and country\"}},\"required\":[\"location\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"strict\":true}],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":{\"input_tokens\":84,\"input_tokens_details\":{\"cache_write_tokens\":0,\"cached_tokens\":0},\"output_tokens\":8,\"output_tokens_details\":{\"reasoning_tokens\":0},\"total_tokens\":92},\"user\":null,\"metadata\":{}},\"sequence_number\":12}" ], "kind": "sse" }, @@ -3376,12 +3900,12 @@ "access-control-expose-headers": "X-Request-ID, CF-Ray, CF-Ray", "alt-svc": "h3=\":443\"; ma=86400", "cf-cache-status": "DYNAMIC", - "cf-ray": "a1e8b13d18a781ed-IAD", + "cf-ray": "a3c77fc0c89bcd76-IAD", "connection": "keep-alive", "content-type": "text/event-stream; charset=utf-8", - "date": "Tue, 21 Jul 2026 08:04:00 GMT", + "date": "Thu, 17 Sep 2026 10:41:32 GMT", "openai-organization": "braintrust-data", - "openai-processing-ms": "240", + "openai-processing-ms": "405", "openai-project": "proj_vsCSXafhhByzWOThMrJcZiw9", "openai-version": "2020-10-01", "server": "cloudflare", @@ -3389,7 +3913,13 @@ "strict-transport-security": "max-age=31536000; includeSubDomains; preload", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-request-id": "req_b415aef93fdf43eda4ef1481da980e64" + "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_59119e26112a442ca32cc83bd68f795c" }, "status": 200, "statusText": "OK" @@ -3397,9 +3927,9 @@ }, { "callIndex": 15, - "id": "98dd9cbba78781cc", + "id": "d81bd60f80937c81", "matchKey": "POST api.openai.com/v1/responses", - "recordedAt": "2026-07-21T08:04:01.927Z", + "recordedAt": "2026-09-17T10:41:33.771Z", "request": { "body": { "kind": "json", @@ -3420,12 +3950,12 @@ }, { "arguments": "{\"location\":\"Paris, France\"}", - "call_id": "call_mpfOztOhNBpNtHgrfO78vncQ", + "call_id": "call_NLfwcFdv32aNkIJGMeshRH3c", "name": "get_weather", "type": "function_call" }, { - "call_id": "call_mpfOztOhNBpNtHgrfO78vncQ", + "call_id": "call_NLfwcFdv32aNkIJGMeshRH3c", "output": "{\"condition\":\"sunny\",\"location\":\"Paris, France\",\"temperatureC\":22}", "type": "function_call_output" } @@ -3463,19 +3993,19 @@ "response": { "body": { "chunks": [ - "event: response.created\ndata: {\"type\":\"response.created\",\"response\":{\"id\":\"resp_093b8446f19989be006a5f27f14adc81a1b6be0e69179546da\",\"object\":\"response\",\"created_at\":1784621041,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":96,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"required\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[{\"type\":\"function\",\"description\":\"Get the weather for a location\",\"name\":\"get_weather\",\"output_schema\":null,\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and country\"}},\"required\":[\"location\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"strict\":true}],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":0}", - "event: response.in_progress\ndata: {\"type\":\"response.in_progress\",\"response\":{\"id\":\"resp_093b8446f19989be006a5f27f14adc81a1b6be0e69179546da\",\"object\":\"response\",\"created_at\":1784621041,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":96,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"required\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[{\"type\":\"function\",\"description\":\"Get the weather for a location\",\"name\":\"get_weather\",\"output_schema\":null,\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and country\"}},\"required\":[\"location\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"strict\":true}],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":1}", - "event: response.output_item.added\ndata: {\"type\":\"response.output_item.added\",\"item\":{\"id\":\"fc_093b8446f19989be006a5f27f1b30481a19d836b3c87ee45fa\",\"type\":\"function_call\",\"status\":\"in_progress\",\"arguments\":\"\",\"call_id\":\"call_ZzKVc3iSosMbTRLVAG4b24Bu\",\"name\":\"get_weather\"},\"output_index\":0,\"sequence_number\":2}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"{\\\"\",\"item_id\":\"fc_093b8446f19989be006a5f27f1b30481a19d836b3c87ee45fa\",\"obfuscation\":\"LrNHQiRWMe58dE\",\"output_index\":0,\"sequence_number\":3}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"location\",\"item_id\":\"fc_093b8446f19989be006a5f27f1b30481a19d836b3c87ee45fa\",\"obfuscation\":\"jNvwJQPI\",\"output_index\":0,\"sequence_number\":4}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"\\\":\\\"\",\"item_id\":\"fc_093b8446f19989be006a5f27f1b30481a19d836b3c87ee45fa\",\"obfuscation\":\"kPhXfi52UTwJu\",\"output_index\":0,\"sequence_number\":5}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"Paris\",\"item_id\":\"fc_093b8446f19989be006a5f27f1b30481a19d836b3c87ee45fa\",\"obfuscation\":\"Fd3txPnh4bP\",\"output_index\":0,\"sequence_number\":6}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\",\",\"item_id\":\"fc_093b8446f19989be006a5f27f1b30481a19d836b3c87ee45fa\",\"obfuscation\":\"u1K4VhePtTkiS0S\",\"output_index\":0,\"sequence_number\":7}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\" France\",\"item_id\":\"fc_093b8446f19989be006a5f27f1b30481a19d836b3c87ee45fa\",\"obfuscation\":\"nUEVuDEk5\",\"output_index\":0,\"sequence_number\":8}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"\\\"}\",\"item_id\":\"fc_093b8446f19989be006a5f27f1b30481a19d836b3c87ee45fa\",\"obfuscation\":\"bjdKRhbzm8KSUg\",\"output_index\":0,\"sequence_number\":9}", - "event: response.function_call_arguments.done\ndata: {\"type\":\"response.function_call_arguments.done\",\"arguments\":\"{\\\"location\\\":\\\"Paris, France\\\"}\",\"item_id\":\"fc_093b8446f19989be006a5f27f1b30481a19d836b3c87ee45fa\",\"output_index\":0,\"sequence_number\":10}", - "event: response.output_item.done\ndata: {\"type\":\"response.output_item.done\",\"item\":{\"id\":\"fc_093b8446f19989be006a5f27f1b30481a19d836b3c87ee45fa\",\"type\":\"function_call\",\"status\":\"completed\",\"arguments\":\"{\\\"location\\\":\\\"Paris, France\\\"}\",\"call_id\":\"call_ZzKVc3iSosMbTRLVAG4b24Bu\",\"name\":\"get_weather\"},\"output_index\":0,\"sequence_number\":11}", - "event: response.completed\ndata: {\"type\":\"response.completed\",\"response\":{\"id\":\"resp_093b8446f19989be006a5f27f14adc81a1b6be0e69179546da\",\"object\":\"response\",\"created_at\":1784621041,\"status\":\"completed\",\"background\":false,\"completed_at\":1784621041,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":96,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[{\"id\":\"fc_093b8446f19989be006a5f27f1b30481a19d836b3c87ee45fa\",\"type\":\"function_call\",\"status\":\"completed\",\"arguments\":\"{\\\"location\\\":\\\"Paris, France\\\"}\",\"call_id\":\"call_ZzKVc3iSosMbTRLVAG4b24Bu\",\"name\":\"get_weather\"}],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"default\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"required\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[{\"type\":\"function\",\"description\":\"Get the weather for a location\",\"name\":\"get_weather\",\"output_schema\":null,\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and country\"}},\"required\":[\"location\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"strict\":true}],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":{\"input_tokens\":123,\"input_tokens_details\":{\"cache_write_tokens\":0,\"cached_tokens\":0},\"output_tokens\":8,\"output_tokens_details\":{\"reasoning_tokens\":0},\"total_tokens\":131},\"user\":null,\"metadata\":{}},\"sequence_number\":12}" + "event: response.created\ndata: {\"type\":\"response.created\",\"response\":{\"id\":\"resp_06b21c31b64294c6006aabc3dd062087d287467a11a7b9c607\",\"object\":\"response\",\"created_at\":1789641693,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":96,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"required\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[{\"type\":\"function\",\"description\":\"Get the weather for a location\",\"name\":\"get_weather\",\"output_schema\":null,\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and country\"}},\"required\":[\"location\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"strict\":true}],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":0}", + "event: response.in_progress\ndata: {\"type\":\"response.in_progress\",\"response\":{\"id\":\"resp_06b21c31b64294c6006aabc3dd062087d287467a11a7b9c607\",\"object\":\"response\",\"created_at\":1789641693,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":96,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"required\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[{\"type\":\"function\",\"description\":\"Get the weather for a location\",\"name\":\"get_weather\",\"output_schema\":null,\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and country\"}},\"required\":[\"location\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"strict\":true}],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":1}", + "event: response.output_item.added\ndata: {\"type\":\"response.output_item.added\",\"item\":{\"id\":\"fc_06b21c31b64294c6006aabc3dd8ab887d2b05c9c2383bc124a\",\"type\":\"function_call\",\"status\":\"in_progress\",\"arguments\":\"\",\"call_id\":\"call_5mhCV13928bzsQtRLS9Bwa71\",\"name\":\"get_weather\"},\"output_index\":0,\"sequence_number\":2}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"{\\\"\",\"item_id\":\"fc_06b21c31b64294c6006aabc3dd8ab887d2b05c9c2383bc124a\",\"obfuscation\":\"FNcWklU8dOAYFW\",\"output_index\":0,\"sequence_number\":3}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"location\",\"item_id\":\"fc_06b21c31b64294c6006aabc3dd8ab887d2b05c9c2383bc124a\",\"obfuscation\":\"iWYqziOK\",\"output_index\":0,\"sequence_number\":4}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"\\\":\\\"\",\"item_id\":\"fc_06b21c31b64294c6006aabc3dd8ab887d2b05c9c2383bc124a\",\"obfuscation\":\"bg23QN5SIuqxR\",\"output_index\":0,\"sequence_number\":5}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"Paris\",\"item_id\":\"fc_06b21c31b64294c6006aabc3dd8ab887d2b05c9c2383bc124a\",\"obfuscation\":\"5LtOYjE5Hye\",\"output_index\":0,\"sequence_number\":6}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\",\",\"item_id\":\"fc_06b21c31b64294c6006aabc3dd8ab887d2b05c9c2383bc124a\",\"obfuscation\":\"Ti9d0HJJnCSOELY\",\"output_index\":0,\"sequence_number\":7}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\" France\",\"item_id\":\"fc_06b21c31b64294c6006aabc3dd8ab887d2b05c9c2383bc124a\",\"obfuscation\":\"umEpPuce8\",\"output_index\":0,\"sequence_number\":8}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"\\\"}\",\"item_id\":\"fc_06b21c31b64294c6006aabc3dd8ab887d2b05c9c2383bc124a\",\"obfuscation\":\"hfgyUaNegGu1Eq\",\"output_index\":0,\"sequence_number\":9}", + "event: response.function_call_arguments.done\ndata: {\"type\":\"response.function_call_arguments.done\",\"arguments\":\"{\\\"location\\\":\\\"Paris, France\\\"}\",\"item_id\":\"fc_06b21c31b64294c6006aabc3dd8ab887d2b05c9c2383bc124a\",\"output_index\":0,\"sequence_number\":10}", + "event: response.output_item.done\ndata: {\"type\":\"response.output_item.done\",\"item\":{\"id\":\"fc_06b21c31b64294c6006aabc3dd8ab887d2b05c9c2383bc124a\",\"type\":\"function_call\",\"status\":\"completed\",\"arguments\":\"{\\\"location\\\":\\\"Paris, France\\\"}\",\"call_id\":\"call_5mhCV13928bzsQtRLS9Bwa71\",\"name\":\"get_weather\"},\"output_index\":0,\"sequence_number\":11}", + "event: response.completed\ndata: {\"type\":\"response.completed\",\"response\":{\"id\":\"resp_06b21c31b64294c6006aabc3dd062087d287467a11a7b9c607\",\"object\":\"response\",\"created_at\":1789641693,\"status\":\"completed\",\"background\":false,\"completed_at\":1789641693,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":96,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[{\"id\":\"fc_06b21c31b64294c6006aabc3dd8ab887d2b05c9c2383bc124a\",\"type\":\"function_call\",\"status\":\"completed\",\"arguments\":\"{\\\"location\\\":\\\"Paris, France\\\"}\",\"call_id\":\"call_5mhCV13928bzsQtRLS9Bwa71\",\"name\":\"get_weather\"}],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"default\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"required\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[{\"type\":\"function\",\"description\":\"Get the weather for a location\",\"name\":\"get_weather\",\"output_schema\":null,\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and country\"}},\"required\":[\"location\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"strict\":true}],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":{\"input_tokens\":123,\"input_tokens_details\":{\"cache_write_tokens\":0,\"cached_tokens\":0},\"output_tokens\":8,\"output_tokens_details\":{\"reasoning_tokens\":0},\"total_tokens\":131},\"user\":null,\"metadata\":{}},\"sequence_number\":12}" ], "kind": "sse" }, @@ -3483,12 +4013,12 @@ "access-control-expose-headers": "X-Request-ID, CF-Ray, CF-Ray", "alt-svc": "h3=\":443\"; ma=86400", "cf-cache-status": "DYNAMIC", - "cf-ray": "a1e8b143cdbb81ed-IAD", + "cf-ray": "a3c77fc50aa2cd76-IAD", "connection": "keep-alive", "content-type": "text/event-stream; charset=utf-8", - "date": "Tue, 21 Jul 2026 08:04:01 GMT", + "date": "Thu, 17 Sep 2026 10:41:33 GMT", "openai-organization": "braintrust-data", - "openai-processing-ms": "106", + "openai-processing-ms": "543", "openai-project": "proj_vsCSXafhhByzWOThMrJcZiw9", "openai-version": "2020-10-01", "server": "cloudflare", @@ -3496,7 +4026,13 @@ "strict-transport-security": "max-age=31536000; includeSubDomains; preload", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-request-id": "req_e7c7d32a2e8a4fa79792d199008f4457" + "x-ratelimit-limit-requests": "30000", + "x-ratelimit-limit-tokens": "150000000", + "x-ratelimit-remaining-requests": "29999", + "x-ratelimit-remaining-tokens": "149999660", + "x-ratelimit-reset-requests": "2ms", + "x-ratelimit-reset-tokens": "0s", + "x-request-id": "req_5f79916ec74b4d66958aa99bf9e8662b" }, "status": 200, "statusText": "OK" @@ -3504,9 +4040,9 @@ }, { "callIndex": 16, - "id": "1c7358a637076721", + "id": "5abf175da2e93c5d", "matchKey": "POST api.openai.com/v1/responses", - "recordedAt": "2026-07-21T08:04:02.738Z", + "recordedAt": "2026-09-17T10:41:34.687Z", "request": { "body": { "kind": "json", @@ -3527,23 +4063,23 @@ }, { "arguments": "{\"location\":\"Paris, France\"}", - "call_id": "call_mpfOztOhNBpNtHgrfO78vncQ", + "call_id": "call_NLfwcFdv32aNkIJGMeshRH3c", "name": "get_weather", "type": "function_call" }, { - "call_id": "call_mpfOztOhNBpNtHgrfO78vncQ", + "call_id": "call_NLfwcFdv32aNkIJGMeshRH3c", "output": "{\"condition\":\"sunny\",\"location\":\"Paris, France\",\"temperatureC\":22}", "type": "function_call_output" }, { "arguments": "{\"location\":\"Paris, France\"}", - "call_id": "call_ZzKVc3iSosMbTRLVAG4b24Bu", + "call_id": "call_5mhCV13928bzsQtRLS9Bwa71", "name": "get_weather", "type": "function_call" }, { - "call_id": "call_ZzKVc3iSosMbTRLVAG4b24Bu", + "call_id": "call_5mhCV13928bzsQtRLS9Bwa71", "output": "{\"condition\":\"sunny\",\"location\":\"Paris, France\",\"temperatureC\":22}", "type": "function_call_output" } @@ -3581,19 +4117,19 @@ "response": { "body": { "chunks": [ - "event: response.created\ndata: {\"type\":\"response.created\",\"response\":{\"id\":\"resp_01283687032ff7a9006a5f27f1fe5c819c926420d6fd6567bc\",\"object\":\"response\",\"created_at\":1784621042,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":96,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"required\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[{\"type\":\"function\",\"description\":\"Get the weather for a location\",\"name\":\"get_weather\",\"output_schema\":null,\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and country\"}},\"required\":[\"location\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"strict\":true}],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":0}", - "event: response.in_progress\ndata: {\"type\":\"response.in_progress\",\"response\":{\"id\":\"resp_01283687032ff7a9006a5f27f1fe5c819c926420d6fd6567bc\",\"object\":\"response\",\"created_at\":1784621042,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":96,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"required\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[{\"type\":\"function\",\"description\":\"Get the weather for a location\",\"name\":\"get_weather\",\"output_schema\":null,\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and country\"}},\"required\":[\"location\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"strict\":true}],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":1}", - "event: response.output_item.added\ndata: {\"type\":\"response.output_item.added\",\"item\":{\"id\":\"fc_01283687032ff7a9006a5f27f270b0819ca0a4edf839bd0931\",\"type\":\"function_call\",\"status\":\"in_progress\",\"arguments\":\"\",\"call_id\":\"call_sd8P6cB4Y4WNcSaamfMbCbUg\",\"name\":\"get_weather\"},\"output_index\":0,\"sequence_number\":2}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"{\\\"\",\"item_id\":\"fc_01283687032ff7a9006a5f27f270b0819ca0a4edf839bd0931\",\"obfuscation\":\"NndYQkdvqCdsuv\",\"output_index\":0,\"sequence_number\":3}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"location\",\"item_id\":\"fc_01283687032ff7a9006a5f27f270b0819ca0a4edf839bd0931\",\"obfuscation\":\"NzT8VZ1j\",\"output_index\":0,\"sequence_number\":4}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"\\\":\\\"\",\"item_id\":\"fc_01283687032ff7a9006a5f27f270b0819ca0a4edf839bd0931\",\"obfuscation\":\"v2xQAykOmdQsQ\",\"output_index\":0,\"sequence_number\":5}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"Paris\",\"item_id\":\"fc_01283687032ff7a9006a5f27f270b0819ca0a4edf839bd0931\",\"obfuscation\":\"4LufcQcEvFE\",\"output_index\":0,\"sequence_number\":6}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\",\",\"item_id\":\"fc_01283687032ff7a9006a5f27f270b0819ca0a4edf839bd0931\",\"obfuscation\":\"KGZFHJZREf0esN0\",\"output_index\":0,\"sequence_number\":7}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\" France\",\"item_id\":\"fc_01283687032ff7a9006a5f27f270b0819ca0a4edf839bd0931\",\"obfuscation\":\"XIvsW1pTf\",\"output_index\":0,\"sequence_number\":8}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"\\\"}\",\"item_id\":\"fc_01283687032ff7a9006a5f27f270b0819ca0a4edf839bd0931\",\"obfuscation\":\"N4rVFplTazvRNk\",\"output_index\":0,\"sequence_number\":9}", - "event: response.function_call_arguments.done\ndata: {\"type\":\"response.function_call_arguments.done\",\"arguments\":\"{\\\"location\\\":\\\"Paris, France\\\"}\",\"item_id\":\"fc_01283687032ff7a9006a5f27f270b0819ca0a4edf839bd0931\",\"output_index\":0,\"sequence_number\":10}", - "event: response.output_item.done\ndata: {\"type\":\"response.output_item.done\",\"item\":{\"id\":\"fc_01283687032ff7a9006a5f27f270b0819ca0a4edf839bd0931\",\"type\":\"function_call\",\"status\":\"completed\",\"arguments\":\"{\\\"location\\\":\\\"Paris, France\\\"}\",\"call_id\":\"call_sd8P6cB4Y4WNcSaamfMbCbUg\",\"name\":\"get_weather\"},\"output_index\":0,\"sequence_number\":11}", - "event: response.completed\ndata: {\"type\":\"response.completed\",\"response\":{\"id\":\"resp_01283687032ff7a9006a5f27f1fe5c819c926420d6fd6567bc\",\"object\":\"response\",\"created_at\":1784621042,\"status\":\"completed\",\"background\":false,\"completed_at\":1784621042,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":96,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[{\"id\":\"fc_01283687032ff7a9006a5f27f270b0819ca0a4edf839bd0931\",\"type\":\"function_call\",\"status\":\"completed\",\"arguments\":\"{\\\"location\\\":\\\"Paris, France\\\"}\",\"call_id\":\"call_sd8P6cB4Y4WNcSaamfMbCbUg\",\"name\":\"get_weather\"}],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"default\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"required\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[{\"type\":\"function\",\"description\":\"Get the weather for a location\",\"name\":\"get_weather\",\"output_schema\":null,\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and country\"}},\"required\":[\"location\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"strict\":true}],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":{\"input_tokens\":162,\"input_tokens_details\":{\"cache_write_tokens\":0,\"cached_tokens\":0},\"output_tokens\":8,\"output_tokens_details\":{\"reasoning_tokens\":0},\"total_tokens\":170},\"user\":null,\"metadata\":{}},\"sequence_number\":12}" + "event: response.created\ndata: {\"type\":\"response.created\",\"response\":{\"id\":\"resp_0d5648b99567abfc006aabc3dde11887d289da806616f018fc\",\"object\":\"response\",\"created_at\":1789641693,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":96,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"required\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[{\"type\":\"function\",\"description\":\"Get the weather for a location\",\"name\":\"get_weather\",\"output_schema\":null,\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and country\"}},\"required\":[\"location\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"strict\":true}],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":0}", + "event: response.in_progress\ndata: {\"type\":\"response.in_progress\",\"response\":{\"id\":\"resp_0d5648b99567abfc006aabc3dde11887d289da806616f018fc\",\"object\":\"response\",\"created_at\":1789641693,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":96,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"required\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[{\"type\":\"function\",\"description\":\"Get the weather for a location\",\"name\":\"get_weather\",\"output_schema\":null,\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and country\"}},\"required\":[\"location\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"strict\":true}],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":1}", + "event: response.output_item.added\ndata: {\"type\":\"response.output_item.added\",\"item\":{\"id\":\"fc_0d5648b99567abfc006aabc3de5d8087d2ad111b6e256ecab7\",\"type\":\"function_call\",\"status\":\"in_progress\",\"arguments\":\"\",\"call_id\":\"call_nXlz7j2IQxPuQ9kT4htFX3jm\",\"name\":\"get_weather\"},\"output_index\":0,\"sequence_number\":2}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"{\\\"\",\"item_id\":\"fc_0d5648b99567abfc006aabc3de5d8087d2ad111b6e256ecab7\",\"obfuscation\":\"Sj1bWKH9eSxv0m\",\"output_index\":0,\"sequence_number\":3}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"location\",\"item_id\":\"fc_0d5648b99567abfc006aabc3de5d8087d2ad111b6e256ecab7\",\"obfuscation\":\"ouztlMoL\",\"output_index\":0,\"sequence_number\":4}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"\\\":\\\"\",\"item_id\":\"fc_0d5648b99567abfc006aabc3de5d8087d2ad111b6e256ecab7\",\"obfuscation\":\"vZJtatM8HAN55\",\"output_index\":0,\"sequence_number\":5}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"Paris\",\"item_id\":\"fc_0d5648b99567abfc006aabc3de5d8087d2ad111b6e256ecab7\",\"obfuscation\":\"nYuW5IDRcWt\",\"output_index\":0,\"sequence_number\":6}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\",\",\"item_id\":\"fc_0d5648b99567abfc006aabc3de5d8087d2ad111b6e256ecab7\",\"obfuscation\":\"8iwzhLxQmnIfB0Y\",\"output_index\":0,\"sequence_number\":7}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\" France\",\"item_id\":\"fc_0d5648b99567abfc006aabc3de5d8087d2ad111b6e256ecab7\",\"obfuscation\":\"OdqtK9RC3\",\"output_index\":0,\"sequence_number\":8}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"\\\"}\",\"item_id\":\"fc_0d5648b99567abfc006aabc3de5d8087d2ad111b6e256ecab7\",\"obfuscation\":\"VSTjhYtgvNEkiQ\",\"output_index\":0,\"sequence_number\":9}", + "event: response.function_call_arguments.done\ndata: {\"type\":\"response.function_call_arguments.done\",\"arguments\":\"{\\\"location\\\":\\\"Paris, France\\\"}\",\"item_id\":\"fc_0d5648b99567abfc006aabc3de5d8087d2ad111b6e256ecab7\",\"output_index\":0,\"sequence_number\":10}", + "event: response.output_item.done\ndata: {\"type\":\"response.output_item.done\",\"item\":{\"id\":\"fc_0d5648b99567abfc006aabc3de5d8087d2ad111b6e256ecab7\",\"type\":\"function_call\",\"status\":\"completed\",\"arguments\":\"{\\\"location\\\":\\\"Paris, France\\\"}\",\"call_id\":\"call_nXlz7j2IQxPuQ9kT4htFX3jm\",\"name\":\"get_weather\"},\"output_index\":0,\"sequence_number\":11}", + "event: response.completed\ndata: {\"type\":\"response.completed\",\"response\":{\"id\":\"resp_0d5648b99567abfc006aabc3dde11887d289da806616f018fc\",\"object\":\"response\",\"created_at\":1789641693,\"status\":\"completed\",\"background\":false,\"completed_at\":1789641694,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":96,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[{\"id\":\"fc_0d5648b99567abfc006aabc3de5d8087d2ad111b6e256ecab7\",\"type\":\"function_call\",\"status\":\"completed\",\"arguments\":\"{\\\"location\\\":\\\"Paris, France\\\"}\",\"call_id\":\"call_nXlz7j2IQxPuQ9kT4htFX3jm\",\"name\":\"get_weather\"}],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"default\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"required\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[{\"type\":\"function\",\"description\":\"Get the weather for a location\",\"name\":\"get_weather\",\"output_schema\":null,\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and country\"}},\"required\":[\"location\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"strict\":true}],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":{\"input_tokens\":162,\"input_tokens_details\":{\"cache_write_tokens\":0,\"cached_tokens\":0},\"output_tokens\":8,\"output_tokens_details\":{\"reasoning_tokens\":0},\"total_tokens\":170},\"user\":null,\"metadata\":{}},\"sequence_number\":12}" ], "kind": "sse" }, @@ -3601,12 +4137,12 @@ "access-control-expose-headers": "X-Request-ID, CF-Ray, CF-Ray", "alt-svc": "h3=\":443\"; ma=86400", "cf-cache-status": "DYNAMIC", - "cf-ray": "a1e8b14828b681ed-IAD", + "cf-ray": "a3c77fca4f21cd76-IAD", "connection": "keep-alive", "content-type": "text/event-stream; charset=utf-8", - "date": "Tue, 21 Jul 2026 08:04:02 GMT", + "date": "Thu, 17 Sep 2026 10:41:34 GMT", "openai-organization": "braintrust-data", - "openai-processing-ms": "108", + "openai-processing-ms": "559", "openai-project": "proj_vsCSXafhhByzWOThMrJcZiw9", "openai-version": "2020-10-01", "server": "cloudflare", @@ -3614,7 +4150,13 @@ "strict-transport-security": "max-age=31536000; includeSubDomains; preload", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-request-id": "req_71ea8f7d167b44489c4920c1ad0f8a5e" + "x-ratelimit-limit-requests": "30000", + "x-ratelimit-limit-tokens": "150000000", + "x-ratelimit-remaining-requests": "29999", + "x-ratelimit-remaining-tokens": "149999622", + "x-ratelimit-reset-requests": "2ms", + "x-ratelimit-reset-tokens": "0s", + "x-request-id": "req_5fc2de9fe4fb45ce9bda7bcba69b9933" }, "status": 200, "statusText": "OK" @@ -3622,9 +4164,9 @@ }, { "callIndex": 17, - "id": "b1fe0db3feace8a3", + "id": "ab5af7ee08740dd7", "matchKey": "POST api.openai.com/v1/responses", - "recordedAt": "2026-07-21T08:04:03.387Z", + "recordedAt": "2026-09-17T10:41:35.526Z", "request": { "body": { "kind": "json", @@ -3645,34 +4187,34 @@ }, { "arguments": "{\"location\":\"Paris, France\"}", - "call_id": "call_mpfOztOhNBpNtHgrfO78vncQ", + "call_id": "call_NLfwcFdv32aNkIJGMeshRH3c", "name": "get_weather", "type": "function_call" }, { - "call_id": "call_mpfOztOhNBpNtHgrfO78vncQ", + "call_id": "call_NLfwcFdv32aNkIJGMeshRH3c", "output": "{\"condition\":\"sunny\",\"location\":\"Paris, France\",\"temperatureC\":22}", "type": "function_call_output" }, { "arguments": "{\"location\":\"Paris, France\"}", - "call_id": "call_ZzKVc3iSosMbTRLVAG4b24Bu", + "call_id": "call_5mhCV13928bzsQtRLS9Bwa71", "name": "get_weather", "type": "function_call" }, { - "call_id": "call_ZzKVc3iSosMbTRLVAG4b24Bu", + "call_id": "call_5mhCV13928bzsQtRLS9Bwa71", "output": "{\"condition\":\"sunny\",\"location\":\"Paris, France\",\"temperatureC\":22}", "type": "function_call_output" }, { "arguments": "{\"location\":\"Paris, France\"}", - "call_id": "call_sd8P6cB4Y4WNcSaamfMbCbUg", + "call_id": "call_nXlz7j2IQxPuQ9kT4htFX3jm", "name": "get_weather", "type": "function_call" }, { - "call_id": "call_sd8P6cB4Y4WNcSaamfMbCbUg", + "call_id": "call_nXlz7j2IQxPuQ9kT4htFX3jm", "output": "{\"condition\":\"sunny\",\"location\":\"Paris, France\",\"temperatureC\":22}", "type": "function_call_output" } @@ -3710,19 +4252,19 @@ "response": { "body": { "chunks": [ - "event: response.created\ndata: {\"type\":\"response.created\",\"response\":{\"id\":\"resp_07b3f092b7e5985f006a5f27f2cb88819cb7b0fb2740059842\",\"object\":\"response\",\"created_at\":1784621042,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":96,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"required\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[{\"type\":\"function\",\"description\":\"Get the weather for a location\",\"name\":\"get_weather\",\"output_schema\":null,\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and country\"}},\"required\":[\"location\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"strict\":true}],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":0}", - "event: response.in_progress\ndata: {\"type\":\"response.in_progress\",\"response\":{\"id\":\"resp_07b3f092b7e5985f006a5f27f2cb88819cb7b0fb2740059842\",\"object\":\"response\",\"created_at\":1784621042,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":96,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"required\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[{\"type\":\"function\",\"description\":\"Get the weather for a location\",\"name\":\"get_weather\",\"output_schema\":null,\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and country\"}},\"required\":[\"location\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"strict\":true}],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":1}", - "event: response.output_item.added\ndata: {\"type\":\"response.output_item.added\",\"item\":{\"id\":\"fc_07b3f092b7e5985f006a5f27f32e9c819cb2fc83d923f2a513\",\"type\":\"function_call\",\"status\":\"in_progress\",\"arguments\":\"\",\"call_id\":\"call_yNca6wEvID6ZYv9euyQsxdok\",\"name\":\"get_weather\"},\"output_index\":0,\"sequence_number\":2}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"{\\\"\",\"item_id\":\"fc_07b3f092b7e5985f006a5f27f32e9c819cb2fc83d923f2a513\",\"obfuscation\":\"R2R9bUsISaBOPG\",\"output_index\":0,\"sequence_number\":3}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"location\",\"item_id\":\"fc_07b3f092b7e5985f006a5f27f32e9c819cb2fc83d923f2a513\",\"obfuscation\":\"IuL3tlpq\",\"output_index\":0,\"sequence_number\":4}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"\\\":\\\"\",\"item_id\":\"fc_07b3f092b7e5985f006a5f27f32e9c819cb2fc83d923f2a513\",\"obfuscation\":\"tC1AXgsghYkLb\",\"output_index\":0,\"sequence_number\":5}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"Paris\",\"item_id\":\"fc_07b3f092b7e5985f006a5f27f32e9c819cb2fc83d923f2a513\",\"obfuscation\":\"VZcQrBYPG5W\",\"output_index\":0,\"sequence_number\":6}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\",\",\"item_id\":\"fc_07b3f092b7e5985f006a5f27f32e9c819cb2fc83d923f2a513\",\"obfuscation\":\"AY1xZ7ULG2hy1UG\",\"output_index\":0,\"sequence_number\":7}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\" France\",\"item_id\":\"fc_07b3f092b7e5985f006a5f27f32e9c819cb2fc83d923f2a513\",\"obfuscation\":\"DUkgAADhB\",\"output_index\":0,\"sequence_number\":8}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"\\\"}\",\"item_id\":\"fc_07b3f092b7e5985f006a5f27f32e9c819cb2fc83d923f2a513\",\"obfuscation\":\"P9q2pDuzkP8L0M\",\"output_index\":0,\"sequence_number\":9}", - "event: response.function_call_arguments.done\ndata: {\"type\":\"response.function_call_arguments.done\",\"arguments\":\"{\\\"location\\\":\\\"Paris, France\\\"}\",\"item_id\":\"fc_07b3f092b7e5985f006a5f27f32e9c819cb2fc83d923f2a513\",\"output_index\":0,\"sequence_number\":10}", - "event: response.output_item.done\ndata: {\"type\":\"response.output_item.done\",\"item\":{\"id\":\"fc_07b3f092b7e5985f006a5f27f32e9c819cb2fc83d923f2a513\",\"type\":\"function_call\",\"status\":\"completed\",\"arguments\":\"{\\\"location\\\":\\\"Paris, France\\\"}\",\"call_id\":\"call_yNca6wEvID6ZYv9euyQsxdok\",\"name\":\"get_weather\"},\"output_index\":0,\"sequence_number\":11}", - "event: response.completed\ndata: {\"type\":\"response.completed\",\"response\":{\"id\":\"resp_07b3f092b7e5985f006a5f27f2cb88819cb7b0fb2740059842\",\"object\":\"response\",\"created_at\":1784621042,\"status\":\"completed\",\"background\":false,\"completed_at\":1784621043,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":96,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[{\"id\":\"fc_07b3f092b7e5985f006a5f27f32e9c819cb2fc83d923f2a513\",\"type\":\"function_call\",\"status\":\"completed\",\"arguments\":\"{\\\"location\\\":\\\"Paris, France\\\"}\",\"call_id\":\"call_yNca6wEvID6ZYv9euyQsxdok\",\"name\":\"get_weather\"}],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"default\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"required\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[{\"type\":\"function\",\"description\":\"Get the weather for a location\",\"name\":\"get_weather\",\"output_schema\":null,\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and country\"}},\"required\":[\"location\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"strict\":true}],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":{\"input_tokens\":201,\"input_tokens_details\":{\"cache_write_tokens\":0,\"cached_tokens\":0},\"output_tokens\":8,\"output_tokens_details\":{\"reasoning_tokens\":0},\"total_tokens\":209},\"user\":null,\"metadata\":{}},\"sequence_number\":12}" + "event: response.created\ndata: {\"type\":\"response.created\",\"response\":{\"id\":\"resp_038a1c71c2055724006aabc3decd4087d2b1f0a6eca314090e\",\"object\":\"response\",\"created_at\":1789641694,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":96,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"required\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[{\"type\":\"function\",\"description\":\"Get the weather for a location\",\"name\":\"get_weather\",\"output_schema\":null,\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and country\"}},\"required\":[\"location\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"strict\":true}],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":0}", + "event: response.in_progress\ndata: {\"type\":\"response.in_progress\",\"response\":{\"id\":\"resp_038a1c71c2055724006aabc3decd4087d2b1f0a6eca314090e\",\"object\":\"response\",\"created_at\":1789641694,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":96,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"required\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[{\"type\":\"function\",\"description\":\"Get the weather for a location\",\"name\":\"get_weather\",\"output_schema\":null,\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and country\"}},\"required\":[\"location\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"strict\":true}],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":1}", + "event: response.output_item.added\ndata: {\"type\":\"response.output_item.added\",\"item\":{\"id\":\"fc_038a1c71c2055724006aabc3df3a8c87d2a0a8a89023f63f04\",\"type\":\"function_call\",\"status\":\"in_progress\",\"arguments\":\"\",\"call_id\":\"call_mxrE2sKGJLarGmw1vQpb62L8\",\"name\":\"get_weather\"},\"output_index\":0,\"sequence_number\":2}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"{\\\"\",\"item_id\":\"fc_038a1c71c2055724006aabc3df3a8c87d2a0a8a89023f63f04\",\"obfuscation\":\"zhUtKmlMcxSuMc\",\"output_index\":0,\"sequence_number\":3}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"location\",\"item_id\":\"fc_038a1c71c2055724006aabc3df3a8c87d2a0a8a89023f63f04\",\"obfuscation\":\"0OC6dYCc\",\"output_index\":0,\"sequence_number\":4}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"\\\":\\\"\",\"item_id\":\"fc_038a1c71c2055724006aabc3df3a8c87d2a0a8a89023f63f04\",\"obfuscation\":\"KED4rJ4N2a0OJ\",\"output_index\":0,\"sequence_number\":5}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"Paris\",\"item_id\":\"fc_038a1c71c2055724006aabc3df3a8c87d2a0a8a89023f63f04\",\"obfuscation\":\"lxieItAnEWZ\",\"output_index\":0,\"sequence_number\":6}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\",\",\"item_id\":\"fc_038a1c71c2055724006aabc3df3a8c87d2a0a8a89023f63f04\",\"obfuscation\":\"ANtbKwWhHppcE41\",\"output_index\":0,\"sequence_number\":7}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\" France\",\"item_id\":\"fc_038a1c71c2055724006aabc3df3a8c87d2a0a8a89023f63f04\",\"obfuscation\":\"v7OePNfjA\",\"output_index\":0,\"sequence_number\":8}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"\\\"}\",\"item_id\":\"fc_038a1c71c2055724006aabc3df3a8c87d2a0a8a89023f63f04\",\"obfuscation\":\"fsRFEYkwMbfWX3\",\"output_index\":0,\"sequence_number\":9}", + "event: response.function_call_arguments.done\ndata: {\"type\":\"response.function_call_arguments.done\",\"arguments\":\"{\\\"location\\\":\\\"Paris, France\\\"}\",\"item_id\":\"fc_038a1c71c2055724006aabc3df3a8c87d2a0a8a89023f63f04\",\"output_index\":0,\"sequence_number\":10}", + "event: response.output_item.done\ndata: {\"type\":\"response.output_item.done\",\"item\":{\"id\":\"fc_038a1c71c2055724006aabc3df3a8c87d2a0a8a89023f63f04\",\"type\":\"function_call\",\"status\":\"completed\",\"arguments\":\"{\\\"location\\\":\\\"Paris, France\\\"}\",\"call_id\":\"call_mxrE2sKGJLarGmw1vQpb62L8\",\"name\":\"get_weather\"},\"output_index\":0,\"sequence_number\":11}", + "event: response.completed\ndata: {\"type\":\"response.completed\",\"response\":{\"id\":\"resp_038a1c71c2055724006aabc3decd4087d2b1f0a6eca314090e\",\"object\":\"response\",\"created_at\":1789641694,\"status\":\"completed\",\"background\":false,\"completed_at\":1789641695,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":96,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[{\"id\":\"fc_038a1c71c2055724006aabc3df3a8c87d2a0a8a89023f63f04\",\"type\":\"function_call\",\"status\":\"completed\",\"arguments\":\"{\\\"location\\\":\\\"Paris, France\\\"}\",\"call_id\":\"call_mxrE2sKGJLarGmw1vQpb62L8\",\"name\":\"get_weather\"}],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"default\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"required\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[{\"type\":\"function\",\"description\":\"Get the weather for a location\",\"name\":\"get_weather\",\"output_schema\":null,\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and country\"}},\"required\":[\"location\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"strict\":true}],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":{\"input_tokens\":201,\"input_tokens_details\":{\"cache_write_tokens\":0,\"cached_tokens\":0},\"output_tokens\":8,\"output_tokens_details\":{\"reasoning_tokens\":0},\"total_tokens\":209},\"user\":null,\"metadata\":{}},\"sequence_number\":12}" ], "kind": "sse" }, @@ -3730,12 +4272,12 @@ "access-control-expose-headers": "X-Request-ID, CF-Ray, CF-Ray", "alt-svc": "h3=\":443\"; ma=86400", "cf-cache-status": "DYNAMIC", - "cf-ray": "a1e8b14d3cea81ed-IAD", + "cf-ray": "a3c77fcffd04cd76-IAD", "connection": "keep-alive", "content-type": "text/event-stream; charset=utf-8", - "date": "Tue, 21 Jul 2026 08:04:02 GMT", + "date": "Thu, 17 Sep 2026 10:41:35 GMT", "openai-organization": "braintrust-data", - "openai-processing-ms": "109", + "openai-processing-ms": "502", "openai-project": "proj_vsCSXafhhByzWOThMrJcZiw9", "openai-version": "2020-10-01", "server": "cloudflare", @@ -3743,7 +4285,13 @@ "strict-transport-security": "max-age=31536000; includeSubDomains; preload", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-request-id": "req_c5b68daa66b04b3ba0b692fb1b5eca06" + "x-ratelimit-limit-requests": "30000", + "x-ratelimit-limit-tokens": "150000000", + "x-ratelimit-remaining-requests": "29999", + "x-ratelimit-remaining-tokens": "149999580", + "x-ratelimit-reset-requests": "2ms", + "x-ratelimit-reset-tokens": "0s", + "x-request-id": "req_00fa8c65e55540068d43c409b45b3af1" }, "status": 200, "statusText": "OK" @@ -3753,7 +4301,7 @@ "callIndex": 18, "id": "68b95c3d415edc61", "matchKey": "POST api.openai.com/v1/responses", - "recordedAt": "2026-07-21T08:04:04.316Z", + "recordedAt": "2026-09-17T10:41:36.199Z", "request": { "body": { "kind": "json", @@ -3806,19 +4354,19 @@ "response": { "body": { "chunks": [ - "event: response.created\ndata: {\"type\":\"response.created\",\"response\":{\"id\":\"resp_0c97206e7a743588006a5f27f3793481a290d7f6ce0ab9df88\",\"object\":\"response\",\"created_at\":1784621043,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":96,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"required\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[{\"type\":\"function\",\"description\":\"Get the weather for a location\",\"name\":\"get_weather\",\"output_schema\":null,\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and country\"}},\"required\":[\"location\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"strict\":true}],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":0}", - "event: response.in_progress\ndata: {\"type\":\"response.in_progress\",\"response\":{\"id\":\"resp_0c97206e7a743588006a5f27f3793481a290d7f6ce0ab9df88\",\"object\":\"response\",\"created_at\":1784621043,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":96,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"required\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[{\"type\":\"function\",\"description\":\"Get the weather for a location\",\"name\":\"get_weather\",\"output_schema\":null,\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and country\"}},\"required\":[\"location\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"strict\":true}],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":1}", - "event: response.output_item.added\ndata: {\"type\":\"response.output_item.added\",\"item\":{\"id\":\"fc_0c97206e7a743588006a5f27f409d481a2afba2201e60e7187\",\"type\":\"function_call\",\"status\":\"in_progress\",\"arguments\":\"\",\"call_id\":\"call_G7BpSR4eq5zaxlN0EK5JnoFz\",\"name\":\"get_weather\"},\"output_index\":0,\"sequence_number\":2}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"{\\\"\",\"item_id\":\"fc_0c97206e7a743588006a5f27f409d481a2afba2201e60e7187\",\"obfuscation\":\"YsES7JLaswYhHz\",\"output_index\":0,\"sequence_number\":3}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"location\",\"item_id\":\"fc_0c97206e7a743588006a5f27f409d481a2afba2201e60e7187\",\"obfuscation\":\"xQYGRs87\",\"output_index\":0,\"sequence_number\":4}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"\\\":\\\"\",\"item_id\":\"fc_0c97206e7a743588006a5f27f409d481a2afba2201e60e7187\",\"obfuscation\":\"AN1Jtvx07yuUl\",\"output_index\":0,\"sequence_number\":5}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"Paris\",\"item_id\":\"fc_0c97206e7a743588006a5f27f409d481a2afba2201e60e7187\",\"obfuscation\":\"ZKfHY1EmcPC\",\"output_index\":0,\"sequence_number\":6}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\",\",\"item_id\":\"fc_0c97206e7a743588006a5f27f409d481a2afba2201e60e7187\",\"obfuscation\":\"rmr3HEMMxlYXAEu\",\"output_index\":0,\"sequence_number\":7}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\" France\",\"item_id\":\"fc_0c97206e7a743588006a5f27f409d481a2afba2201e60e7187\",\"obfuscation\":\"Y5JptrC1g\",\"output_index\":0,\"sequence_number\":8}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"\\\"}\",\"item_id\":\"fc_0c97206e7a743588006a5f27f409d481a2afba2201e60e7187\",\"obfuscation\":\"xzBpOA62MabdgP\",\"output_index\":0,\"sequence_number\":9}", - "event: response.function_call_arguments.done\ndata: {\"type\":\"response.function_call_arguments.done\",\"arguments\":\"{\\\"location\\\":\\\"Paris, France\\\"}\",\"item_id\":\"fc_0c97206e7a743588006a5f27f409d481a2afba2201e60e7187\",\"output_index\":0,\"sequence_number\":10}", - "event: response.output_item.done\ndata: {\"type\":\"response.output_item.done\",\"item\":{\"id\":\"fc_0c97206e7a743588006a5f27f409d481a2afba2201e60e7187\",\"type\":\"function_call\",\"status\":\"completed\",\"arguments\":\"{\\\"location\\\":\\\"Paris, France\\\"}\",\"call_id\":\"call_G7BpSR4eq5zaxlN0EK5JnoFz\",\"name\":\"get_weather\"},\"output_index\":0,\"sequence_number\":11}", - "event: response.completed\ndata: {\"type\":\"response.completed\",\"response\":{\"id\":\"resp_0c97206e7a743588006a5f27f3793481a290d7f6ce0ab9df88\",\"object\":\"response\",\"created_at\":1784621043,\"status\":\"completed\",\"background\":false,\"completed_at\":1784621044,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":96,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[{\"id\":\"fc_0c97206e7a743588006a5f27f409d481a2afba2201e60e7187\",\"type\":\"function_call\",\"status\":\"completed\",\"arguments\":\"{\\\"location\\\":\\\"Paris, France\\\"}\",\"call_id\":\"call_G7BpSR4eq5zaxlN0EK5JnoFz\",\"name\":\"get_weather\"}],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"default\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"required\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[{\"type\":\"function\",\"description\":\"Get the weather for a location\",\"name\":\"get_weather\",\"output_schema\":null,\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and country\"}},\"required\":[\"location\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"strict\":true}],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":{\"input_tokens\":70,\"input_tokens_details\":{\"cache_write_tokens\":0,\"cached_tokens\":0},\"output_tokens\":8,\"output_tokens_details\":{\"reasoning_tokens\":0},\"total_tokens\":78},\"user\":null,\"metadata\":{}},\"sequence_number\":12}" + "event: response.created\ndata: {\"type\":\"response.created\",\"response\":{\"id\":\"resp_013ae44d7084419f006aabc3df9d6087d2a435b1736abd6b48\",\"object\":\"response\",\"created_at\":1789641695,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":96,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"required\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[{\"type\":\"function\",\"description\":\"Get the weather for a location\",\"name\":\"get_weather\",\"output_schema\":null,\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and country\"}},\"required\":[\"location\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"strict\":true}],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":0}", + "event: response.in_progress\ndata: {\"type\":\"response.in_progress\",\"response\":{\"id\":\"resp_013ae44d7084419f006aabc3df9d6087d2a435b1736abd6b48\",\"object\":\"response\",\"created_at\":1789641695,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":96,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"required\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[{\"type\":\"function\",\"description\":\"Get the weather for a location\",\"name\":\"get_weather\",\"output_schema\":null,\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and country\"}},\"required\":[\"location\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"strict\":true}],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":1}", + "event: response.output_item.added\ndata: {\"type\":\"response.output_item.added\",\"item\":{\"id\":\"fc_013ae44d7084419f006aabc3dff5f887d2af9dad02ca1eb115\",\"type\":\"function_call\",\"status\":\"in_progress\",\"arguments\":\"\",\"call_id\":\"call_ZuS8MQPaeFhwkBzxOZicxPIV\",\"name\":\"get_weather\"},\"output_index\":0,\"sequence_number\":2}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"{\\\"\",\"item_id\":\"fc_013ae44d7084419f006aabc3dff5f887d2af9dad02ca1eb115\",\"obfuscation\":\"TFaOvkHsIEHKFn\",\"output_index\":0,\"sequence_number\":3}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"location\",\"item_id\":\"fc_013ae44d7084419f006aabc3dff5f887d2af9dad02ca1eb115\",\"obfuscation\":\"lJd0rYVZ\",\"output_index\":0,\"sequence_number\":4}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"\\\":\\\"\",\"item_id\":\"fc_013ae44d7084419f006aabc3dff5f887d2af9dad02ca1eb115\",\"obfuscation\":\"mZUwOmHvDKwaT\",\"output_index\":0,\"sequence_number\":5}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"Paris\",\"item_id\":\"fc_013ae44d7084419f006aabc3dff5f887d2af9dad02ca1eb115\",\"obfuscation\":\"hY30yLkb7b8\",\"output_index\":0,\"sequence_number\":6}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\",\",\"item_id\":\"fc_013ae44d7084419f006aabc3dff5f887d2af9dad02ca1eb115\",\"obfuscation\":\"8o8wxsDgjtLRYzO\",\"output_index\":0,\"sequence_number\":7}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\" France\",\"item_id\":\"fc_013ae44d7084419f006aabc3dff5f887d2af9dad02ca1eb115\",\"obfuscation\":\"M9kU6kk3I\",\"output_index\":0,\"sequence_number\":8}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"\\\"}\",\"item_id\":\"fc_013ae44d7084419f006aabc3dff5f887d2af9dad02ca1eb115\",\"obfuscation\":\"tIRlpftnEQLtbO\",\"output_index\":0,\"sequence_number\":9}", + "event: response.function_call_arguments.done\ndata: {\"type\":\"response.function_call_arguments.done\",\"arguments\":\"{\\\"location\\\":\\\"Paris, France\\\"}\",\"item_id\":\"fc_013ae44d7084419f006aabc3dff5f887d2af9dad02ca1eb115\",\"output_index\":0,\"sequence_number\":10}", + "event: response.output_item.done\ndata: {\"type\":\"response.output_item.done\",\"item\":{\"id\":\"fc_013ae44d7084419f006aabc3dff5f887d2af9dad02ca1eb115\",\"type\":\"function_call\",\"status\":\"completed\",\"arguments\":\"{\\\"location\\\":\\\"Paris, France\\\"}\",\"call_id\":\"call_ZuS8MQPaeFhwkBzxOZicxPIV\",\"name\":\"get_weather\"},\"output_index\":0,\"sequence_number\":11}", + "event: response.completed\ndata: {\"type\":\"response.completed\",\"response\":{\"id\":\"resp_013ae44d7084419f006aabc3df9d6087d2a435b1736abd6b48\",\"object\":\"response\",\"created_at\":1789641695,\"status\":\"completed\",\"background\":false,\"completed_at\":1789641696,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":96,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[{\"id\":\"fc_013ae44d7084419f006aabc3dff5f887d2af9dad02ca1eb115\",\"type\":\"function_call\",\"status\":\"completed\",\"arguments\":\"{\\\"location\\\":\\\"Paris, France\\\"}\",\"call_id\":\"call_ZuS8MQPaeFhwkBzxOZicxPIV\",\"name\":\"get_weather\"}],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"default\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"required\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[{\"type\":\"function\",\"description\":\"Get the weather for a location\",\"name\":\"get_weather\",\"output_schema\":null,\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and country\"}},\"required\":[\"location\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"strict\":true}],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":{\"input_tokens\":70,\"input_tokens_details\":{\"cache_write_tokens\":0,\"cached_tokens\":0},\"output_tokens\":8,\"output_tokens_details\":{\"reasoning_tokens\":0},\"total_tokens\":78},\"user\":null,\"metadata\":{}},\"sequence_number\":12}" ], "kind": "sse" }, @@ -3826,12 +4374,12 @@ "access-control-expose-headers": "X-Request-ID, CF-Ray, CF-Ray", "alt-svc": "h3=\":443\"; ma=86400", "cf-cache-status": "DYNAMIC", - "cf-ray": "a1e8b1514fd081ed-IAD", + "cf-ray": "a3c77fd53a12cd76-IAD", "connection": "keep-alive", "content-type": "text/event-stream; charset=utf-8", - "date": "Tue, 21 Jul 2026 08:04:03 GMT", + "date": "Thu, 17 Sep 2026 10:41:35 GMT", "openai-organization": "braintrust-data", - "openai-processing-ms": "211", + "openai-processing-ms": "377", "openai-project": "proj_vsCSXafhhByzWOThMrJcZiw9", "openai-version": "2020-10-01", "server": "cloudflare", @@ -3839,7 +4387,13 @@ "strict-transport-security": "max-age=31536000; includeSubDomains; preload", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-request-id": "req_78f40bfc432b4b3b80f2ffdca4ebcc3b" + "x-ratelimit-limit-requests": "30000", + "x-ratelimit-limit-tokens": "150000000", + "x-ratelimit-remaining-requests": "29999", + "x-ratelimit-remaining-tokens": "149999715", + "x-ratelimit-reset-requests": "2ms", + "x-ratelimit-reset-tokens": "0s", + "x-request-id": "req_04ca423b35f74a7d92f2033b9d565220" }, "status": 200, "statusText": "OK" @@ -3847,9 +4401,9 @@ }, { "callIndex": 19, - "id": "6539538d3fca3525", + "id": "908ce2b955306d2c", "matchKey": "POST api.openai.com/v1/responses", - "recordedAt": "2026-07-21T08:04:05.625Z", + "recordedAt": "2026-09-17T10:41:36.846Z", "request": { "body": { "kind": "json", @@ -3870,12 +4424,12 @@ }, { "arguments": "{\"location\":\"Paris, France\"}", - "call_id": "call_G7BpSR4eq5zaxlN0EK5JnoFz", + "call_id": "call_ZuS8MQPaeFhwkBzxOZicxPIV", "name": "get_weather", "type": "function_call" }, { - "call_id": "call_G7BpSR4eq5zaxlN0EK5JnoFz", + "call_id": "call_ZuS8MQPaeFhwkBzxOZicxPIV", "output": "{\"condition\":\"sunny\",\"location\":\"Paris, France\",\"temperatureC\":22}", "type": "function_call_output" } @@ -3913,19 +4467,19 @@ "response": { "body": { "chunks": [ - "event: response.created\ndata: {\"type\":\"response.created\",\"response\":{\"id\":\"resp_09df10ad86f8a96f006a5f27f4611481a3a28f4450ec2fa74f\",\"object\":\"response\",\"created_at\":1784621044,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":96,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"required\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[{\"type\":\"function\",\"description\":\"Get the weather for a location\",\"name\":\"get_weather\",\"output_schema\":null,\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and country\"}},\"required\":[\"location\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"strict\":true}],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":0}", - "event: response.in_progress\ndata: {\"type\":\"response.in_progress\",\"response\":{\"id\":\"resp_09df10ad86f8a96f006a5f27f4611481a3a28f4450ec2fa74f\",\"object\":\"response\",\"created_at\":1784621044,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":96,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"required\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[{\"type\":\"function\",\"description\":\"Get the weather for a location\",\"name\":\"get_weather\",\"output_schema\":null,\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and country\"}},\"required\":[\"location\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"strict\":true}],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":1}", - "event: response.output_item.added\ndata: {\"type\":\"response.output_item.added\",\"item\":{\"id\":\"fc_09df10ad86f8a96f006a5f27f4f71081a3896d07506544897d\",\"type\":\"function_call\",\"status\":\"in_progress\",\"arguments\":\"\",\"call_id\":\"call_zlDm9q5XtPBHUdtV2HwDqPBh\",\"name\":\"get_weather\"},\"output_index\":0,\"sequence_number\":2}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"{\\\"\",\"item_id\":\"fc_09df10ad86f8a96f006a5f27f4f71081a3896d07506544897d\",\"obfuscation\":\"kJqPvhfWDcITHr\",\"output_index\":0,\"sequence_number\":3}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"location\",\"item_id\":\"fc_09df10ad86f8a96f006a5f27f4f71081a3896d07506544897d\",\"obfuscation\":\"Lr2nHfcW\",\"output_index\":0,\"sequence_number\":4}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"\\\":\\\"\",\"item_id\":\"fc_09df10ad86f8a96f006a5f27f4f71081a3896d07506544897d\",\"obfuscation\":\"YCdjFpsfWMlPm\",\"output_index\":0,\"sequence_number\":5}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"Paris\",\"item_id\":\"fc_09df10ad86f8a96f006a5f27f4f71081a3896d07506544897d\",\"obfuscation\":\"Alp8QPsWAhE\",\"output_index\":0,\"sequence_number\":6}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\",\",\"item_id\":\"fc_09df10ad86f8a96f006a5f27f4f71081a3896d07506544897d\",\"obfuscation\":\"sfcPivqGRhkXrhe\",\"output_index\":0,\"sequence_number\":7}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\" France\",\"item_id\":\"fc_09df10ad86f8a96f006a5f27f4f71081a3896d07506544897d\",\"obfuscation\":\"IYScghhX9\",\"output_index\":0,\"sequence_number\":8}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"\\\"}\",\"item_id\":\"fc_09df10ad86f8a96f006a5f27f4f71081a3896d07506544897d\",\"obfuscation\":\"chqHf3EJOJGXuU\",\"output_index\":0,\"sequence_number\":9}", - "event: response.function_call_arguments.done\ndata: {\"type\":\"response.function_call_arguments.done\",\"arguments\":\"{\\\"location\\\":\\\"Paris, France\\\"}\",\"item_id\":\"fc_09df10ad86f8a96f006a5f27f4f71081a3896d07506544897d\",\"output_index\":0,\"sequence_number\":10}", - "event: response.output_item.done\ndata: {\"type\":\"response.output_item.done\",\"item\":{\"id\":\"fc_09df10ad86f8a96f006a5f27f4f71081a3896d07506544897d\",\"type\":\"function_call\",\"status\":\"completed\",\"arguments\":\"{\\\"location\\\":\\\"Paris, France\\\"}\",\"call_id\":\"call_zlDm9q5XtPBHUdtV2HwDqPBh\",\"name\":\"get_weather\"},\"output_index\":0,\"sequence_number\":11}", - "event: response.completed\ndata: {\"type\":\"response.completed\",\"response\":{\"id\":\"resp_09df10ad86f8a96f006a5f27f4611481a3a28f4450ec2fa74f\",\"object\":\"response\",\"created_at\":1784621044,\"status\":\"completed\",\"background\":false,\"completed_at\":1784621045,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":96,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[{\"id\":\"fc_09df10ad86f8a96f006a5f27f4f71081a3896d07506544897d\",\"type\":\"function_call\",\"status\":\"completed\",\"arguments\":\"{\\\"location\\\":\\\"Paris, France\\\"}\",\"call_id\":\"call_zlDm9q5XtPBHUdtV2HwDqPBh\",\"name\":\"get_weather\"}],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"default\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"required\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[{\"type\":\"function\",\"description\":\"Get the weather for a location\",\"name\":\"get_weather\",\"output_schema\":null,\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and country\"}},\"required\":[\"location\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"strict\":true}],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":{\"input_tokens\":109,\"input_tokens_details\":{\"cache_write_tokens\":0,\"cached_tokens\":0},\"output_tokens\":8,\"output_tokens_details\":{\"reasoning_tokens\":0},\"total_tokens\":117},\"user\":null,\"metadata\":{}},\"sequence_number\":12}" + "event: response.created\ndata: {\"type\":\"response.created\",\"response\":{\"id\":\"resp_0bdd8e89009a207a006aabc3e04fe087d2a592335eeca0c9cf\",\"object\":\"response\",\"created_at\":1789641696,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":96,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"required\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[{\"type\":\"function\",\"description\":\"Get the weather for a location\",\"name\":\"get_weather\",\"output_schema\":null,\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and country\"}},\"required\":[\"location\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"strict\":true}],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":0}", + "event: response.in_progress\ndata: {\"type\":\"response.in_progress\",\"response\":{\"id\":\"resp_0bdd8e89009a207a006aabc3e04fe087d2a592335eeca0c9cf\",\"object\":\"response\",\"created_at\":1789641696,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":96,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"required\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[{\"type\":\"function\",\"description\":\"Get the weather for a location\",\"name\":\"get_weather\",\"output_schema\":null,\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and country\"}},\"required\":[\"location\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"strict\":true}],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":1}", + "event: response.output_item.added\ndata: {\"type\":\"response.output_item.added\",\"item\":{\"id\":\"fc_0bdd8e89009a207a006aabc3e09b8c87d28fe9f2ae21231a9f\",\"type\":\"function_call\",\"status\":\"in_progress\",\"arguments\":\"\",\"call_id\":\"call_16yJGyXsPqQNCxZjIVftQqqq\",\"name\":\"get_weather\"},\"output_index\":0,\"sequence_number\":2}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"{\\\"\",\"item_id\":\"fc_0bdd8e89009a207a006aabc3e09b8c87d28fe9f2ae21231a9f\",\"obfuscation\":\"8lgNQehnJsfwme\",\"output_index\":0,\"sequence_number\":3}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"location\",\"item_id\":\"fc_0bdd8e89009a207a006aabc3e09b8c87d28fe9f2ae21231a9f\",\"obfuscation\":\"NclWu1Uc\",\"output_index\":0,\"sequence_number\":4}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"\\\":\\\"\",\"item_id\":\"fc_0bdd8e89009a207a006aabc3e09b8c87d28fe9f2ae21231a9f\",\"obfuscation\":\"J4LOMMrY7jCCE\",\"output_index\":0,\"sequence_number\":5}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"Paris\",\"item_id\":\"fc_0bdd8e89009a207a006aabc3e09b8c87d28fe9f2ae21231a9f\",\"obfuscation\":\"jbB1hYXYbz7\",\"output_index\":0,\"sequence_number\":6}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\",\",\"item_id\":\"fc_0bdd8e89009a207a006aabc3e09b8c87d28fe9f2ae21231a9f\",\"obfuscation\":\"OveQ8hp5YZ3JCbJ\",\"output_index\":0,\"sequence_number\":7}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\" France\",\"item_id\":\"fc_0bdd8e89009a207a006aabc3e09b8c87d28fe9f2ae21231a9f\",\"obfuscation\":\"cbLwRiuEJ\",\"output_index\":0,\"sequence_number\":8}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"\\\"}\",\"item_id\":\"fc_0bdd8e89009a207a006aabc3e09b8c87d28fe9f2ae21231a9f\",\"obfuscation\":\"XIpq1BdbqlKcjk\",\"output_index\":0,\"sequence_number\":9}", + "event: response.function_call_arguments.done\ndata: {\"type\":\"response.function_call_arguments.done\",\"arguments\":\"{\\\"location\\\":\\\"Paris, France\\\"}\",\"item_id\":\"fc_0bdd8e89009a207a006aabc3e09b8c87d28fe9f2ae21231a9f\",\"output_index\":0,\"sequence_number\":10}", + "event: response.output_item.done\ndata: {\"type\":\"response.output_item.done\",\"item\":{\"id\":\"fc_0bdd8e89009a207a006aabc3e09b8c87d28fe9f2ae21231a9f\",\"type\":\"function_call\",\"status\":\"completed\",\"arguments\":\"{\\\"location\\\":\\\"Paris, France\\\"}\",\"call_id\":\"call_16yJGyXsPqQNCxZjIVftQqqq\",\"name\":\"get_weather\"},\"output_index\":0,\"sequence_number\":11}", + "event: response.completed\ndata: {\"type\":\"response.completed\",\"response\":{\"id\":\"resp_0bdd8e89009a207a006aabc3e04fe087d2a592335eeca0c9cf\",\"object\":\"response\",\"created_at\":1789641696,\"status\":\"completed\",\"background\":false,\"completed_at\":1789641696,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":96,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[{\"id\":\"fc_0bdd8e89009a207a006aabc3e09b8c87d28fe9f2ae21231a9f\",\"type\":\"function_call\",\"status\":\"completed\",\"arguments\":\"{\\\"location\\\":\\\"Paris, France\\\"}\",\"call_id\":\"call_16yJGyXsPqQNCxZjIVftQqqq\",\"name\":\"get_weather\"}],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"default\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"required\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[{\"type\":\"function\",\"description\":\"Get the weather for a location\",\"name\":\"get_weather\",\"output_schema\":null,\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and country\"}},\"required\":[\"location\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"strict\":true}],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":{\"input_tokens\":109,\"input_tokens_details\":{\"cache_write_tokens\":0,\"cached_tokens\":0},\"output_tokens\":8,\"output_tokens_details\":{\"reasoning_tokens\":0},\"total_tokens\":117},\"user\":null,\"metadata\":{}},\"sequence_number\":12}" ], "kind": "sse" }, @@ -3933,12 +4487,12 @@ "access-control-expose-headers": "X-Request-ID, CF-Ray, CF-Ray", "alt-svc": "h3=\":443\"; ma=86400", "cf-cache-status": "DYNAMIC", - "cf-ray": "a1e8b1571c3081ed-IAD", + "cf-ray": "a3c77fd96bb2cd76-IAD", "connection": "keep-alive", "content-type": "text/event-stream; charset=utf-8", - "date": "Tue, 21 Jul 2026 08:04:04 GMT", + "date": "Thu, 17 Sep 2026 10:41:36 GMT", "openai-organization": "braintrust-data", - "openai-processing-ms": "146", + "openai-processing-ms": "325", "openai-project": "proj_vsCSXafhhByzWOThMrJcZiw9", "openai-version": "2020-10-01", "server": "cloudflare", @@ -3946,7 +4500,13 @@ "strict-transport-security": "max-age=31536000; includeSubDomains; preload", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-request-id": "req_dad7db28123f4a4295018e4a5ac36ca7" + "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_f0d89c7f4ec840f8a427ca7d04621acc" }, "status": 200, "statusText": "OK" @@ -3954,9 +4514,9 @@ }, { "callIndex": 20, - "id": "e524b35823448775", + "id": "d7cddb2ab70dabf6", "matchKey": "POST api.openai.com/v1/responses", - "recordedAt": "2026-07-21T08:04:06.596Z", + "recordedAt": "2026-09-17T10:41:37.462Z", "request": { "body": { "kind": "json", @@ -3977,23 +4537,23 @@ }, { "arguments": "{\"location\":\"Paris, France\"}", - "call_id": "call_G7BpSR4eq5zaxlN0EK5JnoFz", + "call_id": "call_ZuS8MQPaeFhwkBzxOZicxPIV", "name": "get_weather", "type": "function_call" }, { - "call_id": "call_G7BpSR4eq5zaxlN0EK5JnoFz", + "call_id": "call_ZuS8MQPaeFhwkBzxOZicxPIV", "output": "{\"condition\":\"sunny\",\"location\":\"Paris, France\",\"temperatureC\":22}", "type": "function_call_output" }, { "arguments": "{\"location\":\"Paris, France\"}", - "call_id": "call_zlDm9q5XtPBHUdtV2HwDqPBh", + "call_id": "call_16yJGyXsPqQNCxZjIVftQqqq", "name": "get_weather", "type": "function_call" }, { - "call_id": "call_zlDm9q5XtPBHUdtV2HwDqPBh", + "call_id": "call_16yJGyXsPqQNCxZjIVftQqqq", "output": "{\"condition\":\"sunny\",\"location\":\"Paris, France\",\"temperatureC\":22}", "type": "function_call_output" } @@ -4031,19 +4591,19 @@ "response": { "body": { "chunks": [ - "event: response.created\ndata: {\"type\":\"response.created\",\"response\":{\"id\":\"resp_044cfd7e728f5439006a5f27f5b65c81918e3628ce6bbd2412\",\"object\":\"response\",\"created_at\":1784621045,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":96,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"required\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[{\"type\":\"function\",\"description\":\"Get the weather for a location\",\"name\":\"get_weather\",\"output_schema\":null,\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and country\"}},\"required\":[\"location\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"strict\":true}],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":0}", - "event: response.in_progress\ndata: {\"type\":\"response.in_progress\",\"response\":{\"id\":\"resp_044cfd7e728f5439006a5f27f5b65c81918e3628ce6bbd2412\",\"object\":\"response\",\"created_at\":1784621045,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":96,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"required\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[{\"type\":\"function\",\"description\":\"Get the weather for a location\",\"name\":\"get_weather\",\"output_schema\":null,\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and country\"}},\"required\":[\"location\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"strict\":true}],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":1}", - "event: response.output_item.added\ndata: {\"type\":\"response.output_item.added\",\"item\":{\"id\":\"fc_044cfd7e728f5439006a5f27f631108191a931cfad2f50953e\",\"type\":\"function_call\",\"status\":\"in_progress\",\"arguments\":\"\",\"call_id\":\"call_jvUCbKtBTfkQp008o6TWfGAj\",\"name\":\"get_weather\"},\"output_index\":0,\"sequence_number\":2}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"{\\\"\",\"item_id\":\"fc_044cfd7e728f5439006a5f27f631108191a931cfad2f50953e\",\"obfuscation\":\"kAiclp2ugAeqiS\",\"output_index\":0,\"sequence_number\":3}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"location\",\"item_id\":\"fc_044cfd7e728f5439006a5f27f631108191a931cfad2f50953e\",\"obfuscation\":\"AsDKxmxr\",\"output_index\":0,\"sequence_number\":4}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"\\\":\\\"\",\"item_id\":\"fc_044cfd7e728f5439006a5f27f631108191a931cfad2f50953e\",\"obfuscation\":\"X7n9skCYMJGvv\",\"output_index\":0,\"sequence_number\":5}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"Paris\",\"item_id\":\"fc_044cfd7e728f5439006a5f27f631108191a931cfad2f50953e\",\"obfuscation\":\"putcKyOGBtE\",\"output_index\":0,\"sequence_number\":6}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\",\",\"item_id\":\"fc_044cfd7e728f5439006a5f27f631108191a931cfad2f50953e\",\"obfuscation\":\"IqjHIpJyJr3KmYg\",\"output_index\":0,\"sequence_number\":7}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\" France\",\"item_id\":\"fc_044cfd7e728f5439006a5f27f631108191a931cfad2f50953e\",\"obfuscation\":\"7sj8Tkmhs\",\"output_index\":0,\"sequence_number\":8}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"\\\"}\",\"item_id\":\"fc_044cfd7e728f5439006a5f27f631108191a931cfad2f50953e\",\"obfuscation\":\"7ZGKFx6kr5EuED\",\"output_index\":0,\"sequence_number\":9}", - "event: response.function_call_arguments.done\ndata: {\"type\":\"response.function_call_arguments.done\",\"arguments\":\"{\\\"location\\\":\\\"Paris, France\\\"}\",\"item_id\":\"fc_044cfd7e728f5439006a5f27f631108191a931cfad2f50953e\",\"output_index\":0,\"sequence_number\":10}", - "event: response.output_item.done\ndata: {\"type\":\"response.output_item.done\",\"item\":{\"id\":\"fc_044cfd7e728f5439006a5f27f631108191a931cfad2f50953e\",\"type\":\"function_call\",\"status\":\"completed\",\"arguments\":\"{\\\"location\\\":\\\"Paris, France\\\"}\",\"call_id\":\"call_jvUCbKtBTfkQp008o6TWfGAj\",\"name\":\"get_weather\"},\"output_index\":0,\"sequence_number\":11}", - "event: response.completed\ndata: {\"type\":\"response.completed\",\"response\":{\"id\":\"resp_044cfd7e728f5439006a5f27f5b65c81918e3628ce6bbd2412\",\"object\":\"response\",\"created_at\":1784621045,\"status\":\"completed\",\"background\":false,\"completed_at\":1784621046,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":96,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[{\"id\":\"fc_044cfd7e728f5439006a5f27f631108191a931cfad2f50953e\",\"type\":\"function_call\",\"status\":\"completed\",\"arguments\":\"{\\\"location\\\":\\\"Paris, France\\\"}\",\"call_id\":\"call_jvUCbKtBTfkQp008o6TWfGAj\",\"name\":\"get_weather\"}],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"default\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"required\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[{\"type\":\"function\",\"description\":\"Get the weather for a location\",\"name\":\"get_weather\",\"output_schema\":null,\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and country\"}},\"required\":[\"location\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"strict\":true}],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":{\"input_tokens\":148,\"input_tokens_details\":{\"cache_write_tokens\":0,\"cached_tokens\":0},\"output_tokens\":8,\"output_tokens_details\":{\"reasoning_tokens\":0},\"total_tokens\":156},\"user\":null,\"metadata\":{}},\"sequence_number\":12}" + "event: response.created\ndata: {\"type\":\"response.created\",\"response\":{\"id\":\"resp_0595877256a528fb006aabc3e0ebdc87d2b6a87f165622ac35\",\"object\":\"response\",\"created_at\":1789641696,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":96,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"required\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[{\"type\":\"function\",\"description\":\"Get the weather for a location\",\"name\":\"get_weather\",\"output_schema\":null,\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and country\"}},\"required\":[\"location\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"strict\":true}],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":0}", + "event: response.in_progress\ndata: {\"type\":\"response.in_progress\",\"response\":{\"id\":\"resp_0595877256a528fb006aabc3e0ebdc87d2b6a87f165622ac35\",\"object\":\"response\",\"created_at\":1789641696,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":96,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"required\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[{\"type\":\"function\",\"description\":\"Get the weather for a location\",\"name\":\"get_weather\",\"output_schema\":null,\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and country\"}},\"required\":[\"location\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"strict\":true}],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":1}", + "event: response.output_item.added\ndata: {\"type\":\"response.output_item.added\",\"item\":{\"id\":\"fc_0595877256a528fb006aabc3e1468887d2963f3e08140d9b02\",\"type\":\"function_call\",\"status\":\"in_progress\",\"arguments\":\"\",\"call_id\":\"call_GCZplhYdQhQ6AhXJIqHc92c1\",\"name\":\"get_weather\"},\"output_index\":0,\"sequence_number\":2}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"{\\\"\",\"item_id\":\"fc_0595877256a528fb006aabc3e1468887d2963f3e08140d9b02\",\"obfuscation\":\"qQJXr3SZASRVFH\",\"output_index\":0,\"sequence_number\":3}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"location\",\"item_id\":\"fc_0595877256a528fb006aabc3e1468887d2963f3e08140d9b02\",\"obfuscation\":\"9DuV5uLG\",\"output_index\":0,\"sequence_number\":4}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"\\\":\\\"\",\"item_id\":\"fc_0595877256a528fb006aabc3e1468887d2963f3e08140d9b02\",\"obfuscation\":\"OSmHdoQuZ7iK0\",\"output_index\":0,\"sequence_number\":5}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"Paris\",\"item_id\":\"fc_0595877256a528fb006aabc3e1468887d2963f3e08140d9b02\",\"obfuscation\":\"WAiCH9uCBgW\",\"output_index\":0,\"sequence_number\":6}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\",\",\"item_id\":\"fc_0595877256a528fb006aabc3e1468887d2963f3e08140d9b02\",\"obfuscation\":\"Zd29sN7ZDYC1tNP\",\"output_index\":0,\"sequence_number\":7}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\" France\",\"item_id\":\"fc_0595877256a528fb006aabc3e1468887d2963f3e08140d9b02\",\"obfuscation\":\"FLQrSMgGw\",\"output_index\":0,\"sequence_number\":8}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"\\\"}\",\"item_id\":\"fc_0595877256a528fb006aabc3e1468887d2963f3e08140d9b02\",\"obfuscation\":\"CZ1MgVlgZtHjn8\",\"output_index\":0,\"sequence_number\":9}", + "event: response.function_call_arguments.done\ndata: {\"type\":\"response.function_call_arguments.done\",\"arguments\":\"{\\\"location\\\":\\\"Paris, France\\\"}\",\"item_id\":\"fc_0595877256a528fb006aabc3e1468887d2963f3e08140d9b02\",\"output_index\":0,\"sequence_number\":10}", + "event: response.output_item.done\ndata: {\"type\":\"response.output_item.done\",\"item\":{\"id\":\"fc_0595877256a528fb006aabc3e1468887d2963f3e08140d9b02\",\"type\":\"function_call\",\"status\":\"completed\",\"arguments\":\"{\\\"location\\\":\\\"Paris, France\\\"}\",\"call_id\":\"call_GCZplhYdQhQ6AhXJIqHc92c1\",\"name\":\"get_weather\"},\"output_index\":0,\"sequence_number\":11}", + "event: response.completed\ndata: {\"type\":\"response.completed\",\"response\":{\"id\":\"resp_0595877256a528fb006aabc3e0ebdc87d2b6a87f165622ac35\",\"object\":\"response\",\"created_at\":1789641696,\"status\":\"completed\",\"background\":false,\"completed_at\":1789641697,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":96,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[{\"id\":\"fc_0595877256a528fb006aabc3e1468887d2963f3e08140d9b02\",\"type\":\"function_call\",\"status\":\"completed\",\"arguments\":\"{\\\"location\\\":\\\"Paris, France\\\"}\",\"call_id\":\"call_GCZplhYdQhQ6AhXJIqHc92c1\",\"name\":\"get_weather\"}],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"default\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"required\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[{\"type\":\"function\",\"description\":\"Get the weather for a location\",\"name\":\"get_weather\",\"output_schema\":null,\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and country\"}},\"required\":[\"location\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"strict\":true}],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":{\"input_tokens\":148,\"input_tokens_details\":{\"cache_write_tokens\":0,\"cached_tokens\":0},\"output_tokens\":8,\"output_tokens_details\":{\"reasoning_tokens\":0},\"total_tokens\":156},\"user\":null,\"metadata\":{}},\"sequence_number\":12}" ], "kind": "sse" }, @@ -4051,12 +4611,12 @@ "access-control-expose-headers": "X-Request-ID, CF-Ray, CF-Ray", "alt-svc": "h3=\":443\"; ma=86400", "cf-cache-status": "DYNAMIC", - "cf-ray": "a1e8b15f4a2c81ed-IAD", + "cf-ray": "a3c77fdd7ce0cd76-IAD", "connection": "keep-alive", "content-type": "text/event-stream; charset=utf-8", - "date": "Tue, 21 Jul 2026 08:04:05 GMT", + "date": "Thu, 17 Sep 2026 10:41:37 GMT", "openai-organization": "braintrust-data", - "openai-processing-ms": "197", + "openai-processing-ms": "377", "openai-project": "proj_vsCSXafhhByzWOThMrJcZiw9", "openai-version": "2020-10-01", "server": "cloudflare", @@ -4064,7 +4624,13 @@ "strict-transport-security": "max-age=31536000; includeSubDomains; preload", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-request-id": "req_16435c0ec21f4f428d10ea748cd25dd4" + "x-ratelimit-limit-requests": "30000", + "x-ratelimit-limit-tokens": "150000000", + "x-ratelimit-remaining-requests": "29999", + "x-ratelimit-remaining-tokens": "149999635", + "x-ratelimit-reset-requests": "2ms", + "x-ratelimit-reset-tokens": "0s", + "x-request-id": "req_e4584f26627e487ba366ad4f772ef41e" }, "status": 200, "statusText": "OK" @@ -4072,9 +4638,9 @@ }, { "callIndex": 21, - "id": "d2a237298ef1bc25", + "id": "6c0ba2d129d33637", "matchKey": "POST api.openai.com/v1/responses", - "recordedAt": "2026-07-21T08:04:07.588Z", + "recordedAt": "2026-09-17T10:41:38.096Z", "request": { "body": { "kind": "json", @@ -4095,34 +4661,34 @@ }, { "arguments": "{\"location\":\"Paris, France\"}", - "call_id": "call_G7BpSR4eq5zaxlN0EK5JnoFz", + "call_id": "call_ZuS8MQPaeFhwkBzxOZicxPIV", "name": "get_weather", "type": "function_call" }, { - "call_id": "call_G7BpSR4eq5zaxlN0EK5JnoFz", + "call_id": "call_ZuS8MQPaeFhwkBzxOZicxPIV", "output": "{\"condition\":\"sunny\",\"location\":\"Paris, France\",\"temperatureC\":22}", "type": "function_call_output" }, { "arguments": "{\"location\":\"Paris, France\"}", - "call_id": "call_zlDm9q5XtPBHUdtV2HwDqPBh", + "call_id": "call_16yJGyXsPqQNCxZjIVftQqqq", "name": "get_weather", "type": "function_call" }, { - "call_id": "call_zlDm9q5XtPBHUdtV2HwDqPBh", + "call_id": "call_16yJGyXsPqQNCxZjIVftQqqq", "output": "{\"condition\":\"sunny\",\"location\":\"Paris, France\",\"temperatureC\":22}", "type": "function_call_output" }, { "arguments": "{\"location\":\"Paris, France\"}", - "call_id": "call_jvUCbKtBTfkQp008o6TWfGAj", + "call_id": "call_GCZplhYdQhQ6AhXJIqHc92c1", "name": "get_weather", "type": "function_call" }, { - "call_id": "call_jvUCbKtBTfkQp008o6TWfGAj", + "call_id": "call_GCZplhYdQhQ6AhXJIqHc92c1", "output": "{\"condition\":\"sunny\",\"location\":\"Paris, France\",\"temperatureC\":22}", "type": "function_call_output" } @@ -4160,19 +4726,19 @@ "response": { "body": { "chunks": [ - "event: response.created\ndata: {\"type\":\"response.created\",\"response\":{\"id\":\"resp_0ea132227f0cb0ef006a5f27f6a768819c94e42a575dfc6d14\",\"object\":\"response\",\"created_at\":1784621046,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":96,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"required\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[{\"type\":\"function\",\"description\":\"Get the weather for a location\",\"name\":\"get_weather\",\"output_schema\":null,\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and country\"}},\"required\":[\"location\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"strict\":true}],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":0}", - "event: response.in_progress\ndata: {\"type\":\"response.in_progress\",\"response\":{\"id\":\"resp_0ea132227f0cb0ef006a5f27f6a768819c94e42a575dfc6d14\",\"object\":\"response\",\"created_at\":1784621046,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":96,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"required\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[{\"type\":\"function\",\"description\":\"Get the weather for a location\",\"name\":\"get_weather\",\"output_schema\":null,\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and country\"}},\"required\":[\"location\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"strict\":true}],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":1}", - "event: response.output_item.added\ndata: {\"type\":\"response.output_item.added\",\"item\":{\"id\":\"fc_0ea132227f0cb0ef006a5f27f74ae0819cb3f3d72e2a1a9e5e\",\"type\":\"function_call\",\"status\":\"in_progress\",\"arguments\":\"\",\"call_id\":\"call_FR20EjGFspAP7TzT1y4SiMCS\",\"name\":\"get_weather\"},\"output_index\":0,\"sequence_number\":2}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"{\\\"\",\"item_id\":\"fc_0ea132227f0cb0ef006a5f27f74ae0819cb3f3d72e2a1a9e5e\",\"obfuscation\":\"Fft5hWvIjbTADx\",\"output_index\":0,\"sequence_number\":3}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"location\",\"item_id\":\"fc_0ea132227f0cb0ef006a5f27f74ae0819cb3f3d72e2a1a9e5e\",\"obfuscation\":\"0rnBrMvc\",\"output_index\":0,\"sequence_number\":4}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"\\\":\\\"\",\"item_id\":\"fc_0ea132227f0cb0ef006a5f27f74ae0819cb3f3d72e2a1a9e5e\",\"obfuscation\":\"ply0UyeclycXX\",\"output_index\":0,\"sequence_number\":5}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"Paris\",\"item_id\":\"fc_0ea132227f0cb0ef006a5f27f74ae0819cb3f3d72e2a1a9e5e\",\"obfuscation\":\"3J81gEM3GTa\",\"output_index\":0,\"sequence_number\":6}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\",\",\"item_id\":\"fc_0ea132227f0cb0ef006a5f27f74ae0819cb3f3d72e2a1a9e5e\",\"obfuscation\":\"7UVA5qftbt5FSec\",\"output_index\":0,\"sequence_number\":7}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\" France\",\"item_id\":\"fc_0ea132227f0cb0ef006a5f27f74ae0819cb3f3d72e2a1a9e5e\",\"obfuscation\":\"jaPJ9VyzI\",\"output_index\":0,\"sequence_number\":8}", - "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"\\\"}\",\"item_id\":\"fc_0ea132227f0cb0ef006a5f27f74ae0819cb3f3d72e2a1a9e5e\",\"obfuscation\":\"4Epiy7yS9Zbhqh\",\"output_index\":0,\"sequence_number\":9}", - "event: response.function_call_arguments.done\ndata: {\"type\":\"response.function_call_arguments.done\",\"arguments\":\"{\\\"location\\\":\\\"Paris, France\\\"}\",\"item_id\":\"fc_0ea132227f0cb0ef006a5f27f74ae0819cb3f3d72e2a1a9e5e\",\"output_index\":0,\"sequence_number\":10}", - "event: response.output_item.done\ndata: {\"type\":\"response.output_item.done\",\"item\":{\"id\":\"fc_0ea132227f0cb0ef006a5f27f74ae0819cb3f3d72e2a1a9e5e\",\"type\":\"function_call\",\"status\":\"completed\",\"arguments\":\"{\\\"location\\\":\\\"Paris, France\\\"}\",\"call_id\":\"call_FR20EjGFspAP7TzT1y4SiMCS\",\"name\":\"get_weather\"},\"output_index\":0,\"sequence_number\":11}", - "event: response.completed\ndata: {\"type\":\"response.completed\",\"response\":{\"id\":\"resp_0ea132227f0cb0ef006a5f27f6a768819c94e42a575dfc6d14\",\"object\":\"response\",\"created_at\":1784621046,\"status\":\"completed\",\"background\":false,\"completed_at\":1784621047,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":96,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[{\"id\":\"fc_0ea132227f0cb0ef006a5f27f74ae0819cb3f3d72e2a1a9e5e\",\"type\":\"function_call\",\"status\":\"completed\",\"arguments\":\"{\\\"location\\\":\\\"Paris, France\\\"}\",\"call_id\":\"call_FR20EjGFspAP7TzT1y4SiMCS\",\"name\":\"get_weather\"}],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"default\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"required\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[{\"type\":\"function\",\"description\":\"Get the weather for a location\",\"name\":\"get_weather\",\"output_schema\":null,\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and country\"}},\"required\":[\"location\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"strict\":true}],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":{\"input_tokens\":187,\"input_tokens_details\":{\"cache_write_tokens\":0,\"cached_tokens\":0},\"output_tokens\":8,\"output_tokens_details\":{\"reasoning_tokens\":0},\"total_tokens\":195},\"user\":null,\"metadata\":{}},\"sequence_number\":12}" + "event: response.created\ndata: {\"type\":\"response.created\",\"response\":{\"id\":\"resp_088361d8040e0f7f006aabc3e18a0887d2a9ab48b56f4d37e0\",\"object\":\"response\",\"created_at\":1789641697,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":96,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"required\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[{\"type\":\"function\",\"description\":\"Get the weather for a location\",\"name\":\"get_weather\",\"output_schema\":null,\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and country\"}},\"required\":[\"location\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"strict\":true}],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":0}", + "event: response.in_progress\ndata: {\"type\":\"response.in_progress\",\"response\":{\"id\":\"resp_088361d8040e0f7f006aabc3e18a0887d2a9ab48b56f4d37e0\",\"object\":\"response\",\"created_at\":1789641697,\"status\":\"in_progress\",\"background\":false,\"completed_at\":null,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":96,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"auto\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"required\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[{\"type\":\"function\",\"description\":\"Get the weather for a location\",\"name\":\"get_weather\",\"output_schema\":null,\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and country\"}},\"required\":[\"location\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"strict\":true}],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":null,\"user\":null,\"metadata\":{}},\"sequence_number\":1}", + "event: response.output_item.added\ndata: {\"type\":\"response.output_item.added\",\"item\":{\"id\":\"fc_088361d8040e0f7f006aabc3e1e3c887d2a90f81cc51750796\",\"type\":\"function_call\",\"status\":\"in_progress\",\"arguments\":\"\",\"call_id\":\"call_falhsyQ51P2nyBFHhXBfi8DY\",\"name\":\"get_weather\"},\"output_index\":0,\"sequence_number\":2}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"{\\\"\",\"item_id\":\"fc_088361d8040e0f7f006aabc3e1e3c887d2a90f81cc51750796\",\"obfuscation\":\"g91QNMDQpQgDul\",\"output_index\":0,\"sequence_number\":3}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"location\",\"item_id\":\"fc_088361d8040e0f7f006aabc3e1e3c887d2a90f81cc51750796\",\"obfuscation\":\"rQnjW7Ds\",\"output_index\":0,\"sequence_number\":4}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"\\\":\\\"\",\"item_id\":\"fc_088361d8040e0f7f006aabc3e1e3c887d2a90f81cc51750796\",\"obfuscation\":\"EQukSHQ891fuu\",\"output_index\":0,\"sequence_number\":5}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"Paris\",\"item_id\":\"fc_088361d8040e0f7f006aabc3e1e3c887d2a90f81cc51750796\",\"obfuscation\":\"a0RzVkdpNL2\",\"output_index\":0,\"sequence_number\":6}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\",\",\"item_id\":\"fc_088361d8040e0f7f006aabc3e1e3c887d2a90f81cc51750796\",\"obfuscation\":\"sxTdZrxcO3W7Kz4\",\"output_index\":0,\"sequence_number\":7}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\" France\",\"item_id\":\"fc_088361d8040e0f7f006aabc3e1e3c887d2a90f81cc51750796\",\"obfuscation\":\"IpoReciDc\",\"output_index\":0,\"sequence_number\":8}", + "event: response.function_call_arguments.delta\ndata: {\"type\":\"response.function_call_arguments.delta\",\"delta\":\"\\\"}\",\"item_id\":\"fc_088361d8040e0f7f006aabc3e1e3c887d2a90f81cc51750796\",\"obfuscation\":\"Msux59t3sgBXIE\",\"output_index\":0,\"sequence_number\":9}", + "event: response.function_call_arguments.done\ndata: {\"type\":\"response.function_call_arguments.done\",\"arguments\":\"{\\\"location\\\":\\\"Paris, France\\\"}\",\"item_id\":\"fc_088361d8040e0f7f006aabc3e1e3c887d2a90f81cc51750796\",\"output_index\":0,\"sequence_number\":10}", + "event: response.output_item.done\ndata: {\"type\":\"response.output_item.done\",\"item\":{\"id\":\"fc_088361d8040e0f7f006aabc3e1e3c887d2a90f81cc51750796\",\"type\":\"function_call\",\"status\":\"completed\",\"arguments\":\"{\\\"location\\\":\\\"Paris, France\\\"}\",\"call_id\":\"call_falhsyQ51P2nyBFHhXBfi8DY\",\"name\":\"get_weather\"},\"output_index\":0,\"sequence_number\":11}", + "event: response.completed\ndata: {\"type\":\"response.completed\",\"response\":{\"id\":\"resp_088361d8040e0f7f006aabc3e18a0887d2a9ab48b56f4d37e0\",\"object\":\"response\",\"created_at\":1789641697,\"status\":\"completed\",\"background\":false,\"completed_at\":1789641697,\"error\":null,\"frequency_penalty\":0,\"incomplete_details\":null,\"instructions\":null,\"max_output_tokens\":96,\"max_tool_calls\":null,\"model\":\"gpt-4o-mini-2024-07-18\",\"moderation\":null,\"output\":[{\"id\":\"fc_088361d8040e0f7f006aabc3e1e3c887d2a90f81cc51750796\",\"type\":\"function_call\",\"status\":\"completed\",\"arguments\":\"{\\\"location\\\":\\\"Paris, France\\\"}\",\"call_id\":\"call_falhsyQ51P2nyBFHhXBfi8DY\",\"name\":\"get_weather\"}],\"parallel_tool_calls\":true,\"presence_penalty\":0,\"previous_response_id\":null,\"prompt_cache_key\":null,\"prompt_cache_retention\":\"in_memory\",\"reasoning\":{\"context\":null,\"effort\":null,\"summary\":null},\"safety_identifier\":null,\"service_tier\":\"default\",\"store\":true,\"temperature\":0,\"text\":{\"format\":{\"type\":\"text\"},\"verbosity\":\"medium\"},\"tool_choice\":\"required\",\"tool_usage\":{\"image_gen\":{\"input_tokens\":0,\"input_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"output_tokens\":0,\"output_tokens_details\":{\"image_tokens\":0,\"text_tokens\":0},\"total_tokens\":0},\"web_search\":{\"num_requests\":0}},\"tools\":[{\"type\":\"function\",\"description\":\"Get the weather for a location\",\"name\":\"get_weather\",\"output_schema\":null,\"parameters\":{\"type\":\"object\",\"properties\":{\"location\":{\"type\":\"string\",\"description\":\"The city and country\"}},\"required\":[\"location\"],\"additionalProperties\":false,\"$schema\":\"http://json-schema.org/draft-07/schema#\"},\"strict\":true}],\"top_logprobs\":0,\"top_p\":1,\"truncation\":\"disabled\",\"usage\":{\"input_tokens\":187,\"input_tokens_details\":{\"cache_write_tokens\":0,\"cached_tokens\":0},\"output_tokens\":8,\"output_tokens_details\":{\"reasoning_tokens\":0},\"total_tokens\":195},\"user\":null,\"metadata\":{}},\"sequence_number\":12}" ], "kind": "sse" }, @@ -4180,12 +4746,12 @@ "access-control-expose-headers": "X-Request-ID, CF-Ray, CF-Ray", "alt-svc": "h3=\":443\"; ma=86400", "cf-cache-status": "DYNAMIC", - "cf-ray": "a1e8b1655e3d81ed-IAD", + "cf-ray": "a3c77fe14e58cd76-IAD", "connection": "keep-alive", "content-type": "text/event-stream; charset=utf-8", - "date": "Tue, 21 Jul 2026 08:04:06 GMT", + "date": "Thu, 17 Sep 2026 10:41:37 GMT", "openai-organization": "braintrust-data", - "openai-processing-ms": "107", + "openai-processing-ms": "373", "openai-project": "proj_vsCSXafhhByzWOThMrJcZiw9", "openai-version": "2020-10-01", "server": "cloudflare", @@ -4193,364 +4759,13 @@ "strict-transport-security": "max-age=31536000; includeSubDomains; preload", "transfer-encoding": "chunked", "x-content-type-options": "nosniff", - "x-request-id": "req_0e748e344505492fb6f7b9917d1ebd2c" - }, - "status": 200, - "statusText": "OK" - } - }, - { - "callIndex": 0, - "id": "04d8f7db5dc7b0b8", - "matchKey": "POST api.anthropic.com/v1/messages", - "recordedAt": "2026-07-21T08:01:17.173Z", - "request": { - "body": { - "kind": "json", - "value": { - "max_tokens": 24, - "messages": [ - { - "content": [ - { - "cache_control": { - "type": "ephemeral" - }, - "text": "braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix\n\nReply with exactly CACHE_OK and nothing else.", - "type": "text" - } - ], - "role": "user" - } - ], - "model": "claude-haiku-4-5", - "temperature": 0 - } - }, - "headers": {}, - "method": "POST", - "url": "https://api.anthropic.com/v1/messages" - }, - "response": { - "body": { - "kind": "json", - "value": { - "content": [ - { - "text": "CACHE_OK", - "type": "text" - } - ], - "id": "msg_011CdErLmHjZWe1ngEkchQJL", - "model": "claude-haiku-4-5-20251001", - "role": "assistant", - "stop_details": null, - "stop_reason": "end_turn", - "stop_sequence": null, - "type": "message", - "usage": { - "cache_creation": { - "ephemeral_1h_input_tokens": 0, - "ephemeral_5m_input_tokens": 0 - }, - "cache_creation_input_tokens": 0, - "cache_read_input_tokens": 4516, - "inference_geo": "not_available", - "input_tokens": 3, - "output_tokens": 7, - "service_tier": "standard" - } - } - }, - "headers": { - "anthropic-organization-id": "27796668-7351-40ac-acc4-024aee8995a5", - "anthropic-ratelimit-input-tokens-limit": "10000000", - "anthropic-ratelimit-input-tokens-remaining": "10000000", - "anthropic-ratelimit-input-tokens-reset": "2026-07-21T08:01:16Z", - "anthropic-ratelimit-output-tokens-limit": "2000000", - "anthropic-ratelimit-output-tokens-remaining": "2000000", - "anthropic-ratelimit-output-tokens-reset": "2026-07-21T08:01:17Z", - "anthropic-ratelimit-requests-limit": "20000", - "anthropic-ratelimit-requests-remaining": "19999", - "anthropic-ratelimit-requests-reset": "2026-07-21T08:01:15Z", - "anthropic-ratelimit-tokens-limit": "12000000", - "anthropic-ratelimit-tokens-remaining": "12000000", - "anthropic-ratelimit-tokens-reset": "2026-07-21T08:01:16Z", - "cf-cache-status": "DYNAMIC", - "cf-ray": "a1e8ad31ba014ff8-IAD", - "connection": "keep-alive", - "content-encoding": "gzip", - "content-security-policy": "default-src 'none'; frame-ancestors 'none'", - "content-type": "application/json", - "date": "Tue, 21 Jul 2026 08:01:17 GMT", - "request-id": "req_011CdErLfcBLTtgKtPSVBdbd", - "server": "cloudflare", - "strict-transport-security": "max-age=31536000; includeSubDomains; preload", - "traceresponse": "00-f03392c164678e635e3b1d56a44fc313-648562cc557d4878-01", - "transfer-encoding": "chunked", - "vary": "Accept-Encoding", - "x-robots-tag": "none" - }, - "status": 200, - "statusText": "OK" - } - }, - { - "callIndex": 1, - "id": "f51018468a0f5811", - "matchKey": "POST api.anthropic.com/v1/messages", - "recordedAt": "2026-07-21T08:01:23.085Z", - "request": { - "body": { - "kind": "json", - "value": { - "max_tokens": 24, - "messages": [ - { - "content": [ - { - "cache_control": { - "type": "ephemeral" - }, - "text": "braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix\n\nReply with exactly CACHE_OK and nothing else.", - "type": "text" - } - ], - "role": "user" - } - ], - "model": "claude-haiku-4-5", - "temperature": 0 - } - }, - "headers": {}, - "method": "POST", - "url": "https://api.anthropic.com/v1/messages" - }, - "response": { - "body": { - "kind": "json", - "value": { - "content": [ - { - "text": "CACHE_OK", - "type": "text" - } - ], - "id": "msg_011CdErMF6Zy1AYcL5mpWSBn", - "model": "claude-haiku-4-5-20251001", - "role": "assistant", - "stop_details": null, - "stop_reason": "end_turn", - "stop_sequence": null, - "type": "message", - "usage": { - "cache_creation": { - "ephemeral_1h_input_tokens": 0, - "ephemeral_5m_input_tokens": 0 - }, - "cache_creation_input_tokens": 0, - "cache_read_input_tokens": 4516, - "inference_geo": "not_available", - "input_tokens": 3, - "output_tokens": 7, - "service_tier": "standard" - } - } - }, - "headers": { - "anthropic-organization-id": "27796668-7351-40ac-acc4-024aee8995a5", - "anthropic-ratelimit-input-tokens-limit": "10000000", - "anthropic-ratelimit-input-tokens-remaining": "10000000", - "anthropic-ratelimit-input-tokens-reset": "2026-07-21T08:01:22Z", - "anthropic-ratelimit-output-tokens-limit": "2000000", - "anthropic-ratelimit-output-tokens-remaining": "2000000", - "anthropic-ratelimit-output-tokens-reset": "2026-07-21T08:01:22Z", - "anthropic-ratelimit-requests-limit": "20000", - "anthropic-ratelimit-requests-remaining": "19999", - "anthropic-ratelimit-requests-reset": "2026-07-21T08:01:22Z", - "anthropic-ratelimit-tokens-limit": "12000000", - "anthropic-ratelimit-tokens-remaining": "12000000", - "anthropic-ratelimit-tokens-reset": "2026-07-21T08:01:22Z", - "cf-cache-status": "DYNAMIC", - "cf-ray": "a1e8ad61c86c5414-IAD", - "connection": "keep-alive", - "content-encoding": "gzip", - "content-security-policy": "default-src 'none'; frame-ancestors 'none'", - "content-type": "application/json", - "date": "Tue, 21 Jul 2026 08:01:23 GMT", - "request-id": "req_011CdErMERPB8CMVNkcrJnnJ", - "server": "cloudflare", - "strict-transport-security": "max-age=31536000; includeSubDomains; preload", - "traceresponse": "00-4bad355a374ad0984c3c91c04b5287db-7c4d9c50339f60eb-01", - "transfer-encoding": "chunked", - "vary": "Accept-Encoding", - "x-robots-tag": "none" - }, - "status": 200, - "statusText": "OK" - } - }, - { - "callIndex": 2, - "id": "c440f9309e7fff40", - "matchKey": "POST api.anthropic.com/v1/messages", - "recordedAt": "2026-07-21T08:01:29.185Z", - "request": { - "body": { - "kind": "json", - "value": { - "max_tokens": 24, - "messages": [ - { - "content": [ - { - "cache_control": { - "type": "ephemeral" - }, - "text": "braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix braintrust cache prefix\n\nReply with exactly CACHE_OK and nothing else.", - "type": "text" - } - ], - "role": "user" - } - ], - "model": "claude-haiku-4-5", - "temperature": 0 - } - }, - "headers": {}, - "method": "POST", - "url": "https://api.anthropic.com/v1/messages" - }, - "response": { - "body": { - "kind": "json", - "value": { - "content": [ - { - "text": "CACHE_OK", - "type": "text" - } - ], - "id": "msg_011CdErMgqNnL39thapTj2ms", - "model": "claude-haiku-4-5-20251001", - "role": "assistant", - "stop_details": null, - "stop_reason": "end_turn", - "stop_sequence": null, - "type": "message", - "usage": { - "cache_creation": { - "ephemeral_1h_input_tokens": 0, - "ephemeral_5m_input_tokens": 0 - }, - "cache_creation_input_tokens": 0, - "cache_read_input_tokens": 4516, - "inference_geo": "not_available", - "input_tokens": 3, - "output_tokens": 7, - "service_tier": "standard" - } - } - }, - "headers": { - "anthropic-organization-id": "27796668-7351-40ac-acc4-024aee8995a5", - "anthropic-ratelimit-input-tokens-limit": "10000000", - "anthropic-ratelimit-input-tokens-remaining": "10000000", - "anthropic-ratelimit-input-tokens-reset": "2026-07-21T08:01:29Z", - "anthropic-ratelimit-output-tokens-limit": "2000000", - "anthropic-ratelimit-output-tokens-remaining": "2000000", - "anthropic-ratelimit-output-tokens-reset": "2026-07-21T08:01:29Z", - "anthropic-ratelimit-requests-limit": "20000", - "anthropic-ratelimit-requests-remaining": "19999", - "anthropic-ratelimit-requests-reset": "2026-07-21T08:01:28Z", - "anthropic-ratelimit-tokens-limit": "12000000", - "anthropic-ratelimit-tokens-remaining": "12000000", - "anthropic-ratelimit-tokens-reset": "2026-07-21T08:01:29Z", - "cf-cache-status": "DYNAMIC", - "cf-ray": "a1e8ad86ad955774-IAD", - "connection": "keep-alive", - "content-encoding": "gzip", - "content-security-policy": "default-src 'none'; frame-ancestors 'none'", - "content-type": "application/json", - "date": "Tue, 21 Jul 2026 08:01:29 GMT", - "request-id": "req_011CdErMfdhH74Kk6DnDRSY1", - "server": "cloudflare", - "strict-transport-security": "max-age=31536000; includeSubDomains; preload", - "traceresponse": "00-2b2c93921cb76509991e3be100659023-0ffe9526b566e985-01", - "transfer-encoding": "chunked", - "vary": "Accept-Encoding", - "x-robots-tag": "none" - }, - "status": 200, - "statusText": "OK" - } - }, - { - "callIndex": 0, - "id": "064d11f1077567e7", - "matchKey": "POST api.cohere.com/v2/rerank", - "recordedAt": "2026-08-03T11:56:26.194Z", - "request": { - "body": { - "kind": "json", - "value": { - "documents": [ - "Athens is in Greece.", - "Paris is in France.", - "Lima is in Peru." - ], - "model": "rerank-v3.5", - "query": "Which document is about France?", - "top_n": 2 - } - }, - "headers": {}, - "method": "POST", - "url": "https://api.cohere.com/v2/rerank" - }, - "response": { - "body": { - "kind": "json", - "value": { - "id": "42b8d590-8594-488a-9b31-6d68f60ccb6c", - "meta": { - "api_version": { - "version": "2" - }, - "billed_units": { - "search_units": 1 - } - }, - "results": [ - { - "index": 1, - "relevance_score": 0.06657539 - }, - { - "index": 0, - "relevance_score": 0.015062517 - } - ] - } - }, - "headers": { - "access-control-expose-headers": "X-Debug-Trace-ID", - "alt-svc": "h3=\":443\"; ma=2592000", - "cache-control": "no-cache, no-store, no-transform, must-revalidate, private, max-age=0", - "content-encoding": "gzip", - "content-type": "application/json", - "date": "Mon, 03 Aug 2026 11:56:26 GMT", - "expires": "Thu, 01 Jan 1970 00:00:00 GMT", - "pragma": "no-cache", - "server": "envoy", - "transfer-encoding": "chunked", - "vary": "Origin,Accept-Encoding", - "via": "1.1 google", - "x-accel-expires": "0", - "x-debug-trace-id": "454d4e41ac982f6df3cdf7a38dd09d48", - "x-envoy-upstream-service-time": "78" + "x-ratelimit-limit-requests": "30000", + "x-ratelimit-limit-tokens": "150000000", + "x-ratelimit-remaining-requests": "29999", + "x-ratelimit-remaining-tokens": "149999595", + "x-ratelimit-reset-requests": "2ms", + "x-ratelimit-reset-tokens": "0s", + "x-request-id": "req_3b7b3568a7d94feeb47128b6bf270c42" }, "status": 200, "statusText": "OK" diff --git a/e2e/scenarios/ai-sdk-instrumentation/__snapshots__/ai-sdk-v7-auto-hook.span-tree.json b/e2e/scenarios/ai-sdk-instrumentation/__snapshots__/ai-sdk-v7-auto-hook.span-tree.json index 28f97e365..1c353c9e4 100644 --- a/e2e/scenarios/ai-sdk-instrumentation/__snapshots__/ai-sdk-v7-auto-hook.span-tree.json +++ b/e2e/scenarios/ai-sdk-instrumentation/__snapshots__/ai-sdk-v7-auto-hook.span-tree.json @@ -4,6 +4,96 @@ "name": "ai-sdk-instrumentation-root", "type": "task", "children": [ + { + "name": "ai-sdk-evaluate-operation", + "children": [ + { + "name": "evaluate", + "type": "question", + "children": [], + "input": { + "questions": [ + { + "criteria": { + "billing": "Payments and refunds", + "technical": "Software problems" + }, + "instructions": "Which team should handle this request?", + "type": "choice" + }, + { + "criteria": [ + "Low", + "Medium", + "High" + ], + "instructions": "How urgent is this request?", + "type": "score" + }, + { + "instructions": "Does the customer report a duplicate charge?", + "type": "boolean" + } + ], + "state": { + "message": "I was charged twice for my subscription. Please refund the duplicate charge." + } + }, + "output": { + "answers": [ + { + "choice": "billing", + "confidence": 1, + "probabilities": { + "billing": 1, + "technical": 0 + }, + "type": "choice" + }, + { + "probability": 0.99, + "type": "boolean" + }, + { + "confidence": 0.76, + "probabilities": { + "0": 0.03, + "1": 0.84, + "2": 0.13 + }, + "score": 1.1, + "type": "score" + } + ] + }, + "metadata": { + "braintrust": { + "integration_name": "ai-sdk", + "sdk_language": "typescript" + }, + "model": "jev-1.13.0", + "provider": "typesafe", + "providerMetadata": { + "typesafe": { + "confidence": { + "category": 1, + "urgency": 0.76 + } + } + } + }, + "metrics": { + "completion_tokens": 62, + "prompt_tokens": 382, + "tokens": 444 + } + } + ], + "metadata": { + "operation": "evaluate", + "testRunId": "" + } + }, { "name": "ai-sdk-generate-operation", "children": [ @@ -34,7 +124,7 @@ { "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, "text": "PARIS", @@ -42,6 +132,12 @@ } ], "finishReason": "stop", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -296,7 +392,7 @@ { "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, "text": "{\"answer\":\"4\"}", @@ -304,6 +400,12 @@ } ], "finishReason": "stop", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -568,7 +670,7 @@ { "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, "text": "One, two, three.", @@ -576,6 +678,12 @@ } ], "finishReason": "stop", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -1065,15 +1173,21 @@ }, "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, - "toolCallId": "", + "toolCallId": "", "toolName": "get_weather", "type": "tool-call" } ], "finishReason": "tool-calls", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -1216,15 +1330,21 @@ }, "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, - "toolCallId": "", + "toolCallId": "", "toolName": "get_weather", "type": "tool-call" } ], "finishReason": "tool-calls", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -1404,15 +1524,21 @@ }, "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, - "toolCallId": "", + "toolCallId": "", "toolName": "get_weather", "type": "tool-call" } ], "finishReason": "tool-calls", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -1629,15 +1755,21 @@ }, "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, - "toolCallId": "", + "toolCallId": "", "toolName": "get_weather", "type": "tool-call" } ], "finishReason": "tool-calls", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -2558,6 +2690,26 @@ } ], "finishReason": "stop", + "providerMetadata": { + "anthropic": { + "container": null, + "contextManagement": null, + "iterations": null, + "stopSequence": null, + "usage": { + "cache_creation": { + "ephemeral_1h_input_tokens": 0, + "ephemeral_5m_input_tokens": 0 + }, + "cache_creation_input_tokens": 0, + "cache_read_input_tokens": 4516, + "inference_geo": "not_available", + "input_tokens": 3, + "output_tokens": 7, + "service_tier": "standard" + } + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -2831,6 +2983,26 @@ } ], "finishReason": "stop", + "providerMetadata": { + "anthropic": { + "container": null, + "contextManagement": null, + "iterations": null, + "stopSequence": null, + "usage": { + "cache_creation": { + "ephemeral_1h_input_tokens": 0, + "ephemeral_5m_input_tokens": 0 + }, + "cache_creation_input_tokens": 0, + "cache_read_input_tokens": 4516, + "inference_geo": "not_available", + "input_tokens": 3, + "output_tokens": 7, + "service_tier": "standard" + } + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -3101,6 +3273,26 @@ } ], "finishReason": "stop", + "providerMetadata": { + "anthropic": { + "container": null, + "contextManagement": null, + "iterations": null, + "stopSequence": null, + "usage": { + "cache_creation": { + "ephemeral_1h_input_tokens": 0, + "ephemeral_5m_input_tokens": 0 + }, + "cache_creation_input_tokens": 0, + "cache_read_input_tokens": 4516, + "inference_geo": "not_available", + "input_tokens": 3, + "output_tokens": 7, + "service_tier": "standard" + } + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -3681,7 +3873,7 @@ { "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, "text": "HELLO", @@ -3689,6 +3881,12 @@ } ], "finishReason": "stop", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -3935,7 +4133,7 @@ { "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, "text": "STREAM HELLO", @@ -3943,6 +4141,12 @@ } ], "finishReason": "stop", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -4255,10 +4459,10 @@ }, "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, - "toolCallId": "", + "toolCallId": "", "toolName": "get_store_price", "type": "tool-call" }, @@ -4269,15 +4473,21 @@ }, "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, - "toolCallId": "", + "toolCallId": "", "toolName": "get_store_price", "type": "tool-call" } ], "finishReason": "tool-calls", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -4506,15 +4716,21 @@ }, "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, - "toolCallId": "", + "toolCallId": "", "toolName": "apply_discount", "type": "tool-call" } ], "finishReason": "tool-calls", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -4759,37 +4975,43 @@ { "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, - "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A** at $999. After applying the discount code **SAVE20**, the final total is **$799.20**.", + "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A**. After applying the discount code **SAVE20**, the final total is **$799.20**.", "type": "text" } ], "finishReason": "stop", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { "cacheReadTokens": 0, - "noCacheTokens": 308 + "noCacheTokens": 305 }, - "inputTokens": 308, + "inputTokens": 305, "outputTokenDetails": { "reasoningTokens": 0, - "textTokens": 62 + "textTokens": 59 }, - "outputTokens": 62, + "outputTokens": 59, "raw": { - "input_tokens": 308, + "input_tokens": 305, "input_tokens_details": { "cached_tokens": 0 }, - "output_tokens": 62, + "output_tokens": 59, "output_tokens_details": { "reasoning_tokens": 0 } }, - "totalTokens": 370 + "totalTokens": 364 } }, "metadata": { @@ -4801,10 +5023,10 @@ "provider": "openai.responses" }, "metrics": { - "completion_tokens": 62, + "completion_tokens": 59, "prompt_cached_tokens": 0, - "prompt_tokens": 308, - "tokens": 370 + "prompt_tokens": 305, + "tokens": 364 } } ], @@ -4976,7 +5198,7 @@ "itemId": "" } }, - "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A** at $999. After applying the discount code **SAVE20**, the final total is **$799.20**.", + "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A**. After applying the discount code **SAVE20**, the final total is **$799.20**.", "type": "text" } ], @@ -4997,7 +5219,7 @@ "itemId": "" } }, - "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A** at $999. After applying the discount code **SAVE20**, the final total is **$799.20**.", + "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A**. After applying the discount code **SAVE20**, the final total is **$799.20**.", "type": "text" } ], @@ -5310,7 +5532,7 @@ "itemId": "" } }, - "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A** at $999. After applying the discount code **SAVE20**, the final total is **$799.20**.", + "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A**. After applying the discount code **SAVE20**, the final total is **$799.20**.", "type": "text" } ], @@ -5335,7 +5557,7 @@ "itemId": "" } }, - "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A** at $999. After applying the discount code **SAVE20**, the final total is **$799.20**.", + "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A**. After applying the discount code **SAVE20**, the final total is **$799.20**.", "type": "text" } ], @@ -5351,30 +5573,30 @@ "usage": { "inputTokenDetails": { "cacheReadTokens": 0, - "noCacheTokens": 308 + "noCacheTokens": 305 }, - "inputTokens": 308, + "inputTokens": 305, "outputTokenDetails": { "reasoningTokens": 0, - "textTokens": 62 + "textTokens": 59 }, - "outputTokens": 62, + "outputTokens": 59, "raw": { - "input_tokens": 308, + "input_tokens": 305, "input_tokens_details": { "cached_tokens": 0 }, - "output_tokens": 62, + "output_tokens": 59, "output_tokens_details": { "reasoning_tokens": 0 } }, - "totalTokens": 370 + "totalTokens": 364 }, "warnings": [] } ], - "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A** at $999. After applying the discount code **SAVE20**, the final total is **$799.20**.", + "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A**. After applying the discount code **SAVE20**, the final total is **$799.20**.", "toolCalls": [ { "input": { @@ -5472,28 +5694,28 @@ "totalUsage": { "inputTokenDetails": { "cacheReadTokens": 0, - "noCacheTokens": 741 + "noCacheTokens": 738 }, - "inputTokens": 741, + "inputTokens": 738, "outputTokenDetails": { "reasoningTokens": 0, - "textTokens": 142 + "textTokens": 139 }, - "outputTokens": 142, - "totalTokens": 883 + "outputTokens": 139, + "totalTokens": 877 }, "usage": { "inputTokenDetails": { "cacheReadTokens": 0, - "noCacheTokens": 741 + "noCacheTokens": 738 }, - "inputTokens": 741, + "inputTokens": 738, "outputTokenDetails": { "reasoningTokens": 0, - "textTokens": 142 + "textTokens": 139 }, - "outputTokens": 142, - "totalTokens": 883 + "outputTokens": 139, + "totalTokens": 877 }, "warnings": [] }, @@ -7534,7 +7756,7 @@ } ], "metadata": { - "aiSdkVersion": "7.0.0", + "aiSdkVersion": "7.0.103", "scenario": "ai-sdk-instrumentation", "testRunId": "", "workflowVersion": "1.0.8" diff --git a/e2e/scenarios/ai-sdk-instrumentation/__snapshots__/ai-sdk-v7-auto-hook.span-tree.txt b/e2e/scenarios/ai-sdk-instrumentation/__snapshots__/ai-sdk-v7-auto-hook.span-tree.txt index 801c1513e..67e6ece7b 100644 --- a/e2e/scenarios/ai-sdk-instrumentation/__snapshots__/ai-sdk-v7-auto-hook.span-tree.txt +++ b/e2e/scenarios/ai-sdk-instrumentation/__snapshots__/ai-sdk-v7-auto-hook.span-tree.txt @@ -1,11 +1,93 @@ span_tree: └── ai-sdk-instrumentation-root [task] metadata: { - "aiSdkVersion": "7.0.0", + "aiSdkVersion": "7.0.103", "scenario": "ai-sdk-instrumentation", "testRunId": "", "workflowVersion": "1.0.8" } + ├── ai-sdk-evaluate-operation + │ metadata: { + │ "operation": "evaluate", + │ "testRunId": "" + │ } + │ └── evaluate [question] + │ input: { + │ "questions": [ + │ { + │ "criteria": { + │ "billing": "Payments and refunds", + │ "technical": "Software problems" + │ }, + │ "instructions": "Which team should handle this request?", + │ "type": "choice" + │ }, + │ { + │ "criteria": [ + │ "Low", + │ "Medium", + │ "High" + │ ], + │ "instructions": "How urgent is this request?", + │ "type": "score" + │ }, + │ { + │ "instructions": "Does the customer report a duplicate charge?", + │ "type": "boolean" + │ } + │ ], + │ "state": { + │ "message": "I was charged twice for my subscription. Please refund the duplicate charge." + │ } + │ } + │ output: { + │ "answers": [ + │ { + │ "choice": "billing", + │ "confidence": 1, + │ "probabilities": { + │ "billing": 1, + │ "technical": 0 + │ }, + │ "type": "choice" + │ }, + │ { + │ "probability": 0.99, + │ "type": "boolean" + │ }, + │ { + │ "confidence": 0.76, + │ "probabilities": { + │ "0": 0.03, + │ "1": 0.84, + │ "2": 0.13 + │ }, + │ "score": 1.1, + │ "type": "score" + │ } + │ ] + │ } + │ metadata: { + │ "braintrust": { + │ "integration_name": "ai-sdk", + │ "sdk_language": "typescript" + │ }, + │ "model": "jev-1.13.0", + │ "provider": "typesafe", + │ "providerMetadata": { + │ "typesafe": { + │ "confidence": { + │ "category": 1, + │ "urgency": 0.76 + │ } + │ } + │ } + │ } + │ metrics: { + │ "completion_tokens": 62, + │ "prompt_tokens": 382, + │ "tokens": 444 + │ } ├── ai-sdk-generate-operation │ metadata: { │ "operation": "generate", @@ -200,7 +282,7 @@ span_tree: │ { │ "providerMetadata": { │ "openai": { - │ "itemId": "" + │ "itemId": "" │ } │ }, │ "text": "PARIS", @@ -208,6 +290,12 @@ span_tree: │ } │ ], │ "finishReason": "stop", + │ "providerMetadata": { + │ "openai": { + │ "responseId": "", + │ "serviceTier": "default" + │ } + │ }, │ "response": {}, │ "usage": { │ "inputTokenDetails": { @@ -464,7 +552,7 @@ span_tree: │ { │ "providerMetadata": { │ "openai": { - │ "itemId": "" + │ "itemId": "" │ } │ }, │ "text": "{\"answer\":\"4\"}", @@ -472,6 +560,12 @@ span_tree: │ } │ ], │ "finishReason": "stop", + │ "providerMetadata": { + │ "openai": { + │ "responseId": "", + │ "serviceTier": "default" + │ } + │ }, │ "response": {}, │ "usage": { │ "inputTokenDetails": { @@ -708,7 +802,7 @@ span_tree: │ { │ "providerMetadata": { │ "openai": { - │ "itemId": "" + │ "itemId": "" │ } │ }, │ "text": "One, two, three.", @@ -716,6 +810,12 @@ span_tree: │ } │ ], │ "finishReason": "stop", + │ "providerMetadata": { + │ "openai": { + │ "responseId": "", + │ "serviceTier": "default" + │ } + │ }, │ "response": {}, │ "usage": { │ "inputTokenDetails": { @@ -1795,15 +1895,21 @@ span_tree: │ │ }, │ │ "providerMetadata": { │ │ "openai": { - │ │ "itemId": "" + │ │ "itemId": "" │ │ } │ │ }, - │ │ "toolCallId": "", + │ │ "toolCallId": "", │ │ "toolName": "get_weather", │ │ "type": "tool-call" │ │ } │ │ ], │ │ "finishReason": "tool-calls", + │ │ "providerMetadata": { + │ │ "openai": { + │ │ "responseId": "", + │ │ "serviceTier": "default" + │ │ } + │ │ }, │ │ "response": {}, │ │ "usage": { │ │ "inputTokenDetails": { @@ -1938,15 +2044,21 @@ span_tree: │ │ }, │ │ "providerMetadata": { │ │ "openai": { - │ │ "itemId": "" + │ │ "itemId": "" │ │ } │ │ }, - │ │ "toolCallId": "", + │ │ "toolCallId": "", │ │ "toolName": "get_weather", │ │ "type": "tool-call" │ │ } │ │ ], │ │ "finishReason": "tool-calls", + │ │ "providerMetadata": { + │ │ "openai": { + │ │ "responseId": "", + │ │ "serviceTier": "default" + │ │ } + │ │ }, │ │ "response": {}, │ │ "usage": { │ │ "inputTokenDetails": { @@ -2118,15 +2230,21 @@ span_tree: │ │ }, │ │ "providerMetadata": { │ │ "openai": { - │ │ "itemId": "" + │ │ "itemId": "" │ │ } │ │ }, - │ │ "toolCallId": "", + │ │ "toolCallId": "", │ │ "toolName": "get_weather", │ │ "type": "tool-call" │ │ } │ │ ], │ │ "finishReason": "tool-calls", + │ │ "providerMetadata": { + │ │ "openai": { + │ │ "responseId": "", + │ │ "serviceTier": "default" + │ │ } + │ │ }, │ │ "response": {}, │ │ "usage": { │ │ "inputTokenDetails": { @@ -2335,15 +2453,21 @@ span_tree: │ │ }, │ │ "providerMetadata": { │ │ "openai": { - │ │ "itemId": "" + │ │ "itemId": "" │ │ } │ │ }, - │ │ "toolCallId": "", + │ │ "toolCallId": "", │ │ "toolName": "get_weather", │ │ "type": "tool-call" │ │ } │ │ ], │ │ "finishReason": "tool-calls", + │ │ "providerMetadata": { + │ │ "openai": { + │ │ "responseId": "", + │ │ "serviceTier": "default" + │ │ } + │ │ }, │ │ "response": {}, │ │ "usage": { │ │ "inputTokenDetails": { @@ -2617,6 +2741,26 @@ span_tree: │ } │ ], │ "finishReason": "stop", + │ "providerMetadata": { + │ "anthropic": { + │ "container": null, + │ "contextManagement": null, + │ "iterations": null, + │ "stopSequence": null, + │ "usage": { + │ "cache_creation": { + │ "ephemeral_1h_input_tokens": 0, + │ "ephemeral_5m_input_tokens": 0 + │ }, + │ "cache_creation_input_tokens": 0, + │ "cache_read_input_tokens": 4516, + │ "inference_geo": "not_available", + │ "input_tokens": 3, + │ "output_tokens": 7, + │ "service_tier": "standard" + │ } + │ } + │ }, │ "response": {}, │ "usage": { │ "inputTokenDetails": { @@ -2883,6 +3027,26 @@ span_tree: │ │ } │ │ ], │ │ "finishReason": "stop", + │ │ "providerMetadata": { + │ │ "anthropic": { + │ │ "container": null, + │ │ "contextManagement": null, + │ │ "iterations": null, + │ │ "stopSequence": null, + │ │ "usage": { + │ │ "cache_creation": { + │ │ "ephemeral_1h_input_tokens": 0, + │ │ "ephemeral_5m_input_tokens": 0 + │ │ }, + │ │ "cache_creation_input_tokens": 0, + │ │ "cache_read_input_tokens": 4516, + │ │ "inference_geo": "not_available", + │ │ "input_tokens": 3, + │ │ "output_tokens": 7, + │ │ "service_tier": "standard" + │ │ } + │ │ } + │ │ }, │ │ "response": {}, │ │ "usage": { │ │ "inputTokenDetails": { @@ -3144,6 +3308,26 @@ span_tree: │ } │ ], │ "finishReason": "stop", + │ "providerMetadata": { + │ "anthropic": { + │ "container": null, + │ "contextManagement": null, + │ "iterations": null, + │ "stopSequence": null, + │ "usage": { + │ "cache_creation": { + │ "ephemeral_1h_input_tokens": 0, + │ "ephemeral_5m_input_tokens": 0 + │ }, + │ "cache_creation_input_tokens": 0, + │ "cache_read_input_tokens": 4516, + │ "inference_geo": "not_available", + │ "input_tokens": 3, + │ "output_tokens": 7, + │ "service_tier": "standard" + │ } + │ } + │ }, │ "response": {}, │ "usage": { │ "inputTokenDetails": { @@ -3668,7 +3852,7 @@ span_tree: │ { │ "providerMetadata": { │ "openai": { - │ "itemId": "" + │ "itemId": "" │ } │ }, │ "text": "HELLO", @@ -3676,6 +3860,12 @@ span_tree: │ } │ ], │ "finishReason": "stop", + │ "providerMetadata": { + │ "openai": { + │ "responseId": "", + │ "serviceTier": "default" + │ } + │ }, │ "response": {}, │ "usage": { │ "inputTokenDetails": { @@ -3912,7 +4102,7 @@ span_tree: │ { │ "providerMetadata": { │ "openai": { - │ "itemId": "" + │ "itemId": "" │ } │ }, │ "text": "STREAM HELLO", @@ -3920,6 +4110,12 @@ span_tree: │ } │ ], │ "finishReason": "stop", + │ "providerMetadata": { + │ "openai": { + │ "responseId": "", + │ "serviceTier": "default" + │ } + │ }, │ "response": {}, │ "usage": { │ "inputTokenDetails": { @@ -4133,7 +4329,7 @@ span_tree: │ "itemId": "" │ } │ }, - │ "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A** at $999. After applying the discount code **SAVE20**, the final total is **$799.20**.", + │ "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A**. After applying the discount code **SAVE20**, the final total is **$799.20**.", │ "type": "text" │ } │ ], @@ -4154,7 +4350,7 @@ span_tree: │ "itemId": "" │ } │ }, - │ "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A** at $999. After applying the discount code **SAVE20**, the final total is **$799.20**.", + │ "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A**. After applying the discount code **SAVE20**, the final total is **$799.20**.", │ "type": "text" │ } │ ], @@ -4467,7 +4663,7 @@ span_tree: │ "itemId": "" │ } │ }, - │ "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A** at $999. After applying the discount code **SAVE20**, the final total is **$799.20**.", + │ "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A**. After applying the discount code **SAVE20**, the final total is **$799.20**.", │ "type": "text" │ } │ ], @@ -4492,7 +4688,7 @@ span_tree: │ "itemId": "" │ } │ }, - │ "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A** at $999. After applying the discount code **SAVE20**, the final total is **$799.20**.", + │ "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A**. After applying the discount code **SAVE20**, the final total is **$799.20**.", │ "type": "text" │ } │ ], @@ -4508,30 +4704,30 @@ span_tree: │ "usage": { │ "inputTokenDetails": { │ "cacheReadTokens": 0, - │ "noCacheTokens": 308 + │ "noCacheTokens": 305 │ }, - │ "inputTokens": 308, + │ "inputTokens": 305, │ "outputTokenDetails": { │ "reasoningTokens": 0, - │ "textTokens": 62 + │ "textTokens": 59 │ }, - │ "outputTokens": 62, + │ "outputTokens": 59, │ "raw": { - │ "input_tokens": 308, + │ "input_tokens": 305, │ "input_tokens_details": { │ "cached_tokens": 0 │ }, - │ "output_tokens": 62, + │ "output_tokens": 59, │ "output_tokens_details": { │ "reasoning_tokens": 0 │ } │ }, - │ "totalTokens": 370 + │ "totalTokens": 364 │ }, │ "warnings": [] │ } │ ], - │ "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A** at $999. After applying the discount code **SAVE20**, the final total is **$799.20**.", + │ "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A**. After applying the discount code **SAVE20**, the final total is **$799.20**.", │ "toolCalls": [ │ { │ "input": { @@ -4629,28 +4825,28 @@ span_tree: │ "totalUsage": { │ "inputTokenDetails": { │ "cacheReadTokens": 0, - │ "noCacheTokens": 741 + │ "noCacheTokens": 738 │ }, - │ "inputTokens": 741, + │ "inputTokens": 738, │ "outputTokenDetails": { │ "reasoningTokens": 0, - │ "textTokens": 142 + │ "textTokens": 139 │ }, - │ "outputTokens": 142, - │ "totalTokens": 883 + │ "outputTokens": 139, + │ "totalTokens": 877 │ }, │ "usage": { │ "inputTokenDetails": { │ "cacheReadTokens": 0, - │ "noCacheTokens": 741 + │ "noCacheTokens": 738 │ }, - │ "inputTokens": 741, + │ "inputTokens": 738, │ "outputTokenDetails": { │ "reasoningTokens": 0, - │ "textTokens": 142 + │ "textTokens": 139 │ }, - │ "outputTokens": 142, - │ "totalTokens": 883 + │ "outputTokens": 139, + │ "totalTokens": 877 │ }, │ "warnings": [] │ } @@ -4745,10 +4941,10 @@ span_tree: │ │ }, │ │ "providerMetadata": { │ │ "openai": { - │ │ "itemId": "" + │ │ "itemId": "" │ │ } │ │ }, - │ │ "toolCallId": "", + │ │ "toolCallId": "", │ │ "toolName": "get_store_price", │ │ "type": "tool-call" │ │ }, @@ -4759,15 +4955,21 @@ span_tree: │ │ }, │ │ "providerMetadata": { │ │ "openai": { - │ │ "itemId": "" + │ │ "itemId": "" │ │ } │ │ }, - │ │ "toolCallId": "", + │ │ "toolCallId": "", │ │ "toolName": "get_store_price", │ │ "type": "tool-call" │ │ } │ │ ], │ │ "finishReason": "tool-calls", + │ │ "providerMetadata": { + │ │ "openai": { + │ │ "responseId": "", + │ │ "serviceTier": "default" + │ │ } + │ │ }, │ │ "response": {}, │ │ "usage": { │ │ "inputTokenDetails": { @@ -4984,15 +5186,21 @@ span_tree: │ │ }, │ │ "providerMetadata": { │ │ "openai": { - │ │ "itemId": "" + │ │ "itemId": "" │ │ } │ │ }, - │ │ "toolCallId": "", + │ │ "toolCallId": "", │ │ "toolName": "apply_discount", │ │ "type": "tool-call" │ │ } │ │ ], │ │ "finishReason": "tool-calls", + │ │ "providerMetadata": { + │ │ "openai": { + │ │ "responseId": "", + │ │ "serviceTier": "default" + │ │ } + │ │ }, │ │ "response": {}, │ │ "usage": { │ │ "inputTokenDetails": { @@ -5229,37 +5437,43 @@ span_tree: │ { │ "providerMetadata": { │ "openai": { - │ "itemId": "" + │ "itemId": "" │ } │ }, - │ "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A** at $999. After applying the discount code **SAVE20**, the final total is **$799.20**.", + │ "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A**. After applying the discount code **SAVE20**, the final total is **$799.20**.", │ "type": "text" │ } │ ], │ "finishReason": "stop", + │ "providerMetadata": { + │ "openai": { + │ "responseId": "", + │ "serviceTier": "default" + │ } + │ }, │ "response": {}, │ "usage": { │ "inputTokenDetails": { │ "cacheReadTokens": 0, - │ "noCacheTokens": 308 + │ "noCacheTokens": 305 │ }, - │ "inputTokens": 308, + │ "inputTokens": 305, │ "outputTokenDetails": { │ "reasoningTokens": 0, - │ "textTokens": 62 + │ "textTokens": 59 │ }, - │ "outputTokens": 62, + │ "outputTokens": 59, │ "raw": { - │ "input_tokens": 308, + │ "input_tokens": 305, │ "input_tokens_details": { │ "cached_tokens": 0 │ }, - │ "output_tokens": 62, + │ "output_tokens": 59, │ "output_tokens_details": { │ "reasoning_tokens": 0 │ } │ }, - │ "totalTokens": 370 + │ "totalTokens": 364 │ } │ } │ metadata: { @@ -5271,10 +5485,10 @@ span_tree: │ "provider": "openai.responses" │ } │ metrics: { - │ "completion_tokens": 62, + │ "completion_tokens": 59, │ "prompt_cached_tokens": 0, - │ "prompt_tokens": 308, - │ "tokens": 370 + │ "prompt_tokens": 305, + │ "tokens": 364 │ } ├── ai-sdk-workflow-agent-stream-operation │ metadata: { diff --git a/e2e/scenarios/ai-sdk-instrumentation/__snapshots__/ai-sdk-v7-explicit.span-tree.json b/e2e/scenarios/ai-sdk-instrumentation/__snapshots__/ai-sdk-v7-explicit.span-tree.json index a495d4aa3..e548be69d 100644 --- a/e2e/scenarios/ai-sdk-instrumentation/__snapshots__/ai-sdk-v7-explicit.span-tree.json +++ b/e2e/scenarios/ai-sdk-instrumentation/__snapshots__/ai-sdk-v7-explicit.span-tree.json @@ -4,6 +4,96 @@ "name": "ai-sdk-instrumentation-root", "type": "task", "children": [ + { + "name": "ai-sdk-evaluate-operation", + "children": [ + { + "name": "evaluate", + "type": "question", + "children": [], + "input": { + "questions": [ + { + "criteria": { + "billing": "Payments and refunds", + "technical": "Software problems" + }, + "instructions": "Which team should handle this request?", + "type": "choice" + }, + { + "criteria": [ + "Low", + "Medium", + "High" + ], + "instructions": "How urgent is this request?", + "type": "score" + }, + { + "instructions": "Does the customer report a duplicate charge?", + "type": "boolean" + } + ], + "state": { + "message": "I was charged twice for my subscription. Please refund the duplicate charge." + } + }, + "output": { + "answers": [ + { + "choice": "billing", + "confidence": 1, + "probabilities": { + "billing": 1, + "technical": 0 + }, + "type": "choice" + }, + { + "probability": 0.99, + "type": "boolean" + }, + { + "confidence": 0.76, + "probabilities": { + "0": 0.03, + "1": 0.84, + "2": 0.13 + }, + "score": 1.1, + "type": "score" + } + ] + }, + "metadata": { + "braintrust": { + "integration_name": "ai-sdk", + "sdk_language": "typescript" + }, + "model": "jev-1.13.0", + "provider": "typesafe", + "providerMetadata": { + "typesafe": { + "confidence": { + "category": 1, + "urgency": 0.76 + } + } + } + }, + "metrics": { + "completion_tokens": 62, + "prompt_tokens": 382, + "tokens": 444 + } + } + ], + "metadata": { + "operation": "evaluate", + "testRunId": "" + } + }, { "name": "ai-sdk-generate-operation", "children": [ @@ -34,7 +124,7 @@ { "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, "text": "PARIS", @@ -42,6 +132,12 @@ } ], "finishReason": "stop", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -296,7 +392,7 @@ { "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, "text": "{\"answer\":\"4\"}", @@ -304,6 +400,12 @@ } ], "finishReason": "stop", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -568,7 +670,7 @@ { "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, "text": "One, two, three.", @@ -576,6 +678,12 @@ } ], "finishReason": "stop", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -1065,15 +1173,21 @@ }, "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, - "toolCallId": "", + "toolCallId": "", "toolName": "get_weather", "type": "tool-call" } ], "finishReason": "tool-calls", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -1216,15 +1330,21 @@ }, "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, - "toolCallId": "", + "toolCallId": "", "toolName": "get_weather", "type": "tool-call" } ], "finishReason": "tool-calls", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -1404,15 +1524,21 @@ }, "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, - "toolCallId": "", + "toolCallId": "", "toolName": "get_weather", "type": "tool-call" } ], "finishReason": "tool-calls", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -1629,15 +1755,21 @@ }, "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, - "toolCallId": "", + "toolCallId": "", "toolName": "get_weather", "type": "tool-call" } ], "finishReason": "tool-calls", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -2558,6 +2690,26 @@ } ], "finishReason": "stop", + "providerMetadata": { + "anthropic": { + "container": null, + "contextManagement": null, + "iterations": null, + "stopSequence": null, + "usage": { + "cache_creation": { + "ephemeral_1h_input_tokens": 0, + "ephemeral_5m_input_tokens": 0 + }, + "cache_creation_input_tokens": 0, + "cache_read_input_tokens": 4516, + "inference_geo": "not_available", + "input_tokens": 3, + "output_tokens": 7, + "service_tier": "standard" + } + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -2831,6 +2983,26 @@ } ], "finishReason": "stop", + "providerMetadata": { + "anthropic": { + "container": null, + "contextManagement": null, + "iterations": null, + "stopSequence": null, + "usage": { + "cache_creation": { + "ephemeral_1h_input_tokens": 0, + "ephemeral_5m_input_tokens": 0 + }, + "cache_creation_input_tokens": 0, + "cache_read_input_tokens": 4516, + "inference_geo": "not_available", + "input_tokens": 3, + "output_tokens": 7, + "service_tier": "standard" + } + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -3101,6 +3273,26 @@ } ], "finishReason": "stop", + "providerMetadata": { + "anthropic": { + "container": null, + "contextManagement": null, + "iterations": null, + "stopSequence": null, + "usage": { + "cache_creation": { + "ephemeral_1h_input_tokens": 0, + "ephemeral_5m_input_tokens": 0 + }, + "cache_creation_input_tokens": 0, + "cache_read_input_tokens": 4516, + "inference_geo": "not_available", + "input_tokens": 3, + "output_tokens": 7, + "service_tier": "standard" + } + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -3681,7 +3873,7 @@ { "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, "text": "HELLO", @@ -3689,6 +3881,12 @@ } ], "finishReason": "stop", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -3935,7 +4133,7 @@ { "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, "text": "STREAM HELLO", @@ -3943,6 +4141,12 @@ } ], "finishReason": "stop", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -4255,10 +4459,10 @@ }, "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, - "toolCallId": "", + "toolCallId": "", "toolName": "get_store_price", "type": "tool-call" }, @@ -4269,15 +4473,21 @@ }, "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, - "toolCallId": "", + "toolCallId": "", "toolName": "get_store_price", "type": "tool-call" } ], "finishReason": "tool-calls", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -4506,15 +4716,21 @@ }, "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, - "toolCallId": "", + "toolCallId": "", "toolName": "apply_discount", "type": "tool-call" } ], "finishReason": "tool-calls", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -4759,37 +4975,43 @@ { "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, - "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A** at $999. After applying the discount code **SAVE20**, the final total is **$799.20**.", + "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A**. After applying the discount code **SAVE20**, the final total is **$799.20**.", "type": "text" } ], "finishReason": "stop", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { "cacheReadTokens": 0, - "noCacheTokens": 308 + "noCacheTokens": 305 }, - "inputTokens": 308, + "inputTokens": 305, "outputTokenDetails": { "reasoningTokens": 0, - "textTokens": 62 + "textTokens": 59 }, - "outputTokens": 62, + "outputTokens": 59, "raw": { - "input_tokens": 308, + "input_tokens": 305, "input_tokens_details": { "cached_tokens": 0 }, - "output_tokens": 62, + "output_tokens": 59, "output_tokens_details": { "reasoning_tokens": 0 } }, - "totalTokens": 370 + "totalTokens": 364 } }, "metadata": { @@ -4801,10 +5023,10 @@ "provider": "openai.responses" }, "metrics": { - "completion_tokens": 62, + "completion_tokens": 59, "prompt_cached_tokens": 0, - "prompt_tokens": 308, - "tokens": 370 + "prompt_tokens": 305, + "tokens": 364 } } ], @@ -4976,7 +5198,7 @@ "itemId": "" } }, - "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A** at $999. After applying the discount code **SAVE20**, the final total is **$799.20**.", + "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A**. After applying the discount code **SAVE20**, the final total is **$799.20**.", "type": "text" } ], @@ -4997,7 +5219,7 @@ "itemId": "" } }, - "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A** at $999. After applying the discount code **SAVE20**, the final total is **$799.20**.", + "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A**. After applying the discount code **SAVE20**, the final total is **$799.20**.", "type": "text" } ], @@ -5310,7 +5532,7 @@ "itemId": "" } }, - "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A** at $999. After applying the discount code **SAVE20**, the final total is **$799.20**.", + "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A**. After applying the discount code **SAVE20**, the final total is **$799.20**.", "type": "text" } ], @@ -5335,7 +5557,7 @@ "itemId": "" } }, - "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A** at $999. After applying the discount code **SAVE20**, the final total is **$799.20**.", + "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A**. After applying the discount code **SAVE20**, the final total is **$799.20**.", "type": "text" } ], @@ -5351,30 +5573,30 @@ "usage": { "inputTokenDetails": { "cacheReadTokens": 0, - "noCacheTokens": 308 + "noCacheTokens": 305 }, - "inputTokens": 308, + "inputTokens": 305, "outputTokenDetails": { "reasoningTokens": 0, - "textTokens": 62 + "textTokens": 59 }, - "outputTokens": 62, + "outputTokens": 59, "raw": { - "input_tokens": 308, + "input_tokens": 305, "input_tokens_details": { "cached_tokens": 0 }, - "output_tokens": 62, + "output_tokens": 59, "output_tokens_details": { "reasoning_tokens": 0 } }, - "totalTokens": 370 + "totalTokens": 364 }, "warnings": [] } ], - "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A** at $999. After applying the discount code **SAVE20**, the final total is **$799.20**.", + "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A**. After applying the discount code **SAVE20**, the final total is **$799.20**.", "toolCalls": [ { "input": { @@ -5472,28 +5694,28 @@ "totalUsage": { "inputTokenDetails": { "cacheReadTokens": 0, - "noCacheTokens": 741 + "noCacheTokens": 738 }, - "inputTokens": 741, + "inputTokens": 738, "outputTokenDetails": { "reasoningTokens": 0, - "textTokens": 142 + "textTokens": 139 }, - "outputTokens": 142, - "totalTokens": 883 + "outputTokens": 139, + "totalTokens": 877 }, "usage": { "inputTokenDetails": { "cacheReadTokens": 0, - "noCacheTokens": 741 + "noCacheTokens": 738 }, - "inputTokens": 741, + "inputTokens": 738, "outputTokenDetails": { "reasoningTokens": 0, - "textTokens": 142 + "textTokens": 139 }, - "outputTokens": 142, - "totalTokens": 883 + "outputTokens": 139, + "totalTokens": 877 }, "warnings": [] }, @@ -7970,7 +8192,7 @@ } ], "metadata": { - "aiSdkVersion": "7.0.0", + "aiSdkVersion": "7.0.103", "scenario": "ai-sdk-instrumentation", "testRunId": "", "workflowVersion": "1.0.8" diff --git a/e2e/scenarios/ai-sdk-instrumentation/__snapshots__/ai-sdk-v7-explicit.span-tree.txt b/e2e/scenarios/ai-sdk-instrumentation/__snapshots__/ai-sdk-v7-explicit.span-tree.txt index 883a191e7..6a3ca859f 100644 --- a/e2e/scenarios/ai-sdk-instrumentation/__snapshots__/ai-sdk-v7-explicit.span-tree.txt +++ b/e2e/scenarios/ai-sdk-instrumentation/__snapshots__/ai-sdk-v7-explicit.span-tree.txt @@ -1,11 +1,93 @@ span_tree: └── ai-sdk-instrumentation-root [task] metadata: { - "aiSdkVersion": "7.0.0", + "aiSdkVersion": "7.0.103", "scenario": "ai-sdk-instrumentation", "testRunId": "", "workflowVersion": "1.0.8" } + ├── ai-sdk-evaluate-operation + │ metadata: { + │ "operation": "evaluate", + │ "testRunId": "" + │ } + │ └── evaluate [question] + │ input: { + │ "questions": [ + │ { + │ "criteria": { + │ "billing": "Payments and refunds", + │ "technical": "Software problems" + │ }, + │ "instructions": "Which team should handle this request?", + │ "type": "choice" + │ }, + │ { + │ "criteria": [ + │ "Low", + │ "Medium", + │ "High" + │ ], + │ "instructions": "How urgent is this request?", + │ "type": "score" + │ }, + │ { + │ "instructions": "Does the customer report a duplicate charge?", + │ "type": "boolean" + │ } + │ ], + │ "state": { + │ "message": "I was charged twice for my subscription. Please refund the duplicate charge." + │ } + │ } + │ output: { + │ "answers": [ + │ { + │ "choice": "billing", + │ "confidence": 1, + │ "probabilities": { + │ "billing": 1, + │ "technical": 0 + │ }, + │ "type": "choice" + │ }, + │ { + │ "probability": 0.99, + │ "type": "boolean" + │ }, + │ { + │ "confidence": 0.76, + │ "probabilities": { + │ "0": 0.03, + │ "1": 0.84, + │ "2": 0.13 + │ }, + │ "score": 1.1, + │ "type": "score" + │ } + │ ] + │ } + │ metadata: { + │ "braintrust": { + │ "integration_name": "ai-sdk", + │ "sdk_language": "typescript" + │ }, + │ "model": "jev-1.13.0", + │ "provider": "typesafe", + │ "providerMetadata": { + │ "typesafe": { + │ "confidence": { + │ "category": 1, + │ "urgency": 0.76 + │ } + │ } + │ } + │ } + │ metrics: { + │ "completion_tokens": 62, + │ "prompt_tokens": 382, + │ "tokens": 444 + │ } ├── ai-sdk-generate-operation │ metadata: { │ "operation": "generate", @@ -200,7 +282,7 @@ span_tree: │ { │ "providerMetadata": { │ "openai": { - │ "itemId": "" + │ "itemId": "" │ } │ }, │ "text": "PARIS", @@ -208,6 +290,12 @@ span_tree: │ } │ ], │ "finishReason": "stop", + │ "providerMetadata": { + │ "openai": { + │ "responseId": "", + │ "serviceTier": "default" + │ } + │ }, │ "response": {}, │ "usage": { │ "inputTokenDetails": { @@ -464,7 +552,7 @@ span_tree: │ { │ "providerMetadata": { │ "openai": { - │ "itemId": "" + │ "itemId": "" │ } │ }, │ "text": "{\"answer\":\"4\"}", @@ -472,6 +560,12 @@ span_tree: │ } │ ], │ "finishReason": "stop", + │ "providerMetadata": { + │ "openai": { + │ "responseId": "", + │ "serviceTier": "default" + │ } + │ }, │ "response": {}, │ "usage": { │ "inputTokenDetails": { @@ -708,7 +802,7 @@ span_tree: │ { │ "providerMetadata": { │ "openai": { - │ "itemId": "" + │ "itemId": "" │ } │ }, │ "text": "One, two, three.", @@ -716,6 +810,12 @@ span_tree: │ } │ ], │ "finishReason": "stop", + │ "providerMetadata": { + │ "openai": { + │ "responseId": "", + │ "serviceTier": "default" + │ } + │ }, │ "response": {}, │ "usage": { │ "inputTokenDetails": { @@ -1795,15 +1895,21 @@ span_tree: │ │ }, │ │ "providerMetadata": { │ │ "openai": { - │ │ "itemId": "" + │ │ "itemId": "" │ │ } │ │ }, - │ │ "toolCallId": "", + │ │ "toolCallId": "", │ │ "toolName": "get_weather", │ │ "type": "tool-call" │ │ } │ │ ], │ │ "finishReason": "tool-calls", + │ │ "providerMetadata": { + │ │ "openai": { + │ │ "responseId": "", + │ │ "serviceTier": "default" + │ │ } + │ │ }, │ │ "response": {}, │ │ "usage": { │ │ "inputTokenDetails": { @@ -1938,15 +2044,21 @@ span_tree: │ │ }, │ │ "providerMetadata": { │ │ "openai": { - │ │ "itemId": "" + │ │ "itemId": "" │ │ } │ │ }, - │ │ "toolCallId": "", + │ │ "toolCallId": "", │ │ "toolName": "get_weather", │ │ "type": "tool-call" │ │ } │ │ ], │ │ "finishReason": "tool-calls", + │ │ "providerMetadata": { + │ │ "openai": { + │ │ "responseId": "", + │ │ "serviceTier": "default" + │ │ } + │ │ }, │ │ "response": {}, │ │ "usage": { │ │ "inputTokenDetails": { @@ -2118,15 +2230,21 @@ span_tree: │ │ }, │ │ "providerMetadata": { │ │ "openai": { - │ │ "itemId": "" + │ │ "itemId": "" │ │ } │ │ }, - │ │ "toolCallId": "", + │ │ "toolCallId": "", │ │ "toolName": "get_weather", │ │ "type": "tool-call" │ │ } │ │ ], │ │ "finishReason": "tool-calls", + │ │ "providerMetadata": { + │ │ "openai": { + │ │ "responseId": "", + │ │ "serviceTier": "default" + │ │ } + │ │ }, │ │ "response": {}, │ │ "usage": { │ │ "inputTokenDetails": { @@ -2335,15 +2453,21 @@ span_tree: │ │ }, │ │ "providerMetadata": { │ │ "openai": { - │ │ "itemId": "" + │ │ "itemId": "" │ │ } │ │ }, - │ │ "toolCallId": "", + │ │ "toolCallId": "", │ │ "toolName": "get_weather", │ │ "type": "tool-call" │ │ } │ │ ], │ │ "finishReason": "tool-calls", + │ │ "providerMetadata": { + │ │ "openai": { + │ │ "responseId": "", + │ │ "serviceTier": "default" + │ │ } + │ │ }, │ │ "response": {}, │ │ "usage": { │ │ "inputTokenDetails": { @@ -2617,6 +2741,26 @@ span_tree: │ } │ ], │ "finishReason": "stop", + │ "providerMetadata": { + │ "anthropic": { + │ "container": null, + │ "contextManagement": null, + │ "iterations": null, + │ "stopSequence": null, + │ "usage": { + │ "cache_creation": { + │ "ephemeral_1h_input_tokens": 0, + │ "ephemeral_5m_input_tokens": 0 + │ }, + │ "cache_creation_input_tokens": 0, + │ "cache_read_input_tokens": 4516, + │ "inference_geo": "not_available", + │ "input_tokens": 3, + │ "output_tokens": 7, + │ "service_tier": "standard" + │ } + │ } + │ }, │ "response": {}, │ "usage": { │ "inputTokenDetails": { @@ -2883,6 +3027,26 @@ span_tree: │ │ } │ │ ], │ │ "finishReason": "stop", + │ │ "providerMetadata": { + │ │ "anthropic": { + │ │ "container": null, + │ │ "contextManagement": null, + │ │ "iterations": null, + │ │ "stopSequence": null, + │ │ "usage": { + │ │ "cache_creation": { + │ │ "ephemeral_1h_input_tokens": 0, + │ │ "ephemeral_5m_input_tokens": 0 + │ │ }, + │ │ "cache_creation_input_tokens": 0, + │ │ "cache_read_input_tokens": 4516, + │ │ "inference_geo": "not_available", + │ │ "input_tokens": 3, + │ │ "output_tokens": 7, + │ │ "service_tier": "standard" + │ │ } + │ │ } + │ │ }, │ │ "response": {}, │ │ "usage": { │ │ "inputTokenDetails": { @@ -3144,6 +3308,26 @@ span_tree: │ } │ ], │ "finishReason": "stop", + │ "providerMetadata": { + │ "anthropic": { + │ "container": null, + │ "contextManagement": null, + │ "iterations": null, + │ "stopSequence": null, + │ "usage": { + │ "cache_creation": { + │ "ephemeral_1h_input_tokens": 0, + │ "ephemeral_5m_input_tokens": 0 + │ }, + │ "cache_creation_input_tokens": 0, + │ "cache_read_input_tokens": 4516, + │ "inference_geo": "not_available", + │ "input_tokens": 3, + │ "output_tokens": 7, + │ "service_tier": "standard" + │ } + │ } + │ }, │ "response": {}, │ "usage": { │ "inputTokenDetails": { @@ -3668,7 +3852,7 @@ span_tree: │ { │ "providerMetadata": { │ "openai": { - │ "itemId": "" + │ "itemId": "" │ } │ }, │ "text": "HELLO", @@ -3676,6 +3860,12 @@ span_tree: │ } │ ], │ "finishReason": "stop", + │ "providerMetadata": { + │ "openai": { + │ "responseId": "", + │ "serviceTier": "default" + │ } + │ }, │ "response": {}, │ "usage": { │ "inputTokenDetails": { @@ -3912,7 +4102,7 @@ span_tree: │ { │ "providerMetadata": { │ "openai": { - │ "itemId": "" + │ "itemId": "" │ } │ }, │ "text": "STREAM HELLO", @@ -3920,6 +4110,12 @@ span_tree: │ } │ ], │ "finishReason": "stop", + │ "providerMetadata": { + │ "openai": { + │ "responseId": "", + │ "serviceTier": "default" + │ } + │ }, │ "response": {}, │ "usage": { │ "inputTokenDetails": { @@ -4133,7 +4329,7 @@ span_tree: │ "itemId": "" │ } │ }, - │ "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A** at $999. After applying the discount code **SAVE20**, the final total is **$799.20**.", + │ "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A**. After applying the discount code **SAVE20**, the final total is **$799.20**.", │ "type": "text" │ } │ ], @@ -4154,7 +4350,7 @@ span_tree: │ "itemId": "" │ } │ }, - │ "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A** at $999. After applying the discount code **SAVE20**, the final total is **$799.20**.", + │ "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A**. After applying the discount code **SAVE20**, the final total is **$799.20**.", │ "type": "text" │ } │ ], @@ -4467,7 +4663,7 @@ span_tree: │ "itemId": "" │ } │ }, - │ "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A** at $999. After applying the discount code **SAVE20**, the final total is **$799.20**.", + │ "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A**. After applying the discount code **SAVE20**, the final total is **$799.20**.", │ "type": "text" │ } │ ], @@ -4492,7 +4688,7 @@ span_tree: │ "itemId": "" │ } │ }, - │ "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A** at $999. After applying the discount code **SAVE20**, the final total is **$799.20**.", + │ "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A**. After applying the discount code **SAVE20**, the final total is **$799.20**.", │ "type": "text" │ } │ ], @@ -4508,30 +4704,30 @@ span_tree: │ "usage": { │ "inputTokenDetails": { │ "cacheReadTokens": 0, - │ "noCacheTokens": 308 + │ "noCacheTokens": 305 │ }, - │ "inputTokens": 308, + │ "inputTokens": 305, │ "outputTokenDetails": { │ "reasoningTokens": 0, - │ "textTokens": 62 + │ "textTokens": 59 │ }, - │ "outputTokens": 62, + │ "outputTokens": 59, │ "raw": { - │ "input_tokens": 308, + │ "input_tokens": 305, │ "input_tokens_details": { │ "cached_tokens": 0 │ }, - │ "output_tokens": 62, + │ "output_tokens": 59, │ "output_tokens_details": { │ "reasoning_tokens": 0 │ } │ }, - │ "totalTokens": 370 + │ "totalTokens": 364 │ }, │ "warnings": [] │ } │ ], - │ "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A** at $999. After applying the discount code **SAVE20**, the final total is **$799.20**.", + │ "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A**. After applying the discount code **SAVE20**, the final total is **$799.20**.", │ "toolCalls": [ │ { │ "input": { @@ -4629,28 +4825,28 @@ span_tree: │ "totalUsage": { │ "inputTokenDetails": { │ "cacheReadTokens": 0, - │ "noCacheTokens": 741 + │ "noCacheTokens": 738 │ }, - │ "inputTokens": 741, + │ "inputTokens": 738, │ "outputTokenDetails": { │ "reasoningTokens": 0, - │ "textTokens": 142 + │ "textTokens": 139 │ }, - │ "outputTokens": 142, - │ "totalTokens": 883 + │ "outputTokens": 139, + │ "totalTokens": 877 │ }, │ "usage": { │ "inputTokenDetails": { │ "cacheReadTokens": 0, - │ "noCacheTokens": 741 + │ "noCacheTokens": 738 │ }, - │ "inputTokens": 741, + │ "inputTokens": 738, │ "outputTokenDetails": { │ "reasoningTokens": 0, - │ "textTokens": 142 + │ "textTokens": 139 │ }, - │ "outputTokens": 142, - │ "totalTokens": 883 + │ "outputTokens": 139, + │ "totalTokens": 877 │ }, │ "warnings": [] │ } @@ -4745,10 +4941,10 @@ span_tree: │ │ }, │ │ "providerMetadata": { │ │ "openai": { - │ │ "itemId": "" + │ │ "itemId": "" │ │ } │ │ }, - │ │ "toolCallId": "", + │ │ "toolCallId": "", │ │ "toolName": "get_store_price", │ │ "type": "tool-call" │ │ }, @@ -4759,15 +4955,21 @@ span_tree: │ │ }, │ │ "providerMetadata": { │ │ "openai": { - │ │ "itemId": "" + │ │ "itemId": "" │ │ } │ │ }, - │ │ "toolCallId": "", + │ │ "toolCallId": "", │ │ "toolName": "get_store_price", │ │ "type": "tool-call" │ │ } │ │ ], │ │ "finishReason": "tool-calls", + │ │ "providerMetadata": { + │ │ "openai": { + │ │ "responseId": "", + │ │ "serviceTier": "default" + │ │ } + │ │ }, │ │ "response": {}, │ │ "usage": { │ │ "inputTokenDetails": { @@ -4984,15 +5186,21 @@ span_tree: │ │ }, │ │ "providerMetadata": { │ │ "openai": { - │ │ "itemId": "" + │ │ "itemId": "" │ │ } │ │ }, - │ │ "toolCallId": "", + │ │ "toolCallId": "", │ │ "toolName": "apply_discount", │ │ "type": "tool-call" │ │ } │ │ ], │ │ "finishReason": "tool-calls", + │ │ "providerMetadata": { + │ │ "openai": { + │ │ "responseId": "", + │ │ "serviceTier": "default" + │ │ } + │ │ }, │ │ "response": {}, │ │ "usage": { │ │ "inputTokenDetails": { @@ -5229,37 +5437,43 @@ span_tree: │ { │ "providerMetadata": { │ "openai": { - │ "itemId": "" + │ "itemId": "" │ } │ }, - │ "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A** at $999. After applying the discount code **SAVE20**, the final total is **$799.20**.", + │ "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A**. After applying the discount code **SAVE20**, the final total is **$799.20**.", │ "type": "text" │ } │ ], │ "finishReason": "stop", + │ "providerMetadata": { + │ "openai": { + │ "responseId": "", + │ "serviceTier": "default" + │ } + │ }, │ "response": {}, │ "usage": { │ "inputTokenDetails": { │ "cacheReadTokens": 0, - │ "noCacheTokens": 308 + │ "noCacheTokens": 305 │ }, - │ "inputTokens": 308, + │ "inputTokens": 305, │ "outputTokenDetails": { │ "reasoningTokens": 0, - │ "textTokens": 62 + │ "textTokens": 59 │ }, - │ "outputTokens": 62, + │ "outputTokens": 59, │ "raw": { - │ "input_tokens": 308, + │ "input_tokens": 305, │ "input_tokens_details": { │ "cached_tokens": 0 │ }, - │ "output_tokens": 62, + │ "output_tokens": 59, │ "output_tokens_details": { │ "reasoning_tokens": 0 │ } │ }, - │ "totalTokens": 370 + │ "totalTokens": 364 │ } │ } │ metadata: { @@ -5271,10 +5485,10 @@ span_tree: │ "provider": "openai.responses" │ } │ metrics: { - │ "completion_tokens": 62, + │ "completion_tokens": 59, │ "prompt_cached_tokens": 0, - │ "prompt_tokens": 308, - │ "tokens": 370 + │ "prompt_tokens": 305, + │ "tokens": 364 │ } ├── ai-sdk-workflow-agent-stream-operation │ metadata: { diff --git a/e2e/scenarios/ai-sdk-instrumentation/__snapshots__/ai-sdk-v7-latest-auto-hook.span-tree.json b/e2e/scenarios/ai-sdk-instrumentation/__snapshots__/ai-sdk-v7-latest-auto-hook.span-tree.json index cd82f5b3d..fdfe5aebd 100644 --- a/e2e/scenarios/ai-sdk-instrumentation/__snapshots__/ai-sdk-v7-latest-auto-hook.span-tree.json +++ b/e2e/scenarios/ai-sdk-instrumentation/__snapshots__/ai-sdk-v7-latest-auto-hook.span-tree.json @@ -4,6 +4,140 @@ "name": "ai-sdk-instrumentation-root", "type": "task", "children": [ + { + "name": "ai-sdk-evaluate-operation", + "children": [ + { + "name": "evaluate", + "type": "question", + "children": [], + "input": { + "questions": [ + { + "criteria": { + "billing": "Payments and refunds", + "technical": "Software problems" + }, + "instructions": "Which team should handle this request?", + "type": "choice" + }, + { + "criteria": [ + "Low", + "Medium", + "High" + ], + "instructions": "How urgent is this request?", + "type": "score" + }, + { + "instructions": "Does the customer report a duplicate charge?", + "type": "boolean" + } + ], + "state": { + "message": "I was charged twice for my subscription. Please refund the duplicate charge." + } + }, + "output": { + "answers": [ + { + "choice": "billing", + "confidence": 1, + "probabilities": { + "billing": 1, + "technical": 0 + }, + "type": "choice" + }, + { + "probability": 0.99, + "type": "boolean" + }, + { + "confidence": 0.74, + "probabilities": { + "0": 0.03, + "1": 0.82, + "2": 0.15 + }, + "score": 1.12, + "type": "score" + } + ] + }, + "metadata": { + "braintrust": { + "integration_name": "ai-sdk", + "sdk_language": "typescript" + }, + "model": "jev-1.13.0", + "provider": "typesafe", + "providerMetadata": { + "typesafe": { + "confidence": { + "category": 1, + "urgency": 0.74 + } + } + } + }, + "metrics": { + "completion_tokens": 62, + "prompt_tokens": 382, + "tokens": 444 + } + } + ], + "metadata": { + "operation": "evaluate", + "testRunId": "" + } + }, + { + "name": "ai-sdk-evaluate-string-operation", + "children": [ + { + "name": "evaluate", + "type": "question", + "children": [], + "input": { + "questions": [ + { + "instructions": "Was the delivery successful?", + "type": "boolean" + } + ], + "state": "The package arrived intact and on time." + }, + "output": { + "answers": [ + { + "probability": 0.97, + "type": "boolean" + } + ] + }, + "metadata": { + "braintrust": { + "integration_name": "ai-sdk", + "sdk_language": "typescript" + }, + "model": "jev-1.13.0", + "provider": "typesafe" + }, + "metrics": { + "completion_tokens": 20, + "prompt_tokens": 279, + "tokens": 299 + } + } + ], + "metadata": { + "operation": "evaluate-string", + "testRunId": "" + } + }, { "name": "ai-sdk-generate-operation", "children": [ @@ -34,7 +168,7 @@ { "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, "text": "PARIS", @@ -42,6 +176,12 @@ } ], "finishReason": "stop", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -303,7 +443,7 @@ { "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, "text": "{\"answer\":\"4\"}", @@ -311,6 +451,12 @@ } ], "finishReason": "stop", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -582,7 +728,7 @@ { "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, "text": "One, two, three.", @@ -590,6 +736,12 @@ } ], "finishReason": "stop", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -976,7 +1128,7 @@ "output": [ { "index": 1, - "relevance_score": 0.06657539 + "relevance_score": 0.06664825 }, { "index": 0, @@ -1009,7 +1161,7 @@ "output": [ { "index": 1, - "relevance_score": 0.06657539 + "relevance_score": 0.06664825 }, { "index": 0, @@ -1086,15 +1238,21 @@ }, "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, - "toolCallId": "", + "toolCallId": "", "toolName": "get_weather", "type": "tool-call" } ], "finishReason": "tool-calls", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -1240,15 +1398,21 @@ }, "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, - "toolCallId": "", + "toolCallId": "", "toolName": "get_weather", "type": "tool-call" } ], "finishReason": "tool-calls", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -1431,15 +1595,21 @@ }, "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, - "toolCallId": "", + "toolCallId": "", "toolName": "get_weather", "type": "tool-call" } ], "finishReason": "tool-calls", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -1659,15 +1829,21 @@ }, "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, - "toolCallId": "", + "toolCallId": "", "toolName": "get_weather", "type": "tool-call" } ], "finishReason": "tool-calls", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -2601,6 +2777,26 @@ } ], "finishReason": "stop", + "providerMetadata": { + "anthropic": { + "container": null, + "contextManagement": null, + "iterations": null, + "stopSequence": null, + "usage": { + "cache_creation": { + "ephemeral_1h_input_tokens": 0, + "ephemeral_5m_input_tokens": 0 + }, + "cache_creation_input_tokens": 0, + "cache_read_input_tokens": 4516, + "inference_geo": "not_available", + "input_tokens": 3, + "output_tokens": 7, + "service_tier": "standard" + } + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -2874,6 +3070,26 @@ } ], "finishReason": "stop", + "providerMetadata": { + "anthropic": { + "container": null, + "contextManagement": null, + "iterations": null, + "stopSequence": null, + "usage": { + "cache_creation": { + "ephemeral_1h_input_tokens": 0, + "ephemeral_5m_input_tokens": 0 + }, + "cache_creation_input_tokens": 0, + "cache_read_input_tokens": 4516, + "inference_geo": "not_available", + "input_tokens": 3, + "output_tokens": 7, + "service_tier": "standard" + } + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -3144,6 +3360,26 @@ } ], "finishReason": "stop", + "providerMetadata": { + "anthropic": { + "container": null, + "contextManagement": null, + "iterations": null, + "stopSequence": null, + "usage": { + "cache_creation": { + "ephemeral_1h_input_tokens": 0, + "ephemeral_5m_input_tokens": 0 + }, + "cache_creation_input_tokens": 0, + "cache_read_input_tokens": 4516, + "inference_geo": "not_available", + "input_tokens": 3, + "output_tokens": 7, + "service_tier": "standard" + } + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -3734,7 +3970,7 @@ { "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, "text": "HELLO", @@ -3742,6 +3978,12 @@ } ], "finishReason": "stop", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -3995,7 +4237,7 @@ { "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, "text": "STREAM HELLO", @@ -4003,6 +4245,12 @@ } ], "finishReason": "stop", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -4322,10 +4570,10 @@ }, "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, - "toolCallId": "", + "toolCallId": "", "toolName": "get_store_price", "type": "tool-call" }, @@ -4336,15 +4584,21 @@ }, "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, - "toolCallId": "", + "toolCallId": "", "toolName": "get_store_price", "type": "tool-call" } ], "finishReason": "tool-calls", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -4576,15 +4830,21 @@ }, "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, - "toolCallId": "", + "toolCallId": "", "toolName": "apply_discount", "type": "tool-call" } ], "finishReason": "tool-calls", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -4832,7 +5092,7 @@ { "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A** at $999. After applying the discount code **SAVE20**, the final total is **$799.20**.", @@ -4840,21 +5100,27 @@ } ], "finishReason": "stop", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { "cacheReadTokens": 0, "cacheWriteTokens": 0, - "noCacheTokens": 308 + "noCacheTokens": 305 }, - "inputTokens": 308, + "inputTokens": 305, "outputTokenDetails": { "reasoningTokens": 0, "textTokens": 62 }, "outputTokens": 62, "raw": { - "input_tokens": 308, + "input_tokens": 305, "input_tokens_details": { "cache_write_tokens": 0, "cached_tokens": 0 @@ -4864,7 +5130,7 @@ "reasoning_tokens": 0 } }, - "totalTokens": 370 + "totalTokens": 367 } }, "metadata": { @@ -4879,8 +5145,8 @@ "completion_tokens": 62, "prompt_cache_creation_tokens": 0, "prompt_cached_tokens": 0, - "prompt_tokens": 308, - "tokens": 370 + "prompt_tokens": 305, + "tokens": 367 } } ], @@ -5432,16 +5698,16 @@ "inputTokenDetails": { "cacheReadTokens": 0, "cacheWriteTokens": 0, - "noCacheTokens": 308 + "noCacheTokens": 305 }, - "inputTokens": 308, + "inputTokens": 305, "outputTokenDetails": { "reasoningTokens": 0, "textTokens": 62 }, "outputTokens": 62, "raw": { - "input_tokens": 308, + "input_tokens": 305, "input_tokens_details": { "cache_write_tokens": 0, "cached_tokens": 0 @@ -5451,7 +5717,7 @@ "reasoning_tokens": 0 } }, - "totalTokens": 370 + "totalTokens": 367 }, "warnings": [] } @@ -5555,29 +5821,29 @@ "inputTokenDetails": { "cacheReadTokens": 0, "cacheWriteTokens": 0, - "noCacheTokens": 741 + "noCacheTokens": 738 }, - "inputTokens": 741, + "inputTokens": 738, "outputTokenDetails": { "reasoningTokens": 0, "textTokens": 142 }, "outputTokens": 142, - "totalTokens": 883 + "totalTokens": 880 }, "usage": { "inputTokenDetails": { "cacheReadTokens": 0, "cacheWriteTokens": 0, - "noCacheTokens": 741 + "noCacheTokens": 738 }, - "inputTokens": 741, + "inputTokens": 738, "outputTokenDetails": { "reasoningTokens": 0, "textTokens": 142 }, "outputTokens": 142, - "totalTokens": 883 + "totalTokens": 880 }, "warnings": [] }, @@ -5598,7 +5864,7 @@ } ], "metadata": { - "aiSdkVersion": "7.0.0", + "aiSdkVersion": "7.0.105", "scenario": "ai-sdk-instrumentation", "testRunId": "" } diff --git a/e2e/scenarios/ai-sdk-instrumentation/__snapshots__/ai-sdk-v7-latest-auto-hook.span-tree.txt b/e2e/scenarios/ai-sdk-instrumentation/__snapshots__/ai-sdk-v7-latest-auto-hook.span-tree.txt index e23d0fed6..20eb4ee39 100644 --- a/e2e/scenarios/ai-sdk-instrumentation/__snapshots__/ai-sdk-v7-latest-auto-hook.span-tree.txt +++ b/e2e/scenarios/ai-sdk-instrumentation/__snapshots__/ai-sdk-v7-latest-auto-hook.span-tree.txt @@ -1,10 +1,128 @@ span_tree: └── ai-sdk-instrumentation-root [task] metadata: { - "aiSdkVersion": "7.0.0", + "aiSdkVersion": "7.0.105", "scenario": "ai-sdk-instrumentation", "testRunId": "" } + ├── ai-sdk-evaluate-operation + │ metadata: { + │ "operation": "evaluate", + │ "testRunId": "" + │ } + │ └── evaluate [question] + │ input: { + │ "questions": [ + │ { + │ "criteria": { + │ "billing": "Payments and refunds", + │ "technical": "Software problems" + │ }, + │ "instructions": "Which team should handle this request?", + │ "type": "choice" + │ }, + │ { + │ "criteria": [ + │ "Low", + │ "Medium", + │ "High" + │ ], + │ "instructions": "How urgent is this request?", + │ "type": "score" + │ }, + │ { + │ "instructions": "Does the customer report a duplicate charge?", + │ "type": "boolean" + │ } + │ ], + │ "state": { + │ "message": "I was charged twice for my subscription. Please refund the duplicate charge." + │ } + │ } + │ output: { + │ "answers": [ + │ { + │ "choice": "billing", + │ "confidence": 1, + │ "probabilities": { + │ "billing": 1, + │ "technical": 0 + │ }, + │ "type": "choice" + │ }, + │ { + │ "probability": 0.99, + │ "type": "boolean" + │ }, + │ { + │ "confidence": 0.74, + │ "probabilities": { + │ "0": 0.03, + │ "1": 0.82, + │ "2": 0.15 + │ }, + │ "score": 1.12, + │ "type": "score" + │ } + │ ] + │ } + │ metadata: { + │ "braintrust": { + │ "integration_name": "ai-sdk", + │ "sdk_language": "typescript" + │ }, + │ "model": "jev-1.13.0", + │ "provider": "typesafe", + │ "providerMetadata": { + │ "typesafe": { + │ "confidence": { + │ "category": 1, + │ "urgency": 0.74 + │ } + │ } + │ } + │ } + │ metrics: { + │ "completion_tokens": 62, + │ "prompt_tokens": 382, + │ "tokens": 444 + │ } + ├── ai-sdk-evaluate-string-operation + │ metadata: { + │ "operation": "evaluate-string", + │ "testRunId": "" + │ } + │ └── evaluate [question] + │ input: { + │ "questions": [ + │ { + │ "instructions": "Was the delivery successful?", + │ "type": "boolean" + │ } + │ ], + │ "state": "The package arrived intact and on time." + │ } + │ output: { + │ "answers": [ + │ { + │ "probability": 0.97, + │ "type": "boolean" + │ } + │ ] + │ } + │ metadata: { + │ "braintrust": { + │ "integration_name": "ai-sdk", + │ "sdk_language": "typescript" + │ }, + │ "model": "jev-1.13.0", + │ "provider": "typesafe" + │ } + │ metrics: { + │ "completion_tokens": 20, + │ "prompt_tokens": 279, + │ "tokens": 299 + │ } ├── ai-sdk-generate-operation │ metadata: { │ "operation": "generate", @@ -203,7 +321,7 @@ span_tree: │ { │ "providerMetadata": { │ "openai": { - │ "itemId": "" + │ "itemId": "" │ } │ }, │ "text": "PARIS", @@ -211,6 +329,12 @@ span_tree: │ } │ ], │ "finishReason": "stop", + │ "providerMetadata": { + │ "openai": { + │ "responseId": "", + │ "serviceTier": "default" + │ } + │ }, │ "response": {}, │ "usage": { │ "inputTokenDetails": { @@ -474,7 +598,7 @@ span_tree: │ { │ "providerMetadata": { │ "openai": { - │ "itemId": "" + │ "itemId": "" │ } │ }, │ "text": "{\"answer\":\"4\"}", @@ -482,6 +606,12 @@ span_tree: │ } │ ], │ "finishReason": "stop", + │ "providerMetadata": { + │ "openai": { + │ "responseId": "", + │ "serviceTier": "default" + │ } + │ }, │ "response": {}, │ "usage": { │ "inputTokenDetails": { @@ -725,7 +855,7 @@ span_tree: │ { │ "providerMetadata": { │ "openai": { - │ "itemId": "" + │ "itemId": "" │ } │ }, │ "text": "One, two, three.", @@ -733,6 +863,12 @@ span_tree: │ } │ ], │ "finishReason": "stop", + │ "providerMetadata": { + │ "openai": { + │ "responseId": "", + │ "serviceTier": "default" + │ } + │ }, │ "response": {}, │ "usage": { │ "inputTokenDetails": { @@ -908,7 +1044,7 @@ span_tree: │ output: [ │ { │ "index": 1, - │ "relevance_score": 0.06657539 + │ "relevance_score": 0.06664825 │ }, │ { │ "index": 0, @@ -936,7 +1072,7 @@ span_tree: │ output: [ │ { │ "index": 1, - │ "relevance_score": 0.06657539 + │ "relevance_score": 0.06664825 │ }, │ { │ "index": 0, @@ -1825,15 +1961,21 @@ span_tree: │ │ }, │ │ "providerMetadata": { │ │ "openai": { - │ │ "itemId": "" + │ │ "itemId": "" │ │ } │ │ }, - │ │ "toolCallId": "", + │ │ "toolCallId": "", │ │ "toolName": "get_weather", │ │ "type": "tool-call" │ │ } │ │ ], │ │ "finishReason": "tool-calls", + │ │ "providerMetadata": { + │ │ "openai": { + │ │ "responseId": "", + │ │ "serviceTier": "default" + │ │ } + │ │ }, │ │ "response": {}, │ │ "usage": { │ │ "inputTokenDetails": { @@ -1971,15 +2113,21 @@ span_tree: │ │ }, │ │ "providerMetadata": { │ │ "openai": { - │ │ "itemId": "" + │ │ "itemId": "" │ │ } │ │ }, - │ │ "toolCallId": "", + │ │ "toolCallId": "", │ │ "toolName": "get_weather", │ │ "type": "tool-call" │ │ } │ │ ], │ │ "finishReason": "tool-calls", + │ │ "providerMetadata": { + │ │ "openai": { + │ │ "responseId": "", + │ │ "serviceTier": "default" + │ │ } + │ │ }, │ │ "response": {}, │ │ "usage": { │ │ "inputTokenDetails": { @@ -2154,15 +2302,21 @@ span_tree: │ │ }, │ │ "providerMetadata": { │ │ "openai": { - │ │ "itemId": "" + │ │ "itemId": "" │ │ } │ │ }, - │ │ "toolCallId": "", + │ │ "toolCallId": "", │ │ "toolName": "get_weather", │ │ "type": "tool-call" │ │ } │ │ ], │ │ "finishReason": "tool-calls", + │ │ "providerMetadata": { + │ │ "openai": { + │ │ "responseId": "", + │ │ "serviceTier": "default" + │ │ } + │ │ }, │ │ "response": {}, │ │ "usage": { │ │ "inputTokenDetails": { @@ -2374,15 +2528,21 @@ span_tree: │ │ }, │ │ "providerMetadata": { │ │ "openai": { - │ │ "itemId": "" + │ │ "itemId": "" │ │ } │ │ }, - │ │ "toolCallId": "", + │ │ "toolCallId": "", │ │ "toolName": "get_weather", │ │ "type": "tool-call" │ │ } │ │ ], │ │ "finishReason": "tool-calls", + │ │ "providerMetadata": { + │ │ "openai": { + │ │ "responseId": "", + │ │ "serviceTier": "default" + │ │ } + │ │ }, │ │ "response": {}, │ │ "usage": { │ │ "inputTokenDetails": { @@ -2659,6 +2819,26 @@ span_tree: │ } │ ], │ "finishReason": "stop", + │ "providerMetadata": { + │ "anthropic": { + │ "container": null, + │ "contextManagement": null, + │ "iterations": null, + │ "stopSequence": null, + │ "usage": { + │ "cache_creation": { + │ "ephemeral_1h_input_tokens": 0, + │ "ephemeral_5m_input_tokens": 0 + │ }, + │ "cache_creation_input_tokens": 0, + │ "cache_read_input_tokens": 4516, + │ "inference_geo": "not_available", + │ "input_tokens": 3, + │ "output_tokens": 7, + │ "service_tier": "standard" + │ } + │ } + │ }, │ "response": {}, │ "usage": { │ "inputTokenDetails": { @@ -2925,6 +3105,26 @@ span_tree: │ │ } │ │ ], │ │ "finishReason": "stop", + │ │ "providerMetadata": { + │ │ "anthropic": { + │ │ "container": null, + │ │ "contextManagement": null, + │ │ "iterations": null, + │ │ "stopSequence": null, + │ │ "usage": { + │ │ "cache_creation": { + │ │ "ephemeral_1h_input_tokens": 0, + │ │ "ephemeral_5m_input_tokens": 0 + │ │ }, + │ │ "cache_creation_input_tokens": 0, + │ │ "cache_read_input_tokens": 4516, + │ │ "inference_geo": "not_available", + │ │ "input_tokens": 3, + │ │ "output_tokens": 7, + │ │ "service_tier": "standard" + │ │ } + │ │ } + │ │ }, │ │ "response": {}, │ │ "usage": { │ │ "inputTokenDetails": { @@ -3186,6 +3386,26 @@ span_tree: │ } │ ], │ "finishReason": "stop", + │ "providerMetadata": { + │ "anthropic": { + │ "container": null, + │ "contextManagement": null, + │ "iterations": null, + │ "stopSequence": null, + │ "usage": { + │ "cache_creation": { + │ "ephemeral_1h_input_tokens": 0, + │ "ephemeral_5m_input_tokens": 0 + │ }, + │ "cache_creation_input_tokens": 0, + │ "cache_read_input_tokens": 4516, + │ "inference_geo": "not_available", + │ "input_tokens": 3, + │ "output_tokens": 7, + │ "service_tier": "standard" + │ } + │ } + │ }, │ "response": {}, │ "usage": { │ "inputTokenDetails": { @@ -3724,7 +3944,7 @@ span_tree: │ { │ "providerMetadata": { │ "openai": { - │ "itemId": "" + │ "itemId": "" │ } │ }, │ "text": "HELLO", @@ -3732,6 +3952,12 @@ span_tree: │ } │ ], │ "finishReason": "stop", + │ "providerMetadata": { + │ "openai": { + │ "responseId": "", + │ "serviceTier": "default" + │ } + │ }, │ "response": {}, │ "usage": { │ "inputTokenDetails": { @@ -3975,7 +4201,7 @@ span_tree: │ { │ "providerMetadata": { │ "openai": { - │ "itemId": "" + │ "itemId": "" │ } │ }, │ "text": "STREAM HELLO", @@ -3983,6 +4209,12 @@ span_tree: │ } │ ], │ "finishReason": "stop", + │ "providerMetadata": { + │ "openai": { + │ "responseId": "", + │ "serviceTier": "default" + │ } + │ }, │ "response": {}, │ "usage": { │ "inputTokenDetails": { @@ -4579,16 +4811,16 @@ span_tree: "inputTokenDetails": { "cacheReadTokens": 0, "cacheWriteTokens": 0, - "noCacheTokens": 308 + "noCacheTokens": 305 }, - "inputTokens": 308, + "inputTokens": 305, "outputTokenDetails": { "reasoningTokens": 0, "textTokens": 62 }, "outputTokens": 62, "raw": { - "input_tokens": 308, + "input_tokens": 305, "input_tokens_details": { "cache_write_tokens": 0, "cached_tokens": 0 @@ -4598,7 +4830,7 @@ span_tree: "reasoning_tokens": 0 } }, - "totalTokens": 370 + "totalTokens": 367 }, "warnings": [] } @@ -4702,29 +4934,29 @@ span_tree: "inputTokenDetails": { "cacheReadTokens": 0, "cacheWriteTokens": 0, - "noCacheTokens": 741 + "noCacheTokens": 738 }, - "inputTokens": 741, + "inputTokens": 738, "outputTokenDetails": { "reasoningTokens": 0, "textTokens": 142 }, "outputTokens": 142, - "totalTokens": 883 + "totalTokens": 880 }, "usage": { "inputTokenDetails": { "cacheReadTokens": 0, "cacheWriteTokens": 0, - "noCacheTokens": 741 + "noCacheTokens": 738 }, - "inputTokens": 741, + "inputTokens": 738, "outputTokenDetails": { "reasoningTokens": 0, "textTokens": 142 }, "outputTokens": 142, - "totalTokens": 883 + "totalTokens": 880 }, "warnings": [] } @@ -4819,10 +5051,10 @@ span_tree: │ }, │ "providerMetadata": { │ "openai": { - │ "itemId": "" + │ "itemId": "" │ } │ }, - │ "toolCallId": "", + │ "toolCallId": "", │ "toolName": "get_store_price", │ "type": "tool-call" │ }, @@ -4833,15 +5065,21 @@ span_tree: │ }, │ "providerMetadata": { │ "openai": { - │ "itemId": "" + │ "itemId": "" │ } │ }, - │ "toolCallId": "", + │ "toolCallId": "", │ "toolName": "get_store_price", │ "type": "tool-call" │ } │ ], │ "finishReason": "tool-calls", + │ "providerMetadata": { + │ "openai": { + │ "responseId": "", + │ "serviceTier": "default" + │ } + │ }, │ "response": {}, │ "usage": { │ "inputTokenDetails": { @@ -5061,15 +5299,21 @@ span_tree: │ }, │ "providerMetadata": { │ "openai": { - │ "itemId": "" + │ "itemId": "" │ } │ }, - │ "toolCallId": "", + │ "toolCallId": "", │ "toolName": "apply_discount", │ "type": "tool-call" │ } │ ], │ "finishReason": "tool-calls", + │ "providerMetadata": { + │ "openai": { + │ "responseId": "", + │ "serviceTier": "default" + │ } + │ }, │ "response": {}, │ "usage": { │ "inputTokenDetails": { @@ -5309,7 +5553,7 @@ span_tree: { "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A** at $999. After applying the discount code **SAVE20**, the final total is **$799.20**.", @@ -5317,21 +5561,27 @@ span_tree: } ], "finishReason": "stop", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { "cacheReadTokens": 0, "cacheWriteTokens": 0, - "noCacheTokens": 308 + "noCacheTokens": 305 }, - "inputTokens": 308, + "inputTokens": 305, "outputTokenDetails": { "reasoningTokens": 0, "textTokens": 62 }, "outputTokens": 62, "raw": { - "input_tokens": 308, + "input_tokens": 305, "input_tokens_details": { "cache_write_tokens": 0, "cached_tokens": 0 @@ -5341,7 +5591,7 @@ span_tree: "reasoning_tokens": 0 } }, - "totalTokens": 370 + "totalTokens": 367 } } metadata: { @@ -5356,6 +5606,6 @@ span_tree: "completion_tokens": 62, "prompt_cache_creation_tokens": 0, "prompt_cached_tokens": 0, - "prompt_tokens": 308, - "tokens": 370 + "prompt_tokens": 305, + "tokens": 367 } diff --git a/e2e/scenarios/ai-sdk-instrumentation/__snapshots__/ai-sdk-v7-latest-explicit.span-tree.json b/e2e/scenarios/ai-sdk-instrumentation/__snapshots__/ai-sdk-v7-latest-explicit.span-tree.json index cd82f5b3d..fdfe5aebd 100644 --- a/e2e/scenarios/ai-sdk-instrumentation/__snapshots__/ai-sdk-v7-latest-explicit.span-tree.json +++ b/e2e/scenarios/ai-sdk-instrumentation/__snapshots__/ai-sdk-v7-latest-explicit.span-tree.json @@ -4,6 +4,140 @@ "name": "ai-sdk-instrumentation-root", "type": "task", "children": [ + { + "name": "ai-sdk-evaluate-operation", + "children": [ + { + "name": "evaluate", + "type": "question", + "children": [], + "input": { + "questions": [ + { + "criteria": { + "billing": "Payments and refunds", + "technical": "Software problems" + }, + "instructions": "Which team should handle this request?", + "type": "choice" + }, + { + "criteria": [ + "Low", + "Medium", + "High" + ], + "instructions": "How urgent is this request?", + "type": "score" + }, + { + "instructions": "Does the customer report a duplicate charge?", + "type": "boolean" + } + ], + "state": { + "message": "I was charged twice for my subscription. Please refund the duplicate charge." + } + }, + "output": { + "answers": [ + { + "choice": "billing", + "confidence": 1, + "probabilities": { + "billing": 1, + "technical": 0 + }, + "type": "choice" + }, + { + "probability": 0.99, + "type": "boolean" + }, + { + "confidence": 0.74, + "probabilities": { + "0": 0.03, + "1": 0.82, + "2": 0.15 + }, + "score": 1.12, + "type": "score" + } + ] + }, + "metadata": { + "braintrust": { + "integration_name": "ai-sdk", + "sdk_language": "typescript" + }, + "model": "jev-1.13.0", + "provider": "typesafe", + "providerMetadata": { + "typesafe": { + "confidence": { + "category": 1, + "urgency": 0.74 + } + } + } + }, + "metrics": { + "completion_tokens": 62, + "prompt_tokens": 382, + "tokens": 444 + } + } + ], + "metadata": { + "operation": "evaluate", + "testRunId": "" + } + }, + { + "name": "ai-sdk-evaluate-string-operation", + "children": [ + { + "name": "evaluate", + "type": "question", + "children": [], + "input": { + "questions": [ + { + "instructions": "Was the delivery successful?", + "type": "boolean" + } + ], + "state": "The package arrived intact and on time." + }, + "output": { + "answers": [ + { + "probability": 0.97, + "type": "boolean" + } + ] + }, + "metadata": { + "braintrust": { + "integration_name": "ai-sdk", + "sdk_language": "typescript" + }, + "model": "jev-1.13.0", + "provider": "typesafe" + }, + "metrics": { + "completion_tokens": 20, + "prompt_tokens": 279, + "tokens": 299 + } + } + ], + "metadata": { + "operation": "evaluate-string", + "testRunId": "" + } + }, { "name": "ai-sdk-generate-operation", "children": [ @@ -34,7 +168,7 @@ { "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, "text": "PARIS", @@ -42,6 +176,12 @@ } ], "finishReason": "stop", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -303,7 +443,7 @@ { "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, "text": "{\"answer\":\"4\"}", @@ -311,6 +451,12 @@ } ], "finishReason": "stop", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -582,7 +728,7 @@ { "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, "text": "One, two, three.", @@ -590,6 +736,12 @@ } ], "finishReason": "stop", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -976,7 +1128,7 @@ "output": [ { "index": 1, - "relevance_score": 0.06657539 + "relevance_score": 0.06664825 }, { "index": 0, @@ -1009,7 +1161,7 @@ "output": [ { "index": 1, - "relevance_score": 0.06657539 + "relevance_score": 0.06664825 }, { "index": 0, @@ -1086,15 +1238,21 @@ }, "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, - "toolCallId": "", + "toolCallId": "", "toolName": "get_weather", "type": "tool-call" } ], "finishReason": "tool-calls", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -1240,15 +1398,21 @@ }, "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, - "toolCallId": "", + "toolCallId": "", "toolName": "get_weather", "type": "tool-call" } ], "finishReason": "tool-calls", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -1431,15 +1595,21 @@ }, "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, - "toolCallId": "", + "toolCallId": "", "toolName": "get_weather", "type": "tool-call" } ], "finishReason": "tool-calls", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -1659,15 +1829,21 @@ }, "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, - "toolCallId": "", + "toolCallId": "", "toolName": "get_weather", "type": "tool-call" } ], "finishReason": "tool-calls", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -2601,6 +2777,26 @@ } ], "finishReason": "stop", + "providerMetadata": { + "anthropic": { + "container": null, + "contextManagement": null, + "iterations": null, + "stopSequence": null, + "usage": { + "cache_creation": { + "ephemeral_1h_input_tokens": 0, + "ephemeral_5m_input_tokens": 0 + }, + "cache_creation_input_tokens": 0, + "cache_read_input_tokens": 4516, + "inference_geo": "not_available", + "input_tokens": 3, + "output_tokens": 7, + "service_tier": "standard" + } + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -2874,6 +3070,26 @@ } ], "finishReason": "stop", + "providerMetadata": { + "anthropic": { + "container": null, + "contextManagement": null, + "iterations": null, + "stopSequence": null, + "usage": { + "cache_creation": { + "ephemeral_1h_input_tokens": 0, + "ephemeral_5m_input_tokens": 0 + }, + "cache_creation_input_tokens": 0, + "cache_read_input_tokens": 4516, + "inference_geo": "not_available", + "input_tokens": 3, + "output_tokens": 7, + "service_tier": "standard" + } + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -3144,6 +3360,26 @@ } ], "finishReason": "stop", + "providerMetadata": { + "anthropic": { + "container": null, + "contextManagement": null, + "iterations": null, + "stopSequence": null, + "usage": { + "cache_creation": { + "ephemeral_1h_input_tokens": 0, + "ephemeral_5m_input_tokens": 0 + }, + "cache_creation_input_tokens": 0, + "cache_read_input_tokens": 4516, + "inference_geo": "not_available", + "input_tokens": 3, + "output_tokens": 7, + "service_tier": "standard" + } + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -3734,7 +3970,7 @@ { "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, "text": "HELLO", @@ -3742,6 +3978,12 @@ } ], "finishReason": "stop", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -3995,7 +4237,7 @@ { "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, "text": "STREAM HELLO", @@ -4003,6 +4245,12 @@ } ], "finishReason": "stop", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -4322,10 +4570,10 @@ }, "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, - "toolCallId": "", + "toolCallId": "", "toolName": "get_store_price", "type": "tool-call" }, @@ -4336,15 +4584,21 @@ }, "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, - "toolCallId": "", + "toolCallId": "", "toolName": "get_store_price", "type": "tool-call" } ], "finishReason": "tool-calls", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -4576,15 +4830,21 @@ }, "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, - "toolCallId": "", + "toolCallId": "", "toolName": "apply_discount", "type": "tool-call" } ], "finishReason": "tool-calls", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { @@ -4832,7 +5092,7 @@ { "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A** at $999. After applying the discount code **SAVE20**, the final total is **$799.20**.", @@ -4840,21 +5100,27 @@ } ], "finishReason": "stop", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { "cacheReadTokens": 0, "cacheWriteTokens": 0, - "noCacheTokens": 308 + "noCacheTokens": 305 }, - "inputTokens": 308, + "inputTokens": 305, "outputTokenDetails": { "reasoningTokens": 0, "textTokens": 62 }, "outputTokens": 62, "raw": { - "input_tokens": 308, + "input_tokens": 305, "input_tokens_details": { "cache_write_tokens": 0, "cached_tokens": 0 @@ -4864,7 +5130,7 @@ "reasoning_tokens": 0 } }, - "totalTokens": 370 + "totalTokens": 367 } }, "metadata": { @@ -4879,8 +5145,8 @@ "completion_tokens": 62, "prompt_cache_creation_tokens": 0, "prompt_cached_tokens": 0, - "prompt_tokens": 308, - "tokens": 370 + "prompt_tokens": 305, + "tokens": 367 } } ], @@ -5432,16 +5698,16 @@ "inputTokenDetails": { "cacheReadTokens": 0, "cacheWriteTokens": 0, - "noCacheTokens": 308 + "noCacheTokens": 305 }, - "inputTokens": 308, + "inputTokens": 305, "outputTokenDetails": { "reasoningTokens": 0, "textTokens": 62 }, "outputTokens": 62, "raw": { - "input_tokens": 308, + "input_tokens": 305, "input_tokens_details": { "cache_write_tokens": 0, "cached_tokens": 0 @@ -5451,7 +5717,7 @@ "reasoning_tokens": 0 } }, - "totalTokens": 370 + "totalTokens": 367 }, "warnings": [] } @@ -5555,29 +5821,29 @@ "inputTokenDetails": { "cacheReadTokens": 0, "cacheWriteTokens": 0, - "noCacheTokens": 741 + "noCacheTokens": 738 }, - "inputTokens": 741, + "inputTokens": 738, "outputTokenDetails": { "reasoningTokens": 0, "textTokens": 142 }, "outputTokens": 142, - "totalTokens": 883 + "totalTokens": 880 }, "usage": { "inputTokenDetails": { "cacheReadTokens": 0, "cacheWriteTokens": 0, - "noCacheTokens": 741 + "noCacheTokens": 738 }, - "inputTokens": 741, + "inputTokens": 738, "outputTokenDetails": { "reasoningTokens": 0, "textTokens": 142 }, "outputTokens": 142, - "totalTokens": 883 + "totalTokens": 880 }, "warnings": [] }, @@ -5598,7 +5864,7 @@ } ], "metadata": { - "aiSdkVersion": "7.0.0", + "aiSdkVersion": "7.0.105", "scenario": "ai-sdk-instrumentation", "testRunId": "" } diff --git a/e2e/scenarios/ai-sdk-instrumentation/__snapshots__/ai-sdk-v7-latest-explicit.span-tree.txt b/e2e/scenarios/ai-sdk-instrumentation/__snapshots__/ai-sdk-v7-latest-explicit.span-tree.txt index e23d0fed6..20eb4ee39 100644 --- a/e2e/scenarios/ai-sdk-instrumentation/__snapshots__/ai-sdk-v7-latest-explicit.span-tree.txt +++ b/e2e/scenarios/ai-sdk-instrumentation/__snapshots__/ai-sdk-v7-latest-explicit.span-tree.txt @@ -1,10 +1,128 @@ span_tree: └── ai-sdk-instrumentation-root [task] metadata: { - "aiSdkVersion": "7.0.0", + "aiSdkVersion": "7.0.105", "scenario": "ai-sdk-instrumentation", "testRunId": "" } + ├── ai-sdk-evaluate-operation + │ metadata: { + │ "operation": "evaluate", + │ "testRunId": "" + │ } + │ └── evaluate [question] + │ input: { + │ "questions": [ + │ { + │ "criteria": { + │ "billing": "Payments and refunds", + │ "technical": "Software problems" + │ }, + │ "instructions": "Which team should handle this request?", + │ "type": "choice" + │ }, + │ { + │ "criteria": [ + │ "Low", + │ "Medium", + │ "High" + │ ], + │ "instructions": "How urgent is this request?", + │ "type": "score" + │ }, + │ { + │ "instructions": "Does the customer report a duplicate charge?", + │ "type": "boolean" + │ } + │ ], + │ "state": { + │ "message": "I was charged twice for my subscription. Please refund the duplicate charge." + │ } + │ } + │ output: { + │ "answers": [ + │ { + │ "choice": "billing", + │ "confidence": 1, + │ "probabilities": { + │ "billing": 1, + │ "technical": 0 + │ }, + │ "type": "choice" + │ }, + │ { + │ "probability": 0.99, + │ "type": "boolean" + │ }, + │ { + │ "confidence": 0.74, + │ "probabilities": { + │ "0": 0.03, + │ "1": 0.82, + │ "2": 0.15 + │ }, + │ "score": 1.12, + │ "type": "score" + │ } + │ ] + │ } + │ metadata: { + │ "braintrust": { + │ "integration_name": "ai-sdk", + │ "sdk_language": "typescript" + │ }, + │ "model": "jev-1.13.0", + │ "provider": "typesafe", + │ "providerMetadata": { + │ "typesafe": { + │ "confidence": { + │ "category": 1, + │ "urgency": 0.74 + │ } + │ } + │ } + │ } + │ metrics: { + │ "completion_tokens": 62, + │ "prompt_tokens": 382, + │ "tokens": 444 + │ } + ├── ai-sdk-evaluate-string-operation + │ metadata: { + │ "operation": "evaluate-string", + │ "testRunId": "" + │ } + │ └── evaluate [question] + │ input: { + │ "questions": [ + │ { + │ "instructions": "Was the delivery successful?", + │ "type": "boolean" + │ } + │ ], + │ "state": "The package arrived intact and on time." + │ } + │ output: { + │ "answers": [ + │ { + │ "probability": 0.97, + │ "type": "boolean" + │ } + │ ] + │ } + │ metadata: { + │ "braintrust": { + │ "integration_name": "ai-sdk", + │ "sdk_language": "typescript" + │ }, + │ "model": "jev-1.13.0", + │ "provider": "typesafe" + │ } + │ metrics: { + │ "completion_tokens": 20, + │ "prompt_tokens": 279, + │ "tokens": 299 + │ } ├── ai-sdk-generate-operation │ metadata: { │ "operation": "generate", @@ -203,7 +321,7 @@ span_tree: │ { │ "providerMetadata": { │ "openai": { - │ "itemId": "" + │ "itemId": "" │ } │ }, │ "text": "PARIS", @@ -211,6 +329,12 @@ span_tree: │ } │ ], │ "finishReason": "stop", + │ "providerMetadata": { + │ "openai": { + │ "responseId": "", + │ "serviceTier": "default" + │ } + │ }, │ "response": {}, │ "usage": { │ "inputTokenDetails": { @@ -474,7 +598,7 @@ span_tree: │ { │ "providerMetadata": { │ "openai": { - │ "itemId": "" + │ "itemId": "" │ } │ }, │ "text": "{\"answer\":\"4\"}", @@ -482,6 +606,12 @@ span_tree: │ } │ ], │ "finishReason": "stop", + │ "providerMetadata": { + │ "openai": { + │ "responseId": "", + │ "serviceTier": "default" + │ } + │ }, │ "response": {}, │ "usage": { │ "inputTokenDetails": { @@ -725,7 +855,7 @@ span_tree: │ { │ "providerMetadata": { │ "openai": { - │ "itemId": "" + │ "itemId": "" │ } │ }, │ "text": "One, two, three.", @@ -733,6 +863,12 @@ span_tree: │ } │ ], │ "finishReason": "stop", + │ "providerMetadata": { + │ "openai": { + │ "responseId": "", + │ "serviceTier": "default" + │ } + │ }, │ "response": {}, │ "usage": { │ "inputTokenDetails": { @@ -908,7 +1044,7 @@ span_tree: │ output: [ │ { │ "index": 1, - │ "relevance_score": 0.06657539 + │ "relevance_score": 0.06664825 │ }, │ { │ "index": 0, @@ -936,7 +1072,7 @@ span_tree: │ output: [ │ { │ "index": 1, - │ "relevance_score": 0.06657539 + │ "relevance_score": 0.06664825 │ }, │ { │ "index": 0, @@ -1825,15 +1961,21 @@ span_tree: │ │ }, │ │ "providerMetadata": { │ │ "openai": { - │ │ "itemId": "" + │ │ "itemId": "" │ │ } │ │ }, - │ │ "toolCallId": "", + │ │ "toolCallId": "", │ │ "toolName": "get_weather", │ │ "type": "tool-call" │ │ } │ │ ], │ │ "finishReason": "tool-calls", + │ │ "providerMetadata": { + │ │ "openai": { + │ │ "responseId": "", + │ │ "serviceTier": "default" + │ │ } + │ │ }, │ │ "response": {}, │ │ "usage": { │ │ "inputTokenDetails": { @@ -1971,15 +2113,21 @@ span_tree: │ │ }, │ │ "providerMetadata": { │ │ "openai": { - │ │ "itemId": "" + │ │ "itemId": "" │ │ } │ │ }, - │ │ "toolCallId": "", + │ │ "toolCallId": "", │ │ "toolName": "get_weather", │ │ "type": "tool-call" │ │ } │ │ ], │ │ "finishReason": "tool-calls", + │ │ "providerMetadata": { + │ │ "openai": { + │ │ "responseId": "", + │ │ "serviceTier": "default" + │ │ } + │ │ }, │ │ "response": {}, │ │ "usage": { │ │ "inputTokenDetails": { @@ -2154,15 +2302,21 @@ span_tree: │ │ }, │ │ "providerMetadata": { │ │ "openai": { - │ │ "itemId": "" + │ │ "itemId": "" │ │ } │ │ }, - │ │ "toolCallId": "", + │ │ "toolCallId": "", │ │ "toolName": "get_weather", │ │ "type": "tool-call" │ │ } │ │ ], │ │ "finishReason": "tool-calls", + │ │ "providerMetadata": { + │ │ "openai": { + │ │ "responseId": "", + │ │ "serviceTier": "default" + │ │ } + │ │ }, │ │ "response": {}, │ │ "usage": { │ │ "inputTokenDetails": { @@ -2374,15 +2528,21 @@ span_tree: │ │ }, │ │ "providerMetadata": { │ │ "openai": { - │ │ "itemId": "" + │ │ "itemId": "" │ │ } │ │ }, - │ │ "toolCallId": "", + │ │ "toolCallId": "", │ │ "toolName": "get_weather", │ │ "type": "tool-call" │ │ } │ │ ], │ │ "finishReason": "tool-calls", + │ │ "providerMetadata": { + │ │ "openai": { + │ │ "responseId": "", + │ │ "serviceTier": "default" + │ │ } + │ │ }, │ │ "response": {}, │ │ "usage": { │ │ "inputTokenDetails": { @@ -2659,6 +2819,26 @@ span_tree: │ } │ ], │ "finishReason": "stop", + │ "providerMetadata": { + │ "anthropic": { + │ "container": null, + │ "contextManagement": null, + │ "iterations": null, + │ "stopSequence": null, + │ "usage": { + │ "cache_creation": { + │ "ephemeral_1h_input_tokens": 0, + │ "ephemeral_5m_input_tokens": 0 + │ }, + │ "cache_creation_input_tokens": 0, + │ "cache_read_input_tokens": 4516, + │ "inference_geo": "not_available", + │ "input_tokens": 3, + │ "output_tokens": 7, + │ "service_tier": "standard" + │ } + │ } + │ }, │ "response": {}, │ "usage": { │ "inputTokenDetails": { @@ -2925,6 +3105,26 @@ span_tree: │ │ } │ │ ], │ │ "finishReason": "stop", + │ │ "providerMetadata": { + │ │ "anthropic": { + │ │ "container": null, + │ │ "contextManagement": null, + │ │ "iterations": null, + │ │ "stopSequence": null, + │ │ "usage": { + │ │ "cache_creation": { + │ │ "ephemeral_1h_input_tokens": 0, + │ │ "ephemeral_5m_input_tokens": 0 + │ │ }, + │ │ "cache_creation_input_tokens": 0, + │ │ "cache_read_input_tokens": 4516, + │ │ "inference_geo": "not_available", + │ │ "input_tokens": 3, + │ │ "output_tokens": 7, + │ │ "service_tier": "standard" + │ │ } + │ │ } + │ │ }, │ │ "response": {}, │ │ "usage": { │ │ "inputTokenDetails": { @@ -3186,6 +3386,26 @@ span_tree: │ } │ ], │ "finishReason": "stop", + │ "providerMetadata": { + │ "anthropic": { + │ "container": null, + │ "contextManagement": null, + │ "iterations": null, + │ "stopSequence": null, + │ "usage": { + │ "cache_creation": { + │ "ephemeral_1h_input_tokens": 0, + │ "ephemeral_5m_input_tokens": 0 + │ }, + │ "cache_creation_input_tokens": 0, + │ "cache_read_input_tokens": 4516, + │ "inference_geo": "not_available", + │ "input_tokens": 3, + │ "output_tokens": 7, + │ "service_tier": "standard" + │ } + │ } + │ }, │ "response": {}, │ "usage": { │ "inputTokenDetails": { @@ -3724,7 +3944,7 @@ span_tree: │ { │ "providerMetadata": { │ "openai": { - │ "itemId": "" + │ "itemId": "" │ } │ }, │ "text": "HELLO", @@ -3732,6 +3952,12 @@ span_tree: │ } │ ], │ "finishReason": "stop", + │ "providerMetadata": { + │ "openai": { + │ "responseId": "", + │ "serviceTier": "default" + │ } + │ }, │ "response": {}, │ "usage": { │ "inputTokenDetails": { @@ -3975,7 +4201,7 @@ span_tree: │ { │ "providerMetadata": { │ "openai": { - │ "itemId": "" + │ "itemId": "" │ } │ }, │ "text": "STREAM HELLO", @@ -3983,6 +4209,12 @@ span_tree: │ } │ ], │ "finishReason": "stop", + │ "providerMetadata": { + │ "openai": { + │ "responseId": "", + │ "serviceTier": "default" + │ } + │ }, │ "response": {}, │ "usage": { │ "inputTokenDetails": { @@ -4579,16 +4811,16 @@ span_tree: "inputTokenDetails": { "cacheReadTokens": 0, "cacheWriteTokens": 0, - "noCacheTokens": 308 + "noCacheTokens": 305 }, - "inputTokens": 308, + "inputTokens": 305, "outputTokenDetails": { "reasoningTokens": 0, "textTokens": 62 }, "outputTokens": 62, "raw": { - "input_tokens": 308, + "input_tokens": 305, "input_tokens_details": { "cache_write_tokens": 0, "cached_tokens": 0 @@ -4598,7 +4830,7 @@ span_tree: "reasoning_tokens": 0 } }, - "totalTokens": 370 + "totalTokens": 367 }, "warnings": [] } @@ -4702,29 +4934,29 @@ span_tree: "inputTokenDetails": { "cacheReadTokens": 0, "cacheWriteTokens": 0, - "noCacheTokens": 741 + "noCacheTokens": 738 }, - "inputTokens": 741, + "inputTokens": 738, "outputTokenDetails": { "reasoningTokens": 0, "textTokens": 142 }, "outputTokens": 142, - "totalTokens": 883 + "totalTokens": 880 }, "usage": { "inputTokenDetails": { "cacheReadTokens": 0, "cacheWriteTokens": 0, - "noCacheTokens": 741 + "noCacheTokens": 738 }, - "inputTokens": 741, + "inputTokens": 738, "outputTokenDetails": { "reasoningTokens": 0, "textTokens": 142 }, "outputTokens": 142, - "totalTokens": 883 + "totalTokens": 880 }, "warnings": [] } @@ -4819,10 +5051,10 @@ span_tree: │ }, │ "providerMetadata": { │ "openai": { - │ "itemId": "" + │ "itemId": "" │ } │ }, - │ "toolCallId": "", + │ "toolCallId": "", │ "toolName": "get_store_price", │ "type": "tool-call" │ }, @@ -4833,15 +5065,21 @@ span_tree: │ }, │ "providerMetadata": { │ "openai": { - │ "itemId": "" + │ "itemId": "" │ } │ }, - │ "toolCallId": "", + │ "toolCallId": "", │ "toolName": "get_store_price", │ "type": "tool-call" │ } │ ], │ "finishReason": "tool-calls", + │ "providerMetadata": { + │ "openai": { + │ "responseId": "", + │ "serviceTier": "default" + │ } + │ }, │ "response": {}, │ "usage": { │ "inputTokenDetails": { @@ -5061,15 +5299,21 @@ span_tree: │ }, │ "providerMetadata": { │ "openai": { - │ "itemId": "" + │ "itemId": "" │ } │ }, - │ "toolCallId": "", + │ "toolCallId": "", │ "toolName": "apply_discount", │ "type": "tool-call" │ } │ ], │ "finishReason": "tool-calls", + │ "providerMetadata": { + │ "openai": { + │ "responseId": "", + │ "serviceTier": "default" + │ } + │ }, │ "response": {}, │ "usage": { │ "inputTokenDetails": { @@ -5309,7 +5553,7 @@ span_tree: { "providerMetadata": { "openai": { - "itemId": "" + "itemId": "" } }, "text": "Here are the prices for the laptop:\n\n- **Store A**: $999\n- **Store B**: $1099\n\nThe cheaper price is from **Store A** at $999. After applying the discount code **SAVE20**, the final total is **$799.20**.", @@ -5317,21 +5561,27 @@ span_tree: } ], "finishReason": "stop", + "providerMetadata": { + "openai": { + "responseId": "", + "serviceTier": "default" + } + }, "response": {}, "usage": { "inputTokenDetails": { "cacheReadTokens": 0, "cacheWriteTokens": 0, - "noCacheTokens": 308 + "noCacheTokens": 305 }, - "inputTokens": 308, + "inputTokens": 305, "outputTokenDetails": { "reasoningTokens": 0, "textTokens": 62 }, "outputTokens": 62, "raw": { - "input_tokens": 308, + "input_tokens": 305, "input_tokens_details": { "cache_write_tokens": 0, "cached_tokens": 0 @@ -5341,7 +5591,7 @@ span_tree: "reasoning_tokens": 0 } }, - "totalTokens": 370 + "totalTokens": 367 } } metadata: { @@ -5356,6 +5606,6 @@ span_tree: "completion_tokens": 62, "prompt_cache_creation_tokens": 0, "prompt_cached_tokens": 0, - "prompt_tokens": 308, - "tokens": 370 + "prompt_tokens": 305, + "tokens": 367 } diff --git a/e2e/scenarios/ai-sdk-instrumentation/assertions.ts b/e2e/scenarios/ai-sdk-instrumentation/assertions.ts index bbe3a7dc6..c57d7a915 100644 --- a/e2e/scenarios/ai-sdk-instrumentation/assertions.ts +++ b/e2e/scenarios/ai-sdk-instrumentation/assertions.ts @@ -674,6 +674,8 @@ export function defineAISDKInstrumentationAssertions(options: { supportsProviderCacheAssertions: boolean; supportsDenyOutputOverrideScenario: boolean; supportsEmbedMany: boolean; + supportsEvaluate?: boolean; + supportsEvaluateStringModel?: boolean; supportsGenerateObject: boolean; supportsGenerateImage: boolean; supportsOutputObjectScenario: boolean; @@ -912,6 +914,97 @@ export function defineAISDKInstrumentationAssertions(options: { }); } + if (options.supportsEvaluate) { + test( + "captures native evaluation answers and confidence", + testConfig, + () => { + const operation = findLatestSpan(events, "ai-sdk-evaluate-operation"); + expectOperationParentedByRoot( + operation, + findLatestSpan(events, ROOT_NAME), + ); + const spans = findChildSpans(events, "evaluate", operation?.span.id); + expect(spans).toHaveLength(1); + const [span] = spans; + expect(span.span.type).toBe("question"); + expect(span.input).toMatchObject({ + state: { message: expect.any(String) }, + questions: expect.arrayContaining([ + expect.objectContaining({ id: "category", type: "choice" }), + expect.objectContaining({ id: "urgency", type: "score" }), + expect.objectContaining({ id: "duplicate", type: "boolean" }), + ]), + }); + expect(span.output).toMatchObject({ + answers: expect.arrayContaining([ + expect.objectContaining({ + id: "category", + type: "choice", + choice: expect.any(String), + confidence: expect.any(Number), + probabilities: expect.any(Object), + }), + expect.objectContaining({ + id: "urgency", + type: "score", + score: expect.any(Number), + confidence: expect.any(Number), + probabilities: expect.any(Object), + }), + expect.objectContaining({ + id: "duplicate", + type: "boolean", + probability: expect.any(Number), + }), + ]), + }); + expect(span.row.metadata).toMatchObject({ + model: expect.stringMatching(/^jev-/), + provider: "typesafe", + providerMetadata: { typesafe: { confidence: expect.any(Object) } }, + }); + expect(span.metrics).toMatchObject({ + prompt_tokens: expect.any(Number), + completion_tokens: expect.any(Number), + tokens: expect.any(Number), + }); + + if (options.supportsEvaluateStringModel !== false) { + const stringOperation = findLatestSpan( + events, + "ai-sdk-evaluate-string-operation", + ); + const stringSpans = findChildSpans( + events, + "evaluate", + stringOperation?.span.id, + ); + expect(stringSpans).toHaveLength(1); + expect(stringSpans[0].input).toMatchObject({ + state: "The package arrived intact and on time.", + questions: [ + expect.objectContaining({ id: "positive", type: "boolean" }), + ], + }); + expect(stringSpans[0].output).toMatchObject({ + answers: [ + { + id: "positive", + type: "boolean", + probability: expect.any(Number), + }, + ], + }); + expect(stringSpans[0].row.metadata).toMatchObject({ + model: expect.stringMatching(/^jev-/), + provider: "typesafe", + }); + } + }, + ); + } + if (options.supportsRerank) { test("captures trace for rerank()", testConfig, () => { const root = findLatestSpan(events, ROOT_NAME); diff --git a/e2e/scenarios/ai-sdk-instrumentation/package.json b/e2e/scenarios/ai-sdk-instrumentation/package.json index b5ddbe320..67551e5f2 100644 --- a/e2e/scenarios/ai-sdk-instrumentation/package.json +++ b/e2e/scenarios/ai-sdk-instrumentation/package.json @@ -54,7 +54,7 @@ }, "ai-sdk-v7-latest": { "package": "ai", - "range": "7.0.0" + "range": "7" }, "ai-sdk-openai-v7-latest": { "package": "@ai-sdk/openai", @@ -98,8 +98,8 @@ "ai-sdk-anthropic-v6-latest": "npm:@ai-sdk/anthropic@3.0.107", "ai-sdk-cohere-v6": "npm:@ai-sdk/cohere@3.0.7", "ai-sdk-cohere-v6-latest": "npm:@ai-sdk/cohere@3.0.51", - "ai-sdk-v7": "npm:ai@7.0.0", - "ai-sdk-v7-latest": "npm:ai@7.0.0", + "ai-sdk-v7": "npm:ai@7.0.103", + "ai-sdk-v7-latest": "npm:ai@7.0.105", "ai-sdk-openai-v7": "npm:@ai-sdk/openai@4.0.0", "ai-sdk-openai-v7-latest": "npm:@ai-sdk/openai@4.0.36", "ai-sdk-anthropic-v7": "npm:@ai-sdk/anthropic@4.0.0", diff --git a/e2e/scenarios/ai-sdk-instrumentation/pnpm-lock.yaml b/e2e/scenarios/ai-sdk-instrumentation/pnpm-lock.yaml index 78043204b..f33109c17 100644 --- a/e2e/scenarios/ai-sdk-instrumentation/pnpm-lock.yaml +++ b/e2e/scenarios/ai-sdk-instrumentation/pnpm-lock.yaml @@ -111,11 +111,11 @@ importers: specifier: npm:ai@6.0.246 version: ai@6.0.246(zod@3.25.76) ai-sdk-v7: - specifier: npm:ai@7.0.0 - version: ai@7.0.0(zod@3.25.76) + specifier: npm:ai@7.0.103 + version: ai@7.0.103(zod@3.25.76) ai-sdk-v7-latest: - specifier: npm:ai@7.0.0 - version: ai@7.0.0(zod@3.25.76) + specifier: npm:ai@7.0.105 + version: ai@7.0.105(zod@3.25.76) ai-sdk-workflow-v1: specifier: npm:@ai-sdk/workflow@1.0.8 version: '@ai-sdk/workflow@1.0.8(zod@3.25.76)' @@ -221,14 +221,20 @@ packages: peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/gateway@4.0.0': - resolution: {integrity: sha512-rcKukspbM4h511ot2E8TsPl7rXjRK1zHKrMCP7w4+XF55UKqQHaDzo2kKbGv5rp8Bjb1yQatIHJZE1E2yrOOMw==} + '@ai-sdk/gateway@4.0.6': + resolution: {integrity: sha512-8GjssUxXeTd8tst2fYXNOFbtNNZFv3sG7aq7wKnQYrU2eB3JFR7np6o4F3Snp/fy/rJZSeH28LvjSWq5wkdL8Q==} engines: {node: '>=22'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/gateway@4.0.6': - resolution: {integrity: sha512-8GjssUxXeTd8tst2fYXNOFbtNNZFv3sG7aq7wKnQYrU2eB3JFR7np6o4F3Snp/fy/rJZSeH28LvjSWq5wkdL8Q==} + '@ai-sdk/gateway@4.0.83': + resolution: {integrity: sha512-wAq7GX2Knqq7p87hSFqU+joaDN+NRZ+l0T54F7/h49Sm+hJxfEWapjw5GUn0qpNM932xIkS0Kf3U2NqgKZFa/A==} + engines: {node: '>=22'} + peerDependencies: + zod: ^3.25.76 || ^4.1.8 + + '@ai-sdk/gateway@4.0.85': + resolution: {integrity: sha512-c8ztST/CslupqO3p7izsAuG3TlKg9mhE6mGJ42iUADsSMJIV5IOKd9AsLG33QCAY7SWs6NDO2giM/rq7bUTNlQ==} engines: {node: '>=22'} peerDependencies: zod: ^3.25.76 || ^4.1.8 @@ -383,6 +389,18 @@ packages: peerDependencies: zod: ^3.25.76 || ^4.1.8 + '@ai-sdk/provider-utils@5.0.42': + resolution: {integrity: sha512-e1WX26WUuZat8JW5KQ/meE0PPJV/MZPHwxS9Fcb3Q9Eo6xm5qnhLLLhpwf11mjJZAVIydDHdmC+vweMAlS6gbQ==} + engines: {node: '>=22'} + peerDependencies: + zod: ^3.25.76 || ^4.1.8 + + '@ai-sdk/provider-utils@5.0.43': + resolution: {integrity: sha512-gw/bcNseOGSs59TMtV4H1KwqXXe24NHgx+uBYr98pa4Fg6Uvp8hPPxjuckVnfFFyIxHCDew8so0ujpvcSuyMZA==} + engines: {node: '>=22'} + peerDependencies: + zod: ^3.25.76 || ^4.1.8 + '@ai-sdk/provider@0.0.23': resolution: {integrity: sha512-oAc49O5+xypVrKM7EUU5P/Y4DUL4JZUWVxhejoAVOTOl3WZUEWsMbP3QZR+TrimQIsS0WR/n9UuF6U0jPdp0tQ==} engines: {node: '>=18'} @@ -435,6 +453,14 @@ packages: resolution: {integrity: sha512-6p3C/vGqVIjcptBu1DnVd/BZJ2wWmV9TUv9192vT6ZvT9KNED8EwRTqyqFpoQZKgSbMDSvBSq3dqR524Nt/Crw==} engines: {node: '>=22'} + '@ai-sdk/provider@4.0.16': + resolution: {integrity: sha512-pppj3u2efqrL5H20uOCayE9pXRjUZWLRHpdW1b2KRCdykYlgvt/bkVPyagv1IHDhkru7vmEkOhdytRagCQjNIQ==} + engines: {node: '>=22'} + + '@ai-sdk/provider@4.0.17': + resolution: {integrity: sha512-VYMBxIQdcHqbIf1j+YZlI9Ati6LZ4wJe0GGd4z4a5H/KxTggjeOiyaVYTnfF7LHZK5jMQ+rofmzz4QPqf++NUw==} + engines: {node: '>=22'} + '@ai-sdk/provider@4.0.7': resolution: {integrity: sha512-6or44XprPzKbr8zkmzosowSE0pxkvJcoojBL+mCZvPUt3kvXp3XSNqeVun9golb1acEfSo6yaEBRT18h2VU+1Q==} engines: {node: '>=22'} @@ -671,8 +697,14 @@ packages: peerDependencies: zod: ^3.25.76 || ^4.1.8 - ai@7.0.0: - resolution: {integrity: sha512-hncs+jamJh8r36K6G8xky7oF4Ai/RLU5TF85FMzI2vElyMJGGnLoHihpdmuDiuY2BsktDWHevKaJM1l0VcRLGw==} + ai@7.0.103: + resolution: {integrity: sha512-WuKq2oadMMP7L2tplq0Z3LwVhELdgTqRLSu7E5dcSte5Vk4BEhGBl0x86kKjgeH/F1RYKAy+sgjgsZONXzF6xQ==} + engines: {node: '>=22'} + peerDependencies: + zod: ^3.25.76 || ^4.1.8 + + ai@7.0.105: + resolution: {integrity: sha512-gkV3W+tTtWwQ41KNV/KjV8wabBrk+bnbnZ3f0AWp/T9LLyljose8uhFViKleVy7tIdEiR2PiS4BpbNdcExf7rQ==} engines: {node: '>=22'} peerDependencies: zod: ^3.25.76 || ^4.1.8 @@ -954,17 +986,24 @@ snapshots: '@vercel/oidc': 3.2.0 zod: 3.25.76 - '@ai-sdk/gateway@4.0.0(zod@3.25.76)': + '@ai-sdk/gateway@4.0.6(zod@3.25.76)': dependencies: - '@ai-sdk/provider': 4.0.0 - '@ai-sdk/provider-utils': 5.0.0(zod@3.25.76) + '@ai-sdk/provider': 4.0.1 + '@ai-sdk/provider-utils': 5.0.2(zod@3.25.76) '@vercel/oidc': 3.2.0 zod: 3.25.76 - '@ai-sdk/gateway@4.0.6(zod@3.25.76)': + '@ai-sdk/gateway@4.0.83(zod@3.25.76)': dependencies: - '@ai-sdk/provider': 4.0.1 - '@ai-sdk/provider-utils': 5.0.2(zod@3.25.76) + '@ai-sdk/provider': 4.0.16 + '@ai-sdk/provider-utils': 5.0.42(zod@3.25.76) + '@vercel/oidc': 3.2.0 + zod: 3.25.76 + + '@ai-sdk/gateway@4.0.85(zod@3.25.76)': + dependencies: + '@ai-sdk/provider': 4.0.17 + '@ai-sdk/provider-utils': 5.0.43(zod@3.25.76) '@vercel/oidc': 3.2.0 zod: 3.25.76 @@ -1137,6 +1176,24 @@ snapshots: undici: 7.29.0 zod: 3.25.76 + '@ai-sdk/provider-utils@5.0.42(zod@3.25.76)': + dependencies: + '@ai-sdk/provider': 4.0.16 + '@standard-schema/spec': 1.1.0 + '@workflow/serde': 4.1.0 + eventsource-parser: 3.0.8 + undici: 7.29.0 + zod: 3.25.76 + + '@ai-sdk/provider-utils@5.0.43(zod@3.25.76)': + dependencies: + '@ai-sdk/provider': 4.0.17 + '@standard-schema/spec': 1.1.0 + '@workflow/serde': 4.1.0 + eventsource-parser: 3.0.8 + undici: 7.29.0 + zod: 3.25.76 + '@ai-sdk/provider@0.0.23': dependencies: json-schema: 0.4.0 @@ -1189,6 +1246,14 @@ snapshots: dependencies: json-schema: 0.4.0 + '@ai-sdk/provider@4.0.16': + dependencies: + json-schema: 0.4.0 + + '@ai-sdk/provider@4.0.17': + dependencies: + json-schema: 0.4.0 + '@ai-sdk/provider@4.0.7': dependencies: json-schema: 0.4.0 @@ -1445,11 +1510,18 @@ snapshots: '@opentelemetry/api': 1.9.0 zod: 3.25.76 - ai@7.0.0(zod@3.25.76): + ai@7.0.103(zod@3.25.76): dependencies: - '@ai-sdk/gateway': 4.0.0(zod@3.25.76) - '@ai-sdk/provider': 4.0.0 - '@ai-sdk/provider-utils': 5.0.0(zod@3.25.76) + '@ai-sdk/gateway': 4.0.83(zod@3.25.76) + '@ai-sdk/provider': 4.0.16 + '@ai-sdk/provider-utils': 5.0.42(zod@3.25.76) + zod: 3.25.76 + + ai@7.0.105(zod@3.25.76): + dependencies: + '@ai-sdk/gateway': 4.0.85(zod@3.25.76) + '@ai-sdk/provider': 4.0.17 + '@ai-sdk/provider-utils': 5.0.43(zod@3.25.76) zod: 3.25.76 ai@7.0.8(zod@3.25.76): diff --git a/e2e/scenarios/ai-sdk-instrumentation/scenario.ai-sdk-v7-explicit.mjs b/e2e/scenarios/ai-sdk-instrumentation/scenario.ai-sdk-v7-explicit.mjs index 5841687a8..c6575be3b 100644 --- a/e2e/scenarios/ai-sdk-instrumentation/scenario.ai-sdk-v7-explicit.mjs +++ b/e2e/scenarios/ai-sdk-instrumentation/scenario.ai-sdk-v7-explicit.mjs @@ -51,6 +51,10 @@ runMain(async () => { supportsDenyOutputOverrideScenario: false, supportsAgentToolLoop: true, supportsEmbedMany: true, + supportsEvaluate: true, + supportsEvaluateStringModel: + process.env.AI_SDK_SUPPORTS_EVALUATE_STRING_MODEL !== "false", + evaluate: wrapAISDK(ai).experimental_evaluate, supportsGenerateObject: true, supportsGenerateImage: false, supportsOpenAICacheScenario: false, diff --git a/e2e/scenarios/ai-sdk-instrumentation/scenario.ai-sdk-v7.mjs b/e2e/scenarios/ai-sdk-instrumentation/scenario.ai-sdk-v7.mjs index f2e7e8539..fd057b9f7 100644 --- a/e2e/scenarios/ai-sdk-instrumentation/scenario.ai-sdk-v7.mjs +++ b/e2e/scenarios/ai-sdk-instrumentation/scenario.ai-sdk-v7.mjs @@ -40,6 +40,9 @@ runAutoAISDKInstrumentationOrExit({ supportsAgentToolLoop: true, supportsDenyOutputOverrideScenario: false, supportsEmbedMany: true, + supportsEvaluate: true, + supportsEvaluateStringModel: + process.env.AI_SDK_SUPPORTS_EVALUATE_STRING_MODEL !== "false", supportsGenerateObject: true, supportsGenerateImage: false, supportsOpenAICacheScenario: false, diff --git a/e2e/scenarios/ai-sdk-instrumentation/scenario.ai-sdk-v7.ts b/e2e/scenarios/ai-sdk-instrumentation/scenario.ai-sdk-v7.ts index 1fad7a0ed..3b40ef979 100644 --- a/e2e/scenarios/ai-sdk-instrumentation/scenario.ai-sdk-v7.ts +++ b/e2e/scenarios/ai-sdk-instrumentation/scenario.ai-sdk-v7.ts @@ -5,7 +5,7 @@ const coherePackageName = process.env.AI_SDK_COHERE_PACKAGE_NAME ?? "ai-sdk-cohere-v7-latest"; const openaiPackageName = process.env.AI_SDK_OPENAI_PACKAGE_NAME ?? "ai-sdk-openai-v7-latest"; -import { braintrustAISDKTelemetry } from "braintrust"; +import { braintrustAISDKTelemetry, wrapAISDK } from "braintrust"; import { getInstalledPackageVersion, runMain, @@ -37,6 +37,10 @@ runMain(async () => { supportsDenyOutputOverrideScenario: false, supportsAgentToolLoop: true, supportsEmbedMany: true, + supportsEvaluate: true, + supportsEvaluateStringModel: + process.env.AI_SDK_SUPPORTS_EVALUATE_STRING_MODEL !== "false", + evaluate: wrapAISDK(ai).experimental_evaluate, supportsGenerateObject: true, supportsGenerateImage: false, supportsOpenAICacheScenario: false, diff --git a/e2e/scenarios/ai-sdk-instrumentation/scenario.impl.mjs b/e2e/scenarios/ai-sdk-instrumentation/scenario.impl.mjs index f09635def..3a6b329b5 100644 --- a/e2e/scenarios/ai-sdk-instrumentation/scenario.impl.mjs +++ b/e2e/scenarios/ai-sdk-instrumentation/scenario.impl.mjs @@ -166,6 +166,8 @@ export const AI_SDK_SCENARIO_SPECS = [ openaiModuleName: "ai-sdk-openai-v7", packageName: "ai-sdk-v7", snapshotName: "ai-sdk-v7", + supportsEvaluate: true, + supportsEvaluateStringModel: false, anthropicModuleName: "ai-sdk-anthropic-v7", supportsAgentToolLoop: true, supportsDenyOutputOverrideScenario: false, @@ -194,6 +196,7 @@ export const AI_SDK_SCENARIO_SPECS = [ openaiModuleName: "ai-sdk-openai-v7-latest", packageName: "ai-sdk-v7-latest", snapshotName: "ai-sdk-v7-latest", + supportsEvaluate: true, anthropicModuleName: "ai-sdk-anthropic-v7-latest", supportsAgentToolLoop: true, supportsDenyOutputOverrideScenario: false, @@ -252,6 +255,102 @@ function createOutputObjectIfSupported(ai) { return undefined; } +function createTypeSafeEvaluationModel(modelId = "jev-latest") { + return { + specificationVersion: "v4", + provider: "typesafe", + modelId, + supportedQuestionTypes: ["choice", "score", "boolean"], + async doEvaluate({ state, questions, abortSignal, headers }) { + const apiKey = process.env.TYPESAFE_API_KEY; + if (!apiKey) { + throw new Error( + "Expected TYPESAFE_API_KEY to be set for AI SDK evaluate e2e", + ); + } + const baseURL = ( + process.env.TYPESAFE_BASE_URL ?? "https://api.typesafe.ai" + ).replace(/\/+$/, ""); + const typeSafeQuestions = Object.fromEntries( + Object.entries(questions).map(([id, question]) => [ + id, + question.type === "boolean" + ? { ...question, type: "noul" } + : question, + ]), + ); + const response = await fetch(`${baseURL}/v1/systemone`, { + method: "POST", + headers: { + authorization: `Bearer ${apiKey}`, + "content-type": "application/json", + ...headers, + }, + body: JSON.stringify({ + model: modelId, + state, + questions: typeSafeQuestions, + }), + signal: abortSignal, + }); + if (!response.ok) { + throw new Error( + `TypeSafe evaluate request failed (${response.status}): ${await response.text()}`, + ); + } + const result = await response.json(); + const confidenceEntries = []; + const answers = Object.fromEntries( + Object.entries(result.answers).map(([id, answer]) => { + if (answer.type === "noul") { + return [id, { type: "boolean", probability: answer.noul }]; + } + if (typeof answer.confidence === "number") { + confidenceEntries.push([id, answer.confidence]); + } + if (answer.type === "choice") { + return [ + id, + { + type: "choice", + choice: answer.choice, + probabilities: answer.probabilities, + }, + ]; + } + return [ + id, + { + type: "score", + score: answer.score, + probabilities: answer.probabilities, + }, + ]; + }), + ); + return { + answers, + rounding: { probabilityDecimals: 2, scoreDecimals: 2 }, + usage: { + inputTokens: result.usage?.input_tokens, + outputTokens: result.usage?.output_tokens, + }, + warnings: [], + providerMetadata: { + typesafe: + confidenceEntries.length > 0 + ? { confidence: Object.fromEntries(confidenceEntries) } + : {}, + }, + response: { + modelId: result.model, + headers: Object.fromEntries(response.headers), + }, + }; + }, + }; +} + async function assertOutputObjectResponseFormatShape(ai, sdkMajorVersion) { const outputSchema = ai.Output.object({ schema: z.object({ @@ -419,6 +518,71 @@ async function runAISDKInstrumentationScenario( await runTracedScenario({ callback: async () => { + if (options.supportsEvaluate) { + const evaluate = + options.evaluate ?? instrumentedAI.experimental_evaluate; + await runOperation( + "ai-sdk-evaluate-operation", + "evaluate", + async () => { + await evaluate({ + model: createTypeSafeEvaluationModel(), + state: { + message: + "I was charged twice for my subscription. Please refund the duplicate charge.", + }, + questions: { + category: { + type: "choice", + instructions: "Which team should handle this request?", + criteria: { + billing: "Payments and refunds", + technical: "Software problems", + }, + }, + urgency: { + type: "score", + instructions: "How urgent is this request?", + criteria: ["Low", "Medium", "High"], + }, + duplicate: { + type: "boolean", + instructions: "Does the customer report a duplicate charge?", + }, + }, + }); + }, + ); + if (options.supportsEvaluateStringModel !== false) { + const originalProvider = globalThis.AI_SDK_DEFAULT_PROVIDER; + try { + globalThis.AI_SDK_DEFAULT_PROVIDER = { + evaluationModel: (modelId) => + createTypeSafeEvaluationModel( + modelId === "typesafe-ai/jev" ? "jev-latest" : modelId, + ), + }; + await runOperation( + "ai-sdk-evaluate-string-operation", + "evaluate-string", + async () => { + await evaluate({ + model: "typesafe-ai/jev", + state: "The package arrived intact and on time.", + questions: { + positive: { + type: "boolean", + instructions: "Was the delivery successful?", + }, + }, + }); + }, + ); + } finally { + globalThis.AI_SDK_DEFAULT_PROVIDER = originalProvider; + } + } + } await runOperation("ai-sdk-generate-operation", "generate", async () => { await instrumentedAI.generateText({ model: openaiModel, diff --git a/e2e/scenarios/ai-sdk-instrumentation/scenario.test.ts b/e2e/scenarios/ai-sdk-instrumentation/scenario.test.ts index fb2fa4f63..6fd7ff261 100644 --- a/e2e/scenarios/ai-sdk-instrumentation/scenario.test.ts +++ b/e2e/scenarios/ai-sdk-instrumentation/scenario.test.ts @@ -57,6 +57,9 @@ describeVariants("variants", () => { env: { AI_SDK_PACKAGE_NAME: scenario.packageName, AI_SDK_OPENAI_PACKAGE_NAME: scenario.openaiModuleName, + AI_SDK_SUPPORTS_EVALUATE_STRING_MODEL: String( + scenario.supportsEvaluateStringModel !== false, + ), ...(scenario.anthropicModuleName ? { AI_SDK_ANTHROPIC_PACKAGE_NAME: scenario.anthropicModuleName, @@ -90,6 +93,9 @@ describeVariants("variants", () => { scenario.supportsProviderCacheAssertions, supportsDenyOutputOverrideScenario, supportsEmbedMany: scenario.supportsEmbedMany !== false, + supportsEvaluate: scenario.supportsEvaluate === true, + supportsEvaluateStringModel: + scenario.supportsEvaluateStringModel !== false, supportsGenerateObject: scenario.supportsGenerateObject, supportsGenerateImage: scenario.supportsGenerateImage ?? sdkMajorVersion >= 5, @@ -112,6 +118,9 @@ describeVariants("variants", () => { env: { AI_SDK_PACKAGE_NAME: scenario.packageName, AI_SDK_OPENAI_PACKAGE_NAME: scenario.openaiModuleName, + AI_SDK_SUPPORTS_EVALUATE_STRING_MODEL: String( + scenario.supportsEvaluateStringModel !== false, + ), ...(scenario.anthropicModuleName ? { AI_SDK_ANTHROPIC_PACKAGE_NAME: scenario.anthropicModuleName, @@ -146,6 +155,9 @@ describeVariants("variants", () => { scenario.supportsProviderCacheAssertions, supportsDenyOutputOverrideScenario, supportsEmbedMany: scenario.supportsEmbedMany !== false, + supportsEvaluate: scenario.supportsEvaluate === true, + supportsEvaluateStringModel: + scenario.supportsEvaluateStringModel !== false, supportsGenerateObject: scenario.supportsGenerateObject, supportsGenerateImage: scenario.supportsGenerateImage ?? sdkMajorVersion >= 5, diff --git a/js/src/auto-instrumentations/configs/ai-sdk.ts b/js/src/auto-instrumentations/configs/ai-sdk.ts index 8959b0f2f..b015998df 100644 --- a/js/src/auto-instrumentations/configs/ai-sdk.ts +++ b/js/src/auto-instrumentations/configs/ai-sdk.ts @@ -16,6 +16,20 @@ import { * "orchestrion:ai-sdk:generateText" */ export const aiSDKConfigs: InstrumentationConfig[] = [ + // Evaluation does not emit v7 telemetry callbacks. Instrument its public export. + { + channelName: aiSDKChannels.evaluate.channelName, + module: { + name: "ai", + versionRange: ">=7.0.103 <8.0.0", + filePath: "dist/index.js", + }, + functionQuery: { + functionName: "experimental_evaluate", + isExportAlias: true, + kind: "Async", + }, + }, // HarnessAgent turn methods are published only from the package's ESM // `./agent` entrypoint. Target the class binding so similarly named getters // on stream result classes are not mistaken for agent turn methods. diff --git a/js/src/instrumentation/plugins/ai-sdk-channels.ts b/js/src/instrumentation/plugins/ai-sdk-channels.ts index ea3f4a880..74fb4223b 100644 --- a/js/src/instrumentation/plugins/ai-sdk-channels.ts +++ b/js/src/instrumentation/plugins/ai-sdk-channels.ts @@ -3,6 +3,8 @@ import { INSTRUMENTATION_NAMES } from "../../span-origin"; import type { ChannelSpanInfo } from "../core/types"; import type { AISDK, + AISDKEvaluateParams, + AISDKEvaluationResult, AISDKCallParams, AISDKEmbedParams, AISDKEmbeddingResult, @@ -30,6 +32,14 @@ type AISDKChannelContext = { export const aiSDKChannels = defineChannels( "ai", { + evaluate: channel< + [AISDKEvaluateParams], + AISDKEvaluationResult, + AISDKChannelContext + >({ + channelName: "evaluate", + kind: "async", + }), generateText: channel< [AISDKCallParams], AISDKStreamResult, diff --git a/js/src/instrumentation/plugins/ai-sdk-plugin.ts b/js/src/instrumentation/plugins/ai-sdk-plugin.ts index bfe41694c..364bdb110 100644 --- a/js/src/instrumentation/plugins/ai-sdk-plugin.ts +++ b/js/src/instrumentation/plugins/ai-sdk-plugin.ts @@ -19,6 +19,7 @@ import { _internalStartSpanWithInitialMerge, Attachment, currentSpan, + startSpan, type Span, withCurrent, } from "../../logger"; @@ -50,6 +51,10 @@ import { import { zodToJsonSchema } from "../../zod/utils"; import { aiSDKChannels, harnessAgentChannels } from "./ai-sdk-channels"; import { currentCloudflareThinkSpan } from "./cloudflare-think-context"; +import { + isAutoInstrumentationSuppressed, + runWithAutoInstrumentationSuppressed, +} from "../auto-instrumentation-suppression"; import type { AISDK, AISDKCallParams, @@ -196,6 +201,7 @@ export class AISDKPlugin extends BasePlugin { this.config.denyOutputPaths || DEFAULT_DENY_OUTPUT_PATHS; this.unsubscribers.push(interceptAISDKV7TelemetryDispatcher()); + this.unsubscribers.push(interceptAISDKEvaluate(denyOutputPaths)); this.unsubscribers.push(subscribeToHarnessAgentCreateSession()); this.unsubscribers.push( subscribeToHarnessContinuation( @@ -678,6 +684,140 @@ export class AISDKPlugin extends BasePlugin { } } +function interceptAISDKEvaluate(defaultDenyOutputPaths: string[]): () => void { + return aiSDKChannels.evaluate.intercept( + (target, thisArg, args, additional) => { + if (isAutoInstrumentationSuppressed()) { + return Reflect.apply(target, thisArg, args); + } + + let span: Span; + let denyOutputPaths: string[]; + try { + const params = args[0]; + const spanInfo = additional.span_info; + denyOutputPaths = resolveDenyOutputPaths( + { ...additional, arguments: args }, + defaultDenyOutputPaths, + ); + span = startSpan( + withSpanInstrumentationName( + { + name: spanInfo?.name ?? "evaluate", + spanAttributes: { + type: "question", + ...spanInfo?.spanAttributes, + }, + event: { + input: { + state: params.state, + questions: addEvaluationIds(params.questions), + }, + metadata: { + ...extractBaseMetadata(params.model), + ...spanInfo?.metadata, + }, + }, + }, + INSTRUMENTATION_NAMES.AI_SDK, + ), + ); + } catch (error) { + debugLogger.error("Error starting span for evaluate:", error); + return Reflect.apply(target, thisArg, args); + } + + const finish = (log: () => void) => { + try { + log(); + } catch (error) { + debugLogger.error("Error logging span for evaluate:", error); + } + try { + span.end(); + } catch (error) { + debugLogger.error("Error ending span for evaluate:", error); + } + }; + + try { + const result = withCurrent(span, () => + runWithAutoInstrumentationSuppressed(() => + Reflect.apply(target, thisArg, args), + ), + ); + void Promise.resolve(result).then( + (value) => + finish(() => { + const confidence = value.providerMetadata?.typesafe?.confidence; + const gatewayRouting = extractGatewayRoutingInfo(value); + const requestMetadata = serializeModelWithProvider(args[0].model); + const providerMetadataKeys = Object.keys( + value.providerMetadata ?? {}, + ).filter((key) => key !== "gateway"); + const resolvedModel = serializeModelWithProvider( + gatewayRouting?.model ?? value.response?.modelId, + ); + const resolvedProvider = + gatewayRouting?.provider ?? + (providerMetadataKeys.length === 1 + ? providerMetadataKeys[0] + : (resolvedModel.provider ?? requestMetadata.provider)); + span.log({ + output: omit( + { + answers: addEvaluationIds(value.answers, confidence), + }, + denyOutputPaths, + ), + metrics: extractTokenMetrics(value), + metadata: { + ...(resolvedModel.model + ? { model: resolvedModel.model } + : {}), + ...(resolvedProvider ? { provider: resolvedProvider } : {}), + ...(confidence + ? { providerMetadata: { typesafe: { confidence } } } + : {}), + }, + }); + }), + (error) => finish(() => span.log({ error })), + ); + return result; + } catch (error) { + finish(() => span.log({ error })); + throw error; + } + }, + ); +} + +function addEvaluationIds( + value: unknown, + confidence: unknown = undefined, +): unknown { + if (!isObject(value)) { + return value; + } + + return Object.entries(value).map(([id, entry]) => { + if (!isObject(entry)) { + return { id, value: entry }; + } + + const answerConfidence = isObject(confidence) ? confidence[id] : undefined; + return { + ...entry, + ...(typeof answerConfidence === "number" && + (entry.type === "choice" || entry.type === "score") + ? { confidence: answerConfidence } + : {}), + id, + }; + }); +} + function subscribeToHarnessAgentCreateSession(): () => void { const channel = harnessAgentChannels.createSession.tracingChannel(); const parents = new WeakMap(); @@ -3824,9 +3964,14 @@ export function extractTokenMetrics( return metrics; } + const inputTokenDetails = + typeof usage.inputTokens === "object" ? usage.inputTokens : undefined; + const outputTokenDetails = + typeof usage.outputTokens === "object" ? usage.outputTokens : undefined; + // Extract token counts const promptTokens = firstNumber( - usage.inputTokens?.total, + inputTokenDetails?.total, usage.inputTokens, usage.promptTokens, usage.prompt_tokens, @@ -3836,7 +3981,7 @@ export function extractTokenMetrics( } const completionTokens = firstNumber( - usage.outputTokens?.total, + outputTokenDetails?.total, usage.outputTokens, usage.completionTokens, usage.completion_tokens, @@ -3857,7 +4002,7 @@ export function extractTokenMetrics( } const promptCachedTokens = firstNumber( - usage.inputTokens?.cacheRead, + inputTokenDetails?.cacheRead, usage.inputTokenDetails?.cacheReadTokens, usage.cachedInputTokens, usage.promptCachedTokens, @@ -3868,7 +4013,7 @@ export function extractTokenMetrics( } const promptCacheCreationTokens = firstNumber( - usage.inputTokens?.cacheWrite, + inputTokenDetails?.cacheWrite, usage.inputTokenDetails?.cacheWriteTokens, usage.promptCacheCreationTokens, usage.prompt_cache_creation_tokens, @@ -3895,7 +4040,7 @@ export function extractTokenMetrics( } const reasoningTokenCount = firstNumber( - usage.outputTokens?.reasoning, + outputTokenDetails?.reasoning, usage.reasoningTokens, usage.completionReasoningTokens, usage.completion_reasoning_tokens, diff --git a/js/src/vendor-sdk-types/ai-sdk-common.ts b/js/src/vendor-sdk-types/ai-sdk-common.ts index 5c8d406ba..2bb074024 100644 --- a/js/src/vendor-sdk-types/ai-sdk-common.ts +++ b/js/src/vendor-sdk-types/ai-sdk-common.ts @@ -12,7 +12,7 @@ interface AISDKTokenBucket { [key: string]: unknown; } -type AISDKTokenCount = number & AISDKTokenBucket; +type AISDKTokenCount = number | AISDKTokenBucket; export interface AISDKUsage { inputTokens?: AISDKTokenCount; @@ -79,6 +79,25 @@ export interface AISDKGeneratedFile { [key: string]: unknown; } +export interface AISDKEvaluateParams { + model: string | { modelId: string; provider: string }; + state: unknown; + questions: Record; + [key: string]: unknown; +} + +export interface AISDKEvaluationResult extends AISDKResult { + answers: Record; + response?: Record & { modelId?: string }; + providerMetadata?: AISDKProviderMetadata & { + typesafe?: { confidence?: Record }; + }; +} + +export type AISDKEvaluateFunction = ( + params: AISDKEvaluateParams, +) => Promise; + export interface AISDKGenerateImageParams extends Omit< AISDKCallParams, "prompt" @@ -370,6 +389,7 @@ export interface AISDKProviderResolver { } export interface AISDKNamespaceBase { + experimental_evaluate?: AISDKEvaluateFunction; generateText: AISDKGenerateFunction; generateImage?: AISDKGenerateImageFunction; experimental_generateImage?: AISDKGenerateImageFunction; diff --git a/js/src/vendor-sdk-types/ai-sdk.ts b/js/src/vendor-sdk-types/ai-sdk.ts index 4f36a0d22..b2c783b5d 100644 --- a/js/src/vendor-sdk-types/ai-sdk.ts +++ b/js/src/vendor-sdk-types/ai-sdk.ts @@ -1,4 +1,6 @@ import type { + AISDKEvaluateParams, + AISDKEvaluationResult, AISDKAgentClass, AISDKAgentInstance, AISDKCallParams, @@ -46,6 +48,8 @@ export type AISDKVersion = export type AISDK = AISDKVersion["sdk"]; export type { + AISDKEvaluateParams, + AISDKEvaluationResult, AISDKAgentClass, AISDKAgentInstance, AISDKCallParams, diff --git a/js/src/wrappers/ai-sdk-evaluate.test.ts b/js/src/wrappers/ai-sdk-evaluate.test.ts new file mode 100644 index 000000000..124214deb --- /dev/null +++ b/js/src/wrappers/ai-sdk-evaluate.test.ts @@ -0,0 +1,288 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/consistent-type-assertions */ +import { afterEach, beforeEach, describe, expect, test, vi } from "vitest"; +import { + _exportsForTestingOnly, + initLogger, + traced, + type TestBackgroundLogger, +} from "../logger"; +import { configureNode } from "../node/config"; +import { aiSDKChannels } from "../instrumentation/plugins/ai-sdk-channels"; +import { registry } from "../instrumentation/registry"; +import { runWithAutoInstrumentationSuppressed } from "../instrumentation/auto-instrumentation-suppression"; +import type { + AISDKEvaluateParams, + AISDKEvaluationResult, +} from "../vendor-sdk-types/ai-sdk"; +import { wrapAISDK } from "./ai-sdk/ai-sdk"; + +configureNode(); + +const questions = { + category: { + type: "choice", + instructions: "Which team should handle this request?", + criteria: { billing: null, technical: null }, + }, + urgency: { + type: "score", + instructions: "How urgent is this request?", + criteria: ["Low", "High"], + }, + duplicate: { + type: "boolean", + instructions: "Was there a duplicate charge?", + }, +}; + +const answers = { + category: { + type: "choice", + choice: "billing", + probabilities: { billing: 0.9, technical: 0.1 }, + }, + urgency: { + type: "score", + score: 0.75, + probabilities: { 0: 0.25, 1: 0.75 }, + }, + duplicate: { type: "boolean", probability: 0.95 }, +}; + +const params: AISDKEvaluateParams = { + model: "typesafe-ai/jev", + state: { message: "Charged twice" }, + questions, +}; + +const result: AISDKEvaluationResult = { + answers, + usage: { inputTokens: 20, outputTokens: 5, totalTokens: 25 }, + response: { modelId: "typesafe-ai/jev-1.13.0" }, + providerMetadata: { + gateway: { + cost: 0.012, + routing: { + resolvedProvider: "typesafe", + resolvedProviderApiModelId: "jev-1.13.0", + }, + }, + typesafe: { confidence: { category: 0.9, urgency: 0.8 } }, + }, +}; + +describe("AI SDK evaluate instrumentation", () => { + let backgroundLogger: TestBackgroundLogger; + + beforeEach(async () => { + await _exportsForTestingOnly.simulateLoginForTests(); + backgroundLogger = _exportsForTestingOnly.useTestBackgroundLogger(); + initLogger({ + projectName: "ai-sdk-evaluate.test.ts", + projectId: "test-project-id", + }); + }); + + afterEach(() => { + _exportsForTestingOnly.clearTestBackgroundLogger(); + vi.restoreAllMocks(); + }); + + test("captures native answers, allowlisted metadata, usage, and parent context", async () => { + const response = { + ...result, + providerMetadata: { + ...result.providerMetadata, + privateProvider: { secret: "not logged" }, + }, + }; + const original = Promise.resolve(response); + const evaluate = vi.fn((_params: AISDKEvaluateParams) => original); + const wrapped = wrapAISDK({ experimental_evaluate: evaluate }); + await traced( + async () => { + const promise = wrapped.experimental_evaluate(params); + expect(promise).toBe(original); + expect(await promise).toBe(response); + }, + { name: "parent" }, + ); + + expect(evaluate).toHaveBeenCalledExactlyOnceWith(params); + const spans = (await backgroundLogger.drain()) as Record[]; + expect(spans).toHaveLength(2); + const parent = spans.find( + (span) => span.span_attributes?.name === "parent", + ); + const span = spans.find( + (span) => span.span_attributes?.name === "evaluate", + ); + expect(span).toMatchObject({ + span_attributes: { name: "evaluate", type: "question" }, + span_parents: [parent?.span_id], + input: { + state: params.state, + questions: [ + { ...questions.category, id: "category" }, + { ...questions.urgency, id: "urgency" }, + { ...questions.duplicate, id: "duplicate" }, + ], + }, + output: { + answers: [ + { + ...answers.category, + confidence: 0.9, + id: "category", + }, + { + ...answers.urgency, + confidence: 0.8, + id: "urgency", + }, + { ...answers.duplicate, id: "duplicate" }, + ], + }, + metadata: { + model: "jev-1.13.0", + provider: "typesafe", + providerMetadata: { + typesafe: result.providerMetadata?.typesafe, + }, + }, + metrics: { + prompt_tokens: 20, + completion_tokens: 5, + tokens: 25, + estimated_cost: 0.012, + }, + }); + expect(span?.metadata?.providerMetadata).not.toHaveProperty( + "privateProvider", + ); + }); + + test("applies output filtering and span overrides without changing results", async () => { + const evaluate = vi.fn(async (_params: AISDKEvaluateParams) => result); + const wrapped = wrapAISDK( + { experimental_evaluate: evaluate }, + { + denyOutputPaths: ["answers[].probabilities"], + }, + ); + expect( + await wrapped.experimental_evaluate({ + ...params, + span_info: { name: "decision", metadata: { customer: "test" } }, + }), + ).toBe(result); + expect(evaluate.mock.calls[0][0]).not.toHaveProperty("span_info"); + const [span] = (await backgroundLogger.drain()) as Record[]; + expect(span).toMatchObject({ + span_attributes: { name: "decision" }, + metadata: { customer: "test" }, + }); + expect(span.output.answers).toEqual( + expect.arrayContaining([ + expect.objectContaining({ + id: "category", + probabilities: "", + }), + ]), + ); + expect(answers.category).toHaveProperty("probabilities", { + billing: 0.9, + technical: 0.1, + }); + }); + + test("deduplicates nested wrappers and automatic hooks", async () => { + const evaluate = vi.fn(async (_params: AISDKEvaluateParams) => result); + const autoInstrumented = { + experimental_evaluate: (params: AISDKEvaluateParams) => + aiSDKChannels.evaluate.invoke(evaluate, undefined, [params], {}), + }; + await wrapAISDK(wrapAISDK(autoInstrumented)).experimental_evaluate(params); + expect(evaluate).toHaveBeenCalledOnce(); + expect(await backgroundLogger.drain()).toHaveLength(1); + }); + + test("preserves calls while disabled and resumes without duplicate subscriptions", async () => { + const original = Promise.resolve(result); + const wrapped = wrapAISDK({ + experimental_evaluate: (_params: AISDKEvaluateParams) => original, + }); + registry.disable(); + registry.disable(); + try { + expect(wrapped.experimental_evaluate(params)).toBe(original); + await original; + expect(await backgroundLogger.drain()).toHaveLength(0); + } finally { + registry.enable(); + registry.enable(); + } + await wrapped.experimental_evaluate(params); + expect(await backgroundLogger.drain()).toHaveLength(1); + }); + + test.each([false, true])( + "preserves errors (synchronous: %s)", + async (synchronous) => { + const error = new Error("Evaluation failed"); + const evaluate = (_params: AISDKEvaluateParams) => { + if (synchronous) throw error; + return Promise.reject(error); + }; + const wrapped = wrapAISDK({ experimental_evaluate: evaluate }); + if (synchronous) { + expect(() => wrapped.experimental_evaluate(params)).toThrow(error); + } else { + await expect(wrapped.experimental_evaluate(params)).rejects.toBe(error); + } + const [span] = (await backgroundLogger.drain()) as Record[]; + expect(span.error).toContain("Evaluation failed"); + expect(span.metrics?.end).toEqual(expect.any(Number)); + }, + ); + + test("omits unavailable usage and respects suppression", async () => { + const wrapped = wrapAISDK({ + experimental_evaluate: async (_params: AISDKEvaluateParams) => ({ + answers: {}, + }), + }); + await wrapped.experimental_evaluate({ + ...params, + model: { modelId: "custom", provider: "custom-provider" }, + }); + await runWithAutoInstrumentationSuppressed(() => + wrapped.experimental_evaluate(params), + ); + const spans = (await backgroundLogger.drain()) as Record[]; + expect(spans).toHaveLength(1); + expect(spans[0].metadata).toMatchObject({ + model: "custom", + provider: "custom-provider", + }); + expect(spans[0].metrics).not.toHaveProperty("tokens"); + }); + + test("contains extraction failures and preserves older SDK namespaces", async () => { + expect( + wrapAISDK({ experimental_evaluate: undefined }).experimental_evaluate, + ).toBeUndefined(); + const malformed = { + get answers(): never { + throw new Error("Unreadable answers"); + }, + }; + const wrapped = wrapAISDK({ + experimental_evaluate: async (_params: AISDKEvaluateParams) => malformed, + }); + expect(await wrapped.experimental_evaluate(params)).toBe(malformed); + const [span] = (await backgroundLogger.drain()) as Record[]; + expect(span.metrics?.end).toEqual(expect.any(Number)); + }); +}); diff --git a/js/src/wrappers/ai-sdk/ai-sdk.ts b/js/src/wrappers/ai-sdk/ai-sdk.ts index 1173a0e0d..d543e6a37 100644 --- a/js/src/wrappers/ai-sdk/ai-sdk.ts +++ b/js/src/wrappers/ai-sdk/ai-sdk.ts @@ -12,6 +12,7 @@ import type { AISDKCallParams, AISDKEmbedFunction, AISDKEmbedParams, + AISDKEvaluateParams, AISDKGenerateImageFunction, AISDKGenerateImageParams, AISDKGenerateFunction, @@ -126,6 +127,21 @@ export function wrapAISDK(aiSDK: T, options: WrapAISDKOptions = {}): T { get(target, prop, receiver) { const original = Reflect.get(target, prop, receiver); switch (prop) { + case "experimental_evaluate": { + const evaluate = typedAISDK.experimental_evaluate; + return typeof evaluate === "function" + ? function ( + this: unknown, + allParams: AISDKEvaluateParams & SpanInfo, + ) { + const { span_info, ...params } = allParams; + return aiSDKChannels.evaluate.invoke(evaluate, this, [params], { + denyOutputPaths: options.denyOutputPaths, + span_info, + }); + } + : original; + } case "generateText": return wrapGenerateText(typedAISDK.generateText, options, typedAISDK); case "generateImage":