Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
100 commits
Select commit Hold shift + click to select a range
73faa95
Implement new LRO pattern on top of page collection implementatino
annelo-msft Jul 5, 2024
fc5d7ed
add missed files
annelo-msft Jul 5, 2024
529b399
add async overloads and rework poller a bit
annelo-msft Jul 5, 2024
a1422d1
fix some bugs
annelo-msft Jul 6, 2024
d338ec8
back up WIP
annelo-msft Jul 6, 2024
80dbcfa
more backup WIP
annelo-msft Jul 9, 2024
1ea8036
back up WIP
annelo-msft Jul 9, 2024
b2b3556
more backup of WIP - idea of protocol methods returning OperationResu…
annelo-msft Jul 10, 2024
415fff5
re-impl of polling LRO
annelo-msft Jul 10, 2024
c7d0870
nits
annelo-msft Jul 10, 2024
9ef8fc8
backup of streaming LRO WIP
annelo-msft Jul 10, 2024
e8886a3
intial e2e of async streaming ThreadRunLRO
annelo-msft Jul 10, 2024
279b3e7
backup while testing
annelo-msft Jul 10, 2024
4eeffaf
backup
annelo-msft Jul 11, 2024
e860fee
protocol operation implementation and polling test succeeds
annelo-msft Jul 11, 2024
aa94594
Streaming protocol implementation and test; one case open to solve still
annelo-msft Jul 11, 2024
46ffefc
handle IsCompleted for protocol/streaming by throwing, since we can't…
annelo-msft Jul 11, 2024
b1602b2
add test for streaming cancellation
annelo-msft Jul 11, 2024
05254c9
Initially implement StreamingThreadRunOperation.WaitAsync; with test …
annelo-msft Jul 11, 2024
4d5b0ef
add GetUpdatesStreaming method to StreamingThreadRunOperation
annelo-msft Jul 11, 2024
4482369
add SubmitToolOutputsToRunStreaming convenience method
annelo-msft Jul 11, 2024
5c384f3
add basic test for streaming SubmitToolOutput method; fix to Required…
annelo-msft Jul 12, 2024
67b0bdb
backup idea of ContinuableEnumerator
annelo-msft Jul 12, 2024
bd1722b
backup successful implementation of stream replacement ida
annelo-msft Jul 12, 2024
10ff848
add functional implementation of WaitAsync for streaming LRO
annelo-msft Jul 12, 2024
465b893
rewrite in terms of UpdateStatus
annelo-msft Jul 12, 2024
8f35fa6
move initialization to constructor
annelo-msft Jul 13, 2024
d8a6829
updates from SCM changes and some more comments and TODOs
annelo-msft Jul 13, 2024
b3d4fd7
Merge remote-tracking branch 'upstream/main' into oai-streamlroinherits
annelo-msft Jul 15, 2024
e1bdc4e
Merge remote-tracking branch 'upstream/main' into oai-streamlroinherits
annelo-msft Jul 16, 2024
8c77af5
Merge branch 'oai-streamlroinherits' of https://github.com/annelo-msf…
annelo-msft Jul 16, 2024
cfae419
updates from SCM changes
annelo-msft Jul 16, 2024
e99b2ba
Merge remote-tracking branch 'upstream/main' into oai-streamlroinherits
annelo-msft Jul 16, 2024
ae6eb9d
bug fix
annelo-msft Jul 16, 2024
d0417ae
back up WIP in adding convenience overloads to ThreadRunOperation min…
annelo-msft Jul 16, 2024
1666794
backup prior to running tests
annelo-msft Jul 16, 2024
422b594
add ReturnWhen parameter to protocol methods
annelo-msft Jul 16, 2024
1944863
bug fixes
annelo-msft Jul 16, 2024
0813f06
Merge branch 'oai-pageenumerator-pattern' into oai-streamlroinherits
annelo-msft Jul 16, 2024
aacf13b
more updates from paging PR branch
annelo-msft Jul 16, 2024
408bfef
add operation rehydration methods and tests
annelo-msft Jul 16, 2024
9a920f8
nits: backup before enumerable experiment
annelo-msft Jul 16, 2024
5373a8c
experiment with adding GetUpdates API to polling LRO type to enable e…
annelo-msft Jul 16, 2024
3e12a62
Make RequiredActionUpdate a RunUpdate (#128)
annelo-msft Jul 17, 2024
ea73b60
Merge remote-tracking branch 'upstream/main' into oai-streamlroinherits
annelo-msft Jul 17, 2024
8d9eadb
name RunId to Id; add GetRun methods back to client
annelo-msft Jul 17, 2024
f231512
Begin experiment around LRO using generated update enumerator
annelo-msft Jul 17, 2024
f98a66f
implement generated enumerator pattern for protocol LRO
annelo-msft Jul 17, 2024
ac99e31
rename ThreadRunOperation and related to RunOperation
annelo-msft Jul 17, 2024
d462a11
implement generated enumerator pattern for convenience polling LRO
annelo-msft Jul 17, 2024
d714a9e
Back up functional implementation of streaming LRO GetUpdates while f…
annelo-msft Jul 17, 2024
7041424
Make streaming convenience submit tools/Wait test pass
annelo-msft Jul 17, 2024
cf7a745
back up idea showing enumerable layering idea won't work
annelo-msft Jul 17, 2024
8bf827f
illustrate polling with custom polling interval
annelo-msft Jul 18, 2024
252d9fe
backup stub test for fine-tuning
annelo-msft Jul 19, 2024
42f5f0c
add initial (untested) fine tuning LRO implementation
annelo-msft Jul 19, 2024
f0103e9
add initial implementation of protocol VectorStoreFileBatchOperation
annelo-msft Jul 19, 2024
54be070
initial checkin of convenience layer for VectorStoreFileBatchOperation
annelo-msft Jul 19, 2024
ef1f94c
update tests to use LRO type
annelo-msft Jul 19, 2024
a3dfbb7
add back tests
annelo-msft Jul 20, 2024
2f42e22
add examples back
annelo-msft Jul 20, 2024
843fb97
make examples green
annelo-msft Jul 20, 2024
984168d
Update generated code (3.0.0-beta.20240711.1) (#127)
joseharriaga Jul 22, 2024
1c03389
Merge remote-tracking branch 'upstream/main' into oai-lro-updateenume…
annelo-msft Jul 22, 2024
08fee67
Add implementations where throwing NotImplementedException
annelo-msft Jul 22, 2024
59c8433
Add test categories per feature area and other test improvements (#133)
joseharriaga Jul 22, 2024
dccc488
have streaming LRO override GetUpdates on polling type
annelo-msft Jul 22, 2024
b5adec2
updates
annelo-msft Jul 22, 2024
2b8f481
cleanup in progress
annelo-msft Jul 22, 2024
d6bee73
more cleanup and rename rehydration methods to ContinueRun
annelo-msft Jul 23, 2024
363a17a
Merge remote-tracking branch 'upstream/main' into oai-lro-updateenume…
annelo-msft Jul 23, 2024
e2605df
post-merge
annelo-msft Jul 23, 2024
f2745f6
revert file with bad merge
annelo-msft Jul 23, 2024
47f68d6
public API updates from looking at the APIView
annelo-msft Jul 23, 2024
7bdecfd
Update paging APIs to use updated SCM types (#105)
annelo-msft Jul 23, 2024
d77539c
refresh (#70)
trrwilson Jul 23, 2024
18d389a
Merge remote-tracking branch 'upstream/main' into oai-lro-updateenume…
annelo-msft Jul 24, 2024
042b904
updates from merge
annelo-msft Jul 24, 2024
c17fa59
more post-merge updates
annelo-msft Jul 24, 2024
c7daa98
add EBN to RunOperation protocol methods
annelo-msft Jul 25, 2024
facf668
fix bug in polling implementation; rework meta enumerator to not crea…
annelo-msft Jul 25, 2024
19fc7d5
Update generated code (3.0.0-beta.20240722.4) (#141)
joseharriaga Jul 25, 2024
3bdb145
Look at what WaitReturnReason enum implementation might look like
annelo-msft Jul 25, 2024
f559fa6
updates to CHANGELOG and README following SCM collection type update …
annelo-msft Jul 25, 2024
032441e
back out WaitReturnReason change
annelo-msft Jul 26, 2024
974e19a
initial add of BatchOperation for Batch protocol methods
annelo-msft Jul 26, 2024
36a98d9
update with final SCM 1.1.0-beta.6 APIs
annelo-msft Jul 26, 2024
e374436
Add CancellationTokens back to RunOperation for consistency with SCM …
annelo-msft Jul 26, 2024
978a5e2
make protocol methods for LROs take ReturnWhen parameter
annelo-msft Jul 26, 2024
fcd664d
nits
annelo-msft Jul 26, 2024
58f93c8
[OpenAI] Update init to set (#144)
ShivangiReja Jul 30, 2024
aa678d7
Add live tests to release, main and new live-test workflows (#137)
hallipr Jul 30, 2024
88eb255
Prepare 2.0.0-beta.8 release (#145)
joseharriaga Jul 30, 2024
27d0382
Use consistent variable across workflows (#148)
hallipr Jul 30, 2024
8cbd14f
Only test openai.test.csproj (#149)
hallipr Jul 31, 2024
f6e1c21
Do checkout step in publish job (#150)
hallipr Jul 31, 2024
0a781f1
Roll 2.0.0-beta.8 release date (#153)
joseharriaga Jul 31, 2024
c29e8a0
Fix actions order in release workflow (#154)
hallipr Jul 31, 2024
fd02ec8
Adding two new issue templates: bug_report, feature_request. They are…
AngelosP Aug 1, 2024
f0fb0ff
Merge remote-tracking branch 'upstream/main' into oai-lro-updateenume…
annelo-msft Aug 5, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
72 changes: 72 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
name: Bug report
description: Report an issue or bug with this library
labels: ['bug']
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report!
- type: checkboxes
id: non_api
attributes:
label: Confirm this is not an issue with the underlying OpenAI API
description: Issues with the underlying OpenAI API should be reported in our [Developer Community](https://community.openai.com/c/api/7)
options:
- label: This is an issue with the Python library
required: true
- type: checkboxes
id: non_azure
attributes:
label: Confirm this is not an issue with Azure OpenAI
description: Issues related to Azure OpenAI should be reported in the [Azure SDK repo](https://github.com/Azure/azure-sdk-for-net/issues)
options:
- label: This is not an issue with Azure OpenAI
required: true
- type: textarea
id: what-happened
attributes:
label: Describe the bug
description: A clear and concise description of what the bug is, and any additional context.
placeholder: Tell us what you see.
validations:
required: true
- type: textarea
id: repro-steps
attributes:
label: To Reproduce
description: Steps to reproduce the behavior.
placeholder: |
1. Fetch a '...'
2. Update the '....'
3. See error
validations:
required: true
- type: textarea
id: code-snippets
attributes:
label: Code snippets
description: If applicable, add code snippets to help explain your problem.
render: C#
validations:
required: false
- type: input
id: os
attributes:
label: OS
placeholder: winOS
validations:
required: true
- type: input
id: language-version
attributes:
label: .NET version
placeholder:
validations:
required: true
- type: input
id: lib-version
attributes:
label: Library version
placeholder:
validations:
required: true
7 changes: 7 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
blank_issues_enabled: false
contact_links:
- name: OpenAI support
url: https://help.openai.com/
about: |
Please only file issues here that you believe represent actual bugs or feature requests for the OpenAI .NET library.
If you're having general trouble with the OpenAI API, please visit our help center to get support.
36 changes: 36 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Feature request
description: Suggest an idea for this library
labels: ['feature-request']
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this feature request!
- type: checkboxes
id: non_api
attributes:
label: Confirm this is not a feature request for the underlying OpenAI API.
description: Feature requests for the underlying OpenAI API should be reported in our [Developer Community](https://community.openai.com/c/api/7)
options:
- label: This is not a feature request for the underlying OpenAI API
required: true
- type: checkboxes
id: non_azure
attributes:
label: Confirm this is not a feature request for Azure OpenAI.
description: Feature requests for Azure OpenAI should be reported reported in the [Azure SDK repo](https://github.com/Azure/azure-sdk-for-net/issues)
options:
- label: This is not a feature request for Azure OpenAI
required: true
- type: textarea
id: feature
attributes:
label: Describe the feature or improvement you're requesting
description: A clear and concise description of what you want to happen.
validations:
required: true
- type: textarea
id: context
attributes:
label: Additional context
description: Add any other context about the feature request here.
42 changes: 42 additions & 0 deletions .github/workflows/live-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# This workflow is triggered by the user and runs live tests on the codebase.
name: Live Test

on:
workflow_dispatch:
pull_request:
types:
- labeled

jobs:
test:
name: Live Test
runs-on: ubuntu-latest
if: github.event_name == 'workflow_dispatch' || contains(github.event.pull_request.labels.*.name, 'live test')
environment: Live Testing
env:
version_suffix_args: ${{ format('/p:VersionSuffix="alpha.{0}"', github.run_number) }}
steps:
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: '8.x'

- name: Checkout code
uses: actions/checkout@v2

- name: Run live tests
run: dotnet test ./tests/OpenAI.Tests.csproj
--configuration Release
--filter="TestCategory!=Smoke&TestCategory!=Images&TestCategory!=Moderations&TestCategory!=Manual"
--logger "trx;LogFilePrefix=live"
--results-directory ${{github.workspace}}/artifacts/test-results
${{ env.version_suffix_args}}
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}

- name: Upload artifact
uses: actions/upload-artifact@v4
if: ${{ !cancelled() }}
with:
name: test-artifacts
path: ${{github.workspace}}/artifacts
45 changes: 16 additions & 29 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
name: Build and Test
# This worflow is triggered on push to main, pull request, or by manual invocation.
# It builds and unit tests the codebase.
name: Build and Unit Test

on:
workflow_dispatch:
Expand All @@ -10,51 +12,36 @@ on:

jobs:
build: # Test, pack and publish the Open AI nuget package as a build artifact
name: Build
runs-on: ubuntu-latest
env:
version_suffix_args: ${{ format('--version-suffix="alpha.{0}"', github.run_number) }}
version_suffix_args: ${{ format('/p:VersionSuffix="alpha.{0}"', github.run_number) }}
steps:
- name: Setup .NET
uses: actions/setup-dotnet@v1
uses: actions/setup-dotnet@v3
with:
dotnet-version: 8.x
dotnet-version: '8.x'

- name: Checkout code
uses: actions/checkout@v2

- name: Build and Pack
- name: Build and pack
run: dotnet pack
--configuration Release
--output "${{github.workspace}}/artifacts/packages"
${{ env.version_suffix_args }}
${{ env.version_suffix_args}}

- name: Test
- name: Run unit tests
run: dotnet test
--configuration Release
--filter="TestCategory~${{ github.event_name == 'pull_request' && 'Offline' || 'Online' }}|TestCategory~smoke"
--logger "trx;LogFileName=${{github.workspace}}/artifacts/test-results/full.trx"
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
--filter="TestCategory=Smoke&TestCategory!=Manual"
--logger "trx;LogFilePrefix=smoke"
--results-directory ${{github.workspace}}/artifacts/test-results
${{ env.version_suffix_args}}

- name: Upload artifact
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
if: ${{ !cancelled() }}
with:
name: build-artifacts
path: ${{github.workspace}}/artifacts

- name: NuGet Autenticate
if: github.event_name != 'pull_request'
run: dotnet nuget add source
"https://nuget.pkg.github.com/${{ github.repository_owner }}/index.json"
--name "github"
--username ${{ github.actor }}
--password ${{ secrets.GITHUB_TOKEN }}
--store-password-in-clear-text

- name: Publish
if: github.event_name != 'pull_request'
run: dotnet nuget push
${{github.workspace}}/artifacts/packages/*.nupkg
--source "github"
--api-key ${{ secrets.GITHUB_TOKEN }}
--skip-duplicate
92 changes: 72 additions & 20 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -1,53 +1,105 @@
# This workflow is triggered by new releases and on a daily schedule.
# It builds, unit tests, live tests and published the Open AI nuget package.
# For daily runs, the package is published to the GitHub package registry.
# For releases, the package is published to the NuGet package registry.
name: Release package

on:
release:
types: [published]
schedule:
# run every day at 00:00
- cron: '0 0 * * *'

jobs:
deploy:
build:
name: Build
runs-on: ubuntu-latest
environment: Live Testing
env:
version_suffix_args: ${{ github.event_name == 'schedule' && format('/p:VersionSuffix="alpha.{0}"', github.run_number) || '' }}
permissions:
packages: write
contents: write
steps:
- uses: actions/checkout@v4
- uses: actions/setup-dotnet@v3
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: '8.x' # SDK Version to use.
dotnet-version: '8.x'

- name: Checkout code
uses: actions/checkout@v2

# Pack the client nuget package and include url back to the repository and release tag
- name: Build and Pack
run: dotnet pack
--configuration Release
--output "${{github.workspace}}/artifacts/packages"
--output "${{ github.workspace }}/artifacts/packages"
/p:PackageProjectUrl="${{ github.server_url }}/${{ github.repository }}/tree/${{ github.event.release.tag_name }}"
/p:PackageReleaseNotes="${{ github.server_url }}/${{ github.repository }}/blob/${{ github.event.release.tag_name }}/CHANGELOG.md"
${{ env.version_suffix_args }}

- name: Test
- name: Unit Test
run: dotnet test
--configuration Release
--filter="TestCategory~Online"
--logger "trx;LogFileName=${{github.workspace}}/artifacts/test-results/full.trx"
--filter="TestCategory=Smoke&TestCategory!=Manual"
--logger "trx;LogFileName=${{ github.workspace }}/artifacts/test-results/smoke.trx"
${{ env.version_suffix_args }}

- name: Run Live Tests
run: dotnet test ./tests/OpenAI.Tests.csproj
--configuration Release
--filter="TestCategory!=Smoke&TestCategory!=Images&TestCategory!=Moderations&TestCategory!=Manual"
--logger "trx;LogFilePrefix=live"
--results-directory ${{ github.workspace }}/artifacts/test-results
${{ env.version_suffix_args }}
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}

# Append the nuget package to the github release that triggered this workflow
- name: Upload artifact
uses: actions/upload-artifact@v4
if: ${{ !cancelled() }}
with:
name: build-artifacts
path: ${{ github.workspace }}/artifacts

deploy:
name: Publish Package
needs: build
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2

- name: Download build artifacts
uses: actions/download-artifact@v4

- name: Upload release asset
if: github.event_name == 'release'
run: gh release upload ${{ github.event.release.tag_name }}
${{github.workspace}}/artifacts/packages/*.*nupkg
${{ github.workspace }}/build-artifacts/packages/*.*nupkg
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Upload artifact
uses: actions/upload-artifact@v2
with:
name: build-artifacts
path: ${{github.workspace}}/artifacts
- name: NuGet authenticate
run: dotnet nuget add source
"https://nuget.pkg.github.com/${{ github.repository_owner }}/index.json"
--name "github"
--username ${{ github.actor }}
--password ${{ secrets.GITHUB_TOKEN }}
--store-password-in-clear-text

- name: Publish package to local feed
run: dotnet nuget push
${{github.workspace}}/build-artifacts/packages/*.nupkg
--source "github"
--api-key ${{ secrets.GITHUB_TOKEN }}
--skip-duplicate

- name: Publish
- name: Publish package to nuget.org
if: github.event_name == 'release'
run: dotnet nuget push
${{github.workspace}}/artifacts/packages/*.nupkg
--source https://api.nuget.org/v3/index.json
--api-key ${{ secrets.NUGET_API_KEY }}
--skip-duplicate
${{github.workspace}}/build-artifacts/packages/*.nupkg
--source https://api.nuget.org/v3/index.json
--api-key ${{ secrets.NUGET_API_KEY }}
--skip-duplicate
18 changes: 13 additions & 5 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,26 @@
# Release History

## 2.0.0-beta.8 (Unreleased)

### Features Added
## 2.0.0-beta.8 (2024-07-31)

### Breaking Changes

- Changed name of return types from methods returning streaming collections from `ResultCollection` to `CollectionResult`. ([7bdecfd](https://github.com/openai/openai-dotnet/commit/7bdecfd8d294be933c7779c7e5b6435ba8a8eab0))
- Changed return types from methods returning paginated collections from `PageableCollection` to `PageCollection`. ([7bdecfd](https://github.com/openai/openai-dotnet/commit/7bdecfd8d294be933c7779c7e5b6435ba8a8eab0))
- Users must now call `GetAllValues` on the collection of pages to enumerate collection items directly. Corresponding protocol methods return `IEnumerable<ClientResult>` where each collection item represents a single service response holding a page of values. ([7bdecfd](https://github.com/openai/openai-dotnet/commit/7bdecfd8d294be933c7779c7e5b6435ba8a8eab0))
- Updated `VectorStoreFileCounts` and `VectorStoreFileAssociationError` types from `readonly struct` to `class`. ([58f93c8](https://github.com/openai/openai-dotnet/commit/58f93c8d5ea080adfee8b37ae3cc034ebb06c79f))

### Bugs Fixed

- ([#49](https://github.com/openai/openai-dotnet/issues/49)) Fixed a bug with extensible enums implementing case-insensitive equality but case-sensitive hash codes. (commit_hash)
- ([#57](https://github.com/openai/openai-dotnet/issues/57)) Fixed a bug with requests URIs with query string parameter potentially containing a malformed double question mark (`??`) on .NET Framework (net481). (commit_hash)
- ([#49](https://github.com/openai/openai-dotnet/issues/49)) Fixed a bug with extensible enums implementing case-insensitive equality but case-sensitive hash codes. ([0c12500](https://github.com/openai/openai-dotnet/commit/0c125002ffd791594597ef837f4d10582bdff004))
- ([#57](https://github.com/openai/openai-dotnet/issues/57)) Fixed a bug with requests URIs with query string parameter potentially containing a malformed double question mark (`??`) on .NET Framework (net481). ([0c12500](https://github.com/openai/openai-dotnet/commit/0c125002ffd791594597ef837f4d10582bdff004))
- Added optional `CancellationToken` parameters to methods for `AssistantClient` and `VectorStore` client, consistent with past changes in [19a65a0](https://github.com/openai/openai-dotnet/commit/19a65a0a943fa3bef1ec8504708aaa526a1ee03a). ([d77539c](https://github.com/openai/openai-dotnet/commit/d77539ca04467c166f848953eb866012a265555c))
- Fixed Assistants `FileSearchToolDefinition`'s `MaxResults` parameter to appropriately serialize and deserialize the value ([d77539c](https://github.com/openai/openai-dotnet/commit/d77539ca04467c166f848953eb866012a265555c))
- Added missing `[EditorBrowsable(EditorBrowsableState.Never)]` attributes to `AssistantClient` protocol methods, which should improve discoverability of the strongly typed methods. ([d77539c](https://github.com/openai/openai-dotnet/commit/d77539ca04467c166f848953eb866012a265555c))

### Other Changes

- Removed the usage of `init` and updated properties to use `set`. ([58f93c8](https://github.com/openai/openai-dotnet/commit/58f93c8d5ea080adfee8b37ae3cc034ebb06c79f))

## 2.0.0-beta.7 (2024-06-24)

### Bugs Fixed
Expand Down
Loading