@azure/ai-agents 1.2.0-alpha.20251128.1 → 1.2.0-alpha.20251202.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/browser/api/vectorStoreFileBatches/options.d.ts.map +1 -1
  2. package/dist/browser/api/vectorStoreFileBatches/options.js.map +1 -1
  3. package/dist/browser/api/vectorStoreFiles/options.d.ts.map +1 -1
  4. package/dist/browser/api/vectorStoreFiles/options.js.map +1 -1
  5. package/dist/browser/api/vectorStores/options.d.ts.map +1 -1
  6. package/dist/browser/api/vectorStores/options.js.map +1 -1
  7. package/dist/browser/models/models.d.ts.map +1 -1
  8. package/dist/browser/models/models.js.map +1 -1
  9. package/dist/browser/models/streamingModels.d.ts.map +1 -1
  10. package/dist/browser/models/streamingModels.js.map +1 -1
  11. package/dist/commonjs/api/vectorStoreFileBatches/options.d.ts.map +1 -1
  12. package/dist/commonjs/api/vectorStoreFileBatches/options.js.map +1 -1
  13. package/dist/commonjs/api/vectorStoreFiles/options.d.ts.map +1 -1
  14. package/dist/commonjs/api/vectorStoreFiles/options.js.map +1 -1
  15. package/dist/commonjs/api/vectorStores/options.d.ts.map +1 -1
  16. package/dist/commonjs/api/vectorStores/options.js.map +1 -1
  17. package/dist/commonjs/models/models.d.ts.map +1 -1
  18. package/dist/commonjs/models/models.js.map +1 -1
  19. package/dist/commonjs/models/streamingModels.d.ts.map +1 -1
  20. package/dist/commonjs/models/streamingModels.js.map +1 -1
  21. package/dist/esm/api/vectorStoreFileBatches/options.d.ts.map +1 -1
  22. package/dist/esm/api/vectorStoreFileBatches/options.js.map +1 -1
  23. package/dist/esm/api/vectorStoreFiles/options.d.ts.map +1 -1
  24. package/dist/esm/api/vectorStoreFiles/options.js.map +1 -1
  25. package/dist/esm/api/vectorStores/options.d.ts.map +1 -1
  26. package/dist/esm/api/vectorStores/options.js.map +1 -1
  27. package/dist/esm/models/models.d.ts.map +1 -1
  28. package/dist/esm/models/models.js.map +1 -1
  29. package/dist/esm/models/streamingModels.d.ts.map +1 -1
  30. package/dist/esm/models/streamingModels.js.map +1 -1
  31. package/dist/react-native/api/vectorStoreFileBatches/options.d.ts.map +1 -1
  32. package/dist/react-native/api/vectorStoreFileBatches/options.js.map +1 -1
  33. package/dist/react-native/api/vectorStoreFiles/options.d.ts.map +1 -1
  34. package/dist/react-native/api/vectorStoreFiles/options.js.map +1 -1
  35. package/dist/react-native/api/vectorStores/options.d.ts.map +1 -1
  36. package/dist/react-native/api/vectorStores/options.js.map +1 -1
  37. package/dist/react-native/models/models.d.ts.map +1 -1
  38. package/dist/react-native/models/models.js.map +1 -1
  39. package/dist/react-native/models/streamingModels.d.ts.map +1 -1
  40. package/dist/react-native/models/streamingModels.js.map +1 -1
  41. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/models/models.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/* eslint-disable @typescript-eslint/naming-convention */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport { createFilePartDescriptor } from \"../static-helpers/multipartHelpers.js\";\nimport type { FileContents } from \"../static-helpers/multipartHelpers.js\";\n\n/** An abstract representation of an input tool definition that an agent can use. */\nexport interface ToolDefinition {\n /** The object type. */\n /** The discriminator possible values: code_interpreter, file_search, function, bing_grounding, fabric_dataagent, sharepoint_grounding, azure_ai_search, openapi, bing_custom_search, connected_agent, deep_research, mcp, azure_function, browser_automation */\n type: string;\n}\n\nexport function toolDefinitionSerializer(item: ToolDefinition): any {\n return { type: item[\"type\"] };\n}\n\nexport function toolDefinitionDeserializer(item: any): ToolDefinition {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for ToolDefinitionUnion */\nexport type ToolDefinitionUnion =\n | CodeInterpreterToolDefinition\n | FileSearchToolDefinition\n | FunctionToolDefinition\n | BingGroundingToolDefinition\n | MicrosoftFabricToolDefinition\n | SharepointToolDefinition\n | AzureAISearchToolDefinition\n | OpenApiToolDefinition\n | BingCustomSearchToolDefinition\n | ConnectedAgentToolDefinition\n | DeepResearchToolDefinition\n | MCPToolDefinition\n | AzureFunctionToolDefinition\n | BrowserAutomationToolDefinition\n | ToolDefinition;\n\nexport function toolDefinitionUnionSerializer(item: ToolDefinitionUnion): any {\n switch (item.type) {\n case \"code_interpreter\":\n return codeInterpreterToolDefinitionSerializer(item as CodeInterpreterToolDefinition);\n\n case \"file_search\":\n return fileSearchToolDefinitionSerializer(item as FileSearchToolDefinition);\n\n case \"function\":\n return functionToolDefinitionSerializer(item as FunctionToolDefinition);\n\n case \"bing_grounding\":\n return bingGroundingToolDefinitionSerializer(item as BingGroundingToolDefinition);\n\n case \"fabric_dataagent\":\n return microsoftFabricToolDefinitionSerializer(item as MicrosoftFabricToolDefinition);\n\n case \"sharepoint_grounding\":\n return sharepointToolDefinitionSerializer(item as SharepointToolDefinition);\n\n case \"azure_ai_search\":\n return azureAISearchToolDefinitionSerializer(item as AzureAISearchToolDefinition);\n\n case \"openapi\":\n return openApiToolDefinitionSerializer(item as OpenApiToolDefinition);\n\n case \"bing_custom_search\":\n return bingCustomSearchToolDefinitionSerializer(item as BingCustomSearchToolDefinition);\n\n case \"connected_agent\":\n return connectedAgentToolDefinitionSerializer(item as ConnectedAgentToolDefinition);\n\n case \"deep_research\":\n return deepResearchToolDefinitionSerializer(item as DeepResearchToolDefinition);\n\n case \"mcp\":\n return mcpToolDefinitionSerializer(item as MCPToolDefinition);\n\n case \"azure_function\":\n return azureFunctionToolDefinitionSerializer(item as AzureFunctionToolDefinition);\n\n case \"browser_automation\":\n return browserAutomationToolDefinitionSerializer(item as BrowserAutomationToolDefinition);\n\n default:\n return toolDefinitionSerializer(item);\n }\n}\n\nexport function toolDefinitionUnionDeserializer(item: any): ToolDefinitionUnion {\n switch (item.type) {\n case \"code_interpreter\":\n return codeInterpreterToolDefinitionDeserializer(item as CodeInterpreterToolDefinition);\n\n case \"file_search\":\n return fileSearchToolDefinitionDeserializer(item as FileSearchToolDefinition);\n\n case \"function\":\n return functionToolDefinitionDeserializer(item as FunctionToolDefinition);\n\n case \"bing_grounding\":\n return bingGroundingToolDefinitionDeserializer(item as BingGroundingToolDefinition);\n\n case \"fabric_dataagent\":\n return microsoftFabricToolDefinitionDeserializer(item as MicrosoftFabricToolDefinition);\n\n case \"sharepoint_grounding\":\n return sharepointToolDefinitionDeserializer(item as SharepointToolDefinition);\n\n case \"azure_ai_search\":\n return azureAISearchToolDefinitionDeserializer(item as AzureAISearchToolDefinition);\n\n case \"openapi\":\n return openApiToolDefinitionDeserializer(item as OpenApiToolDefinition);\n\n case \"bing_custom_search\":\n return bingCustomSearchToolDefinitionDeserializer(item as BingCustomSearchToolDefinition);\n\n case \"connected_agent\":\n return connectedAgentToolDefinitionDeserializer(item as ConnectedAgentToolDefinition);\n\n case \"deep_research\":\n return deepResearchToolDefinitionDeserializer(item as DeepResearchToolDefinition);\n\n case \"mcp\":\n return mcpToolDefinitionDeserializer(item as MCPToolDefinition);\n\n case \"azure_function\":\n return azureFunctionToolDefinitionDeserializer(item as AzureFunctionToolDefinition);\n\n case \"browser_automation\":\n return browserAutomationToolDefinitionDeserializer(item as BrowserAutomationToolDefinition);\n\n default:\n return toolDefinitionDeserializer(item);\n }\n}\n\n/** The input definition information for a code interpreter tool as used to configure an agent. */\nexport interface CodeInterpreterToolDefinition extends ToolDefinition {\n /** The object type, which is always 'code_interpreter'. */\n type: \"code_interpreter\";\n}\n\nexport function codeInterpreterToolDefinitionSerializer(item: CodeInterpreterToolDefinition): any {\n return { type: item[\"type\"] };\n}\n\nexport function codeInterpreterToolDefinitionDeserializer(\n item: any,\n): CodeInterpreterToolDefinition {\n return {\n type: item[\"type\"],\n };\n}\n\n/** The input definition information for a file search tool as used to configure an agent. */\nexport interface FileSearchToolDefinition extends ToolDefinition {\n /** The object type, which is always 'file_search'. */\n type: \"file_search\";\n /** Options overrides for the file search tool. */\n fileSearch?: FileSearchToolDefinitionDetails;\n}\n\nexport function fileSearchToolDefinitionSerializer(item: FileSearchToolDefinition): any {\n return {\n type: item[\"type\"],\n file_search: !item[\"fileSearch\"]\n ? item[\"fileSearch\"]\n : fileSearchToolDefinitionDetailsSerializer(item[\"fileSearch\"]),\n };\n}\n\nexport function fileSearchToolDefinitionDeserializer(item: any): FileSearchToolDefinition {\n return {\n type: item[\"type\"],\n fileSearch: !item[\"file_search\"]\n ? item[\"file_search\"]\n : fileSearchToolDefinitionDetailsDeserializer(item[\"file_search\"]),\n };\n}\n\n/** Options overrides for the file search tool. */\nexport interface FileSearchToolDefinitionDetails {\n /**\n * 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.\n *\n * Note that the file search tool may output fewer than `max_num_results` results. See the file search tool documentation for more information.\n */\n maxNumResults?: number;\n /** Ranking options for file search. */\n rankingOptions?: FileSearchRankingOptions;\n}\n\nexport function fileSearchToolDefinitionDetailsSerializer(\n item: FileSearchToolDefinitionDetails,\n): any {\n return {\n max_num_results: item[\"maxNumResults\"],\n ranking_options: !item[\"rankingOptions\"]\n ? item[\"rankingOptions\"]\n : fileSearchRankingOptionsSerializer(item[\"rankingOptions\"]),\n };\n}\n\nexport function fileSearchToolDefinitionDetailsDeserializer(\n item: any,\n): FileSearchToolDefinitionDetails {\n return {\n maxNumResults: item[\"max_num_results\"],\n rankingOptions: !item[\"ranking_options\"]\n ? item[\"ranking_options\"]\n : fileSearchRankingOptionsDeserializer(item[\"ranking_options\"]),\n };\n}\n\n/** Ranking options for file search. */\nexport interface FileSearchRankingOptions {\n /** File search ranker. */\n ranker: string;\n /** Ranker search threshold. */\n scoreThreshold: number;\n}\n\nexport function fileSearchRankingOptionsSerializer(item: FileSearchRankingOptions): any {\n return { ranker: item[\"ranker\"], score_threshold: item[\"scoreThreshold\"] };\n}\n\nexport function fileSearchRankingOptionsDeserializer(item: any): FileSearchRankingOptions {\n return {\n ranker: item[\"ranker\"],\n scoreThreshold: item[\"score_threshold\"],\n };\n}\n\n/** The input definition information for a function tool as used to configure an agent. */\nexport interface FunctionToolDefinition extends ToolDefinition {\n /** The object type, which is always 'function'. */\n type: \"function\";\n /** The definition of the concrete function that the function tool should call. */\n function: FunctionDefinition;\n}\n\nexport function functionToolDefinitionSerializer(item: FunctionToolDefinition): any {\n return {\n type: item[\"type\"],\n function: functionDefinitionSerializer(item[\"function\"]),\n };\n}\n\nexport function functionToolDefinitionDeserializer(item: any): FunctionToolDefinition {\n return {\n type: item[\"type\"],\n function: functionDefinitionDeserializer(item[\"function\"]),\n };\n}\n\n/** The input definition information for a function. */\nexport interface FunctionDefinition {\n /** The name of the function to be called. */\n name: string;\n /** A description of what the function does, used by the model to choose when and how to call the function. */\n description?: string;\n /** The parameters the functions accepts, described as a JSON Schema object. */\n parameters: any;\n}\n\nexport function functionDefinitionSerializer(item: FunctionDefinition): any {\n return {\n name: item[\"name\"],\n description: item[\"description\"],\n parameters: item[\"parameters\"],\n };\n}\n\nexport function functionDefinitionDeserializer(item: any): FunctionDefinition {\n return {\n name: item[\"name\"],\n description: item[\"description\"],\n parameters: item[\"parameters\"],\n };\n}\n\n/** The input definition information for a bing grounding search tool as used to configure an agent. */\nexport interface BingGroundingToolDefinition extends ToolDefinition {\n /** The object type, which is always 'bing_grounding'. */\n type: \"bing_grounding\";\n /** The bing grounding search tool parameters. */\n bingGrounding: BingGroundingSearchToolParameters;\n}\n\nexport function bingGroundingToolDefinitionSerializer(item: BingGroundingToolDefinition): any {\n return {\n type: item[\"type\"],\n bing_grounding: bingGroundingSearchToolParametersSerializer(item[\"bingGrounding\"]),\n };\n}\n\nexport function bingGroundingToolDefinitionDeserializer(item: any): BingGroundingToolDefinition {\n return {\n type: item[\"type\"],\n bingGrounding: bingGroundingSearchToolParametersDeserializer(item[\"bing_grounding\"]),\n };\n}\n\n/** The bing grounding search tool parameters. */\nexport interface BingGroundingSearchToolParameters {\n /**\n * The search configurations attached to this tool. There can be a maximum of 1\n * search configuration resource attached to the tool.\n */\n searchConfigurations: BingGroundingSearchConfiguration[];\n}\n\nexport function bingGroundingSearchToolParametersSerializer(\n item: BingGroundingSearchToolParameters,\n): any {\n return {\n search_configurations: bingGroundingSearchConfigurationArraySerializer(\n item[\"searchConfigurations\"],\n ),\n };\n}\n\nexport function bingGroundingSearchToolParametersDeserializer(\n item: any,\n): BingGroundingSearchToolParameters {\n // Handle the case where item might be undefined\n if (!item) {\n return { searchConfigurations: [] };\n }\n return {\n searchConfigurations: bingGroundingSearchConfigurationArrayDeserializer(\n item[\"search_configurations\"],\n ),\n };\n}\n\nexport function bingGroundingSearchConfigurationArraySerializer(\n result: Array<BingGroundingSearchConfiguration>,\n): any[] {\n return result.map((item) => {\n return bingGroundingSearchConfigurationSerializer(item);\n });\n}\n\nexport function bingGroundingSearchConfigurationArrayDeserializer(\n result: Array<BingGroundingSearchConfiguration>,\n): any[] {\n // Handle the case where result might be undefined\n if (!result) {\n return [];\n }\n return result.map((item) => {\n return bingGroundingSearchConfigurationDeserializer(item);\n });\n}\n\n/** Search configuration for Bing Grounding */\nexport interface BingGroundingSearchConfiguration {\n /** Connection id for grounding with bing search */\n connectionId: string;\n /** The market where the results come from. */\n market?: string;\n /** The language to use for user interface strings when calling Bing API. */\n setLang?: string;\n /** The number of search results to return in the bing api response */\n count?: number;\n /** Filter search results by a specific time range. Accepted values: https://learn.microsoft.com/bing/search-apis/bing-web-search/reference/query-parameters */\n freshness?: string;\n}\n\nexport function bingGroundingSearchConfigurationSerializer(\n item: BingGroundingSearchConfiguration,\n): any {\n return {\n connection_id: item[\"connectionId\"],\n market: item[\"market\"],\n set_lang: item[\"setLang\"],\n count: item[\"count\"],\n freshness: item[\"freshness\"],\n };\n}\n\nexport function bingGroundingSearchConfigurationDeserializer(\n item: any,\n): BingGroundingSearchConfiguration {\n return {\n connectionId: item[\"connection_id\"],\n market: item[\"market\"],\n setLang: item[\"set_lang\"],\n count: item[\"count\"],\n freshness: item[\"freshness\"],\n };\n}\n\n/** The input definition information for a Microsoft Fabric tool as used to configure an agent. */\nexport interface MicrosoftFabricToolDefinition extends ToolDefinition {\n /** The object type, which is always 'fabric_dataagent'. */\n type: \"fabric_dataagent\";\n /** The fabric data agent tool parameters. */\n fabricDataagent: FabricDataAgentToolParameters;\n}\n\nexport function microsoftFabricToolDefinitionSerializer(item: MicrosoftFabricToolDefinition): any {\n return {\n type: item[\"type\"],\n fabric_dataagent: fabricDataAgentToolParametersSerializer(item[\"fabricDataagent\"]),\n };\n}\n\nexport function microsoftFabricToolDefinitionDeserializer(\n item: any,\n): MicrosoftFabricToolDefinition {\n return {\n type: item[\"type\"],\n fabricDataagent: fabricDataAgentToolParametersDeserializer(item[\"fabric_dataagent\"]),\n };\n}\n\n/** The fabric data agent tool parameters. */\nexport interface FabricDataAgentToolParameters {\n /**\n * The connections attached to this tool. There can be a maximum of 1 connection\n * resource attached to the tool.\n */\n connectionList?: ToolConnection[];\n}\n\nexport function fabricDataAgentToolParametersSerializer(item: FabricDataAgentToolParameters): any {\n return {\n connections: !item[\"connectionList\"]\n ? item[\"connectionList\"]\n : toolConnectionArraySerializer(item[\"connectionList\"]),\n };\n}\n\nexport function fabricDataAgentToolParametersDeserializer(\n item: any,\n): FabricDataAgentToolParameters {\n return {\n connectionList: !item[\"connections\"]\n ? item[\"connections\"]\n : toolConnectionArrayDeserializer(item[\"connections\"]),\n };\n}\n\nexport function toolConnectionArraySerializer(result: Array<ToolConnection>): any[] {\n return result.map((item) => {\n return toolConnectionSerializer(item);\n });\n}\n\nexport function toolConnectionArrayDeserializer(result: Array<ToolConnection>): any[] {\n return result.map((item) => {\n return toolConnectionDeserializer(item);\n });\n}\n\n/** A connection resource. */\nexport interface ToolConnection {\n /** A connection in a ToolConnectionList attached to this tool. */\n connectionId: string;\n}\n\nexport function toolConnectionSerializer(item: ToolConnection): any {\n return { connection_id: item[\"connectionId\"] };\n}\n\nexport function toolConnectionDeserializer(item: any): ToolConnection {\n return {\n connectionId: item[\"connection_id\"],\n };\n}\n\n/** The input definition information for a sharepoint tool as used to configure an agent. */\nexport interface SharepointToolDefinition extends ToolDefinition {\n /** The object type, which is always 'sharepoint_grounding'. */\n type: \"sharepoint_grounding\";\n /** The sharepoint grounding tool parameters. */\n sharepointGrounding: SharepointGroundingToolParameters;\n}\n\nexport function sharepointToolDefinitionSerializer(item: SharepointToolDefinition): any {\n return {\n type: item[\"type\"],\n sharepoint_grounding: sharepointGroundingToolParametersSerializer(item[\"sharepointGrounding\"]),\n };\n}\n\nexport function sharepointToolDefinitionDeserializer(item: any): SharepointToolDefinition {\n return {\n type: item[\"type\"],\n sharepointGrounding: sharepointGroundingToolParametersDeserializer(\n item[\"sharepoint_grounding\"],\n ),\n };\n}\n\n/** The sharepoint grounding tool parameters. */\nexport interface SharepointGroundingToolParameters {\n /**\n * The connections attached to this tool. There can be a maximum of 1 connection\n * resource attached to the tool.\n */\n connectionList?: ToolConnection[];\n}\n\nexport function sharepointGroundingToolParametersSerializer(\n item: SharepointGroundingToolParameters,\n): any {\n return {\n connections: !item[\"connectionList\"]\n ? item[\"connectionList\"]\n : toolConnectionArraySerializer(item[\"connectionList\"]),\n };\n}\n\nexport function sharepointGroundingToolParametersDeserializer(\n item: any,\n): SharepointGroundingToolParameters {\n return {\n connectionList: !item[\"connections\"]\n ? item[\"connections\"]\n : toolConnectionArrayDeserializer(item[\"connections\"]),\n };\n}\n\n/** The input definition information for an Azure AI search tool as used to configure an agent. */\nexport interface AzureAISearchToolDefinition extends ToolDefinition {\n /** The object type, which is always 'azure_ai_search'. */\n type: \"azure_ai_search\";\n}\n\nexport function azureAISearchToolDefinitionSerializer(item: AzureAISearchToolDefinition): any {\n return { type: item[\"type\"] };\n}\n\nexport function azureAISearchToolDefinitionDeserializer(item: any): AzureAISearchToolDefinition {\n return {\n type: item[\"type\"],\n };\n}\n\n/** The input definition information for an OpenAPI tool as used to configure an agent. */\nexport interface OpenApiToolDefinition extends ToolDefinition {\n /** The object type, which is always 'openapi'. */\n type: \"openapi\";\n /** The openapi function definition. */\n openapi: OpenApiFunctionDefinition;\n}\n\nexport function openApiToolDefinitionSerializer(item: OpenApiToolDefinition): any {\n return {\n type: item[\"type\"],\n openapi: openApiFunctionDefinitionSerializer(item[\"openapi\"]),\n };\n}\n\nexport function openApiToolDefinitionDeserializer(item: any): OpenApiToolDefinition {\n return {\n type: item[\"type\"],\n openapi: openApiFunctionDefinitionDeserializer(item[\"openapi\"]),\n };\n}\n\n/** The input definition information for an openapi function. */\nexport interface OpenApiFunctionDefinition {\n /** The name of the function to be called. */\n name: string;\n /** A description of what the function does, used by the model to choose when and how to call the function. */\n description?: string;\n /** The openapi function shape, described as a JSON Schema object. */\n spec: any;\n /** Open API authentication details */\n auth: OpenApiAuthDetailsUnion;\n /** List of OpenAPI spec parameters that will use user-provided defaults */\n defaultParams?: string[];\n /** List of function definitions used by OpenApi tool */\n readonly functions?: FunctionDefinition[];\n}\n\nexport function openApiFunctionDefinitionSerializer(item: OpenApiFunctionDefinition): any {\n return {\n name: item[\"name\"],\n description: item[\"description\"],\n spec: item[\"spec\"],\n auth: openApiAuthDetailsUnionSerializer(item[\"auth\"]),\n default_params: !item[\"defaultParams\"]\n ? item[\"defaultParams\"]\n : item[\"defaultParams\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function openApiFunctionDefinitionDeserializer(item: any): OpenApiFunctionDefinition {\n return {\n name: item[\"name\"],\n description: item[\"description\"],\n spec: item[\"spec\"],\n auth: openApiAuthDetailsUnionDeserializer(item[\"auth\"]),\n defaultParams: !item[\"default_params\"]\n ? item[\"default_params\"]\n : item[\"default_params\"].map((p: any) => {\n return p;\n }),\n functions: !item[\"functions\"]\n ? item[\"functions\"]\n : functionDefinitionArrayDeserializer(item[\"functions\"]),\n };\n}\n\n/** authentication details for OpenApiFunctionDefinition */\nexport interface OpenApiAuthDetails {\n /** The type of authentication, must be anonymous/connection/managed_identity */\n /** The discriminator possible values: anonymous, connection, managed_identity */\n type: OpenApiAuthType;\n}\n\nexport function openApiAuthDetailsSerializer(item: OpenApiAuthDetails): any {\n return { type: item[\"type\"] };\n}\n\nexport function openApiAuthDetailsDeserializer(item: any): OpenApiAuthDetails {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for OpenApiAuthDetailsUnion */\nexport type OpenApiAuthDetailsUnion =\n | OpenApiAnonymousAuthDetails\n | OpenApiConnectionAuthDetails\n | OpenApiManagedAuthDetails\n | OpenApiAuthDetails;\n\nexport function openApiAuthDetailsUnionSerializer(item: OpenApiAuthDetailsUnion): any {\n switch (item.type) {\n case \"anonymous\":\n return openApiAnonymousAuthDetailsSerializer(item as OpenApiAnonymousAuthDetails);\n\n case \"connection\":\n return openApiConnectionAuthDetailsSerializer(item as OpenApiConnectionAuthDetails);\n\n case \"managed_identity\":\n return openApiManagedAuthDetailsSerializer(item as OpenApiManagedAuthDetails);\n\n default:\n return openApiAuthDetailsSerializer(item);\n }\n}\n\nexport function openApiAuthDetailsUnionDeserializer(item: any): OpenApiAuthDetailsUnion {\n switch (item.type) {\n case \"anonymous\":\n return openApiAnonymousAuthDetailsDeserializer(item as OpenApiAnonymousAuthDetails);\n\n case \"connection\":\n return openApiConnectionAuthDetailsDeserializer(item as OpenApiConnectionAuthDetails);\n\n case \"managed_identity\":\n return openApiManagedAuthDetailsDeserializer(item as OpenApiManagedAuthDetails);\n\n default:\n return openApiAuthDetailsDeserializer(item);\n }\n}\n\n/**\n * Authentication type for OpenApi endpoint. Allowed types are:\n * - Anonymous (no authentication required)\n * - Connection (requires connection_id to endpoint, as setup in AI Foundry)\n * - Managed_Identity (requires audience for identity based auth)\n */\nexport type OpenApiAuthType = \"anonymous\" | \"connection\" | \"managed_identity\";\n\n/** Security details for OpenApi anonymous authentication */\nexport interface OpenApiAnonymousAuthDetails extends OpenApiAuthDetails {\n /** The object type, which is always 'anonymous'. */\n type: \"anonymous\";\n}\n\nexport function openApiAnonymousAuthDetailsSerializer(item: OpenApiAnonymousAuthDetails): any {\n return { type: item[\"type\"] };\n}\n\nexport function openApiAnonymousAuthDetailsDeserializer(item: any): OpenApiAnonymousAuthDetails {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Security details for OpenApi connection authentication */\nexport interface OpenApiConnectionAuthDetails extends OpenApiAuthDetails {\n /** The object type, which is always 'connection'. */\n type: \"connection\";\n /** Connection auth security details */\n securityScheme: OpenApiConnectionSecurityScheme;\n}\n\nexport function openApiConnectionAuthDetailsSerializer(item: OpenApiConnectionAuthDetails): any {\n return {\n type: item[\"type\"],\n security_scheme: openApiConnectionSecuritySchemeSerializer(item[\"securityScheme\"]),\n };\n}\n\nexport function openApiConnectionAuthDetailsDeserializer(item: any): OpenApiConnectionAuthDetails {\n return {\n type: item[\"type\"],\n securityScheme: openApiConnectionSecuritySchemeDeserializer(item[\"security_scheme\"]),\n };\n}\n\n/** Security scheme for OpenApi managed_identity authentication */\nexport interface OpenApiConnectionSecurityScheme {\n /** Connection id for Connection auth type */\n connectionId: string;\n}\n\nexport function openApiConnectionSecuritySchemeSerializer(\n item: OpenApiConnectionSecurityScheme,\n): any {\n return { connection_id: item[\"connectionId\"] };\n}\n\nexport function openApiConnectionSecuritySchemeDeserializer(\n item: any,\n): OpenApiConnectionSecurityScheme {\n return {\n connectionId: item[\"connection_id\"],\n };\n}\n\n/** Security details for OpenApi managed_identity authentication */\nexport interface OpenApiManagedAuthDetails extends OpenApiAuthDetails {\n /** The object type, which is always 'managed_identity'. */\n type: \"managed_identity\";\n /** Connection auth security details */\n securityScheme: OpenApiManagedSecurityScheme;\n}\n\nexport function openApiManagedAuthDetailsSerializer(item: OpenApiManagedAuthDetails): any {\n return {\n type: item[\"type\"],\n security_scheme: openApiManagedSecuritySchemeSerializer(item[\"securityScheme\"]),\n };\n}\n\nexport function openApiManagedAuthDetailsDeserializer(item: any): OpenApiManagedAuthDetails {\n return {\n type: item[\"type\"],\n securityScheme: openApiManagedSecuritySchemeDeserializer(item[\"security_scheme\"]),\n };\n}\n\n/** Security scheme for OpenApi managed_identity authentication */\nexport interface OpenApiManagedSecurityScheme {\n /** Authentication scope for managed_identity auth type */\n audience: string;\n}\n\nexport function openApiManagedSecuritySchemeSerializer(item: OpenApiManagedSecurityScheme): any {\n return { audience: item[\"audience\"] };\n}\n\nexport function openApiManagedSecuritySchemeDeserializer(item: any): OpenApiManagedSecurityScheme {\n return {\n audience: item[\"audience\"],\n };\n}\n\nexport function functionDefinitionArraySerializer(result: Array<FunctionDefinition>): any[] {\n return result.map((item) => {\n return functionDefinitionSerializer(item);\n });\n}\n\nexport function functionDefinitionArrayDeserializer(result: Array<FunctionDefinition>): any[] {\n return result.map((item) => {\n return functionDefinitionDeserializer(item);\n });\n}\n\n/** The input definition information for a Bing custom search tool as used to configure an agent. */\nexport interface BingCustomSearchToolDefinition extends ToolDefinition {\n /** The object type, which is always 'bing_custom_search'. */\n type: \"bing_custom_search\";\n /** The bing custom search tool parameters. */\n bingCustomSearch: BingCustomSearchToolParameters;\n}\n\nexport function bingCustomSearchToolDefinitionSerializer(\n item: BingCustomSearchToolDefinition,\n): any {\n return {\n type: item[\"type\"],\n bing_custom_search: bingCustomSearchToolParametersSerializer(item[\"bingCustomSearch\"]),\n };\n}\n\nexport function bingCustomSearchToolDefinitionDeserializer(\n item: any,\n): BingCustomSearchToolDefinition {\n return {\n type: item[\"type\"],\n bingCustomSearch: bingCustomSearchToolParametersDeserializer(item[\"bing_custom_search\"]),\n };\n}\n\n/** The bing custom search tool parameters. */\nexport interface BingCustomSearchToolParameters {\n /**\n * The connections attached to this tool. There can be a maximum of 1 connection\n * resource attached to the tool.\n */\n searchConfigurations: BingCustomSearchConfiguration[];\n}\n\nexport function bingCustomSearchToolParametersSerializer(\n item: BingCustomSearchToolParameters,\n): any {\n return {\n search_configurations: bingCustomSearchConfigurationArraySerializer(\n item[\"searchConfigurations\"],\n ),\n };\n}\n\nexport function bingCustomSearchToolParametersDeserializer(\n item: any,\n): BingCustomSearchToolParameters {\n return {\n searchConfigurations: bingCustomSearchConfigurationArrayDeserializer(\n item[\"search_configurations\"],\n ),\n };\n}\n\nexport function bingCustomSearchConfigurationArraySerializer(\n result: Array<BingCustomSearchConfiguration>,\n): any[] {\n return result.map((item) => {\n return bingCustomSearchConfigurationSerializer(item);\n });\n}\n\nexport function bingCustomSearchConfigurationArrayDeserializer(\n result: Array<BingCustomSearchConfiguration>,\n): any[] {\n return result.map((item) => {\n return bingCustomSearchConfigurationDeserializer(item);\n });\n}\n\n/** A bing custom search configuration. */\nexport interface BingCustomSearchConfiguration {\n /** Connection id for grounding with bing search */\n connectionId: string;\n /** Name of the custom configuration instance given to config. */\n instanceName: string;\n /** The market where the results come from. */\n market?: string;\n /** The language to use for user interface strings when calling Bing API. */\n setLang?: string;\n /** The number of search results to return in the bing api response */\n count?: number;\n /** Filter search results by a specific time range. Accepted values: https://learn.microsoft.com/bing/search-apis/bing-web-search/reference/query-parameters */\n freshness?: string;\n}\n\nexport function bingCustomSearchConfigurationSerializer(item: BingCustomSearchConfiguration): any {\n return {\n connection_id: item[\"connectionId\"],\n instance_name: item[\"instanceName\"],\n market: item[\"market\"],\n set_lang: item[\"setLang\"],\n count: item[\"count\"],\n freshness: item[\"freshness\"],\n };\n}\n\nexport function bingCustomSearchConfigurationDeserializer(\n item: any,\n): BingCustomSearchConfiguration {\n return {\n connectionId: item[\"connection_id\"],\n instanceName: item[\"instance_name\"],\n market: item[\"market\"],\n setLang: item[\"set_lang\"],\n count: item[\"count\"],\n freshness: item[\"freshness\"],\n };\n}\n\n/** The input definition information for a connected agent tool which defines a domain specific sub-agent */\nexport interface ConnectedAgentToolDefinition extends ToolDefinition {\n /** The object type, which is always 'connected_agent'. */\n type: \"connected_agent\";\n /** The sub-agent to connect */\n connectedAgent: ConnectedAgentDetails;\n}\n\nexport function connectedAgentToolDefinitionSerializer(item: ConnectedAgentToolDefinition): any {\n return {\n type: item[\"type\"],\n connected_agent: connectedAgentDetailsSerializer(item[\"connectedAgent\"]),\n };\n}\n\nexport function connectedAgentToolDefinitionDeserializer(item: any): ConnectedAgentToolDefinition {\n return {\n type: item[\"type\"],\n connectedAgent: connectedAgentDetailsDeserializer(item[\"connected_agent\"]),\n };\n}\n\n/** Information for connecting one agent to another as a tool */\nexport interface ConnectedAgentDetails {\n /** The identifier of the child agent. */\n id: string;\n /** The name of the agent to be called. */\n name: string;\n /** A description of what the agent does, used by the model to choose when and how to call the agent. */\n description: string;\n}\n\nexport function connectedAgentDetailsSerializer(item: ConnectedAgentDetails): any {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n description: item[\"description\"],\n };\n}\n\nexport function connectedAgentDetailsDeserializer(item: any): ConnectedAgentDetails {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n description: item[\"description\"],\n };\n}\n\n/** The input definition information for a Deep Research tool as used to configure an agent. */\nexport interface DeepResearchToolDefinition extends ToolDefinition {\n /** The object type, which is always 'deep_research'. */\n type: \"deep_research\";\n /** The deep_research tool definition configuration. */\n deepResearch: DeepResearchDetails;\n}\n\nexport function deepResearchToolDefinitionSerializer(item: DeepResearchToolDefinition): any {\n return {\n type: item[\"type\"],\n deep_research: deepResearchDetailsSerializer(item[\"deepResearch\"]),\n };\n}\n\nexport function deepResearchToolDefinitionDeserializer(item: any): DeepResearchToolDefinition {\n return {\n type: item[\"type\"],\n deepResearch: deepResearchDetailsDeserializer(item[\"deep_research\"]),\n };\n}\n\n/** The details of the Deep Research tool. */\nexport interface DeepResearchDetails {\n /** The deep research model deployment name. */\n model: string;\n /** The array containing Bing grounding connection IDs to enhance deep research capabilities. */\n bingGroundingConnections: DeepResearchBingGroundingConnection[];\n}\n\nexport function deepResearchDetailsSerializer(item: DeepResearchDetails): any {\n return {\n deep_research_model: item[\"model\"],\n bing_grounding_connections: deepResearchBingGroundingConnectionArraySerializer(\n item[\"bingGroundingConnections\"],\n ),\n };\n}\n\nexport function deepResearchDetailsDeserializer(item: any): DeepResearchDetails {\n return {\n model: item[\"deep_research_model\"],\n bingGroundingConnections: deepResearchBingGroundingConnectionArrayDeserializer(\n item[\"bing_grounding_connections\"],\n ),\n };\n}\n\nexport function deepResearchBingGroundingConnectionArraySerializer(\n result: Array<DeepResearchBingGroundingConnection>,\n): any[] {\n return result.map((item) => {\n return deepResearchBingGroundingConnectionSerializer(item);\n });\n}\n\nexport function deepResearchBingGroundingConnectionArrayDeserializer(\n result: Array<DeepResearchBingGroundingConnection>,\n): any[] {\n return result.map((item) => {\n return deepResearchBingGroundingConnectionDeserializer(item);\n });\n}\n\n/** The connection resource ID for the Bing grounding resource . */\nexport interface DeepResearchBingGroundingConnection {\n /** The connection ID for the Bing grounding connection. */\n connectionId: string;\n}\n\nexport function deepResearchBingGroundingConnectionSerializer(\n item: DeepResearchBingGroundingConnection,\n): any {\n return { connection_id: item[\"connectionId\"] };\n}\n\nexport function deepResearchBingGroundingConnectionDeserializer(\n item: any,\n): DeepResearchBingGroundingConnection {\n return {\n connectionId: item[\"connection_id\"],\n };\n}\n\n/** The input definition information for a MCP tool which defines a MCP server endpoint */\nexport interface MCPToolDefinition extends ToolDefinition {\n /** The object type, which is always 'mcp'. */\n type: \"mcp\";\n /** The label for the MCP server */\n serverLabel: string;\n /** The endpoint for the MCP server */\n serverUrl: string;\n /** List of allowed tools for MCP server */\n allowedTools?: string[];\n}\n\nexport function mcpToolDefinitionSerializer(item: MCPToolDefinition): any {\n return {\n type: item[\"type\"],\n server_label: item[\"serverLabel\"],\n server_url: item[\"serverUrl\"],\n allowed_tools: !item[\"allowedTools\"]\n ? item[\"allowedTools\"]\n : item[\"allowedTools\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function mcpToolDefinitionDeserializer(item: any): MCPToolDefinition {\n return {\n type: item[\"type\"],\n serverLabel: item[\"server_label\"],\n serverUrl: item[\"server_url\"],\n allowedTools: !item[\"allowed_tools\"]\n ? item[\"allowed_tools\"]\n : item[\"allowed_tools\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** The input definition information for a azure function tool as used to configure an agent. */\nexport interface AzureFunctionToolDefinition extends ToolDefinition {\n /** The object type, which is always 'azure_function'. */\n type: \"azure_function\";\n /** The definition of the concrete function that the function tool should call. */\n azureFunction: AzureFunctionDefinition;\n}\n\nexport function azureFunctionToolDefinitionSerializer(item: AzureFunctionToolDefinition): any {\n return {\n type: item[\"type\"],\n azure_function: azureFunctionDefinitionSerializer(item[\"azureFunction\"]),\n };\n}\n\nexport function azureFunctionToolDefinitionDeserializer(item: any): AzureFunctionToolDefinition {\n return {\n type: item[\"type\"],\n azureFunction: azureFunctionDefinitionDeserializer(item[\"azure_function\"]),\n };\n}\n\n/** The definition of Azure function. */\nexport interface AzureFunctionDefinition {\n /** The definition of azure function and its parameters. */\n function: FunctionDefinition;\n /** Input storage queue. The queue storage trigger runs a function as messages are added to it. */\n inputBinding: AzureFunctionBinding;\n /** Output storage queue. The function writes output to this queue when the input items are processed. */\n outputBinding: AzureFunctionBinding;\n}\n\nexport function azureFunctionDefinitionSerializer(item: AzureFunctionDefinition): any {\n return {\n function: functionDefinitionSerializer(item[\"function\"]),\n input_binding: azureFunctionBindingSerializer(item[\"inputBinding\"]),\n output_binding: azureFunctionBindingSerializer(item[\"outputBinding\"]),\n };\n}\n\nexport function azureFunctionDefinitionDeserializer(item: any): AzureFunctionDefinition {\n return {\n function: functionDefinitionDeserializer(item[\"function\"]),\n inputBinding: azureFunctionBindingDeserializer(item[\"input_binding\"]),\n outputBinding: azureFunctionBindingDeserializer(item[\"output_binding\"]),\n };\n}\n\n/** The structure for keeping storage queue name and URI. */\nexport interface AzureFunctionBinding {\n /** The type of binding, which is always 'storage_queue'. */\n type: \"storage_queue\";\n /** Storage queue. */\n storageQueue: AzureFunctionStorageQueue;\n}\n\nexport function azureFunctionBindingSerializer(item: AzureFunctionBinding): any {\n return {\n type: item[\"type\"],\n storage_queue: azureFunctionStorageQueueSerializer(item[\"storageQueue\"]),\n };\n}\n\nexport function azureFunctionBindingDeserializer(item: any): AzureFunctionBinding {\n return {\n type: item[\"type\"],\n storageQueue: azureFunctionStorageQueueDeserializer(item[\"storage_queue\"]),\n };\n}\n\n/** The structure for keeping storage queue name and URI. */\nexport interface AzureFunctionStorageQueue {\n /** URI to the Azure Storage Queue service allowing you to manipulate a queue. */\n storageServiceEndpoint: string;\n /** The name of an Azure function storage queue. */\n queueName: string;\n}\n\nexport function azureFunctionStorageQueueSerializer(item: AzureFunctionStorageQueue): any {\n return {\n queue_service_endpoint: item[\"storageServiceEndpoint\"],\n queue_name: item[\"queueName\"],\n };\n}\n\nexport function azureFunctionStorageQueueDeserializer(item: any): AzureFunctionStorageQueue {\n return {\n storageServiceEndpoint: item[\"queue_service_endpoint\"],\n queueName: item[\"queue_name\"],\n };\n}\n\n/** The input definition information for a Browser Automation Tool, as used to configure an Agent. */\nexport interface BrowserAutomationToolDefinition extends ToolDefinition {\n /** The object type, which is always 'browser_automation'. */\n type: \"browser_automation\";\n /** The Browser Automation Tool parameters. */\n browserAutomation: BrowserAutomationToolParameters;\n}\n\nexport function browserAutomationToolDefinitionSerializer(\n item: BrowserAutomationToolDefinition,\n): any {\n return {\n type: item[\"type\"],\n browser_automation: browserAutomationToolParametersSerializer(item[\"browserAutomation\"]),\n };\n}\n\nexport function browserAutomationToolDefinitionDeserializer(\n item: any,\n): BrowserAutomationToolDefinition {\n return {\n type: item[\"type\"],\n browserAutomation: browserAutomationToolParametersDeserializer(item[\"browser_automation\"]),\n };\n}\n\n/** Definition of input parameters for the Browser Automation Tool. */\nexport interface BrowserAutomationToolParameters {\n /** The connection parameters associated with the Browser Automation Tool. */\n connection: BrowserAutomationToolConnectionParameters;\n}\n\nexport function browserAutomationToolParametersSerializer(\n item: BrowserAutomationToolParameters,\n): any {\n return {\n connection: browserAutomationToolConnectionParametersSerializer(item[\"connection\"]),\n };\n}\n\nexport function browserAutomationToolParametersDeserializer(\n item: any,\n): BrowserAutomationToolParameters {\n return {\n connection: browserAutomationToolConnectionParametersDeserializer(item[\"connection\"]),\n };\n}\n\n/** Definition of input parameters for the connection used by the Browser Automation Tool. */\nexport interface BrowserAutomationToolConnectionParameters {\n /** The ID of the connection to your Azure Playwright resource. */\n id: string;\n}\n\nexport function browserAutomationToolConnectionParametersSerializer(\n item: BrowserAutomationToolConnectionParameters,\n): any {\n return { id: item[\"id\"] };\n}\n\nexport function browserAutomationToolConnectionParametersDeserializer(\n item: any,\n): BrowserAutomationToolConnectionParameters {\n return {\n id: item[\"id\"],\n };\n}\n\n/**\n * A set of resources that are used by the agent's tools. The resources are specific to the type of\n * tool. For example, the `code_interpreter` tool requires a list of file IDs, while the `file_search`\n * tool requires a list of vector store IDs.\n */\nexport interface ToolResources {\n /** Resources to be used by the `code_interpreter` tool consisting of file IDs. */\n codeInterpreter?: CodeInterpreterToolResource;\n /** Resources to be used by the `file_search` tool consisting of vector store IDs. */\n fileSearch?: FileSearchToolResource;\n /** Resources to be used by the `azure_ai_search` tool consisting of index IDs and names. */\n azureAISearch?: AzureAISearchToolResource;\n /** Resources to be used by the `mcp` tool consisting of a server label and headers. */\n mcp?: MCPToolResource[];\n}\n\nexport function toolResourcesSerializer(item: ToolResources): any {\n return {\n code_interpreter: !item[\"codeInterpreter\"]\n ? item[\"codeInterpreter\"]\n : codeInterpreterToolResourceSerializer(item[\"codeInterpreter\"]),\n file_search: !item[\"fileSearch\"]\n ? item[\"fileSearch\"]\n : fileSearchToolResourceSerializer(item[\"fileSearch\"]),\n azure_ai_search: !item[\"azureAISearch\"]\n ? item[\"azureAISearch\"]\n : azureAISearchToolResourceSerializer(item[\"azureAISearch\"]),\n mcp: !item[\"mcp\"] ? item[\"mcp\"] : mcpToolResourceArraySerializer(item[\"mcp\"]),\n };\n}\n\nexport function toolResourcesDeserializer(item: any): ToolResources {\n return {\n codeInterpreter: !item[\"code_interpreter\"]\n ? item[\"code_interpreter\"]\n : codeInterpreterToolResourceDeserializer(item[\"code_interpreter\"]),\n fileSearch: !item[\"file_search\"]\n ? item[\"file_search\"]\n : fileSearchToolResourceDeserializer(item[\"file_search\"]),\n azureAISearch: !item[\"azure_ai_search\"]\n ? item[\"azure_ai_search\"]\n : azureAISearchToolResourceDeserializer(item[\"azure_ai_search\"]),\n mcp: !item[\"mcp\"] ? item[\"mcp\"] : mcpToolResourceArrayDeserializer(item[\"mcp\"]),\n };\n}\n\n/** A set of resources that are used by the `code_interpreter` tool. */\nexport interface CodeInterpreterToolResource {\n /**\n * A list of file IDs made available to the `code_interpreter` tool. There can be a maximum of 20 files\n * associated with the tool.\n */\n fileIds?: string[];\n /** The data sources to be used. This option is mutually exclusive with the `fileIds` property. */\n dataSources?: VectorStoreDataSource[];\n}\n\nexport function codeInterpreterToolResourceSerializer(item: CodeInterpreterToolResource): any {\n return {\n file_ids: !item[\"fileIds\"]\n ? item[\"fileIds\"]\n : item[\"fileIds\"].map((p: any) => {\n return p;\n }),\n data_sources: !item[\"dataSources\"]\n ? item[\"dataSources\"]\n : vectorStoreDataSourceArraySerializer(item[\"dataSources\"]),\n };\n}\n\nexport function codeInterpreterToolResourceDeserializer(item: any): CodeInterpreterToolResource {\n return {\n fileIds: !item[\"file_ids\"]\n ? item[\"file_ids\"]\n : item[\"file_ids\"].map((p: any) => {\n return p;\n }),\n dataSources: !item[\"data_sources\"]\n ? item[\"data_sources\"]\n : vectorStoreDataSourceArrayDeserializer(item[\"data_sources\"]),\n };\n}\n\nexport function vectorStoreDataSourceArraySerializer(result: Array<VectorStoreDataSource>): any[] {\n return result.map((item) => {\n return vectorStoreDataSourceSerializer(item);\n });\n}\n\nexport function vectorStoreDataSourceArrayDeserializer(\n result: Array<VectorStoreDataSource>,\n): any[] {\n return result.map((item) => {\n return vectorStoreDataSourceDeserializer(item);\n });\n}\n\n/**\n * The structure, containing Azure asset URI path and the asset type of the file used as a data source\n * for the enterprise file search.\n */\nexport interface VectorStoreDataSource {\n /** Asset URI. */\n assetIdentifier: string;\n /** The asset type */\n assetType: VectorStoreDataSourceAssetType;\n}\n\nexport function vectorStoreDataSourceSerializer(item: VectorStoreDataSource): any {\n return { uri: item[\"assetIdentifier\"], type: item[\"assetType\"] };\n}\n\nexport function vectorStoreDataSourceDeserializer(item: any): VectorStoreDataSource {\n return {\n assetIdentifier: item[\"uri\"],\n assetType: item[\"type\"],\n };\n}\n\n/**\n * Type of vector storage asset. Asset type may be a uri_asset, in this case it should contain asset URI ID,\n * in the case of id_asset it should contain the data ID.\n */\nexport enum VectorStoreDataSourceAssetType {\n UriAsset = \"uri_asset\",\n IdAsset = \"id_asset\",\n}\n\n/** A set of resources that are used by the `file_search` tool. */\nexport interface FileSearchToolResource {\n /**\n * The ID of the vector store attached to this agent. There can be a maximum of 1 vector\n * store attached to the agent.\n */\n vectorStoreIds?: string[];\n /**\n * The list of vector store configuration objects from Azure.\n * This list is limited to one element.\n * The only element of this list contains the list of azure asset IDs used by the search tool.\n */\n vectorStores?: VectorStoreConfigurations[];\n}\n\nexport function fileSearchToolResourceSerializer(item: FileSearchToolResource): any {\n return {\n vector_store_ids: !item[\"vectorStoreIds\"]\n ? item[\"vectorStoreIds\"]\n : item[\"vectorStoreIds\"].map((p: any) => {\n return p;\n }),\n vector_stores: !item[\"vectorStores\"]\n ? item[\"vectorStores\"]\n : vectorStoreConfigurationsArraySerializer(item[\"vectorStores\"]),\n };\n}\n\nexport function fileSearchToolResourceDeserializer(item: any): FileSearchToolResource {\n return {\n vectorStoreIds: !item[\"vector_store_ids\"]\n ? item[\"vector_store_ids\"]\n : item[\"vector_store_ids\"].map((p: any) => {\n return p;\n }),\n vectorStores: !item[\"vector_stores\"]\n ? item[\"vector_stores\"]\n : vectorStoreConfigurationsArrayDeserializer(item[\"vector_stores\"]),\n };\n}\n\nexport function vectorStoreConfigurationsArraySerializer(\n result: Array<VectorStoreConfigurations>,\n): any[] {\n return result.map((item) => {\n return vectorStoreConfigurationsSerializer(item);\n });\n}\n\nexport function vectorStoreConfigurationsArrayDeserializer(\n result: Array<VectorStoreConfigurations>,\n): any[] {\n return result.map((item) => {\n return vectorStoreConfigurationsDeserializer(item);\n });\n}\n\n/** The structure, containing the list of vector storage configurations i.e. the list of azure asset IDs. */\nexport interface VectorStoreConfigurations {\n /** Name */\n storeName: string;\n /** Configurations */\n storeConfiguration: VectorStoreConfiguration;\n}\n\nexport function vectorStoreConfigurationsSerializer(item: VectorStoreConfigurations): any {\n return {\n name: item[\"storeName\"],\n configuration: vectorStoreConfigurationSerializer(item[\"storeConfiguration\"]),\n };\n}\n\nexport function vectorStoreConfigurationsDeserializer(item: any): VectorStoreConfigurations {\n return {\n storeName: item[\"name\"],\n storeConfiguration: vectorStoreConfigurationDeserializer(item[\"configuration\"]),\n };\n}\n\n/**\n * Vector storage configuration is the list of data sources, used when multiple\n * files can be used for the enterprise file search.\n */\nexport interface VectorStoreConfiguration {\n /** Data sources */\n dataSources: VectorStoreDataSource[];\n}\n\nexport function vectorStoreConfigurationSerializer(item: VectorStoreConfiguration): any {\n return {\n data_sources: vectorStoreDataSourceArraySerializer(item[\"dataSources\"]),\n };\n}\n\nexport function vectorStoreConfigurationDeserializer(item: any): VectorStoreConfiguration {\n return {\n dataSources: vectorStoreDataSourceArrayDeserializer(item[\"data_sources\"]),\n };\n}\n\n/** A set of index resources used by the `azure_ai_search` tool. */\nexport interface AzureAISearchToolResource {\n /**\n * The indices attached to this agent. There can be a maximum of 1 index\n * resource attached to the agent.\n */\n indexList?: AISearchIndexResource[];\n}\n\nexport function azureAISearchToolResourceSerializer(item: AzureAISearchToolResource): any {\n return {\n indexes: !item[\"indexList\"]\n ? item[\"indexList\"]\n : aiSearchIndexResourceArraySerializer(item[\"indexList\"]),\n };\n}\n\nexport function azureAISearchToolResourceDeserializer(item: any): AzureAISearchToolResource {\n return {\n indexList: !item[\"indexes\"]\n ? item[\"indexes\"]\n : aiSearchIndexResourceArrayDeserializer(item[\"indexes\"]),\n };\n}\n\nexport function aiSearchIndexResourceArraySerializer(result: Array<AISearchIndexResource>): any[] {\n return result.map((item) => {\n return aiSearchIndexResourceSerializer(item);\n });\n}\n\nexport function aiSearchIndexResourceArrayDeserializer(\n result: Array<AISearchIndexResource>,\n): any[] {\n return result.map((item) => {\n return aiSearchIndexResourceDeserializer(item);\n });\n}\n\n/** A AI Search Index resource. */\nexport interface AISearchIndexResource {\n /** An index connection id in an IndexResource attached to this agent. */\n indexConnectionId?: string;\n /** The name of an index in an IndexResource attached to this agent. */\n indexName?: string;\n /** Type of query in an AIIndexResource attached to this agent. */\n queryType?: AzureAISearchQueryType;\n /** Number of documents to retrieve from search and present to the model. */\n topK?: number;\n /** filter string for search resource. */\n filter?: string;\n /** Index asset id for search resource. */\n indexAssetId?: string;\n}\n\nexport function aiSearchIndexResourceSerializer(item: AISearchIndexResource): any {\n return {\n index_connection_id: item[\"indexConnectionId\"],\n index_name: item[\"indexName\"],\n query_type: item[\"queryType\"],\n top_k: item[\"topK\"],\n filter: item[\"filter\"],\n index_asset_id: item[\"indexAssetId\"],\n };\n}\n\nexport function aiSearchIndexResourceDeserializer(item: any): AISearchIndexResource {\n return {\n indexConnectionId: item[\"index_connection_id\"],\n indexName: item[\"index_name\"],\n queryType: item[\"query_type\"],\n topK: item[\"top_k\"],\n filter: item[\"filter\"],\n indexAssetId: item[\"index_asset_id\"],\n };\n}\n\n/** Available query types for Azure AI Search tool. */\nexport type AzureAISearchQueryType =\n | \"simple\"\n | \"semantic\"\n | \"vector\"\n | \"vector_simple_hybrid\"\n | \"vector_semantic_hybrid\";\n\nexport function mcpToolResourceArraySerializer(result: Array<MCPToolResource>): any[] {\n return result.map((item) => {\n return mcpToolResourceSerializer(item);\n });\n}\n\nexport function mcpToolResourceArrayDeserializer(result: Array<MCPToolResource>): any[] {\n return result.map((item) => {\n return mcpToolResourceDeserializer(item);\n });\n}\n\n/** A set of resources that are used by the `mcp` tool. */\nexport interface MCPToolResource {\n /** The label for the MCP server */\n serverLabel: string;\n /** The headers for the MCP server updates */\n headers: Record<string, string>;\n /** Does MCP server require approval */\n requireApproval?: MCPRequiredApproval;\n}\n\nexport function mcpToolResourceSerializer(item: MCPToolResource): any {\n return {\n server_label: item[\"serverLabel\"],\n headers: item[\"headers\"],\n require_approval: !item[\"requireApproval\"]\n ? item[\"requireApproval\"]\n : mcpRequiredApprovalSerializer(item[\"requireApproval\"]),\n };\n}\n\nexport function mcpToolResourceDeserializer(item: any): MCPToolResource {\n return {\n serverLabel: item[\"server_label\"],\n headers: item[\"headers\"],\n requireApproval: !item[\"require_approval\"]\n ? item[\"require_approval\"]\n : mcpRequiredApprovalDeserializer(item[\"require_approval\"]),\n };\n}\n\n/** Alias for MCPRequiredApproval */\nexport type MCPRequiredApproval = string | \"never\" | \"always\" | MCPApprovalPerTool;\n\nexport function mcpRequiredApprovalSerializer(item: MCPRequiredApproval): any {\n return item;\n}\n\nexport function mcpRequiredApprovalDeserializer(item: any): MCPRequiredApproval {\n return item;\n}\n\n/** Customized MCP approval object, listing tools requiring and not requiring approvals */\nexport interface MCPApprovalPerTool {\n /** The list of tools, not requiring approval. */\n never?: MCPToolList;\n /** The list of tools, always requiring approval. */\n always?: MCPToolList;\n}\n\nexport function mcpApprovalPerToolSerializer(item: MCPApprovalPerTool): any {\n return {\n never: !item[\"never\"] ? item[\"never\"] : mcpToolListSerializer(item[\"never\"]),\n always: !item[\"always\"] ? item[\"always\"] : mcpToolListSerializer(item[\"always\"]),\n };\n}\n\nexport function mcpApprovalPerToolDeserializer(item: any): MCPApprovalPerTool {\n return {\n never: !item[\"never\"] ? item[\"never\"] : mcpToolListDeserializer(item[\"never\"]),\n always: !item[\"always\"] ? item[\"always\"] : mcpToolListDeserializer(item[\"always\"]),\n };\n}\n\n/** The object, containing list of tools for approvals. */\nexport interface MCPToolList {\n /** The list of tools for approval. */\n toolNames: string[];\n}\n\nexport function mcpToolListSerializer(item: MCPToolList): any {\n return {\n tool_names: item[\"toolNames\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function mcpToolListDeserializer(item: any): MCPToolList {\n return {\n toolNames: item[\"tool_names\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/**\n * An object describing the expected output of the model. If `json_object` only `function` type `tools` are allowed to be passed to the Run.\n * If `text` the model can return text or any value needed.\n */\nexport interface AgentsResponseFormat {\n /** Must be one of `text` or `json_object`. */\n type?: ResponseFormat;\n}\n\nexport function agentsResponseFormatSerializer(item: AgentsResponseFormat): any {\n return { type: item[\"type\"] };\n}\n\nexport function agentsResponseFormatDeserializer(item: any): AgentsResponseFormat {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Possible API response formats. */\nexport type ResponseFormat = \"text\" | \"json_object\";\n\n/** The type of response format being defined: `json_schema` */\nexport interface ResponseFormatJsonSchemaType {\n /** Type */\n type: \"json_schema\";\n /** The JSON schema, describing response format. */\n jsonSchema: ResponseFormatJsonSchema;\n}\n\nexport function responseFormatJsonSchemaTypeSerializer(item: ResponseFormatJsonSchemaType): any {\n return {\n type: item[\"type\"],\n json_schema: responseFormatJsonSchemaSerializer(item[\"jsonSchema\"]),\n };\n}\n\nexport function responseFormatJsonSchemaTypeDeserializer(item: any): ResponseFormatJsonSchemaType {\n return {\n type: item[\"type\"],\n jsonSchema: responseFormatJsonSchemaDeserializer(item[\"json_schema\"]),\n };\n}\n\n/** A description of what the response format is for, used by the model to determine how to respond in the format. */\nexport interface ResponseFormatJsonSchema {\n /** A description of what the response format is for, used by the model to determine how to respond in the format. */\n description?: string;\n /** The name of a schema. */\n name: string;\n /** The JSON schema object, describing the response format. */\n schema: any;\n}\n\nexport function responseFormatJsonSchemaSerializer(item: ResponseFormatJsonSchema): any {\n return {\n description: item[\"description\"],\n name: item[\"name\"],\n schema: item[\"schema\"],\n };\n}\n\nexport function responseFormatJsonSchemaDeserializer(item: any): ResponseFormatJsonSchema {\n return {\n description: item[\"description\"],\n name: item[\"name\"],\n schema: item[\"schema\"],\n };\n}\n\nexport function toolDefinitionUnionArraySerializer(result: Array<ToolDefinitionUnion>): any[] {\n return result.map((item) => {\n return toolDefinitionUnionSerializer(item);\n });\n}\n\nexport function toolDefinitionUnionArrayDeserializer(result: Array<ToolDefinitionUnion>): any[] {\n return result.map((item) => {\n return toolDefinitionUnionDeserializer(item);\n });\n}\n\n/** Alias for AgentsResponseFormatOption */\nexport type AgentsResponseFormatOption =\n | string\n | AgentsResponseFormatMode\n | AgentsResponseFormat\n | ResponseFormatJsonSchemaType;\n\nexport function agentsResponseFormatOptionSerializer(item: AgentsResponseFormatOption): any {\n if (typeof item === \"object\" && item.type === \"json_schema\") {\n return responseFormatJsonSchemaTypeSerializer(item);\n }\n return item;\n}\n\nexport function agentsResponseFormatOptionDeserializer(item: any): AgentsResponseFormatOption {\n if (typeof item === \"object\" && item.type === \"json_schema\") {\n return responseFormatJsonSchemaTypeDeserializer(item);\n }\n return item;\n}\n\n/** Represents the mode in which the model will handle the return format of a tool call. */\nexport type AgentsResponseFormatMode = \"auto\" | \"none\";\n\n/** Represents an agent that can call the model and use tools. */\nexport interface Agent {\n /** The identifier, which can be referenced in API endpoints. */\n id: string;\n /** The object type, which is always assistant. */\n object: \"assistant\";\n /** The Unix timestamp, in seconds, representing when this object was created. */\n createdAt: Date;\n /** The name of the agent. */\n name: string | null;\n /** The description of the agent. */\n description: string | null;\n /** The ID of the model to use. */\n model: string;\n /** The system instructions for the agent to use. */\n instructions: string | null;\n /** The collection of tools enabled for the agent. */\n tools: ToolDefinitionUnion[];\n /**\n * A set of resources that are used by the agent's tools. The resources are specific to the type of tool. For example, the `code_interpreter`\n * tool requires a list of file IDs, while the `file_search` tool requires a list of vector store IDs.\n */\n toolResources: ToolResources | null;\n /**\n * What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random,\n * while lower values like 0.2 will make it more focused and deterministic.\n */\n temperature: number | null;\n /**\n * An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass.\n * So 0.1 means only the tokens comprising the top 10% probability mass are considered.\n *\n * We generally recommend altering this or temperature but not both.\n */\n topP: number | null;\n /** The response format of the tool calls used by this agent. */\n responseFormat?: AgentsResponseFormatOption | null;\n /** A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length. */\n metadata: Record<string, string> | null;\n}\n\nexport function agentDeserializer(item: any): Agent {\n return {\n id: item[\"id\"],\n object: item[\"object\"],\n createdAt: new Date(item[\"created_at\"] * 1000),\n name: item[\"name\"],\n description: item[\"description\"],\n model: item[\"model\"],\n instructions: item[\"instructions\"],\n tools: toolDefinitionUnionArrayDeserializer(item[\"tools\"]),\n toolResources: !item[\"tool_resources\"]\n ? item[\"tool_resources\"]\n : toolResourcesDeserializer(item[\"tool_resources\"]),\n temperature: item[\"temperature\"],\n topP: item[\"top_p\"],\n responseFormat: !item[\"response_format\"]\n ? item[\"response_format\"]\n : agentsResponseFormatOptionDeserializer(item[\"response_format\"]),\n metadata: item[\"metadata\"],\n };\n}\n\n/** Error payload returned by the agents API. */\nexport interface AgentV1Error {\n /** Represents the error. */\n error: AgentErrorDetail;\n}\n\nexport function agentV1ErrorDeserializer(item: any): AgentV1Error {\n return {\n error: agentErrorDetailDeserializer(item[\"error\"]),\n };\n}\n\n/** Describes the error information returned by the agents API. */\nexport interface AgentErrorDetail {\n /** Human-readable description of the error. */\n message?: string | null;\n /** Error type identifier (e.g. `invalid_request_error`). */\n type?: string | null;\n /** Name of the parameter that caused the error, if applicable. */\n param?: string | null;\n /** Machine-readable error code. */\n code?: string | null;\n}\n\nexport function agentErrorDetailDeserializer(item: any): AgentErrorDetail {\n return {\n message: item[\"message\"],\n type: item[\"type\"],\n param: item[\"param\"],\n code: item[\"code\"],\n };\n}\n\n/** The response data for a requested list of items. */\nexport interface _AgentsPagedResultAgent {\n /** The requested list of items. */\n data: Agent[];\n /** The last ID represented in this list. */\n lastId?: string;\n /** A value indicating whether there are additional values available not captured in this list. */\n hasMore: boolean;\n}\n\nexport function _agentsPagedResultAgentDeserializer(item: any): _AgentsPagedResultAgent {\n return {\n data: agentArrayDeserializer(item[\"data\"]),\n lastId: item[\"last_id\"],\n hasMore: item[\"has_more\"],\n };\n}\n\nexport function agentArrayDeserializer(result: Array<Agent>): any[] {\n return result.map((item) => {\n return agentDeserializer(item);\n });\n}\n\n/** The status of an agent deletion operation. */\nexport interface AgentDeletionStatus {\n /** The ID of the resource specified for deletion. */\n id: string;\n /** A value indicating whether deletion was successful. */\n deleted: boolean;\n /** The object type, which is always 'assistant.deleted'. */\n object: \"assistant.deleted\";\n}\n\nexport function agentDeletionStatusDeserializer(item: any): AgentDeletionStatus {\n return {\n id: item[\"id\"],\n deleted: item[\"deleted\"],\n object: item[\"object\"],\n };\n}\n\n/** The details used to create a new agent thread. */\nexport interface AgentThreadCreationOptions {\n /** The initial messages to associate with the new thread. */\n messages?: ThreadMessageOptions[];\n /**\n * A set of resources that are made available to the agent's tools in this thread. The resources are specific to the\n * type of tool. For example, the `code_interpreter` tool requires a list of file IDs, while the `file_search` tool requires\n * a list of vector store IDs.\n */\n toolResources?: ToolResources | null;\n /** A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length. */\n metadata?: Record<string, string> | null;\n}\n\nexport function agentThreadCreationOptionsSerializer(item: AgentThreadCreationOptions): any {\n return {\n messages: !item[\"messages\"]\n ? item[\"messages\"]\n : threadMessageOptionsArraySerializer(item[\"messages\"]),\n tool_resources: !item[\"toolResources\"]\n ? item[\"toolResources\"]\n : toolResourcesSerializer(item[\"toolResources\"]),\n metadata: item[\"metadata\"],\n };\n}\n\nexport function threadMessageOptionsArraySerializer(result: Array<ThreadMessageOptions>): any[] {\n return result.map((item) => {\n return threadMessageOptionsSerializer(item);\n });\n}\n\n/**\n * A single message within an agent thread,\n * as provided during that thread's creation for its initial state.\n */\nexport interface ThreadMessageOptions {\n /**\n * The role of the entity that is creating the message. Allowed values include:\n * `user`, which indicates the message is sent by an actual user (and should be\n * used in most cases to represent user-generated messages), and `assistant`,\n * which indicates the message is generated by the agent (use this value to insert\n * messages from the agent into the conversation).\n */\n role: MessageRole;\n /**\n * The content of the initial message. This may be a basic string (if you only\n * need text) or an array of typed content blocks (for example, text, image_file,\n * image_url, and so on).\n */\n content: MessageInputContent;\n /** A list of files attached to the message, and the tools they should be added to. */\n attachments?: MessageAttachment[] | null;\n /** A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length. */\n metadata?: Record<string, string> | null;\n}\n\nexport function threadMessageOptionsSerializer(item: ThreadMessageOptions): any {\n return {\n role: item[\"role\"],\n content: messageInputContentSerializer(item[\"content\"]),\n attachments: !item[\"attachments\"]\n ? item[\"attachments\"]\n : messageAttachmentArraySerializer(item[\"attachments\"]),\n metadata: item[\"metadata\"],\n };\n}\n\n/** The possible values for roles attributed to messages in a thread. */\nexport type MessageRole = \"user\" | \"assistant\";\n/** Alias for MessageInputContent */\nexport type MessageInputContent = string | MessageInputContentBlockUnion[];\n\nexport function messageInputContentSerializer(item: MessageInputContent): any {\n if (typeof item === \"string\") {\n return item;\n }\n\n return messageInputContentBlockUnionArraySerializer(item);\n}\n\nexport function messageInputContentBlockUnionArraySerializer(\n result: Array<MessageInputContentBlockUnion>,\n): any[] {\n return result.map((item) => {\n return messageInputContentBlockUnionSerializer(item);\n });\n}\n\n/** Defines a single content block when creating a message. The 'type' field determines whether it is text, an image file, or an external image URL, etc. */\nexport interface MessageInputContentBlock {\n /** Specifies which kind of content block this is (text, image_file, image_url, etc.). */\n /** The discriminator possible values: text, image_file, image_url */\n type: MessageBlockType;\n}\n\nexport function messageInputContentBlockSerializer(item: MessageInputContentBlock): any {\n return { type: item[\"type\"] };\n}\n\n/** Alias for MessageInputContentBlockUnion */\nexport type MessageInputContentBlockUnion =\n | MessageInputTextBlock\n | MessageInputImageFileBlock\n | MessageInputImageUrlBlock\n | MessageInputContentBlock;\n\nexport function messageInputContentBlockUnionSerializer(item: MessageInputContentBlockUnion): any {\n switch (item.type) {\n case \"text\":\n return messageInputTextBlockSerializer(item as MessageInputTextBlock);\n\n case \"image_file\":\n return messageInputImageFileBlockSerializer(item as MessageInputImageFileBlock);\n\n case \"image_url\":\n return messageInputImageUrlBlockSerializer(item as MessageInputImageUrlBlock);\n\n default:\n return messageInputContentBlockSerializer(item);\n }\n}\n\n/** Specifies the kind of content block within a message. Could be text, an image file, an external image URL, or an unknown future type. */\nexport type MessageBlockType = \"text\" | \"image_file\" | \"image_url\";\n\n/** A text block in a new message, containing plain text content. */\nexport interface MessageInputTextBlock extends MessageInputContentBlock {\n /** Must be 'text' for a text block. */\n type: \"text\";\n /** The plain text content for this block. */\n text: string;\n}\n\nexport function messageInputTextBlockSerializer(item: MessageInputTextBlock): any {\n return { type: item[\"type\"], text: item[\"text\"] };\n}\n\n/** An image-file block in a new message, referencing an internally uploaded image by file ID. */\nexport interface MessageInputImageFileBlock extends MessageInputContentBlock {\n /** Must be 'image_file' for an internally uploaded image block. */\n type: \"image_file\";\n /** Information about the referenced image file, including file ID and optional detail level. */\n imageFile: MessageImageFileParam;\n}\n\nexport function messageInputImageFileBlockSerializer(item: MessageInputImageFileBlock): any {\n return {\n type: item[\"type\"],\n image_file: messageImageFileParamSerializer(item[\"imageFile\"]),\n };\n}\n\n/** Defines how an internally uploaded image file is referenced when creating an image-file block. */\nexport interface MessageImageFileParam {\n /** The ID of the previously uploaded image file. */\n fileId: string;\n /** Optional detail level for the image (auto, low, or high). */\n detail?: ImageDetailLevel;\n}\n\nexport function messageImageFileParamSerializer(item: MessageImageFileParam): any {\n return { file_id: item[\"fileId\"], detail: item[\"detail\"] };\n}\n\n/** Specifies an image's detail level. Can be 'auto', 'low', 'high', or an unknown future value. */\nexport type ImageDetailLevel = \"auto\" | \"low\" | \"high\";\n\n/** An image-URL block in a new message, referencing an external image by URL. */\nexport interface MessageInputImageUrlBlock extends MessageInputContentBlock {\n /** Must be 'image_url' for an externally hosted image block. */\n type: \"image_url\";\n /** Information about the external image URL, including the URL and optional detail level. */\n imageUrl: MessageImageUrlParam;\n}\n\nexport function messageInputImageUrlBlockSerializer(item: MessageInputImageUrlBlock): any {\n return {\n type: item[\"type\"],\n image_url: messageImageUrlParamSerializer(item[\"imageUrl\"]),\n };\n}\n\n/** Defines how an external image URL is referenced when creating an image-URL block. */\nexport interface MessageImageUrlParam {\n /** The publicly accessible URL of the external image. */\n url: string;\n /** Optional detail level for the image (auto, low, or high). Defaults to 'auto' if not specified. */\n detail?: ImageDetailLevel;\n}\n\nexport function messageImageUrlParamSerializer(item: MessageImageUrlParam): any {\n return { url: item[\"url\"], detail: item[\"detail\"] };\n}\n\nexport function messageAttachmentArraySerializer(result: Array<MessageAttachment>): any[] {\n return result.map((item) => {\n return messageAttachmentSerializer(item);\n });\n}\n\nexport function messageAttachmentArrayDeserializer(result: Array<MessageAttachment>): any[] {\n return result.map((item) => {\n return messageAttachmentDeserializer(item);\n });\n}\n\n/** This describes to which tools a file has been attached. */\nexport interface MessageAttachment {\n /** The ID of the file to attach to the message. */\n fileId?: string;\n /** Azure asset ID. */\n dataSource?: VectorStoreDataSource;\n /** The tools to add to this file. */\n tools: MessageAttachmentToolDefinition[];\n}\n\nexport function messageAttachmentSerializer(item: MessageAttachment): any {\n return {\n file_id: item[\"fileId\"],\n data_source: !item[\"dataSource\"]\n ? item[\"dataSource\"]\n : vectorStoreDataSourceSerializer(item[\"dataSource\"]),\n tools: messageAttachmentToolDefinitionArraySerializer(item[\"tools\"]),\n };\n}\n\nexport function messageAttachmentDeserializer(item: any): MessageAttachment {\n return {\n fileId: item[\"file_id\"],\n dataSource: !item[\"data_source\"]\n ? item[\"data_source\"]\n : vectorStoreDataSourceDeserializer(item[\"data_source\"]),\n tools: messageAttachmentToolDefinitionArrayDeserializer(item[\"tools\"]),\n };\n}\n\nexport function messageAttachmentToolDefinitionArraySerializer(\n result: Array<MessageAttachmentToolDefinition>,\n): any[] {\n return result.map((item) => {\n return messageAttachmentToolDefinitionSerializer(item);\n });\n}\n\nexport function messageAttachmentToolDefinitionArrayDeserializer(\n result: Array<MessageAttachmentToolDefinition>,\n): any[] {\n return result.map((item) => {\n return messageAttachmentToolDefinitionDeserializer(item);\n });\n}\n\n/** Alias for MessageAttachmentToolDefinition */\nexport type MessageAttachmentToolDefinition =\n | CodeInterpreterToolDefinition\n | FileSearchToolDefinition;\n\nexport function messageAttachmentToolDefinitionSerializer(\n item: MessageAttachmentToolDefinition,\n): any {\n return item;\n}\n\nexport function messageAttachmentToolDefinitionDeserializer(\n item: any,\n): MessageAttachmentToolDefinition {\n return item;\n}\n\n/**\n * Controls for how a thread will be truncated prior to the run. Use this to control the initial\n * context window of the run.\n */\nexport interface TruncationObject {\n /**\n * The truncation strategy to use for the thread. The default is `auto`. If set to `last_messages`, the thread will\n * be truncated to the `lastMessages` count most recent messages in the thread. When set to `auto`, messages in the middle of the thread\n * will be dropped to fit the context length of the model, `max_prompt_tokens`.\n */\n type: TruncationStrategy;\n /** The number of most recent messages from the thread when constructing the context for the run. */\n lastMessages?: number | null;\n}\n\nexport function truncationObjectSerializer(item: TruncationObject): any {\n return { type: item[\"type\"], last_messages: item[\"lastMessages\"] };\n}\n\nexport function truncationObjectDeserializer(item: any): TruncationObject {\n return {\n type: item[\"type\"],\n lastMessages: item[\"last_messages\"],\n };\n}\n\n/** Possible truncation strategies for the thread. */\nexport type TruncationStrategy = \"auto\" | \"last_messages\";\n\n/** Specifies a tool the model should use. Use to force the model to call a specific tool. */\nexport interface AgentsNamedToolChoice {\n /** the type of tool. If type is `function`, the function name must be set. */\n type: AgentsNamedToolChoiceType;\n /** The name of the function to call */\n function?: FunctionName;\n}\n\nexport function agentsNamedToolChoiceSerializer(item: AgentsNamedToolChoice): any {\n return {\n type: item[\"type\"],\n function: !item[\"function\"] ? item[\"function\"] : functionNameSerializer(item[\"function\"]),\n };\n}\n\nexport function agentsNamedToolChoiceDeserializer(item: any): AgentsNamedToolChoice {\n return {\n type: item[\"type\"],\n function: !item[\"function\"] ? item[\"function\"] : functionNameDeserializer(item[\"function\"]),\n };\n}\n\n/** Available tool types for agents named tools. */\nexport type AgentsNamedToolChoiceType =\n | \"function\"\n | \"code_interpreter\"\n | \"file_search\"\n | \"bing_grounding\"\n | \"fabric_dataagent\"\n | \"sharepoint_grounding\"\n | \"azure_ai_search\"\n | \"bing_custom_search\"\n | \"connected_agent\"\n | \"deep_research\"\n | \"mcp\";\n\n/** The function name that will be used, if using the `function` tool */\nexport interface FunctionName {\n /** The name of the function to call */\n name: string;\n}\n\nexport function functionNameSerializer(item: FunctionName): any {\n return { name: item[\"name\"] };\n}\n\nexport function functionNameDeserializer(item: any): FunctionName {\n return {\n name: item[\"name\"],\n };\n}\n\n/** Alias for AgentsToolChoiceOption */\nexport type AgentsToolChoiceOption = string | AgentsToolChoiceOptionMode | AgentsNamedToolChoice;\n\nexport function agentsToolChoiceOptionSerializer(item: AgentsToolChoiceOption): any {\n return item;\n}\n\nexport function agentsToolChoiceOptionDeserializer(item: any): AgentsToolChoiceOption {\n return item;\n}\n\n/** Specifies how the tool choice will be used */\nexport type AgentsToolChoiceOptionMode = \"none\" | \"auto\";\n\n/** Data representing a single evaluation run of an agent thread. */\nexport interface ThreadRun {\n /** The identifier, which can be referenced in API endpoints. */\n id: string;\n /** The object type, which is always 'thread.run'. */\n object: \"thread.run\";\n /** The ID of the thread associated with this run. */\n threadId: string;\n /** The ID of the agent associated with the thread this run was performed against. */\n assistantId: string;\n /** The status of the agent thread run. */\n status: RunStatus;\n /** The details of the action required for the agent thread run to continue. */\n requiredAction?: RequiredActionUnion | null;\n /** The last error, if any, encountered by this agent thread run. */\n lastError: RunError | null;\n /** The ID of the model to use. */\n model: string;\n /** The overridden system instructions used for this agent thread run. */\n instructions: string;\n /** The overridden enabled tools used for this agent thread run. */\n tools: ToolDefinitionUnion[];\n /** The Unix timestamp, in seconds, representing when this object was created. */\n createdAt: Date;\n /** The Unix timestamp, in seconds, representing when this item expires. */\n expiresAt: Date | null;\n /** The Unix timestamp, in seconds, representing when this item was started. */\n startedAt: Date | null;\n /** The Unix timestamp, in seconds, representing when this completed. */\n completedAt: Date | null;\n /** The Unix timestamp, in seconds, representing when this was cancelled. */\n cancelledAt: Date | null;\n /** The Unix timestamp, in seconds, representing when this failed. */\n failedAt: Date | null;\n /** Details on why the run is incomplete. Will be `null` if the run is not incomplete. */\n incompleteDetails: IncompleteRunDetails | null;\n /** Usage statistics related to the run. This value will be `null` if the run is not in a terminal state (i.e. `in_progress`, `queued`, etc.). */\n usage: RunCompletionUsage | null;\n /** The sampling temperature used for this run. If not set, defaults to 1. */\n temperature?: number | null;\n /** The nucleus sampling value used for this run. If not set, defaults to 1. */\n topP?: number | null;\n /** The maximum number of prompt tokens specified to have been used over the course of the run. */\n maxPromptTokens: number | null;\n /** The maximum number of completion tokens specified to have been used over the course of the run. */\n maxCompletionTokens: number | null;\n /** The strategy to use for dropping messages as the context windows moves forward. */\n truncationStrategy: TruncationObject | null;\n /** Controls whether or not and which tool is called by the model. */\n toolChoice: AgentsToolChoiceOption | null;\n /** The response format of the tool calls used in this run. */\n responseFormat: AgentsResponseFormatOption | null;\n /** A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length. */\n metadata: Record<string, string> | null;\n /** Override the tools the agent can use for this run. This is useful for modifying the behavior on a per-run basis */\n toolResources?: ToolResources | null;\n /** Determines if tools can be executed in parallel within the run. */\n parallelToolCalls: boolean;\n}\n\nexport function threadRunDeserializer(item: any): ThreadRun {\n return {\n id: item[\"id\"],\n object: item[\"object\"],\n threadId: item[\"thread_id\"],\n assistantId: item[\"assistant_id\"],\n status: item[\"status\"],\n requiredAction: !item[\"required_action\"]\n ? item[\"required_action\"]\n : requiredActionUnionDeserializer(item[\"required_action\"]),\n lastError: !item[\"last_error\"] ? item[\"last_error\"] : runErrorDeserializer(item[\"last_error\"]),\n model: item[\"model\"],\n instructions: item[\"instructions\"],\n tools: !item[\"tools\"] ? [] : toolDefinitionUnionArrayDeserializer(item[\"tools\"]),\n createdAt: new Date(item[\"created_at\"] * 1000),\n expiresAt: !item[\"expires_at\"] ? item[\"expires_at\"] : new Date(item[\"expires_at\"] * 1000),\n startedAt: !item[\"started_at\"] ? item[\"started_at\"] : new Date(item[\"started_at\"] * 1000),\n completedAt: !item[\"completed_at\"]\n ? item[\"completed_at\"]\n : new Date(item[\"completed_at\"] * 1000),\n cancelledAt: !item[\"cancelled_at\"]\n ? item[\"cancelled_at\"]\n : new Date(item[\"cancelled_at\"] * 1000),\n failedAt: !item[\"failed_at\"] ? item[\"failed_at\"] : new Date(item[\"failed_at\"] * 1000),\n incompleteDetails: !item[\"incomplete_details\"]\n ? item[\"incomplete_details\"]\n : incompleteRunDetailsDeserializer(item[\"incomplete_details\"]),\n usage: !item[\"usage\"] ? item[\"usage\"] : runCompletionUsageDeserializer(item[\"usage\"]),\n temperature: item[\"temperature\"],\n topP: item[\"top_p\"],\n maxPromptTokens: item[\"max_prompt_tokens\"],\n maxCompletionTokens: item[\"max_completion_tokens\"],\n truncationStrategy: !item[\"truncation_strategy\"]\n ? item[\"truncation_strategy\"]\n : truncationObjectDeserializer(item[\"truncation_strategy\"]),\n toolChoice: !item[\"tool_choice\"]\n ? item[\"tool_choice\"]\n : agentsToolChoiceOptionDeserializer(item[\"tool_choice\"]),\n responseFormat: !item[\"response_format\"]\n ? item[\"response_format\"]\n : agentsResponseFormatOptionDeserializer(item[\"response_format\"]),\n metadata: item[\"metadata\"],\n toolResources: !item[\"tool_resources\"]\n ? item[\"tool_resources\"]\n : toolResourcesDeserializer(item[\"tool_resources\"]),\n parallelToolCalls: item[\"parallel_tool_calls\"],\n };\n}\n\n/** Possible values for the status of an agent thread run. */\nexport type RunStatus =\n | \"queued\"\n | \"in_progress\"\n | \"requires_action\"\n | \"cancelling\"\n | \"cancelled\"\n | \"failed\"\n | \"completed\"\n | \"expired\";\n\n/** An abstract representation of a required action for an agent thread run to continue. */\nexport interface RequiredAction {\n /** The object type. */\n /** The discriminator possible values: submit_tool_outputs, submit_tool_approval */\n type: string;\n}\n\nexport function requiredActionDeserializer(item: any): RequiredAction {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for RequiredActionUnion */\nexport type RequiredActionUnion =\n | SubmitToolOutputsAction\n | SubmitToolApprovalAction\n | RequiredAction;\n\nexport function requiredActionUnionDeserializer(item: any): RequiredActionUnion {\n switch (item.type) {\n case \"submit_tool_outputs\":\n return submitToolOutputsActionDeserializer(item as SubmitToolOutputsAction);\n\n case \"submit_tool_approval\":\n return submitToolApprovalActionDeserializer(item as SubmitToolApprovalAction);\n\n default:\n return requiredActionDeserializer(item);\n }\n}\n\n/** The details for required tool calls that must be submitted for an agent thread run to continue. */\nexport interface SubmitToolOutputsAction extends RequiredAction {\n /** The object type, which is always 'submit_tool_outputs'. */\n type: \"submit_tool_outputs\";\n /** The details describing tools that should be called to submit tool outputs. */\n submitToolOutputs: SubmitToolOutputsDetails;\n}\n\nexport function submitToolOutputsActionDeserializer(item: any): SubmitToolOutputsAction {\n return {\n type: item[\"type\"],\n submitToolOutputs: submitToolOutputsDetailsDeserializer(item[\"submit_tool_outputs\"]),\n };\n}\n\n/** The details describing tools that should be called to submit tool outputs. */\nexport interface SubmitToolOutputsDetails {\n /** The list of tool calls that must be resolved for the agent thread run to continue. */\n toolCalls: RequiredToolCallUnion[];\n}\n\nexport function submitToolOutputsDetailsDeserializer(item: any): SubmitToolOutputsDetails {\n return {\n toolCalls: requiredToolCallUnionArrayDeserializer(item[\"tool_calls\"]),\n };\n}\n\nexport function requiredToolCallUnionArrayDeserializer(\n result: Array<RequiredToolCallUnion>,\n): any[] {\n return result.map((item) => {\n return requiredToolCallUnionDeserializer(item);\n });\n}\n\n/** An abstract representation of a tool invocation needed by the model to continue a run. */\nexport interface RequiredToolCall {\n /** The object type for the required tool call. */\n /** The discriminator possible values: function, mcp */\n type: string;\n /** The ID of the tool call. This ID must be referenced when submitting tool outputs. */\n id: string;\n}\n\nexport function requiredToolCallDeserializer(item: any): RequiredToolCall {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n };\n}\n\n/** Alias for RequiredToolCallUnion */\nexport type RequiredToolCallUnion =\n | RequiredFunctionToolCall\n | RequiredMcpToolCall\n | RequiredToolCall;\n\nexport function requiredToolCallUnionDeserializer(item: any): RequiredToolCallUnion {\n switch (item.type) {\n case \"function\":\n return requiredFunctionToolCallDeserializer(item as RequiredFunctionToolCall);\n\n case \"mcp\":\n return requiredMcpToolCallDeserializer(item as RequiredMcpToolCall);\n\n default:\n return requiredToolCallDeserializer(item);\n }\n}\n\n/** A representation of a requested call to a function tool, needed by the model to continue evaluation of a run. */\nexport interface RequiredFunctionToolCall extends RequiredToolCall {\n /** The object type of the required tool call. Always 'function' for function tools. */\n type: \"function\";\n /** Detailed information about the function to be executed by the tool that includes name and arguments. */\n function: RequiredFunctionToolCallDetails;\n}\n\nexport function requiredFunctionToolCallDeserializer(item: any): RequiredFunctionToolCall {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n function: requiredFunctionToolCallDetailsDeserializer(item[\"function\"]),\n };\n}\n\n/** The detailed information for a function invocation, as provided by a required action invoking a function tool, that includes the name of and arguments to the function. */\nexport interface RequiredFunctionToolCallDetails {\n /** The name of the function. */\n name: string;\n /** The arguments to use when invoking the named function, as provided by the model. Arguments are presented as a JSON document that should be validated and parsed for evaluation. */\n arguments: string;\n}\n\nexport function requiredFunctionToolCallDetailsDeserializer(\n item: any,\n): RequiredFunctionToolCallDetails {\n return {\n name: item[\"name\"],\n arguments: item[\"arguments\"],\n };\n}\n\n/** A representation of a requested call to a MCP tool, needed by the model to continue evaluation of a run. */\nexport interface RequiredMcpToolCall extends RequiredToolCall {\n /** The object type of the required tool call. Always 'mcp' for MCP tools. */\n type: \"mcp\";\n /** The arguments to use when invoking the mcp tool, as provided by the model. Arguments are presented as a JSON document that should be validated and parsed for evaluation. */\n arguments: string;\n /** The name of the function used on the MCP server. */\n name: string;\n /** The label of the MCP server. */\n serverLabel: string;\n}\n\nexport function requiredMcpToolCallDeserializer(item: any): RequiredMcpToolCall {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n arguments: item[\"arguments\"],\n name: item[\"name\"],\n serverLabel: item[\"server_label\"],\n };\n}\n\n/** The details for required tool call approval that must be submitted for an agent thread run to continue. */\nexport interface SubmitToolApprovalAction extends RequiredAction {\n /** The object type, which is always 'submit_tool_approval'. */\n type: \"submit_tool_approval\";\n /** The details describing tools that should be approved to continue run. */\n submitToolApproval: SubmitToolApprovalDetails;\n}\n\nexport function submitToolApprovalActionDeserializer(item: any): SubmitToolApprovalAction {\n return {\n type: item[\"type\"],\n submitToolApproval: submitToolApprovalDetailsDeserializer(item[\"submit_tool_approval\"]),\n };\n}\n\n/** The details describing tools that should be approved. */\nexport interface SubmitToolApprovalDetails {\n /** The list of tool calls that must be approved for the agent thread run to continue. */\n toolCalls: RequiredToolCallUnion[];\n}\n\nexport function submitToolApprovalDetailsDeserializer(item: any): SubmitToolApprovalDetails {\n return {\n toolCalls: requiredToolCallUnionArrayDeserializer(item[\"tool_calls\"]),\n };\n}\n\n/** The details of an error as encountered by an agent thread run. */\nexport interface RunError {\n /** The status for the error. */\n code: string;\n /** The human-readable text associated with the error. */\n message: string;\n}\n\nexport function runErrorDeserializer(item: any): RunError {\n return {\n code: item[\"code\"],\n message: item[\"message\"],\n };\n}\n\n/** Details on why the run is incomplete. Will be `null` if the run is not incomplete. */\nexport interface IncompleteRunDetails {\n /** The reason why the run is incomplete. This indicates which specific token limit was reached during the run. */\n reason: IncompleteDetailsReason;\n}\n\nexport function incompleteRunDetailsDeserializer(item: any): IncompleteRunDetails {\n return {\n reason: item[\"reason\"],\n };\n}\n\n/** The reason why the run is incomplete. This will point to which specific token limit was reached over the course of the run. */\nexport type IncompleteDetailsReason = \"max_completion_tokens\" | \"max_prompt_tokens\";\n\n/** Usage statistics related to the run. This value will be `null` if the run is not in a terminal state (i.e. `in_progress`, `queued`, etc.). */\nexport interface RunCompletionUsage {\n /** Number of completion tokens used over the course of the run. */\n completionTokens: number;\n /** Number of prompt tokens used over the course of the run. */\n promptTokens: number;\n /** Total number of tokens used (prompt + completion). */\n totalTokens: number;\n}\n\nexport function runCompletionUsageDeserializer(item: any): RunCompletionUsage {\n return {\n completionTokens: item[\"completion_tokens\"],\n promptTokens: item[\"prompt_tokens\"],\n totalTokens: item[\"total_tokens\"],\n };\n}\n\n/** Information about a single thread associated with an agent. */\nexport interface AgentThread {\n /** The identifier, which can be referenced in API endpoints. */\n id: string;\n /** The object type, which is always 'thread'. */\n object: \"thread\";\n /** The Unix timestamp, in seconds, representing when this object was created. */\n createdAt: Date;\n /**\n * A set of resources that are made available to the agent's tools in this thread. The resources are specific to the type\n * of tool. For example, the `code_interpreter` tool requires a list of file IDs, while the `file_search` tool requires a list\n * of vector store IDs.\n */\n toolResources: ToolResources | null;\n /** A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length. */\n metadata: Record<string, string> | null;\n}\n\nexport function agentThreadDeserializer(item: any): AgentThread {\n return {\n id: item[\"id\"],\n object: item[\"object\"],\n createdAt: new Date(item[\"created_at\"] * 1000),\n toolResources: !item[\"tool_resources\"]\n ? item[\"tool_resources\"]\n : toolResourcesDeserializer(item[\"tool_resources\"]),\n metadata: item[\"metadata\"],\n };\n}\n\n/** The response data for a requested list of items. */\nexport interface _AgentsPagedResultAgentThread {\n /** The requested list of items. */\n data: AgentThread[];\n /** The last ID represented in this list. */\n lastId?: string;\n /** A value indicating whether there are additional values available not captured in this list. */\n hasMore: boolean;\n}\n\nexport function _agentsPagedResultAgentThreadDeserializer(\n item: any,\n): _AgentsPagedResultAgentThread {\n return {\n data: agentThreadArrayDeserializer(item[\"data\"]),\n lastId: item[\"last_id\"],\n hasMore: item[\"has_more\"],\n };\n}\n\nexport function agentThreadArrayDeserializer(result: Array<AgentThread>): any[] {\n return result.map((item) => {\n return agentThreadDeserializer(item);\n });\n}\n\n/** The status of a thread deletion operation. */\nexport interface ThreadDeletionStatus {\n /** The ID of the resource specified for deletion. */\n id: string;\n /** A value indicating whether deletion was successful. */\n deleted: boolean;\n /** The object type, which is always 'thread.deleted'. */\n object: \"thread.deleted\";\n}\n\nexport function threadDeletionStatusDeserializer(item: any): ThreadDeletionStatus {\n return {\n id: item[\"id\"],\n deleted: item[\"deleted\"],\n object: item[\"object\"],\n };\n}\n\n/** A single, existing message within an agent thread. */\nexport interface ThreadMessage {\n /** The identifier, which can be referenced in API endpoints. */\n id: string;\n /** The object type, which is always 'thread.message'. */\n object: \"thread.message\";\n /** The Unix timestamp, in seconds, representing when this object was created. */\n createdAt: Date;\n /** The ID of the thread that this message belongs to. */\n threadId: string;\n /** The status of the message. */\n status: MessageStatus;\n /** On an incomplete message, details about why the message is incomplete. */\n incompleteDetails: MessageIncompleteDetails | null;\n /** The Unix timestamp (in seconds) for when the message was completed. */\n completedAt: Date | null;\n /** The Unix timestamp (in seconds) for when the message was marked as incomplete. */\n incompleteAt: Date | null;\n /** The role associated with the agent thread message. */\n role: MessageRole;\n /** The list of content items associated with the agent thread message. */\n content: MessageContentUnion[];\n /** If applicable, the ID of the agent that authored this message. */\n assistantId: string | null;\n /** If applicable, the ID of the run associated with the authoring of this message. */\n runId: string | null;\n /** A list of files attached to the message, and the tools they were added to. */\n attachments: MessageAttachment[] | null;\n /** A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length. */\n metadata: Record<string, string> | null;\n}\n\nexport function threadMessageDeserializer(item: any): ThreadMessage {\n return {\n id: item[\"id\"],\n object: item[\"object\"],\n createdAt: new Date(item[\"created_at\"] * 1000),\n threadId: item[\"thread_id\"],\n status: item[\"status\"],\n incompleteDetails: !item[\"incomplete_details\"]\n ? item[\"incomplete_details\"]\n : messageIncompleteDetailsDeserializer(item[\"incomplete_details\"]),\n completedAt: !item[\"completed_at\"]\n ? item[\"completed_at\"]\n : new Date(item[\"completed_at\"] * 1000),\n incompleteAt: !item[\"incomplete_at\"]\n ? item[\"incomplete_at\"]\n : new Date(item[\"incomplete_at\"] * 1000),\n role: item[\"role\"],\n content: messageContentUnionArrayDeserializer(item[\"content\"]),\n assistantId: item[\"assistant_id\"],\n runId: item[\"run_id\"],\n attachments: !item[\"attachments\"]\n ? item[\"attachments\"]\n : messageAttachmentArrayDeserializer(item[\"attachments\"]),\n metadata: item[\"metadata\"],\n };\n}\n\n/** The possible execution status values for a thread message. */\nexport type MessageStatus = \"in_progress\" | \"incomplete\" | \"completed\";\n\n/** Information providing additional detail about a message entering an incomplete status. */\nexport interface MessageIncompleteDetails {\n /** The provided reason describing why the message was marked as incomplete. */\n reason: MessageIncompleteDetailsReason;\n}\n\nexport function messageIncompleteDetailsDeserializer(item: any): MessageIncompleteDetails {\n return {\n reason: item[\"reason\"],\n };\n}\n\n/** A set of reasons describing why a message is marked as incomplete. */\nexport type MessageIncompleteDetailsReason =\n | \"content_filter\"\n | \"max_tokens\"\n | \"run_cancelled\"\n | \"run_failed\"\n | \"run_expired\";\n\nexport function messageContentUnionArrayDeserializer(result: Array<MessageContentUnion>): any[] {\n return result.map((item) => {\n return messageContentUnionDeserializer(item);\n });\n}\n\n/** An abstract representation of a single item of thread message content. */\nexport interface MessageContent {\n /** The object type. */\n /** The discriminator possible values: text, image_file */\n type: string;\n}\n\nexport function messageContentDeserializer(item: any): MessageContent {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for MessageContentUnion */\nexport type MessageContentUnion = MessageTextContent | MessageImageFileContent | MessageContent;\n\nexport function messageContentUnionDeserializer(item: any): MessageContentUnion {\n switch (item.type) {\n case \"text\":\n return messageTextContentDeserializer(item as MessageTextContent);\n\n case \"image_file\":\n return messageImageFileContentDeserializer(item as MessageImageFileContent);\n\n default:\n return messageContentDeserializer(item);\n }\n}\n\n/** A representation of a textual item of thread message content. */\nexport interface MessageTextContent extends MessageContent {\n /** The object type, which is always 'text'. */\n type: \"text\";\n /** The text and associated annotations for this thread message content item. */\n text: MessageTextDetails;\n}\n\nexport function messageTextContentDeserializer(item: any): MessageTextContent {\n return {\n type: item[\"type\"],\n text: messageTextDetailsDeserializer(item[\"text\"]),\n };\n}\n\n/** The text and associated annotations for a single item of agent thread message content. */\nexport interface MessageTextDetails {\n /** The text data. */\n value: string;\n /** A list of annotations associated with this text. */\n annotations: MessageTextAnnotationUnion[];\n}\n\nexport function messageTextDetailsDeserializer(item: any): MessageTextDetails {\n return {\n value: item[\"value\"],\n annotations: messageTextAnnotationUnionArrayDeserializer(item[\"annotations\"]),\n };\n}\n\nexport function messageTextAnnotationUnionArrayDeserializer(\n result: Array<MessageTextAnnotationUnion>,\n): any[] {\n return result.map((item) => {\n return messageTextAnnotationUnionDeserializer(item);\n });\n}\n\n/** An abstract representation of an annotation to text thread message content. */\nexport interface MessageTextAnnotation {\n /** The object type. */\n /** The discriminator possible values: url_citation, file_citation, file_path */\n type: string;\n /** The textual content associated with this text annotation item. */\n text: string;\n}\n\nexport function messageTextAnnotationDeserializer(item: any): MessageTextAnnotation {\n return {\n type: item[\"type\"],\n text: item[\"text\"],\n };\n}\n\n/** Alias for MessageTextAnnotationUnion */\nexport type MessageTextAnnotationUnion =\n | MessageTextUrlCitationAnnotation\n | MessageTextFileCitationAnnotation\n | MessageTextFilePathAnnotation\n | MessageTextAnnotation;\n\nexport function messageTextAnnotationUnionDeserializer(item: any): MessageTextAnnotationUnion {\n switch (item.type) {\n case \"url_citation\":\n return messageTextUrlCitationAnnotationDeserializer(item as MessageTextUrlCitationAnnotation);\n\n case \"file_citation\":\n return messageTextFileCitationAnnotationDeserializer(\n item as MessageTextFileCitationAnnotation,\n );\n\n case \"file_path\":\n return messageTextFilePathAnnotationDeserializer(item as MessageTextFilePathAnnotation);\n\n default:\n return messageTextAnnotationDeserializer(item);\n }\n}\n\n/** A citation within the message that points to a specific URL associated with the message. Generated when the agent uses tools such as 'bing_grounding' to search the Internet. */\nexport interface MessageTextUrlCitationAnnotation extends MessageTextAnnotation {\n /** The object type, which is always 'url_citation'. */\n type: \"url_citation\";\n /** The details of the URL citation. */\n urlCitation: MessageTextUrlCitationDetails;\n /** The first text index associated with this text annotation. */\n startIndex?: number;\n /** The last text index associated with this text annotation. */\n endIndex?: number;\n}\n\nexport function messageTextUrlCitationAnnotationDeserializer(\n item: any,\n): MessageTextUrlCitationAnnotation {\n return {\n type: item[\"type\"],\n text: item[\"text\"],\n urlCitation: messageTextUrlCitationDetailsDeserializer(item[\"url_citation\"]),\n startIndex: item[\"start_index\"],\n endIndex: item[\"end_index\"],\n };\n}\n\n/** A representation of a URL citation, as used in text thread message content. */\nexport interface MessageTextUrlCitationDetails {\n /** The URL associated with this citation. */\n url: string;\n /** The title of the URL. */\n title?: string;\n}\n\nexport function messageTextUrlCitationDetailsDeserializer(\n item: any,\n): MessageTextUrlCitationDetails {\n return {\n url: item[\"url\"],\n title: item[\"title\"],\n };\n}\n\n/** A citation within the message that points to a specific quote from a specific File associated with the agent or the message. Generated when the agent uses the 'file_search' tool to search files. */\nexport interface MessageTextFileCitationAnnotation extends MessageTextAnnotation {\n /** The object type, which is always 'file_citation'. */\n type: \"file_citation\";\n /**\n * A citation within the message that points to a specific quote from a specific file.\n * Generated when the agent uses the \"file_search\" tool to search files.\n */\n fileCitation: MessageTextFileCitationDetails;\n /** The first text index associated with this text annotation. */\n startIndex?: number;\n /** The last text index associated with this text annotation. */\n endIndex?: number;\n}\n\nexport function messageTextFileCitationAnnotationDeserializer(\n item: any,\n): MessageTextFileCitationAnnotation {\n return {\n type: item[\"type\"],\n text: item[\"text\"],\n fileCitation: messageTextFileCitationDetailsDeserializer(item[\"file_citation\"]),\n startIndex: item[\"start_index\"],\n endIndex: item[\"end_index\"],\n };\n}\n\n/** A representation of a file-based text citation, as used in a file-based annotation of text thread message content. */\nexport interface MessageTextFileCitationDetails {\n /** The ID of the file associated with this citation. */\n fileId: string;\n /** The specific quote cited in the associated file. */\n quote: string;\n}\n\nexport function messageTextFileCitationDetailsDeserializer(\n item: any,\n): MessageTextFileCitationDetails {\n return {\n fileId: item[\"file_id\"],\n quote: item[\"quote\"],\n };\n}\n\n/** A citation within the message that points to a file located at a specific path. */\nexport interface MessageTextFilePathAnnotation extends MessageTextAnnotation {\n /** The object type, which is always 'file_path'. */\n type: \"file_path\";\n /** A URL for the file that's generated when the agent used the code_interpreter tool to generate a file. */\n filePath: MessageTextFilePathDetails;\n /** The first text index associated with this text annotation. */\n startIndex?: number;\n /** The last text index associated with this text annotation. */\n endIndex?: number;\n}\n\nexport function messageTextFilePathAnnotationDeserializer(\n item: any,\n): MessageTextFilePathAnnotation {\n return {\n type: item[\"type\"],\n text: item[\"text\"],\n filePath: messageTextFilePathDetailsDeserializer(item[\"file_path\"]),\n startIndex: item[\"start_index\"],\n endIndex: item[\"end_index\"],\n };\n}\n\n/** An encapsulation of an image file ID, as used by message image content. */\nexport interface MessageTextFilePathDetails {\n /** The ID of the specific file that the citation is from. */\n fileId: string;\n}\n\nexport function messageTextFilePathDetailsDeserializer(item: any): MessageTextFilePathDetails {\n return {\n fileId: item[\"file_id\"],\n };\n}\n\n/** A representation of image file content in a thread message. */\nexport interface MessageImageFileContent extends MessageContent {\n /** The object type, which is always 'image_file'. */\n type: \"image_file\";\n /** The image file for this thread message content item. */\n imageFile: MessageImageFileDetails;\n}\n\nexport function messageImageFileContentDeserializer(item: any): MessageImageFileContent {\n return {\n type: item[\"type\"],\n imageFile: messageImageFileDetailsDeserializer(item[\"image_file\"]),\n };\n}\n\n/** An image reference, as represented in thread message content. */\nexport interface MessageImageFileDetails {\n /** The ID for the file associated with this image. */\n fileId: string;\n}\n\nexport function messageImageFileDetailsDeserializer(item: any): MessageImageFileDetails {\n return {\n fileId: item[\"file_id\"],\n };\n}\n\n/** The response data for a requested list of items. */\nexport interface _AgentsPagedResultThreadMessage {\n /** The requested list of items. */\n data: ThreadMessage[];\n /** The last ID represented in this list. */\n lastId?: string;\n /** A value indicating whether there are additional values available not captured in this list. */\n hasMore: boolean;\n}\n\nexport function _agentsPagedResultThreadMessageDeserializer(\n item: any,\n): _AgentsPagedResultThreadMessage {\n return {\n data: threadMessageArrayDeserializer(item[\"data\"]),\n lastId: item[\"last_id\"],\n hasMore: item[\"has_more\"],\n };\n}\n\nexport function threadMessageArrayDeserializer(result: Array<ThreadMessage>): any[] {\n return result.map((item) => {\n return threadMessageDeserializer(item);\n });\n}\n\n/** The status of a thread message deletion operation. */\nexport interface MessageDeletionStatus {\n /** The ID of the resource specified for deletion. */\n id: string;\n /** A value indicating whether deletion was successful. */\n deleted: boolean;\n /** The object type, which is always 'thread.message.deleted'. */\n object: \"thread.message.deleted\";\n}\n\nexport function messageDeletionStatusDeserializer(item: any): MessageDeletionStatus {\n return {\n id: item[\"id\"],\n deleted: item[\"deleted\"],\n object: item[\"object\"],\n };\n}\n\n/** The response data for a requested list of items. */\nexport interface _AgentsPagedResultThreadRun {\n /** The requested list of items. */\n data: ThreadRun[];\n /** The last ID represented in this list. */\n lastId?: string;\n /** A value indicating whether there are additional values available not captured in this list. */\n hasMore: boolean;\n}\n\nexport function _agentsPagedResultThreadRunDeserializer(item: any): _AgentsPagedResultThreadRun {\n return {\n data: threadRunArrayDeserializer(item[\"data\"]),\n lastId: item[\"last_id\"],\n hasMore: item[\"has_more\"],\n };\n}\n\nexport function threadRunArrayDeserializer(result: Array<ThreadRun>): any[] {\n return result.map((item) => {\n return threadRunDeserializer(item);\n });\n}\n\n/** The data provided during a tool outputs submission to resolve pending tool calls and allow the model to continue. */\nexport interface ToolOutput {\n /** The ID of the tool call being resolved, as provided in the tool calls of a required action from a run. */\n toolCallId?: string;\n /** The output from the tool to be submitted. */\n output?: string;\n}\n\nexport function toolOutputSerializer(item: ToolOutput): any {\n return { tool_call_id: item[\"toolCallId\"], output: item[\"output\"] };\n}\n\n/** The data provided during a tool outputs submission to resolve pending tool calls and allow the model to continue. */\nexport interface ToolApproval {\n /** The ID of the tool call being resolved, as provided in the tool calls of a required action from a run. */\n toolCallId: string;\n /** The approval boolean value to be submitted. */\n approve: boolean;\n /** Headers to be attached to the approval. */\n headers?: Record<string, string>;\n}\n\nexport function toolApprovalSerializer(item: ToolApproval): any {\n return {\n tool_call_id: item[\"toolCallId\"],\n approve: item[\"approve\"],\n headers: item[\"headers\"],\n };\n}\n\nexport function toolOutputArraySerializer(result: Array<ToolOutput>): any[] {\n return result.map((item) => {\n return toolOutputSerializer(item);\n });\n}\n\nexport function toolApprovalArraySerializer(result: Array<ToolApproval>): any[] {\n return result.map((item) => {\n return toolApprovalSerializer(item);\n });\n}\n\n/** Detailed information about a single step of an agent thread run. */\nexport interface RunStep {\n /** The identifier, which can be referenced in API endpoints. */\n id: string;\n /** The object type, which is always 'thread.run.step'. */\n object: \"thread.run.step\";\n /** The type of run step, which can be either message_creation or tool_calls. */\n type: RunStepType;\n /** The ID of the agent associated with the run step. */\n assistantId: string;\n /** The ID of the thread that was run. */\n threadId: string;\n /** The ID of the run that this run step is a part of. */\n runId: string;\n /** The status of this run step. */\n status: RunStepStatus;\n /** The details for this run step. */\n stepDetails: RunStepDetailsUnion;\n /** If applicable, information about the last error encountered by this run step. */\n lastError: RunStepError | null;\n /** The Unix timestamp, in seconds, representing when this object was created. */\n createdAt: Date;\n /** The Unix timestamp, in seconds, representing when this item expired. */\n expiredAt: Date | null;\n /** The Unix timestamp, in seconds, representing when this completed. */\n completedAt: Date | null;\n /** The Unix timestamp, in seconds, representing when this was cancelled. */\n cancelledAt: Date | null;\n /** The Unix timestamp, in seconds, representing when this failed. */\n failedAt: Date | null;\n /** Usage statistics related to the run step. This value will be `null` while the run step's status is `in_progress`. */\n usage?: RunStepCompletionUsage | null;\n /** A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length. */\n metadata: Record<string, string> | null;\n}\n\nexport function runStepDeserializer(item: any): RunStep {\n return {\n id: item[\"id\"],\n object: item[\"object\"],\n type: item[\"type\"],\n assistantId: item[\"assistant_id\"],\n threadId: item[\"thread_id\"],\n runId: item[\"run_id\"],\n status: item[\"status\"],\n stepDetails: runStepDetailsUnionDeserializer(item[\"step_details\"]),\n lastError: !item[\"last_error\"]\n ? item[\"last_error\"]\n : runStepErrorDeserializer(item[\"last_error\"]),\n createdAt: new Date(item[\"created_at\"] * 1000),\n expiredAt: !item[\"expired_at\"] ? item[\"expired_at\"] : new Date(item[\"expired_at\"] * 1000),\n completedAt: !item[\"completed_at\"]\n ? item[\"completed_at\"]\n : new Date(item[\"completed_at\"] * 1000),\n cancelledAt: !item[\"cancelled_at\"]\n ? item[\"cancelled_at\"]\n : new Date(item[\"cancelled_at\"] * 1000),\n failedAt: !item[\"failed_at\"] ? item[\"failed_at\"] : new Date(item[\"failed_at\"] * 1000),\n usage: !item[\"usage\"] ? item[\"usage\"] : runStepCompletionUsageDeserializer(item[\"usage\"]),\n metadata: item[\"metadata\"],\n };\n}\n\n/** The possible types of run steps. */\nexport type RunStepType = \"message_creation\" | \"tool_calls\" | \"activities\";\n/** Possible values for the status of a run step. */\nexport type RunStepStatus = \"in_progress\" | \"cancelled\" | \"failed\" | \"completed\" | \"expired\";\n\n/** An abstract representation of the details for a run step. */\nexport interface RunStepDetails {\n /** The object type. */\n /** The discriminator possible values: message_creation, tool_calls, activities */\n type: RunStepType;\n}\n\nexport function runStepDetailsDeserializer(item: any): RunStepDetails {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for RunStepDetailsUnion */\nexport type RunStepDetailsUnion =\n | RunStepMessageCreationDetails\n | RunStepToolCallDetails\n | RunStepActivityDetails\n | RunStepDetails;\n\nexport function runStepDetailsUnionDeserializer(item: any): RunStepDetailsUnion {\n switch (item.type) {\n case \"message_creation\":\n return runStepMessageCreationDetailsDeserializer(item as RunStepMessageCreationDetails);\n\n case \"tool_calls\":\n return runStepToolCallDetailsDeserializer(item as RunStepToolCallDetails);\n\n case \"activities\":\n return runStepActivityDetailsDeserializer(item as RunStepActivityDetails);\n\n default:\n return runStepDetailsDeserializer(item);\n }\n}\n\n/** The detailed information associated with a message creation run step. */\nexport interface RunStepMessageCreationDetails extends RunStepDetails {\n /** The object type, which is always 'message_creation'. */\n type: \"message_creation\";\n /** Information about the message creation associated with this run step. */\n messageCreation: RunStepMessageCreationReference;\n}\n\nexport function runStepMessageCreationDetailsDeserializer(\n item: any,\n): RunStepMessageCreationDetails {\n return {\n type: item[\"type\"],\n messageCreation: runStepMessageCreationReferenceDeserializer(item[\"message_creation\"]),\n };\n}\n\n/** The details of a message created as a part of a run step. */\nexport interface RunStepMessageCreationReference {\n /** The ID of the message created by this run step. */\n messageId: string;\n}\n\nexport function runStepMessageCreationReferenceDeserializer(\n item: any,\n): RunStepMessageCreationReference {\n return {\n messageId: item[\"message_id\"],\n };\n}\n\n/** The detailed information associated with a run step calling tools. */\nexport interface RunStepToolCallDetails extends RunStepDetails {\n /** The object type, which is always 'tool_calls'. */\n type: \"tool_calls\";\n /** A list of tool call details for this run step. */\n toolCalls: RunStepToolCallUnion[];\n}\n\nexport function runStepToolCallDetailsDeserializer(item: any): RunStepToolCallDetails {\n return {\n type: item[\"type\"],\n toolCalls: runStepToolCallUnionArrayDeserializer(item[\"tool_calls\"]),\n };\n}\n\nexport function runStepToolCallUnionArrayDeserializer(result: Array<RunStepToolCallUnion>): any[] {\n return result.map((item) => {\n return runStepToolCallUnionDeserializer(item);\n });\n}\n\n/** An abstract representation of a detailed tool call as recorded within a run step for an existing run. */\nexport interface RunStepToolCall {\n /** The object type. */\n /** The discriminator possible values: code_interpreter, file_search, bing_grounding, azure_ai_search, browser_automation, mcp, sharepoint_grounding, fabric_dataagent, bing_custom_search, azure_function, function, openapi, deep_research, connected_agent */\n type: string;\n /** The ID of the tool call. This ID must be referenced when you submit tool outputs. */\n id: string;\n}\n\nexport function runStepToolCallDeserializer(item: any): RunStepToolCall {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n };\n}\n\n/** Alias for RunStepToolCallUnion */\nexport type RunStepToolCallUnion =\n | RunStepCodeInterpreterToolCall\n | RunStepFileSearchToolCall\n | RunStepBingGroundingToolCall\n | RunStepAzureAISearchToolCall\n | RunStepBrowserAutomationToolCall\n | RunStepMcpToolCall\n | RunStepSharepointToolCall\n | RunStepMicrosoftFabricToolCall\n | RunStepBingCustomSearchToolCall\n | RunStepAzureFunctionToolCall\n | RunStepFunctionToolCall\n | RunStepOpenAPIToolCall\n | RunStepDeepResearchToolCall\n | RunStepConnectedAgentToolCall\n | RunStepToolCall;\n\nexport function runStepToolCallUnionDeserializer(item: any): RunStepToolCallUnion {\n switch (item.type) {\n case \"code_interpreter\":\n return runStepCodeInterpreterToolCallDeserializer(item as RunStepCodeInterpreterToolCall);\n\n case \"file_search\":\n return runStepFileSearchToolCallDeserializer(item as RunStepFileSearchToolCall);\n\n case \"bing_grounding\":\n return runStepBingGroundingToolCallDeserializer(item as RunStepBingGroundingToolCall);\n\n case \"azure_ai_search\":\n return runStepAzureAISearchToolCallDeserializer(item as RunStepAzureAISearchToolCall);\n\n case \"browser_automation\":\n return runStepBrowserAutomationToolCallDeserializer(item as RunStepBrowserAutomationToolCall);\n\n case \"mcp\":\n return runStepMcpToolCallDeserializer(item as RunStepMcpToolCall);\n\n case \"sharepoint_grounding\":\n return runStepSharepointToolCallDeserializer(item as RunStepSharepointToolCall);\n\n case \"fabric_dataagent\":\n return runStepMicrosoftFabricToolCallDeserializer(item as RunStepMicrosoftFabricToolCall);\n\n case \"bing_custom_search\":\n return runStepBingCustomSearchToolCallDeserializer(item as RunStepBingCustomSearchToolCall);\n\n case \"azure_function\":\n return runStepAzureFunctionToolCallDeserializer(item as RunStepAzureFunctionToolCall);\n\n case \"function\":\n return runStepFunctionToolCallDeserializer(item as RunStepFunctionToolCall);\n\n case \"openapi\":\n return runStepOpenAPIToolCallDeserializer(item as RunStepOpenAPIToolCall);\n\n case \"deep_research\":\n return runStepDeepResearchToolCallDeserializer(item as RunStepDeepResearchToolCall);\n\n case \"connected_agent\":\n return runStepConnectedAgentToolCallDeserializer(item as RunStepConnectedAgentToolCall);\n\n default:\n return runStepToolCallDeserializer(item);\n }\n}\n\n/**\n * A record of a call to a code interpreter tool, issued by the model in evaluation of a defined tool, that\n * represents inputs and outputs consumed and emitted by the code interpreter.\n */\nexport interface RunStepCodeInterpreterToolCall extends RunStepToolCall {\n /** The object type, which is always 'code_interpreter'. */\n type: \"code_interpreter\";\n /** The details of the tool call to the code interpreter tool. */\n codeInterpreter: RunStepCodeInterpreterToolCallDetails;\n}\n\nexport function runStepCodeInterpreterToolCallDeserializer(\n item: any,\n): RunStepCodeInterpreterToolCall {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n codeInterpreter: runStepCodeInterpreterToolCallDetailsDeserializer(item[\"code_interpreter\"]),\n };\n}\n\n/** The detailed information about a code interpreter invocation by the model. */\nexport interface RunStepCodeInterpreterToolCallDetails {\n /** The input provided by the model to the code interpreter tool. */\n input: string;\n /** The outputs produced by the code interpreter tool back to the model in response to the tool call. */\n outputs: RunStepCodeInterpreterToolCallOutputUnion[];\n}\n\nexport function runStepCodeInterpreterToolCallDetailsDeserializer(\n item: any,\n): RunStepCodeInterpreterToolCallDetails {\n return {\n input: item[\"input\"],\n outputs: runStepCodeInterpreterToolCallOutputUnionArrayDeserializer(item[\"outputs\"]),\n };\n}\n\nexport function runStepCodeInterpreterToolCallOutputUnionArrayDeserializer(\n result: Array<RunStepCodeInterpreterToolCallOutputUnion>,\n): any[] {\n return result.map((item) => {\n return runStepCodeInterpreterToolCallOutputUnionDeserializer(item);\n });\n}\n\n/** An abstract representation of an emitted output from a code interpreter tool. */\nexport interface RunStepCodeInterpreterToolCallOutput {\n /** The object type. */\n /** The discriminator possible values: logs, image */\n type: string;\n}\n\nexport function runStepCodeInterpreterToolCallOutputDeserializer(\n item: any,\n): RunStepCodeInterpreterToolCallOutput {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for RunStepCodeInterpreterToolCallOutputUnion */\nexport type RunStepCodeInterpreterToolCallOutputUnion =\n | RunStepCodeInterpreterLogOutput\n | RunStepCodeInterpreterImageOutput\n | RunStepCodeInterpreterToolCallOutput;\n\nexport function runStepCodeInterpreterToolCallOutputUnionDeserializer(\n item: any,\n): RunStepCodeInterpreterToolCallOutputUnion {\n switch (item.type) {\n case \"logs\":\n return runStepCodeInterpreterLogOutputDeserializer(item as RunStepCodeInterpreterLogOutput);\n\n case \"image\":\n return runStepCodeInterpreterImageOutputDeserializer(\n item as RunStepCodeInterpreterImageOutput,\n );\n\n default:\n return runStepCodeInterpreterToolCallOutputDeserializer(item);\n }\n}\n\n/** A representation of a log output emitted by a code interpreter tool in response to a tool call by the model. */\nexport interface RunStepCodeInterpreterLogOutput extends RunStepCodeInterpreterToolCallOutput {\n /** The object type, which is always 'logs'. */\n type: \"logs\";\n /** The serialized log output emitted by the code interpreter. */\n logs: string;\n}\n\nexport function runStepCodeInterpreterLogOutputDeserializer(\n item: any,\n): RunStepCodeInterpreterLogOutput {\n return {\n type: item[\"type\"],\n logs: item[\"logs\"],\n };\n}\n\n/** A representation of an image output emitted by a code interpreter tool in response to a tool call by the model. */\nexport interface RunStepCodeInterpreterImageOutput extends RunStepCodeInterpreterToolCallOutput {\n /** The object type, which is always 'image'. */\n type: \"image\";\n /** Referential information for the image associated with this output. */\n image: RunStepCodeInterpreterImageReference;\n}\n\nexport function runStepCodeInterpreterImageOutputDeserializer(\n item: any,\n): RunStepCodeInterpreterImageOutput {\n return {\n type: item[\"type\"],\n image: runStepCodeInterpreterImageReferenceDeserializer(item[\"image\"]),\n };\n}\n\n/** An image reference emitted by a code interpreter tool in response to a tool call by the model. */\nexport interface RunStepCodeInterpreterImageReference {\n /** The ID of the file associated with this image. */\n fileId: string;\n}\n\nexport function runStepCodeInterpreterImageReferenceDeserializer(\n item: any,\n): RunStepCodeInterpreterImageReference {\n return {\n fileId: item[\"file_id\"],\n };\n}\n\n/**\n * A record of a call to a file search tool, issued by the model in evaluation of a defined tool, that represents\n * executed file search.\n */\nexport interface RunStepFileSearchToolCall extends RunStepToolCall {\n /** The object type, which is always 'file_search'. */\n type: \"file_search\";\n /** The ID of the tool call. This ID must be referenced when you submit tool outputs. */\n id: string;\n /** For now, this is always going to be an empty object. */\n fileSearch: RunStepFileSearchToolCallResults;\n}\n\nexport function runStepFileSearchToolCallDeserializer(item: any): RunStepFileSearchToolCall {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n fileSearch: runStepFileSearchToolCallResultsDeserializer(item[\"file_search\"]),\n };\n}\n\n/** The results of the file search. */\nexport interface RunStepFileSearchToolCallResults {\n /** Ranking options for file search. */\n rankingOptions?: FileSearchRankingOptions;\n /** The array of a file search results */\n results: RunStepFileSearchToolCallResult[];\n}\n\nexport function runStepFileSearchToolCallResultsDeserializer(\n item: any,\n): RunStepFileSearchToolCallResults {\n return {\n rankingOptions: !item[\"ranking_options\"]\n ? item[\"ranking_options\"]\n : fileSearchRankingOptionsDeserializer(item[\"ranking_options\"]),\n results: runStepFileSearchToolCallResultArrayDeserializer(item[\"results\"]),\n };\n}\n\nexport function runStepFileSearchToolCallResultArrayDeserializer(\n result: Array<RunStepFileSearchToolCallResult>,\n): any[] {\n return result.map((item) => {\n return runStepFileSearchToolCallResultDeserializer(item);\n });\n}\n\n/** File search tool call result. */\nexport interface RunStepFileSearchToolCallResult {\n /** The ID of the file that result was found in. */\n fileId: string;\n /** The name of the file that result was found in. */\n fileName: string;\n /** The score of the result. All values must be a floating point number between 0 and 1. */\n score: number;\n /** The content of the result that was found. The content is only included if requested via the include query parameter. */\n content?: FileSearchToolCallContent[];\n}\n\nexport function runStepFileSearchToolCallResultDeserializer(\n item: any,\n): RunStepFileSearchToolCallResult {\n return {\n fileId: item[\"file_id\"],\n fileName: item[\"file_name\"],\n score: item[\"score\"],\n content: !item[\"content\"]\n ? item[\"content\"]\n : fileSearchToolCallContentArrayDeserializer(item[\"content\"]),\n };\n}\n\nexport function fileSearchToolCallContentArrayDeserializer(\n result: Array<FileSearchToolCallContent>,\n): any[] {\n return result.map((item) => {\n return fileSearchToolCallContentDeserializer(item);\n });\n}\n\n/** The file search result content object. */\nexport interface FileSearchToolCallContent {\n /** The type of the content. */\n type: \"text\";\n /** The text content of the file. */\n text: string;\n}\n\nexport function fileSearchToolCallContentDeserializer(item: any): FileSearchToolCallContent {\n return {\n type: item[\"type\"],\n text: item[\"text\"],\n };\n}\n\n/**\n * A record of a call to a bing grounding tool, issued by the model in evaluation of a defined tool, that represents\n * executed search with bing grounding.\n */\nexport interface RunStepBingGroundingToolCall extends RunStepToolCall {\n /** The object type, which is always 'bing_grounding'. */\n type: \"bing_grounding\";\n /** The dictionary with request and response from Bing Grounding search tool. */\n bingGrounding: Record<string, string>;\n}\n\nexport function runStepBingGroundingToolCallDeserializer(item: any): RunStepBingGroundingToolCall {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n bingGrounding: item[\"bing_grounding\"],\n };\n}\n\n/**\n * A record of a call to an Azure AI Search tool, issued by the model in evaluation of a defined tool, that represents\n * executed Azure AI search.\n */\nexport interface RunStepAzureAISearchToolCall extends RunStepToolCall {\n /** The object type, which is always 'azure_ai_search'. */\n type: \"azure_ai_search\";\n /** Reserved for future use. */\n azureAISearch: Record<string, string>;\n}\n\nexport function runStepAzureAISearchToolCallDeserializer(item: any): RunStepAzureAISearchToolCall {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n azureAISearch: item[\"azure_ai_search\"],\n };\n}\n\n/** A record of a call to a Browser Automation tool issued by the Agent. */\nexport interface RunStepBrowserAutomationToolCall extends RunStepToolCall {\n /** The object type, which is always 'browser_automation'. */\n type: \"browser_automation\";\n /** Details of the browser automation tool call. */\n browserAutomation: BrowserAutomationToolCallDetails;\n}\n\nexport function runStepBrowserAutomationToolCallDeserializer(\n item: any,\n): RunStepBrowserAutomationToolCall {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n browserAutomation: browserAutomationToolCallDetailsDeserializer(item[\"browser_automation\"]),\n };\n}\n\n/** Details of a Browser Automation tool call. */\nexport interface BrowserAutomationToolCallDetails {\n /** The input provided to the Browser Automation tool. */\n input: string;\n /** The output returned by the Browser Automation tool. */\n output: string;\n /** The steps the Browser Automation tool executed. */\n steps: BrowserAutomationToolCallStep[];\n}\n\nexport function browserAutomationToolCallDetailsDeserializer(\n item: any,\n): BrowserAutomationToolCallDetails {\n return {\n input: item[\"input\"],\n output: item[\"output\"],\n steps: browserAutomationToolCallStepArrayDeserializer(item[\"steps\"]),\n };\n}\n\nexport function browserAutomationToolCallStepArrayDeserializer(\n result: Array<BrowserAutomationToolCallStep>,\n): any[] {\n return result.map((item) => {\n return browserAutomationToolCallStepDeserializer(item);\n });\n}\n\n/** Describes a single step of a Browser Automation tool execution. */\nexport interface BrowserAutomationToolCallStep {\n /** The result of the last step executed with the Browser. */\n lastStepResult: string;\n /** The current state of execution with the Browser. */\n currentState: string;\n /** The next step to execute with the Browser. */\n nextStep: string;\n}\n\nexport function browserAutomationToolCallStepDeserializer(\n item: any,\n): BrowserAutomationToolCallStep {\n return {\n lastStepResult: item[\"last_step_result\"],\n currentState: item[\"current_state\"],\n nextStep: item[\"next_step\"],\n };\n}\n\n/**\n * A record of a call to a MCP tool, issued by the model in evaluation of a defined tool, that represents\n * executed MCP actions.\n */\nexport interface RunStepMcpToolCall extends RunStepToolCall {\n /** The object type, which is always 'mcp'. */\n type: \"mcp\";\n /** Arguments to the MCP tool call, as provided by the model. Arguments are presented as a JSON document that should be validated and parsed for evaluation. */\n arguments: string;\n /** Name of the function used on the MCP server. */\n name: string;\n /** Output of the MCP tool call. */\n output: string;\n /** The label for the MCP server */\n serverLabel?: string;\n}\n\nexport function runStepMcpToolCallDeserializer(item: any): RunStepMcpToolCall {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n arguments: item[\"arguments\"],\n name: item[\"name\"],\n output: item[\"output\"],\n serverLabel: item[\"server_label\"],\n };\n}\n\n/**\n * A record of a call to a SharePoint tool, issued by the model in evaluation of a defined tool, that represents\n * executed SharePoint actions.\n */\nexport interface RunStepSharepointToolCall extends RunStepToolCall {\n /** The object type, which is always 'sharepoint_grounding'. */\n type: \"sharepoint_grounding\";\n /** SharePoint tool input and output. */\n sharePoint: Record<string, string>;\n}\n\nexport function runStepSharepointToolCallDeserializer(item: any): RunStepSharepointToolCall {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n sharePoint: item[\"sharepoint_grounding\"],\n };\n}\n\n/**\n * A record of a call to a Microsoft Fabric tool, issued by the model in evaluation of a defined tool, that represents\n * executed Microsoft Fabric operations.\n */\nexport interface RunStepMicrosoftFabricToolCall extends RunStepToolCall {\n /** The object type, which is always 'fabric_dataagent'. */\n type: \"fabric_dataagent\";\n /** Fabric input and output. */\n microsoftFabric: Record<string, string>;\n}\n\nexport function runStepMicrosoftFabricToolCallDeserializer(\n item: any,\n): RunStepMicrosoftFabricToolCall {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n microsoftFabric: item[\"fabric_dataagent\"],\n };\n}\n\n/**\n * A record of a call to a Bing Custom Search tool, issued by the model in evaluation of a defined tool, that represents\n * executed search with Bing Custom Search.\n */\nexport interface RunStepBingCustomSearchToolCall extends RunStepToolCall {\n /** The object type, which is always 'bing_custom_search'. */\n type: \"bing_custom_search\";\n /** The dictionary with request and response from Bing Custom Search tool. */\n bingCustomSearch: Record<string, string>;\n}\n\nexport function runStepBingCustomSearchToolCallDeserializer(\n item: any,\n): RunStepBingCustomSearchToolCall {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n bingCustomSearch: item[\"bing_custom_search\"],\n };\n}\n\n/** A record of a call to an Azure Function tool. */\nexport interface RunStepAzureFunctionToolCall extends RunStepToolCall {\n /** The object type, which is always 'azure_function'. */\n type: \"azure_function\";\n /** The description of an Azure function call. */\n azureFunction: AzureFunctionToolCallDetails;\n}\n\nexport function runStepAzureFunctionToolCallDeserializer(item: any): RunStepAzureFunctionToolCall {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n azureFunction: azureFunctionToolCallDetailsDeserializer(item[\"azure_function\"]),\n };\n}\n\n/**\n * The Azure function call description. All the fields are present in the completed run step, however\n * only some fields are present in the RunStepDeltaAzureFunctionToolCall.\n */\nexport interface AzureFunctionToolCallDetails {\n /** The Azure function name */\n name?: string;\n /** JSON serialized function arguments. */\n arguments?: string;\n /** The function output. */\n output?: string;\n}\n\nexport function azureFunctionToolCallDetailsDeserializer(item: any): AzureFunctionToolCallDetails {\n return {\n name: item[\"name\"],\n arguments: item[\"arguments\"],\n output: item[\"output\"],\n };\n}\n\n/**\n * A record of a call to a function tool, issued by the model in evaluation of a defined tool, that represents the inputs\n * and output consumed and emitted by the specified function.\n */\nexport interface RunStepFunctionToolCall extends RunStepToolCall {\n /** The object type, which is always 'function'. */\n type: \"function\";\n /** The detailed information about the function called by the model. */\n function: RunStepFunctionToolCallDetails;\n}\n\nexport function runStepFunctionToolCallDeserializer(item: any): RunStepFunctionToolCall {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n function: runStepFunctionToolCallDetailsDeserializer(item[\"function\"]),\n };\n}\n\n/** The detailed information about the function called by the model. */\nexport interface RunStepFunctionToolCallDetails {\n /** The name of the function. */\n name: string;\n /** The arguments that the model requires are provided to the named function. */\n arguments: string;\n}\n\nexport function runStepFunctionToolCallDetailsDeserializer(\n item: any,\n): RunStepFunctionToolCallDetails {\n return {\n name: item[\"name\"],\n arguments: item[\"arguments\"],\n };\n}\n\n/**\n * A record of a call to an OpenAPI tool, issued by the model in evaluation of a defined tool, that represents\n * executed OpenAPI operations.\n */\nexport interface RunStepOpenAPIToolCall extends RunStepToolCall {\n /** The object type, which is always 'openapi'. */\n type: \"openapi\";\n /** Reserved for future use. */\n openAPI: Record<string, string>;\n}\n\nexport function runStepOpenAPIToolCallDeserializer(item: any): RunStepOpenAPIToolCall {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n openAPI: item[\"openapi\"],\n };\n}\n\n/**\n * A record of a call to a Deep Research tool, issued by the model in evaluation of a defined tool, that represents\n * executed deep research operations.\n */\nexport interface RunStepDeepResearchToolCall extends RunStepToolCall {\n /** The object type, which is always 'deep_research'. */\n type: \"deep_research\";\n /** The detailed information about the automated browser tasks performed by the model. */\n deepResearch: RunStepDeepResearchToolCallDetails;\n}\n\nexport function runStepDeepResearchToolCallDeserializer(item: any): RunStepDeepResearchToolCall {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n deepResearch: runStepDeepResearchToolCallDetailsDeserializer(item[\"deep_research\"]),\n };\n}\n\n/** The detailed information about the deep research tasks performed by the model. */\nexport interface RunStepDeepResearchToolCallDetails {\n /** The input provided by the model to the deep research tool. */\n input: string;\n /** The final output for the deep research tool. */\n output?: string;\n}\n\nexport function runStepDeepResearchToolCallDetailsDeserializer(\n item: any,\n): RunStepDeepResearchToolCallDetails {\n return {\n input: item[\"input\"],\n output: item[\"output\"],\n };\n}\n\n/** A record of a call to the connected agent. */\nexport interface RunStepConnectedAgentToolCall extends RunStepToolCall {\n /** The object type, which is always 'connected_agent'. */\n type: \"connected_agent\";\n /** The connected agent step information. */\n connectedAgent: RunStepConnectedAgent;\n}\n\nexport function runStepConnectedAgentToolCallDeserializer(\n item: any,\n): RunStepConnectedAgentToolCall {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n connectedAgent: runStepConnectedAgentDeserializer(item[\"connected_agent\"]),\n };\n}\n\n/** The detailed information about connected agent tool call. */\nexport interface RunStepConnectedAgent {\n /** The name of connected agent. */\n name?: string;\n /** The JSON serialized query to the connected agent. */\n arguments?: string;\n /** The tool output. */\n output?: string;\n /** The run ID used by the connected agent. */\n runId?: string;\n /** The thread ID used by the connected agent. */\n threadId?: string;\n /** The ID of a connected agent. */\n agentId?: string;\n}\n\nexport function runStepConnectedAgentDeserializer(item: any): RunStepConnectedAgent {\n return {\n name: item[\"name\"],\n arguments: item[\"arguments\"],\n output: item[\"output\"],\n runId: item[\"run_id\"],\n threadId: item[\"thread_id\"],\n agentId: item[\"assistant_id\"],\n };\n}\n\n/** The detailed information associated with a run step activities. */\nexport interface RunStepActivityDetails extends RunStepDetails {\n /** The object type, which is always 'activities'. */\n type: \"activities\";\n /** A list of activities for this run step. */\n activities: RunStepDetailsActivity[];\n}\n\nexport function runStepActivityDetailsDeserializer(item: any): RunStepActivityDetails {\n return {\n type: item[\"type\"],\n activities: runStepDetailsActivityArrayDeserializer(item[\"activities\"]),\n };\n}\n\nexport function runStepDetailsActivityArrayDeserializer(\n result: Array<RunStepDetailsActivity>,\n): any[] {\n return result.map((item) => {\n return runStepDetailsActivityDeserializer(item);\n });\n}\n\n/** Represents the list of activities, associated with the given step. */\nexport interface RunStepDetailsActivity {\n /** The activity type, which is always 'mcp_list_tools'. */\n type: \"mcp_list_tools\";\n /** The activity ID. */\n id: string;\n /** Server label. */\n serverLabel: string;\n /** The supported function list. */\n tools: Record<string, ActivityFunctionDefinition>;\n}\n\nexport function runStepDetailsActivityDeserializer(item: any): RunStepDetailsActivity {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n serverLabel: item[\"server_label\"],\n tools: activityFunctionDefinitionRecordDeserializer(item[\"tools\"]),\n };\n}\n\nexport function activityFunctionDefinitionRecordDeserializer(\n item: Record<string, any>,\n): Record<string, ActivityFunctionDefinition> {\n const result: Record<string, any> = {};\n Object.keys(item).map((key) => {\n result[key] = !item[key] ? item[key] : activityFunctionDefinitionDeserializer(item[key]);\n });\n return result;\n}\n\n/** The activity definition information for a function. */\nexport interface ActivityFunctionDefinition {\n /** A description of what the function does, used by the model to choose when and how to call the function. */\n description?: string;\n /** The parameters the functions accepts, described as a JSON Schema object. */\n parameters: ActivityFunctionParameters;\n}\n\nexport function activityFunctionDefinitionDeserializer(item: any): ActivityFunctionDefinition {\n return {\n description: item[\"description\"],\n parameters: activityFunctionParametersDeserializer(item[\"parameters\"]),\n };\n}\n\n/** The parameters used for activity function definition. */\nexport interface ActivityFunctionParameters {\n /** The parameter type, it is always object. */\n type: \"object\";\n /** The dictionary of function arguments. */\n properties: Record<string, FunctionArgument>;\n /** The list of the required parameters. */\n required: string[];\n /** If true the function has additional parameters. */\n additionalProperties?: boolean;\n}\n\nexport function activityFunctionParametersDeserializer(item: any): ActivityFunctionParameters {\n return {\n type: item[\"type\"],\n properties: functionArgumentRecordDeserializer(item[\"properties\"]),\n required: item[\"required\"].map((p: any) => {\n return p;\n }),\n additionalProperties: item[\"additionalProperties\"],\n };\n}\n\nexport function functionArgumentRecordDeserializer(\n item: Record<string, any>,\n): Record<string, FunctionArgument> {\n const result: Record<string, any> = {};\n Object.keys(item).map((key) => {\n result[key] = !item[key] ? item[key] : functionArgumentDeserializer(item[key]);\n });\n return result;\n}\n\n/** The function argument and description. */\nexport interface FunctionArgument {\n /** The type of an argument, for example 'string' or 'number'. */\n type: string;\n /** The argument description. */\n description?: string;\n}\n\nexport function functionArgumentDeserializer(item: any): FunctionArgument {\n return {\n type: item[\"type\"],\n description: item[\"description\"],\n };\n}\n\n/** The error information associated with a failed run step. */\nexport interface RunStepError {\n /** The error code for this error. */\n code: RunStepErrorCode;\n /** The human-readable text associated with this error. */\n message: string;\n}\n\nexport function runStepErrorDeserializer(item: any): RunStepError {\n return {\n code: item[\"code\"],\n message: item[\"message\"],\n };\n}\n\n/** Possible error code values attributable to a failed run step. */\nexport type RunStepErrorCode = \"server_error\" | \"rate_limit_exceeded\";\n\n/** Usage statistics related to the run step. */\nexport interface RunStepCompletionUsage {\n /** Number of completion tokens used over the course of the run step. */\n completionTokens: number;\n /** Number of prompt tokens used over the course of the run step. */\n promptTokens: number;\n /** Total number of tokens used (prompt + completion). */\n totalTokens: number;\n}\n\nexport function runStepCompletionUsageDeserializer(item: any): RunStepCompletionUsage {\n return {\n completionTokens: item[\"completion_tokens\"],\n promptTokens: item[\"prompt_tokens\"],\n totalTokens: item[\"total_tokens\"],\n };\n}\n\n/** The response data for a requested list of items. */\nexport interface _AgentsPagedResultRunStep {\n /** The requested list of items. */\n data: RunStep[];\n /** The last ID represented in this list. */\n lastId?: string;\n /** A value indicating whether there are additional values available not captured in this list. */\n hasMore: boolean;\n}\n\nexport function _agentsPagedResultRunStepDeserializer(item: any): _AgentsPagedResultRunStep {\n return {\n data: runStepArrayDeserializer(item[\"data\"]),\n lastId: item[\"last_id\"],\n hasMore: item[\"has_more\"],\n };\n}\n\nexport function runStepArrayDeserializer(result: Array<RunStep>): any[] {\n return result.map((item) => {\n return runStepDeserializer(item);\n });\n}\n\n/** The response data from a file list operation. */\nexport interface FileListResponse {\n /** The object type, which is always 'list'. */\n object: \"list\";\n /** The files returned for the request. */\n data: FileInfo[];\n}\n\nexport function fileListResponseDeserializer(item: any): FileListResponse {\n return {\n object: item[\"object\"],\n data: fileInfoArrayDeserializer(item[\"data\"]),\n };\n}\n\nexport function fileInfoArrayDeserializer(result: Array<FileInfo>): any[] {\n return result.map((item) => {\n return fileInfoDeserializer(item);\n });\n}\n\n/** Represents an agent that can call the model and use tools. */\nexport interface FileInfo {\n /** The object type, which is always 'file'. */\n object: \"file\";\n /** The identifier, which can be referenced in API endpoints. */\n id: string;\n /** The size of the file, in bytes. */\n bytes: number;\n /** The name of the file. */\n filename: string;\n /** The Unix timestamp, in seconds, representing when this object was created. */\n createdAt: Date;\n /** The intended purpose of a file. */\n purpose: FilePurpose;\n /** The state of the file. This field is available in Azure OpenAI only. */\n status?: FileState;\n /** The error message with details in case processing of this file failed. This field is available in Azure OpenAI only. */\n statusDetails?: string;\n}\n\nexport function fileInfoDeserializer(item: any): FileInfo {\n return {\n object: item[\"object\"],\n id: item[\"id\"],\n bytes: item[\"bytes\"],\n filename: item[\"filename\"],\n createdAt: new Date(item[\"created_at\"] * 1000),\n purpose: item[\"purpose\"],\n status: item[\"status\"],\n statusDetails: item[\"status_details\"],\n };\n}\n\n/** The possible values denoting the intended usage of a file. */\nexport type FilePurpose = \"assistants\" | \"assistants_output\" | \"vision\";\n/** The state of the file. */\nexport type FileState =\n | \"uploaded\"\n | \"pending\"\n | \"running\"\n | \"processed\"\n | \"error\"\n | \"deleting\"\n | \"deleted\";\n\n/** model interface _UploadFileRequest */\nexport interface _UploadFileRequest {\n /** The file data, in bytes. */\n file: FileContents | { contents: FileContents; contentType?: string; filename?: string };\n /** The intended purpose of the uploaded file. Use `assistants` for Agents and Message files, `vision` for Agents image file inputs, `batch` for Batch API, and `fine-tune` for Fine-tuning. */\n purpose: FilePurpose;\n /** The name of the file. */\n filename?: string;\n}\n\nexport function _uploadFileRequestSerializer(item: _UploadFileRequest): any {\n const filePart = createFilePartDescriptor(\"file\", item[\"file\"], \"application/octet-stream\");\n if (!filePart.filename) {\n filePart.filename = item[\"filename\"];\n }\n return [filePart, { name: \"purpose\", body: item[\"purpose\"] }];\n}\n\n/** A status response from a file deletion operation. */\nexport interface FileDeletionStatus {\n /** The ID of the resource specified for deletion. */\n id: string;\n /** A value indicating whether deletion was successful. */\n deleted: boolean;\n /** The object type, which is always 'file'. */\n object: \"file\";\n}\n\nexport function fileDeletionStatusDeserializer(item: any): FileDeletionStatus {\n return {\n id: item[\"id\"],\n deleted: item[\"deleted\"],\n object: item[\"object\"],\n };\n}\n\n/** The response data for a requested list of items. */\nexport interface _AgentsPagedResultVectorStore {\n /** The requested list of items. */\n data: VectorStore[];\n /** The last ID represented in this list. */\n lastId?: string;\n /** A value indicating whether there are additional values available not captured in this list. */\n hasMore: boolean;\n}\n\nexport function _agentsPagedResultVectorStoreDeserializer(\n item: any,\n): _AgentsPagedResultVectorStore {\n return {\n data: vectorStoreArrayDeserializer(item[\"data\"]),\n lastId: item[\"last_id\"],\n hasMore: item[\"has_more\"],\n };\n}\n\nexport function vectorStoreArrayDeserializer(result: Array<VectorStore>): any[] {\n return result.map((item) => {\n return vectorStoreDeserializer(item);\n });\n}\n\n/** A vector store is a collection of processed files can be used by the `file_search` tool. */\nexport interface VectorStore {\n /** The identifier, which can be referenced in API endpoints. */\n id: string;\n /** The object type, which is always `vector_store` */\n object: \"vector_store\";\n /** The Unix timestamp (in seconds) for when the vector store was created. */\n createdAt: Date;\n /** The name of the vector store. */\n name: string;\n /** The total number of bytes used by the files in the vector store. */\n usageBytes: number;\n /** Files count grouped by status processed or being processed by this vector store. */\n fileCounts: VectorStoreFileCount;\n /** The status of the vector store, which can be either `expired`, `in_progress`, or `completed`. A status of `completed` indicates that the vector store is ready for use. */\n status: VectorStoreStatus;\n /** Details on when this vector store expires */\n expiresAfter?: VectorStoreExpirationPolicy;\n /** The Unix timestamp (in seconds) for when the vector store will expire. */\n expiresAt?: Date | null;\n /** The Unix timestamp (in seconds) for when the vector store was last active. */\n lastActiveAt: Date | null;\n /** A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length. */\n metadata: Record<string, string> | null;\n}\n\nexport function vectorStoreDeserializer(item: any): VectorStore {\n return {\n id: item[\"id\"],\n object: item[\"object\"],\n createdAt: new Date(item[\"created_at\"] * 1000),\n name: item[\"name\"],\n usageBytes: item[\"usage_bytes\"],\n fileCounts: vectorStoreFileCountDeserializer(item[\"file_counts\"]),\n status: item[\"status\"],\n expiresAfter: !item[\"expires_after\"]\n ? item[\"expires_after\"]\n : vectorStoreExpirationPolicyDeserializer(item[\"expires_after\"]),\n expiresAt: !item[\"expires_at\"] ? item[\"expires_at\"] : new Date(item[\"expires_at\"] * 1000),\n lastActiveAt: !item[\"last_active_at\"]\n ? item[\"last_active_at\"]\n : new Date(item[\"last_active_at\"] * 1000),\n metadata: item[\"metadata\"],\n };\n}\n\n/** Counts of files processed or being processed by this vector store grouped by status. */\nexport interface VectorStoreFileCount {\n /** The number of files that are currently being processed. */\n inProgress: number;\n /** The number of files that have been successfully processed. */\n completed: number;\n /** The number of files that have failed to process. */\n failed: number;\n /** The number of files that were cancelled. */\n cancelled: number;\n /** The total number of files. */\n total: number;\n}\n\nexport function vectorStoreFileCountDeserializer(item: any): VectorStoreFileCount {\n return {\n inProgress: item[\"in_progress\"],\n completed: item[\"completed\"],\n failed: item[\"failed\"],\n cancelled: item[\"cancelled\"],\n total: item[\"total\"],\n };\n}\n\n/** Vector store possible status */\nexport type VectorStoreStatus = \"expired\" | \"in_progress\" | \"completed\";\n\n/** The expiration policy for a vector store. */\nexport interface VectorStoreExpirationPolicy {\n /** Anchor timestamp after which the expiration policy applies. Supported anchors: `last_active_at`. */\n anchor: VectorStoreExpirationPolicyAnchor;\n /** The anchor timestamp after which the expiration policy applies. */\n days: number;\n}\n\nexport function vectorStoreExpirationPolicySerializer(item: VectorStoreExpirationPolicy): any {\n return { anchor: item[\"anchor\"], days: item[\"days\"] };\n}\n\nexport function vectorStoreExpirationPolicyDeserializer(item: any): VectorStoreExpirationPolicy {\n return {\n anchor: item[\"anchor\"],\n days: item[\"days\"],\n };\n}\n\n/** Describes the relationship between the days and the expiration of this vector store */\nexport type VectorStoreExpirationPolicyAnchor = \"last_active_at\";\n\n/** An abstract representation of a vector store chunking strategy configuration. */\nexport interface VectorStoreChunkingStrategyRequest {\n /** The object type. */\n /** The discriminator possible values: auto, static */\n type: VectorStoreChunkingStrategyRequestType;\n}\n\nexport function vectorStoreChunkingStrategyRequestSerializer(\n item: VectorStoreChunkingStrategyRequest,\n): any {\n return { type: item[\"type\"] };\n}\n\n/** Alias for VectorStoreChunkingStrategyRequestUnion */\nexport type VectorStoreChunkingStrategyRequestUnion =\n | VectorStoreAutoChunkingStrategyRequest\n | VectorStoreStaticChunkingStrategyRequest\n | VectorStoreChunkingStrategyRequest;\n\nexport function vectorStoreChunkingStrategyRequestUnionSerializer(\n item: VectorStoreChunkingStrategyRequestUnion,\n): any {\n switch (item.type) {\n case \"auto\":\n return vectorStoreAutoChunkingStrategyRequestSerializer(\n item as VectorStoreAutoChunkingStrategyRequest,\n );\n\n case \"static\":\n return vectorStoreStaticChunkingStrategyRequestSerializer(\n item as VectorStoreStaticChunkingStrategyRequest,\n );\n\n default:\n return vectorStoreChunkingStrategyRequestSerializer(item);\n }\n}\n\n/** Type of chunking strategy */\nexport type VectorStoreChunkingStrategyRequestType = \"auto\" | \"static\";\n\n/** The default strategy. This strategy currently uses a max_chunk_size_tokens of 800 and chunk_overlap_tokens of 400. */\nexport interface VectorStoreAutoChunkingStrategyRequest extends VectorStoreChunkingStrategyRequest {\n /** The object type, which is always 'auto'. */\n type: \"auto\";\n}\n\nexport function vectorStoreAutoChunkingStrategyRequestSerializer(\n item: VectorStoreAutoChunkingStrategyRequest,\n): any {\n return { type: item[\"type\"] };\n}\n\n/** A statically configured chunking strategy. */\nexport interface VectorStoreStaticChunkingStrategyRequest\n extends VectorStoreChunkingStrategyRequest {\n /** The object type, which is always 'static'. */\n type: \"static\";\n /** The options for the static chunking strategy. */\n static: VectorStoreStaticChunkingStrategyOptions;\n}\n\nexport function vectorStoreStaticChunkingStrategyRequestSerializer(\n item: VectorStoreStaticChunkingStrategyRequest,\n): any {\n return {\n type: item[\"type\"],\n static: vectorStoreStaticChunkingStrategyOptionsSerializer(item[\"static\"]),\n };\n}\n\n/** Options to configure a vector store static chunking strategy. */\nexport interface VectorStoreStaticChunkingStrategyOptions {\n /** The maximum number of tokens in each chunk. The default value is 800. The minimum value is 100 and the maximum value is 4096. */\n maxChunkSizeTokens: number;\n /**\n * The number of tokens that overlap between chunks. The default value is 400.\n * Note that the overlap must not exceed half of max_chunk_size_tokens.\n */\n chunkOverlapTokens: number;\n}\n\nexport function vectorStoreStaticChunkingStrategyOptionsSerializer(\n item: VectorStoreStaticChunkingStrategyOptions,\n): any {\n return {\n max_chunk_size_tokens: item[\"maxChunkSizeTokens\"],\n chunk_overlap_tokens: item[\"chunkOverlapTokens\"],\n };\n}\n\nexport function vectorStoreStaticChunkingStrategyOptionsDeserializer(\n item: any,\n): VectorStoreStaticChunkingStrategyOptions {\n return {\n maxChunkSizeTokens: item[\"max_chunk_size_tokens\"],\n chunkOverlapTokens: item[\"chunk_overlap_tokens\"],\n };\n}\n\n/** Response object for deleting a vector store. */\nexport interface VectorStoreDeletionStatus {\n /** The ID of the resource specified for deletion. */\n id: string;\n /** A value indicating whether deletion was successful. */\n deleted: boolean;\n /** The object type, which is always 'vector_store.deleted'. */\n object: \"vector_store.deleted\";\n}\n\nexport function vectorStoreDeletionStatusDeserializer(item: any): VectorStoreDeletionStatus {\n return {\n id: item[\"id\"],\n deleted: item[\"deleted\"],\n object: item[\"object\"],\n };\n}\n\n/** The response data for a requested list of items. */\nexport interface _AgentsPagedResultVectorStoreFile {\n /** The requested list of items. */\n data: VectorStoreFile[];\n /** The last ID represented in this list. */\n lastId?: string;\n /** A value indicating whether there are additional values available not captured in this list. */\n hasMore: boolean;\n}\n\nexport function _agentsPagedResultVectorStoreFileDeserializer(\n item: any,\n): _AgentsPagedResultVectorStoreFile {\n return {\n data: vectorStoreFileArrayDeserializer(item[\"data\"]),\n lastId: item[\"last_id\"],\n hasMore: item[\"has_more\"],\n };\n}\n\nexport function vectorStoreFileArrayDeserializer(result: Array<VectorStoreFile>): any[] {\n return result.map((item) => {\n return vectorStoreFileDeserializer(item);\n });\n}\n\n/** Description of a file attached to a vector store. */\nexport interface VectorStoreFile {\n /** The identifier, which can be referenced in API endpoints. */\n id: string;\n /** The object type, which is always `vector_store.file`. */\n object: \"vector_store.file\";\n /**\n * The total vector store usage in bytes. Note that this may be different from the original file\n * size.\n */\n usageBytes: number;\n /** The Unix timestamp (in seconds) for when the vector store file was created. */\n createdAt: Date;\n /** The ID of the vector store that the file is attached to. */\n vectorStoreId: string;\n /** The status of the vector store file, which can be either `in_progress`, `completed`, `cancelled`, or `failed`. The status `completed` indicates that the vector store file is ready for use. */\n status: VectorStoreFileStatus;\n /** The last error associated with this vector store file. Will be `null` if there are no errors. */\n lastError: VectorStoreFileError | null;\n /** The strategy used to chunk the file. */\n chunkingStrategy: VectorStoreChunkingStrategyResponseUnion;\n}\n\nexport function vectorStoreFileDeserializer(item: any): VectorStoreFile {\n return {\n id: item[\"id\"],\n object: item[\"object\"],\n usageBytes: item[\"usage_bytes\"],\n createdAt: new Date(item[\"created_at\"] * 1000),\n vectorStoreId: item[\"vector_store_id\"],\n status: item[\"status\"],\n lastError: !item[\"last_error\"]\n ? item[\"last_error\"]\n : vectorStoreFileErrorDeserializer(item[\"last_error\"]),\n chunkingStrategy: vectorStoreChunkingStrategyResponseUnionDeserializer(\n item[\"chunking_strategy\"],\n ),\n };\n}\n\n/** Vector store file status */\nexport type VectorStoreFileStatus = \"in_progress\" | \"completed\" | \"failed\" | \"cancelled\";\n\n/** Details on the error that may have occurred while processing a file for this vector store */\nexport interface VectorStoreFileError {\n /** One of `server_error` or `rate_limit_exceeded`. */\n code: VectorStoreFileErrorCode;\n /** A human-readable description of the error. */\n message: string;\n}\n\nexport function vectorStoreFileErrorDeserializer(item: any): VectorStoreFileError {\n return {\n code: item[\"code\"],\n message: item[\"message\"],\n };\n}\n\n/** Error code variants for vector store file processing */\nexport type VectorStoreFileErrorCode = \"server_error\" | \"invalid_file\" | \"unsupported_file\";\n\n/** An abstract representation of a vector store chunking strategy configuration. */\nexport interface VectorStoreChunkingStrategyResponse {\n /** The object type. */\n /** The discriminator possible values: other, static */\n type: VectorStoreChunkingStrategyResponseType;\n}\n\nexport function vectorStoreChunkingStrategyResponseDeserializer(\n item: any,\n): VectorStoreChunkingStrategyResponse {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for VectorStoreChunkingStrategyResponseUnion */\nexport type VectorStoreChunkingStrategyResponseUnion =\n | VectorStoreAutoChunkingStrategyResponse\n | VectorStoreStaticChunkingStrategyResponse\n | VectorStoreChunkingStrategyResponse;\n\nexport function vectorStoreChunkingStrategyResponseUnionDeserializer(\n item: any,\n): VectorStoreChunkingStrategyResponseUnion {\n // Handle undefined or null input by returning a default response\n if (!item) {\n return vectorStoreChunkingStrategyResponseDeserializer({ type: \"other\" });\n }\n\n switch (item.type) {\n case \"other\":\n return vectorStoreAutoChunkingStrategyResponseDeserializer(\n item as VectorStoreAutoChunkingStrategyResponse,\n );\n\n case \"static\":\n return vectorStoreStaticChunkingStrategyResponseDeserializer(\n item as VectorStoreStaticChunkingStrategyResponse,\n );\n\n default:\n return vectorStoreChunkingStrategyResponseDeserializer(item);\n }\n}\n\n/** Type of chunking strategy */\nexport type VectorStoreChunkingStrategyResponseType = \"other\" | \"static\";\n\n/** 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. */\nexport interface VectorStoreAutoChunkingStrategyResponse\n extends VectorStoreChunkingStrategyResponse {\n /** The object type, which is always 'other'. */\n type: \"other\";\n}\n\nexport function vectorStoreAutoChunkingStrategyResponseDeserializer(\n item: any,\n): VectorStoreAutoChunkingStrategyResponse {\n return {\n type: item[\"type\"],\n };\n}\n\n/** A statically configured chunking strategy. */\nexport interface VectorStoreStaticChunkingStrategyResponse\n extends VectorStoreChunkingStrategyResponse {\n /** The object type, which is always 'static'. */\n type: \"static\";\n /** The options for the static chunking strategy. */\n static: VectorStoreStaticChunkingStrategyOptions;\n}\n\nexport function vectorStoreStaticChunkingStrategyResponseDeserializer(\n item: any,\n): VectorStoreStaticChunkingStrategyResponse {\n return {\n type: item[\"type\"],\n static: vectorStoreStaticChunkingStrategyOptionsDeserializer(item[\"static\"]),\n };\n}\n\n/** Response object for deleting a vector store file relationship. */\nexport interface VectorStoreFileDeletionStatus {\n /** The ID of the resource specified for deletion. */\n id: string;\n /** A value indicating whether deletion was successful. */\n deleted: boolean;\n /** The object type, which is always 'vector_store.deleted'. */\n object: \"vector_store.file.deleted\";\n}\n\nexport function vectorStoreFileDeletionStatusDeserializer(\n item: any,\n): VectorStoreFileDeletionStatus {\n return {\n id: item[\"id\"],\n deleted: item[\"deleted\"],\n object: item[\"object\"],\n };\n}\n\n/** A batch of files attached to a vector store. */\nexport interface VectorStoreFileBatch {\n /** The identifier, which can be referenced in API endpoints. */\n id: string;\n /** The object type, which is always `vector_store.file_batch`. */\n object: \"vector_store.files_batch\";\n /** The Unix timestamp (in seconds) for when the vector store files batch was created. */\n createdAt: Date;\n /** The ID of the vector store that the file is attached to. */\n vectorStoreId: string;\n /** The status of the vector store files batch, which can be either `in_progress`, `completed`, `cancelled` or `failed`. */\n status: VectorStoreFileBatchStatus;\n /** Files count grouped by status processed or being processed by this vector store. */\n fileCounts: VectorStoreFileCount;\n}\n\nexport function vectorStoreFileBatchDeserializer(item: any): VectorStoreFileBatch {\n return {\n id: item[\"id\"],\n object: item[\"object\"],\n createdAt: new Date(item[\"created_at\"] * 1000),\n vectorStoreId: item[\"vector_store_id\"],\n status: item[\"status\"],\n fileCounts: vectorStoreFileCountDeserializer(item[\"file_counts\"]),\n };\n}\n\n/** The status of the vector store file batch. */\nexport type VectorStoreFileBatchStatus = \"in_progress\" | \"completed\" | \"cancelled\" | \"failed\";\n\n/** Represents a message delta i.e. any changed fields on a message during streaming. */\nexport interface MessageDeltaChunk {\n /** The identifier of the message, which can be referenced in API endpoints. */\n id: string;\n /** The object type, which is always `thread.message.delta`. */\n object: \"thread.message.delta\";\n /** The delta containing the fields that have changed on the Message. */\n delta: MessageDelta;\n}\n\nexport function messageDeltaChunkDeserializer(item: any): MessageDeltaChunk {\n return {\n id: item[\"id\"],\n object: item[\"object\"],\n delta: messageDeltaDeserializer(item[\"delta\"]),\n };\n}\n\n/** Represents the typed 'delta' payload within a streaming message delta chunk. */\nexport interface MessageDelta {\n /** The entity that produced the message. */\n role: MessageRole;\n /** The content of the message as an array of text and/or images. */\n content: MessageDeltaContentUnion[];\n}\n\nexport function messageDeltaDeserializer(item: any): MessageDelta {\n return {\n role: item[\"role\"],\n content: messageDeltaContentUnionArrayDeserializer(item[\"content\"]),\n };\n}\n\nexport function messageDeltaContentUnionArrayDeserializer(\n result: Array<MessageDeltaContentUnion>,\n): any[] {\n return result.map((item) => {\n return messageDeltaContentUnionDeserializer(item);\n });\n}\n\n/** The abstract base representation of a partial streamed message content payload. */\nexport interface MessageDeltaContent {\n /** The index of the content part of the message. */\n index: number;\n /** The type of content for this content part. */\n /** The discriminator possible values: image_file, text */\n type: string;\n}\n\nexport function messageDeltaContentDeserializer(item: any): MessageDeltaContent {\n return {\n index: item[\"index\"],\n type: item[\"type\"],\n };\n}\n\n/** Alias for MessageDeltaContentUnion */\nexport type MessageDeltaContentUnion =\n | MessageDeltaImageFileContent\n | MessageDeltaTextContent\n | MessageDeltaContent;\n\nexport function messageDeltaContentUnionDeserializer(item: any): MessageDeltaContentUnion {\n switch (item.type) {\n case \"image_file\":\n return messageDeltaImageFileContentDeserializer(item as MessageDeltaImageFileContent);\n\n case \"text\":\n return messageDeltaTextContentDeserializer(item as MessageDeltaTextContent);\n\n default:\n return messageDeltaContentDeserializer(item);\n }\n}\n\n/** Represents a streamed image file content part within a streaming message delta chunk. */\nexport interface MessageDeltaImageFileContent extends MessageDeltaContent {\n /** The type of content for this content part, which is always \"image_file.\" */\n type: \"image_file\";\n /** The image_file data. */\n imageFile?: MessageDeltaImageFileContentObject;\n}\n\nexport function messageDeltaImageFileContentDeserializer(item: any): MessageDeltaImageFileContent {\n return {\n index: item[\"index\"],\n type: item[\"type\"],\n imageFile: !item[\"image_file\"]\n ? item[\"image_file\"]\n : messageDeltaImageFileContentObjectDeserializer(item[\"image_file\"]),\n };\n}\n\n/** Represents the 'image_file' payload within streaming image file content. */\nexport interface MessageDeltaImageFileContentObject {\n /** The file ID of the image in the message content. */\n fileId?: string;\n}\n\nexport function messageDeltaImageFileContentObjectDeserializer(\n item: any,\n): MessageDeltaImageFileContentObject {\n return {\n fileId: item[\"file_id\"],\n };\n}\n\n/** Represents a streamed text content part within a streaming message delta chunk. */\nexport interface MessageDeltaTextContent extends MessageDeltaContent {\n /** The type of content for this content part, which is always \"text.\" */\n type: \"text\";\n /** The text content details. */\n text?: MessageDeltaTextContentObject;\n}\n\nexport function messageDeltaTextContentDeserializer(item: any): MessageDeltaTextContent {\n return {\n index: item[\"index\"],\n type: item[\"type\"],\n text: !item[\"text\"] ? item[\"text\"] : messageDeltaTextContentObjectDeserializer(item[\"text\"]),\n };\n}\n\n/** Represents the data of a streamed text content part within a streaming message delta chunk. */\nexport interface MessageDeltaTextContentObject {\n /** The data that makes up the text. */\n value?: string;\n /** Annotations for the text. */\n annotations?: MessageDeltaTextAnnotationUnion[];\n}\n\nexport function messageDeltaTextContentObjectDeserializer(\n item: any,\n): MessageDeltaTextContentObject {\n return {\n value: item[\"value\"],\n annotations: !item[\"annotations\"]\n ? item[\"annotations\"]\n : messageDeltaTextAnnotationUnionArrayDeserializer(item[\"annotations\"]),\n };\n}\n\nexport function messageDeltaTextAnnotationUnionArrayDeserializer(\n result: Array<MessageDeltaTextAnnotationUnion>,\n): any[] {\n return result.map((item) => {\n return messageDeltaTextAnnotationUnionDeserializer(item);\n });\n}\n\n/** The abstract base representation of a streamed text content part's text annotation. */\nexport interface MessageDeltaTextAnnotation {\n /** The index of the annotation within a text content part. */\n index: number;\n /** The type of the text content annotation. */\n /** The discriminator possible values: url_citation, file_citation, file_path */\n type: string;\n}\n\nexport function messageDeltaTextAnnotationDeserializer(item: any): MessageDeltaTextAnnotation {\n return {\n index: item[\"index\"],\n type: item[\"type\"],\n };\n}\n\n/** Alias for MessageDeltaTextAnnotationUnion */\nexport type MessageDeltaTextAnnotationUnion =\n | MessageDeltaTextUrlCitationAnnotation\n | MessageDeltaTextFileCitationAnnotation\n | MessageDeltaTextFilePathAnnotation\n | MessageDeltaTextAnnotation;\n\nexport function messageDeltaTextAnnotationUnionDeserializer(\n item: any,\n): MessageDeltaTextAnnotationUnion {\n switch (item.type) {\n case \"url_citation\":\n return messageDeltaTextUrlCitationAnnotationDeserializer(\n item as MessageDeltaTextUrlCitationAnnotation,\n );\n\n case \"file_citation\":\n return messageDeltaTextFileCitationAnnotationDeserializer(\n item as MessageDeltaTextFileCitationAnnotation,\n );\n\n case \"file_path\":\n return messageDeltaTextFilePathAnnotationDeserializer(\n item as MessageDeltaTextFilePathAnnotation,\n );\n\n default:\n return messageDeltaTextAnnotationDeserializer(item);\n }\n}\n\n/** A citation within the message that points to a specific URL associated with the message. Generated when the agent uses tools such as 'bing_grounding' to search the Internet. */\nexport interface MessageDeltaTextUrlCitationAnnotation extends MessageDeltaTextAnnotation {\n /** The object type, which is always 'url_citation'. */\n type: \"url_citation\";\n /** The details of the URL citation. */\n urlCitation: MessageDeltaTextUrlCitationDetails;\n /** The first text index associated with this text annotation. */\n startIndex?: number;\n /** The last text index associated with this text annotation. */\n endIndex?: number;\n}\n\nexport function messageDeltaTextUrlCitationAnnotationDeserializer(\n item: any,\n): MessageDeltaTextUrlCitationAnnotation {\n return {\n index: item[\"index\"],\n type: item[\"type\"],\n urlCitation: messageDeltaTextUrlCitationDetailsDeserializer(item[\"url_citation\"]),\n startIndex: item[\"start_index\"],\n endIndex: item[\"end_index\"],\n };\n}\n\n/** A representation of a URL citation, as used in text thread message content. */\nexport interface MessageDeltaTextUrlCitationDetails {\n /** The URL associated with this citation. */\n url: string;\n /** The title of the URL. */\n title?: string;\n}\n\nexport function messageDeltaTextUrlCitationDetailsDeserializer(\n item: any,\n): MessageDeltaTextUrlCitationDetails {\n return {\n url: item[\"url\"],\n title: item[\"title\"],\n };\n}\n\n/** Represents a streamed file citation applied to a streaming text content part. */\nexport interface MessageDeltaTextFileCitationAnnotation extends MessageDeltaTextAnnotation {\n /** The type of the text content annotation, which is always \"file_citation.\" */\n type: \"file_citation\";\n /** The file citation information. */\n fileCitation?: MessageDeltaTextFileCitationAnnotationObject;\n /** The text in the message content that needs to be replaced */\n text?: string;\n /** The start index of this annotation in the content text. */\n startIndex?: number;\n /** The end index of this annotation in the content text. */\n endIndex?: number;\n}\n\nexport function messageDeltaTextFileCitationAnnotationDeserializer(\n item: any,\n): MessageDeltaTextFileCitationAnnotation {\n return {\n index: item[\"index\"],\n type: item[\"type\"],\n fileCitation: !item[\"file_citation\"]\n ? item[\"file_citation\"]\n : messageDeltaTextFileCitationAnnotationObjectDeserializer(item[\"file_citation\"]),\n text: item[\"text\"],\n startIndex: item[\"start_index\"],\n endIndex: item[\"end_index\"],\n };\n}\n\n/** Represents the data of a streamed file citation as applied to a streaming text content part. */\nexport interface MessageDeltaTextFileCitationAnnotationObject {\n /** The ID of the specific file the citation is from. */\n fileId?: string;\n /** The specific quote in the cited file. */\n quote?: string;\n}\n\nexport function messageDeltaTextFileCitationAnnotationObjectDeserializer(\n item: any,\n): MessageDeltaTextFileCitationAnnotationObject {\n return {\n fileId: item[\"file_id\"],\n quote: item[\"quote\"],\n };\n}\n\n/** Represents a streamed file path annotation applied to a streaming text content part. */\nexport interface MessageDeltaTextFilePathAnnotation extends MessageDeltaTextAnnotation {\n /** The type of the text content annotation, which is always \"file_path.\" */\n type: \"file_path\";\n /** The file path information. */\n filePath?: MessageDeltaTextFilePathAnnotationObject;\n /** The start index of this annotation in the content text. */\n startIndex?: number;\n /** The end index of this annotation in the content text. */\n endIndex?: number;\n /** The text in the message content that needs to be replaced */\n text?: string;\n}\n\nexport function messageDeltaTextFilePathAnnotationDeserializer(\n item: any,\n): MessageDeltaTextFilePathAnnotation {\n return {\n index: item[\"index\"],\n type: item[\"type\"],\n filePath: !item[\"file_path\"]\n ? item[\"file_path\"]\n : messageDeltaTextFilePathAnnotationObjectDeserializer(item[\"file_path\"]),\n startIndex: item[\"start_index\"],\n endIndex: item[\"end_index\"],\n text: item[\"text\"],\n };\n}\n\n/** Represents the data of a streamed file path annotation as applied to a streaming text content part. */\nexport interface MessageDeltaTextFilePathAnnotationObject {\n /** The file ID for the annotation. */\n fileId?: string;\n}\n\nexport function messageDeltaTextFilePathAnnotationObjectDeserializer(\n item: any,\n): MessageDeltaTextFilePathAnnotationObject {\n return {\n fileId: item[\"file_id\"],\n };\n}\n\n/** Represents a run step delta i.e. any changed fields on a run step during streaming. */\nexport interface RunStepDeltaChunk {\n /** The identifier of the run step, which can be referenced in API endpoints. */\n id: string;\n /** The object type, which is always `thread.run.step.delta`. */\n object: \"thread.run.step.delta\";\n /** The delta containing the fields that have changed on the run step. */\n delta: RunStepDelta;\n}\n\nexport function runStepDeltaChunkDeserializer(item: any): RunStepDeltaChunk {\n return {\n id: item[\"id\"],\n object: item[\"object\"],\n delta: runStepDeltaDeserializer(item[\"delta\"]),\n };\n}\n\n/** Represents the delta payload in a streaming run step delta chunk. */\nexport interface RunStepDelta {\n /** The details of the run step. */\n stepDetails?: RunStepDeltaDetailUnion;\n}\n\nexport function runStepDeltaDeserializer(item: any): RunStepDelta {\n return {\n stepDetails: !item[\"step_details\"]\n ? item[\"step_details\"]\n : runStepDeltaDetailUnionDeserializer(item[\"step_details\"]),\n };\n}\n\n/** Represents a single run step detail item in a streaming run step's delta payload. */\nexport interface RunStepDeltaDetail {\n /** The object type for the run step detail object. */\n /** The discriminator possible values: message_creation, tool_calls, mcp, openapi */\n type: string;\n}\n\nexport function runStepDeltaDetailDeserializer(item: any): RunStepDeltaDetail {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for RunStepDeltaDetailUnion */\nexport type RunStepDeltaDetailUnion =\n | RunStepDeltaMessageCreation\n | RunStepDeltaToolCallObject\n | RunStepDeltaMCPObject\n | RunStepDeltaOpenAPIObject\n | RunStepDeltaDetail;\n\nexport function runStepDeltaDetailUnionDeserializer(item: any): RunStepDeltaDetailUnion {\n switch (item.type) {\n case \"message_creation\":\n return runStepDeltaMessageCreationDeserializer(item as RunStepDeltaMessageCreation);\n\n case \"tool_calls\":\n return runStepDeltaToolCallObjectDeserializer(item as RunStepDeltaToolCallObject);\n\n case \"mcp\":\n return runStepDeltaMCPObjectDeserializer(item as RunStepDeltaMCPObject);\n\n case \"openapi\":\n return runStepDeltaOpenAPIObjectDeserializer(item as RunStepDeltaOpenAPIObject);\n\n default:\n return runStepDeltaDetailDeserializer(item);\n }\n}\n\n/** Represents a message creation within a streaming run step delta. */\nexport interface RunStepDeltaMessageCreation extends RunStepDeltaDetail {\n /** The object type, which is always \"message_creation.\" */\n type: \"message_creation\";\n /** The message creation data. */\n messageCreation?: RunStepDeltaMessageCreationObject;\n}\n\nexport function runStepDeltaMessageCreationDeserializer(item: any): RunStepDeltaMessageCreation {\n return {\n type: item[\"type\"],\n messageCreation: !item[\"message_creation\"]\n ? item[\"message_creation\"]\n : runStepDeltaMessageCreationObjectDeserializer(item[\"message_creation\"]),\n };\n}\n\n/** Represents the data within a streaming run step message creation response object. */\nexport interface RunStepDeltaMessageCreationObject {\n /** The ID of the newly-created message. */\n messageId?: string;\n}\n\nexport function runStepDeltaMessageCreationObjectDeserializer(\n item: any,\n): RunStepDeltaMessageCreationObject {\n return {\n messageId: item[\"message_id\"],\n };\n}\n\n/** Represents an invocation of tool calls as part of a streaming run step. */\nexport interface RunStepDeltaToolCallObject extends RunStepDeltaDetail {\n /** The object type, which is always \"tool_calls.\" */\n type: \"tool_calls\";\n /** The collection of tool calls for the tool call detail item. */\n toolCalls?: RunStepDeltaToolCallUnion[];\n}\n\nexport function runStepDeltaToolCallObjectDeserializer(item: any): RunStepDeltaToolCallObject {\n return {\n type: item[\"type\"],\n toolCalls: !item[\"tool_calls\"]\n ? item[\"tool_calls\"]\n : runStepDeltaToolCallUnionArrayDeserializer(item[\"tool_calls\"]),\n };\n}\n\nexport function runStepDeltaToolCallUnionArrayDeserializer(\n result: Array<RunStepDeltaToolCallUnion>,\n): any[] {\n return result.map((item) => {\n return runStepDeltaToolCallUnionDeserializer(item);\n });\n}\n\n/** The abstract base representation of a single tool call within a streaming run step's delta tool call details. */\nexport interface RunStepDeltaToolCall {\n /** The index of the tool call detail in the run step's tool_calls array. */\n index: number;\n /** The ID of the tool call, used when submitting outputs to the run. */\n id: string;\n /** The type of the tool call detail item in a streaming run step's details. */\n /** The discriminator possible values: mcp, openapi, connected_agent, function, file_search, code_interpreter, bing_grounding, bing_custom_search, azure_function, deep_research, azure_ai_search, fabric_dataagent, sharepoint_grounding */\n type: string;\n}\n\nexport function runStepDeltaToolCallDeserializer(item: any): RunStepDeltaToolCall {\n return {\n index: item[\"index\"],\n id: item[\"id\"],\n type: item[\"type\"],\n };\n}\n\n/** Alias for RunStepDeltaToolCallUnion */\nexport type RunStepDeltaToolCallUnion =\n | RunStepDeltaMcpToolCall\n | RunStepDeltaOpenAPIToolCall\n | RunStepDeltaConnectedAgentToolCall\n | RunStepDeltaFunctionToolCall\n | RunStepDeltaFileSearchToolCall\n | RunStepDeltaCodeInterpreterToolCall\n | RunStepDeltaBingGroundingToolCall\n | RunStepDeltaCustomBingGroundingToolCall\n | RunStepDeltaAzureFunctionToolCall\n | RunStepDeltaDeepResearchToolCall\n | RunStepDeltaAzureAISearchToolCall\n | RunStepDeltaMicrosoftFabricToolCall\n | RunStepDeltaSharepointToolCall\n | RunStepDeltaToolCall;\n\nexport function runStepDeltaToolCallUnionDeserializer(item: any): RunStepDeltaToolCallUnion {\n switch (item.type) {\n case \"mcp\":\n return runStepDeltaMcpToolCallDeserializer(item as RunStepDeltaMcpToolCall);\n\n case \"openapi\":\n return runStepDeltaOpenAPIToolCallDeserializer(item as RunStepDeltaOpenAPIToolCall);\n\n case \"connected_agent\":\n return runStepDeltaConnectedAgentToolCallDeserializer(\n item as RunStepDeltaConnectedAgentToolCall,\n );\n\n case \"function\":\n return runStepDeltaFunctionToolCallDeserializer(item as RunStepDeltaFunctionToolCall);\n\n case \"file_search\":\n return runStepDeltaFileSearchToolCallDeserializer(item as RunStepDeltaFileSearchToolCall);\n\n case \"code_interpreter\":\n return runStepDeltaCodeInterpreterToolCallDeserializer(\n item as RunStepDeltaCodeInterpreterToolCall,\n );\n\n case \"bing_grounding\":\n return runStepDeltaBingGroundingToolCallDeserializer(\n item as RunStepDeltaBingGroundingToolCall,\n );\n\n case \"bing_custom_search\":\n return runStepDeltaCustomBingGroundingToolCallDeserializer(\n item as RunStepDeltaCustomBingGroundingToolCall,\n );\n\n case \"azure_function\":\n return runStepDeltaAzureFunctionToolCallDeserializer(\n item as RunStepDeltaAzureFunctionToolCall,\n );\n\n case \"deep_research\":\n return runStepDeltaDeepResearchToolCallDeserializer(item as RunStepDeltaDeepResearchToolCall);\n\n case \"azure_ai_search\":\n return runStepDeltaAzureAISearchToolCallDeserializer(\n item as RunStepDeltaAzureAISearchToolCall,\n );\n\n case \"fabric_dataagent\":\n return runStepDeltaMicrosoftFabricToolCallDeserializer(\n item as RunStepDeltaMicrosoftFabricToolCall,\n );\n\n case \"sharepoint_grounding\":\n return runStepDeltaSharepointToolCallDeserializer(item as RunStepDeltaSharepointToolCall);\n\n default:\n return runStepDeltaToolCallDeserializer(item);\n }\n}\n\n/** Represents the function data in a streaming run step MCP call. */\nexport interface RunStepDeltaMcpToolCall extends RunStepDeltaToolCall {\n /** The object type, which is always \"mcp\". */\n type: \"mcp\";\n /** The index of a response. */\n index: number;\n /** The arguments for MCP call. */\n arguments: string;\n}\n\nexport function runStepDeltaMcpToolCallDeserializer(item: any): RunStepDeltaMcpToolCall {\n return {\n index: item[\"index\"],\n id: item[\"id\"],\n type: item[\"type\"],\n arguments: item[\"arguments\"],\n };\n}\n\n/** Represents the openapi tool call in a streaming run step. */\nexport interface RunStepDeltaOpenAPIToolCall extends RunStepDeltaToolCall {\n /** The object type, which is always \"openapi\". */\n type: \"openapi\";\n /** Reserved for future use. */\n openAPI: Record<string, string>;\n}\n\nexport function runStepDeltaOpenAPIToolCallDeserializer(item: any): RunStepDeltaOpenAPIToolCall {\n return {\n index: item[\"index\"],\n id: item[\"id\"],\n type: item[\"type\"],\n openAPI: item[\"openapi\"],\n };\n}\n\n/** Represents the invocation of connected agent as a part of a streaming run step. */\nexport interface RunStepDeltaConnectedAgentToolCall extends RunStepDeltaToolCall {\n /** The object type, which is always \"connected_agent\". */\n type: \"connected_agent\";\n /** The collection of tool calls for the tool call detail item. */\n connectedAgent: RunStepConnectedAgent;\n}\n\nexport function runStepDeltaConnectedAgentToolCallDeserializer(\n item: any,\n): RunStepDeltaConnectedAgentToolCall {\n return {\n index: item[\"index\"],\n id: item[\"id\"],\n type: item[\"type\"],\n connectedAgent: runStepConnectedAgentDeserializer(item[\"connected_agent\"]),\n };\n}\n\n/** Represents a function tool call within a streaming run step's tool call details. */\nexport interface RunStepDeltaFunctionToolCall extends RunStepDeltaToolCall {\n /** The object type, which is always \"function.\" */\n type: \"function\";\n /** The function data for the tool call. */\n function?: RunStepDeltaFunction;\n}\n\nexport function runStepDeltaFunctionToolCallDeserializer(item: any): RunStepDeltaFunctionToolCall {\n return {\n index: item[\"index\"],\n id: item[\"id\"],\n type: item[\"type\"],\n function: !item[\"function\"]\n ? item[\"function\"]\n : runStepDeltaFunctionDeserializer(item[\"function\"]),\n };\n}\n\n/** Represents the function data in a streaming run step delta's function tool call. */\nexport interface RunStepDeltaFunction {\n /** The name of the function. */\n name?: string;\n /** The arguments passed to the function as input. */\n arguments?: string;\n /** The output of the function, null if outputs have not yet been submitted. */\n output?: string | null;\n}\n\nexport function runStepDeltaFunctionDeserializer(item: any): RunStepDeltaFunction {\n return {\n name: item[\"name\"],\n arguments: item[\"arguments\"],\n output: item[\"output\"],\n };\n}\n\n/** Represents a file search tool call within a streaming run step's tool call details. */\nexport interface RunStepDeltaFileSearchToolCall extends RunStepDeltaToolCall {\n /** The object type, which is always \"file_search.\" */\n type: \"file_search\";\n /** Reserved for future use. */\n fileSearch?: RunStepFileSearchToolCallResults;\n}\n\nexport function runStepDeltaFileSearchToolCallDeserializer(\n item: any,\n): RunStepDeltaFileSearchToolCall {\n return {\n index: item[\"index\"],\n id: item[\"id\"],\n type: item[\"type\"],\n fileSearch: !item[\"file_search\"]\n ? item[\"file_search\"]\n : runStepFileSearchToolCallResultsDeserializer(item[\"file_search\"]),\n };\n}\n\n/** Represents a Code Interpreter tool call within a streaming run step's tool call details. */\nexport interface RunStepDeltaCodeInterpreterToolCall extends RunStepDeltaToolCall {\n /** The object type, which is always \"code_interpreter.\" */\n type: \"code_interpreter\";\n /** The Code Interpreter data for the tool call. */\n codeInterpreter?: RunStepDeltaCodeInterpreterDetailItemObject;\n}\n\nexport function runStepDeltaCodeInterpreterToolCallDeserializer(\n item: any,\n): RunStepDeltaCodeInterpreterToolCall {\n return {\n index: item[\"index\"],\n id: item[\"id\"],\n type: item[\"type\"],\n codeInterpreter: !item[\"code_interpreter\"]\n ? item[\"code_interpreter\"]\n : runStepDeltaCodeInterpreterDetailItemObjectDeserializer(item[\"code_interpreter\"]),\n };\n}\n\n/** Represents the Code Interpreter tool call data in a streaming run step's tool calls. */\nexport interface RunStepDeltaCodeInterpreterDetailItemObject {\n /** The input into the Code Interpreter tool call. */\n input?: string;\n /**\n * The outputs from the Code Interpreter tool call. Code Interpreter can output one or more\n * items, including text (`logs`) or images (`image`). Each of these are represented by a\n * different object type.\n */\n outputs?: RunStepDeltaCodeInterpreterOutputUnion[];\n}\n\nexport function runStepDeltaCodeInterpreterDetailItemObjectDeserializer(\n item: any,\n): RunStepDeltaCodeInterpreterDetailItemObject {\n return {\n input: item[\"input\"],\n outputs: !item[\"outputs\"]\n ? item[\"outputs\"]\n : runStepDeltaCodeInterpreterOutputUnionArrayDeserializer(item[\"outputs\"]),\n };\n}\n\nexport function runStepDeltaCodeInterpreterOutputUnionArrayDeserializer(\n result: Array<RunStepDeltaCodeInterpreterOutputUnion>,\n): any[] {\n return result.map((item) => {\n return runStepDeltaCodeInterpreterOutputUnionDeserializer(item);\n });\n}\n\n/** The abstract base representation of a streaming run step tool call's Code Interpreter tool output. */\nexport interface RunStepDeltaCodeInterpreterOutput {\n /** The index of the output in the streaming run step tool call's Code Interpreter outputs array. */\n index: number;\n /** The type of the streaming run step tool call's Code Interpreter output. */\n /** The discriminator possible values: logs, image */\n type: string;\n}\n\nexport function runStepDeltaCodeInterpreterOutputDeserializer(\n item: any,\n): RunStepDeltaCodeInterpreterOutput {\n return {\n index: item[\"index\"],\n type: item[\"type\"],\n };\n}\n\n/** Alias for RunStepDeltaCodeInterpreterOutputUnion */\nexport type RunStepDeltaCodeInterpreterOutputUnion =\n | RunStepDeltaCodeInterpreterLogOutput\n | RunStepDeltaCodeInterpreterImageOutput\n | RunStepDeltaCodeInterpreterOutput;\n\nexport function runStepDeltaCodeInterpreterOutputUnionDeserializer(\n item: any,\n): RunStepDeltaCodeInterpreterOutputUnion {\n switch (item.type) {\n case \"logs\":\n return runStepDeltaCodeInterpreterLogOutputDeserializer(\n item as RunStepDeltaCodeInterpreterLogOutput,\n );\n\n case \"image\":\n return runStepDeltaCodeInterpreterImageOutputDeserializer(\n item as RunStepDeltaCodeInterpreterImageOutput,\n );\n\n default:\n return runStepDeltaCodeInterpreterOutputDeserializer(item);\n }\n}\n\n/** Represents a log output as produced by the Code Interpreter tool and as represented in a streaming run step's delta tool calls collection. */\nexport interface RunStepDeltaCodeInterpreterLogOutput extends RunStepDeltaCodeInterpreterOutput {\n /** The type of the object, which is always \"logs.\" */\n type: \"logs\";\n /** The text output from the Code Interpreter tool call. */\n logs?: string;\n}\n\nexport function runStepDeltaCodeInterpreterLogOutputDeserializer(\n item: any,\n): RunStepDeltaCodeInterpreterLogOutput {\n return {\n index: item[\"index\"],\n type: item[\"type\"],\n logs: item[\"logs\"],\n };\n}\n\n/** Represents an image output as produced the Code interpreter tool and as represented in a streaming run step's delta tool calls collection. */\nexport interface RunStepDeltaCodeInterpreterImageOutput extends RunStepDeltaCodeInterpreterOutput {\n /** The object type, which is always \"image.\" */\n type: \"image\";\n /** The image data for the Code Interpreter tool call output. */\n image?: RunStepDeltaCodeInterpreterImageOutputObject;\n}\n\nexport function runStepDeltaCodeInterpreterImageOutputDeserializer(\n item: any,\n): RunStepDeltaCodeInterpreterImageOutput {\n return {\n index: item[\"index\"],\n type: item[\"type\"],\n image: !item[\"image\"]\n ? item[\"image\"]\n : runStepDeltaCodeInterpreterImageOutputObjectDeserializer(item[\"image\"]),\n };\n}\n\n/** Represents the data for a streaming run step's Code Interpreter tool call image output. */\nexport interface RunStepDeltaCodeInterpreterImageOutputObject {\n /** The file ID for the image. */\n fileId?: string;\n}\n\nexport function runStepDeltaCodeInterpreterImageOutputObjectDeserializer(\n item: any,\n): RunStepDeltaCodeInterpreterImageOutputObject {\n return {\n fileId: item[\"file_id\"],\n };\n}\n\n/** Represents the bing grounding tool call in a streaming run step. */\nexport interface RunStepDeltaBingGroundingToolCall extends RunStepDeltaToolCall {\n /** The object type, which is always \"bing_grounding\". */\n type: \"bing_grounding\";\n /** The dictionary with request and response from Bing Grounding search tool. */\n bingGrounding: Record<string, string>;\n}\n\nexport function runStepDeltaBingGroundingToolCallDeserializer(\n item: any,\n): RunStepDeltaBingGroundingToolCall {\n return {\n index: item[\"index\"],\n id: item[\"id\"],\n type: item[\"type\"],\n bingGrounding: item[\"bing_grounding\"],\n };\n}\n\n/** Represents the Bing Custom Search tool call in a streaming run step. */\nexport interface RunStepDeltaCustomBingGroundingToolCall extends RunStepDeltaToolCall {\n /** The object type, which is always 'bing_custom_search'. */\n type: \"bing_custom_search\";\n /** The dictionary with request and response from Bing Custom Search tool. */\n bingCustomSearch: Record<string, string>;\n}\n\nexport function runStepDeltaCustomBingGroundingToolCallDeserializer(\n item: any,\n): RunStepDeltaCustomBingGroundingToolCall {\n return {\n index: item[\"index\"],\n id: item[\"id\"],\n type: item[\"type\"],\n bingCustomSearch: item[\"bing_custom_search\"],\n };\n}\n\n/** Represents the Azure Function tool call in a streaming run step. */\nexport interface RunStepDeltaAzureFunctionToolCall extends RunStepDeltaToolCall {\n /** The object type, which is always 'azure_function'. */\n type: \"azure_function\";\n /** Partial description of an Azure function call. */\n azureFunction: AzureFunctionToolCallDetails;\n}\n\nexport function runStepDeltaAzureFunctionToolCallDeserializer(\n item: any,\n): RunStepDeltaAzureFunctionToolCall {\n return {\n index: item[\"index\"],\n id: item[\"id\"],\n type: item[\"type\"],\n azureFunction: azureFunctionToolCallDetailsDeserializer(item[\"azure_function\"]),\n };\n}\n\n/** Represents the Deep research in a streaming run step. */\nexport interface RunStepDeltaDeepResearchToolCall extends RunStepDeltaToolCall {\n /** The object type, which is always \"deep_research\". */\n type: \"deep_research\";\n /** The details of DeepResearch tool call. */\n deepResearch: RunStepDeepResearchToolCallDetails;\n}\n\nexport function runStepDeltaDeepResearchToolCallDeserializer(\n item: any,\n): RunStepDeltaDeepResearchToolCall {\n return {\n index: item[\"index\"],\n id: item[\"id\"],\n type: item[\"type\"],\n deepResearch: runStepDeepResearchToolCallDetailsDeserializer(item[\"deep_research\"]),\n };\n}\n\n/** Represents the Azure AI Search in a streaming run step. */\nexport interface RunStepDeltaAzureAISearchToolCall extends RunStepDeltaToolCall {\n /** The object type, which is always \"azure_ai_search\". */\n type: \"azure_ai_search\";\n /** Reserved for future use. */\n azureAISearch: Record<string, string>;\n}\n\nexport function runStepDeltaAzureAISearchToolCallDeserializer(\n item: any,\n): RunStepDeltaAzureAISearchToolCall {\n return {\n index: item[\"index\"],\n id: item[\"id\"],\n type: item[\"type\"],\n azureAISearch: item[\"azure_ai_search\"],\n };\n}\n\n/** Represents the Microsoft Fabric tool call in a streaming run step. */\nexport interface RunStepDeltaMicrosoftFabricToolCall extends RunStepDeltaToolCall {\n /** The object type, which is always 'fabric_dataagent' */\n type: \"fabric_dataagent\";\n /** Fabric input and output. */\n microsoftFabric: Record<string, string>;\n}\n\nexport function runStepDeltaMicrosoftFabricToolCallDeserializer(\n item: any,\n): RunStepDeltaMicrosoftFabricToolCall {\n return {\n index: item[\"index\"],\n id: item[\"id\"],\n type: item[\"type\"],\n microsoftFabric: item[\"fabric_dataagent\"],\n };\n}\n\n/** Represents the SharePoint tool call in a streaming run step. */\nexport interface RunStepDeltaSharepointToolCall extends RunStepDeltaToolCall {\n /** The object type, which is always 'sharepoint_grounding' */\n type: \"sharepoint_grounding\";\n /** SharePoint tool input and output. */\n sharepointGrounding: Record<string, string>;\n}\n\nexport function runStepDeltaSharepointToolCallDeserializer(\n item: any,\n): RunStepDeltaSharepointToolCall {\n return {\n index: item[\"index\"],\n id: item[\"id\"],\n type: item[\"type\"],\n sharepointGrounding: item[\"sharepoint_grounding\"],\n };\n}\n\n/** Represents an invocation of mcp as part of a streaming run step. */\nexport interface RunStepDeltaMCPObject extends RunStepDeltaDetail {\n /** The object type, which is always \"mcp\". */\n type: \"mcp\";\n /** The collection of tool calls for the tool call detail item. */\n toolCalls?: RunStepDeltaMcpToolCall[];\n}\n\nexport function runStepDeltaMCPObjectDeserializer(item: any): RunStepDeltaMCPObject {\n return {\n type: item[\"type\"],\n toolCalls: !item[\"tool_calls\"]\n ? item[\"tool_calls\"]\n : runStepDeltaMcpToolCallArrayDeserializer(item[\"tool_calls\"]),\n };\n}\n\nexport function runStepDeltaMcpToolCallArrayDeserializer(\n result: Array<RunStepDeltaMcpToolCall>,\n): any[] {\n return result.map((item) => {\n return runStepDeltaMcpToolCallDeserializer(item);\n });\n}\n\n/** Represents an invocation of openapi as part of a streaming run step. */\nexport interface RunStepDeltaOpenAPIObject extends RunStepDeltaDetail {\n /** The object type, which is always \"openapi\". */\n type: \"openapi\";\n /** The collection of tool calls for the tool call detail item. */\n toolCalls?: RunStepDeltaOpenAPIToolCall[];\n}\n\nexport function runStepDeltaOpenAPIObjectDeserializer(item: any): RunStepDeltaOpenAPIObject {\n return {\n type: item[\"type\"],\n toolCalls: !item[\"tool_calls\"]\n ? item[\"tool_calls\"]\n : runStepDeltaOpenAPIToolCallArrayDeserializer(item[\"tool_calls\"]),\n };\n}\n\nexport function runStepDeltaOpenAPIToolCallArrayDeserializer(\n result: Array<RunStepDeltaOpenAPIToolCall>,\n): any[] {\n return result.map((item) => {\n return runStepDeltaOpenAPIToolCallDeserializer(item);\n });\n}\n\n/** Alias for AgentStreamEvent */\nexport type AgentStreamEvent =\n | string\n | ThreadStreamEvent\n | RunStreamEvent\n | RunStepStreamEvent\n | MessageStreamEvent\n | ErrorEvent\n | DoneEvent;\n\nexport function agentStreamEventDeserializer(item: any): AgentStreamEvent {\n return item;\n}\n\n/** Thread operation related streaming events */\nexport enum ThreadStreamEvent {\n /** Event emitted when a thread is created */\n Created = \"thread.created\",\n}\n\n/** Run operation related streaming events */\nexport enum RunStreamEvent {\n /** Event emitted when a run is created */\n ThreadRunCreated = \"thread.run.created\",\n /** Event emitted when a run is queued */\n ThreadRunQueued = \"thread.run.queued\",\n /** Event emitted when a run is in progress */\n ThreadRunInProgress = \"thread.run.in_progress\",\n /** Event emitted when a run requires action */\n ThreadRunRequiresAction = \"thread.run.requires_action\",\n /** Event emitted when a run is completed */\n ThreadRunCompleted = \"thread.run.completed\",\n /** Event emitted when a run is incomplete */\n ThreadRunIncomplete = \"thread.run.incomplete\",\n /** Event emitted when a run has failed */\n ThreadRunFailed = \"thread.run.failed\",\n /** Event emitted when a run is being cancelled */\n ThreadRunCancelling = \"thread.run.cancelling\",\n /** Event emitted when a run has been cancelled */\n ThreadRunCancelled = \"thread.run.cancelled\",\n /** Event emitted when a run has expired */\n ThreadRunExpired = \"thread.run.expired\",\n}\n\n/** Run step operation related streaming events */\nexport enum RunStepStreamEvent {\n /** Event emitted when a run step is created */\n ThreadRunStepCreated = \"thread.run.step.created\",\n /** Event emitted when a run step is in progress */\n ThreadRunStepInProgress = \"thread.run.step.in_progress\",\n /** Event emitted when a run step delta is received */\n ThreadRunStepDelta = \"thread.run.step.delta\",\n /** Event emitted when a run step is completed */\n ThreadRunStepCompleted = \"thread.run.step.completed\",\n /** Event emitted when a run step has failed */\n ThreadRunStepFailed = \"thread.run.step.failed\",\n /** Event emitted when a run step has been cancelled */\n ThreadRunStepCancelled = \"thread.run.step.cancelled\",\n /** Event emitted when a run step has expired */\n ThreadRunStepExpired = \"thread.run.step.expired\",\n}\n\n/** Message operation related streaming events */\nexport enum MessageStreamEvent {\n /** Event emitted when a message is created */\n ThreadMessageCreated = \"thread.message.created\",\n /** Event emitted when a message is in progress */\n ThreadMessageInProgress = \"thread.message.in_progress\",\n /** Event emitted when a message delta is received */\n ThreadMessageDelta = \"thread.message.delta\",\n /** Event emitted when a message is completed */\n ThreadMessageCompleted = \"thread.message.completed\",\n /** Event emitted when a message is incomplete */\n ThreadMessageIncomplete = \"thread.message.incomplete\",\n}\n\n/** Terminal event indicating a server side error while streaming. */\nexport enum ErrorEvent {\n /** Server error while streaming */\n Error = \"error\",\n}\n/** Terminal event indicating the successful end of a stream. */\nexport enum DoneEvent {\n /** Event emitted when a stream has completed successfully */\n Done = \"done\",\n}\n/** The available sorting options when requesting a list of response objects. */\nexport type ListSortOrder = \"asc\" | \"desc\";\n/** A list of additional fields to include in the response. */\nexport type RunAdditionalFieldList = \"step_details.tool_calls[*].file_search.results[*].content\";\n/** Query parameter filter for vector store file retrieval endpoint */\nexport type VectorStoreFileStatusFilter = \"in_progress\" | \"completed\" | \"failed\" | \"cancelled\";\n\n/** Azure AI Agents API versions */\nexport enum KnownVersions {\n /** Azure AI API version 2025-05-01. */\n V20250501 = \"2025-05-01\",\n /** Azure AI API version v1. */\n V1 = \"v1\",\n /** Azure AI API version 2025-05-15-preview. */\n V20250515Preview = \"2025-05-15-preview\",\n}\n"]}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/models/models.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/* eslint-disable @typescript-eslint/naming-convention */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport { createFilePartDescriptor } from \"../static-helpers/multipartHelpers.js\";\nimport type { FileContents } from \"../static-helpers/multipartHelpers.js\";\n\n/** An abstract representation of an input tool definition that an agent can use. */\nexport interface ToolDefinition {\n /** The object type. */\n /** The discriminator possible values: code_interpreter, file_search, function, bing_grounding, fabric_dataagent, sharepoint_grounding, azure_ai_search, openapi, bing_custom_search, connected_agent, deep_research, mcp, azure_function, browser_automation */\n type: string;\n}\n\nexport function toolDefinitionSerializer(item: ToolDefinition): any {\n return { type: item[\"type\"] };\n}\n\nexport function toolDefinitionDeserializer(item: any): ToolDefinition {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for ToolDefinitionUnion */\nexport type ToolDefinitionUnion =\n | CodeInterpreterToolDefinition\n | FileSearchToolDefinition\n | FunctionToolDefinition\n | BingGroundingToolDefinition\n | MicrosoftFabricToolDefinition\n | SharepointToolDefinition\n | AzureAISearchToolDefinition\n | OpenApiToolDefinition\n | BingCustomSearchToolDefinition\n | ConnectedAgentToolDefinition\n | DeepResearchToolDefinition\n | MCPToolDefinition\n | AzureFunctionToolDefinition\n | BrowserAutomationToolDefinition\n | ToolDefinition;\n\nexport function toolDefinitionUnionSerializer(item: ToolDefinitionUnion): any {\n switch (item.type) {\n case \"code_interpreter\":\n return codeInterpreterToolDefinitionSerializer(item as CodeInterpreterToolDefinition);\n\n case \"file_search\":\n return fileSearchToolDefinitionSerializer(item as FileSearchToolDefinition);\n\n case \"function\":\n return functionToolDefinitionSerializer(item as FunctionToolDefinition);\n\n case \"bing_grounding\":\n return bingGroundingToolDefinitionSerializer(item as BingGroundingToolDefinition);\n\n case \"fabric_dataagent\":\n return microsoftFabricToolDefinitionSerializer(item as MicrosoftFabricToolDefinition);\n\n case \"sharepoint_grounding\":\n return sharepointToolDefinitionSerializer(item as SharepointToolDefinition);\n\n case \"azure_ai_search\":\n return azureAISearchToolDefinitionSerializer(item as AzureAISearchToolDefinition);\n\n case \"openapi\":\n return openApiToolDefinitionSerializer(item as OpenApiToolDefinition);\n\n case \"bing_custom_search\":\n return bingCustomSearchToolDefinitionSerializer(item as BingCustomSearchToolDefinition);\n\n case \"connected_agent\":\n return connectedAgentToolDefinitionSerializer(item as ConnectedAgentToolDefinition);\n\n case \"deep_research\":\n return deepResearchToolDefinitionSerializer(item as DeepResearchToolDefinition);\n\n case \"mcp\":\n return mcpToolDefinitionSerializer(item as MCPToolDefinition);\n\n case \"azure_function\":\n return azureFunctionToolDefinitionSerializer(item as AzureFunctionToolDefinition);\n\n case \"browser_automation\":\n return browserAutomationToolDefinitionSerializer(item as BrowserAutomationToolDefinition);\n\n default:\n return toolDefinitionSerializer(item);\n }\n}\n\nexport function toolDefinitionUnionDeserializer(item: any): ToolDefinitionUnion {\n switch (item.type) {\n case \"code_interpreter\":\n return codeInterpreterToolDefinitionDeserializer(item as CodeInterpreterToolDefinition);\n\n case \"file_search\":\n return fileSearchToolDefinitionDeserializer(item as FileSearchToolDefinition);\n\n case \"function\":\n return functionToolDefinitionDeserializer(item as FunctionToolDefinition);\n\n case \"bing_grounding\":\n return bingGroundingToolDefinitionDeserializer(item as BingGroundingToolDefinition);\n\n case \"fabric_dataagent\":\n return microsoftFabricToolDefinitionDeserializer(item as MicrosoftFabricToolDefinition);\n\n case \"sharepoint_grounding\":\n return sharepointToolDefinitionDeserializer(item as SharepointToolDefinition);\n\n case \"azure_ai_search\":\n return azureAISearchToolDefinitionDeserializer(item as AzureAISearchToolDefinition);\n\n case \"openapi\":\n return openApiToolDefinitionDeserializer(item as OpenApiToolDefinition);\n\n case \"bing_custom_search\":\n return bingCustomSearchToolDefinitionDeserializer(item as BingCustomSearchToolDefinition);\n\n case \"connected_agent\":\n return connectedAgentToolDefinitionDeserializer(item as ConnectedAgentToolDefinition);\n\n case \"deep_research\":\n return deepResearchToolDefinitionDeserializer(item as DeepResearchToolDefinition);\n\n case \"mcp\":\n return mcpToolDefinitionDeserializer(item as MCPToolDefinition);\n\n case \"azure_function\":\n return azureFunctionToolDefinitionDeserializer(item as AzureFunctionToolDefinition);\n\n case \"browser_automation\":\n return browserAutomationToolDefinitionDeserializer(item as BrowserAutomationToolDefinition);\n\n default:\n return toolDefinitionDeserializer(item);\n }\n}\n\n/** The input definition information for a code interpreter tool as used to configure an agent. */\nexport interface CodeInterpreterToolDefinition extends ToolDefinition {\n /** The object type, which is always 'code_interpreter'. */\n type: \"code_interpreter\";\n}\n\nexport function codeInterpreterToolDefinitionSerializer(item: CodeInterpreterToolDefinition): any {\n return { type: item[\"type\"] };\n}\n\nexport function codeInterpreterToolDefinitionDeserializer(\n item: any,\n): CodeInterpreterToolDefinition {\n return {\n type: item[\"type\"],\n };\n}\n\n/** The input definition information for a file search tool as used to configure an agent. */\nexport interface FileSearchToolDefinition extends ToolDefinition {\n /** The object type, which is always 'file_search'. */\n type: \"file_search\";\n /** Options overrides for the file search tool. */\n fileSearch?: FileSearchToolDefinitionDetails;\n}\n\nexport function fileSearchToolDefinitionSerializer(item: FileSearchToolDefinition): any {\n return {\n type: item[\"type\"],\n file_search: !item[\"fileSearch\"]\n ? item[\"fileSearch\"]\n : fileSearchToolDefinitionDetailsSerializer(item[\"fileSearch\"]),\n };\n}\n\nexport function fileSearchToolDefinitionDeserializer(item: any): FileSearchToolDefinition {\n return {\n type: item[\"type\"],\n fileSearch: !item[\"file_search\"]\n ? item[\"file_search\"]\n : fileSearchToolDefinitionDetailsDeserializer(item[\"file_search\"]),\n };\n}\n\n/** Options overrides for the file search tool. */\nexport interface FileSearchToolDefinitionDetails {\n /**\n * 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.\n *\n * Note that the file search tool may output fewer than `max_num_results` results. See the file search tool documentation for more information.\n */\n maxNumResults?: number;\n /** Ranking options for file search. */\n rankingOptions?: FileSearchRankingOptions;\n}\n\nexport function fileSearchToolDefinitionDetailsSerializer(\n item: FileSearchToolDefinitionDetails,\n): any {\n return {\n max_num_results: item[\"maxNumResults\"],\n ranking_options: !item[\"rankingOptions\"]\n ? item[\"rankingOptions\"]\n : fileSearchRankingOptionsSerializer(item[\"rankingOptions\"]),\n };\n}\n\nexport function fileSearchToolDefinitionDetailsDeserializer(\n item: any,\n): FileSearchToolDefinitionDetails {\n return {\n maxNumResults: item[\"max_num_results\"],\n rankingOptions: !item[\"ranking_options\"]\n ? item[\"ranking_options\"]\n : fileSearchRankingOptionsDeserializer(item[\"ranking_options\"]),\n };\n}\n\n/** Ranking options for file search. */\nexport interface FileSearchRankingOptions {\n /** File search ranker. */\n ranker: string;\n /** Ranker search threshold. */\n scoreThreshold: number;\n}\n\nexport function fileSearchRankingOptionsSerializer(item: FileSearchRankingOptions): any {\n return { ranker: item[\"ranker\"], score_threshold: item[\"scoreThreshold\"] };\n}\n\nexport function fileSearchRankingOptionsDeserializer(item: any): FileSearchRankingOptions {\n return {\n ranker: item[\"ranker\"],\n scoreThreshold: item[\"score_threshold\"],\n };\n}\n\n/** The input definition information for a function tool as used to configure an agent. */\nexport interface FunctionToolDefinition extends ToolDefinition {\n /** The object type, which is always 'function'. */\n type: \"function\";\n /** The definition of the concrete function that the function tool should call. */\n function: FunctionDefinition;\n}\n\nexport function functionToolDefinitionSerializer(item: FunctionToolDefinition): any {\n return {\n type: item[\"type\"],\n function: functionDefinitionSerializer(item[\"function\"]),\n };\n}\n\nexport function functionToolDefinitionDeserializer(item: any): FunctionToolDefinition {\n return {\n type: item[\"type\"],\n function: functionDefinitionDeserializer(item[\"function\"]),\n };\n}\n\n/** The input definition information for a function. */\nexport interface FunctionDefinition {\n /** The name of the function to be called. */\n name: string;\n /** A description of what the function does, used by the model to choose when and how to call the function. */\n description?: string;\n /** The parameters the functions accepts, described as a JSON Schema object. */\n parameters: any;\n}\n\nexport function functionDefinitionSerializer(item: FunctionDefinition): any {\n return {\n name: item[\"name\"],\n description: item[\"description\"],\n parameters: item[\"parameters\"],\n };\n}\n\nexport function functionDefinitionDeserializer(item: any): FunctionDefinition {\n return {\n name: item[\"name\"],\n description: item[\"description\"],\n parameters: item[\"parameters\"],\n };\n}\n\n/** The input definition information for a bing grounding search tool as used to configure an agent. */\nexport interface BingGroundingToolDefinition extends ToolDefinition {\n /** The object type, which is always 'bing_grounding'. */\n type: \"bing_grounding\";\n /** The bing grounding search tool parameters. */\n bingGrounding: BingGroundingSearchToolParameters;\n}\n\nexport function bingGroundingToolDefinitionSerializer(item: BingGroundingToolDefinition): any {\n return {\n type: item[\"type\"],\n bing_grounding: bingGroundingSearchToolParametersSerializer(item[\"bingGrounding\"]),\n };\n}\n\nexport function bingGroundingToolDefinitionDeserializer(item: any): BingGroundingToolDefinition {\n return {\n type: item[\"type\"],\n bingGrounding: bingGroundingSearchToolParametersDeserializer(item[\"bing_grounding\"]),\n };\n}\n\n/** The bing grounding search tool parameters. */\nexport interface BingGroundingSearchToolParameters {\n /**\n * The search configurations attached to this tool. There can be a maximum of 1\n * search configuration resource attached to the tool.\n */\n searchConfigurations: BingGroundingSearchConfiguration[];\n}\n\nexport function bingGroundingSearchToolParametersSerializer(\n item: BingGroundingSearchToolParameters,\n): any {\n return {\n search_configurations: bingGroundingSearchConfigurationArraySerializer(\n item[\"searchConfigurations\"],\n ),\n };\n}\n\nexport function bingGroundingSearchToolParametersDeserializer(\n item: any,\n): BingGroundingSearchToolParameters {\n // Handle the case where item might be undefined\n if (!item) {\n return { searchConfigurations: [] };\n }\n return {\n searchConfigurations: bingGroundingSearchConfigurationArrayDeserializer(\n item[\"search_configurations\"],\n ),\n };\n}\n\nexport function bingGroundingSearchConfigurationArraySerializer(\n result: Array<BingGroundingSearchConfiguration>,\n): any[] {\n return result.map((item) => {\n return bingGroundingSearchConfigurationSerializer(item);\n });\n}\n\nexport function bingGroundingSearchConfigurationArrayDeserializer(\n result: Array<BingGroundingSearchConfiguration>,\n): any[] {\n // Handle the case where result might be undefined\n if (!result) {\n return [];\n }\n return result.map((item) => {\n return bingGroundingSearchConfigurationDeserializer(item);\n });\n}\n\n/** Search configuration for Bing Grounding */\nexport interface BingGroundingSearchConfiguration {\n /** Connection id for grounding with bing search */\n connectionId: string;\n /** The market where the results come from. */\n market?: string;\n /** The language to use for user interface strings when calling Bing API. */\n setLang?: string;\n /** The number of search results to return in the bing api response */\n count?: number;\n /** Filter search results by a specific time range. Accepted values: https://learn.microsoft.com/bing/search-apis/bing-web-search/reference/query-parameters */\n freshness?: string;\n}\n\nexport function bingGroundingSearchConfigurationSerializer(\n item: BingGroundingSearchConfiguration,\n): any {\n return {\n connection_id: item[\"connectionId\"],\n market: item[\"market\"],\n set_lang: item[\"setLang\"],\n count: item[\"count\"],\n freshness: item[\"freshness\"],\n };\n}\n\nexport function bingGroundingSearchConfigurationDeserializer(\n item: any,\n): BingGroundingSearchConfiguration {\n return {\n connectionId: item[\"connection_id\"],\n market: item[\"market\"],\n setLang: item[\"set_lang\"],\n count: item[\"count\"],\n freshness: item[\"freshness\"],\n };\n}\n\n/** The input definition information for a Microsoft Fabric tool as used to configure an agent. */\nexport interface MicrosoftFabricToolDefinition extends ToolDefinition {\n /** The object type, which is always 'fabric_dataagent'. */\n type: \"fabric_dataagent\";\n /** The fabric data agent tool parameters. */\n fabricDataagent: FabricDataAgentToolParameters;\n}\n\nexport function microsoftFabricToolDefinitionSerializer(item: MicrosoftFabricToolDefinition): any {\n return {\n type: item[\"type\"],\n fabric_dataagent: fabricDataAgentToolParametersSerializer(item[\"fabricDataagent\"]),\n };\n}\n\nexport function microsoftFabricToolDefinitionDeserializer(\n item: any,\n): MicrosoftFabricToolDefinition {\n return {\n type: item[\"type\"],\n fabricDataagent: fabricDataAgentToolParametersDeserializer(item[\"fabric_dataagent\"]),\n };\n}\n\n/** The fabric data agent tool parameters. */\nexport interface FabricDataAgentToolParameters {\n /**\n * The connections attached to this tool. There can be a maximum of 1 connection\n * resource attached to the tool.\n */\n connectionList?: ToolConnection[];\n}\n\nexport function fabricDataAgentToolParametersSerializer(item: FabricDataAgentToolParameters): any {\n return {\n connections: !item[\"connectionList\"]\n ? item[\"connectionList\"]\n : toolConnectionArraySerializer(item[\"connectionList\"]),\n };\n}\n\nexport function fabricDataAgentToolParametersDeserializer(\n item: any,\n): FabricDataAgentToolParameters {\n return {\n connectionList: !item[\"connections\"]\n ? item[\"connections\"]\n : toolConnectionArrayDeserializer(item[\"connections\"]),\n };\n}\n\nexport function toolConnectionArraySerializer(result: Array<ToolConnection>): any[] {\n return result.map((item) => {\n return toolConnectionSerializer(item);\n });\n}\n\nexport function toolConnectionArrayDeserializer(result: Array<ToolConnection>): any[] {\n return result.map((item) => {\n return toolConnectionDeserializer(item);\n });\n}\n\n/** A connection resource. */\nexport interface ToolConnection {\n /** A connection in a ToolConnectionList attached to this tool. */\n connectionId: string;\n}\n\nexport function toolConnectionSerializer(item: ToolConnection): any {\n return { connection_id: item[\"connectionId\"] };\n}\n\nexport function toolConnectionDeserializer(item: any): ToolConnection {\n return {\n connectionId: item[\"connection_id\"],\n };\n}\n\n/** The input definition information for a sharepoint tool as used to configure an agent. */\nexport interface SharepointToolDefinition extends ToolDefinition {\n /** The object type, which is always 'sharepoint_grounding'. */\n type: \"sharepoint_grounding\";\n /** The sharepoint grounding tool parameters. */\n sharepointGrounding: SharepointGroundingToolParameters;\n}\n\nexport function sharepointToolDefinitionSerializer(item: SharepointToolDefinition): any {\n return {\n type: item[\"type\"],\n sharepoint_grounding: sharepointGroundingToolParametersSerializer(item[\"sharepointGrounding\"]),\n };\n}\n\nexport function sharepointToolDefinitionDeserializer(item: any): SharepointToolDefinition {\n return {\n type: item[\"type\"],\n sharepointGrounding: sharepointGroundingToolParametersDeserializer(\n item[\"sharepoint_grounding\"],\n ),\n };\n}\n\n/** The sharepoint grounding tool parameters. */\nexport interface SharepointGroundingToolParameters {\n /**\n * The connections attached to this tool. There can be a maximum of 1 connection\n * resource attached to the tool.\n */\n connectionList?: ToolConnection[];\n}\n\nexport function sharepointGroundingToolParametersSerializer(\n item: SharepointGroundingToolParameters,\n): any {\n return {\n connections: !item[\"connectionList\"]\n ? item[\"connectionList\"]\n : toolConnectionArraySerializer(item[\"connectionList\"]),\n };\n}\n\nexport function sharepointGroundingToolParametersDeserializer(\n item: any,\n): SharepointGroundingToolParameters {\n return {\n connectionList: !item[\"connections\"]\n ? item[\"connections\"]\n : toolConnectionArrayDeserializer(item[\"connections\"]),\n };\n}\n\n/** The input definition information for an Azure AI search tool as used to configure an agent. */\nexport interface AzureAISearchToolDefinition extends ToolDefinition {\n /** The object type, which is always 'azure_ai_search'. */\n type: \"azure_ai_search\";\n}\n\nexport function azureAISearchToolDefinitionSerializer(item: AzureAISearchToolDefinition): any {\n return { type: item[\"type\"] };\n}\n\nexport function azureAISearchToolDefinitionDeserializer(item: any): AzureAISearchToolDefinition {\n return {\n type: item[\"type\"],\n };\n}\n\n/** The input definition information for an OpenAPI tool as used to configure an agent. */\nexport interface OpenApiToolDefinition extends ToolDefinition {\n /** The object type, which is always 'openapi'. */\n type: \"openapi\";\n /** The openapi function definition. */\n openapi: OpenApiFunctionDefinition;\n}\n\nexport function openApiToolDefinitionSerializer(item: OpenApiToolDefinition): any {\n return {\n type: item[\"type\"],\n openapi: openApiFunctionDefinitionSerializer(item[\"openapi\"]),\n };\n}\n\nexport function openApiToolDefinitionDeserializer(item: any): OpenApiToolDefinition {\n return {\n type: item[\"type\"],\n openapi: openApiFunctionDefinitionDeserializer(item[\"openapi\"]),\n };\n}\n\n/** The input definition information for an openapi function. */\nexport interface OpenApiFunctionDefinition {\n /** The name of the function to be called. */\n name: string;\n /** A description of what the function does, used by the model to choose when and how to call the function. */\n description?: string;\n /** The openapi function shape, described as a JSON Schema object. */\n spec: any;\n /** Open API authentication details */\n auth: OpenApiAuthDetailsUnion;\n /** List of OpenAPI spec parameters that will use user-provided defaults */\n defaultParams?: string[];\n /** List of function definitions used by OpenApi tool */\n readonly functions?: FunctionDefinition[];\n}\n\nexport function openApiFunctionDefinitionSerializer(item: OpenApiFunctionDefinition): any {\n return {\n name: item[\"name\"],\n description: item[\"description\"],\n spec: item[\"spec\"],\n auth: openApiAuthDetailsUnionSerializer(item[\"auth\"]),\n default_params: !item[\"defaultParams\"]\n ? item[\"defaultParams\"]\n : item[\"defaultParams\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function openApiFunctionDefinitionDeserializer(item: any): OpenApiFunctionDefinition {\n return {\n name: item[\"name\"],\n description: item[\"description\"],\n spec: item[\"spec\"],\n auth: openApiAuthDetailsUnionDeserializer(item[\"auth\"]),\n defaultParams: !item[\"default_params\"]\n ? item[\"default_params\"]\n : item[\"default_params\"].map((p: any) => {\n return p;\n }),\n functions: !item[\"functions\"]\n ? item[\"functions\"]\n : functionDefinitionArrayDeserializer(item[\"functions\"]),\n };\n}\n\n/** authentication details for OpenApiFunctionDefinition */\nexport interface OpenApiAuthDetails {\n /** The type of authentication, must be anonymous/connection/managed_identity */\n /** The discriminator possible values: anonymous, connection, managed_identity */\n type: OpenApiAuthType;\n}\n\nexport function openApiAuthDetailsSerializer(item: OpenApiAuthDetails): any {\n return { type: item[\"type\"] };\n}\n\nexport function openApiAuthDetailsDeserializer(item: any): OpenApiAuthDetails {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for OpenApiAuthDetailsUnion */\nexport type OpenApiAuthDetailsUnion =\n | OpenApiAnonymousAuthDetails\n | OpenApiConnectionAuthDetails\n | OpenApiManagedAuthDetails\n | OpenApiAuthDetails;\n\nexport function openApiAuthDetailsUnionSerializer(item: OpenApiAuthDetailsUnion): any {\n switch (item.type) {\n case \"anonymous\":\n return openApiAnonymousAuthDetailsSerializer(item as OpenApiAnonymousAuthDetails);\n\n case \"connection\":\n return openApiConnectionAuthDetailsSerializer(item as OpenApiConnectionAuthDetails);\n\n case \"managed_identity\":\n return openApiManagedAuthDetailsSerializer(item as OpenApiManagedAuthDetails);\n\n default:\n return openApiAuthDetailsSerializer(item);\n }\n}\n\nexport function openApiAuthDetailsUnionDeserializer(item: any): OpenApiAuthDetailsUnion {\n switch (item.type) {\n case \"anonymous\":\n return openApiAnonymousAuthDetailsDeserializer(item as OpenApiAnonymousAuthDetails);\n\n case \"connection\":\n return openApiConnectionAuthDetailsDeserializer(item as OpenApiConnectionAuthDetails);\n\n case \"managed_identity\":\n return openApiManagedAuthDetailsDeserializer(item as OpenApiManagedAuthDetails);\n\n default:\n return openApiAuthDetailsDeserializer(item);\n }\n}\n\n/**\n * Authentication type for OpenApi endpoint. Allowed types are:\n * - Anonymous (no authentication required)\n * - Connection (requires connection_id to endpoint, as setup in AI Foundry)\n * - Managed_Identity (requires audience for identity based auth)\n */\nexport type OpenApiAuthType = \"anonymous\" | \"connection\" | \"managed_identity\";\n\n/** Security details for OpenApi anonymous authentication */\nexport interface OpenApiAnonymousAuthDetails extends OpenApiAuthDetails {\n /** The object type, which is always 'anonymous'. */\n type: \"anonymous\";\n}\n\nexport function openApiAnonymousAuthDetailsSerializer(item: OpenApiAnonymousAuthDetails): any {\n return { type: item[\"type\"] };\n}\n\nexport function openApiAnonymousAuthDetailsDeserializer(item: any): OpenApiAnonymousAuthDetails {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Security details for OpenApi connection authentication */\nexport interface OpenApiConnectionAuthDetails extends OpenApiAuthDetails {\n /** The object type, which is always 'connection'. */\n type: \"connection\";\n /** Connection auth security details */\n securityScheme: OpenApiConnectionSecurityScheme;\n}\n\nexport function openApiConnectionAuthDetailsSerializer(item: OpenApiConnectionAuthDetails): any {\n return {\n type: item[\"type\"],\n security_scheme: openApiConnectionSecuritySchemeSerializer(item[\"securityScheme\"]),\n };\n}\n\nexport function openApiConnectionAuthDetailsDeserializer(item: any): OpenApiConnectionAuthDetails {\n return {\n type: item[\"type\"],\n securityScheme: openApiConnectionSecuritySchemeDeserializer(item[\"security_scheme\"]),\n };\n}\n\n/** Security scheme for OpenApi managed_identity authentication */\nexport interface OpenApiConnectionSecurityScheme {\n /** Connection id for Connection auth type */\n connectionId: string;\n}\n\nexport function openApiConnectionSecuritySchemeSerializer(\n item: OpenApiConnectionSecurityScheme,\n): any {\n return { connection_id: item[\"connectionId\"] };\n}\n\nexport function openApiConnectionSecuritySchemeDeserializer(\n item: any,\n): OpenApiConnectionSecurityScheme {\n return {\n connectionId: item[\"connection_id\"],\n };\n}\n\n/** Security details for OpenApi managed_identity authentication */\nexport interface OpenApiManagedAuthDetails extends OpenApiAuthDetails {\n /** The object type, which is always 'managed_identity'. */\n type: \"managed_identity\";\n /** Connection auth security details */\n securityScheme: OpenApiManagedSecurityScheme;\n}\n\nexport function openApiManagedAuthDetailsSerializer(item: OpenApiManagedAuthDetails): any {\n return {\n type: item[\"type\"],\n security_scheme: openApiManagedSecuritySchemeSerializer(item[\"securityScheme\"]),\n };\n}\n\nexport function openApiManagedAuthDetailsDeserializer(item: any): OpenApiManagedAuthDetails {\n return {\n type: item[\"type\"],\n securityScheme: openApiManagedSecuritySchemeDeserializer(item[\"security_scheme\"]),\n };\n}\n\n/** Security scheme for OpenApi managed_identity authentication */\nexport interface OpenApiManagedSecurityScheme {\n /** Authentication scope for managed_identity auth type */\n audience: string;\n}\n\nexport function openApiManagedSecuritySchemeSerializer(item: OpenApiManagedSecurityScheme): any {\n return { audience: item[\"audience\"] };\n}\n\nexport function openApiManagedSecuritySchemeDeserializer(item: any): OpenApiManagedSecurityScheme {\n return {\n audience: item[\"audience\"],\n };\n}\n\nexport function functionDefinitionArraySerializer(result: Array<FunctionDefinition>): any[] {\n return result.map((item) => {\n return functionDefinitionSerializer(item);\n });\n}\n\nexport function functionDefinitionArrayDeserializer(result: Array<FunctionDefinition>): any[] {\n return result.map((item) => {\n return functionDefinitionDeserializer(item);\n });\n}\n\n/** The input definition information for a Bing custom search tool as used to configure an agent. */\nexport interface BingCustomSearchToolDefinition extends ToolDefinition {\n /** The object type, which is always 'bing_custom_search'. */\n type: \"bing_custom_search\";\n /** The bing custom search tool parameters. */\n bingCustomSearch: BingCustomSearchToolParameters;\n}\n\nexport function bingCustomSearchToolDefinitionSerializer(\n item: BingCustomSearchToolDefinition,\n): any {\n return {\n type: item[\"type\"],\n bing_custom_search: bingCustomSearchToolParametersSerializer(item[\"bingCustomSearch\"]),\n };\n}\n\nexport function bingCustomSearchToolDefinitionDeserializer(\n item: any,\n): BingCustomSearchToolDefinition {\n return {\n type: item[\"type\"],\n bingCustomSearch: bingCustomSearchToolParametersDeserializer(item[\"bing_custom_search\"]),\n };\n}\n\n/** The bing custom search tool parameters. */\nexport interface BingCustomSearchToolParameters {\n /**\n * The connections attached to this tool. There can be a maximum of 1 connection\n * resource attached to the tool.\n */\n searchConfigurations: BingCustomSearchConfiguration[];\n}\n\nexport function bingCustomSearchToolParametersSerializer(\n item: BingCustomSearchToolParameters,\n): any {\n return {\n search_configurations: bingCustomSearchConfigurationArraySerializer(\n item[\"searchConfigurations\"],\n ),\n };\n}\n\nexport function bingCustomSearchToolParametersDeserializer(\n item: any,\n): BingCustomSearchToolParameters {\n return {\n searchConfigurations: bingCustomSearchConfigurationArrayDeserializer(\n item[\"search_configurations\"],\n ),\n };\n}\n\nexport function bingCustomSearchConfigurationArraySerializer(\n result: Array<BingCustomSearchConfiguration>,\n): any[] {\n return result.map((item) => {\n return bingCustomSearchConfigurationSerializer(item);\n });\n}\n\nexport function bingCustomSearchConfigurationArrayDeserializer(\n result: Array<BingCustomSearchConfiguration>,\n): any[] {\n return result.map((item) => {\n return bingCustomSearchConfigurationDeserializer(item);\n });\n}\n\n/** A bing custom search configuration. */\nexport interface BingCustomSearchConfiguration {\n /** Connection id for grounding with bing search */\n connectionId: string;\n /** Name of the custom configuration instance given to config. */\n instanceName: string;\n /** The market where the results come from. */\n market?: string;\n /** The language to use for user interface strings when calling Bing API. */\n setLang?: string;\n /** The number of search results to return in the bing api response */\n count?: number;\n /** Filter search results by a specific time range. Accepted values: https://learn.microsoft.com/bing/search-apis/bing-web-search/reference/query-parameters */\n freshness?: string;\n}\n\nexport function bingCustomSearchConfigurationSerializer(item: BingCustomSearchConfiguration): any {\n return {\n connection_id: item[\"connectionId\"],\n instance_name: item[\"instanceName\"],\n market: item[\"market\"],\n set_lang: item[\"setLang\"],\n count: item[\"count\"],\n freshness: item[\"freshness\"],\n };\n}\n\nexport function bingCustomSearchConfigurationDeserializer(\n item: any,\n): BingCustomSearchConfiguration {\n return {\n connectionId: item[\"connection_id\"],\n instanceName: item[\"instance_name\"],\n market: item[\"market\"],\n setLang: item[\"set_lang\"],\n count: item[\"count\"],\n freshness: item[\"freshness\"],\n };\n}\n\n/** The input definition information for a connected agent tool which defines a domain specific sub-agent */\nexport interface ConnectedAgentToolDefinition extends ToolDefinition {\n /** The object type, which is always 'connected_agent'. */\n type: \"connected_agent\";\n /** The sub-agent to connect */\n connectedAgent: ConnectedAgentDetails;\n}\n\nexport function connectedAgentToolDefinitionSerializer(item: ConnectedAgentToolDefinition): any {\n return {\n type: item[\"type\"],\n connected_agent: connectedAgentDetailsSerializer(item[\"connectedAgent\"]),\n };\n}\n\nexport function connectedAgentToolDefinitionDeserializer(item: any): ConnectedAgentToolDefinition {\n return {\n type: item[\"type\"],\n connectedAgent: connectedAgentDetailsDeserializer(item[\"connected_agent\"]),\n };\n}\n\n/** Information for connecting one agent to another as a tool */\nexport interface ConnectedAgentDetails {\n /** The identifier of the child agent. */\n id: string;\n /** The name of the agent to be called. */\n name: string;\n /** A description of what the agent does, used by the model to choose when and how to call the agent. */\n description: string;\n}\n\nexport function connectedAgentDetailsSerializer(item: ConnectedAgentDetails): any {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n description: item[\"description\"],\n };\n}\n\nexport function connectedAgentDetailsDeserializer(item: any): ConnectedAgentDetails {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n description: item[\"description\"],\n };\n}\n\n/** The input definition information for a Deep Research tool as used to configure an agent. */\nexport interface DeepResearchToolDefinition extends ToolDefinition {\n /** The object type, which is always 'deep_research'. */\n type: \"deep_research\";\n /** The deep_research tool definition configuration. */\n deepResearch: DeepResearchDetails;\n}\n\nexport function deepResearchToolDefinitionSerializer(item: DeepResearchToolDefinition): any {\n return {\n type: item[\"type\"],\n deep_research: deepResearchDetailsSerializer(item[\"deepResearch\"]),\n };\n}\n\nexport function deepResearchToolDefinitionDeserializer(item: any): DeepResearchToolDefinition {\n return {\n type: item[\"type\"],\n deepResearch: deepResearchDetailsDeserializer(item[\"deep_research\"]),\n };\n}\n\n/** The details of the Deep Research tool. */\nexport interface DeepResearchDetails {\n /** The deep research model deployment name. */\n model: string;\n /** The array containing Bing grounding connection IDs to enhance deep research capabilities. */\n bingGroundingConnections: DeepResearchBingGroundingConnection[];\n}\n\nexport function deepResearchDetailsSerializer(item: DeepResearchDetails): any {\n return {\n deep_research_model: item[\"model\"],\n bing_grounding_connections: deepResearchBingGroundingConnectionArraySerializer(\n item[\"bingGroundingConnections\"],\n ),\n };\n}\n\nexport function deepResearchDetailsDeserializer(item: any): DeepResearchDetails {\n return {\n model: item[\"deep_research_model\"],\n bingGroundingConnections: deepResearchBingGroundingConnectionArrayDeserializer(\n item[\"bing_grounding_connections\"],\n ),\n };\n}\n\nexport function deepResearchBingGroundingConnectionArraySerializer(\n result: Array<DeepResearchBingGroundingConnection>,\n): any[] {\n return result.map((item) => {\n return deepResearchBingGroundingConnectionSerializer(item);\n });\n}\n\nexport function deepResearchBingGroundingConnectionArrayDeserializer(\n result: Array<DeepResearchBingGroundingConnection>,\n): any[] {\n return result.map((item) => {\n return deepResearchBingGroundingConnectionDeserializer(item);\n });\n}\n\n/** The connection resource ID for the Bing grounding resource . */\nexport interface DeepResearchBingGroundingConnection {\n /** The connection ID for the Bing grounding connection. */\n connectionId: string;\n}\n\nexport function deepResearchBingGroundingConnectionSerializer(\n item: DeepResearchBingGroundingConnection,\n): any {\n return { connection_id: item[\"connectionId\"] };\n}\n\nexport function deepResearchBingGroundingConnectionDeserializer(\n item: any,\n): DeepResearchBingGroundingConnection {\n return {\n connectionId: item[\"connection_id\"],\n };\n}\n\n/** The input definition information for a MCP tool which defines a MCP server endpoint */\nexport interface MCPToolDefinition extends ToolDefinition {\n /** The object type, which is always 'mcp'. */\n type: \"mcp\";\n /** The label for the MCP server */\n serverLabel: string;\n /** The endpoint for the MCP server */\n serverUrl: string;\n /** List of allowed tools for MCP server */\n allowedTools?: string[];\n}\n\nexport function mcpToolDefinitionSerializer(item: MCPToolDefinition): any {\n return {\n type: item[\"type\"],\n server_label: item[\"serverLabel\"],\n server_url: item[\"serverUrl\"],\n allowed_tools: !item[\"allowedTools\"]\n ? item[\"allowedTools\"]\n : item[\"allowedTools\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function mcpToolDefinitionDeserializer(item: any): MCPToolDefinition {\n return {\n type: item[\"type\"],\n serverLabel: item[\"server_label\"],\n serverUrl: item[\"server_url\"],\n allowedTools: !item[\"allowed_tools\"]\n ? item[\"allowed_tools\"]\n : item[\"allowed_tools\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/** The input definition information for a azure function tool as used to configure an agent. */\nexport interface AzureFunctionToolDefinition extends ToolDefinition {\n /** The object type, which is always 'azure_function'. */\n type: \"azure_function\";\n /** The definition of the concrete function that the function tool should call. */\n azureFunction: AzureFunctionDefinition;\n}\n\nexport function azureFunctionToolDefinitionSerializer(item: AzureFunctionToolDefinition): any {\n return {\n type: item[\"type\"],\n azure_function: azureFunctionDefinitionSerializer(item[\"azureFunction\"]),\n };\n}\n\nexport function azureFunctionToolDefinitionDeserializer(item: any): AzureFunctionToolDefinition {\n return {\n type: item[\"type\"],\n azureFunction: azureFunctionDefinitionDeserializer(item[\"azure_function\"]),\n };\n}\n\n/** The definition of Azure function. */\nexport interface AzureFunctionDefinition {\n /** The definition of azure function and its parameters. */\n function: FunctionDefinition;\n /** Input storage queue. The queue storage trigger runs a function as messages are added to it. */\n inputBinding: AzureFunctionBinding;\n /** Output storage queue. The function writes output to this queue when the input items are processed. */\n outputBinding: AzureFunctionBinding;\n}\n\nexport function azureFunctionDefinitionSerializer(item: AzureFunctionDefinition): any {\n return {\n function: functionDefinitionSerializer(item[\"function\"]),\n input_binding: azureFunctionBindingSerializer(item[\"inputBinding\"]),\n output_binding: azureFunctionBindingSerializer(item[\"outputBinding\"]),\n };\n}\n\nexport function azureFunctionDefinitionDeserializer(item: any): AzureFunctionDefinition {\n return {\n function: functionDefinitionDeserializer(item[\"function\"]),\n inputBinding: azureFunctionBindingDeserializer(item[\"input_binding\"]),\n outputBinding: azureFunctionBindingDeserializer(item[\"output_binding\"]),\n };\n}\n\n/** The structure for keeping storage queue name and URI. */\nexport interface AzureFunctionBinding {\n /** The type of binding, which is always 'storage_queue'. */\n type: \"storage_queue\";\n /** Storage queue. */\n storageQueue: AzureFunctionStorageQueue;\n}\n\nexport function azureFunctionBindingSerializer(item: AzureFunctionBinding): any {\n return {\n type: item[\"type\"],\n storage_queue: azureFunctionStorageQueueSerializer(item[\"storageQueue\"]),\n };\n}\n\nexport function azureFunctionBindingDeserializer(item: any): AzureFunctionBinding {\n return {\n type: item[\"type\"],\n storageQueue: azureFunctionStorageQueueDeserializer(item[\"storage_queue\"]),\n };\n}\n\n/** The structure for keeping storage queue name and URI. */\nexport interface AzureFunctionStorageQueue {\n /** URI to the Azure Storage Queue service allowing you to manipulate a queue. */\n storageServiceEndpoint: string;\n /** The name of an Azure function storage queue. */\n queueName: string;\n}\n\nexport function azureFunctionStorageQueueSerializer(item: AzureFunctionStorageQueue): any {\n return {\n queue_service_endpoint: item[\"storageServiceEndpoint\"],\n queue_name: item[\"queueName\"],\n };\n}\n\nexport function azureFunctionStorageQueueDeserializer(item: any): AzureFunctionStorageQueue {\n return {\n storageServiceEndpoint: item[\"queue_service_endpoint\"],\n queueName: item[\"queue_name\"],\n };\n}\n\n/** The input definition information for a Browser Automation Tool, as used to configure an Agent. */\nexport interface BrowserAutomationToolDefinition extends ToolDefinition {\n /** The object type, which is always 'browser_automation'. */\n type: \"browser_automation\";\n /** The Browser Automation Tool parameters. */\n browserAutomation: BrowserAutomationToolParameters;\n}\n\nexport function browserAutomationToolDefinitionSerializer(\n item: BrowserAutomationToolDefinition,\n): any {\n return {\n type: item[\"type\"],\n browser_automation: browserAutomationToolParametersSerializer(item[\"browserAutomation\"]),\n };\n}\n\nexport function browserAutomationToolDefinitionDeserializer(\n item: any,\n): BrowserAutomationToolDefinition {\n return {\n type: item[\"type\"],\n browserAutomation: browserAutomationToolParametersDeserializer(item[\"browser_automation\"]),\n };\n}\n\n/** Definition of input parameters for the Browser Automation Tool. */\nexport interface BrowserAutomationToolParameters {\n /** The connection parameters associated with the Browser Automation Tool. */\n connection: BrowserAutomationToolConnectionParameters;\n}\n\nexport function browserAutomationToolParametersSerializer(\n item: BrowserAutomationToolParameters,\n): any {\n return {\n connection: browserAutomationToolConnectionParametersSerializer(item[\"connection\"]),\n };\n}\n\nexport function browserAutomationToolParametersDeserializer(\n item: any,\n): BrowserAutomationToolParameters {\n return {\n connection: browserAutomationToolConnectionParametersDeserializer(item[\"connection\"]),\n };\n}\n\n/** Definition of input parameters for the connection used by the Browser Automation Tool. */\nexport interface BrowserAutomationToolConnectionParameters {\n /** The ID of the connection to your Azure Playwright resource. */\n id: string;\n}\n\nexport function browserAutomationToolConnectionParametersSerializer(\n item: BrowserAutomationToolConnectionParameters,\n): any {\n return { id: item[\"id\"] };\n}\n\nexport function browserAutomationToolConnectionParametersDeserializer(\n item: any,\n): BrowserAutomationToolConnectionParameters {\n return {\n id: item[\"id\"],\n };\n}\n\n/**\n * A set of resources that are used by the agent's tools. The resources are specific to the type of\n * tool. For example, the `code_interpreter` tool requires a list of file IDs, while the `file_search`\n * tool requires a list of vector store IDs.\n */\nexport interface ToolResources {\n /** Resources to be used by the `code_interpreter` tool consisting of file IDs. */\n codeInterpreter?: CodeInterpreterToolResource;\n /** Resources to be used by the `file_search` tool consisting of vector store IDs. */\n fileSearch?: FileSearchToolResource;\n /** Resources to be used by the `azure_ai_search` tool consisting of index IDs and names. */\n azureAISearch?: AzureAISearchToolResource;\n /** Resources to be used by the `mcp` tool consisting of a server label and headers. */\n mcp?: MCPToolResource[];\n}\n\nexport function toolResourcesSerializer(item: ToolResources): any {\n return {\n code_interpreter: !item[\"codeInterpreter\"]\n ? item[\"codeInterpreter\"]\n : codeInterpreterToolResourceSerializer(item[\"codeInterpreter\"]),\n file_search: !item[\"fileSearch\"]\n ? item[\"fileSearch\"]\n : fileSearchToolResourceSerializer(item[\"fileSearch\"]),\n azure_ai_search: !item[\"azureAISearch\"]\n ? item[\"azureAISearch\"]\n : azureAISearchToolResourceSerializer(item[\"azureAISearch\"]),\n mcp: !item[\"mcp\"] ? item[\"mcp\"] : mcpToolResourceArraySerializer(item[\"mcp\"]),\n };\n}\n\nexport function toolResourcesDeserializer(item: any): ToolResources {\n return {\n codeInterpreter: !item[\"code_interpreter\"]\n ? item[\"code_interpreter\"]\n : codeInterpreterToolResourceDeserializer(item[\"code_interpreter\"]),\n fileSearch: !item[\"file_search\"]\n ? item[\"file_search\"]\n : fileSearchToolResourceDeserializer(item[\"file_search\"]),\n azureAISearch: !item[\"azure_ai_search\"]\n ? item[\"azure_ai_search\"]\n : azureAISearchToolResourceDeserializer(item[\"azure_ai_search\"]),\n mcp: !item[\"mcp\"] ? item[\"mcp\"] : mcpToolResourceArrayDeserializer(item[\"mcp\"]),\n };\n}\n\n/** A set of resources that are used by the `code_interpreter` tool. */\nexport interface CodeInterpreterToolResource {\n /**\n * A list of file IDs made available to the `code_interpreter` tool. There can be a maximum of 20 files\n * associated with the tool.\n */\n fileIds?: string[];\n /** The data sources to be used. This option is mutually exclusive with the `fileIds` property. */\n dataSources?: VectorStoreDataSource[];\n}\n\nexport function codeInterpreterToolResourceSerializer(item: CodeInterpreterToolResource): any {\n return {\n file_ids: !item[\"fileIds\"]\n ? item[\"fileIds\"]\n : item[\"fileIds\"].map((p: any) => {\n return p;\n }),\n data_sources: !item[\"dataSources\"]\n ? item[\"dataSources\"]\n : vectorStoreDataSourceArraySerializer(item[\"dataSources\"]),\n };\n}\n\nexport function codeInterpreterToolResourceDeserializer(item: any): CodeInterpreterToolResource {\n return {\n fileIds: !item[\"file_ids\"]\n ? item[\"file_ids\"]\n : item[\"file_ids\"].map((p: any) => {\n return p;\n }),\n dataSources: !item[\"data_sources\"]\n ? item[\"data_sources\"]\n : vectorStoreDataSourceArrayDeserializer(item[\"data_sources\"]),\n };\n}\n\nexport function vectorStoreDataSourceArraySerializer(result: Array<VectorStoreDataSource>): any[] {\n return result.map((item) => {\n return vectorStoreDataSourceSerializer(item);\n });\n}\n\nexport function vectorStoreDataSourceArrayDeserializer(\n result: Array<VectorStoreDataSource>,\n): any[] {\n return result.map((item) => {\n return vectorStoreDataSourceDeserializer(item);\n });\n}\n\n/**\n * The structure, containing Azure asset URI path and the asset type of the file used as a data source\n * for the enterprise file search.\n */\nexport interface VectorStoreDataSource {\n /** Asset URI. */\n assetIdentifier: string;\n /** The asset type */\n assetType: VectorStoreDataSourceAssetType;\n}\n\nexport function vectorStoreDataSourceSerializer(item: VectorStoreDataSource): any {\n return { uri: item[\"assetIdentifier\"], type: item[\"assetType\"] };\n}\n\nexport function vectorStoreDataSourceDeserializer(item: any): VectorStoreDataSource {\n return {\n assetIdentifier: item[\"uri\"],\n assetType: item[\"type\"],\n };\n}\n\n/**\n * Type of vector storage asset. Asset type may be a uri_asset, in this case it should contain asset URI ID,\n * in the case of id_asset it should contain the data ID.\n */\nexport enum VectorStoreDataSourceAssetType {\n UriAsset = \"uri_asset\",\n IdAsset = \"id_asset\",\n}\n\n/** A set of resources that are used by the `file_search` tool. */\nexport interface FileSearchToolResource {\n /**\n * The ID of the vector store attached to this agent. There can be a maximum of 1 vector\n * store attached to the agent.\n */\n vectorStoreIds?: string[];\n /**\n * The list of vector store configuration objects from Azure.\n * This list is limited to one element.\n * The only element of this list contains the list of azure asset IDs used by the search tool.\n */\n vectorStores?: VectorStoreConfigurations[];\n}\n\nexport function fileSearchToolResourceSerializer(item: FileSearchToolResource): any {\n return {\n vector_store_ids: !item[\"vectorStoreIds\"]\n ? item[\"vectorStoreIds\"]\n : item[\"vectorStoreIds\"].map((p: any) => {\n return p;\n }),\n vector_stores: !item[\"vectorStores\"]\n ? item[\"vectorStores\"]\n : vectorStoreConfigurationsArraySerializer(item[\"vectorStores\"]),\n };\n}\n\nexport function fileSearchToolResourceDeserializer(item: any): FileSearchToolResource {\n return {\n vectorStoreIds: !item[\"vector_store_ids\"]\n ? item[\"vector_store_ids\"]\n : item[\"vector_store_ids\"].map((p: any) => {\n return p;\n }),\n vectorStores: !item[\"vector_stores\"]\n ? item[\"vector_stores\"]\n : vectorStoreConfigurationsArrayDeserializer(item[\"vector_stores\"]),\n };\n}\n\nexport function vectorStoreConfigurationsArraySerializer(\n result: Array<VectorStoreConfigurations>,\n): any[] {\n return result.map((item) => {\n return vectorStoreConfigurationsSerializer(item);\n });\n}\n\nexport function vectorStoreConfigurationsArrayDeserializer(\n result: Array<VectorStoreConfigurations>,\n): any[] {\n return result.map((item) => {\n return vectorStoreConfigurationsDeserializer(item);\n });\n}\n\n/** The structure, containing the list of vector storage configurations i.e. the list of azure asset IDs. */\nexport interface VectorStoreConfigurations {\n /** Name */\n storeName: string;\n /** Configurations */\n storeConfiguration: VectorStoreConfiguration;\n}\n\nexport function vectorStoreConfigurationsSerializer(item: VectorStoreConfigurations): any {\n return {\n name: item[\"storeName\"],\n configuration: vectorStoreConfigurationSerializer(item[\"storeConfiguration\"]),\n };\n}\n\nexport function vectorStoreConfigurationsDeserializer(item: any): VectorStoreConfigurations {\n return {\n storeName: item[\"name\"],\n storeConfiguration: vectorStoreConfigurationDeserializer(item[\"configuration\"]),\n };\n}\n\n/**\n * Vector storage configuration is the list of data sources, used when multiple\n * files can be used for the enterprise file search.\n */\nexport interface VectorStoreConfiguration {\n /** Data sources */\n dataSources: VectorStoreDataSource[];\n}\n\nexport function vectorStoreConfigurationSerializer(item: VectorStoreConfiguration): any {\n return {\n data_sources: vectorStoreDataSourceArraySerializer(item[\"dataSources\"]),\n };\n}\n\nexport function vectorStoreConfigurationDeserializer(item: any): VectorStoreConfiguration {\n return {\n dataSources: vectorStoreDataSourceArrayDeserializer(item[\"data_sources\"]),\n };\n}\n\n/** A set of index resources used by the `azure_ai_search` tool. */\nexport interface AzureAISearchToolResource {\n /**\n * The indices attached to this agent. There can be a maximum of 1 index\n * resource attached to the agent.\n */\n indexList?: AISearchIndexResource[];\n}\n\nexport function azureAISearchToolResourceSerializer(item: AzureAISearchToolResource): any {\n return {\n indexes: !item[\"indexList\"]\n ? item[\"indexList\"]\n : aiSearchIndexResourceArraySerializer(item[\"indexList\"]),\n };\n}\n\nexport function azureAISearchToolResourceDeserializer(item: any): AzureAISearchToolResource {\n return {\n indexList: !item[\"indexes\"]\n ? item[\"indexes\"]\n : aiSearchIndexResourceArrayDeserializer(item[\"indexes\"]),\n };\n}\n\nexport function aiSearchIndexResourceArraySerializer(result: Array<AISearchIndexResource>): any[] {\n return result.map((item) => {\n return aiSearchIndexResourceSerializer(item);\n });\n}\n\nexport function aiSearchIndexResourceArrayDeserializer(\n result: Array<AISearchIndexResource>,\n): any[] {\n return result.map((item) => {\n return aiSearchIndexResourceDeserializer(item);\n });\n}\n\n/** A AI Search Index resource. */\nexport interface AISearchIndexResource {\n /** An index connection id in an IndexResource attached to this agent. */\n indexConnectionId?: string;\n /** The name of an index in an IndexResource attached to this agent. */\n indexName?: string;\n /** Type of query in an AIIndexResource attached to this agent. */\n queryType?: AzureAISearchQueryType;\n /** Number of documents to retrieve from search and present to the model. */\n topK?: number;\n /** filter string for search resource. */\n filter?: string;\n /** Index asset id for search resource. */\n indexAssetId?: string;\n}\n\nexport function aiSearchIndexResourceSerializer(item: AISearchIndexResource): any {\n return {\n index_connection_id: item[\"indexConnectionId\"],\n index_name: item[\"indexName\"],\n query_type: item[\"queryType\"],\n top_k: item[\"topK\"],\n filter: item[\"filter\"],\n index_asset_id: item[\"indexAssetId\"],\n };\n}\n\nexport function aiSearchIndexResourceDeserializer(item: any): AISearchIndexResource {\n return {\n indexConnectionId: item[\"index_connection_id\"],\n indexName: item[\"index_name\"],\n queryType: item[\"query_type\"],\n topK: item[\"top_k\"],\n filter: item[\"filter\"],\n indexAssetId: item[\"index_asset_id\"],\n };\n}\n\n/** Available query types for Azure AI Search tool. */\nexport type AzureAISearchQueryType =\n | \"simple\"\n | \"semantic\"\n | \"vector\"\n | \"vector_simple_hybrid\"\n | \"vector_semantic_hybrid\";\n\nexport function mcpToolResourceArraySerializer(result: Array<MCPToolResource>): any[] {\n return result.map((item) => {\n return mcpToolResourceSerializer(item);\n });\n}\n\nexport function mcpToolResourceArrayDeserializer(result: Array<MCPToolResource>): any[] {\n return result.map((item) => {\n return mcpToolResourceDeserializer(item);\n });\n}\n\n/** A set of resources that are used by the `mcp` tool. */\nexport interface MCPToolResource {\n /** The label for the MCP server */\n serverLabel: string;\n /** The headers for the MCP server updates */\n headers: Record<string, string>;\n /** Does MCP server require approval */\n requireApproval?: MCPRequiredApproval;\n}\n\nexport function mcpToolResourceSerializer(item: MCPToolResource): any {\n return {\n server_label: item[\"serverLabel\"],\n headers: item[\"headers\"],\n require_approval: !item[\"requireApproval\"]\n ? item[\"requireApproval\"]\n : mcpRequiredApprovalSerializer(item[\"requireApproval\"]),\n };\n}\n\nexport function mcpToolResourceDeserializer(item: any): MCPToolResource {\n return {\n serverLabel: item[\"server_label\"],\n headers: item[\"headers\"],\n requireApproval: !item[\"require_approval\"]\n ? item[\"require_approval\"]\n : mcpRequiredApprovalDeserializer(item[\"require_approval\"]),\n };\n}\n\n/** Alias for MCPRequiredApproval */\nexport type MCPRequiredApproval = string | \"never\" | \"always\" | MCPApprovalPerTool;\n\nexport function mcpRequiredApprovalSerializer(item: MCPRequiredApproval): any {\n return item;\n}\n\nexport function mcpRequiredApprovalDeserializer(item: any): MCPRequiredApproval {\n return item;\n}\n\n/** Customized MCP approval object, listing tools requiring and not requiring approvals */\nexport interface MCPApprovalPerTool {\n /** The list of tools, not requiring approval. */\n never?: MCPToolList;\n /** The list of tools, always requiring approval. */\n always?: MCPToolList;\n}\n\nexport function mcpApprovalPerToolSerializer(item: MCPApprovalPerTool): any {\n return {\n never: !item[\"never\"] ? item[\"never\"] : mcpToolListSerializer(item[\"never\"]),\n always: !item[\"always\"] ? item[\"always\"] : mcpToolListSerializer(item[\"always\"]),\n };\n}\n\nexport function mcpApprovalPerToolDeserializer(item: any): MCPApprovalPerTool {\n return {\n never: !item[\"never\"] ? item[\"never\"] : mcpToolListDeserializer(item[\"never\"]),\n always: !item[\"always\"] ? item[\"always\"] : mcpToolListDeserializer(item[\"always\"]),\n };\n}\n\n/** The object, containing list of tools for approvals. */\nexport interface MCPToolList {\n /** The list of tools for approval. */\n toolNames: string[];\n}\n\nexport function mcpToolListSerializer(item: MCPToolList): any {\n return {\n tool_names: item[\"toolNames\"].map((p: any) => {\n return p;\n }),\n };\n}\n\nexport function mcpToolListDeserializer(item: any): MCPToolList {\n return {\n toolNames: item[\"tool_names\"].map((p: any) => {\n return p;\n }),\n };\n}\n\n/**\n * An object describing the expected output of the model. If `json_object` only `function` type `tools` are allowed to be passed to the Run.\n * If `text` the model can return text or any value needed.\n */\nexport interface AgentsResponseFormat {\n /** Must be one of `text` or `json_object`. */\n type?: ResponseFormat;\n}\n\nexport function agentsResponseFormatSerializer(item: AgentsResponseFormat): any {\n return { type: item[\"type\"] };\n}\n\nexport function agentsResponseFormatDeserializer(item: any): AgentsResponseFormat {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Possible API response formats. */\nexport type ResponseFormat = \"text\" | \"json_object\";\n\n/** The type of response format being defined: `json_schema` */\nexport interface ResponseFormatJsonSchemaType {\n /** Type */\n type: \"json_schema\";\n /** The JSON schema, describing response format. */\n jsonSchema: ResponseFormatJsonSchema;\n}\n\nexport function responseFormatJsonSchemaTypeSerializer(item: ResponseFormatJsonSchemaType): any {\n return {\n type: item[\"type\"],\n json_schema: responseFormatJsonSchemaSerializer(item[\"jsonSchema\"]),\n };\n}\n\nexport function responseFormatJsonSchemaTypeDeserializer(item: any): ResponseFormatJsonSchemaType {\n return {\n type: item[\"type\"],\n jsonSchema: responseFormatJsonSchemaDeserializer(item[\"json_schema\"]),\n };\n}\n\n/** A description of what the response format is for, used by the model to determine how to respond in the format. */\nexport interface ResponseFormatJsonSchema {\n /** A description of what the response format is for, used by the model to determine how to respond in the format. */\n description?: string;\n /** The name of a schema. */\n name: string;\n /** The JSON schema object, describing the response format. */\n schema: any;\n}\n\nexport function responseFormatJsonSchemaSerializer(item: ResponseFormatJsonSchema): any {\n return {\n description: item[\"description\"],\n name: item[\"name\"],\n schema: item[\"schema\"],\n };\n}\n\nexport function responseFormatJsonSchemaDeserializer(item: any): ResponseFormatJsonSchema {\n return {\n description: item[\"description\"],\n name: item[\"name\"],\n schema: item[\"schema\"],\n };\n}\n\nexport function toolDefinitionUnionArraySerializer(result: Array<ToolDefinitionUnion>): any[] {\n return result.map((item) => {\n return toolDefinitionUnionSerializer(item);\n });\n}\n\nexport function toolDefinitionUnionArrayDeserializer(result: Array<ToolDefinitionUnion>): any[] {\n return result.map((item) => {\n return toolDefinitionUnionDeserializer(item);\n });\n}\n\n/** Alias for AgentsResponseFormatOption */\nexport type AgentsResponseFormatOption =\n | string\n | AgentsResponseFormatMode\n | AgentsResponseFormat\n | ResponseFormatJsonSchemaType;\n\nexport function agentsResponseFormatOptionSerializer(item: AgentsResponseFormatOption): any {\n if (typeof item === \"object\" && item.type === \"json_schema\") {\n return responseFormatJsonSchemaTypeSerializer(item);\n }\n return item;\n}\n\nexport function agentsResponseFormatOptionDeserializer(item: any): AgentsResponseFormatOption {\n if (typeof item === \"object\" && item.type === \"json_schema\") {\n return responseFormatJsonSchemaTypeDeserializer(item);\n }\n return item;\n}\n\n/** Represents the mode in which the model will handle the return format of a tool call. */\nexport type AgentsResponseFormatMode = \"auto\" | \"none\";\n\n/** Represents an agent that can call the model and use tools. */\nexport interface Agent {\n /** The identifier, which can be referenced in API endpoints. */\n id: string;\n /** The object type, which is always assistant. */\n object: \"assistant\";\n /** The Unix timestamp, in seconds, representing when this object was created. */\n createdAt: Date;\n /** The name of the agent. */\n name: string | null;\n /** The description of the agent. */\n description: string | null;\n /** The ID of the model to use. */\n model: string;\n /** The system instructions for the agent to use. */\n instructions: string | null;\n /** The collection of tools enabled for the agent. */\n tools: ToolDefinitionUnion[];\n /**\n * A set of resources that are used by the agent's tools. The resources are specific to the type of tool. For example, the `code_interpreter`\n * tool requires a list of file IDs, while the `file_search` tool requires a list of vector store IDs.\n */\n toolResources: ToolResources | null;\n /**\n * What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random,\n * while lower values like 0.2 will make it more focused and deterministic.\n */\n temperature: number | null;\n /**\n * An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass.\n * So 0.1 means only the tokens comprising the top 10% probability mass are considered.\n *\n * We generally recommend altering this or temperature but not both.\n */\n topP: number | null;\n /** The response format of the tool calls used by this agent. */\n responseFormat?: AgentsResponseFormatOption | null;\n /** A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length. */\n metadata: Record<string, string> | null;\n}\n\nexport function agentDeserializer(item: any): Agent {\n return {\n id: item[\"id\"],\n object: item[\"object\"],\n createdAt: new Date(item[\"created_at\"] * 1000),\n name: item[\"name\"],\n description: item[\"description\"],\n model: item[\"model\"],\n instructions: item[\"instructions\"],\n tools: toolDefinitionUnionArrayDeserializer(item[\"tools\"]),\n toolResources: !item[\"tool_resources\"]\n ? item[\"tool_resources\"]\n : toolResourcesDeserializer(item[\"tool_resources\"]),\n temperature: item[\"temperature\"],\n topP: item[\"top_p\"],\n responseFormat: !item[\"response_format\"]\n ? item[\"response_format\"]\n : agentsResponseFormatOptionDeserializer(item[\"response_format\"]),\n metadata: item[\"metadata\"],\n };\n}\n\n/** Error payload returned by the agents API. */\nexport interface AgentV1Error {\n /** Represents the error. */\n error: AgentErrorDetail;\n}\n\nexport function agentV1ErrorDeserializer(item: any): AgentV1Error {\n return {\n error: agentErrorDetailDeserializer(item[\"error\"]),\n };\n}\n\n/** Describes the error information returned by the agents API. */\nexport interface AgentErrorDetail {\n /** Human-readable description of the error. */\n message?: string | null;\n /** Error type identifier (e.g. `invalid_request_error`). */\n type?: string | null;\n /** Name of the parameter that caused the error, if applicable. */\n param?: string | null;\n /** Machine-readable error code. */\n code?: string | null;\n}\n\nexport function agentErrorDetailDeserializer(item: any): AgentErrorDetail {\n return {\n message: item[\"message\"],\n type: item[\"type\"],\n param: item[\"param\"],\n code: item[\"code\"],\n };\n}\n\n/** The response data for a requested list of items. */\nexport interface _AgentsPagedResultAgent {\n /** The requested list of items. */\n data: Agent[];\n /** The last ID represented in this list. */\n lastId?: string;\n /** A value indicating whether there are additional values available not captured in this list. */\n hasMore: boolean;\n}\n\nexport function _agentsPagedResultAgentDeserializer(item: any): _AgentsPagedResultAgent {\n return {\n data: agentArrayDeserializer(item[\"data\"]),\n lastId: item[\"last_id\"],\n hasMore: item[\"has_more\"],\n };\n}\n\nexport function agentArrayDeserializer(result: Array<Agent>): any[] {\n return result.map((item) => {\n return agentDeserializer(item);\n });\n}\n\n/** The status of an agent deletion operation. */\nexport interface AgentDeletionStatus {\n /** The ID of the resource specified for deletion. */\n id: string;\n /** A value indicating whether deletion was successful. */\n deleted: boolean;\n /** The object type, which is always 'assistant.deleted'. */\n object: \"assistant.deleted\";\n}\n\nexport function agentDeletionStatusDeserializer(item: any): AgentDeletionStatus {\n return {\n id: item[\"id\"],\n deleted: item[\"deleted\"],\n object: item[\"object\"],\n };\n}\n\n/** The details used to create a new agent thread. */\nexport interface AgentThreadCreationOptions {\n /** The initial messages to associate with the new thread. */\n messages?: ThreadMessageOptions[];\n /**\n * A set of resources that are made available to the agent's tools in this thread. The resources are specific to the\n * type of tool. For example, the `code_interpreter` tool requires a list of file IDs, while the `file_search` tool requires\n * a list of vector store IDs.\n */\n toolResources?: ToolResources | null;\n /** A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length. */\n metadata?: Record<string, string> | null;\n}\n\nexport function agentThreadCreationOptionsSerializer(item: AgentThreadCreationOptions): any {\n return {\n messages: !item[\"messages\"]\n ? item[\"messages\"]\n : threadMessageOptionsArraySerializer(item[\"messages\"]),\n tool_resources: !item[\"toolResources\"]\n ? item[\"toolResources\"]\n : toolResourcesSerializer(item[\"toolResources\"]),\n metadata: item[\"metadata\"],\n };\n}\n\nexport function threadMessageOptionsArraySerializer(result: Array<ThreadMessageOptions>): any[] {\n return result.map((item) => {\n return threadMessageOptionsSerializer(item);\n });\n}\n\n/**\n * A single message within an agent thread,\n * as provided during that thread's creation for its initial state.\n */\nexport interface ThreadMessageOptions {\n /**\n * The role of the entity that is creating the message. Allowed values include:\n * `user`, which indicates the message is sent by an actual user (and should be\n * used in most cases to represent user-generated messages), and `assistant`,\n * which indicates the message is generated by the agent (use this value to insert\n * messages from the agent into the conversation).\n */\n role: MessageRole;\n /**\n * The content of the initial message. This may be a basic string (if you only\n * need text) or an array of typed content blocks (for example, text, image_file,\n * image_url, and so on).\n */\n content: MessageInputContent;\n /** A list of files attached to the message, and the tools they should be added to. */\n attachments?: MessageAttachment[] | null;\n /** A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length. */\n metadata?: Record<string, string> | null;\n}\n\nexport function threadMessageOptionsSerializer(item: ThreadMessageOptions): any {\n return {\n role: item[\"role\"],\n content: messageInputContentSerializer(item[\"content\"]),\n attachments: !item[\"attachments\"]\n ? item[\"attachments\"]\n : messageAttachmentArraySerializer(item[\"attachments\"]),\n metadata: item[\"metadata\"],\n };\n}\n\n/** The possible values for roles attributed to messages in a thread. */\nexport type MessageRole = \"user\" | \"assistant\";\n/** Alias for MessageInputContent */\nexport type MessageInputContent = string | MessageInputContentBlockUnion[];\n\nexport function messageInputContentSerializer(item: MessageInputContent): any {\n if (typeof item === \"string\") {\n return item;\n }\n\n return messageInputContentBlockUnionArraySerializer(item);\n}\n\nexport function messageInputContentBlockUnionArraySerializer(\n result: Array<MessageInputContentBlockUnion>,\n): any[] {\n return result.map((item) => {\n return messageInputContentBlockUnionSerializer(item);\n });\n}\n\n/** Defines a single content block when creating a message. The 'type' field determines whether it is text, an image file, or an external image URL, etc. */\nexport interface MessageInputContentBlock {\n /** Specifies which kind of content block this is (text, image_file, image_url, etc.). */\n /** The discriminator possible values: text, image_file, image_url */\n type: MessageBlockType;\n}\n\nexport function messageInputContentBlockSerializer(item: MessageInputContentBlock): any {\n return { type: item[\"type\"] };\n}\n\n/** Alias for MessageInputContentBlockUnion */\nexport type MessageInputContentBlockUnion =\n | MessageInputTextBlock\n | MessageInputImageFileBlock\n | MessageInputImageUrlBlock\n | MessageInputContentBlock;\n\nexport function messageInputContentBlockUnionSerializer(item: MessageInputContentBlockUnion): any {\n switch (item.type) {\n case \"text\":\n return messageInputTextBlockSerializer(item as MessageInputTextBlock);\n\n case \"image_file\":\n return messageInputImageFileBlockSerializer(item as MessageInputImageFileBlock);\n\n case \"image_url\":\n return messageInputImageUrlBlockSerializer(item as MessageInputImageUrlBlock);\n\n default:\n return messageInputContentBlockSerializer(item);\n }\n}\n\n/** Specifies the kind of content block within a message. Could be text, an image file, an external image URL, or an unknown future type. */\nexport type MessageBlockType = \"text\" | \"image_file\" | \"image_url\";\n\n/** A text block in a new message, containing plain text content. */\nexport interface MessageInputTextBlock extends MessageInputContentBlock {\n /** Must be 'text' for a text block. */\n type: \"text\";\n /** The plain text content for this block. */\n text: string;\n}\n\nexport function messageInputTextBlockSerializer(item: MessageInputTextBlock): any {\n return { type: item[\"type\"], text: item[\"text\"] };\n}\n\n/** An image-file block in a new message, referencing an internally uploaded image by file ID. */\nexport interface MessageInputImageFileBlock extends MessageInputContentBlock {\n /** Must be 'image_file' for an internally uploaded image block. */\n type: \"image_file\";\n /** Information about the referenced image file, including file ID and optional detail level. */\n imageFile: MessageImageFileParam;\n}\n\nexport function messageInputImageFileBlockSerializer(item: MessageInputImageFileBlock): any {\n return {\n type: item[\"type\"],\n image_file: messageImageFileParamSerializer(item[\"imageFile\"]),\n };\n}\n\n/** Defines how an internally uploaded image file is referenced when creating an image-file block. */\nexport interface MessageImageFileParam {\n /** The ID of the previously uploaded image file. */\n fileId: string;\n /** Optional detail level for the image (auto, low, or high). */\n detail?: ImageDetailLevel;\n}\n\nexport function messageImageFileParamSerializer(item: MessageImageFileParam): any {\n return { file_id: item[\"fileId\"], detail: item[\"detail\"] };\n}\n\n/** Specifies an image's detail level. Can be 'auto', 'low', 'high', or an unknown future value. */\nexport type ImageDetailLevel = \"auto\" | \"low\" | \"high\";\n\n/** An image-URL block in a new message, referencing an external image by URL. */\nexport interface MessageInputImageUrlBlock extends MessageInputContentBlock {\n /** Must be 'image_url' for an externally hosted image block. */\n type: \"image_url\";\n /** Information about the external image URL, including the URL and optional detail level. */\n imageUrl: MessageImageUrlParam;\n}\n\nexport function messageInputImageUrlBlockSerializer(item: MessageInputImageUrlBlock): any {\n return {\n type: item[\"type\"],\n image_url: messageImageUrlParamSerializer(item[\"imageUrl\"]),\n };\n}\n\n/** Defines how an external image URL is referenced when creating an image-URL block. */\nexport interface MessageImageUrlParam {\n /** The publicly accessible URL of the external image. */\n url: string;\n /** Optional detail level for the image (auto, low, or high). Defaults to 'auto' if not specified. */\n detail?: ImageDetailLevel;\n}\n\nexport function messageImageUrlParamSerializer(item: MessageImageUrlParam): any {\n return { url: item[\"url\"], detail: item[\"detail\"] };\n}\n\nexport function messageAttachmentArraySerializer(result: Array<MessageAttachment>): any[] {\n return result.map((item) => {\n return messageAttachmentSerializer(item);\n });\n}\n\nexport function messageAttachmentArrayDeserializer(result: Array<MessageAttachment>): any[] {\n return result.map((item) => {\n return messageAttachmentDeserializer(item);\n });\n}\n\n/** This describes to which tools a file has been attached. */\nexport interface MessageAttachment {\n /** The ID of the file to attach to the message. */\n fileId?: string;\n /** Azure asset ID. */\n dataSource?: VectorStoreDataSource;\n /** The tools to add to this file. */\n tools: MessageAttachmentToolDefinition[];\n}\n\nexport function messageAttachmentSerializer(item: MessageAttachment): any {\n return {\n file_id: item[\"fileId\"],\n data_source: !item[\"dataSource\"]\n ? item[\"dataSource\"]\n : vectorStoreDataSourceSerializer(item[\"dataSource\"]),\n tools: messageAttachmentToolDefinitionArraySerializer(item[\"tools\"]),\n };\n}\n\nexport function messageAttachmentDeserializer(item: any): MessageAttachment {\n return {\n fileId: item[\"file_id\"],\n dataSource: !item[\"data_source\"]\n ? item[\"data_source\"]\n : vectorStoreDataSourceDeserializer(item[\"data_source\"]),\n tools: messageAttachmentToolDefinitionArrayDeserializer(item[\"tools\"]),\n };\n}\n\nexport function messageAttachmentToolDefinitionArraySerializer(\n result: Array<MessageAttachmentToolDefinition>,\n): any[] {\n return result.map((item) => {\n return messageAttachmentToolDefinitionSerializer(item);\n });\n}\n\nexport function messageAttachmentToolDefinitionArrayDeserializer(\n result: Array<MessageAttachmentToolDefinition>,\n): any[] {\n return result.map((item) => {\n return messageAttachmentToolDefinitionDeserializer(item);\n });\n}\n\n/** Alias for MessageAttachmentToolDefinition */\nexport type MessageAttachmentToolDefinition =\n | CodeInterpreterToolDefinition\n | FileSearchToolDefinition;\n\nexport function messageAttachmentToolDefinitionSerializer(\n item: MessageAttachmentToolDefinition,\n): any {\n return item;\n}\n\nexport function messageAttachmentToolDefinitionDeserializer(\n item: any,\n): MessageAttachmentToolDefinition {\n return item;\n}\n\n/**\n * Controls for how a thread will be truncated prior to the run. Use this to control the initial\n * context window of the run.\n */\nexport interface TruncationObject {\n /**\n * The truncation strategy to use for the thread. The default is `auto`. If set to `last_messages`, the thread will\n * be truncated to the `lastMessages` count most recent messages in the thread. When set to `auto`, messages in the middle of the thread\n * will be dropped to fit the context length of the model, `max_prompt_tokens`.\n */\n type: TruncationStrategy;\n /** The number of most recent messages from the thread when constructing the context for the run. */\n lastMessages?: number | null;\n}\n\nexport function truncationObjectSerializer(item: TruncationObject): any {\n return { type: item[\"type\"], last_messages: item[\"lastMessages\"] };\n}\n\nexport function truncationObjectDeserializer(item: any): TruncationObject {\n return {\n type: item[\"type\"],\n lastMessages: item[\"last_messages\"],\n };\n}\n\n/** Possible truncation strategies for the thread. */\nexport type TruncationStrategy = \"auto\" | \"last_messages\";\n\n/** Specifies a tool the model should use. Use to force the model to call a specific tool. */\nexport interface AgentsNamedToolChoice {\n /** the type of tool. If type is `function`, the function name must be set. */\n type: AgentsNamedToolChoiceType;\n /** The name of the function to call */\n function?: FunctionName;\n}\n\nexport function agentsNamedToolChoiceSerializer(item: AgentsNamedToolChoice): any {\n return {\n type: item[\"type\"],\n function: !item[\"function\"] ? item[\"function\"] : functionNameSerializer(item[\"function\"]),\n };\n}\n\nexport function agentsNamedToolChoiceDeserializer(item: any): AgentsNamedToolChoice {\n return {\n type: item[\"type\"],\n function: !item[\"function\"] ? item[\"function\"] : functionNameDeserializer(item[\"function\"]),\n };\n}\n\n/** Available tool types for agents named tools. */\nexport type AgentsNamedToolChoiceType =\n | \"function\"\n | \"code_interpreter\"\n | \"file_search\"\n | \"bing_grounding\"\n | \"fabric_dataagent\"\n | \"sharepoint_grounding\"\n | \"azure_ai_search\"\n | \"bing_custom_search\"\n | \"connected_agent\"\n | \"deep_research\"\n | \"mcp\";\n\n/** The function name that will be used, if using the `function` tool */\nexport interface FunctionName {\n /** The name of the function to call */\n name: string;\n}\n\nexport function functionNameSerializer(item: FunctionName): any {\n return { name: item[\"name\"] };\n}\n\nexport function functionNameDeserializer(item: any): FunctionName {\n return {\n name: item[\"name\"],\n };\n}\n\n/** Alias for AgentsToolChoiceOption */\nexport type AgentsToolChoiceOption = string | AgentsToolChoiceOptionMode | AgentsNamedToolChoice;\n\nexport function agentsToolChoiceOptionSerializer(item: AgentsToolChoiceOption): any {\n return item;\n}\n\nexport function agentsToolChoiceOptionDeserializer(item: any): AgentsToolChoiceOption {\n return item;\n}\n\n/** Specifies how the tool choice will be used */\nexport type AgentsToolChoiceOptionMode = \"none\" | \"auto\";\n\n/** Data representing a single evaluation run of an agent thread. */\nexport interface ThreadRun {\n /** The identifier, which can be referenced in API endpoints. */\n id: string;\n /** The object type, which is always 'thread.run'. */\n object: \"thread.run\";\n /** The ID of the thread associated with this run. */\n threadId: string;\n /** The ID of the agent associated with the thread this run was performed against. */\n assistantId: string;\n /** The status of the agent thread run. */\n status: RunStatus;\n /** The details of the action required for the agent thread run to continue. */\n requiredAction?: RequiredActionUnion | null;\n /** The last error, if any, encountered by this agent thread run. */\n lastError: RunError | null;\n /** The ID of the model to use. */\n model: string;\n /** The overridden system instructions used for this agent thread run. */\n instructions: string;\n /** The overridden enabled tools used for this agent thread run. */\n tools: ToolDefinitionUnion[];\n /** The Unix timestamp, in seconds, representing when this object was created. */\n createdAt: Date;\n /** The Unix timestamp, in seconds, representing when this item expires. */\n expiresAt: Date | null;\n /** The Unix timestamp, in seconds, representing when this item was started. */\n startedAt: Date | null;\n /** The Unix timestamp, in seconds, representing when this completed. */\n completedAt: Date | null;\n /** The Unix timestamp, in seconds, representing when this was cancelled. */\n cancelledAt: Date | null;\n /** The Unix timestamp, in seconds, representing when this failed. */\n failedAt: Date | null;\n /** Details on why the run is incomplete. Will be `null` if the run is not incomplete. */\n incompleteDetails: IncompleteRunDetails | null;\n /** Usage statistics related to the run. This value will be `null` if the run is not in a terminal state (i.e. `in_progress`, `queued`, etc.). */\n usage: RunCompletionUsage | null;\n /** The sampling temperature used for this run. If not set, defaults to 1. */\n temperature?: number | null;\n /** The nucleus sampling value used for this run. If not set, defaults to 1. */\n topP?: number | null;\n /** The maximum number of prompt tokens specified to have been used over the course of the run. */\n maxPromptTokens: number | null;\n /** The maximum number of completion tokens specified to have been used over the course of the run. */\n maxCompletionTokens: number | null;\n /** The strategy to use for dropping messages as the context windows moves forward. */\n truncationStrategy: TruncationObject | null;\n /** Controls whether or not and which tool is called by the model. */\n toolChoice: AgentsToolChoiceOption | null;\n /** The response format of the tool calls used in this run. */\n responseFormat: AgentsResponseFormatOption | null;\n /** A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length. */\n metadata: Record<string, string> | null;\n /** Override the tools the agent can use for this run. This is useful for modifying the behavior on a per-run basis */\n toolResources?: ToolResources | null;\n /** Determines if tools can be executed in parallel within the run. */\n parallelToolCalls: boolean;\n}\n\nexport function threadRunDeserializer(item: any): ThreadRun {\n return {\n id: item[\"id\"],\n object: item[\"object\"],\n threadId: item[\"thread_id\"],\n assistantId: item[\"assistant_id\"],\n status: item[\"status\"],\n requiredAction: !item[\"required_action\"]\n ? item[\"required_action\"]\n : requiredActionUnionDeserializer(item[\"required_action\"]),\n lastError: !item[\"last_error\"] ? item[\"last_error\"] : runErrorDeserializer(item[\"last_error\"]),\n model: item[\"model\"],\n instructions: item[\"instructions\"],\n tools: !item[\"tools\"] ? [] : toolDefinitionUnionArrayDeserializer(item[\"tools\"]),\n createdAt: new Date(item[\"created_at\"] * 1000),\n expiresAt: !item[\"expires_at\"] ? item[\"expires_at\"] : new Date(item[\"expires_at\"] * 1000),\n startedAt: !item[\"started_at\"] ? item[\"started_at\"] : new Date(item[\"started_at\"] * 1000),\n completedAt: !item[\"completed_at\"]\n ? item[\"completed_at\"]\n : new Date(item[\"completed_at\"] * 1000),\n cancelledAt: !item[\"cancelled_at\"]\n ? item[\"cancelled_at\"]\n : new Date(item[\"cancelled_at\"] * 1000),\n failedAt: !item[\"failed_at\"] ? item[\"failed_at\"] : new Date(item[\"failed_at\"] * 1000),\n incompleteDetails: !item[\"incomplete_details\"]\n ? item[\"incomplete_details\"]\n : incompleteRunDetailsDeserializer(item[\"incomplete_details\"]),\n usage: !item[\"usage\"] ? item[\"usage\"] : runCompletionUsageDeserializer(item[\"usage\"]),\n temperature: item[\"temperature\"],\n topP: item[\"top_p\"],\n maxPromptTokens: item[\"max_prompt_tokens\"],\n maxCompletionTokens: item[\"max_completion_tokens\"],\n truncationStrategy: !item[\"truncation_strategy\"]\n ? item[\"truncation_strategy\"]\n : truncationObjectDeserializer(item[\"truncation_strategy\"]),\n toolChoice: !item[\"tool_choice\"]\n ? item[\"tool_choice\"]\n : agentsToolChoiceOptionDeserializer(item[\"tool_choice\"]),\n responseFormat: !item[\"response_format\"]\n ? item[\"response_format\"]\n : agentsResponseFormatOptionDeserializer(item[\"response_format\"]),\n metadata: item[\"metadata\"],\n toolResources: !item[\"tool_resources\"]\n ? item[\"tool_resources\"]\n : toolResourcesDeserializer(item[\"tool_resources\"]),\n parallelToolCalls: item[\"parallel_tool_calls\"],\n };\n}\n\n/** Possible values for the status of an agent thread run. */\nexport type RunStatus =\n | \"queued\"\n | \"in_progress\"\n | \"requires_action\"\n | \"cancelling\"\n | \"cancelled\"\n | \"failed\"\n | \"completed\"\n | \"expired\";\n\n/** An abstract representation of a required action for an agent thread run to continue. */\nexport interface RequiredAction {\n /** The object type. */\n /** The discriminator possible values: submit_tool_outputs, submit_tool_approval */\n type: string;\n}\n\nexport function requiredActionDeserializer(item: any): RequiredAction {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for RequiredActionUnion */\nexport type RequiredActionUnion =\n | SubmitToolOutputsAction\n | SubmitToolApprovalAction\n | RequiredAction;\n\nexport function requiredActionUnionDeserializer(item: any): RequiredActionUnion {\n switch (item.type) {\n case \"submit_tool_outputs\":\n return submitToolOutputsActionDeserializer(item as SubmitToolOutputsAction);\n\n case \"submit_tool_approval\":\n return submitToolApprovalActionDeserializer(item as SubmitToolApprovalAction);\n\n default:\n return requiredActionDeserializer(item);\n }\n}\n\n/** The details for required tool calls that must be submitted for an agent thread run to continue. */\nexport interface SubmitToolOutputsAction extends RequiredAction {\n /** The object type, which is always 'submit_tool_outputs'. */\n type: \"submit_tool_outputs\";\n /** The details describing tools that should be called to submit tool outputs. */\n submitToolOutputs: SubmitToolOutputsDetails;\n}\n\nexport function submitToolOutputsActionDeserializer(item: any): SubmitToolOutputsAction {\n return {\n type: item[\"type\"],\n submitToolOutputs: submitToolOutputsDetailsDeserializer(item[\"submit_tool_outputs\"]),\n };\n}\n\n/** The details describing tools that should be called to submit tool outputs. */\nexport interface SubmitToolOutputsDetails {\n /** The list of tool calls that must be resolved for the agent thread run to continue. */\n toolCalls: RequiredToolCallUnion[];\n}\n\nexport function submitToolOutputsDetailsDeserializer(item: any): SubmitToolOutputsDetails {\n return {\n toolCalls: requiredToolCallUnionArrayDeserializer(item[\"tool_calls\"]),\n };\n}\n\nexport function requiredToolCallUnionArrayDeserializer(\n result: Array<RequiredToolCallUnion>,\n): any[] {\n return result.map((item) => {\n return requiredToolCallUnionDeserializer(item);\n });\n}\n\n/** An abstract representation of a tool invocation needed by the model to continue a run. */\nexport interface RequiredToolCall {\n /** The object type for the required tool call. */\n /** The discriminator possible values: function, mcp */\n type: string;\n /** The ID of the tool call. This ID must be referenced when submitting tool outputs. */\n id: string;\n}\n\nexport function requiredToolCallDeserializer(item: any): RequiredToolCall {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n };\n}\n\n/** Alias for RequiredToolCallUnion */\nexport type RequiredToolCallUnion =\n | RequiredFunctionToolCall\n | RequiredMcpToolCall\n | RequiredToolCall;\n\nexport function requiredToolCallUnionDeserializer(item: any): RequiredToolCallUnion {\n switch (item.type) {\n case \"function\":\n return requiredFunctionToolCallDeserializer(item as RequiredFunctionToolCall);\n\n case \"mcp\":\n return requiredMcpToolCallDeserializer(item as RequiredMcpToolCall);\n\n default:\n return requiredToolCallDeserializer(item);\n }\n}\n\n/** A representation of a requested call to a function tool, needed by the model to continue evaluation of a run. */\nexport interface RequiredFunctionToolCall extends RequiredToolCall {\n /** The object type of the required tool call. Always 'function' for function tools. */\n type: \"function\";\n /** Detailed information about the function to be executed by the tool that includes name and arguments. */\n function: RequiredFunctionToolCallDetails;\n}\n\nexport function requiredFunctionToolCallDeserializer(item: any): RequiredFunctionToolCall {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n function: requiredFunctionToolCallDetailsDeserializer(item[\"function\"]),\n };\n}\n\n/** The detailed information for a function invocation, as provided by a required action invoking a function tool, that includes the name of and arguments to the function. */\nexport interface RequiredFunctionToolCallDetails {\n /** The name of the function. */\n name: string;\n /** The arguments to use when invoking the named function, as provided by the model. Arguments are presented as a JSON document that should be validated and parsed for evaluation. */\n arguments: string;\n}\n\nexport function requiredFunctionToolCallDetailsDeserializer(\n item: any,\n): RequiredFunctionToolCallDetails {\n return {\n name: item[\"name\"],\n arguments: item[\"arguments\"],\n };\n}\n\n/** A representation of a requested call to a MCP tool, needed by the model to continue evaluation of a run. */\nexport interface RequiredMcpToolCall extends RequiredToolCall {\n /** The object type of the required tool call. Always 'mcp' for MCP tools. */\n type: \"mcp\";\n /** The arguments to use when invoking the mcp tool, as provided by the model. Arguments are presented as a JSON document that should be validated and parsed for evaluation. */\n arguments: string;\n /** The name of the function used on the MCP server. */\n name: string;\n /** The label of the MCP server. */\n serverLabel: string;\n}\n\nexport function requiredMcpToolCallDeserializer(item: any): RequiredMcpToolCall {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n arguments: item[\"arguments\"],\n name: item[\"name\"],\n serverLabel: item[\"server_label\"],\n };\n}\n\n/** The details for required tool call approval that must be submitted for an agent thread run to continue. */\nexport interface SubmitToolApprovalAction extends RequiredAction {\n /** The object type, which is always 'submit_tool_approval'. */\n type: \"submit_tool_approval\";\n /** The details describing tools that should be approved to continue run. */\n submitToolApproval: SubmitToolApprovalDetails;\n}\n\nexport function submitToolApprovalActionDeserializer(item: any): SubmitToolApprovalAction {\n return {\n type: item[\"type\"],\n submitToolApproval: submitToolApprovalDetailsDeserializer(item[\"submit_tool_approval\"]),\n };\n}\n\n/** The details describing tools that should be approved. */\nexport interface SubmitToolApprovalDetails {\n /** The list of tool calls that must be approved for the agent thread run to continue. */\n toolCalls: RequiredToolCallUnion[];\n}\n\nexport function submitToolApprovalDetailsDeserializer(item: any): SubmitToolApprovalDetails {\n return {\n toolCalls: requiredToolCallUnionArrayDeserializer(item[\"tool_calls\"]),\n };\n}\n\n/** The details of an error as encountered by an agent thread run. */\nexport interface RunError {\n /** The status for the error. */\n code: string;\n /** The human-readable text associated with the error. */\n message: string;\n}\n\nexport function runErrorDeserializer(item: any): RunError {\n return {\n code: item[\"code\"],\n message: item[\"message\"],\n };\n}\n\n/** Details on why the run is incomplete. Will be `null` if the run is not incomplete. */\nexport interface IncompleteRunDetails {\n /** The reason why the run is incomplete. This indicates which specific token limit was reached during the run. */\n reason: IncompleteDetailsReason;\n}\n\nexport function incompleteRunDetailsDeserializer(item: any): IncompleteRunDetails {\n return {\n reason: item[\"reason\"],\n };\n}\n\n/** The reason why the run is incomplete. This will point to which specific token limit was reached over the course of the run. */\nexport type IncompleteDetailsReason = \"max_completion_tokens\" | \"max_prompt_tokens\";\n\n/** Usage statistics related to the run. This value will be `null` if the run is not in a terminal state (i.e. `in_progress`, `queued`, etc.). */\nexport interface RunCompletionUsage {\n /** Number of completion tokens used over the course of the run. */\n completionTokens: number;\n /** Number of prompt tokens used over the course of the run. */\n promptTokens: number;\n /** Total number of tokens used (prompt + completion). */\n totalTokens: number;\n}\n\nexport function runCompletionUsageDeserializer(item: any): RunCompletionUsage {\n return {\n completionTokens: item[\"completion_tokens\"],\n promptTokens: item[\"prompt_tokens\"],\n totalTokens: item[\"total_tokens\"],\n };\n}\n\n/** Information about a single thread associated with an agent. */\nexport interface AgentThread {\n /** The identifier, which can be referenced in API endpoints. */\n id: string;\n /** The object type, which is always 'thread'. */\n object: \"thread\";\n /** The Unix timestamp, in seconds, representing when this object was created. */\n createdAt: Date;\n /**\n * A set of resources that are made available to the agent's tools in this thread. The resources are specific to the type\n * of tool. For example, the `code_interpreter` tool requires a list of file IDs, while the `file_search` tool requires a list\n * of vector store IDs.\n */\n toolResources: ToolResources | null;\n /** A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length. */\n metadata: Record<string, string> | null;\n}\n\nexport function agentThreadDeserializer(item: any): AgentThread {\n return {\n id: item[\"id\"],\n object: item[\"object\"],\n createdAt: new Date(item[\"created_at\"] * 1000),\n toolResources: !item[\"tool_resources\"]\n ? item[\"tool_resources\"]\n : toolResourcesDeserializer(item[\"tool_resources\"]),\n metadata: item[\"metadata\"],\n };\n}\n\n/** The response data for a requested list of items. */\nexport interface _AgentsPagedResultAgentThread {\n /** The requested list of items. */\n data: AgentThread[];\n /** The last ID represented in this list. */\n lastId?: string;\n /** A value indicating whether there are additional values available not captured in this list. */\n hasMore: boolean;\n}\n\nexport function _agentsPagedResultAgentThreadDeserializer(\n item: any,\n): _AgentsPagedResultAgentThread {\n return {\n data: agentThreadArrayDeserializer(item[\"data\"]),\n lastId: item[\"last_id\"],\n hasMore: item[\"has_more\"],\n };\n}\n\nexport function agentThreadArrayDeserializer(result: Array<AgentThread>): any[] {\n return result.map((item) => {\n return agentThreadDeserializer(item);\n });\n}\n\n/** The status of a thread deletion operation. */\nexport interface ThreadDeletionStatus {\n /** The ID of the resource specified for deletion. */\n id: string;\n /** A value indicating whether deletion was successful. */\n deleted: boolean;\n /** The object type, which is always 'thread.deleted'. */\n object: \"thread.deleted\";\n}\n\nexport function threadDeletionStatusDeserializer(item: any): ThreadDeletionStatus {\n return {\n id: item[\"id\"],\n deleted: item[\"deleted\"],\n object: item[\"object\"],\n };\n}\n\n/** A single, existing message within an agent thread. */\nexport interface ThreadMessage {\n /** The identifier, which can be referenced in API endpoints. */\n id: string;\n /** The object type, which is always 'thread.message'. */\n object: \"thread.message\";\n /** The Unix timestamp, in seconds, representing when this object was created. */\n createdAt: Date;\n /** The ID of the thread that this message belongs to. */\n threadId: string;\n /** The status of the message. */\n status: MessageStatus;\n /** On an incomplete message, details about why the message is incomplete. */\n incompleteDetails: MessageIncompleteDetails | null;\n /** The Unix timestamp (in seconds) for when the message was completed. */\n completedAt: Date | null;\n /** The Unix timestamp (in seconds) for when the message was marked as incomplete. */\n incompleteAt: Date | null;\n /** The role associated with the agent thread message. */\n role: MessageRole;\n /** The list of content items associated with the agent thread message. */\n content: MessageContentUnion[];\n /** If applicable, the ID of the agent that authored this message. */\n assistantId: string | null;\n /** If applicable, the ID of the run associated with the authoring of this message. */\n runId: string | null;\n /** A list of files attached to the message, and the tools they were added to. */\n attachments: MessageAttachment[] | null;\n /** A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length. */\n metadata: Record<string, string> | null;\n}\n\nexport function threadMessageDeserializer(item: any): ThreadMessage {\n return {\n id: item[\"id\"],\n object: item[\"object\"],\n createdAt: new Date(item[\"created_at\"] * 1000),\n threadId: item[\"thread_id\"],\n status: item[\"status\"],\n incompleteDetails: !item[\"incomplete_details\"]\n ? item[\"incomplete_details\"]\n : messageIncompleteDetailsDeserializer(item[\"incomplete_details\"]),\n completedAt: !item[\"completed_at\"]\n ? item[\"completed_at\"]\n : new Date(item[\"completed_at\"] * 1000),\n incompleteAt: !item[\"incomplete_at\"]\n ? item[\"incomplete_at\"]\n : new Date(item[\"incomplete_at\"] * 1000),\n role: item[\"role\"],\n content: messageContentUnionArrayDeserializer(item[\"content\"]),\n assistantId: item[\"assistant_id\"],\n runId: item[\"run_id\"],\n attachments: !item[\"attachments\"]\n ? item[\"attachments\"]\n : messageAttachmentArrayDeserializer(item[\"attachments\"]),\n metadata: item[\"metadata\"],\n };\n}\n\n/** The possible execution status values for a thread message. */\nexport type MessageStatus = \"in_progress\" | \"incomplete\" | \"completed\";\n\n/** Information providing additional detail about a message entering an incomplete status. */\nexport interface MessageIncompleteDetails {\n /** The provided reason describing why the message was marked as incomplete. */\n reason: MessageIncompleteDetailsReason;\n}\n\nexport function messageIncompleteDetailsDeserializer(item: any): MessageIncompleteDetails {\n return {\n reason: item[\"reason\"],\n };\n}\n\n/** A set of reasons describing why a message is marked as incomplete. */\nexport type MessageIncompleteDetailsReason =\n | \"content_filter\"\n | \"max_tokens\"\n | \"run_cancelled\"\n | \"run_failed\"\n | \"run_expired\";\n\nexport function messageContentUnionArrayDeserializer(result: Array<MessageContentUnion>): any[] {\n return result.map((item) => {\n return messageContentUnionDeserializer(item);\n });\n}\n\n/** An abstract representation of a single item of thread message content. */\nexport interface MessageContent {\n /** The object type. */\n /** The discriminator possible values: text, image_file */\n type: string;\n}\n\nexport function messageContentDeserializer(item: any): MessageContent {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for MessageContentUnion */\nexport type MessageContentUnion = MessageTextContent | MessageImageFileContent | MessageContent;\n\nexport function messageContentUnionDeserializer(item: any): MessageContentUnion {\n switch (item.type) {\n case \"text\":\n return messageTextContentDeserializer(item as MessageTextContent);\n\n case \"image_file\":\n return messageImageFileContentDeserializer(item as MessageImageFileContent);\n\n default:\n return messageContentDeserializer(item);\n }\n}\n\n/** A representation of a textual item of thread message content. */\nexport interface MessageTextContent extends MessageContent {\n /** The object type, which is always 'text'. */\n type: \"text\";\n /** The text and associated annotations for this thread message content item. */\n text: MessageTextDetails;\n}\n\nexport function messageTextContentDeserializer(item: any): MessageTextContent {\n return {\n type: item[\"type\"],\n text: messageTextDetailsDeserializer(item[\"text\"]),\n };\n}\n\n/** The text and associated annotations for a single item of agent thread message content. */\nexport interface MessageTextDetails {\n /** The text data. */\n value: string;\n /** A list of annotations associated with this text. */\n annotations: MessageTextAnnotationUnion[];\n}\n\nexport function messageTextDetailsDeserializer(item: any): MessageTextDetails {\n return {\n value: item[\"value\"],\n annotations: messageTextAnnotationUnionArrayDeserializer(item[\"annotations\"]),\n };\n}\n\nexport function messageTextAnnotationUnionArrayDeserializer(\n result: Array<MessageTextAnnotationUnion>,\n): any[] {\n return result.map((item) => {\n return messageTextAnnotationUnionDeserializer(item);\n });\n}\n\n/** An abstract representation of an annotation to text thread message content. */\nexport interface MessageTextAnnotation {\n /** The object type. */\n /** The discriminator possible values: url_citation, file_citation, file_path */\n type: string;\n /** The textual content associated with this text annotation item. */\n text: string;\n}\n\nexport function messageTextAnnotationDeserializer(item: any): MessageTextAnnotation {\n return {\n type: item[\"type\"],\n text: item[\"text\"],\n };\n}\n\n/** Alias for MessageTextAnnotationUnion */\nexport type MessageTextAnnotationUnion =\n | MessageTextUrlCitationAnnotation\n | MessageTextFileCitationAnnotation\n | MessageTextFilePathAnnotation\n | MessageTextAnnotation;\n\nexport function messageTextAnnotationUnionDeserializer(item: any): MessageTextAnnotationUnion {\n switch (item.type) {\n case \"url_citation\":\n return messageTextUrlCitationAnnotationDeserializer(item as MessageTextUrlCitationAnnotation);\n\n case \"file_citation\":\n return messageTextFileCitationAnnotationDeserializer(\n item as MessageTextFileCitationAnnotation,\n );\n\n case \"file_path\":\n return messageTextFilePathAnnotationDeserializer(item as MessageTextFilePathAnnotation);\n\n default:\n return messageTextAnnotationDeserializer(item);\n }\n}\n\n/** A citation within the message that points to a specific URL associated with the message. Generated when the agent uses tools such as 'bing_grounding' to search the Internet. */\nexport interface MessageTextUrlCitationAnnotation extends MessageTextAnnotation {\n /** The object type, which is always 'url_citation'. */\n type: \"url_citation\";\n /** The details of the URL citation. */\n urlCitation: MessageTextUrlCitationDetails;\n /** The first text index associated with this text annotation. */\n startIndex?: number;\n /** The last text index associated with this text annotation. */\n endIndex?: number;\n}\n\nexport function messageTextUrlCitationAnnotationDeserializer(\n item: any,\n): MessageTextUrlCitationAnnotation {\n return {\n type: item[\"type\"],\n text: item[\"text\"],\n urlCitation: messageTextUrlCitationDetailsDeserializer(item[\"url_citation\"]),\n startIndex: item[\"start_index\"],\n endIndex: item[\"end_index\"],\n };\n}\n\n/** A representation of a URL citation, as used in text thread message content. */\nexport interface MessageTextUrlCitationDetails {\n /** The URL associated with this citation. */\n url: string;\n /** The title of the URL. */\n title?: string;\n}\n\nexport function messageTextUrlCitationDetailsDeserializer(\n item: any,\n): MessageTextUrlCitationDetails {\n return {\n url: item[\"url\"],\n title: item[\"title\"],\n };\n}\n\n/** A citation within the message that points to a specific quote from a specific File associated with the agent or the message. Generated when the agent uses the 'file_search' tool to search files. */\nexport interface MessageTextFileCitationAnnotation extends MessageTextAnnotation {\n /** The object type, which is always 'file_citation'. */\n type: \"file_citation\";\n /**\n * A citation within the message that points to a specific quote from a specific file.\n * Generated when the agent uses the \"file_search\" tool to search files.\n */\n fileCitation: MessageTextFileCitationDetails;\n /** The first text index associated with this text annotation. */\n startIndex?: number;\n /** The last text index associated with this text annotation. */\n endIndex?: number;\n}\n\nexport function messageTextFileCitationAnnotationDeserializer(\n item: any,\n): MessageTextFileCitationAnnotation {\n return {\n type: item[\"type\"],\n text: item[\"text\"],\n fileCitation: messageTextFileCitationDetailsDeserializer(item[\"file_citation\"]),\n startIndex: item[\"start_index\"],\n endIndex: item[\"end_index\"],\n };\n}\n\n/** A representation of a file-based text citation, as used in a file-based annotation of text thread message content. */\nexport interface MessageTextFileCitationDetails {\n /** The ID of the file associated with this citation. */\n fileId: string;\n /** The specific quote cited in the associated file. */\n quote: string;\n}\n\nexport function messageTextFileCitationDetailsDeserializer(\n item: any,\n): MessageTextFileCitationDetails {\n return {\n fileId: item[\"file_id\"],\n quote: item[\"quote\"],\n };\n}\n\n/** A citation within the message that points to a file located at a specific path. */\nexport interface MessageTextFilePathAnnotation extends MessageTextAnnotation {\n /** The object type, which is always 'file_path'. */\n type: \"file_path\";\n /** A URL for the file that's generated when the agent used the code_interpreter tool to generate a file. */\n filePath: MessageTextFilePathDetails;\n /** The first text index associated with this text annotation. */\n startIndex?: number;\n /** The last text index associated with this text annotation. */\n endIndex?: number;\n}\n\nexport function messageTextFilePathAnnotationDeserializer(\n item: any,\n): MessageTextFilePathAnnotation {\n return {\n type: item[\"type\"],\n text: item[\"text\"],\n filePath: messageTextFilePathDetailsDeserializer(item[\"file_path\"]),\n startIndex: item[\"start_index\"],\n endIndex: item[\"end_index\"],\n };\n}\n\n/** An encapsulation of an image file ID, as used by message image content. */\nexport interface MessageTextFilePathDetails {\n /** The ID of the specific file that the citation is from. */\n fileId: string;\n}\n\nexport function messageTextFilePathDetailsDeserializer(item: any): MessageTextFilePathDetails {\n return {\n fileId: item[\"file_id\"],\n };\n}\n\n/** A representation of image file content in a thread message. */\nexport interface MessageImageFileContent extends MessageContent {\n /** The object type, which is always 'image_file'. */\n type: \"image_file\";\n /** The image file for this thread message content item. */\n imageFile: MessageImageFileDetails;\n}\n\nexport function messageImageFileContentDeserializer(item: any): MessageImageFileContent {\n return {\n type: item[\"type\"],\n imageFile: messageImageFileDetailsDeserializer(item[\"image_file\"]),\n };\n}\n\n/** An image reference, as represented in thread message content. */\nexport interface MessageImageFileDetails {\n /** The ID for the file associated with this image. */\n fileId: string;\n}\n\nexport function messageImageFileDetailsDeserializer(item: any): MessageImageFileDetails {\n return {\n fileId: item[\"file_id\"],\n };\n}\n\n/** The response data for a requested list of items. */\nexport interface _AgentsPagedResultThreadMessage {\n /** The requested list of items. */\n data: ThreadMessage[];\n /** The last ID represented in this list. */\n lastId?: string;\n /** A value indicating whether there are additional values available not captured in this list. */\n hasMore: boolean;\n}\n\nexport function _agentsPagedResultThreadMessageDeserializer(\n item: any,\n): _AgentsPagedResultThreadMessage {\n return {\n data: threadMessageArrayDeserializer(item[\"data\"]),\n lastId: item[\"last_id\"],\n hasMore: item[\"has_more\"],\n };\n}\n\nexport function threadMessageArrayDeserializer(result: Array<ThreadMessage>): any[] {\n return result.map((item) => {\n return threadMessageDeserializer(item);\n });\n}\n\n/** The status of a thread message deletion operation. */\nexport interface MessageDeletionStatus {\n /** The ID of the resource specified for deletion. */\n id: string;\n /** A value indicating whether deletion was successful. */\n deleted: boolean;\n /** The object type, which is always 'thread.message.deleted'. */\n object: \"thread.message.deleted\";\n}\n\nexport function messageDeletionStatusDeserializer(item: any): MessageDeletionStatus {\n return {\n id: item[\"id\"],\n deleted: item[\"deleted\"],\n object: item[\"object\"],\n };\n}\n\n/** The response data for a requested list of items. */\nexport interface _AgentsPagedResultThreadRun {\n /** The requested list of items. */\n data: ThreadRun[];\n /** The last ID represented in this list. */\n lastId?: string;\n /** A value indicating whether there are additional values available not captured in this list. */\n hasMore: boolean;\n}\n\nexport function _agentsPagedResultThreadRunDeserializer(item: any): _AgentsPagedResultThreadRun {\n return {\n data: threadRunArrayDeserializer(item[\"data\"]),\n lastId: item[\"last_id\"],\n hasMore: item[\"has_more\"],\n };\n}\n\nexport function threadRunArrayDeserializer(result: Array<ThreadRun>): any[] {\n return result.map((item) => {\n return threadRunDeserializer(item);\n });\n}\n\n/** The data provided during a tool outputs submission to resolve pending tool calls and allow the model to continue. */\nexport interface ToolOutput {\n /** The ID of the tool call being resolved, as provided in the tool calls of a required action from a run. */\n toolCallId?: string;\n /** The output from the tool to be submitted. */\n output?: string;\n}\n\nexport function toolOutputSerializer(item: ToolOutput): any {\n return { tool_call_id: item[\"toolCallId\"], output: item[\"output\"] };\n}\n\n/** The data provided during a tool outputs submission to resolve pending tool calls and allow the model to continue. */\nexport interface ToolApproval {\n /** The ID of the tool call being resolved, as provided in the tool calls of a required action from a run. */\n toolCallId: string;\n /** The approval boolean value to be submitted. */\n approve: boolean;\n /** Headers to be attached to the approval. */\n headers?: Record<string, string>;\n}\n\nexport function toolApprovalSerializer(item: ToolApproval): any {\n return {\n tool_call_id: item[\"toolCallId\"],\n approve: item[\"approve\"],\n headers: item[\"headers\"],\n };\n}\n\nexport function toolOutputArraySerializer(result: Array<ToolOutput>): any[] {\n return result.map((item) => {\n return toolOutputSerializer(item);\n });\n}\n\nexport function toolApprovalArraySerializer(result: Array<ToolApproval>): any[] {\n return result.map((item) => {\n return toolApprovalSerializer(item);\n });\n}\n\n/** Detailed information about a single step of an agent thread run. */\nexport interface RunStep {\n /** The identifier, which can be referenced in API endpoints. */\n id: string;\n /** The object type, which is always 'thread.run.step'. */\n object: \"thread.run.step\";\n /** The type of run step, which can be either message_creation or tool_calls. */\n type: RunStepType;\n /** The ID of the agent associated with the run step. */\n assistantId: string;\n /** The ID of the thread that was run. */\n threadId: string;\n /** The ID of the run that this run step is a part of. */\n runId: string;\n /** The status of this run step. */\n status: RunStepStatus;\n /** The details for this run step. */\n stepDetails: RunStepDetailsUnion;\n /** If applicable, information about the last error encountered by this run step. */\n lastError: RunStepError | null;\n /** The Unix timestamp, in seconds, representing when this object was created. */\n createdAt: Date;\n /** The Unix timestamp, in seconds, representing when this item expired. */\n expiredAt: Date | null;\n /** The Unix timestamp, in seconds, representing when this completed. */\n completedAt: Date | null;\n /** The Unix timestamp, in seconds, representing when this was cancelled. */\n cancelledAt: Date | null;\n /** The Unix timestamp, in seconds, representing when this failed. */\n failedAt: Date | null;\n /** Usage statistics related to the run step. This value will be `null` while the run step's status is `in_progress`. */\n usage?: RunStepCompletionUsage | null;\n /** A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length. */\n metadata: Record<string, string> | null;\n}\n\nexport function runStepDeserializer(item: any): RunStep {\n return {\n id: item[\"id\"],\n object: item[\"object\"],\n type: item[\"type\"],\n assistantId: item[\"assistant_id\"],\n threadId: item[\"thread_id\"],\n runId: item[\"run_id\"],\n status: item[\"status\"],\n stepDetails: runStepDetailsUnionDeserializer(item[\"step_details\"]),\n lastError: !item[\"last_error\"]\n ? item[\"last_error\"]\n : runStepErrorDeserializer(item[\"last_error\"]),\n createdAt: new Date(item[\"created_at\"] * 1000),\n expiredAt: !item[\"expired_at\"] ? item[\"expired_at\"] : new Date(item[\"expired_at\"] * 1000),\n completedAt: !item[\"completed_at\"]\n ? item[\"completed_at\"]\n : new Date(item[\"completed_at\"] * 1000),\n cancelledAt: !item[\"cancelled_at\"]\n ? item[\"cancelled_at\"]\n : new Date(item[\"cancelled_at\"] * 1000),\n failedAt: !item[\"failed_at\"] ? item[\"failed_at\"] : new Date(item[\"failed_at\"] * 1000),\n usage: !item[\"usage\"] ? item[\"usage\"] : runStepCompletionUsageDeserializer(item[\"usage\"]),\n metadata: item[\"metadata\"],\n };\n}\n\n/** The possible types of run steps. */\nexport type RunStepType = \"message_creation\" | \"tool_calls\" | \"activities\";\n/** Possible values for the status of a run step. */\nexport type RunStepStatus = \"in_progress\" | \"cancelled\" | \"failed\" | \"completed\" | \"expired\";\n\n/** An abstract representation of the details for a run step. */\nexport interface RunStepDetails {\n /** The object type. */\n /** The discriminator possible values: message_creation, tool_calls, activities */\n type: RunStepType;\n}\n\nexport function runStepDetailsDeserializer(item: any): RunStepDetails {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for RunStepDetailsUnion */\nexport type RunStepDetailsUnion =\n | RunStepMessageCreationDetails\n | RunStepToolCallDetails\n | RunStepActivityDetails\n | RunStepDetails;\n\nexport function runStepDetailsUnionDeserializer(item: any): RunStepDetailsUnion {\n switch (item.type) {\n case \"message_creation\":\n return runStepMessageCreationDetailsDeserializer(item as RunStepMessageCreationDetails);\n\n case \"tool_calls\":\n return runStepToolCallDetailsDeserializer(item as RunStepToolCallDetails);\n\n case \"activities\":\n return runStepActivityDetailsDeserializer(item as RunStepActivityDetails);\n\n default:\n return runStepDetailsDeserializer(item);\n }\n}\n\n/** The detailed information associated with a message creation run step. */\nexport interface RunStepMessageCreationDetails extends RunStepDetails {\n /** The object type, which is always 'message_creation'. */\n type: \"message_creation\";\n /** Information about the message creation associated with this run step. */\n messageCreation: RunStepMessageCreationReference;\n}\n\nexport function runStepMessageCreationDetailsDeserializer(\n item: any,\n): RunStepMessageCreationDetails {\n return {\n type: item[\"type\"],\n messageCreation: runStepMessageCreationReferenceDeserializer(item[\"message_creation\"]),\n };\n}\n\n/** The details of a message created as a part of a run step. */\nexport interface RunStepMessageCreationReference {\n /** The ID of the message created by this run step. */\n messageId: string;\n}\n\nexport function runStepMessageCreationReferenceDeserializer(\n item: any,\n): RunStepMessageCreationReference {\n return {\n messageId: item[\"message_id\"],\n };\n}\n\n/** The detailed information associated with a run step calling tools. */\nexport interface RunStepToolCallDetails extends RunStepDetails {\n /** The object type, which is always 'tool_calls'. */\n type: \"tool_calls\";\n /** A list of tool call details for this run step. */\n toolCalls: RunStepToolCallUnion[];\n}\n\nexport function runStepToolCallDetailsDeserializer(item: any): RunStepToolCallDetails {\n return {\n type: item[\"type\"],\n toolCalls: runStepToolCallUnionArrayDeserializer(item[\"tool_calls\"]),\n };\n}\n\nexport function runStepToolCallUnionArrayDeserializer(result: Array<RunStepToolCallUnion>): any[] {\n return result.map((item) => {\n return runStepToolCallUnionDeserializer(item);\n });\n}\n\n/** An abstract representation of a detailed tool call as recorded within a run step for an existing run. */\nexport interface RunStepToolCall {\n /** The object type. */\n /** The discriminator possible values: code_interpreter, file_search, bing_grounding, azure_ai_search, browser_automation, mcp, sharepoint_grounding, fabric_dataagent, bing_custom_search, azure_function, function, openapi, deep_research, connected_agent */\n type: string;\n /** The ID of the tool call. This ID must be referenced when you submit tool outputs. */\n id: string;\n}\n\nexport function runStepToolCallDeserializer(item: any): RunStepToolCall {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n };\n}\n\n/** Alias for RunStepToolCallUnion */\nexport type RunStepToolCallUnion =\n | RunStepCodeInterpreterToolCall\n | RunStepFileSearchToolCall\n | RunStepBingGroundingToolCall\n | RunStepAzureAISearchToolCall\n | RunStepBrowserAutomationToolCall\n | RunStepMcpToolCall\n | RunStepSharepointToolCall\n | RunStepMicrosoftFabricToolCall\n | RunStepBingCustomSearchToolCall\n | RunStepAzureFunctionToolCall\n | RunStepFunctionToolCall\n | RunStepOpenAPIToolCall\n | RunStepDeepResearchToolCall\n | RunStepConnectedAgentToolCall\n | RunStepToolCall;\n\nexport function runStepToolCallUnionDeserializer(item: any): RunStepToolCallUnion {\n switch (item.type) {\n case \"code_interpreter\":\n return runStepCodeInterpreterToolCallDeserializer(item as RunStepCodeInterpreterToolCall);\n\n case \"file_search\":\n return runStepFileSearchToolCallDeserializer(item as RunStepFileSearchToolCall);\n\n case \"bing_grounding\":\n return runStepBingGroundingToolCallDeserializer(item as RunStepBingGroundingToolCall);\n\n case \"azure_ai_search\":\n return runStepAzureAISearchToolCallDeserializer(item as RunStepAzureAISearchToolCall);\n\n case \"browser_automation\":\n return runStepBrowserAutomationToolCallDeserializer(item as RunStepBrowserAutomationToolCall);\n\n case \"mcp\":\n return runStepMcpToolCallDeserializer(item as RunStepMcpToolCall);\n\n case \"sharepoint_grounding\":\n return runStepSharepointToolCallDeserializer(item as RunStepSharepointToolCall);\n\n case \"fabric_dataagent\":\n return runStepMicrosoftFabricToolCallDeserializer(item as RunStepMicrosoftFabricToolCall);\n\n case \"bing_custom_search\":\n return runStepBingCustomSearchToolCallDeserializer(item as RunStepBingCustomSearchToolCall);\n\n case \"azure_function\":\n return runStepAzureFunctionToolCallDeserializer(item as RunStepAzureFunctionToolCall);\n\n case \"function\":\n return runStepFunctionToolCallDeserializer(item as RunStepFunctionToolCall);\n\n case \"openapi\":\n return runStepOpenAPIToolCallDeserializer(item as RunStepOpenAPIToolCall);\n\n case \"deep_research\":\n return runStepDeepResearchToolCallDeserializer(item as RunStepDeepResearchToolCall);\n\n case \"connected_agent\":\n return runStepConnectedAgentToolCallDeserializer(item as RunStepConnectedAgentToolCall);\n\n default:\n return runStepToolCallDeserializer(item);\n }\n}\n\n/**\n * A record of a call to a code interpreter tool, issued by the model in evaluation of a defined tool, that\n * represents inputs and outputs consumed and emitted by the code interpreter.\n */\nexport interface RunStepCodeInterpreterToolCall extends RunStepToolCall {\n /** The object type, which is always 'code_interpreter'. */\n type: \"code_interpreter\";\n /** The details of the tool call to the code interpreter tool. */\n codeInterpreter: RunStepCodeInterpreterToolCallDetails;\n}\n\nexport function runStepCodeInterpreterToolCallDeserializer(\n item: any,\n): RunStepCodeInterpreterToolCall {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n codeInterpreter: runStepCodeInterpreterToolCallDetailsDeserializer(item[\"code_interpreter\"]),\n };\n}\n\n/** The detailed information about a code interpreter invocation by the model. */\nexport interface RunStepCodeInterpreterToolCallDetails {\n /** The input provided by the model to the code interpreter tool. */\n input: string;\n /** The outputs produced by the code interpreter tool back to the model in response to the tool call. */\n outputs: RunStepCodeInterpreterToolCallOutputUnion[];\n}\n\nexport function runStepCodeInterpreterToolCallDetailsDeserializer(\n item: any,\n): RunStepCodeInterpreterToolCallDetails {\n return {\n input: item[\"input\"],\n outputs: runStepCodeInterpreterToolCallOutputUnionArrayDeserializer(item[\"outputs\"]),\n };\n}\n\nexport function runStepCodeInterpreterToolCallOutputUnionArrayDeserializer(\n result: Array<RunStepCodeInterpreterToolCallOutputUnion>,\n): any[] {\n return result.map((item) => {\n return runStepCodeInterpreterToolCallOutputUnionDeserializer(item);\n });\n}\n\n/** An abstract representation of an emitted output from a code interpreter tool. */\nexport interface RunStepCodeInterpreterToolCallOutput {\n /** The object type. */\n /** The discriminator possible values: logs, image */\n type: string;\n}\n\nexport function runStepCodeInterpreterToolCallOutputDeserializer(\n item: any,\n): RunStepCodeInterpreterToolCallOutput {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for RunStepCodeInterpreterToolCallOutputUnion */\nexport type RunStepCodeInterpreterToolCallOutputUnion =\n | RunStepCodeInterpreterLogOutput\n | RunStepCodeInterpreterImageOutput\n | RunStepCodeInterpreterToolCallOutput;\n\nexport function runStepCodeInterpreterToolCallOutputUnionDeserializer(\n item: any,\n): RunStepCodeInterpreterToolCallOutputUnion {\n switch (item.type) {\n case \"logs\":\n return runStepCodeInterpreterLogOutputDeserializer(item as RunStepCodeInterpreterLogOutput);\n\n case \"image\":\n return runStepCodeInterpreterImageOutputDeserializer(\n item as RunStepCodeInterpreterImageOutput,\n );\n\n default:\n return runStepCodeInterpreterToolCallOutputDeserializer(item);\n }\n}\n\n/** A representation of a log output emitted by a code interpreter tool in response to a tool call by the model. */\nexport interface RunStepCodeInterpreterLogOutput extends RunStepCodeInterpreterToolCallOutput {\n /** The object type, which is always 'logs'. */\n type: \"logs\";\n /** The serialized log output emitted by the code interpreter. */\n logs: string;\n}\n\nexport function runStepCodeInterpreterLogOutputDeserializer(\n item: any,\n): RunStepCodeInterpreterLogOutput {\n return {\n type: item[\"type\"],\n logs: item[\"logs\"],\n };\n}\n\n/** A representation of an image output emitted by a code interpreter tool in response to a tool call by the model. */\nexport interface RunStepCodeInterpreterImageOutput extends RunStepCodeInterpreterToolCallOutput {\n /** The object type, which is always 'image'. */\n type: \"image\";\n /** Referential information for the image associated with this output. */\n image: RunStepCodeInterpreterImageReference;\n}\n\nexport function runStepCodeInterpreterImageOutputDeserializer(\n item: any,\n): RunStepCodeInterpreterImageOutput {\n return {\n type: item[\"type\"],\n image: runStepCodeInterpreterImageReferenceDeserializer(item[\"image\"]),\n };\n}\n\n/** An image reference emitted by a code interpreter tool in response to a tool call by the model. */\nexport interface RunStepCodeInterpreterImageReference {\n /** The ID of the file associated with this image. */\n fileId: string;\n}\n\nexport function runStepCodeInterpreterImageReferenceDeserializer(\n item: any,\n): RunStepCodeInterpreterImageReference {\n return {\n fileId: item[\"file_id\"],\n };\n}\n\n/**\n * A record of a call to a file search tool, issued by the model in evaluation of a defined tool, that represents\n * executed file search.\n */\nexport interface RunStepFileSearchToolCall extends RunStepToolCall {\n /** The object type, which is always 'file_search'. */\n type: \"file_search\";\n /** The ID of the tool call. This ID must be referenced when you submit tool outputs. */\n id: string;\n /** For now, this is always going to be an empty object. */\n fileSearch: RunStepFileSearchToolCallResults;\n}\n\nexport function runStepFileSearchToolCallDeserializer(item: any): RunStepFileSearchToolCall {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n fileSearch: runStepFileSearchToolCallResultsDeserializer(item[\"file_search\"]),\n };\n}\n\n/** The results of the file search. */\nexport interface RunStepFileSearchToolCallResults {\n /** Ranking options for file search. */\n rankingOptions?: FileSearchRankingOptions;\n /** The array of a file search results */\n results: RunStepFileSearchToolCallResult[];\n}\n\nexport function runStepFileSearchToolCallResultsDeserializer(\n item: any,\n): RunStepFileSearchToolCallResults {\n return {\n rankingOptions: !item[\"ranking_options\"]\n ? item[\"ranking_options\"]\n : fileSearchRankingOptionsDeserializer(item[\"ranking_options\"]),\n results: runStepFileSearchToolCallResultArrayDeserializer(item[\"results\"]),\n };\n}\n\nexport function runStepFileSearchToolCallResultArrayDeserializer(\n result: Array<RunStepFileSearchToolCallResult>,\n): any[] {\n return result.map((item) => {\n return runStepFileSearchToolCallResultDeserializer(item);\n });\n}\n\n/** File search tool call result. */\nexport interface RunStepFileSearchToolCallResult {\n /** The ID of the file that result was found in. */\n fileId: string;\n /** The name of the file that result was found in. */\n fileName: string;\n /** The score of the result. All values must be a floating point number between 0 and 1. */\n score: number;\n /** The content of the result that was found. The content is only included if requested via the include query parameter. */\n content?: FileSearchToolCallContent[];\n}\n\nexport function runStepFileSearchToolCallResultDeserializer(\n item: any,\n): RunStepFileSearchToolCallResult {\n return {\n fileId: item[\"file_id\"],\n fileName: item[\"file_name\"],\n score: item[\"score\"],\n content: !item[\"content\"]\n ? item[\"content\"]\n : fileSearchToolCallContentArrayDeserializer(item[\"content\"]),\n };\n}\n\nexport function fileSearchToolCallContentArrayDeserializer(\n result: Array<FileSearchToolCallContent>,\n): any[] {\n return result.map((item) => {\n return fileSearchToolCallContentDeserializer(item);\n });\n}\n\n/** The file search result content object. */\nexport interface FileSearchToolCallContent {\n /** The type of the content. */\n type: \"text\";\n /** The text content of the file. */\n text: string;\n}\n\nexport function fileSearchToolCallContentDeserializer(item: any): FileSearchToolCallContent {\n return {\n type: item[\"type\"],\n text: item[\"text\"],\n };\n}\n\n/**\n * A record of a call to a bing grounding tool, issued by the model in evaluation of a defined tool, that represents\n * executed search with bing grounding.\n */\nexport interface RunStepBingGroundingToolCall extends RunStepToolCall {\n /** The object type, which is always 'bing_grounding'. */\n type: \"bing_grounding\";\n /** The dictionary with request and response from Bing Grounding search tool. */\n bingGrounding: Record<string, string>;\n}\n\nexport function runStepBingGroundingToolCallDeserializer(item: any): RunStepBingGroundingToolCall {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n bingGrounding: item[\"bing_grounding\"],\n };\n}\n\n/**\n * A record of a call to an Azure AI Search tool, issued by the model in evaluation of a defined tool, that represents\n * executed Azure AI search.\n */\nexport interface RunStepAzureAISearchToolCall extends RunStepToolCall {\n /** The object type, which is always 'azure_ai_search'. */\n type: \"azure_ai_search\";\n /** Reserved for future use. */\n azureAISearch: Record<string, string>;\n}\n\nexport function runStepAzureAISearchToolCallDeserializer(item: any): RunStepAzureAISearchToolCall {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n azureAISearch: item[\"azure_ai_search\"],\n };\n}\n\n/** A record of a call to a Browser Automation tool issued by the Agent. */\nexport interface RunStepBrowserAutomationToolCall extends RunStepToolCall {\n /** The object type, which is always 'browser_automation'. */\n type: \"browser_automation\";\n /** Details of the browser automation tool call. */\n browserAutomation: BrowserAutomationToolCallDetails;\n}\n\nexport function runStepBrowserAutomationToolCallDeserializer(\n item: any,\n): RunStepBrowserAutomationToolCall {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n browserAutomation: browserAutomationToolCallDetailsDeserializer(item[\"browser_automation\"]),\n };\n}\n\n/** Details of a Browser Automation tool call. */\nexport interface BrowserAutomationToolCallDetails {\n /** The input provided to the Browser Automation tool. */\n input: string;\n /** The output returned by the Browser Automation tool. */\n output: string;\n /** The steps the Browser Automation tool executed. */\n steps: BrowserAutomationToolCallStep[];\n}\n\nexport function browserAutomationToolCallDetailsDeserializer(\n item: any,\n): BrowserAutomationToolCallDetails {\n return {\n input: item[\"input\"],\n output: item[\"output\"],\n steps: browserAutomationToolCallStepArrayDeserializer(item[\"steps\"]),\n };\n}\n\nexport function browserAutomationToolCallStepArrayDeserializer(\n result: Array<BrowserAutomationToolCallStep>,\n): any[] {\n return result.map((item) => {\n return browserAutomationToolCallStepDeserializer(item);\n });\n}\n\n/** Describes a single step of a Browser Automation tool execution. */\nexport interface BrowserAutomationToolCallStep {\n /** The result of the last step executed with the Browser. */\n lastStepResult: string;\n /** The current state of execution with the Browser. */\n currentState: string;\n /** The next step to execute with the Browser. */\n nextStep: string;\n}\n\nexport function browserAutomationToolCallStepDeserializer(\n item: any,\n): BrowserAutomationToolCallStep {\n return {\n lastStepResult: item[\"last_step_result\"],\n currentState: item[\"current_state\"],\n nextStep: item[\"next_step\"],\n };\n}\n\n/**\n * A record of a call to a MCP tool, issued by the model in evaluation of a defined tool, that represents\n * executed MCP actions.\n */\nexport interface RunStepMcpToolCall extends RunStepToolCall {\n /** The object type, which is always 'mcp'. */\n type: \"mcp\";\n /** Arguments to the MCP tool call, as provided by the model. Arguments are presented as a JSON document that should be validated and parsed for evaluation. */\n arguments: string;\n /** Name of the function used on the MCP server. */\n name: string;\n /** Output of the MCP tool call. */\n output: string;\n /** The label for the MCP server */\n serverLabel?: string;\n}\n\nexport function runStepMcpToolCallDeserializer(item: any): RunStepMcpToolCall {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n arguments: item[\"arguments\"],\n name: item[\"name\"],\n output: item[\"output\"],\n serverLabel: item[\"server_label\"],\n };\n}\n\n/**\n * A record of a call to a SharePoint tool, issued by the model in evaluation of a defined tool, that represents\n * executed SharePoint actions.\n */\nexport interface RunStepSharepointToolCall extends RunStepToolCall {\n /** The object type, which is always 'sharepoint_grounding'. */\n type: \"sharepoint_grounding\";\n /** SharePoint tool input and output. */\n sharePoint: Record<string, string>;\n}\n\nexport function runStepSharepointToolCallDeserializer(item: any): RunStepSharepointToolCall {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n sharePoint: item[\"sharepoint_grounding\"],\n };\n}\n\n/**\n * A record of a call to a Microsoft Fabric tool, issued by the model in evaluation of a defined tool, that represents\n * executed Microsoft Fabric operations.\n */\nexport interface RunStepMicrosoftFabricToolCall extends RunStepToolCall {\n /** The object type, which is always 'fabric_dataagent'. */\n type: \"fabric_dataagent\";\n /** Fabric input and output. */\n microsoftFabric: Record<string, string>;\n}\n\nexport function runStepMicrosoftFabricToolCallDeserializer(\n item: any,\n): RunStepMicrosoftFabricToolCall {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n microsoftFabric: item[\"fabric_dataagent\"],\n };\n}\n\n/**\n * A record of a call to a Bing Custom Search tool, issued by the model in evaluation of a defined tool, that represents\n * executed search with Bing Custom Search.\n */\nexport interface RunStepBingCustomSearchToolCall extends RunStepToolCall {\n /** The object type, which is always 'bing_custom_search'. */\n type: \"bing_custom_search\";\n /** The dictionary with request and response from Bing Custom Search tool. */\n bingCustomSearch: Record<string, string>;\n}\n\nexport function runStepBingCustomSearchToolCallDeserializer(\n item: any,\n): RunStepBingCustomSearchToolCall {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n bingCustomSearch: item[\"bing_custom_search\"],\n };\n}\n\n/** A record of a call to an Azure Function tool. */\nexport interface RunStepAzureFunctionToolCall extends RunStepToolCall {\n /** The object type, which is always 'azure_function'. */\n type: \"azure_function\";\n /** The description of an Azure function call. */\n azureFunction: AzureFunctionToolCallDetails;\n}\n\nexport function runStepAzureFunctionToolCallDeserializer(item: any): RunStepAzureFunctionToolCall {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n azureFunction: azureFunctionToolCallDetailsDeserializer(item[\"azure_function\"]),\n };\n}\n\n/**\n * The Azure function call description. All the fields are present in the completed run step, however\n * only some fields are present in the RunStepDeltaAzureFunctionToolCall.\n */\nexport interface AzureFunctionToolCallDetails {\n /** The Azure function name */\n name?: string;\n /** JSON serialized function arguments. */\n arguments?: string;\n /** The function output. */\n output?: string;\n}\n\nexport function azureFunctionToolCallDetailsDeserializer(item: any): AzureFunctionToolCallDetails {\n return {\n name: item[\"name\"],\n arguments: item[\"arguments\"],\n output: item[\"output\"],\n };\n}\n\n/**\n * A record of a call to a function tool, issued by the model in evaluation of a defined tool, that represents the inputs\n * and output consumed and emitted by the specified function.\n */\nexport interface RunStepFunctionToolCall extends RunStepToolCall {\n /** The object type, which is always 'function'. */\n type: \"function\";\n /** The detailed information about the function called by the model. */\n function: RunStepFunctionToolCallDetails;\n}\n\nexport function runStepFunctionToolCallDeserializer(item: any): RunStepFunctionToolCall {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n function: runStepFunctionToolCallDetailsDeserializer(item[\"function\"]),\n };\n}\n\n/** The detailed information about the function called by the model. */\nexport interface RunStepFunctionToolCallDetails {\n /** The name of the function. */\n name: string;\n /** The arguments that the model requires are provided to the named function. */\n arguments: string;\n}\n\nexport function runStepFunctionToolCallDetailsDeserializer(\n item: any,\n): RunStepFunctionToolCallDetails {\n return {\n name: item[\"name\"],\n arguments: item[\"arguments\"],\n };\n}\n\n/**\n * A record of a call to an OpenAPI tool, issued by the model in evaluation of a defined tool, that represents\n * executed OpenAPI operations.\n */\nexport interface RunStepOpenAPIToolCall extends RunStepToolCall {\n /** The object type, which is always 'openapi'. */\n type: \"openapi\";\n /** Reserved for future use. */\n openAPI: Record<string, string>;\n}\n\nexport function runStepOpenAPIToolCallDeserializer(item: any): RunStepOpenAPIToolCall {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n openAPI: item[\"openapi\"],\n };\n}\n\n/**\n * A record of a call to a Deep Research tool, issued by the model in evaluation of a defined tool, that represents\n * executed deep research operations.\n */\nexport interface RunStepDeepResearchToolCall extends RunStepToolCall {\n /** The object type, which is always 'deep_research'. */\n type: \"deep_research\";\n /** The detailed information about the automated browser tasks performed by the model. */\n deepResearch: RunStepDeepResearchToolCallDetails;\n}\n\nexport function runStepDeepResearchToolCallDeserializer(item: any): RunStepDeepResearchToolCall {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n deepResearch: runStepDeepResearchToolCallDetailsDeserializer(item[\"deep_research\"]),\n };\n}\n\n/** The detailed information about the deep research tasks performed by the model. */\nexport interface RunStepDeepResearchToolCallDetails {\n /** The input provided by the model to the deep research tool. */\n input: string;\n /** The final output for the deep research tool. */\n output?: string;\n}\n\nexport function runStepDeepResearchToolCallDetailsDeserializer(\n item: any,\n): RunStepDeepResearchToolCallDetails {\n return {\n input: item[\"input\"],\n output: item[\"output\"],\n };\n}\n\n/** A record of a call to the connected agent. */\nexport interface RunStepConnectedAgentToolCall extends RunStepToolCall {\n /** The object type, which is always 'connected_agent'. */\n type: \"connected_agent\";\n /** The connected agent step information. */\n connectedAgent: RunStepConnectedAgent;\n}\n\nexport function runStepConnectedAgentToolCallDeserializer(\n item: any,\n): RunStepConnectedAgentToolCall {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n connectedAgent: runStepConnectedAgentDeserializer(item[\"connected_agent\"]),\n };\n}\n\n/** The detailed information about connected agent tool call. */\nexport interface RunStepConnectedAgent {\n /** The name of connected agent. */\n name?: string;\n /** The JSON serialized query to the connected agent. */\n arguments?: string;\n /** The tool output. */\n output?: string;\n /** The run ID used by the connected agent. */\n runId?: string;\n /** The thread ID used by the connected agent. */\n threadId?: string;\n /** The ID of a connected agent. */\n agentId?: string;\n}\n\nexport function runStepConnectedAgentDeserializer(item: any): RunStepConnectedAgent {\n return {\n name: item[\"name\"],\n arguments: item[\"arguments\"],\n output: item[\"output\"],\n runId: item[\"run_id\"],\n threadId: item[\"thread_id\"],\n agentId: item[\"assistant_id\"],\n };\n}\n\n/** The detailed information associated with a run step activities. */\nexport interface RunStepActivityDetails extends RunStepDetails {\n /** The object type, which is always 'activities'. */\n type: \"activities\";\n /** A list of activities for this run step. */\n activities: RunStepDetailsActivity[];\n}\n\nexport function runStepActivityDetailsDeserializer(item: any): RunStepActivityDetails {\n return {\n type: item[\"type\"],\n activities: runStepDetailsActivityArrayDeserializer(item[\"activities\"]),\n };\n}\n\nexport function runStepDetailsActivityArrayDeserializer(\n result: Array<RunStepDetailsActivity>,\n): any[] {\n return result.map((item) => {\n return runStepDetailsActivityDeserializer(item);\n });\n}\n\n/** Represents the list of activities, associated with the given step. */\nexport interface RunStepDetailsActivity {\n /** The activity type, which is always 'mcp_list_tools'. */\n type: \"mcp_list_tools\";\n /** The activity ID. */\n id: string;\n /** Server label. */\n serverLabel: string;\n /** The supported function list. */\n tools: Record<string, ActivityFunctionDefinition>;\n}\n\nexport function runStepDetailsActivityDeserializer(item: any): RunStepDetailsActivity {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n serverLabel: item[\"server_label\"],\n tools: activityFunctionDefinitionRecordDeserializer(item[\"tools\"]),\n };\n}\n\nexport function activityFunctionDefinitionRecordDeserializer(\n item: Record<string, any>,\n): Record<string, ActivityFunctionDefinition> {\n const result: Record<string, any> = {};\n Object.keys(item).map((key) => {\n result[key] = !item[key] ? item[key] : activityFunctionDefinitionDeserializer(item[key]);\n });\n return result;\n}\n\n/** The activity definition information for a function. */\nexport interface ActivityFunctionDefinition {\n /** A description of what the function does, used by the model to choose when and how to call the function. */\n description?: string;\n /** The parameters the functions accepts, described as a JSON Schema object. */\n parameters: ActivityFunctionParameters;\n}\n\nexport function activityFunctionDefinitionDeserializer(item: any): ActivityFunctionDefinition {\n return {\n description: item[\"description\"],\n parameters: activityFunctionParametersDeserializer(item[\"parameters\"]),\n };\n}\n\n/** The parameters used for activity function definition. */\nexport interface ActivityFunctionParameters {\n /** The parameter type, it is always object. */\n type: \"object\";\n /** The dictionary of function arguments. */\n properties: Record<string, FunctionArgument>;\n /** The list of the required parameters. */\n required: string[];\n /** If true the function has additional parameters. */\n additionalProperties?: boolean;\n}\n\nexport function activityFunctionParametersDeserializer(item: any): ActivityFunctionParameters {\n return {\n type: item[\"type\"],\n properties: functionArgumentRecordDeserializer(item[\"properties\"]),\n required: item[\"required\"].map((p: any) => {\n return p;\n }),\n additionalProperties: item[\"additionalProperties\"],\n };\n}\n\nexport function functionArgumentRecordDeserializer(\n item: Record<string, any>,\n): Record<string, FunctionArgument> {\n const result: Record<string, any> = {};\n Object.keys(item).map((key) => {\n result[key] = !item[key] ? item[key] : functionArgumentDeserializer(item[key]);\n });\n return result;\n}\n\n/** The function argument and description. */\nexport interface FunctionArgument {\n /** The type of an argument, for example 'string' or 'number'. */\n type: string;\n /** The argument description. */\n description?: string;\n}\n\nexport function functionArgumentDeserializer(item: any): FunctionArgument {\n return {\n type: item[\"type\"],\n description: item[\"description\"],\n };\n}\n\n/** The error information associated with a failed run step. */\nexport interface RunStepError {\n /** The error code for this error. */\n code: RunStepErrorCode;\n /** The human-readable text associated with this error. */\n message: string;\n}\n\nexport function runStepErrorDeserializer(item: any): RunStepError {\n return {\n code: item[\"code\"],\n message: item[\"message\"],\n };\n}\n\n/** Possible error code values attributable to a failed run step. */\nexport type RunStepErrorCode = \"server_error\" | \"rate_limit_exceeded\";\n\n/** Usage statistics related to the run step. */\nexport interface RunStepCompletionUsage {\n /** Number of completion tokens used over the course of the run step. */\n completionTokens: number;\n /** Number of prompt tokens used over the course of the run step. */\n promptTokens: number;\n /** Total number of tokens used (prompt + completion). */\n totalTokens: number;\n}\n\nexport function runStepCompletionUsageDeserializer(item: any): RunStepCompletionUsage {\n return {\n completionTokens: item[\"completion_tokens\"],\n promptTokens: item[\"prompt_tokens\"],\n totalTokens: item[\"total_tokens\"],\n };\n}\n\n/** The response data for a requested list of items. */\nexport interface _AgentsPagedResultRunStep {\n /** The requested list of items. */\n data: RunStep[];\n /** The last ID represented in this list. */\n lastId?: string;\n /** A value indicating whether there are additional values available not captured in this list. */\n hasMore: boolean;\n}\n\nexport function _agentsPagedResultRunStepDeserializer(item: any): _AgentsPagedResultRunStep {\n return {\n data: runStepArrayDeserializer(item[\"data\"]),\n lastId: item[\"last_id\"],\n hasMore: item[\"has_more\"],\n };\n}\n\nexport function runStepArrayDeserializer(result: Array<RunStep>): any[] {\n return result.map((item) => {\n return runStepDeserializer(item);\n });\n}\n\n/** The response data from a file list operation. */\nexport interface FileListResponse {\n /** The object type, which is always 'list'. */\n object: \"list\";\n /** The files returned for the request. */\n data: FileInfo[];\n}\n\nexport function fileListResponseDeserializer(item: any): FileListResponse {\n return {\n object: item[\"object\"],\n data: fileInfoArrayDeserializer(item[\"data\"]),\n };\n}\n\nexport function fileInfoArrayDeserializer(result: Array<FileInfo>): any[] {\n return result.map((item) => {\n return fileInfoDeserializer(item);\n });\n}\n\n/** Represents an agent that can call the model and use tools. */\nexport interface FileInfo {\n /** The object type, which is always 'file'. */\n object: \"file\";\n /** The identifier, which can be referenced in API endpoints. */\n id: string;\n /** The size of the file, in bytes. */\n bytes: number;\n /** The name of the file. */\n filename: string;\n /** The Unix timestamp, in seconds, representing when this object was created. */\n createdAt: Date;\n /** The intended purpose of a file. */\n purpose: FilePurpose;\n /** The state of the file. This field is available in Azure OpenAI only. */\n status?: FileState;\n /** The error message with details in case processing of this file failed. This field is available in Azure OpenAI only. */\n statusDetails?: string;\n}\n\nexport function fileInfoDeserializer(item: any): FileInfo {\n return {\n object: item[\"object\"],\n id: item[\"id\"],\n bytes: item[\"bytes\"],\n filename: item[\"filename\"],\n createdAt: new Date(item[\"created_at\"] * 1000),\n purpose: item[\"purpose\"],\n status: item[\"status\"],\n statusDetails: item[\"status_details\"],\n };\n}\n\n/** The possible values denoting the intended usage of a file. */\nexport type FilePurpose = \"assistants\" | \"assistants_output\" | \"vision\";\n/** The state of the file. */\nexport type FileState =\n | \"uploaded\"\n | \"pending\"\n | \"running\"\n | \"processed\"\n | \"error\"\n | \"deleting\"\n | \"deleted\";\n\n/** model interface _UploadFileRequest */\nexport interface _UploadFileRequest {\n /** The file data, in bytes. */\n file: FileContents | { contents: FileContents; contentType?: string; filename?: string };\n /** The intended purpose of the uploaded file. Use `assistants` for Agents and Message files, `vision` for Agents image file inputs, `batch` for Batch API, and `fine-tune` for Fine-tuning. */\n purpose: FilePurpose;\n /** The name of the file. */\n filename?: string;\n}\n\nexport function _uploadFileRequestSerializer(item: _UploadFileRequest): any {\n const filePart = createFilePartDescriptor(\"file\", item[\"file\"], \"application/octet-stream\");\n if (!filePart.filename) {\n filePart.filename = item[\"filename\"];\n }\n return [filePart, { name: \"purpose\", body: item[\"purpose\"] }];\n}\n\n/** A status response from a file deletion operation. */\nexport interface FileDeletionStatus {\n /** The ID of the resource specified for deletion. */\n id: string;\n /** A value indicating whether deletion was successful. */\n deleted: boolean;\n /** The object type, which is always 'file'. */\n object: \"file\";\n}\n\nexport function fileDeletionStatusDeserializer(item: any): FileDeletionStatus {\n return {\n id: item[\"id\"],\n deleted: item[\"deleted\"],\n object: item[\"object\"],\n };\n}\n\n/** The response data for a requested list of items. */\nexport interface _AgentsPagedResultVectorStore {\n /** The requested list of items. */\n data: VectorStore[];\n /** The last ID represented in this list. */\n lastId?: string;\n /** A value indicating whether there are additional values available not captured in this list. */\n hasMore: boolean;\n}\n\nexport function _agentsPagedResultVectorStoreDeserializer(\n item: any,\n): _AgentsPagedResultVectorStore {\n return {\n data: vectorStoreArrayDeserializer(item[\"data\"]),\n lastId: item[\"last_id\"],\n hasMore: item[\"has_more\"],\n };\n}\n\nexport function vectorStoreArrayDeserializer(result: Array<VectorStore>): any[] {\n return result.map((item) => {\n return vectorStoreDeserializer(item);\n });\n}\n\n/** A vector store is a collection of processed files can be used by the `file_search` tool. */\nexport interface VectorStore {\n /** The identifier, which can be referenced in API endpoints. */\n id: string;\n /** The object type, which is always `vector_store` */\n object: \"vector_store\";\n /** The Unix timestamp (in seconds) for when the vector store was created. */\n createdAt: Date;\n /** The name of the vector store. */\n name: string;\n /** The total number of bytes used by the files in the vector store. */\n usageBytes: number;\n /** Files count grouped by status processed or being processed by this vector store. */\n fileCounts: VectorStoreFileCount;\n /** The status of the vector store, which can be either `expired`, `in_progress`, or `completed`. A status of `completed` indicates that the vector store is ready for use. */\n status: VectorStoreStatus;\n /** Details on when this vector store expires */\n expiresAfter?: VectorStoreExpirationPolicy;\n /** The Unix timestamp (in seconds) for when the vector store will expire. */\n expiresAt?: Date | null;\n /** The Unix timestamp (in seconds) for when the vector store was last active. */\n lastActiveAt: Date | null;\n /** A set of up to 16 key/value pairs that can be attached to an object, used for storing additional information about that object in a structured format. Keys may be up to 64 characters in length and values may be up to 512 characters in length. */\n metadata: Record<string, string> | null;\n}\n\nexport function vectorStoreDeserializer(item: any): VectorStore {\n return {\n id: item[\"id\"],\n object: item[\"object\"],\n createdAt: new Date(item[\"created_at\"] * 1000),\n name: item[\"name\"],\n usageBytes: item[\"usage_bytes\"],\n fileCounts: vectorStoreFileCountDeserializer(item[\"file_counts\"]),\n status: item[\"status\"],\n expiresAfter: !item[\"expires_after\"]\n ? item[\"expires_after\"]\n : vectorStoreExpirationPolicyDeserializer(item[\"expires_after\"]),\n expiresAt: !item[\"expires_at\"] ? item[\"expires_at\"] : new Date(item[\"expires_at\"] * 1000),\n lastActiveAt: !item[\"last_active_at\"]\n ? item[\"last_active_at\"]\n : new Date(item[\"last_active_at\"] * 1000),\n metadata: item[\"metadata\"],\n };\n}\n\n/** Counts of files processed or being processed by this vector store grouped by status. */\nexport interface VectorStoreFileCount {\n /** The number of files that are currently being processed. */\n inProgress: number;\n /** The number of files that have been successfully processed. */\n completed: number;\n /** The number of files that have failed to process. */\n failed: number;\n /** The number of files that were cancelled. */\n cancelled: number;\n /** The total number of files. */\n total: number;\n}\n\nexport function vectorStoreFileCountDeserializer(item: any): VectorStoreFileCount {\n return {\n inProgress: item[\"in_progress\"],\n completed: item[\"completed\"],\n failed: item[\"failed\"],\n cancelled: item[\"cancelled\"],\n total: item[\"total\"],\n };\n}\n\n/** Vector store possible status */\nexport type VectorStoreStatus = \"expired\" | \"in_progress\" | \"completed\";\n\n/** The expiration policy for a vector store. */\nexport interface VectorStoreExpirationPolicy {\n /** Anchor timestamp after which the expiration policy applies. Supported anchors: `last_active_at`. */\n anchor: VectorStoreExpirationPolicyAnchor;\n /** The anchor timestamp after which the expiration policy applies. */\n days: number;\n}\n\nexport function vectorStoreExpirationPolicySerializer(item: VectorStoreExpirationPolicy): any {\n return { anchor: item[\"anchor\"], days: item[\"days\"] };\n}\n\nexport function vectorStoreExpirationPolicyDeserializer(item: any): VectorStoreExpirationPolicy {\n return {\n anchor: item[\"anchor\"],\n days: item[\"days\"],\n };\n}\n\n/** Describes the relationship between the days and the expiration of this vector store */\nexport type VectorStoreExpirationPolicyAnchor = \"last_active_at\";\n\n/** An abstract representation of a vector store chunking strategy configuration. */\nexport interface VectorStoreChunkingStrategyRequest {\n /** The object type. */\n /** The discriminator possible values: auto, static */\n type: VectorStoreChunkingStrategyRequestType;\n}\n\nexport function vectorStoreChunkingStrategyRequestSerializer(\n item: VectorStoreChunkingStrategyRequest,\n): any {\n return { type: item[\"type\"] };\n}\n\n/** Alias for VectorStoreChunkingStrategyRequestUnion */\nexport type VectorStoreChunkingStrategyRequestUnion =\n | VectorStoreAutoChunkingStrategyRequest\n | VectorStoreStaticChunkingStrategyRequest\n | VectorStoreChunkingStrategyRequest;\n\nexport function vectorStoreChunkingStrategyRequestUnionSerializer(\n item: VectorStoreChunkingStrategyRequestUnion,\n): any {\n switch (item.type) {\n case \"auto\":\n return vectorStoreAutoChunkingStrategyRequestSerializer(\n item as VectorStoreAutoChunkingStrategyRequest,\n );\n\n case \"static\":\n return vectorStoreStaticChunkingStrategyRequestSerializer(\n item as VectorStoreStaticChunkingStrategyRequest,\n );\n\n default:\n return vectorStoreChunkingStrategyRequestSerializer(item);\n }\n}\n\n/** Type of chunking strategy */\nexport type VectorStoreChunkingStrategyRequestType = \"auto\" | \"static\";\n\n/** The default strategy. This strategy currently uses a max_chunk_size_tokens of 800 and chunk_overlap_tokens of 400. */\nexport interface VectorStoreAutoChunkingStrategyRequest extends VectorStoreChunkingStrategyRequest {\n /** The object type, which is always 'auto'. */\n type: \"auto\";\n}\n\nexport function vectorStoreAutoChunkingStrategyRequestSerializer(\n item: VectorStoreAutoChunkingStrategyRequest,\n): any {\n return { type: item[\"type\"] };\n}\n\n/** A statically configured chunking strategy. */\nexport interface VectorStoreStaticChunkingStrategyRequest extends VectorStoreChunkingStrategyRequest {\n /** The object type, which is always 'static'. */\n type: \"static\";\n /** The options for the static chunking strategy. */\n static: VectorStoreStaticChunkingStrategyOptions;\n}\n\nexport function vectorStoreStaticChunkingStrategyRequestSerializer(\n item: VectorStoreStaticChunkingStrategyRequest,\n): any {\n return {\n type: item[\"type\"],\n static: vectorStoreStaticChunkingStrategyOptionsSerializer(item[\"static\"]),\n };\n}\n\n/** Options to configure a vector store static chunking strategy. */\nexport interface VectorStoreStaticChunkingStrategyOptions {\n /** The maximum number of tokens in each chunk. The default value is 800. The minimum value is 100 and the maximum value is 4096. */\n maxChunkSizeTokens: number;\n /**\n * The number of tokens that overlap between chunks. The default value is 400.\n * Note that the overlap must not exceed half of max_chunk_size_tokens.\n */\n chunkOverlapTokens: number;\n}\n\nexport function vectorStoreStaticChunkingStrategyOptionsSerializer(\n item: VectorStoreStaticChunkingStrategyOptions,\n): any {\n return {\n max_chunk_size_tokens: item[\"maxChunkSizeTokens\"],\n chunk_overlap_tokens: item[\"chunkOverlapTokens\"],\n };\n}\n\nexport function vectorStoreStaticChunkingStrategyOptionsDeserializer(\n item: any,\n): VectorStoreStaticChunkingStrategyOptions {\n return {\n maxChunkSizeTokens: item[\"max_chunk_size_tokens\"],\n chunkOverlapTokens: item[\"chunk_overlap_tokens\"],\n };\n}\n\n/** Response object for deleting a vector store. */\nexport interface VectorStoreDeletionStatus {\n /** The ID of the resource specified for deletion. */\n id: string;\n /** A value indicating whether deletion was successful. */\n deleted: boolean;\n /** The object type, which is always 'vector_store.deleted'. */\n object: \"vector_store.deleted\";\n}\n\nexport function vectorStoreDeletionStatusDeserializer(item: any): VectorStoreDeletionStatus {\n return {\n id: item[\"id\"],\n deleted: item[\"deleted\"],\n object: item[\"object\"],\n };\n}\n\n/** The response data for a requested list of items. */\nexport interface _AgentsPagedResultVectorStoreFile {\n /** The requested list of items. */\n data: VectorStoreFile[];\n /** The last ID represented in this list. */\n lastId?: string;\n /** A value indicating whether there are additional values available not captured in this list. */\n hasMore: boolean;\n}\n\nexport function _agentsPagedResultVectorStoreFileDeserializer(\n item: any,\n): _AgentsPagedResultVectorStoreFile {\n return {\n data: vectorStoreFileArrayDeserializer(item[\"data\"]),\n lastId: item[\"last_id\"],\n hasMore: item[\"has_more\"],\n };\n}\n\nexport function vectorStoreFileArrayDeserializer(result: Array<VectorStoreFile>): any[] {\n return result.map((item) => {\n return vectorStoreFileDeserializer(item);\n });\n}\n\n/** Description of a file attached to a vector store. */\nexport interface VectorStoreFile {\n /** The identifier, which can be referenced in API endpoints. */\n id: string;\n /** The object type, which is always `vector_store.file`. */\n object: \"vector_store.file\";\n /**\n * The total vector store usage in bytes. Note that this may be different from the original file\n * size.\n */\n usageBytes: number;\n /** The Unix timestamp (in seconds) for when the vector store file was created. */\n createdAt: Date;\n /** The ID of the vector store that the file is attached to. */\n vectorStoreId: string;\n /** The status of the vector store file, which can be either `in_progress`, `completed`, `cancelled`, or `failed`. The status `completed` indicates that the vector store file is ready for use. */\n status: VectorStoreFileStatus;\n /** The last error associated with this vector store file. Will be `null` if there are no errors. */\n lastError: VectorStoreFileError | null;\n /** The strategy used to chunk the file. */\n chunkingStrategy: VectorStoreChunkingStrategyResponseUnion;\n}\n\nexport function vectorStoreFileDeserializer(item: any): VectorStoreFile {\n return {\n id: item[\"id\"],\n object: item[\"object\"],\n usageBytes: item[\"usage_bytes\"],\n createdAt: new Date(item[\"created_at\"] * 1000),\n vectorStoreId: item[\"vector_store_id\"],\n status: item[\"status\"],\n lastError: !item[\"last_error\"]\n ? item[\"last_error\"]\n : vectorStoreFileErrorDeserializer(item[\"last_error\"]),\n chunkingStrategy: vectorStoreChunkingStrategyResponseUnionDeserializer(\n item[\"chunking_strategy\"],\n ),\n };\n}\n\n/** Vector store file status */\nexport type VectorStoreFileStatus = \"in_progress\" | \"completed\" | \"failed\" | \"cancelled\";\n\n/** Details on the error that may have occurred while processing a file for this vector store */\nexport interface VectorStoreFileError {\n /** One of `server_error` or `rate_limit_exceeded`. */\n code: VectorStoreFileErrorCode;\n /** A human-readable description of the error. */\n message: string;\n}\n\nexport function vectorStoreFileErrorDeserializer(item: any): VectorStoreFileError {\n return {\n code: item[\"code\"],\n message: item[\"message\"],\n };\n}\n\n/** Error code variants for vector store file processing */\nexport type VectorStoreFileErrorCode = \"server_error\" | \"invalid_file\" | \"unsupported_file\";\n\n/** An abstract representation of a vector store chunking strategy configuration. */\nexport interface VectorStoreChunkingStrategyResponse {\n /** The object type. */\n /** The discriminator possible values: other, static */\n type: VectorStoreChunkingStrategyResponseType;\n}\n\nexport function vectorStoreChunkingStrategyResponseDeserializer(\n item: any,\n): VectorStoreChunkingStrategyResponse {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for VectorStoreChunkingStrategyResponseUnion */\nexport type VectorStoreChunkingStrategyResponseUnion =\n | VectorStoreAutoChunkingStrategyResponse\n | VectorStoreStaticChunkingStrategyResponse\n | VectorStoreChunkingStrategyResponse;\n\nexport function vectorStoreChunkingStrategyResponseUnionDeserializer(\n item: any,\n): VectorStoreChunkingStrategyResponseUnion {\n // Handle undefined or null input by returning a default response\n if (!item) {\n return vectorStoreChunkingStrategyResponseDeserializer({ type: \"other\" });\n }\n\n switch (item.type) {\n case \"other\":\n return vectorStoreAutoChunkingStrategyResponseDeserializer(\n item as VectorStoreAutoChunkingStrategyResponse,\n );\n\n case \"static\":\n return vectorStoreStaticChunkingStrategyResponseDeserializer(\n item as VectorStoreStaticChunkingStrategyResponse,\n );\n\n default:\n return vectorStoreChunkingStrategyResponseDeserializer(item);\n }\n}\n\n/** Type of chunking strategy */\nexport type VectorStoreChunkingStrategyResponseType = \"other\" | \"static\";\n\n/** 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. */\nexport interface VectorStoreAutoChunkingStrategyResponse extends VectorStoreChunkingStrategyResponse {\n /** The object type, which is always 'other'. */\n type: \"other\";\n}\n\nexport function vectorStoreAutoChunkingStrategyResponseDeserializer(\n item: any,\n): VectorStoreAutoChunkingStrategyResponse {\n return {\n type: item[\"type\"],\n };\n}\n\n/** A statically configured chunking strategy. */\nexport interface VectorStoreStaticChunkingStrategyResponse extends VectorStoreChunkingStrategyResponse {\n /** The object type, which is always 'static'. */\n type: \"static\";\n /** The options for the static chunking strategy. */\n static: VectorStoreStaticChunkingStrategyOptions;\n}\n\nexport function vectorStoreStaticChunkingStrategyResponseDeserializer(\n item: any,\n): VectorStoreStaticChunkingStrategyResponse {\n return {\n type: item[\"type\"],\n static: vectorStoreStaticChunkingStrategyOptionsDeserializer(item[\"static\"]),\n };\n}\n\n/** Response object for deleting a vector store file relationship. */\nexport interface VectorStoreFileDeletionStatus {\n /** The ID of the resource specified for deletion. */\n id: string;\n /** A value indicating whether deletion was successful. */\n deleted: boolean;\n /** The object type, which is always 'vector_store.deleted'. */\n object: \"vector_store.file.deleted\";\n}\n\nexport function vectorStoreFileDeletionStatusDeserializer(\n item: any,\n): VectorStoreFileDeletionStatus {\n return {\n id: item[\"id\"],\n deleted: item[\"deleted\"],\n object: item[\"object\"],\n };\n}\n\n/** A batch of files attached to a vector store. */\nexport interface VectorStoreFileBatch {\n /** The identifier, which can be referenced in API endpoints. */\n id: string;\n /** The object type, which is always `vector_store.file_batch`. */\n object: \"vector_store.files_batch\";\n /** The Unix timestamp (in seconds) for when the vector store files batch was created. */\n createdAt: Date;\n /** The ID of the vector store that the file is attached to. */\n vectorStoreId: string;\n /** The status of the vector store files batch, which can be either `in_progress`, `completed`, `cancelled` or `failed`. */\n status: VectorStoreFileBatchStatus;\n /** Files count grouped by status processed or being processed by this vector store. */\n fileCounts: VectorStoreFileCount;\n}\n\nexport function vectorStoreFileBatchDeserializer(item: any): VectorStoreFileBatch {\n return {\n id: item[\"id\"],\n object: item[\"object\"],\n createdAt: new Date(item[\"created_at\"] * 1000),\n vectorStoreId: item[\"vector_store_id\"],\n status: item[\"status\"],\n fileCounts: vectorStoreFileCountDeserializer(item[\"file_counts\"]),\n };\n}\n\n/** The status of the vector store file batch. */\nexport type VectorStoreFileBatchStatus = \"in_progress\" | \"completed\" | \"cancelled\" | \"failed\";\n\n/** Represents a message delta i.e. any changed fields on a message during streaming. */\nexport interface MessageDeltaChunk {\n /** The identifier of the message, which can be referenced in API endpoints. */\n id: string;\n /** The object type, which is always `thread.message.delta`. */\n object: \"thread.message.delta\";\n /** The delta containing the fields that have changed on the Message. */\n delta: MessageDelta;\n}\n\nexport function messageDeltaChunkDeserializer(item: any): MessageDeltaChunk {\n return {\n id: item[\"id\"],\n object: item[\"object\"],\n delta: messageDeltaDeserializer(item[\"delta\"]),\n };\n}\n\n/** Represents the typed 'delta' payload within a streaming message delta chunk. */\nexport interface MessageDelta {\n /** The entity that produced the message. */\n role: MessageRole;\n /** The content of the message as an array of text and/or images. */\n content: MessageDeltaContentUnion[];\n}\n\nexport function messageDeltaDeserializer(item: any): MessageDelta {\n return {\n role: item[\"role\"],\n content: messageDeltaContentUnionArrayDeserializer(item[\"content\"]),\n };\n}\n\nexport function messageDeltaContentUnionArrayDeserializer(\n result: Array<MessageDeltaContentUnion>,\n): any[] {\n return result.map((item) => {\n return messageDeltaContentUnionDeserializer(item);\n });\n}\n\n/** The abstract base representation of a partial streamed message content payload. */\nexport interface MessageDeltaContent {\n /** The index of the content part of the message. */\n index: number;\n /** The type of content for this content part. */\n /** The discriminator possible values: image_file, text */\n type: string;\n}\n\nexport function messageDeltaContentDeserializer(item: any): MessageDeltaContent {\n return {\n index: item[\"index\"],\n type: item[\"type\"],\n };\n}\n\n/** Alias for MessageDeltaContentUnion */\nexport type MessageDeltaContentUnion =\n | MessageDeltaImageFileContent\n | MessageDeltaTextContent\n | MessageDeltaContent;\n\nexport function messageDeltaContentUnionDeserializer(item: any): MessageDeltaContentUnion {\n switch (item.type) {\n case \"image_file\":\n return messageDeltaImageFileContentDeserializer(item as MessageDeltaImageFileContent);\n\n case \"text\":\n return messageDeltaTextContentDeserializer(item as MessageDeltaTextContent);\n\n default:\n return messageDeltaContentDeserializer(item);\n }\n}\n\n/** Represents a streamed image file content part within a streaming message delta chunk. */\nexport interface MessageDeltaImageFileContent extends MessageDeltaContent {\n /** The type of content for this content part, which is always \"image_file.\" */\n type: \"image_file\";\n /** The image_file data. */\n imageFile?: MessageDeltaImageFileContentObject;\n}\n\nexport function messageDeltaImageFileContentDeserializer(item: any): MessageDeltaImageFileContent {\n return {\n index: item[\"index\"],\n type: item[\"type\"],\n imageFile: !item[\"image_file\"]\n ? item[\"image_file\"]\n : messageDeltaImageFileContentObjectDeserializer(item[\"image_file\"]),\n };\n}\n\n/** Represents the 'image_file' payload within streaming image file content. */\nexport interface MessageDeltaImageFileContentObject {\n /** The file ID of the image in the message content. */\n fileId?: string;\n}\n\nexport function messageDeltaImageFileContentObjectDeserializer(\n item: any,\n): MessageDeltaImageFileContentObject {\n return {\n fileId: item[\"file_id\"],\n };\n}\n\n/** Represents a streamed text content part within a streaming message delta chunk. */\nexport interface MessageDeltaTextContent extends MessageDeltaContent {\n /** The type of content for this content part, which is always \"text.\" */\n type: \"text\";\n /** The text content details. */\n text?: MessageDeltaTextContentObject;\n}\n\nexport function messageDeltaTextContentDeserializer(item: any): MessageDeltaTextContent {\n return {\n index: item[\"index\"],\n type: item[\"type\"],\n text: !item[\"text\"] ? item[\"text\"] : messageDeltaTextContentObjectDeserializer(item[\"text\"]),\n };\n}\n\n/** Represents the data of a streamed text content part within a streaming message delta chunk. */\nexport interface MessageDeltaTextContentObject {\n /** The data that makes up the text. */\n value?: string;\n /** Annotations for the text. */\n annotations?: MessageDeltaTextAnnotationUnion[];\n}\n\nexport function messageDeltaTextContentObjectDeserializer(\n item: any,\n): MessageDeltaTextContentObject {\n return {\n value: item[\"value\"],\n annotations: !item[\"annotations\"]\n ? item[\"annotations\"]\n : messageDeltaTextAnnotationUnionArrayDeserializer(item[\"annotations\"]),\n };\n}\n\nexport function messageDeltaTextAnnotationUnionArrayDeserializer(\n result: Array<MessageDeltaTextAnnotationUnion>,\n): any[] {\n return result.map((item) => {\n return messageDeltaTextAnnotationUnionDeserializer(item);\n });\n}\n\n/** The abstract base representation of a streamed text content part's text annotation. */\nexport interface MessageDeltaTextAnnotation {\n /** The index of the annotation within a text content part. */\n index: number;\n /** The type of the text content annotation. */\n /** The discriminator possible values: url_citation, file_citation, file_path */\n type: string;\n}\n\nexport function messageDeltaTextAnnotationDeserializer(item: any): MessageDeltaTextAnnotation {\n return {\n index: item[\"index\"],\n type: item[\"type\"],\n };\n}\n\n/** Alias for MessageDeltaTextAnnotationUnion */\nexport type MessageDeltaTextAnnotationUnion =\n | MessageDeltaTextUrlCitationAnnotation\n | MessageDeltaTextFileCitationAnnotation\n | MessageDeltaTextFilePathAnnotation\n | MessageDeltaTextAnnotation;\n\nexport function messageDeltaTextAnnotationUnionDeserializer(\n item: any,\n): MessageDeltaTextAnnotationUnion {\n switch (item.type) {\n case \"url_citation\":\n return messageDeltaTextUrlCitationAnnotationDeserializer(\n item as MessageDeltaTextUrlCitationAnnotation,\n );\n\n case \"file_citation\":\n return messageDeltaTextFileCitationAnnotationDeserializer(\n item as MessageDeltaTextFileCitationAnnotation,\n );\n\n case \"file_path\":\n return messageDeltaTextFilePathAnnotationDeserializer(\n item as MessageDeltaTextFilePathAnnotation,\n );\n\n default:\n return messageDeltaTextAnnotationDeserializer(item);\n }\n}\n\n/** A citation within the message that points to a specific URL associated with the message. Generated when the agent uses tools such as 'bing_grounding' to search the Internet. */\nexport interface MessageDeltaTextUrlCitationAnnotation extends MessageDeltaTextAnnotation {\n /** The object type, which is always 'url_citation'. */\n type: \"url_citation\";\n /** The details of the URL citation. */\n urlCitation: MessageDeltaTextUrlCitationDetails;\n /** The first text index associated with this text annotation. */\n startIndex?: number;\n /** The last text index associated with this text annotation. */\n endIndex?: number;\n}\n\nexport function messageDeltaTextUrlCitationAnnotationDeserializer(\n item: any,\n): MessageDeltaTextUrlCitationAnnotation {\n return {\n index: item[\"index\"],\n type: item[\"type\"],\n urlCitation: messageDeltaTextUrlCitationDetailsDeserializer(item[\"url_citation\"]),\n startIndex: item[\"start_index\"],\n endIndex: item[\"end_index\"],\n };\n}\n\n/** A representation of a URL citation, as used in text thread message content. */\nexport interface MessageDeltaTextUrlCitationDetails {\n /** The URL associated with this citation. */\n url: string;\n /** The title of the URL. */\n title?: string;\n}\n\nexport function messageDeltaTextUrlCitationDetailsDeserializer(\n item: any,\n): MessageDeltaTextUrlCitationDetails {\n return {\n url: item[\"url\"],\n title: item[\"title\"],\n };\n}\n\n/** Represents a streamed file citation applied to a streaming text content part. */\nexport interface MessageDeltaTextFileCitationAnnotation extends MessageDeltaTextAnnotation {\n /** The type of the text content annotation, which is always \"file_citation.\" */\n type: \"file_citation\";\n /** The file citation information. */\n fileCitation?: MessageDeltaTextFileCitationAnnotationObject;\n /** The text in the message content that needs to be replaced */\n text?: string;\n /** The start index of this annotation in the content text. */\n startIndex?: number;\n /** The end index of this annotation in the content text. */\n endIndex?: number;\n}\n\nexport function messageDeltaTextFileCitationAnnotationDeserializer(\n item: any,\n): MessageDeltaTextFileCitationAnnotation {\n return {\n index: item[\"index\"],\n type: item[\"type\"],\n fileCitation: !item[\"file_citation\"]\n ? item[\"file_citation\"]\n : messageDeltaTextFileCitationAnnotationObjectDeserializer(item[\"file_citation\"]),\n text: item[\"text\"],\n startIndex: item[\"start_index\"],\n endIndex: item[\"end_index\"],\n };\n}\n\n/** Represents the data of a streamed file citation as applied to a streaming text content part. */\nexport interface MessageDeltaTextFileCitationAnnotationObject {\n /** The ID of the specific file the citation is from. */\n fileId?: string;\n /** The specific quote in the cited file. */\n quote?: string;\n}\n\nexport function messageDeltaTextFileCitationAnnotationObjectDeserializer(\n item: any,\n): MessageDeltaTextFileCitationAnnotationObject {\n return {\n fileId: item[\"file_id\"],\n quote: item[\"quote\"],\n };\n}\n\n/** Represents a streamed file path annotation applied to a streaming text content part. */\nexport interface MessageDeltaTextFilePathAnnotation extends MessageDeltaTextAnnotation {\n /** The type of the text content annotation, which is always \"file_path.\" */\n type: \"file_path\";\n /** The file path information. */\n filePath?: MessageDeltaTextFilePathAnnotationObject;\n /** The start index of this annotation in the content text. */\n startIndex?: number;\n /** The end index of this annotation in the content text. */\n endIndex?: number;\n /** The text in the message content that needs to be replaced */\n text?: string;\n}\n\nexport function messageDeltaTextFilePathAnnotationDeserializer(\n item: any,\n): MessageDeltaTextFilePathAnnotation {\n return {\n index: item[\"index\"],\n type: item[\"type\"],\n filePath: !item[\"file_path\"]\n ? item[\"file_path\"]\n : messageDeltaTextFilePathAnnotationObjectDeserializer(item[\"file_path\"]),\n startIndex: item[\"start_index\"],\n endIndex: item[\"end_index\"],\n text: item[\"text\"],\n };\n}\n\n/** Represents the data of a streamed file path annotation as applied to a streaming text content part. */\nexport interface MessageDeltaTextFilePathAnnotationObject {\n /** The file ID for the annotation. */\n fileId?: string;\n}\n\nexport function messageDeltaTextFilePathAnnotationObjectDeserializer(\n item: any,\n): MessageDeltaTextFilePathAnnotationObject {\n return {\n fileId: item[\"file_id\"],\n };\n}\n\n/** Represents a run step delta i.e. any changed fields on a run step during streaming. */\nexport interface RunStepDeltaChunk {\n /** The identifier of the run step, which can be referenced in API endpoints. */\n id: string;\n /** The object type, which is always `thread.run.step.delta`. */\n object: \"thread.run.step.delta\";\n /** The delta containing the fields that have changed on the run step. */\n delta: RunStepDelta;\n}\n\nexport function runStepDeltaChunkDeserializer(item: any): RunStepDeltaChunk {\n return {\n id: item[\"id\"],\n object: item[\"object\"],\n delta: runStepDeltaDeserializer(item[\"delta\"]),\n };\n}\n\n/** Represents the delta payload in a streaming run step delta chunk. */\nexport interface RunStepDelta {\n /** The details of the run step. */\n stepDetails?: RunStepDeltaDetailUnion;\n}\n\nexport function runStepDeltaDeserializer(item: any): RunStepDelta {\n return {\n stepDetails: !item[\"step_details\"]\n ? item[\"step_details\"]\n : runStepDeltaDetailUnionDeserializer(item[\"step_details\"]),\n };\n}\n\n/** Represents a single run step detail item in a streaming run step's delta payload. */\nexport interface RunStepDeltaDetail {\n /** The object type for the run step detail object. */\n /** The discriminator possible values: message_creation, tool_calls, mcp, openapi */\n type: string;\n}\n\nexport function runStepDeltaDetailDeserializer(item: any): RunStepDeltaDetail {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for RunStepDeltaDetailUnion */\nexport type RunStepDeltaDetailUnion =\n | RunStepDeltaMessageCreation\n | RunStepDeltaToolCallObject\n | RunStepDeltaMCPObject\n | RunStepDeltaOpenAPIObject\n | RunStepDeltaDetail;\n\nexport function runStepDeltaDetailUnionDeserializer(item: any): RunStepDeltaDetailUnion {\n switch (item.type) {\n case \"message_creation\":\n return runStepDeltaMessageCreationDeserializer(item as RunStepDeltaMessageCreation);\n\n case \"tool_calls\":\n return runStepDeltaToolCallObjectDeserializer(item as RunStepDeltaToolCallObject);\n\n case \"mcp\":\n return runStepDeltaMCPObjectDeserializer(item as RunStepDeltaMCPObject);\n\n case \"openapi\":\n return runStepDeltaOpenAPIObjectDeserializer(item as RunStepDeltaOpenAPIObject);\n\n default:\n return runStepDeltaDetailDeserializer(item);\n }\n}\n\n/** Represents a message creation within a streaming run step delta. */\nexport interface RunStepDeltaMessageCreation extends RunStepDeltaDetail {\n /** The object type, which is always \"message_creation.\" */\n type: \"message_creation\";\n /** The message creation data. */\n messageCreation?: RunStepDeltaMessageCreationObject;\n}\n\nexport function runStepDeltaMessageCreationDeserializer(item: any): RunStepDeltaMessageCreation {\n return {\n type: item[\"type\"],\n messageCreation: !item[\"message_creation\"]\n ? item[\"message_creation\"]\n : runStepDeltaMessageCreationObjectDeserializer(item[\"message_creation\"]),\n };\n}\n\n/** Represents the data within a streaming run step message creation response object. */\nexport interface RunStepDeltaMessageCreationObject {\n /** The ID of the newly-created message. */\n messageId?: string;\n}\n\nexport function runStepDeltaMessageCreationObjectDeserializer(\n item: any,\n): RunStepDeltaMessageCreationObject {\n return {\n messageId: item[\"message_id\"],\n };\n}\n\n/** Represents an invocation of tool calls as part of a streaming run step. */\nexport interface RunStepDeltaToolCallObject extends RunStepDeltaDetail {\n /** The object type, which is always \"tool_calls.\" */\n type: \"tool_calls\";\n /** The collection of tool calls for the tool call detail item. */\n toolCalls?: RunStepDeltaToolCallUnion[];\n}\n\nexport function runStepDeltaToolCallObjectDeserializer(item: any): RunStepDeltaToolCallObject {\n return {\n type: item[\"type\"],\n toolCalls: !item[\"tool_calls\"]\n ? item[\"tool_calls\"]\n : runStepDeltaToolCallUnionArrayDeserializer(item[\"tool_calls\"]),\n };\n}\n\nexport function runStepDeltaToolCallUnionArrayDeserializer(\n result: Array<RunStepDeltaToolCallUnion>,\n): any[] {\n return result.map((item) => {\n return runStepDeltaToolCallUnionDeserializer(item);\n });\n}\n\n/** The abstract base representation of a single tool call within a streaming run step's delta tool call details. */\nexport interface RunStepDeltaToolCall {\n /** The index of the tool call detail in the run step's tool_calls array. */\n index: number;\n /** The ID of the tool call, used when submitting outputs to the run. */\n id: string;\n /** The type of the tool call detail item in a streaming run step's details. */\n /** The discriminator possible values: mcp, openapi, connected_agent, function, file_search, code_interpreter, bing_grounding, bing_custom_search, azure_function, deep_research, azure_ai_search, fabric_dataagent, sharepoint_grounding */\n type: string;\n}\n\nexport function runStepDeltaToolCallDeserializer(item: any): RunStepDeltaToolCall {\n return {\n index: item[\"index\"],\n id: item[\"id\"],\n type: item[\"type\"],\n };\n}\n\n/** Alias for RunStepDeltaToolCallUnion */\nexport type RunStepDeltaToolCallUnion =\n | RunStepDeltaMcpToolCall\n | RunStepDeltaOpenAPIToolCall\n | RunStepDeltaConnectedAgentToolCall\n | RunStepDeltaFunctionToolCall\n | RunStepDeltaFileSearchToolCall\n | RunStepDeltaCodeInterpreterToolCall\n | RunStepDeltaBingGroundingToolCall\n | RunStepDeltaCustomBingGroundingToolCall\n | RunStepDeltaAzureFunctionToolCall\n | RunStepDeltaDeepResearchToolCall\n | RunStepDeltaAzureAISearchToolCall\n | RunStepDeltaMicrosoftFabricToolCall\n | RunStepDeltaSharepointToolCall\n | RunStepDeltaToolCall;\n\nexport function runStepDeltaToolCallUnionDeserializer(item: any): RunStepDeltaToolCallUnion {\n switch (item.type) {\n case \"mcp\":\n return runStepDeltaMcpToolCallDeserializer(item as RunStepDeltaMcpToolCall);\n\n case \"openapi\":\n return runStepDeltaOpenAPIToolCallDeserializer(item as RunStepDeltaOpenAPIToolCall);\n\n case \"connected_agent\":\n return runStepDeltaConnectedAgentToolCallDeserializer(\n item as RunStepDeltaConnectedAgentToolCall,\n );\n\n case \"function\":\n return runStepDeltaFunctionToolCallDeserializer(item as RunStepDeltaFunctionToolCall);\n\n case \"file_search\":\n return runStepDeltaFileSearchToolCallDeserializer(item as RunStepDeltaFileSearchToolCall);\n\n case \"code_interpreter\":\n return runStepDeltaCodeInterpreterToolCallDeserializer(\n item as RunStepDeltaCodeInterpreterToolCall,\n );\n\n case \"bing_grounding\":\n return runStepDeltaBingGroundingToolCallDeserializer(\n item as RunStepDeltaBingGroundingToolCall,\n );\n\n case \"bing_custom_search\":\n return runStepDeltaCustomBingGroundingToolCallDeserializer(\n item as RunStepDeltaCustomBingGroundingToolCall,\n );\n\n case \"azure_function\":\n return runStepDeltaAzureFunctionToolCallDeserializer(\n item as RunStepDeltaAzureFunctionToolCall,\n );\n\n case \"deep_research\":\n return runStepDeltaDeepResearchToolCallDeserializer(item as RunStepDeltaDeepResearchToolCall);\n\n case \"azure_ai_search\":\n return runStepDeltaAzureAISearchToolCallDeserializer(\n item as RunStepDeltaAzureAISearchToolCall,\n );\n\n case \"fabric_dataagent\":\n return runStepDeltaMicrosoftFabricToolCallDeserializer(\n item as RunStepDeltaMicrosoftFabricToolCall,\n );\n\n case \"sharepoint_grounding\":\n return runStepDeltaSharepointToolCallDeserializer(item as RunStepDeltaSharepointToolCall);\n\n default:\n return runStepDeltaToolCallDeserializer(item);\n }\n}\n\n/** Represents the function data in a streaming run step MCP call. */\nexport interface RunStepDeltaMcpToolCall extends RunStepDeltaToolCall {\n /** The object type, which is always \"mcp\". */\n type: \"mcp\";\n /** The index of a response. */\n index: number;\n /** The arguments for MCP call. */\n arguments: string;\n}\n\nexport function runStepDeltaMcpToolCallDeserializer(item: any): RunStepDeltaMcpToolCall {\n return {\n index: item[\"index\"],\n id: item[\"id\"],\n type: item[\"type\"],\n arguments: item[\"arguments\"],\n };\n}\n\n/** Represents the openapi tool call in a streaming run step. */\nexport interface RunStepDeltaOpenAPIToolCall extends RunStepDeltaToolCall {\n /** The object type, which is always \"openapi\". */\n type: \"openapi\";\n /** Reserved for future use. */\n openAPI: Record<string, string>;\n}\n\nexport function runStepDeltaOpenAPIToolCallDeserializer(item: any): RunStepDeltaOpenAPIToolCall {\n return {\n index: item[\"index\"],\n id: item[\"id\"],\n type: item[\"type\"],\n openAPI: item[\"openapi\"],\n };\n}\n\n/** Represents the invocation of connected agent as a part of a streaming run step. */\nexport interface RunStepDeltaConnectedAgentToolCall extends RunStepDeltaToolCall {\n /** The object type, which is always \"connected_agent\". */\n type: \"connected_agent\";\n /** The collection of tool calls for the tool call detail item. */\n connectedAgent: RunStepConnectedAgent;\n}\n\nexport function runStepDeltaConnectedAgentToolCallDeserializer(\n item: any,\n): RunStepDeltaConnectedAgentToolCall {\n return {\n index: item[\"index\"],\n id: item[\"id\"],\n type: item[\"type\"],\n connectedAgent: runStepConnectedAgentDeserializer(item[\"connected_agent\"]),\n };\n}\n\n/** Represents a function tool call within a streaming run step's tool call details. */\nexport interface RunStepDeltaFunctionToolCall extends RunStepDeltaToolCall {\n /** The object type, which is always \"function.\" */\n type: \"function\";\n /** The function data for the tool call. */\n function?: RunStepDeltaFunction;\n}\n\nexport function runStepDeltaFunctionToolCallDeserializer(item: any): RunStepDeltaFunctionToolCall {\n return {\n index: item[\"index\"],\n id: item[\"id\"],\n type: item[\"type\"],\n function: !item[\"function\"]\n ? item[\"function\"]\n : runStepDeltaFunctionDeserializer(item[\"function\"]),\n };\n}\n\n/** Represents the function data in a streaming run step delta's function tool call. */\nexport interface RunStepDeltaFunction {\n /** The name of the function. */\n name?: string;\n /** The arguments passed to the function as input. */\n arguments?: string;\n /** The output of the function, null if outputs have not yet been submitted. */\n output?: string | null;\n}\n\nexport function runStepDeltaFunctionDeserializer(item: any): RunStepDeltaFunction {\n return {\n name: item[\"name\"],\n arguments: item[\"arguments\"],\n output: item[\"output\"],\n };\n}\n\n/** Represents a file search tool call within a streaming run step's tool call details. */\nexport interface RunStepDeltaFileSearchToolCall extends RunStepDeltaToolCall {\n /** The object type, which is always \"file_search.\" */\n type: \"file_search\";\n /** Reserved for future use. */\n fileSearch?: RunStepFileSearchToolCallResults;\n}\n\nexport function runStepDeltaFileSearchToolCallDeserializer(\n item: any,\n): RunStepDeltaFileSearchToolCall {\n return {\n index: item[\"index\"],\n id: item[\"id\"],\n type: item[\"type\"],\n fileSearch: !item[\"file_search\"]\n ? item[\"file_search\"]\n : runStepFileSearchToolCallResultsDeserializer(item[\"file_search\"]),\n };\n}\n\n/** Represents a Code Interpreter tool call within a streaming run step's tool call details. */\nexport interface RunStepDeltaCodeInterpreterToolCall extends RunStepDeltaToolCall {\n /** The object type, which is always \"code_interpreter.\" */\n type: \"code_interpreter\";\n /** The Code Interpreter data for the tool call. */\n codeInterpreter?: RunStepDeltaCodeInterpreterDetailItemObject;\n}\n\nexport function runStepDeltaCodeInterpreterToolCallDeserializer(\n item: any,\n): RunStepDeltaCodeInterpreterToolCall {\n return {\n index: item[\"index\"],\n id: item[\"id\"],\n type: item[\"type\"],\n codeInterpreter: !item[\"code_interpreter\"]\n ? item[\"code_interpreter\"]\n : runStepDeltaCodeInterpreterDetailItemObjectDeserializer(item[\"code_interpreter\"]),\n };\n}\n\n/** Represents the Code Interpreter tool call data in a streaming run step's tool calls. */\nexport interface RunStepDeltaCodeInterpreterDetailItemObject {\n /** The input into the Code Interpreter tool call. */\n input?: string;\n /**\n * The outputs from the Code Interpreter tool call. Code Interpreter can output one or more\n * items, including text (`logs`) or images (`image`). Each of these are represented by a\n * different object type.\n */\n outputs?: RunStepDeltaCodeInterpreterOutputUnion[];\n}\n\nexport function runStepDeltaCodeInterpreterDetailItemObjectDeserializer(\n item: any,\n): RunStepDeltaCodeInterpreterDetailItemObject {\n return {\n input: item[\"input\"],\n outputs: !item[\"outputs\"]\n ? item[\"outputs\"]\n : runStepDeltaCodeInterpreterOutputUnionArrayDeserializer(item[\"outputs\"]),\n };\n}\n\nexport function runStepDeltaCodeInterpreterOutputUnionArrayDeserializer(\n result: Array<RunStepDeltaCodeInterpreterOutputUnion>,\n): any[] {\n return result.map((item) => {\n return runStepDeltaCodeInterpreterOutputUnionDeserializer(item);\n });\n}\n\n/** The abstract base representation of a streaming run step tool call's Code Interpreter tool output. */\nexport interface RunStepDeltaCodeInterpreterOutput {\n /** The index of the output in the streaming run step tool call's Code Interpreter outputs array. */\n index: number;\n /** The type of the streaming run step tool call's Code Interpreter output. */\n /** The discriminator possible values: logs, image */\n type: string;\n}\n\nexport function runStepDeltaCodeInterpreterOutputDeserializer(\n item: any,\n): RunStepDeltaCodeInterpreterOutput {\n return {\n index: item[\"index\"],\n type: item[\"type\"],\n };\n}\n\n/** Alias for RunStepDeltaCodeInterpreterOutputUnion */\nexport type RunStepDeltaCodeInterpreterOutputUnion =\n | RunStepDeltaCodeInterpreterLogOutput\n | RunStepDeltaCodeInterpreterImageOutput\n | RunStepDeltaCodeInterpreterOutput;\n\nexport function runStepDeltaCodeInterpreterOutputUnionDeserializer(\n item: any,\n): RunStepDeltaCodeInterpreterOutputUnion {\n switch (item.type) {\n case \"logs\":\n return runStepDeltaCodeInterpreterLogOutputDeserializer(\n item as RunStepDeltaCodeInterpreterLogOutput,\n );\n\n case \"image\":\n return runStepDeltaCodeInterpreterImageOutputDeserializer(\n item as RunStepDeltaCodeInterpreterImageOutput,\n );\n\n default:\n return runStepDeltaCodeInterpreterOutputDeserializer(item);\n }\n}\n\n/** Represents a log output as produced by the Code Interpreter tool and as represented in a streaming run step's delta tool calls collection. */\nexport interface RunStepDeltaCodeInterpreterLogOutput extends RunStepDeltaCodeInterpreterOutput {\n /** The type of the object, which is always \"logs.\" */\n type: \"logs\";\n /** The text output from the Code Interpreter tool call. */\n logs?: string;\n}\n\nexport function runStepDeltaCodeInterpreterLogOutputDeserializer(\n item: any,\n): RunStepDeltaCodeInterpreterLogOutput {\n return {\n index: item[\"index\"],\n type: item[\"type\"],\n logs: item[\"logs\"],\n };\n}\n\n/** Represents an image output as produced the Code interpreter tool and as represented in a streaming run step's delta tool calls collection. */\nexport interface RunStepDeltaCodeInterpreterImageOutput extends RunStepDeltaCodeInterpreterOutput {\n /** The object type, which is always \"image.\" */\n type: \"image\";\n /** The image data for the Code Interpreter tool call output. */\n image?: RunStepDeltaCodeInterpreterImageOutputObject;\n}\n\nexport function runStepDeltaCodeInterpreterImageOutputDeserializer(\n item: any,\n): RunStepDeltaCodeInterpreterImageOutput {\n return {\n index: item[\"index\"],\n type: item[\"type\"],\n image: !item[\"image\"]\n ? item[\"image\"]\n : runStepDeltaCodeInterpreterImageOutputObjectDeserializer(item[\"image\"]),\n };\n}\n\n/** Represents the data for a streaming run step's Code Interpreter tool call image output. */\nexport interface RunStepDeltaCodeInterpreterImageOutputObject {\n /** The file ID for the image. */\n fileId?: string;\n}\n\nexport function runStepDeltaCodeInterpreterImageOutputObjectDeserializer(\n item: any,\n): RunStepDeltaCodeInterpreterImageOutputObject {\n return {\n fileId: item[\"file_id\"],\n };\n}\n\n/** Represents the bing grounding tool call in a streaming run step. */\nexport interface RunStepDeltaBingGroundingToolCall extends RunStepDeltaToolCall {\n /** The object type, which is always \"bing_grounding\". */\n type: \"bing_grounding\";\n /** The dictionary with request and response from Bing Grounding search tool. */\n bingGrounding: Record<string, string>;\n}\n\nexport function runStepDeltaBingGroundingToolCallDeserializer(\n item: any,\n): RunStepDeltaBingGroundingToolCall {\n return {\n index: item[\"index\"],\n id: item[\"id\"],\n type: item[\"type\"],\n bingGrounding: item[\"bing_grounding\"],\n };\n}\n\n/** Represents the Bing Custom Search tool call in a streaming run step. */\nexport interface RunStepDeltaCustomBingGroundingToolCall extends RunStepDeltaToolCall {\n /** The object type, which is always 'bing_custom_search'. */\n type: \"bing_custom_search\";\n /** The dictionary with request and response from Bing Custom Search tool. */\n bingCustomSearch: Record<string, string>;\n}\n\nexport function runStepDeltaCustomBingGroundingToolCallDeserializer(\n item: any,\n): RunStepDeltaCustomBingGroundingToolCall {\n return {\n index: item[\"index\"],\n id: item[\"id\"],\n type: item[\"type\"],\n bingCustomSearch: item[\"bing_custom_search\"],\n };\n}\n\n/** Represents the Azure Function tool call in a streaming run step. */\nexport interface RunStepDeltaAzureFunctionToolCall extends RunStepDeltaToolCall {\n /** The object type, which is always 'azure_function'. */\n type: \"azure_function\";\n /** Partial description of an Azure function call. */\n azureFunction: AzureFunctionToolCallDetails;\n}\n\nexport function runStepDeltaAzureFunctionToolCallDeserializer(\n item: any,\n): RunStepDeltaAzureFunctionToolCall {\n return {\n index: item[\"index\"],\n id: item[\"id\"],\n type: item[\"type\"],\n azureFunction: azureFunctionToolCallDetailsDeserializer(item[\"azure_function\"]),\n };\n}\n\n/** Represents the Deep research in a streaming run step. */\nexport interface RunStepDeltaDeepResearchToolCall extends RunStepDeltaToolCall {\n /** The object type, which is always \"deep_research\". */\n type: \"deep_research\";\n /** The details of DeepResearch tool call. */\n deepResearch: RunStepDeepResearchToolCallDetails;\n}\n\nexport function runStepDeltaDeepResearchToolCallDeserializer(\n item: any,\n): RunStepDeltaDeepResearchToolCall {\n return {\n index: item[\"index\"],\n id: item[\"id\"],\n type: item[\"type\"],\n deepResearch: runStepDeepResearchToolCallDetailsDeserializer(item[\"deep_research\"]),\n };\n}\n\n/** Represents the Azure AI Search in a streaming run step. */\nexport interface RunStepDeltaAzureAISearchToolCall extends RunStepDeltaToolCall {\n /** The object type, which is always \"azure_ai_search\". */\n type: \"azure_ai_search\";\n /** Reserved for future use. */\n azureAISearch: Record<string, string>;\n}\n\nexport function runStepDeltaAzureAISearchToolCallDeserializer(\n item: any,\n): RunStepDeltaAzureAISearchToolCall {\n return {\n index: item[\"index\"],\n id: item[\"id\"],\n type: item[\"type\"],\n azureAISearch: item[\"azure_ai_search\"],\n };\n}\n\n/** Represents the Microsoft Fabric tool call in a streaming run step. */\nexport interface RunStepDeltaMicrosoftFabricToolCall extends RunStepDeltaToolCall {\n /** The object type, which is always 'fabric_dataagent' */\n type: \"fabric_dataagent\";\n /** Fabric input and output. */\n microsoftFabric: Record<string, string>;\n}\n\nexport function runStepDeltaMicrosoftFabricToolCallDeserializer(\n item: any,\n): RunStepDeltaMicrosoftFabricToolCall {\n return {\n index: item[\"index\"],\n id: item[\"id\"],\n type: item[\"type\"],\n microsoftFabric: item[\"fabric_dataagent\"],\n };\n}\n\n/** Represents the SharePoint tool call in a streaming run step. */\nexport interface RunStepDeltaSharepointToolCall extends RunStepDeltaToolCall {\n /** The object type, which is always 'sharepoint_grounding' */\n type: \"sharepoint_grounding\";\n /** SharePoint tool input and output. */\n sharepointGrounding: Record<string, string>;\n}\n\nexport function runStepDeltaSharepointToolCallDeserializer(\n item: any,\n): RunStepDeltaSharepointToolCall {\n return {\n index: item[\"index\"],\n id: item[\"id\"],\n type: item[\"type\"],\n sharepointGrounding: item[\"sharepoint_grounding\"],\n };\n}\n\n/** Represents an invocation of mcp as part of a streaming run step. */\nexport interface RunStepDeltaMCPObject extends RunStepDeltaDetail {\n /** The object type, which is always \"mcp\". */\n type: \"mcp\";\n /** The collection of tool calls for the tool call detail item. */\n toolCalls?: RunStepDeltaMcpToolCall[];\n}\n\nexport function runStepDeltaMCPObjectDeserializer(item: any): RunStepDeltaMCPObject {\n return {\n type: item[\"type\"],\n toolCalls: !item[\"tool_calls\"]\n ? item[\"tool_calls\"]\n : runStepDeltaMcpToolCallArrayDeserializer(item[\"tool_calls\"]),\n };\n}\n\nexport function runStepDeltaMcpToolCallArrayDeserializer(\n result: Array<RunStepDeltaMcpToolCall>,\n): any[] {\n return result.map((item) => {\n return runStepDeltaMcpToolCallDeserializer(item);\n });\n}\n\n/** Represents an invocation of openapi as part of a streaming run step. */\nexport interface RunStepDeltaOpenAPIObject extends RunStepDeltaDetail {\n /** The object type, which is always \"openapi\". */\n type: \"openapi\";\n /** The collection of tool calls for the tool call detail item. */\n toolCalls?: RunStepDeltaOpenAPIToolCall[];\n}\n\nexport function runStepDeltaOpenAPIObjectDeserializer(item: any): RunStepDeltaOpenAPIObject {\n return {\n type: item[\"type\"],\n toolCalls: !item[\"tool_calls\"]\n ? item[\"tool_calls\"]\n : runStepDeltaOpenAPIToolCallArrayDeserializer(item[\"tool_calls\"]),\n };\n}\n\nexport function runStepDeltaOpenAPIToolCallArrayDeserializer(\n result: Array<RunStepDeltaOpenAPIToolCall>,\n): any[] {\n return result.map((item) => {\n return runStepDeltaOpenAPIToolCallDeserializer(item);\n });\n}\n\n/** Alias for AgentStreamEvent */\nexport type AgentStreamEvent =\n | string\n | ThreadStreamEvent\n | RunStreamEvent\n | RunStepStreamEvent\n | MessageStreamEvent\n | ErrorEvent\n | DoneEvent;\n\nexport function agentStreamEventDeserializer(item: any): AgentStreamEvent {\n return item;\n}\n\n/** Thread operation related streaming events */\nexport enum ThreadStreamEvent {\n /** Event emitted when a thread is created */\n Created = \"thread.created\",\n}\n\n/** Run operation related streaming events */\nexport enum RunStreamEvent {\n /** Event emitted when a run is created */\n ThreadRunCreated = \"thread.run.created\",\n /** Event emitted when a run is queued */\n ThreadRunQueued = \"thread.run.queued\",\n /** Event emitted when a run is in progress */\n ThreadRunInProgress = \"thread.run.in_progress\",\n /** Event emitted when a run requires action */\n ThreadRunRequiresAction = \"thread.run.requires_action\",\n /** Event emitted when a run is completed */\n ThreadRunCompleted = \"thread.run.completed\",\n /** Event emitted when a run is incomplete */\n ThreadRunIncomplete = \"thread.run.incomplete\",\n /** Event emitted when a run has failed */\n ThreadRunFailed = \"thread.run.failed\",\n /** Event emitted when a run is being cancelled */\n ThreadRunCancelling = \"thread.run.cancelling\",\n /** Event emitted when a run has been cancelled */\n ThreadRunCancelled = \"thread.run.cancelled\",\n /** Event emitted when a run has expired */\n ThreadRunExpired = \"thread.run.expired\",\n}\n\n/** Run step operation related streaming events */\nexport enum RunStepStreamEvent {\n /** Event emitted when a run step is created */\n ThreadRunStepCreated = \"thread.run.step.created\",\n /** Event emitted when a run step is in progress */\n ThreadRunStepInProgress = \"thread.run.step.in_progress\",\n /** Event emitted when a run step delta is received */\n ThreadRunStepDelta = \"thread.run.step.delta\",\n /** Event emitted when a run step is completed */\n ThreadRunStepCompleted = \"thread.run.step.completed\",\n /** Event emitted when a run step has failed */\n ThreadRunStepFailed = \"thread.run.step.failed\",\n /** Event emitted when a run step has been cancelled */\n ThreadRunStepCancelled = \"thread.run.step.cancelled\",\n /** Event emitted when a run step has expired */\n ThreadRunStepExpired = \"thread.run.step.expired\",\n}\n\n/** Message operation related streaming events */\nexport enum MessageStreamEvent {\n /** Event emitted when a message is created */\n ThreadMessageCreated = \"thread.message.created\",\n /** Event emitted when a message is in progress */\n ThreadMessageInProgress = \"thread.message.in_progress\",\n /** Event emitted when a message delta is received */\n ThreadMessageDelta = \"thread.message.delta\",\n /** Event emitted when a message is completed */\n ThreadMessageCompleted = \"thread.message.completed\",\n /** Event emitted when a message is incomplete */\n ThreadMessageIncomplete = \"thread.message.incomplete\",\n}\n\n/** Terminal event indicating a server side error while streaming. */\nexport enum ErrorEvent {\n /** Server error while streaming */\n Error = \"error\",\n}\n/** Terminal event indicating the successful end of a stream. */\nexport enum DoneEvent {\n /** Event emitted when a stream has completed successfully */\n Done = \"done\",\n}\n/** The available sorting options when requesting a list of response objects. */\nexport type ListSortOrder = \"asc\" | \"desc\";\n/** A list of additional fields to include in the response. */\nexport type RunAdditionalFieldList = \"step_details.tool_calls[*].file_search.results[*].content\";\n/** Query parameter filter for vector store file retrieval endpoint */\nexport type VectorStoreFileStatusFilter = \"in_progress\" | \"completed\" | \"failed\" | \"cancelled\";\n\n/** Azure AI Agents API versions */\nexport enum KnownVersions {\n /** Azure AI API version 2025-05-01. */\n V20250501 = \"2025-05-01\",\n /** Azure AI API version v1. */\n V1 = \"v1\",\n /** Azure AI API version 2025-05-15-preview. */\n V20250515Preview = \"2025-05-15-preview\",\n}\n"]}