@azure/ai-projects 2.0.0 → 2.0.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.
- package/README.md +5 -5
- package/dist/browser/api/aiProjectContext.d.ts.map +1 -1
- package/dist/browser/api/aiProjectContext.js +2 -1
- package/dist/browser/api/aiProjectContext.js.map +1 -1
- package/dist/browser/api/beta/memoryStores/operations.d.ts.map +1 -1
- package/dist/browser/api/beta/memoryStores/operations.js +11 -0
- package/dist/browser/api/beta/memoryStores/operations.js.map +1 -1
- package/dist/browser/api/datasets/operations.d.ts.map +1 -1
- package/dist/browser/api/datasets/operations.js +9 -8
- package/dist/browser/api/datasets/operations.js.map +1 -1
- package/dist/browser/constants.d.ts +1 -1
- package/dist/browser/constants.js +1 -1
- package/dist/browser/constants.js.map +1 -1
- package/dist/browser/static-helpers/pollingHelpers.d.ts +11 -1
- package/dist/browser/static-helpers/pollingHelpers.d.ts.map +1 -1
- package/dist/browser/static-helpers/pollingHelpers.js +21 -9
- package/dist/browser/static-helpers/pollingHelpers.js.map +1 -1
- package/dist/commonjs/aiProjectClient.js +1 -0
- package/dist/commonjs/aiProjectClient.js.map +1 -1
- package/dist/commonjs/api/agents/index.js +1 -0
- package/dist/commonjs/api/agents/index.js.map +1 -1
- package/dist/commonjs/api/agents/operations.js +1 -0
- package/dist/commonjs/api/agents/operations.js.map +1 -1
- package/dist/commonjs/api/agents/options.js +1 -0
- package/dist/commonjs/api/agents/options.js.map +1 -1
- package/dist/commonjs/api/aiProjectContext.d.ts.map +1 -1
- package/dist/commonjs/api/aiProjectContext.js +3 -1
- package/dist/commonjs/api/aiProjectContext.js.map +3 -3
- package/dist/commonjs/api/beta/evaluationTaxonomies/index.js +1 -0
- package/dist/commonjs/api/beta/evaluationTaxonomies/index.js.map +1 -1
- package/dist/commonjs/api/beta/evaluationTaxonomies/operations.js +1 -0
- package/dist/commonjs/api/beta/evaluationTaxonomies/operations.js.map +1 -1
- package/dist/commonjs/api/beta/evaluationTaxonomies/options.js +1 -0
- package/dist/commonjs/api/beta/evaluationTaxonomies/options.js.map +1 -1
- package/dist/commonjs/api/beta/evaluators/index.js +1 -0
- package/dist/commonjs/api/beta/evaluators/index.js.map +1 -1
- package/dist/commonjs/api/beta/evaluators/operations.js +1 -0
- package/dist/commonjs/api/beta/evaluators/operations.js.map +1 -1
- package/dist/commonjs/api/beta/evaluators/options.js +1 -0
- package/dist/commonjs/api/beta/evaluators/options.js.map +1 -1
- package/dist/commonjs/api/beta/insights/index.js +1 -0
- package/dist/commonjs/api/beta/insights/index.js.map +1 -1
- package/dist/commonjs/api/beta/insights/operations.js +1 -0
- package/dist/commonjs/api/beta/insights/operations.js.map +1 -1
- package/dist/commonjs/api/beta/insights/options.js +1 -0
- package/dist/commonjs/api/beta/insights/options.js.map +1 -1
- package/dist/commonjs/api/beta/memoryStores/index.js +1 -0
- package/dist/commonjs/api/beta/memoryStores/index.js.map +1 -1
- package/dist/commonjs/api/beta/memoryStores/operations.d.ts.map +1 -1
- package/dist/commonjs/api/beta/memoryStores/operations.js +13 -1
- package/dist/commonjs/api/beta/memoryStores/operations.js.map +3 -3
- package/dist/commonjs/api/beta/memoryStores/options.js +1 -0
- package/dist/commonjs/api/beta/memoryStores/options.js.map +1 -1
- package/dist/commonjs/api/beta/redTeams/index.js +1 -0
- package/dist/commonjs/api/beta/redTeams/index.js.map +1 -1
- package/dist/commonjs/api/beta/redTeams/operations.js +1 -0
- package/dist/commonjs/api/beta/redTeams/operations.js.map +1 -1
- package/dist/commonjs/api/beta/redTeams/options.js +1 -0
- package/dist/commonjs/api/beta/redTeams/options.js.map +1 -1
- package/dist/commonjs/api/beta/schedules/index.js +1 -0
- package/dist/commonjs/api/beta/schedules/index.js.map +1 -1
- package/dist/commonjs/api/beta/schedules/operations.js +1 -0
- package/dist/commonjs/api/beta/schedules/operations.js.map +1 -1
- package/dist/commonjs/api/beta/schedules/options.js +1 -0
- package/dist/commonjs/api/beta/schedules/options.js.map +1 -1
- package/dist/commonjs/api/connections/index.js +1 -0
- package/dist/commonjs/api/connections/index.js.map +1 -1
- package/dist/commonjs/api/connections/operations.js +1 -0
- package/dist/commonjs/api/connections/operations.js.map +1 -1
- package/dist/commonjs/api/connections/options.js +1 -0
- package/dist/commonjs/api/connections/options.js.map +1 -1
- package/dist/commonjs/api/datasets/index.js +1 -0
- package/dist/commonjs/api/datasets/index.js.map +1 -1
- package/dist/commonjs/api/datasets/operations.d.ts.map +1 -1
- package/dist/commonjs/api/datasets/operations.js +10 -8
- package/dist/commonjs/api/datasets/operations.js.map +3 -3
- package/dist/commonjs/api/datasets/options.js +1 -0
- package/dist/commonjs/api/datasets/options.js.map +1 -1
- package/dist/commonjs/api/deployments/index.js +1 -0
- package/dist/commonjs/api/deployments/index.js.map +1 -1
- package/dist/commonjs/api/deployments/operations.js +1 -0
- package/dist/commonjs/api/deployments/operations.js.map +1 -1
- package/dist/commonjs/api/deployments/options.js +1 -0
- package/dist/commonjs/api/deployments/options.js.map +1 -1
- package/dist/commonjs/api/evaluationRules/index.js +1 -0
- package/dist/commonjs/api/evaluationRules/index.js.map +1 -1
- package/dist/commonjs/api/evaluationRules/operations.js +1 -0
- package/dist/commonjs/api/evaluationRules/operations.js.map +1 -1
- package/dist/commonjs/api/evaluationRules/options.js +1 -0
- package/dist/commonjs/api/evaluationRules/options.js.map +1 -1
- package/dist/commonjs/api/index.js +1 -0
- package/dist/commonjs/api/index.js.map +1 -1
- package/dist/commonjs/api/indexes/index.js +1 -0
- package/dist/commonjs/api/indexes/index.js.map +1 -1
- package/dist/commonjs/api/indexes/operations.js +1 -0
- package/dist/commonjs/api/indexes/operations.js.map +1 -1
- package/dist/commonjs/api/indexes/options.js +1 -0
- package/dist/commonjs/api/indexes/options.js.map +1 -1
- package/dist/commonjs/api/telemetry/index.js +1 -0
- package/dist/commonjs/api/telemetry/index.js.map +1 -1
- package/dist/commonjs/api/telemetry/operations.js +1 -0
- package/dist/commonjs/api/telemetry/operations.js.map +1 -1
- package/dist/commonjs/classic/agents/index.js +1 -0
- package/dist/commonjs/classic/agents/index.js.map +1 -1
- package/dist/commonjs/classic/beta/evaluationTaxonomies/index.js +1 -0
- package/dist/commonjs/classic/beta/evaluationTaxonomies/index.js.map +1 -1
- package/dist/commonjs/classic/beta/evaluators/index.js +1 -0
- package/dist/commonjs/classic/beta/evaluators/index.js.map +1 -1
- package/dist/commonjs/classic/beta/index.js +1 -0
- package/dist/commonjs/classic/beta/index.js.map +1 -1
- package/dist/commonjs/classic/beta/insights/index.js +1 -0
- package/dist/commonjs/classic/beta/insights/index.js.map +1 -1
- package/dist/commonjs/classic/beta/memoryStores/index.js +1 -0
- package/dist/commonjs/classic/beta/memoryStores/index.js.map +1 -1
- package/dist/commonjs/classic/beta/redTeams/index.js +1 -0
- package/dist/commonjs/classic/beta/redTeams/index.js.map +1 -1
- package/dist/commonjs/classic/beta/schedules/index.js +1 -0
- package/dist/commonjs/classic/beta/schedules/index.js.map +1 -1
- package/dist/commonjs/classic/connections/index.js +1 -0
- package/dist/commonjs/classic/connections/index.js.map +1 -1
- package/dist/commonjs/classic/datasets/index.js +1 -0
- package/dist/commonjs/classic/datasets/index.js.map +1 -1
- package/dist/commonjs/classic/deployments/index.js +1 -0
- package/dist/commonjs/classic/deployments/index.js.map +1 -1
- package/dist/commonjs/classic/evaluationRules/index.js +1 -0
- package/dist/commonjs/classic/evaluationRules/index.js.map +1 -1
- package/dist/commonjs/classic/index.js +1 -0
- package/dist/commonjs/classic/index.js.map +1 -1
- package/dist/commonjs/classic/indexes/index.js +1 -0
- package/dist/commonjs/classic/indexes/index.js.map +1 -1
- package/dist/commonjs/classic/telemetry/index.js +1 -0
- package/dist/commonjs/classic/telemetry/index.js.map +1 -1
- package/dist/commonjs/constants.d.ts +1 -1
- package/dist/commonjs/constants.js +2 -1
- package/dist/commonjs/constants.js.map +2 -2
- package/dist/commonjs/getCustomFetch.js +1 -0
- package/dist/commonjs/getCustomFetch.js.map +1 -1
- package/dist/commonjs/index.js +1 -0
- package/dist/commonjs/index.js.map +1 -1
- package/dist/commonjs/logger.js +1 -0
- package/dist/commonjs/logger.js.map +1 -1
- package/dist/commonjs/models/index.js +1 -0
- package/dist/commonjs/models/index.js.map +1 -1
- package/dist/commonjs/models/models.js +1 -0
- package/dist/commonjs/models/models.js.map +1 -1
- package/dist/commonjs/overwriteOpenAIClient.js +1 -0
- package/dist/commonjs/overwriteOpenAIClient.js.map +1 -1
- package/dist/commonjs/static-helpers/pagingHelpers.js +1 -0
- package/dist/commonjs/static-helpers/pagingHelpers.js.map +1 -1
- package/dist/commonjs/static-helpers/pollingHelpers.d.ts +11 -1
- package/dist/commonjs/static-helpers/pollingHelpers.d.ts.map +1 -1
- package/dist/commonjs/static-helpers/pollingHelpers.js +16 -8
- package/dist/commonjs/static-helpers/pollingHelpers.js.map +3 -3
- package/dist/commonjs/static-helpers/serialization/serialize-record.js +1 -0
- package/dist/commonjs/static-helpers/serialization/serialize-record.js.map +1 -1
- package/dist/commonjs/static-helpers/urlTemplate.js +1 -0
- package/dist/commonjs/static-helpers/urlTemplate.js.map +1 -1
- package/dist/commonjs/tsdoc-metadata.json +1 -1
- package/dist/commonjs/util.js +1 -0
- package/dist/commonjs/util.js.map +1 -1
- package/dist/esm/aiProjectClient.js +119 -94
- package/dist/esm/aiProjectClient.js.map +1 -7
- package/dist/esm/api/agents/index.js +4 -28
- package/dist/esm/api/agents/index.js.map +1 -7
- package/dist/esm/api/agents/operations.js +375 -473
- package/dist/esm/api/agents/operations.js.map +1 -7
- package/dist/esm/api/agents/options.js +4 -0
- package/dist/esm/api/agents/options.js.map +1 -7
- package/dist/esm/api/aiProjectContext.d.ts.map +1 -1
- package/dist/esm/api/aiProjectContext.js +22 -19
- package/dist/esm/api/aiProjectContext.js.map +1 -7
- package/dist/esm/api/beta/evaluationTaxonomies/index.js +4 -8
- package/dist/esm/api/beta/evaluationTaxonomies/index.js.map +1 -7
- package/dist/esm/api/beta/evaluationTaxonomies/operations.js +150 -183
- package/dist/esm/api/beta/evaluationTaxonomies/operations.js.map +1 -7
- package/dist/esm/api/beta/evaluationTaxonomies/options.js +4 -0
- package/dist/esm/api/beta/evaluationTaxonomies/options.js.map +1 -7
- package/dist/esm/api/beta/evaluators/index.js +4 -16
- package/dist/esm/api/beta/evaluators/index.js.map +1 -7
- package/dist/esm/api/beta/evaluators/operations.js +192 -243
- package/dist/esm/api/beta/evaluators/operations.js.map +1 -7
- package/dist/esm/api/beta/evaluators/options.js +4 -0
- package/dist/esm/api/beta/evaluators/options.js.map +1 -7
- package/dist/esm/api/beta/insights/index.js +4 -6
- package/dist/esm/api/beta/insights/index.js.map +1 -7
- package/dist/esm/api/beta/insights/operations.js +109 -126
- package/dist/esm/api/beta/insights/operations.js.map +1 -7
- package/dist/esm/api/beta/insights/options.js +4 -0
- package/dist/esm/api/beta/insights/options.js.map +1 -7
- package/dist/esm/api/beta/memoryStores/index.js +4 -22
- package/dist/esm/api/beta/memoryStores/index.js.map +1 -7
- package/dist/esm/api/beta/memoryStores/operations.d.ts.map +1 -1
- package/dist/esm/api/beta/memoryStores/operations.js +305 -363
- package/dist/esm/api/beta/memoryStores/operations.js.map +1 -7
- package/dist/esm/api/beta/memoryStores/options.js +4 -0
- package/dist/esm/api/beta/memoryStores/options.js.map +1 -7
- package/dist/esm/api/beta/redTeams/index.js +4 -6
- package/dist/esm/api/beta/redTeams/index.js.map +1 -7
- package/dist/esm/api/beta/redTeams/operations.js +95 -119
- package/dist/esm/api/beta/redTeams/operations.js.map +1 -7
- package/dist/esm/api/beta/redTeams/options.js +4 -0
- package/dist/esm/api/beta/redTeams/options.js.map +1 -7
- package/dist/esm/api/beta/schedules/index.js +4 -9
- package/dist/esm/api/beta/schedules/index.js.map +1 -7
- package/dist/esm/api/beta/schedules/operations.js +204 -248
- package/dist/esm/api/beta/schedules/operations.js.map +1 -7
- package/dist/esm/api/beta/schedules/options.js +4 -0
- package/dist/esm/api/beta/schedules/options.js.map +1 -7
- package/dist/esm/api/connections/index.js +4 -6
- package/dist/esm/api/connections/index.js.map +1 -7
- package/dist/esm/api/connections/operations.js +109 -116
- package/dist/esm/api/connections/operations.js.map +1 -7
- package/dist/esm/api/connections/options.js +4 -0
- package/dist/esm/api/connections/options.js.map +1 -7
- package/dist/esm/api/datasets/index.js +4 -18
- package/dist/esm/api/datasets/index.js.map +1 -7
- package/dist/esm/api/datasets/operations.d.ts.map +1 -1
- package/dist/esm/api/datasets/operations.js +288 -355
- package/dist/esm/api/datasets/operations.js.map +1 -7
- package/dist/esm/api/datasets/options.js +4 -0
- package/dist/esm/api/datasets/options.js.map +1 -7
- package/dist/esm/api/deployments/index.js +4 -5
- package/dist/esm/api/deployments/index.js.map +1 -7
- package/dist/esm/api/deployments/operations.js +57 -70
- package/dist/esm/api/deployments/operations.js.map +1 -7
- package/dist/esm/api/deployments/options.js +4 -0
- package/dist/esm/api/deployments/options.js.map +1 -7
- package/dist/esm/api/evaluationRules/index.js +4 -7
- package/dist/esm/api/evaluationRules/index.js.map +1 -7
- package/dist/esm/api/evaluationRules/operations.js +121 -144
- package/dist/esm/api/evaluationRules/operations.js.map +1 -7
- package/dist/esm/api/evaluationRules/options.js +4 -0
- package/dist/esm/api/evaluationRules/options.js.map +1 -7
- package/dist/esm/api/index.js +4 -4
- package/dist/esm/api/index.js.map +1 -7
- package/dist/esm/api/indexes/index.js +4 -8
- package/dist/esm/api/indexes/index.js.map +1 -7
- package/dist/esm/api/indexes/operations.js +116 -161
- package/dist/esm/api/indexes/operations.js.map +1 -7
- package/dist/esm/api/indexes/options.js +4 -0
- package/dist/esm/api/indexes/options.js.map +1 -7
- package/dist/esm/api/telemetry/index.js +4 -4
- package/dist/esm/api/telemetry/index.js.map +1 -7
- package/dist/esm/api/telemetry/operations.js +53 -46
- package/dist/esm/api/telemetry/operations.js.map +1 -7
- package/dist/esm/classic/agents/index.js +40 -80
- package/dist/esm/classic/agents/index.js.map +1 -7
- package/dist/esm/classic/beta/evaluationTaxonomies/index.js +15 -21
- package/dist/esm/classic/beta/evaluationTaxonomies/index.js.map +1 -7
- package/dist/esm/classic/beta/evaluators/index.js +16 -23
- package/dist/esm/classic/beta/evaluators/index.js.map +1 -7
- package/dist/esm/classic/beta/index.js +18 -18
- package/dist/esm/classic/beta/index.js.map +1 -7
- package/dist/esm/classic/beta/insights/index.js +12 -12
- package/dist/esm/classic/beta/insights/index.js.map +1 -7
- package/dist/esm/classic/beta/memoryStores/index.js +19 -29
- package/dist/esm/classic/beta/memoryStores/index.js.map +1 -7
- package/dist/esm/classic/beta/redTeams/index.js +12 -12
- package/dist/esm/classic/beta/redTeams/index.js.map +1 -7
- package/dist/esm/classic/beta/schedules/index.js +16 -23
- package/dist/esm/classic/beta/schedules/index.js.map +1 -7
- package/dist/esm/classic/connections/index.js +13 -13
- package/dist/esm/classic/connections/index.js.map +1 -7
- package/dist/esm/classic/datasets/index.js +19 -29
- package/dist/esm/classic/datasets/index.js.map +1 -7
- package/dist/esm/classic/deployments/index.js +11 -11
- package/dist/esm/classic/deployments/index.js.map +1 -7
- package/dist/esm/classic/evaluationRules/index.js +13 -13
- package/dist/esm/classic/evaluationRules/index.js.map +1 -7
- package/dist/esm/classic/index.js +4 -0
- package/dist/esm/classic/index.js.map +1 -7
- package/dist/esm/classic/indexes/index.js +14 -14
- package/dist/esm/classic/indexes/index.js.map +1 -7
- package/dist/esm/classic/telemetry/index.js +7 -9
- package/dist/esm/classic/telemetry/index.js.map +1 -7
- package/dist/esm/constants.d.ts +1 -1
- package/dist/esm/constants.js +11 -6
- package/dist/esm/constants.js.map +1 -7
- package/dist/esm/getCustomFetch.js +40 -33
- package/dist/esm/getCustomFetch.js.map +1 -7
- package/dist/esm/index.js +4 -4
- package/dist/esm/index.js.map +1 -7
- package/dist/esm/logger.js +4 -4
- package/dist/esm/logger.js.map +1 -7
- package/dist/esm/models/index.js +4 -0
- package/dist/esm/models/index.js.map +1 -7
- package/dist/esm/models/models.js +3709 -4160
- package/dist/esm/models/models.js.map +1 -7
- package/dist/esm/overwriteOpenAIClient.js +13 -13
- package/dist/esm/overwriteOpenAIClient.js.map +1 -7
- package/dist/esm/static-helpers/pagingHelpers.js +123 -99
- package/dist/esm/static-helpers/pagingHelpers.js.map +1 -7
- package/dist/esm/static-helpers/pollingHelpers.d.ts +11 -1
- package/dist/esm/static-helpers/pollingHelpers.d.ts.map +1 -1
- package/dist/esm/static-helpers/pollingHelpers.js +99 -69
- package/dist/esm/static-helpers/pollingHelpers.js.map +1 -7
- package/dist/esm/static-helpers/serialization/serialize-record.js +18 -16
- package/dist/esm/static-helpers/serialization/serialize-record.js.map +1 -7
- package/dist/esm/static-helpers/urlTemplate.js +169 -142
- package/dist/esm/static-helpers/urlTemplate.js.map +1 -7
- package/dist/esm/util.js +84 -63
- package/dist/esm/util.js.map +1 -7
- package/dist/react-native/api/aiProjectContext.d.ts.map +1 -1
- package/dist/react-native/api/aiProjectContext.js +2 -1
- package/dist/react-native/api/aiProjectContext.js.map +1 -1
- package/dist/react-native/api/beta/memoryStores/operations.d.ts.map +1 -1
- package/dist/react-native/api/beta/memoryStores/operations.js +11 -0
- package/dist/react-native/api/beta/memoryStores/operations.js.map +1 -1
- package/dist/react-native/api/datasets/operations.d.ts.map +1 -1
- package/dist/react-native/api/datasets/operations.js +9 -8
- package/dist/react-native/api/datasets/operations.js.map +1 -1
- package/dist/react-native/constants.d.ts +1 -1
- package/dist/react-native/constants.js +1 -1
- package/dist/react-native/constants.js.map +1 -1
- package/dist/react-native/static-helpers/pollingHelpers.d.ts +11 -1
- package/dist/react-native/static-helpers/pollingHelpers.d.ts.map +1 -1
- package/dist/react-native/static-helpers/pollingHelpers.js +21 -9
- package/dist/react-native/static-helpers/pollingHelpers.js.map +1 -1
- package/package.json +9 -9
|
@@ -1,7 +1 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["/mnt/vss/_work/1/s/sdk/ai/ai-projects/src/models/models.ts"],
|
|
4
|
-
"sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { serializeRecord } from \"../static-helpers/serialization/serialize-record.js\";\n\n/**\n * This file contains only generated model types and their (de)serializers.\n * Disable the following rules for internal models with '_' prefix and deserializers which require 'any' for raw JSON input.\n */\n/* eslint-disable @typescript-eslint/naming-convention */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/* eslint-disable tsdoc/syntax */\n\n/** model interface Agent */\nexport interface Agent {\n /** The object type, which is always 'agent'. */\n object: \"agent\";\n /** The unique identifier of the agent. */\n id: string;\n /** The name of the agent. */\n name: string;\n /** The latest version of the agent. */\n versions: {\n latest: AgentVersion;\n };\n}\n\nexport function agentDeserializer(item: any): Agent {\n return {\n object: item[\"object\"],\n id: item[\"id\"],\n name: item[\"name\"],\n versions: _agentVersionsDeserializer(item[\"versions\"]),\n };\n}\n\n/**\n * Helper interface for agent version references.\n */\nexport interface _AgentVersions {\n latest: AgentVersion;\n}\n\nexport function _agentVersionsDeserializer(item: any): _AgentVersions {\n return {\n latest: agentVersionDeserializer(item[\"latest\"]),\n };\n}\n\n/**\n * Represents a specific version of an agent.\n * Includes metadata, versioning, creation time, and agent definition.\n */\nexport interface AgentVersion {\n /**\n * Set of 16 key-value pairs that can be attached to an object. This can be\n * useful for storing additional information about the object in a structured\n * format, and querying for objects via API or the dashboard.\n *\n * Keys are strings with a maximum length of 64 characters. Values are strings\n * with a maximum length of 512 characters.\n */\n metadata: Record<string, string>;\n /** The object type, which is always 'agent.version'. */\n object: \"agent.version\";\n /** The unique identifier of the agent version. */\n id: string;\n /** The name of the agent. Name can be used to retrieve/update/delete the agent. */\n name: string;\n /** The version identifier of the agent. Agents are immutable and every update creates a new version while keeping the name same. */\n version: string;\n /** A human-readable description of the agent. */\n description?: string;\n /** The Unix timestamp (seconds) when the agent was created. */\n created_at: Date;\n /** The definition of the agent. */\n definition: AgentDefinitionUnion;\n}\n\nexport function agentVersionDeserializer(item: any): AgentVersion {\n return {\n metadata: item[\"metadata\"],\n object: item[\"object\"],\n id: item[\"id\"],\n name: item[\"name\"],\n version: item[\"version\"],\n description: item[\"description\"],\n created_at: new Date(item[\"created_at\"] * 1000),\n definition: agentDefinitionUnionDeserializer(item[\"definition\"]),\n };\n}\n\n/**\n * Base definition interface for agents.\n * Contains the agent kind and optional RAI configuration.\n */\nexport interface AgentDefinition {\n /** The kind of agent. */\n kind: AgentKind;\n /** Configuration for Responsible AI (RAI) content filtering and safety features. */\n rai_config?: RaiConfig;\n}\n\nexport function agentDefinitionSerializer(item: AgentDefinition): any {\n return {\n kind: item[\"kind\"],\n rai_config: !item[\"rai_config\"] ? item[\"rai_config\"] : raiConfigSerializer(item[\"rai_config\"]),\n };\n}\n\nexport function agentDefinitionDeserializer(item: any): AgentDefinition {\n return {\n kind: item[\"kind\"],\n rai_config: !item[\"rai_config\"]\n ? item[\"rai_config\"]\n : raiConfigDeserializer(item[\"rai_config\"]),\n };\n}\n\n/**\n * Union type for all agent definition types.\n * Supports workflow, hosted, container app, and prompt agents.\n */\nexport type AgentDefinitionUnion =\n | PromptAgentDefinition\n | WorkflowAgentDefinition\n | HostedAgentDefinition\n | AgentDefinition;\n\nexport function agentDefinitionUnionSerializer(item: AgentDefinitionUnion): any {\n switch (item.kind) {\n case \"prompt\":\n return promptAgentDefinitionSerializer(item as PromptAgentDefinition);\n\n case \"workflow\":\n return workflowAgentDefinitionSerializer(item as WorkflowAgentDefinition);\n\n case \"hosted\":\n return hostedAgentDefinitionSerializer(item as HostedAgentDefinition);\n\n default:\n return agentDefinitionSerializer(item);\n }\n}\n\nexport function agentDefinitionUnionDeserializer(item: any): AgentDefinitionUnion {\n switch (item.kind) {\n case \"prompt\":\n return promptAgentDefinitionDeserializer(item as PromptAgentDefinition);\n\n case \"workflow\":\n return workflowAgentDefinitionDeserializer(item as WorkflowAgentDefinition);\n\n case \"hosted\":\n return hostedAgentDefinitionDeserializer(item as HostedAgentDefinition);\n\n default:\n return agentDefinitionDeserializer(item);\n }\n}\n\n/**\n * Defines the type/kind of agent.\n * Determines which agent definition structure is used.\n */\nexport type AgentKind = \"prompt\" | \"hosted\" | \"workflow\";\n\n/** Configuration for Responsible AI (RAI) content filtering and safety features. */\nexport interface RaiConfig {\n /** The name of the RAI policy to apply. */\n rai_policy_name: string;\n}\n\nexport function raiConfigSerializer(item: RaiConfig): any {\n return { rai_policy_name: item[\"rai_policy_name\"] };\n}\n\nexport function raiConfigDeserializer(item: any): RaiConfig {\n return {\n rai_policy_name: item[\"rai_policy_name\"],\n };\n}\n\n/** The prompt agent definition */\nexport interface PromptAgentDefinition extends AgentDefinition {\n /** The kind discriminator, always 'prompt'. */\n kind: \"prompt\";\n /** The model deployment to use for this agent. */\n model: string;\n /** A system (or developer) message inserted into the model's context. */\n instructions?: string;\n /**\n * What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.\n * We generally recommend altering this or `top_p` but not both.\n */\n temperature?: number;\n /**\n * An alternative to sampling with temperature, called nucleus sampling,\n * where the model considers the results of the tokens with top_p probability\n * mass. So 0.1 means only the tokens comprising the top 10% probability mass\n * are considered.\n *\n * We generally recommend altering this or `temperature` but not both.\n */\n top_p?: number;\n /** The reasoning configuration for the prompt agent. */\n reasoning?: Reasoning;\n /**\n * An array of tools the model may call while generating a response. You\n * can specify which tool to use by setting the `tool_choice` parameter.\n */\n tools?: ToolUnion[];\n /**\n * How the model should select which tool (or tools) to use when generating a response.\n * See the `tools` parameter to see how to specify which tools the model can call.\n */\n tool_choice?: string | ToolChoiceParamUnion;\n /** Configuration options for a text response from the model. Can be plain text or structured JSON data. */\n text?: PromptAgentDefinitionTextOptions;\n /** Set of structured inputs that can participate in prompt template substitution or tool argument bindings. */\n structured_inputs?: Record<string, StructuredInputDefinition>;\n}\n\nexport function promptAgentDefinitionSerializer(item: PromptAgentDefinition): any {\n return {\n kind: item[\"kind\"],\n rai_config: !item[\"rai_config\"] ? item[\"rai_config\"] : raiConfigSerializer(item[\"rai_config\"]),\n model: item[\"model\"],\n instructions: item[\"instructions\"],\n temperature: item[\"temperature\"],\n top_p: item[\"top_p\"],\n reasoning: !item[\"reasoning\"] ? item[\"reasoning\"] : reasoningSerializer(item[\"reasoning\"]),\n tools: !item[\"tools\"] ? item[\"tools\"] : toolUnionArraySerializer(item[\"tools\"]),\n tool_choice: !item[\"tool_choice\"]\n ? item[\"tool_choice\"]\n : _promptAgentDefinitionToolChoiceSerializer(item[\"tool_choice\"]),\n text: !item[\"text\"] ? item[\"text\"] : promptAgentDefinitionTextOptionsSerializer(item[\"text\"]),\n structured_inputs: !item[\"structured_inputs\"]\n ? item[\"structured_inputs\"]\n : structuredInputDefinitionRecordSerializer(item[\"structured_inputs\"]),\n };\n}\n\nexport function promptAgentDefinitionDeserializer(item: any): PromptAgentDefinition {\n return {\n kind: item[\"kind\"],\n rai_config: !item[\"rai_config\"]\n ? item[\"rai_config\"]\n : raiConfigDeserializer(item[\"rai_config\"]),\n model: item[\"model\"],\n instructions: item[\"instructions\"],\n temperature: item[\"temperature\"],\n top_p: item[\"top_p\"],\n reasoning: !item[\"reasoning\"] ? item[\"reasoning\"] : reasoningDeserializer(item[\"reasoning\"]),\n tools: !item[\"tools\"] ? item[\"tools\"] : toolUnionArrayDeserializer(item[\"tools\"]),\n tool_choice: !item[\"tool_choice\"]\n ? item[\"tool_choice\"]\n : _promptAgentDefinitionToolChoiceDeserializer(item[\"tool_choice\"]),\n text: !item[\"text\"] ? item[\"text\"] : promptAgentDefinitionTextOptionsDeserializer(item[\"text\"]),\n structured_inputs: !item[\"structured_inputs\"]\n ? item[\"structured_inputs\"]\n : structuredInputDefinitionRecordDeserializer(item[\"structured_inputs\"]),\n };\n}\n\n/**\n * **gpt-5 and o-series models only**\n * Configuration options for\n * [reasoning models](https://platform.openai.com/docs/guides/reasoning).\n */\nexport interface Reasoning {\n /** The reasoning effort level. */\n effort?: ReasoningEffort;\n /** The reasoning summary text. */\n summary?: \"auto\" | \"concise\" | \"detailed\";\n /** Whether to generate a summary of the reasoning process. */\n generate_summary?: \"auto\" | \"concise\" | \"detailed\";\n}\n\nexport function reasoningSerializer(item: Reasoning): any {\n return {\n effort: item[\"effort\"],\n summary: item[\"summary\"],\n generate_summary: item[\"generate_summary\"],\n };\n}\n\nexport function reasoningDeserializer(item: any): Reasoning {\n return {\n effort: item[\"effort\"],\n summary: item[\"summary\"],\n generate_summary: item[\"generate_summary\"],\n };\n}\n\n/**\n * Constrains effort on reasoning for\n * [reasoning models](https://platform.openai.com/docs/guides/reasoning).\n * Currently supported values are `none`, `minimal`, `low`, `medium`, `high`, and `xhigh`. Reducing\n * reasoning effort can result in faster responses and fewer tokens used\n * on reasoning in a response.\n * - `gpt-5.1` defaults to `none`, which does not perform reasoning. The supported reasoning values for `gpt-5.1` are `none`, `low`, `medium`, and `high`. Tool calls are supported for all reasoning values in gpt-5.1.\n * - All models before `gpt-5.1` default to `medium` reasoning effort, and do not support `none`.\n * - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort.\n * - `xhigh` is supported for all models after `gpt-5.1-codex-max`.\n */\nexport type ReasoningEffort = \"none\" | \"minimal\" | \"low\" | \"medium\" | \"high\" | \"xhigh\";\n\nexport function toolUnionArraySerializer(result: Array<ToolUnion>): any[] {\n return result.map((item) => {\n return toolUnionSerializer(item);\n });\n}\n\nexport function toolUnionArrayDeserializer(result: Array<ToolUnion>): any[] {\n return result.map((item) => {\n return toolUnionDeserializer(item);\n });\n}\n\n/** A tool that can be used to generate a response. */\nexport interface Tool {\n /** The tool type identifier. */\n type: ToolType;\n}\n\nexport function toolSerializer(item: Tool): any {\n return { type: item[\"type\"] };\n}\n\nexport function toolDeserializer(item: any): Tool {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for ToolUnion */\nexport type ToolUnion =\n | BingGroundingTool\n | MicrosoftFabricPreviewTool\n | SharepointPreviewTool\n | AzureAISearchTool\n | OpenApiTool\n | BingCustomSearchPreviewTool\n | BrowserAutomationPreviewTool\n | AzureFunctionTool\n | CaptureStructuredOutputsTool\n | A2APreviewTool\n | MemorySearchPreviewTool\n | CodeInterpreterTool\n | FunctionTool\n | FileSearchTool\n | ComputerUsePreviewTool\n | WebSearchTool\n | MCPTool\n | ImageGenTool\n | LocalShellToolParam\n | FunctionShellToolParam\n | CustomToolParam\n | WebSearchPreviewTool\n | ApplyPatchToolParam\n | Tool;\n\nexport function toolUnionSerializer(item: ToolUnion): any {\n switch (item.type) {\n case \"bing_grounding\":\n return bingGroundingToolSerializer(item as BingGroundingTool);\n\n case \"fabric_dataagent_preview\":\n return microsoftFabricPreviewToolSerializer(item as MicrosoftFabricPreviewTool);\n\n case \"sharepoint_grounding_preview\":\n return sharepointPreviewToolSerializer(item as SharepointPreviewTool);\n\n case \"azure_ai_search\":\n return azureAISearchToolSerializer(item as AzureAISearchTool);\n\n case \"openapi\":\n return openApiToolSerializer(item as OpenApiTool);\n\n case \"bing_custom_search_preview\":\n return bingCustomSearchPreviewToolSerializer(item as BingCustomSearchPreviewTool);\n\n case \"browser_automation_preview\":\n return browserAutomationPreviewToolSerializer(item as BrowserAutomationPreviewTool);\n\n case \"azure_function\":\n return azureFunctionToolSerializer(item as AzureFunctionTool);\n\n case \"capture_structured_outputs\":\n return captureStructuredOutputsToolSerializer(item as CaptureStructuredOutputsTool);\n\n case \"a2a_preview\":\n return a2APreviewToolSerializer(item as A2APreviewTool);\n\n case \"memory_search_preview\":\n return memorySearchPreviewToolSerializer(item as MemorySearchPreviewTool);\n\n case \"code_interpreter\":\n return codeInterpreterToolSerializer(item as CodeInterpreterTool);\n\n case \"function\":\n return functionToolSerializer(item as FunctionTool);\n\n case \"file_search\":\n return fileSearchToolSerializer(item as FileSearchTool);\n\n case \"computer_use_preview\":\n return computerUsePreviewToolSerializer(item as ComputerUsePreviewTool);\n\n case \"web_search\":\n return webSearchToolSerializer(item as WebSearchTool);\n\n case \"mcp\":\n return mcpToolSerializer(item as MCPTool);\n\n case \"image_generation\":\n return imageGenToolSerializer(item as ImageGenTool);\n\n case \"local_shell\":\n return localShellToolParamSerializer(item as LocalShellToolParam);\n\n case \"shell\":\n return functionShellToolParamSerializer(item as FunctionShellToolParam);\n\n case \"custom\":\n return customToolParamSerializer(item as CustomToolParam);\n\n case \"web_search_preview\":\n return webSearchPreviewToolSerializer(item as WebSearchPreviewTool);\n\n case \"apply_patch\":\n return applyPatchToolParamSerializer(item as ApplyPatchToolParam);\n\n default:\n return toolSerializer(item);\n }\n}\n\nexport function toolUnionDeserializer(item: any): ToolUnion {\n switch (item.type) {\n case \"bing_grounding\":\n return bingGroundingToolDeserializer(item as BingGroundingTool);\n\n case \"fabric_dataagent_preview\":\n return microsoftFabricPreviewToolDeserializer(item as MicrosoftFabricPreviewTool);\n\n case \"sharepoint_grounding_preview\":\n return sharepointPreviewToolDeserializer(item as SharepointPreviewTool);\n\n case \"azure_ai_search\":\n return azureAISearchToolDeserializer(item as AzureAISearchTool);\n\n case \"openapi\":\n return openApiToolDeserializer(item as OpenApiTool);\n\n case \"bing_custom_search_preview\":\n return bingCustomSearchPreviewToolDeserializer(item as BingCustomSearchPreviewTool);\n\n case \"browser_automation_preview\":\n return browserAutomationPreviewToolDeserializer(item as BrowserAutomationPreviewTool);\n\n case \"azure_function\":\n return azureFunctionToolDeserializer(item as AzureFunctionTool);\n\n case \"capture_structured_outputs\":\n return captureStructuredOutputsToolDeserializer(item as CaptureStructuredOutputsTool);\n\n case \"a2a_preview\":\n return a2APreviewToolDeserializer(item as A2APreviewTool);\n\n case \"memory_search_preview\":\n return memorySearchPreviewToolDeserializer(item as MemorySearchPreviewTool);\n\n case \"code_interpreter\":\n return codeInterpreterToolDeserializer(item as CodeInterpreterTool);\n\n case \"function\":\n return functionToolDeserializer(item as FunctionTool);\n\n case \"file_search\":\n return fileSearchToolDeserializer(item as FileSearchTool);\n\n case \"computer_use_preview\":\n return computerUsePreviewToolDeserializer(item as ComputerUsePreviewTool);\n\n case \"web_search\":\n return webSearchToolDeserializer(item as WebSearchTool);\n\n case \"mcp\":\n return mcpToolDeserializer(item as MCPTool);\n\n case \"image_generation\":\n return imageGenToolDeserializer(item as ImageGenTool);\n\n case \"local_shell\":\n return localShellToolParamDeserializer(item as LocalShellToolParam);\n\n case \"shell\":\n return functionShellToolParamDeserializer(item as FunctionShellToolParam);\n\n case \"custom\":\n return customToolParamDeserializer(item as CustomToolParam);\n\n case \"web_search_preview\":\n return webSearchPreviewToolDeserializer(item as WebSearchPreviewTool);\n\n case \"apply_patch\":\n return applyPatchToolParamDeserializer(item as ApplyPatchToolParam);\n\n default:\n return toolDeserializer(item);\n }\n}\n\n/** Type of ToolType */\nexport type ToolType =\n | \"function\"\n | \"file_search\"\n | \"computer_use_preview\"\n | \"web_search\"\n | \"mcp\"\n | \"code_interpreter\"\n | \"image_generation\"\n | \"local_shell\"\n | \"shell\"\n | \"custom\"\n | \"web_search_preview\"\n | \"apply_patch\"\n | \"a2a_preview\"\n | \"bing_custom_search_preview\"\n | \"browser_automation_preview\"\n | \"fabric_dataagent_preview\"\n | \"sharepoint_grounding_preview\"\n | \"memory_search_preview\"\n | \"azure_ai_search\"\n | \"azure_function\"\n | \"bing_grounding\"\n | \"capture_structured_outputs\"\n | \"openapi\";\n\n/** The input definition information for a bing grounding search tool as used to configure an agent. */\nexport interface BingGroundingTool extends Tool {\n /** The object type, which is always 'bing_grounding'. */\n type: \"bing_grounding\";\n /** The bing grounding search tool parameters. */\n bing_grounding: BingGroundingSearchToolParameters;\n}\n\nexport function bingGroundingToolSerializer(item: BingGroundingTool): any {\n return {\n type: item[\"type\"],\n bing_grounding: bingGroundingSearchToolParametersSerializer(item[\"bing_grounding\"]),\n };\n}\n\nexport function bingGroundingToolDeserializer(item: any): BingGroundingTool {\n return {\n type: item[\"type\"],\n bing_grounding: 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 search_configurations: BingGroundingSearchConfiguration[];\n}\n\nexport function bingGroundingSearchToolParametersSerializer(\n item: BingGroundingSearchToolParameters,\n): any {\n return {\n search_configurations: bingGroundingSearchConfigurationArraySerializer(\n item[\"search_configurations\"],\n ),\n };\n}\n\nexport function bingGroundingSearchToolParametersDeserializer(\n item: any,\n): BingGroundingSearchToolParameters {\n return {\n search_configurations: 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 return result.map((item) => {\n return bingGroundingSearchConfigurationDeserializer(item);\n });\n}\n\n/** Search configuration for Bing Grounding */\nexport interface BingGroundingSearchConfiguration {\n /** Project connection id for grounding with bing search */\n project_connection_id: 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 set_lang?: 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. See [accepted values here](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 project_connection_id: item[\"project_connection_id\"],\n market: item[\"market\"],\n set_lang: item[\"set_lang\"],\n count: item[\"count\"],\n freshness: item[\"freshness\"],\n };\n}\n\nexport function bingGroundingSearchConfigurationDeserializer(\n item: any,\n): BingGroundingSearchConfiguration {\n return {\n project_connection_id: item[\"project_connection_id\"],\n market: item[\"market\"],\n set_lang: 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 MicrosoftFabricPreviewTool extends Tool {\n /** The object type, which is always 'fabric_dataagent_preview'. */\n type: \"fabric_dataagent_preview\";\n /** The fabric data agent tool parameters. */\n fabric_dataagent_preview: FabricDataAgentToolParameters;\n}\n\nexport function microsoftFabricPreviewToolSerializer(item: MicrosoftFabricPreviewTool): any {\n return {\n type: item[\"type\"],\n fabric_dataagent_preview: fabricDataAgentToolParametersSerializer(\n item[\"fabric_dataagent_preview\"],\n ),\n };\n}\n\nexport function microsoftFabricPreviewToolDeserializer(item: any): MicrosoftFabricPreviewTool {\n return {\n type: item[\"type\"],\n fabric_dataagent_preview: fabricDataAgentToolParametersDeserializer(\n item[\"fabric_dataagent_preview\"],\n ),\n };\n}\n\n/** The fabric data agent tool parameters. */\nexport interface FabricDataAgentToolParameters {\n /**\n * The project connections attached to this tool. There can be a maximum of 1 connection\n * resource attached to the tool.\n */\n project_connections?: ToolProjectConnection[];\n}\n\nexport function fabricDataAgentToolParametersSerializer(item: FabricDataAgentToolParameters): any {\n return {\n project_connections: !item[\"project_connections\"]\n ? item[\"project_connections\"]\n : toolProjectConnectionArraySerializer(item[\"project_connections\"]),\n };\n}\n\nexport function fabricDataAgentToolParametersDeserializer(\n item: any,\n): FabricDataAgentToolParameters {\n return {\n project_connections: !item[\"project_connections\"]\n ? item[\"project_connections\"]\n : toolProjectConnectionArrayDeserializer(item[\"project_connections\"]),\n };\n}\n\nexport function toolProjectConnectionArraySerializer(result: Array<ToolProjectConnection>): any[] {\n return result.map((item) => {\n return toolProjectConnectionSerializer(item);\n });\n}\n\nexport function toolProjectConnectionArrayDeserializer(\n result: Array<ToolProjectConnection>,\n): any[] {\n return result.map((item) => {\n return toolProjectConnectionDeserializer(item);\n });\n}\n\n/** A project connection resource. */\nexport interface ToolProjectConnection {\n /** A project connection in a ToolProjectConnectionList attached to this tool. */\n project_connection_id: string;\n}\n\nexport function toolProjectConnectionSerializer(item: ToolProjectConnection): any {\n return { project_connection_id: item[\"project_connection_id\"] };\n}\n\nexport function toolProjectConnectionDeserializer(item: any): ToolProjectConnection {\n return {\n project_connection_id: item[\"project_connection_id\"],\n };\n}\n\n/** The input definition information for a sharepoint tool as used to configure an agent. */\nexport interface SharepointPreviewTool extends Tool {\n /** The object type, which is always 'sharepoint_grounding_preview'. */\n type: \"sharepoint_grounding_preview\";\n /** The sharepoint grounding tool parameters. */\n sharepoint_grounding_preview: SharepointGroundingToolParameters;\n}\n\nexport function sharepointPreviewToolSerializer(item: SharepointPreviewTool): any {\n return {\n type: item[\"type\"],\n sharepoint_grounding_preview: sharepointGroundingToolParametersSerializer(\n item[\"sharepoint_grounding_preview\"],\n ),\n };\n}\n\nexport function sharepointPreviewToolDeserializer(item: any): SharepointPreviewTool {\n return {\n type: item[\"type\"],\n sharepoint_grounding_preview: sharepointGroundingToolParametersDeserializer(\n item[\"sharepoint_grounding_preview\"],\n ),\n };\n}\n\n/** The sharepoint grounding tool parameters. */\nexport interface SharepointGroundingToolParameters {\n /**\n * The project connections attached to this tool. There can be a maximum of 1 connection\n * resource attached to the tool.\n */\n project_connections?: ToolProjectConnection[];\n}\n\nexport function sharepointGroundingToolParametersSerializer(\n item: SharepointGroundingToolParameters,\n): any {\n return {\n project_connections: !item[\"project_connections\"]\n ? item[\"project_connections\"]\n : toolProjectConnectionArraySerializer(item[\"project_connections\"]),\n };\n}\n\nexport function sharepointGroundingToolParametersDeserializer(\n item: any,\n): SharepointGroundingToolParameters {\n return {\n project_connections: !item[\"project_connections\"]\n ? item[\"project_connections\"]\n : toolProjectConnectionArrayDeserializer(item[\"project_connections\"]),\n };\n}\n\n/** The input definition information for an Azure AI search tool as used to configure an agent. */\nexport interface AzureAISearchTool extends Tool {\n /** The object type, which is always 'azure_ai_search'. */\n type: \"azure_ai_search\";\n /** The azure ai search index resource. */\n azure_ai_search: AzureAISearchToolResource;\n}\n\nexport function azureAISearchToolSerializer(item: AzureAISearchTool): any {\n return {\n type: item[\"type\"],\n azure_ai_search: azureAISearchToolResourceSerializer(item[\"azure_ai_search\"]),\n };\n}\n\nexport function azureAISearchToolDeserializer(item: any): AzureAISearchTool {\n return {\n type: item[\"type\"],\n azure_ai_search: azureAISearchToolResourceDeserializer(item[\"azure_ai_search\"]),\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 indexes: AISearchIndexResource[];\n}\n\nexport function azureAISearchToolResourceSerializer(item: AzureAISearchToolResource): any {\n return { indexes: aiSearchIndexResourceArraySerializer(item[\"indexes\"]) };\n}\n\nexport function azureAISearchToolResourceDeserializer(item: any): AzureAISearchToolResource {\n return {\n indexes: 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 project_connection_id?: string;\n /** The name of an index in an IndexResource attached to this agent. */\n index_name?: string;\n /** Type of query in an AIIndexResource attached to this agent. */\n query_type?: AzureAISearchQueryType;\n /** Number of documents to retrieve from search and present to the model. */\n top_k?: number;\n /** filter string for search resource. [Learn more here](https://learn.microsoft.com/azure/search/search-filters). */\n filter?: string;\n /** Index asset id for search resource. */\n index_asset_id?: string;\n}\n\nexport function aiSearchIndexResourceSerializer(item: AISearchIndexResource): any {\n return {\n project_connection_id: item[\"project_connection_id\"],\n index_name: item[\"index_name\"],\n query_type: item[\"query_type\"],\n top_k: item[\"top_k\"],\n filter: item[\"filter\"],\n index_asset_id: item[\"index_asset_id\"],\n };\n}\n\nexport function aiSearchIndexResourceDeserializer(item: any): AISearchIndexResource {\n return {\n project_connection_id: item[\"project_connection_id\"],\n index_name: item[\"index_name\"],\n query_type: item[\"query_type\"],\n top_k: item[\"top_k\"],\n filter: item[\"filter\"],\n index_asset_id: 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\n/** The input definition information for an OpenAPI tool as used to configure an agent. */\nexport interface OpenApiTool extends Tool {\n /** The object type, which is always 'openapi'. */\n type: \"openapi\";\n /** The openapi function definition. */\n openapi: OpenApiFunctionDefinition;\n}\n\nexport function openApiToolSerializer(item: OpenApiTool): any {\n return { type: item[\"type\"], openapi: openApiFunctionDefinitionSerializer(item[\"openapi\"]) };\n}\n\nexport function openApiToolDeserializer(item: any): OpenApiTool {\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: unknown;\n /** Open API authentication details */\n auth: OpenApiAuthDetailsUnion;\n /** List of OpenAPI spec parameters that will use user-provided defaults */\n default_params?: string[];\n /** List of function definitions used by OpenApi tool */\n readonly functions?: {\n name: string;\n description?: string;\n parameters: Record<string, unknown>;\n }[];\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[\"default_params\"],\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 default_params: !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 : _openApiFunctionDefinitionFunctionArrayDeserializer(item[\"functions\"]),\n };\n}\n\n/** authentication details for OpenApiFunctionDefinition */\nexport interface OpenApiAuthDetails {\n /** The type of authentication, must be anonymous/project_connection/managed_identity */\n /** The discriminator possible values: anonymous, project_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 | OpenApiProjectConnectionAuthDetails\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 \"project_connection\":\n return openApiProjectConnectionAuthDetailsSerializer(\n item as OpenApiProjectConnectionAuthDetails,\n );\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 \"project_connection\":\n return openApiProjectConnectionAuthDetailsDeserializer(\n item as OpenApiProjectConnectionAuthDetails,\n );\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 * - Project Connection (requires project_connection_id to endpoint, as setup in AI Foundry)\n * - Managed_Identity (requires audience for identity based auth)\n */\nexport type OpenApiAuthType = \"anonymous\" | \"project_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 project connection authentication */\nexport interface OpenApiProjectConnectionAuthDetails extends OpenApiAuthDetails {\n /** The object type, which is always 'project_connection'. */\n type: \"project_connection\";\n /** Project connection auth security details */\n security_scheme: OpenApiProjectConnectionSecurityScheme;\n}\n\nexport function openApiProjectConnectionAuthDetailsSerializer(\n item: OpenApiProjectConnectionAuthDetails,\n): any {\n return {\n type: item[\"type\"],\n security_scheme: openApiProjectConnectionSecuritySchemeSerializer(item[\"security_scheme\"]),\n };\n}\n\nexport function openApiProjectConnectionAuthDetailsDeserializer(\n item: any,\n): OpenApiProjectConnectionAuthDetails {\n return {\n type: item[\"type\"],\n security_scheme: openApiProjectConnectionSecuritySchemeDeserializer(item[\"security_scheme\"]),\n };\n}\n\n/** Security scheme for OpenApi managed_identity authentication */\nexport interface OpenApiProjectConnectionSecurityScheme {\n /** Project connection id for Project Connection auth type */\n project_connection_id: string;\n}\n\nexport function openApiProjectConnectionSecuritySchemeSerializer(\n item: OpenApiProjectConnectionSecurityScheme,\n): any {\n return { project_connection_id: item[\"project_connection_id\"] };\n}\n\nexport function openApiProjectConnectionSecuritySchemeDeserializer(\n item: any,\n): OpenApiProjectConnectionSecurityScheme {\n return {\n project_connection_id: item[\"project_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 security_scheme: OpenApiManagedSecurityScheme;\n}\n\nexport function openApiManagedAuthDetailsSerializer(item: OpenApiManagedAuthDetails): any {\n return {\n type: item[\"type\"],\n security_scheme: openApiManagedSecuritySchemeSerializer(item[\"security_scheme\"]),\n };\n}\n\nexport function openApiManagedAuthDetailsDeserializer(item: any): OpenApiManagedAuthDetails {\n return {\n type: item[\"type\"],\n security_scheme: 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 _openApiFunctionDefinitionFunctionArrayDeserializer(\n result: Array<_OpenApiFunctionDefinitionFunction>,\n): any[] {\n return result.map((item) => {\n return _openApiFunctionDefinitionFunctionDeserializer(item);\n });\n}\n\n/** model interface _OpenApiFunctionDefinitionFunction */\nexport interface _OpenApiFunctionDefinitionFunction {\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: Record<string, unknown>;\n}\n\nexport function _openApiFunctionDefinitionFunctionDeserializer(\n item: any,\n): _OpenApiFunctionDefinitionFunction {\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 custom search tool as used to configure an agent. */\nexport interface BingCustomSearchPreviewTool extends Tool {\n /** The object type, which is always 'bing_custom_search_preview'. */\n type: \"bing_custom_search_preview\";\n /** The bing custom search tool parameters. */\n bing_custom_search_preview: BingCustomSearchToolParameters;\n}\n\nexport function bingCustomSearchPreviewToolSerializer(item: BingCustomSearchPreviewTool): any {\n return {\n type: item[\"type\"],\n bing_custom_search_preview: bingCustomSearchToolParametersSerializer(\n item[\"bing_custom_search_preview\"],\n ),\n };\n}\n\nexport function bingCustomSearchPreviewToolDeserializer(item: any): BingCustomSearchPreviewTool {\n return {\n type: item[\"type\"],\n bing_custom_search_preview: bingCustomSearchToolParametersDeserializer(\n item[\"bing_custom_search_preview\"],\n ),\n };\n}\n\n/** The bing custom search tool parameters. */\nexport interface BingCustomSearchToolParameters {\n /**\n * The project connections attached to this tool. There can be a maximum of 1 connection\n * resource attached to the tool.\n */\n search_configurations: BingCustomSearchConfiguration[];\n}\n\nexport function bingCustomSearchToolParametersSerializer(\n item: BingCustomSearchToolParameters,\n): any {\n return {\n search_configurations: bingCustomSearchConfigurationArraySerializer(\n item[\"search_configurations\"],\n ),\n };\n}\n\nexport function bingCustomSearchToolParametersDeserializer(\n item: any,\n): BingCustomSearchToolParameters {\n return {\n search_configurations: 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 /** Project connection id for grounding with bing search */\n project_connection_id: string;\n /** Name of the custom configuration instance given to config. */\n instance_name: 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 set_lang?: 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. See [accepted values here](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 project_connection_id: item[\"project_connection_id\"],\n instance_name: item[\"instance_name\"],\n market: item[\"market\"],\n set_lang: item[\"set_lang\"],\n count: item[\"count\"],\n freshness: item[\"freshness\"],\n };\n}\n\nexport function bingCustomSearchConfigurationDeserializer(\n item: any,\n): BingCustomSearchConfiguration {\n return {\n project_connection_id: item[\"project_connection_id\"],\n instance_name: item[\"instance_name\"],\n market: item[\"market\"],\n set_lang: item[\"set_lang\"],\n count: item[\"count\"],\n freshness: item[\"freshness\"],\n };\n}\n\n/** The input definition information for a Browser Automation Tool, as used to configure an Agent. */\nexport interface BrowserAutomationPreviewTool extends Tool {\n /** The object type, which is always 'browser_automation_preview'. */\n type: \"browser_automation_preview\";\n /** The Browser Automation Tool parameters. */\n browser_automation_preview: BrowserAutomationToolParameters;\n}\n\nexport function browserAutomationPreviewToolSerializer(item: BrowserAutomationPreviewTool): any {\n return {\n type: item[\"type\"],\n browser_automation_preview: browserAutomationToolParametersSerializer(\n item[\"browser_automation_preview\"],\n ),\n };\n}\n\nexport function browserAutomationPreviewToolDeserializer(item: any): BrowserAutomationPreviewTool {\n return {\n type: item[\"type\"],\n browser_automation_preview: browserAutomationToolParametersDeserializer(\n item[\"browser_automation_preview\"],\n ),\n };\n}\n\n/** Definition of input parameters for the Browser Automation Tool. */\nexport interface BrowserAutomationToolParameters {\n /** The project connection parameters associated with the Browser Automation Tool. */\n connection: BrowserAutomationToolConnectionParameters;\n}\n\nexport function browserAutomationToolParametersSerializer(\n item: BrowserAutomationToolParameters,\n): any {\n return { connection: browserAutomationToolConnectionParametersSerializer(item[\"connection\"]) };\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 project connection to your Azure Playwright resource. */\n project_connection_id: string;\n}\n\nexport function browserAutomationToolConnectionParametersSerializer(\n item: BrowserAutomationToolConnectionParameters,\n): any {\n return { project_connection_id: item[\"project_connection_id\"] };\n}\n\nexport function browserAutomationToolConnectionParametersDeserializer(\n item: any,\n): BrowserAutomationToolConnectionParameters {\n return {\n project_connection_id: item[\"project_connection_id\"],\n };\n}\n\n/** The input definition information for an Azure Function Tool, as used to configure an Agent. */\nexport interface AzureFunctionTool extends Tool {\n /** The object type, which is always 'browser_automation'. */\n type: \"azure_function\";\n /** The Azure Function Tool definition. */\n azure_function: AzureFunctionDefinition;\n}\n\nexport function azureFunctionToolSerializer(item: AzureFunctionTool): any {\n return {\n type: item[\"type\"],\n azure_function: azureFunctionDefinitionSerializer(item[\"azure_function\"]),\n };\n}\n\nexport function azureFunctionToolDeserializer(item: any): AzureFunctionTool {\n return {\n type: item[\"type\"],\n azure_function: 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: {\n name: string;\n description?: string;\n parameters: Record<string, unknown>;\n };\n /** Input storage queue. The queue storage trigger runs a function as messages are added to it. */\n input_binding: AzureFunctionBinding;\n /** Output storage queue. The function writes output to this queue when the input items are processed. */\n output_binding: AzureFunctionBinding;\n}\n\nexport function azureFunctionDefinitionSerializer(item: AzureFunctionDefinition): any {\n return {\n function: _azureFunctionDefinitionFunctionSerializer(item[\"function\"]),\n input_binding: azureFunctionBindingSerializer(item[\"input_binding\"]),\n output_binding: azureFunctionBindingSerializer(item[\"output_binding\"]),\n };\n}\n\nexport function azureFunctionDefinitionDeserializer(item: any): AzureFunctionDefinition {\n return {\n function: _azureFunctionDefinitionFunctionDeserializer(item[\"function\"]),\n input_binding: azureFunctionBindingDeserializer(item[\"input_binding\"]),\n output_binding: azureFunctionBindingDeserializer(item[\"output_binding\"]),\n };\n}\n\n/** model interface _AzureFunctionDefinitionFunction */\nexport interface _AzureFunctionDefinitionFunction {\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: Record<string, unknown>;\n}\n\nexport function _azureFunctionDefinitionFunctionSerializer(\n item: _AzureFunctionDefinitionFunction,\n): any {\n return { name: item[\"name\"], description: item[\"description\"], parameters: item[\"parameters\"] };\n}\n\nexport function _azureFunctionDefinitionFunctionDeserializer(\n item: any,\n): _AzureFunctionDefinitionFunction {\n return {\n name: item[\"name\"],\n description: item[\"description\"],\n parameters: item[\"parameters\"],\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 storage_queue: AzureFunctionStorageQueue;\n}\n\nexport function azureFunctionBindingSerializer(item: AzureFunctionBinding): any {\n return {\n type: item[\"type\"],\n storage_queue: azureFunctionStorageQueueSerializer(item[\"storage_queue\"]),\n };\n}\n\nexport function azureFunctionBindingDeserializer(item: any): AzureFunctionBinding {\n return {\n type: item[\"type\"],\n storage_queue: 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 queue_service_endpoint: string;\n /** The name of an Azure function storage queue. */\n queue_name: string;\n}\n\nexport function azureFunctionStorageQueueSerializer(item: AzureFunctionStorageQueue): any {\n return { queue_service_endpoint: item[\"queue_service_endpoint\"], queue_name: item[\"queue_name\"] };\n}\n\nexport function azureFunctionStorageQueueDeserializer(item: any): AzureFunctionStorageQueue {\n return {\n queue_service_endpoint: item[\"queue_service_endpoint\"],\n queue_name: item[\"queue_name\"],\n };\n}\n\n/** A tool for capturing structured outputs */\nexport interface CaptureStructuredOutputsTool extends Tool {\n /** The type of the tool. Always `capture_structured_outputs`. */\n type: \"capture_structured_outputs\";\n /** The structured outputs to capture from the model. */\n outputs: StructuredOutputDefinition;\n}\n\nexport function captureStructuredOutputsToolSerializer(item: CaptureStructuredOutputsTool): any {\n return { type: item[\"type\"], outputs: structuredOutputDefinitionSerializer(item[\"outputs\"]) };\n}\n\nexport function captureStructuredOutputsToolDeserializer(item: any): CaptureStructuredOutputsTool {\n return {\n type: item[\"type\"],\n outputs: structuredOutputDefinitionDeserializer(item[\"outputs\"]),\n };\n}\n\n/** A structured output that can be produced by the agent. */\nexport interface StructuredOutputDefinition {\n /** The name of the structured output. */\n name: string;\n /** A description of the output to emit. Used by the model to determine when to emit the output. */\n description: string;\n /** The JSON schema for the structured output. */\n schema: Record<string, unknown>;\n /** Whether to enforce strict validation. Default `true`. */\n strict: boolean;\n}\n\nexport function structuredOutputDefinitionSerializer(item: StructuredOutputDefinition): any {\n return {\n name: item[\"name\"],\n description: item[\"description\"],\n schema: item[\"schema\"],\n strict: item[\"strict\"],\n };\n}\n\nexport function structuredOutputDefinitionDeserializer(item: any): StructuredOutputDefinition {\n return {\n name: item[\"name\"],\n description: item[\"description\"],\n schema: item[\"schema\"],\n strict: item[\"strict\"],\n };\n}\n\n/** An agent implementing the A2A protocol. */\nexport interface A2APreviewTool extends Tool {\n /** The type of the tool. Always `\"a2a_preview`. */\n type: \"a2a_preview\";\n /** Base URL of the agent. */\n base_url?: string;\n /**\n * The path to the agent card relative to the `base_url`.\n * If not provided, defaults to `/.well-known/agent-card.json`\n */\n agent_card_path?: string;\n /**\n * The connection ID in the project for the A2A server.\n * The connection stores authentication and other connection details needed to connect to the A2A server.\n */\n project_connection_id?: string;\n}\n\nexport function a2APreviewToolSerializer(item: A2APreviewTool): any {\n return {\n type: item[\"type\"],\n base_url: item[\"base_url\"],\n agent_card_path: item[\"agent_card_path\"],\n project_connection_id: item[\"project_connection_id\"],\n };\n}\n\nexport function a2APreviewToolDeserializer(item: any): A2APreviewTool {\n return {\n type: item[\"type\"],\n base_url: item[\"base_url\"],\n agent_card_path: item[\"agent_card_path\"],\n project_connection_id: item[\"project_connection_id\"],\n };\n}\n\n/** A tool for integrating memories into the agent. */\nexport interface MemorySearchPreviewTool extends Tool {\n /** The type of the tool. Always `memory_search_preview`. */\n type: \"memory_search_preview\";\n /** The name of the memory store to use. */\n memory_store_name: string;\n /**\n * The namespace used to group and isolate memories, such as a user ID.\n * Limits which memories can be retrieved or updated.\n * Use special variable `{{$userId}}` to scope memories to the current signed-in user.\n */\n scope: string;\n /** Options for searching the memory store. */\n search_options?: MemorySearchOptions;\n /** Time to wait before updating memories after inactivity (seconds). Default 300. */\n update_delay?: number;\n}\n\nexport function memorySearchPreviewToolSerializer(item: MemorySearchPreviewTool): any {\n return {\n type: item[\"type\"],\n memory_store_name: item[\"memory_store_name\"],\n scope: item[\"scope\"],\n search_options: !item[\"search_options\"]\n ? item[\"search_options\"]\n : memorySearchOptionsSerializer(item[\"search_options\"]),\n update_delay: item[\"update_delay\"],\n };\n}\n\nexport function memorySearchPreviewToolDeserializer(item: any): MemorySearchPreviewTool {\n return {\n type: item[\"type\"],\n memory_store_name: item[\"memory_store_name\"],\n scope: item[\"scope\"],\n search_options: !item[\"search_options\"]\n ? item[\"search_options\"]\n : memorySearchOptionsDeserializer(item[\"search_options\"]),\n update_delay: item[\"update_delay\"],\n };\n}\n\n/** Memory search options. */\nexport interface MemorySearchOptions {\n /** Maximum number of memory items to return. */\n max_memories?: number;\n}\n\nexport function memorySearchOptionsSerializer(item: MemorySearchOptions): any {\n return { max_memories: item[\"max_memories\"] };\n}\n\nexport function memorySearchOptionsDeserializer(item: any): MemorySearchOptions {\n return {\n max_memories: item[\"max_memories\"],\n };\n}\n\n/** A tool that runs Python code to help generate a response to a prompt. */\nexport interface CodeInterpreterTool extends Tool {\n /** The type of the code interpreter tool. Always `code_interpreter`. */\n type: \"code_interpreter\";\n /**\n * The code interpreter container. Can be a container ID or an object that\n * specifies uploaded file IDs to make available to your code, along with an\n * optional `memory_limit` setting.\n * If not provided, the service assumes auto.\n */\n container?: string | AutoCodeInterpreterToolParam;\n}\n\nexport function codeInterpreterToolSerializer(item: CodeInterpreterTool): any {\n return {\n type: item[\"type\"],\n container: !item[\"container\"]\n ? item[\"container\"]\n : _codeInterpreterToolContainerSerializer(item[\"container\"]),\n };\n}\n\nexport function codeInterpreterToolDeserializer(item: any): CodeInterpreterTool {\n return {\n type: item[\"type\"],\n container: !item[\"container\"]\n ? item[\"container\"]\n : _codeInterpreterToolContainerDeserializer(item[\"container\"]),\n };\n}\n\n/** Alias for _CodeInterpreterToolContainer */\nexport type _CodeInterpreterToolContainer = string | AutoCodeInterpreterToolParam;\n\nexport function _codeInterpreterToolContainerSerializer(item: _CodeInterpreterToolContainer): any {\n return item;\n}\n\nexport function _codeInterpreterToolContainerDeserializer(\n item: any,\n): _CodeInterpreterToolContainer {\n return item;\n}\n\n/** Configuration for a code interpreter container. Optionally specify the IDs of the files to run the code on. */\nexport interface AutoCodeInterpreterToolParam {\n /** Always `auto`. */\n type: \"auto\";\n /** An optional list of uploaded files to make available to your code. */\n file_ids?: string[];\n /** The memory limit for the code interpreter container, in bytes. */\n memory_limit?: ContainerMemoryLimit;\n /** The network access policy for the code interpreter container. */\n network_policy?: ContainerNetworkPolicyParamUnion;\n}\n\nexport function autoCodeInterpreterToolParamSerializer(item: AutoCodeInterpreterToolParam): any {\n return {\n type: item[\"type\"],\n file_ids: !item[\"file_ids\"]\n ? item[\"file_ids\"]\n : item[\"file_ids\"].map((p: any) => {\n return p;\n }),\n memory_limit: item[\"memory_limit\"],\n network_policy: !item[\"network_policy\"]\n ? item[\"network_policy\"]\n : containerNetworkPolicyParamUnionSerializer(item[\"network_policy\"]),\n };\n}\n\nexport function autoCodeInterpreterToolParamDeserializer(item: any): AutoCodeInterpreterToolParam {\n return {\n type: item[\"type\"],\n file_ids: !item[\"file_ids\"]\n ? item[\"file_ids\"]\n : item[\"file_ids\"].map((p: any) => {\n return p;\n }),\n memory_limit: item[\"memory_limit\"],\n network_policy: !item[\"network_policy\"]\n ? item[\"network_policy\"]\n : containerNetworkPolicyParamUnionDeserializer(item[\"network_policy\"]),\n };\n}\n\n/** Type of ContainerMemoryLimit */\nexport type ContainerMemoryLimit = \"1g\" | \"4g\" | \"16g\" | \"64g\";\n\n/** Network access policy for the container. */\nexport interface ContainerNetworkPolicyParam {\n /** The network policy type. */\n type: ContainerNetworkPolicyParamType;\n}\n\nexport function containerNetworkPolicyParamSerializer(item: ContainerNetworkPolicyParam): any {\n return { type: item[\"type\"] };\n}\n\nexport function containerNetworkPolicyParamDeserializer(item: any): ContainerNetworkPolicyParam {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for ContainerNetworkPolicyParamUnion */\nexport type ContainerNetworkPolicyParamUnion =\n | ContainerNetworkPolicyDisabledParam\n | ContainerNetworkPolicyAllowlistParam\n | ContainerNetworkPolicyParam;\n\nexport function containerNetworkPolicyParamUnionSerializer(\n item: ContainerNetworkPolicyParamUnion,\n): any {\n switch (item.type) {\n case \"disabled\":\n return containerNetworkPolicyDisabledParamSerializer(\n item as ContainerNetworkPolicyDisabledParam,\n );\n\n case \"allowlist\":\n return containerNetworkPolicyAllowlistParamSerializer(\n item as ContainerNetworkPolicyAllowlistParam,\n );\n\n default:\n return containerNetworkPolicyParamSerializer(item);\n }\n}\n\nexport function containerNetworkPolicyParamUnionDeserializer(\n item: any,\n): ContainerNetworkPolicyParamUnion {\n switch (item[\"type\"]) {\n case \"disabled\":\n return containerNetworkPolicyDisabledParamDeserializer(\n item as ContainerNetworkPolicyDisabledParam,\n );\n\n case \"allowlist\":\n return containerNetworkPolicyAllowlistParamDeserializer(\n item as ContainerNetworkPolicyAllowlistParam,\n );\n\n default:\n return containerNetworkPolicyParamDeserializer(item);\n }\n}\n\n/** Type of ContainerNetworkPolicyParamType */\nexport type ContainerNetworkPolicyParamType = \"disabled\" | \"allowlist\";\n\n/** model interface ContainerNetworkPolicyDisabledParam */\nexport interface ContainerNetworkPolicyDisabledParam extends ContainerNetworkPolicyParam {\n /** Disable outbound network access. Always `disabled`. */\n type: \"disabled\";\n}\n\nexport function containerNetworkPolicyDisabledParamSerializer(\n item: ContainerNetworkPolicyDisabledParam,\n): any {\n return { type: item[\"type\"] };\n}\n\nexport function containerNetworkPolicyDisabledParamDeserializer(\n item: any,\n): ContainerNetworkPolicyDisabledParam {\n return {\n type: item[\"type\"],\n };\n}\n\n/** model interface ContainerNetworkPolicyAllowlistParam */\nexport interface ContainerNetworkPolicyAllowlistParam extends ContainerNetworkPolicyParam {\n /** Allow outbound network access only to specified domains. Always `allowlist`. */\n type: \"allowlist\";\n /** A list of allowed domains when type is `allowlist`. */\n allowed_domains: string[];\n /** Optional domain-scoped secrets for allowlisted domains. */\n domain_secrets?: ContainerNetworkPolicyDomainSecretParam[];\n}\n\nexport function containerNetworkPolicyAllowlistParamSerializer(\n item: ContainerNetworkPolicyAllowlistParam,\n): any {\n return {\n type: item[\"type\"],\n allowed_domains: item[\"allowed_domains\"],\n domain_secrets: !item[\"domain_secrets\"]\n ? item[\"domain_secrets\"]\n : containerNetworkPolicyDomainSecretParamArraySerializer(item[\"domain_secrets\"]),\n };\n}\n\nexport function containerNetworkPolicyAllowlistParamDeserializer(\n item: any,\n): ContainerNetworkPolicyAllowlistParam {\n return {\n type: item[\"type\"],\n allowed_domains: item[\"allowed_domains\"],\n domain_secrets: !item[\"domain_secrets\"]\n ? item[\"domain_secrets\"]\n : containerNetworkPolicyDomainSecretParamArrayDeserializer(item[\"domain_secrets\"]),\n };\n}\n\nexport function containerNetworkPolicyDomainSecretParamArraySerializer(\n result: Array<ContainerNetworkPolicyDomainSecretParam>,\n): any[] {\n return result.map((item) => {\n return containerNetworkPolicyDomainSecretParamSerializer(item);\n });\n}\n\nexport function containerNetworkPolicyDomainSecretParamArrayDeserializer(\n result: Array<ContainerNetworkPolicyDomainSecretParam>,\n): any[] {\n return result.map((item) => {\n return containerNetworkPolicyDomainSecretParamDeserializer(item);\n });\n}\n\n/** model interface ContainerNetworkPolicyDomainSecretParam */\nexport interface ContainerNetworkPolicyDomainSecretParam {\n /** The domain associated with the secret. */\n domain: string;\n /** The name of the secret to inject for the domain. */\n name: string;\n /** The secret value to inject for the domain. */\n value: string;\n}\n\nexport function containerNetworkPolicyDomainSecretParamSerializer(\n item: ContainerNetworkPolicyDomainSecretParam,\n): any {\n return { domain: item[\"domain\"], name: item[\"name\"], value: item[\"value\"] };\n}\n\nexport function containerNetworkPolicyDomainSecretParamDeserializer(\n item: any,\n): ContainerNetworkPolicyDomainSecretParam {\n return {\n domain: item[\"domain\"],\n name: item[\"name\"],\n value: item[\"value\"],\n };\n}\n\n/** Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). */\nexport interface FunctionTool extends Tool {\n /** The type of the function tool. Always `function`. */\n type: \"function\";\n /** The name of the function to call. */\n name: string;\n /** A description of the function tool. */\n description?: string;\n /** The parameters schema for the function. */\n parameters: Record<string, unknown>;\n /** Whether the function arguments must strictly match the parameters schema. */\n strict: boolean;\n}\n\nexport function functionToolSerializer(item: FunctionTool): any {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n description: item[\"description\"],\n parameters: item[\"parameters\"],\n strict: item[\"strict\"],\n };\n}\n\nexport function functionToolDeserializer(item: any): FunctionTool {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n description: item[\"description\"],\n parameters: item[\"parameters\"],\n strict: item[\"strict\"],\n };\n}\n\n/** A tool that searches for relevant content from uploaded files. Learn more about the [file search tool](https://platform.openai.com/docs/guides/tools-file-search). */\nexport interface FileSearchTool extends Tool {\n /** The type of the file search tool. Always `file_search`. */\n type: \"file_search\";\n /** The IDs of the vector stores to search. */\n vector_store_ids: string[];\n /** The maximum number of results to return. This number should be between 1 and 50 inclusive. */\n max_num_results?: number;\n /** Ranking options for search. */\n ranking_options?: RankingOptions;\n /** Filters to apply to the file search. */\n filters?: Filters;\n}\n\nexport function fileSearchToolSerializer(item: FileSearchTool): any {\n return {\n type: item[\"type\"],\n vector_store_ids: item[\"vector_store_ids\"],\n max_num_results: item[\"max_num_results\"],\n ranking_options: !item[\"ranking_options\"]\n ? item[\"ranking_options\"]\n : rankingOptionsSerializer(item[\"ranking_options\"]),\n filters: !item[\"filters\"] ? item[\"filters\"] : filtersSerializer(item[\"filters\"]),\n };\n}\n\nexport function fileSearchToolDeserializer(item: any): FileSearchTool {\n return {\n type: item[\"type\"],\n vector_store_ids: item[\"vector_store_ids\"],\n max_num_results: item[\"max_num_results\"],\n ranking_options: !item[\"ranking_options\"]\n ? item[\"ranking_options\"]\n : rankingOptionsDeserializer(item[\"ranking_options\"]),\n filters: !item[\"filters\"] ? item[\"filters\"] : filtersDeserializer(item[\"filters\"]),\n };\n}\n\n/** model interface RankingOptions */\nexport interface RankingOptions {\n /** The ranker to use for the file search. */\n ranker?: RankerVersionType;\n /** The score threshold for the file search, a number between 0 and 1. Numbers closer to 1 will attempt to return only the most relevant results, but may return fewer results. */\n score_threshold?: number;\n /** Weights that control how reciprocal rank fusion balances semantic embedding matches versus sparse keyword matches when hybrid search is enabled. */\n hybrid_search?: HybridSearchOptions;\n}\n\nexport function rankingOptionsSerializer(item: RankingOptions): any {\n return {\n ranker: item[\"ranker\"],\n score_threshold: item[\"score_threshold\"],\n hybrid_search: !item[\"hybrid_search\"]\n ? item[\"hybrid_search\"]\n : hybridSearchOptionsSerializer(item[\"hybrid_search\"]),\n };\n}\n\nexport function rankingOptionsDeserializer(item: any): RankingOptions {\n return {\n ranker: item[\"ranker\"],\n score_threshold: item[\"score_threshold\"],\n hybrid_search: !item[\"hybrid_search\"]\n ? item[\"hybrid_search\"]\n : hybridSearchOptionsDeserializer(item[\"hybrid_search\"]),\n };\n}\n\n/** Type of RankerVersionType */\nexport type RankerVersionType = \"auto\" | \"default-2024-11-15\";\n\n/** model interface HybridSearchOptions */\nexport interface HybridSearchOptions {\n /** The weight of the embedding in the reciprocal ranking fusion. */\n embedding_weight: number;\n /** The weight of the text in the reciprocal ranking fusion. */\n text_weight: number;\n}\n\nexport function hybridSearchOptionsSerializer(item: HybridSearchOptions): any {\n return { embedding_weight: item[\"embedding_weight\"], text_weight: item[\"text_weight\"] };\n}\n\nexport function hybridSearchOptionsDeserializer(item: any): HybridSearchOptions {\n return {\n embedding_weight: item[\"embedding_weight\"],\n text_weight: item[\"text_weight\"],\n };\n}\n\n/** Alias for Filters */\nexport type Filters = ComparisonFilter | CompoundFilter;\n\nexport function filtersSerializer(item: Filters): any {\n return item;\n}\n\nexport function filtersDeserializer(item: any): Filters {\n return item;\n}\n\n/** A filter used to compare a specified attribute key to a given value using a defined comparison operation. */\nexport interface ComparisonFilter {\n /**\n * Specifies the comparison operator: `eq`, `ne`, `gt`, `gte`, `lt`, `lte`, `in`, `nin`.\n * - `eq`: equals\n * - `ne`: not equal\n * - `gt`: greater than\n * - `gte`: greater than or equal\n * - `lt`: less than\n * - `lte`: less than or equal\n * - `in`: in\n * - `nin`: not in\n */\n type: \"eq\" | \"ne\" | \"gt\" | \"gte\" | \"lt\" | \"lte\";\n /** The key to compare against the value. */\n key: string;\n /** The value to compare against the attribute key; supports string, number, or boolean types. */\n value: string | number | boolean | ComparisonFilterValueItems[];\n}\n\nexport function comparisonFilterSerializer(item: ComparisonFilter): any {\n return {\n type: item[\"type\"],\n key: item[\"key\"],\n value: _comparisonFilterValueSerializer(item[\"value\"]),\n };\n}\n\nexport function comparisonFilterDeserializer(item: any): ComparisonFilter {\n return {\n type: item[\"type\"],\n key: item[\"key\"],\n value: _comparisonFilterValueDeserializer(item[\"value\"]),\n };\n}\n\n/** Alias for _ComparisonFilterValue */\nexport type _ComparisonFilterValue = string | number | boolean | ComparisonFilterValueItems[];\n\nexport function _comparisonFilterValueSerializer(item: _ComparisonFilterValue): any {\n return item;\n}\n\nexport function _comparisonFilterValueDeserializer(item: any): _ComparisonFilterValue {\n return item;\n}\n\nexport function comparisonFilterValueItemsArraySerializer(\n result: Array<ComparisonFilterValueItems>,\n): any[] {\n return result.map((item) => {\n return comparisonFilterValueItemsSerializer(item);\n });\n}\n\nexport function comparisonFilterValueItemsArrayDeserializer(\n result: Array<ComparisonFilterValueItems>,\n): any[] {\n return result.map((item) => {\n return comparisonFilterValueItemsDeserializer(item);\n });\n}\n\n/** Alias for ComparisonFilterValueItems */\nexport type ComparisonFilterValueItems = string | number;\n\nexport function comparisonFilterValueItemsSerializer(item: ComparisonFilterValueItems): any {\n return item;\n}\n\nexport function comparisonFilterValueItemsDeserializer(item: any): ComparisonFilterValueItems {\n return item;\n}\n\n/** Combine multiple filters using `and` or `or`. */\nexport interface CompoundFilter {\n /** Type of operation: `and` or `or`. */\n type: \"and\" | \"or\";\n /** Array of filters to combine. Items can be `ComparisonFilter` or `CompoundFilter`. */\n filters: (ComparisonFilter | CompoundFilter)[];\n}\n\nexport function compoundFilterSerializer(item: CompoundFilter): any {\n return { type: item[\"type\"], filters: _compoundFilterFilterArraySerializer(item[\"filters\"]) };\n}\n\nexport function compoundFilterDeserializer(item: any): CompoundFilter {\n return {\n type: item[\"type\"],\n filters: _compoundFilterFilterArrayDeserializer(item[\"filters\"]),\n };\n}\n\nexport function _compoundFilterFilterArraySerializer(result: Array<_CompoundFilterFilter>): any[] {\n return result.map((item) => {\n return _compoundFilterFilterSerializer(item);\n });\n}\n\nexport function _compoundFilterFilterArrayDeserializer(\n result: Array<_CompoundFilterFilter>,\n): any[] {\n return result.map((item) => {\n return _compoundFilterFilterDeserializer(item);\n });\n}\n\n/** Alias for _CompoundFilterFilter */\nexport type _CompoundFilterFilter = ComparisonFilter | CompoundFilter;\n\nexport function _compoundFilterFilterSerializer(item: _CompoundFilterFilter): any {\n return item;\n}\n\nexport function _compoundFilterFilterDeserializer(item: any): _CompoundFilterFilter {\n return item;\n}\n\n/** A tool that controls a virtual computer. Learn more about the [computer tool](https://platform.openai.com/docs/guides/tools-computer-use). */\nexport interface ComputerUsePreviewTool extends Tool {\n /** The type of the computer use tool. Always `computer_use_preview`. */\n type: \"computer_use_preview\";\n /** The type of computer environment to control. */\n environment: ComputerEnvironment;\n /** The width of the computer display. */\n display_width: number;\n /** The height of the computer display. */\n display_height: number;\n}\n\nexport function computerUsePreviewToolSerializer(item: ComputerUsePreviewTool): any {\n return {\n type: item[\"type\"],\n environment: item[\"environment\"],\n display_width: item[\"display_width\"],\n display_height: item[\"display_height\"],\n };\n}\n\nexport function computerUsePreviewToolDeserializer(item: any): ComputerUsePreviewTool {\n return {\n type: item[\"type\"],\n environment: item[\"environment\"],\n display_width: item[\"display_width\"],\n display_height: item[\"display_height\"],\n };\n}\n\n/** Type of ComputerEnvironment */\nexport type ComputerEnvironment = \"windows\" | \"mac\" | \"linux\" | \"ubuntu\" | \"browser\";\n\n/**\n * Search the Internet for sources related to the prompt. Learn more about the\n * [web search tool](https://platform.openai.com/docs/guides/tools-web-search).\n */\nexport interface WebSearchTool extends Tool {\n /** The type of the web search tool. One of `web_search` or `web_search_2025_08_26`. */\n type: \"web_search\";\n /** Filters to apply to web search results. */\n filters?: WebSearchToolFilters;\n /** The approximate location of the user for search relevance. */\n user_location?: WebSearchApproximateLocation;\n /** High level guidance for the amount of context window space to use for the search. One of `low`, `medium`, or `high`. `medium` is the default. */\n search_context_size?: \"low\" | \"medium\" | \"high\";\n /**\n * The project connections attached to this tool. There can be a maximum of 1 connection\n * resource attached to the tool.\n */\n custom_search_configuration?: WebSearchConfiguration;\n}\n\nexport function webSearchToolSerializer(item: WebSearchTool): any {\n return {\n type: item[\"type\"],\n filters: !item[\"filters\"] ? item[\"filters\"] : webSearchToolFiltersSerializer(item[\"filters\"]),\n user_location: !item[\"user_location\"]\n ? item[\"user_location\"]\n : webSearchApproximateLocationSerializer(item[\"user_location\"]),\n search_context_size: item[\"search_context_size\"],\n custom_search_configuration: !item[\"custom_search_configuration\"]\n ? item[\"custom_search_configuration\"]\n : webSearchConfigurationSerializer(item[\"custom_search_configuration\"]),\n };\n}\n\nexport function webSearchToolDeserializer(item: any): WebSearchTool {\n return {\n type: item[\"type\"],\n filters: !item[\"filters\"] ? item[\"filters\"] : webSearchToolFiltersDeserializer(item[\"filters\"]),\n user_location: !item[\"user_location\"]\n ? item[\"user_location\"]\n : webSearchApproximateLocationDeserializer(item[\"user_location\"]),\n search_context_size: item[\"search_context_size\"],\n custom_search_configuration: !item[\"custom_search_configuration\"]\n ? item[\"custom_search_configuration\"]\n : webSearchConfigurationDeserializer(item[\"custom_search_configuration\"]),\n };\n}\n\n/** model interface WebSearchToolFilters */\nexport interface WebSearchToolFilters {\n /** The list of allowed domains for web search results. */\n allowed_domains?: string[];\n}\n\nexport function webSearchToolFiltersSerializer(item: WebSearchToolFilters): any {\n return {\n allowed_domains: item[\"allowed_domains\"],\n };\n}\n\nexport function webSearchToolFiltersDeserializer(item: any): WebSearchToolFilters {\n return {\n allowed_domains: item[\"allowed_domains\"],\n };\n}\n\n/** The approximate location of the user. */\nexport interface WebSearchApproximateLocation {\n /** The type of location approximation. Always `approximate`. */\n type?: \"approximate\";\n /** The two-letter ISO country code. */\n country?: string;\n /** The region or state for the approximate location. */\n region?: string;\n /** The city for the approximate location. */\n city?: string;\n /** The IANA timezone identifier (e.g. 'America/New_York'). */\n timezone?: string;\n}\n\nexport function webSearchApproximateLocationSerializer(item: WebSearchApproximateLocation): any {\n return {\n type: item[\"type\"],\n country: item[\"country\"],\n region: item[\"region\"],\n city: item[\"city\"],\n timezone: item[\"timezone\"],\n };\n}\n\nexport function webSearchApproximateLocationDeserializer(item: any): WebSearchApproximateLocation {\n return {\n type: item[\"type\"],\n country: item[\"country\"],\n region: item[\"region\"],\n city: item[\"city\"],\n timezone: item[\"timezone\"],\n };\n}\n\n/** A web search configuration for bing custom search */\nexport interface WebSearchConfiguration {\n /** Project connection id for grounding with bing custom search */\n project_connection_id: string;\n /** Name of the custom configuration instance given to config. */\n instance_name: string;\n}\n\nexport function webSearchConfigurationSerializer(item: WebSearchConfiguration): any {\n return {\n project_connection_id: item[\"project_connection_id\"],\n instance_name: item[\"instance_name\"],\n };\n}\n\nexport function webSearchConfigurationDeserializer(item: any): WebSearchConfiguration {\n return {\n project_connection_id: item[\"project_connection_id\"],\n instance_name: item[\"instance_name\"],\n };\n}\n\n/**\n * Give the model access to additional tools via remote Model Context Protocol\n * (MCP) servers. [Learn more about MCP](https://platform.openai.com/docs/guides/tools-remote-mcp).\n */\nexport interface MCPTool extends Tool {\n /** The type of the MCP tool. Always `mcp`. */\n type: \"mcp\";\n /** A label for this MCP server, used to identify it in tool calls. */\n server_label: string;\n /**\n * The URL for the MCP server. One of `server_url` or `connector_id` must be\n * provided.\n */\n server_url?: string;\n /**\n * Identifier for service connectors, like those available in ChatGPT. One of\n * `server_url` or `connector_id` must be provided. Learn more about service\n * connectors [here](https://platform.openai.com/docs/guides/tools-remote-mcp#connectors).\n * Currently supported `connector_id` values are:\n * - Dropbox: `connector_dropbox`\n * - Gmail: `connector_gmail`\n * - Google Calendar: `connector_googlecalendar`\n * - Google Drive: `connector_googledrive`\n * - Microsoft Teams: `connector_microsoftteams`\n * - Outlook Calendar: `connector_outlookcalendar`\n * - Outlook Email: `connector_outlookemail`\n * - SharePoint: `connector_sharepoint`\n */\n connector_id?:\n | \"connector_dropbox\"\n | \"connector_gmail\"\n | \"connector_googlecalendar\"\n | \"connector_googledrive\"\n | \"connector_microsoftteams\"\n | \"connector_outlookcalendar\"\n | \"connector_outlookemail\"\n | \"connector_sharepoint\";\n /**\n * An OAuth access token that can be used with a remote MCP server, either\n * with a custom MCP server URL or a service connector. Your application\n * must handle the OAuth authorization flow and provide the token here.\n */\n authorization?: string;\n /** Optional description of the MCP server, used to provide more context. */\n server_description?: string;\n /** Custom headers to include in requests to the MCP server. */\n headers?: Record<string, string>;\n /** The list of allowed tool names for the MCP server. */\n allowed_tools?: string[] | MCPToolFilter;\n /** The approval requirements for the MCP tool. */\n require_approval?: MCPToolRequireApproval | \"always\" | \"never\";\n /** The connection ID in the project for the MCP server. The connection stores authentication and other connection details needed to connect to the MCP server. */\n project_connection_id?: string;\n}\n\nexport function mcpToolSerializer(item: MCPTool): any {\n return {\n type: item[\"type\"],\n server_label: item[\"server_label\"],\n server_url: item[\"server_url\"],\n connector_id: item[\"connector_id\"],\n authorization: item[\"authorization\"],\n server_description: item[\"server_description\"],\n headers: item[\"headers\"],\n allowed_tools: !item[\"allowed_tools\"]\n ? item[\"allowed_tools\"]\n : _mcpToolAllowedToolsSerializer(item[\"allowed_tools\"]),\n require_approval: !item[\"require_approval\"]\n ? item[\"require_approval\"]\n : _mcpToolRequireApprovalSerializer(item[\"require_approval\"]),\n project_connection_id: item[\"project_connection_id\"],\n };\n}\n\nexport function mcpToolDeserializer(item: any): MCPTool {\n return {\n type: item[\"type\"],\n server_label: item[\"server_label\"],\n server_url: item[\"server_url\"],\n connector_id: item[\"connector_id\"],\n authorization: item[\"authorization\"],\n server_description: item[\"server_description\"],\n headers: item[\"headers\"],\n allowed_tools: !item[\"allowed_tools\"]\n ? item[\"allowed_tools\"]\n : _mcpToolAllowedToolsDeserializer(item[\"allowed_tools\"]),\n require_approval: !item[\"require_approval\"]\n ? item[\"require_approval\"]\n : _mcpToolRequireApprovalDeserializer(item[\"require_approval\"]),\n project_connection_id: item[\"project_connection_id\"],\n };\n}\n\n/** Alias for _MCPToolAllowedTools */\nexport type _MCPToolAllowedTools = string[] | MCPToolFilter;\n\nexport function _mcpToolAllowedToolsSerializer(item: _MCPToolAllowedTools): any {\n return item;\n}\n\nexport function _mcpToolAllowedToolsDeserializer(item: any): _MCPToolAllowedTools {\n return item;\n}\n\n/** A filter object to specify which tools are allowed. */\nexport interface MCPToolFilter {\n /** List of allowed tool names. */\n tool_names?: string[];\n /**\n * Indicates whether or not a tool modifies data or is read-only. If an\n * MCP server is [annotated with `readOnlyHint`](https://modelcontextprotocol.io/specification/2025-06-18/schema#toolannotations-readonlyhint),\n * it will match this filter.\n */\n read_only?: boolean;\n}\n\nexport function mcpToolFilterSerializer(item: MCPToolFilter): any {\n return {\n tool_names: item[\"tool_names\"],\n read_only: item[\"read_only\"],\n };\n}\n\nexport function mcpToolFilterDeserializer(item: any): MCPToolFilter {\n return {\n tool_names: item[\"tool_names\"],\n read_only: item[\"read_only\"],\n };\n}\n\n/** Alias for _MCPToolRequireApproval */\nexport type _MCPToolRequireApproval = MCPToolRequireApproval | \"always\" | \"never\";\n\nexport function _mcpToolRequireApprovalSerializer(item: _MCPToolRequireApproval): any {\n return item;\n}\n\nexport function _mcpToolRequireApprovalDeserializer(item: any): _MCPToolRequireApproval {\n return item;\n}\n\n/** model interface MCPToolRequireApproval */\nexport interface MCPToolRequireApproval {\n /** Tools that always require approval before execution. */\n always?: MCPToolFilter;\n /** Tools that never require approval before execution. */\n never?: MCPToolFilter;\n}\n\nexport function mcpToolRequireApprovalSerializer(item: MCPToolRequireApproval): any {\n return {\n always: !item[\"always\"] ? item[\"always\"] : mcpToolFilterSerializer(item[\"always\"]),\n never: !item[\"never\"] ? item[\"never\"] : mcpToolFilterSerializer(item[\"never\"]),\n };\n}\n\nexport function mcpToolRequireApprovalDeserializer(item: any): MCPToolRequireApproval {\n return {\n always: !item[\"always\"] ? item[\"always\"] : mcpToolFilterDeserializer(item[\"always\"]),\n never: !item[\"never\"] ? item[\"never\"] : mcpToolFilterDeserializer(item[\"never\"]),\n };\n}\n\n/** A tool that generates images using the GPT image models. */\nexport interface ImageGenTool extends Tool {\n /** The type of the image generation tool. Always `image_generation`. */\n type: \"image_generation\";\n /** The model to use for image generation. */\n model?: \"gpt-image-1\" | \"gpt-image-1-mini\";\n /**\n * The quality of the generated image. One of `low`, `medium`, `high`,\n * or `auto`. Default: `auto`.\n */\n quality?: \"low\" | \"medium\" | \"high\" | \"auto\";\n /**\n * The size of the generated image. One of `1024x1024`, `1024x1536`,\n * `1536x1024`, or `auto`. Default: `auto`.\n */\n size?: \"1024x1024\" | \"1024x1536\" | \"1536x1024\" | \"auto\";\n /**\n * The output format of the generated image. One of `png`, `webp`, or\n * `jpeg`. Default: `png`.\n */\n output_format?: \"png\" | \"webp\" | \"jpeg\";\n /** Compression level for the output image. Default: 100. */\n output_compression?: number;\n /** Moderation level for the generated image. Default: `auto`. */\n moderation?: \"auto\" | \"low\";\n /**\n * Background type for the generated image. One of `transparent`,\n * `opaque`, or `auto`. Default: `auto`.\n */\n background?: \"transparent\" | \"opaque\" | \"auto\";\n /** The fidelity level for input image processing. */\n input_fidelity?: InputFidelity;\n /**\n * Optional mask for inpainting. Contains `image_url`\n * (string, optional) and `file_id` (string, optional).\n */\n input_image_mask?: ImageGenToolInputImageMask;\n /** Number of partial images to generate in streaming mode, from 0 (default value) to 3. */\n partial_images?: number;\n /** Whether to generate a new image or edit an existing image. Default: `auto`. */\n action?: ImageGenAction;\n}\n\nexport function imageGenToolSerializer(item: ImageGenTool): any {\n return {\n type: item[\"type\"],\n model: item[\"model\"],\n quality: item[\"quality\"],\n size: item[\"size\"],\n output_format: item[\"output_format\"],\n output_compression: item[\"output_compression\"],\n moderation: item[\"moderation\"],\n background: item[\"background\"],\n input_fidelity: item[\"input_fidelity\"],\n input_image_mask: !item[\"input_image_mask\"]\n ? item[\"input_image_mask\"]\n : imageGenToolInputImageMaskSerializer(item[\"input_image_mask\"]),\n partial_images: item[\"partial_images\"],\n };\n}\n\nexport function imageGenToolDeserializer(item: any): ImageGenTool {\n return {\n type: item[\"type\"],\n model: item[\"model\"],\n quality: item[\"quality\"],\n size: item[\"size\"],\n output_format: item[\"output_format\"],\n output_compression: item[\"output_compression\"],\n moderation: item[\"moderation\"],\n background: item[\"background\"],\n input_fidelity: item[\"input_fidelity\"],\n input_image_mask: !item[\"input_image_mask\"]\n ? item[\"input_image_mask\"]\n : imageGenToolInputImageMaskDeserializer(item[\"input_image_mask\"]),\n partial_images: item[\"partial_images\"],\n };\n}\n\n/** Control how much effort the model will exert to match the style and features, especially facial features, of input images. This parameter is only supported for `gpt-image-1`. Unsupported for `gpt-image-1-mini`. Supports `high` and `low`. Defaults to `low`. */\nexport type InputFidelity = \"high\" | \"low\";\n\n/** model interface ImageGenToolInputImageMask */\nexport interface ImageGenToolInputImageMask {\n /** The URL of the mask image. */\n image_url?: string;\n /** The file identifier for the mask image. */\n file_id?: string;\n}\n\nexport function imageGenToolInputImageMaskSerializer(item: ImageGenToolInputImageMask): any {\n return { image_url: item[\"image_url\"], file_id: item[\"file_id\"] };\n}\n\nexport function imageGenToolInputImageMaskDeserializer(item: any): ImageGenToolInputImageMask {\n return {\n image_url: item[\"image_url\"],\n file_id: item[\"file_id\"],\n };\n}\n\n/** Type of ImageGenAction */\nexport type ImageGenAction = \"generate\" | \"edit\" | \"auto\";\n\n/** A tool that allows the model to execute shell commands in a local environment. */\nexport interface LocalShellToolParam extends Tool {\n /** The type of the local shell tool. Always `local_shell`. */\n type: \"local_shell\";\n}\n\nexport function localShellToolParamSerializer(item: LocalShellToolParam): any {\n return { type: item[\"type\"] };\n}\n\nexport function localShellToolParamDeserializer(item: any): LocalShellToolParam {\n return {\n type: item[\"type\"],\n };\n}\n\n/** A tool that allows the model to execute shell commands. */\nexport interface FunctionShellToolParam extends Tool {\n /** The type of the shell tool. Always `shell`. */\n type: \"shell\";\n /** The environment configuration for the function shell tool. */\n environment?: FunctionShellToolParamEnvironmentUnion;\n}\n\nexport function functionShellToolParamSerializer(item: FunctionShellToolParam): any {\n return {\n type: item[\"type\"],\n environment: !item[\"environment\"]\n ? item[\"environment\"]\n : functionShellToolParamEnvironmentUnionSerializer(item[\"environment\"]),\n };\n}\n\nexport function functionShellToolParamDeserializer(item: any): FunctionShellToolParam {\n return {\n type: item[\"type\"],\n environment: !item[\"environment\"]\n ? item[\"environment\"]\n : functionShellToolParamEnvironmentUnionDeserializer(item[\"environment\"]),\n };\n}\n\n/** model interface FunctionShellToolParamEnvironment */\nexport interface FunctionShellToolParamEnvironment {\n /** The environment type. */\n type: FunctionShellToolParamEnvironmentType;\n}\n\nexport function functionShellToolParamEnvironmentSerializer(\n item: FunctionShellToolParamEnvironment,\n): any {\n return { type: item[\"type\"] };\n}\n\nexport function functionShellToolParamEnvironmentDeserializer(\n item: any,\n): FunctionShellToolParamEnvironment {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for FunctionShellToolParamEnvironmentUnion */\nexport type FunctionShellToolParamEnvironmentUnion =\n | FunctionShellToolParamEnvironmentLocalEnvironmentParam\n | FunctionShellToolParamEnvironmentContainerReferenceParam\n | ContainerAutoParam\n | FunctionShellToolParamEnvironment;\n\nexport function functionShellToolParamEnvironmentUnionSerializer(\n item: FunctionShellToolParamEnvironmentUnion,\n): any {\n switch (item.type) {\n case \"local\":\n return functionShellToolParamEnvironmentLocalEnvironmentParamSerializer(\n item as FunctionShellToolParamEnvironmentLocalEnvironmentParam,\n );\n\n case \"container_reference\":\n return functionShellToolParamEnvironmentContainerReferenceParamSerializer(\n item as FunctionShellToolParamEnvironmentContainerReferenceParam,\n );\n\n case \"container_auto\":\n return containerAutoParamSerializer(item as ContainerAutoParam);\n\n default:\n return functionShellToolParamEnvironmentSerializer(item);\n }\n}\n\nexport function functionShellToolParamEnvironmentUnionDeserializer(\n item: any,\n): FunctionShellToolParamEnvironmentUnion {\n switch (item[\"type\"]) {\n case \"local\":\n return functionShellToolParamEnvironmentLocalEnvironmentParamDeserializer(\n item as FunctionShellToolParamEnvironmentLocalEnvironmentParam,\n );\n\n case \"container_reference\":\n return functionShellToolParamEnvironmentContainerReferenceParamDeserializer(\n item as FunctionShellToolParamEnvironmentContainerReferenceParam,\n );\n\n case \"container_auto\":\n return containerAutoParamDeserializer(item as ContainerAutoParam);\n\n default:\n return functionShellToolParamEnvironmentDeserializer(item);\n }\n}\n\n/** Type of FunctionShellToolParamEnvironmentType */\nexport type FunctionShellToolParamEnvironmentType =\n | \"container_auto\"\n | \"local\"\n | \"container_reference\";\n\n/** model interface FunctionShellToolParamEnvironmentLocalEnvironmentParam */\nexport interface FunctionShellToolParamEnvironmentLocalEnvironmentParam extends FunctionShellToolParamEnvironment {\n /** Use a local computer environment. */\n type: \"local\";\n /** An optional list of skills. */\n skills?: LocalSkillParam[];\n}\n\nexport function functionShellToolParamEnvironmentLocalEnvironmentParamSerializer(\n item: FunctionShellToolParamEnvironmentLocalEnvironmentParam,\n): any {\n return {\n type: item[\"type\"],\n skills: !item[\"skills\"] ? item[\"skills\"] : localSkillParamArraySerializer(item[\"skills\"]),\n };\n}\n\nexport function functionShellToolParamEnvironmentLocalEnvironmentParamDeserializer(\n item: any,\n): FunctionShellToolParamEnvironmentLocalEnvironmentParam {\n return {\n type: item[\"type\"],\n skills: !item[\"skills\"] ? item[\"skills\"] : localSkillParamArrayDeserializer(item[\"skills\"]),\n };\n}\n\nexport function localSkillParamArraySerializer(result: Array<LocalSkillParam>): any[] {\n return result.map((item) => {\n return localSkillParamSerializer(item);\n });\n}\n\nexport function localSkillParamArrayDeserializer(result: Array<LocalSkillParam>): any[] {\n return result.map((item) => {\n return localSkillParamDeserializer(item);\n });\n}\n\n/** model interface LocalSkillParam */\nexport interface LocalSkillParam {\n /** The name of the skill. */\n name: string;\n /** The description of the skill. */\n description: string;\n /** The path to the directory containing the skill. */\n path: string;\n}\n\nexport function localSkillParamSerializer(item: LocalSkillParam): any {\n return { name: item[\"name\"], description: item[\"description\"], path: item[\"path\"] };\n}\n\nexport function localSkillParamDeserializer(item: any): LocalSkillParam {\n return {\n name: item[\"name\"],\n description: item[\"description\"],\n path: item[\"path\"],\n };\n}\n\n/** model interface FunctionShellToolParamEnvironmentContainerReferenceParam */\nexport interface FunctionShellToolParamEnvironmentContainerReferenceParam extends FunctionShellToolParamEnvironment {\n /** References a container created with the /v1/containers endpoint */\n type: \"container_reference\";\n /** The ID of the referenced container. */\n container_id: string;\n}\n\nexport function functionShellToolParamEnvironmentContainerReferenceParamSerializer(\n item: FunctionShellToolParamEnvironmentContainerReferenceParam,\n): any {\n return { type: item[\"type\"], container_id: item[\"container_id\"] };\n}\n\nexport function functionShellToolParamEnvironmentContainerReferenceParamDeserializer(\n item: any,\n): FunctionShellToolParamEnvironmentContainerReferenceParam {\n return {\n type: item[\"type\"],\n container_id: item[\"container_id\"],\n };\n}\n\n/** model interface ContainerAutoParam */\nexport interface ContainerAutoParam extends FunctionShellToolParamEnvironment {\n /** Automatically creates a container for this request */\n type: \"container_auto\";\n /** An optional list of uploaded files to make available to your code. */\n file_ids?: string[];\n /** The memory limit for the container, in bytes. */\n memory_limit?: ContainerMemoryLimit;\n /** An optional list of skills referenced by id or inline data. */\n skills?: ContainerSkillUnion[];\n /** The network access policy for the container. */\n network_policy?: ContainerNetworkPolicyParamUnion;\n}\n\nexport function containerAutoParamSerializer(item: ContainerAutoParam): any {\n return {\n type: item[\"type\"],\n file_ids: item[\"file_ids\"],\n memory_limit: item[\"memory_limit\"],\n skills: !item[\"skills\"] ? item[\"skills\"] : containerSkillUnionArraySerializer(item[\"skills\"]),\n network_policy: !item[\"network_policy\"]\n ? item[\"network_policy\"]\n : containerNetworkPolicyParamUnionSerializer(item[\"network_policy\"]),\n };\n}\n\nexport function containerAutoParamDeserializer(item: any): ContainerAutoParam {\n return {\n type: item[\"type\"],\n file_ids: item[\"file_ids\"],\n memory_limit: item[\"memory_limit\"],\n skills: !item[\"skills\"] ? item[\"skills\"] : containerSkillUnionArrayDeserializer(item[\"skills\"]),\n network_policy: !item[\"network_policy\"]\n ? item[\"network_policy\"]\n : containerNetworkPolicyParamUnionDeserializer(item[\"network_policy\"]),\n };\n}\n\nexport function containerSkillUnionArraySerializer(result: Array<ContainerSkillUnion>): any[] {\n return result.map((item) => {\n return containerSkillUnionSerializer(item);\n });\n}\n\nexport function containerSkillUnionArrayDeserializer(result: Array<ContainerSkillUnion>): any[] {\n return result.map((item) => {\n return containerSkillUnionDeserializer(item);\n });\n}\n\n/** model interface ContainerSkill */\nexport interface ContainerSkill {\n /** The type discriminator, always 'container'. */\n type: ContainerSkillType;\n}\n\nexport function containerSkillSerializer(item: ContainerSkill): any {\n return { type: item[\"type\"] };\n}\n\nexport function containerSkillDeserializer(item: any): ContainerSkill {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for ContainerSkillUnion */\nexport type ContainerSkillUnion = SkillReferenceParam | InlineSkillParam | ContainerSkill;\n\nexport function containerSkillUnionSerializer(item: ContainerSkillUnion): any {\n switch (item.type) {\n case \"skill_reference\":\n return skillReferenceParamSerializer(item as SkillReferenceParam);\n\n case \"inline\":\n return inlineSkillParamSerializer(item as InlineSkillParam);\n\n default:\n return containerSkillSerializer(item);\n }\n}\n\nexport function containerSkillUnionDeserializer(item: any): ContainerSkillUnion {\n switch (item[\"type\"]) {\n case \"skill_reference\":\n return skillReferenceParamDeserializer(item as SkillReferenceParam);\n\n case \"inline\":\n return inlineSkillParamDeserializer(item as InlineSkillParam);\n\n default:\n return containerSkillDeserializer(item);\n }\n}\n\n/** Type of ContainerSkillType */\nexport type ContainerSkillType = \"skill_reference\" | \"inline\";\n\n/** model interface SkillReferenceParam */\nexport interface SkillReferenceParam extends ContainerSkill {\n /** References a skill created with the /v1/skills endpoint. */\n type: \"skill_reference\";\n /** The ID of the referenced skill. */\n skill_id: string;\n /** Optional skill version. Use a positive integer or 'latest'. Omit for default. */\n version?: string;\n}\n\nexport function skillReferenceParamSerializer(item: SkillReferenceParam): any {\n return { type: item[\"type\"], skill_id: item[\"skill_id\"], version: item[\"version\"] };\n}\n\nexport function skillReferenceParamDeserializer(item: any): SkillReferenceParam {\n return {\n type: item[\"type\"],\n skill_id: item[\"skill_id\"],\n version: item[\"version\"],\n };\n}\n\n/** model interface InlineSkillParam */\nexport interface InlineSkillParam extends ContainerSkill {\n /** Defines an inline skill for this request. */\n type: \"inline\";\n /** The name of the skill. */\n name: string;\n /** The description of the skill. */\n description: string;\n /** Inline skill payload */\n source: InlineSkillSourceParam;\n}\n\nexport function inlineSkillParamSerializer(item: InlineSkillParam): any {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n description: item[\"description\"],\n source: inlineSkillSourceParamSerializer(item[\"source\"]),\n };\n}\n\nexport function inlineSkillParamDeserializer(item: any): InlineSkillParam {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n description: item[\"description\"],\n source: inlineSkillSourceParamDeserializer(item[\"source\"]),\n };\n}\n\n/** Inline skill payload */\nexport interface InlineSkillSourceParam {\n /** The type of the inline skill source. Must be `base64`. */\n type: \"base64\";\n /** The media type of the inline skill payload. Must be `application/zip`. */\n media_type: \"application/zip\";\n /** Base64-encoded skill zip bundle. */\n data: string;\n}\n\nexport function inlineSkillSourceParamSerializer(item: InlineSkillSourceParam): any {\n return { type: item[\"type\"], media_type: item[\"media_type\"], data: item[\"data\"] };\n}\n\nexport function inlineSkillSourceParamDeserializer(item: any): InlineSkillSourceParam {\n return {\n type: item[\"type\"],\n media_type: item[\"media_type\"],\n data: item[\"data\"],\n };\n}\n\n/** A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) */\nexport interface CustomToolParam extends Tool {\n /** The type of the custom tool. Always `custom`. */\n type: \"custom\";\n /** The name of the custom tool, used to identify it in tool calls. */\n name: string;\n /** Optional description of the custom tool, used to provide more context. */\n description?: string;\n /** The input format for the custom tool. Default is unconstrained text. */\n format?: CustomToolParamFormatUnion;\n}\n\nexport function customToolParamSerializer(item: CustomToolParam): any {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n description: item[\"description\"],\n format: !item[\"format\"] ? item[\"format\"] : customToolParamFormatUnionSerializer(item[\"format\"]),\n };\n}\n\nexport function customToolParamDeserializer(item: any): CustomToolParam {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n description: item[\"description\"],\n format: !item[\"format\"]\n ? item[\"format\"]\n : customToolParamFormatUnionDeserializer(item[\"format\"]),\n };\n}\n\n/** The input format for the custom tool. Default is unconstrained text. */\nexport interface CustomToolParamFormat {\n /** The custom tool parameter format type. */\n type: CustomToolParamFormatType;\n}\n\nexport function customToolParamFormatSerializer(item: CustomToolParamFormat): any {\n return { type: item[\"type\"] };\n}\n\nexport function customToolParamFormatDeserializer(item: any): CustomToolParamFormat {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for CustomToolParamFormatUnion */\nexport type CustomToolParamFormatUnion =\n | CustomTextFormatParam\n | CustomGrammarFormatParam\n | CustomToolParamFormat;\n\nexport function customToolParamFormatUnionSerializer(item: CustomToolParamFormatUnion): any {\n switch (item.type) {\n case \"text\":\n return customTextFormatParamSerializer(item as CustomTextFormatParam);\n\n case \"grammar\":\n return customGrammarFormatParamSerializer(item as CustomGrammarFormatParam);\n\n default:\n return customToolParamFormatSerializer(item);\n }\n}\n\nexport function customToolParamFormatUnionDeserializer(item: any): CustomToolParamFormatUnion {\n switch (item.type) {\n case \"text\":\n return customTextFormatParamDeserializer(item as CustomTextFormatParam);\n\n case \"grammar\":\n return customGrammarFormatParamDeserializer(item as CustomGrammarFormatParam);\n\n default:\n return customToolParamFormatDeserializer(item);\n }\n}\n\n/** Type of CustomToolParamFormatType */\nexport type CustomToolParamFormatType = \"text\" | \"grammar\";\n\n/** Unconstrained free-form text. */\nexport interface CustomTextFormatParam extends CustomToolParamFormat {\n /** Unconstrained text format. Always `text`. */\n type: \"text\";\n}\n\nexport function customTextFormatParamSerializer(item: CustomTextFormatParam): any {\n return { type: item[\"type\"] };\n}\n\nexport function customTextFormatParamDeserializer(item: any): CustomTextFormatParam {\n return {\n type: item[\"type\"],\n };\n}\n\n/** A grammar defined by the user. */\nexport interface CustomGrammarFormatParam extends CustomToolParamFormat {\n /** Grammar format. Always `grammar`. */\n type: \"grammar\";\n /** The syntax of the grammar definition. One of `lark` or `regex`. */\n syntax: GrammarSyntax;\n /** The grammar definition. */\n definition: string;\n}\n\nexport function customGrammarFormatParamSerializer(item: CustomGrammarFormatParam): any {\n return { type: item[\"type\"], syntax: item[\"syntax\"], definition: item[\"definition\"] };\n}\n\nexport function customGrammarFormatParamDeserializer(item: any): CustomGrammarFormatParam {\n return {\n type: item[\"type\"],\n syntax: item[\"syntax\"],\n definition: item[\"definition\"],\n };\n}\n\n/** Type of GrammarSyntax */\nexport type GrammarSyntax = \"lark\" | \"regex\";\n\n/** This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). */\nexport interface WebSearchPreviewTool extends Tool {\n /** The type of the web search tool. One of `web_search_preview` or `web_search_preview_2025_03_11`. */\n type: \"web_search_preview\";\n /** The approximate location of the user for search relevance. */\n user_location?: ApproximateLocation;\n /** High level guidance for the amount of context window space to use for the search. One of `low`, `medium`, or `high`. `medium` is the default. */\n search_context_size?: SearchContextSize;\n}\n\nexport function webSearchPreviewToolSerializer(item: WebSearchPreviewTool): any {\n return {\n type: item[\"type\"],\n user_location: !item[\"user_location\"]\n ? item[\"user_location\"]\n : approximateLocationSerializer(item[\"user_location\"]),\n search_context_size: item[\"search_context_size\"],\n };\n}\n\nexport function webSearchPreviewToolDeserializer(item: any): WebSearchPreviewTool {\n return {\n type: item[\"type\"],\n user_location: !item[\"user_location\"]\n ? item[\"user_location\"]\n : approximateLocationDeserializer(item[\"user_location\"]),\n search_context_size: item[\"search_context_size\"],\n };\n}\n\n/** model interface ApproximateLocation */\nexport interface ApproximateLocation {\n /** The type of location approximation. Always `approximate`. */\n type: \"approximate\";\n /** The two-letter ISO country code. */\n country?: string;\n /** The region or state for the approximate location. */\n region?: string;\n /** The city for the approximate location. */\n city?: string;\n /** The IANA timezone identifier (e.g. 'America/New_York'). */\n timezone?: string;\n}\n\nexport function approximateLocationSerializer(item: ApproximateLocation): any {\n return {\n type: item[\"type\"],\n country: item[\"country\"],\n region: item[\"region\"],\n city: item[\"city\"],\n timezone: item[\"timezone\"],\n };\n}\n\nexport function approximateLocationDeserializer(item: any): ApproximateLocation {\n return {\n type: item[\"type\"],\n country: item[\"country\"],\n region: item[\"region\"],\n city: item[\"city\"],\n timezone: item[\"timezone\"],\n };\n}\n\n/** Type of SearchContextSize */\nexport type SearchContextSize = \"low\" | \"medium\" | \"high\";\n\n/** Allows the assistant to create, delete, or update files using unified diffs. */\nexport interface ApplyPatchToolParam extends Tool {\n /** The type of the tool. Always `apply_patch`. */\n type: \"apply_patch\";\n}\n\nexport function applyPatchToolParamSerializer(item: ApplyPatchToolParam): any {\n return { type: item[\"type\"] };\n}\n\nexport function applyPatchToolParamDeserializer(item: any): ApplyPatchToolParam {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for _PromptAgentDefinitionToolChoice */\nexport type _PromptAgentDefinitionToolChoice = string | ToolChoiceParamUnion;\n\nexport function _promptAgentDefinitionToolChoiceSerializer(\n item: _PromptAgentDefinitionToolChoice,\n): any {\n return item;\n}\n\nexport function _promptAgentDefinitionToolChoiceDeserializer(\n item: any,\n): _PromptAgentDefinitionToolChoice {\n return item;\n}\n\n/**\n * How the model should select which tool (or tools) to use when generating\n * a response. See the `tools` parameter to see how to specify which tools\n * the model can call.\n */\nexport interface ToolChoiceParam {\n /** The type discriminator for the tool choice. */\n type: ToolChoiceParamType;\n}\n\nexport function toolChoiceParamSerializer(item: ToolChoiceParam): any {\n return { type: item[\"type\"] };\n}\n\nexport function toolChoiceParamDeserializer(item: any): ToolChoiceParam {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for ToolChoiceParamUnion */\nexport type ToolChoiceParamUnion =\n | ToolChoiceAllowed\n | ToolChoiceFunction\n | ToolChoiceMCP\n | ToolChoiceCustom\n | SpecificApplyPatchParam\n | SpecificFunctionShellParam\n | ToolChoiceFileSearch\n | ToolChoiceWebSearchPreview\n | ToolChoiceComputerUsePreview\n | ToolChoiceWebSearchPreview20250311\n | ToolChoiceImageGeneration\n | ToolChoiceCodeInterpreter\n | ToolChoiceParam;\n\nexport function toolChoiceParamUnionSerializer(item: ToolChoiceParamUnion): any {\n switch (item.type) {\n case \"allowed_tools\":\n return toolChoiceAllowedSerializer(item as ToolChoiceAllowed);\n\n case \"function\":\n return toolChoiceFunctionSerializer(item as ToolChoiceFunction);\n\n case \"mcp\":\n return toolChoiceMCPSerializer(item as ToolChoiceMCP);\n\n case \"custom\":\n return toolChoiceCustomSerializer(item as ToolChoiceCustom);\n\n case \"apply_patch\":\n return specificApplyPatchParamSerializer(item as SpecificApplyPatchParam);\n\n case \"shell\":\n return specificFunctionShellParamSerializer(item as SpecificFunctionShellParam);\n\n case \"file_search\":\n return toolChoiceFileSearchSerializer(item as ToolChoiceFileSearch);\n\n case \"web_search_preview\":\n return toolChoiceWebSearchPreviewSerializer(item as ToolChoiceWebSearchPreview);\n\n case \"computer_use_preview\":\n return toolChoiceComputerUsePreviewSerializer(item as ToolChoiceComputerUsePreview);\n\n case \"web_search_preview_2025_03_11\":\n return toolChoiceWebSearchPreview20250311Serializer(\n item as ToolChoiceWebSearchPreview20250311,\n );\n\n case \"image_generation\":\n return toolChoiceImageGenerationSerializer(item as ToolChoiceImageGeneration);\n\n case \"code_interpreter\":\n return toolChoiceCodeInterpreterSerializer(item as ToolChoiceCodeInterpreter);\n\n default:\n return toolChoiceParamSerializer(item);\n }\n}\n\nexport function toolChoiceParamUnionDeserializer(item: any): ToolChoiceParamUnion {\n switch (item.type) {\n case \"allowed_tools\":\n return toolChoiceAllowedDeserializer(item as ToolChoiceAllowed);\n\n case \"function\":\n return toolChoiceFunctionDeserializer(item as ToolChoiceFunction);\n\n case \"mcp\":\n return toolChoiceMCPDeserializer(item as ToolChoiceMCP);\n\n case \"custom\":\n return toolChoiceCustomDeserializer(item as ToolChoiceCustom);\n\n case \"apply_patch\":\n return specificApplyPatchParamDeserializer(item as SpecificApplyPatchParam);\n\n case \"shell\":\n return specificFunctionShellParamDeserializer(item as SpecificFunctionShellParam);\n\n case \"file_search\":\n return toolChoiceFileSearchDeserializer(item as ToolChoiceFileSearch);\n\n case \"web_search_preview\":\n return toolChoiceWebSearchPreviewDeserializer(item as ToolChoiceWebSearchPreview);\n\n case \"computer_use_preview\":\n return toolChoiceComputerUsePreviewDeserializer(item as ToolChoiceComputerUsePreview);\n\n case \"web_search_preview_2025_03_11\":\n return toolChoiceWebSearchPreview20250311Deserializer(\n item as ToolChoiceWebSearchPreview20250311,\n );\n\n case \"image_generation\":\n return toolChoiceImageGenerationDeserializer(item as ToolChoiceImageGeneration);\n\n case \"code_interpreter\":\n return toolChoiceCodeInterpreterDeserializer(item as ToolChoiceCodeInterpreter);\n\n default:\n return toolChoiceParamDeserializer(item);\n }\n}\n\n/** Type of ToolChoiceParamType */\nexport type ToolChoiceParamType =\n | \"allowed_tools\"\n | \"function\"\n | \"mcp\"\n | \"custom\"\n | \"apply_patch\"\n | \"shell\"\n | \"file_search\"\n | \"web_search_preview\"\n | \"computer_use_preview\"\n | \"web_search_preview_2025_03_11\"\n | \"image_generation\"\n | \"code_interpreter\";\n\n/** Constrains the tools available to the model to a pre-defined set. */\nexport interface ToolChoiceAllowed extends ToolChoiceParam {\n /** Allowed tool configuration type. Always `allowed_tools`. */\n type: \"allowed_tools\";\n /**\n * Constrains the tools available to the model to a pre-defined set.\n * `auto` allows the model to pick from among the allowed tools and generate a\n * message.\n * `required` requires the model to call one or more of the allowed tools.\n */\n mode: \"auto\" | \"required\";\n /**\n * A list of tool definitions that the model should be allowed to call.\n * For the Responses API, the list of tool definitions might look like:\n * ```json\n * [\n * { \"type\": \"function\", \"name\": \"get_weather\" },\n * { \"type\": \"mcp\", \"server_label\": \"deepwiki\" },\n * { \"type\": \"image_generation\" }\n * ]\n * ```\n */\n tools: Record<string, unknown>[];\n}\n\nexport function toolChoiceAllowedSerializer(item: ToolChoiceAllowed): any {\n return {\n type: item[\"type\"],\n mode: item[\"mode\"],\n tools: item[\"tools\"],\n };\n}\n\nexport function toolChoiceAllowedDeserializer(item: any): ToolChoiceAllowed {\n return {\n type: item[\"type\"],\n mode: item[\"mode\"],\n tools: item[\"tools\"],\n };\n}\n\n/** Use this option to force the model to call a specific function. */\nexport interface ToolChoiceFunction extends ToolChoiceParam {\n /** For function calling, the type is always `function`. */\n type: \"function\";\n /** The name of the function to call. */\n name: string;\n}\n\nexport function toolChoiceFunctionSerializer(item: ToolChoiceFunction): any {\n return { type: item[\"type\"], name: item[\"name\"] };\n}\n\nexport function toolChoiceFunctionDeserializer(item: any): ToolChoiceFunction {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n };\n}\n\n/** Use this option to force the model to call a specific tool on a remote MCP server. */\nexport interface ToolChoiceMCP extends ToolChoiceParam {\n /** For MCP tools, the type is always `mcp`. */\n type: \"mcp\";\n /** The label of the MCP server to use. */\n server_label: string;\n /** The name of the MCP server to use. */\n name?: string;\n}\n\nexport function toolChoiceMCPSerializer(item: ToolChoiceMCP): any {\n return { type: item[\"type\"], server_label: item[\"server_label\"], name: item[\"name\"] };\n}\n\nexport function toolChoiceMCPDeserializer(item: any): ToolChoiceMCP {\n return {\n type: item[\"type\"],\n server_label: item[\"server_label\"],\n name: item[\"name\"],\n };\n}\n\n/** Use this option to force the model to call a specific custom tool. */\nexport interface ToolChoiceCustom extends ToolChoiceParam {\n /** For custom tool calling, the type is always `custom`. */\n type: \"custom\";\n /** The name of the custom tool to call. */\n name: string;\n}\n\nexport function toolChoiceCustomSerializer(item: ToolChoiceCustom): any {\n return { type: item[\"type\"], name: item[\"name\"] };\n}\n\nexport function toolChoiceCustomDeserializer(item: any): ToolChoiceCustom {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n };\n}\n\n/** Forces the model to call the apply_patch tool when executing a tool call. */\nexport interface SpecificApplyPatchParam extends ToolChoiceParam {\n /** The tool to call. Always `apply_patch`. */\n type: \"apply_patch\";\n}\n\nexport function specificApplyPatchParamSerializer(item: SpecificApplyPatchParam): any {\n return { type: item[\"type\"] };\n}\n\nexport function specificApplyPatchParamDeserializer(item: any): SpecificApplyPatchParam {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Forces the model to call the shell tool when a tool call is required. */\nexport interface SpecificFunctionShellParam extends ToolChoiceParam {\n /** The tool to call. Always `shell`. */\n type: \"shell\";\n}\n\nexport function specificFunctionShellParamSerializer(item: SpecificFunctionShellParam): any {\n return { type: item[\"type\"] };\n}\n\nexport function specificFunctionShellParamDeserializer(item: any): SpecificFunctionShellParam {\n return {\n type: item[\"type\"],\n };\n}\n\n/**\n * Indicates that the model should use a built-in tool to generate a response.\n * [Learn more about built-in tools](https://platform.openai.com/docs/guides/tools).\n */\nexport interface ToolChoiceFileSearch extends ToolChoiceParam {\n /** The type discriminator, always 'file_search'. */\n type: \"file_search\";\n}\n\nexport function toolChoiceFileSearchSerializer(item: ToolChoiceFileSearch): any {\n return { type: item[\"type\"] };\n}\n\nexport function toolChoiceFileSearchDeserializer(item: any): ToolChoiceFileSearch {\n return {\n type: item[\"type\"],\n };\n}\n\n/**\n * Indicates that the model should use a built-in tool to generate a response.\n * [Learn more about built-in tools](https://platform.openai.com/docs/guides/tools).\n */\nexport interface ToolChoiceWebSearchPreview extends ToolChoiceParam {\n /** The type discriminator, always 'web_search_preview'. */\n type: \"web_search_preview\";\n}\n\nexport function toolChoiceWebSearchPreviewSerializer(item: ToolChoiceWebSearchPreview): any {\n return { type: item[\"type\"] };\n}\n\nexport function toolChoiceWebSearchPreviewDeserializer(item: any): ToolChoiceWebSearchPreview {\n return {\n type: item[\"type\"],\n };\n}\n\n/**\n * Indicates that the model should use a built-in tool to generate a response.\n * [Learn more about built-in tools](https://platform.openai.com/docs/guides/tools).\n */\nexport interface ToolChoiceComputerUsePreview extends ToolChoiceParam {\n /** The type discriminator, always 'computer_use_preview'. */\n type: \"computer_use_preview\";\n}\n\nexport function toolChoiceComputerUsePreviewSerializer(item: ToolChoiceComputerUsePreview): any {\n return { type: item[\"type\"] };\n}\n\nexport function toolChoiceComputerUsePreviewDeserializer(item: any): ToolChoiceComputerUsePreview {\n return {\n type: item[\"type\"],\n };\n}\n\n/**\n * Indicates that the model should use a built-in tool to generate a response.\n * [Learn more about built-in tools](https://platform.openai.com/docs/guides/tools).\n */\nexport interface ToolChoiceWebSearchPreview20250311 extends ToolChoiceParam {\n /** The type discriminator, always 'web_search_preview_2025_03_11'. */\n type: \"web_search_preview_2025_03_11\";\n}\n\nexport function toolChoiceWebSearchPreview20250311Serializer(\n item: ToolChoiceWebSearchPreview20250311,\n): any {\n return { type: item[\"type\"] };\n}\n\nexport function toolChoiceWebSearchPreview20250311Deserializer(\n item: any,\n): ToolChoiceWebSearchPreview20250311 {\n return {\n type: item[\"type\"],\n };\n}\n\n/**\n * Indicates that the model should use a built-in tool to generate a response.\n * [Learn more about built-in tools](https://platform.openai.com/docs/guides/tools).\n */\nexport interface ToolChoiceImageGeneration extends ToolChoiceParam {\n /** The type discriminator, always 'image_generation'. */\n type: \"image_generation\";\n}\n\nexport function toolChoiceImageGenerationSerializer(item: ToolChoiceImageGeneration): any {\n return { type: item[\"type\"] };\n}\n\nexport function toolChoiceImageGenerationDeserializer(item: any): ToolChoiceImageGeneration {\n return {\n type: item[\"type\"],\n };\n}\n\n/**\n * Indicates that the model should use a built-in tool to generate a response.\n * [Learn more about built-in tools](https://platform.openai.com/docs/guides/tools).\n */\nexport interface ToolChoiceCodeInterpreter extends ToolChoiceParam {\n /** The type discriminator, always 'code_interpreter'. */\n type: \"code_interpreter\";\n}\n\nexport function toolChoiceCodeInterpreterSerializer(item: ToolChoiceCodeInterpreter): any {\n return { type: item[\"type\"] };\n}\n\nexport function toolChoiceCodeInterpreterDeserializer(item: any): ToolChoiceCodeInterpreter {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Configuration options for a text response from the model. Can be plain text or structured JSON data. */\nexport interface PromptAgentDefinitionTextOptions {\n /** The text format options for the prompt agent. */\n format?: TextResponseFormatConfigurationUnion;\n}\n\nexport function promptAgentDefinitionTextOptionsSerializer(\n item: PromptAgentDefinitionTextOptions,\n): any {\n return {\n format: !item[\"format\"]\n ? item[\"format\"]\n : textResponseFormatConfigurationUnionSerializer(item[\"format\"]),\n };\n}\n\nexport function promptAgentDefinitionTextOptionsDeserializer(\n item: any,\n): PromptAgentDefinitionTextOptions {\n return {\n format: !item[\"format\"]\n ? item[\"format\"]\n : textResponseFormatConfigurationUnionDeserializer(item[\"format\"]),\n };\n}\n\n/**\n * An object specifying the format that the model must output.\n * Configuring `{ \"type\": \"json_schema\" }` enables Structured Outputs,\n * which ensures the model will match your supplied JSON schema. Learn more in the\n * [Structured Outputs guide](https://platform.openai.com/docs/guides/structured-outputs).\n * The default format is `{ \"type\": \"text\" }` with no additional options.\n * *Not recommended for gpt-4o and newer models:**\n * Setting to `{ \"type\": \"json_object\" }` enables the older JSON mode, which\n * ensures the message the model generates is valid JSON. Using `json_schema`\n * is preferred for models that support it.\n */\nexport interface TextResponseFormatConfiguration {\n /** The type discriminator, always 'text'. */\n type: TextResponseFormatConfigurationType;\n}\n\nexport function textResponseFormatConfigurationSerializer(\n item: TextResponseFormatConfiguration,\n): any {\n return { type: item[\"type\"] };\n}\n\nexport function textResponseFormatConfigurationDeserializer(\n item: any,\n): TextResponseFormatConfiguration {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for TextResponseFormatConfigurationUnion */\nexport type TextResponseFormatConfigurationUnion =\n | TextResponseFormatJsonSchema\n | TextResponseFormatConfigurationResponseFormatText\n | TextResponseFormatConfigurationResponseFormatJsonObject\n | TextResponseFormatConfiguration;\n\nexport function textResponseFormatConfigurationUnionSerializer(\n item: TextResponseFormatConfigurationUnion,\n): any {\n switch (item.type) {\n case \"json_schema\":\n return textResponseFormatJsonSchemaSerializer(item as TextResponseFormatJsonSchema);\n\n case \"text\":\n return textResponseFormatConfigurationResponseFormatTextSerializer(\n item as TextResponseFormatConfigurationResponseFormatText,\n );\n\n case \"json_object\":\n return textResponseFormatConfigurationResponseFormatJsonObjectSerializer(\n item as TextResponseFormatConfigurationResponseFormatJsonObject,\n );\n\n default:\n return textResponseFormatConfigurationSerializer(item);\n }\n}\n\nexport function textResponseFormatConfigurationUnionDeserializer(\n item: any,\n): TextResponseFormatConfigurationUnion {\n switch (item.type) {\n case \"json_schema\":\n return textResponseFormatJsonSchemaDeserializer(item as TextResponseFormatJsonSchema);\n\n case \"text\":\n return textResponseFormatConfigurationResponseFormatTextDeserializer(\n item as TextResponseFormatConfigurationResponseFormatText,\n );\n\n case \"json_object\":\n return textResponseFormatConfigurationResponseFormatJsonObjectDeserializer(\n item as TextResponseFormatConfigurationResponseFormatJsonObject,\n );\n\n default:\n return textResponseFormatConfigurationDeserializer(item);\n }\n}\n\n/** Type of TextResponseFormatConfigurationType */\nexport type TextResponseFormatConfigurationType = \"text\" | \"json_schema\" | \"json_object\";\n\n/**\n * JSON Schema response format. Used to generate structured JSON responses.\n * Learn more about [Structured Outputs](https://platform.openai.com/docs/guides/structured-outputs).\n */\nexport interface TextResponseFormatJsonSchema extends TextResponseFormatConfiguration {\n /** The type of response format being defined. Always `json_schema`. */\n type: \"json_schema\";\n /**\n * A description of what the response format is for, used by the model to\n * determine how to respond in the format.\n */\n description?: string;\n /**\n * The name of the response format. Must be a-z, A-Z, 0-9, or contain\n * underscores and dashes, with a maximum length of 64.\n */\n name: string;\n /** The JSON schema that the response must conform to. */\n schema: Record<string, unknown>;\n /** Whether the response must strictly conform to the schema. */\n strict?: boolean;\n}\n\nexport function textResponseFormatJsonSchemaSerializer(item: TextResponseFormatJsonSchema): any {\n return {\n type: item[\"type\"],\n description: item[\"description\"],\n name: item[\"name\"],\n schema: item[\"schema\"],\n strict: item[\"strict\"],\n };\n}\n\nexport function textResponseFormatJsonSchemaDeserializer(item: any): TextResponseFormatJsonSchema {\n return {\n type: item[\"type\"],\n description: item[\"description\"],\n name: item[\"name\"],\n schema: item[\"schema\"],\n strict: item[\"strict\"],\n };\n}\n\n/** Default response format. Used to generate text responses. */\nexport interface TextResponseFormatConfigurationResponseFormatText extends TextResponseFormatConfiguration {\n /** The type of response format being defined. Always `text`. */\n type: \"text\";\n}\n\nexport function textResponseFormatConfigurationResponseFormatTextSerializer(\n item: TextResponseFormatConfigurationResponseFormatText,\n): any {\n return { type: item[\"type\"] };\n}\n\nexport function textResponseFormatConfigurationResponseFormatTextDeserializer(\n item: any,\n): TextResponseFormatConfigurationResponseFormatText {\n return {\n type: item[\"type\"],\n };\n}\n\n/**\n * JSON object response format. An older method of generating JSON responses.\n * Using `json_schema` is recommended for models that support it. Note that the\n * model will not generate JSON without a system or user message instructing it\n * to do so.\n */\nexport interface TextResponseFormatConfigurationResponseFormatJsonObject extends TextResponseFormatConfiguration {\n /** The type of response format being defined. Always `json_object`. */\n type: \"json_object\";\n}\n\nexport function textResponseFormatConfigurationResponseFormatJsonObjectSerializer(\n item: TextResponseFormatConfigurationResponseFormatJsonObject,\n): any {\n return { type: item[\"type\"] };\n}\n\nexport function textResponseFormatConfigurationResponseFormatJsonObjectDeserializer(\n item: any,\n): TextResponseFormatConfigurationResponseFormatJsonObject {\n return {\n type: item[\"type\"],\n };\n}\n\nexport function structuredInputDefinitionRecordSerializer(\n item: Record<string, StructuredInputDefinition>,\n): Record<string, any> {\n const result: Record<string, any> = {};\n Object.keys(item).map((key) => {\n result[key] = !item[key] ? item[key] : structuredInputDefinitionSerializer(item[key]);\n });\n return result;\n}\n\nexport function structuredInputDefinitionRecordDeserializer(\n item: Record<string, any>,\n): Record<string, StructuredInputDefinition> {\n const result: Record<string, any> = {};\n Object.keys(item).map((key) => {\n result[key] = !item[key] ? item[key] : structuredInputDefinitionDeserializer(item[key]);\n });\n return result;\n}\n\n/** An structured input that can participate in prompt template substitutions and tool argument binding. */\nexport interface StructuredInputDefinition {\n /** A human-readable description of the input. */\n description?: string;\n /** The default value for the input if no run-time value is provided. */\n default_value?: unknown;\n /** The JSON schema for the structured input (optional). */\n schema?: Record<string, unknown>;\n /** Whether the input property is required when the agent is invoked. */\n required?: boolean;\n}\n\nexport function structuredInputDefinitionSerializer(item: StructuredInputDefinition): any {\n return {\n description: item[\"description\"],\n default_value: item[\"default_value\"],\n schema: item[\"schema\"],\n required: item[\"required\"],\n };\n}\n\nexport function structuredInputDefinitionDeserializer(item: any): StructuredInputDefinition {\n return {\n description: item[\"description\"],\n default_value: item[\"default_value\"],\n schema: item[\"schema\"],\n required: item[\"required\"],\n };\n}\n\n/** The workflow agent definition. */\nexport interface WorkflowAgentDefinition extends AgentDefinition {\n /** The kind discriminator, always 'workflow'. */\n kind: \"workflow\";\n /** The CSDL YAML definition of the workflow. */\n workflow?: string;\n}\n\nexport function workflowAgentDefinitionSerializer(item: WorkflowAgentDefinition): any {\n return {\n kind: item[\"kind\"],\n rai_config: !item[\"rai_config\"] ? item[\"rai_config\"] : raiConfigSerializer(item[\"rai_config\"]),\n workflow: item[\"workflow\"],\n };\n}\n\nexport function workflowAgentDefinitionDeserializer(item: any): WorkflowAgentDefinition {\n return {\n kind: item[\"kind\"],\n rai_config: !item[\"rai_config\"]\n ? item[\"rai_config\"]\n : raiConfigDeserializer(item[\"rai_config\"]),\n workflow: item[\"workflow\"],\n };\n}\n\n/** The hosted agent definition. */\nexport interface HostedAgentDefinition extends AgentDefinition {\n /** The kind discriminator, always 'hosted'. */\n kind: \"hosted\";\n /**\n * An array of tools the hosted agent's model may call while generating a response. You\n * can specify which tool to use by setting the `tool_choice` parameter.\n */\n tools?: ToolUnion[];\n /** The protocols that the agent supports for ingress communication of the containers. */\n container_protocol_versions: ProtocolVersionRecord[];\n /** The CPU configuration for the hosted agent. */\n cpu: string;\n /** The memory configuration for the hosted agent. */\n memory: string;\n /** Environment variables to set in the hosted agent container. */\n environment_variables?: Record<string, string>;\n /** The image ID for the agent, applicable to image-based hosted agents. */\n image?: string;\n}\n\nexport function hostedAgentDefinitionSerializer(item: HostedAgentDefinition): any {\n return {\n kind: item[\"kind\"],\n rai_config: !item[\"rai_config\"] ? item[\"rai_config\"] : raiConfigSerializer(item[\"rai_config\"]),\n tools: !item[\"tools\"] ? item[\"tools\"] : toolUnionArraySerializer(item[\"tools\"]),\n container_protocol_versions: protocolVersionRecordArraySerializer(\n item[\"container_protocol_versions\"],\n ),\n cpu: item[\"cpu\"],\n memory: item[\"memory\"],\n environment_variables: item[\"environment_variables\"],\n image: item[\"image\"],\n };\n}\n\nexport function hostedAgentDefinitionDeserializer(item: any): HostedAgentDefinition {\n return {\n kind: item[\"kind\"],\n rai_config: !item[\"rai_config\"]\n ? item[\"rai_config\"]\n : raiConfigDeserializer(item[\"rai_config\"]),\n tools: !item[\"tools\"] ? item[\"tools\"] : toolUnionArrayDeserializer(item[\"tools\"]),\n container_protocol_versions: protocolVersionRecordArrayDeserializer(\n item[\"container_protocol_versions\"],\n ),\n cpu: item[\"cpu\"],\n memory: item[\"memory\"],\n environment_variables: item[\"environment_variables\"],\n image: item[\"image\"],\n };\n}\n\nexport function protocolVersionRecordArraySerializer(result: Array<ProtocolVersionRecord>): any[] {\n return result.map((item) => {\n return protocolVersionRecordSerializer(item);\n });\n}\n\nexport function protocolVersionRecordArrayDeserializer(\n result: Array<ProtocolVersionRecord>,\n): any[] {\n return result.map((item) => {\n return protocolVersionRecordDeserializer(item);\n });\n}\n\n/** A record mapping for a single protocol and its version. */\nexport interface ProtocolVersionRecord {\n /** The protocol type. */\n protocol: AgentProtocol;\n /** The version string for the protocol, e.g. 'v0.1.1'. */\n version: string;\n}\n\nexport function protocolVersionRecordSerializer(item: ProtocolVersionRecord): any {\n return { protocol: item[\"protocol\"], version: item[\"version\"] };\n}\n\nexport function protocolVersionRecordDeserializer(item: any): ProtocolVersionRecord {\n return {\n protocol: item[\"protocol\"],\n version: item[\"version\"],\n };\n}\n\n/** Type of AgentProtocol */\nexport type AgentProtocol = \"activity_protocol\" | \"responses\";\n\n/** Error response for API failures. */\nexport interface ApiErrorResponse {\n /** The error details. */\n error: ErrorModel;\n}\n\nexport function apiErrorResponseDeserializer(item: any): ApiErrorResponse {\n return {\n error: errorDeserializer(item[\"error\"]),\n };\n}\n\n/** model interface ErrorModel */\nexport interface ErrorModel {\n /** The error code. */\n code: string;\n /** The error message. */\n message: string;\n /** The parameter that caused the error. */\n param?: string;\n /** The error type. */\n type?: string;\n /** The error details. */\n details?: ErrorModel[];\n /** Additional information about the error. */\n additionalInfo?: Record<string, unknown>;\n /** Debug information for the error. */\n debugInfo?: Record<string, unknown>;\n}\n\nexport function errorDeserializer(item: any): ErrorModel {\n return {\n code: item[\"code\"],\n message: item[\"message\"],\n param: item[\"param\"],\n type: item[\"type\"],\n details: !item[\"details\"] ? item[\"details\"] : errorArrayDeserializer(item[\"details\"]),\n additionalInfo: item[\"additionalInfo\"],\n debugInfo: item[\"debugInfo\"],\n };\n}\n\nexport function errorArrayDeserializer(result: Array<ErrorModel>): any[] {\n return result.map((item) => {\n return errorDeserializer(item);\n });\n}\n\n/** A deleted agent Object */\nexport interface DeleteAgentResponse {\n /** The object type. Always 'agent.deleted'. */\n object: \"agent.deleted\";\n /** The name of the agent. */\n name: string;\n /** Whether the agent was successfully deleted. */\n deleted: boolean;\n}\n\nexport function deleteAgentResponseDeserializer(item: any): DeleteAgentResponse {\n return {\n object: item[\"object\"],\n name: item[\"name\"],\n deleted: item[\"deleted\"],\n };\n}\n\n/** The response data for a requested list of items. */\nexport interface _AgentsPagedResultAgentObject {\n /** The requested list of items. */\n data: Agent[];\n /** The first ID represented in this list. */\n first_id?: string;\n /** The last ID represented in this list. */\n last_id?: string;\n /** A value indicating whether there are additional values available not captured in this list. */\n has_more: boolean;\n}\n\nexport function _agentsPagedResultAgentObjectDeserializer(\n item: any,\n): _AgentsPagedResultAgentObject {\n return {\n data: agentArrayDeserializer(item[\"data\"]),\n first_id: item[\"first_id\"],\n last_id: item[\"last_id\"],\n has_more: 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/** A deleted agent version Object */\nexport interface DeleteAgentVersionResponse {\n /** The object type. Always 'agent.version.deleted'. */\n object: \"agent.version.deleted\";\n /** The name of the agent. */\n name: string;\n /** The version identifier of the agent. */\n version: string;\n /** Whether the agent was successfully deleted. */\n deleted: boolean;\n}\n\nexport function deleteAgentVersionResponseDeserializer(item: any): DeleteAgentVersionResponse {\n return {\n object: item[\"object\"],\n name: item[\"name\"],\n version: item[\"version\"],\n deleted: item[\"deleted\"],\n };\n}\n\n/** The response data for a requested list of items. */\nexport interface _AgentsPagedResultAgentVersionObject {\n /** The requested list of items. */\n data: AgentVersion[];\n /** The first ID represented in this list. */\n first_id?: string;\n /** The last ID represented in this list. */\n last_id?: string;\n /** A value indicating whether there are additional values available not captured in this list. */\n has_more: boolean;\n}\n\nexport function _agentsPagedResultAgentVersionObjectDeserializer(\n item: any,\n): _AgentsPagedResultAgentVersionObject {\n return {\n data: agentVersionArrayDeserializer(item[\"data\"]),\n first_id: item[\"first_id\"],\n last_id: item[\"last_id\"],\n has_more: item[\"has_more\"],\n };\n}\n\nexport function agentVersionArrayDeserializer(result: Array<AgentVersion>): any[] {\n return result.map((item) => {\n return agentVersionDeserializer(item);\n });\n}\n\n/** Evaluation rule model. */\nexport interface EvaluationRule {\n /** Unique identifier for the evaluation rule. */\n readonly id: string;\n /** Display Name for the evaluation rule. */\n displayName?: string;\n /** Description for the evaluation rule. */\n description?: string;\n /** Definition of the evaluation rule action. */\n action: EvaluationRuleActionUnion;\n /** Filter condition of the evaluation rule. */\n filter?: EvaluationRuleFilter;\n /** Event type that the evaluation rule applies to. */\n eventType: EvaluationRuleEventType;\n /** Indicates whether the evaluation rule is enabled. Default is true. */\n enabled: boolean;\n /** System metadata for the evaluation rule. */\n readonly systemData: Record<string, string>;\n}\n\nexport function evaluationRuleSerializer(item: EvaluationRule): any {\n return {\n displayName: item[\"displayName\"],\n description: item[\"description\"],\n action: evaluationRuleActionUnionSerializer(item[\"action\"]),\n filter: !item[\"filter\"] ? item[\"filter\"] : evaluationRuleFilterSerializer(item[\"filter\"]),\n eventType: item[\"eventType\"],\n enabled: item[\"enabled\"],\n };\n}\n\nexport function evaluationRuleDeserializer(item: any): EvaluationRule {\n return {\n id: item[\"id\"],\n displayName: item[\"displayName\"],\n description: item[\"description\"],\n action: evaluationRuleActionUnionDeserializer(item[\"action\"]),\n filter: !item[\"filter\"] ? item[\"filter\"] : evaluationRuleFilterDeserializer(item[\"filter\"]),\n eventType: item[\"eventType\"],\n enabled: item[\"enabled\"],\n systemData: item[\"systemData\"],\n };\n}\n\n/** Evaluation action model. */\nexport interface EvaluationRuleAction {\n /** Type of the evaluation action. */\n /** The discriminator possible values: continuousEvaluation, humanEvaluationPreview */\n type: EvaluationRuleActionType;\n}\n\nexport function evaluationRuleActionSerializer(item: EvaluationRuleAction): any {\n return { type: item[\"type\"] };\n}\n\nexport function evaluationRuleActionDeserializer(item: any): EvaluationRuleAction {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for EvaluationRuleActionUnion */\nexport type EvaluationRuleActionUnion =\n | ContinuousEvaluationRuleAction\n | HumanEvaluationPreviewRuleAction\n | EvaluationRuleAction;\n\nexport function evaluationRuleActionUnionSerializer(item: EvaluationRuleActionUnion): any {\n switch (item.type) {\n case \"continuousEvaluation\":\n return continuousEvaluationRuleActionSerializer(item as ContinuousEvaluationRuleAction);\n\n case \"humanEvaluationPreview\":\n return humanEvaluationPreviewRuleActionSerializer(item as HumanEvaluationPreviewRuleAction);\n\n default:\n return evaluationRuleActionSerializer(item);\n }\n}\n\nexport function evaluationRuleActionUnionDeserializer(item: any): EvaluationRuleActionUnion {\n switch (item.type) {\n case \"continuousEvaluation\":\n return continuousEvaluationRuleActionDeserializer(item as ContinuousEvaluationRuleAction);\n\n case \"humanEvaluationPreview\":\n return humanEvaluationPreviewRuleActionDeserializer(item as HumanEvaluationPreviewRuleAction);\n\n default:\n return evaluationRuleActionDeserializer(item);\n }\n}\n\n/** Type of the evaluation action. */\nexport type EvaluationRuleActionType = \"continuousEvaluation\" | \"humanEvaluationPreview\";\n\n/** Evaluation rule action for continuous evaluation. */\nexport interface ContinuousEvaluationRuleAction extends EvaluationRuleAction {\n /** The type discriminator, always 'continuous_evaluation'. */\n type: \"continuousEvaluation\";\n /** Eval Id to add continuous evaluation runs to. */\n evalId: string;\n /** Maximum number of evaluation runs allowed per hour. */\n maxHourlyRuns?: number;\n}\n\nexport function continuousEvaluationRuleActionSerializer(\n item: ContinuousEvaluationRuleAction,\n): any {\n return { type: item[\"type\"], evalId: item[\"evalId\"], maxHourlyRuns: item[\"maxHourlyRuns\"] };\n}\n\nexport function continuousEvaluationRuleActionDeserializer(\n item: any,\n): ContinuousEvaluationRuleAction {\n return {\n type: item[\"type\"],\n evalId: item[\"evalId\"],\n maxHourlyRuns: item[\"maxHourlyRuns\"],\n };\n}\n\n/** Evaluation rule action for human evaluation. */\nexport interface HumanEvaluationPreviewRuleAction extends EvaluationRuleAction {\n /** The type discriminator, always 'human_evaluation_preview'. */\n type: \"humanEvaluationPreview\";\n /** Human evaluation template Id. */\n templateId: string;\n}\n\nexport function humanEvaluationPreviewRuleActionSerializer(\n item: HumanEvaluationPreviewRuleAction,\n): any {\n return { type: item[\"type\"], templateId: item[\"templateId\"] };\n}\n\nexport function humanEvaluationPreviewRuleActionDeserializer(\n item: any,\n): HumanEvaluationPreviewRuleAction {\n return {\n type: item[\"type\"],\n templateId: item[\"templateId\"],\n };\n}\n\n/** Evaluation filter model. */\nexport interface EvaluationRuleFilter {\n /** Filter by agent name. */\n agentName: string;\n}\n\nexport function evaluationRuleFilterSerializer(item: EvaluationRuleFilter): any {\n return { agentName: item[\"agentName\"] };\n}\n\nexport function evaluationRuleFilterDeserializer(item: any): EvaluationRuleFilter {\n return {\n agentName: item[\"agentName\"],\n };\n}\n\n/** Type of the evaluation rule event. */\nexport type EvaluationRuleEventType = \"responseCompleted\" | \"manual\";\n\n/** Paged collection of EvaluationRule items */\nexport interface _PagedEvaluationRule {\n /** The EvaluationRule items on this page */\n value: EvaluationRule[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _pagedEvaluationRuleDeserializer(item: any): _PagedEvaluationRule {\n return {\n value: evaluationRuleArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function evaluationRuleArraySerializer(result: Array<EvaluationRule>): any[] {\n return result.map((item) => {\n return evaluationRuleSerializer(item);\n });\n}\n\nexport function evaluationRuleArrayDeserializer(result: Array<EvaluationRule>): any[] {\n return result.map((item) => {\n return evaluationRuleDeserializer(item);\n });\n}\n\n/** Response from the list and get connections operations */\nexport interface Connection {\n /** The friendly name of the connection, provided by the user. */\n readonly name: string;\n /** A unique identifier for the connection, generated by the service */\n readonly id: string;\n /** Category of the connection */\n readonly type: ConnectionType;\n /** The connection URL to be used for this service */\n readonly target: string;\n /** Whether the connection is tagged as the default connection of its type */\n readonly isDefault: boolean;\n /** The credentials used by the connection */\n readonly credentials: BaseCredentialsUnion;\n /** Metadata of the connection */\n readonly metadata: Record<string, string>;\n}\n\nexport function connectionDeserializer(item: any): Connection {\n return {\n name: item[\"name\"],\n id: item[\"id\"],\n type: item[\"type\"],\n target: item[\"target\"],\n isDefault: item[\"isDefault\"],\n credentials: baseCredentialsUnionDeserializer(item[\"credentials\"]),\n metadata: item[\"metadata\"],\n };\n}\n\n/** The Type (or category) of the connection */\nexport type ConnectionType =\n | \"AzureOpenAI\"\n | \"AzureBlob\"\n | \"AzureStorageAccount\"\n | \"CognitiveSearch\"\n | \"CosmosDB\"\n | \"ApiKey\"\n | \"AppConfig\"\n | \"AppInsights\"\n | \"CustomKeys\"\n | \"RemoteTool_Preview\";\n\n/** A base class for connection credentials */\nexport interface BaseCredentials {\n /** The type of credential used by the connection */\n /** The discriminator possible values: ApiKey, AAD, CustomKeys, SAS, None, AgenticIdentityToken_Preview */\n readonly type: CredentialType;\n}\n\nexport function baseCredentialsDeserializer(item: any): BaseCredentials {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for BaseCredentialsUnion */\nexport type BaseCredentialsUnion =\n | ApiKeyCredentials\n | EntraIDCredentials\n | CustomCredential\n | SASTokenCredentials\n | NoAuthenticationCredentials\n | AgenticIdentityPreviewCredentials\n | BaseCredentials;\n\nexport function baseCredentialsUnionDeserializer(item: any): BaseCredentialsUnion {\n switch (item.type) {\n case \"ApiKey\":\n return apiKeyCredentialsDeserializer(item as ApiKeyCredentials);\n\n case \"AAD\":\n return entraIDCredentialsDeserializer(item as EntraIDCredentials);\n\n case \"CustomKeys\":\n return customCredentialDeserializer(item as CustomCredential);\n\n case \"SAS\":\n return sasCredentialsDeserializer(item as SASTokenCredentials);\n\n case \"None\":\n return noAuthenticationCredentialsDeserializer(item as NoAuthenticationCredentials);\n\n case \"AgenticIdentityToken_Preview\":\n return agenticIdentityPreviewCredentialsDeserializer(\n item as AgenticIdentityPreviewCredentials,\n );\n\n default:\n return baseCredentialsDeserializer(item);\n }\n}\n\n/** The credential type used by the connection */\nexport type CredentialType =\n | \"ApiKey\"\n | \"AAD\"\n | \"SAS\"\n | \"CustomKeys\"\n | \"None\"\n | \"AgenticIdentityToken_Preview\";\n\n/** API Key Credential definition */\nexport interface ApiKeyCredentials extends BaseCredentials {\n /** The credential type */\n readonly type: \"ApiKey\";\n /** API Key */\n readonly apiKey?: string;\n}\n\nexport function apiKeyCredentialsDeserializer(item: any): ApiKeyCredentials {\n return {\n type: item[\"type\"],\n apiKey: item[\"key\"],\n };\n}\n\n/** Entra ID credential definition */\nexport interface EntraIDCredentials extends BaseCredentials {\n /** The credential type */\n readonly type: \"AAD\";\n}\n\nexport function entraIDCredentialsDeserializer(item: any): EntraIDCredentials {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Custom credential definition */\nexport interface CustomCredential extends BaseCredentials {\n /** The credential type */\n readonly type: \"CustomKeys\";\n /** Additional properties */\n additionalProperties?: Record<string, string>;\n}\n\nexport function customCredentialDeserializer(item: any): CustomCredential {\n return {\n additionalProperties: serializeRecord(item, [\"type\"]),\n type: item[\"type\"],\n };\n}\n\n/** Shared Access Signature (SAS) credential definition */\nexport interface SASTokenCredentials extends BaseCredentials {\n /** The credential type */\n readonly type: \"SAS\";\n /** SAS token */\n readonly sasToken?: string;\n}\n\nexport function sasCredentialsDeserializer(item: any): SASTokenCredentials {\n return {\n type: item[\"type\"],\n sasToken: item[\"SAS\"],\n };\n}\n\n/** Credentials that do not require authentication */\nexport interface NoAuthenticationCredentials extends BaseCredentials {\n /** The credential type */\n readonly type: \"None\";\n}\n\nexport function noAuthenticationCredentialsDeserializer(item: any): NoAuthenticationCredentials {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Agentic identity credential definition */\nexport interface AgenticIdentityPreviewCredentials extends BaseCredentials {\n /** The credential type */\n readonly type: \"AgenticIdentityToken_Preview\";\n}\n\nexport function agenticIdentityPreviewCredentialsDeserializer(\n item: any,\n): AgenticIdentityPreviewCredentials {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Paged collection of Connection items */\nexport interface _PagedConnection {\n /** The Connection items on this page */\n value: Connection[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _pagedConnectionDeserializer(item: any): _PagedConnection {\n return {\n value: connectionArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function connectionArrayDeserializer(result: Array<Connection>): any[] {\n return result.map((item) => {\n return connectionDeserializer(item);\n });\n}\n\n/** Paged collection of DatasetVersion items */\nexport interface _PagedDatasetVersion {\n /** The DatasetVersion items on this page */\n value: DatasetVersionUnion[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _pagedDatasetVersionDeserializer(item: any): _PagedDatasetVersion {\n return {\n value: datasetVersionUnionArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function datasetVersionUnionArraySerializer(result: Array<DatasetVersionUnion>): any[] {\n return result.map((item) => {\n return datasetVersionUnionSerializer(item);\n });\n}\n\nexport function datasetVersionUnionArrayDeserializer(result: Array<DatasetVersionUnion>): any[] {\n return result.map((item) => {\n return datasetVersionUnionDeserializer(item);\n });\n}\n\n/** DatasetVersion Definition */\nexport interface DatasetVersion {\n /** URI of the data ([example](https://go.microsoft.com/fwlink/?linkid=2202330)) */\n dataUri: string;\n /** Dataset type */\n /** The discriminator possible values: uri_file, uri_folder */\n type: DatasetType;\n /** Indicates if the dataset holds a reference to the storage, or the dataset manages storage itself. If true, the underlying data will not be deleted when the dataset version is deleted */\n readonly isReference?: boolean;\n /** The Azure Storage Account connection name. Required if startPendingUploadVersion was not called before creating the Dataset */\n connectionName?: string;\n /** Asset ID, a unique identifier for the asset */\n readonly id?: string;\n /** The name of the resource */\n readonly name: string;\n /** The version of the resource */\n readonly version: string;\n /** The asset description text. */\n description?: string;\n /** Tag dictionary. Tags can be added, removed, and updated. */\n tags?: Record<string, string>;\n}\n\nexport function datasetVersionSerializer(item: DatasetVersion): any {\n return {\n dataUri: item[\"dataUri\"],\n type: item[\"type\"],\n connectionName: item[\"connectionName\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n };\n}\n\nexport function datasetVersionDeserializer(item: any): DatasetVersion {\n return {\n dataUri: item[\"dataUri\"],\n type: item[\"type\"],\n isReference: item[\"isReference\"],\n connectionName: item[\"connectionName\"],\n id: item[\"id\"],\n name: item[\"name\"],\n version: item[\"version\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n };\n}\n\n/** Alias for DatasetVersionUnion */\nexport type DatasetVersionUnion = FileDatasetVersion | FolderDatasetVersion | DatasetVersion;\n\nexport function datasetVersionUnionSerializer(item: DatasetVersionUnion): any {\n switch (item.type) {\n case \"uri_file\":\n return fileDatasetVersionSerializer(item as FileDatasetVersion);\n\n case \"uri_folder\":\n return folderDatasetVersionSerializer(item as FolderDatasetVersion);\n\n default:\n return datasetVersionSerializer(item);\n }\n}\n\nexport function datasetVersionUnionDeserializer(item: any): DatasetVersionUnion {\n switch (item.type) {\n case \"uri_file\":\n return fileDatasetVersionDeserializer(item as FileDatasetVersion);\n\n case \"uri_folder\":\n return folderDatasetVersionDeserializer(item as FolderDatasetVersion);\n\n default:\n return datasetVersionDeserializer(item);\n }\n}\n\n/** Enum to determine the type of data. */\nexport type DatasetType = \"uri_file\" | \"uri_folder\";\n\n/** FileDatasetVersion Definition */\nexport interface FileDatasetVersion extends DatasetVersion {\n /** Dataset type */\n type: \"uri_file\";\n}\n\nexport function fileDatasetVersionSerializer(item: FileDatasetVersion): any {\n return {\n dataUri: item[\"dataUri\"],\n type: item[\"type\"],\n connectionName: item[\"connectionName\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n };\n}\n\nexport function fileDatasetVersionDeserializer(item: any): FileDatasetVersion {\n return {\n dataUri: item[\"dataUri\"],\n type: item[\"type\"],\n isReference: item[\"isReference\"],\n connectionName: item[\"connectionName\"],\n id: item[\"id\"],\n name: item[\"name\"],\n version: item[\"version\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n };\n}\n\n/** FileDatasetVersion Definition */\nexport interface FolderDatasetVersion extends DatasetVersion {\n /** Dataset type */\n type: \"uri_folder\";\n}\n\nexport function folderDatasetVersionSerializer(item: FolderDatasetVersion): any {\n return {\n dataUri: item[\"dataUri\"],\n type: item[\"type\"],\n connectionName: item[\"connectionName\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n };\n}\n\nexport function folderDatasetVersionDeserializer(item: any): FolderDatasetVersion {\n return {\n dataUri: item[\"dataUri\"],\n type: item[\"type\"],\n isReference: item[\"isReference\"],\n connectionName: item[\"connectionName\"],\n id: item[\"id\"],\n name: item[\"name\"],\n version: item[\"version\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n };\n}\n\n/** Represents a request for a pending upload. */\nexport interface PendingUploadRequest {\n /** If PendingUploadId is not provided, a random GUID will be used. */\n pendingUploadId?: string;\n /** Azure Storage Account connection name to use for generating temporary SAS token */\n connectionName?: string;\n /** BlobReference is the only supported type. */\n pendingUploadType: \"BlobReference\";\n}\n\nexport function pendingUploadRequestSerializer(item: PendingUploadRequest): any {\n return {\n pendingUploadId: item[\"pendingUploadId\"],\n connectionName: item[\"connectionName\"],\n pendingUploadType: item[\"pendingUploadType\"],\n };\n}\n\n/** Represents the response for a pending upload request */\nexport interface PendingUploadResponse {\n /** Container-level read, write, list SAS. */\n blobReference: BlobReference;\n /** ID for this upload request. */\n pendingUploadId: string;\n /** Version of asset to be created if user did not specify version when initially creating upload */\n version?: string;\n /** BlobReference is the only supported type */\n pendingUploadType: \"BlobReference\";\n}\n\nexport function pendingUploadResponseDeserializer(item: any): PendingUploadResponse {\n return {\n blobReference: blobReferenceDeserializer(item[\"blobReference\"]),\n pendingUploadId: item[\"pendingUploadId\"],\n version: item[\"version\"],\n pendingUploadType: item[\"pendingUploadType\"],\n };\n}\n\n/** Blob reference details. */\nexport interface BlobReference {\n /** Blob URI path for client to upload data. Example: `https://blob.windows.core.net/Container/Path` */\n blobUri: string;\n /** ARM ID of the storage account to use. */\n storageAccountArmId: string;\n /** Credential info to access the storage account. */\n credential: SasCredential;\n}\n\nexport function blobReferenceDeserializer(item: any): BlobReference {\n return {\n blobUri: item[\"blobUri\"],\n storageAccountArmId: item[\"storageAccountArmId\"],\n credential: blobReferenceSasCredentialDeserializer(item[\"credential\"]),\n };\n}\n\n/** SAS Credential definition */\nexport interface SasCredential {\n /** SAS uri */\n readonly sasUri: string;\n /** Type of credential */\n readonly type: \"SAS\";\n}\n\nexport function blobReferenceSasCredentialDeserializer(item: any): SasCredential {\n return {\n sasUri: item[\"sasUri\"],\n type: item[\"type\"],\n };\n}\n\n/** Represents a reference to a blob for consumption */\nexport interface DatasetCredential {\n /** Credential info to access the storage account. */\n blobReference: BlobReference;\n}\n\nexport function datasetCredentialDeserializer(item: any): DatasetCredential {\n return {\n blobReference: blobReferenceDeserializer(item[\"blobReference\"]),\n };\n}\n\n/** Model Deployment Definition */\nexport interface Deployment {\n /** The type of the deployment */\n /** The discriminator possible values: ModelDeployment */\n type: DeploymentType;\n /** Name of the deployment */\n readonly name: string;\n}\n\nexport function deploymentDeserializer(item: any): Deployment {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n };\n}\n\n/** Alias for DeploymentUnion */\nexport type DeploymentUnion = ModelDeployment | Deployment;\n\nexport function deploymentUnionDeserializer(item: any): DeploymentUnion {\n switch (item.type) {\n case \"ModelDeployment\":\n return modelDeploymentDeserializer(item as ModelDeployment);\n\n default:\n return deploymentDeserializer(item);\n }\n}\n\n/** Type of DeploymentType */\nexport type DeploymentType = \"ModelDeployment\";\n\n/** Model Deployment Definition */\nexport interface ModelDeployment extends Deployment {\n /** The type of the deployment */\n type: \"ModelDeployment\";\n /** Publisher-specific name of the deployed model */\n readonly modelName: string;\n /** Publisher-specific version of the deployed model */\n readonly modelVersion: string;\n /** Name of the deployed model's publisher */\n readonly modelPublisher: string;\n /** Capabilities of deployed model */\n readonly capabilities: Record<string, string>;\n /** Sku of the model deployment */\n readonly sku: ModelDeploymentSku;\n /** Name of the connection the deployment comes from */\n readonly connectionName?: string;\n}\n\nexport function modelDeploymentDeserializer(item: any): ModelDeployment {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n modelName: item[\"modelName\"],\n modelVersion: item[\"modelVersion\"],\n modelPublisher: item[\"modelPublisher\"],\n capabilities: item[\"capabilities\"],\n sku: modelDeploymentSkuDeserializer(item[\"sku\"]),\n connectionName: item[\"connectionName\"],\n };\n}\n\n/** Sku information */\nexport interface ModelDeploymentSku {\n /** Sku capacity */\n capacity: number;\n /** Sku family */\n family: string;\n /** Sku name */\n name: string;\n /** Sku size */\n size: string;\n /** Sku tier */\n tier: string;\n}\n\nexport function modelDeploymentSkuDeserializer(item: any): ModelDeploymentSku {\n return {\n capacity: item[\"capacity\"],\n family: item[\"family\"],\n name: item[\"name\"],\n size: item[\"size\"],\n tier: item[\"tier\"],\n };\n}\n\n/** Paged collection of Deployment items */\nexport interface _PagedDeployment {\n /** The Deployment items on this page */\n value: DeploymentUnion[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _pagedDeploymentDeserializer(item: any): _PagedDeployment {\n return {\n value: deploymentUnionArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function deploymentUnionArrayDeserializer(result: Array<DeploymentUnion>): any[] {\n return result.map((item) => {\n return deploymentUnionDeserializer(item);\n });\n}\n\n/** Paged collection of Index items */\nexport interface _PagedIndex {\n /** The Index items on this page */\n value: IndexUnion[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _pagedIndexDeserializer(item: any): _PagedIndex {\n return {\n value: indexUnionArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function indexUnionArraySerializer(result: Array<IndexUnion>): any[] {\n return result.map((item) => {\n return indexUnionSerializer(item);\n });\n}\n\nexport function indexUnionArrayDeserializer(result: Array<IndexUnion>): any[] {\n return result.map((item) => {\n return indexUnionDeserializer(item);\n });\n}\n\n/** Index resource Definition */\nexport interface Index {\n /** Type of index */\n /** The discriminator possible values: AzureSearch, ManagedAzureSearch, CosmosDBNoSqlVectorStore */\n type: IndexType;\n /** Asset ID, a unique identifier for the asset */\n readonly id?: string;\n /** The name of the resource */\n readonly name: string;\n /** The version of the resource */\n readonly version: string;\n /** The asset description text. */\n description?: string;\n /** Tag dictionary. Tags can be added, removed, and updated. */\n tags?: Record<string, string>;\n}\n\nexport function indexSerializer(item: Index): any {\n return { type: item[\"type\"], description: item[\"description\"], tags: item[\"tags\"] };\n}\n\nexport function indexDeserializer(item: any): Index {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n name: item[\"name\"],\n version: item[\"version\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n };\n}\n\n/** Alias for IndexUnion */\nexport type IndexUnion = AzureAISearchIndex | ManagedAzureAISearchIndex | CosmosDBIndex | Index;\n\nexport function indexUnionSerializer(item: IndexUnion): any {\n switch (item.type) {\n case \"AzureSearch\":\n return azureAISearchIndexSerializer(item as AzureAISearchIndex);\n\n case \"ManagedAzureSearch\":\n return managedAzureAISearchIndexSerializer(item as ManagedAzureAISearchIndex);\n\n case \"CosmosDBNoSqlVectorStore\":\n return cosmosDBIndexSerializer(item as CosmosDBIndex);\n\n default:\n return indexSerializer(item);\n }\n}\n\nexport function indexUnionDeserializer(item: any): IndexUnion {\n switch (item.type) {\n case \"AzureSearch\":\n return azureAISearchIndexDeserializer(item as AzureAISearchIndex);\n\n case \"ManagedAzureSearch\":\n return managedAzureAISearchIndexDeserializer(item as ManagedAzureAISearchIndex);\n\n case \"CosmosDBNoSqlVectorStore\":\n return cosmosDBIndexDeserializer(item as CosmosDBIndex);\n\n default:\n return indexDeserializer(item);\n }\n}\n\n/** Type of IndexType */\nexport type IndexType = \"AzureSearch\" | \"CosmosDBNoSqlVectorStore\" | \"ManagedAzureSearch\";\n\n/** Azure AI Search Index Definition */\nexport interface AzureAISearchIndex extends Index {\n /** Type of index */\n type: \"AzureSearch\";\n /** Name of connection to Azure AI Search */\n connectionName: string;\n /** Name of index in Azure AI Search resource to attach */\n indexName: string;\n /** Field mapping configuration */\n fieldMapping?: FieldMapping;\n}\n\nexport function azureAISearchIndexSerializer(item: AzureAISearchIndex): any {\n return {\n type: item[\"type\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n connectionName: item[\"connectionName\"],\n indexName: item[\"indexName\"],\n fieldMapping: !item[\"fieldMapping\"]\n ? item[\"fieldMapping\"]\n : fieldMappingSerializer(item[\"fieldMapping\"]),\n };\n}\n\nexport function azureAISearchIndexDeserializer(item: any): AzureAISearchIndex {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n name: item[\"name\"],\n version: item[\"version\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n connectionName: item[\"connectionName\"],\n indexName: item[\"indexName\"],\n fieldMapping: !item[\"fieldMapping\"]\n ? item[\"fieldMapping\"]\n : fieldMappingDeserializer(item[\"fieldMapping\"]),\n };\n}\n\n/** Field mapping configuration class */\nexport interface FieldMapping {\n /** List of fields with text content */\n contentFields: string[];\n /** Path of file to be used as a source of text content */\n filepathField?: string;\n /** Field containing the title of the document */\n titleField?: string;\n /** Field containing the url of the document */\n urlField?: string;\n /** List of fields with vector content */\n vectorFields?: string[];\n /** List of fields with metadata content */\n metadataFields?: string[];\n}\n\nexport function fieldMappingSerializer(item: FieldMapping): any {\n return {\n contentFields: item[\"contentFields\"],\n filepathField: item[\"filepathField\"],\n titleField: item[\"titleField\"],\n urlField: item[\"urlField\"],\n vectorFields: item[\"vectorFields\"],\n metadataFields: item[\"metadataFields\"],\n };\n}\n\nexport function fieldMappingDeserializer(item: any): FieldMapping {\n return {\n contentFields: item[\"contentFields\"],\n filepathField: item[\"filepathField\"],\n titleField: item[\"titleField\"],\n urlField: item[\"urlField\"],\n vectorFields: item[\"vectorFields\"],\n metadataFields: item[\"metadataFields\"],\n };\n}\n\n/** Managed Azure AI Search Index Definition */\nexport interface ManagedAzureAISearchIndex extends Index {\n /** Type of index */\n type: \"ManagedAzureSearch\";\n /** Vector store id of managed index */\n vectorStoreId: string;\n}\n\nexport function managedAzureAISearchIndexSerializer(item: ManagedAzureAISearchIndex): any {\n return {\n type: item[\"type\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n vectorStoreId: item[\"vectorStoreId\"],\n };\n}\n\nexport function managedAzureAISearchIndexDeserializer(item: any): ManagedAzureAISearchIndex {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n name: item[\"name\"],\n version: item[\"version\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n vectorStoreId: item[\"vectorStoreId\"],\n };\n}\n\n/** CosmosDB Vector Store Index Definition */\nexport interface CosmosDBIndex extends Index {\n /** Type of index */\n type: \"CosmosDBNoSqlVectorStore\";\n /** Name of connection to CosmosDB */\n connectionName: string;\n /** Name of the CosmosDB Database */\n databaseName: string;\n /** Name of CosmosDB Container */\n containerName: string;\n /** Embedding model configuration */\n embeddingConfiguration: EmbeddingConfiguration;\n /** Field mapping configuration */\n fieldMapping: FieldMapping;\n}\n\nexport function cosmosDBIndexSerializer(item: CosmosDBIndex): any {\n return {\n type: item[\"type\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n connectionName: item[\"connectionName\"],\n databaseName: item[\"databaseName\"],\n containerName: item[\"containerName\"],\n embeddingConfiguration: embeddingConfigurationSerializer(item[\"embeddingConfiguration\"]),\n fieldMapping: fieldMappingSerializer(item[\"fieldMapping\"]),\n };\n}\n\nexport function cosmosDBIndexDeserializer(item: any): CosmosDBIndex {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n name: item[\"name\"],\n version: item[\"version\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n connectionName: item[\"connectionName\"],\n databaseName: item[\"databaseName\"],\n containerName: item[\"containerName\"],\n embeddingConfiguration: embeddingConfigurationDeserializer(item[\"embeddingConfiguration\"]),\n fieldMapping: fieldMappingDeserializer(item[\"fieldMapping\"]),\n };\n}\n\n/** Embedding configuration class */\nexport interface EmbeddingConfiguration {\n /** Deployment name of embedding model. It can point to a model deployment either in the parent AIServices or a connection. */\n modelDeploymentName: string;\n /** Embedding field */\n embeddingField: string;\n}\n\nexport function embeddingConfigurationSerializer(item: EmbeddingConfiguration): any {\n return {\n modelDeploymentName: item[\"modelDeploymentName\"],\n embeddingField: item[\"embeddingField\"],\n };\n}\n\nexport function embeddingConfigurationDeserializer(item: any): EmbeddingConfiguration {\n return {\n modelDeploymentName: item[\"modelDeploymentName\"],\n embeddingField: item[\"embeddingField\"],\n };\n}\n\n/** Evaluation Taxonomy Definition */\nexport interface EvaluationTaxonomy {\n /** Asset ID, a unique identifier for the asset */\n readonly id?: string;\n /** The name of the resource */\n readonly name: string;\n /** The version of the resource */\n readonly version: string;\n /** The asset description text. */\n description?: string;\n /** Tag dictionary. Tags can be added, removed, and updated. */\n tags?: Record<string, string>;\n /** Input configuration for the evaluation taxonomy. */\n taxonomyInput: EvaluationTaxonomyInputUnion;\n /** List of taxonomy categories. */\n taxonomyCategories?: TaxonomyCategory[];\n /** Additional properties for the evaluation taxonomy. */\n properties?: Record<string, string>;\n}\n\nexport function evaluationTaxonomySerializer(item: EvaluationTaxonomy): any {\n return {\n description: item[\"description\"],\n tags: item[\"tags\"],\n taxonomyInput: evaluationTaxonomyInputUnionSerializer(item[\"taxonomyInput\"]),\n taxonomyCategories: !item[\"taxonomyCategories\"]\n ? item[\"taxonomyCategories\"]\n : taxonomyCategoryArraySerializer(item[\"taxonomyCategories\"]),\n properties: item[\"properties\"],\n };\n}\n\nexport function evaluationTaxonomyDeserializer(item: any): EvaluationTaxonomy {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n version: item[\"version\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n taxonomyInput: evaluationTaxonomyInputUnionDeserializer(item[\"taxonomyInput\"]),\n taxonomyCategories: !item[\"taxonomyCategories\"]\n ? item[\"taxonomyCategories\"]\n : taxonomyCategoryArrayDeserializer(item[\"taxonomyCategories\"]),\n properties: item[\"properties\"],\n };\n}\n\n/** Input configuration for the evaluation taxonomy. */\nexport interface EvaluationTaxonomyInput {\n /** Input type of the evaluation taxonomy. */\n /** The discriminator possible values: agent */\n type: EvaluationTaxonomyInputType;\n}\n\nexport function evaluationTaxonomyInputSerializer(item: EvaluationTaxonomyInput): any {\n return { type: item[\"type\"] };\n}\n\nexport function evaluationTaxonomyInputDeserializer(item: any): EvaluationTaxonomyInput {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for EvaluationTaxonomyInputUnion */\nexport type EvaluationTaxonomyInputUnion = AgentTaxonomyInput | EvaluationTaxonomyInput;\n\nexport function evaluationTaxonomyInputUnionSerializer(item: EvaluationTaxonomyInputUnion): any {\n switch (item.type) {\n case \"agent\":\n return agentTaxonomyInputSerializer(item as AgentTaxonomyInput);\n\n default:\n return evaluationTaxonomyInputSerializer(item);\n }\n}\n\nexport function evaluationTaxonomyInputUnionDeserializer(item: any): EvaluationTaxonomyInputUnion {\n switch (item.type) {\n case \"agent\":\n return agentTaxonomyInputDeserializer(item as AgentTaxonomyInput);\n\n default:\n return evaluationTaxonomyInputDeserializer(item);\n }\n}\n\n/** Type of the evaluation taxonomy input. */\nexport type EvaluationTaxonomyInputType = \"agent\" | \"policy\";\n\n/** Input configuration for the evaluation taxonomy when the input type is agent. */\nexport interface AgentTaxonomyInput extends EvaluationTaxonomyInput {\n /** Input type of the evaluation taxonomy. */\n type: \"agent\";\n /** Target configuration for the agent. */\n target: TargetUnion;\n /** List of risk categories to evaluate against. */\n riskCategories: RiskCategory[];\n}\n\nexport function agentTaxonomyInputSerializer(item: AgentTaxonomyInput): any {\n return {\n type: item[\"type\"],\n target: targetUnionSerializer(item[\"target\"]),\n riskCategories: item[\"riskCategories\"],\n };\n}\n\nexport function agentTaxonomyInputDeserializer(item: any): AgentTaxonomyInput {\n return {\n type: item[\"type\"],\n target: targetUnionDeserializer(item[\"target\"]),\n riskCategories: item[\"riskCategories\"],\n };\n}\n\n/** Base class for targets with discriminator support. */\nexport interface Target {\n /** The type of target. */\n /** The discriminator possible values: azure_ai_model, azure_ai_agent */\n type: string;\n}\n\nexport function targetSerializer(item: Target): any {\n return { type: item[\"type\"] };\n}\n\nexport function targetDeserializer(item: any): Target {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for TargetUnion */\nexport type TargetUnion = AzureAIModelTarget | AzureAIAgentTarget | Target;\n\nexport function targetUnionSerializer(item: TargetUnion): any {\n switch (item.type) {\n case \"azure_ai_model\":\n return azureAIModelTargetSerializer(item as AzureAIModelTarget);\n\n case \"azure_ai_agent\":\n return azureAIAgentTargetSerializer(item as AzureAIAgentTarget);\n\n default:\n return targetSerializer(item);\n }\n}\n\nexport function targetUnionDeserializer(item: any): TargetUnion {\n switch (item.type) {\n case \"azure_ai_model\":\n return azureAIModelTargetDeserializer(item as AzureAIModelTarget);\n\n case \"azure_ai_agent\":\n return azureAIAgentTargetDeserializer(item as AzureAIAgentTarget);\n\n default:\n return targetDeserializer(item);\n }\n}\n\n/** Represents a target specifying an Azure AI model for operations requiring model selection. */\nexport interface AzureAIModelTarget extends Target {\n /** The type of target, always `azure_ai_model`. */\n type: \"azure_ai_model\";\n /** The unique identifier of the Azure AI model. */\n model?: string;\n /** The parameters used to control the sampling behavior of the model during text generation. */\n sampling_params?: ModelSamplingParams;\n}\n\nexport function azureAIModelTargetSerializer(item: AzureAIModelTarget): any {\n return {\n type: item[\"type\"],\n model: item[\"model\"],\n sampling_params: !item[\"sampling_params\"]\n ? item[\"sampling_params\"]\n : modelSamplingParamsSerializer(item[\"sampling_params\"]),\n };\n}\n\nexport function azureAIModelTargetDeserializer(item: any): AzureAIModelTarget {\n return {\n type: item[\"type\"],\n model: item[\"model\"],\n sampling_params: !item[\"sampling_params\"]\n ? item[\"sampling_params\"]\n : modelSamplingParamsDeserializer(item[\"sampling_params\"]),\n };\n}\n\n/** Represents a set of parameters used to control the sampling behavior of a language model during text generation. */\nexport interface ModelSamplingParams {\n /** The temperature parameter for sampling. */\n temperature: number;\n /** The top-p parameter for nucleus sampling. */\n top_p: number;\n /** The random seed for reproducibility. */\n seed: number;\n /** The maximum number of tokens allowed in the completion. */\n max_completion_tokens: number;\n}\n\nexport function modelSamplingParamsSerializer(item: ModelSamplingParams): any {\n return {\n temperature: item[\"temperature\"],\n top_p: item[\"top_p\"],\n seed: item[\"seed\"],\n max_completion_tokens: item[\"max_completion_tokens\"],\n };\n}\n\nexport function modelSamplingParamsDeserializer(item: any): ModelSamplingParams {\n return {\n temperature: item[\"temperature\"],\n top_p: item[\"top_p\"],\n seed: item[\"seed\"],\n max_completion_tokens: item[\"max_completion_tokens\"],\n };\n}\n\n/** Represents a target specifying an Azure AI agent. */\nexport interface AzureAIAgentTarget extends Target {\n /** The type of target, always `azure_ai_agent`. */\n type: \"azure_ai_agent\";\n /** The unique identifier of the Azure AI agent. */\n name: string;\n /** The version of the Azure AI agent. */\n version?: string;\n /** The parameters used to control the sampling behavior of the agent during text generation. */\n tool_descriptions?: ToolDescription[];\n}\n\nexport function azureAIAgentTargetSerializer(item: AzureAIAgentTarget): any {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n version: item[\"version\"],\n tool_descriptions: !item[\"tool_descriptions\"]\n ? item[\"tool_descriptions\"]\n : toolDescriptionArraySerializer(item[\"tool_descriptions\"]),\n };\n}\n\nexport function azureAIAgentTargetDeserializer(item: any): AzureAIAgentTarget {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n version: item[\"version\"],\n tool_descriptions: !item[\"tool_descriptions\"]\n ? item[\"tool_descriptions\"]\n : toolDescriptionArrayDeserializer(item[\"tool_descriptions\"]),\n };\n}\n\nexport function toolDescriptionArraySerializer(result: Array<ToolDescription>): any[] {\n return result.map((item) => {\n return toolDescriptionSerializer(item);\n });\n}\n\nexport function toolDescriptionArrayDeserializer(result: Array<ToolDescription>): any[] {\n return result.map((item) => {\n return toolDescriptionDeserializer(item);\n });\n}\n\n/** Description of a tool that can be used by an agent. */\nexport interface ToolDescription {\n /** The name of the tool. */\n name?: string;\n /** A brief description of the tool's purpose. */\n description?: string;\n}\n\nexport function toolDescriptionSerializer(item: ToolDescription): any {\n return { name: item[\"name\"], description: item[\"description\"] };\n}\n\nexport function toolDescriptionDeserializer(item: any): ToolDescription {\n return {\n name: item[\"name\"],\n description: item[\"description\"],\n };\n}\n\n/** Risk category for the attack objective. */\nexport type RiskCategory =\n | \"HateUnfairness\"\n | \"Violence\"\n | \"Sexual\"\n | \"SelfHarm\"\n | \"ProtectedMaterial\"\n | \"CodeVulnerability\"\n | \"UngroundedAttributes\"\n | \"ProhibitedActions\"\n | \"SensitiveDataLeakage\"\n | \"TaskAdherence\";\n\nexport function taxonomyCategoryArraySerializer(result: Array<TaxonomyCategory>): any[] {\n return result.map((item) => {\n return taxonomyCategorySerializer(item);\n });\n}\n\nexport function taxonomyCategoryArrayDeserializer(result: Array<TaxonomyCategory>): any[] {\n return result.map((item) => {\n return taxonomyCategoryDeserializer(item);\n });\n}\n\n/** Taxonomy category definition. */\nexport interface TaxonomyCategory {\n /** Unique identifier of the taxonomy category. */\n id: string;\n /** Name of the taxonomy category. */\n name: string;\n /** Description of the taxonomy category. */\n description?: string;\n /** Risk category associated with this taxonomy category. */\n riskCategory: RiskCategory;\n /** List of taxonomy sub categories. */\n subCategories: TaxonomySubCategory[];\n /** Additional properties for the taxonomy category. */\n properties?: Record<string, string>;\n}\n\nexport function taxonomyCategorySerializer(item: TaxonomyCategory): any {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n description: item[\"description\"],\n riskCategory: item[\"riskCategory\"],\n subCategories: taxonomySubCategoryArraySerializer(item[\"subCategories\"]),\n properties: item[\"properties\"],\n };\n}\n\nexport function taxonomyCategoryDeserializer(item: any): TaxonomyCategory {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n description: item[\"description\"],\n riskCategory: item[\"riskCategory\"],\n subCategories: taxonomySubCategoryArrayDeserializer(item[\"subCategories\"]),\n properties: item[\"properties\"],\n };\n}\n\nexport function taxonomySubCategoryArraySerializer(result: Array<TaxonomySubCategory>): any[] {\n return result.map((item) => {\n return taxonomySubCategorySerializer(item);\n });\n}\n\nexport function taxonomySubCategoryArrayDeserializer(result: Array<TaxonomySubCategory>): any[] {\n return result.map((item) => {\n return taxonomySubCategoryDeserializer(item);\n });\n}\n\n/** Taxonomy sub-category definition. */\nexport interface TaxonomySubCategory {\n /** Unique identifier of the taxonomy sub-category. */\n id: string;\n /** Name of the taxonomy sub-category. */\n name: string;\n /** Description of the taxonomy sub-category. */\n description?: string;\n /** List of taxonomy items under this sub-category. */\n enabled: boolean;\n /** Additional properties for the taxonomy sub-category. */\n properties?: Record<string, string>;\n}\n\nexport function taxonomySubCategorySerializer(item: TaxonomySubCategory): any {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n description: item[\"description\"],\n enabled: item[\"enabled\"],\n properties: item[\"properties\"],\n };\n}\n\nexport function taxonomySubCategoryDeserializer(item: any): TaxonomySubCategory {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n description: item[\"description\"],\n enabled: item[\"enabled\"],\n properties: item[\"properties\"],\n };\n}\n\n/** Paged collection of EvaluationTaxonomy items */\nexport interface _PagedEvaluationTaxonomy {\n /** The EvaluationTaxonomy items on this page */\n value: EvaluationTaxonomy[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _pagedEvaluationTaxonomyDeserializer(item: any): _PagedEvaluationTaxonomy {\n return {\n value: evaluationTaxonomyArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function evaluationTaxonomyArraySerializer(result: Array<EvaluationTaxonomy>): any[] {\n return result.map((item) => {\n return evaluationTaxonomySerializer(item);\n });\n}\n\nexport function evaluationTaxonomyArrayDeserializer(result: Array<EvaluationTaxonomy>): any[] {\n return result.map((item) => {\n return evaluationTaxonomyDeserializer(item);\n });\n}\n\n/** Paged collection of EvaluatorVersion items */\nexport interface _PagedEvaluatorVersion {\n /** The EvaluatorVersion items on this page */\n value: EvaluatorVersion[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _pagedEvaluatorVersionDeserializer(item: any): _PagedEvaluatorVersion {\n return {\n value: evaluatorVersionArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function evaluatorVersionArraySerializer(result: Array<EvaluatorVersion>): any[] {\n return result.map((item) => {\n return evaluatorVersionSerializer(item);\n });\n}\n\nexport function evaluatorVersionArrayDeserializer(result: Array<EvaluatorVersion>): any[] {\n return result.map((item) => {\n return evaluatorVersionDeserializer(item);\n });\n}\n\n/** Evaluator Definition */\nexport interface EvaluatorVersion {\n /** Display Name for evaluator. It helps to find the evaluator easily in AI Foundry. It does not need to be unique. */\n display_name?: string;\n /** Metadata about the evaluator */\n metadata?: Record<string, string>;\n /** The type of the evaluator */\n evaluator_type: EvaluatorType;\n /** The categories of the evaluator */\n categories: EvaluatorCategory[];\n /** Definition of the evaluator */\n definition: EvaluatorDefinitionUnion;\n /** Creator of the evaluator */\n readonly created_by?: string;\n /** Creation date/time of the evaluator */\n readonly created_at?: string;\n /** Last modified date/time of the evaluator */\n readonly modified_at?: string;\n /** Asset ID, a unique identifier for the asset */\n readonly id?: string;\n /** The name of the resource */\n readonly name: string;\n /** The version of the resource */\n readonly version?: string;\n /** The asset description text. */\n description?: string;\n /** Tag dictionary. Tags can be added, removed, and updated. */\n tags?: Record<string, string>;\n}\n\nexport function evaluatorVersionSerializer(item: EvaluatorVersion): any {\n return {\n display_name: item[\"display_name\"],\n metadata: item[\"metadata\"],\n evaluator_type: item[\"evaluator_type\"],\n categories: item[\"categories\"],\n definition: evaluatorDefinitionUnionSerializer(item[\"definition\"]),\n description: item[\"description\"],\n tags: item[\"tags\"],\n };\n}\n\nexport function evaluatorVersionDeserializer(item: any): EvaluatorVersion {\n return {\n display_name: item[\"display_name\"],\n metadata: item[\"metadata\"],\n evaluator_type: item[\"evaluator_type\"],\n categories: item[\"categories\"],\n definition: evaluatorDefinitionUnionDeserializer(item[\"definition\"]),\n created_by: item[\"created_by\"],\n created_at: item[\"created_at\"],\n modified_at: item[\"modified_at\"],\n id: item[\"id\"],\n name: item[\"name\"],\n version: item[\"version\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n };\n}\n\n/** The type of the evaluator */\nexport type EvaluatorType = \"builtin\" | \"custom\";\n/** The category of the evaluator */\nexport type EvaluatorCategory = \"quality\" | \"safety\" | \"agents\";\n\n/** Base evaluator configuration with discriminator */\nexport interface EvaluatorDefinition {\n /** The type of evaluator definition */\n /** The discriminator possible values: code, prompt */\n type: EvaluatorDefinitionType;\n /** The JSON schema (Draft 2020-12) for the evaluator's input parameters. This includes parameters like type, properties, required. */\n init_parameters?: Record<string, unknown>;\n /** The JSON schema (Draft 2020-12) for the evaluator's input data. This includes parameters like type, properties, required. */\n data_schema?: Record<string, unknown>;\n /** List of output metrics produced by this evaluator */\n metrics?: Record<string, EvaluatorMetric>;\n}\n\nexport function evaluatorDefinitionSerializer(item: EvaluatorDefinition): any {\n return {\n type: item[\"type\"],\n init_parameters: item[\"init_parameters\"],\n data_schema: item[\"data_schema\"],\n metrics: !item[\"metrics\"] ? item[\"metrics\"] : evaluatorMetricRecordSerializer(item[\"metrics\"]),\n };\n}\n\nexport function evaluatorDefinitionDeserializer(item: any): EvaluatorDefinition {\n return {\n type: item[\"type\"],\n init_parameters: item[\"init_parameters\"],\n data_schema: item[\"data_schema\"],\n metrics: !item[\"metrics\"]\n ? item[\"metrics\"]\n : evaluatorMetricRecordDeserializer(item[\"metrics\"]),\n };\n}\n\n/** Alias for EvaluatorDefinitionUnion */\nexport type EvaluatorDefinitionUnion =\n | CodeBasedEvaluatorDefinition\n | PromptBasedEvaluatorDefinition\n | EvaluatorDefinition;\n\nexport function evaluatorDefinitionUnionSerializer(item: EvaluatorDefinitionUnion): any {\n switch (item.type) {\n case \"code\":\n return codeBasedEvaluatorDefinitionSerializer(item as CodeBasedEvaluatorDefinition);\n\n case \"prompt\":\n return promptBasedEvaluatorDefinitionSerializer(item as PromptBasedEvaluatorDefinition);\n\n default:\n return evaluatorDefinitionSerializer(item);\n }\n}\n\nexport function evaluatorDefinitionUnionDeserializer(item: any): EvaluatorDefinitionUnion {\n switch (item.type) {\n case \"code\":\n return codeBasedEvaluatorDefinitionDeserializer(item as CodeBasedEvaluatorDefinition);\n\n case \"prompt\":\n return promptBasedEvaluatorDefinitionDeserializer(item as PromptBasedEvaluatorDefinition);\n\n default:\n return evaluatorDefinitionDeserializer(item);\n }\n}\n\n/** The type of evaluator definition */\nexport type EvaluatorDefinitionType =\n | \"prompt\"\n | \"code\"\n | \"prompt_and_code\"\n | \"service\"\n | \"openai_graders\";\n\nexport function evaluatorMetricRecordSerializer(\n item: Record<string, EvaluatorMetric>,\n): Record<string, any> {\n const result: Record<string, any> = {};\n Object.keys(item).map((key) => {\n result[key] = !item[key] ? item[key] : evaluatorMetricSerializer(item[key]);\n });\n return result;\n}\n\nexport function evaluatorMetricRecordDeserializer(\n item: Record<string, any>,\n): Record<string, EvaluatorMetric> {\n const result: Record<string, any> = {};\n Object.keys(item).map((key) => {\n result[key] = !item[key] ? item[key] : evaluatorMetricDeserializer(item[key]);\n });\n return result;\n}\n\n/** Evaluator Metric */\nexport interface EvaluatorMetric {\n /** Type of the metric. */\n type?: EvaluatorMetricType;\n /** It indicates whether a higher value is better or a lower value is better for this metric. */\n desirable_direction?: EvaluatorMetricDirection;\n /** Minimum value for the metric */\n min_value?: number;\n /** Maximum value for the metric. If not specified, it is assumed to be unbounded. */\n max_value?: number;\n /** Indicates if this metric is primary when there are multiple metrics. */\n is_primary?: boolean;\n}\n\nexport function evaluatorMetricSerializer(item: EvaluatorMetric): any {\n return {\n type: item[\"type\"],\n desirable_direction: item[\"desirable_direction\"],\n min_value: item[\"min_value\"],\n max_value: item[\"max_value\"],\n is_primary: item[\"is_primary\"],\n };\n}\n\nexport function evaluatorMetricDeserializer(item: any): EvaluatorMetric {\n return {\n type: item[\"type\"],\n desirable_direction: item[\"desirable_direction\"],\n min_value: item[\"min_value\"],\n max_value: item[\"max_value\"],\n is_primary: item[\"is_primary\"],\n };\n}\n\n/** The type of the evaluator */\nexport type EvaluatorMetricType = \"ordinal\" | \"continuous\" | \"boolean\";\n/** The direction of the metric indicating whether a higher value is better, a lower value is better, or neutral */\nexport type EvaluatorMetricDirection = \"increase\" | \"decrease\" | \"neutral\";\n\n/** Code-based evaluator definition using python code */\nexport interface CodeBasedEvaluatorDefinition extends EvaluatorDefinition {\n /** The type discriminator, always 'code_based'. */\n type: \"code\";\n /** Inline code text for the evaluator */\n code_text: string;\n}\n\nexport function codeBasedEvaluatorDefinitionSerializer(item: CodeBasedEvaluatorDefinition): any {\n return {\n type: item[\"type\"],\n init_parameters: item[\"init_parameters\"],\n data_schema: item[\"data_schema\"],\n metrics: !item[\"metrics\"] ? item[\"metrics\"] : evaluatorMetricRecordSerializer(item[\"metrics\"]),\n code_text: item[\"code_text\"],\n };\n}\n\nexport function codeBasedEvaluatorDefinitionDeserializer(item: any): CodeBasedEvaluatorDefinition {\n return {\n type: item[\"type\"],\n init_parameters: item[\"init_parameters\"],\n data_schema: item[\"data_schema\"],\n metrics: !item[\"metrics\"]\n ? item[\"metrics\"]\n : evaluatorMetricRecordDeserializer(item[\"metrics\"]),\n code_text: item[\"code_text\"],\n };\n}\n\n/** Prompt-based evaluator */\nexport interface PromptBasedEvaluatorDefinition extends EvaluatorDefinition {\n /** The type discriminator, always 'prompt_based'. */\n type: \"prompt\";\n /** The prompt text used for evaluation */\n prompt_text: string;\n}\n\nexport function promptBasedEvaluatorDefinitionSerializer(\n item: PromptBasedEvaluatorDefinition,\n): any {\n return {\n type: item[\"type\"],\n init_parameters: item[\"init_parameters\"],\n data_schema: item[\"data_schema\"],\n metrics: !item[\"metrics\"] ? item[\"metrics\"] : evaluatorMetricRecordSerializer(item[\"metrics\"]),\n prompt_text: item[\"prompt_text\"],\n };\n}\n\nexport function promptBasedEvaluatorDefinitionDeserializer(\n item: any,\n): PromptBasedEvaluatorDefinition {\n return {\n type: item[\"type\"],\n init_parameters: item[\"init_parameters\"],\n data_schema: item[\"data_schema\"],\n metrics: !item[\"metrics\"]\n ? item[\"metrics\"]\n : evaluatorMetricRecordDeserializer(item[\"metrics\"]),\n prompt_text: item[\"prompt_text\"],\n };\n}\n\n/** The response body for cluster insights. */\nexport interface Insight {\n /** The unique identifier for the insights report. */\n readonly id?: string;\n /** Metadata about the insights report. */\n readonly metadata?: InsightsMetadata;\n /** The current state of the insights. */\n readonly state?: OperationState;\n /** User friendly display name for the insight. */\n displayName: string;\n /** Request for the insights analysis. */\n request: InsightRequestUnion;\n /** The result of the insights report. */\n readonly result?: InsightResultUnion;\n}\n\nexport function insightSerializer(item: Insight): any {\n return {\n displayName: item[\"displayName\"],\n request: insightRequestUnionSerializer(item[\"request\"]),\n };\n}\n\nexport function insightDeserializer(item: any): Insight {\n return {\n id: item[\"id\"],\n metadata: insightsMetadataDeserializer(item[\"metadata\"]),\n state: item[\"state\"],\n displayName: item[\"displayName\"],\n request: insightRequestUnionDeserializer(item[\"request\"]),\n result: !item[\"result\"] ? item[\"result\"] : insightResultUnionDeserializer(item[\"result\"]),\n };\n}\n\n/** Metadata about the insights. */\nexport interface InsightsMetadata {\n /** The timestamp when the insights were created. */\n createdAt: Date;\n /** The timestamp when the insights were completed. */\n completedAt?: Date;\n}\n\nexport function insightsMetadataDeserializer(item: any): InsightsMetadata {\n return {\n createdAt: new Date(item[\"createdAt\"]),\n completedAt: !item[\"completedAt\"] ? item[\"completedAt\"] : new Date(item[\"completedAt\"]),\n };\n}\n\n/** Enum describing allowed operation states. */\nexport type OperationState = \"NotStarted\" | \"Running\" | \"Succeeded\" | \"Failed\" | \"Canceled\";\n\n/** The request of the insights report. */\nexport interface InsightRequest {\n /** The type of request. */\n /** The discriminator possible values: EvaluationRunClusterInsight, AgentClusterInsight, EvaluationComparison */\n type: InsightType;\n}\n\nexport function insightRequestSerializer(item: InsightRequest): any {\n return { type: item[\"type\"] };\n}\n\nexport function insightRequestDeserializer(item: any): InsightRequest {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for InsightRequestUnion */\nexport type InsightRequestUnion =\n | EvaluationRunClusterInsightRequest\n | AgentClusterInsightRequest\n | EvaluationComparisonInsightRequest\n | InsightRequest;\n\nexport function insightRequestUnionSerializer(item: InsightRequestUnion): any {\n switch (item.type) {\n case \"EvaluationRunClusterInsight\":\n return evaluationRunClusterInsightRequestSerializer(\n item as EvaluationRunClusterInsightRequest,\n );\n\n case \"AgentClusterInsight\":\n return agentClusterInsightRequestSerializer(item as AgentClusterInsightRequest);\n\n case \"EvaluationComparison\":\n return evaluationComparisonInsightRequestSerializer(\n item as EvaluationComparisonInsightRequest,\n );\n\n default:\n return insightRequestSerializer(item);\n }\n}\n\nexport function insightRequestUnionDeserializer(item: any): InsightRequestUnion {\n switch (item.type) {\n case \"EvaluationRunClusterInsight\":\n return evaluationRunClusterInsightRequestDeserializer(\n item as EvaluationRunClusterInsightRequest,\n );\n\n case \"AgentClusterInsight\":\n return agentClusterInsightRequestDeserializer(item as AgentClusterInsightRequest);\n\n case \"EvaluationComparison\":\n return evaluationComparisonInsightRequestDeserializer(\n item as EvaluationComparisonInsightRequest,\n );\n\n default:\n return insightRequestDeserializer(item);\n }\n}\n\n/** The request of the insights. */\nexport type InsightType =\n | \"EvaluationRunClusterInsight\"\n | \"AgentClusterInsight\"\n | \"EvaluationComparison\";\n\n/** Insights on set of Evaluation Results */\nexport interface EvaluationRunClusterInsightRequest extends InsightRequest {\n /** The type of insights request. */\n type: \"EvaluationRunClusterInsight\";\n /** Evaluation Id for the insights. */\n evalId: string;\n /** List of evaluation run IDs for the insights. */\n runIds: string[];\n /** Configuration of the model used in the insight generation. */\n modelConfiguration?: InsightModelConfiguration;\n}\n\nexport function evaluationRunClusterInsightRequestSerializer(\n item: EvaluationRunClusterInsightRequest,\n): any {\n return {\n type: item[\"type\"],\n evalId: item[\"evalId\"],\n runIds: item[\"runIds\"],\n modelConfiguration: !item[\"modelConfiguration\"]\n ? item[\"modelConfiguration\"]\n : insightModelConfigurationSerializer(item[\"modelConfiguration\"]),\n };\n}\n\nexport function evaluationRunClusterInsightRequestDeserializer(\n item: any,\n): EvaluationRunClusterInsightRequest {\n return {\n type: item[\"type\"],\n evalId: item[\"evalId\"],\n runIds: item[\"runIds\"],\n modelConfiguration: !item[\"modelConfiguration\"]\n ? item[\"modelConfiguration\"]\n : insightModelConfigurationDeserializer(item[\"modelConfiguration\"]),\n };\n}\n\n/** Configuration of the model used in the insight generation. */\nexport interface InsightModelConfiguration {\n /** The model deployment to be evaluated. Accepts either the deployment name alone or with the connection name as '{connectionName}/<modelDeploymentName>'. */\n modelDeploymentName: string;\n}\n\nexport function insightModelConfigurationSerializer(item: InsightModelConfiguration): any {\n return { modelDeploymentName: item[\"modelDeploymentName\"] };\n}\n\nexport function insightModelConfigurationDeserializer(item: any): InsightModelConfiguration {\n return {\n modelDeploymentName: item[\"modelDeploymentName\"],\n };\n}\n\n/** Insights on set of Agent Evaluation Results */\nexport interface AgentClusterInsightRequest extends InsightRequest {\n /** The type of request. */\n type: \"AgentClusterInsight\";\n /** Identifier for the agent. */\n agentName: string;\n /** Configuration of the model used in the insight generation. */\n modelConfiguration?: InsightModelConfiguration;\n}\n\nexport function agentClusterInsightRequestSerializer(item: AgentClusterInsightRequest): any {\n return {\n type: item[\"type\"],\n agentName: item[\"agentName\"],\n modelConfiguration: !item[\"modelConfiguration\"]\n ? item[\"modelConfiguration\"]\n : insightModelConfigurationSerializer(item[\"modelConfiguration\"]),\n };\n}\n\nexport function agentClusterInsightRequestDeserializer(item: any): AgentClusterInsightRequest {\n return {\n type: item[\"type\"],\n agentName: item[\"agentName\"],\n modelConfiguration: !item[\"modelConfiguration\"]\n ? item[\"modelConfiguration\"]\n : insightModelConfigurationDeserializer(item[\"modelConfiguration\"]),\n };\n}\n\n/** Evaluation Comparison Request */\nexport interface EvaluationComparisonInsightRequest extends InsightRequest {\n /** The type of request. */\n type: \"EvaluationComparison\";\n /** Identifier for the evaluation. */\n evalId: string;\n /** The baseline run ID for comparison. */\n baselineRunId: string;\n /** List of treatment run IDs for comparison. */\n treatmentRunIds: string[];\n}\n\nexport function evaluationComparisonInsightRequestSerializer(\n item: EvaluationComparisonInsightRequest,\n): any {\n return {\n type: item[\"type\"],\n evalId: item[\"evalId\"],\n baselineRunId: item[\"baselineRunId\"],\n treatmentRunIds: item[\"treatmentRunIds\"],\n };\n}\n\nexport function evaluationComparisonInsightRequestDeserializer(\n item: any,\n): EvaluationComparisonInsightRequest {\n return {\n type: item[\"type\"],\n evalId: item[\"evalId\"],\n baselineRunId: item[\"baselineRunId\"],\n treatmentRunIds: item[\"treatmentRunIds\"],\n };\n}\n\n/** The result of the insights. */\nexport interface InsightResult {\n /** The type of insights result. */\n /** The discriminator possible values: EvaluationComparison, EvaluationRunClusterInsight, AgentClusterInsight */\n type: InsightType;\n}\n\nexport function insightResultDeserializer(item: any): InsightResult {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for InsightResultUnion */\nexport type InsightResultUnion =\n | EvaluationComparisonInsightResult\n | EvaluationRunClusterInsightResult\n | AgentClusterInsightResult\n | InsightResult;\n\nexport function insightResultUnionDeserializer(item: any): InsightResultUnion {\n switch (item.type) {\n case \"EvaluationComparison\":\n return evaluationComparisonInsightResultDeserializer(\n item as EvaluationComparisonInsightResult,\n );\n\n case \"EvaluationRunClusterInsight\":\n return evaluationRunClusterInsightResultDeserializer(\n item as EvaluationRunClusterInsightResult,\n );\n\n case \"AgentClusterInsight\":\n return agentClusterInsightResultDeserializer(item as AgentClusterInsightResult);\n\n default:\n return insightResultDeserializer(item);\n }\n}\n\n/** Insights from the evaluation comparison. */\nexport interface EvaluationComparisonInsightResult extends InsightResult {\n /** The type of insights result. */\n type: \"EvaluationComparison\";\n /** Comparison results for each treatment run against the baseline. */\n comparisons: EvalRunResultComparison[];\n /** The statistical method used for comparison. */\n method: string;\n}\n\nexport function evaluationComparisonInsightResultDeserializer(\n item: any,\n): EvaluationComparisonInsightResult {\n return {\n type: item[\"type\"],\n comparisons: evalRunResultComparisonArrayDeserializer(item[\"comparisons\"]),\n method: item[\"method\"],\n };\n}\n\nexport function evalRunResultComparisonArrayDeserializer(\n result: Array<EvalRunResultComparison>,\n): any[] {\n return result.map((item) => {\n return evalRunResultComparisonDeserializer(item);\n });\n}\n\n/** Comparison results for treatment runs against the baseline. */\nexport interface EvalRunResultComparison {\n /** Name of the testing criteria. */\n testingCriteria: string;\n /** Metric being evaluated. */\n metric: string;\n /** Name of the evaluator for this testing criteria. */\n evaluator: string;\n /** Summary statistics of the baseline run. */\n baselineRunSummary: EvalRunResultSummary;\n /** List of comparison results for each treatment run. */\n compareItems: EvalRunResultCompareItem[];\n}\n\nexport function evalRunResultComparisonDeserializer(item: any): EvalRunResultComparison {\n return {\n testingCriteria: item[\"testingCriteria\"],\n metric: item[\"metric\"],\n evaluator: item[\"evaluator\"],\n baselineRunSummary: evalRunResultSummaryDeserializer(item[\"baselineRunSummary\"]),\n compareItems: evalRunResultCompareItemArrayDeserializer(item[\"compareItems\"]),\n };\n}\n\n/** Summary statistics of a metric in an evaluation run. */\nexport interface EvalRunResultSummary {\n /** The evaluation run ID. */\n runId: string;\n /** Number of samples in the evaluation run. */\n sampleCount: number;\n /** Average value of the metric in the evaluation run. */\n average: number;\n /** Standard deviation of the metric in the evaluation run. */\n standardDeviation: number;\n}\n\nexport function evalRunResultSummaryDeserializer(item: any): EvalRunResultSummary {\n return {\n runId: item[\"runId\"],\n sampleCount: item[\"sampleCount\"],\n average: item[\"average\"],\n standardDeviation: item[\"standardDeviation\"],\n };\n}\n\nexport function evalRunResultCompareItemArrayDeserializer(\n result: Array<EvalRunResultCompareItem>,\n): any[] {\n return result.map((item) => {\n return evalRunResultCompareItemDeserializer(item);\n });\n}\n\n/** Metric comparison for a treatment against the baseline. */\nexport interface EvalRunResultCompareItem {\n /** The treatment run ID. */\n treatmentRunId: string;\n /** Summary statistics of the treatment run. */\n treatmentRunSummary: EvalRunResultSummary;\n /** Estimated difference between treatment and baseline. */\n deltaEstimate: number;\n /** P-value for the treatment effect. */\n pValue: number;\n /** Type of treatment effect. */\n treatmentEffect: TreatmentEffectType;\n}\n\nexport function evalRunResultCompareItemDeserializer(item: any): EvalRunResultCompareItem {\n return {\n treatmentRunId: item[\"treatmentRunId\"],\n treatmentRunSummary: evalRunResultSummaryDeserializer(item[\"treatmentRunSummary\"]),\n deltaEstimate: item[\"deltaEstimate\"],\n pValue: item[\"pValue\"],\n treatmentEffect: item[\"treatmentEffect\"],\n };\n}\n\n/** Treatment Effect Type. */\nexport type TreatmentEffectType =\n | \"TooFewSamples\"\n | \"Inconclusive\"\n | \"Changed\"\n | \"Improved\"\n | \"Degraded\";\n\n/** Insights from the evaluation run cluster analysis. */\nexport interface EvaluationRunClusterInsightResult extends InsightResult {\n /** The type of insights result. */\n type: \"EvaluationRunClusterInsight\";\n /** The cluster insight details. */\n clusterInsight: ClusterInsightResult;\n}\n\nexport function evaluationRunClusterInsightResultDeserializer(\n item: any,\n): EvaluationRunClusterInsightResult {\n return {\n type: item[\"type\"],\n clusterInsight: clusterInsightResultDeserializer(item[\"clusterInsight\"]),\n };\n}\n\n/** Insights from the cluster analysis. */\nexport interface ClusterInsightResult {\n /** Summary of the insights report. */\n summary: InsightSummary;\n /** List of clusters identified in the insights. */\n clusters: InsightCluster[];\n /**\n * Optional mapping of IDs to 2D coordinates used by the UX for visualization.\n *\n * The map keys are string identifiers (for example, a cluster id or a sample id)\n * and the values are the coordinates and visual size for rendering on a 2D chart.\n *\n * This property is omitted unless the client requests coordinates (for example,\n * by passing `includeCoordinates=true` as a query parameter).\n *\n * Example:\n * ```\n * {\n * \"cluster-1\": { \"x\": 12, \"y\": 34, \"size\": 8 },\n * \"sample-123\": { \"x\": 18, \"y\": 22, \"size\": 4 }\n * }\n * ```\n *\n * Coordinates are intended only for client-side visualization and do not\n * modify the canonical insights results.\n */\n coordinates?: Record<string, ChartCoordinate>;\n}\n\nexport function clusterInsightResultDeserializer(item: any): ClusterInsightResult {\n return {\n summary: insightSummaryDeserializer(item[\"summary\"]),\n clusters: insightClusterArrayDeserializer(item[\"clusters\"]),\n coordinates: !item[\"coordinates\"]\n ? item[\"coordinates\"]\n : chartCoordinateRecordDeserializer(item[\"coordinates\"]),\n };\n}\n\n/** Summary of the error cluster analysis. */\nexport interface InsightSummary {\n /** Total number of samples analyzed. */\n sampleCount: number;\n /** Total number of unique subcluster labels. */\n uniqueSubclusterCount: number;\n /** Total number of unique clusters. */\n uniqueClusterCount: number;\n /** Method used for clustering. */\n method: string;\n /** Token usage while performing clustering analysis */\n usage: ClusterTokenUsage;\n}\n\nexport function insightSummaryDeserializer(item: any): InsightSummary {\n return {\n sampleCount: item[\"sampleCount\"],\n uniqueSubclusterCount: item[\"uniqueSubclusterCount\"],\n uniqueClusterCount: item[\"uniqueClusterCount\"],\n method: item[\"method\"],\n usage: clusterTokenUsageDeserializer(item[\"usage\"]),\n };\n}\n\n/** Token usage for cluster analysis */\nexport interface ClusterTokenUsage {\n /** input token usage */\n inputTokenUsage: number;\n /** output token usage */\n outputTokenUsage: number;\n /** total token usage */\n totalTokenUsage: number;\n}\n\nexport function clusterTokenUsageDeserializer(item: any): ClusterTokenUsage {\n return {\n inputTokenUsage: item[\"inputTokenUsage\"],\n outputTokenUsage: item[\"outputTokenUsage\"],\n totalTokenUsage: item[\"totalTokenUsage\"],\n };\n}\n\nexport function insightClusterArrayDeserializer(result: Array<InsightCluster>): any[] {\n return result.map((item) => {\n return insightClusterDeserializer(item);\n });\n}\n\n/** A cluster of analysis samples. */\nexport interface InsightCluster {\n /** The id of the analysis cluster. */\n id: string;\n /** Label for the cluster */\n label: string;\n /** Suggestion for the cluster */\n suggestion: string;\n /** The title of the suggestion for the cluster */\n suggestionTitle: string;\n /** Description of the analysis cluster. */\n description: string;\n /** The weight of the analysis cluster. This indicate number of samples in the cluster. */\n weight: number;\n /** List of subclusters within this cluster. Empty if no subclusters exist. */\n subClusters?: InsightCluster[];\n /** List of samples that belong to this cluster. Empty if samples are part of subclusters. */\n samples?: InsightSampleUnion[];\n}\n\nexport function insightClusterDeserializer(item: any): InsightCluster {\n return {\n id: item[\"id\"],\n label: item[\"label\"],\n suggestion: item[\"suggestion\"],\n suggestionTitle: item[\"suggestionTitle\"],\n description: item[\"description\"],\n weight: item[\"weight\"],\n subClusters: !item[\"subClusters\"]\n ? item[\"subClusters\"]\n : insightClusterArrayDeserializer(item[\"subClusters\"]),\n samples: !item[\"samples\"]\n ? item[\"samples\"]\n : insightSampleUnionArrayDeserializer(item[\"samples\"]),\n };\n}\n\nexport function insightSampleUnionArrayDeserializer(result: Array<InsightSampleUnion>): any[] {\n return result.map((item) => {\n return insightSampleUnionDeserializer(item);\n });\n}\n\n/** A sample from the analysis. */\nexport interface InsightSample {\n /** The unique identifier for the analysis sample. */\n id: string;\n /** Sample type */\n /** The discriminator possible values: EvaluationResultSample */\n type: SampleType;\n /** Features to help with additional filtering of data in UX. */\n features: Record<string, unknown>;\n /** Info about the correlation for the analysis sample. */\n correlationInfo: Record<string, unknown>;\n}\n\nexport function insightSampleDeserializer(item: any): InsightSample {\n return {\n id: item[\"id\"],\n type: item[\"type\"],\n features: item[\"features\"],\n correlationInfo: item[\"correlationInfo\"],\n };\n}\n\n/** Alias for InsightSampleUnion */\nexport type InsightSampleUnion = EvaluationResultSample | InsightSample;\n\nexport function insightSampleUnionDeserializer(item: any): InsightSampleUnion {\n switch (item.type) {\n case \"EvaluationResultSample\":\n return evaluationResultSampleDeserializer(item as EvaluationResultSample);\n\n default:\n return insightSampleDeserializer(item);\n }\n}\n\n/** The type of sample used in the analysis. */\nexport type SampleType = \"EvaluationResultSample\";\n\n/** A sample from the evaluation result. */\nexport interface EvaluationResultSample extends InsightSample {\n /** Evaluation Result Sample Type */\n type: \"EvaluationResultSample\";\n /** Evaluation result for the analysis sample. */\n evaluationResult: EvalResult;\n}\n\nexport function evaluationResultSampleDeserializer(item: any): EvaluationResultSample {\n return {\n id: item[\"id\"],\n type: item[\"type\"],\n features: item[\"features\"],\n correlationInfo: item[\"correlationInfo\"],\n evaluationResult: evalResultDeserializer(item[\"evaluationResult\"]),\n };\n}\n\n/** Result of the evaluation. */\nexport interface EvalResult {\n /** name of the check */\n name: string;\n /** type of the check */\n type: string;\n /** score */\n score: number;\n /** indicates if the check passed or failed */\n passed: boolean;\n}\n\nexport function evalResultDeserializer(item: any): EvalResult {\n return {\n name: item[\"name\"],\n type: item[\"type\"],\n score: item[\"score\"],\n passed: item[\"passed\"],\n };\n}\n\nexport function chartCoordinateRecordDeserializer(\n item: Record<string, any>,\n): Record<string, ChartCoordinate> {\n const result: Record<string, any> = {};\n Object.keys(item).forEach((key) => {\n result[key] = !item[key] ? item[key] : chartCoordinateDeserializer(item[key]);\n });\n return result;\n}\n\n/** Coordinates for the analysis chart. */\nexport interface ChartCoordinate {\n /** X-axis coordinate. */\n x: number;\n /** Y-axis coordinate. */\n y: number;\n /** Size of the chart element. */\n size: number;\n}\n\nexport function chartCoordinateDeserializer(item: any): ChartCoordinate {\n return {\n x: item[\"x\"],\n y: item[\"y\"],\n size: item[\"size\"],\n };\n}\n\n/** Insights from the agent cluster analysis. */\nexport interface AgentClusterInsightResult extends InsightResult {\n /** The type of insights result. */\n type: \"AgentClusterInsight\";\n /** The cluster insight details. */\n clusterInsight: ClusterInsightResult;\n}\n\nexport function agentClusterInsightResultDeserializer(item: any): AgentClusterInsightResult {\n return {\n type: item[\"type\"],\n clusterInsight: clusterInsightResultDeserializer(item[\"clusterInsight\"]),\n };\n}\n\n/** Paged collection of Insight items */\nexport interface _PagedInsight {\n /** The Insight items on this page */\n value: Insight[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _pagedInsightDeserializer(item: any): _PagedInsight {\n return {\n value: insightArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function insightArraySerializer(result: Array<Insight>): any[] {\n return result.map((item) => {\n return insightSerializer(item);\n });\n}\n\nexport function insightArrayDeserializer(result: Array<Insight>): any[] {\n return result.map((item) => {\n return insightDeserializer(item);\n });\n}\n\n/** Base definition for memory store configurations. */\nexport interface MemoryStoreDefinition {\n /** The kind of the memory store. */\n /** The discriminator possible values: default */\n kind: MemoryStoreKind;\n}\n\nexport function memoryStoreDefinitionSerializer(item: MemoryStoreDefinition): any {\n return { kind: item[\"kind\"] };\n}\n\nexport function memoryStoreDefinitionDeserializer(item: any): MemoryStoreDefinition {\n return {\n kind: item[\"kind\"],\n };\n}\n\n/** Alias for MemoryStoreDefinitionUnion */\nexport type MemoryStoreDefinitionUnion = MemoryStoreDefaultDefinition | MemoryStoreDefinition;\n\nexport function memoryStoreDefinitionUnionSerializer(item: MemoryStoreDefinitionUnion): any {\n switch (item.kind) {\n case \"default\":\n return memoryStoreDefaultDefinitionSerializer(item as MemoryStoreDefaultDefinition);\n\n default:\n return memoryStoreDefinitionSerializer(item);\n }\n}\n\nexport function memoryStoreDefinitionUnionDeserializer(item: any): MemoryStoreDefinitionUnion {\n switch (item.kind) {\n case \"default\":\n return memoryStoreDefaultDefinitionDeserializer(item as MemoryStoreDefaultDefinition);\n\n default:\n return memoryStoreDefinitionDeserializer(item);\n }\n}\n\n/** The type of memory store implementation to use. */\nexport type MemoryStoreKind = \"default\";\n\n/** Default memory store implementation. */\nexport interface MemoryStoreDefaultDefinition extends MemoryStoreDefinition {\n /** The kind of the memory store. */\n kind: \"default\";\n /** The name or identifier of the chat completion model deployment used for memory processing. */\n chat_model: string;\n /** The name or identifier of the embedding model deployment used for memory processing. */\n embedding_model: string;\n /** Default memory store options. */\n options?: MemoryStoreDefaultOptions;\n}\n\nexport function memoryStoreDefaultDefinitionSerializer(item: MemoryStoreDefaultDefinition): any {\n return {\n kind: item[\"kind\"],\n chat_model: item[\"chat_model\"],\n embedding_model: item[\"embedding_model\"],\n options: !item[\"options\"]\n ? item[\"options\"]\n : memoryStoreDefaultOptionsSerializer(item[\"options\"]),\n };\n}\n\nexport function memoryStoreDefaultDefinitionDeserializer(item: any): MemoryStoreDefaultDefinition {\n return {\n kind: item[\"kind\"],\n chat_model: item[\"chat_model\"],\n embedding_model: item[\"embedding_model\"],\n options: !item[\"options\"]\n ? item[\"options\"]\n : memoryStoreDefaultOptionsDeserializer(item[\"options\"]),\n };\n}\n\n/** Default memory store configurations. */\nexport interface MemoryStoreDefaultOptions {\n /** Whether to enable user profile extraction and storage. Default is true. */\n user_profile_enabled: boolean;\n /** Specific categories or types of user profile information to extract and store. */\n user_profile_details?: string;\n /** Whether to enable chat summary extraction and storage. Default is true. */\n chat_summary_enabled: boolean;\n}\n\nexport function memoryStoreDefaultOptionsSerializer(item: MemoryStoreDefaultOptions): any {\n return {\n user_profile_enabled: item[\"user_profile_enabled\"],\n user_profile_details: item[\"user_profile_details\"],\n chat_summary_enabled: item[\"chat_summary_enabled\"],\n };\n}\n\nexport function memoryStoreDefaultOptionsDeserializer(item: any): MemoryStoreDefaultOptions {\n return {\n user_profile_enabled: item[\"user_profile_enabled\"],\n user_profile_details: item[\"user_profile_details\"],\n chat_summary_enabled: item[\"chat_summary_enabled\"],\n };\n}\n\n/** A memory store that can store and retrieve user memories. */\nexport interface MemoryStore {\n /** The object type, which is always 'memory_store'. */\n object: \"memory_store\";\n /** The unique identifier of the memory store. */\n id: string;\n /** The Unix timestamp (seconds) when the memory store was created. */\n created_at: Date;\n /** The Unix timestamp (seconds) when the memory store was last updated. */\n updated_at: Date;\n /** The name of the memory store. */\n name: string;\n /** A human-readable description of the memory store. */\n description?: string;\n /** Arbitrary key-value metadata to associate with the memory store. */\n metadata?: Record<string, string>;\n /** The definition of the memory store. */\n definition: MemoryStoreDefinitionUnion;\n}\n\nexport function memoryStoreDeserializer(item: any): MemoryStore {\n return {\n object: item[\"object\"],\n id: item[\"id\"],\n created_at: new Date(item[\"created_at\"] * 1000),\n updated_at: new Date(item[\"updated_at\"] * 1000),\n name: item[\"name\"],\n description: item[\"description\"],\n metadata: item[\"metadata\"],\n definition: memoryStoreDefinitionUnionDeserializer(item[\"definition\"]),\n };\n}\n\n/** The response data for a requested list of items. */\nexport interface _AgentsPagedResultMemoryStoreObject {\n /** The requested list of items. */\n data: MemoryStore[];\n /** The first ID represented in this list. */\n first_id?: string;\n /** The last ID represented in this list. */\n last_id?: string;\n /** A value indicating whether there are additional values available not captured in this list. */\n has_more: boolean;\n}\n\nexport function _agentsPagedResultMemoryStoreObjectDeserializer(\n item: any,\n): _AgentsPagedResultMemoryStoreObject {\n return {\n data: memoryStoreArrayDeserializer(item[\"data\"]),\n first_id: item[\"first_id\"],\n last_id: item[\"last_id\"],\n has_more: item[\"has_more\"],\n };\n}\n\nexport function memoryStoreArrayDeserializer(result: Array<MemoryStore>): any[] {\n return result.map((item) => {\n return memoryStoreDeserializer(item);\n });\n}\n\n/** model interface DeleteMemoryStoreResponse */\nexport interface DeleteMemoryStoreResponse {\n /** The object type. Always 'memory_store.deleted'. */\n object: \"memory_store.deleted\";\n /** The name of the memory store. */\n name: string;\n /** Whether the memory store was successfully deleted. */\n deleted: boolean;\n}\n\nexport function deleteMemoryStoreResponseDeserializer(item: any): DeleteMemoryStoreResponse {\n return {\n object: item[\"object\"],\n name: item[\"name\"],\n deleted: item[\"deleted\"],\n };\n}\n\n/** Memory search response. */\nexport interface MemoryStoreSearchResponse {\n /** The unique ID of this search request. Use this value as previous_search_id in subsequent requests to perform incremental searches. */\n search_id: string;\n /** Related memory items found during the search operation. */\n memories: MemorySearchItem[];\n /** Usage statistics associated with the memory search operation. */\n usage: MemoryStoreOperationUsage;\n}\n\nexport function memoryStoreSearchResponseDeserializer(item: any): MemoryStoreSearchResponse {\n return {\n search_id: item[\"search_id\"],\n memories: memorySearchItemArrayDeserializer(item[\"memories\"]),\n usage: memoryStoreOperationUsageDeserializer(item[\"usage\"]),\n };\n}\n\nexport function memorySearchItemArrayDeserializer(result: Array<MemorySearchItem>): any[] {\n return result.map((item) => {\n return memorySearchItemDeserializer(item);\n });\n}\n\n/** A retrieved memory item from memory search. */\nexport interface MemorySearchItem {\n /** Retrieved memory item. */\n memory_item: MemoryItemUnion;\n}\n\nexport function memorySearchItemDeserializer(item: any): MemorySearchItem {\n return {\n memory_item: memoryItemUnionDeserializer(item[\"memory_item\"]),\n };\n}\n\n/** A single memory item stored in the memory store, containing content and metadata. */\nexport interface MemoryItem {\n /** The unique ID of the memory item. */\n memory_id: string;\n /** The last update time of the memory item. */\n updated_at: Date;\n /** The namespace that logically groups and isolates memories, such as a user ID. */\n scope: string;\n /** The content of the memory. */\n content: string;\n /** The kind of the memory item. */\n /** The discriminator possible values: user_profile, chat_summary */\n kind: MemoryItemKind;\n}\n\nexport function memoryItemDeserializer(item: any): MemoryItem {\n return {\n memory_id: item[\"memory_id\"],\n updated_at: new Date(item[\"updated_at\"] * 1000),\n scope: item[\"scope\"],\n content: item[\"content\"],\n kind: item[\"kind\"],\n };\n}\n\n/** Alias for MemoryItemUnion */\nexport type MemoryItemUnion = UserProfileMemoryItem | ChatSummaryMemoryItem | MemoryItem;\n\nexport function memoryItemUnionDeserializer(item: any): MemoryItemUnion {\n switch (item.kind) {\n case \"user_profile\":\n return userProfileMemoryItemDeserializer(item as UserProfileMemoryItem);\n\n case \"chat_summary\":\n return chatSummaryMemoryItemDeserializer(item as ChatSummaryMemoryItem);\n\n default:\n return memoryItemDeserializer(item);\n }\n}\n\n/** Memory item kind. */\nexport type MemoryItemKind = \"user_profile\" | \"chat_summary\";\n\n/** A memory item specifically containing user profile information extracted from conversations, such as preferences, interests, and personal details. */\nexport interface UserProfileMemoryItem extends MemoryItem {\n /** The kind of the memory item. */\n kind: \"user_profile\";\n}\n\nexport function userProfileMemoryItemDeserializer(item: any): UserProfileMemoryItem {\n return {\n memory_id: item[\"memory_id\"],\n updated_at: new Date(item[\"updated_at\"] * 1000),\n scope: item[\"scope\"],\n content: item[\"content\"],\n kind: item[\"kind\"],\n };\n}\n\n/** A memory item containing a summary extracted from conversations. */\nexport interface ChatSummaryMemoryItem extends MemoryItem {\n /** The kind of the memory item. */\n kind: \"chat_summary\";\n}\n\nexport function chatSummaryMemoryItemDeserializer(item: any): ChatSummaryMemoryItem {\n return {\n memory_id: item[\"memory_id\"],\n updated_at: new Date(item[\"updated_at\"] * 1000),\n scope: item[\"scope\"],\n content: item[\"content\"],\n kind: item[\"kind\"],\n };\n}\n\n/** Usage statistics of a memory store operation. */\nexport interface MemoryStoreOperationUsage {\n /** The number of embedding tokens. */\n embedding_tokens: number;\n /** The number of input tokens. */\n input_tokens: number;\n /** A detailed breakdown of the input tokens. */\n input_tokens_details: ResponseUsageInputTokensDetails;\n /** The number of output tokens. */\n output_tokens: number;\n /** A detailed breakdown of the output tokens. */\n output_tokens_details: ResponseUsageOutputTokensDetails;\n /** The total number of tokens used. */\n total_tokens: number;\n}\n\nexport function memoryStoreOperationUsageDeserializer(item: any): MemoryStoreOperationUsage {\n return {\n embedding_tokens: item[\"embedding_tokens\"],\n input_tokens: item[\"input_tokens\"],\n input_tokens_details: responseUsageInputTokensDetailsDeserializer(item[\"input_tokens_details\"]),\n output_tokens: item[\"output_tokens\"],\n output_tokens_details: responseUsageOutputTokensDetailsDeserializer(\n item[\"output_tokens_details\"],\n ),\n total_tokens: item[\"total_tokens\"],\n };\n}\n\n/** model interface ResponseUsageInputTokensDetails */\nexport interface ResponseUsageInputTokensDetails {\n /** The number of cached input tokens used. */\n cached_tokens: number;\n}\n\nexport function responseUsageInputTokensDetailsDeserializer(\n item: any,\n): ResponseUsageInputTokensDetails {\n return {\n cached_tokens: item[\"cached_tokens\"],\n };\n}\n\n/** model interface ResponseUsageOutputTokensDetails */\nexport interface ResponseUsageOutputTokensDetails {\n /** The number of output tokens used for reasoning. */\n reasoning_tokens: number;\n}\n\nexport function responseUsageOutputTokensDetailsDeserializer(\n item: any,\n): ResponseUsageOutputTokensDetails {\n return {\n reasoning_tokens: item[\"reasoning_tokens\"],\n };\n}\n\n/** Provides the status of a memory store update operation. */\nexport interface MemoryStoreUpdateResponse {\n /** The unique ID of this update request. Use this value as previous_update_id in subsequent requests to perform incremental updates. */\n update_id: string;\n /** The status of the memory update operation. One of \"queued\", \"in_progress\", \"completed\", \"failed\", or \"superseded\". */\n status: MemoryStoreUpdateStatus;\n /** The update_id the operation was superseded by when status is \"superseded\". */\n superseded_by?: string;\n /** The result of memory store update operation when status is \"completed\". */\n result?: MemoryStoreUpdateCompletedResult;\n /** Error object that describes the error when status is \"failed\". */\n error?: ErrorModel;\n}\n\nexport function memoryStoreUpdateResponseDeserializer(item: any): MemoryStoreUpdateResponse {\n return {\n update_id: item[\"update_id\"],\n status: item[\"status\"],\n superseded_by: item[\"superseded_by\"],\n result: !item[\"result\"]\n ? item[\"result\"]\n : memoryStoreUpdateCompletedResultDeserializer(item[\"result\"]),\n error: !item[\"error\"] ? item[\"error\"] : errorDeserializer(item[\"error\"]),\n };\n}\n\n/** Status of a memory store update operation. */\nexport type MemoryStoreUpdateStatus =\n | \"queued\"\n | \"in_progress\"\n | \"completed\"\n | \"failed\"\n | \"superseded\";\n\n/** Memory update result. */\nexport interface MemoryStoreUpdateCompletedResult {\n /** A list of individual memory operations that were performed during the update. */\n memory_operations: MemoryOperation[];\n /** Usage statistics associated with the memory update operation. */\n usage: MemoryStoreOperationUsage;\n}\n\nexport function memoryStoreUpdateCompletedResultDeserializer(\n item: any,\n): MemoryStoreUpdateCompletedResult {\n return {\n memory_operations: memoryOperationArrayDeserializer(item[\"memory_operations\"]),\n usage: memoryStoreOperationUsageDeserializer(item[\"usage\"]),\n };\n}\n\nexport function memoryOperationArrayDeserializer(result: Array<MemoryOperation>): any[] {\n return result.map((item) => {\n return memoryOperationDeserializer(item);\n });\n}\n\n/** Represents a single memory operation (create, update, or delete) performed on a memory item. */\nexport interface MemoryOperation {\n /** The type of memory operation being performed. */\n kind: MemoryOperationKind;\n /** The memory item to create, update, or delete. */\n memory_item: MemoryItemUnion;\n}\n\nexport function memoryOperationDeserializer(item: any): MemoryOperation {\n return {\n kind: item[\"kind\"],\n memory_item: memoryItemUnionDeserializer(item[\"memory_item\"]),\n };\n}\n\n/** Memory operation kind. */\nexport type MemoryOperationKind = \"create\" | \"update\" | \"delete\";\n\n/** Response for deleting memories from a scope. */\nexport interface MemoryStoreDeleteScopeResponse {\n /** The object type. Always 'memory_store.scope.deleted'. */\n object: \"memory_store.scope.deleted\";\n /** The name of the memory store. */\n name: string;\n /** The scope from which memories were deleted. */\n scope: string;\n /** Whether the deletion operation was successful. */\n deleted: boolean;\n}\n\nexport function memoryStoreDeleteScopeResponseDeserializer(\n item: any,\n): MemoryStoreDeleteScopeResponse {\n return {\n object: item[\"object\"],\n name: item[\"name\"],\n scope: item[\"scope\"],\n deleted: item[\"deleted\"],\n };\n}\n\n/** Red team details. */\nexport interface RedTeam {\n /** Identifier of the red team run. */\n readonly name: string;\n /** Name of the red-team run. */\n displayName?: string;\n /** Number of simulation rounds. */\n numTurns?: number;\n /** List of attack strategies or nested lists of attack strategies. */\n attackStrategies?: AttackStrategy[];\n /** Simulation-only or Simulation + Evaluation. Default false, if true the scan outputs conversation not evaluation result. */\n simulationOnly?: boolean;\n /** List of risk categories to generate attack objectives for. */\n riskCategories?: RiskCategory[];\n /** Application scenario for the red team operation, to generate scenario specific attacks. */\n applicationScenario?: string;\n /** Red team's tags. Unlike properties, tags are fully mutable. */\n tags?: Record<string, string>;\n /** Red team's properties. Unlike tags, properties are add-only. Once added, a property cannot be removed. */\n properties?: Record<string, string>;\n /** Status of the red-team. It is set by service and is read-only. */\n readonly status?: string;\n /** Target configuration for the red-team run. */\n target?: TargetConfigUnion;\n}\n\nexport function redTeamSerializer(item: RedTeam): any {\n return {\n displayName: item[\"displayName\"],\n numTurns: item[\"numTurns\"],\n attackStrategies: item[\"attackStrategies\"],\n simulationOnly: item[\"simulationOnly\"],\n riskCategories: item[\"riskCategories\"],\n applicationScenario: item[\"applicationScenario\"],\n tags: item[\"tags\"],\n properties: item[\"properties\"],\n target: item[\"target\"] ? targetConfigUnionSerializer(item[\"target\"]) : undefined,\n };\n}\n\nexport function redTeamDeserializer(item: any): RedTeam {\n return {\n name: item[\"id\"],\n displayName: item[\"displayName\"],\n numTurns: item[\"numTurns\"],\n attackStrategies: item[\"attackStrategies\"],\n simulationOnly: item[\"simulationOnly\"],\n riskCategories: item[\"riskCategories\"],\n applicationScenario: item[\"applicationScenario\"],\n tags: item[\"tags\"],\n properties: item[\"properties\"],\n status: item[\"status\"],\n target: item[\"target\"] ? targetConfigUnionDeserializer(item[\"target\"]) : undefined,\n };\n}\n\n/** Strategies for attacks. */\nexport type AttackStrategy =\n | \"easy\"\n | \"moderate\"\n | \"difficult\"\n | \"ascii_art\"\n | \"ascii_smuggler\"\n | \"atbash\"\n | \"base64\"\n | \"binary\"\n | \"caesar\"\n | \"character_space\"\n | \"jailbreak\"\n | \"ansi_attack\"\n | \"character_swap\"\n | \"suffix_append\"\n | \"string_join\"\n | \"unicode_confusable\"\n | \"unicode_substitution\"\n | \"diacritic\"\n | \"flip\"\n | \"leetspeak\"\n | \"rot13\"\n | \"morse\"\n | \"url\"\n | \"baseline\"\n | \"indirect_jailbreak\"\n | \"tense\"\n | \"multi_turn\"\n | \"crescendo\";\n\n/** Abstract class for target configuration. */\nexport interface TargetConfig {\n /** Type of the model configuration. */\n /** The discriminator possible values: AzureOpenAIModel */\n type: string;\n}\n\nexport function targetConfigSerializer(item: TargetConfig): any {\n return { type: item[\"type\"] };\n}\n\nexport function targetConfigDeserializer(item: any): TargetConfig {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for TargetConfigUnion */\nexport type TargetConfigUnion = AzureOpenAIModelConfiguration | TargetConfig;\n\nexport function targetConfigUnionSerializer(item: TargetConfigUnion): any {\n switch (item.type) {\n case \"AzureOpenAIModel\":\n return azureOpenAIModelConfigurationSerializer(item as AzureOpenAIModelConfiguration);\n\n default:\n return targetConfigSerializer(item);\n }\n}\n\nexport function targetConfigUnionDeserializer(item: any): TargetConfigUnion {\n switch (item.type) {\n case \"AzureOpenAIModel\":\n return azureOpenAIModelConfigurationDeserializer(item as AzureOpenAIModelConfiguration);\n\n default:\n return targetConfigDeserializer(item);\n }\n}\n\n/** Azure OpenAI model configuration. The API version would be selected by the service for querying the model. */\nexport interface AzureOpenAIModelConfiguration extends TargetConfig {\n /** The type discriminator, always 'azure_openai'. */\n type: \"AzureOpenAIModel\";\n /** Deployment name for AOAI model. Example: gpt-4o if in AIServices or connection based `connection_name/deployment_name` (e.g. `my-aoai-connection/gpt-4o`). */\n modelDeploymentName: string;\n}\n\nexport function azureOpenAIModelConfigurationSerializer(item: AzureOpenAIModelConfiguration): any {\n return { type: item[\"type\"], modelDeploymentName: item[\"modelDeploymentName\"] };\n}\n\nexport function azureOpenAIModelConfigurationDeserializer(\n item: any,\n): AzureOpenAIModelConfiguration {\n return {\n type: item[\"type\"],\n modelDeploymentName: item[\"modelDeploymentName\"],\n };\n}\n\n/** Paged collection of RedTeam items */\nexport interface _PagedRedTeam {\n /** The RedTeam items on this page */\n value: RedTeam[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _pagedRedTeamDeserializer(item: any): _PagedRedTeam {\n return {\n value: redTeamArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function redTeamArraySerializer(result: Array<RedTeam>): any[] {\n return result.map((item) => {\n return redTeamSerializer(item);\n });\n}\n\nexport function redTeamArrayDeserializer(result: Array<RedTeam>): any[] {\n return result.map((item) => {\n return redTeamDeserializer(item);\n });\n}\n\n/** Schedule model. */\nexport interface Schedule {\n /** Identifier of the schedule. */\n readonly id?: string;\n /** Name of the schedule. */\n displayName?: string;\n /** Description of the schedule. */\n description?: string;\n /** Enabled status of the schedule. */\n enabled: boolean;\n /** Provisioning status of the schedule. */\n readonly provisioningStatus?: ScheduleProvisioningStatus;\n /** Trigger for the schedule. */\n trigger: TriggerUnion;\n /** Task for the schedule. */\n task: ScheduleTaskUnion;\n /** Schedule's tags. Unlike properties, tags are fully mutable. */\n tags?: Record<string, string>;\n /** Schedule's properties. Unlike tags, properties are add-only. Once added, a property cannot be removed. */\n properties?: Record<string, string>;\n /** System metadata for the resource. */\n readonly systemData?: Record<string, string>;\n}\n\nexport function scheduleSerializer(item: Schedule): any {\n return {\n displayName: item[\"displayName\"],\n description: item[\"description\"],\n enabled: item[\"enabled\"],\n trigger: triggerUnionSerializer(item[\"trigger\"]),\n task: scheduleTaskUnionSerializer(item[\"task\"]),\n tags: item[\"tags\"],\n properties: item[\"properties\"],\n };\n}\n\nexport function scheduleDeserializer(item: any): Schedule {\n return {\n id: item[\"id\"],\n displayName: item[\"displayName\"],\n description: item[\"description\"],\n enabled: item[\"enabled\"],\n provisioningStatus: item[\"provisioningStatus\"],\n trigger: triggerUnionDeserializer(item[\"trigger\"]),\n task: scheduleTaskUnionDeserializer(item[\"task\"]),\n tags: item[\"tags\"],\n properties: item[\"properties\"],\n systemData: item[\"systemData\"],\n };\n}\n\n/** Schedule provisioning status. */\nexport type ScheduleProvisioningStatus =\n | \"Creating\"\n | \"Updating\"\n | \"Deleting\"\n | \"Succeeded\"\n | \"Failed\";\n\n/** Base model for Trigger of the schedule. */\nexport interface Trigger {\n /** Type of the trigger. */\n /** The discriminator possible values: Cron, Recurrence, OneTime */\n type: TriggerType;\n}\n\nexport function triggerSerializer(item: Trigger): any {\n return { type: item[\"type\"] };\n}\n\nexport function triggerDeserializer(item: any): Trigger {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for TriggerUnion */\nexport type TriggerUnion = CronTrigger | RecurrenceTrigger | OneTimeTrigger | Trigger;\n\nexport function triggerUnionSerializer(item: TriggerUnion): any {\n switch (item.type) {\n case \"Cron\":\n return cronTriggerSerializer(item as CronTrigger);\n\n case \"Recurrence\":\n return recurrenceTriggerSerializer(item as RecurrenceTrigger);\n\n case \"OneTime\":\n return oneTimeTriggerSerializer(item as OneTimeTrigger);\n\n default:\n return triggerSerializer(item);\n }\n}\n\nexport function triggerUnionDeserializer(item: any): TriggerUnion {\n switch (item.type) {\n case \"Cron\":\n return cronTriggerDeserializer(item as CronTrigger);\n\n case \"Recurrence\":\n return recurrenceTriggerDeserializer(item as RecurrenceTrigger);\n\n case \"OneTime\":\n return oneTimeTriggerDeserializer(item as OneTimeTrigger);\n\n default:\n return triggerDeserializer(item);\n }\n}\n\n/** Type of the trigger. */\nexport type TriggerType = \"Cron\" | \"Recurrence\" | \"OneTime\";\n\n/** Cron based trigger. */\nexport interface CronTrigger extends Trigger {\n /** The type discriminator, always 'Cron'. */\n type: \"Cron\";\n /** Cron expression that defines the schedule frequency. */\n expression: string;\n /** Time zone for the cron schedule. */\n timeZone?: string;\n /** Start time for the cron schedule in ISO 8601 format. */\n startTime?: string;\n /** End time for the cron schedule in ISO 8601 format. */\n endTime?: string;\n}\n\nexport function cronTriggerSerializer(item: CronTrigger): any {\n return {\n type: item[\"type\"],\n expression: item[\"expression\"],\n timeZone: item[\"timeZone\"],\n startTime: item[\"startTime\"],\n endTime: item[\"endTime\"],\n };\n}\n\nexport function cronTriggerDeserializer(item: any): CronTrigger {\n return {\n type: item[\"type\"],\n expression: item[\"expression\"],\n timeZone: item[\"timeZone\"],\n startTime: item[\"startTime\"],\n endTime: item[\"endTime\"],\n };\n}\n\n/** Recurrence based trigger. */\nexport interface RecurrenceTrigger extends Trigger {\n /** Type of the trigger. */\n type: \"Recurrence\";\n /** Start time for the recurrence schedule in ISO 8601 format. */\n startTime?: string;\n /** End time for the recurrence schedule in ISO 8601 format. */\n endTime?: string;\n /** Time zone for the recurrence schedule. */\n timeZone?: string;\n /** Interval for the recurrence schedule. */\n interval: number;\n /** Recurrence schedule for the recurrence trigger. */\n schedule: RecurrenceScheduleUnion;\n}\n\nexport function recurrenceTriggerSerializer(item: RecurrenceTrigger): any {\n return {\n type: item[\"type\"],\n startTime: item[\"startTime\"],\n endTime: item[\"endTime\"],\n timeZone: item[\"timeZone\"],\n interval: item[\"interval\"],\n schedule: recurrenceScheduleUnionSerializer(item[\"schedule\"]),\n };\n}\n\nexport function recurrenceTriggerDeserializer(item: any): RecurrenceTrigger {\n return {\n type: item[\"type\"],\n startTime: item[\"startTime\"],\n endTime: item[\"endTime\"],\n timeZone: item[\"timeZone\"],\n interval: item[\"interval\"],\n schedule: recurrenceScheduleUnionDeserializer(item[\"schedule\"]),\n };\n}\n\n/** Recurrence schedule model. */\nexport interface RecurrenceSchedule {\n /** Recurrence type for the recurrence schedule. */\n /** The discriminator possible values: Hourly, Daily, Weekly, Monthly */\n type: RecurrenceType;\n}\n\nexport function recurrenceScheduleSerializer(item: RecurrenceSchedule): any {\n return { type: item[\"type\"] };\n}\n\nexport function recurrenceScheduleDeserializer(item: any): RecurrenceSchedule {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for RecurrenceScheduleUnion */\nexport type RecurrenceScheduleUnion =\n | HourlyRecurrenceSchedule\n | DailyRecurrenceSchedule\n | WeeklyRecurrenceSchedule\n | MonthlyRecurrenceSchedule\n | RecurrenceSchedule;\n\nexport function recurrenceScheduleUnionSerializer(item: RecurrenceScheduleUnion): any {\n switch (item.type) {\n case \"Hourly\":\n return hourlyRecurrenceScheduleSerializer(item as HourlyRecurrenceSchedule);\n\n case \"Daily\":\n return dailyRecurrenceScheduleSerializer(item as DailyRecurrenceSchedule);\n\n case \"Weekly\":\n return weeklyRecurrenceScheduleSerializer(item as WeeklyRecurrenceSchedule);\n\n case \"Monthly\":\n return monthlyRecurrenceScheduleSerializer(item as MonthlyRecurrenceSchedule);\n\n default:\n return recurrenceScheduleSerializer(item);\n }\n}\n\nexport function recurrenceScheduleUnionDeserializer(item: any): RecurrenceScheduleUnion {\n switch (item.type) {\n case \"Hourly\":\n return hourlyRecurrenceScheduleDeserializer(item as HourlyRecurrenceSchedule);\n\n case \"Daily\":\n return dailyRecurrenceScheduleDeserializer(item as DailyRecurrenceSchedule);\n\n case \"Weekly\":\n return weeklyRecurrenceScheduleDeserializer(item as WeeklyRecurrenceSchedule);\n\n case \"Monthly\":\n return monthlyRecurrenceScheduleDeserializer(item as MonthlyRecurrenceSchedule);\n\n default:\n return recurrenceScheduleDeserializer(item);\n }\n}\n\n/** Recurrence type. */\nexport type RecurrenceType = \"Hourly\" | \"Daily\" | \"Weekly\" | \"Monthly\";\n\n/** Hourly recurrence schedule. */\nexport interface HourlyRecurrenceSchedule extends RecurrenceSchedule {\n /** The type discriminator, always 'HourlyRecurrence'. */\n type: \"Hourly\";\n}\n\nexport function hourlyRecurrenceScheduleSerializer(item: HourlyRecurrenceSchedule): any {\n return { type: item[\"type\"] };\n}\n\nexport function hourlyRecurrenceScheduleDeserializer(item: any): HourlyRecurrenceSchedule {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Daily recurrence schedule. */\nexport interface DailyRecurrenceSchedule extends RecurrenceSchedule {\n /** Daily recurrence type. */\n type: \"Daily\";\n /** Hours for the recurrence schedule. */\n hours: number[];\n}\n\nexport function dailyRecurrenceScheduleSerializer(item: DailyRecurrenceSchedule): any {\n return {\n type: item[\"type\"],\n hours: item[\"hours\"],\n };\n}\n\nexport function dailyRecurrenceScheduleDeserializer(item: any): DailyRecurrenceSchedule {\n return {\n type: item[\"type\"],\n hours: item[\"hours\"],\n };\n}\n\n/** Weekly recurrence schedule. */\nexport interface WeeklyRecurrenceSchedule extends RecurrenceSchedule {\n /** Weekly recurrence type. */\n type: \"Weekly\";\n /** Days of the week for the recurrence schedule. */\n daysOfWeek: DayOfWeek[];\n}\n\nexport function weeklyRecurrenceScheduleSerializer(item: WeeklyRecurrenceSchedule): any {\n return {\n type: item[\"type\"],\n daysOfWeek: item[\"daysOfWeek\"],\n };\n}\n\nexport function weeklyRecurrenceScheduleDeserializer(item: any): WeeklyRecurrenceSchedule {\n return {\n type: item[\"type\"],\n daysOfWeek: item[\"daysOfWeek\"],\n };\n}\n\n/** Days of the week for recurrence schedule. */\nexport type DayOfWeek =\n | \"Sunday\"\n | \"Monday\"\n | \"Tuesday\"\n | \"Wednesday\"\n | \"Thursday\"\n | \"Friday\"\n | \"Saturday\";\n\n/** Monthly recurrence schedule. */\nexport interface MonthlyRecurrenceSchedule extends RecurrenceSchedule {\n /** Monthly recurrence type. */\n type: \"Monthly\";\n /** Days of the month for the recurrence schedule. */\n daysOfMonth: number[];\n}\n\nexport function monthlyRecurrenceScheduleSerializer(item: MonthlyRecurrenceSchedule): any {\n return {\n type: item[\"type\"],\n daysOfMonth: item[\"daysOfMonth\"],\n };\n}\n\nexport function monthlyRecurrenceScheduleDeserializer(item: any): MonthlyRecurrenceSchedule {\n return {\n type: item[\"type\"],\n daysOfMonth: item[\"daysOfMonth\"],\n };\n}\n\n/** One-time trigger. */\nexport interface OneTimeTrigger extends Trigger {\n /** The type discriminator, always 'OneTime'. */\n type: \"OneTime\";\n /** Date and time for the one-time trigger in ISO 8601 format. */\n triggerAt: string;\n /** Time zone for the one-time trigger. */\n timeZone?: string;\n}\n\nexport function oneTimeTriggerSerializer(item: OneTimeTrigger): any {\n return { type: item[\"type\"], triggerAt: item[\"triggerAt\"], timeZone: item[\"timeZone\"] };\n}\n\nexport function oneTimeTriggerDeserializer(item: any): OneTimeTrigger {\n return {\n type: item[\"type\"],\n triggerAt: item[\"triggerAt\"],\n timeZone: item[\"timeZone\"],\n };\n}\n\n/** Schedule task model. */\nexport interface ScheduleTask {\n /** Type of the task. */\n /** The discriminator possible values: Evaluation, Insight */\n type: ScheduleTaskType;\n /** Configuration for the task. */\n configuration?: Record<string, string>;\n}\n\nexport function scheduleTaskSerializer(item: ScheduleTask): any {\n return { type: item[\"type\"], configuration: item[\"configuration\"] };\n}\n\nexport function scheduleTaskDeserializer(item: any): ScheduleTask {\n return {\n type: item[\"type\"],\n configuration: item[\"configuration\"],\n };\n}\n\n/** Alias for ScheduleTaskUnion */\nexport type ScheduleTaskUnion = EvaluationScheduleTask | InsightScheduleTask | ScheduleTask;\n\nexport function scheduleTaskUnionSerializer(item: ScheduleTaskUnion): any {\n switch (item.type) {\n case \"Evaluation\":\n return evaluationScheduleTaskSerializer(item as EvaluationScheduleTask);\n\n case \"Insight\":\n return insightScheduleTaskSerializer(item as InsightScheduleTask);\n\n default:\n return scheduleTaskSerializer(item);\n }\n}\n\nexport function scheduleTaskUnionDeserializer(item: any): ScheduleTaskUnion {\n switch (item.type) {\n case \"Evaluation\":\n return evaluationScheduleTaskDeserializer(item as EvaluationScheduleTask);\n\n case \"Insight\":\n return insightScheduleTaskDeserializer(item as InsightScheduleTask);\n\n default:\n return scheduleTaskDeserializer(item);\n }\n}\n\n/** Type of the task. */\nexport type ScheduleTaskType = \"Evaluation\" | \"Insight\";\n\n/** Evaluation task for the schedule. */\nexport interface EvaluationScheduleTask extends ScheduleTask {\n /** Type of the task, which is always 'Evaluation'. */\n type: \"Evaluation\";\n /** Identifier of the evaluation group. */\n evalId: string;\n /** The evaluation run payload. */\n evalRun: Record<string, unknown>;\n}\n\nexport function evaluationScheduleTaskSerializer(item: EvaluationScheduleTask): any {\n return {\n type: item[\"type\"],\n configuration: item[\"configuration\"],\n evalId: item[\"evalId\"],\n evalRun: _evaluationScheduleTaskEvalRunSerializer(item[\"evalRun\"]),\n };\n}\n\nexport function evaluationScheduleTaskDeserializer(item: any): EvaluationScheduleTask {\n return {\n type: item[\"type\"],\n configuration: item[\"configuration\"],\n evalId: item[\"evalId\"],\n evalRun: _evaluationScheduleTaskEvalRunDeserializer(item[\"evalRun\"]),\n };\n}\n\n/** model interface _EvaluationScheduleTaskEvalRun */\nexport interface _EvaluationScheduleTaskEvalRun {\n [key: string]: unknown;\n}\n\nexport function _evaluationScheduleTaskEvalRunSerializer(\n item: _EvaluationScheduleTaskEvalRun,\n): any {\n return item;\n}\n\nexport function _evaluationScheduleTaskEvalRunDeserializer(\n item: any,\n): _EvaluationScheduleTaskEvalRun {\n return item;\n}\n\n/** Insight task for the schedule. */\nexport interface InsightScheduleTask extends ScheduleTask {\n /** Type of the task, which is always 'Insight'. */\n type: \"Insight\";\n /** The insight payload. */\n insight: Insight;\n}\n\nexport function insightScheduleTaskSerializer(item: InsightScheduleTask): any {\n return {\n type: item[\"type\"],\n configuration: item[\"configuration\"],\n insight: insightSerializer(item[\"insight\"]),\n };\n}\n\nexport function insightScheduleTaskDeserializer(item: any): InsightScheduleTask {\n return {\n type: item[\"type\"],\n configuration: item[\"configuration\"],\n insight: insightDeserializer(item[\"insight\"]),\n };\n}\n\n/** Paged collection of Schedule items */\nexport interface _PagedSchedule {\n /** The Schedule items on this page */\n value: Schedule[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _pagedScheduleDeserializer(item: any): _PagedSchedule {\n return {\n value: scheduleArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function scheduleArraySerializer(result: Array<Schedule>): any[] {\n return result.map((item) => {\n return scheduleSerializer(item);\n });\n}\n\nexport function scheduleArrayDeserializer(result: Array<Schedule>): any[] {\n return result.map((item) => {\n return scheduleDeserializer(item);\n });\n}\n\n/** Schedule run model. */\nexport interface ScheduleRun {\n /** Identifier of the schedule run. */\n readonly runId: string;\n /** Identifier of the schedule. */\n scheduleId: string;\n /** Trigger success status of the schedule run. */\n readonly success: boolean;\n /** Trigger time of the schedule run. */\n triggerTime?: string;\n /** Error information for the schedule run. */\n readonly error?: string;\n /** Properties of the schedule run. */\n readonly properties: Record<string, string>;\n}\n\nexport function scheduleRunDeserializer(item: any): ScheduleRun {\n return {\n runId: item[\"id\"],\n scheduleId: item[\"scheduleId\"],\n success: item[\"success\"],\n triggerTime: item[\"triggerTime\"],\n error: item[\"error\"],\n properties: item[\"properties\"],\n };\n}\n\n/** Paged collection of ScheduleRun items */\nexport interface _PagedScheduleRun {\n /** The ScheduleRun items on this page */\n value: ScheduleRun[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _pagedScheduleRunDeserializer(item: any): _PagedScheduleRun {\n return {\n value: scheduleRunArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function scheduleRunArrayDeserializer(result: Array<ScheduleRun>): any[] {\n return result.map((item) => {\n return scheduleRunDeserializer(item);\n });\n}\n\n/** Alias for _CreateAgentRequestFoundryFeatures */\nexport type _CreateAgentRequestFoundryFeatures =\n | \"HostedAgents=V1Preview\"\n | \"WorkflowAgents=V1Preview\";\n\nexport function _createAgentRequestFoundryFeaturesSerializer(\n item: _CreateAgentRequestFoundryFeatures,\n): any {\n return item;\n}\n\n/** Alias for _UpdateAgentRequestFoundryFeatures */\nexport type _UpdateAgentRequestFoundryFeatures =\n | \"HostedAgents=V1Preview\"\n | \"WorkflowAgents=V1Preview\";\n\nexport function _updateAgentRequestFoundryFeaturesSerializer(\n item: _UpdateAgentRequestFoundryFeatures,\n): any {\n return item;\n}\n\n/** Alias for _CreateAgentVersionRequestFoundryFeatures */\nexport type _CreateAgentVersionRequestFoundryFeatures =\n | \"HostedAgents=V1Preview\"\n | \"WorkflowAgents=V1Preview\";\n\nexport function _createAgentVersionRequestFoundryFeaturesSerializer(\n item: _CreateAgentVersionRequestFoundryFeatures,\n): any {\n return item;\n}\n\n/** Alias for _ListVersionsRequestType */\nexport type _ListVersionsRequestType = EvaluatorType | \"all\";\n\nexport function _listVersionsRequestTypeSerializer(item: _ListVersionsRequestType): any {\n return item;\n}\n\n/** Type of AgentType */\nexport type AgentType =\n | \"agent\"\n | \"agent.version\"\n | \"agent.deleted\"\n | \"agent.version.deleted\"\n | \"agent.container\";\n\n/** Feature opt-in keys for agent definition operations supporting hosted or workflow agents. */\nexport type AgentDefinitionOptInKeys = \"HostedAgents=V1Preview\" | \"WorkflowAgents=V1Preview\";\n\n/** Type of FoundryFeaturesOptInKeys */\nexport type FoundryFeaturesOptInKeys =\n | \"Evaluations=V1Preview\"\n | \"Schedules=V1Preview\"\n | \"RedTeams=V1Preview\"\n | \"Insights=V1Preview\"\n | \"MemoryStores=V1Preview\";\n/** Type of PageOrder */\nexport type PageOrder = \"asc\" | \"desc\";\n/** The type of pending upload. */\nexport type PendingUploadType = \"None\" | \"BlobReference\";\n/** Type of MemoryStoreType */\nexport type MemoryStoreType =\n | \"memory_store\"\n | \"memory_store.deleted\"\n | \"memory_store.scope.deleted\";\n\n/** Microsoft Foundry API versions */\nexport enum KnownApiVersions {\n /** Microsoft Foundry API version v1. */\n v1 = \"v1\",\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["KnownApiVersions"]
|
|
7
|
-
}
|
|
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\nimport { serializeRecord } from \"../static-helpers/serialization/serialize-record.js\";\n\n/**\n * This file contains only generated model types and their (de)serializers.\n * Disable the following rules for internal models with '_' prefix and deserializers which require 'any' for raw JSON input.\n */\n/* eslint-disable @typescript-eslint/naming-convention */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/* eslint-disable tsdoc/syntax */\n\n/** model interface Agent */\nexport interface Agent {\n /** The object type, which is always 'agent'. */\n object: \"agent\";\n /** The unique identifier of the agent. */\n id: string;\n /** The name of the agent. */\n name: string;\n /** The latest version of the agent. */\n versions: {\n latest: AgentVersion;\n };\n}\n\nexport function agentDeserializer(item: any): Agent {\n return {\n object: item[\"object\"],\n id: item[\"id\"],\n name: item[\"name\"],\n versions: _agentVersionsDeserializer(item[\"versions\"]),\n };\n}\n\n/**\n * Helper interface for agent version references.\n */\nexport interface _AgentVersions {\n latest: AgentVersion;\n}\n\nexport function _agentVersionsDeserializer(item: any): _AgentVersions {\n return {\n latest: agentVersionDeserializer(item[\"latest\"]),\n };\n}\n\n/**\n * Represents a specific version of an agent.\n * Includes metadata, versioning, creation time, and agent definition.\n */\nexport interface AgentVersion {\n /**\n * Set of 16 key-value pairs that can be attached to an object. This can be\n * useful for storing additional information about the object in a structured\n * format, and querying for objects via API or the dashboard.\n *\n * Keys are strings with a maximum length of 64 characters. Values are strings\n * with a maximum length of 512 characters.\n */\n metadata: Record<string, string>;\n /** The object type, which is always 'agent.version'. */\n object: \"agent.version\";\n /** The unique identifier of the agent version. */\n id: string;\n /** The name of the agent. Name can be used to retrieve/update/delete the agent. */\n name: string;\n /** The version identifier of the agent. Agents are immutable and every update creates a new version while keeping the name same. */\n version: string;\n /** A human-readable description of the agent. */\n description?: string;\n /** The Unix timestamp (seconds) when the agent was created. */\n created_at: Date;\n /** The definition of the agent. */\n definition: AgentDefinitionUnion;\n}\n\nexport function agentVersionDeserializer(item: any): AgentVersion {\n return {\n metadata: item[\"metadata\"],\n object: item[\"object\"],\n id: item[\"id\"],\n name: item[\"name\"],\n version: item[\"version\"],\n description: item[\"description\"],\n created_at: new Date(item[\"created_at\"] * 1000),\n definition: agentDefinitionUnionDeserializer(item[\"definition\"]),\n };\n}\n\n/**\n * Base definition interface for agents.\n * Contains the agent kind and optional RAI configuration.\n */\nexport interface AgentDefinition {\n /** The kind of agent. */\n kind: AgentKind;\n /** Configuration for Responsible AI (RAI) content filtering and safety features. */\n rai_config?: RaiConfig;\n}\n\nexport function agentDefinitionSerializer(item: AgentDefinition): any {\n return {\n kind: item[\"kind\"],\n rai_config: !item[\"rai_config\"] ? item[\"rai_config\"] : raiConfigSerializer(item[\"rai_config\"]),\n };\n}\n\nexport function agentDefinitionDeserializer(item: any): AgentDefinition {\n return {\n kind: item[\"kind\"],\n rai_config: !item[\"rai_config\"]\n ? item[\"rai_config\"]\n : raiConfigDeserializer(item[\"rai_config\"]),\n };\n}\n\n/**\n * Union type for all agent definition types.\n * Supports workflow, hosted, container app, and prompt agents.\n */\nexport type AgentDefinitionUnion =\n | PromptAgentDefinition\n | WorkflowAgentDefinition\n | HostedAgentDefinition\n | AgentDefinition;\n\nexport function agentDefinitionUnionSerializer(item: AgentDefinitionUnion): any {\n switch (item.kind) {\n case \"prompt\":\n return promptAgentDefinitionSerializer(item as PromptAgentDefinition);\n\n case \"workflow\":\n return workflowAgentDefinitionSerializer(item as WorkflowAgentDefinition);\n\n case \"hosted\":\n return hostedAgentDefinitionSerializer(item as HostedAgentDefinition);\n\n default:\n return agentDefinitionSerializer(item);\n }\n}\n\nexport function agentDefinitionUnionDeserializer(item: any): AgentDefinitionUnion {\n switch (item.kind) {\n case \"prompt\":\n return promptAgentDefinitionDeserializer(item as PromptAgentDefinition);\n\n case \"workflow\":\n return workflowAgentDefinitionDeserializer(item as WorkflowAgentDefinition);\n\n case \"hosted\":\n return hostedAgentDefinitionDeserializer(item as HostedAgentDefinition);\n\n default:\n return agentDefinitionDeserializer(item);\n }\n}\n\n/**\n * Defines the type/kind of agent.\n * Determines which agent definition structure is used.\n */\nexport type AgentKind = \"prompt\" | \"hosted\" | \"workflow\";\n\n/** Configuration for Responsible AI (RAI) content filtering and safety features. */\nexport interface RaiConfig {\n /** The name of the RAI policy to apply. */\n rai_policy_name: string;\n}\n\nexport function raiConfigSerializer(item: RaiConfig): any {\n return { rai_policy_name: item[\"rai_policy_name\"] };\n}\n\nexport function raiConfigDeserializer(item: any): RaiConfig {\n return {\n rai_policy_name: item[\"rai_policy_name\"],\n };\n}\n\n/** The prompt agent definition */\nexport interface PromptAgentDefinition extends AgentDefinition {\n /** The kind discriminator, always 'prompt'. */\n kind: \"prompt\";\n /** The model deployment to use for this agent. */\n model: string;\n /** A system (or developer) message inserted into the model's context. */\n instructions?: string;\n /**\n * What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.\n * We generally recommend altering this or `top_p` but not both.\n */\n temperature?: number;\n /**\n * An alternative to sampling with temperature, called nucleus sampling,\n * where the model considers the results of the tokens with top_p probability\n * mass. So 0.1 means only the tokens comprising the top 10% probability mass\n * are considered.\n *\n * We generally recommend altering this or `temperature` but not both.\n */\n top_p?: number;\n /** The reasoning configuration for the prompt agent. */\n reasoning?: Reasoning;\n /**\n * An array of tools the model may call while generating a response. You\n * can specify which tool to use by setting the `tool_choice` parameter.\n */\n tools?: ToolUnion[];\n /**\n * How the model should select which tool (or tools) to use when generating a response.\n * See the `tools` parameter to see how to specify which tools the model can call.\n */\n tool_choice?: string | ToolChoiceParamUnion;\n /** Configuration options for a text response from the model. Can be plain text or structured JSON data. */\n text?: PromptAgentDefinitionTextOptions;\n /** Set of structured inputs that can participate in prompt template substitution or tool argument bindings. */\n structured_inputs?: Record<string, StructuredInputDefinition>;\n}\n\nexport function promptAgentDefinitionSerializer(item: PromptAgentDefinition): any {\n return {\n kind: item[\"kind\"],\n rai_config: !item[\"rai_config\"] ? item[\"rai_config\"] : raiConfigSerializer(item[\"rai_config\"]),\n model: item[\"model\"],\n instructions: item[\"instructions\"],\n temperature: item[\"temperature\"],\n top_p: item[\"top_p\"],\n reasoning: !item[\"reasoning\"] ? item[\"reasoning\"] : reasoningSerializer(item[\"reasoning\"]),\n tools: !item[\"tools\"] ? item[\"tools\"] : toolUnionArraySerializer(item[\"tools\"]),\n tool_choice: !item[\"tool_choice\"]\n ? item[\"tool_choice\"]\n : _promptAgentDefinitionToolChoiceSerializer(item[\"tool_choice\"]),\n text: !item[\"text\"] ? item[\"text\"] : promptAgentDefinitionTextOptionsSerializer(item[\"text\"]),\n structured_inputs: !item[\"structured_inputs\"]\n ? item[\"structured_inputs\"]\n : structuredInputDefinitionRecordSerializer(item[\"structured_inputs\"]),\n };\n}\n\nexport function promptAgentDefinitionDeserializer(item: any): PromptAgentDefinition {\n return {\n kind: item[\"kind\"],\n rai_config: !item[\"rai_config\"]\n ? item[\"rai_config\"]\n : raiConfigDeserializer(item[\"rai_config\"]),\n model: item[\"model\"],\n instructions: item[\"instructions\"],\n temperature: item[\"temperature\"],\n top_p: item[\"top_p\"],\n reasoning: !item[\"reasoning\"] ? item[\"reasoning\"] : reasoningDeserializer(item[\"reasoning\"]),\n tools: !item[\"tools\"] ? item[\"tools\"] : toolUnionArrayDeserializer(item[\"tools\"]),\n tool_choice: !item[\"tool_choice\"]\n ? item[\"tool_choice\"]\n : _promptAgentDefinitionToolChoiceDeserializer(item[\"tool_choice\"]),\n text: !item[\"text\"] ? item[\"text\"] : promptAgentDefinitionTextOptionsDeserializer(item[\"text\"]),\n structured_inputs: !item[\"structured_inputs\"]\n ? item[\"structured_inputs\"]\n : structuredInputDefinitionRecordDeserializer(item[\"structured_inputs\"]),\n };\n}\n\n/**\n * **gpt-5 and o-series models only**\n * Configuration options for\n * [reasoning models](https://platform.openai.com/docs/guides/reasoning).\n */\nexport interface Reasoning {\n /** The reasoning effort level. */\n effort?: ReasoningEffort;\n /** The reasoning summary text. */\n summary?: \"auto\" | \"concise\" | \"detailed\";\n /** Whether to generate a summary of the reasoning process. */\n generate_summary?: \"auto\" | \"concise\" | \"detailed\";\n}\n\nexport function reasoningSerializer(item: Reasoning): any {\n return {\n effort: item[\"effort\"],\n summary: item[\"summary\"],\n generate_summary: item[\"generate_summary\"],\n };\n}\n\nexport function reasoningDeserializer(item: any): Reasoning {\n return {\n effort: item[\"effort\"],\n summary: item[\"summary\"],\n generate_summary: item[\"generate_summary\"],\n };\n}\n\n/**\n * Constrains effort on reasoning for\n * [reasoning models](https://platform.openai.com/docs/guides/reasoning).\n * Currently supported values are `none`, `minimal`, `low`, `medium`, `high`, and `xhigh`. Reducing\n * reasoning effort can result in faster responses and fewer tokens used\n * on reasoning in a response.\n * - `gpt-5.1` defaults to `none`, which does not perform reasoning. The supported reasoning values for `gpt-5.1` are `none`, `low`, `medium`, and `high`. Tool calls are supported for all reasoning values in gpt-5.1.\n * - All models before `gpt-5.1` default to `medium` reasoning effort, and do not support `none`.\n * - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort.\n * - `xhigh` is supported for all models after `gpt-5.1-codex-max`.\n */\nexport type ReasoningEffort = \"none\" | \"minimal\" | \"low\" | \"medium\" | \"high\" | \"xhigh\";\n\nexport function toolUnionArraySerializer(result: Array<ToolUnion>): any[] {\n return result.map((item) => {\n return toolUnionSerializer(item);\n });\n}\n\nexport function toolUnionArrayDeserializer(result: Array<ToolUnion>): any[] {\n return result.map((item) => {\n return toolUnionDeserializer(item);\n });\n}\n\n/** A tool that can be used to generate a response. */\nexport interface Tool {\n /** The tool type identifier. */\n type: ToolType;\n}\n\nexport function toolSerializer(item: Tool): any {\n return { type: item[\"type\"] };\n}\n\nexport function toolDeserializer(item: any): Tool {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for ToolUnion */\nexport type ToolUnion =\n | BingGroundingTool\n | MicrosoftFabricPreviewTool\n | SharepointPreviewTool\n | AzureAISearchTool\n | OpenApiTool\n | BingCustomSearchPreviewTool\n | BrowserAutomationPreviewTool\n | AzureFunctionTool\n | CaptureStructuredOutputsTool\n | A2APreviewTool\n | MemorySearchPreviewTool\n | CodeInterpreterTool\n | FunctionTool\n | FileSearchTool\n | ComputerUsePreviewTool\n | WebSearchTool\n | MCPTool\n | ImageGenTool\n | LocalShellToolParam\n | FunctionShellToolParam\n | CustomToolParam\n | WebSearchPreviewTool\n | ApplyPatchToolParam\n | Tool;\n\nexport function toolUnionSerializer(item: ToolUnion): any {\n switch (item.type) {\n case \"bing_grounding\":\n return bingGroundingToolSerializer(item as BingGroundingTool);\n\n case \"fabric_dataagent_preview\":\n return microsoftFabricPreviewToolSerializer(item as MicrosoftFabricPreviewTool);\n\n case \"sharepoint_grounding_preview\":\n return sharepointPreviewToolSerializer(item as SharepointPreviewTool);\n\n case \"azure_ai_search\":\n return azureAISearchToolSerializer(item as AzureAISearchTool);\n\n case \"openapi\":\n return openApiToolSerializer(item as OpenApiTool);\n\n case \"bing_custom_search_preview\":\n return bingCustomSearchPreviewToolSerializer(item as BingCustomSearchPreviewTool);\n\n case \"browser_automation_preview\":\n return browserAutomationPreviewToolSerializer(item as BrowserAutomationPreviewTool);\n\n case \"azure_function\":\n return azureFunctionToolSerializer(item as AzureFunctionTool);\n\n case \"capture_structured_outputs\":\n return captureStructuredOutputsToolSerializer(item as CaptureStructuredOutputsTool);\n\n case \"a2a_preview\":\n return a2APreviewToolSerializer(item as A2APreviewTool);\n\n case \"memory_search_preview\":\n return memorySearchPreviewToolSerializer(item as MemorySearchPreviewTool);\n\n case \"code_interpreter\":\n return codeInterpreterToolSerializer(item as CodeInterpreterTool);\n\n case \"function\":\n return functionToolSerializer(item as FunctionTool);\n\n case \"file_search\":\n return fileSearchToolSerializer(item as FileSearchTool);\n\n case \"computer_use_preview\":\n return computerUsePreviewToolSerializer(item as ComputerUsePreviewTool);\n\n case \"web_search\":\n return webSearchToolSerializer(item as WebSearchTool);\n\n case \"mcp\":\n return mcpToolSerializer(item as MCPTool);\n\n case \"image_generation\":\n return imageGenToolSerializer(item as ImageGenTool);\n\n case \"local_shell\":\n return localShellToolParamSerializer(item as LocalShellToolParam);\n\n case \"shell\":\n return functionShellToolParamSerializer(item as FunctionShellToolParam);\n\n case \"custom\":\n return customToolParamSerializer(item as CustomToolParam);\n\n case \"web_search_preview\":\n return webSearchPreviewToolSerializer(item as WebSearchPreviewTool);\n\n case \"apply_patch\":\n return applyPatchToolParamSerializer(item as ApplyPatchToolParam);\n\n default:\n return toolSerializer(item);\n }\n}\n\nexport function toolUnionDeserializer(item: any): ToolUnion {\n switch (item.type) {\n case \"bing_grounding\":\n return bingGroundingToolDeserializer(item as BingGroundingTool);\n\n case \"fabric_dataagent_preview\":\n return microsoftFabricPreviewToolDeserializer(item as MicrosoftFabricPreviewTool);\n\n case \"sharepoint_grounding_preview\":\n return sharepointPreviewToolDeserializer(item as SharepointPreviewTool);\n\n case \"azure_ai_search\":\n return azureAISearchToolDeserializer(item as AzureAISearchTool);\n\n case \"openapi\":\n return openApiToolDeserializer(item as OpenApiTool);\n\n case \"bing_custom_search_preview\":\n return bingCustomSearchPreviewToolDeserializer(item as BingCustomSearchPreviewTool);\n\n case \"browser_automation_preview\":\n return browserAutomationPreviewToolDeserializer(item as BrowserAutomationPreviewTool);\n\n case \"azure_function\":\n return azureFunctionToolDeserializer(item as AzureFunctionTool);\n\n case \"capture_structured_outputs\":\n return captureStructuredOutputsToolDeserializer(item as CaptureStructuredOutputsTool);\n\n case \"a2a_preview\":\n return a2APreviewToolDeserializer(item as A2APreviewTool);\n\n case \"memory_search_preview\":\n return memorySearchPreviewToolDeserializer(item as MemorySearchPreviewTool);\n\n case \"code_interpreter\":\n return codeInterpreterToolDeserializer(item as CodeInterpreterTool);\n\n case \"function\":\n return functionToolDeserializer(item as FunctionTool);\n\n case \"file_search\":\n return fileSearchToolDeserializer(item as FileSearchTool);\n\n case \"computer_use_preview\":\n return computerUsePreviewToolDeserializer(item as ComputerUsePreviewTool);\n\n case \"web_search\":\n return webSearchToolDeserializer(item as WebSearchTool);\n\n case \"mcp\":\n return mcpToolDeserializer(item as MCPTool);\n\n case \"image_generation\":\n return imageGenToolDeserializer(item as ImageGenTool);\n\n case \"local_shell\":\n return localShellToolParamDeserializer(item as LocalShellToolParam);\n\n case \"shell\":\n return functionShellToolParamDeserializer(item as FunctionShellToolParam);\n\n case \"custom\":\n return customToolParamDeserializer(item as CustomToolParam);\n\n case \"web_search_preview\":\n return webSearchPreviewToolDeserializer(item as WebSearchPreviewTool);\n\n case \"apply_patch\":\n return applyPatchToolParamDeserializer(item as ApplyPatchToolParam);\n\n default:\n return toolDeserializer(item);\n }\n}\n\n/** Type of ToolType */\nexport type ToolType =\n | \"function\"\n | \"file_search\"\n | \"computer_use_preview\"\n | \"web_search\"\n | \"mcp\"\n | \"code_interpreter\"\n | \"image_generation\"\n | \"local_shell\"\n | \"shell\"\n | \"custom\"\n | \"web_search_preview\"\n | \"apply_patch\"\n | \"a2a_preview\"\n | \"bing_custom_search_preview\"\n | \"browser_automation_preview\"\n | \"fabric_dataagent_preview\"\n | \"sharepoint_grounding_preview\"\n | \"memory_search_preview\"\n | \"azure_ai_search\"\n | \"azure_function\"\n | \"bing_grounding\"\n | \"capture_structured_outputs\"\n | \"openapi\";\n\n/** The input definition information for a bing grounding search tool as used to configure an agent. */\nexport interface BingGroundingTool extends Tool {\n /** The object type, which is always 'bing_grounding'. */\n type: \"bing_grounding\";\n /** The bing grounding search tool parameters. */\n bing_grounding: BingGroundingSearchToolParameters;\n}\n\nexport function bingGroundingToolSerializer(item: BingGroundingTool): any {\n return {\n type: item[\"type\"],\n bing_grounding: bingGroundingSearchToolParametersSerializer(item[\"bing_grounding\"]),\n };\n}\n\nexport function bingGroundingToolDeserializer(item: any): BingGroundingTool {\n return {\n type: item[\"type\"],\n bing_grounding: 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 search_configurations: BingGroundingSearchConfiguration[];\n}\n\nexport function bingGroundingSearchToolParametersSerializer(\n item: BingGroundingSearchToolParameters,\n): any {\n return {\n search_configurations: bingGroundingSearchConfigurationArraySerializer(\n item[\"search_configurations\"],\n ),\n };\n}\n\nexport function bingGroundingSearchToolParametersDeserializer(\n item: any,\n): BingGroundingSearchToolParameters {\n return {\n search_configurations: 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 return result.map((item) => {\n return bingGroundingSearchConfigurationDeserializer(item);\n });\n}\n\n/** Search configuration for Bing Grounding */\nexport interface BingGroundingSearchConfiguration {\n /** Project connection id for grounding with bing search */\n project_connection_id: 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 set_lang?: 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. See [accepted values here](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 project_connection_id: item[\"project_connection_id\"],\n market: item[\"market\"],\n set_lang: item[\"set_lang\"],\n count: item[\"count\"],\n freshness: item[\"freshness\"],\n };\n}\n\nexport function bingGroundingSearchConfigurationDeserializer(\n item: any,\n): BingGroundingSearchConfiguration {\n return {\n project_connection_id: item[\"project_connection_id\"],\n market: item[\"market\"],\n set_lang: 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 MicrosoftFabricPreviewTool extends Tool {\n /** The object type, which is always 'fabric_dataagent_preview'. */\n type: \"fabric_dataagent_preview\";\n /** The fabric data agent tool parameters. */\n fabric_dataagent_preview: FabricDataAgentToolParameters;\n}\n\nexport function microsoftFabricPreviewToolSerializer(item: MicrosoftFabricPreviewTool): any {\n return {\n type: item[\"type\"],\n fabric_dataagent_preview: fabricDataAgentToolParametersSerializer(\n item[\"fabric_dataagent_preview\"],\n ),\n };\n}\n\nexport function microsoftFabricPreviewToolDeserializer(item: any): MicrosoftFabricPreviewTool {\n return {\n type: item[\"type\"],\n fabric_dataagent_preview: fabricDataAgentToolParametersDeserializer(\n item[\"fabric_dataagent_preview\"],\n ),\n };\n}\n\n/** The fabric data agent tool parameters. */\nexport interface FabricDataAgentToolParameters {\n /**\n * The project connections attached to this tool. There can be a maximum of 1 connection\n * resource attached to the tool.\n */\n project_connections?: ToolProjectConnection[];\n}\n\nexport function fabricDataAgentToolParametersSerializer(item: FabricDataAgentToolParameters): any {\n return {\n project_connections: !item[\"project_connections\"]\n ? item[\"project_connections\"]\n : toolProjectConnectionArraySerializer(item[\"project_connections\"]),\n };\n}\n\nexport function fabricDataAgentToolParametersDeserializer(\n item: any,\n): FabricDataAgentToolParameters {\n return {\n project_connections: !item[\"project_connections\"]\n ? item[\"project_connections\"]\n : toolProjectConnectionArrayDeserializer(item[\"project_connections\"]),\n };\n}\n\nexport function toolProjectConnectionArraySerializer(result: Array<ToolProjectConnection>): any[] {\n return result.map((item) => {\n return toolProjectConnectionSerializer(item);\n });\n}\n\nexport function toolProjectConnectionArrayDeserializer(\n result: Array<ToolProjectConnection>,\n): any[] {\n return result.map((item) => {\n return toolProjectConnectionDeserializer(item);\n });\n}\n\n/** A project connection resource. */\nexport interface ToolProjectConnection {\n /** A project connection in a ToolProjectConnectionList attached to this tool. */\n project_connection_id: string;\n}\n\nexport function toolProjectConnectionSerializer(item: ToolProjectConnection): any {\n return { project_connection_id: item[\"project_connection_id\"] };\n}\n\nexport function toolProjectConnectionDeserializer(item: any): ToolProjectConnection {\n return {\n project_connection_id: item[\"project_connection_id\"],\n };\n}\n\n/** The input definition information for a sharepoint tool as used to configure an agent. */\nexport interface SharepointPreviewTool extends Tool {\n /** The object type, which is always 'sharepoint_grounding_preview'. */\n type: \"sharepoint_grounding_preview\";\n /** The sharepoint grounding tool parameters. */\n sharepoint_grounding_preview: SharepointGroundingToolParameters;\n}\n\nexport function sharepointPreviewToolSerializer(item: SharepointPreviewTool): any {\n return {\n type: item[\"type\"],\n sharepoint_grounding_preview: sharepointGroundingToolParametersSerializer(\n item[\"sharepoint_grounding_preview\"],\n ),\n };\n}\n\nexport function sharepointPreviewToolDeserializer(item: any): SharepointPreviewTool {\n return {\n type: item[\"type\"],\n sharepoint_grounding_preview: sharepointGroundingToolParametersDeserializer(\n item[\"sharepoint_grounding_preview\"],\n ),\n };\n}\n\n/** The sharepoint grounding tool parameters. */\nexport interface SharepointGroundingToolParameters {\n /**\n * The project connections attached to this tool. There can be a maximum of 1 connection\n * resource attached to the tool.\n */\n project_connections?: ToolProjectConnection[];\n}\n\nexport function sharepointGroundingToolParametersSerializer(\n item: SharepointGroundingToolParameters,\n): any {\n return {\n project_connections: !item[\"project_connections\"]\n ? item[\"project_connections\"]\n : toolProjectConnectionArraySerializer(item[\"project_connections\"]),\n };\n}\n\nexport function sharepointGroundingToolParametersDeserializer(\n item: any,\n): SharepointGroundingToolParameters {\n return {\n project_connections: !item[\"project_connections\"]\n ? item[\"project_connections\"]\n : toolProjectConnectionArrayDeserializer(item[\"project_connections\"]),\n };\n}\n\n/** The input definition information for an Azure AI search tool as used to configure an agent. */\nexport interface AzureAISearchTool extends Tool {\n /** The object type, which is always 'azure_ai_search'. */\n type: \"azure_ai_search\";\n /** The azure ai search index resource. */\n azure_ai_search: AzureAISearchToolResource;\n}\n\nexport function azureAISearchToolSerializer(item: AzureAISearchTool): any {\n return {\n type: item[\"type\"],\n azure_ai_search: azureAISearchToolResourceSerializer(item[\"azure_ai_search\"]),\n };\n}\n\nexport function azureAISearchToolDeserializer(item: any): AzureAISearchTool {\n return {\n type: item[\"type\"],\n azure_ai_search: azureAISearchToolResourceDeserializer(item[\"azure_ai_search\"]),\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 indexes: AISearchIndexResource[];\n}\n\nexport function azureAISearchToolResourceSerializer(item: AzureAISearchToolResource): any {\n return { indexes: aiSearchIndexResourceArraySerializer(item[\"indexes\"]) };\n}\n\nexport function azureAISearchToolResourceDeserializer(item: any): AzureAISearchToolResource {\n return {\n indexes: 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 project_connection_id?: string;\n /** The name of an index in an IndexResource attached to this agent. */\n index_name?: string;\n /** Type of query in an AIIndexResource attached to this agent. */\n query_type?: AzureAISearchQueryType;\n /** Number of documents to retrieve from search and present to the model. */\n top_k?: number;\n /** filter string for search resource. [Learn more here](https://learn.microsoft.com/azure/search/search-filters). */\n filter?: string;\n /** Index asset id for search resource. */\n index_asset_id?: string;\n}\n\nexport function aiSearchIndexResourceSerializer(item: AISearchIndexResource): any {\n return {\n project_connection_id: item[\"project_connection_id\"],\n index_name: item[\"index_name\"],\n query_type: item[\"query_type\"],\n top_k: item[\"top_k\"],\n filter: item[\"filter\"],\n index_asset_id: item[\"index_asset_id\"],\n };\n}\n\nexport function aiSearchIndexResourceDeserializer(item: any): AISearchIndexResource {\n return {\n project_connection_id: item[\"project_connection_id\"],\n index_name: item[\"index_name\"],\n query_type: item[\"query_type\"],\n top_k: item[\"top_k\"],\n filter: item[\"filter\"],\n index_asset_id: 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\n/** The input definition information for an OpenAPI tool as used to configure an agent. */\nexport interface OpenApiTool extends Tool {\n /** The object type, which is always 'openapi'. */\n type: \"openapi\";\n /** The openapi function definition. */\n openapi: OpenApiFunctionDefinition;\n}\n\nexport function openApiToolSerializer(item: OpenApiTool): any {\n return { type: item[\"type\"], openapi: openApiFunctionDefinitionSerializer(item[\"openapi\"]) };\n}\n\nexport function openApiToolDeserializer(item: any): OpenApiTool {\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: unknown;\n /** Open API authentication details */\n auth: OpenApiAuthDetailsUnion;\n /** List of OpenAPI spec parameters that will use user-provided defaults */\n default_params?: string[];\n /** List of function definitions used by OpenApi tool */\n readonly functions?: {\n name: string;\n description?: string;\n parameters: Record<string, unknown>;\n }[];\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[\"default_params\"],\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 default_params: !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 : _openApiFunctionDefinitionFunctionArrayDeserializer(item[\"functions\"]),\n };\n}\n\n/** authentication details for OpenApiFunctionDefinition */\nexport interface OpenApiAuthDetails {\n /** The type of authentication, must be anonymous/project_connection/managed_identity */\n /** The discriminator possible values: anonymous, project_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 | OpenApiProjectConnectionAuthDetails\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 \"project_connection\":\n return openApiProjectConnectionAuthDetailsSerializer(\n item as OpenApiProjectConnectionAuthDetails,\n );\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 \"project_connection\":\n return openApiProjectConnectionAuthDetailsDeserializer(\n item as OpenApiProjectConnectionAuthDetails,\n );\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 * - Project Connection (requires project_connection_id to endpoint, as setup in AI Foundry)\n * - Managed_Identity (requires audience for identity based auth)\n */\nexport type OpenApiAuthType = \"anonymous\" | \"project_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 project connection authentication */\nexport interface OpenApiProjectConnectionAuthDetails extends OpenApiAuthDetails {\n /** The object type, which is always 'project_connection'. */\n type: \"project_connection\";\n /** Project connection auth security details */\n security_scheme: OpenApiProjectConnectionSecurityScheme;\n}\n\nexport function openApiProjectConnectionAuthDetailsSerializer(\n item: OpenApiProjectConnectionAuthDetails,\n): any {\n return {\n type: item[\"type\"],\n security_scheme: openApiProjectConnectionSecuritySchemeSerializer(item[\"security_scheme\"]),\n };\n}\n\nexport function openApiProjectConnectionAuthDetailsDeserializer(\n item: any,\n): OpenApiProjectConnectionAuthDetails {\n return {\n type: item[\"type\"],\n security_scheme: openApiProjectConnectionSecuritySchemeDeserializer(item[\"security_scheme\"]),\n };\n}\n\n/** Security scheme for OpenApi managed_identity authentication */\nexport interface OpenApiProjectConnectionSecurityScheme {\n /** Project connection id for Project Connection auth type */\n project_connection_id: string;\n}\n\nexport function openApiProjectConnectionSecuritySchemeSerializer(\n item: OpenApiProjectConnectionSecurityScheme,\n): any {\n return { project_connection_id: item[\"project_connection_id\"] };\n}\n\nexport function openApiProjectConnectionSecuritySchemeDeserializer(\n item: any,\n): OpenApiProjectConnectionSecurityScheme {\n return {\n project_connection_id: item[\"project_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 security_scheme: OpenApiManagedSecurityScheme;\n}\n\nexport function openApiManagedAuthDetailsSerializer(item: OpenApiManagedAuthDetails): any {\n return {\n type: item[\"type\"],\n security_scheme: openApiManagedSecuritySchemeSerializer(item[\"security_scheme\"]),\n };\n}\n\nexport function openApiManagedAuthDetailsDeserializer(item: any): OpenApiManagedAuthDetails {\n return {\n type: item[\"type\"],\n security_scheme: 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 _openApiFunctionDefinitionFunctionArrayDeserializer(\n result: Array<_OpenApiFunctionDefinitionFunction>,\n): any[] {\n return result.map((item) => {\n return _openApiFunctionDefinitionFunctionDeserializer(item);\n });\n}\n\n/** model interface _OpenApiFunctionDefinitionFunction */\nexport interface _OpenApiFunctionDefinitionFunction {\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: Record<string, unknown>;\n}\n\nexport function _openApiFunctionDefinitionFunctionDeserializer(\n item: any,\n): _OpenApiFunctionDefinitionFunction {\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 custom search tool as used to configure an agent. */\nexport interface BingCustomSearchPreviewTool extends Tool {\n /** The object type, which is always 'bing_custom_search_preview'. */\n type: \"bing_custom_search_preview\";\n /** The bing custom search tool parameters. */\n bing_custom_search_preview: BingCustomSearchToolParameters;\n}\n\nexport function bingCustomSearchPreviewToolSerializer(item: BingCustomSearchPreviewTool): any {\n return {\n type: item[\"type\"],\n bing_custom_search_preview: bingCustomSearchToolParametersSerializer(\n item[\"bing_custom_search_preview\"],\n ),\n };\n}\n\nexport function bingCustomSearchPreviewToolDeserializer(item: any): BingCustomSearchPreviewTool {\n return {\n type: item[\"type\"],\n bing_custom_search_preview: bingCustomSearchToolParametersDeserializer(\n item[\"bing_custom_search_preview\"],\n ),\n };\n}\n\n/** The bing custom search tool parameters. */\nexport interface BingCustomSearchToolParameters {\n /**\n * The project connections attached to this tool. There can be a maximum of 1 connection\n * resource attached to the tool.\n */\n search_configurations: BingCustomSearchConfiguration[];\n}\n\nexport function bingCustomSearchToolParametersSerializer(\n item: BingCustomSearchToolParameters,\n): any {\n return {\n search_configurations: bingCustomSearchConfigurationArraySerializer(\n item[\"search_configurations\"],\n ),\n };\n}\n\nexport function bingCustomSearchToolParametersDeserializer(\n item: any,\n): BingCustomSearchToolParameters {\n return {\n search_configurations: 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 /** Project connection id for grounding with bing search */\n project_connection_id: string;\n /** Name of the custom configuration instance given to config. */\n instance_name: 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 set_lang?: 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. See [accepted values here](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 project_connection_id: item[\"project_connection_id\"],\n instance_name: item[\"instance_name\"],\n market: item[\"market\"],\n set_lang: item[\"set_lang\"],\n count: item[\"count\"],\n freshness: item[\"freshness\"],\n };\n}\n\nexport function bingCustomSearchConfigurationDeserializer(\n item: any,\n): BingCustomSearchConfiguration {\n return {\n project_connection_id: item[\"project_connection_id\"],\n instance_name: item[\"instance_name\"],\n market: item[\"market\"],\n set_lang: item[\"set_lang\"],\n count: item[\"count\"],\n freshness: item[\"freshness\"],\n };\n}\n\n/** The input definition information for a Browser Automation Tool, as used to configure an Agent. */\nexport interface BrowserAutomationPreviewTool extends Tool {\n /** The object type, which is always 'browser_automation_preview'. */\n type: \"browser_automation_preview\";\n /** The Browser Automation Tool parameters. */\n browser_automation_preview: BrowserAutomationToolParameters;\n}\n\nexport function browserAutomationPreviewToolSerializer(item: BrowserAutomationPreviewTool): any {\n return {\n type: item[\"type\"],\n browser_automation_preview: browserAutomationToolParametersSerializer(\n item[\"browser_automation_preview\"],\n ),\n };\n}\n\nexport function browserAutomationPreviewToolDeserializer(item: any): BrowserAutomationPreviewTool {\n return {\n type: item[\"type\"],\n browser_automation_preview: browserAutomationToolParametersDeserializer(\n item[\"browser_automation_preview\"],\n ),\n };\n}\n\n/** Definition of input parameters for the Browser Automation Tool. */\nexport interface BrowserAutomationToolParameters {\n /** The project connection parameters associated with the Browser Automation Tool. */\n connection: BrowserAutomationToolConnectionParameters;\n}\n\nexport function browserAutomationToolParametersSerializer(\n item: BrowserAutomationToolParameters,\n): any {\n return { connection: browserAutomationToolConnectionParametersSerializer(item[\"connection\"]) };\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 project connection to your Azure Playwright resource. */\n project_connection_id: string;\n}\n\nexport function browserAutomationToolConnectionParametersSerializer(\n item: BrowserAutomationToolConnectionParameters,\n): any {\n return { project_connection_id: item[\"project_connection_id\"] };\n}\n\nexport function browserAutomationToolConnectionParametersDeserializer(\n item: any,\n): BrowserAutomationToolConnectionParameters {\n return {\n project_connection_id: item[\"project_connection_id\"],\n };\n}\n\n/** The input definition information for an Azure Function Tool, as used to configure an Agent. */\nexport interface AzureFunctionTool extends Tool {\n /** The object type, which is always 'browser_automation'. */\n type: \"azure_function\";\n /** The Azure Function Tool definition. */\n azure_function: AzureFunctionDefinition;\n}\n\nexport function azureFunctionToolSerializer(item: AzureFunctionTool): any {\n return {\n type: item[\"type\"],\n azure_function: azureFunctionDefinitionSerializer(item[\"azure_function\"]),\n };\n}\n\nexport function azureFunctionToolDeserializer(item: any): AzureFunctionTool {\n return {\n type: item[\"type\"],\n azure_function: 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: {\n name: string;\n description?: string;\n parameters: Record<string, unknown>;\n };\n /** Input storage queue. The queue storage trigger runs a function as messages are added to it. */\n input_binding: AzureFunctionBinding;\n /** Output storage queue. The function writes output to this queue when the input items are processed. */\n output_binding: AzureFunctionBinding;\n}\n\nexport function azureFunctionDefinitionSerializer(item: AzureFunctionDefinition): any {\n return {\n function: _azureFunctionDefinitionFunctionSerializer(item[\"function\"]),\n input_binding: azureFunctionBindingSerializer(item[\"input_binding\"]),\n output_binding: azureFunctionBindingSerializer(item[\"output_binding\"]),\n };\n}\n\nexport function azureFunctionDefinitionDeserializer(item: any): AzureFunctionDefinition {\n return {\n function: _azureFunctionDefinitionFunctionDeserializer(item[\"function\"]),\n input_binding: azureFunctionBindingDeserializer(item[\"input_binding\"]),\n output_binding: azureFunctionBindingDeserializer(item[\"output_binding\"]),\n };\n}\n\n/** model interface _AzureFunctionDefinitionFunction */\nexport interface _AzureFunctionDefinitionFunction {\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: Record<string, unknown>;\n}\n\nexport function _azureFunctionDefinitionFunctionSerializer(\n item: _AzureFunctionDefinitionFunction,\n): any {\n return { name: item[\"name\"], description: item[\"description\"], parameters: item[\"parameters\"] };\n}\n\nexport function _azureFunctionDefinitionFunctionDeserializer(\n item: any,\n): _AzureFunctionDefinitionFunction {\n return {\n name: item[\"name\"],\n description: item[\"description\"],\n parameters: item[\"parameters\"],\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 storage_queue: AzureFunctionStorageQueue;\n}\n\nexport function azureFunctionBindingSerializer(item: AzureFunctionBinding): any {\n return {\n type: item[\"type\"],\n storage_queue: azureFunctionStorageQueueSerializer(item[\"storage_queue\"]),\n };\n}\n\nexport function azureFunctionBindingDeserializer(item: any): AzureFunctionBinding {\n return {\n type: item[\"type\"],\n storage_queue: 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 queue_service_endpoint: string;\n /** The name of an Azure function storage queue. */\n queue_name: string;\n}\n\nexport function azureFunctionStorageQueueSerializer(item: AzureFunctionStorageQueue): any {\n return { queue_service_endpoint: item[\"queue_service_endpoint\"], queue_name: item[\"queue_name\"] };\n}\n\nexport function azureFunctionStorageQueueDeserializer(item: any): AzureFunctionStorageQueue {\n return {\n queue_service_endpoint: item[\"queue_service_endpoint\"],\n queue_name: item[\"queue_name\"],\n };\n}\n\n/** A tool for capturing structured outputs */\nexport interface CaptureStructuredOutputsTool extends Tool {\n /** The type of the tool. Always `capture_structured_outputs`. */\n type: \"capture_structured_outputs\";\n /** The structured outputs to capture from the model. */\n outputs: StructuredOutputDefinition;\n}\n\nexport function captureStructuredOutputsToolSerializer(item: CaptureStructuredOutputsTool): any {\n return { type: item[\"type\"], outputs: structuredOutputDefinitionSerializer(item[\"outputs\"]) };\n}\n\nexport function captureStructuredOutputsToolDeserializer(item: any): CaptureStructuredOutputsTool {\n return {\n type: item[\"type\"],\n outputs: structuredOutputDefinitionDeserializer(item[\"outputs\"]),\n };\n}\n\n/** A structured output that can be produced by the agent. */\nexport interface StructuredOutputDefinition {\n /** The name of the structured output. */\n name: string;\n /** A description of the output to emit. Used by the model to determine when to emit the output. */\n description: string;\n /** The JSON schema for the structured output. */\n schema: Record<string, unknown>;\n /** Whether to enforce strict validation. Default `true`. */\n strict: boolean;\n}\n\nexport function structuredOutputDefinitionSerializer(item: StructuredOutputDefinition): any {\n return {\n name: item[\"name\"],\n description: item[\"description\"],\n schema: item[\"schema\"],\n strict: item[\"strict\"],\n };\n}\n\nexport function structuredOutputDefinitionDeserializer(item: any): StructuredOutputDefinition {\n return {\n name: item[\"name\"],\n description: item[\"description\"],\n schema: item[\"schema\"],\n strict: item[\"strict\"],\n };\n}\n\n/** An agent implementing the A2A protocol. */\nexport interface A2APreviewTool extends Tool {\n /** The type of the tool. Always `\"a2a_preview`. */\n type: \"a2a_preview\";\n /** Base URL of the agent. */\n base_url?: string;\n /**\n * The path to the agent card relative to the `base_url`.\n * If not provided, defaults to `/.well-known/agent-card.json`\n */\n agent_card_path?: string;\n /**\n * The connection ID in the project for the A2A server.\n * The connection stores authentication and other connection details needed to connect to the A2A server.\n */\n project_connection_id?: string;\n}\n\nexport function a2APreviewToolSerializer(item: A2APreviewTool): any {\n return {\n type: item[\"type\"],\n base_url: item[\"base_url\"],\n agent_card_path: item[\"agent_card_path\"],\n project_connection_id: item[\"project_connection_id\"],\n };\n}\n\nexport function a2APreviewToolDeserializer(item: any): A2APreviewTool {\n return {\n type: item[\"type\"],\n base_url: item[\"base_url\"],\n agent_card_path: item[\"agent_card_path\"],\n project_connection_id: item[\"project_connection_id\"],\n };\n}\n\n/** A tool for integrating memories into the agent. */\nexport interface MemorySearchPreviewTool extends Tool {\n /** The type of the tool. Always `memory_search_preview`. */\n type: \"memory_search_preview\";\n /** The name of the memory store to use. */\n memory_store_name: string;\n /**\n * The namespace used to group and isolate memories, such as a user ID.\n * Limits which memories can be retrieved or updated.\n * Use special variable `{{$userId}}` to scope memories to the current signed-in user.\n */\n scope: string;\n /** Options for searching the memory store. */\n search_options?: MemorySearchOptions;\n /** Time to wait before updating memories after inactivity (seconds). Default 300. */\n update_delay?: number;\n}\n\nexport function memorySearchPreviewToolSerializer(item: MemorySearchPreviewTool): any {\n return {\n type: item[\"type\"],\n memory_store_name: item[\"memory_store_name\"],\n scope: item[\"scope\"],\n search_options: !item[\"search_options\"]\n ? item[\"search_options\"]\n : memorySearchOptionsSerializer(item[\"search_options\"]),\n update_delay: item[\"update_delay\"],\n };\n}\n\nexport function memorySearchPreviewToolDeserializer(item: any): MemorySearchPreviewTool {\n return {\n type: item[\"type\"],\n memory_store_name: item[\"memory_store_name\"],\n scope: item[\"scope\"],\n search_options: !item[\"search_options\"]\n ? item[\"search_options\"]\n : memorySearchOptionsDeserializer(item[\"search_options\"]),\n update_delay: item[\"update_delay\"],\n };\n}\n\n/** Memory search options. */\nexport interface MemorySearchOptions {\n /** Maximum number of memory items to return. */\n max_memories?: number;\n}\n\nexport function memorySearchOptionsSerializer(item: MemorySearchOptions): any {\n return { max_memories: item[\"max_memories\"] };\n}\n\nexport function memorySearchOptionsDeserializer(item: any): MemorySearchOptions {\n return {\n max_memories: item[\"max_memories\"],\n };\n}\n\n/** A tool that runs Python code to help generate a response to a prompt. */\nexport interface CodeInterpreterTool extends Tool {\n /** The type of the code interpreter tool. Always `code_interpreter`. */\n type: \"code_interpreter\";\n /**\n * The code interpreter container. Can be a container ID or an object that\n * specifies uploaded file IDs to make available to your code, along with an\n * optional `memory_limit` setting.\n * If not provided, the service assumes auto.\n */\n container?: string | AutoCodeInterpreterToolParam;\n}\n\nexport function codeInterpreterToolSerializer(item: CodeInterpreterTool): any {\n return {\n type: item[\"type\"],\n container: !item[\"container\"]\n ? item[\"container\"]\n : _codeInterpreterToolContainerSerializer(item[\"container\"]),\n };\n}\n\nexport function codeInterpreterToolDeserializer(item: any): CodeInterpreterTool {\n return {\n type: item[\"type\"],\n container: !item[\"container\"]\n ? item[\"container\"]\n : _codeInterpreterToolContainerDeserializer(item[\"container\"]),\n };\n}\n\n/** Alias for _CodeInterpreterToolContainer */\nexport type _CodeInterpreterToolContainer = string | AutoCodeInterpreterToolParam;\n\nexport function _codeInterpreterToolContainerSerializer(item: _CodeInterpreterToolContainer): any {\n return item;\n}\n\nexport function _codeInterpreterToolContainerDeserializer(\n item: any,\n): _CodeInterpreterToolContainer {\n return item;\n}\n\n/** Configuration for a code interpreter container. Optionally specify the IDs of the files to run the code on. */\nexport interface AutoCodeInterpreterToolParam {\n /** Always `auto`. */\n type: \"auto\";\n /** An optional list of uploaded files to make available to your code. */\n file_ids?: string[];\n /** The memory limit for the code interpreter container, in bytes. */\n memory_limit?: ContainerMemoryLimit;\n /** The network access policy for the code interpreter container. */\n network_policy?: ContainerNetworkPolicyParamUnion;\n}\n\nexport function autoCodeInterpreterToolParamSerializer(item: AutoCodeInterpreterToolParam): any {\n return {\n type: item[\"type\"],\n file_ids: !item[\"file_ids\"]\n ? item[\"file_ids\"]\n : item[\"file_ids\"].map((p: any) => {\n return p;\n }),\n memory_limit: item[\"memory_limit\"],\n network_policy: !item[\"network_policy\"]\n ? item[\"network_policy\"]\n : containerNetworkPolicyParamUnionSerializer(item[\"network_policy\"]),\n };\n}\n\nexport function autoCodeInterpreterToolParamDeserializer(item: any): AutoCodeInterpreterToolParam {\n return {\n type: item[\"type\"],\n file_ids: !item[\"file_ids\"]\n ? item[\"file_ids\"]\n : item[\"file_ids\"].map((p: any) => {\n return p;\n }),\n memory_limit: item[\"memory_limit\"],\n network_policy: !item[\"network_policy\"]\n ? item[\"network_policy\"]\n : containerNetworkPolicyParamUnionDeserializer(item[\"network_policy\"]),\n };\n}\n\n/** Type of ContainerMemoryLimit */\nexport type ContainerMemoryLimit = \"1g\" | \"4g\" | \"16g\" | \"64g\";\n\n/** Network access policy for the container. */\nexport interface ContainerNetworkPolicyParam {\n /** The network policy type. */\n type: ContainerNetworkPolicyParamType;\n}\n\nexport function containerNetworkPolicyParamSerializer(item: ContainerNetworkPolicyParam): any {\n return { type: item[\"type\"] };\n}\n\nexport function containerNetworkPolicyParamDeserializer(item: any): ContainerNetworkPolicyParam {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for ContainerNetworkPolicyParamUnion */\nexport type ContainerNetworkPolicyParamUnion =\n | ContainerNetworkPolicyDisabledParam\n | ContainerNetworkPolicyAllowlistParam\n | ContainerNetworkPolicyParam;\n\nexport function containerNetworkPolicyParamUnionSerializer(\n item: ContainerNetworkPolicyParamUnion,\n): any {\n switch (item.type) {\n case \"disabled\":\n return containerNetworkPolicyDisabledParamSerializer(\n item as ContainerNetworkPolicyDisabledParam,\n );\n\n case \"allowlist\":\n return containerNetworkPolicyAllowlistParamSerializer(\n item as ContainerNetworkPolicyAllowlistParam,\n );\n\n default:\n return containerNetworkPolicyParamSerializer(item);\n }\n}\n\nexport function containerNetworkPolicyParamUnionDeserializer(\n item: any,\n): ContainerNetworkPolicyParamUnion {\n switch (item[\"type\"]) {\n case \"disabled\":\n return containerNetworkPolicyDisabledParamDeserializer(\n item as ContainerNetworkPolicyDisabledParam,\n );\n\n case \"allowlist\":\n return containerNetworkPolicyAllowlistParamDeserializer(\n item as ContainerNetworkPolicyAllowlistParam,\n );\n\n default:\n return containerNetworkPolicyParamDeserializer(item);\n }\n}\n\n/** Type of ContainerNetworkPolicyParamType */\nexport type ContainerNetworkPolicyParamType = \"disabled\" | \"allowlist\";\n\n/** model interface ContainerNetworkPolicyDisabledParam */\nexport interface ContainerNetworkPolicyDisabledParam extends ContainerNetworkPolicyParam {\n /** Disable outbound network access. Always `disabled`. */\n type: \"disabled\";\n}\n\nexport function containerNetworkPolicyDisabledParamSerializer(\n item: ContainerNetworkPolicyDisabledParam,\n): any {\n return { type: item[\"type\"] };\n}\n\nexport function containerNetworkPolicyDisabledParamDeserializer(\n item: any,\n): ContainerNetworkPolicyDisabledParam {\n return {\n type: item[\"type\"],\n };\n}\n\n/** model interface ContainerNetworkPolicyAllowlistParam */\nexport interface ContainerNetworkPolicyAllowlistParam extends ContainerNetworkPolicyParam {\n /** Allow outbound network access only to specified domains. Always `allowlist`. */\n type: \"allowlist\";\n /** A list of allowed domains when type is `allowlist`. */\n allowed_domains: string[];\n /** Optional domain-scoped secrets for allowlisted domains. */\n domain_secrets?: ContainerNetworkPolicyDomainSecretParam[];\n}\n\nexport function containerNetworkPolicyAllowlistParamSerializer(\n item: ContainerNetworkPolicyAllowlistParam,\n): any {\n return {\n type: item[\"type\"],\n allowed_domains: item[\"allowed_domains\"],\n domain_secrets: !item[\"domain_secrets\"]\n ? item[\"domain_secrets\"]\n : containerNetworkPolicyDomainSecretParamArraySerializer(item[\"domain_secrets\"]),\n };\n}\n\nexport function containerNetworkPolicyAllowlistParamDeserializer(\n item: any,\n): ContainerNetworkPolicyAllowlistParam {\n return {\n type: item[\"type\"],\n allowed_domains: item[\"allowed_domains\"],\n domain_secrets: !item[\"domain_secrets\"]\n ? item[\"domain_secrets\"]\n : containerNetworkPolicyDomainSecretParamArrayDeserializer(item[\"domain_secrets\"]),\n };\n}\n\nexport function containerNetworkPolicyDomainSecretParamArraySerializer(\n result: Array<ContainerNetworkPolicyDomainSecretParam>,\n): any[] {\n return result.map((item) => {\n return containerNetworkPolicyDomainSecretParamSerializer(item);\n });\n}\n\nexport function containerNetworkPolicyDomainSecretParamArrayDeserializer(\n result: Array<ContainerNetworkPolicyDomainSecretParam>,\n): any[] {\n return result.map((item) => {\n return containerNetworkPolicyDomainSecretParamDeserializer(item);\n });\n}\n\n/** model interface ContainerNetworkPolicyDomainSecretParam */\nexport interface ContainerNetworkPolicyDomainSecretParam {\n /** The domain associated with the secret. */\n domain: string;\n /** The name of the secret to inject for the domain. */\n name: string;\n /** The secret value to inject for the domain. */\n value: string;\n}\n\nexport function containerNetworkPolicyDomainSecretParamSerializer(\n item: ContainerNetworkPolicyDomainSecretParam,\n): any {\n return { domain: item[\"domain\"], name: item[\"name\"], value: item[\"value\"] };\n}\n\nexport function containerNetworkPolicyDomainSecretParamDeserializer(\n item: any,\n): ContainerNetworkPolicyDomainSecretParam {\n return {\n domain: item[\"domain\"],\n name: item[\"name\"],\n value: item[\"value\"],\n };\n}\n\n/** Defines a function in your own code the model can choose to call. Learn more about [function calling](https://platform.openai.com/docs/guides/function-calling). */\nexport interface FunctionTool extends Tool {\n /** The type of the function tool. Always `function`. */\n type: \"function\";\n /** The name of the function to call. */\n name: string;\n /** A description of the function tool. */\n description?: string;\n /** The parameters schema for the function. */\n parameters: Record<string, unknown>;\n /** Whether the function arguments must strictly match the parameters schema. */\n strict: boolean;\n}\n\nexport function functionToolSerializer(item: FunctionTool): any {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n description: item[\"description\"],\n parameters: item[\"parameters\"],\n strict: item[\"strict\"],\n };\n}\n\nexport function functionToolDeserializer(item: any): FunctionTool {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n description: item[\"description\"],\n parameters: item[\"parameters\"],\n strict: item[\"strict\"],\n };\n}\n\n/** A tool that searches for relevant content from uploaded files. Learn more about the [file search tool](https://platform.openai.com/docs/guides/tools-file-search). */\nexport interface FileSearchTool extends Tool {\n /** The type of the file search tool. Always `file_search`. */\n type: \"file_search\";\n /** The IDs of the vector stores to search. */\n vector_store_ids: string[];\n /** The maximum number of results to return. This number should be between 1 and 50 inclusive. */\n max_num_results?: number;\n /** Ranking options for search. */\n ranking_options?: RankingOptions;\n /** Filters to apply to the file search. */\n filters?: Filters;\n}\n\nexport function fileSearchToolSerializer(item: FileSearchTool): any {\n return {\n type: item[\"type\"],\n vector_store_ids: item[\"vector_store_ids\"],\n max_num_results: item[\"max_num_results\"],\n ranking_options: !item[\"ranking_options\"]\n ? item[\"ranking_options\"]\n : rankingOptionsSerializer(item[\"ranking_options\"]),\n filters: !item[\"filters\"] ? item[\"filters\"] : filtersSerializer(item[\"filters\"]),\n };\n}\n\nexport function fileSearchToolDeserializer(item: any): FileSearchTool {\n return {\n type: item[\"type\"],\n vector_store_ids: item[\"vector_store_ids\"],\n max_num_results: item[\"max_num_results\"],\n ranking_options: !item[\"ranking_options\"]\n ? item[\"ranking_options\"]\n : rankingOptionsDeserializer(item[\"ranking_options\"]),\n filters: !item[\"filters\"] ? item[\"filters\"] : filtersDeserializer(item[\"filters\"]),\n };\n}\n\n/** model interface RankingOptions */\nexport interface RankingOptions {\n /** The ranker to use for the file search. */\n ranker?: RankerVersionType;\n /** The score threshold for the file search, a number between 0 and 1. Numbers closer to 1 will attempt to return only the most relevant results, but may return fewer results. */\n score_threshold?: number;\n /** Weights that control how reciprocal rank fusion balances semantic embedding matches versus sparse keyword matches when hybrid search is enabled. */\n hybrid_search?: HybridSearchOptions;\n}\n\nexport function rankingOptionsSerializer(item: RankingOptions): any {\n return {\n ranker: item[\"ranker\"],\n score_threshold: item[\"score_threshold\"],\n hybrid_search: !item[\"hybrid_search\"]\n ? item[\"hybrid_search\"]\n : hybridSearchOptionsSerializer(item[\"hybrid_search\"]),\n };\n}\n\nexport function rankingOptionsDeserializer(item: any): RankingOptions {\n return {\n ranker: item[\"ranker\"],\n score_threshold: item[\"score_threshold\"],\n hybrid_search: !item[\"hybrid_search\"]\n ? item[\"hybrid_search\"]\n : hybridSearchOptionsDeserializer(item[\"hybrid_search\"]),\n };\n}\n\n/** Type of RankerVersionType */\nexport type RankerVersionType = \"auto\" | \"default-2024-11-15\";\n\n/** model interface HybridSearchOptions */\nexport interface HybridSearchOptions {\n /** The weight of the embedding in the reciprocal ranking fusion. */\n embedding_weight: number;\n /** The weight of the text in the reciprocal ranking fusion. */\n text_weight: number;\n}\n\nexport function hybridSearchOptionsSerializer(item: HybridSearchOptions): any {\n return { embedding_weight: item[\"embedding_weight\"], text_weight: item[\"text_weight\"] };\n}\n\nexport function hybridSearchOptionsDeserializer(item: any): HybridSearchOptions {\n return {\n embedding_weight: item[\"embedding_weight\"],\n text_weight: item[\"text_weight\"],\n };\n}\n\n/** Alias for Filters */\nexport type Filters = ComparisonFilter | CompoundFilter;\n\nexport function filtersSerializer(item: Filters): any {\n return item;\n}\n\nexport function filtersDeserializer(item: any): Filters {\n return item;\n}\n\n/** A filter used to compare a specified attribute key to a given value using a defined comparison operation. */\nexport interface ComparisonFilter {\n /**\n * Specifies the comparison operator: `eq`, `ne`, `gt`, `gte`, `lt`, `lte`, `in`, `nin`.\n * - `eq`: equals\n * - `ne`: not equal\n * - `gt`: greater than\n * - `gte`: greater than or equal\n * - `lt`: less than\n * - `lte`: less than or equal\n * - `in`: in\n * - `nin`: not in\n */\n type: \"eq\" | \"ne\" | \"gt\" | \"gte\" | \"lt\" | \"lte\";\n /** The key to compare against the value. */\n key: string;\n /** The value to compare against the attribute key; supports string, number, or boolean types. */\n value: string | number | boolean | ComparisonFilterValueItems[];\n}\n\nexport function comparisonFilterSerializer(item: ComparisonFilter): any {\n return {\n type: item[\"type\"],\n key: item[\"key\"],\n value: _comparisonFilterValueSerializer(item[\"value\"]),\n };\n}\n\nexport function comparisonFilterDeserializer(item: any): ComparisonFilter {\n return {\n type: item[\"type\"],\n key: item[\"key\"],\n value: _comparisonFilterValueDeserializer(item[\"value\"]),\n };\n}\n\n/** Alias for _ComparisonFilterValue */\nexport type _ComparisonFilterValue = string | number | boolean | ComparisonFilterValueItems[];\n\nexport function _comparisonFilterValueSerializer(item: _ComparisonFilterValue): any {\n return item;\n}\n\nexport function _comparisonFilterValueDeserializer(item: any): _ComparisonFilterValue {\n return item;\n}\n\nexport function comparisonFilterValueItemsArraySerializer(\n result: Array<ComparisonFilterValueItems>,\n): any[] {\n return result.map((item) => {\n return comparisonFilterValueItemsSerializer(item);\n });\n}\n\nexport function comparisonFilterValueItemsArrayDeserializer(\n result: Array<ComparisonFilterValueItems>,\n): any[] {\n return result.map((item) => {\n return comparisonFilterValueItemsDeserializer(item);\n });\n}\n\n/** Alias for ComparisonFilterValueItems */\nexport type ComparisonFilterValueItems = string | number;\n\nexport function comparisonFilterValueItemsSerializer(item: ComparisonFilterValueItems): any {\n return item;\n}\n\nexport function comparisonFilterValueItemsDeserializer(item: any): ComparisonFilterValueItems {\n return item;\n}\n\n/** Combine multiple filters using `and` or `or`. */\nexport interface CompoundFilter {\n /** Type of operation: `and` or `or`. */\n type: \"and\" | \"or\";\n /** Array of filters to combine. Items can be `ComparisonFilter` or `CompoundFilter`. */\n filters: (ComparisonFilter | CompoundFilter)[];\n}\n\nexport function compoundFilterSerializer(item: CompoundFilter): any {\n return { type: item[\"type\"], filters: _compoundFilterFilterArraySerializer(item[\"filters\"]) };\n}\n\nexport function compoundFilterDeserializer(item: any): CompoundFilter {\n return {\n type: item[\"type\"],\n filters: _compoundFilterFilterArrayDeserializer(item[\"filters\"]),\n };\n}\n\nexport function _compoundFilterFilterArraySerializer(result: Array<_CompoundFilterFilter>): any[] {\n return result.map((item) => {\n return _compoundFilterFilterSerializer(item);\n });\n}\n\nexport function _compoundFilterFilterArrayDeserializer(\n result: Array<_CompoundFilterFilter>,\n): any[] {\n return result.map((item) => {\n return _compoundFilterFilterDeserializer(item);\n });\n}\n\n/** Alias for _CompoundFilterFilter */\nexport type _CompoundFilterFilter = ComparisonFilter | CompoundFilter;\n\nexport function _compoundFilterFilterSerializer(item: _CompoundFilterFilter): any {\n return item;\n}\n\nexport function _compoundFilterFilterDeserializer(item: any): _CompoundFilterFilter {\n return item;\n}\n\n/** A tool that controls a virtual computer. Learn more about the [computer tool](https://platform.openai.com/docs/guides/tools-computer-use). */\nexport interface ComputerUsePreviewTool extends Tool {\n /** The type of the computer use tool. Always `computer_use_preview`. */\n type: \"computer_use_preview\";\n /** The type of computer environment to control. */\n environment: ComputerEnvironment;\n /** The width of the computer display. */\n display_width: number;\n /** The height of the computer display. */\n display_height: number;\n}\n\nexport function computerUsePreviewToolSerializer(item: ComputerUsePreviewTool): any {\n return {\n type: item[\"type\"],\n environment: item[\"environment\"],\n display_width: item[\"display_width\"],\n display_height: item[\"display_height\"],\n };\n}\n\nexport function computerUsePreviewToolDeserializer(item: any): ComputerUsePreviewTool {\n return {\n type: item[\"type\"],\n environment: item[\"environment\"],\n display_width: item[\"display_width\"],\n display_height: item[\"display_height\"],\n };\n}\n\n/** Type of ComputerEnvironment */\nexport type ComputerEnvironment = \"windows\" | \"mac\" | \"linux\" | \"ubuntu\" | \"browser\";\n\n/**\n * Search the Internet for sources related to the prompt. Learn more about the\n * [web search tool](https://platform.openai.com/docs/guides/tools-web-search).\n */\nexport interface WebSearchTool extends Tool {\n /** The type of the web search tool. One of `web_search` or `web_search_2025_08_26`. */\n type: \"web_search\";\n /** Filters to apply to web search results. */\n filters?: WebSearchToolFilters;\n /** The approximate location of the user for search relevance. */\n user_location?: WebSearchApproximateLocation;\n /** High level guidance for the amount of context window space to use for the search. One of `low`, `medium`, or `high`. `medium` is the default. */\n search_context_size?: \"low\" | \"medium\" | \"high\";\n /**\n * The project connections attached to this tool. There can be a maximum of 1 connection\n * resource attached to the tool.\n */\n custom_search_configuration?: WebSearchConfiguration;\n}\n\nexport function webSearchToolSerializer(item: WebSearchTool): any {\n return {\n type: item[\"type\"],\n filters: !item[\"filters\"] ? item[\"filters\"] : webSearchToolFiltersSerializer(item[\"filters\"]),\n user_location: !item[\"user_location\"]\n ? item[\"user_location\"]\n : webSearchApproximateLocationSerializer(item[\"user_location\"]),\n search_context_size: item[\"search_context_size\"],\n custom_search_configuration: !item[\"custom_search_configuration\"]\n ? item[\"custom_search_configuration\"]\n : webSearchConfigurationSerializer(item[\"custom_search_configuration\"]),\n };\n}\n\nexport function webSearchToolDeserializer(item: any): WebSearchTool {\n return {\n type: item[\"type\"],\n filters: !item[\"filters\"] ? item[\"filters\"] : webSearchToolFiltersDeserializer(item[\"filters\"]),\n user_location: !item[\"user_location\"]\n ? item[\"user_location\"]\n : webSearchApproximateLocationDeserializer(item[\"user_location\"]),\n search_context_size: item[\"search_context_size\"],\n custom_search_configuration: !item[\"custom_search_configuration\"]\n ? item[\"custom_search_configuration\"]\n : webSearchConfigurationDeserializer(item[\"custom_search_configuration\"]),\n };\n}\n\n/** model interface WebSearchToolFilters */\nexport interface WebSearchToolFilters {\n /** The list of allowed domains for web search results. */\n allowed_domains?: string[];\n}\n\nexport function webSearchToolFiltersSerializer(item: WebSearchToolFilters): any {\n return {\n allowed_domains: item[\"allowed_domains\"],\n };\n}\n\nexport function webSearchToolFiltersDeserializer(item: any): WebSearchToolFilters {\n return {\n allowed_domains: item[\"allowed_domains\"],\n };\n}\n\n/** The approximate location of the user. */\nexport interface WebSearchApproximateLocation {\n /** The type of location approximation. Always `approximate`. */\n type?: \"approximate\";\n /** The two-letter ISO country code. */\n country?: string;\n /** The region or state for the approximate location. */\n region?: string;\n /** The city for the approximate location. */\n city?: string;\n /** The IANA timezone identifier (e.g. 'America/New_York'). */\n timezone?: string;\n}\n\nexport function webSearchApproximateLocationSerializer(item: WebSearchApproximateLocation): any {\n return {\n type: item[\"type\"],\n country: item[\"country\"],\n region: item[\"region\"],\n city: item[\"city\"],\n timezone: item[\"timezone\"],\n };\n}\n\nexport function webSearchApproximateLocationDeserializer(item: any): WebSearchApproximateLocation {\n return {\n type: item[\"type\"],\n country: item[\"country\"],\n region: item[\"region\"],\n city: item[\"city\"],\n timezone: item[\"timezone\"],\n };\n}\n\n/** A web search configuration for bing custom search */\nexport interface WebSearchConfiguration {\n /** Project connection id for grounding with bing custom search */\n project_connection_id: string;\n /** Name of the custom configuration instance given to config. */\n instance_name: string;\n}\n\nexport function webSearchConfigurationSerializer(item: WebSearchConfiguration): any {\n return {\n project_connection_id: item[\"project_connection_id\"],\n instance_name: item[\"instance_name\"],\n };\n}\n\nexport function webSearchConfigurationDeserializer(item: any): WebSearchConfiguration {\n return {\n project_connection_id: item[\"project_connection_id\"],\n instance_name: item[\"instance_name\"],\n };\n}\n\n/**\n * Give the model access to additional tools via remote Model Context Protocol\n * (MCP) servers. [Learn more about MCP](https://platform.openai.com/docs/guides/tools-remote-mcp).\n */\nexport interface MCPTool extends Tool {\n /** The type of the MCP tool. Always `mcp`. */\n type: \"mcp\";\n /** A label for this MCP server, used to identify it in tool calls. */\n server_label: string;\n /**\n * The URL for the MCP server. One of `server_url` or `connector_id` must be\n * provided.\n */\n server_url?: string;\n /**\n * Identifier for service connectors, like those available in ChatGPT. One of\n * `server_url` or `connector_id` must be provided. Learn more about service\n * connectors [here](https://platform.openai.com/docs/guides/tools-remote-mcp#connectors).\n * Currently supported `connector_id` values are:\n * - Dropbox: `connector_dropbox`\n * - Gmail: `connector_gmail`\n * - Google Calendar: `connector_googlecalendar`\n * - Google Drive: `connector_googledrive`\n * - Microsoft Teams: `connector_microsoftteams`\n * - Outlook Calendar: `connector_outlookcalendar`\n * - Outlook Email: `connector_outlookemail`\n * - SharePoint: `connector_sharepoint`\n */\n connector_id?:\n | \"connector_dropbox\"\n | \"connector_gmail\"\n | \"connector_googlecalendar\"\n | \"connector_googledrive\"\n | \"connector_microsoftteams\"\n | \"connector_outlookcalendar\"\n | \"connector_outlookemail\"\n | \"connector_sharepoint\";\n /**\n * An OAuth access token that can be used with a remote MCP server, either\n * with a custom MCP server URL or a service connector. Your application\n * must handle the OAuth authorization flow and provide the token here.\n */\n authorization?: string;\n /** Optional description of the MCP server, used to provide more context. */\n server_description?: string;\n /** Custom headers to include in requests to the MCP server. */\n headers?: Record<string, string>;\n /** The list of allowed tool names for the MCP server. */\n allowed_tools?: string[] | MCPToolFilter;\n /** The approval requirements for the MCP tool. */\n require_approval?: MCPToolRequireApproval | \"always\" | \"never\";\n /** The connection ID in the project for the MCP server. The connection stores authentication and other connection details needed to connect to the MCP server. */\n project_connection_id?: string;\n}\n\nexport function mcpToolSerializer(item: MCPTool): any {\n return {\n type: item[\"type\"],\n server_label: item[\"server_label\"],\n server_url: item[\"server_url\"],\n connector_id: item[\"connector_id\"],\n authorization: item[\"authorization\"],\n server_description: item[\"server_description\"],\n headers: item[\"headers\"],\n allowed_tools: !item[\"allowed_tools\"]\n ? item[\"allowed_tools\"]\n : _mcpToolAllowedToolsSerializer(item[\"allowed_tools\"]),\n require_approval: !item[\"require_approval\"]\n ? item[\"require_approval\"]\n : _mcpToolRequireApprovalSerializer(item[\"require_approval\"]),\n project_connection_id: item[\"project_connection_id\"],\n };\n}\n\nexport function mcpToolDeserializer(item: any): MCPTool {\n return {\n type: item[\"type\"],\n server_label: item[\"server_label\"],\n server_url: item[\"server_url\"],\n connector_id: item[\"connector_id\"],\n authorization: item[\"authorization\"],\n server_description: item[\"server_description\"],\n headers: item[\"headers\"],\n allowed_tools: !item[\"allowed_tools\"]\n ? item[\"allowed_tools\"]\n : _mcpToolAllowedToolsDeserializer(item[\"allowed_tools\"]),\n require_approval: !item[\"require_approval\"]\n ? item[\"require_approval\"]\n : _mcpToolRequireApprovalDeserializer(item[\"require_approval\"]),\n project_connection_id: item[\"project_connection_id\"],\n };\n}\n\n/** Alias for _MCPToolAllowedTools */\nexport type _MCPToolAllowedTools = string[] | MCPToolFilter;\n\nexport function _mcpToolAllowedToolsSerializer(item: _MCPToolAllowedTools): any {\n return item;\n}\n\nexport function _mcpToolAllowedToolsDeserializer(item: any): _MCPToolAllowedTools {\n return item;\n}\n\n/** A filter object to specify which tools are allowed. */\nexport interface MCPToolFilter {\n /** List of allowed tool names. */\n tool_names?: string[];\n /**\n * Indicates whether or not a tool modifies data or is read-only. If an\n * MCP server is [annotated with `readOnlyHint`](https://modelcontextprotocol.io/specification/2025-06-18/schema#toolannotations-readonlyhint),\n * it will match this filter.\n */\n read_only?: boolean;\n}\n\nexport function mcpToolFilterSerializer(item: MCPToolFilter): any {\n return {\n tool_names: item[\"tool_names\"],\n read_only: item[\"read_only\"],\n };\n}\n\nexport function mcpToolFilterDeserializer(item: any): MCPToolFilter {\n return {\n tool_names: item[\"tool_names\"],\n read_only: item[\"read_only\"],\n };\n}\n\n/** Alias for _MCPToolRequireApproval */\nexport type _MCPToolRequireApproval = MCPToolRequireApproval | \"always\" | \"never\";\n\nexport function _mcpToolRequireApprovalSerializer(item: _MCPToolRequireApproval): any {\n return item;\n}\n\nexport function _mcpToolRequireApprovalDeserializer(item: any): _MCPToolRequireApproval {\n return item;\n}\n\n/** model interface MCPToolRequireApproval */\nexport interface MCPToolRequireApproval {\n /** Tools that always require approval before execution. */\n always?: MCPToolFilter;\n /** Tools that never require approval before execution. */\n never?: MCPToolFilter;\n}\n\nexport function mcpToolRequireApprovalSerializer(item: MCPToolRequireApproval): any {\n return {\n always: !item[\"always\"] ? item[\"always\"] : mcpToolFilterSerializer(item[\"always\"]),\n never: !item[\"never\"] ? item[\"never\"] : mcpToolFilterSerializer(item[\"never\"]),\n };\n}\n\nexport function mcpToolRequireApprovalDeserializer(item: any): MCPToolRequireApproval {\n return {\n always: !item[\"always\"] ? item[\"always\"] : mcpToolFilterDeserializer(item[\"always\"]),\n never: !item[\"never\"] ? item[\"never\"] : mcpToolFilterDeserializer(item[\"never\"]),\n };\n}\n\n/** A tool that generates images using the GPT image models. */\nexport interface ImageGenTool extends Tool {\n /** The type of the image generation tool. Always `image_generation`. */\n type: \"image_generation\";\n /** The model to use for image generation. */\n model?: \"gpt-image-1\" | \"gpt-image-1-mini\";\n /**\n * The quality of the generated image. One of `low`, `medium`, `high`,\n * or `auto`. Default: `auto`.\n */\n quality?: \"low\" | \"medium\" | \"high\" | \"auto\";\n /**\n * The size of the generated image. One of `1024x1024`, `1024x1536`,\n * `1536x1024`, or `auto`. Default: `auto`.\n */\n size?: \"1024x1024\" | \"1024x1536\" | \"1536x1024\" | \"auto\";\n /**\n * The output format of the generated image. One of `png`, `webp`, or\n * `jpeg`. Default: `png`.\n */\n output_format?: \"png\" | \"webp\" | \"jpeg\";\n /** Compression level for the output image. Default: 100. */\n output_compression?: number;\n /** Moderation level for the generated image. Default: `auto`. */\n moderation?: \"auto\" | \"low\";\n /**\n * Background type for the generated image. One of `transparent`,\n * `opaque`, or `auto`. Default: `auto`.\n */\n background?: \"transparent\" | \"opaque\" | \"auto\";\n /** The fidelity level for input image processing. */\n input_fidelity?: InputFidelity;\n /**\n * Optional mask for inpainting. Contains `image_url`\n * (string, optional) and `file_id` (string, optional).\n */\n input_image_mask?: ImageGenToolInputImageMask;\n /** Number of partial images to generate in streaming mode, from 0 (default value) to 3. */\n partial_images?: number;\n /** Whether to generate a new image or edit an existing image. Default: `auto`. */\n action?: ImageGenAction;\n}\n\nexport function imageGenToolSerializer(item: ImageGenTool): any {\n return {\n type: item[\"type\"],\n model: item[\"model\"],\n quality: item[\"quality\"],\n size: item[\"size\"],\n output_format: item[\"output_format\"],\n output_compression: item[\"output_compression\"],\n moderation: item[\"moderation\"],\n background: item[\"background\"],\n input_fidelity: item[\"input_fidelity\"],\n input_image_mask: !item[\"input_image_mask\"]\n ? item[\"input_image_mask\"]\n : imageGenToolInputImageMaskSerializer(item[\"input_image_mask\"]),\n partial_images: item[\"partial_images\"],\n };\n}\n\nexport function imageGenToolDeserializer(item: any): ImageGenTool {\n return {\n type: item[\"type\"],\n model: item[\"model\"],\n quality: item[\"quality\"],\n size: item[\"size\"],\n output_format: item[\"output_format\"],\n output_compression: item[\"output_compression\"],\n moderation: item[\"moderation\"],\n background: item[\"background\"],\n input_fidelity: item[\"input_fidelity\"],\n input_image_mask: !item[\"input_image_mask\"]\n ? item[\"input_image_mask\"]\n : imageGenToolInputImageMaskDeserializer(item[\"input_image_mask\"]),\n partial_images: item[\"partial_images\"],\n };\n}\n\n/** Control how much effort the model will exert to match the style and features, especially facial features, of input images. This parameter is only supported for `gpt-image-1`. Unsupported for `gpt-image-1-mini`. Supports `high` and `low`. Defaults to `low`. */\nexport type InputFidelity = \"high\" | \"low\";\n\n/** model interface ImageGenToolInputImageMask */\nexport interface ImageGenToolInputImageMask {\n /** The URL of the mask image. */\n image_url?: string;\n /** The file identifier for the mask image. */\n file_id?: string;\n}\n\nexport function imageGenToolInputImageMaskSerializer(item: ImageGenToolInputImageMask): any {\n return { image_url: item[\"image_url\"], file_id: item[\"file_id\"] };\n}\n\nexport function imageGenToolInputImageMaskDeserializer(item: any): ImageGenToolInputImageMask {\n return {\n image_url: item[\"image_url\"],\n file_id: item[\"file_id\"],\n };\n}\n\n/** Type of ImageGenAction */\nexport type ImageGenAction = \"generate\" | \"edit\" | \"auto\";\n\n/** A tool that allows the model to execute shell commands in a local environment. */\nexport interface LocalShellToolParam extends Tool {\n /** The type of the local shell tool. Always `local_shell`. */\n type: \"local_shell\";\n}\n\nexport function localShellToolParamSerializer(item: LocalShellToolParam): any {\n return { type: item[\"type\"] };\n}\n\nexport function localShellToolParamDeserializer(item: any): LocalShellToolParam {\n return {\n type: item[\"type\"],\n };\n}\n\n/** A tool that allows the model to execute shell commands. */\nexport interface FunctionShellToolParam extends Tool {\n /** The type of the shell tool. Always `shell`. */\n type: \"shell\";\n /** The environment configuration for the function shell tool. */\n environment?: FunctionShellToolParamEnvironmentUnion;\n}\n\nexport function functionShellToolParamSerializer(item: FunctionShellToolParam): any {\n return {\n type: item[\"type\"],\n environment: !item[\"environment\"]\n ? item[\"environment\"]\n : functionShellToolParamEnvironmentUnionSerializer(item[\"environment\"]),\n };\n}\n\nexport function functionShellToolParamDeserializer(item: any): FunctionShellToolParam {\n return {\n type: item[\"type\"],\n environment: !item[\"environment\"]\n ? item[\"environment\"]\n : functionShellToolParamEnvironmentUnionDeserializer(item[\"environment\"]),\n };\n}\n\n/** model interface FunctionShellToolParamEnvironment */\nexport interface FunctionShellToolParamEnvironment {\n /** The environment type. */\n type: FunctionShellToolParamEnvironmentType;\n}\n\nexport function functionShellToolParamEnvironmentSerializer(\n item: FunctionShellToolParamEnvironment,\n): any {\n return { type: item[\"type\"] };\n}\n\nexport function functionShellToolParamEnvironmentDeserializer(\n item: any,\n): FunctionShellToolParamEnvironment {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for FunctionShellToolParamEnvironmentUnion */\nexport type FunctionShellToolParamEnvironmentUnion =\n | FunctionShellToolParamEnvironmentLocalEnvironmentParam\n | FunctionShellToolParamEnvironmentContainerReferenceParam\n | ContainerAutoParam\n | FunctionShellToolParamEnvironment;\n\nexport function functionShellToolParamEnvironmentUnionSerializer(\n item: FunctionShellToolParamEnvironmentUnion,\n): any {\n switch (item.type) {\n case \"local\":\n return functionShellToolParamEnvironmentLocalEnvironmentParamSerializer(\n item as FunctionShellToolParamEnvironmentLocalEnvironmentParam,\n );\n\n case \"container_reference\":\n return functionShellToolParamEnvironmentContainerReferenceParamSerializer(\n item as FunctionShellToolParamEnvironmentContainerReferenceParam,\n );\n\n case \"container_auto\":\n return containerAutoParamSerializer(item as ContainerAutoParam);\n\n default:\n return functionShellToolParamEnvironmentSerializer(item);\n }\n}\n\nexport function functionShellToolParamEnvironmentUnionDeserializer(\n item: any,\n): FunctionShellToolParamEnvironmentUnion {\n switch (item[\"type\"]) {\n case \"local\":\n return functionShellToolParamEnvironmentLocalEnvironmentParamDeserializer(\n item as FunctionShellToolParamEnvironmentLocalEnvironmentParam,\n );\n\n case \"container_reference\":\n return functionShellToolParamEnvironmentContainerReferenceParamDeserializer(\n item as FunctionShellToolParamEnvironmentContainerReferenceParam,\n );\n\n case \"container_auto\":\n return containerAutoParamDeserializer(item as ContainerAutoParam);\n\n default:\n return functionShellToolParamEnvironmentDeserializer(item);\n }\n}\n\n/** Type of FunctionShellToolParamEnvironmentType */\nexport type FunctionShellToolParamEnvironmentType =\n | \"container_auto\"\n | \"local\"\n | \"container_reference\";\n\n/** model interface FunctionShellToolParamEnvironmentLocalEnvironmentParam */\nexport interface FunctionShellToolParamEnvironmentLocalEnvironmentParam extends FunctionShellToolParamEnvironment {\n /** Use a local computer environment. */\n type: \"local\";\n /** An optional list of skills. */\n skills?: LocalSkillParam[];\n}\n\nexport function functionShellToolParamEnvironmentLocalEnvironmentParamSerializer(\n item: FunctionShellToolParamEnvironmentLocalEnvironmentParam,\n): any {\n return {\n type: item[\"type\"],\n skills: !item[\"skills\"] ? item[\"skills\"] : localSkillParamArraySerializer(item[\"skills\"]),\n };\n}\n\nexport function functionShellToolParamEnvironmentLocalEnvironmentParamDeserializer(\n item: any,\n): FunctionShellToolParamEnvironmentLocalEnvironmentParam {\n return {\n type: item[\"type\"],\n skills: !item[\"skills\"] ? item[\"skills\"] : localSkillParamArrayDeserializer(item[\"skills\"]),\n };\n}\n\nexport function localSkillParamArraySerializer(result: Array<LocalSkillParam>): any[] {\n return result.map((item) => {\n return localSkillParamSerializer(item);\n });\n}\n\nexport function localSkillParamArrayDeserializer(result: Array<LocalSkillParam>): any[] {\n return result.map((item) => {\n return localSkillParamDeserializer(item);\n });\n}\n\n/** model interface LocalSkillParam */\nexport interface LocalSkillParam {\n /** The name of the skill. */\n name: string;\n /** The description of the skill. */\n description: string;\n /** The path to the directory containing the skill. */\n path: string;\n}\n\nexport function localSkillParamSerializer(item: LocalSkillParam): any {\n return { name: item[\"name\"], description: item[\"description\"], path: item[\"path\"] };\n}\n\nexport function localSkillParamDeserializer(item: any): LocalSkillParam {\n return {\n name: item[\"name\"],\n description: item[\"description\"],\n path: item[\"path\"],\n };\n}\n\n/** model interface FunctionShellToolParamEnvironmentContainerReferenceParam */\nexport interface FunctionShellToolParamEnvironmentContainerReferenceParam extends FunctionShellToolParamEnvironment {\n /** References a container created with the /v1/containers endpoint */\n type: \"container_reference\";\n /** The ID of the referenced container. */\n container_id: string;\n}\n\nexport function functionShellToolParamEnvironmentContainerReferenceParamSerializer(\n item: FunctionShellToolParamEnvironmentContainerReferenceParam,\n): any {\n return { type: item[\"type\"], container_id: item[\"container_id\"] };\n}\n\nexport function functionShellToolParamEnvironmentContainerReferenceParamDeserializer(\n item: any,\n): FunctionShellToolParamEnvironmentContainerReferenceParam {\n return {\n type: item[\"type\"],\n container_id: item[\"container_id\"],\n };\n}\n\n/** model interface ContainerAutoParam */\nexport interface ContainerAutoParam extends FunctionShellToolParamEnvironment {\n /** Automatically creates a container for this request */\n type: \"container_auto\";\n /** An optional list of uploaded files to make available to your code. */\n file_ids?: string[];\n /** The memory limit for the container, in bytes. */\n memory_limit?: ContainerMemoryLimit;\n /** An optional list of skills referenced by id or inline data. */\n skills?: ContainerSkillUnion[];\n /** The network access policy for the container. */\n network_policy?: ContainerNetworkPolicyParamUnion;\n}\n\nexport function containerAutoParamSerializer(item: ContainerAutoParam): any {\n return {\n type: item[\"type\"],\n file_ids: item[\"file_ids\"],\n memory_limit: item[\"memory_limit\"],\n skills: !item[\"skills\"] ? item[\"skills\"] : containerSkillUnionArraySerializer(item[\"skills\"]),\n network_policy: !item[\"network_policy\"]\n ? item[\"network_policy\"]\n : containerNetworkPolicyParamUnionSerializer(item[\"network_policy\"]),\n };\n}\n\nexport function containerAutoParamDeserializer(item: any): ContainerAutoParam {\n return {\n type: item[\"type\"],\n file_ids: item[\"file_ids\"],\n memory_limit: item[\"memory_limit\"],\n skills: !item[\"skills\"] ? item[\"skills\"] : containerSkillUnionArrayDeserializer(item[\"skills\"]),\n network_policy: !item[\"network_policy\"]\n ? item[\"network_policy\"]\n : containerNetworkPolicyParamUnionDeserializer(item[\"network_policy\"]),\n };\n}\n\nexport function containerSkillUnionArraySerializer(result: Array<ContainerSkillUnion>): any[] {\n return result.map((item) => {\n return containerSkillUnionSerializer(item);\n });\n}\n\nexport function containerSkillUnionArrayDeserializer(result: Array<ContainerSkillUnion>): any[] {\n return result.map((item) => {\n return containerSkillUnionDeserializer(item);\n });\n}\n\n/** model interface ContainerSkill */\nexport interface ContainerSkill {\n /** The type discriminator, always 'container'. */\n type: ContainerSkillType;\n}\n\nexport function containerSkillSerializer(item: ContainerSkill): any {\n return { type: item[\"type\"] };\n}\n\nexport function containerSkillDeserializer(item: any): ContainerSkill {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for ContainerSkillUnion */\nexport type ContainerSkillUnion = SkillReferenceParam | InlineSkillParam | ContainerSkill;\n\nexport function containerSkillUnionSerializer(item: ContainerSkillUnion): any {\n switch (item.type) {\n case \"skill_reference\":\n return skillReferenceParamSerializer(item as SkillReferenceParam);\n\n case \"inline\":\n return inlineSkillParamSerializer(item as InlineSkillParam);\n\n default:\n return containerSkillSerializer(item);\n }\n}\n\nexport function containerSkillUnionDeserializer(item: any): ContainerSkillUnion {\n switch (item[\"type\"]) {\n case \"skill_reference\":\n return skillReferenceParamDeserializer(item as SkillReferenceParam);\n\n case \"inline\":\n return inlineSkillParamDeserializer(item as InlineSkillParam);\n\n default:\n return containerSkillDeserializer(item);\n }\n}\n\n/** Type of ContainerSkillType */\nexport type ContainerSkillType = \"skill_reference\" | \"inline\";\n\n/** model interface SkillReferenceParam */\nexport interface SkillReferenceParam extends ContainerSkill {\n /** References a skill created with the /v1/skills endpoint. */\n type: \"skill_reference\";\n /** The ID of the referenced skill. */\n skill_id: string;\n /** Optional skill version. Use a positive integer or 'latest'. Omit for default. */\n version?: string;\n}\n\nexport function skillReferenceParamSerializer(item: SkillReferenceParam): any {\n return { type: item[\"type\"], skill_id: item[\"skill_id\"], version: item[\"version\"] };\n}\n\nexport function skillReferenceParamDeserializer(item: any): SkillReferenceParam {\n return {\n type: item[\"type\"],\n skill_id: item[\"skill_id\"],\n version: item[\"version\"],\n };\n}\n\n/** model interface InlineSkillParam */\nexport interface InlineSkillParam extends ContainerSkill {\n /** Defines an inline skill for this request. */\n type: \"inline\";\n /** The name of the skill. */\n name: string;\n /** The description of the skill. */\n description: string;\n /** Inline skill payload */\n source: InlineSkillSourceParam;\n}\n\nexport function inlineSkillParamSerializer(item: InlineSkillParam): any {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n description: item[\"description\"],\n source: inlineSkillSourceParamSerializer(item[\"source\"]),\n };\n}\n\nexport function inlineSkillParamDeserializer(item: any): InlineSkillParam {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n description: item[\"description\"],\n source: inlineSkillSourceParamDeserializer(item[\"source\"]),\n };\n}\n\n/** Inline skill payload */\nexport interface InlineSkillSourceParam {\n /** The type of the inline skill source. Must be `base64`. */\n type: \"base64\";\n /** The media type of the inline skill payload. Must be `application/zip`. */\n media_type: \"application/zip\";\n /** Base64-encoded skill zip bundle. */\n data: string;\n}\n\nexport function inlineSkillSourceParamSerializer(item: InlineSkillSourceParam): any {\n return { type: item[\"type\"], media_type: item[\"media_type\"], data: item[\"data\"] };\n}\n\nexport function inlineSkillSourceParamDeserializer(item: any): InlineSkillSourceParam {\n return {\n type: item[\"type\"],\n media_type: item[\"media_type\"],\n data: item[\"data\"],\n };\n}\n\n/** A custom tool that processes input using a specified format. Learn more about [custom tools](https://platform.openai.com/docs/guides/function-calling#custom-tools) */\nexport interface CustomToolParam extends Tool {\n /** The type of the custom tool. Always `custom`. */\n type: \"custom\";\n /** The name of the custom tool, used to identify it in tool calls. */\n name: string;\n /** Optional description of the custom tool, used to provide more context. */\n description?: string;\n /** The input format for the custom tool. Default is unconstrained text. */\n format?: CustomToolParamFormatUnion;\n}\n\nexport function customToolParamSerializer(item: CustomToolParam): any {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n description: item[\"description\"],\n format: !item[\"format\"] ? item[\"format\"] : customToolParamFormatUnionSerializer(item[\"format\"]),\n };\n}\n\nexport function customToolParamDeserializer(item: any): CustomToolParam {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n description: item[\"description\"],\n format: !item[\"format\"]\n ? item[\"format\"]\n : customToolParamFormatUnionDeserializer(item[\"format\"]),\n };\n}\n\n/** The input format for the custom tool. Default is unconstrained text. */\nexport interface CustomToolParamFormat {\n /** The custom tool parameter format type. */\n type: CustomToolParamFormatType;\n}\n\nexport function customToolParamFormatSerializer(item: CustomToolParamFormat): any {\n return { type: item[\"type\"] };\n}\n\nexport function customToolParamFormatDeserializer(item: any): CustomToolParamFormat {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for CustomToolParamFormatUnion */\nexport type CustomToolParamFormatUnion =\n | CustomTextFormatParam\n | CustomGrammarFormatParam\n | CustomToolParamFormat;\n\nexport function customToolParamFormatUnionSerializer(item: CustomToolParamFormatUnion): any {\n switch (item.type) {\n case \"text\":\n return customTextFormatParamSerializer(item as CustomTextFormatParam);\n\n case \"grammar\":\n return customGrammarFormatParamSerializer(item as CustomGrammarFormatParam);\n\n default:\n return customToolParamFormatSerializer(item);\n }\n}\n\nexport function customToolParamFormatUnionDeserializer(item: any): CustomToolParamFormatUnion {\n switch (item.type) {\n case \"text\":\n return customTextFormatParamDeserializer(item as CustomTextFormatParam);\n\n case \"grammar\":\n return customGrammarFormatParamDeserializer(item as CustomGrammarFormatParam);\n\n default:\n return customToolParamFormatDeserializer(item);\n }\n}\n\n/** Type of CustomToolParamFormatType */\nexport type CustomToolParamFormatType = \"text\" | \"grammar\";\n\n/** Unconstrained free-form text. */\nexport interface CustomTextFormatParam extends CustomToolParamFormat {\n /** Unconstrained text format. Always `text`. */\n type: \"text\";\n}\n\nexport function customTextFormatParamSerializer(item: CustomTextFormatParam): any {\n return { type: item[\"type\"] };\n}\n\nexport function customTextFormatParamDeserializer(item: any): CustomTextFormatParam {\n return {\n type: item[\"type\"],\n };\n}\n\n/** A grammar defined by the user. */\nexport interface CustomGrammarFormatParam extends CustomToolParamFormat {\n /** Grammar format. Always `grammar`. */\n type: \"grammar\";\n /** The syntax of the grammar definition. One of `lark` or `regex`. */\n syntax: GrammarSyntax;\n /** The grammar definition. */\n definition: string;\n}\n\nexport function customGrammarFormatParamSerializer(item: CustomGrammarFormatParam): any {\n return { type: item[\"type\"], syntax: item[\"syntax\"], definition: item[\"definition\"] };\n}\n\nexport function customGrammarFormatParamDeserializer(item: any): CustomGrammarFormatParam {\n return {\n type: item[\"type\"],\n syntax: item[\"syntax\"],\n definition: item[\"definition\"],\n };\n}\n\n/** Type of GrammarSyntax */\nexport type GrammarSyntax = \"lark\" | \"regex\";\n\n/** This tool searches the web for relevant results to use in a response. Learn more about the [web search tool](https://platform.openai.com/docs/guides/tools-web-search). */\nexport interface WebSearchPreviewTool extends Tool {\n /** The type of the web search tool. One of `web_search_preview` or `web_search_preview_2025_03_11`. */\n type: \"web_search_preview\";\n /** The approximate location of the user for search relevance. */\n user_location?: ApproximateLocation;\n /** High level guidance for the amount of context window space to use for the search. One of `low`, `medium`, or `high`. `medium` is the default. */\n search_context_size?: SearchContextSize;\n}\n\nexport function webSearchPreviewToolSerializer(item: WebSearchPreviewTool): any {\n return {\n type: item[\"type\"],\n user_location: !item[\"user_location\"]\n ? item[\"user_location\"]\n : approximateLocationSerializer(item[\"user_location\"]),\n search_context_size: item[\"search_context_size\"],\n };\n}\n\nexport function webSearchPreviewToolDeserializer(item: any): WebSearchPreviewTool {\n return {\n type: item[\"type\"],\n user_location: !item[\"user_location\"]\n ? item[\"user_location\"]\n : approximateLocationDeserializer(item[\"user_location\"]),\n search_context_size: item[\"search_context_size\"],\n };\n}\n\n/** model interface ApproximateLocation */\nexport interface ApproximateLocation {\n /** The type of location approximation. Always `approximate`. */\n type: \"approximate\";\n /** The two-letter ISO country code. */\n country?: string;\n /** The region or state for the approximate location. */\n region?: string;\n /** The city for the approximate location. */\n city?: string;\n /** The IANA timezone identifier (e.g. 'America/New_York'). */\n timezone?: string;\n}\n\nexport function approximateLocationSerializer(item: ApproximateLocation): any {\n return {\n type: item[\"type\"],\n country: item[\"country\"],\n region: item[\"region\"],\n city: item[\"city\"],\n timezone: item[\"timezone\"],\n };\n}\n\nexport function approximateLocationDeserializer(item: any): ApproximateLocation {\n return {\n type: item[\"type\"],\n country: item[\"country\"],\n region: item[\"region\"],\n city: item[\"city\"],\n timezone: item[\"timezone\"],\n };\n}\n\n/** Type of SearchContextSize */\nexport type SearchContextSize = \"low\" | \"medium\" | \"high\";\n\n/** Allows the assistant to create, delete, or update files using unified diffs. */\nexport interface ApplyPatchToolParam extends Tool {\n /** The type of the tool. Always `apply_patch`. */\n type: \"apply_patch\";\n}\n\nexport function applyPatchToolParamSerializer(item: ApplyPatchToolParam): any {\n return { type: item[\"type\"] };\n}\n\nexport function applyPatchToolParamDeserializer(item: any): ApplyPatchToolParam {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for _PromptAgentDefinitionToolChoice */\nexport type _PromptAgentDefinitionToolChoice = string | ToolChoiceParamUnion;\n\nexport function _promptAgentDefinitionToolChoiceSerializer(\n item: _PromptAgentDefinitionToolChoice,\n): any {\n return item;\n}\n\nexport function _promptAgentDefinitionToolChoiceDeserializer(\n item: any,\n): _PromptAgentDefinitionToolChoice {\n return item;\n}\n\n/**\n * How the model should select which tool (or tools) to use when generating\n * a response. See the `tools` parameter to see how to specify which tools\n * the model can call.\n */\nexport interface ToolChoiceParam {\n /** The type discriminator for the tool choice. */\n type: ToolChoiceParamType;\n}\n\nexport function toolChoiceParamSerializer(item: ToolChoiceParam): any {\n return { type: item[\"type\"] };\n}\n\nexport function toolChoiceParamDeserializer(item: any): ToolChoiceParam {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for ToolChoiceParamUnion */\nexport type ToolChoiceParamUnion =\n | ToolChoiceAllowed\n | ToolChoiceFunction\n | ToolChoiceMCP\n | ToolChoiceCustom\n | SpecificApplyPatchParam\n | SpecificFunctionShellParam\n | ToolChoiceFileSearch\n | ToolChoiceWebSearchPreview\n | ToolChoiceComputerUsePreview\n | ToolChoiceWebSearchPreview20250311\n | ToolChoiceImageGeneration\n | ToolChoiceCodeInterpreter\n | ToolChoiceParam;\n\nexport function toolChoiceParamUnionSerializer(item: ToolChoiceParamUnion): any {\n switch (item.type) {\n case \"allowed_tools\":\n return toolChoiceAllowedSerializer(item as ToolChoiceAllowed);\n\n case \"function\":\n return toolChoiceFunctionSerializer(item as ToolChoiceFunction);\n\n case \"mcp\":\n return toolChoiceMCPSerializer(item as ToolChoiceMCP);\n\n case \"custom\":\n return toolChoiceCustomSerializer(item as ToolChoiceCustom);\n\n case \"apply_patch\":\n return specificApplyPatchParamSerializer(item as SpecificApplyPatchParam);\n\n case \"shell\":\n return specificFunctionShellParamSerializer(item as SpecificFunctionShellParam);\n\n case \"file_search\":\n return toolChoiceFileSearchSerializer(item as ToolChoiceFileSearch);\n\n case \"web_search_preview\":\n return toolChoiceWebSearchPreviewSerializer(item as ToolChoiceWebSearchPreview);\n\n case \"computer_use_preview\":\n return toolChoiceComputerUsePreviewSerializer(item as ToolChoiceComputerUsePreview);\n\n case \"web_search_preview_2025_03_11\":\n return toolChoiceWebSearchPreview20250311Serializer(\n item as ToolChoiceWebSearchPreview20250311,\n );\n\n case \"image_generation\":\n return toolChoiceImageGenerationSerializer(item as ToolChoiceImageGeneration);\n\n case \"code_interpreter\":\n return toolChoiceCodeInterpreterSerializer(item as ToolChoiceCodeInterpreter);\n\n default:\n return toolChoiceParamSerializer(item);\n }\n}\n\nexport function toolChoiceParamUnionDeserializer(item: any): ToolChoiceParamUnion {\n switch (item.type) {\n case \"allowed_tools\":\n return toolChoiceAllowedDeserializer(item as ToolChoiceAllowed);\n\n case \"function\":\n return toolChoiceFunctionDeserializer(item as ToolChoiceFunction);\n\n case \"mcp\":\n return toolChoiceMCPDeserializer(item as ToolChoiceMCP);\n\n case \"custom\":\n return toolChoiceCustomDeserializer(item as ToolChoiceCustom);\n\n case \"apply_patch\":\n return specificApplyPatchParamDeserializer(item as SpecificApplyPatchParam);\n\n case \"shell\":\n return specificFunctionShellParamDeserializer(item as SpecificFunctionShellParam);\n\n case \"file_search\":\n return toolChoiceFileSearchDeserializer(item as ToolChoiceFileSearch);\n\n case \"web_search_preview\":\n return toolChoiceWebSearchPreviewDeserializer(item as ToolChoiceWebSearchPreview);\n\n case \"computer_use_preview\":\n return toolChoiceComputerUsePreviewDeserializer(item as ToolChoiceComputerUsePreview);\n\n case \"web_search_preview_2025_03_11\":\n return toolChoiceWebSearchPreview20250311Deserializer(\n item as ToolChoiceWebSearchPreview20250311,\n );\n\n case \"image_generation\":\n return toolChoiceImageGenerationDeserializer(item as ToolChoiceImageGeneration);\n\n case \"code_interpreter\":\n return toolChoiceCodeInterpreterDeserializer(item as ToolChoiceCodeInterpreter);\n\n default:\n return toolChoiceParamDeserializer(item);\n }\n}\n\n/** Type of ToolChoiceParamType */\nexport type ToolChoiceParamType =\n | \"allowed_tools\"\n | \"function\"\n | \"mcp\"\n | \"custom\"\n | \"apply_patch\"\n | \"shell\"\n | \"file_search\"\n | \"web_search_preview\"\n | \"computer_use_preview\"\n | \"web_search_preview_2025_03_11\"\n | \"image_generation\"\n | \"code_interpreter\";\n\n/** Constrains the tools available to the model to a pre-defined set. */\nexport interface ToolChoiceAllowed extends ToolChoiceParam {\n /** Allowed tool configuration type. Always `allowed_tools`. */\n type: \"allowed_tools\";\n /**\n * Constrains the tools available to the model to a pre-defined set.\n * `auto` allows the model to pick from among the allowed tools and generate a\n * message.\n * `required` requires the model to call one or more of the allowed tools.\n */\n mode: \"auto\" | \"required\";\n /**\n * A list of tool definitions that the model should be allowed to call.\n * For the Responses API, the list of tool definitions might look like:\n * ```json\n * [\n * { \"type\": \"function\", \"name\": \"get_weather\" },\n * { \"type\": \"mcp\", \"server_label\": \"deepwiki\" },\n * { \"type\": \"image_generation\" }\n * ]\n * ```\n */\n tools: Record<string, unknown>[];\n}\n\nexport function toolChoiceAllowedSerializer(item: ToolChoiceAllowed): any {\n return {\n type: item[\"type\"],\n mode: item[\"mode\"],\n tools: item[\"tools\"],\n };\n}\n\nexport function toolChoiceAllowedDeserializer(item: any): ToolChoiceAllowed {\n return {\n type: item[\"type\"],\n mode: item[\"mode\"],\n tools: item[\"tools\"],\n };\n}\n\n/** Use this option to force the model to call a specific function. */\nexport interface ToolChoiceFunction extends ToolChoiceParam {\n /** For function calling, the type is always `function`. */\n type: \"function\";\n /** The name of the function to call. */\n name: string;\n}\n\nexport function toolChoiceFunctionSerializer(item: ToolChoiceFunction): any {\n return { type: item[\"type\"], name: item[\"name\"] };\n}\n\nexport function toolChoiceFunctionDeserializer(item: any): ToolChoiceFunction {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n };\n}\n\n/** Use this option to force the model to call a specific tool on a remote MCP server. */\nexport interface ToolChoiceMCP extends ToolChoiceParam {\n /** For MCP tools, the type is always `mcp`. */\n type: \"mcp\";\n /** The label of the MCP server to use. */\n server_label: string;\n /** The name of the MCP server to use. */\n name?: string;\n}\n\nexport function toolChoiceMCPSerializer(item: ToolChoiceMCP): any {\n return { type: item[\"type\"], server_label: item[\"server_label\"], name: item[\"name\"] };\n}\n\nexport function toolChoiceMCPDeserializer(item: any): ToolChoiceMCP {\n return {\n type: item[\"type\"],\n server_label: item[\"server_label\"],\n name: item[\"name\"],\n };\n}\n\n/** Use this option to force the model to call a specific custom tool. */\nexport interface ToolChoiceCustom extends ToolChoiceParam {\n /** For custom tool calling, the type is always `custom`. */\n type: \"custom\";\n /** The name of the custom tool to call. */\n name: string;\n}\n\nexport function toolChoiceCustomSerializer(item: ToolChoiceCustom): any {\n return { type: item[\"type\"], name: item[\"name\"] };\n}\n\nexport function toolChoiceCustomDeserializer(item: any): ToolChoiceCustom {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n };\n}\n\n/** Forces the model to call the apply_patch tool when executing a tool call. */\nexport interface SpecificApplyPatchParam extends ToolChoiceParam {\n /** The tool to call. Always `apply_patch`. */\n type: \"apply_patch\";\n}\n\nexport function specificApplyPatchParamSerializer(item: SpecificApplyPatchParam): any {\n return { type: item[\"type\"] };\n}\n\nexport function specificApplyPatchParamDeserializer(item: any): SpecificApplyPatchParam {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Forces the model to call the shell tool when a tool call is required. */\nexport interface SpecificFunctionShellParam extends ToolChoiceParam {\n /** The tool to call. Always `shell`. */\n type: \"shell\";\n}\n\nexport function specificFunctionShellParamSerializer(item: SpecificFunctionShellParam): any {\n return { type: item[\"type\"] };\n}\n\nexport function specificFunctionShellParamDeserializer(item: any): SpecificFunctionShellParam {\n return {\n type: item[\"type\"],\n };\n}\n\n/**\n * Indicates that the model should use a built-in tool to generate a response.\n * [Learn more about built-in tools](https://platform.openai.com/docs/guides/tools).\n */\nexport interface ToolChoiceFileSearch extends ToolChoiceParam {\n /** The type discriminator, always 'file_search'. */\n type: \"file_search\";\n}\n\nexport function toolChoiceFileSearchSerializer(item: ToolChoiceFileSearch): any {\n return { type: item[\"type\"] };\n}\n\nexport function toolChoiceFileSearchDeserializer(item: any): ToolChoiceFileSearch {\n return {\n type: item[\"type\"],\n };\n}\n\n/**\n * Indicates that the model should use a built-in tool to generate a response.\n * [Learn more about built-in tools](https://platform.openai.com/docs/guides/tools).\n */\nexport interface ToolChoiceWebSearchPreview extends ToolChoiceParam {\n /** The type discriminator, always 'web_search_preview'. */\n type: \"web_search_preview\";\n}\n\nexport function toolChoiceWebSearchPreviewSerializer(item: ToolChoiceWebSearchPreview): any {\n return { type: item[\"type\"] };\n}\n\nexport function toolChoiceWebSearchPreviewDeserializer(item: any): ToolChoiceWebSearchPreview {\n return {\n type: item[\"type\"],\n };\n}\n\n/**\n * Indicates that the model should use a built-in tool to generate a response.\n * [Learn more about built-in tools](https://platform.openai.com/docs/guides/tools).\n */\nexport interface ToolChoiceComputerUsePreview extends ToolChoiceParam {\n /** The type discriminator, always 'computer_use_preview'. */\n type: \"computer_use_preview\";\n}\n\nexport function toolChoiceComputerUsePreviewSerializer(item: ToolChoiceComputerUsePreview): any {\n return { type: item[\"type\"] };\n}\n\nexport function toolChoiceComputerUsePreviewDeserializer(item: any): ToolChoiceComputerUsePreview {\n return {\n type: item[\"type\"],\n };\n}\n\n/**\n * Indicates that the model should use a built-in tool to generate a response.\n * [Learn more about built-in tools](https://platform.openai.com/docs/guides/tools).\n */\nexport interface ToolChoiceWebSearchPreview20250311 extends ToolChoiceParam {\n /** The type discriminator, always 'web_search_preview_2025_03_11'. */\n type: \"web_search_preview_2025_03_11\";\n}\n\nexport function toolChoiceWebSearchPreview20250311Serializer(\n item: ToolChoiceWebSearchPreview20250311,\n): any {\n return { type: item[\"type\"] };\n}\n\nexport function toolChoiceWebSearchPreview20250311Deserializer(\n item: any,\n): ToolChoiceWebSearchPreview20250311 {\n return {\n type: item[\"type\"],\n };\n}\n\n/**\n * Indicates that the model should use a built-in tool to generate a response.\n * [Learn more about built-in tools](https://platform.openai.com/docs/guides/tools).\n */\nexport interface ToolChoiceImageGeneration extends ToolChoiceParam {\n /** The type discriminator, always 'image_generation'. */\n type: \"image_generation\";\n}\n\nexport function toolChoiceImageGenerationSerializer(item: ToolChoiceImageGeneration): any {\n return { type: item[\"type\"] };\n}\n\nexport function toolChoiceImageGenerationDeserializer(item: any): ToolChoiceImageGeneration {\n return {\n type: item[\"type\"],\n };\n}\n\n/**\n * Indicates that the model should use a built-in tool to generate a response.\n * [Learn more about built-in tools](https://platform.openai.com/docs/guides/tools).\n */\nexport interface ToolChoiceCodeInterpreter extends ToolChoiceParam {\n /** The type discriminator, always 'code_interpreter'. */\n type: \"code_interpreter\";\n}\n\nexport function toolChoiceCodeInterpreterSerializer(item: ToolChoiceCodeInterpreter): any {\n return { type: item[\"type\"] };\n}\n\nexport function toolChoiceCodeInterpreterDeserializer(item: any): ToolChoiceCodeInterpreter {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Configuration options for a text response from the model. Can be plain text or structured JSON data. */\nexport interface PromptAgentDefinitionTextOptions {\n /** The text format options for the prompt agent. */\n format?: TextResponseFormatConfigurationUnion;\n}\n\nexport function promptAgentDefinitionTextOptionsSerializer(\n item: PromptAgentDefinitionTextOptions,\n): any {\n return {\n format: !item[\"format\"]\n ? item[\"format\"]\n : textResponseFormatConfigurationUnionSerializer(item[\"format\"]),\n };\n}\n\nexport function promptAgentDefinitionTextOptionsDeserializer(\n item: any,\n): PromptAgentDefinitionTextOptions {\n return {\n format: !item[\"format\"]\n ? item[\"format\"]\n : textResponseFormatConfigurationUnionDeserializer(item[\"format\"]),\n };\n}\n\n/**\n * An object specifying the format that the model must output.\n * Configuring `{ \"type\": \"json_schema\" }` enables Structured Outputs,\n * which ensures the model will match your supplied JSON schema. Learn more in the\n * [Structured Outputs guide](https://platform.openai.com/docs/guides/structured-outputs).\n * The default format is `{ \"type\": \"text\" }` with no additional options.\n * *Not recommended for gpt-4o and newer models:**\n * Setting to `{ \"type\": \"json_object\" }` enables the older JSON mode, which\n * ensures the message the model generates is valid JSON. Using `json_schema`\n * is preferred for models that support it.\n */\nexport interface TextResponseFormatConfiguration {\n /** The type discriminator, always 'text'. */\n type: TextResponseFormatConfigurationType;\n}\n\nexport function textResponseFormatConfigurationSerializer(\n item: TextResponseFormatConfiguration,\n): any {\n return { type: item[\"type\"] };\n}\n\nexport function textResponseFormatConfigurationDeserializer(\n item: any,\n): TextResponseFormatConfiguration {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for TextResponseFormatConfigurationUnion */\nexport type TextResponseFormatConfigurationUnion =\n | TextResponseFormatJsonSchema\n | TextResponseFormatConfigurationResponseFormatText\n | TextResponseFormatConfigurationResponseFormatJsonObject\n | TextResponseFormatConfiguration;\n\nexport function textResponseFormatConfigurationUnionSerializer(\n item: TextResponseFormatConfigurationUnion,\n): any {\n switch (item.type) {\n case \"json_schema\":\n return textResponseFormatJsonSchemaSerializer(item as TextResponseFormatJsonSchema);\n\n case \"text\":\n return textResponseFormatConfigurationResponseFormatTextSerializer(\n item as TextResponseFormatConfigurationResponseFormatText,\n );\n\n case \"json_object\":\n return textResponseFormatConfigurationResponseFormatJsonObjectSerializer(\n item as TextResponseFormatConfigurationResponseFormatJsonObject,\n );\n\n default:\n return textResponseFormatConfigurationSerializer(item);\n }\n}\n\nexport function textResponseFormatConfigurationUnionDeserializer(\n item: any,\n): TextResponseFormatConfigurationUnion {\n switch (item.type) {\n case \"json_schema\":\n return textResponseFormatJsonSchemaDeserializer(item as TextResponseFormatJsonSchema);\n\n case \"text\":\n return textResponseFormatConfigurationResponseFormatTextDeserializer(\n item as TextResponseFormatConfigurationResponseFormatText,\n );\n\n case \"json_object\":\n return textResponseFormatConfigurationResponseFormatJsonObjectDeserializer(\n item as TextResponseFormatConfigurationResponseFormatJsonObject,\n );\n\n default:\n return textResponseFormatConfigurationDeserializer(item);\n }\n}\n\n/** Type of TextResponseFormatConfigurationType */\nexport type TextResponseFormatConfigurationType = \"text\" | \"json_schema\" | \"json_object\";\n\n/**\n * JSON Schema response format. Used to generate structured JSON responses.\n * Learn more about [Structured Outputs](https://platform.openai.com/docs/guides/structured-outputs).\n */\nexport interface TextResponseFormatJsonSchema extends TextResponseFormatConfiguration {\n /** The type of response format being defined. Always `json_schema`. */\n type: \"json_schema\";\n /**\n * A description of what the response format is for, used by the model to\n * determine how to respond in the format.\n */\n description?: string;\n /**\n * The name of the response format. Must be a-z, A-Z, 0-9, or contain\n * underscores and dashes, with a maximum length of 64.\n */\n name: string;\n /** The JSON schema that the response must conform to. */\n schema: Record<string, unknown>;\n /** Whether the response must strictly conform to the schema. */\n strict?: boolean;\n}\n\nexport function textResponseFormatJsonSchemaSerializer(item: TextResponseFormatJsonSchema): any {\n return {\n type: item[\"type\"],\n description: item[\"description\"],\n name: item[\"name\"],\n schema: item[\"schema\"],\n strict: item[\"strict\"],\n };\n}\n\nexport function textResponseFormatJsonSchemaDeserializer(item: any): TextResponseFormatJsonSchema {\n return {\n type: item[\"type\"],\n description: item[\"description\"],\n name: item[\"name\"],\n schema: item[\"schema\"],\n strict: item[\"strict\"],\n };\n}\n\n/** Default response format. Used to generate text responses. */\nexport interface TextResponseFormatConfigurationResponseFormatText extends TextResponseFormatConfiguration {\n /** The type of response format being defined. Always `text`. */\n type: \"text\";\n}\n\nexport function textResponseFormatConfigurationResponseFormatTextSerializer(\n item: TextResponseFormatConfigurationResponseFormatText,\n): any {\n return { type: item[\"type\"] };\n}\n\nexport function textResponseFormatConfigurationResponseFormatTextDeserializer(\n item: any,\n): TextResponseFormatConfigurationResponseFormatText {\n return {\n type: item[\"type\"],\n };\n}\n\n/**\n * JSON object response format. An older method of generating JSON responses.\n * Using `json_schema` is recommended for models that support it. Note that the\n * model will not generate JSON without a system or user message instructing it\n * to do so.\n */\nexport interface TextResponseFormatConfigurationResponseFormatJsonObject extends TextResponseFormatConfiguration {\n /** The type of response format being defined. Always `json_object`. */\n type: \"json_object\";\n}\n\nexport function textResponseFormatConfigurationResponseFormatJsonObjectSerializer(\n item: TextResponseFormatConfigurationResponseFormatJsonObject,\n): any {\n return { type: item[\"type\"] };\n}\n\nexport function textResponseFormatConfigurationResponseFormatJsonObjectDeserializer(\n item: any,\n): TextResponseFormatConfigurationResponseFormatJsonObject {\n return {\n type: item[\"type\"],\n };\n}\n\nexport function structuredInputDefinitionRecordSerializer(\n item: Record<string, StructuredInputDefinition>,\n): Record<string, any> {\n const result: Record<string, any> = {};\n Object.keys(item).map((key) => {\n result[key] = !item[key] ? item[key] : structuredInputDefinitionSerializer(item[key]);\n });\n return result;\n}\n\nexport function structuredInputDefinitionRecordDeserializer(\n item: Record<string, any>,\n): Record<string, StructuredInputDefinition> {\n const result: Record<string, any> = {};\n Object.keys(item).map((key) => {\n result[key] = !item[key] ? item[key] : structuredInputDefinitionDeserializer(item[key]);\n });\n return result;\n}\n\n/** An structured input that can participate in prompt template substitutions and tool argument binding. */\nexport interface StructuredInputDefinition {\n /** A human-readable description of the input. */\n description?: string;\n /** The default value for the input if no run-time value is provided. */\n default_value?: unknown;\n /** The JSON schema for the structured input (optional). */\n schema?: Record<string, unknown>;\n /** Whether the input property is required when the agent is invoked. */\n required?: boolean;\n}\n\nexport function structuredInputDefinitionSerializer(item: StructuredInputDefinition): any {\n return {\n description: item[\"description\"],\n default_value: item[\"default_value\"],\n schema: item[\"schema\"],\n required: item[\"required\"],\n };\n}\n\nexport function structuredInputDefinitionDeserializer(item: any): StructuredInputDefinition {\n return {\n description: item[\"description\"],\n default_value: item[\"default_value\"],\n schema: item[\"schema\"],\n required: item[\"required\"],\n };\n}\n\n/** The workflow agent definition. */\nexport interface WorkflowAgentDefinition extends AgentDefinition {\n /** The kind discriminator, always 'workflow'. */\n kind: \"workflow\";\n /** The CSDL YAML definition of the workflow. */\n workflow?: string;\n}\n\nexport function workflowAgentDefinitionSerializer(item: WorkflowAgentDefinition): any {\n return {\n kind: item[\"kind\"],\n rai_config: !item[\"rai_config\"] ? item[\"rai_config\"] : raiConfigSerializer(item[\"rai_config\"]),\n workflow: item[\"workflow\"],\n };\n}\n\nexport function workflowAgentDefinitionDeserializer(item: any): WorkflowAgentDefinition {\n return {\n kind: item[\"kind\"],\n rai_config: !item[\"rai_config\"]\n ? item[\"rai_config\"]\n : raiConfigDeserializer(item[\"rai_config\"]),\n workflow: item[\"workflow\"],\n };\n}\n\n/** The hosted agent definition. */\nexport interface HostedAgentDefinition extends AgentDefinition {\n /** The kind discriminator, always 'hosted'. */\n kind: \"hosted\";\n /**\n * An array of tools the hosted agent's model may call while generating a response. You\n * can specify which tool to use by setting the `tool_choice` parameter.\n */\n tools?: ToolUnion[];\n /** The protocols that the agent supports for ingress communication of the containers. */\n container_protocol_versions: ProtocolVersionRecord[];\n /** The CPU configuration for the hosted agent. */\n cpu: string;\n /** The memory configuration for the hosted agent. */\n memory: string;\n /** Environment variables to set in the hosted agent container. */\n environment_variables?: Record<string, string>;\n /** The image ID for the agent, applicable to image-based hosted agents. */\n image?: string;\n}\n\nexport function hostedAgentDefinitionSerializer(item: HostedAgentDefinition): any {\n return {\n kind: item[\"kind\"],\n rai_config: !item[\"rai_config\"] ? item[\"rai_config\"] : raiConfigSerializer(item[\"rai_config\"]),\n tools: !item[\"tools\"] ? item[\"tools\"] : toolUnionArraySerializer(item[\"tools\"]),\n container_protocol_versions: protocolVersionRecordArraySerializer(\n item[\"container_protocol_versions\"],\n ),\n cpu: item[\"cpu\"],\n memory: item[\"memory\"],\n environment_variables: item[\"environment_variables\"],\n image: item[\"image\"],\n };\n}\n\nexport function hostedAgentDefinitionDeserializer(item: any): HostedAgentDefinition {\n return {\n kind: item[\"kind\"],\n rai_config: !item[\"rai_config\"]\n ? item[\"rai_config\"]\n : raiConfigDeserializer(item[\"rai_config\"]),\n tools: !item[\"tools\"] ? item[\"tools\"] : toolUnionArrayDeserializer(item[\"tools\"]),\n container_protocol_versions: protocolVersionRecordArrayDeserializer(\n item[\"container_protocol_versions\"],\n ),\n cpu: item[\"cpu\"],\n memory: item[\"memory\"],\n environment_variables: item[\"environment_variables\"],\n image: item[\"image\"],\n };\n}\n\nexport function protocolVersionRecordArraySerializer(result: Array<ProtocolVersionRecord>): any[] {\n return result.map((item) => {\n return protocolVersionRecordSerializer(item);\n });\n}\n\nexport function protocolVersionRecordArrayDeserializer(\n result: Array<ProtocolVersionRecord>,\n): any[] {\n return result.map((item) => {\n return protocolVersionRecordDeserializer(item);\n });\n}\n\n/** A record mapping for a single protocol and its version. */\nexport interface ProtocolVersionRecord {\n /** The protocol type. */\n protocol: AgentProtocol;\n /** The version string for the protocol, e.g. 'v0.1.1'. */\n version: string;\n}\n\nexport function protocolVersionRecordSerializer(item: ProtocolVersionRecord): any {\n return { protocol: item[\"protocol\"], version: item[\"version\"] };\n}\n\nexport function protocolVersionRecordDeserializer(item: any): ProtocolVersionRecord {\n return {\n protocol: item[\"protocol\"],\n version: item[\"version\"],\n };\n}\n\n/** Type of AgentProtocol */\nexport type AgentProtocol = \"activity_protocol\" | \"responses\";\n\n/** Error response for API failures. */\nexport interface ApiErrorResponse {\n /** The error details. */\n error: ErrorModel;\n}\n\nexport function apiErrorResponseDeserializer(item: any): ApiErrorResponse {\n return {\n error: errorDeserializer(item[\"error\"]),\n };\n}\n\n/** model interface ErrorModel */\nexport interface ErrorModel {\n /** The error code. */\n code: string;\n /** The error message. */\n message: string;\n /** The parameter that caused the error. */\n param?: string;\n /** The error type. */\n type?: string;\n /** The error details. */\n details?: ErrorModel[];\n /** Additional information about the error. */\n additionalInfo?: Record<string, unknown>;\n /** Debug information for the error. */\n debugInfo?: Record<string, unknown>;\n}\n\nexport function errorDeserializer(item: any): ErrorModel {\n return {\n code: item[\"code\"],\n message: item[\"message\"],\n param: item[\"param\"],\n type: item[\"type\"],\n details: !item[\"details\"] ? item[\"details\"] : errorArrayDeserializer(item[\"details\"]),\n additionalInfo: item[\"additionalInfo\"],\n debugInfo: item[\"debugInfo\"],\n };\n}\n\nexport function errorArrayDeserializer(result: Array<ErrorModel>): any[] {\n return result.map((item) => {\n return errorDeserializer(item);\n });\n}\n\n/** A deleted agent Object */\nexport interface DeleteAgentResponse {\n /** The object type. Always 'agent.deleted'. */\n object: \"agent.deleted\";\n /** The name of the agent. */\n name: string;\n /** Whether the agent was successfully deleted. */\n deleted: boolean;\n}\n\nexport function deleteAgentResponseDeserializer(item: any): DeleteAgentResponse {\n return {\n object: item[\"object\"],\n name: item[\"name\"],\n deleted: item[\"deleted\"],\n };\n}\n\n/** The response data for a requested list of items. */\nexport interface _AgentsPagedResultAgentObject {\n /** The requested list of items. */\n data: Agent[];\n /** The first ID represented in this list. */\n first_id?: string;\n /** The last ID represented in this list. */\n last_id?: string;\n /** A value indicating whether there are additional values available not captured in this list. */\n has_more: boolean;\n}\n\nexport function _agentsPagedResultAgentObjectDeserializer(\n item: any,\n): _AgentsPagedResultAgentObject {\n return {\n data: agentArrayDeserializer(item[\"data\"]),\n first_id: item[\"first_id\"],\n last_id: item[\"last_id\"],\n has_more: 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/** A deleted agent version Object */\nexport interface DeleteAgentVersionResponse {\n /** The object type. Always 'agent.version.deleted'. */\n object: \"agent.version.deleted\";\n /** The name of the agent. */\n name: string;\n /** The version identifier of the agent. */\n version: string;\n /** Whether the agent was successfully deleted. */\n deleted: boolean;\n}\n\nexport function deleteAgentVersionResponseDeserializer(item: any): DeleteAgentVersionResponse {\n return {\n object: item[\"object\"],\n name: item[\"name\"],\n version: item[\"version\"],\n deleted: item[\"deleted\"],\n };\n}\n\n/** The response data for a requested list of items. */\nexport interface _AgentsPagedResultAgentVersionObject {\n /** The requested list of items. */\n data: AgentVersion[];\n /** The first ID represented in this list. */\n first_id?: string;\n /** The last ID represented in this list. */\n last_id?: string;\n /** A value indicating whether there are additional values available not captured in this list. */\n has_more: boolean;\n}\n\nexport function _agentsPagedResultAgentVersionObjectDeserializer(\n item: any,\n): _AgentsPagedResultAgentVersionObject {\n return {\n data: agentVersionArrayDeserializer(item[\"data\"]),\n first_id: item[\"first_id\"],\n last_id: item[\"last_id\"],\n has_more: item[\"has_more\"],\n };\n}\n\nexport function agentVersionArrayDeserializer(result: Array<AgentVersion>): any[] {\n return result.map((item) => {\n return agentVersionDeserializer(item);\n });\n}\n\n/** Evaluation rule model. */\nexport interface EvaluationRule {\n /** Unique identifier for the evaluation rule. */\n readonly id: string;\n /** Display Name for the evaluation rule. */\n displayName?: string;\n /** Description for the evaluation rule. */\n description?: string;\n /** Definition of the evaluation rule action. */\n action: EvaluationRuleActionUnion;\n /** Filter condition of the evaluation rule. */\n filter?: EvaluationRuleFilter;\n /** Event type that the evaluation rule applies to. */\n eventType: EvaluationRuleEventType;\n /** Indicates whether the evaluation rule is enabled. Default is true. */\n enabled: boolean;\n /** System metadata for the evaluation rule. */\n readonly systemData: Record<string, string>;\n}\n\nexport function evaluationRuleSerializer(item: EvaluationRule): any {\n return {\n displayName: item[\"displayName\"],\n description: item[\"description\"],\n action: evaluationRuleActionUnionSerializer(item[\"action\"]),\n filter: !item[\"filter\"] ? item[\"filter\"] : evaluationRuleFilterSerializer(item[\"filter\"]),\n eventType: item[\"eventType\"],\n enabled: item[\"enabled\"],\n };\n}\n\nexport function evaluationRuleDeserializer(item: any): EvaluationRule {\n return {\n id: item[\"id\"],\n displayName: item[\"displayName\"],\n description: item[\"description\"],\n action: evaluationRuleActionUnionDeserializer(item[\"action\"]),\n filter: !item[\"filter\"] ? item[\"filter\"] : evaluationRuleFilterDeserializer(item[\"filter\"]),\n eventType: item[\"eventType\"],\n enabled: item[\"enabled\"],\n systemData: item[\"systemData\"],\n };\n}\n\n/** Evaluation action model. */\nexport interface EvaluationRuleAction {\n /** Type of the evaluation action. */\n /** The discriminator possible values: continuousEvaluation, humanEvaluationPreview */\n type: EvaluationRuleActionType;\n}\n\nexport function evaluationRuleActionSerializer(item: EvaluationRuleAction): any {\n return { type: item[\"type\"] };\n}\n\nexport function evaluationRuleActionDeserializer(item: any): EvaluationRuleAction {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for EvaluationRuleActionUnion */\nexport type EvaluationRuleActionUnion =\n | ContinuousEvaluationRuleAction\n | HumanEvaluationPreviewRuleAction\n | EvaluationRuleAction;\n\nexport function evaluationRuleActionUnionSerializer(item: EvaluationRuleActionUnion): any {\n switch (item.type) {\n case \"continuousEvaluation\":\n return continuousEvaluationRuleActionSerializer(item as ContinuousEvaluationRuleAction);\n\n case \"humanEvaluationPreview\":\n return humanEvaluationPreviewRuleActionSerializer(item as HumanEvaluationPreviewRuleAction);\n\n default:\n return evaluationRuleActionSerializer(item);\n }\n}\n\nexport function evaluationRuleActionUnionDeserializer(item: any): EvaluationRuleActionUnion {\n switch (item.type) {\n case \"continuousEvaluation\":\n return continuousEvaluationRuleActionDeserializer(item as ContinuousEvaluationRuleAction);\n\n case \"humanEvaluationPreview\":\n return humanEvaluationPreviewRuleActionDeserializer(item as HumanEvaluationPreviewRuleAction);\n\n default:\n return evaluationRuleActionDeserializer(item);\n }\n}\n\n/** Type of the evaluation action. */\nexport type EvaluationRuleActionType = \"continuousEvaluation\" | \"humanEvaluationPreview\";\n\n/** Evaluation rule action for continuous evaluation. */\nexport interface ContinuousEvaluationRuleAction extends EvaluationRuleAction {\n /** The type discriminator, always 'continuous_evaluation'. */\n type: \"continuousEvaluation\";\n /** Eval Id to add continuous evaluation runs to. */\n evalId: string;\n /** Maximum number of evaluation runs allowed per hour. */\n maxHourlyRuns?: number;\n}\n\nexport function continuousEvaluationRuleActionSerializer(\n item: ContinuousEvaluationRuleAction,\n): any {\n return { type: item[\"type\"], evalId: item[\"evalId\"], maxHourlyRuns: item[\"maxHourlyRuns\"] };\n}\n\nexport function continuousEvaluationRuleActionDeserializer(\n item: any,\n): ContinuousEvaluationRuleAction {\n return {\n type: item[\"type\"],\n evalId: item[\"evalId\"],\n maxHourlyRuns: item[\"maxHourlyRuns\"],\n };\n}\n\n/** Evaluation rule action for human evaluation. */\nexport interface HumanEvaluationPreviewRuleAction extends EvaluationRuleAction {\n /** The type discriminator, always 'human_evaluation_preview'. */\n type: \"humanEvaluationPreview\";\n /** Human evaluation template Id. */\n templateId: string;\n}\n\nexport function humanEvaluationPreviewRuleActionSerializer(\n item: HumanEvaluationPreviewRuleAction,\n): any {\n return { type: item[\"type\"], templateId: item[\"templateId\"] };\n}\n\nexport function humanEvaluationPreviewRuleActionDeserializer(\n item: any,\n): HumanEvaluationPreviewRuleAction {\n return {\n type: item[\"type\"],\n templateId: item[\"templateId\"],\n };\n}\n\n/** Evaluation filter model. */\nexport interface EvaluationRuleFilter {\n /** Filter by agent name. */\n agentName: string;\n}\n\nexport function evaluationRuleFilterSerializer(item: EvaluationRuleFilter): any {\n return { agentName: item[\"agentName\"] };\n}\n\nexport function evaluationRuleFilterDeserializer(item: any): EvaluationRuleFilter {\n return {\n agentName: item[\"agentName\"],\n };\n}\n\n/** Type of the evaluation rule event. */\nexport type EvaluationRuleEventType = \"responseCompleted\" | \"manual\";\n\n/** Paged collection of EvaluationRule items */\nexport interface _PagedEvaluationRule {\n /** The EvaluationRule items on this page */\n value: EvaluationRule[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _pagedEvaluationRuleDeserializer(item: any): _PagedEvaluationRule {\n return {\n value: evaluationRuleArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function evaluationRuleArraySerializer(result: Array<EvaluationRule>): any[] {\n return result.map((item) => {\n return evaluationRuleSerializer(item);\n });\n}\n\nexport function evaluationRuleArrayDeserializer(result: Array<EvaluationRule>): any[] {\n return result.map((item) => {\n return evaluationRuleDeserializer(item);\n });\n}\n\n/** Response from the list and get connections operations */\nexport interface Connection {\n /** The friendly name of the connection, provided by the user. */\n readonly name: string;\n /** A unique identifier for the connection, generated by the service */\n readonly id: string;\n /** Category of the connection */\n readonly type: ConnectionType;\n /** The connection URL to be used for this service */\n readonly target: string;\n /** Whether the connection is tagged as the default connection of its type */\n readonly isDefault: boolean;\n /** The credentials used by the connection */\n readonly credentials: BaseCredentialsUnion;\n /** Metadata of the connection */\n readonly metadata: Record<string, string>;\n}\n\nexport function connectionDeserializer(item: any): Connection {\n return {\n name: item[\"name\"],\n id: item[\"id\"],\n type: item[\"type\"],\n target: item[\"target\"],\n isDefault: item[\"isDefault\"],\n credentials: baseCredentialsUnionDeserializer(item[\"credentials\"]),\n metadata: item[\"metadata\"],\n };\n}\n\n/** The Type (or category) of the connection */\nexport type ConnectionType =\n | \"AzureOpenAI\"\n | \"AzureBlob\"\n | \"AzureStorageAccount\"\n | \"CognitiveSearch\"\n | \"CosmosDB\"\n | \"ApiKey\"\n | \"AppConfig\"\n | \"AppInsights\"\n | \"CustomKeys\"\n | \"RemoteTool_Preview\";\n\n/** A base class for connection credentials */\nexport interface BaseCredentials {\n /** The type of credential used by the connection */\n /** The discriminator possible values: ApiKey, AAD, CustomKeys, SAS, None, AgenticIdentityToken_Preview */\n readonly type: CredentialType;\n}\n\nexport function baseCredentialsDeserializer(item: any): BaseCredentials {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for BaseCredentialsUnion */\nexport type BaseCredentialsUnion =\n | ApiKeyCredentials\n | EntraIDCredentials\n | CustomCredential\n | SASTokenCredentials\n | NoAuthenticationCredentials\n | AgenticIdentityPreviewCredentials\n | BaseCredentials;\n\nexport function baseCredentialsUnionDeserializer(item: any): BaseCredentialsUnion {\n switch (item.type) {\n case \"ApiKey\":\n return apiKeyCredentialsDeserializer(item as ApiKeyCredentials);\n\n case \"AAD\":\n return entraIDCredentialsDeserializer(item as EntraIDCredentials);\n\n case \"CustomKeys\":\n return customCredentialDeserializer(item as CustomCredential);\n\n case \"SAS\":\n return sasCredentialsDeserializer(item as SASTokenCredentials);\n\n case \"None\":\n return noAuthenticationCredentialsDeserializer(item as NoAuthenticationCredentials);\n\n case \"AgenticIdentityToken_Preview\":\n return agenticIdentityPreviewCredentialsDeserializer(\n item as AgenticIdentityPreviewCredentials,\n );\n\n default:\n return baseCredentialsDeserializer(item);\n }\n}\n\n/** The credential type used by the connection */\nexport type CredentialType =\n | \"ApiKey\"\n | \"AAD\"\n | \"SAS\"\n | \"CustomKeys\"\n | \"None\"\n | \"AgenticIdentityToken_Preview\";\n\n/** API Key Credential definition */\nexport interface ApiKeyCredentials extends BaseCredentials {\n /** The credential type */\n readonly type: \"ApiKey\";\n /** API Key */\n readonly apiKey?: string;\n}\n\nexport function apiKeyCredentialsDeserializer(item: any): ApiKeyCredentials {\n return {\n type: item[\"type\"],\n apiKey: item[\"key\"],\n };\n}\n\n/** Entra ID credential definition */\nexport interface EntraIDCredentials extends BaseCredentials {\n /** The credential type */\n readonly type: \"AAD\";\n}\n\nexport function entraIDCredentialsDeserializer(item: any): EntraIDCredentials {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Custom credential definition */\nexport interface CustomCredential extends BaseCredentials {\n /** The credential type */\n readonly type: \"CustomKeys\";\n /** Additional properties */\n additionalProperties?: Record<string, string>;\n}\n\nexport function customCredentialDeserializer(item: any): CustomCredential {\n return {\n additionalProperties: serializeRecord(item, [\"type\"]),\n type: item[\"type\"],\n };\n}\n\n/** Shared Access Signature (SAS) credential definition */\nexport interface SASTokenCredentials extends BaseCredentials {\n /** The credential type */\n readonly type: \"SAS\";\n /** SAS token */\n readonly sasToken?: string;\n}\n\nexport function sasCredentialsDeserializer(item: any): SASTokenCredentials {\n return {\n type: item[\"type\"],\n sasToken: item[\"SAS\"],\n };\n}\n\n/** Credentials that do not require authentication */\nexport interface NoAuthenticationCredentials extends BaseCredentials {\n /** The credential type */\n readonly type: \"None\";\n}\n\nexport function noAuthenticationCredentialsDeserializer(item: any): NoAuthenticationCredentials {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Agentic identity credential definition */\nexport interface AgenticIdentityPreviewCredentials extends BaseCredentials {\n /** The credential type */\n readonly type: \"AgenticIdentityToken_Preview\";\n}\n\nexport function agenticIdentityPreviewCredentialsDeserializer(\n item: any,\n): AgenticIdentityPreviewCredentials {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Paged collection of Connection items */\nexport interface _PagedConnection {\n /** The Connection items on this page */\n value: Connection[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _pagedConnectionDeserializer(item: any): _PagedConnection {\n return {\n value: connectionArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function connectionArrayDeserializer(result: Array<Connection>): any[] {\n return result.map((item) => {\n return connectionDeserializer(item);\n });\n}\n\n/** Paged collection of DatasetVersion items */\nexport interface _PagedDatasetVersion {\n /** The DatasetVersion items on this page */\n value: DatasetVersionUnion[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _pagedDatasetVersionDeserializer(item: any): _PagedDatasetVersion {\n return {\n value: datasetVersionUnionArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function datasetVersionUnionArraySerializer(result: Array<DatasetVersionUnion>): any[] {\n return result.map((item) => {\n return datasetVersionUnionSerializer(item);\n });\n}\n\nexport function datasetVersionUnionArrayDeserializer(result: Array<DatasetVersionUnion>): any[] {\n return result.map((item) => {\n return datasetVersionUnionDeserializer(item);\n });\n}\n\n/** DatasetVersion Definition */\nexport interface DatasetVersion {\n /** URI of the data ([example](https://go.microsoft.com/fwlink/?linkid=2202330)) */\n dataUri: string;\n /** Dataset type */\n /** The discriminator possible values: uri_file, uri_folder */\n type: DatasetType;\n /** Indicates if the dataset holds a reference to the storage, or the dataset manages storage itself. If true, the underlying data will not be deleted when the dataset version is deleted */\n readonly isReference?: boolean;\n /** The Azure Storage Account connection name. Required if startPendingUploadVersion was not called before creating the Dataset */\n connectionName?: string;\n /** Asset ID, a unique identifier for the asset */\n readonly id?: string;\n /** The name of the resource */\n readonly name: string;\n /** The version of the resource */\n readonly version: string;\n /** The asset description text. */\n description?: string;\n /** Tag dictionary. Tags can be added, removed, and updated. */\n tags?: Record<string, string>;\n}\n\nexport function datasetVersionSerializer(item: DatasetVersion): any {\n return {\n dataUri: item[\"dataUri\"],\n type: item[\"type\"],\n connectionName: item[\"connectionName\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n };\n}\n\nexport function datasetVersionDeserializer(item: any): DatasetVersion {\n return {\n dataUri: item[\"dataUri\"],\n type: item[\"type\"],\n isReference: item[\"isReference\"],\n connectionName: item[\"connectionName\"],\n id: item[\"id\"],\n name: item[\"name\"],\n version: item[\"version\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n };\n}\n\n/** Alias for DatasetVersionUnion */\nexport type DatasetVersionUnion = FileDatasetVersion | FolderDatasetVersion | DatasetVersion;\n\nexport function datasetVersionUnionSerializer(item: DatasetVersionUnion): any {\n switch (item.type) {\n case \"uri_file\":\n return fileDatasetVersionSerializer(item as FileDatasetVersion);\n\n case \"uri_folder\":\n return folderDatasetVersionSerializer(item as FolderDatasetVersion);\n\n default:\n return datasetVersionSerializer(item);\n }\n}\n\nexport function datasetVersionUnionDeserializer(item: any): DatasetVersionUnion {\n switch (item.type) {\n case \"uri_file\":\n return fileDatasetVersionDeserializer(item as FileDatasetVersion);\n\n case \"uri_folder\":\n return folderDatasetVersionDeserializer(item as FolderDatasetVersion);\n\n default:\n return datasetVersionDeserializer(item);\n }\n}\n\n/** Enum to determine the type of data. */\nexport type DatasetType = \"uri_file\" | \"uri_folder\";\n\n/** FileDatasetVersion Definition */\nexport interface FileDatasetVersion extends DatasetVersion {\n /** Dataset type */\n type: \"uri_file\";\n}\n\nexport function fileDatasetVersionSerializer(item: FileDatasetVersion): any {\n return {\n dataUri: item[\"dataUri\"],\n type: item[\"type\"],\n connectionName: item[\"connectionName\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n };\n}\n\nexport function fileDatasetVersionDeserializer(item: any): FileDatasetVersion {\n return {\n dataUri: item[\"dataUri\"],\n type: item[\"type\"],\n isReference: item[\"isReference\"],\n connectionName: item[\"connectionName\"],\n id: item[\"id\"],\n name: item[\"name\"],\n version: item[\"version\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n };\n}\n\n/** FileDatasetVersion Definition */\nexport interface FolderDatasetVersion extends DatasetVersion {\n /** Dataset type */\n type: \"uri_folder\";\n}\n\nexport function folderDatasetVersionSerializer(item: FolderDatasetVersion): any {\n return {\n dataUri: item[\"dataUri\"],\n type: item[\"type\"],\n connectionName: item[\"connectionName\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n };\n}\n\nexport function folderDatasetVersionDeserializer(item: any): FolderDatasetVersion {\n return {\n dataUri: item[\"dataUri\"],\n type: item[\"type\"],\n isReference: item[\"isReference\"],\n connectionName: item[\"connectionName\"],\n id: item[\"id\"],\n name: item[\"name\"],\n version: item[\"version\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n };\n}\n\n/** Represents a request for a pending upload. */\nexport interface PendingUploadRequest {\n /** If PendingUploadId is not provided, a random GUID will be used. */\n pendingUploadId?: string;\n /** Azure Storage Account connection name to use for generating temporary SAS token */\n connectionName?: string;\n /** BlobReference is the only supported type. */\n pendingUploadType: \"BlobReference\";\n}\n\nexport function pendingUploadRequestSerializer(item: PendingUploadRequest): any {\n return {\n pendingUploadId: item[\"pendingUploadId\"],\n connectionName: item[\"connectionName\"],\n pendingUploadType: item[\"pendingUploadType\"],\n };\n}\n\n/** Represents the response for a pending upload request */\nexport interface PendingUploadResponse {\n /** Container-level read, write, list SAS. */\n blobReference: BlobReference;\n /** ID for this upload request. */\n pendingUploadId: string;\n /** Version of asset to be created if user did not specify version when initially creating upload */\n version?: string;\n /** BlobReference is the only supported type */\n pendingUploadType: \"BlobReference\";\n}\n\nexport function pendingUploadResponseDeserializer(item: any): PendingUploadResponse {\n return {\n blobReference: blobReferenceDeserializer(item[\"blobReference\"]),\n pendingUploadId: item[\"pendingUploadId\"],\n version: item[\"version\"],\n pendingUploadType: item[\"pendingUploadType\"],\n };\n}\n\n/** Blob reference details. */\nexport interface BlobReference {\n /** Blob URI path for client to upload data. Example: `https://blob.windows.core.net/Container/Path` */\n blobUri: string;\n /** ARM ID of the storage account to use. */\n storageAccountArmId: string;\n /** Credential info to access the storage account. */\n credential: SasCredential;\n}\n\nexport function blobReferenceDeserializer(item: any): BlobReference {\n return {\n blobUri: item[\"blobUri\"],\n storageAccountArmId: item[\"storageAccountArmId\"],\n credential: blobReferenceSasCredentialDeserializer(item[\"credential\"]),\n };\n}\n\n/** SAS Credential definition */\nexport interface SasCredential {\n /** SAS uri */\n readonly sasUri: string;\n /** Type of credential */\n readonly type: \"SAS\";\n}\n\nexport function blobReferenceSasCredentialDeserializer(item: any): SasCredential {\n return {\n sasUri: item[\"sasUri\"],\n type: item[\"type\"],\n };\n}\n\n/** Represents a reference to a blob for consumption */\nexport interface DatasetCredential {\n /** Credential info to access the storage account. */\n blobReference: BlobReference;\n}\n\nexport function datasetCredentialDeserializer(item: any): DatasetCredential {\n return {\n blobReference: blobReferenceDeserializer(item[\"blobReference\"]),\n };\n}\n\n/** Model Deployment Definition */\nexport interface Deployment {\n /** The type of the deployment */\n /** The discriminator possible values: ModelDeployment */\n type: DeploymentType;\n /** Name of the deployment */\n readonly name: string;\n}\n\nexport function deploymentDeserializer(item: any): Deployment {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n };\n}\n\n/** Alias for DeploymentUnion */\nexport type DeploymentUnion = ModelDeployment | Deployment;\n\nexport function deploymentUnionDeserializer(item: any): DeploymentUnion {\n switch (item.type) {\n case \"ModelDeployment\":\n return modelDeploymentDeserializer(item as ModelDeployment);\n\n default:\n return deploymentDeserializer(item);\n }\n}\n\n/** Type of DeploymentType */\nexport type DeploymentType = \"ModelDeployment\";\n\n/** Model Deployment Definition */\nexport interface ModelDeployment extends Deployment {\n /** The type of the deployment */\n type: \"ModelDeployment\";\n /** Publisher-specific name of the deployed model */\n readonly modelName: string;\n /** Publisher-specific version of the deployed model */\n readonly modelVersion: string;\n /** Name of the deployed model's publisher */\n readonly modelPublisher: string;\n /** Capabilities of deployed model */\n readonly capabilities: Record<string, string>;\n /** Sku of the model deployment */\n readonly sku: ModelDeploymentSku;\n /** Name of the connection the deployment comes from */\n readonly connectionName?: string;\n}\n\nexport function modelDeploymentDeserializer(item: any): ModelDeployment {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n modelName: item[\"modelName\"],\n modelVersion: item[\"modelVersion\"],\n modelPublisher: item[\"modelPublisher\"],\n capabilities: item[\"capabilities\"],\n sku: modelDeploymentSkuDeserializer(item[\"sku\"]),\n connectionName: item[\"connectionName\"],\n };\n}\n\n/** Sku information */\nexport interface ModelDeploymentSku {\n /** Sku capacity */\n capacity: number;\n /** Sku family */\n family: string;\n /** Sku name */\n name: string;\n /** Sku size */\n size: string;\n /** Sku tier */\n tier: string;\n}\n\nexport function modelDeploymentSkuDeserializer(item: any): ModelDeploymentSku {\n return {\n capacity: item[\"capacity\"],\n family: item[\"family\"],\n name: item[\"name\"],\n size: item[\"size\"],\n tier: item[\"tier\"],\n };\n}\n\n/** Paged collection of Deployment items */\nexport interface _PagedDeployment {\n /** The Deployment items on this page */\n value: DeploymentUnion[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _pagedDeploymentDeserializer(item: any): _PagedDeployment {\n return {\n value: deploymentUnionArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function deploymentUnionArrayDeserializer(result: Array<DeploymentUnion>): any[] {\n return result.map((item) => {\n return deploymentUnionDeserializer(item);\n });\n}\n\n/** Paged collection of Index items */\nexport interface _PagedIndex {\n /** The Index items on this page */\n value: IndexUnion[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _pagedIndexDeserializer(item: any): _PagedIndex {\n return {\n value: indexUnionArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function indexUnionArraySerializer(result: Array<IndexUnion>): any[] {\n return result.map((item) => {\n return indexUnionSerializer(item);\n });\n}\n\nexport function indexUnionArrayDeserializer(result: Array<IndexUnion>): any[] {\n return result.map((item) => {\n return indexUnionDeserializer(item);\n });\n}\n\n/** Index resource Definition */\nexport interface Index {\n /** Type of index */\n /** The discriminator possible values: AzureSearch, ManagedAzureSearch, CosmosDBNoSqlVectorStore */\n type: IndexType;\n /** Asset ID, a unique identifier for the asset */\n readonly id?: string;\n /** The name of the resource */\n readonly name: string;\n /** The version of the resource */\n readonly version: string;\n /** The asset description text. */\n description?: string;\n /** Tag dictionary. Tags can be added, removed, and updated. */\n tags?: Record<string, string>;\n}\n\nexport function indexSerializer(item: Index): any {\n return { type: item[\"type\"], description: item[\"description\"], tags: item[\"tags\"] };\n}\n\nexport function indexDeserializer(item: any): Index {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n name: item[\"name\"],\n version: item[\"version\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n };\n}\n\n/** Alias for IndexUnion */\nexport type IndexUnion = AzureAISearchIndex | ManagedAzureAISearchIndex | CosmosDBIndex | Index;\n\nexport function indexUnionSerializer(item: IndexUnion): any {\n switch (item.type) {\n case \"AzureSearch\":\n return azureAISearchIndexSerializer(item as AzureAISearchIndex);\n\n case \"ManagedAzureSearch\":\n return managedAzureAISearchIndexSerializer(item as ManagedAzureAISearchIndex);\n\n case \"CosmosDBNoSqlVectorStore\":\n return cosmosDBIndexSerializer(item as CosmosDBIndex);\n\n default:\n return indexSerializer(item);\n }\n}\n\nexport function indexUnionDeserializer(item: any): IndexUnion {\n switch (item.type) {\n case \"AzureSearch\":\n return azureAISearchIndexDeserializer(item as AzureAISearchIndex);\n\n case \"ManagedAzureSearch\":\n return managedAzureAISearchIndexDeserializer(item as ManagedAzureAISearchIndex);\n\n case \"CosmosDBNoSqlVectorStore\":\n return cosmosDBIndexDeserializer(item as CosmosDBIndex);\n\n default:\n return indexDeserializer(item);\n }\n}\n\n/** Type of IndexType */\nexport type IndexType = \"AzureSearch\" | \"CosmosDBNoSqlVectorStore\" | \"ManagedAzureSearch\";\n\n/** Azure AI Search Index Definition */\nexport interface AzureAISearchIndex extends Index {\n /** Type of index */\n type: \"AzureSearch\";\n /** Name of connection to Azure AI Search */\n connectionName: string;\n /** Name of index in Azure AI Search resource to attach */\n indexName: string;\n /** Field mapping configuration */\n fieldMapping?: FieldMapping;\n}\n\nexport function azureAISearchIndexSerializer(item: AzureAISearchIndex): any {\n return {\n type: item[\"type\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n connectionName: item[\"connectionName\"],\n indexName: item[\"indexName\"],\n fieldMapping: !item[\"fieldMapping\"]\n ? item[\"fieldMapping\"]\n : fieldMappingSerializer(item[\"fieldMapping\"]),\n };\n}\n\nexport function azureAISearchIndexDeserializer(item: any): AzureAISearchIndex {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n name: item[\"name\"],\n version: item[\"version\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n connectionName: item[\"connectionName\"],\n indexName: item[\"indexName\"],\n fieldMapping: !item[\"fieldMapping\"]\n ? item[\"fieldMapping\"]\n : fieldMappingDeserializer(item[\"fieldMapping\"]),\n };\n}\n\n/** Field mapping configuration class */\nexport interface FieldMapping {\n /** List of fields with text content */\n contentFields: string[];\n /** Path of file to be used as a source of text content */\n filepathField?: string;\n /** Field containing the title of the document */\n titleField?: string;\n /** Field containing the url of the document */\n urlField?: string;\n /** List of fields with vector content */\n vectorFields?: string[];\n /** List of fields with metadata content */\n metadataFields?: string[];\n}\n\nexport function fieldMappingSerializer(item: FieldMapping): any {\n return {\n contentFields: item[\"contentFields\"],\n filepathField: item[\"filepathField\"],\n titleField: item[\"titleField\"],\n urlField: item[\"urlField\"],\n vectorFields: item[\"vectorFields\"],\n metadataFields: item[\"metadataFields\"],\n };\n}\n\nexport function fieldMappingDeserializer(item: any): FieldMapping {\n return {\n contentFields: item[\"contentFields\"],\n filepathField: item[\"filepathField\"],\n titleField: item[\"titleField\"],\n urlField: item[\"urlField\"],\n vectorFields: item[\"vectorFields\"],\n metadataFields: item[\"metadataFields\"],\n };\n}\n\n/** Managed Azure AI Search Index Definition */\nexport interface ManagedAzureAISearchIndex extends Index {\n /** Type of index */\n type: \"ManagedAzureSearch\";\n /** Vector store id of managed index */\n vectorStoreId: string;\n}\n\nexport function managedAzureAISearchIndexSerializer(item: ManagedAzureAISearchIndex): any {\n return {\n type: item[\"type\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n vectorStoreId: item[\"vectorStoreId\"],\n };\n}\n\nexport function managedAzureAISearchIndexDeserializer(item: any): ManagedAzureAISearchIndex {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n name: item[\"name\"],\n version: item[\"version\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n vectorStoreId: item[\"vectorStoreId\"],\n };\n}\n\n/** CosmosDB Vector Store Index Definition */\nexport interface CosmosDBIndex extends Index {\n /** Type of index */\n type: \"CosmosDBNoSqlVectorStore\";\n /** Name of connection to CosmosDB */\n connectionName: string;\n /** Name of the CosmosDB Database */\n databaseName: string;\n /** Name of CosmosDB Container */\n containerName: string;\n /** Embedding model configuration */\n embeddingConfiguration: EmbeddingConfiguration;\n /** Field mapping configuration */\n fieldMapping: FieldMapping;\n}\n\nexport function cosmosDBIndexSerializer(item: CosmosDBIndex): any {\n return {\n type: item[\"type\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n connectionName: item[\"connectionName\"],\n databaseName: item[\"databaseName\"],\n containerName: item[\"containerName\"],\n embeddingConfiguration: embeddingConfigurationSerializer(item[\"embeddingConfiguration\"]),\n fieldMapping: fieldMappingSerializer(item[\"fieldMapping\"]),\n };\n}\n\nexport function cosmosDBIndexDeserializer(item: any): CosmosDBIndex {\n return {\n type: item[\"type\"],\n id: item[\"id\"],\n name: item[\"name\"],\n version: item[\"version\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n connectionName: item[\"connectionName\"],\n databaseName: item[\"databaseName\"],\n containerName: item[\"containerName\"],\n embeddingConfiguration: embeddingConfigurationDeserializer(item[\"embeddingConfiguration\"]),\n fieldMapping: fieldMappingDeserializer(item[\"fieldMapping\"]),\n };\n}\n\n/** Embedding configuration class */\nexport interface EmbeddingConfiguration {\n /** Deployment name of embedding model. It can point to a model deployment either in the parent AIServices or a connection. */\n modelDeploymentName: string;\n /** Embedding field */\n embeddingField: string;\n}\n\nexport function embeddingConfigurationSerializer(item: EmbeddingConfiguration): any {\n return {\n modelDeploymentName: item[\"modelDeploymentName\"],\n embeddingField: item[\"embeddingField\"],\n };\n}\n\nexport function embeddingConfigurationDeserializer(item: any): EmbeddingConfiguration {\n return {\n modelDeploymentName: item[\"modelDeploymentName\"],\n embeddingField: item[\"embeddingField\"],\n };\n}\n\n/** Evaluation Taxonomy Definition */\nexport interface EvaluationTaxonomy {\n /** Asset ID, a unique identifier for the asset */\n readonly id?: string;\n /** The name of the resource */\n readonly name: string;\n /** The version of the resource */\n readonly version: string;\n /** The asset description text. */\n description?: string;\n /** Tag dictionary. Tags can be added, removed, and updated. */\n tags?: Record<string, string>;\n /** Input configuration for the evaluation taxonomy. */\n taxonomyInput: EvaluationTaxonomyInputUnion;\n /** List of taxonomy categories. */\n taxonomyCategories?: TaxonomyCategory[];\n /** Additional properties for the evaluation taxonomy. */\n properties?: Record<string, string>;\n}\n\nexport function evaluationTaxonomySerializer(item: EvaluationTaxonomy): any {\n return {\n description: item[\"description\"],\n tags: item[\"tags\"],\n taxonomyInput: evaluationTaxonomyInputUnionSerializer(item[\"taxonomyInput\"]),\n taxonomyCategories: !item[\"taxonomyCategories\"]\n ? item[\"taxonomyCategories\"]\n : taxonomyCategoryArraySerializer(item[\"taxonomyCategories\"]),\n properties: item[\"properties\"],\n };\n}\n\nexport function evaluationTaxonomyDeserializer(item: any): EvaluationTaxonomy {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n version: item[\"version\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n taxonomyInput: evaluationTaxonomyInputUnionDeserializer(item[\"taxonomyInput\"]),\n taxonomyCategories: !item[\"taxonomyCategories\"]\n ? item[\"taxonomyCategories\"]\n : taxonomyCategoryArrayDeserializer(item[\"taxonomyCategories\"]),\n properties: item[\"properties\"],\n };\n}\n\n/** Input configuration for the evaluation taxonomy. */\nexport interface EvaluationTaxonomyInput {\n /** Input type of the evaluation taxonomy. */\n /** The discriminator possible values: agent */\n type: EvaluationTaxonomyInputType;\n}\n\nexport function evaluationTaxonomyInputSerializer(item: EvaluationTaxonomyInput): any {\n return { type: item[\"type\"] };\n}\n\nexport function evaluationTaxonomyInputDeserializer(item: any): EvaluationTaxonomyInput {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for EvaluationTaxonomyInputUnion */\nexport type EvaluationTaxonomyInputUnion = AgentTaxonomyInput | EvaluationTaxonomyInput;\n\nexport function evaluationTaxonomyInputUnionSerializer(item: EvaluationTaxonomyInputUnion): any {\n switch (item.type) {\n case \"agent\":\n return agentTaxonomyInputSerializer(item as AgentTaxonomyInput);\n\n default:\n return evaluationTaxonomyInputSerializer(item);\n }\n}\n\nexport function evaluationTaxonomyInputUnionDeserializer(item: any): EvaluationTaxonomyInputUnion {\n switch (item.type) {\n case \"agent\":\n return agentTaxonomyInputDeserializer(item as AgentTaxonomyInput);\n\n default:\n return evaluationTaxonomyInputDeserializer(item);\n }\n}\n\n/** Type of the evaluation taxonomy input. */\nexport type EvaluationTaxonomyInputType = \"agent\" | \"policy\";\n\n/** Input configuration for the evaluation taxonomy when the input type is agent. */\nexport interface AgentTaxonomyInput extends EvaluationTaxonomyInput {\n /** Input type of the evaluation taxonomy. */\n type: \"agent\";\n /** Target configuration for the agent. */\n target: TargetUnion;\n /** List of risk categories to evaluate against. */\n riskCategories: RiskCategory[];\n}\n\nexport function agentTaxonomyInputSerializer(item: AgentTaxonomyInput): any {\n return {\n type: item[\"type\"],\n target: targetUnionSerializer(item[\"target\"]),\n riskCategories: item[\"riskCategories\"],\n };\n}\n\nexport function agentTaxonomyInputDeserializer(item: any): AgentTaxonomyInput {\n return {\n type: item[\"type\"],\n target: targetUnionDeserializer(item[\"target\"]),\n riskCategories: item[\"riskCategories\"],\n };\n}\n\n/** Base class for targets with discriminator support. */\nexport interface Target {\n /** The type of target. */\n /** The discriminator possible values: azure_ai_model, azure_ai_agent */\n type: string;\n}\n\nexport function targetSerializer(item: Target): any {\n return { type: item[\"type\"] };\n}\n\nexport function targetDeserializer(item: any): Target {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for TargetUnion */\nexport type TargetUnion = AzureAIModelTarget | AzureAIAgentTarget | Target;\n\nexport function targetUnionSerializer(item: TargetUnion): any {\n switch (item.type) {\n case \"azure_ai_model\":\n return azureAIModelTargetSerializer(item as AzureAIModelTarget);\n\n case \"azure_ai_agent\":\n return azureAIAgentTargetSerializer(item as AzureAIAgentTarget);\n\n default:\n return targetSerializer(item);\n }\n}\n\nexport function targetUnionDeserializer(item: any): TargetUnion {\n switch (item.type) {\n case \"azure_ai_model\":\n return azureAIModelTargetDeserializer(item as AzureAIModelTarget);\n\n case \"azure_ai_agent\":\n return azureAIAgentTargetDeserializer(item as AzureAIAgentTarget);\n\n default:\n return targetDeserializer(item);\n }\n}\n\n/** Represents a target specifying an Azure AI model for operations requiring model selection. */\nexport interface AzureAIModelTarget extends Target {\n /** The type of target, always `azure_ai_model`. */\n type: \"azure_ai_model\";\n /** The unique identifier of the Azure AI model. */\n model?: string;\n /** The parameters used to control the sampling behavior of the model during text generation. */\n sampling_params?: ModelSamplingParams;\n}\n\nexport function azureAIModelTargetSerializer(item: AzureAIModelTarget): any {\n return {\n type: item[\"type\"],\n model: item[\"model\"],\n sampling_params: !item[\"sampling_params\"]\n ? item[\"sampling_params\"]\n : modelSamplingParamsSerializer(item[\"sampling_params\"]),\n };\n}\n\nexport function azureAIModelTargetDeserializer(item: any): AzureAIModelTarget {\n return {\n type: item[\"type\"],\n model: item[\"model\"],\n sampling_params: !item[\"sampling_params\"]\n ? item[\"sampling_params\"]\n : modelSamplingParamsDeserializer(item[\"sampling_params\"]),\n };\n}\n\n/** Represents a set of parameters used to control the sampling behavior of a language model during text generation. */\nexport interface ModelSamplingParams {\n /** The temperature parameter for sampling. */\n temperature: number;\n /** The top-p parameter for nucleus sampling. */\n top_p: number;\n /** The random seed for reproducibility. */\n seed: number;\n /** The maximum number of tokens allowed in the completion. */\n max_completion_tokens: number;\n}\n\nexport function modelSamplingParamsSerializer(item: ModelSamplingParams): any {\n return {\n temperature: item[\"temperature\"],\n top_p: item[\"top_p\"],\n seed: item[\"seed\"],\n max_completion_tokens: item[\"max_completion_tokens\"],\n };\n}\n\nexport function modelSamplingParamsDeserializer(item: any): ModelSamplingParams {\n return {\n temperature: item[\"temperature\"],\n top_p: item[\"top_p\"],\n seed: item[\"seed\"],\n max_completion_tokens: item[\"max_completion_tokens\"],\n };\n}\n\n/** Represents a target specifying an Azure AI agent. */\nexport interface AzureAIAgentTarget extends Target {\n /** The type of target, always `azure_ai_agent`. */\n type: \"azure_ai_agent\";\n /** The unique identifier of the Azure AI agent. */\n name: string;\n /** The version of the Azure AI agent. */\n version?: string;\n /** The parameters used to control the sampling behavior of the agent during text generation. */\n tool_descriptions?: ToolDescription[];\n}\n\nexport function azureAIAgentTargetSerializer(item: AzureAIAgentTarget): any {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n version: item[\"version\"],\n tool_descriptions: !item[\"tool_descriptions\"]\n ? item[\"tool_descriptions\"]\n : toolDescriptionArraySerializer(item[\"tool_descriptions\"]),\n };\n}\n\nexport function azureAIAgentTargetDeserializer(item: any): AzureAIAgentTarget {\n return {\n type: item[\"type\"],\n name: item[\"name\"],\n version: item[\"version\"],\n tool_descriptions: !item[\"tool_descriptions\"]\n ? item[\"tool_descriptions\"]\n : toolDescriptionArrayDeserializer(item[\"tool_descriptions\"]),\n };\n}\n\nexport function toolDescriptionArraySerializer(result: Array<ToolDescription>): any[] {\n return result.map((item) => {\n return toolDescriptionSerializer(item);\n });\n}\n\nexport function toolDescriptionArrayDeserializer(result: Array<ToolDescription>): any[] {\n return result.map((item) => {\n return toolDescriptionDeserializer(item);\n });\n}\n\n/** Description of a tool that can be used by an agent. */\nexport interface ToolDescription {\n /** The name of the tool. */\n name?: string;\n /** A brief description of the tool's purpose. */\n description?: string;\n}\n\nexport function toolDescriptionSerializer(item: ToolDescription): any {\n return { name: item[\"name\"], description: item[\"description\"] };\n}\n\nexport function toolDescriptionDeserializer(item: any): ToolDescription {\n return {\n name: item[\"name\"],\n description: item[\"description\"],\n };\n}\n\n/** Risk category for the attack objective. */\nexport type RiskCategory =\n | \"HateUnfairness\"\n | \"Violence\"\n | \"Sexual\"\n | \"SelfHarm\"\n | \"ProtectedMaterial\"\n | \"CodeVulnerability\"\n | \"UngroundedAttributes\"\n | \"ProhibitedActions\"\n | \"SensitiveDataLeakage\"\n | \"TaskAdherence\";\n\nexport function taxonomyCategoryArraySerializer(result: Array<TaxonomyCategory>): any[] {\n return result.map((item) => {\n return taxonomyCategorySerializer(item);\n });\n}\n\nexport function taxonomyCategoryArrayDeserializer(result: Array<TaxonomyCategory>): any[] {\n return result.map((item) => {\n return taxonomyCategoryDeserializer(item);\n });\n}\n\n/** Taxonomy category definition. */\nexport interface TaxonomyCategory {\n /** Unique identifier of the taxonomy category. */\n id: string;\n /** Name of the taxonomy category. */\n name: string;\n /** Description of the taxonomy category. */\n description?: string;\n /** Risk category associated with this taxonomy category. */\n riskCategory: RiskCategory;\n /** List of taxonomy sub categories. */\n subCategories: TaxonomySubCategory[];\n /** Additional properties for the taxonomy category. */\n properties?: Record<string, string>;\n}\n\nexport function taxonomyCategorySerializer(item: TaxonomyCategory): any {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n description: item[\"description\"],\n riskCategory: item[\"riskCategory\"],\n subCategories: taxonomySubCategoryArraySerializer(item[\"subCategories\"]),\n properties: item[\"properties\"],\n };\n}\n\nexport function taxonomyCategoryDeserializer(item: any): TaxonomyCategory {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n description: item[\"description\"],\n riskCategory: item[\"riskCategory\"],\n subCategories: taxonomySubCategoryArrayDeserializer(item[\"subCategories\"]),\n properties: item[\"properties\"],\n };\n}\n\nexport function taxonomySubCategoryArraySerializer(result: Array<TaxonomySubCategory>): any[] {\n return result.map((item) => {\n return taxonomySubCategorySerializer(item);\n });\n}\n\nexport function taxonomySubCategoryArrayDeserializer(result: Array<TaxonomySubCategory>): any[] {\n return result.map((item) => {\n return taxonomySubCategoryDeserializer(item);\n });\n}\n\n/** Taxonomy sub-category definition. */\nexport interface TaxonomySubCategory {\n /** Unique identifier of the taxonomy sub-category. */\n id: string;\n /** Name of the taxonomy sub-category. */\n name: string;\n /** Description of the taxonomy sub-category. */\n description?: string;\n /** List of taxonomy items under this sub-category. */\n enabled: boolean;\n /** Additional properties for the taxonomy sub-category. */\n properties?: Record<string, string>;\n}\n\nexport function taxonomySubCategorySerializer(item: TaxonomySubCategory): any {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n description: item[\"description\"],\n enabled: item[\"enabled\"],\n properties: item[\"properties\"],\n };\n}\n\nexport function taxonomySubCategoryDeserializer(item: any): TaxonomySubCategory {\n return {\n id: item[\"id\"],\n name: item[\"name\"],\n description: item[\"description\"],\n enabled: item[\"enabled\"],\n properties: item[\"properties\"],\n };\n}\n\n/** Paged collection of EvaluationTaxonomy items */\nexport interface _PagedEvaluationTaxonomy {\n /** The EvaluationTaxonomy items on this page */\n value: EvaluationTaxonomy[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _pagedEvaluationTaxonomyDeserializer(item: any): _PagedEvaluationTaxonomy {\n return {\n value: evaluationTaxonomyArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function evaluationTaxonomyArraySerializer(result: Array<EvaluationTaxonomy>): any[] {\n return result.map((item) => {\n return evaluationTaxonomySerializer(item);\n });\n}\n\nexport function evaluationTaxonomyArrayDeserializer(result: Array<EvaluationTaxonomy>): any[] {\n return result.map((item) => {\n return evaluationTaxonomyDeserializer(item);\n });\n}\n\n/** Paged collection of EvaluatorVersion items */\nexport interface _PagedEvaluatorVersion {\n /** The EvaluatorVersion items on this page */\n value: EvaluatorVersion[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _pagedEvaluatorVersionDeserializer(item: any): _PagedEvaluatorVersion {\n return {\n value: evaluatorVersionArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function evaluatorVersionArraySerializer(result: Array<EvaluatorVersion>): any[] {\n return result.map((item) => {\n return evaluatorVersionSerializer(item);\n });\n}\n\nexport function evaluatorVersionArrayDeserializer(result: Array<EvaluatorVersion>): any[] {\n return result.map((item) => {\n return evaluatorVersionDeserializer(item);\n });\n}\n\n/** Evaluator Definition */\nexport interface EvaluatorVersion {\n /** Display Name for evaluator. It helps to find the evaluator easily in AI Foundry. It does not need to be unique. */\n display_name?: string;\n /** Metadata about the evaluator */\n metadata?: Record<string, string>;\n /** The type of the evaluator */\n evaluator_type: EvaluatorType;\n /** The categories of the evaluator */\n categories: EvaluatorCategory[];\n /** Definition of the evaluator */\n definition: EvaluatorDefinitionUnion;\n /** Creator of the evaluator */\n readonly created_by?: string;\n /** Creation date/time of the evaluator */\n readonly created_at?: string;\n /** Last modified date/time of the evaluator */\n readonly modified_at?: string;\n /** Asset ID, a unique identifier for the asset */\n readonly id?: string;\n /** The name of the resource */\n readonly name: string;\n /** The version of the resource */\n readonly version?: string;\n /** The asset description text. */\n description?: string;\n /** Tag dictionary. Tags can be added, removed, and updated. */\n tags?: Record<string, string>;\n}\n\nexport function evaluatorVersionSerializer(item: EvaluatorVersion): any {\n return {\n display_name: item[\"display_name\"],\n metadata: item[\"metadata\"],\n evaluator_type: item[\"evaluator_type\"],\n categories: item[\"categories\"],\n definition: evaluatorDefinitionUnionSerializer(item[\"definition\"]),\n description: item[\"description\"],\n tags: item[\"tags\"],\n };\n}\n\nexport function evaluatorVersionDeserializer(item: any): EvaluatorVersion {\n return {\n display_name: item[\"display_name\"],\n metadata: item[\"metadata\"],\n evaluator_type: item[\"evaluator_type\"],\n categories: item[\"categories\"],\n definition: evaluatorDefinitionUnionDeserializer(item[\"definition\"]),\n created_by: item[\"created_by\"],\n created_at: item[\"created_at\"],\n modified_at: item[\"modified_at\"],\n id: item[\"id\"],\n name: item[\"name\"],\n version: item[\"version\"],\n description: item[\"description\"],\n tags: item[\"tags\"],\n };\n}\n\n/** The type of the evaluator */\nexport type EvaluatorType = \"builtin\" | \"custom\";\n/** The category of the evaluator */\nexport type EvaluatorCategory = \"quality\" | \"safety\" | \"agents\";\n\n/** Base evaluator configuration with discriminator */\nexport interface EvaluatorDefinition {\n /** The type of evaluator definition */\n /** The discriminator possible values: code, prompt */\n type: EvaluatorDefinitionType;\n /** The JSON schema (Draft 2020-12) for the evaluator's input parameters. This includes parameters like type, properties, required. */\n init_parameters?: Record<string, unknown>;\n /** The JSON schema (Draft 2020-12) for the evaluator's input data. This includes parameters like type, properties, required. */\n data_schema?: Record<string, unknown>;\n /** List of output metrics produced by this evaluator */\n metrics?: Record<string, EvaluatorMetric>;\n}\n\nexport function evaluatorDefinitionSerializer(item: EvaluatorDefinition): any {\n return {\n type: item[\"type\"],\n init_parameters: item[\"init_parameters\"],\n data_schema: item[\"data_schema\"],\n metrics: !item[\"metrics\"] ? item[\"metrics\"] : evaluatorMetricRecordSerializer(item[\"metrics\"]),\n };\n}\n\nexport function evaluatorDefinitionDeserializer(item: any): EvaluatorDefinition {\n return {\n type: item[\"type\"],\n init_parameters: item[\"init_parameters\"],\n data_schema: item[\"data_schema\"],\n metrics: !item[\"metrics\"]\n ? item[\"metrics\"]\n : evaluatorMetricRecordDeserializer(item[\"metrics\"]),\n };\n}\n\n/** Alias for EvaluatorDefinitionUnion */\nexport type EvaluatorDefinitionUnion =\n | CodeBasedEvaluatorDefinition\n | PromptBasedEvaluatorDefinition\n | EvaluatorDefinition;\n\nexport function evaluatorDefinitionUnionSerializer(item: EvaluatorDefinitionUnion): any {\n switch (item.type) {\n case \"code\":\n return codeBasedEvaluatorDefinitionSerializer(item as CodeBasedEvaluatorDefinition);\n\n case \"prompt\":\n return promptBasedEvaluatorDefinitionSerializer(item as PromptBasedEvaluatorDefinition);\n\n default:\n return evaluatorDefinitionSerializer(item);\n }\n}\n\nexport function evaluatorDefinitionUnionDeserializer(item: any): EvaluatorDefinitionUnion {\n switch (item.type) {\n case \"code\":\n return codeBasedEvaluatorDefinitionDeserializer(item as CodeBasedEvaluatorDefinition);\n\n case \"prompt\":\n return promptBasedEvaluatorDefinitionDeserializer(item as PromptBasedEvaluatorDefinition);\n\n default:\n return evaluatorDefinitionDeserializer(item);\n }\n}\n\n/** The type of evaluator definition */\nexport type EvaluatorDefinitionType =\n | \"prompt\"\n | \"code\"\n | \"prompt_and_code\"\n | \"service\"\n | \"openai_graders\";\n\nexport function evaluatorMetricRecordSerializer(\n item: Record<string, EvaluatorMetric>,\n): Record<string, any> {\n const result: Record<string, any> = {};\n Object.keys(item).map((key) => {\n result[key] = !item[key] ? item[key] : evaluatorMetricSerializer(item[key]);\n });\n return result;\n}\n\nexport function evaluatorMetricRecordDeserializer(\n item: Record<string, any>,\n): Record<string, EvaluatorMetric> {\n const result: Record<string, any> = {};\n Object.keys(item).map((key) => {\n result[key] = !item[key] ? item[key] : evaluatorMetricDeserializer(item[key]);\n });\n return result;\n}\n\n/** Evaluator Metric */\nexport interface EvaluatorMetric {\n /** Type of the metric. */\n type?: EvaluatorMetricType;\n /** It indicates whether a higher value is better or a lower value is better for this metric. */\n desirable_direction?: EvaluatorMetricDirection;\n /** Minimum value for the metric */\n min_value?: number;\n /** Maximum value for the metric. If not specified, it is assumed to be unbounded. */\n max_value?: number;\n /** Indicates if this metric is primary when there are multiple metrics. */\n is_primary?: boolean;\n}\n\nexport function evaluatorMetricSerializer(item: EvaluatorMetric): any {\n return {\n type: item[\"type\"],\n desirable_direction: item[\"desirable_direction\"],\n min_value: item[\"min_value\"],\n max_value: item[\"max_value\"],\n is_primary: item[\"is_primary\"],\n };\n}\n\nexport function evaluatorMetricDeserializer(item: any): EvaluatorMetric {\n return {\n type: item[\"type\"],\n desirable_direction: item[\"desirable_direction\"],\n min_value: item[\"min_value\"],\n max_value: item[\"max_value\"],\n is_primary: item[\"is_primary\"],\n };\n}\n\n/** The type of the evaluator */\nexport type EvaluatorMetricType = \"ordinal\" | \"continuous\" | \"boolean\";\n/** The direction of the metric indicating whether a higher value is better, a lower value is better, or neutral */\nexport type EvaluatorMetricDirection = \"increase\" | \"decrease\" | \"neutral\";\n\n/** Code-based evaluator definition using python code */\nexport interface CodeBasedEvaluatorDefinition extends EvaluatorDefinition {\n /** The type discriminator, always 'code_based'. */\n type: \"code\";\n /** Inline code text for the evaluator */\n code_text: string;\n}\n\nexport function codeBasedEvaluatorDefinitionSerializer(item: CodeBasedEvaluatorDefinition): any {\n return {\n type: item[\"type\"],\n init_parameters: item[\"init_parameters\"],\n data_schema: item[\"data_schema\"],\n metrics: !item[\"metrics\"] ? item[\"metrics\"] : evaluatorMetricRecordSerializer(item[\"metrics\"]),\n code_text: item[\"code_text\"],\n };\n}\n\nexport function codeBasedEvaluatorDefinitionDeserializer(item: any): CodeBasedEvaluatorDefinition {\n return {\n type: item[\"type\"],\n init_parameters: item[\"init_parameters\"],\n data_schema: item[\"data_schema\"],\n metrics: !item[\"metrics\"]\n ? item[\"metrics\"]\n : evaluatorMetricRecordDeserializer(item[\"metrics\"]),\n code_text: item[\"code_text\"],\n };\n}\n\n/** Prompt-based evaluator */\nexport interface PromptBasedEvaluatorDefinition extends EvaluatorDefinition {\n /** The type discriminator, always 'prompt_based'. */\n type: \"prompt\";\n /** The prompt text used for evaluation */\n prompt_text: string;\n}\n\nexport function promptBasedEvaluatorDefinitionSerializer(\n item: PromptBasedEvaluatorDefinition,\n): any {\n return {\n type: item[\"type\"],\n init_parameters: item[\"init_parameters\"],\n data_schema: item[\"data_schema\"],\n metrics: !item[\"metrics\"] ? item[\"metrics\"] : evaluatorMetricRecordSerializer(item[\"metrics\"]),\n prompt_text: item[\"prompt_text\"],\n };\n}\n\nexport function promptBasedEvaluatorDefinitionDeserializer(\n item: any,\n): PromptBasedEvaluatorDefinition {\n return {\n type: item[\"type\"],\n init_parameters: item[\"init_parameters\"],\n data_schema: item[\"data_schema\"],\n metrics: !item[\"metrics\"]\n ? item[\"metrics\"]\n : evaluatorMetricRecordDeserializer(item[\"metrics\"]),\n prompt_text: item[\"prompt_text\"],\n };\n}\n\n/** The response body for cluster insights. */\nexport interface Insight {\n /** The unique identifier for the insights report. */\n readonly id?: string;\n /** Metadata about the insights report. */\n readonly metadata?: InsightsMetadata;\n /** The current state of the insights. */\n readonly state?: OperationState;\n /** User friendly display name for the insight. */\n displayName: string;\n /** Request for the insights analysis. */\n request: InsightRequestUnion;\n /** The result of the insights report. */\n readonly result?: InsightResultUnion;\n}\n\nexport function insightSerializer(item: Insight): any {\n return {\n displayName: item[\"displayName\"],\n request: insightRequestUnionSerializer(item[\"request\"]),\n };\n}\n\nexport function insightDeserializer(item: any): Insight {\n return {\n id: item[\"id\"],\n metadata: insightsMetadataDeserializer(item[\"metadata\"]),\n state: item[\"state\"],\n displayName: item[\"displayName\"],\n request: insightRequestUnionDeserializer(item[\"request\"]),\n result: !item[\"result\"] ? item[\"result\"] : insightResultUnionDeserializer(item[\"result\"]),\n };\n}\n\n/** Metadata about the insights. */\nexport interface InsightsMetadata {\n /** The timestamp when the insights were created. */\n createdAt: Date;\n /** The timestamp when the insights were completed. */\n completedAt?: Date;\n}\n\nexport function insightsMetadataDeserializer(item: any): InsightsMetadata {\n return {\n createdAt: new Date(item[\"createdAt\"]),\n completedAt: !item[\"completedAt\"] ? item[\"completedAt\"] : new Date(item[\"completedAt\"]),\n };\n}\n\n/** Enum describing allowed operation states. */\nexport type OperationState = \"NotStarted\" | \"Running\" | \"Succeeded\" | \"Failed\" | \"Canceled\";\n\n/** The request of the insights report. */\nexport interface InsightRequest {\n /** The type of request. */\n /** The discriminator possible values: EvaluationRunClusterInsight, AgentClusterInsight, EvaluationComparison */\n type: InsightType;\n}\n\nexport function insightRequestSerializer(item: InsightRequest): any {\n return { type: item[\"type\"] };\n}\n\nexport function insightRequestDeserializer(item: any): InsightRequest {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for InsightRequestUnion */\nexport type InsightRequestUnion =\n | EvaluationRunClusterInsightRequest\n | AgentClusterInsightRequest\n | EvaluationComparisonInsightRequest\n | InsightRequest;\n\nexport function insightRequestUnionSerializer(item: InsightRequestUnion): any {\n switch (item.type) {\n case \"EvaluationRunClusterInsight\":\n return evaluationRunClusterInsightRequestSerializer(\n item as EvaluationRunClusterInsightRequest,\n );\n\n case \"AgentClusterInsight\":\n return agentClusterInsightRequestSerializer(item as AgentClusterInsightRequest);\n\n case \"EvaluationComparison\":\n return evaluationComparisonInsightRequestSerializer(\n item as EvaluationComparisonInsightRequest,\n );\n\n default:\n return insightRequestSerializer(item);\n }\n}\n\nexport function insightRequestUnionDeserializer(item: any): InsightRequestUnion {\n switch (item.type) {\n case \"EvaluationRunClusterInsight\":\n return evaluationRunClusterInsightRequestDeserializer(\n item as EvaluationRunClusterInsightRequest,\n );\n\n case \"AgentClusterInsight\":\n return agentClusterInsightRequestDeserializer(item as AgentClusterInsightRequest);\n\n case \"EvaluationComparison\":\n return evaluationComparisonInsightRequestDeserializer(\n item as EvaluationComparisonInsightRequest,\n );\n\n default:\n return insightRequestDeserializer(item);\n }\n}\n\n/** The request of the insights. */\nexport type InsightType =\n | \"EvaluationRunClusterInsight\"\n | \"AgentClusterInsight\"\n | \"EvaluationComparison\";\n\n/** Insights on set of Evaluation Results */\nexport interface EvaluationRunClusterInsightRequest extends InsightRequest {\n /** The type of insights request. */\n type: \"EvaluationRunClusterInsight\";\n /** Evaluation Id for the insights. */\n evalId: string;\n /** List of evaluation run IDs for the insights. */\n runIds: string[];\n /** Configuration of the model used in the insight generation. */\n modelConfiguration?: InsightModelConfiguration;\n}\n\nexport function evaluationRunClusterInsightRequestSerializer(\n item: EvaluationRunClusterInsightRequest,\n): any {\n return {\n type: item[\"type\"],\n evalId: item[\"evalId\"],\n runIds: item[\"runIds\"],\n modelConfiguration: !item[\"modelConfiguration\"]\n ? item[\"modelConfiguration\"]\n : insightModelConfigurationSerializer(item[\"modelConfiguration\"]),\n };\n}\n\nexport function evaluationRunClusterInsightRequestDeserializer(\n item: any,\n): EvaluationRunClusterInsightRequest {\n return {\n type: item[\"type\"],\n evalId: item[\"evalId\"],\n runIds: item[\"runIds\"],\n modelConfiguration: !item[\"modelConfiguration\"]\n ? item[\"modelConfiguration\"]\n : insightModelConfigurationDeserializer(item[\"modelConfiguration\"]),\n };\n}\n\n/** Configuration of the model used in the insight generation. */\nexport interface InsightModelConfiguration {\n /** The model deployment to be evaluated. Accepts either the deployment name alone or with the connection name as '{connectionName}/<modelDeploymentName>'. */\n modelDeploymentName: string;\n}\n\nexport function insightModelConfigurationSerializer(item: InsightModelConfiguration): any {\n return { modelDeploymentName: item[\"modelDeploymentName\"] };\n}\n\nexport function insightModelConfigurationDeserializer(item: any): InsightModelConfiguration {\n return {\n modelDeploymentName: item[\"modelDeploymentName\"],\n };\n}\n\n/** Insights on set of Agent Evaluation Results */\nexport interface AgentClusterInsightRequest extends InsightRequest {\n /** The type of request. */\n type: \"AgentClusterInsight\";\n /** Identifier for the agent. */\n agentName: string;\n /** Configuration of the model used in the insight generation. */\n modelConfiguration?: InsightModelConfiguration;\n}\n\nexport function agentClusterInsightRequestSerializer(item: AgentClusterInsightRequest): any {\n return {\n type: item[\"type\"],\n agentName: item[\"agentName\"],\n modelConfiguration: !item[\"modelConfiguration\"]\n ? item[\"modelConfiguration\"]\n : insightModelConfigurationSerializer(item[\"modelConfiguration\"]),\n };\n}\n\nexport function agentClusterInsightRequestDeserializer(item: any): AgentClusterInsightRequest {\n return {\n type: item[\"type\"],\n agentName: item[\"agentName\"],\n modelConfiguration: !item[\"modelConfiguration\"]\n ? item[\"modelConfiguration\"]\n : insightModelConfigurationDeserializer(item[\"modelConfiguration\"]),\n };\n}\n\n/** Evaluation Comparison Request */\nexport interface EvaluationComparisonInsightRequest extends InsightRequest {\n /** The type of request. */\n type: \"EvaluationComparison\";\n /** Identifier for the evaluation. */\n evalId: string;\n /** The baseline run ID for comparison. */\n baselineRunId: string;\n /** List of treatment run IDs for comparison. */\n treatmentRunIds: string[];\n}\n\nexport function evaluationComparisonInsightRequestSerializer(\n item: EvaluationComparisonInsightRequest,\n): any {\n return {\n type: item[\"type\"],\n evalId: item[\"evalId\"],\n baselineRunId: item[\"baselineRunId\"],\n treatmentRunIds: item[\"treatmentRunIds\"],\n };\n}\n\nexport function evaluationComparisonInsightRequestDeserializer(\n item: any,\n): EvaluationComparisonInsightRequest {\n return {\n type: item[\"type\"],\n evalId: item[\"evalId\"],\n baselineRunId: item[\"baselineRunId\"],\n treatmentRunIds: item[\"treatmentRunIds\"],\n };\n}\n\n/** The result of the insights. */\nexport interface InsightResult {\n /** The type of insights result. */\n /** The discriminator possible values: EvaluationComparison, EvaluationRunClusterInsight, AgentClusterInsight */\n type: InsightType;\n}\n\nexport function insightResultDeserializer(item: any): InsightResult {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for InsightResultUnion */\nexport type InsightResultUnion =\n | EvaluationComparisonInsightResult\n | EvaluationRunClusterInsightResult\n | AgentClusterInsightResult\n | InsightResult;\n\nexport function insightResultUnionDeserializer(item: any): InsightResultUnion {\n switch (item.type) {\n case \"EvaluationComparison\":\n return evaluationComparisonInsightResultDeserializer(\n item as EvaluationComparisonInsightResult,\n );\n\n case \"EvaluationRunClusterInsight\":\n return evaluationRunClusterInsightResultDeserializer(\n item as EvaluationRunClusterInsightResult,\n );\n\n case \"AgentClusterInsight\":\n return agentClusterInsightResultDeserializer(item as AgentClusterInsightResult);\n\n default:\n return insightResultDeserializer(item);\n }\n}\n\n/** Insights from the evaluation comparison. */\nexport interface EvaluationComparisonInsightResult extends InsightResult {\n /** The type of insights result. */\n type: \"EvaluationComparison\";\n /** Comparison results for each treatment run against the baseline. */\n comparisons: EvalRunResultComparison[];\n /** The statistical method used for comparison. */\n method: string;\n}\n\nexport function evaluationComparisonInsightResultDeserializer(\n item: any,\n): EvaluationComparisonInsightResult {\n return {\n type: item[\"type\"],\n comparisons: evalRunResultComparisonArrayDeserializer(item[\"comparisons\"]),\n method: item[\"method\"],\n };\n}\n\nexport function evalRunResultComparisonArrayDeserializer(\n result: Array<EvalRunResultComparison>,\n): any[] {\n return result.map((item) => {\n return evalRunResultComparisonDeserializer(item);\n });\n}\n\n/** Comparison results for treatment runs against the baseline. */\nexport interface EvalRunResultComparison {\n /** Name of the testing criteria. */\n testingCriteria: string;\n /** Metric being evaluated. */\n metric: string;\n /** Name of the evaluator for this testing criteria. */\n evaluator: string;\n /** Summary statistics of the baseline run. */\n baselineRunSummary: EvalRunResultSummary;\n /** List of comparison results for each treatment run. */\n compareItems: EvalRunResultCompareItem[];\n}\n\nexport function evalRunResultComparisonDeserializer(item: any): EvalRunResultComparison {\n return {\n testingCriteria: item[\"testingCriteria\"],\n metric: item[\"metric\"],\n evaluator: item[\"evaluator\"],\n baselineRunSummary: evalRunResultSummaryDeserializer(item[\"baselineRunSummary\"]),\n compareItems: evalRunResultCompareItemArrayDeserializer(item[\"compareItems\"]),\n };\n}\n\n/** Summary statistics of a metric in an evaluation run. */\nexport interface EvalRunResultSummary {\n /** The evaluation run ID. */\n runId: string;\n /** Number of samples in the evaluation run. */\n sampleCount: number;\n /** Average value of the metric in the evaluation run. */\n average: number;\n /** Standard deviation of the metric in the evaluation run. */\n standardDeviation: number;\n}\n\nexport function evalRunResultSummaryDeserializer(item: any): EvalRunResultSummary {\n return {\n runId: item[\"runId\"],\n sampleCount: item[\"sampleCount\"],\n average: item[\"average\"],\n standardDeviation: item[\"standardDeviation\"],\n };\n}\n\nexport function evalRunResultCompareItemArrayDeserializer(\n result: Array<EvalRunResultCompareItem>,\n): any[] {\n return result.map((item) => {\n return evalRunResultCompareItemDeserializer(item);\n });\n}\n\n/** Metric comparison for a treatment against the baseline. */\nexport interface EvalRunResultCompareItem {\n /** The treatment run ID. */\n treatmentRunId: string;\n /** Summary statistics of the treatment run. */\n treatmentRunSummary: EvalRunResultSummary;\n /** Estimated difference between treatment and baseline. */\n deltaEstimate: number;\n /** P-value for the treatment effect. */\n pValue: number;\n /** Type of treatment effect. */\n treatmentEffect: TreatmentEffectType;\n}\n\nexport function evalRunResultCompareItemDeserializer(item: any): EvalRunResultCompareItem {\n return {\n treatmentRunId: item[\"treatmentRunId\"],\n treatmentRunSummary: evalRunResultSummaryDeserializer(item[\"treatmentRunSummary\"]),\n deltaEstimate: item[\"deltaEstimate\"],\n pValue: item[\"pValue\"],\n treatmentEffect: item[\"treatmentEffect\"],\n };\n}\n\n/** Treatment Effect Type. */\nexport type TreatmentEffectType =\n | \"TooFewSamples\"\n | \"Inconclusive\"\n | \"Changed\"\n | \"Improved\"\n | \"Degraded\";\n\n/** Insights from the evaluation run cluster analysis. */\nexport interface EvaluationRunClusterInsightResult extends InsightResult {\n /** The type of insights result. */\n type: \"EvaluationRunClusterInsight\";\n /** The cluster insight details. */\n clusterInsight: ClusterInsightResult;\n}\n\nexport function evaluationRunClusterInsightResultDeserializer(\n item: any,\n): EvaluationRunClusterInsightResult {\n return {\n type: item[\"type\"],\n clusterInsight: clusterInsightResultDeserializer(item[\"clusterInsight\"]),\n };\n}\n\n/** Insights from the cluster analysis. */\nexport interface ClusterInsightResult {\n /** Summary of the insights report. */\n summary: InsightSummary;\n /** List of clusters identified in the insights. */\n clusters: InsightCluster[];\n /**\n * Optional mapping of IDs to 2D coordinates used by the UX for visualization.\n *\n * The map keys are string identifiers (for example, a cluster id or a sample id)\n * and the values are the coordinates and visual size for rendering on a 2D chart.\n *\n * This property is omitted unless the client requests coordinates (for example,\n * by passing `includeCoordinates=true` as a query parameter).\n *\n * Example:\n * ```\n * {\n * \"cluster-1\": { \"x\": 12, \"y\": 34, \"size\": 8 },\n * \"sample-123\": { \"x\": 18, \"y\": 22, \"size\": 4 }\n * }\n * ```\n *\n * Coordinates are intended only for client-side visualization and do not\n * modify the canonical insights results.\n */\n coordinates?: Record<string, ChartCoordinate>;\n}\n\nexport function clusterInsightResultDeserializer(item: any): ClusterInsightResult {\n return {\n summary: insightSummaryDeserializer(item[\"summary\"]),\n clusters: insightClusterArrayDeserializer(item[\"clusters\"]),\n coordinates: !item[\"coordinates\"]\n ? item[\"coordinates\"]\n : chartCoordinateRecordDeserializer(item[\"coordinates\"]),\n };\n}\n\n/** Summary of the error cluster analysis. */\nexport interface InsightSummary {\n /** Total number of samples analyzed. */\n sampleCount: number;\n /** Total number of unique subcluster labels. */\n uniqueSubclusterCount: number;\n /** Total number of unique clusters. */\n uniqueClusterCount: number;\n /** Method used for clustering. */\n method: string;\n /** Token usage while performing clustering analysis */\n usage: ClusterTokenUsage;\n}\n\nexport function insightSummaryDeserializer(item: any): InsightSummary {\n return {\n sampleCount: item[\"sampleCount\"],\n uniqueSubclusterCount: item[\"uniqueSubclusterCount\"],\n uniqueClusterCount: item[\"uniqueClusterCount\"],\n method: item[\"method\"],\n usage: clusterTokenUsageDeserializer(item[\"usage\"]),\n };\n}\n\n/** Token usage for cluster analysis */\nexport interface ClusterTokenUsage {\n /** input token usage */\n inputTokenUsage: number;\n /** output token usage */\n outputTokenUsage: number;\n /** total token usage */\n totalTokenUsage: number;\n}\n\nexport function clusterTokenUsageDeserializer(item: any): ClusterTokenUsage {\n return {\n inputTokenUsage: item[\"inputTokenUsage\"],\n outputTokenUsage: item[\"outputTokenUsage\"],\n totalTokenUsage: item[\"totalTokenUsage\"],\n };\n}\n\nexport function insightClusterArrayDeserializer(result: Array<InsightCluster>): any[] {\n return result.map((item) => {\n return insightClusterDeserializer(item);\n });\n}\n\n/** A cluster of analysis samples. */\nexport interface InsightCluster {\n /** The id of the analysis cluster. */\n id: string;\n /** Label for the cluster */\n label: string;\n /** Suggestion for the cluster */\n suggestion: string;\n /** The title of the suggestion for the cluster */\n suggestionTitle: string;\n /** Description of the analysis cluster. */\n description: string;\n /** The weight of the analysis cluster. This indicate number of samples in the cluster. */\n weight: number;\n /** List of subclusters within this cluster. Empty if no subclusters exist. */\n subClusters?: InsightCluster[];\n /** List of samples that belong to this cluster. Empty if samples are part of subclusters. */\n samples?: InsightSampleUnion[];\n}\n\nexport function insightClusterDeserializer(item: any): InsightCluster {\n return {\n id: item[\"id\"],\n label: item[\"label\"],\n suggestion: item[\"suggestion\"],\n suggestionTitle: item[\"suggestionTitle\"],\n description: item[\"description\"],\n weight: item[\"weight\"],\n subClusters: !item[\"subClusters\"]\n ? item[\"subClusters\"]\n : insightClusterArrayDeserializer(item[\"subClusters\"]),\n samples: !item[\"samples\"]\n ? item[\"samples\"]\n : insightSampleUnionArrayDeserializer(item[\"samples\"]),\n };\n}\n\nexport function insightSampleUnionArrayDeserializer(result: Array<InsightSampleUnion>): any[] {\n return result.map((item) => {\n return insightSampleUnionDeserializer(item);\n });\n}\n\n/** A sample from the analysis. */\nexport interface InsightSample {\n /** The unique identifier for the analysis sample. */\n id: string;\n /** Sample type */\n /** The discriminator possible values: EvaluationResultSample */\n type: SampleType;\n /** Features to help with additional filtering of data in UX. */\n features: Record<string, unknown>;\n /** Info about the correlation for the analysis sample. */\n correlationInfo: Record<string, unknown>;\n}\n\nexport function insightSampleDeserializer(item: any): InsightSample {\n return {\n id: item[\"id\"],\n type: item[\"type\"],\n features: item[\"features\"],\n correlationInfo: item[\"correlationInfo\"],\n };\n}\n\n/** Alias for InsightSampleUnion */\nexport type InsightSampleUnion = EvaluationResultSample | InsightSample;\n\nexport function insightSampleUnionDeserializer(item: any): InsightSampleUnion {\n switch (item.type) {\n case \"EvaluationResultSample\":\n return evaluationResultSampleDeserializer(item as EvaluationResultSample);\n\n default:\n return insightSampleDeserializer(item);\n }\n}\n\n/** The type of sample used in the analysis. */\nexport type SampleType = \"EvaluationResultSample\";\n\n/** A sample from the evaluation result. */\nexport interface EvaluationResultSample extends InsightSample {\n /** Evaluation Result Sample Type */\n type: \"EvaluationResultSample\";\n /** Evaluation result for the analysis sample. */\n evaluationResult: EvalResult;\n}\n\nexport function evaluationResultSampleDeserializer(item: any): EvaluationResultSample {\n return {\n id: item[\"id\"],\n type: item[\"type\"],\n features: item[\"features\"],\n correlationInfo: item[\"correlationInfo\"],\n evaluationResult: evalResultDeserializer(item[\"evaluationResult\"]),\n };\n}\n\n/** Result of the evaluation. */\nexport interface EvalResult {\n /** name of the check */\n name: string;\n /** type of the check */\n type: string;\n /** score */\n score: number;\n /** indicates if the check passed or failed */\n passed: boolean;\n}\n\nexport function evalResultDeserializer(item: any): EvalResult {\n return {\n name: item[\"name\"],\n type: item[\"type\"],\n score: item[\"score\"],\n passed: item[\"passed\"],\n };\n}\n\nexport function chartCoordinateRecordDeserializer(\n item: Record<string, any>,\n): Record<string, ChartCoordinate> {\n const result: Record<string, any> = {};\n Object.keys(item).forEach((key) => {\n result[key] = !item[key] ? item[key] : chartCoordinateDeserializer(item[key]);\n });\n return result;\n}\n\n/** Coordinates for the analysis chart. */\nexport interface ChartCoordinate {\n /** X-axis coordinate. */\n x: number;\n /** Y-axis coordinate. */\n y: number;\n /** Size of the chart element. */\n size: number;\n}\n\nexport function chartCoordinateDeserializer(item: any): ChartCoordinate {\n return {\n x: item[\"x\"],\n y: item[\"y\"],\n size: item[\"size\"],\n };\n}\n\n/** Insights from the agent cluster analysis. */\nexport interface AgentClusterInsightResult extends InsightResult {\n /** The type of insights result. */\n type: \"AgentClusterInsight\";\n /** The cluster insight details. */\n clusterInsight: ClusterInsightResult;\n}\n\nexport function agentClusterInsightResultDeserializer(item: any): AgentClusterInsightResult {\n return {\n type: item[\"type\"],\n clusterInsight: clusterInsightResultDeserializer(item[\"clusterInsight\"]),\n };\n}\n\n/** Paged collection of Insight items */\nexport interface _PagedInsight {\n /** The Insight items on this page */\n value: Insight[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _pagedInsightDeserializer(item: any): _PagedInsight {\n return {\n value: insightArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function insightArraySerializer(result: Array<Insight>): any[] {\n return result.map((item) => {\n return insightSerializer(item);\n });\n}\n\nexport function insightArrayDeserializer(result: Array<Insight>): any[] {\n return result.map((item) => {\n return insightDeserializer(item);\n });\n}\n\n/** Base definition for memory store configurations. */\nexport interface MemoryStoreDefinition {\n /** The kind of the memory store. */\n /** The discriminator possible values: default */\n kind: MemoryStoreKind;\n}\n\nexport function memoryStoreDefinitionSerializer(item: MemoryStoreDefinition): any {\n return { kind: item[\"kind\"] };\n}\n\nexport function memoryStoreDefinitionDeserializer(item: any): MemoryStoreDefinition {\n return {\n kind: item[\"kind\"],\n };\n}\n\n/** Alias for MemoryStoreDefinitionUnion */\nexport type MemoryStoreDefinitionUnion = MemoryStoreDefaultDefinition | MemoryStoreDefinition;\n\nexport function memoryStoreDefinitionUnionSerializer(item: MemoryStoreDefinitionUnion): any {\n switch (item.kind) {\n case \"default\":\n return memoryStoreDefaultDefinitionSerializer(item as MemoryStoreDefaultDefinition);\n\n default:\n return memoryStoreDefinitionSerializer(item);\n }\n}\n\nexport function memoryStoreDefinitionUnionDeserializer(item: any): MemoryStoreDefinitionUnion {\n switch (item.kind) {\n case \"default\":\n return memoryStoreDefaultDefinitionDeserializer(item as MemoryStoreDefaultDefinition);\n\n default:\n return memoryStoreDefinitionDeserializer(item);\n }\n}\n\n/** The type of memory store implementation to use. */\nexport type MemoryStoreKind = \"default\";\n\n/** Default memory store implementation. */\nexport interface MemoryStoreDefaultDefinition extends MemoryStoreDefinition {\n /** The kind of the memory store. */\n kind: \"default\";\n /** The name or identifier of the chat completion model deployment used for memory processing. */\n chat_model: string;\n /** The name or identifier of the embedding model deployment used for memory processing. */\n embedding_model: string;\n /** Default memory store options. */\n options?: MemoryStoreDefaultOptions;\n}\n\nexport function memoryStoreDefaultDefinitionSerializer(item: MemoryStoreDefaultDefinition): any {\n return {\n kind: item[\"kind\"],\n chat_model: item[\"chat_model\"],\n embedding_model: item[\"embedding_model\"],\n options: !item[\"options\"]\n ? item[\"options\"]\n : memoryStoreDefaultOptionsSerializer(item[\"options\"]),\n };\n}\n\nexport function memoryStoreDefaultDefinitionDeserializer(item: any): MemoryStoreDefaultDefinition {\n return {\n kind: item[\"kind\"],\n chat_model: item[\"chat_model\"],\n embedding_model: item[\"embedding_model\"],\n options: !item[\"options\"]\n ? item[\"options\"]\n : memoryStoreDefaultOptionsDeserializer(item[\"options\"]),\n };\n}\n\n/** Default memory store configurations. */\nexport interface MemoryStoreDefaultOptions {\n /** Whether to enable user profile extraction and storage. Default is true. */\n user_profile_enabled: boolean;\n /** Specific categories or types of user profile information to extract and store. */\n user_profile_details?: string;\n /** Whether to enable chat summary extraction and storage. Default is true. */\n chat_summary_enabled: boolean;\n}\n\nexport function memoryStoreDefaultOptionsSerializer(item: MemoryStoreDefaultOptions): any {\n return {\n user_profile_enabled: item[\"user_profile_enabled\"],\n user_profile_details: item[\"user_profile_details\"],\n chat_summary_enabled: item[\"chat_summary_enabled\"],\n };\n}\n\nexport function memoryStoreDefaultOptionsDeserializer(item: any): MemoryStoreDefaultOptions {\n return {\n user_profile_enabled: item[\"user_profile_enabled\"],\n user_profile_details: item[\"user_profile_details\"],\n chat_summary_enabled: item[\"chat_summary_enabled\"],\n };\n}\n\n/** A memory store that can store and retrieve user memories. */\nexport interface MemoryStore {\n /** The object type, which is always 'memory_store'. */\n object: \"memory_store\";\n /** The unique identifier of the memory store. */\n id: string;\n /** The Unix timestamp (seconds) when the memory store was created. */\n created_at: Date;\n /** The Unix timestamp (seconds) when the memory store was last updated. */\n updated_at: Date;\n /** The name of the memory store. */\n name: string;\n /** A human-readable description of the memory store. */\n description?: string;\n /** Arbitrary key-value metadata to associate with the memory store. */\n metadata?: Record<string, string>;\n /** The definition of the memory store. */\n definition: MemoryStoreDefinitionUnion;\n}\n\nexport function memoryStoreDeserializer(item: any): MemoryStore {\n return {\n object: item[\"object\"],\n id: item[\"id\"],\n created_at: new Date(item[\"created_at\"] * 1000),\n updated_at: new Date(item[\"updated_at\"] * 1000),\n name: item[\"name\"],\n description: item[\"description\"],\n metadata: item[\"metadata\"],\n definition: memoryStoreDefinitionUnionDeserializer(item[\"definition\"]),\n };\n}\n\n/** The response data for a requested list of items. */\nexport interface _AgentsPagedResultMemoryStoreObject {\n /** The requested list of items. */\n data: MemoryStore[];\n /** The first ID represented in this list. */\n first_id?: string;\n /** The last ID represented in this list. */\n last_id?: string;\n /** A value indicating whether there are additional values available not captured in this list. */\n has_more: boolean;\n}\n\nexport function _agentsPagedResultMemoryStoreObjectDeserializer(\n item: any,\n): _AgentsPagedResultMemoryStoreObject {\n return {\n data: memoryStoreArrayDeserializer(item[\"data\"]),\n first_id: item[\"first_id\"],\n last_id: item[\"last_id\"],\n has_more: item[\"has_more\"],\n };\n}\n\nexport function memoryStoreArrayDeserializer(result: Array<MemoryStore>): any[] {\n return result.map((item) => {\n return memoryStoreDeserializer(item);\n });\n}\n\n/** model interface DeleteMemoryStoreResponse */\nexport interface DeleteMemoryStoreResponse {\n /** The object type. Always 'memory_store.deleted'. */\n object: \"memory_store.deleted\";\n /** The name of the memory store. */\n name: string;\n /** Whether the memory store was successfully deleted. */\n deleted: boolean;\n}\n\nexport function deleteMemoryStoreResponseDeserializer(item: any): DeleteMemoryStoreResponse {\n return {\n object: item[\"object\"],\n name: item[\"name\"],\n deleted: item[\"deleted\"],\n };\n}\n\n/** Memory search response. */\nexport interface MemoryStoreSearchResponse {\n /** The unique ID of this search request. Use this value as previous_search_id in subsequent requests to perform incremental searches. */\n search_id: string;\n /** Related memory items found during the search operation. */\n memories: MemorySearchItem[];\n /** Usage statistics associated with the memory search operation. */\n usage: MemoryStoreOperationUsage;\n}\n\nexport function memoryStoreSearchResponseDeserializer(item: any): MemoryStoreSearchResponse {\n return {\n search_id: item[\"search_id\"],\n memories: memorySearchItemArrayDeserializer(item[\"memories\"]),\n usage: memoryStoreOperationUsageDeserializer(item[\"usage\"]),\n };\n}\n\nexport function memorySearchItemArrayDeserializer(result: Array<MemorySearchItem>): any[] {\n return result.map((item) => {\n return memorySearchItemDeserializer(item);\n });\n}\n\n/** A retrieved memory item from memory search. */\nexport interface MemorySearchItem {\n /** Retrieved memory item. */\n memory_item: MemoryItemUnion;\n}\n\nexport function memorySearchItemDeserializer(item: any): MemorySearchItem {\n return {\n memory_item: memoryItemUnionDeserializer(item[\"memory_item\"]),\n };\n}\n\n/** A single memory item stored in the memory store, containing content and metadata. */\nexport interface MemoryItem {\n /** The unique ID of the memory item. */\n memory_id: string;\n /** The last update time of the memory item. */\n updated_at: Date;\n /** The namespace that logically groups and isolates memories, such as a user ID. */\n scope: string;\n /** The content of the memory. */\n content: string;\n /** The kind of the memory item. */\n /** The discriminator possible values: user_profile, chat_summary */\n kind: MemoryItemKind;\n}\n\nexport function memoryItemDeserializer(item: any): MemoryItem {\n return {\n memory_id: item[\"memory_id\"],\n updated_at: new Date(item[\"updated_at\"] * 1000),\n scope: item[\"scope\"],\n content: item[\"content\"],\n kind: item[\"kind\"],\n };\n}\n\n/** Alias for MemoryItemUnion */\nexport type MemoryItemUnion = UserProfileMemoryItem | ChatSummaryMemoryItem | MemoryItem;\n\nexport function memoryItemUnionDeserializer(item: any): MemoryItemUnion {\n switch (item.kind) {\n case \"user_profile\":\n return userProfileMemoryItemDeserializer(item as UserProfileMemoryItem);\n\n case \"chat_summary\":\n return chatSummaryMemoryItemDeserializer(item as ChatSummaryMemoryItem);\n\n default:\n return memoryItemDeserializer(item);\n }\n}\n\n/** Memory item kind. */\nexport type MemoryItemKind = \"user_profile\" | \"chat_summary\";\n\n/** A memory item specifically containing user profile information extracted from conversations, such as preferences, interests, and personal details. */\nexport interface UserProfileMemoryItem extends MemoryItem {\n /** The kind of the memory item. */\n kind: \"user_profile\";\n}\n\nexport function userProfileMemoryItemDeserializer(item: any): UserProfileMemoryItem {\n return {\n memory_id: item[\"memory_id\"],\n updated_at: new Date(item[\"updated_at\"] * 1000),\n scope: item[\"scope\"],\n content: item[\"content\"],\n kind: item[\"kind\"],\n };\n}\n\n/** A memory item containing a summary extracted from conversations. */\nexport interface ChatSummaryMemoryItem extends MemoryItem {\n /** The kind of the memory item. */\n kind: \"chat_summary\";\n}\n\nexport function chatSummaryMemoryItemDeserializer(item: any): ChatSummaryMemoryItem {\n return {\n memory_id: item[\"memory_id\"],\n updated_at: new Date(item[\"updated_at\"] * 1000),\n scope: item[\"scope\"],\n content: item[\"content\"],\n kind: item[\"kind\"],\n };\n}\n\n/** Usage statistics of a memory store operation. */\nexport interface MemoryStoreOperationUsage {\n /** The number of embedding tokens. */\n embedding_tokens: number;\n /** The number of input tokens. */\n input_tokens: number;\n /** A detailed breakdown of the input tokens. */\n input_tokens_details: ResponseUsageInputTokensDetails;\n /** The number of output tokens. */\n output_tokens: number;\n /** A detailed breakdown of the output tokens. */\n output_tokens_details: ResponseUsageOutputTokensDetails;\n /** The total number of tokens used. */\n total_tokens: number;\n}\n\nexport function memoryStoreOperationUsageDeserializer(item: any): MemoryStoreOperationUsage {\n return {\n embedding_tokens: item[\"embedding_tokens\"],\n input_tokens: item[\"input_tokens\"],\n input_tokens_details: responseUsageInputTokensDetailsDeserializer(item[\"input_tokens_details\"]),\n output_tokens: item[\"output_tokens\"],\n output_tokens_details: responseUsageOutputTokensDetailsDeserializer(\n item[\"output_tokens_details\"],\n ),\n total_tokens: item[\"total_tokens\"],\n };\n}\n\n/** model interface ResponseUsageInputTokensDetails */\nexport interface ResponseUsageInputTokensDetails {\n /** The number of cached input tokens used. */\n cached_tokens: number;\n}\n\nexport function responseUsageInputTokensDetailsDeserializer(\n item: any,\n): ResponseUsageInputTokensDetails {\n return {\n cached_tokens: item[\"cached_tokens\"],\n };\n}\n\n/** model interface ResponseUsageOutputTokensDetails */\nexport interface ResponseUsageOutputTokensDetails {\n /** The number of output tokens used for reasoning. */\n reasoning_tokens: number;\n}\n\nexport function responseUsageOutputTokensDetailsDeserializer(\n item: any,\n): ResponseUsageOutputTokensDetails {\n return {\n reasoning_tokens: item[\"reasoning_tokens\"],\n };\n}\n\n/** Provides the status of a memory store update operation. */\nexport interface MemoryStoreUpdateResponse {\n /** The unique ID of this update request. Use this value as previous_update_id in subsequent requests to perform incremental updates. */\n update_id: string;\n /** The status of the memory update operation. One of \"queued\", \"in_progress\", \"completed\", \"failed\", or \"superseded\". */\n status: MemoryStoreUpdateStatus;\n /** The update_id the operation was superseded by when status is \"superseded\". */\n superseded_by?: string;\n /** The result of memory store update operation when status is \"completed\". */\n result?: MemoryStoreUpdateCompletedResult;\n /** Error object that describes the error when status is \"failed\". */\n error?: ErrorModel;\n}\n\nexport function memoryStoreUpdateResponseDeserializer(item: any): MemoryStoreUpdateResponse {\n return {\n update_id: item[\"update_id\"],\n status: item[\"status\"],\n superseded_by: item[\"superseded_by\"],\n result: !item[\"result\"]\n ? item[\"result\"]\n : memoryStoreUpdateCompletedResultDeserializer(item[\"result\"]),\n error: !item[\"error\"] ? item[\"error\"] : errorDeserializer(item[\"error\"]),\n };\n}\n\n/** Status of a memory store update operation. */\nexport type MemoryStoreUpdateStatus =\n | \"queued\"\n | \"in_progress\"\n | \"completed\"\n | \"failed\"\n | \"superseded\";\n\n/** Memory update result. */\nexport interface MemoryStoreUpdateCompletedResult {\n /** A list of individual memory operations that were performed during the update. */\n memory_operations: MemoryOperation[];\n /** Usage statistics associated with the memory update operation. */\n usage: MemoryStoreOperationUsage;\n}\n\nexport function memoryStoreUpdateCompletedResultDeserializer(\n item: any,\n): MemoryStoreUpdateCompletedResult {\n return {\n memory_operations: memoryOperationArrayDeserializer(item[\"memory_operations\"]),\n usage: memoryStoreOperationUsageDeserializer(item[\"usage\"]),\n };\n}\n\nexport function memoryOperationArrayDeserializer(result: Array<MemoryOperation>): any[] {\n return result.map((item) => {\n return memoryOperationDeserializer(item);\n });\n}\n\n/** Represents a single memory operation (create, update, or delete) performed on a memory item. */\nexport interface MemoryOperation {\n /** The type of memory operation being performed. */\n kind: MemoryOperationKind;\n /** The memory item to create, update, or delete. */\n memory_item: MemoryItemUnion;\n}\n\nexport function memoryOperationDeserializer(item: any): MemoryOperation {\n return {\n kind: item[\"kind\"],\n memory_item: memoryItemUnionDeserializer(item[\"memory_item\"]),\n };\n}\n\n/** Memory operation kind. */\nexport type MemoryOperationKind = \"create\" | \"update\" | \"delete\";\n\n/** Response for deleting memories from a scope. */\nexport interface MemoryStoreDeleteScopeResponse {\n /** The object type. Always 'memory_store.scope.deleted'. */\n object: \"memory_store.scope.deleted\";\n /** The name of the memory store. */\n name: string;\n /** The scope from which memories were deleted. */\n scope: string;\n /** Whether the deletion operation was successful. */\n deleted: boolean;\n}\n\nexport function memoryStoreDeleteScopeResponseDeserializer(\n item: any,\n): MemoryStoreDeleteScopeResponse {\n return {\n object: item[\"object\"],\n name: item[\"name\"],\n scope: item[\"scope\"],\n deleted: item[\"deleted\"],\n };\n}\n\n/** Red team details. */\nexport interface RedTeam {\n /** Identifier of the red team run. */\n readonly name: string;\n /** Name of the red-team run. */\n displayName?: string;\n /** Number of simulation rounds. */\n numTurns?: number;\n /** List of attack strategies or nested lists of attack strategies. */\n attackStrategies?: AttackStrategy[];\n /** Simulation-only or Simulation + Evaluation. Default false, if true the scan outputs conversation not evaluation result. */\n simulationOnly?: boolean;\n /** List of risk categories to generate attack objectives for. */\n riskCategories?: RiskCategory[];\n /** Application scenario for the red team operation, to generate scenario specific attacks. */\n applicationScenario?: string;\n /** Red team's tags. Unlike properties, tags are fully mutable. */\n tags?: Record<string, string>;\n /** Red team's properties. Unlike tags, properties are add-only. Once added, a property cannot be removed. */\n properties?: Record<string, string>;\n /** Status of the red-team. It is set by service and is read-only. */\n readonly status?: string;\n /** Target configuration for the red-team run. */\n target?: TargetConfigUnion;\n}\n\nexport function redTeamSerializer(item: RedTeam): any {\n return {\n displayName: item[\"displayName\"],\n numTurns: item[\"numTurns\"],\n attackStrategies: item[\"attackStrategies\"],\n simulationOnly: item[\"simulationOnly\"],\n riskCategories: item[\"riskCategories\"],\n applicationScenario: item[\"applicationScenario\"],\n tags: item[\"tags\"],\n properties: item[\"properties\"],\n target: item[\"target\"] ? targetConfigUnionSerializer(item[\"target\"]) : undefined,\n };\n}\n\nexport function redTeamDeserializer(item: any): RedTeam {\n return {\n name: item[\"id\"],\n displayName: item[\"displayName\"],\n numTurns: item[\"numTurns\"],\n attackStrategies: item[\"attackStrategies\"],\n simulationOnly: item[\"simulationOnly\"],\n riskCategories: item[\"riskCategories\"],\n applicationScenario: item[\"applicationScenario\"],\n tags: item[\"tags\"],\n properties: item[\"properties\"],\n status: item[\"status\"],\n target: item[\"target\"] ? targetConfigUnionDeserializer(item[\"target\"]) : undefined,\n };\n}\n\n/** Strategies for attacks. */\nexport type AttackStrategy =\n | \"easy\"\n | \"moderate\"\n | \"difficult\"\n | \"ascii_art\"\n | \"ascii_smuggler\"\n | \"atbash\"\n | \"base64\"\n | \"binary\"\n | \"caesar\"\n | \"character_space\"\n | \"jailbreak\"\n | \"ansi_attack\"\n | \"character_swap\"\n | \"suffix_append\"\n | \"string_join\"\n | \"unicode_confusable\"\n | \"unicode_substitution\"\n | \"diacritic\"\n | \"flip\"\n | \"leetspeak\"\n | \"rot13\"\n | \"morse\"\n | \"url\"\n | \"baseline\"\n | \"indirect_jailbreak\"\n | \"tense\"\n | \"multi_turn\"\n | \"crescendo\";\n\n/** Abstract class for target configuration. */\nexport interface TargetConfig {\n /** Type of the model configuration. */\n /** The discriminator possible values: AzureOpenAIModel */\n type: string;\n}\n\nexport function targetConfigSerializer(item: TargetConfig): any {\n return { type: item[\"type\"] };\n}\n\nexport function targetConfigDeserializer(item: any): TargetConfig {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for TargetConfigUnion */\nexport type TargetConfigUnion = AzureOpenAIModelConfiguration | TargetConfig;\n\nexport function targetConfigUnionSerializer(item: TargetConfigUnion): any {\n switch (item.type) {\n case \"AzureOpenAIModel\":\n return azureOpenAIModelConfigurationSerializer(item as AzureOpenAIModelConfiguration);\n\n default:\n return targetConfigSerializer(item);\n }\n}\n\nexport function targetConfigUnionDeserializer(item: any): TargetConfigUnion {\n switch (item.type) {\n case \"AzureOpenAIModel\":\n return azureOpenAIModelConfigurationDeserializer(item as AzureOpenAIModelConfiguration);\n\n default:\n return targetConfigDeserializer(item);\n }\n}\n\n/** Azure OpenAI model configuration. The API version would be selected by the service for querying the model. */\nexport interface AzureOpenAIModelConfiguration extends TargetConfig {\n /** The type discriminator, always 'azure_openai'. */\n type: \"AzureOpenAIModel\";\n /** Deployment name for AOAI model. Example: gpt-4o if in AIServices or connection based `connection_name/deployment_name` (e.g. `my-aoai-connection/gpt-4o`). */\n modelDeploymentName: string;\n}\n\nexport function azureOpenAIModelConfigurationSerializer(item: AzureOpenAIModelConfiguration): any {\n return { type: item[\"type\"], modelDeploymentName: item[\"modelDeploymentName\"] };\n}\n\nexport function azureOpenAIModelConfigurationDeserializer(\n item: any,\n): AzureOpenAIModelConfiguration {\n return {\n type: item[\"type\"],\n modelDeploymentName: item[\"modelDeploymentName\"],\n };\n}\n\n/** Paged collection of RedTeam items */\nexport interface _PagedRedTeam {\n /** The RedTeam items on this page */\n value: RedTeam[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _pagedRedTeamDeserializer(item: any): _PagedRedTeam {\n return {\n value: redTeamArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function redTeamArraySerializer(result: Array<RedTeam>): any[] {\n return result.map((item) => {\n return redTeamSerializer(item);\n });\n}\n\nexport function redTeamArrayDeserializer(result: Array<RedTeam>): any[] {\n return result.map((item) => {\n return redTeamDeserializer(item);\n });\n}\n\n/** Schedule model. */\nexport interface Schedule {\n /** Identifier of the schedule. */\n readonly id?: string;\n /** Name of the schedule. */\n displayName?: string;\n /** Description of the schedule. */\n description?: string;\n /** Enabled status of the schedule. */\n enabled: boolean;\n /** Provisioning status of the schedule. */\n readonly provisioningStatus?: ScheduleProvisioningStatus;\n /** Trigger for the schedule. */\n trigger: TriggerUnion;\n /** Task for the schedule. */\n task: ScheduleTaskUnion;\n /** Schedule's tags. Unlike properties, tags are fully mutable. */\n tags?: Record<string, string>;\n /** Schedule's properties. Unlike tags, properties are add-only. Once added, a property cannot be removed. */\n properties?: Record<string, string>;\n /** System metadata for the resource. */\n readonly systemData?: Record<string, string>;\n}\n\nexport function scheduleSerializer(item: Schedule): any {\n return {\n displayName: item[\"displayName\"],\n description: item[\"description\"],\n enabled: item[\"enabled\"],\n trigger: triggerUnionSerializer(item[\"trigger\"]),\n task: scheduleTaskUnionSerializer(item[\"task\"]),\n tags: item[\"tags\"],\n properties: item[\"properties\"],\n };\n}\n\nexport function scheduleDeserializer(item: any): Schedule {\n return {\n id: item[\"id\"],\n displayName: item[\"displayName\"],\n description: item[\"description\"],\n enabled: item[\"enabled\"],\n provisioningStatus: item[\"provisioningStatus\"],\n trigger: triggerUnionDeserializer(item[\"trigger\"]),\n task: scheduleTaskUnionDeserializer(item[\"task\"]),\n tags: item[\"tags\"],\n properties: item[\"properties\"],\n systemData: item[\"systemData\"],\n };\n}\n\n/** Schedule provisioning status. */\nexport type ScheduleProvisioningStatus =\n | \"Creating\"\n | \"Updating\"\n | \"Deleting\"\n | \"Succeeded\"\n | \"Failed\";\n\n/** Base model for Trigger of the schedule. */\nexport interface Trigger {\n /** Type of the trigger. */\n /** The discriminator possible values: Cron, Recurrence, OneTime */\n type: TriggerType;\n}\n\nexport function triggerSerializer(item: Trigger): any {\n return { type: item[\"type\"] };\n}\n\nexport function triggerDeserializer(item: any): Trigger {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for TriggerUnion */\nexport type TriggerUnion = CronTrigger | RecurrenceTrigger | OneTimeTrigger | Trigger;\n\nexport function triggerUnionSerializer(item: TriggerUnion): any {\n switch (item.type) {\n case \"Cron\":\n return cronTriggerSerializer(item as CronTrigger);\n\n case \"Recurrence\":\n return recurrenceTriggerSerializer(item as RecurrenceTrigger);\n\n case \"OneTime\":\n return oneTimeTriggerSerializer(item as OneTimeTrigger);\n\n default:\n return triggerSerializer(item);\n }\n}\n\nexport function triggerUnionDeserializer(item: any): TriggerUnion {\n switch (item.type) {\n case \"Cron\":\n return cronTriggerDeserializer(item as CronTrigger);\n\n case \"Recurrence\":\n return recurrenceTriggerDeserializer(item as RecurrenceTrigger);\n\n case \"OneTime\":\n return oneTimeTriggerDeserializer(item as OneTimeTrigger);\n\n default:\n return triggerDeserializer(item);\n }\n}\n\n/** Type of the trigger. */\nexport type TriggerType = \"Cron\" | \"Recurrence\" | \"OneTime\";\n\n/** Cron based trigger. */\nexport interface CronTrigger extends Trigger {\n /** The type discriminator, always 'Cron'. */\n type: \"Cron\";\n /** Cron expression that defines the schedule frequency. */\n expression: string;\n /** Time zone for the cron schedule. */\n timeZone?: string;\n /** Start time for the cron schedule in ISO 8601 format. */\n startTime?: string;\n /** End time for the cron schedule in ISO 8601 format. */\n endTime?: string;\n}\n\nexport function cronTriggerSerializer(item: CronTrigger): any {\n return {\n type: item[\"type\"],\n expression: item[\"expression\"],\n timeZone: item[\"timeZone\"],\n startTime: item[\"startTime\"],\n endTime: item[\"endTime\"],\n };\n}\n\nexport function cronTriggerDeserializer(item: any): CronTrigger {\n return {\n type: item[\"type\"],\n expression: item[\"expression\"],\n timeZone: item[\"timeZone\"],\n startTime: item[\"startTime\"],\n endTime: item[\"endTime\"],\n };\n}\n\n/** Recurrence based trigger. */\nexport interface RecurrenceTrigger extends Trigger {\n /** Type of the trigger. */\n type: \"Recurrence\";\n /** Start time for the recurrence schedule in ISO 8601 format. */\n startTime?: string;\n /** End time for the recurrence schedule in ISO 8601 format. */\n endTime?: string;\n /** Time zone for the recurrence schedule. */\n timeZone?: string;\n /** Interval for the recurrence schedule. */\n interval: number;\n /** Recurrence schedule for the recurrence trigger. */\n schedule: RecurrenceScheduleUnion;\n}\n\nexport function recurrenceTriggerSerializer(item: RecurrenceTrigger): any {\n return {\n type: item[\"type\"],\n startTime: item[\"startTime\"],\n endTime: item[\"endTime\"],\n timeZone: item[\"timeZone\"],\n interval: item[\"interval\"],\n schedule: recurrenceScheduleUnionSerializer(item[\"schedule\"]),\n };\n}\n\nexport function recurrenceTriggerDeserializer(item: any): RecurrenceTrigger {\n return {\n type: item[\"type\"],\n startTime: item[\"startTime\"],\n endTime: item[\"endTime\"],\n timeZone: item[\"timeZone\"],\n interval: item[\"interval\"],\n schedule: recurrenceScheduleUnionDeserializer(item[\"schedule\"]),\n };\n}\n\n/** Recurrence schedule model. */\nexport interface RecurrenceSchedule {\n /** Recurrence type for the recurrence schedule. */\n /** The discriminator possible values: Hourly, Daily, Weekly, Monthly */\n type: RecurrenceType;\n}\n\nexport function recurrenceScheduleSerializer(item: RecurrenceSchedule): any {\n return { type: item[\"type\"] };\n}\n\nexport function recurrenceScheduleDeserializer(item: any): RecurrenceSchedule {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Alias for RecurrenceScheduleUnion */\nexport type RecurrenceScheduleUnion =\n | HourlyRecurrenceSchedule\n | DailyRecurrenceSchedule\n | WeeklyRecurrenceSchedule\n | MonthlyRecurrenceSchedule\n | RecurrenceSchedule;\n\nexport function recurrenceScheduleUnionSerializer(item: RecurrenceScheduleUnion): any {\n switch (item.type) {\n case \"Hourly\":\n return hourlyRecurrenceScheduleSerializer(item as HourlyRecurrenceSchedule);\n\n case \"Daily\":\n return dailyRecurrenceScheduleSerializer(item as DailyRecurrenceSchedule);\n\n case \"Weekly\":\n return weeklyRecurrenceScheduleSerializer(item as WeeklyRecurrenceSchedule);\n\n case \"Monthly\":\n return monthlyRecurrenceScheduleSerializer(item as MonthlyRecurrenceSchedule);\n\n default:\n return recurrenceScheduleSerializer(item);\n }\n}\n\nexport function recurrenceScheduleUnionDeserializer(item: any): RecurrenceScheduleUnion {\n switch (item.type) {\n case \"Hourly\":\n return hourlyRecurrenceScheduleDeserializer(item as HourlyRecurrenceSchedule);\n\n case \"Daily\":\n return dailyRecurrenceScheduleDeserializer(item as DailyRecurrenceSchedule);\n\n case \"Weekly\":\n return weeklyRecurrenceScheduleDeserializer(item as WeeklyRecurrenceSchedule);\n\n case \"Monthly\":\n return monthlyRecurrenceScheduleDeserializer(item as MonthlyRecurrenceSchedule);\n\n default:\n return recurrenceScheduleDeserializer(item);\n }\n}\n\n/** Recurrence type. */\nexport type RecurrenceType = \"Hourly\" | \"Daily\" | \"Weekly\" | \"Monthly\";\n\n/** Hourly recurrence schedule. */\nexport interface HourlyRecurrenceSchedule extends RecurrenceSchedule {\n /** The type discriminator, always 'HourlyRecurrence'. */\n type: \"Hourly\";\n}\n\nexport function hourlyRecurrenceScheduleSerializer(item: HourlyRecurrenceSchedule): any {\n return { type: item[\"type\"] };\n}\n\nexport function hourlyRecurrenceScheduleDeserializer(item: any): HourlyRecurrenceSchedule {\n return {\n type: item[\"type\"],\n };\n}\n\n/** Daily recurrence schedule. */\nexport interface DailyRecurrenceSchedule extends RecurrenceSchedule {\n /** Daily recurrence type. */\n type: \"Daily\";\n /** Hours for the recurrence schedule. */\n hours: number[];\n}\n\nexport function dailyRecurrenceScheduleSerializer(item: DailyRecurrenceSchedule): any {\n return {\n type: item[\"type\"],\n hours: item[\"hours\"],\n };\n}\n\nexport function dailyRecurrenceScheduleDeserializer(item: any): DailyRecurrenceSchedule {\n return {\n type: item[\"type\"],\n hours: item[\"hours\"],\n };\n}\n\n/** Weekly recurrence schedule. */\nexport interface WeeklyRecurrenceSchedule extends RecurrenceSchedule {\n /** Weekly recurrence type. */\n type: \"Weekly\";\n /** Days of the week for the recurrence schedule. */\n daysOfWeek: DayOfWeek[];\n}\n\nexport function weeklyRecurrenceScheduleSerializer(item: WeeklyRecurrenceSchedule): any {\n return {\n type: item[\"type\"],\n daysOfWeek: item[\"daysOfWeek\"],\n };\n}\n\nexport function weeklyRecurrenceScheduleDeserializer(item: any): WeeklyRecurrenceSchedule {\n return {\n type: item[\"type\"],\n daysOfWeek: item[\"daysOfWeek\"],\n };\n}\n\n/** Days of the week for recurrence schedule. */\nexport type DayOfWeek =\n | \"Sunday\"\n | \"Monday\"\n | \"Tuesday\"\n | \"Wednesday\"\n | \"Thursday\"\n | \"Friday\"\n | \"Saturday\";\n\n/** Monthly recurrence schedule. */\nexport interface MonthlyRecurrenceSchedule extends RecurrenceSchedule {\n /** Monthly recurrence type. */\n type: \"Monthly\";\n /** Days of the month for the recurrence schedule. */\n daysOfMonth: number[];\n}\n\nexport function monthlyRecurrenceScheduleSerializer(item: MonthlyRecurrenceSchedule): any {\n return {\n type: item[\"type\"],\n daysOfMonth: item[\"daysOfMonth\"],\n };\n}\n\nexport function monthlyRecurrenceScheduleDeserializer(item: any): MonthlyRecurrenceSchedule {\n return {\n type: item[\"type\"],\n daysOfMonth: item[\"daysOfMonth\"],\n };\n}\n\n/** One-time trigger. */\nexport interface OneTimeTrigger extends Trigger {\n /** The type discriminator, always 'OneTime'. */\n type: \"OneTime\";\n /** Date and time for the one-time trigger in ISO 8601 format. */\n triggerAt: string;\n /** Time zone for the one-time trigger. */\n timeZone?: string;\n}\n\nexport function oneTimeTriggerSerializer(item: OneTimeTrigger): any {\n return { type: item[\"type\"], triggerAt: item[\"triggerAt\"], timeZone: item[\"timeZone\"] };\n}\n\nexport function oneTimeTriggerDeserializer(item: any): OneTimeTrigger {\n return {\n type: item[\"type\"],\n triggerAt: item[\"triggerAt\"],\n timeZone: item[\"timeZone\"],\n };\n}\n\n/** Schedule task model. */\nexport interface ScheduleTask {\n /** Type of the task. */\n /** The discriminator possible values: Evaluation, Insight */\n type: ScheduleTaskType;\n /** Configuration for the task. */\n configuration?: Record<string, string>;\n}\n\nexport function scheduleTaskSerializer(item: ScheduleTask): any {\n return { type: item[\"type\"], configuration: item[\"configuration\"] };\n}\n\nexport function scheduleTaskDeserializer(item: any): ScheduleTask {\n return {\n type: item[\"type\"],\n configuration: item[\"configuration\"],\n };\n}\n\n/** Alias for ScheduleTaskUnion */\nexport type ScheduleTaskUnion = EvaluationScheduleTask | InsightScheduleTask | ScheduleTask;\n\nexport function scheduleTaskUnionSerializer(item: ScheduleTaskUnion): any {\n switch (item.type) {\n case \"Evaluation\":\n return evaluationScheduleTaskSerializer(item as EvaluationScheduleTask);\n\n case \"Insight\":\n return insightScheduleTaskSerializer(item as InsightScheduleTask);\n\n default:\n return scheduleTaskSerializer(item);\n }\n}\n\nexport function scheduleTaskUnionDeserializer(item: any): ScheduleTaskUnion {\n switch (item.type) {\n case \"Evaluation\":\n return evaluationScheduleTaskDeserializer(item as EvaluationScheduleTask);\n\n case \"Insight\":\n return insightScheduleTaskDeserializer(item as InsightScheduleTask);\n\n default:\n return scheduleTaskDeserializer(item);\n }\n}\n\n/** Type of the task. */\nexport type ScheduleTaskType = \"Evaluation\" | \"Insight\";\n\n/** Evaluation task for the schedule. */\nexport interface EvaluationScheduleTask extends ScheduleTask {\n /** Type of the task, which is always 'Evaluation'. */\n type: \"Evaluation\";\n /** Identifier of the evaluation group. */\n evalId: string;\n /** The evaluation run payload. */\n evalRun: Record<string, unknown>;\n}\n\nexport function evaluationScheduleTaskSerializer(item: EvaluationScheduleTask): any {\n return {\n type: item[\"type\"],\n configuration: item[\"configuration\"],\n evalId: item[\"evalId\"],\n evalRun: _evaluationScheduleTaskEvalRunSerializer(item[\"evalRun\"]),\n };\n}\n\nexport function evaluationScheduleTaskDeserializer(item: any): EvaluationScheduleTask {\n return {\n type: item[\"type\"],\n configuration: item[\"configuration\"],\n evalId: item[\"evalId\"],\n evalRun: _evaluationScheduleTaskEvalRunDeserializer(item[\"evalRun\"]),\n };\n}\n\n/** model interface _EvaluationScheduleTaskEvalRun */\nexport interface _EvaluationScheduleTaskEvalRun {\n [key: string]: unknown;\n}\n\nexport function _evaluationScheduleTaskEvalRunSerializer(\n item: _EvaluationScheduleTaskEvalRun,\n): any {\n return item;\n}\n\nexport function _evaluationScheduleTaskEvalRunDeserializer(\n item: any,\n): _EvaluationScheduleTaskEvalRun {\n return item;\n}\n\n/** Insight task for the schedule. */\nexport interface InsightScheduleTask extends ScheduleTask {\n /** Type of the task, which is always 'Insight'. */\n type: \"Insight\";\n /** The insight payload. */\n insight: Insight;\n}\n\nexport function insightScheduleTaskSerializer(item: InsightScheduleTask): any {\n return {\n type: item[\"type\"],\n configuration: item[\"configuration\"],\n insight: insightSerializer(item[\"insight\"]),\n };\n}\n\nexport function insightScheduleTaskDeserializer(item: any): InsightScheduleTask {\n return {\n type: item[\"type\"],\n configuration: item[\"configuration\"],\n insight: insightDeserializer(item[\"insight\"]),\n };\n}\n\n/** Paged collection of Schedule items */\nexport interface _PagedSchedule {\n /** The Schedule items on this page */\n value: Schedule[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _pagedScheduleDeserializer(item: any): _PagedSchedule {\n return {\n value: scheduleArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function scheduleArraySerializer(result: Array<Schedule>): any[] {\n return result.map((item) => {\n return scheduleSerializer(item);\n });\n}\n\nexport function scheduleArrayDeserializer(result: Array<Schedule>): any[] {\n return result.map((item) => {\n return scheduleDeserializer(item);\n });\n}\n\n/** Schedule run model. */\nexport interface ScheduleRun {\n /** Identifier of the schedule run. */\n readonly runId: string;\n /** Identifier of the schedule. */\n scheduleId: string;\n /** Trigger success status of the schedule run. */\n readonly success: boolean;\n /** Trigger time of the schedule run. */\n triggerTime?: string;\n /** Error information for the schedule run. */\n readonly error?: string;\n /** Properties of the schedule run. */\n readonly properties: Record<string, string>;\n}\n\nexport function scheduleRunDeserializer(item: any): ScheduleRun {\n return {\n runId: item[\"id\"],\n scheduleId: item[\"scheduleId\"],\n success: item[\"success\"],\n triggerTime: item[\"triggerTime\"],\n error: item[\"error\"],\n properties: item[\"properties\"],\n };\n}\n\n/** Paged collection of ScheduleRun items */\nexport interface _PagedScheduleRun {\n /** The ScheduleRun items on this page */\n value: ScheduleRun[];\n /** The link to the next page of items */\n nextLink?: string;\n}\n\nexport function _pagedScheduleRunDeserializer(item: any): _PagedScheduleRun {\n return {\n value: scheduleRunArrayDeserializer(item[\"value\"]),\n nextLink: item[\"nextLink\"],\n };\n}\n\nexport function scheduleRunArrayDeserializer(result: Array<ScheduleRun>): any[] {\n return result.map((item) => {\n return scheduleRunDeserializer(item);\n });\n}\n\n/** Alias for _CreateAgentRequestFoundryFeatures */\nexport type _CreateAgentRequestFoundryFeatures =\n | \"HostedAgents=V1Preview\"\n | \"WorkflowAgents=V1Preview\";\n\nexport function _createAgentRequestFoundryFeaturesSerializer(\n item: _CreateAgentRequestFoundryFeatures,\n): any {\n return item;\n}\n\n/** Alias for _UpdateAgentRequestFoundryFeatures */\nexport type _UpdateAgentRequestFoundryFeatures =\n | \"HostedAgents=V1Preview\"\n | \"WorkflowAgents=V1Preview\";\n\nexport function _updateAgentRequestFoundryFeaturesSerializer(\n item: _UpdateAgentRequestFoundryFeatures,\n): any {\n return item;\n}\n\n/** Alias for _CreateAgentVersionRequestFoundryFeatures */\nexport type _CreateAgentVersionRequestFoundryFeatures =\n | \"HostedAgents=V1Preview\"\n | \"WorkflowAgents=V1Preview\";\n\nexport function _createAgentVersionRequestFoundryFeaturesSerializer(\n item: _CreateAgentVersionRequestFoundryFeatures,\n): any {\n return item;\n}\n\n/** Alias for _ListVersionsRequestType */\nexport type _ListVersionsRequestType = EvaluatorType | \"all\";\n\nexport function _listVersionsRequestTypeSerializer(item: _ListVersionsRequestType): any {\n return item;\n}\n\n/** Type of AgentType */\nexport type AgentType =\n | \"agent\"\n | \"agent.version\"\n | \"agent.deleted\"\n | \"agent.version.deleted\"\n | \"agent.container\";\n\n/** Feature opt-in keys for agent definition operations supporting hosted or workflow agents. */\nexport type AgentDefinitionOptInKeys = \"HostedAgents=V1Preview\" | \"WorkflowAgents=V1Preview\";\n\n/** Type of FoundryFeaturesOptInKeys */\nexport type FoundryFeaturesOptInKeys =\n | \"Evaluations=V1Preview\"\n | \"Schedules=V1Preview\"\n | \"RedTeams=V1Preview\"\n | \"Insights=V1Preview\"\n | \"MemoryStores=V1Preview\";\n/** Type of PageOrder */\nexport type PageOrder = \"asc\" | \"desc\";\n/** The type of pending upload. */\nexport type PendingUploadType = \"None\" | \"BlobReference\";\n/** Type of MemoryStoreType */\nexport type MemoryStoreType =\n | \"memory_store\"\n | \"memory_store.deleted\"\n | \"memory_store.scope.deleted\";\n\n/** Microsoft Foundry API versions */\nexport enum KnownApiVersions {\n /** Microsoft Foundry API version v1. */\n v1 = \"v1\",\n}\n"]}
|