[azopenaiassistants] Updates for 2024-07-01 (#23360)

This commit is contained in:
Gerardo Lecaros 2024-09-10 14:17:44 -07:00 коммит произвёл GitHub
Родитель 3de57f4e77
Коммит 35590ee0de
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: B5690EEEBB952194
18 изменённых файлов: 1097 добавлений и 302 удалений

Просмотреть файл

@ -1,14 +1,11 @@
# Release History
## 0.2.1 (Unreleased)
## 0.2.1 (2024-09-10)
### Features Added
### Breaking Changes
### Bugs Fixed
### Other Changes
- Added support for the `FileSearch` tool definition.
- Added `ChunkingStrategy` to vector store creation APIs.
## 0.2.0 (2024-06-25)

Просмотреть файл

@ -2,5 +2,5 @@
"AssetsRepo": "Azure/azure-sdk-assets",
"AssetsRepoPrefixPath": "go",
"TagPrefix": "go/ai/azopenaiassistants",
"Tag": "go/ai/azopenaiassistants_935e64a933"
"Tag": "go/ai/azopenaiassistants_e4f1c7e9da"
}

Просмотреть файл

@ -30,8 +30,8 @@ directive:
- from: swagger-document
where: $["x-ms-parameterized-host"].parameters.0
transform: $["x-ms-parameter-location"] = "client";
# fix a generation issue where "| null" in TypeSpec generates an allOf that
# fix a generation issue where "| null" in TypeSpec generates an allOf that
# doesn't work with our polymorphic types.
- from: swagger-document
where: $.definitions.ThreadRun.properties.required_action
@ -63,7 +63,7 @@ directive:
// $.CreateFileSearchToolResourceVectorStoreOptions["x-ms-client-name"] = "CreateFileSearchToolResourceVectorStoreBody";
// $.CreateToolResourcesOptions["x-ms-client-name"] = "CreateToolResourcesBody";
// $.UpdateFileSearchToolResourceOptions["x-ms-client-name"] = "UpdateFileSearchToolResourceBody";
// $.UpdateCodeInterpreterToolResourceOptions["x-ms-client-name"] = "UpdateCodeInterpreterToolResourceBody";
// $.UpdateCodeInterpreterToolResourceOptions["x-ms-client-name"] = "UpdateCodeInterpreterToolResourceBody";
// $.UpdateToolResourcesOptions["x-ms-client-name"] = "UpdateToolResourcesBody";
// $.CreateCodeInterpreterToolResourceOptions["x-ms-client-name"] = "CreateCodeInterpreterToolResourceBody";
return $;
@ -71,25 +71,9 @@ directive:
## Unions
MessageAttachmentToolDefinition
```yaml
directive:
- from: swagger-document
where: $.definitions
transform: |
// this is the minimum needed to get autorest to generate a reference
// for this type that I can then fill in manually.
$.MessageAttachmentToolDefinition = {
"x-ms-external": true,
"type": "object",
"properties": { "ignored": { "type": "string" } }
};
```
APIToolChoice
```yaml
```yaml
directive:
- from: swagger-document
where: $.definitions
@ -193,17 +177,17 @@ directive:
- from: swagger-document
where: $.paths
transform: |
//
//
// assistants
//
$["/assistants"].get.responses["200"].schema["x-ms-client-name"] = "AssistantsPage";
//
//
// threads
//
//
const threadsBase = '/threads/{threadId}';
// GETs
$[threadsBase + "/messages"].get.responses["200"].schema["x-ms-client-name"] = "ThreadMessagesPage";
$[threadsBase + "/runs"].get.responses["200"].schema["x-ms-client-name"] = "ThreadRunsPage";
@ -215,9 +199,9 @@ directive:
$[threadsBase + "/runs"].post.parameters[1]["x-ms-client-name"] = "CreateRunBody";
$[threadsBase + "/runs/{runId}/submit_tool_outputs"].post.parameters[2].schema["x-ms-client-name"] = "SubmitToolOutputsToRunBody";
//
//
// vector stores
//
//
const vectorStoresBase = '/vector_stores';
// GETs

Просмотреть файл

