diff --git a/CHANGELOG.md b/CHANGELOG.md index f01129553..882c2fa12 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,29 +1,83 @@ # Release History -## 2.6.0-beta.1 (Unreleased) +## 2.6.0 (2025-10-31) ### Acknowledgments Thank you to our developer community members who helped to make the OpenAI client library better with their contributions to this release: - Maksim Kurnakov _([GitHub](https://github.com/kurnakovv))_ -- Benjamin Pinter _([GitHub](https://github.com/BenjaminDavidPinter))_ ### Features Added - OpenAI.Chat: - - Added the `Minimal` property to `ChatReasoningEffortLevel`_(A community contribution, courtesy of [kurnakovv](https://github.com/kurnakovv))_ + - Added the `Minimal` property to `ChatReasoningEffortLevel`. _(A community contribution, courtesy of [kurnakovv](https://github.com/kurnakovv))_ + - Added support for System.Client.Model's `JsonPatch`, which enables users to get and set additional JSON properties in response and request payloads. + - See the following examples for more information: + - [AdditionalProperties](https://github.com/openai/openai-dotnet/blob/main/examples/Chat/Example10_AdditionalProperties.cs) + - [AdditionalPropertiesAsync](https://github.com/openai/openai-dotnet/blob/main/examples/Chat/Example10_AdditionalPropertiesAsync.cs) + - Go to the OpenAI.Responses section in this changelog for more examples that can be extrapolated to Chat. +- OpenAI.Conversations: + - Introduced the new `ConversationClient` to support the Conversations API with protocol methods for the following operations: + - `CreateConversation` and `CreateConversationAsync` + - `GetConversation` and `GetConversationAsync` + - `UpdateConversation` and `UpdateConversationAsync` + - `DeleteConversation` and `DeleteConversationAsync` + - `CreateConversationItems` and `CreateConversationItemsAsync` + - `GetConversationItems` and `GetConversationItemsAsync` + - `DeleteConversationItem` and `DeleteConversationItemAsync` +- OpenAI.Embeddings: + - Added support for System.Client.Model's `JsonPatch`, which enables users to get and set additional JSON properties in response and request payloads. + - Go to the OpenAI.Chat and OpenAI.Responses section in this changelog for examples that can be extrapolated to Embeddings. +- OpenAI.Responses: + - Added the `Minimal` property to `ResponseReasoningEffortLevel`. _(A community contribution, courtesy of [kurnakovv](https://github.com/kurnakovv))_ + - Added the `ContainerFileCitationMessageAnnotation` class which is derived from `ResponseMessageAnnotation` and is used to cite files in the container of the Code Interpreter tool. + - Enabled support for the Image Generation tool, which can be used to generate images using models like `gpt-image-1`. + - Users can add the new `ImageGenerationTool` to the `Tools` property of their `ResponseCreationOptions` and configure it using properties such as `Background`, `Quality`, `Size`, and more. + - Added support for System.Client.Model's `JsonPatch`, which enables users to get and set additional JSON properties in response and request payloads. + - See the following examples for more information: + - [InputAdditionalProperties](https://github.com/openai/openai-dotnet/blob/main/examples/Responses/Example07_InputAdditionalProperties.cs) + - [InputAdditionalPropertiesAsync](https://github.com/openai/openai-dotnet/blob/main/examples/Responses/Example07_InputAdditionalPropertiesAsync.cs) + - [OutputAdditionalProperties](https://github.com/openai/openai-dotnet/blob/main/examples/Responses/Example08_OutputAdditionalProperties.cs) + - [OutputAdditionalPropertiesAsync](https://github.com/openai/openai-dotnet/blob/main/examples/Responses/Example08_OutputAdditionalPropertiesAsync.cs) + - [ModelOverridePerRequest](https://github.com/openai/openai-dotnet/blob/main/examples/Responses/Example09_ModelOverridePerRequest.cs) + - [ModelOverridePerRequestAsync](https://github.com/openai/openai-dotnet/blob/main/examples/Responses/Example09_ModelOverridePerRequestAsync.cs) + - Go to the OpenAI.Chat section for more examples that can be extrapolated to Responses. +- OpenAI.Videos: + - Introduced the new `VideoClient` to support the Videos API with protocol methods for the following operations: + - `CreateVideo` and `CreateVideoAsync` + - `GetVideo` and `GetVideoAsync` + - `DeleteVideo` and `DeleteVideoAsync` + - `DownloadVideo` and `DownloadVideoAsync` + - `GetVideos` and `GetVideosAsync` + - `CreateVideoRemix` and `GetVideoRemixAsync` + +### Bugs Fixed +- OpenAI.Audio: + - Added the explicit conversion operators from `ClientResult` that were missing in the `AudioTranscription` and `AudioTranslation` classes. +- OpenAI.Chat: + - Added the `ContentParts` property that was missing in the `ChatCompletionMessageListDatum` class. + +### Breaking Changes in Preview APIs + +- OpenAI.Containers: + - Renamed the `GetContainerFileContent` and `GetContainerFileContentAsync` methods of `ContainerClient` to `DownloadContainerFile` and `DownloadContainerFileAsync`. - OpenAI.Responses: - - Added the `Minimal` property to `ResponseReasoningEffortLevel` _(A community contribution, courtesy of [kurnakovv](https://github.com/kurnakovv))_ - - Added the `Model` property to `OpenAIResponseClient` _(A community contribution, courtesy of [BenjaminDavidPinter](https://github.com/BenjaminDavidPinter))_ + - Removed the duplicated `GetInputItems` and `GetInputItemsAsync` methods of the `OpenAIResponseClient` in favor of the existing `GetResponseInputItems` and `GetResponseInputItemsAsync` methods. ## 2.5.0 (2025-09-23) +### Acknowledgments + +Thank you to our developer community members who helped to make the OpenAI client library better with their contributions to this release: + +- Benjamin Pinter _([GitHub](https://github.com/BenjaminDavidPinter))_ + ### Features Added - OpenAI.Responses: - - Added the `Model` property to `OpenAIResponseClient`. + - Added the `Model` property to `OpenAIResponseClient`. _(A community contribution, courtesy of [BenjaminDavidPinter](https://github.com/BenjaminDavidPinter))_ - Added the `ServiceDescription` property to `McpTool`. - Enabled support for connectors, which are OpenAI-maintained MCP wrappers for popular services like Microsoft Outlook or Dropbox. - Added the `ConnectorId` property to `McpTool`. diff --git a/scripts/Test-ApiCompatibility.ps1 b/scripts/Test-ApiCompatibility.ps1 index ae31f6a69..b2c801d89 100644 --- a/scripts/Test-ApiCompatibility.ps1 +++ b/scripts/Test-ApiCompatibility.ps1 @@ -177,5 +177,5 @@ $experimentalNamespaces = @( Invoke-APICompat -ProjectPath $projectPath ` -ReleasePath $releasePath ` -PackageName "OpenAI" ` - -BaselineVersion "2.4.0" ` + -BaselineVersion "2.5.0" ` -IgnoredNamespaces $experimentalNamespaces \ No newline at end of file diff --git a/src/OpenAI.csproj b/src/OpenAI.csproj index ad63e8e1d..d7625f283 100644 --- a/src/OpenAI.csproj +++ b/src/OpenAI.csproj @@ -8,7 +8,7 @@ MIT Copyright (c) 2024 OpenAI (https://openai.com) - 2.5.0 + 2.6.0 net8.0;netstandard2.0 diff --git a/tests/SessionRecords/BatchTests/CanRehydrateBatchOperation(False).json b/tests/SessionRecords/BatchTests/CanRehydrateBatchOperation(False).json index 98781c413..b0356b614 100644 --- a/tests/SessionRecords/BatchTests/CanRehydrateBatchOperation(False).json +++ b/tests/SessionRecords/BatchTests/CanRehydrateBatchOperation(False).json @@ -6,53 +6,53 @@ "RequestHeaders": { "Accept": "application/json", "Authorization": "Sanitized", - "Content-Length": "659", - "Content-Type": "multipart/form-data; boundary=\"gAmiSrhc65BG6KcHEhVjbuV5zTonsC__zDrx1FxRAon9ZjTn4yhejLcEfpMIIFirptWP9z\"", - "User-Agent": "OpenAI/2.5.0 (.NET 9.0.10; Darwin 25.0.0 Darwin Kernel Version 25.0.0: Wed Sep 17 21:42:08 PDT 2025; root:xnu-12377.1.9~141/RELEASE_ARM64_T8132)" + "Content-Length": "660", + "Content-Type": "multipart/form-data; boundary=\"VdHogfBtMIGdWFtSYwyAATn6gopNHVpn76W4smhRQcLIvOtEbXj1BVwvVvnQA6iX1JCx8o\"", + "User-Agent": "OpenAI/2.6.0 (.NET 9.0.10; Microsoft Windows 10.0.26200)" }, "RequestBody": [ - "--gAmiSrhc65BG6KcHEhVjbuV5zTonsC__zDrx1FxRAon9ZjTn4yhejLcEfpMIIFirptWP9z\r\n", + "--VdHogfBtMIGdWFtSYwyAATn6gopNHVpn76W4smhRQcLIvOtEbXj1BVwvVvnQA6iX1JCx8o\r\n", "Content-Disposition: form-data; name=file; filename=test-batch-file; filename*=utf-8''test-batch-file\r\n", "\r\n", - "b64:eyJjdXN0b21faWQiOiAicmVxdWVzdC0xIiwgIm1ldGhvZCI6ICJQT1NUIiwgInVybCI6ICIvdjEvY2hhdC9jb21wbGV0aW9ucyIsICJib2R5IjogeyJtb2RlbCI6ICJncHQtNG8tbWluaSIsICJtZXNzYWdlcyI6IFt7InJvbGUiOiAic3lzdGVtIiwgImNvbnRlbnQiOiAiWW91IGFyZSBhIGhlbHBmdWwgYXNzaXN0YW50LiJ9LCB7InJvbGUiOiAidXNlciIsICJjb250ZW50IjogIldoYXQgaXMgMisyPyJ9XX19Cg==", + "b64:eyJjdXN0b21faWQiOiAicmVxdWVzdC0xIiwgIm1ldGhvZCI6ICJQT1NUIiwgInVybCI6ICIvdjEvY2hhdC9jb21wbGV0aW9ucyIsICJib2R5IjogeyJtb2RlbCI6ICJncHQtNG8tbWluaSIsICJtZXNzYWdlcyI6IFt7InJvbGUiOiAic3lzdGVtIiwgImNvbnRlbnQiOiAiWW91IGFyZSBhIGhlbHBmdWwgYXNzaXN0YW50LiJ9LCB7InJvbGUiOiAidXNlciIsICJjb250ZW50IjogIldoYXQgaXMgMisyPyJ9XX19DQo=", "\r\n", - "--gAmiSrhc65BG6KcHEhVjbuV5zTonsC__zDrx1FxRAon9ZjTn4yhejLcEfpMIIFirptWP9z\r\n", + "--VdHogfBtMIGdWFtSYwyAATn6gopNHVpn76W4smhRQcLIvOtEbXj1BVwvVvnQA6iX1JCx8o\r\n", "Content-Type: text/plain; charset=utf-8\r\n", "Content-Disposition: form-data; name=purpose\r\n", "\r\n", "batch", "\r\n", - "--gAmiSrhc65BG6KcHEhVjbuV5zTonsC__zDrx1FxRAon9ZjTn4yhejLcEfpMIIFirptWP9z--\r\n" + "--VdHogfBtMIGdWFtSYwyAATn6gopNHVpn76W4smhRQcLIvOtEbXj1BVwvVvnQA6iX1JCx8o--\r\n" ], "StatusCode": 200, "ResponseHeaders": { "Access-Control-Allow-Origin": "*", "Alt-Svc": "h3=\":443\"", "cf-cache-status": "DYNAMIC", - "CF-RAY": "995487ac9c896bdd-DFW", + "CF-RAY": "99717bb70a310933-SEA", "Connection": "keep-alive", "Content-Length": "240", "Content-Type": "application/json", - "Date": "Mon, 27 Oct 2025 19:16:49 GMT", + "Date": "Fri, 31 Oct 2025 07:36:46 GMT", "openai-organization": "Sanitized", - "openai-processing-ms": "315", + "openai-processing-ms": "359", "openai-project": "Sanitized", "openai-version": "2020-10-01", "Server": "cloudflare", "Strict-Transport-Security": "max-age=31536000; includeSubDomains; preload", "X-Content-Type-Options": "nosniff", - "x-envoy-upstream-service-time": "327", + "x-envoy-upstream-service-time": "373", "x-openai-proxy-wasm": "v0.1", "X-Request-ID": "Sanitized" }, "ResponseBody": { "object": "file", - "id": "file-NUKUTbm5g2HzBc6eztYyHh", + "id": "file-VexCdh2zzKqH8ZcpoqRXPD", "purpose": "batch", "filename": "test-batch-file", - "bytes": 232, - "created_at": 1761592608, - "expires_at": 1764184608, + "bytes": 233, + "created_at": 1761896206, + "expires_at": 1764488206, "status": "processed", "status_details": null } @@ -65,10 +65,10 @@ "Authorization": "Sanitized", "Content-Length": "160", "Content-Type": "application/json", - "User-Agent": "OpenAI/2.5.0 (.NET 9.0.10; Darwin 25.0.0 Darwin Kernel Version 25.0.0: Wed Sep 17 21:42:08 PDT 2025; root:xnu-12377.1.9~141/RELEASE_ARM64_T8132)" + "User-Agent": "OpenAI/2.6.0 (.NET 9.0.10; Microsoft Windows 10.0.26200)" }, "RequestBody": { - "input_file_id": "file-NUKUTbm5g2HzBc6eztYyHh", + "input_file_id": "file-VexCdh2zzKqH8ZcpoqRXPD", "endpoint": "/v1/chat/completions", "completion_window": "24h", "metadata": { @@ -79,36 +79,36 @@ "ResponseHeaders": { "Alt-Svc": "h3=\":443\"", "cf-cache-status": "DYNAMIC", - "CF-RAY": "995487af1f376bdd-DFW", + "CF-RAY": "99717bbabc620933-SEA", "Connection": "keep-alive", "Content-Length": "886", "Content-Type": "application/json", - "Date": "Mon, 27 Oct 2025 19:16:49 GMT", + "Date": "Fri, 31 Oct 2025 07:36:47 GMT", "openai-organization": "Sanitized", - "openai-processing-ms": "218", + "openai-processing-ms": "592", "openai-project": "Sanitized", "openai-version": "2020-10-01", "Server": "cloudflare", "Strict-Transport-Security": "max-age=31536000; includeSubDomains; preload", "X-Content-Type-Options": "nosniff", - "x-envoy-upstream-service-time": "222", + "x-envoy-upstream-service-time": "595", "x-openai-proxy-wasm": "v0.1", "X-Request-ID": "Sanitized" }, "ResponseBody": { - "id": "batch_68ffc52151448190afaff0bd92164896", + "id": "batch_6904670e9638819082caf7bd85838f00", "object": "batch", "endpoint": "/v1/chat/completions", "model": null, "errors": null, - "input_file_id": "file-NUKUTbm5g2HzBc6eztYyHh", + "input_file_id": "file-VexCdh2zzKqH8ZcpoqRXPD", "completion_window": "24h", "status": "validating", "output_file_id": null, "error_file_id": null, - "created_at": 1761592609, + "created_at": 1761896206, "in_progress_at": null, - "expires_at": 1761679009, + "expires_at": 1761982606, "finalizing_at": null, "completed_at": null, "failed_at": null, @@ -137,48 +137,48 @@ } }, { - "RequestUri": "https://api.openai.com/v1/batches/batch_68ffc52151448190afaff0bd92164896", + "RequestUri": "https://api.openai.com/v1/batches/batch_6904670e9638819082caf7bd85838f00", "RequestMethod": "GET", "RequestHeaders": { "Accept": "application/json", "Authorization": "Sanitized", - "User-Agent": "OpenAI/2.5.0 (.NET 9.0.10; Darwin 25.0.0 Darwin Kernel Version 25.0.0: Wed Sep 17 21:42:08 PDT 2025; root:xnu-12377.1.9~141/RELEASE_ARM64_T8132)" + "User-Agent": "OpenAI/2.6.0 (.NET 9.0.10; Microsoft Windows 10.0.26200)" }, "RequestBody": null, "StatusCode": 200, "ResponseHeaders": { "Alt-Svc": "h3=\":443\"", "cf-cache-status": "DYNAMIC", - "CF-RAY": "995487b1999e6bdd-DFW", + "CF-RAY": "99717bbf3f340933-SEA", "Connection": "keep-alive", "Content-Length": "886", "Content-Type": "application/json", - "Date": "Mon, 27 Oct 2025 19:16:49 GMT", + "Date": "Fri, 31 Oct 2025 07:36:47 GMT", "openai-organization": "Sanitized", - "openai-processing-ms": "28", + "openai-processing-ms": "82", "openai-project": "Sanitized", "openai-version": "2020-10-01", "Server": "cloudflare", "Strict-Transport-Security": "max-age=31536000; includeSubDomains; preload", "X-Content-Type-Options": "nosniff", - "x-envoy-upstream-service-time": "31", + "x-envoy-upstream-service-time": "91", "x-openai-proxy-wasm": "v0.1", "X-Request-ID": "Sanitized" }, "ResponseBody": { - "id": "batch_68ffc52151448190afaff0bd92164896", + "id": "batch_6904670e9638819082caf7bd85838f00", "object": "batch", "endpoint": "/v1/chat/completions", "model": null, "errors": null, - "input_file_id": "file-NUKUTbm5g2HzBc6eztYyHh", + "input_file_id": "file-VexCdh2zzKqH8ZcpoqRXPD", "completion_window": "24h", "status": "validating", "output_file_id": null, "error_file_id": null, - "created_at": 1761592609, + "created_at": 1761896206, "in_progress_at": null, - "expires_at": 1761679009, + "expires_at": 1761982606, "finalizing_at": null, "completed_at": null, "failed_at": null, diff --git a/tests/SessionRecords/BatchTests/CanRehydrateBatchOperation(False)Async.json b/tests/SessionRecords/BatchTests/CanRehydrateBatchOperation(False)Async.json index fc724a53a..04cd1ca9f 100644 --- a/tests/SessionRecords/BatchTests/CanRehydrateBatchOperation(False)Async.json +++ b/tests/SessionRecords/BatchTests/CanRehydrateBatchOperation(False)Async.json @@ -6,53 +6,53 @@ "RequestHeaders": { "Accept": "application/json", "Authorization": "Sanitized", - "Content-Length": "659", - "Content-Type": "multipart/form-data; boundary=\"RhbbuOT94eT_myXnsOW23p2HbuuGUmcFj5xgucO5CW5K3XauNqVtOznJMP=2u__B4q7nQR\"", - "User-Agent": "OpenAI/2.5.0 (.NET 9.0.10; Darwin 25.0.0 Darwin Kernel Version 25.0.0: Wed Sep 17 21:42:08 PDT 2025; root:xnu-12377.1.9~141/RELEASE_ARM64_T8132)" + "Content-Length": "660", + "Content-Type": "multipart/form-data; boundary=\"xXbNj9vNPuAvELQvuC9diiXvIjzcaf3vJZfPxCqM_Dev=AXZVaHdkggA64zvHL5208yDFj\"", + "User-Agent": "OpenAI/2.6.0 (.NET 9.0.10; Microsoft Windows 10.0.26200)" }, "RequestBody": [ - "--RhbbuOT94eT_myXnsOW23p2HbuuGUmcFj5xgucO5CW5K3XauNqVtOznJMP=2u__B4q7nQR\r\n", + "--xXbNj9vNPuAvELQvuC9diiXvIjzcaf3vJZfPxCqM_Dev=AXZVaHdkggA64zvHL5208yDFj\r\n", "Content-Disposition: form-data; name=file; filename=test-batch-file; filename*=utf-8''test-batch-file\r\n", "\r\n", - "b64:eyJjdXN0b21faWQiOiAicmVxdWVzdC0xIiwgIm1ldGhvZCI6ICJQT1NUIiwgInVybCI6ICIvdjEvY2hhdC9jb21wbGV0aW9ucyIsICJib2R5IjogeyJtb2RlbCI6ICJncHQtNG8tbWluaSIsICJtZXNzYWdlcyI6IFt7InJvbGUiOiAic3lzdGVtIiwgImNvbnRlbnQiOiAiWW91IGFyZSBhIGhlbHBmdWwgYXNzaXN0YW50LiJ9LCB7InJvbGUiOiAidXNlciIsICJjb250ZW50IjogIldoYXQgaXMgMisyPyJ9XX19Cg==", + "b64:eyJjdXN0b21faWQiOiAicmVxdWVzdC0xIiwgIm1ldGhvZCI6ICJQT1NUIiwgInVybCI6ICIvdjEvY2hhdC9jb21wbGV0aW9ucyIsICJib2R5IjogeyJtb2RlbCI6ICJncHQtNG8tbWluaSIsICJtZXNzYWdlcyI6IFt7InJvbGUiOiAic3lzdGVtIiwgImNvbnRlbnQiOiAiWW91IGFyZSBhIGhlbHBmdWwgYXNzaXN0YW50LiJ9LCB7InJvbGUiOiAidXNlciIsICJjb250ZW50IjogIldoYXQgaXMgMisyPyJ9XX19DQo=", "\r\n", - "--RhbbuOT94eT_myXnsOW23p2HbuuGUmcFj5xgucO5CW5K3XauNqVtOznJMP=2u__B4q7nQR\r\n", + "--xXbNj9vNPuAvELQvuC9diiXvIjzcaf3vJZfPxCqM_Dev=AXZVaHdkggA64zvHL5208yDFj\r\n", "Content-Type: text/plain; charset=utf-8\r\n", "Content-Disposition: form-data; name=purpose\r\n", "\r\n", "batch", "\r\n", - "--RhbbuOT94eT_myXnsOW23p2HbuuGUmcFj5xgucO5CW5K3XauNqVtOznJMP=2u__B4q7nQR--\r\n" + "--xXbNj9vNPuAvELQvuC9diiXvIjzcaf3vJZfPxCqM_Dev=AXZVaHdkggA64zvHL5208yDFj--\r\n" ], "StatusCode": 200, "ResponseHeaders": { "Access-Control-Allow-Origin": "*", "Alt-Svc": "h3=\":443\"", "cf-cache-status": "DYNAMIC", - "CF-RAY": "995486ef1a4d473e-DFW", + "CF-RAY": "99717c2339b30933-SEA", "Connection": "keep-alive", "Content-Length": "240", "Content-Type": "application/json", - "Date": "Mon, 27 Oct 2025 19:16:18 GMT", + "Date": "Fri, 31 Oct 2025 07:37:03 GMT", "openai-organization": "Sanitized", - "openai-processing-ms": "401", + "openai-processing-ms": "221", "openai-project": "Sanitized", "openai-version": "2020-10-01", "Server": "cloudflare", "Strict-Transport-Security": "max-age=31536000; includeSubDomains; preload", "X-Content-Type-Options": "nosniff", - "x-envoy-upstream-service-time": "415", + "x-envoy-upstream-service-time": "228", "x-openai-proxy-wasm": "v0.1", "X-Request-ID": "Sanitized" }, "ResponseBody": { "object": "file", - "id": "file-USXeivEfatETkgCf5wDjCF", + "id": "file-A3EjqwhTyocKxWrhkbJZ5v", "purpose": "batch", "filename": "test-batch-file", - "bytes": 232, - "created_at": 1761592578, - "expires_at": 1764184578, + "bytes": 233, + "created_at": 1761896223, + "expires_at": 1764488223, "status": "processed", "status_details": null } @@ -65,10 +65,10 @@ "Authorization": "Sanitized", "Content-Length": "160", "Content-Type": "application/json", - "User-Agent": "OpenAI/2.5.0 (.NET 9.0.10; Darwin 25.0.0 Darwin Kernel Version 25.0.0: Wed Sep 17 21:42:08 PDT 2025; root:xnu-12377.1.9~141/RELEASE_ARM64_T8132)" + "User-Agent": "OpenAI/2.6.0 (.NET 9.0.10; Microsoft Windows 10.0.26200)" }, "RequestBody": { - "input_file_id": "file-USXeivEfatETkgCf5wDjCF", + "input_file_id": "file-A3EjqwhTyocKxWrhkbJZ5v", "endpoint": "/v1/chat/completions", "completion_window": "24h", "metadata": { @@ -79,36 +79,36 @@ "ResponseHeaders": { "Alt-Svc": "h3=\":443\"", "cf-cache-status": "DYNAMIC", - "CF-RAY": "995486f25d5a473e-DFW", + "CF-RAY": "99717c25ab420933-SEA", "Connection": "keep-alive", "Content-Length": "886", "Content-Type": "application/json", - "Date": "Mon, 27 Oct 2025 19:16:19 GMT", + "Date": "Fri, 31 Oct 2025 07:37:03 GMT", "openai-organization": "Sanitized", - "openai-processing-ms": "778", + "openai-processing-ms": "196", "openai-project": "Sanitized", "openai-version": "2020-10-01", "Server": "cloudflare", "Strict-Transport-Security": "max-age=31536000; includeSubDomains; preload", "X-Content-Type-Options": "nosniff", - "x-envoy-upstream-service-time": "781", + "x-envoy-upstream-service-time": "200", "x-openai-proxy-wasm": "v0.1", "X-Request-ID": "Sanitized" }, "ResponseBody": { - "id": "batch_68ffc503138c8190a5feae51d273996d", + "id": "batch_6904671fafe88190989d11a9aeefc7bb", "object": "batch", "endpoint": "/v1/chat/completions", "model": null, "errors": null, - "input_file_id": "file-USXeivEfatETkgCf5wDjCF", + "input_file_id": "file-A3EjqwhTyocKxWrhkbJZ5v", "completion_window": "24h", "status": "validating", "output_file_id": null, "error_file_id": null, - "created_at": 1761592579, + "created_at": 1761896223, "in_progress_at": null, - "expires_at": 1761678979, + "expires_at": 1761982623, "finalizing_at": null, "completed_at": null, "failed_at": null, @@ -137,48 +137,48 @@ } }, { - "RequestUri": "https://api.openai.com/v1/batches/batch_68ffc503138c8190a5feae51d273996d", + "RequestUri": "https://api.openai.com/v1/batches/batch_6904671fafe88190989d11a9aeefc7bb", "RequestMethod": "GET", "RequestHeaders": { "Accept": "application/json", "Authorization": "Sanitized", - "User-Agent": "OpenAI/2.5.0 (.NET 9.0.10; Darwin 25.0.0 Darwin Kernel Version 25.0.0: Wed Sep 17 21:42:08 PDT 2025; root:xnu-12377.1.9~141/RELEASE_ARM64_T8132)" + "User-Agent": "OpenAI/2.6.0 (.NET 9.0.10; Microsoft Windows 10.0.26200)" }, "RequestBody": null, "StatusCode": 200, "ResponseHeaders": { "Alt-Svc": "h3=\":443\"", "cf-cache-status": "DYNAMIC", - "CF-RAY": "995486f82ae3473e-DFW", + "CF-RAY": "99717c277c440933-SEA", "Connection": "keep-alive", "Content-Length": "886", "Content-Type": "application/json", - "Date": "Mon, 27 Oct 2025 19:16:20 GMT", + "Date": "Fri, 31 Oct 2025 07:37:04 GMT", "openai-organization": "Sanitized", - "openai-processing-ms": "26", + "openai-processing-ms": "27", "openai-project": "Sanitized", "openai-version": "2020-10-01", "Server": "cloudflare", "Strict-Transport-Security": "max-age=31536000; includeSubDomains; preload", "X-Content-Type-Options": "nosniff", - "x-envoy-upstream-service-time": "29", + "x-envoy-upstream-service-time": "30", "x-openai-proxy-wasm": "v0.1", "X-Request-ID": "Sanitized" }, "ResponseBody": { - "id": "batch_68ffc503138c8190a5feae51d273996d", + "id": "batch_6904671fafe88190989d11a9aeefc7bb", "object": "batch", "endpoint": "/v1/chat/completions", "model": null, "errors": null, - "input_file_id": "file-USXeivEfatETkgCf5wDjCF", + "input_file_id": "file-A3EjqwhTyocKxWrhkbJZ5v", "completion_window": "24h", "status": "validating", "output_file_id": null, "error_file_id": null, - "created_at": 1761592579, + "created_at": 1761896223, "in_progress_at": null, - "expires_at": 1761678979, + "expires_at": 1761982623, "finalizing_at": null, "completed_at": null, "failed_at": null, diff --git a/tests/SessionRecords/BatchTests/CanRehydrateBatchOperation(True).json b/tests/SessionRecords/BatchTests/CanRehydrateBatchOperation(True).json index 1a20d24ef..df068dcd1 100644 --- a/tests/SessionRecords/BatchTests/CanRehydrateBatchOperation(True).json +++ b/tests/SessionRecords/BatchTests/CanRehydrateBatchOperation(True).json @@ -6,36 +6,36 @@ "RequestHeaders": { "Accept": "application/json", "Authorization": "Sanitized", - "Content-Length": "659", - "Content-Type": "multipart/form-data; boundary=\"Sk4xGIs63EqmwjH6b_Q7ABOsZDgya7ZKeG2cDmQyise1hGYV8Zr_lUwZ89W52=p0OypnM6\"", - "User-Agent": "OpenAI/2.5.0 (.NET 9.0.10; Darwin 25.0.0 Darwin Kernel Version 25.0.0: Wed Sep 17 21:42:08 PDT 2025; root:xnu-12377.1.9~141/RELEASE_ARM64_T8132)" + "Content-Length": "660", + "Content-Type": "multipart/form-data; boundary=\"ypxPv6uWS0XMzEIAxuU7E2yaD9CBo0H1CnOGtwQaR8JTDMiCgcb7YOZ24xEPaF5Dr19Vq1\"", + "User-Agent": "OpenAI/2.6.0 (.NET 9.0.10; Microsoft Windows 10.0.26200)" }, "RequestBody": [ - "--Sk4xGIs63EqmwjH6b_Q7ABOsZDgya7ZKeG2cDmQyise1hGYV8Zr_lUwZ89W52=p0OypnM6\r\n", + "--ypxPv6uWS0XMzEIAxuU7E2yaD9CBo0H1CnOGtwQaR8JTDMiCgcb7YOZ24xEPaF5Dr19Vq1\r\n", "Content-Disposition: form-data; name=file; filename=test-batch-file; filename*=utf-8''test-batch-file\r\n", "\r\n", - "b64:eyJjdXN0b21faWQiOiAicmVxdWVzdC0xIiwgIm1ldGhvZCI6ICJQT1NUIiwgInVybCI6ICIvdjEvY2hhdC9jb21wbGV0aW9ucyIsICJib2R5IjogeyJtb2RlbCI6ICJncHQtNG8tbWluaSIsICJtZXNzYWdlcyI6IFt7InJvbGUiOiAic3lzdGVtIiwgImNvbnRlbnQiOiAiWW91IGFyZSBhIGhlbHBmdWwgYXNzaXN0YW50LiJ9LCB7InJvbGUiOiAidXNlciIsICJjb250ZW50IjogIldoYXQgaXMgMisyPyJ9XX19Cg==", + "b64:eyJjdXN0b21faWQiOiAicmVxdWVzdC0xIiwgIm1ldGhvZCI6ICJQT1NUIiwgInVybCI6ICIvdjEvY2hhdC9jb21wbGV0aW9ucyIsICJib2R5IjogeyJtb2RlbCI6ICJncHQtNG8tbWluaSIsICJtZXNzYWdlcyI6IFt7InJvbGUiOiAic3lzdGVtIiwgImNvbnRlbnQiOiAiWW91IGFyZSBhIGhlbHBmdWwgYXNzaXN0YW50LiJ9LCB7InJvbGUiOiAidXNlciIsICJjb250ZW50IjogIldoYXQgaXMgMisyPyJ9XX19DQo=", "\r\n", - "--Sk4xGIs63EqmwjH6b_Q7ABOsZDgya7ZKeG2cDmQyise1hGYV8Zr_lUwZ89W52=p0OypnM6\r\n", + "--ypxPv6uWS0XMzEIAxuU7E2yaD9CBo0H1CnOGtwQaR8JTDMiCgcb7YOZ24xEPaF5Dr19Vq1\r\n", "Content-Type: text/plain; charset=utf-8\r\n", "Content-Disposition: form-data; name=purpose\r\n", "\r\n", "batch", "\r\n", - "--Sk4xGIs63EqmwjH6b_Q7ABOsZDgya7ZKeG2cDmQyise1hGYV8Zr_lUwZ89W52=p0OypnM6--\r\n" + "--ypxPv6uWS0XMzEIAxuU7E2yaD9CBo0H1CnOGtwQaR8JTDMiCgcb7YOZ24xEPaF5Dr19Vq1--\r\n" ], "StatusCode": 200, "ResponseHeaders": { "Access-Control-Allow-Origin": "*", "Alt-Svc": "h3=\":443\"", "cf-cache-status": "DYNAMIC", - "CF-RAY": "995487a68e926bdd-DFW", + "CF-RAY": "99717ba20aa80933-SEA", "Connection": "keep-alive", "Content-Length": "240", "Content-Type": "application/json", - "Date": "Mon, 27 Oct 2025 19:16:48 GMT", + "Date": "Fri, 31 Oct 2025 07:36:44 GMT", "openai-organization": "Sanitized", - "openai-processing-ms": "276", + "openai-processing-ms": "705", "openai-project": "Sanitized", "openai-version": "2020-10-01", "Server": "cloudflare", @@ -45,18 +45,18 @@ ], "Strict-Transport-Security": "max-age=31536000; includeSubDomains; preload", "X-Content-Type-Options": "nosniff", - "x-envoy-upstream-service-time": "285", + "x-envoy-upstream-service-time": "716", "x-openai-proxy-wasm": "v0.1", "X-Request-ID": "Sanitized" }, "ResponseBody": { "object": "file", - "id": "file-Q5eDmL1DyKe7S2v7qVpugz", + "id": "file-7t9GuCZVBRGz3yRPnw7RAq", "purpose": "batch", "filename": "test-batch-file", - "bytes": 232, - "created_at": 1761592607, - "expires_at": 1764184607, + "bytes": 233, + "created_at": 1761896203, + "expires_at": 1764488203, "status": "processed", "status_details": null } @@ -69,10 +69,10 @@ "Authorization": "Sanitized", "Content-Length": "160", "Content-Type": "application/json", - "User-Agent": "OpenAI/2.5.0 (.NET 9.0.10; Darwin 25.0.0 Darwin Kernel Version 25.0.0: Wed Sep 17 21:42:08 PDT 2025; root:xnu-12377.1.9~141/RELEASE_ARM64_T8132)" + "User-Agent": "OpenAI/2.6.0 (.NET 9.0.10; Microsoft Windows 10.0.26200)" }, "RequestBody": { - "input_file_id": "file-Q5eDmL1DyKe7S2v7qVpugz", + "input_file_id": "file-7t9GuCZVBRGz3yRPnw7RAq", "endpoint": "/v1/chat/completions", "completion_window": "24h", "metadata": { @@ -83,36 +83,36 @@ "ResponseHeaders": { "Alt-Svc": "h3=\":443\"", "cf-cache-status": "DYNAMIC", - "CF-RAY": "995487a908dc6bdd-DFW", + "CF-RAY": "99717badbb710933-SEA", "Connection": "keep-alive", "Content-Length": "886", "Content-Type": "application/json", - "Date": "Mon, 27 Oct 2025 19:16:48 GMT", + "Date": "Fri, 31 Oct 2025 07:36:45 GMT", "openai-organization": "Sanitized", - "openai-processing-ms": "199", + "openai-processing-ms": "375", "openai-project": "Sanitized", "openai-version": "2020-10-01", "Server": "cloudflare", "Strict-Transport-Security": "max-age=31536000; includeSubDomains; preload", "X-Content-Type-Options": "nosniff", - "x-envoy-upstream-service-time": "204", + "x-envoy-upstream-service-time": "378", "x-openai-proxy-wasm": "v0.1", "X-Request-ID": "Sanitized" }, "ResponseBody": { - "id": "batch_68ffc52039d08190aac1dd7fdc35826f", + "id": "batch_6904670cc8ac819084a984ece3aba4c4", "object": "batch", "endpoint": "/v1/chat/completions", "model": null, "errors": null, - "input_file_id": "file-Q5eDmL1DyKe7S2v7qVpugz", + "input_file_id": "file-7t9GuCZVBRGz3yRPnw7RAq", "completion_window": "24h", "status": "validating", "output_file_id": null, "error_file_id": null, - "created_at": 1761592608, + "created_at": 1761896204, "in_progress_at": null, - "expires_at": 1761679008, + "expires_at": 1761982604, "finalizing_at": null, "completed_at": null, "failed_at": null, @@ -141,48 +141,48 @@ } }, { - "RequestUri": "https://api.openai.com/v1/batches/batch_68ffc52039d08190aac1dd7fdc35826f", + "RequestUri": "https://api.openai.com/v1/batches/batch_6904670cc8ac819084a984ece3aba4c4", "RequestMethod": "GET", "RequestHeaders": { "Accept": "application/json", "Authorization": "Sanitized", - "User-Agent": "OpenAI/2.5.0 (.NET 9.0.10; Darwin 25.0.0 Darwin Kernel Version 25.0.0: Wed Sep 17 21:42:08 PDT 2025; root:xnu-12377.1.9~141/RELEASE_ARM64_T8132)" + "User-Agent": "OpenAI/2.6.0 (.NET 9.0.10; Microsoft Windows 10.0.26200)" }, "RequestBody": null, "StatusCode": 200, "ResponseHeaders": { "Alt-Svc": "h3=\":443\"", "cf-cache-status": "DYNAMIC", - "CF-RAY": "995487aadaeb6bdd-DFW", + "CF-RAY": "99717bb29f190933-SEA", "Connection": "keep-alive", "Content-Length": "886", "Content-Type": "application/json", - "Date": "Mon, 27 Oct 2025 19:16:48 GMT", + "Date": "Fri, 31 Oct 2025 07:36:45 GMT", "openai-organization": "Sanitized", - "openai-processing-ms": "70", + "openai-processing-ms": "74", "openai-project": "Sanitized", "openai-version": "2020-10-01", "Server": "cloudflare", "Strict-Transport-Security": "max-age=31536000; includeSubDomains; preload", "X-Content-Type-Options": "nosniff", - "x-envoy-upstream-service-time": "75", + "x-envoy-upstream-service-time": "80", "x-openai-proxy-wasm": "v0.1", "X-Request-ID": "Sanitized" }, "ResponseBody": { - "id": "batch_68ffc52039d08190aac1dd7fdc35826f", + "id": "batch_6904670cc8ac819084a984ece3aba4c4", "object": "batch", "endpoint": "/v1/chat/completions", "model": null, "errors": null, - "input_file_id": "file-Q5eDmL1DyKe7S2v7qVpugz", + "input_file_id": "file-7t9GuCZVBRGz3yRPnw7RAq", "completion_window": "24h", "status": "validating", "output_file_id": null, "error_file_id": null, - "created_at": 1761592608, + "created_at": 1761896204, "in_progress_at": null, - "expires_at": 1761679008, + "expires_at": 1761982604, "finalizing_at": null, "completed_at": null, "failed_at": null, diff --git a/tests/SessionRecords/BatchTests/CanRehydrateBatchOperation(True)Async.json b/tests/SessionRecords/BatchTests/CanRehydrateBatchOperation(True)Async.json index 1e427d2ea..20d50bb88 100644 --- a/tests/SessionRecords/BatchTests/CanRehydrateBatchOperation(True)Async.json +++ b/tests/SessionRecords/BatchTests/CanRehydrateBatchOperation(True)Async.json @@ -6,57 +6,53 @@ "RequestHeaders": { "Accept": "application/json", "Authorization": "Sanitized", - "Content-Length": "659", - "Content-Type": "multipart/form-data; boundary=\"mhU1Cc1B_Rp5bAcYbhqxLe8hubNKWSa5I36kybXS3w8RiTcTcH1Cb4nIAjX9puP2OoLLBI\"", - "User-Agent": "OpenAI/2.5.0 (.NET 9.0.10; Darwin 25.0.0 Darwin Kernel Version 25.0.0: Wed Sep 17 21:42:08 PDT 2025; root:xnu-12377.1.9~141/RELEASE_ARM64_T8132)" + "Content-Length": "660", + "Content-Type": "multipart/form-data; boundary=\"lUjolNbVqJXCgBhBGG_R8Ha=ozFIjYMWZhTu2GvfNoxsKWJRXr8P0o=8dlrewMkm8T=H7x\"", + "User-Agent": "OpenAI/2.6.0 (.NET 9.0.10; Microsoft Windows 10.0.26200)" }, "RequestBody": [ - "--mhU1Cc1B_Rp5bAcYbhqxLe8hubNKWSa5I36kybXS3w8RiTcTcH1Cb4nIAjX9puP2OoLLBI\r\n", + "--lUjolNbVqJXCgBhBGG_R8Ha=ozFIjYMWZhTu2GvfNoxsKWJRXr8P0o=8dlrewMkm8T=H7x\r\n", "Content-Disposition: form-data; name=file; filename=test-batch-file; filename*=utf-8''test-batch-file\r\n", "\r\n", - "b64:eyJjdXN0b21faWQiOiAicmVxdWVzdC0xIiwgIm1ldGhvZCI6ICJQT1NUIiwgInVybCI6ICIvdjEvY2hhdC9jb21wbGV0aW9ucyIsICJib2R5IjogeyJtb2RlbCI6ICJncHQtNG8tbWluaSIsICJtZXNzYWdlcyI6IFt7InJvbGUiOiAic3lzdGVtIiwgImNvbnRlbnQiOiAiWW91IGFyZSBhIGhlbHBmdWwgYXNzaXN0YW50LiJ9LCB7InJvbGUiOiAidXNlciIsICJjb250ZW50IjogIldoYXQgaXMgMisyPyJ9XX19Cg==", + "b64:eyJjdXN0b21faWQiOiAicmVxdWVzdC0xIiwgIm1ldGhvZCI6ICJQT1NUIiwgInVybCI6ICIvdjEvY2hhdC9jb21wbGV0aW9ucyIsICJib2R5IjogeyJtb2RlbCI6ICJncHQtNG8tbWluaSIsICJtZXNzYWdlcyI6IFt7InJvbGUiOiAic3lzdGVtIiwgImNvbnRlbnQiOiAiWW91IGFyZSBhIGhlbHBmdWwgYXNzaXN0YW50LiJ9LCB7InJvbGUiOiAidXNlciIsICJjb250ZW50IjogIldoYXQgaXMgMisyPyJ9XX19DQo=", "\r\n", - "--mhU1Cc1B_Rp5bAcYbhqxLe8hubNKWSa5I36kybXS3w8RiTcTcH1Cb4nIAjX9puP2OoLLBI\r\n", + "--lUjolNbVqJXCgBhBGG_R8Ha=ozFIjYMWZhTu2GvfNoxsKWJRXr8P0o=8dlrewMkm8T=H7x\r\n", "Content-Type: text/plain; charset=utf-8\r\n", "Content-Disposition: form-data; name=purpose\r\n", "\r\n", "batch", "\r\n", - "--mhU1Cc1B_Rp5bAcYbhqxLe8hubNKWSa5I36kybXS3w8RiTcTcH1Cb4nIAjX9puP2OoLLBI--\r\n" + "--lUjolNbVqJXCgBhBGG_R8Ha=ozFIjYMWZhTu2GvfNoxsKWJRXr8P0o=8dlrewMkm8T=H7x--\r\n" ], "StatusCode": 200, "ResponseHeaders": { "Access-Control-Allow-Origin": "*", "Alt-Svc": "h3=\":443\"", "cf-cache-status": "DYNAMIC", - "CF-RAY": "995486ddaeb5473e-DFW", + "CF-RAY": "99717c1a3c180933-SEA", "Connection": "keep-alive", "Content-Length": "240", "Content-Type": "application/json", - "Date": "Mon, 27 Oct 2025 19:16:16 GMT", + "Date": "Fri, 31 Oct 2025 07:37:02 GMT", "openai-organization": "Sanitized", - "openai-processing-ms": "747", + "openai-processing-ms": "681", "openai-project": "Sanitized", "openai-version": "2020-10-01", "Server": "cloudflare", - "Set-Cookie": [ - "Sanitized", - "Sanitized" - ], "Strict-Transport-Security": "max-age=31536000; includeSubDomains; preload", "X-Content-Type-Options": "nosniff", - "x-envoy-upstream-service-time": "770", + "x-envoy-upstream-service-time": "690", "x-openai-proxy-wasm": "v0.1", "X-Request-ID": "Sanitized" }, "ResponseBody": { "object": "file", - "id": "file-GLDuh3rgbq9PfZUCc6mXzC", + "id": "file-HvfbKrF74gVGJ7B9YN5cur", "purpose": "batch", "filename": "test-batch-file", - "bytes": 232, - "created_at": 1761592576, - "expires_at": 1764184576, + "bytes": 233, + "created_at": 1761896222, + "expires_at": 1764488222, "status": "processed", "status_details": null } @@ -69,10 +65,10 @@ "Authorization": "Sanitized", "Content-Length": "160", "Content-Type": "application/json", - "User-Agent": "OpenAI/2.5.0 (.NET 9.0.10; Darwin 25.0.0 Darwin Kernel Version 25.0.0: Wed Sep 17 21:42:08 PDT 2025; root:xnu-12377.1.9~141/RELEASE_ARM64_T8132)" + "User-Agent": "OpenAI/2.6.0 (.NET 9.0.10; Microsoft Windows 10.0.26200)" }, "RequestBody": { - "input_file_id": "file-GLDuh3rgbq9PfZUCc6mXzC", + "input_file_id": "file-HvfbKrF74gVGJ7B9YN5cur", "endpoint": "/v1/chat/completions", "completion_window": "24h", "metadata": { @@ -83,36 +79,36 @@ "ResponseHeaders": { "Alt-Svc": "h3=\":443\"", "cf-cache-status": "DYNAMIC", - "CF-RAY": "995486e73978473e-DFW", + "CF-RAY": "99717c1fffbb0933-SEA", "Connection": "keep-alive", "Content-Length": "886", "Content-Type": "application/json", - "Date": "Mon, 27 Oct 2025 19:16:18 GMT", + "Date": "Fri, 31 Oct 2025 07:37:02 GMT", "openai-organization": "Sanitized", - "openai-processing-ms": "599", + "openai-processing-ms": "129", "openai-project": "Sanitized", "openai-version": "2020-10-01", "Server": "cloudflare", "Strict-Transport-Security": "max-age=31536000; includeSubDomains; preload", "X-Content-Type-Options": "nosniff", - "x-envoy-upstream-service-time": "602", + "x-envoy-upstream-service-time": "132", "x-openai-proxy-wasm": "v0.1", "X-Request-ID": "Sanitized" }, "ResponseBody": { - "id": "batch_68ffc5019e20819088144b8c8b5f179d", + "id": "batch_6904671ec6a08190bdff9530a101004b", "object": "batch", "endpoint": "/v1/chat/completions", "model": null, "errors": null, - "input_file_id": "file-GLDuh3rgbq9PfZUCc6mXzC", + "input_file_id": "file-HvfbKrF74gVGJ7B9YN5cur", "completion_window": "24h", "status": "validating", "output_file_id": null, "error_file_id": null, - "created_at": 1761592577, + "created_at": 1761896222, "in_progress_at": null, - "expires_at": 1761678977, + "expires_at": 1761982622, "finalizing_at": null, "completed_at": null, "failed_at": null, @@ -141,48 +137,48 @@ } }, { - "RequestUri": "https://api.openai.com/v1/batches/batch_68ffc5019e20819088144b8c8b5f179d", + "RequestUri": "https://api.openai.com/v1/batches/batch_6904671ec6a08190bdff9530a101004b", "RequestMethod": "GET", "RequestHeaders": { "Accept": "application/json", "Authorization": "Sanitized", - "User-Agent": "OpenAI/2.5.0 (.NET 9.0.10; Darwin 25.0.0 Darwin Kernel Version 25.0.0: Wed Sep 17 21:42:08 PDT 2025; root:xnu-12377.1.9~141/RELEASE_ARM64_T8132)" + "User-Agent": "OpenAI/2.6.0 (.NET 9.0.10; Microsoft Windows 10.0.26200)" }, "RequestBody": null, "StatusCode": 200, "ResponseHeaders": { "Alt-Svc": "h3=\":443\"", "cf-cache-status": "DYNAMIC", - "CF-RAY": "995486ed88ea473e-DFW", + "CF-RAY": "99717c2188c20933-SEA", "Connection": "keep-alive", "Content-Length": "886", "Content-Type": "application/json", - "Date": "Mon, 27 Oct 2025 19:16:18 GMT", + "Date": "Fri, 31 Oct 2025 07:37:03 GMT", "openai-organization": "Sanitized", - "openai-processing-ms": "37", + "openai-processing-ms": "54", "openai-project": "Sanitized", "openai-version": "2020-10-01", "Server": "cloudflare", "Strict-Transport-Security": "max-age=31536000; includeSubDomains; preload", "X-Content-Type-Options": "nosniff", - "x-envoy-upstream-service-time": "41", + "x-envoy-upstream-service-time": "58", "x-openai-proxy-wasm": "v0.1", "X-Request-ID": "Sanitized" }, "ResponseBody": { - "id": "batch_68ffc5019e20819088144b8c8b5f179d", + "id": "batch_6904671ec6a08190bdff9530a101004b", "object": "batch", "endpoint": "/v1/chat/completions", "model": null, "errors": null, - "input_file_id": "file-GLDuh3rgbq9PfZUCc6mXzC", + "input_file_id": "file-HvfbKrF74gVGJ7B9YN5cur", "completion_window": "24h", "status": "validating", "output_file_id": null, "error_file_id": null, - "created_at": 1761592577, + "created_at": 1761896222, "in_progress_at": null, - "expires_at": 1761678977, + "expires_at": 1761982622, "finalizing_at": null, "completed_at": null, "failed_at": null, diff --git a/tests/SessionRecords/BatchTests/CreateGetAndCancelBatchProtocol.json b/tests/SessionRecords/BatchTests/CreateGetAndCancelBatchProtocol.json index 3ff78fea7..d60b256d0 100644 --- a/tests/SessionRecords/BatchTests/CreateGetAndCancelBatchProtocol.json +++ b/tests/SessionRecords/BatchTests/CreateGetAndCancelBatchProtocol.json @@ -6,53 +6,53 @@ "RequestHeaders": { "Accept": "application/json", "Authorization": "Sanitized", - "Content-Length": "659", - "Content-Type": "multipart/form-data; boundary=\"gowD7XX0fOgIWIxLDLWCf6Zd80OEHckNuZIW0l_YKaoc_oA5e9iEfg6sxVieJr9iQHy6Q8\"", - "User-Agent": "OpenAI/2.5.0 (.NET 9.0.10; Darwin 25.0.0 Darwin Kernel Version 25.0.0: Wed Sep 17 21:42:08 PDT 2025; root:xnu-12377.1.9~141/RELEASE_ARM64_T8132)" + "Content-Length": "660", + "Content-Type": "multipart/form-data; boundary=\"aiAapPx5LzRfNg=DYjg9mqX_9bW50NIN9BH9I_YwgI=rSVXEascVOVXZrCFVQn5butRQ1P\"", + "User-Agent": "OpenAI/2.6.0 (.NET 9.0.10; Microsoft Windows 10.0.26200)" }, "RequestBody": [ - "--gowD7XX0fOgIWIxLDLWCf6Zd80OEHckNuZIW0l_YKaoc_oA5e9iEfg6sxVieJr9iQHy6Q8\r\n", + "--aiAapPx5LzRfNg=DYjg9mqX_9bW50NIN9BH9I_YwgI=rSVXEascVOVXZrCFVQn5butRQ1P\r\n", "Content-Disposition: form-data; name=file; filename=test-batch-file; filename*=utf-8''test-batch-file\r\n", "\r\n", - "b64:eyJjdXN0b21faWQiOiAicmVxdWVzdC0xIiwgIm1ldGhvZCI6ICJQT1NUIiwgInVybCI6ICIvdjEvY2hhdC9jb21wbGV0aW9ucyIsICJib2R5IjogeyJtb2RlbCI6ICJncHQtNG8tbWluaSIsICJtZXNzYWdlcyI6IFt7InJvbGUiOiAic3lzdGVtIiwgImNvbnRlbnQiOiAiWW91IGFyZSBhIGhlbHBmdWwgYXNzaXN0YW50LiJ9LCB7InJvbGUiOiAidXNlciIsICJjb250ZW50IjogIldoYXQgaXMgMisyPyJ9XX19Cg==", + "b64:eyJjdXN0b21faWQiOiAicmVxdWVzdC0xIiwgIm1ldGhvZCI6ICJQT1NUIiwgInVybCI6ICIvdjEvY2hhdC9jb21wbGV0aW9ucyIsICJib2R5IjogeyJtb2RlbCI6ICJncHQtNG8tbWluaSIsICJtZXNzYWdlcyI6IFt7InJvbGUiOiAic3lzdGVtIiwgImNvbnRlbnQiOiAiWW91IGFyZSBhIGhlbHBmdWwgYXNzaXN0YW50LiJ9LCB7InJvbGUiOiAidXNlciIsICJjb250ZW50IjogIldoYXQgaXMgMisyPyJ9XX19DQo=", "\r\n", - "--gowD7XX0fOgIWIxLDLWCf6Zd80OEHckNuZIW0l_YKaoc_oA5e9iEfg6sxVieJr9iQHy6Q8\r\n", + "--aiAapPx5LzRfNg=DYjg9mqX_9bW50NIN9BH9I_YwgI=rSVXEascVOVXZrCFVQn5butRQ1P\r\n", "Content-Type: text/plain; charset=utf-8\r\n", "Content-Disposition: form-data; name=purpose\r\n", "\r\n", "batch", "\r\n", - "--gowD7XX0fOgIWIxLDLWCf6Zd80OEHckNuZIW0l_YKaoc_oA5e9iEfg6sxVieJr9iQHy6Q8--\r\n" + "--aiAapPx5LzRfNg=DYjg9mqX_9bW50NIN9BH9I_YwgI=rSVXEascVOVXZrCFVQn5butRQ1P--\r\n" ], "StatusCode": 200, "ResponseHeaders": { "Access-Control-Allow-Origin": "*", "Alt-Svc": "h3=\":443\"", "cf-cache-status": "DYNAMIC", - "CF-RAY": "995487b2aabb6bdd-DFW", + "CF-RAY": "99717bc108370933-SEA", "Connection": "keep-alive", "Content-Length": "240", "Content-Type": "application/json", - "Date": "Mon, 27 Oct 2025 19:16:50 GMT", + "Date": "Fri, 31 Oct 2025 07:36:47 GMT", "openai-organization": "Sanitized", - "openai-processing-ms": "317", + "openai-processing-ms": "244", "openai-project": "Sanitized", "openai-version": "2020-10-01", "Server": "cloudflare", "Strict-Transport-Security": "max-age=31536000; includeSubDomains; preload", "X-Content-Type-Options": "nosniff", - "x-envoy-upstream-service-time": "330", + "x-envoy-upstream-service-time": "252", "x-openai-proxy-wasm": "v0.1", "X-Request-ID": "Sanitized" }, "ResponseBody": { "object": "file", - "id": "file-XNoHtdrTFYUhLn12HU9ZjC", + "id": "file-FqLLytrEaPH6hmSPXTr1db", "purpose": "batch", "filename": "test-batch-file", - "bytes": 232, - "created_at": 1761592609, - "expires_at": 1764184609, + "bytes": 233, + "created_at": 1761896207, + "expires_at": 1764488207, "status": "processed", "status_details": null } @@ -65,10 +65,10 @@ "Authorization": "Sanitized", "Content-Length": "160", "Content-Type": "application/json", - "User-Agent": "OpenAI/2.5.0 (.NET 9.0.10; Darwin 25.0.0 Darwin Kernel Version 25.0.0: Wed Sep 17 21:42:08 PDT 2025; root:xnu-12377.1.9~141/RELEASE_ARM64_T8132)" + "User-Agent": "OpenAI/2.6.0 (.NET 9.0.10; Microsoft Windows 10.0.26200)" }, "RequestBody": { - "input_file_id": "file-XNoHtdrTFYUhLn12HU9ZjC", + "input_file_id": "file-FqLLytrEaPH6hmSPXTr1db", "endpoint": "/v1/chat/completions", "completion_window": "24h", "metadata": { @@ -79,36 +79,36 @@ "ResponseHeaders": { "Alt-Svc": "h3=\":443\"", "cf-cache-status": "DYNAMIC", - "CF-RAY": "995487b54d7b6bdd-DFW", + "CF-RAY": "99717bc3d9d30933-SEA", "Connection": "keep-alive", "Content-Length": "886", "Content-Type": "application/json", - "Date": "Mon, 27 Oct 2025 19:16:50 GMT", + "Date": "Fri, 31 Oct 2025 07:36:48 GMT", "openai-organization": "Sanitized", - "openai-processing-ms": "199", + "openai-processing-ms": "446", "openai-project": "Sanitized", "openai-version": "2020-10-01", "Server": "cloudflare", "Strict-Transport-Security": "max-age=31536000; includeSubDomains; preload", "X-Content-Type-Options": "nosniff", - "x-envoy-upstream-service-time": "201", + "x-envoy-upstream-service-time": "449", "x-openai-proxy-wasm": "v0.1", "X-Request-ID": "Sanitized" }, "ResponseBody": { - "id": "batch_68ffc5222a488190a1534578165afb5d", + "id": "batch_690467101b488190972cdce590a00ae3", "object": "batch", "endpoint": "/v1/chat/completions", "model": null, "errors": null, - "input_file_id": "file-XNoHtdrTFYUhLn12HU9ZjC", + "input_file_id": "file-FqLLytrEaPH6hmSPXTr1db", "completion_window": "24h", "status": "validating", "output_file_id": null, "error_file_id": null, - "created_at": 1761592610, + "created_at": 1761896208, "in_progress_at": null, - "expires_at": 1761679010, + "expires_at": 1761982608, "finalizing_at": null, "completed_at": null, "failed_at": null, @@ -137,54 +137,54 @@ } }, { - "RequestUri": "https://api.openai.com/v1/batches/batch_68ffc5222a488190a1534578165afb5d/cancel", + "RequestUri": "https://api.openai.com/v1/batches/batch_690467101b488190972cdce590a00ae3/cancel", "RequestMethod": "POST", "RequestHeaders": { "Accept": "application/json", "Authorization": "Sanitized", "Content-Length": "0", - "User-Agent": "OpenAI/2.5.0 (.NET 9.0.10; Darwin 25.0.0 Darwin Kernel Version 25.0.0: Wed Sep 17 21:42:08 PDT 2025; root:xnu-12377.1.9~141/RELEASE_ARM64_T8132)" + "User-Agent": "OpenAI/2.6.0 (.NET 9.0.10; Microsoft Windows 10.0.26200)" }, "RequestBody": null, "StatusCode": 200, "ResponseHeaders": { "Alt-Svc": "h3=\":443\"", "cf-cache-status": "DYNAMIC", - "CF-RAY": "995487b71f466bdd-DFW", + "CF-RAY": "99717bc74bfd0933-SEA", "Connection": "keep-alive", "Content-Length": "714", "Content-Type": "application/json", - "Date": "Mon, 27 Oct 2025 19:16:50 GMT", + "Date": "Fri, 31 Oct 2025 07:36:49 GMT", "openai-organization": "Sanitized", - "openai-processing-ms": "95", + "openai-processing-ms": "515", "openai-project": "Sanitized", "openai-version": "2020-10-01", "Server": "cloudflare", "Strict-Transport-Security": "max-age=31536000; includeSubDomains; preload", "X-Content-Type-Options": "nosniff", - "x-envoy-upstream-service-time": "98", + "x-envoy-upstream-service-time": "518", "x-openai-proxy-wasm": "v0.1", "X-Request-ID": "Sanitized" }, "ResponseBody": { - "id": "batch_68ffc5222a488190a1534578165afb5d", + "id": "batch_690467101b488190972cdce590a00ae3", "object": "batch", "endpoint": "/v1/chat/completions", "model": null, "errors": null, - "input_file_id": "file-XNoHtdrTFYUhLn12HU9ZjC", + "input_file_id": "file-FqLLytrEaPH6hmSPXTr1db", "completion_window": "24h", "status": "cancelling", "output_file_id": null, "error_file_id": null, - "created_at": 1761592610, + "created_at": 1761896208, "in_progress_at": null, - "expires_at": 1761679010, + "expires_at": 1761982608, "finalizing_at": null, "completed_at": null, "failed_at": null, "expired_at": null, - "cancelling_at": 1761592610, + "cancelling_at": 1761896208, "cancelled_at": null, "request_counts": { "total": 0, diff --git a/tests/SessionRecords/BatchTests/CreateGetAndCancelBatchProtocolAsync.json b/tests/SessionRecords/BatchTests/CreateGetAndCancelBatchProtocolAsync.json index f42088274..32c34e987 100644 --- a/tests/SessionRecords/BatchTests/CreateGetAndCancelBatchProtocolAsync.json +++ b/tests/SessionRecords/BatchTests/CreateGetAndCancelBatchProtocolAsync.json @@ -6,53 +6,53 @@ "RequestHeaders": { "Accept": "application/json", "Authorization": "Sanitized", - "Content-Length": "659", - "Content-Type": "multipart/form-data; boundary=\"2t_UKGY8Hczalv0tp0I2AraQ0DkIT2lhfGnRWIQtmR=763ScR55EjOeUZrn69V9m7iB6LW\"", - "User-Agent": "OpenAI/2.5.0 (.NET 9.0.10; Darwin 25.0.0 Darwin Kernel Version 25.0.0: Wed Sep 17 21:42:08 PDT 2025; root:xnu-12377.1.9~141/RELEASE_ARM64_T8132)" + "Content-Length": "660", + "Content-Type": "multipart/form-data; boundary=\"Bz55kAxM_1C7NKhyOWiEUrT1MDn3p1dHqRQakKbC2Yd8TyPiqxkXmxVlgFLQfJIhxUV9oo\"", + "User-Agent": "OpenAI/2.6.0 (.NET 9.0.10; Microsoft Windows 10.0.26200)" }, "RequestBody": [ - "--2t_UKGY8Hczalv0tp0I2AraQ0DkIT2lhfGnRWIQtmR=763ScR55EjOeUZrn69V9m7iB6LW\r\n", + "--Bz55kAxM_1C7NKhyOWiEUrT1MDn3p1dHqRQakKbC2Yd8TyPiqxkXmxVlgFLQfJIhxUV9oo\r\n", "Content-Disposition: form-data; name=file; filename=test-batch-file; filename*=utf-8''test-batch-file\r\n", "\r\n", - "b64:eyJjdXN0b21faWQiOiAicmVxdWVzdC0xIiwgIm1ldGhvZCI6ICJQT1NUIiwgInVybCI6ICIvdjEvY2hhdC9jb21wbGV0aW9ucyIsICJib2R5IjogeyJtb2RlbCI6ICJncHQtNG8tbWluaSIsICJtZXNzYWdlcyI6IFt7InJvbGUiOiAic3lzdGVtIiwgImNvbnRlbnQiOiAiWW91IGFyZSBhIGhlbHBmdWwgYXNzaXN0YW50LiJ9LCB7InJvbGUiOiAidXNlciIsICJjb250ZW50IjogIldoYXQgaXMgMisyPyJ9XX19Cg==", + "b64:eyJjdXN0b21faWQiOiAicmVxdWVzdC0xIiwgIm1ldGhvZCI6ICJQT1NUIiwgInVybCI6ICIvdjEvY2hhdC9jb21wbGV0aW9ucyIsICJib2R5IjogeyJtb2RlbCI6ICJncHQtNG8tbWluaSIsICJtZXNzYWdlcyI6IFt7InJvbGUiOiAic3lzdGVtIiwgImNvbnRlbnQiOiAiWW91IGFyZSBhIGhlbHBmdWwgYXNzaXN0YW50LiJ9LCB7InJvbGUiOiAidXNlciIsICJjb250ZW50IjogIldoYXQgaXMgMisyPyJ9XX19DQo=", "\r\n", - "--2t_UKGY8Hczalv0tp0I2AraQ0DkIT2lhfGnRWIQtmR=763ScR55EjOeUZrn69V9m7iB6LW\r\n", + "--Bz55kAxM_1C7NKhyOWiEUrT1MDn3p1dHqRQakKbC2Yd8TyPiqxkXmxVlgFLQfJIhxUV9oo\r\n", "Content-Type: text/plain; charset=utf-8\r\n", "Content-Disposition: form-data; name=purpose\r\n", "\r\n", "batch", "\r\n", - "--2t_UKGY8Hczalv0tp0I2AraQ0DkIT2lhfGnRWIQtmR=763ScR55EjOeUZrn69V9m7iB6LW--\r\n" + "--Bz55kAxM_1C7NKhyOWiEUrT1MDn3p1dHqRQakKbC2Yd8TyPiqxkXmxVlgFLQfJIhxUV9oo--\r\n" ], "StatusCode": 200, "ResponseHeaders": { "Access-Control-Allow-Origin": "*", "Alt-Svc": "h3=\":443\"", "cf-cache-status": "DYNAMIC", - "CF-RAY": "995486fa3cb3473e-DFW", + "CF-RAY": "99717c28fd360933-SEA", "Connection": "keep-alive", "Content-Length": "240", "Content-Type": "application/json", - "Date": "Mon, 27 Oct 2025 19:16:20 GMT", + "Date": "Fri, 31 Oct 2025 07:37:05 GMT", "openai-organization": "Sanitized", - "openai-processing-ms": "589", + "openai-processing-ms": "1113", "openai-project": "Sanitized", "openai-version": "2020-10-01", "Server": "cloudflare", "Strict-Transport-Security": "max-age=31536000; includeSubDomains; preload", "X-Content-Type-Options": "nosniff", - "x-envoy-upstream-service-time": "600", + "x-envoy-upstream-service-time": "1129", "x-openai-proxy-wasm": "v0.1", "X-Request-ID": "Sanitized" }, "ResponseBody": { "object": "file", - "id": "file-UhJJA9PC5RLmaAr67Z9V1b", + "id": "file-PBBanTZ2vNSyWcN8dta1P6", "purpose": "batch", "filename": "test-batch-file", - "bytes": 232, - "created_at": 1761592580, - "expires_at": 1764184580, + "bytes": 233, + "created_at": 1761896225, + "expires_at": 1764488225, "status": "processed", "status_details": null } @@ -65,10 +65,10 @@ "Authorization": "Sanitized", "Content-Length": "160", "Content-Type": "application/json", - "User-Agent": "OpenAI/2.5.0 (.NET 9.0.10; Darwin 25.0.0 Darwin Kernel Version 25.0.0: Wed Sep 17 21:42:08 PDT 2025; root:xnu-12377.1.9~141/RELEASE_ARM64_T8132)" + "User-Agent": "OpenAI/2.6.0 (.NET 9.0.10; Microsoft Windows 10.0.26200)" }, "RequestBody": { - "input_file_id": "file-UhJJA9PC5RLmaAr67Z9V1b", + "input_file_id": "file-PBBanTZ2vNSyWcN8dta1P6", "endpoint": "/v1/chat/completions", "completion_window": "24h", "metadata": { @@ -79,36 +79,36 @@ "ResponseHeaders": { "Alt-Svc": "h3=\":443\"", "cf-cache-status": "DYNAMIC", - "CF-RAY": "995486fea904473e-DFW", + "CF-RAY": "99717c30da2e0933-SEA", "Connection": "keep-alive", "Content-Length": "886", "Content-Type": "application/json", - "Date": "Mon, 27 Oct 2025 19:16:21 GMT", + "Date": "Fri, 31 Oct 2025 07:37:05 GMT", "openai-organization": "Sanitized", - "openai-processing-ms": "162", + "openai-processing-ms": "297", "openai-project": "Sanitized", "openai-version": "2020-10-01", "Server": "cloudflare", "Strict-Transport-Security": "max-age=31536000; includeSubDomains; preload", "X-Content-Type-Options": "nosniff", - "x-envoy-upstream-service-time": "165", + "x-envoy-upstream-service-time": "302", "x-openai-proxy-wasm": "v0.1", "X-Request-ID": "Sanitized" }, "ResponseBody": { - "id": "batch_68ffc504f298819087e3b6ceebbf8c01", + "id": "batch_690467217db481909ef0ac49569944e0", "object": "batch", "endpoint": "/v1/chat/completions", "model": null, "errors": null, - "input_file_id": "file-UhJJA9PC5RLmaAr67Z9V1b", + "input_file_id": "file-PBBanTZ2vNSyWcN8dta1P6", "completion_window": "24h", "status": "validating", "output_file_id": null, "error_file_id": null, - "created_at": 1761592580, + "created_at": 1761896225, "in_progress_at": null, - "expires_at": 1761678980, + "expires_at": 1761982625, "finalizing_at": null, "completed_at": null, "failed_at": null, @@ -137,54 +137,54 @@ } }, { - "RequestUri": "https://api.openai.com/v1/batches/batch_68ffc504f298819087e3b6ceebbf8c01/cancel", + "RequestUri": "https://api.openai.com/v1/batches/batch_690467217db481909ef0ac49569944e0/cancel", "RequestMethod": "POST", "RequestHeaders": { "Accept": "application/json", "Authorization": "Sanitized", "Content-Length": "0", - "User-Agent": "OpenAI/2.5.0 (.NET 9.0.10; Darwin 25.0.0 Darwin Kernel Version 25.0.0: Wed Sep 17 21:42:08 PDT 2025; root:xnu-12377.1.9~141/RELEASE_ARM64_T8132)" + "User-Agent": "OpenAI/2.6.0 (.NET 9.0.10; Microsoft Windows 10.0.26200)" }, "RequestBody": null, "StatusCode": 200, "ResponseHeaders": { "Alt-Svc": "h3=\":443\"", "cf-cache-status": "DYNAMIC", - "CF-RAY": "995487007a84473e-DFW", + "CF-RAY": "99717c336bb40933-SEA", "Connection": "keep-alive", "Content-Length": "714", "Content-Type": "application/json", - "Date": "Mon, 27 Oct 2025 19:16:21 GMT", + "Date": "Fri, 31 Oct 2025 07:37:06 GMT", "openai-organization": "Sanitized", - "openai-processing-ms": "413", + "openai-processing-ms": "512", "openai-project": "Sanitized", "openai-version": "2020-10-01", "Server": "cloudflare", "Strict-Transport-Security": "max-age=31536000; includeSubDomains; preload", "X-Content-Type-Options": "nosniff", - "x-envoy-upstream-service-time": "417", + "x-envoy-upstream-service-time": "517", "x-openai-proxy-wasm": "v0.1", "X-Request-ID": "Sanitized" }, "ResponseBody": { - "id": "batch_68ffc504f298819087e3b6ceebbf8c01", + "id": "batch_690467217db481909ef0ac49569944e0", "object": "batch", "endpoint": "/v1/chat/completions", "model": null, "errors": null, - "input_file_id": "file-UhJJA9PC5RLmaAr67Z9V1b", + "input_file_id": "file-PBBanTZ2vNSyWcN8dta1P6", "completion_window": "24h", "status": "cancelling", "output_file_id": null, "error_file_id": null, - "created_at": 1761592580, + "created_at": 1761896225, "in_progress_at": null, - "expires_at": 1761678980, + "expires_at": 1761982625, "finalizing_at": null, "completed_at": null, "failed_at": null, "expired_at": null, - "cancelling_at": 1761592581, + "cancelling_at": 1761896225, "cancelled_at": null, "request_counts": { "total": 0,