Standardize pagination operations and collection option types#1152
Open
christothes wants to merge 5 commits into
Open
Standardize pagination operations and collection option types#1152christothes wants to merge 5 commits into
christothes wants to merge 5 commits into
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Standardizes pagination across the TypeSpec surface by reusing shared “collection options” models (with REST-accurate names) and applying .NET-friendly renames in the client customization layer, then regenerates the affected SDK code and public API exports.
Changes:
- Replaced inline pagination query parameters in several operations with spreads of shared
*CollectionOptionsmodels. - Renamed shared pagination fields in base TypeSpec models to REST names (
limit,after,before) and added/updated@@clientNamemappings for .NET naming. - Updated codegen pagination visitor and regenerated SDK code / API exports; adjusted impacted tests.
Reviewed changes
Copilot reviewed 37 out of 124 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/Batch/BatchTests.cs | Updates test call sites to renamed pagination parameters. |
| specification/client/vector-stores.client.tsp | Adds .NET @@clientName mappings for vector store pagination options. |
| specification/client/runs.client.tsp | Adds .NET @@clientName mappings for run pagination options. |
| specification/client/responses.client.tsp | Adds .NET @@clientName mappings for response item pagination options. |
| specification/client/models/vector-stores.models.tsp | Removes client-side pagination option models (moved to base) and keeps vector store client models. |
| specification/client/models/chat.models.tsp | Removes client-side pagination option model (moved to base). |
| specification/client/models/batch.models.tsp | Removes client-side pagination option model (moved to base). |
| specification/client/models/assistants.models.tsp | Removes client-side pagination option models (moved to base). |
| specification/client/messages.client.tsp | Adds .NET @@clientName mappings for message pagination options. |
| specification/client/containers.client.tsp | Adds .NET @@clientName mappings for container pagination options. |
| specification/client/chat.client.tsp | Adds .NET @@clientName mappings for chat pagination options. |
| specification/client/batch.client.tsp | Adds .NET @@clientName mappings for batch pagination options. |
| specification/client/assistants.client.tsp | Adds .NET @@clientName mappings for assistant pagination options. |
| specification/base/typespec/vector-stores/operations.tsp | Replaces inline pagination query params with ...VectorStore*CollectionOptions. |
| specification/base/typespec/vector-stores/models.tsp | Introduces REST-shaped vector store pagination option models. |
| specification/base/typespec/runs/operations.tsp | Replaces inline pagination query params with ...Run*CollectionOptions. |
| specification/base/typespec/runs/models.tsp | Introduces REST-shaped run pagination option models. |
| specification/base/typespec/responses/operations.tsp | Replaces inline pagination query params with ...DotNetResponseItemCollectionOptions. |
| specification/base/typespec/responses/models.tsp | Renames response item pagination fields to REST names and adjusts model shape/order. |
| specification/base/typespec/messages/operations.tsp | Replaces inline pagination query params with ...MessageCollectionOptions. |
| specification/base/typespec/messages/models.tsp | Introduces REST-shaped message pagination option model. |
| specification/base/typespec/containers/operations.tsp | Replaces inline pagination query params with ...Container*CollectionOptions. |
| specification/base/typespec/containers/models.tsp | Renames container pagination fields to REST names and adjusts model shape. |
| specification/base/typespec/chat/operations.tsp | Replaces inline pagination query params with ...ChatCompletion*CollectionOptions. |
| specification/base/typespec/chat/models.tsp | Introduces REST-shaped chat pagination option models and renames fields to REST names. |
| specification/base/typespec/batch/operations.tsp | Replaces inline pagination query params with ...BatchCollectionOptions. |
| specification/base/typespec/batch/models.tsp | Introduces REST-shaped batch pagination option model. |
| specification/base/typespec/assistants/operations.tsp | Replaces inline pagination query params with ...AssistantCollectionOptions. |
| specification/base/typespec/assistants/models.tsp | Introduces REST-shaped assistant pagination option model. |
| codegen/generator/src/Visitors/PaginationVisitor.cs | Updates pagination parameter replacement logic to recognize additional param names (e.g., beforeId) case-insensitively. |
| api/OpenAI.netstandard2.0.cs | Updates public API export parameter names for pagination overloads. |
| api/OpenAI.net8.0.cs | Updates public API export parameter names for pagination overloads. |
| api/OpenAI.net10.0.cs | Updates public API export parameter names for pagination overloads. |
| api/OpenAI.Responses.netstandard2.0.cs | Updates Responses public API export for pagination model factory signature. |
| api/OpenAI.Responses.net8.0.cs | Updates Responses public API export for pagination model factory signature. |
| api/OpenAI.Responses.net10.0.cs | Updates Responses public API export for pagination model factory signature. |
| OpenAI/src/Generated/VectorStoreClient.cs | Regenerated vector store client overloads to use updated parameter naming. |
| OpenAI/src/Generated/VectorStoreClient.RestClient.cs | Regenerated request builders to use renamed pagination parameters. |
| OpenAI/src/Generated/OpenAIModelFactory.cs | Regenerated model factory methods for pagination option models (new/updated signatures). |
| OpenAI/src/Generated/Models/VectorStores/VectorStoreFileCollectionOptions.cs | Regenerated model to reflect new parameter ordering/names. |
| OpenAI/src/Generated/Models/VectorStores/VectorStoreFileCollectionOptions.Serialization.cs | Regenerated serialization ctor calls to match new parameter ordering. |
| OpenAI/src/Generated/Models/VectorStores/VectorStoreCollectionOptions.cs | Regenerated model to reflect new parameter ordering/names. |
| OpenAI/src/Generated/Models/VectorStores/VectorStoreCollectionOptions.Serialization.cs | Regenerated serialization ctor calls to match new parameter ordering. |
| OpenAI/src/Generated/Models/Containers/ContainerFileCollectionOptions.cs | Regenerated model to reflect new parameter ordering/names. |
| OpenAI/src/Generated/Models/Containers/ContainerFileCollectionOptions.Serialization.cs | Regenerated serialization ctor calls to match new parameter ordering. |
| OpenAI/src/Generated/Models/Containers/ContainerCollectionOptions.cs | Regenerated model to reflect new parameter ordering/names. |
| OpenAI/src/Generated/Models/Containers/ContainerCollectionOptions.Serialization.cs | Regenerated serialization ctor calls to match new parameter ordering. |
| OpenAI/src/Generated/Models/Assistants/RunStepCollectionOptions.cs | Regenerated model to reflect new parameter ordering/names. |
| OpenAI/src/Generated/Models/Assistants/RunStepCollectionOptions.Serialization.cs | Regenerated serialization ctor calls to match new parameter ordering. |
| OpenAI/src/Generated/Models/Assistants/RunCollectionOptions.cs | Regenerated model to reflect new parameter ordering/names. |
| OpenAI/src/Generated/Models/Assistants/RunCollectionOptions.Serialization.cs | Regenerated serialization ctor calls to match new parameter ordering. |
| OpenAI/src/Generated/Models/Assistants/MessageCollectionOptions.cs | Regenerated model to reflect new parameter ordering/names. |
| OpenAI/src/Generated/Models/Assistants/MessageCollectionOptions.Serialization.cs | Regenerated serialization ctor calls to match new parameter ordering. |
| OpenAI/src/Generated/Models/Assistants/AssistantCollectionOptions.cs | Regenerated model to reflect new parameter ordering/names. |
| OpenAI/src/Generated/Models/Assistants/AssistantCollectionOptions.Serialization.cs | Regenerated serialization ctor calls to match new parameter ordering. |
| OpenAI/src/Generated/InternalAssistantRunClient.cs | Regenerated internal run client overloads to use updated parameter naming. |
| OpenAI/src/Generated/InternalAssistantRunClient.RestClient.cs | Regenerated request builders to use renamed pagination parameters. |
| OpenAI/src/Generated/InternalAssistantMessageClient.cs | Regenerated internal message client overloads to use updated parameter naming. |
| OpenAI/src/Generated/InternalAssistantMessageClient.RestClient.cs | Regenerated request builders to use renamed pagination parameters. |
| OpenAI/src/Generated/ContainerClient.cs | Regenerated container client overloads to use updated parameter naming. |
| OpenAI/src/Generated/ContainerClient.RestClient.cs | Regenerated request builders to use renamed pagination parameters. |
| OpenAI/src/Generated/CollectionResults/VectorStoreClientGetVectorStoresCollectionResultOfT.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI/src/Generated/CollectionResults/VectorStoreClientGetVectorStoresCollectionResult.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI/src/Generated/CollectionResults/VectorStoreClientGetVectorStoresAsyncCollectionResultOfT.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI/src/Generated/CollectionResults/VectorStoreClientGetVectorStoresAsyncCollectionResult.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI/src/Generated/CollectionResults/VectorStoreClientGetVectorStoreFilesInBatchCollectionResultOfT.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI/src/Generated/CollectionResults/VectorStoreClientGetVectorStoreFilesInBatchCollectionResult.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI/src/Generated/CollectionResults/VectorStoreClientGetVectorStoreFilesInBatchAsyncCollectionResultOfT.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI/src/Generated/CollectionResults/VectorStoreClientGetVectorStoreFilesInBatchAsyncCollectionResult.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI/src/Generated/CollectionResults/VectorStoreClientGetVectorStoreFilesCollectionResultOfT.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI/src/Generated/CollectionResults/VectorStoreClientGetVectorStoreFilesCollectionResult.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI/src/Generated/CollectionResults/VectorStoreClientGetVectorStoreFilesAsyncCollectionResultOfT.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI/src/Generated/CollectionResults/VectorStoreClientGetVectorStoreFilesAsyncCollectionResult.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI/src/Generated/CollectionResults/InternalAssistantRunClientGetRunsCollectionResultOfT.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI/src/Generated/CollectionResults/InternalAssistantRunClientGetRunsCollectionResult.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI/src/Generated/CollectionResults/InternalAssistantRunClientGetRunsAsyncCollectionResultOfT.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI/src/Generated/CollectionResults/InternalAssistantRunClientGetRunsAsyncCollectionResult.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI/src/Generated/CollectionResults/InternalAssistantRunClientGetRunStepsCollectionResultOfT.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI/src/Generated/CollectionResults/InternalAssistantRunClientGetRunStepsCollectionResult.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI/src/Generated/CollectionResults/InternalAssistantRunClientGetRunStepsAsyncCollectionResultOfT.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI/src/Generated/CollectionResults/InternalAssistantRunClientGetRunStepsAsyncCollectionResult.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI/src/Generated/CollectionResults/InternalAssistantMessageClientGetMessagesCollectionResultOfT.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI/src/Generated/CollectionResults/InternalAssistantMessageClientGetMessagesCollectionResult.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI/src/Generated/CollectionResults/InternalAssistantMessageClientGetMessagesAsyncCollectionResultOfT.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI/src/Generated/CollectionResults/InternalAssistantMessageClientGetMessagesAsyncCollectionResult.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI/src/Generated/CollectionResults/ContainerClientGetContainersCollectionResultOfT.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI/src/Generated/CollectionResults/ContainerClientGetContainersCollectionResult.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI/src/Generated/CollectionResults/ContainerClientGetContainersAsyncCollectionResultOfT.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI/src/Generated/CollectionResults/ContainerClientGetContainersAsyncCollectionResult.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI/src/Generated/CollectionResults/ContainerClientGetContainerFilesCollectionResultOfT.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI/src/Generated/CollectionResults/ContainerClientGetContainerFilesCollectionResult.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI/src/Generated/CollectionResults/ContainerClientGetContainerFilesAsyncCollectionResultOfT.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI/src/Generated/CollectionResults/ContainerClientGetContainerFilesAsyncCollectionResult.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI/src/Generated/CollectionResults/ChatClientGetChatCompletionsCollectionResultOfT.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI/src/Generated/CollectionResults/ChatClientGetChatCompletionsCollectionResult.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI/src/Generated/CollectionResults/ChatClientGetChatCompletionsAsyncCollectionResultOfT.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI/src/Generated/CollectionResults/ChatClientGetChatCompletionsAsyncCollectionResult.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI/src/Generated/CollectionResults/ChatClientGetChatCompletionMessagesCollectionResultOfT.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI/src/Generated/CollectionResults/ChatClientGetChatCompletionMessagesCollectionResult.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI/src/Generated/CollectionResults/ChatClientGetChatCompletionMessagesAsyncCollectionResultOfT.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI/src/Generated/CollectionResults/ChatClientGetChatCompletionMessagesAsyncCollectionResult.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI/src/Generated/CollectionResults/BatchClientGetBatchesCollectionResultOfT.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI/src/Generated/CollectionResults/BatchClientGetBatchesCollectionResult.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI/src/Generated/CollectionResults/BatchClientGetBatchesAsyncCollectionResultOfT.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI/src/Generated/CollectionResults/BatchClientGetBatchesAsyncCollectionResult.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI/src/Generated/CollectionResults/AssistantClientGetAssistantsCollectionResultOfT.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI/src/Generated/CollectionResults/AssistantClientGetAssistantsCollectionResult.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI/src/Generated/CollectionResults/AssistantClientGetAssistantsAsyncCollectionResultOfT.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI/src/Generated/CollectionResults/AssistantClientGetAssistantsAsyncCollectionResult.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI/src/Generated/ChatClient.cs | Regenerated chat client pagination overloads to use updated parameter naming. |
| OpenAI/src/Generated/ChatClient.RestClient.cs | Regenerated request builders to use renamed pagination parameters. |
| OpenAI/src/Generated/BatchClient.cs | Regenerated batch client pagination overloads to use updated parameter naming. |
| OpenAI/src/Generated/BatchClient.RestClient.cs | Regenerated request builders to use renamed pagination parameters. |
| OpenAI/src/Generated/AssistantClient.cs | Regenerated assistant client pagination overloads to use updated parameter naming. |
| OpenAI/src/Generated/AssistantClient.RestClient.cs | Regenerated request builders to use renamed pagination parameters. |
| OpenAI.Responses/src/Generated/ResponsesClient.RestClient.cs | Regenerated Responses request builder to use renamed pagination parameters. |
| OpenAI.Responses/src/Generated/OpenAIResponsesModelFactory.cs | Regenerated Responses model factory signature/order for pagination options. |
| OpenAI.Responses/src/Generated/Models/ResponseItemCollectionOptions.cs | Regenerated pagination options model to reflect new parameter ordering/names. |
| OpenAI.Responses/src/Generated/Models/ResponseItemCollectionOptions.Serialization.cs | Regenerated serialization ctor calls to match new parameter ordering. |
| OpenAI.Responses/src/Generated/CollectionResults/ResponsesClientGetResponseInputItemsCollectionResultOfT.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI.Responses/src/Generated/CollectionResults/ResponsesClientGetResponseInputItemsCollectionResult.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI.Responses/src/Generated/CollectionResults/ResponsesClientGetResponseInputItemsAsyncCollectionResultOfT.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI.Responses/src/Generated/CollectionResults/ResponsesClientGetResponseInputItemsAsyncCollectionResult.cs | Regenerated pagination state fields/ctor args to match renamed params. |
| OpenAI.Responses/src/Custom/ResponsesClient.cs | Updates custom pagination plumbing to match renamed request-builder parameters. |
ShivangiReja
reviewed
May 4, 2026
ShivangiReja
reviewed
May 4, 2026
Comment on lines
+44
to
+47
| @query(#{ explode: true }) | ||
| @continuationToken | ||
| @extension("x-ms-list-continuation-token", true) | ||
| after?: string; |
Comment on lines
+54
to
+55
| @query(#{ explode: true }) | ||
| before?: string; |
Comment on lines
+65
to
+66
| @query(#{ explode: true }) | ||
| limit?: int32 = 20; |
Comment on lines
+72
to
+73
| @query(#{ explode: true }) | ||
| order?: VectorStoreFileCollectionOrder = VectorStoreFileCollectionOrder.Descending; |
Comment on lines
+80
to
+83
| @query(#{ explode: true }) | ||
| @continuationToken | ||
| @extension("x-ms-list-continuation-token", true) | ||
| after?: string; |
Comment on lines
+90
to
+91
| @query(#{ explode: true }) | ||
| before?: string; |
Comment on lines
+93
to
+95
| /** Filter by file status. One of `in_progress`, `completed`, `failed`, `cancelled`. */ | ||
| @query(#{ explode: true }) | ||
| filter?: ListVectorStoreFilesFilter; |
Comment on lines
+1071
to
1074
| public static AssistantCollectionOptions AssistantCollectionOptions(int? pageSizeLimit = default, AssistantCollectionOrder? order = default, string afterId = default, string beforeId = default) | ||
| { | ||
| return new AssistantCollectionOptions(afterId, beforeId, pageSizeLimit, order, additionalBinaryDataProperties: null); | ||
| return new AssistantCollectionOptions(pageSizeLimit, order, afterId, beforeId, additionalBinaryDataProperties: null); | ||
| } |
Comment on lines
+236
to
245
| public static ResponseItemCollectionOptions ResponseItemCollectionOptions(string responseId = default, int? pageSizeLimit = default, ResponseItemCollectionOrder? order = default, string afterId = default, string beforeId = default) | ||
| { | ||
| return new ResponseItemCollectionOptions( | ||
| responseId, | ||
| afterId, | ||
| beforeId, | ||
| pageSizeLimit, | ||
| order, | ||
| afterId, | ||
| beforeId, | ||
| additionalBinaryDataProperties: null); | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
closes #1110