@ -33,7 +33,7 @@ type Client struct {
// CancelRun - Cancels a run of an in progress thread.
// If the operation fails it returns an *azcore.ResponseError type.
//
// Generated from API version 2024-05-01-preview
// Generated from API version 2024-07-01-preview
// - threadID - The ID of the thread being run.
// - runID - The ID of the run to cancel.
// - options - CancelRunOptions contains the optional parameters for the Client.CancelRun method.
@ -87,7 +87,7 @@ func (client *Client) cancelRunHandleResponse(resp *http.Response) (CancelRunRes
// batch as soon as possible.
// If the operation fails it returns an *azcore.ResponseError type.
//
// Generated from API version 2024-05-01-preview
// Generated from API version 2024-07-01-preview
// - vectorStoreID - The ID of the vector store that the file batch belongs to.
// - batchID - The ID of the file batch to cancel.
// - options - CancelVectorStoreFileBatchOptions contains the optional parameters for the Client.CancelVectorStoreFileBatch
@ -141,7 +141,8 @@ func (client *Client) cancelVectorStoreFileBatchHandleResponse(resp *http.Respon
// CreateAssistant - Creates a new assistant.
// If the operation fails it returns an *azcore.ResponseError type.
//
// Generated from API version 2024-05-01-preview
// Generated from API version 2024-07-01-preview
// - body - The request details to use when creating a new assistant.
// - options - CreateAssistantOptions contains the optional parameters for the Client.CreateAssistant method.
func (client *Client) CreateAssistant(ctx context.Context, body CreateAssistantBody, options *CreateAssistantOptions) (CreateAssistantResponse, error) {
var err error
@ -187,14 +188,13 @@ func (client *Client) createAssistantHandleResponse(resp *http.Response) (Create
// CreateMessage - Creates a new message on a specified thread.
// If the operation fails it returns an *azcore.ResponseError type.
//
// Generated from API version 2024-05-01-preview
// Generated from API version 2024-07-01-preview
// - threadID - The ID of the thread to create the new message on.
// - threadMessageOptions - A single message within an assistant thread, as provided during that thread's creation for its initial
// state.
// - body - A single message within an assistant thread, as provided during that thread's creation for its initial state.
// - options - CreateMessageOptions contains the optional parameters for the Client.CreateMessage method.
func (client *Client) CreateMessage(ctx context.Context, threadID string, threadMessageOptions CreateMessageBody, options *CreateMessageOptions) (CreateMessageResponse, error) {
func (client *Client) CreateMessage(ctx context.Context, threadID string, body CreateMessageBody, options *CreateMessageOptions) (CreateMessageResponse, error) {
var err error
req, err := client.createMessageCreateRequest(ctx, threadID, threadMessageOptions, options)
req, err := client.createMessageCreateRequest(ctx, threadID, body, options)
if err != nil {
return CreateMessageResponse{}, err
}
@ -211,7 +211,7 @@ func (client *Client) CreateMessage(ctx context.Context, threadID string, thread
}
// createMessageCreateRequest creates the CreateMessage request.
func (client *Client) createMessageCreateRequest(ctx context.Context, threadID string, threadMessageOptions CreateMessageBody, options *CreateMessageOptions) (*policy.Request, error) {
func (client *Client) createMessageCreateRequest(ctx context.Context, threadID string, body CreateMessageBody, options *CreateMessageOptions) (*policy.Request, error) {
urlPath := client.formatURL("/threads/{threadId}/messages")
if threadID == "" {
return nil, errors.New("parameter threadID cannot be empty")
@ -222,7 +222,7 @@ func (client *Client) createMessageCreateRequest(ctx context.Context, threadID s
return nil, err
}
req.Raw().Header["Accept"] = []string{"application/json"}
if err := runtime.MarshalAsJSON(req, threadMessageOptions); err != nil {
if err := runtime.MarshalAsJSON(req, body); err != nil {
return nil, err
}
return req, nil
@ -240,9 +240,9 @@ func (client *Client) createMessageHandleResponse(resp *http.Response) (CreateMe
// CreateRun - Creates a new run for an assistant thread.
// If the operation fails it returns an *azcore.ResponseError type.
//
// Generated from API version 2024-05-01-preview
// Generated from API version 2024-07-01-preview
// - threadID - The ID of the thread to run.
// - createRunBody - The details for the run to create.
// - createRunBody - The details used when creating a new run of an assistant thread.
// - options - CreateRunOptions contains the optional parameters for the Client.CreateRun method.
func (client *Client) CreateRun(ctx context.Context, threadID string, createRunBody CreateRunBody, options *CreateRunOptions) (CreateRunResponse, error) {
var err error
@ -292,7 +292,8 @@ func (client *Client) createRunHandleResponse(resp *http.Response) (CreateRunRes
// CreateThread - Creates a new thread. Threads contain messages and can be run by assistants.
// If the operation fails it returns an *azcore.ResponseError type.
//
// Generated from API version 2024-05-01-preview
// Generated from API version 2024-07-01-preview
// - body - The details used to create a new assistant thread.
// - options - CreateThreadOptions contains the optional parameters for the Client.CreateThread method.
func (client *Client) CreateThread(ctx context.Context, body CreateThreadBody, options *CreateThreadOptions) (CreateThreadResponse, error) {
var err error
@ -338,7 +339,8 @@ func (client *Client) createThreadHandleResponse(resp *http.Response) (CreateThr
// CreateThreadAndRun - Creates a new assistant thread and immediately starts a run using that new thread.
// If the operation fails it returns an *azcore.ResponseError type.
//
// Generated from API version 2024-05-01-preview
// Generated from API version 2024-07-01-preview
// - body - The details used when creating and immediately running a new assistant thread.
// - options - CreateThreadAndRunOptions contains the optional parameters for the Client.CreateThreadAndRun method.
func (client *Client) CreateThreadAndRun(ctx context.Context, body CreateAndRunThreadBody, options *CreateThreadAndRunOptions) (CreateThreadAndRunResponse, error) {
var err error
@ -384,7 +386,8 @@ func (client *Client) createThreadAndRunHandleResponse(resp *http.Response) (Cre
// CreateVectorStore - Creates a vector store.
// If the operation fails it returns an *azcore.ResponseError type.
//
// Generated from API version 2024-05-01-preview
// Generated from API version 2024-07-01-preview
// - body - Request object for creating a vector store.
// - options - CreateVectorStoreOptions contains the optional parameters for the Client.CreateVectorStore method.
func (client *Client) CreateVectorStore(ctx context.Context, body VectorStoreBody, options *CreateVectorStoreOptions) (CreateVectorStoreResponse, error) {
var err error
@ -430,13 +433,13 @@ func (client *Client) createVectorStoreHandleResponse(resp *http.Response) (Crea
// CreateVectorStoreFile - Create a vector store file by attaching a file to a vector store.
// If the operation fails it returns an *azcore.ResponseError type.
//
// Generated from API version 2024-05-01-preview
// Generated from API version 2024-07-01-preview
// - vectorStoreID - The ID of the vector store for which to create a File.
// - fileID - A File ID that the vector store should use. Useful for tools like file_search that can access files.
// - body - Request object for creating a vector store file.
// - options - CreateVectorStoreFileOptions contains the optional parameters for the Client.CreateVectorStoreFile method.
func (client *Client) CreateVectorStoreFile(ctx context.Context, vectorStoreID string, fileID string, options *CreateVectorStoreFileOptions) (CreateVectorStoreFileResponse, error) {
func (client *Client) CreateVectorStoreFile(ctx context.Context, vectorStoreID string, body CreateVectorStoreFileBody, options *CreateVectorStoreFileOptions) (CreateVectorStoreFileResponse, error) {
var err error
req, err := client.createVectorStoreFileCreateRequest(ctx, vectorStoreID, fileID, options)
req, err := client.createVectorStoreFileCreateRequest(ctx, vectorStoreID, body, options)
if err != nil {
return CreateVectorStoreFileResponse{}, err
}
@ -453,7 +456,7 @@ func (client *Client) CreateVectorStoreFile(ctx context.Context, vectorStoreID s
}
// createVectorStoreFileCreateRequest creates the CreateVectorStoreFile request.
func (client *Client) createVectorStoreFileCreateRequest(ctx context.Context, vectorStoreID string, fileID string, options *CreateVectorStoreFileOptions) (*policy.Request, error) {
func (client *Client) createVectorStoreFileCreateRequest(ctx context.Context, vectorStoreID string, body CreateVectorStoreFileBody, options *CreateVectorStoreFileOptions) (*policy.Request, error) {
urlPath := client.formatURL("/vector_stores/{vectorStoreId}/files")
if vectorStoreID == "" {
return nil, errors.New("parameter vectorStoreID cannot be empty")
@ -464,7 +467,7 @@ func (client *Client) createVectorStoreFileCreateRequest(ctx context.Context, ve
return nil, err
}
req.Raw().Header["Accept"] = []string{"application/json"}
if err := runtime.MarshalAsJSON(req, fileIDStruct{fileID}); err != nil {
if err := runtime.MarshalAsJSON(req, body); err != nil {
return nil, err
}
return req, nil
@ -482,7 +485,7 @@ func (client *Client) createVectorStoreFileHandleResponse(resp *http.Response) (
// CreateVectorStoreFileBatch - Create a vector store file batch.
// If the operation fails it returns an *azcore.ResponseError type.
//
// Generated from API version 2024-05-01-preview
// Generated from API version 2024-07-01-preview
// - vectorStoreID - The ID of the vector store for which to create a File Batch.
// - options - CreateVectorStoreFileBatchOptions contains the optional parameters for the Client.CreateVectorStoreFileBatch
// method.
@ -534,7 +537,7 @@ func (client *Client) createVectorStoreFileBatchHandleResponse(resp *http.Respon
// DeleteAssistant - Deletes an assistant.
// If the operation fails it returns an *azcore.ResponseError type.
//
// Generated from API version 2024-05-01-preview
// Generated from API version 2024-07-01-preview
// - assistantID - The ID of the assistant to delete.
// - options - DeleteAssistantOptions contains the optional parameters for the Client.DeleteAssistant method.
func (client *Client) DeleteAssistant(ctx context.Context, assistantID string, options *DeleteAssistantOptions) (DeleteAssistantResponse, error) {
@ -582,7 +585,7 @@ func (client *Client) deleteAssistantHandleResponse(resp *http.Response) (Delete
// DeleteFile - Delete a previously uploaded file.
// If the operation fails it returns an *azcore.ResponseError type.
//
// Generated from API version 2024-05-01-preview
// Generated from API version 2024-07-01-preview
// - fileID - The ID of the file to delete.
// - options - DeleteFileOptions contains the optional parameters for the Client.DeleteFile method.
func (client *Client) DeleteFile(ctx context.Context, fileID string, options *DeleteFileOptions) (DeleteFileResponse, error) {
@ -630,7 +633,7 @@ func (client *Client) deleteFileHandleResponse(resp *http.Response) (DeleteFileR
// DeleteThread - Deletes an existing thread.
// If the operation fails it returns an *azcore.ResponseError type.
//
// Generated from API version 2024-05-01-preview
// Generated from API version 2024-07-01-preview
// - threadID - The ID of the thread to delete.
// - options - DeleteThreadOptions contains the optional parameters for the Client.DeleteThread method.
func (client *Client) DeleteThread(ctx context.Context, threadID string, options *DeleteThreadOptions) (DeleteThreadResponse, error) {
@ -678,7 +681,7 @@ func (client *Client) deleteThreadHandleResponse(resp *http.Response) (DeleteThr
// DeleteVectorStore - Deletes the vector store object matching the specified ID.
// If the operation fails it returns an *azcore.ResponseError type.
//
// Generated from API version 2024-05-01-preview
// Generated from API version 2024-07-01-preview
// - vectorStoreID - The ID of the vector store to delete.
// - options - DeleteVectorStoreOptions contains the optional parameters for the Client.DeleteVectorStore method.
func (client *Client) DeleteVectorStore(ctx context.Context, vectorStoreID string, options *DeleteVectorStoreOptions) (DeleteVectorStoreResponse, error) {
@ -727,7 +730,7 @@ func (client *Client) deleteVectorStoreHandleResponse(resp *http.Response) (Dele
// will not be deleted. To delete the file, use the delete file endpoint.
// If the operation fails it returns an *azcore.ResponseError type.
//
// Generated from API version 2024-05-01-preview
// Generated from API version 2024-07-01-preview
// - vectorStoreID - The ID of the vector store that the file belongs to.
// - fileID - The ID of the file to delete its relationship to the vector store.
// - options - DeleteVectorStoreFileOptions contains the optional parameters for the Client.DeleteVectorStoreFile method.
@ -780,7 +783,7 @@ func (client *Client) deleteVectorStoreFileHandleResponse(resp *http.Response) (
// GetAssistant - Retrieves an existing assistant.
// If the operation fails it returns an *azcore.ResponseError type.
//
// Generated from API version 2024-05-01-preview
// Generated from API version 2024-07-01-preview
// - assistantID - The ID of the assistant to retrieve.
// - options - GetAssistantOptions contains the optional parameters for the Client.GetAssistant method.
func (client *Client) GetAssistant(ctx context.Context, assistantID string, options *GetAssistantOptions) (GetAssistantResponse, error) {
@ -828,7 +831,7 @@ func (client *Client) getAssistantHandleResponse(resp *http.Response) (GetAssist
// GetFile - Returns information about a specific file. Does not retrieve file content.
// If the operation fails it returns an *azcore.ResponseError type.
//
// Generated from API version 2024-05-01-preview
// Generated from API version 2024-07-01-preview
// - fileID - The ID of the file to retrieve.
// - options - GetFileOptions contains the optional parameters for the Client.GetFile method.
func (client *Client) GetFile(ctx context.Context, fileID string, options *GetFileOptions) (GetFileResponse, error) {
@ -876,7 +879,7 @@ func (client *Client) getFileHandleResponse(resp *http.Response) (GetFileRespons
// GetMessage - Gets an existing message from an existing thread.
// If the operation fails it returns an *azcore.ResponseError type.
//
// Generated from API version 2024-05-01-preview
// Generated from API version 2024-07-01-preview
// - threadID - The ID of the thread to retrieve the specified message from.
// - messageID - The ID of the message to retrieve from the specified thread.
// - options - GetMessageOptions contains the optional parameters for the Client.GetMessage method.
@ -929,7 +932,7 @@ func (client *Client) getMessageHandleResponse(resp *http.Response) (GetMessageR
// GetRun - Gets an existing run from an existing thread.
// If the operation fails it returns an *azcore.ResponseError type.
//
// Generated from API version 2024-05-01-preview
// Generated from API version 2024-07-01-preview
// - threadID - The ID of the thread to retrieve run information from.
// - runID - The ID of the thread to retrieve information about.
// - options - GetRunOptions contains the optional parameters for the Client.GetRun method.
@ -982,7 +985,7 @@ func (client *Client) getRunHandleResponse(resp *http.Response) (GetRunResponse,
// GetRunStep - Gets a single run step from a thread run.
// If the operation fails it returns an *azcore.ResponseError type.
//
// Generated from API version 2024-05-01-preview
// Generated from API version 2024-07-01-preview
// - threadID - The ID of the thread that was run.
// - runID - The ID of the specific run to retrieve the step from.
// - stepID - The ID of the step to retrieve information about.
@ -1040,7 +1043,7 @@ func (client *Client) getRunStepHandleResponse(resp *http.Response) (GetRunStepR
// GetThread - Gets information about an existing thread.
// If the operation fails it returns an *azcore.ResponseError type.
//
// Generated from API version 2024-05-01-preview
// Generated from API version 2024-07-01-preview
// - threadID - The ID of the thread to retrieve information about.
// - options - GetThreadOptions contains the optional parameters for the Client.GetThread method.
func (client *Client) GetThread(ctx context.Context, threadID string, options *GetThreadOptions) (GetThreadResponse, error) {
@ -1088,7 +1091,7 @@ func (client *Client) getThreadHandleResponse(resp *http.Response) (GetThreadRes
// GetVectorStore - Returns the vector store object matching the specified ID.
// If the operation fails it returns an *azcore.ResponseError type.
//
// Generated from API version 2024-05-01-preview
// Generated from API version 2024-07-01-preview
// - vectorStoreID - The ID of the vector store to retrieve.
// - options - GetVectorStoreOptions contains the optional parameters for the Client.GetVectorStore method.
func (client *Client) GetVectorStore(ctx context.Context, vectorStoreID string, options *GetVectorStoreOptions) (GetVectorStoreResponse, error) {
@ -1136,7 +1139,7 @@ func (client *Client) getVectorStoreHandleResponse(resp *http.Response) (GetVect
// GetVectorStoreFile - Retrieves a vector store file.
// If the operation fails it returns an *azcore.ResponseError type.
//
// Generated from API version 2024-05-01-preview
// Generated from API version 2024-07-01-preview
// - vectorStoreID - The ID of the vector store that the file belongs to.
// - fileID - The ID of the file being retrieved.
// - options - GetVectorStoreFileOptions contains the optional parameters for the Client.GetVectorStoreFile method.
@ -1189,7 +1192,7 @@ func (client *Client) getVectorStoreFileHandleResponse(resp *http.Response) (Get
// GetVectorStoreFileBatch - Retrieve a vector store file batch.
// If the operation fails it returns an *azcore.ResponseError type.
//
// Generated from API version 2024-05-01-preview
// Generated from API version 2024-07-01-preview
// - vectorStoreID - The ID of the vector store that the file batch belongs to.
// - batchID - The ID of the file batch being retrieved.
// - options - GetVectorStoreFileBatchOptions contains the optional parameters for the Client.GetVectorStoreFileBatch
@ -1243,7 +1246,7 @@ func (client *Client) getVectorStoreFileBatchHandleResponse(resp *http.Response)
// ListAssistants - Gets a list of assistants that were previously created.
// If the operation fails it returns an *azcore.ResponseError type.
//
// Generated from API version 2024-05-01-preview
// Generated from API version 2024-07-01-preview
// - options - ListAssistantsOptions contains the optional parameters for the Client.ListAssistants method.
func (client *Client) internalListAssistants(ctx context.Context, options *ListAssistantsOptions) (ListAssistantsResponse, error) {
var err error
@ -1300,7 +1303,7 @@ func (client *Client) listAssistantsHandleResponse(resp *http.Response) (ListAss
// ListFiles - Gets a list of previously uploaded files.
// If the operation fails it returns an *azcore.ResponseError type.
//
// Generated from API version 2024-05-01-preview
// Generated from API version 2024-07-01-preview
// - options - ListFilesOptions contains the optional parameters for the Client.ListFiles method.
func (client *Client) ListFiles(ctx context.Context, options *ListFilesOptions) (ListFilesResponse, error) {
var err error
@ -1348,7 +1351,7 @@ func (client *Client) listFilesHandleResponse(resp *http.Response) (ListFilesRes
// ListMessages - Gets a list of messages that exist on a thread.
// If the operation fails it returns an *azcore.ResponseError type.
//
// Generated from API version 2024-05-01-preview
// Generated from API version 2024-07-01-preview
// - threadID - The ID of the thread to list messages from.
// - options - ListMessagesOptions contains the optional parameters for the Client.ListMessages method.
func (client *Client) internalListMessages(ctx context.Context, threadID string, options *ListMessagesOptions) (ListMessagesResponse, error) {
@ -1413,7 +1416,7 @@ func (client *Client) listMessagesHandleResponse(resp *http.Response) (ListMessa
// ListRunSteps - Gets a list of run steps from a thread run.
// If the operation fails it returns an *azcore.ResponseError type.
//
// Generated from API version 2024-05-01-preview
// Generated from API version 2024-07-01-preview
// - threadID - The ID of the thread that was run.
// - runID - The ID of the run to list steps from.
// - options - ListRunStepsOptions contains the optional parameters for the Client.ListRunSteps method.
@ -1480,7 +1483,7 @@ func (client *Client) listRunStepsHandleResponse(resp *http.Response) (ListRunSt
// ListRuns - Gets a list of runs for a specified thread.
// If the operation fails it returns an *azcore.ResponseError type.
//
// Generated from API version 2024-05-01-preview
// Generated from API version 2024-07-01-preview
// - threadID - The ID of the thread to list runs from.
// - options - ListRunsOptions contains the optional parameters for the Client.ListRuns method.
func (client *Client) internalListRuns(ctx context.Context, threadID string, options *ListRunsOptions) (ListRunsResponse, error) {
@ -1542,7 +1545,7 @@ func (client *Client) listRunsHandleResponse(resp *http.Response) (ListRunsRespo
// ListVectorStoreFileBatchFiles - Returns a list of vector store files in a batch.
// If the operation fails it returns an *azcore.ResponseError type.
//
// Generated from API version 2024-05-01-preview
// Generated from API version 2024-07-01-preview
// - vectorStoreID - The ID of the vector store that the file batch belongs to.
// - batchID - The ID of the file batch that the files belong to.
// - options - ListVectorStoreFileBatchFilesOptions contains the optional parameters for the Client.ListVectorStoreFileBatchFiles
@ -1613,7 +1616,7 @@ func (client *Client) listVectorStoreFileBatchFilesHandleResponse(resp *http.Res
// ListVectorStoreFiles - Returns a list of vector store files.
// If the operation fails it returns an *azcore.ResponseError type.
//
// Generated from API version 2024-05-01-preview
// Generated from API version 2024-07-01-preview
// - vectorStoreID - The ID of the vector store that the files belong to.
// - options - ListVectorStoreFilesOptions contains the optional parameters for the Client.ListVectorStoreFiles method.
func (client *Client) internalListVectorStoreFiles(ctx context.Context, vectorStoreID string, options *ListVectorStoreFilesOptions) (ListVectorStoreFilesResponse, error) {
@ -1678,7 +1681,7 @@ func (client *Client) listVectorStoreFilesHandleResponse(resp *http.Response) (L
// ListVectorStores - Returns a list of vector stores.
// If the operation fails it returns an *azcore.ResponseError type.
//
// Generated from API version 2024-05-01-preview
// Generated from API version 2024-07-01-preview
// - options - ListVectorStoresOptions contains the optional parameters for the Client.ListVectorStores method.
func (client *Client) internalListVectorStores(ctx context.Context, options *ListVectorStoresOptions) (ListVectorStoresResponse, error) {
var err error
@ -1735,8 +1738,9 @@ func (client *Client) listVectorStoresHandleResponse(resp *http.Response) (ListV
// ModifyVectorStore - The ID of the vector store to modify.
// If the operation fails it returns an *azcore.ResponseError type.
//
// Generated from API version 2024-05-01-preview
// Generated from API version 2024-07-01-preview
// - vectorStoreID - The ID of the vector store to modify.
// - body - Request object for updating a vector store.
// - options - ModifyVectorStoreOptions contains the optional parameters for the Client.ModifyVectorStore method.
func (client *Client) ModifyVectorStore(ctx context.Context, vectorStoreID string, body VectorStoreUpdateBody, options *ModifyVectorStoreOptions) (ModifyVectorStoreResponse, error) {
var err error
@ -1787,7 +1791,7 @@ func (client *Client) modifyVectorStoreHandleResponse(resp *http.Response) (Modi
// outputs will have a status of 'requiresaction' with a requiredaction.type of 'submittooloutputs'.
// If the operation fails it returns an *azcore.ResponseError type.
//
// Generated from API version 2024-05-01-preview
// Generated from API version 2024-07-01-preview
// - threadID - The ID of the thread that was run.
// - runID - The ID of the run that requires tool outputs.
// - options - SubmitToolOutputsToRunOptions contains the optional parameters for the Client.SubmitToolOutputsToRun method.
@ -1843,8 +1847,9 @@ func (client *Client) submitToolOutputsToRunHandleResponse(resp *http.Response)
// UpdateAssistant - Modifies an existing assistant.
// If the operation fails it returns an *azcore.ResponseError type.
//
// Generated from API version 2024-05-01-preview
// Generated from API version 2024-07-01-preview
// - assistantID - The ID of the assistant to modify.
// - body - The request details to use when modifying an existing assistant.
// - options - UpdateAssistantOptions contains the optional parameters for the Client.UpdateAssistant method.
func (client *Client) UpdateAssistant(ctx context.Context, assistantID string, body UpdateAssistantBody, options *UpdateAssistantOptions) (UpdateAssistantResponse, error) {
var err error
@ -1894,7 +1899,7 @@ func (client *Client) updateAssistantHandleResponse(resp *http.Response) (Update
// UpdateMessage - Modifies an existing message on an existing thread.
// If the operation fails it returns an *azcore.ResponseError type.
//
// Generated from API version 2024-05-01-preview
// Generated from API version 2024-07-01-preview
// - threadID - The ID of the thread containing the specified message to modify.
// - messageID - The ID of the message to modify on the specified thread.
// - options - UpdateMessageOptions contains the optional parameters for the Client.UpdateMessage method.
@ -1950,7 +1955,7 @@ func (client *Client) updateMessageHandleResponse(resp *http.Response) (UpdateMe
// UpdateRun - Modifies an existing thread run.
// If the operation fails it returns an *azcore.ResponseError type.
//
// Generated from API version 2024-05-01-preview
// Generated from API version 2024-07-01-preview
// - threadID - The ID of the thread associated with the specified run.
// - runID - The ID of the run to modify.
// - options - UpdateRunOptions contains the optional parameters for the Client.UpdateRun method.
@ -2006,8 +2011,9 @@ func (client *Client) updateRunHandleResponse(resp *http.Response) (UpdateRunRes
// UpdateThread - Modifies an existing thread.
// If the operation fails it returns an *azcore.ResponseError type.
//
// Generated from API version 2024-05-01-preview
// Generated from API version 2024-07-01-preview
// - threadID - The ID of the thread to modify.
// - body - The details used to update an existing assistant thread.
// - options - UpdateThreadOptions contains the optional parameters for the Client.UpdateThread method.
func (client *Client) UpdateThread(ctx context.Context, threadID string, body UpdateThreadBody, options *UpdateThreadOptions) (UpdateThreadResponse, error) {
var err error
@ -2057,7 +2063,7 @@ func (client *Client) updateThreadHandleResponse(resp *http.Response) (UpdateThr
// UploadFile - Uploads a file for use by other operations.
// If the operation fails it returns an *azcore.ResponseError type.
//
// Generated from API version 2024-05-01-preview
// Generated from API version 2024-07-01-preview
// - file - The file data (not filename) to upload.
// - purpose - The intended purpose of the file.
// - options - UploadFileOptions contains the optional parameters for the Client.UploadFile method.

Просмотреть файл

@ -116,7 +116,7 @@ func (b *azureOpenAIPolicy) Do(req *policy.Request) (*http.Response, error) {
reqQP := req.Raw().URL.Query()
// TODO: there used to be a constant with this value but it doesn't appear to be generated anymore.
reqQP.Set("api-version", string("2024-05-01-preview"))
reqQP.Set("api-version", string("2024-07-01-preview"))
req.Raw().URL.RawQuery = reqQP.Encode()
req.Raw().Header.Add("OpenAI-Beta", "assistants=v2")

Просмотреть файл

@ -157,9 +157,9 @@ func TestAssistantMessages(t *testing.T) {
Attachments: []azopenaiassistants.MessageAttachment{
{
FileID: uploadResp.ID,
Tools: []azopenaiassistants.MessageAttachmentToolDefinition{
{CodeInterpreterToolDefinition: &azopenaiassistants.CodeInterpreterToolDefinition{}},
{FileSearchToolDefinition: &azopenaiassistants.FileSearchToolDefinition{}},
Tools: []azopenaiassistants.MessageAttachmentToolAssignment{
{Type: to.Ptr(azopenaiassistants.MessageAttachmentToolAssignmentTypeCodeInterpreter)},
{Type: to.Ptr(azopenaiassistants.MessageAttachmentToolAssignmentTypeFileSearch)},
},
},
},
@ -169,19 +169,17 @@ func TestAssistantMessages(t *testing.T) {
attachmentTools := messageResp.Attachments[0].Tools
// just trying to keep a consistent ordering of the tools for our checks.
if attachmentTools[0].CodeInterpreterToolDefinition == nil {
if *attachmentTools[0].Type == azopenaiassistants.MessageAttachmentToolAssignmentTypeFileSearch {
attachmentTools[0], attachmentTools[1] = attachmentTools[1], attachmentTools[0]
}
require.Equal(t, azopenaiassistants.CodeInterpreterToolDefinition{
Type: to.Ptr("code_interpreter"),
}, *attachmentTools[0].CodeInterpreterToolDefinition)
require.Nil(t, attachmentTools[0].FileSearchToolDefinition)
require.Equal(t, azopenaiassistants.MessageAttachmentToolAssignment{
Type: to.Ptr(azopenaiassistants.MessageAttachmentToolAssignmentType("code_interpreter")),
}, attachmentTools[0])
require.Equal(t, azopenaiassistants.FileSearchToolDefinition{
Type: to.Ptr("file_search"),
}, *attachmentTools[1].FileSearchToolDefinition)
require.Nil(t, attachmentTools[1].CodeInterpreterToolDefinition)
require.Equal(t, azopenaiassistants.MessageAttachmentToolAssignment{
Type: to.Ptr(azopenaiassistants.MessageAttachmentToolAssignmentType("file_search")),
}, attachmentTools[1])
messageID := messageResp.ID

Просмотреть файл

@ -119,8 +119,5 @@ func TestCodeInterpreterAndFileSearchMatchUnmarshaller(t *testing.T) {
require.Equal(t, []string{"Type"}, getFieldNames(fields), "Fields match what we unmarshal")
fields = reflect.VisibleFields(reflect.TypeOf(azopenaiassistants.FileSearchToolDefinition{}))
require.Equal(t, []string{"Type"}, getFieldNames(fields), "Fields match what we unmarshal")
fields = reflect.VisibleFields(reflect.TypeOf(azopenaiassistants.MessageAttachmentToolDefinition{}))
require.Equal(t, []string{"CodeInterpreterToolDefinition", "FileSearchToolDefinition"}, getFieldNames(fields), "Fields match what we marshal")
require.Equal(t, []string{"Type", "FileSearch"}, getFieldNames(fields), "Fields match what we unmarshal")
}

Просмотреть файл

@ -50,7 +50,9 @@ func TestAssistantsWithVectorStores(t *testing.T) {
defer mustDeleteVectorStore(t, client, vectorStoreID)
createVectorFileResp, err := client.CreateVectorStoreFile(context.Background(), vectorStoreID, fileID, nil)
createVectorFileResp, err := client.CreateVectorStoreFile(context.Background(), vectorStoreID, azopenaiassistants.CreateVectorStoreFileBody{
FileID: &fileID,
}, nil)
require.NoError(t, err)
require.NotEmpty(t, createVectorFileResp)

Просмотреть файл

@ -322,6 +322,22 @@ func PossibleListSortOrderValues() []ListSortOrder {
}
}
// MessageAttachmentToolAssignmentType - The type of the tool being selected.
type MessageAttachmentToolAssignmentType string
const (
MessageAttachmentToolAssignmentTypeCodeInterpreter MessageAttachmentToolAssignmentType = "code_interpreter"
MessageAttachmentToolAssignmentTypeFileSearch MessageAttachmentToolAssignmentType = "file_search"
)
// PossibleMessageAttachmentToolAssignmentTypeValues returns the possible values for the MessageAttachmentToolAssignmentType const type.
func PossibleMessageAttachmentToolAssignmentTypeValues() []MessageAttachmentToolAssignmentType {
return []MessageAttachmentToolAssignmentType{
MessageAttachmentToolAssignmentTypeCodeInterpreter,
MessageAttachmentToolAssignmentTypeFileSearch,
}
}
// MessageIncompleteDetailsReason - A set of reasons describing why a message is marked as incomplete.
type MessageIncompleteDetailsReason string
@ -629,6 +645,38 @@ func PossibleTruncationStrategyValues() []TruncationStrategy {
}
}
// VectorStoreChunkingStrategyRequestType - Type of chunking strategy
type VectorStoreChunkingStrategyRequestType string
const (
VectorStoreChunkingStrategyRequestTypeAuto VectorStoreChunkingStrategyRequestType = "auto"
VectorStoreChunkingStrategyRequestTypeStatic VectorStoreChunkingStrategyRequestType = "static"
)
// PossibleVectorStoreChunkingStrategyRequestTypeValues returns the possible values for the VectorStoreChunkingStrategyRequestType const type.
func PossibleVectorStoreChunkingStrategyRequestTypeValues() []VectorStoreChunkingStrategyRequestType {
return []VectorStoreChunkingStrategyRequestType{
VectorStoreChunkingStrategyRequestTypeAuto,
VectorStoreChunkingStrategyRequestTypeStatic,
}
}
// VectorStoreChunkingStrategyResponseType - Type of chunking strategy
type VectorStoreChunkingStrategyResponseType string
const (
VectorStoreChunkingStrategyResponseTypeOther VectorStoreChunkingStrategyResponseType = "other"
VectorStoreChunkingStrategyResponseTypeStatic VectorStoreChunkingStrategyResponseType = "static"
)
// PossibleVectorStoreChunkingStrategyResponseTypeValues returns the possible values for the VectorStoreChunkingStrategyResponseType const type.
func PossibleVectorStoreChunkingStrategyResponseTypeValues() []VectorStoreChunkingStrategyResponseType {
return []VectorStoreChunkingStrategyResponseType{
VectorStoreChunkingStrategyResponseTypeOther,
VectorStoreChunkingStrategyResponseTypeStatic,
}
}
// VectorStoreExpirationPolicyAnchor - Describes the relationship between the days and the expiration of this vector store
type VectorStoreExpirationPolicyAnchor string

Просмотреть файл

@ -124,3 +124,21 @@ type ToolDefinitionClassification interface {
// GetToolDefinition returns the ToolDefinition content of the underlying type.
GetToolDefinition() *ToolDefinition
}
// VectorStoreChunkingStrategyRequestClassification provides polymorphic access to related types.
// Call the interface's GetVectorStoreChunkingStrategyRequest() method to access the common type.
// Use a type switch to determine the concrete type. The possible types are:
// - *VectorStoreAutoChunkingStrategyRequest, *VectorStoreChunkingStrategyRequest, *VectorStoreStaticChunkingStrategyRequest
type VectorStoreChunkingStrategyRequestClassification interface {
// GetVectorStoreChunkingStrategyRequest returns the VectorStoreChunkingStrategyRequest content of the underlying type.
GetVectorStoreChunkingStrategyRequest() *VectorStoreChunkingStrategyRequest
}
// VectorStoreChunkingStrategyResponseClassification provides polymorphic access to related types.
// Call the interface's GetVectorStoreChunkingStrategyResponse() method to access the common type.
// Use a type switch to determine the concrete type. The possible types are:
// - *VectorStoreAutoChunkingStrategyResponse, *VectorStoreChunkingStrategyResponse, *VectorStoreStaticChunkingStrategyResponse
type VectorStoreChunkingStrategyResponseClassification interface {
// GetVectorStoreChunkingStrategyResponse returns the VectorStoreChunkingStrategyResponse content of the underlying type.
GetVectorStoreChunkingStrategyResponse() *VectorStoreChunkingStrategyResponse
}

Просмотреть файл

@ -78,6 +78,8 @@ func (t *transformer) Do() error {
t.hideListFunctions,
t.fixFiles,
t.fixStreaming,
t.renameTypes,
t.replaceDocs,
t.applyHacks,
}
@ -183,6 +185,11 @@ func (t *transformer) fixFiles() error {
return err
}
/* We are removing a vestigial type from a feature that was rolled back, when it is re-implemented we will need to remove this */
if err := removeTypes(t.fileCache, []string{"MessageDeltaTextURLCitationDetails"}, nil); err != nil {
return err
}
return transformFiles(t.fileCache, "fixFiles", []string{"client.go"}, func(text string) (string, error) {
return strings.Replace(
text,
@ -192,17 +199,6 @@ func (t *transformer) fixFiles() error {
}
func (t *transformer) applyHacks() error {
// TODO: the 'fileID' parameter for "createVectorStoreFileCreateRequest" isn't being encoded as a body field, it's being encoded as the entire body.
re := regexp.MustCompile(`(?s)(func \(client \*Client\) createVectorStoreFileCreateRequest\(.+?if err := runtime.MarshalAsJSON\(req, )fileID`)
err := transformFiles(t.fileCache, "createVectorStoreFileCreateRequest fix", []string{"client.go"}, func(text string) (string, error) {
text = re.ReplaceAllString(text, "${1}fileIDStruct{fileID}")
return text, nil
}, nil)
if err != nil {
return err
}
// TODO: for some reason the doc comments aren't making it over.
docs := map[string]string{
@ -210,6 +206,7 @@ func (t *transformer) applyHacks() error {
"SubmitToolOutputsToRunBody": "// SubmitToolOutputsToRunBody contains arguments for the [SubmitToolOutputsToRun] method.",
"UpdateMessageBody": "// UpdateMessageBody contains arguments for the [UpdateMessage] method.",
"UpdateRunBody": "// UpdateRunBody contains arguments for the [UpdateRun] method.",
"CreateVectorStoreFileBody": "// CreateVectorStoreFileBody contains arguments for the [CreateVectorStoreFile] method.",
}
for typeName, comment := range docs {
@ -253,3 +250,41 @@ func (t *transformer) fixStreaming() error {
return err
}
func (t *transformer) renameTypes() error {
log.Printf("renameTypes()")
err := transformFiles(t.fileCache, "Rename Paths1Wlr7QiVectorStoresVectorstoreidFilesPostRequestbodyContentApplicationJSONSchema type", []string{"models_serde.go", "models.go", "client.go"}, func(text string) (string, error) {
text = strings.ReplaceAll(text, `Paths1Wlr7QiVectorStoresVectorstoreidFilesPostRequestbodyContentApplicationJSONSchema`, `CreateVectorStoreFileBody`)
return text, nil
}, nil)
return err
}
func (t *transformer) replaceDocs() error {
log.Printf("replaceDocs()")
err := transformFiles(t.fileCache, "replaceDocs", []string{"client.go"}, func(text string) (string, error) {
docString := `
// CreateVectorStoreFile - Create a vector store file by attaching a file to a vector store.
// If the operation fails it returns an *azcore.ResponseError type.
//
// Generated from API version 2024-07-01-preview
// - vectorStoreID - The ID of the vector store for which to create a File.
// - options - CreateVectorStoreFileOptions contains the optional parameters for the Client.CreateVectorStoreFile method.
`
newDocString := `
// CreateVectorStoreFile - Create a vector store file by attaching a file to a vector store.
// If the operation fails it returns an *azcore.ResponseError type.
//
// Generated from API version 2024-07-01-preview
// - vectorStoreID - The ID of the vector store for which to create a File.
// - body - Request object for creating a vector store file.
// - options - CreateVectorStoreFileOptions contains the optional parameters for the Client.CreateVectorStoreFile method.
`
text = strings.ReplaceAll(text, docString, newDocString)
return text, nil
}, nil)
return err
}

Просмотреть файл

@ -319,6 +319,9 @@ type CreateCodeInterpreterToolResourceOptions struct {
// CreateFileSearchToolResourceVectorStoreOptions - File IDs associated to the vector store to be passed to the helper.
type CreateFileSearchToolResourceVectorStoreOptions struct {
// REQUIRED; The chunking strategy used to chunk the file(s). If not set, will use the auto strategy.
ChunkingStrategy VectorStoreChunkingStrategyRequestClassification
// REQUIRED; A list of file IDs to add to the vector store. There can be a maximum of 10000 files in a vector store.
FileIDs []string
@ -454,6 +457,9 @@ type CreateToolResourcesOptions struct {
type CreateVectorStoreFileBatchBody struct {
// REQUIRED; A list of File IDs that the vector store should use. Useful for tools like file_search that can access files.
FileIDs []string
// The chunking strategy used to chunk the file(s). If not set, will use the auto strategy.
ChunkingStrategy VectorStoreChunkingStrategyRequestClassification
}
// FileDeletionStatus - A status response from a file deletion operation.
@ -481,6 +487,9 @@ type FileListResponse struct {
type FileSearchToolDefinition struct {
// REQUIRED; The object type.
Type *string
// Options overrides for the file search tool.
FileSearch *FileSearchToolDefinitionDetails
}
// GetToolDefinition implements the ToolDefinitionClassification interface for type FileSearchToolDefinition.
@ -490,6 +499,15 @@ func (f *FileSearchToolDefinition) GetToolDefinition() *ToolDefinition {
}
}
// FileSearchToolDefinitionDetails - Options overrides for the file search tool.
type FileSearchToolDefinitionDetails struct {
// The maximum number of results the file search tool should output. The default is 20 for gpt-4* models and 5 for gpt-3.5-turbo.
// This number should be between 1 and 50 inclusive.
// Note that the file search tool may output fewer than max_num_results results. See the file search tool documentation for
// more information.
MaxNumResults *int32
}
// FileSearchToolResource - A set of resources that are used by the file_search tool.
type FileSearchToolResource struct {
// The ID of the vector store attached to this assistant. There can be a maximum of 1 vector store attached to the assistant.
@ -508,7 +526,7 @@ type FunctionDefinition struct {
Description *string
}
// FunctionName - The function name that will be used, if using the funtion tool
// FunctionName - The function name that will be used, if using the function tool
type FunctionName struct {
// REQUIRED; The name of the function to call
Name *string
@ -536,7 +554,13 @@ type MessageAttachment struct {
FileID *string
// REQUIRED; The tools to add to this file.
Tools []MessageAttachmentToolDefinition
Tools []MessageAttachmentToolAssignment
}
// MessageAttachmentToolAssignment - The possible tools to which files will be added by this message
type MessageAttachmentToolAssignment struct {
// REQUIRED; The type of the tool being selected.
Type *MessageAttachmentToolAssignmentType
}
// MessageContent - An abstract representation of a single item of thread message content.
@ -891,6 +915,15 @@ type OpenAIFile struct {
StatusDetails *string
}
// CreateVectorStoreFileBody contains arguments for the [CreateVectorStoreFile] method.
type CreateVectorStoreFileBody struct {
// REQUIRED; A File ID that the vector store should use. Useful for tools like file_search that can access files.
FileID *string
// The chunking strategy used to chunk the file(s). If not set, will use the auto strategy.
ChunkingStrategy VectorStoreChunkingStrategyRequestClassification
}
// RequiredAction - An abstract representation of a required action for an assistant thread run to continue.
type RequiredAction struct {
// REQUIRED; The object type.
@ -1958,8 +1991,42 @@ type VectorStore struct {
ExpiresAt *time.Time
}
// VectorStoreAutoChunkingStrategyRequest - The default strategy. This strategy currently uses a maxchunksizetokens of 800
// and chunkoverlap_tokens of 400.
type VectorStoreAutoChunkingStrategyRequest struct {
// REQUIRED; The object type.
Type *VectorStoreChunkingStrategyRequestType
}
// GetVectorStoreChunkingStrategyRequest implements the VectorStoreChunkingStrategyRequestClassification interface for type
// VectorStoreAutoChunkingStrategyRequest.
func (v *VectorStoreAutoChunkingStrategyRequest) GetVectorStoreChunkingStrategyRequest() *VectorStoreChunkingStrategyRequest {
return &VectorStoreChunkingStrategyRequest{
Type: v.Type,
}
}
// VectorStoreAutoChunkingStrategyResponse - This is returned when the chunking strategy is unknown. Typically, this is because
// the file was indexed before the chunking_strategy concept was introduced in the API.
type VectorStoreAutoChunkingStrategyResponse struct {
// REQUIRED; The object type.
Type *VectorStoreChunkingStrategyResponseType
}
// GetVectorStoreChunkingStrategyResponse implements the VectorStoreChunkingStrategyResponseClassification interface for type
// VectorStoreAutoChunkingStrategyResponse.
func (v *VectorStoreAutoChunkingStrategyResponse) GetVectorStoreChunkingStrategyResponse() *VectorStoreChunkingStrategyResponse {
return &VectorStoreChunkingStrategyResponse{
Type: v.Type,
}
}
// VectorStoreBody - Request object for creating a vector store.
type VectorStoreBody struct {
// The chunking strategy used to chunk the file(s). If not set, will use the auto strategy. Only applicable if file_ids is
// non-empty.
ChunkingStrategy VectorStoreChunkingStrategyRequestClassification
// Details on when this vector store expires
ExpiresAfter *VectorStoreExpirationPolicy
@ -1975,6 +2042,30 @@ type VectorStoreBody struct {
Name *string
}
// VectorStoreChunkingStrategyRequest - An abstract representation of a vector store chunking strategy configuration.
type VectorStoreChunkingStrategyRequest struct {
// REQUIRED; The object type.
Type *VectorStoreChunkingStrategyRequestType
}
// GetVectorStoreChunkingStrategyRequest implements the VectorStoreChunkingStrategyRequestClassification interface for type
// VectorStoreChunkingStrategyRequest.
func (v *VectorStoreChunkingStrategyRequest) GetVectorStoreChunkingStrategyRequest() *VectorStoreChunkingStrategyRequest {
return v
}
// VectorStoreChunkingStrategyResponse - An abstract representation of a vector store chunking strategy configuration.
type VectorStoreChunkingStrategyResponse struct {
// REQUIRED; The object type.
Type *VectorStoreChunkingStrategyResponseType
}
// GetVectorStoreChunkingStrategyResponse implements the VectorStoreChunkingStrategyResponseClassification interface for type
// VectorStoreChunkingStrategyResponse.
func (v *VectorStoreChunkingStrategyResponse) GetVectorStoreChunkingStrategyResponse() *VectorStoreChunkingStrategyResponse {
return v
}
// VectorStoreDeletionStatus - Response object for deleting a vector store.
type VectorStoreDeletionStatus struct {
// REQUIRED; A value indicating whether deletion was successful.
@ -1998,6 +2089,9 @@ type VectorStoreExpirationPolicy struct {
// VectorStoreFile - Description of a file attached to a vector store.
type VectorStoreFile struct {
// REQUIRED; The strategy used to chunk the file.
ChunkingStrategy VectorStoreChunkingStrategyResponseClassification
// REQUIRED; The Unix timestamp (in seconds) for when the vector store file was created.
CreatedAt *time.Time
@ -2126,6 +2220,51 @@ type VectorStoreFilesPage struct {
Object *string
}
// VectorStoreStaticChunkingStrategyOptions - Options to configure a vector store static chunking strategy.
type VectorStoreStaticChunkingStrategyOptions struct {
// REQUIRED; The number of tokens that overlap between chunks. The default value is 400. Note that the overlap must not exceed
// half of maxchunksize_tokens. *
ChunkOverlapTokens *int32
// REQUIRED; The maximum number of tokens in each chunk. The default value is 800. The minimum value is 100 and the maximum
// value is 4096.
MaxChunkSizeTokens *int32
}
// VectorStoreStaticChunkingStrategyRequest - A statically configured chunking strategy.
type VectorStoreStaticChunkingStrategyRequest struct {
// REQUIRED; The options for the static chunking strategy.
Static *VectorStoreStaticChunkingStrategyOptions
// REQUIRED; The object type.
Type *VectorStoreChunkingStrategyRequestType
}
// GetVectorStoreChunkingStrategyRequest implements the VectorStoreChunkingStrategyRequestClassification interface for type
// VectorStoreStaticChunkingStrategyRequest.
func (v *VectorStoreStaticChunkingStrategyRequest) GetVectorStoreChunkingStrategyRequest() *VectorStoreChunkingStrategyRequest {
return &VectorStoreChunkingStrategyRequest{
Type: v.Type,
}
}
// VectorStoreStaticChunkingStrategyResponse - A statically configured chunking strategy.
type VectorStoreStaticChunkingStrategyResponse struct {
// REQUIRED; The options for the static chunking strategy.
Static *VectorStoreStaticChunkingStrategyOptions
// REQUIRED; The object type.
Type *VectorStoreChunkingStrategyResponseType
}
// GetVectorStoreChunkingStrategyResponse implements the VectorStoreChunkingStrategyResponseClassification interface for type
// VectorStoreStaticChunkingStrategyResponse.
func (v *VectorStoreStaticChunkingStrategyResponse) GetVectorStoreChunkingStrategyResponse() *VectorStoreChunkingStrategyResponse {
return &VectorStoreChunkingStrategyResponse{
Type: v.Type,
}
}
// VectorStoreUpdateBody - Request object for updating a vector store.
type VectorStoreUpdateBody struct {
// Details on when this vector store expires

Просмотреть файл

@ -10,56 +10,6 @@ import (
// OpenAI's reference doc for Assistants: https://platform.openai.com/docs/api-reference/assistants
// MessageAttachmentToolDefinition specifies the tools the files being attached will be
// associated with.
type MessageAttachmentToolDefinition struct {
// CodeInterpreterToolDefinition should be set if you attach files for the CodeInterpreter tool.
CodeInterpreterToolDefinition *CodeInterpreterToolDefinition
// FileSearchToolDefinition should be set if you attach files for the FileSearchToolDefinition tool.
FileSearchToolDefinition *FileSearchToolDefinition
}
// MarshalJSON implements the json.Marshaller interface for type MessageAttachmentToolDefinition.
func (m MessageAttachmentToolDefinition) MarshalJSON() ([]byte, error) {
if m.CodeInterpreterToolDefinition != nil {
return json.Marshal(m.CodeInterpreterToolDefinition)
}
// if by chance neither of them is filled out then we'll just serialize a JSON null, which is correct. The service
// does its own validation.
return json.Marshal(m.FileSearchToolDefinition)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type MessageAttachmentToolDefinition.
func (m *MessageAttachmentToolDefinition) UnmarshalJSON(data []byte) error {
var v *struct {
Type string
// NOTE: This type needs to include, uniquely, all the fields of the individual types.
// You can't just embed them because fields that are common between them will
// just get ignored.
}
if err := json.Unmarshal(data, &v); err != nil {
return err
}
switch v.Type {
case "code_interpreter":
m.CodeInterpreterToolDefinition = &CodeInterpreterToolDefinition{
Type: &v.Type,
}
return nil
case "file_search":
m.FileSearchToolDefinition = &FileSearchToolDefinition{
Type: &v.Type,
}
return nil
default:
return fmt.Errorf("unhandled Type (%q) for MessageAttachmentToolDefinition", v.Type)
}
}
// AssistantsAPIToolChoiceOption controls which tools are called by the model.
type AssistantsAPIToolChoiceOption struct {
// Mode controls the behavior for this particular tool.
@ -201,8 +151,3 @@ func unmarshalStringOrObject[T any](jsonBytes []byte) (string, *T, error) {
return "", model, nil
}
// this is a workaround until I figure out where the generation is going awry for the vector store
type fileIDStruct struct {
FileID string `json:"file_id"`
}

Просмотреть файл

@ -655,6 +655,7 @@ func (c *CreateCodeInterpreterToolResourceOptions) UnmarshalJSON(data []byte) er
// MarshalJSON implements the json.Marshaller interface for type CreateFileSearchToolResourceVectorStoreOptions.
func (c CreateFileSearchToolResourceVectorStoreOptions) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "chunking_strategy", c.ChunkingStrategy)
populate(objectMap, "file_ids", c.FileIDs)
populate(objectMap, "metadata", c.Metadata)
return json.Marshal(objectMap)
@ -669,6 +670,9 @@ func (c *CreateFileSearchToolResourceVectorStoreOptions) UnmarshalJSON(data []by
for key, val := range rawMsg {
var err error
switch key {
case "chunking_strategy":
c.ChunkingStrategy, err = unmarshalVectorStoreChunkingStrategyRequestClassification(val)
delete(rawMsg, key)
case "file_ids":
err = unpopulate(val, "FileIDs", &c.FileIDs)
delete(rawMsg, key)
@ -905,6 +909,7 @@ func (c *CreateToolResourcesOptions) UnmarshalJSON(data []byte) error {
// MarshalJSON implements the json.Marshaller interface for type CreateVectorStoreFileBatchBody.
func (c CreateVectorStoreFileBatchBody) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "chunking_strategy", c.ChunkingStrategy)
populate(objectMap, "file_ids", c.FileIDs)
return json.Marshal(objectMap)
}
@ -918,6 +923,9 @@ func (c *CreateVectorStoreFileBatchBody) UnmarshalJSON(data []byte) error {
for key, val := range rawMsg {
var err error
switch key {
case "chunking_strategy":
c.ChunkingStrategy, err = unmarshalVectorStoreChunkingStrategyRequestClassification(val)
delete(rawMsg, key)
case "file_ids":
err = unpopulate(val, "FileIDs", &c.FileIDs)
delete(rawMsg, key)
@ -998,6 +1006,7 @@ func (f *FileListResponse) UnmarshalJSON(data []byte) error {
// MarshalJSON implements the json.Marshaller interface for type FileSearchToolDefinition.
func (f FileSearchToolDefinition) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "file_search", f.FileSearch)
objectMap["type"] = "file_search"
return json.Marshal(objectMap)
}
@ -1011,6 +1020,9 @@ func (f *FileSearchToolDefinition) UnmarshalJSON(data []byte) error {
for key, val := range rawMsg {
var err error
switch key {
case "file_search":
err = unpopulate(val, "FileSearch", &f.FileSearch)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &f.Type)
delete(rawMsg, key)
@ -1022,6 +1034,33 @@ func (f *FileSearchToolDefinition) UnmarshalJSON(data []byte) error {
return nil
}
// MarshalJSON implements the json.Marshaller interface for type FileSearchToolDefinitionDetails.
func (f FileSearchToolDefinitionDetails) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "max_num_results", f.MaxNumResults)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type FileSearchToolDefinitionDetails.
func (f *FileSearchToolDefinitionDetails) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", f, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "max_num_results":
err = unpopulate(val, "MaxNumResults", &f.MaxNumResults)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", f, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type FileSearchToolResource.
func (f FileSearchToolResource) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
@ -1173,6 +1212,33 @@ func (m *MessageAttachment) UnmarshalJSON(data []byte) error {
return nil
}
// MarshalJSON implements the json.Marshaller interface for type MessageAttachmentToolAssignment.
func (m MessageAttachmentToolAssignment) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "type", m.Type)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type MessageAttachmentToolAssignment.
func (m *MessageAttachmentToolAssignment) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", m, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "type":
err = unpopulate(val, "Type", &m.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", m, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type MessageContent.
func (m MessageContent) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
@ -1985,6 +2051,37 @@ func (o *OpenAIFile) UnmarshalJSON(data []byte) error {
return nil
}
// MarshalJSON implements the json.Marshaller interface for type CreateVectorStoreFileBody.
func (p CreateVectorStoreFileBody) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "chunking_strategy", p.ChunkingStrategy)
populate(objectMap, "file_id", p.FileID)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type CreateVectorStoreFileBody.
func (p *CreateVectorStoreFileBody) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", p, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "chunking_strategy":
p.ChunkingStrategy, err = unmarshalVectorStoreChunkingStrategyRequestClassification(val)
delete(rawMsg, key)
case "file_id":
err = unpopulate(val, "FileID", &p.FileID)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", p, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type RequiredAction.
func (r RequiredAction) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
@ -4152,7 +4249,7 @@ func (u *UpdateAssistantThreadOptionsToolResources) UnmarshalJSON(data []byte) e
// MarshalJSON implements the json.Marshaller interface for type UpdateCodeInterpreterToolResourceOptions.
func (u UpdateCodeInterpreterToolResourceOptions) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "fileIds", u.FileIDs)
populate(objectMap, "file_ids", u.FileIDs)
return json.Marshal(objectMap)
}
@ -4165,7 +4262,7 @@ func (u *UpdateCodeInterpreterToolResourceOptions) UnmarshalJSON(data []byte) er
for key, val := range rawMsg {
var err error
switch key {
case "fileIds":
case "file_ids":
err = unpopulate(val, "FileIDs", &u.FileIDs)
delete(rawMsg, key)
}
@ -4179,7 +4276,7 @@ func (u *UpdateCodeInterpreterToolResourceOptions) UnmarshalJSON(data []byte) er
// MarshalJSON implements the json.Marshaller interface for type UpdateFileSearchToolResourceOptions.
func (u UpdateFileSearchToolResourceOptions) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "vectorStoreIds", u.VectorStoreIDs)
populate(objectMap, "vector_store_ids", u.VectorStoreIDs)
return json.Marshal(objectMap)
}
@ -4192,7 +4289,7 @@ func (u *UpdateFileSearchToolResourceOptions) UnmarshalJSON(data []byte) error {
for key, val := range rawMsg {
var err error
switch key {
case "vectorStoreIds":
case "vector_store_ids":
err = unpopulate(val, "VectorStoreIDs", &u.VectorStoreIDs)
delete(rawMsg, key)
}
@ -4386,9 +4483,64 @@ func (v *VectorStore) UnmarshalJSON(data []byte) error {
return nil
}
// MarshalJSON implements the json.Marshaller interface for type VectorStoreAutoChunkingStrategyRequest.
func (v VectorStoreAutoChunkingStrategyRequest) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
objectMap["type"] = VectorStoreChunkingStrategyRequestTypeAuto
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type VectorStoreAutoChunkingStrategyRequest.
func (v *VectorStoreAutoChunkingStrategyRequest) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", v, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "type":
err = unpopulate(val, "Type", &v.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", v, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type VectorStoreAutoChunkingStrategyResponse.
func (v VectorStoreAutoChunkingStrategyResponse) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
objectMap["type"] = VectorStoreChunkingStrategyResponseTypeOther
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type VectorStoreAutoChunkingStrategyResponse.
func (v *VectorStoreAutoChunkingStrategyResponse) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", v, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "type":
err = unpopulate(val, "Type", &v.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", v, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type VectorStoreBody.
func (v VectorStoreBody) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "chunking_strategy", v.ChunkingStrategy)
populate(objectMap, "expires_after", v.ExpiresAfter)
populate(objectMap, "file_ids", v.FileIDs)
populate(objectMap, "metadata", v.Metadata)
@ -4405,6 +4557,9 @@ func (v *VectorStoreBody) UnmarshalJSON(data []byte) error {
for key, val := range rawMsg {
var err error
switch key {
case "chunking_strategy":
v.ChunkingStrategy, err = unmarshalVectorStoreChunkingStrategyRequestClassification(val)
delete(rawMsg, key)
case "expires_after":
err = unpopulate(val, "ExpiresAfter", &v.ExpiresAfter)
delete(rawMsg, key)
@ -4425,6 +4580,60 @@ func (v *VectorStoreBody) UnmarshalJSON(data []byte) error {
return nil
}
// MarshalJSON implements the json.Marshaller interface for type VectorStoreChunkingStrategyRequest.
func (v VectorStoreChunkingStrategyRequest) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
objectMap["type"] = v.Type
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type VectorStoreChunkingStrategyRequest.
func (v *VectorStoreChunkingStrategyRequest) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", v, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "type":
err = unpopulate(val, "Type", &v.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", v, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type VectorStoreChunkingStrategyResponse.
func (v VectorStoreChunkingStrategyResponse) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
objectMap["type"] = v.Type
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type VectorStoreChunkingStrategyResponse.
func (v *VectorStoreChunkingStrategyResponse) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", v, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "type":
err = unpopulate(val, "Type", &v.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", v, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type VectorStoreDeletionStatus.
func (v VectorStoreDeletionStatus) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
@ -4494,6 +4703,7 @@ func (v *VectorStoreExpirationPolicy) UnmarshalJSON(data []byte) error {
// MarshalJSON implements the json.Marshaller interface for type VectorStoreFile.
func (v VectorStoreFile) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "chunking_strategy", v.ChunkingStrategy)
populateTimeUnix(objectMap, "created_at", v.CreatedAt)
populate(objectMap, "id", v.ID)
populate(objectMap, "last_error", v.LastError)
@ -4513,6 +4723,9 @@ func (v *VectorStoreFile) UnmarshalJSON(data []byte) error {
for key, val := range rawMsg {
var err error
switch key {
case "chunking_strategy":
v.ChunkingStrategy, err = unmarshalVectorStoreChunkingStrategyResponseClassification(val)
delete(rawMsg, key)
case "created_at":
err = unpopulateTimeUnix(val, "CreatedAt", &v.CreatedAt)
delete(rawMsg, key)
@ -4815,6 +5028,99 @@ func (v *VectorStoreFilesPage) UnmarshalJSON(data []byte) error {
return nil
}
// MarshalJSON implements the json.Marshaller interface for type VectorStoreStaticChunkingStrategyOptions.
func (v VectorStoreStaticChunkingStrategyOptions) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "chunk_overlap_tokens", v.ChunkOverlapTokens)
populate(objectMap, "max_chunk_size_tokens", v.MaxChunkSizeTokens)
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type VectorStoreStaticChunkingStrategyOptions.
func (v *VectorStoreStaticChunkingStrategyOptions) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", v, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "chunk_overlap_tokens":
err = unpopulate(val, "ChunkOverlapTokens", &v.ChunkOverlapTokens)
delete(rawMsg, key)
case "max_chunk_size_tokens":
err = unpopulate(val, "MaxChunkSizeTokens", &v.MaxChunkSizeTokens)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", v, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type VectorStoreStaticChunkingStrategyRequest.
func (v VectorStoreStaticChunkingStrategyRequest) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "static", v.Static)
objectMap["type"] = VectorStoreChunkingStrategyRequestTypeStatic
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type VectorStoreStaticChunkingStrategyRequest.
func (v *VectorStoreStaticChunkingStrategyRequest) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", v, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "static":
err = unpopulate(val, "Static", &v.Static)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &v.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", v, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type VectorStoreStaticChunkingStrategyResponse.
func (v VectorStoreStaticChunkingStrategyResponse) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)
populate(objectMap, "static", v.Static)
objectMap["type"] = VectorStoreChunkingStrategyResponseTypeStatic
return json.Marshal(objectMap)
}
// UnmarshalJSON implements the json.Unmarshaller interface for type VectorStoreStaticChunkingStrategyResponse.
func (v *VectorStoreStaticChunkingStrategyResponse) UnmarshalJSON(data []byte) error {
var rawMsg map[string]json.RawMessage
if err := json.Unmarshal(data, &rawMsg); err != nil {
return fmt.Errorf("unmarshalling type %T: %v", v, err)
}
for key, val := range rawMsg {
var err error
switch key {
case "static":
err = unpopulate(val, "Static", &v.Static)
delete(rawMsg, key)
case "type":
err = unpopulate(val, "Type", &v.Type)
delete(rawMsg, key)
}
if err != nil {
return fmt.Errorf("unmarshalling type %T: %v", v, err)
}
}
return nil
}
// MarshalJSON implements the json.Marshaller interface for type VectorStoreUpdateBody.
func (v VectorStoreUpdateBody) MarshalJSON() ([]byte, error) {
objectMap := make(map[string]any)

Просмотреть файл

@ -500,3 +500,49 @@ func unmarshalToolDefinitionClassificationArray(rawMsg json.RawMessage) ([]ToolD
}
return fArray, nil
}
func unmarshalVectorStoreChunkingStrategyRequestClassification(rawMsg json.RawMessage) (VectorStoreChunkingStrategyRequestClassification, error) {
if rawMsg == nil || string(rawMsg) == "null" {
return nil, nil
}
var m map[string]any
if err := json.Unmarshal(rawMsg, &m); err != nil {
return nil, err
}
var b VectorStoreChunkingStrategyRequestClassification
switch m["type"] {
case string(VectorStoreChunkingStrategyRequestTypeAuto):
b = &VectorStoreAutoChunkingStrategyRequest{}
case string(VectorStoreChunkingStrategyRequestTypeStatic):
b = &VectorStoreStaticChunkingStrategyRequest{}
default:
b = &VectorStoreChunkingStrategyRequest{}
}
if err := json.Unmarshal(rawMsg, b); err != nil {
return nil, err
}
return b, nil
}
func unmarshalVectorStoreChunkingStrategyResponseClassification(rawMsg json.RawMessage) (VectorStoreChunkingStrategyResponseClassification, error) {
if rawMsg == nil || string(rawMsg) == "null" {
return nil, nil
}
var m map[string]any
if err := json.Unmarshal(rawMsg, &m); err != nil {
return nil, err
}
var b VectorStoreChunkingStrategyResponseClassification
switch m["type"] {
case string(VectorStoreChunkingStrategyResponseTypeOther):
b = &VectorStoreAutoChunkingStrategyResponse{}
case string(VectorStoreChunkingStrategyResponseTypeStatic):
b = &VectorStoreStaticChunkingStrategyResponse{}
default:
b = &VectorStoreChunkingStrategyResponse{}
}
if err := json.Unmarshal(rawMsg, b); err != nil {
return nil, err
}
return b, nil
}

520
sdk/ai/azopenaiassistants/testdata/package-lock.json сгенерированный поставляемый
Просмотреть файл

@ -8,46 +8,52 @@
"name": "testdata",
"version": "0.1.0",
"dependencies": {
"@azure-tools/typespec-autorest": "^0.42.0",
"@azure-tools/typespec-azure-core": "^0.42.0",
"@typespec/compiler": "^0.56.0",
"@typespec/openapi3": "^0.56.0"
"@azure-tools/typespec-autorest": "^0.45.0",
"@azure-tools/typespec-azure-core": "^0.45.0",
"@typespec/compiler": "^0.59.1",
"@typespec/openapi3": "^0.59.1"
}
},
"node_modules/@apidevtools/swagger-methods": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/@apidevtools/swagger-methods/-/swagger-methods-3.0.2.tgz",
"integrity": "sha512-QAkD5kK2b1WfjDS/UQn/qQkbwF31uqRjPTrsCs5ZG9BQGAkjwvqGFjjPqAuzac/IYzpPtRzjCP1WrTuAIjMrXg=="
},
"node_modules/@azure-tools/typespec-autorest": {
"version": "0.42.1",
"resolved": "https://registry.npmjs.org/@azure-tools/typespec-autorest/-/typespec-autorest-0.42.1.tgz",
"integrity": "sha512-egWR2Ljxde5PvyDwuVu/8Rq8cSW6FW+qMbvwHfzrtm/sULdSnA6k+VnGD/PQ+dk+1SmFeKG1b+0MlaFuBVz1Hw==",
"version": "0.45.0",
"resolved": "https://registry.npmjs.org/@azure-tools/typespec-autorest/-/typespec-autorest-0.45.0.tgz",
"integrity": "sha512-6ycZ0bEfXC0U26FHHEt9smAhxh78SACIDY+u7zLAopRzmxjTuthDdGgYSShuRDu3J+vEBi1fOKpz4cYQkgRkBQ==",
"engines": {
"node": ">=18.0.0"
},
"peerDependencies": {
"@azure-tools/typespec-azure-core": "~0.42.0",
"@azure-tools/typespec-client-generator-core": "~0.42.0",
"@typespec/compiler": "~0.56.0",
"@typespec/http": "~0.56.0",
"@typespec/openapi": "~0.56.0",
"@typespec/rest": "~0.56.0",
"@typespec/versioning": "~0.56.0"
"@azure-tools/typespec-azure-core": "~0.45.0",
"@azure-tools/typespec-azure-resource-manager": "~0.45.0",
"@azure-tools/typespec-client-generator-core": "~0.45.0",
"@typespec/compiler": "~0.59.0",
"@typespec/http": "~0.59.0",
"@typespec/openapi": "~0.59.0",
"@typespec/rest": "~0.59.0",
"@typespec/versioning": "~0.59.0"
}
},
"node_modules/@azure-tools/typespec-azure-core": {
"version": "0.42.0",
"resolved": "https://registry.npmjs.org/@azure-tools/typespec-azure-core/-/typespec-azure-core-0.42.0.tgz",
"integrity": "sha512-8C96RkgSWtgqsaHRMWCd2iDltFJZTGmFQiTZazZj/uRy0Wn1ikjSriSN8t1puL5SiUPd0BVJP/YXiwAfjfZYDA==",
"version": "0.45.0",
"resolved": "https://registry.npmjs.org/@azure-tools/typespec-azure-core/-/typespec-azure-core-0.45.0.tgz",
"integrity": "sha512-GycGMCmaIVSN+TftPtlPJLyeOrglbLmH08ZiZaVMjSih/TQEJM21RGR6d8QdjlkQWN61ntNDRD+RP2uv9tHmqw==",
"engines": {
"node": ">=18.0.0"
},
"peerDependencies": {
"@typespec/compiler": "~0.56.0",
"@typespec/http": "~0.56.0",
"@typespec/rest": "~0.56.0"
"@typespec/compiler": "~0.59.0",
"@typespec/http": "~0.59.0",
"@typespec/rest": "~0.59.0"
}
},
"node_modules/@azure-tools/typespec-client-generator-core": {
"version": "0.42.3",
"resolved": "https://registry.npmjs.org/@azure-tools/typespec-client-generator-core/-/typespec-client-generator-core-0.42.3.tgz",
"integrity": "sha512-ZDVVIY1uJ8EaI4QhCdQmTdKVACm4xYn/I7ySpwv4oxk9X8kZFhxx+PKNHAlx34mhOf4oF0PW3wCN5DMeU6asYg==",
"node_modules/@azure-tools/typespec-azure-resource-manager": {
"version": "0.45.0",
"resolved": "https://registry.npmjs.org/@azure-tools/typespec-azure-resource-manager/-/typespec-azure-resource-manager-0.45.0.tgz",
"integrity": "sha512-PdhB03P8PoOlUoUWd+CF5WipGzu2Q3ZjT0EAzgQe878DmXvxMq+zYaPJQtvkq9R6jCxFauDSr5gG7Yd4NINAuA==",
"peer": true,
"dependencies": {
"change-case": "~5.4.4",
@ -57,19 +63,41 @@
"node": ">=18.0.0"
},
"peerDependencies": {
"@azure-tools/typespec-azure-core": "~0.42.0",
"@typespec/compiler": "~0.56.0",
"@typespec/http": "~0.56.0",
"@typespec/rest": "~0.56.0",
"@typespec/versioning": "~0.56.0"
"@azure-tools/typespec-azure-core": "~0.45.0",
"@typespec/compiler": "~0.59.0",
"@typespec/http": "~0.59.0",
"@typespec/openapi": "~0.59.0",
"@typespec/rest": "~0.59.0",
"@typespec/versioning": "~0.59.0"
}
},
"node_modules/@azure-tools/typespec-client-generator-core": {
"version": "0.45.3",
"resolved": "https://registry.npmjs.org/@azure-tools/typespec-client-generator-core/-/typespec-client-generator-core-0.45.3.tgz",
"integrity": "sha512-o1E38DJnJ71ixK3jHTy42QgY1ztXPGEOhJjdzSb9aI0aXlqqBt0Klgg52RuBHBajQ+RI+nWtGLE+LJaVDSHAqw==",
"peer": true,
"dependencies": {
"change-case": "~5.4.4",
"pluralize": "^8.0.0"
},
"engines": {
"node": ">=18.0.0"
},
"peerDependencies": {
"@azure-tools/typespec-azure-core": "~0.45.0",
"@typespec/compiler": "~0.59.0",
"@typespec/http": "~0.59.0",
"@typespec/openapi": "~0.59.0",
"@typespec/rest": "~0.59.0",
"@typespec/versioning": "~0.59.0"
}
},
"node_modules/@babel/code-frame": {
"version": "7.24.2",
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz",
"integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==",
"version": "7.24.7",
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz",
"integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==",
"dependencies": {
"@babel/highlight": "^7.24.2",
"@babel/highlight": "^7.24.7",
"picocolors": "^1.0.0"
},
"engines": {
@ -77,19 +105,19 @@
}
},
"node_modules/@babel/helper-validator-identifier": {
"version": "7.24.5",
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.5.tgz",
"integrity": "sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==",
"version": "7.24.7",
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz",
"integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/highlight": {
"version": "7.24.5",
"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.5.tgz",
"integrity": "sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==",
"version": "7.24.7",
"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz",
"integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==",
"dependencies": {
"@babel/helper-validator-identifier": "^7.24.5",
"@babel/helper-validator-identifier": "^7.24.7",
"chalk": "^2.4.2",
"js-tokens": "^4.0.0",
"picocolors": "^1.0.0"
@ -98,6 +126,30 @@
"node": ">=6.9.0"
}
},
"node_modules/@babel/runtime": {
"version": "7.25.0",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.0.tgz",
"integrity": "sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw==",
"dependencies": {
"regenerator-runtime": "^0.14.0"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@humanwhocodes/momoa": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/@humanwhocodes/momoa/-/momoa-2.0.4.tgz",
"integrity": "sha512-RE815I4arJFtt+FVeU1Tgp9/Xvecacji8w/V6XtXsWWH/wz/eNkNbhb+ny/+PlVZjV0rxQpRSQKNKE3lcktHEA==",
"engines": {
"node": ">=10.10.0"
}
},
"node_modules/@jsdevtools/ono": {
"version": "7.1.3",
"resolved": "https://registry.npmjs.org/@jsdevtools/ono/-/ono-7.1.3.tgz",
"integrity": "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg=="
},
"node_modules/@nodelib/fs.scandir": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
@ -130,10 +182,134 @@
"node": ">= 8"
}
},
"node_modules/@readme/better-ajv-errors": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/@readme/better-ajv-errors/-/better-ajv-errors-1.6.0.tgz",
"integrity": "sha512-9gO9rld84Jgu13kcbKRU+WHseNhaVt76wYMeRDGsUGYxwJtI3RmEJ9LY9dZCYQGI8eUZLuxb5qDja0nqklpFjQ==",
"dependencies": {
"@babel/code-frame": "^7.16.0",
"@babel/runtime": "^7.21.0",
"@humanwhocodes/momoa": "^2.0.3",
"chalk": "^4.1.2",
"json-to-ast": "^2.0.3",
"jsonpointer": "^5.0.0",
"leven": "^3.1.0"
},
"engines": {
"node": ">=14"
},
"peerDependencies": {
"ajv": "4.11.8 - 8"
}
},
"node_modules/@readme/better-ajv-errors/node_modules/ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dependencies": {
"color-convert": "^2.0.1"
},
"engines": {
"node": ">=8"
},
"funding": {
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
"node_modules/@readme/better-ajv-errors/node_modules/chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
},
"engines": {
"node": ">=10"
},
"funding": {
"url": "https://github.com/chalk/chalk?sponsor=1"
}
},
"node_modules/@readme/better-ajv-errors/node_modules/color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dependencies": {
"color-name": "~1.1.4"
},
"engines": {
"node": ">=7.0.0"
}
},
"node_modules/@readme/better-ajv-errors/node_modules/color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
},
"node_modules/@readme/better-ajv-errors/node_modules/has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"engines": {
"node": ">=8"
}
},
"node_modules/@readme/better-ajv-errors/node_modules/supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dependencies": {
"has-flag": "^4.0.0"
},
"engines": {
"node": ">=8"
}
},
"node_modules/@readme/json-schema-ref-parser": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/@readme/json-schema-ref-parser/-/json-schema-ref-parser-1.2.0.tgz",
"integrity": "sha512-Bt3QVovFSua4QmHa65EHUmh2xS0XJ3rgTEUPH998f4OW4VVJke3BuS16f+kM0ZLOGdvIrzrPRqwihuv5BAjtrA==",
"dependencies": {
"@jsdevtools/ono": "^7.1.3",
"@types/json-schema": "^7.0.6",
"call-me-maybe": "^1.0.1",
"js-yaml": "^4.1.0"
}
},
"node_modules/@readme/openapi-parser": {
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/@readme/openapi-parser/-/openapi-parser-2.6.0.tgz",
"integrity": "sha512-pyFJXezWj9WI1O+gdp95CoxfY+i+Uq3kKk4zXIFuRAZi9YnHpHOpjumWWr67wkmRTw19Hskh9spyY0Iyikf3fA==",
"dependencies": {
"@apidevtools/swagger-methods": "^3.0.2",
"@jsdevtools/ono": "^7.1.3",
"@readme/better-ajv-errors": "^1.6.0",
"@readme/json-schema-ref-parser": "^1.2.0",
"@readme/openapi-schemas": "^3.1.0",
"ajv": "^8.12.0",
"ajv-draft-04": "^1.0.0",
"call-me-maybe": "^1.0.1"
},
"engines": {
"node": ">=18"
},
"peerDependencies": {
"openapi-types": ">=7"
}
},
"node_modules/@readme/openapi-schemas": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/@readme/openapi-schemas/-/openapi-schemas-3.1.0.tgz",
"integrity": "sha512-9FC/6ho8uFa8fV50+FPy/ngWN53jaUu4GRXlAjcxIRrzhltJnpKkBG2Tp0IDraFJeWrOpk84RJ9EMEEYzaI1Bw==",
"engines": {
"node": ">=18"
}
},
"node_modules/@sindresorhus/merge-streams": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.2.1.tgz",
"integrity": "sha512-255V7MMIKw6aQ43Wbqp9HZ+VHn6acddERTLiiLnlcPLU9PdTq9Aijl12oklAgUEblLWye+vHLzmqBx6f2TGcZw==",
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz",
"integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==",
"engines": {
"node": ">=18"
},
@ -141,23 +317,29 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/@types/json-schema": {
"version": "7.0.15",
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
"integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA=="
},
"node_modules/@typespec/compiler": {
"version": "0.56.0",
"resolved": "https://registry.npmjs.org/@typespec/compiler/-/compiler-0.56.0.tgz",
"integrity": "sha512-K+VhXycoeqcoSGtB0/l1XYco4V2qRsCOOwqklVM4Yew7kTcKVfz7CT7a6a2OKWDMNg5iijZtRBoM5YF50XtQug==",
"version": "0.59.1",
"resolved": "https://registry.npmjs.org/@typespec/compiler/-/compiler-0.59.1.tgz",
"integrity": "sha512-O2ljgr6YoFaIH6a8lWc90/czdv4B2X6N9wz4WsnQnVvgO0Tj0s+3xkvp4Tv59RKMhT0f3fK6dL8oEGO32FYk1A==",
"dependencies": {
"@babel/code-frame": "~7.24.2",
"ajv": "~8.12.0",
"@babel/code-frame": "~7.24.7",
"ajv": "~8.17.1",
"change-case": "~5.4.4",
"globby": "~14.0.1",
"globby": "~14.0.2",
"mustache": "~4.2.0",
"picocolors": "~1.0.0",
"prettier": "~3.2.5",
"picocolors": "~1.0.1",
"prettier": "~3.3.3",
"prompts": "~2.4.2",
"semver": "^7.6.0",
"semver": "^7.6.3",
"temporal-polyfill": "^0.2.5",
"vscode-languageserver": "~9.0.1",
"vscode-languageserver-textdocument": "~1.0.11",
"yaml": "~2.4.1",
"yaml": "~2.4.5",
"yargs": "~17.7.2"
},
"bin": {
@ -169,87 +351,104 @@
}
},
"node_modules/@typespec/http": {
"version": "0.56.0",
"resolved": "https://registry.npmjs.org/@typespec/http/-/http-0.56.0.tgz",
"integrity": "sha512-f/tpHRWev9bnAtNPFkfCU/5SFou9glA/rPDY0m2W5bK6EG1/6/TKKKz5FoKPA4xvc2dQ5vu/ouGLb4i5UzXvWQ==",
"version": "0.59.1",
"resolved": "https://registry.npmjs.org/@typespec/http/-/http-0.59.1.tgz",
"integrity": "sha512-Ai8oCAO+Bw1HMSZ9gOI5Od4fNn/ul4HrVtTB01xFuLK6FQj854pxhzao8ylPnr7gIRQ327FV12/QfXR87yCiYQ==",
"peer": true,
"engines": {
"node": ">=18.0.0"
},
"peerDependencies": {
"@typespec/compiler": "~0.56.0"
"@typespec/compiler": "~0.59.0"
}
},
"node_modules/@typespec/openapi": {
"version": "0.56.0",
"resolved": "https://registry.npmjs.org/@typespec/openapi/-/openapi-0.56.0.tgz",
"integrity": "sha512-q8+IHRglXBm3slvonRLSNYN2fX7plbWA+ugIiMJZTeyc3enqfxPqMGA8BCiAFV3kwP0uPPpIXbCSIVhHgkONbA==",
"version": "0.59.0",
"resolved": "https://registry.npmjs.org/@typespec/openapi/-/openapi-0.59.0.tgz",
"integrity": "sha512-do1Dm5w0MuK3994gYTBg6qMfgeIxmmsDqnz3zimYKMPpbnUBi4F6/o4iCfn0Fn9kaNl+H6UlOzZpsZW9xHui1Q==",
"peer": true,
"engines": {
"node": ">=18.0.0"
},
"peerDependencies": {
"@typespec/compiler": "~0.56.0",
"@typespec/http": "~0.56.0"
"@typespec/compiler": "~0.59.0",
"@typespec/http": "~0.59.0"
}
},
"node_modules/@typespec/openapi3": {
"version": "0.56.0",
"resolved": "https://registry.npmjs.org/@typespec/openapi3/-/openapi3-0.56.0.tgz",
"integrity": "sha512-55JPUP7dFk4iXn4fNKZEs76j7hAdlWfoMWNPsQPRJCP//KWCtNXfTP+/TTVPVv1L/6HztbXyPV0agKZwyS7gDw==",
"version": "0.59.1",
"resolved": "https://registry.npmjs.org/@typespec/openapi3/-/openapi3-0.59.1.tgz",
"integrity": "sha512-89VbUbkWKxeFgE0w0hpVyk1UZ6ZHRxOhcAHvF5MgxQxEhs2ALXKAqapWjFQsYrLBhAUoWzdPFrJJUMbwF9kX0Q==",
"dependencies": {
"yaml": "~2.4.1"
"@readme/openapi-parser": "~2.6.0",
"yaml": "~2.4.5"
},
"bin": {
"tsp-openapi3": "cmd/tsp-openapi3.js"
},
"engines": {
"node": ">=18.0.0"
},
"peerDependencies": {
"@typespec/compiler": "~0.56.0",
"@typespec/http": "~0.56.0",
"@typespec/openapi": "~0.56.0",
"@typespec/versioning": "~0.56.0"
"@typespec/compiler": "~0.59.0",
"@typespec/http": "~0.59.1",
"@typespec/openapi": "~0.59.0",
"@typespec/versioning": "~0.59.0"
}
},
"node_modules/@typespec/rest": {
"version": "0.56.0",
"resolved": "https://registry.npmjs.org/@typespec/rest/-/rest-0.56.0.tgz",
"integrity": "sha512-8w4WhWDcpEQNW8bB1BHhiBxIQUChDJtyq/n9p2OI/Bm1wncd61y/ZNOtcxmlKq8uB9d+dzHiZdEfqFCR8HF8/Q==",
"version": "0.59.1",
"resolved": "https://registry.npmjs.org/@typespec/rest/-/rest-0.59.1.tgz",
"integrity": "sha512-uKU431jBYL2tVQWG5THA75+OtXDa1e8cMAafYK/JJRRiVRd8D/Epd8fp07dzlB8tFGrhCaGlekRMqFPFrHh2/A==",
"peer": true,
"engines": {
"node": ">=18.0.0"
},
"peerDependencies": {
"@typespec/compiler": "~0.56.0",
"@typespec/http": "~0.56.0"
"@typespec/compiler": "~0.59.0",
"@typespec/http": "~0.59.1"
}
},
"node_modules/@typespec/versioning": {
"version": "0.56.0",
"resolved": "https://registry.npmjs.org/@typespec/versioning/-/versioning-0.56.0.tgz",
"integrity": "sha512-j7IN9XFyGn3LH6IOJkinEvk9sDncsxiWPULOAe0VQ+D/dtCfLawDMUALnvklMDRKeD1OOUPSCjjUAp9OB0f7YA==",
"version": "0.59.0",
"resolved": "https://registry.npmjs.org/@typespec/versioning/-/versioning-0.59.0.tgz",
"integrity": "sha512-aihO/ux0lLmsuYAdGVkiBflSudcZokYG42SELk1FtMFo609G3Pd7ep7hau6unBnMIceQZejB0ow5UGRupK4X5A==",
"peer": true,
"engines": {
"node": ">=18.0.0"
},
"peerDependencies": {
"@typespec/compiler": "~0.56.0"
"@typespec/compiler": "~0.59.0"
}
},
"node_modules/ajv": {
"version": "8.12.0",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
"integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
"version": "8.17.1",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
"integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
"dependencies": {
"fast-deep-equal": "^3.1.1",
"fast-deep-equal": "^3.1.3",
"fast-uri": "^3.0.1",
"json-schema-traverse": "^1.0.0",
"require-from-string": "^2.0.2",
"uri-js": "^4.2.2"
"require-from-string": "^2.0.2"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/epoberezkin"
}
},
"node_modules/ajv-draft-04": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz",
"integrity": "sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==",
"peerDependencies": {
"ajv": "^8.5.0"
},
"peerDependenciesMeta": {
"ajv": {
"optional": true
}
}
},
"node_modules/ansi-regex": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
@ -269,6 +468,11 @@
"node": ">=4"
}
},
"node_modules/argparse": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
},
"node_modules/braces": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
@ -280,6 +484,11 @@
"node": ">=8"
}
},
"node_modules/call-me-maybe": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.2.tgz",
"integrity": "sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ=="
},
"node_modules/chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
@ -311,6 +520,14 @@
"node": ">=12"
}
},
"node_modules/code-error-fragment": {
"version": "0.0.230",
"resolved": "https://registry.npmjs.org/code-error-fragment/-/code-error-fragment-0.0.230.tgz",
"integrity": "sha512-cadkfKp6932H8UkhzE/gcUqhRMNf8jHzkAN7+5Myabswaghu4xABTgPHDCjW+dBAJxj/SpkTYokpzDqY4pCzQw==",
"engines": {
"node": ">= 4"
}
},
"node_modules/color-convert": {
"version": "1.9.3",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
@ -365,6 +582,11 @@
"node": ">=8.6.0"
}
},
"node_modules/fast-uri": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz",
"integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw=="
},
"node_modules/fastq": {
"version": "1.17.1",
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
@ -404,9 +626,9 @@
}
},
"node_modules/globby": {
"version": "14.0.1",
"resolved": "https://registry.npmjs.org/globby/-/globby-14.0.1.tgz",
"integrity": "sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==",
"version": "14.0.2",
"resolved": "https://registry.npmjs.org/globby/-/globby-14.0.2.tgz",
"integrity": "sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==",
"dependencies": {
"@sindresorhus/merge-streams": "^2.1.0",
"fast-glob": "^3.3.2",
@ -422,6 +644,11 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/grapheme-splitter": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
"integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ=="
},
"node_modules/has-flag": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
@ -431,9 +658,9 @@
}
},
"node_modules/ignore": {
"version": "5.3.1",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz",
"integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==",
"version": "5.3.2",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
"integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
"engines": {
"node": ">= 4"
}
@ -478,11 +705,42 @@
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
},
"node_modules/js-yaml": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
"dependencies": {
"argparse": "^2.0.1"
},
"bin": {
"js-yaml": "bin/js-yaml.js"
}
},
"node_modules/json-schema-traverse": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="
},
"node_modules/json-to-ast": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/json-to-ast/-/json-to-ast-2.1.0.tgz",
"integrity": "sha512-W9Lq347r8tA1DfMvAGn9QNcgYm4Wm7Yc+k8e6vezpMnRT+NHbtlxgNBXRVjXe9YM6eTn6+p/MKOlV/aABJcSnQ==",
"dependencies": {
"code-error-fragment": "0.0.230",
"grapheme-splitter": "^1.0.4"
},
"engines": {
"node": ">= 4"
}
},
"node_modules/jsonpointer": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz",
"integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/kleur": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz",
@ -491,6 +749,14 @@
"node": ">=6"
}
},
"node_modules/leven": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
"integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
"engines": {
"node": ">=6"
}
},
"node_modules/merge2": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
@ -500,11 +766,11 @@
}
},
"node_modules/micromatch": {
"version": "4.0.5",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
"integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
"version": "4.0.7",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz",
"integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==",
"dependencies": {
"braces": "^3.0.2",
"braces": "^3.0.3",
"picomatch": "^2.3.1"
},
"engines": {
@ -519,6 +785,12 @@
"mustache": "bin/mustache"
}
},
"node_modules/openapi-types": {
"version": "12.1.3",
"resolved": "https://registry.npmjs.org/openapi-types/-/openapi-types-12.1.3.tgz",
"integrity": "sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==",
"peer": true
},
"node_modules/path-type": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz",
@ -531,9 +803,9 @@
}
},
"node_modules/picocolors": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz",
"integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew=="
},
"node_modules/picomatch": {
"version": "2.3.1",
@ -556,9 +828,9 @@
}
},
"node_modules/prettier": {
"version": "3.2.5",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz",
"integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==",
"version": "3.3.3",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz",
"integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==",
"bin": {
"prettier": "bin/prettier.cjs"
},
@ -581,14 +853,6 @@
"node": ">= 6"
}
},
"node_modules/punycode": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz",
"integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==",
"engines": {
"node": ">=6"
}
},
"node_modules/queue-microtask": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
@ -608,6 +872,11 @@
}
]
},
"node_modules/regenerator-runtime": {
"version": "0.14.1",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
"integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw=="
},
"node_modules/require-directory": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
@ -656,9 +925,9 @@
}
},
"node_modules/semver": {
"version": "7.6.2",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
"integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
"version": "7.6.3",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
"integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
"bin": {
"semver": "bin/semver.js"
},
@ -717,6 +986,19 @@
"node": ">=4"
}
},
"node_modules/temporal-polyfill": {
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/temporal-polyfill/-/temporal-polyfill-0.2.5.tgz",
"integrity": "sha512-ye47xp8Cb0nDguAhrrDS1JT1SzwEV9e26sSsrWzVu+yPZ7LzceEcH0i2gci9jWfOfSCCgM3Qv5nOYShVUUFUXA==",
"dependencies": {
"temporal-spec": "^0.2.4"
}
},
"node_modules/temporal-spec": {
"version": "0.2.4",
"resolved": "https://registry.npmjs.org/temporal-spec/-/temporal-spec-0.2.4.tgz",
"integrity": "sha512-lDMFv4nKQrSjlkHKAlHVqKrBG4DyFfa9F74cmBZ3Iy3ed8yvWnlWSIdi4IKfSqwmazAohBNwiN64qGx4y5Q3IQ=="
},
"node_modules/to-regex-range": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
@ -739,14 +1021,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/uri-js": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
"integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
"dependencies": {
"punycode": "^2.1.0"
}
},
"node_modules/vscode-jsonrpc": {
"version": "8.2.0",
"resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz",
@ -840,9 +1114,9 @@
}
},
"node_modules/yaml": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.2.tgz",
"integrity": "sha512-B3VqDZ+JAg1nZpaEmWtTXUlBneoGx6CPM9b0TENK6aoSu5t73dItudwdgmi6tHlIZZId4dZ9skcAQ2UbcyAeVA==",
"version": "2.4.5",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.5.tgz",
"integrity": "sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==",
"bin": {
"yaml": "bin.mjs"
},

Просмотреть файл

@ -7,10 +7,10 @@
"build": "tsp compile ./TempTypeSpecFiles/OpenAI.Assistants"
},
"dependencies": {
"@azure-tools/typespec-autorest": "^0.42.0",
"@azure-tools/typespec-azure-core": "^0.42.0",
"@typespec/compiler": "^0.56.0",
"@typespec/openapi3": "^0.56.0"
"@azure-tools/typespec-autorest": "^0.45.0",
"@azure-tools/typespec-azure-core": "^0.45.0",
"@typespec/compiler": "^0.59.1",
"@typespec/openapi3": "^0.59.1"
},
"overrides": {
"braces": "^3.0.3"

Просмотреть файл

@ -1,5 +1,5 @@
#location: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/cacb3dc095486d8691c47dea944fc9ed0f4d0e32/specification/ai/OpenAI.Assistants/client.tsp
directory: specification/ai/OpenAI.Assistants
# https://github.com/Azure/azure-rest-api-specs/pull/29067
commit: 09aff32f7488b4888e732b4b812cd8b2f43bf3b1
commit: eb46d197d57e1f71f1819f37779f387f20c344e9
repo: Azure/azure-rest-api-specs