@sap-ai-sdk/prompt-registry
Version:
SAP Cloud SDK for AI is the official Software Development Kit (SDK) for **SAP AI Core**, **SAP Generative AI Hub**, and **Orchestration Service**.
3,393 lines • 442 kB
JavaScript
/**
* Generated by orval 🍺
* Do not edit manually.
* Prompt Registry API
* Prompt Storage service for Design time & Runtime prompt templates.
* OpenAPI spec version: 0.0.1
*/
import * as zod from 'zod';
/**
* Create or update a prompt template
*/
export const RegistryControllerPromptControllerCreateUpdatePromptTemplateHeader = zod.object({
"AI-Resource-Group": zod.string().optional().describe('Specify a resource group id to use'),
"AI-Resource-Group-Scope": zod.enum(['true', 'True', 'false', 'False']).optional().describe('Specify whether the resource group scope is to be used')
});
export const registryControllerPromptControllerCreateUpdatePromptTemplateBodyNameMax = 120;
export const registryControllerPromptControllerCreateUpdatePromptTemplateBodyNameRegExp = new RegExp('^[a-zA-Z0-9_-]+$');
export const registryControllerPromptControllerCreateUpdatePromptTemplateBodyVersionMax = 10;
export const registryControllerPromptControllerCreateUpdatePromptTemplateBodyVersionRegExp = new RegExp('^[a-zA-Z0-9._-]+$');
export const registryControllerPromptControllerCreateUpdatePromptTemplateBodyScenarioMax = 120;
export const registryControllerPromptControllerCreateUpdatePromptTemplateBodyScenarioRegExp = new RegExp('^[a-zA-Z0-9_-]+$');
export const registryControllerPromptControllerCreateUpdatePromptTemplateBodySpecTemplateItemTwoContentItemOneImageUrlDetailDefault = `auto`;
export const registryControllerPromptControllerCreateUpdatePromptTemplateBodySpecResponseFormatThreeJsonSchemaNameMax = 64;
export const registryControllerPromptControllerCreateUpdatePromptTemplateBodySpecResponseFormatThreeJsonSchemaNameRegExp = new RegExp('^[a-zA-Z0-9-_]+$');
export const registryControllerPromptControllerCreateUpdatePromptTemplateBodySpecResponseFormatThreeJsonSchemaStrictDefault = false;
export const registryControllerPromptControllerCreateUpdatePromptTemplateBodySpecToolsItemFunctionNameMax = 64;
export const registryControllerPromptControllerCreateUpdatePromptTemplateBodySpecToolsItemFunctionNameRegExp = new RegExp('^[a-zA-Z0-9-_]+$');
export const registryControllerPromptControllerCreateUpdatePromptTemplateBodySpecToolsItemFunctionStrictDefault = false;
export const RegistryControllerPromptControllerCreateUpdatePromptTemplateBody = zod.object({
"name": zod.string().max(registryControllerPromptControllerCreateUpdatePromptTemplateBodyNameMax).regex(registryControllerPromptControllerCreateUpdatePromptTemplateBodyNameRegExp),
"version": zod.string().max(registryControllerPromptControllerCreateUpdatePromptTemplateBodyVersionMax).regex(registryControllerPromptControllerCreateUpdatePromptTemplateBodyVersionRegExp),
"scenario": zod.string().max(registryControllerPromptControllerCreateUpdatePromptTemplateBodyScenarioMax).regex(registryControllerPromptControllerCreateUpdatePromptTemplateBodyScenarioRegExp),
"spec": zod.object({
"template": zod.array(zod.union([zod.object({
"role": zod.string(),
"content": zod.string()
}), zod.object({
"role": zod.string(),
"content": zod.array(zod.union([zod.object({
"type": zod.enum(['image_url']),
"image_url": zod.object({
"url": zod.string(),
"detail": zod.string().default(registryControllerPromptControllerCreateUpdatePromptTemplateBodySpecTemplateItemTwoContentItemOneImageUrlDetailDefault)
})
}), zod.object({
"type": zod.enum(['text']),
"text": zod.string()
})]))
})])),
"defaults": zod.looseObject({}).optional(),
"additionalFields": zod.looseObject({}).optional().describe('DEPRECATED. Please use additional_fields instead.\n'),
"response_format": zod.union([zod.object({
"type": zod.enum(['text']).describe('The type of response format being defined: `text`')
}), zod.object({
"type": zod.enum(['json_object']).describe('The type of response format being defined: `json_object`')
}), zod.object({
"type": zod.enum(['json_schema']).describe('The type of response format being defined: `json_schema`'),
"json_schema": zod.object({
"description": zod.string().optional().describe('A description of what the response format is for, used by the model to determine how to respond in the format.'),
"name": zod.string().max(registryControllerPromptControllerCreateUpdatePromptTemplateBodySpecResponseFormatThreeJsonSchemaNameMax).regex(registryControllerPromptControllerCreateUpdatePromptTemplateBodySpecResponseFormatThreeJsonSchemaNameRegExp).describe('The name of the response format. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64.'),
"schema": zod.record(zod.string(), zod.unknown()).optional().describe('The schema for the response format, described as a JSON Schema object.'),
"strict": zod.boolean().nullish().default(registryControllerPromptControllerCreateUpdatePromptTemplateBodySpecResponseFormatThreeJsonSchemaStrictDefault).describe('Whether to enable strict schema adherence when generating the output. If set to true, the model will always follow the exact schema defined in the `schema` field. Only a subset of JSON Schema is supported when `strict` is `true`. To learn more, read the [Structured Outputs guide](https:\/\/platform.openai.com\/docs\/guides\/structured-outputs).')
})
})]).optional().describe('Response format that the model output should adhere to. This is the same as the OpenAI definition.\nCompatible with GPT-4o, GPT-4o mini, GPT-4 (Turbo) and all GPT-3.5 Turbo models newer than gpt-3.5-turbo-1106.\n'),
"tools": zod.array(zod.object({
"type": zod.enum(['function']).describe('The type of the tool. Currently, only `function` is supported.'),
"function": zod.object({
"description": zod.string().optional().describe('A description of what the function does, used by the model to choose when and how to call the function.'),
"name": zod.string().max(registryControllerPromptControllerCreateUpdatePromptTemplateBodySpecToolsItemFunctionNameMax).regex(registryControllerPromptControllerCreateUpdatePromptTemplateBodySpecToolsItemFunctionNameRegExp).describe('The name of the function to be called. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64.'),
"parameters": zod.record(zod.string(), zod.unknown()).optional().describe('The parameters the functions accepts, described as a JSON Schema object. See the [guide](https:\/\/platform.openai.com\/docs\/guides\/function-calling) for examples, and the [JSON Schema reference](https:\/\/json-schema.org\/understanding-json-schema\/) for documentation about the format. Omitting `parameters` defines a function with an empty parameter list.'),
"strict": zod.boolean().nullish().default(registryControllerPromptControllerCreateUpdatePromptTemplateBodySpecToolsItemFunctionStrictDefault).describe('Whether to enable strict schema adherence when generating the function call. If set to true, the model will follow the exact schema defined in the `parameters` field. Only a subset of JSON Schema is supported when `strict` is `true`. Learn more about Structured Outputs in the [function calling guide](docs\/guides\/function-calling).')
})
})).optional().describe('A list of tools the model may call. Used to provide a list of functions the model may generate JSON inputs for. This is the same as the OpenAI definition.\n')
})
});
export const RegistryControllerPromptControllerCreateUpdatePromptTemplateResponse = zod.object({
"message": zod.string(),
"id": zod.uuid(),
"scenario": zod.string(),
"name": zod.string(),
"version": zod.string()
});
/**
* List prompt templates
*/
export const registryControllerPromptControllerListPromptTemplatesQueryRetrieveDefault = `both`;
export const registryControllerPromptControllerListPromptTemplatesQueryIncludeSpecDefault = false;
export const registryControllerPromptControllerListPromptTemplatesQueryTopMax = 500;
export const registryControllerPromptControllerListPromptTemplatesQuerySkipDefault = 0;
export const registryControllerPromptControllerListPromptTemplatesQuerySkipMin = 0;
export const RegistryControllerPromptControllerListPromptTemplatesQueryParams = zod.object({
"scenario": zod.string().optional(),
"name": zod.string().optional(),
"version": zod.string().optional(),
"retrieve": zod.string().default(registryControllerPromptControllerListPromptTemplatesQueryRetrieveDefault),
"includeSpec": zod.boolean().default(registryControllerPromptControllerListPromptTemplatesQueryIncludeSpecDefault),
"$top": zod.int().min(1).max(registryControllerPromptControllerListPromptTemplatesQueryTopMax).optional().describe('Number of results to return (1–500). When omitted the full result set is returned (up to the server limit).'),
"$skip": zod.int().min(registryControllerPromptControllerListPromptTemplatesQuerySkipMin).default(registryControllerPromptControllerListPromptTemplatesQuerySkipDefault).describe('Number of results to skip before returning the page.')
});
export const RegistryControllerPromptControllerListPromptTemplatesHeader = zod.object({
"AI-Resource-Group": zod.string().optional().describe('Specify a resource group id to use'),
"AI-Resource-Group-Scope": zod.enum(['true', 'True', 'false', 'False']).optional().describe('Specify whether the resource group scope is to be used')
});
export const registryControllerPromptControllerListPromptTemplatesResponseResourcesItemSpecTemplateItemTwoContentItemOneImageUrlDetailDefault = `auto`;
export const registryControllerPromptControllerListPromptTemplatesResponseResourcesItemSpecResponseFormatThreeJsonSchemaNameMax = 64;
export const registryControllerPromptControllerListPromptTemplatesResponseResourcesItemSpecResponseFormatThreeJsonSchemaNameRegExp = new RegExp('^[a-zA-Z0-9-_]+$');
export const registryControllerPromptControllerListPromptTemplatesResponseResourcesItemSpecResponseFormatThreeJsonSchemaStrictDefault = false;
export const registryControllerPromptControllerListPromptTemplatesResponseResourcesItemSpecToolsItemFunctionNameMax = 64;
export const registryControllerPromptControllerListPromptTemplatesResponseResourcesItemSpecToolsItemFunctionNameRegExp = new RegExp('^[a-zA-Z0-9-_]+$');
export const registryControllerPromptControllerListPromptTemplatesResponseResourcesItemSpecToolsItemFunctionStrictDefault = false;
export const RegistryControllerPromptControllerListPromptTemplatesResponse = zod.object({
"count": zod.int(),
"resources": zod.array(zod.object({
"id": zod.uuid().optional(),
"name": zod.string().optional(),
"version": zod.string().optional(),
"scenario": zod.string().optional(),
"creationTimestamp": zod.string().optional(),
"managedBy": zod.string().optional(),
"isVersionHead": zod.boolean().optional(),
"resourceGroupId": zod.string().optional(),
"spec": zod.object({
"template": zod.array(zod.union([zod.object({
"role": zod.string(),
"content": zod.string()
}), zod.object({
"role": zod.string(),
"content": zod.array(zod.union([zod.object({
"type": zod.enum(['image_url']),
"image_url": zod.object({
"url": zod.string(),
"detail": zod.string().default(registryControllerPromptControllerListPromptTemplatesResponseResourcesItemSpecTemplateItemTwoContentItemOneImageUrlDetailDefault)
})
}), zod.object({
"type": zod.enum(['text']),
"text": zod.string()
})]))
})])),
"defaults": zod.looseObject({}).optional(),
"additionalFields": zod.looseObject({}).optional().describe('DEPRECATED. Please use additional_fields instead.\n'),
"response_format": zod.union([zod.object({
"type": zod.enum(['text']).describe('The type of response format being defined: `text`')
}), zod.object({
"type": zod.enum(['json_object']).describe('The type of response format being defined: `json_object`')
}), zod.object({
"type": zod.enum(['json_schema']).describe('The type of response format being defined: `json_schema`'),
"json_schema": zod.object({
"description": zod.string().optional().describe('A description of what the response format is for, used by the model to determine how to respond in the format.'),
"name": zod.string().max(registryControllerPromptControllerListPromptTemplatesResponseResourcesItemSpecResponseFormatThreeJsonSchemaNameMax).regex(registryControllerPromptControllerListPromptTemplatesResponseResourcesItemSpecResponseFormatThreeJsonSchemaNameRegExp).describe('The name of the response format. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64.'),
"schema": zod.record(zod.string(), zod.unknown()).optional().describe('The schema for the response format, described as a JSON Schema object.'),
"strict": zod.boolean().nullish().default(registryControllerPromptControllerListPromptTemplatesResponseResourcesItemSpecResponseFormatThreeJsonSchemaStrictDefault).describe('Whether to enable strict schema adherence when generating the output. If set to true, the model will always follow the exact schema defined in the `schema` field. Only a subset of JSON Schema is supported when `strict` is `true`. To learn more, read the [Structured Outputs guide](https:\/\/platform.openai.com\/docs\/guides\/structured-outputs).')
})
})]).optional().describe('Response format that the model output should adhere to. This is the same as the OpenAI definition.\nCompatible with GPT-4o, GPT-4o mini, GPT-4 (Turbo) and all GPT-3.5 Turbo models newer than gpt-3.5-turbo-1106.\n'),
"tools": zod.array(zod.object({
"type": zod.enum(['function']).describe('The type of the tool. Currently, only `function` is supported.'),
"function": zod.object({
"description": zod.string().optional().describe('A description of what the function does, used by the model to choose when and how to call the function.'),
"name": zod.string().max(registryControllerPromptControllerListPromptTemplatesResponseResourcesItemSpecToolsItemFunctionNameMax).regex(registryControllerPromptControllerListPromptTemplatesResponseResourcesItemSpecToolsItemFunctionNameRegExp).describe('The name of the function to be called. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64.'),
"parameters": zod.record(zod.string(), zod.unknown()).optional().describe('The parameters the functions accepts, described as a JSON Schema object. See the [guide](https:\/\/platform.openai.com\/docs\/guides\/function-calling) for examples, and the [JSON Schema reference](https:\/\/json-schema.org\/understanding-json-schema\/) for documentation about the format. Omitting `parameters` defines a function with an empty parameter list.'),
"strict": zod.boolean().nullish().default(registryControllerPromptControllerListPromptTemplatesResponseResourcesItemSpecToolsItemFunctionStrictDefault).describe('Whether to enable strict schema adherence when generating the function call. If set to true, the model will follow the exact schema defined in the `parameters` field. Only a subset of JSON Schema is supported when `strict` is `true`. Learn more about Structured Outputs in the [function calling guide](docs\/guides\/function-calling).')
})
})).optional().describe('A list of tools the model may call. Used to provide a list of functions the model may generate JSON inputs for. This is the same as the OpenAI definition.\n')
}).optional()
}))
});
/**
* List prompt template history
*/
export const RegistryControllerPromptControllerListPromptTemplateHistoryParams = zod.object({
"scenario": zod.string(),
"version": zod.string(),
"name": zod.string()
});
export const registryControllerPromptControllerListPromptTemplateHistoryQueryTopMax = 500;
export const registryControllerPromptControllerListPromptTemplateHistoryQuerySkipDefault = 0;
export const registryControllerPromptControllerListPromptTemplateHistoryQuerySkipMin = 0;
export const RegistryControllerPromptControllerListPromptTemplateHistoryQueryParams = zod.object({
"$top": zod.int().min(1).max(registryControllerPromptControllerListPromptTemplateHistoryQueryTopMax).optional().describe('Number of results to return (1–500). When omitted the full result set is returned (up to the server limit).'),
"$skip": zod.int().min(registryControllerPromptControllerListPromptTemplateHistoryQuerySkipMin).default(registryControllerPromptControllerListPromptTemplateHistoryQuerySkipDefault).describe('Number of results to skip before returning the page.')
});
export const RegistryControllerPromptControllerListPromptTemplateHistoryHeader = zod.object({
"AI-Resource-Group": zod.string().optional().describe('Specify a resource group id to use'),
"AI-Resource-Group-Scope": zod.enum(['true', 'True', 'false', 'False']).optional().describe('Specify whether the resource group scope is to be used')
});
export const registryControllerPromptControllerListPromptTemplateHistoryResponseResourcesItemSpecTemplateItemTwoContentItemOneImageUrlDetailDefault = `auto`;
export const registryControllerPromptControllerListPromptTemplateHistoryResponseResourcesItemSpecResponseFormatThreeJsonSchemaNameMax = 64;
export const registryControllerPromptControllerListPromptTemplateHistoryResponseResourcesItemSpecResponseFormatThreeJsonSchemaNameRegExp = new RegExp('^[a-zA-Z0-9-_]+$');
export const registryControllerPromptControllerListPromptTemplateHistoryResponseResourcesItemSpecResponseFormatThreeJsonSchemaStrictDefault = false;
export const registryControllerPromptControllerListPromptTemplateHistoryResponseResourcesItemSpecToolsItemFunctionNameMax = 64;
export const registryControllerPromptControllerListPromptTemplateHistoryResponseResourcesItemSpecToolsItemFunctionNameRegExp = new RegExp('^[a-zA-Z0-9-_]+$');
export const registryControllerPromptControllerListPromptTemplateHistoryResponseResourcesItemSpecToolsItemFunctionStrictDefault = false;
export const RegistryControllerPromptControllerListPromptTemplateHistoryResponse = zod.object({
"count": zod.int(),
"resources": zod.array(zod.object({
"id": zod.uuid().optional(),
"name": zod.string().optional(),
"version": zod.string().optional(),
"scenario": zod.string().optional(),
"creationTimestamp": zod.string().optional(),
"managedBy": zod.string().optional(),
"isVersionHead": zod.boolean().optional(),
"resourceGroupId": zod.string().optional(),
"spec": zod.object({
"template": zod.array(zod.union([zod.object({
"role": zod.string(),
"content": zod.string()
}), zod.object({
"role": zod.string(),
"content": zod.array(zod.union([zod.object({
"type": zod.enum(['image_url']),
"image_url": zod.object({
"url": zod.string(),
"detail": zod.string().default(registryControllerPromptControllerListPromptTemplateHistoryResponseResourcesItemSpecTemplateItemTwoContentItemOneImageUrlDetailDefault)
})
}), zod.object({
"type": zod.enum(['text']),
"text": zod.string()
})]))
})])),
"defaults": zod.looseObject({}).optional(),
"additionalFields": zod.looseObject({}).optional().describe('DEPRECATED. Please use additional_fields instead.\n'),
"response_format": zod.union([zod.object({
"type": zod.enum(['text']).describe('The type of response format being defined: `text`')
}), zod.object({
"type": zod.enum(['json_object']).describe('The type of response format being defined: `json_object`')
}), zod.object({
"type": zod.enum(['json_schema']).describe('The type of response format being defined: `json_schema`'),
"json_schema": zod.object({
"description": zod.string().optional().describe('A description of what the response format is for, used by the model to determine how to respond in the format.'),
"name": zod.string().max(registryControllerPromptControllerListPromptTemplateHistoryResponseResourcesItemSpecResponseFormatThreeJsonSchemaNameMax).regex(registryControllerPromptControllerListPromptTemplateHistoryResponseResourcesItemSpecResponseFormatThreeJsonSchemaNameRegExp).describe('The name of the response format. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64.'),
"schema": zod.record(zod.string(), zod.unknown()).optional().describe('The schema for the response format, described as a JSON Schema object.'),
"strict": zod.boolean().nullish().default(registryControllerPromptControllerListPromptTemplateHistoryResponseResourcesItemSpecResponseFormatThreeJsonSchemaStrictDefault).describe('Whether to enable strict schema adherence when generating the output. If set to true, the model will always follow the exact schema defined in the `schema` field. Only a subset of JSON Schema is supported when `strict` is `true`. To learn more, read the [Structured Outputs guide](https:\/\/platform.openai.com\/docs\/guides\/structured-outputs).')
})
})]).optional().describe('Response format that the model output should adhere to. This is the same as the OpenAI definition.\nCompatible with GPT-4o, GPT-4o mini, GPT-4 (Turbo) and all GPT-3.5 Turbo models newer than gpt-3.5-turbo-1106.\n'),
"tools": zod.array(zod.object({
"type": zod.enum(['function']).describe('The type of the tool. Currently, only `function` is supported.'),
"function": zod.object({
"description": zod.string().optional().describe('A description of what the function does, used by the model to choose when and how to call the function.'),
"name": zod.string().max(registryControllerPromptControllerListPromptTemplateHistoryResponseResourcesItemSpecToolsItemFunctionNameMax).regex(registryControllerPromptControllerListPromptTemplateHistoryResponseResourcesItemSpecToolsItemFunctionNameRegExp).describe('The name of the function to be called. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64.'),
"parameters": zod.record(zod.string(), zod.unknown()).optional().describe('The parameters the functions accepts, described as a JSON Schema object. See the [guide](https:\/\/platform.openai.com\/docs\/guides\/function-calling) for examples, and the [JSON Schema reference](https:\/\/json-schema.org\/understanding-json-schema\/) for documentation about the format. Omitting `parameters` defines a function with an empty parameter list.'),
"strict": zod.boolean().nullish().default(registryControllerPromptControllerListPromptTemplateHistoryResponseResourcesItemSpecToolsItemFunctionStrictDefault).describe('Whether to enable strict schema adherence when generating the function call. If set to true, the model will follow the exact schema defined in the `parameters` field. Only a subset of JSON Schema is supported when `strict` is `true`. Learn more about Structured Outputs in the [function calling guide](docs\/guides\/function-calling).')
})
})).optional().describe('A list of tools the model may call. Used to provide a list of functions the model may generate JSON inputs for. This is the same as the OpenAI definition.\n')
}).optional()
}))
});
/**
* Get prompt template by UUID
*/
export const RegistryControllerPromptControllerGetPromptTemplateByUuidParams = zod.object({
"promptTemplateId": zod.uuid()
});
export const RegistryControllerPromptControllerGetPromptTemplateByUuidHeader = zod.object({
"AI-Resource-Group": zod.string().optional().describe('Specify a resource group id to use'),
"AI-Resource-Group-Scope": zod.enum(['true', 'True', 'false', 'False']).optional().describe('Specify whether the resource group scope is to be used')
});
export const registryControllerPromptControllerGetPromptTemplateByUuidResponseSpecTemplateItemTwoContentItemOneImageUrlDetailDefault = `auto`;
export const registryControllerPromptControllerGetPromptTemplateByUuidResponseSpecResponseFormatThreeJsonSchemaNameMax = 64;
export const registryControllerPromptControllerGetPromptTemplateByUuidResponseSpecResponseFormatThreeJsonSchemaNameRegExp = new RegExp('^[a-zA-Z0-9-_]+$');
export const registryControllerPromptControllerGetPromptTemplateByUuidResponseSpecResponseFormatThreeJsonSchemaStrictDefault = false;
export const registryControllerPromptControllerGetPromptTemplateByUuidResponseSpecToolsItemFunctionNameMax = 64;
export const registryControllerPromptControllerGetPromptTemplateByUuidResponseSpecToolsItemFunctionNameRegExp = new RegExp('^[a-zA-Z0-9-_]+$');
export const registryControllerPromptControllerGetPromptTemplateByUuidResponseSpecToolsItemFunctionStrictDefault = false;
export const RegistryControllerPromptControllerGetPromptTemplateByUuidResponse = zod.object({
"id": zod.uuid().optional(),
"name": zod.string().optional(),
"version": zod.string().optional(),
"scenario": zod.string().optional(),
"creationTimestamp": zod.string().optional(),
"managedBy": zod.string().optional(),
"isVersionHead": zod.boolean().optional(),
"resourceGroupId": zod.string().optional(),
"spec": zod.object({
"template": zod.array(zod.union([zod.object({
"role": zod.string(),
"content": zod.string()
}), zod.object({
"role": zod.string(),
"content": zod.array(zod.union([zod.object({
"type": zod.enum(['image_url']),
"image_url": zod.object({
"url": zod.string(),
"detail": zod.string().default(registryControllerPromptControllerGetPromptTemplateByUuidResponseSpecTemplateItemTwoContentItemOneImageUrlDetailDefault)
})
}), zod.object({
"type": zod.enum(['text']),
"text": zod.string()
})]))
})])),
"defaults": zod.looseObject({}).optional(),
"additionalFields": zod.looseObject({}).optional().describe('DEPRECATED. Please use additional_fields instead.\n'),
"response_format": zod.union([zod.object({
"type": zod.enum(['text']).describe('The type of response format being defined: `text`')
}), zod.object({
"type": zod.enum(['json_object']).describe('The type of response format being defined: `json_object`')
}), zod.object({
"type": zod.enum(['json_schema']).describe('The type of response format being defined: `json_schema`'),
"json_schema": zod.object({
"description": zod.string().optional().describe('A description of what the response format is for, used by the model to determine how to respond in the format.'),
"name": zod.string().max(registryControllerPromptControllerGetPromptTemplateByUuidResponseSpecResponseFormatThreeJsonSchemaNameMax).regex(registryControllerPromptControllerGetPromptTemplateByUuidResponseSpecResponseFormatThreeJsonSchemaNameRegExp).describe('The name of the response format. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64.'),
"schema": zod.record(zod.string(), zod.unknown()).optional().describe('The schema for the response format, described as a JSON Schema object.'),
"strict": zod.boolean().nullish().default(registryControllerPromptControllerGetPromptTemplateByUuidResponseSpecResponseFormatThreeJsonSchemaStrictDefault).describe('Whether to enable strict schema adherence when generating the output. If set to true, the model will always follow the exact schema defined in the `schema` field. Only a subset of JSON Schema is supported when `strict` is `true`. To learn more, read the [Structured Outputs guide](https:\/\/platform.openai.com\/docs\/guides\/structured-outputs).')
})
})]).optional().describe('Response format that the model output should adhere to. This is the same as the OpenAI definition.\nCompatible with GPT-4o, GPT-4o mini, GPT-4 (Turbo) and all GPT-3.5 Turbo models newer than gpt-3.5-turbo-1106.\n'),
"tools": zod.array(zod.object({
"type": zod.enum(['function']).describe('The type of the tool. Currently, only `function` is supported.'),
"function": zod.object({
"description": zod.string().optional().describe('A description of what the function does, used by the model to choose when and how to call the function.'),
"name": zod.string().max(registryControllerPromptControllerGetPromptTemplateByUuidResponseSpecToolsItemFunctionNameMax).regex(registryControllerPromptControllerGetPromptTemplateByUuidResponseSpecToolsItemFunctionNameRegExp).describe('The name of the function to be called. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64.'),
"parameters": zod.record(zod.string(), zod.unknown()).optional().describe('The parameters the functions accepts, described as a JSON Schema object. See the [guide](https:\/\/platform.openai.com\/docs\/guides\/function-calling) for examples, and the [JSON Schema reference](https:\/\/json-schema.org\/understanding-json-schema\/) for documentation about the format. Omitting `parameters` defines a function with an empty parameter list.'),
"strict": zod.boolean().nullish().default(registryControllerPromptControllerGetPromptTemplateByUuidResponseSpecToolsItemFunctionStrictDefault).describe('Whether to enable strict schema adherence when generating the function call. If set to true, the model will follow the exact schema defined in the `parameters` field. Only a subset of JSON Schema is supported when `strict` is `true`. Learn more about Structured Outputs in the [function calling guide](docs\/guides\/function-calling).')
})
})).optional().describe('A list of tools the model may call. Used to provide a list of functions the model may generate JSON inputs for. This is the same as the OpenAI definition.\n')
}).optional()
});
/**
* Delete prompt template
*/
export const RegistryControllerPromptControllerDeletePromptTemplateParams = zod.object({
"promptTemplateId": zod.uuid()
});
export const RegistryControllerPromptControllerDeletePromptTemplateHeader = zod.object({
"AI-Resource-Group": zod.string().optional().describe('Specify a resource group id to use'),
"AI-Resource-Group-Scope": zod.enum(['true', 'True', 'false', 'False']).optional().describe('Specify whether the resource group scope is to be used')
});
export const RegistryControllerPromptControllerDeletePromptTemplateResponse = zod.object({
"message": zod.string()
});
/**
* Import prompt template
*/
export const RegistryControllerPromptControllerImportPromptTemplateHeader = zod.object({
"AI-Resource-Group": zod.string().optional().describe('Specify a resource group id to use'),
"AI-Resource-Group-Scope": zod.enum(['true', 'True', 'false', 'False']).optional().describe('Specify whether the resource group scope is to be used')
});
export const RegistryControllerPromptControllerImportPromptTemplateBody = zod.object({
"file": zod.instanceof(File).optional()
});
export const RegistryControllerPromptControllerImportPromptTemplateResponse = zod.object({
"message": zod.string(),
"id": zod.uuid(),
"scenario": zod.string(),
"name": zod.string(),
"version": zod.string()
});
/**
* Export prompt template
*/
export const RegistryControllerPromptControllerExportPromptTemplateParams = zod.object({
"promptTemplateId": zod.uuid()
});
export const RegistryControllerPromptControllerExportPromptTemplateHeader = zod.object({
"AI-Resource-Group": zod.string().optional().describe('Specify a resource group id to use'),
"AI-Resource-Group-Scope": zod.enum(['true', 'True', 'false', 'False']).optional().describe('Specify whether the resource group scope is to be used')
});
export const RegistryControllerPromptControllerExportPromptTemplateResponse = zod.unknown();
/**
* Parse prompt template by ID
*/
export const RegistryControllerPromptControllerParsePromptTemplateByIdParams = zod.object({
"promptTemplateId": zod.uuid()
});
export const registryControllerPromptControllerParsePromptTemplateByIdQueryMetadataDefault = false;
export const RegistryControllerPromptControllerParsePromptTemplateByIdQueryParams = zod.object({
"metadata": zod.boolean().default(registryControllerPromptControllerParsePromptTemplateByIdQueryMetadataDefault)
});
export const RegistryControllerPromptControllerParsePromptTemplateByIdHeader = zod.object({
"AI-Resource-Group": zod.string().optional().describe('Specify a resource group id to use'),
"AI-Resource-Group-Scope": zod.enum(['true', 'True', 'false', 'False']).optional().describe('Specify whether the resource group scope is to be used')
});
export const RegistryControllerPromptControllerParsePromptTemplateByIdBody = zod.object({
"inputParams": zod.looseObject({})
});
export const registryControllerPromptControllerParsePromptTemplateByIdResponseParsedPromptItemTwoContentItemOneImageUrlDetailDefault = `auto`;
export const registryControllerPromptControllerParsePromptTemplateByIdResponseResourceSpecTemplateItemTwoContentItemOneImageUrlDetailDefault = `auto`;
export const registryControllerPromptControllerParsePromptTemplateByIdResponseResourceSpecResponseFormatThreeJsonSchemaNameMax = 64;
export const registryControllerPromptControllerParsePromptTemplateByIdResponseResourceSpecResponseFormatThreeJsonSchemaNameRegExp = new RegExp('^[a-zA-Z0-9-_]+$');
export const registryControllerPromptControllerParsePromptTemplateByIdResponseResourceSpecResponseFormatThreeJsonSchemaStrictDefault = false;
export const registryControllerPromptControllerParsePromptTemplateByIdResponseResourceSpecToolsItemFunctionNameMax = 64;
export const registryControllerPromptControllerParsePromptTemplateByIdResponseResourceSpecToolsItemFunctionNameRegExp = new RegExp('^[a-zA-Z0-9-_]+$');
export const registryControllerPromptControllerParsePromptTemplateByIdResponseResourceSpecToolsItemFunctionStrictDefault = false;
export const RegistryControllerPromptControllerParsePromptTemplateByIdResponse = zod.object({
"parsedPrompt": zod.array(zod.union([zod.object({
"role": zod.string(),
"content": zod.string()
}), zod.object({
"role": zod.string(),
"content": zod.array(zod.union([zod.object({
"type": zod.enum(['image_url']),
"image_url": zod.object({
"url": zod.string(),
"detail": zod.string().default(registryControllerPromptControllerParsePromptTemplateByIdResponseParsedPromptItemTwoContentItemOneImageUrlDetailDefault)
})
}), zod.object({
"type": zod.enum(['text']),
"text": zod.string()
})]))
})])).optional(),
"resource": zod.object({
"id": zod.uuid().optional(),
"name": zod.string().optional(),
"version": zod.string().optional(),
"scenario": zod.string().optional(),
"creationTimestamp": zod.string().optional(),
"managedBy": zod.string().optional(),
"isVersionHead": zod.boolean().optional(),
"resourceGroupId": zod.string().optional(),
"spec": zod.object({
"template": zod.array(zod.union([zod.object({
"role": zod.string(),
"content": zod.string()
}), zod.object({
"role": zod.string(),
"content": zod.array(zod.union([zod.object({
"type": zod.enum(['image_url']),
"image_url": zod.object({
"url": zod.string(),
"detail": zod.string().default(registryControllerPromptControllerParsePromptTemplateByIdResponseResourceSpecTemplateItemTwoContentItemOneImageUrlDetailDefault)
})
}), zod.object({
"type": zod.enum(['text']),
"text": zod.string()
})]))
})])),
"defaults": zod.looseObject({}).optional(),
"additionalFields": zod.looseObject({}).optional().describe('DEPRECATED. Please use additional_fields instead.\n'),
"response_format": zod.union([zod.object({
"type": zod.enum(['text']).describe('The type of response format being defined: `text`')
}), zod.object({
"type": zod.enum(['json_object']).describe('The type of response format being defined: `json_object`')
}), zod.object({
"type": zod.enum(['json_schema']).describe('The type of response format being defined: `json_schema`'),
"json_schema": zod.object({
"description": zod.string().optional().describe('A description of what the response format is for, used by the model to determine how to respond in the format.'),
"name": zod.string().max(registryControllerPromptControllerParsePromptTemplateByIdResponseResourceSpecResponseFormatThreeJsonSchemaNameMax).regex(registryControllerPromptControllerParsePromptTemplateByIdResponseResourceSpecResponseFormatThreeJsonSchemaNameRegExp).describe('The name of the response format. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64.'),
"schema": zod.record(zod.string(), zod.unknown()).optional().describe('The schema for the response format, described as a JSON Schema object.'),
"strict": zod.boolean().nullish().default(registryControllerPromptControllerParsePromptTemplateByIdResponseResourceSpecResponseFormatThreeJsonSchemaStrictDefault).describe('Whether to enable strict schema adherence when generating the output. If set to true, the model will always follow the exact schema defined in the `schema` field. Only a subset of JSON Schema is supported when `strict` is `true`. To learn more, read the [Structured Outputs guide](https:\/\/platform.openai.com\/docs\/guides\/structured-outputs).')
})
})]).optional().describe('Response format that the model output should adhere to. This is the same as the OpenAI definition.\nCompatible with GPT-4o, GPT-4o mini, GPT-4 (Turbo) and all GPT-3.5 Turbo models newer than gpt-3.5-turbo-1106.\n'),
"tools": zod.array(zod.object({
"type": zod.enum(['function']).describe('The type of the tool. Currently, only `function` is supported.'),
"function": zod.object({
"description": zod.string().optional().describe('A description of what the function does, used by the model to choose when and how to call the function.'),
"name": zod.string().max(registryControllerPromptControllerParsePromptTemplateByIdResponseResourceSpecToolsItemFunctionNameMax).regex(registryControllerPromptControllerParsePromptTemplateByIdResponseResourceSpecToolsItemFunctionNameRegExp).describe('The name of the function to be called. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64.'),
"parameters": zod.record(zod.string(), zod.unknown()).optional().describe('The parameters the functions accepts, described as a JSON Schema object. See the [guide](https:\/\/platform.openai.com\/docs\/guides\/function-calling) for examples, and the [JSON Schema reference](https:\/\/json-schema.org\/understanding-json-schema\/) for documentation about the format. Omitting `parameters` defines a function with an empty parameter list.'),
"strict": zod.boolean().nullish().default(registryControllerPromptControllerParsePromptTemplateByIdResponseResourceSpecToolsItemFunctionStrictDefault).describe('Whether to enable strict schema adherence when generating the function call. If set to true, the model will follow the exact schema defined in the `parameters` field. Only a subset of JSON Schema is supported when `strict` is `true`. Learn more about Structured Outputs in the [function calling guide](docs\/guides\/function-calling).')
})
})).optional().describe('A list of tools the model may call. Used to provide a list of functions the model may generate JSON inputs for. This is the same as the OpenAI definition.\n')
}).optional()
}).optional()
});
/**
* Parse prompt template by name and version
*/
export const RegistryControllerPromptControllerParsePromptTemplateByNameVersionParams = zod.object({
"scenario": zod.string(),
"version": zod.string(),
"name": zod.string()
});
export const registryControllerPromptControllerParsePromptTemplateByNameVersionQueryMetadataDefault = false;
export const RegistryControllerPromptControllerParsePromptTemplateByNameVersionQueryParams = zod.object({
"metadata": zod.boolean().default(registryControllerPromptControllerParsePromptTemplateByNameVersionQueryMetadataDefault)
});
export const RegistryControllerPromptControllerParsePromptTemplateByNameVersionHeader = zod.object({
"AI-Resource-Group": zod.string().optional().describe('Specify a resource group id to use'),
"AI-Resource-Group-Scope": zod.enum(['true', 'True', 'false', 'False']).optional().describe('Specify whether the resource group scope is to be used')
});
export const RegistryControllerPromptControllerParsePromptTemplateByNameVersionBody = zod.object({
"inputParams": zod.looseObject({})
});
export const registryControllerPromptControllerParsePromptTemplateByNameVersionResponseParsedPromptItemTwoContentItemOneImageUrlDetailDefault = `auto`;
export const registryControllerPromptControllerParsePromptTemplateByNameVersionResponseResourceSpecTemplateItemTwoContentItemOneImageUrlDetailDefault = `auto`;
export const registryControllerPromptControllerParsePromptTemplateByNameVersionResponseResourceSpecResponseFormatThreeJsonSchemaNameMax = 64;
export const registryControllerPromptControllerParsePromptTemplateByNameVersionResponseResourceSpecResponseFormatThreeJsonSchemaNameRegExp = new RegExp('^[a-zA-Z0-9-_]+$');
export const registryControllerPromptControllerParsePromptTemplateByNameVersionResponseResourceSpecResponseFormatThreeJsonSchemaStrictDefault = false;
export const registryControllerPromptControllerParsePromptTemplateByNameVersionResponseResourceSpecToolsItemFunctionNameMax = 64;
export const registryControllerPromptControllerParsePromptTemplateByNameVersionResponseResourceSpecToolsItemFunctionNameRegExp = new RegExp('^[a-zA-Z0-9-_]+$');
export const registryControllerPromptControllerParsePromptTemplateByNameVersionResponseResourceSpecToolsItemFunctionStrictDefault = false;
export const RegistryControllerPromptControllerParsePromptTemplateByNameVersionResponse = zod.object({
"parsedPrompt": zod.array(zod.union([zod.object({
"role": zod.string(),
"content": zod.string()
}), zod.object({
"role": zod.string(),
"content": zod.array(zod.union([zod.object({
"type": zod.enum(['image_url']),
"image_url": zod.object({
"url": zod.string(),
"detail": zod.string().default(registryControllerPromptControllerParsePromptTemplateByNameVersionResponseParsedPromptItemTwoContentItemOneImageUrlDetailDefault)
})
}), zod.object({
"type": zod.enum(['text']),
"text": zod.string()
})]))
})])).optional(),
"resource": zod.object({
"id": zod.uuid().optional(),
"name": zod.string().optional(),
"version": zod.string().optional(),
"scenario": zod.string().optional(),
"creationTimestamp": zod.string().optional(),
"managedBy": zod.string().optional(),
"isVersionHead": zod.boolean().optional(),
"resourceGroupId": zod.string().optional(),
"spec": zod.object({
"template": zod.array(zod.union([zod.object({
"role": zod.string(),
"content": zod.string()
}), zod.object({
"role": zod.string(),
"content": zod.array(zod.union([zod.object({
"type": zod.enum(['image_url']),
"image_url": zod.object({
"url": zod.string(),
"detail": zod.string().default(registryControllerPromptControllerParsePromptTemplateByNameVersionResponseResourceSpecTemplateItemTwoContentItemOneImageUrlDetailDefault)
})
}), zod.object({
"type": zod.enum(['text']),
"text": zod.string()
})]))
})])),
"defaults": zod.looseObject({}).optional(),
"additionalFields": zod.looseObject({}).optional().describe('DEPRECATED. Please use additional_fields instead.\n'),
"response_format": zod.union([zod.object({
"type": zod.enum(['text']).describe('The type of response format being defined: `text`')
}), zod.object({
"type": zod.enum(['json_object']).describe('The type of response format being defined: `json_object`')
}), zod.object({
"type": zod.enum(['json_schema']).describe('The type of response format being defined: `json_schema`'),
"json_schema": zod.object({
"description": zod.string().optional().describe('A description of what the response format is for, used by the model to determine how to respond in the format.'),
"name": zod.string().max(registryControllerPromptControllerParsePromptTemplateByNameVersionResponseResourceSpecResponseFormatThreeJsonSchemaNameMax).regex(registryControllerPromptControllerParsePromptTemplateByNameVersionResponseResourceSpecResponseFormatThreeJsonSchemaNameRegExp).describe('The name of the response format. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64.'),
"schema": zod.record(zod.string(), zod.unknown()).optional().describe('The schema for the response format, described as a JSON Schema object.'),
"strict": zod.boolean().nullish().default(registryControllerPromptControllerParsePromptTemplateByNameVersionResponseResourceSpecResponseFormatThreeJsonSchemaStrictDefault).describe('Whether to enable strict schema adherence when generating the output. If set to true, the model will always follow the exact schema defined in the `schema` field. Only a subset of JSON Schema is supported when `strict` is `true`. To learn more, read the [Structured Outputs guide](https:\/\/platform.openai.com\/docs\/guides\/structured-outputs).')
})
})]).optional().describe('Response format that the model output should adhere to. This is the same as the OpenAI definition.\nCompatible with GPT-4o, GPT-4o mini, GPT-4 (Turbo) and all GPT-3.5 Turbo models newer than gpt-3.5-turbo-1106.\n'),
"tools": zod.array(zod.object({
"type": zod.enum(['function']).describe('The type of the tool. Currently, only `function` is supported.'),
"function": zod.object({
"description": zod.string().optional().describe('A description of what the function does, used by the model to choose when and how to call the function.'),
"name": zod.string().max(registryControllerPromptControllerParsePromptTemplateByNameVersionResponseResourceSpecToolsItemFunctionNameMax).regex(registryControllerPromptControllerParsePromptTemplateByNameVersionResponseResourceSpecToolsItemFunctionNameRegExp).describe('The name of the function to be called. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64.'),
"parameters": zod.record(zod.string(), zod.unknown()).optional().describe('The parameters the functions accepts, described as a JSON Schema object. See the [guide](https:\/\/platform.openai.com\/docs\/guides\/function-calling) for examples, and the [JSON Schema reference](https:\/\/json-schema.org\/understanding-json-schema\/) for documentation about the format. Omitting `parameters` defines a function with an empty parameter list.'),
"strict": zod.boolean().nullish().default(registryControllerPromptControllerParsePromptTemplateByNameVersionResponseResourceSpecToolsItemFunctionStrictDefault).describe('Whether to enable strict schema adherence when generating the function call. If set to true, the model will follow the exact schema defined in the `parameters` field. Only a subset of JSON Schema is supported when `strict` is `true`. Learn more about Structured Outputs in the [function calling guide](docs\/guides\/function-calling).')
})
})).optional().describe('A list of tools the model may call. Used to provide a list of functions the model may generate JSON inputs for. This is the same as the OpenAI definition.\n')
}).optional()
}).optional()
});
/**
* Create or update an orchestration config
*/
export const RegistryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigHeader = zod.object({
"AI-Resource-Group": zod.string().optional().describe('Specify a resource group id to use')
});
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodyNameMax = 120;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodyNameRegExp = new RegExp('^[a-zA-Z0-9_-]+$');
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodyVersionMax = 10;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodyVersionRegExp = new RegExp('^[a-zA-Z0-9._-]+$');
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodyScenarioMax = 120;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodyScenarioRegExp = new RegExp('^[a-zA-Z0-9_-]+$');
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOnePromptTemplatingPromptOneTemplateOneItemTwoContentTwoItemImageUrlDetailDefault = `auto`;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOnePromptTemplatingPromptOneTemplateOneItemThreeReasoningContentItemContentDefault = ``;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOnePromptTemplatingPromptOneTemplateOneItemThreeReasoningContentItemSignatureDefault = ``;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOnePromptTemplatingPromptOneResponseFormatThreeJsonSchemaNameMax = 64;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOnePromptTemplatingPromptOneResponseFormatThreeJsonSchemaNameRegExp = new RegExp('^[a-zA-Z0-9-_]+$');
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOnePromptTemplatingPromptOneResponseFormatThreeJsonSchemaStrictDefault = false;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOnePromptTemplatingPromptOneToolsItemFunctionNameMax = 64;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOnePromptTemplatingPromptOneToolsItemFunctionNameRegExp = new RegExp('^[a-zA-Z0-9-_]+$');
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOnePromptTemplatingPromptOneToolsItemFunctionStrictDefault = false;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOnePromptTemplatingPromptTwoTemplateRefOneScopeDefault = `tenant`;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOnePromptTemplatingPromptTwoTemplateRefTwoScopeDefault = `tenant`;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOnePromptTemplatingModelVersionDefault = `latest`;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOnePromptTemplatingModelTimeoutDefault = 600;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOnePromptTemplatingModelTimeoutMax = 1200;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOnePromptTemplatingModelMaxRetriesDefault = 2;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOnePromptTemplatingModelMaxRetriesMin = 0;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOnePromptTemplatingModelMaxRetriesMax = 5;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOneFilteringInputOneFiltersItemOneConfigPromptShieldDefault = false;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOneFilteringOutputOneFiltersItemOneConfigProtectedMaterialCodeDefault = false;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOneFilteringOutputOneStreamOptionsOverlapDefault = 0;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOneFilteringOutputOneStreamOptionsOverlapMin = 0;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOneFilteringOutputOneStreamOptionsOverlapMax = 10000;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOneMaskingOneProvidersItemOneMaskGroundingInputEnabledDefault = false;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOneMaskingTwoMaskingProvidersItemOneMaskGroundingInputEnabledDefault = false;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOneGroundingConfigFiltersItemOneSearchConfigMaxChunkCountExclusiveMin = 0;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOneGroundingConfigFiltersItemOneSearchConfigMaxDocumentCountExclusiveMin = 0;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOneGroundingConfigFiltersItemOneDataRepositoriesDefault = [`*`];
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOneGroundingConfigFiltersItemOneDataRepositoryMetadataItemKeyMax = 1024;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOneGroundingConfigFiltersItemOneDataRepositoryMetadataItemValueItemMax = 1024;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOneGroundingConfigFiltersItemOneDocumentMetadataItemKeyMax = 1024;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOneGroundingConfigFiltersItemOneDocumentMetadataItemValueItemMax = 1024;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOneGroundingConfigFiltersItemOneChunkMetadataItemKeyMax = 1024;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOneGroundingConfigFiltersItemOneChunkMetadataItemValueItemMax = 1024;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOneTranslationInputOneTranslateMessagesHistoryDefault = true;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemPromptTemplatingPromptOneTemplateOneItemTwoContentTwoItemImageUrlDetailDefault = `auto`;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemPromptTemplatingPromptOneTemplateOneItemThreeReasoningContentItemContentDefault = ``;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemPromptTemplatingPromptOneTemplateOneItemThreeReasoningContentItemSignatureDefault = ``;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemPromptTemplatingPromptOneResponseFormatThreeJsonSchemaNameMax = 64;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemPromptTemplatingPromptOneResponseFormatThreeJsonSchemaNameRegExp = new RegExp('^[a-zA-Z0-9-_]+$');
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemPromptTemplatingPromptOneResponseFormatThreeJsonSchemaStrictDefault = false;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemPromptTemplatingPromptOneToolsItemFunctionNameMax = 64;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemPromptTemplatingPromptOneToolsItemFunctionNameRegExp = new RegExp('^[a-zA-Z0-9-_]+$');
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemPromptTemplatingPromptOneToolsItemFunctionStrictDefault = false;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemPromptTemplatingPromptTwoTemplateRefOneScopeDefault = `tenant`;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemPromptTemplatingPromptTwoTemplateRefTwoScopeDefault = `tenant`;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemPromptTemplatingModelVersionDefault = `latest`;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemPromptTemplatingModelTimeoutDefault = 600;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemPromptTemplatingModelTimeoutMax = 1200;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemPromptTemplatingModelMaxRetriesDefault = 2;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemPromptTemplatingModelMaxRetriesMin = 0;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemPromptTemplatingModelMaxRetriesMax = 5;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemFilteringInputOneFiltersItemOneConfigPromptShieldDefault = false;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemFilteringOutputOneFiltersItemOneConfigProtectedMaterialCodeDefault = false;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemFilteringOutputOneStreamOptionsOverlapDefault = 0;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemFilteringOutputOneStreamOptionsOverlapMin = 0;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemFilteringOutputOneStreamOptionsOverlapMax = 10000;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemMaskingOneProvidersItemOneMaskGroundingInputEnabledDefault = false;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemMaskingTwoMaskingProvidersItemOneMaskGroundingInputEnabledDefault = false;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemGroundingConfigFiltersItemOneSearchConfigMaxChunkCountExclusiveMin = 0;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemGroundingConfigFiltersItemOneSearchConfigMaxDocumentCountExclusiveMin = 0;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemGroundingConfigFiltersItemOneDataRepositoriesDefault = [`*`];
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemGroundingConfigFiltersItemOneDataRepositoryMetadataItemKeyMax = 1024;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemGroundingConfigFiltersItemOneDataRepositoryMetadataItemValueItemMax = 1024;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemGroundingConfigFiltersItemOneDocumentMetadataItemKeyMax = 1024;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemGroundingConfigFiltersItemOneDocumentMetadataItemValueItemMax = 1024;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemGroundingConfigFiltersItemOneChunkMetadataItemKeyMax = 1024;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemGroundingConfigFiltersItemOneChunkMetadataItemValueItemMax = 1024;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemTranslationInputOneTranslateMessagesHistoryDefault = true;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecStreamEnabledDefault = false;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecStreamChunkSizeDefault = 100;
export const registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecStreamChunkSizeMax = 10000;
export const RegistryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBody = zod.object({
"name": zod.string().max(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodyNameMax).regex(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodyNameRegExp),
"version": zod.string().max(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodyVersionMax).regex(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodyVersionRegExp),
"scenario": zod.string().max(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodyScenarioMax).regex(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodyScenarioRegExp),
"spec": zod.object({
"modules": zod.union([zod.object({
"prompt_templating": zod.object({
"prompt": zod.union([zod.object({
"template": zod.array(zod.union([zod.object({
"role": zod.enum(['system']),
"content": zod.union([zod.string(), zod.array(zod.object({
"type": zod.enum(['text']),
"text": zod.string(),
"cache_control": zod.object({
"type": zod.enum(['ephemeral']),
"ttl": zod.enum(['5m', '1h']).optional().describe('Time-to-live for the cache entry. Default is \"5m\" (5 minutes). \"1h\" (1 hour) is supported on select models (e.g. Claude Opus 4.5, Haiku 4.5, Sonnet 4.5).\n')
}).optional().describe('Cache control directive for Anthropic prompt caching. Only applicable to Anthropic Claude models. When set, marks the content block as a cache breakpoint.\n')
})).min(1)])
}), zod.object({
"content": zod.union([zod.string(), zod.array(zod.object({
"type": zod.enum(['text', 'image_url', 'file']),
"text": zod.string().optional(),
"image_url": zod.object({
"url": zod.string(),
"detail": zod.string().default(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOnePromptTemplatingPromptOneTemplateOneItemTwoContentTwoItemImageUrlDetailDefault)
}).optional(),
"file": zod.object({
"file_data": zod.string().describe('Base64 encoded file content or file URL'),
"filename": zod.string().optional().describe('Name of the file')
}).optional(),
"cache_control": zod.object({
"type": zod.enum(['ephemeral']),
"ttl": zod.enum(['5m', '1h']).optional().describe('Time-to-live for the cache entry. Default is \"5m\" (5 minutes). \"1h\" (1 hour) is supported on select models (e.g. Claude Opus 4.5, Haiku 4.5, Sonnet 4.5).\n')
}).optional().describe('Cache control directive for Anthropic prompt caching. Only applicable to Anthropic Claude models. When set, marks the content block as a cache breakpoint.\n')
})).min(1)]),
"role": zod.enum(['user'])
}), zod.object({
"role": zod.enum(['assistant']),
"content": zod.union([zod.string(), zod.array(zod.object({
"type": zod.enum(['text']),
"text": zod.string(),
"cache_control": zod.object({
"type": zod.enum(['ephemeral']),
"ttl": zod.enum(['5m', '1h']).optional().describe('Time-to-live for the cache entry. Default is \"5m\" (5 minutes). \"1h\" (1 hour) is supported on select models (e.g. Claude Opus 4.5, Haiku 4.5, Sonnet 4.5).\n')
}).optional().describe('Cache control directive for Anthropic prompt caching. Only applicable to Anthropic Claude models. When set, marks the content block as a cache breakpoint.\n')
})).min(1)]).optional(),
"refusal": zod.string().optional(),
"tool_calls": zod.array(zod.object({
"id": zod.string().describe('The ID of the tool call.'),
"type": zod.enum(['function']).describe('The type of the tool. Currently, only `function` is supported.'),
"function": zod.object({
"name": zod.string().describe('The name of the function to call.'),
"arguments": zod.string().describe('The arguments to call the function with, as generated by the model in JSON format. Note that the model does not always generate valid JSON, and may hallucinate parameters not defined by your function schema. Validate the arguments in your code before calling your function.')
}).describe('The function that the model called.')
})).optional().describe('The tool calls generated by the model, such as function calls.'),
"reasoning_content": zod.array(zod.object({
"content": zod.string().default(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOnePromptTemplatingPromptOneTemplateOneItemThreeReasoningContentItemContentDefault),
"signature": zod.string().default(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOnePromptTemplatingPromptOneTemplateOneItemThreeReasoningContentItemSignatureDefault)
})).optional().describe('Reasoning or thinking content from the model\'s previous turn.\n')
}), zod.object({
"role": zod.enum(['tool']),
"tool_call_id": zod.string(),
"content": zod.union([zod.string(), zod.array(zod.object({
"type": zod.enum(['text']),
"text": zod.string(),
"cache_control": zod.object({
"type": zod.enum(['ephemeral']),
"ttl": zod.enum(['5m', '1h']).optional().describe('Time-to-live for the cache entry. Default is \"5m\" (5 minutes). \"1h\" (1 hour) is supported on select models (e.g. Claude Opus 4.5, Haiku 4.5, Sonnet 4.5).\n')
}).optional().describe('Cache control directive for Anthropic prompt caching. Only applicable to Anthropic Claude models. When set, marks the content block as a cache breakpoint.\n')
})).min(1)])
}), zod.object({
"role": zod.enum(['developer']),
"content": zod.union([zod.string(), zod.array(zod.object({
"type": zod.enum(['text']),
"text": zod.string(),
"cache_control": zod.object({
"type": zod.enum(['ephemeral']),
"ttl": zod.enum(['5m', '1h']).optional().describe('Time-to-live for the cache entry. Default is \"5m\" (5 minutes). \"1h\" (1 hour) is supported on select models (e.g. Claude Opus 4.5, Haiku 4.5, Sonnet 4.5).\n')
}).optional().describe('Cache control directive for Anthropic prompt caching. Only applicable to Anthropic Claude models. When set, marks the content block as a cache breakpoint.\n')
})).min(1)])
})])).min(1).describe('A chat message array to be formatted with values from placeholder_values. Both role and content can be templated. If messages_history is provided, the templated messages will be appended.'),
"defaults": zod.record(zod.string(), zod.string()).optional().describe('Optional default values for the template. If a parameter has no default it is required.'),
"response_format": zod.union([zod.object({
"type": zod.enum(['text']).describe('The type of response format being defined: `text`')
}), zod.object({
"type": zod.enum(['json_object']).describe('The type of response format being defined: `json_object`')
}), zod.object({
"type": zod.enum(['json_schema']).describe('The type of response format being defined: `json_schema`'),
"json_schema": zod.object({
"description": zod.string().optional().describe('A description of what the response format is for, used by the model to determine how to respond in the format.'),
"name": zod.string().max(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOnePromptTemplatingPromptOneResponseFormatThreeJsonSchemaNameMax).regex(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOnePromptTemplatingPromptOneResponseFormatThreeJsonSchemaNameRegExp).describe('The name of the response format. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64.'),
"schema": zod.record(zod.string(), zod.unknown()).optional().describe('The schema for the response format, described as a JSON Schema object.'),
"strict": zod.boolean().nullish().default(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOnePromptTemplatingPromptOneResponseFormatThreeJsonSchemaStrictDefault).describe('Whether to enable strict schema adherence when generating the output. If set to true, the model will always follow the exact schema defined in the `schema` field. Only a subset of JSON Schema is supported when `strict` is `true`. To learn more, read the [Structured Outputs guide](https:\/\/platform.openai.com\/docs\/guides\/structured-outputs).')
})
})]).optional().describe('Response format that the model output should adhere to. This is the same as the OpenAI definition.\n'),
"tools": zod.array(zod.object({
"type": zod.enum(['function']).describe('The type of the tool. Currently, only `function` is supported.'),
"function": zod.object({
"description": zod.string().optional().describe('A description of what the function does, used by the model to choose when and how to call the function.'),
"name": zod.string().max(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOnePromptTemplatingPromptOneToolsItemFunctionNameMax).regex(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOnePromptTemplatingPromptOneToolsItemFunctionNameRegExp).describe('The name of the function to be called. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64.'),
"parameters": zod.record(zod.string(), zod.unknown()).optional().describe('The parameters the functions accepts, described as a JSON Schema object. See the [guide](https:\/\/platform.openai.com\/docs\/guides\/function-calling) for examples, and the [JSON Schema reference](https:\/\/json-schema.org\/understanding-json-schema\/) for documentation about the format. Omitting `parameters` defines a function with an empty parameter list.'),
"strict": zod.boolean().nullish().default(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOnePromptTemplatingPromptOneToolsItemFunctionStrictDefault).describe('Whether to enable strict schema adherence when generating the function call. If set to true, the model will follow the exact schema defined in the `parameters` field. Only a subset of JSON Schema is supported when `strict` is `true`. Learn more about Structured Outputs in the [function calling guide](docs\/guides\/function-calling).')
}),
"cache_control": zod.object({
"type": zod.enum(['ephemeral']),
"ttl": zod.enum(['5m', '1h']).optional().describe('Time-to-live for the cache entry. Default is \"5m\" (5 minutes). \"1h\" (1 hour) is supported on select models (e.g. Claude Opus 4.5, Haiku 4.5, Sonnet 4.5).\n')
}).optional().describe('Cache control directive for Anthropic prompt caching. Only applicable to Anthropic Claude models. When set, marks the content block as a cache breakpoint.\n')
})).optional().describe('A list of tools the model may call. Used to provide a list of functions the model may generate JSON inputs for. This is the same as the OpenAI definition.\n')
}), zod.object({
"template_ref": zod.union([zod.object({
"id": zod.string().describe('ID of the template in prompt registry'),
"scope": zod.enum(['resource_group', 'tenant']).default(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOnePromptTemplatingPromptTwoTemplateRefOneScopeDefault).describe('Defines the scope that is searched for the referenced template. \'tenant\' indicates the template is shared across all resource groups within the tenant, while \'resource_group\' indicates the template is only accessible within the specific resource group.\n')
}), zod.object({
"scenario": zod.string().describe('Scenario name'),
"name": zod.string().describe('Name of the template'),
"version": zod.string().describe('Version of the template'),
"scope": zod.enum(['resource_group', 'tenant']).default(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOnePromptTemplatingPromptTwoTemplateRefTwoScopeDefault).describe('Defines the scope that is searched for the referenced template. \'tenant\' indicates the template is shared across all resource groups within the tenant, while \'resource_group\' indicates the template is only accessible within the specific resource group.\n')
})]).describe('Reference to a template in the prompt registry by ID or by scenario, name and version')
})]).optional().describe('The prompt template to be used. Can be either a user defined template or a reference to a template in the prompt registry. If omitted, messages_history must be provided in the request body.\n'),
"model": zod.object({
"name": zod.string().describe('Name of the model as in LLM Access configuration'),
"version": zod.string().default(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOnePromptTemplatingModelVersionDefault).describe('Version of the model to be used'),
"params": zod.record(zod.string(), zod.unknown()).optional().describe('Additional parameters for the model. Default values are used for mandatory parameters.'),
"timeout": zod.int().min(1).max(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOnePromptTemplatingModelTimeoutMax).default(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOnePromptTemplatingModelTimeoutDefault).describe('Timeout for the LLM request in seconds. This parameter is currently ignored for Vertex AI models.'),
"max_retries": zod.int().min(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOnePromptTemplatingModelMaxRetriesMin).max(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOnePromptTemplatingModelMaxRetriesMax).default(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOnePromptTemplatingModelMaxRetriesDefault).describe('Maximum number of retries for the LLM request. This parameter is currently ignored for Vertex AI models.')
}).optional().describe('The model and parameters to be used for the prompt templating. This is the model that will be used to generate the response.\n')
}).optional().describe('Partial prompt templating configuration for use with config_ref overrides. model is optional so that only the prompt can be overridden without repeating the model config.\n'),
"filtering": zod.object({
"input": zod.object({
"filters": zod.array(zod.union([zod.object({
"type": zod.enum(['azure_content_safety']).describe('Name of the filter provider type'),
"config": zod.object({
"hate": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"self_harm": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"sexual": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"violence": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"prompt_shield": zod.boolean().default(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOneFilteringInputOneFiltersItemOneConfigPromptShieldDefault).describe('Filter prompts for harmful content such as jailbreaks and prompt injections.')
}).optional().describe('Filter configuration for Azure Content Safety')
}), zod.object({
"type": zod.enum(['llama_guard_3_8b']).describe('Name of the filter provider type'),
"config": zod.object({
"violent_crimes": zod.boolean().optional(),
"non_violent_crimes": zod.boolean().optional(),
"sex_crimes": zod.boolean().optional(),
"child_exploitation": zod.boolean().optional(),
"defamation": zod.boolean().optional(),
"specialized_advice": zod.boolean().optional(),
"privacy": zod.boolean().optional(),
"intellectual_property": zod.boolean().optional(),
"indiscriminate_weapons": zod.boolean().optional(),
"hate": zod.boolean().optional(),
"self_harm": zod.boolean().optional(),
"sexual_content": zod.boolean().optional(),
"elections": zod.boolean().optional(),
"code_interpreter_abuse": zod.boolean().optional()
}).describe('Filter configuration for Llama Guard 3 8B')
})])).min(1).describe('Configuration for content filtering services that should be used for the given filtering step (input filtering).')
}).optional().describe('List of provider type and filters'),
"output": zod.object({
"filters": zod.array(zod.union([zod.object({
"type": zod.enum(['azure_content_safety']).describe('Name of the filter provider type'),
"config": zod.object({
"hate": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"self_harm": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"sexual": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"violence": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"protected_material_code": zod.boolean().default(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOneFilteringOutputOneFiltersItemOneConfigProtectedMaterialCodeDefault).describe('Detect protected code content from known GitHub repositories. The scan includes software libraries, source code, algorithms, and other proprietary programming content.')
}).optional().describe('Filter configuration for Azure Content Safety')
}), zod.object({
"type": zod.enum(['llama_guard_3_8b']).describe('Name of the filter provider type'),
"config": zod.object({
"violent_crimes": zod.boolean().optional(),
"non_violent_crimes": zod.boolean().optional(),
"sex_crimes": zod.boolean().optional(),
"child_exploitation": zod.boolean().optional(),
"defamation": zod.boolean().optional(),
"specialized_advice": zod.boolean().optional(),
"privacy": zod.boolean().optional(),
"intellectual_property": zod.boolean().optional(),
"indiscriminate_weapons": zod.boolean().optional(),
"hate": zod.boolean().optional(),
"self_harm": zod.boolean().optional(),
"sexual_content": zod.boolean().optional(),
"elections": zod.boolean().optional(),
"code_interpreter_abuse": zod.boolean().optional()
}).describe('Filter configuration for Llama Guard 3 8B')
})])).min(1).describe('Configuration for content filtering services that should be used for the given filtering step (output filtering).'),
"stream_options": zod.object({
"overlap": zod.int().min(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOneFilteringOutputOneStreamOptionsOverlapMin).max(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOneFilteringOutputOneStreamOptionsOverlapMax).default(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOneFilteringOutputOneStreamOptionsOverlapDefault).describe('Number of characters that should be additionally sent to content filtering services from previous chunks as additional context.')
}).optional().describe('Stream options for output filtering. Will be ignored if stream is false.')
}).optional().describe('List of provider type and filters')
}).optional(),
"masking": zod.union([zod.object({
"providers": zod.array(zod.object({
"type": zod.enum(['sap_data_privacy_integration']).describe('Type of masking service provider'),
"method": zod.enum(['anonymization', 'pseudonymization']).describe('Type of masking method to be used'),
"entities": zod.array(zod.union([zod.object({
"type": zod.enum(['profile-person', 'profile-org', 'profile-university', 'profile-location', 'profile-email', 'profile-phone', 'profile-address', 'profile-sapids-internal', 'profile-sapids-public', 'profile-url', 'profile-username-password', 'profile-nationalid', 'profile-iban', 'profile-ssn', 'profile-credit-card-number', 'profile-passport', 'profile-driverlicense', 'profile-nationality', 'profile-religious-group', 'profile-political-group', 'profile-pronouns-gender', 'profile-ethnicity', 'profile-gender', 'profile-sexual-orientation', 'profile-trade-union', 'profile-sensitive-data']).describe('Default entities supported by data privacy and integration service'),
"replacement_strategy": zod.union([zod.object({
"method": zod.enum(['constant']),
"value": zod.string().describe('Value to be used for replacement')
}).describe('Replaces the entity with the specified value followed by an incrementing number'), zod.object({
"method": zod.enum(['fabricated_data'])
}).describe('Replaces the entity with a randomly generated value appropriate to its type.')]).optional().describe('Replacement strategy to be used for the entity')
}), zod.object({
"regex": zod.string().describe('Regular expression to match the entity'),
"replacement_strategy": zod.object({
"method": zod.enum(['constant']),
"value": zod.string().describe('Value to be used for replacement')
}).describe('Replaces the entity with the specified value followed by an incrementing number').describe('Replacement strategy to be used for the entity')
})])).min(1).describe('List of entities to be masked'),
"allowlist": zod.array(zod.string()).optional().describe('List of strings that should not be masked'),
"mask_grounding_input": zod.object({
"enabled": zod.boolean().default(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOneMaskingOneProvidersItemOneMaskGroundingInputEnabledDefault).describe('controls whether the input to the grounding module will be masked with the configuration supplied in the masking module')
}).optional(),
"mask_file_input_method": zod.enum(['anonymization', 'skip']).optional().describe('Type of masking method to be used for file inputs. Required if file inputs are provided.')
})).min(1).describe('List of masking service providers')
}), zod.object({
"masking_providers": zod.array(zod.object({
"type": zod.enum(['sap_data_privacy_integration']).describe('Type of masking service provider'),
"method": zod.enum(['anonymization', 'pseudonymization']).describe('Type of masking method to be used'),
"entities": zod.array(zod.union([zod.object({
"type": zod.enum(['profile-person', 'profile-org', 'profile-university', 'profile-location', 'profile-email', 'profile-phone', 'profile-address', 'profile-sapids-internal', 'profile-sapids-public', 'profile-url', 'profile-username-password', 'profile-nationalid', 'profile-iban', 'profile-ssn', 'profile-credit-card-number', 'profile-passport', 'profile-driverlicense', 'profile-nationality', 'profile-religious-group', 'profile-political-group', 'profile-pronouns-gender', 'profile-ethnicity', 'profile-gender', 'profile-sexual-orientation', 'profile-trade-union', 'profile-sensitive-data']).describe('Default entities supported by data privacy and integration service'),
"replacement_strategy": zod.union([zod.object({
"method": zod.enum(['constant']),
"value": zod.string().describe('Value to be used for replacement')
}).describe('Replaces the entity with the specified value followed by an incrementing number'), zod.object({
"method": zod.enum(['fabricated_data'])
}).describe('Replaces the entity with a randomly generated value appropriate to its type.')]).optional().describe('Replacement strategy to be used for the entity')
}), zod.object({
"regex": zod.string().describe('Regular expression to match the entity'),
"replacement_strategy": zod.object({
"method": zod.enum(['constant']),
"value": zod.string().describe('Value to be used for replacement')
}).describe('Replaces the entity with the specified value followed by an incrementing number').describe('Replacement strategy to be used for the entity')
})])).min(1).describe('List of entities to be masked'),
"allowlist": zod.array(zod.string()).optional().describe('List of strings that should not be masked'),
"mask_grounding_input": zod.object({
"enabled": zod.boolean().default(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOneMaskingTwoMaskingProvidersItemOneMaskGroundingInputEnabledDefault).describe('controls whether the input to the grounding module will be masked with the configuration supplied in the masking module')
}).optional(),
"mask_file_input_method": zod.enum(['anonymization', 'skip']).optional().describe('Type of masking method to be used for file inputs. Required if file inputs are provided.')
})).min(1).describe('List of masking service providers. \*\*DEPRECATED\*\*: will be removed March 20, 2027. Use `providers` property instead.')
})]).optional(),
"grounding": zod.object({
"type": zod.union([zod.enum(['document_grounding_service']), zod.unknown()]),
"config": zod.object({
"filters": zod.array(zod.object({
"id": zod.string().optional().describe('Identifier of this SearchFilter - unique per request.'),
"search_config": zod.object({
"max_chunk_count": zod.int().gt(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOneGroundingConfigFiltersItemOneSearchConfigMaxChunkCountExclusiveMin).optional().describe('Maximum number of chunks to be returned. Cannot be used with \'maxDocumentCount\'.'),
"max_document_count": zod.int().gt(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOneGroundingConfigFiltersItemOneSearchConfigMaxDocumentCountExclusiveMin).optional().describe('[Only supports \'vector\' dataRepositoryType] - Maximum number of documents to be returned. Cannot be used with \'maxChunkCount\'. If maxDocumentCount is given, then only one chunk per document is returned.')
}).optional(),
"data_repositories": zod.array(zod.string()).default(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOneGroundingConfigFiltersItemOneDataRepositoriesDefault).describe('Specify [\'\*\'] to search across all DataRepositories or give a specific list of DataRepository ids.'),
"data_repository_type": zod.enum(['vector', 'help.sap.com']).describe('Only include DataRepositories with the given type.'),
"data_repository_metadata": zod.array(zod.object({
"key": zod.string().max(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOneGroundingConfigFiltersItemOneDataRepositoryMetadataItemKeyMax),
"value": zod.array(zod.string().max(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOneGroundingConfigFiltersItemOneDataRepositoryMetadataItemValueItemMax))
})).optional().describe('Restrict DataRepositories considered during search to those annotated with the given metadata. Useful when combined with dataRepositories=[\'\*\']'),
"document_metadata": zod.array(zod.object({
"key": zod.string().max(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOneGroundingConfigFiltersItemOneDocumentMetadataItemKeyMax),
"value": zod.array(zod.string().max(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOneGroundingConfigFiltersItemOneDocumentMetadataItemValueItemMax)),
"select_mode": zod.array(zod.enum(['ignoreIfKeyAbsent'])).optional().describe('Select mode for search filters')
})).optional().describe('Restrict documents considered during search to those annotated with the given metadata.'),
"chunk_metadata": zod.array(zod.object({
"key": zod.string().max(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOneGroundingConfigFiltersItemOneChunkMetadataItemKeyMax),
"value": zod.array(zod.string().max(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOneGroundingConfigFiltersItemOneChunkMetadataItemValueItemMax))
})).optional().describe('Restrict chunks considered during search to those with the given metadata.')
})).optional().describe('Document grounding service filters to be used'),
"placeholders": zod.object({
"input": zod.array(zod.string()).min(1).describe('Contains the input parameters used for grounding input questions'),
"output": zod.string().describe('Placeholder name for grounding output')
}).describe('Placeholders to be used for grounding input questions and output'),
"metadata_params": zod.array(zod.string()).optional().describe('Parameter name used for specifying metadata parameters')
})
}).optional(),
"translation": zod.object({
"input": zod.object({
"type": zod.enum(['sap_document_translation']).describe('Type of document translation provider'),
"translate_messages_history": zod.boolean().default(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesOneTranslationInputOneTranslateMessagesHistoryDefault).describe('If true, the messages history will be translated as well.'),
"config": zod.object({
"source_language": zod.string().optional().describe('Language of the text to be translated.'),
"apply_to": zod.array(zod.object({
"category": zod.enum(['placeholders', 'template_roles']).describe('Category to apply translation to.'),
"items": zod.array(zod.string()).describe('List of placeholders or roles to apply translation to'),
"source_language": zod.string().optional().describe('Language of the text to be translated.')
}).describe('This selector allows you to define the scope of translation, such as specific placeholders or messages with specific roles. For example, `{\"category\": \"placeholders\", \"items\": [\"user_input\"], \"source_language\": \"de-DE\"}` targets the value of \"user_input\" in `placeholder_values` specified in the request payload; and considers the value to be in German.\n')).min(1).optional(),
"target_language": zod.string().describe('Language to which the text should be translated.')
}).describe('Configuration for `sap_document_translation` translation provider.')
}).optional().describe('Configuration for input translation'),
"output": zod.object({
"type": zod.enum(['sap_document_translation']).describe('Configuration for `sap_document_translation` translation provider.'),
"config": zod.object({
"source_language": zod.string().optional().describe('Language of the text to be translated.'),
"target_language": zod.union([zod.string().describe('Language to which the text should be translated.'), zod.object({
"category": zod.enum(['placeholders', 'template_roles']).describe('Category to apply translation to.'),
"items": zod.array(zod.string()).describe('List of placeholders or roles to apply translation to'),
"source_language": zod.string().optional().describe('Language of the text to be translated.')
}).describe('This selector allows you to define the scope of translation, such as specific placeholders or messages with specific roles. For example, `{\"category\": \"placeholders\", \"items\": [\"user_input\"], \"source_language\": \"de-DE\"}` targets the value of \"user_input\" in `placeholder_values` specified in the request payload; and considers the value to be in German.\n')])
})
}).optional().describe('Configuration for output translation')
}).optional().describe('Configuration for translation module')
}).describe('Partial module configuration for use with config_ref overrides. All fields are optional so that only the modules that should be overridden need to be specified. The remaining configuration is taken from the referenced orchestration config.\n'), zod.array(zod.object({
"prompt_templating": zod.object({
"prompt": zod.union([zod.object({
"template": zod.array(zod.union([zod.object({
"role": zod.enum(['system']),
"content": zod.union([zod.string(), zod.array(zod.object({
"type": zod.enum(['text']),
"text": zod.string(),
"cache_control": zod.object({
"type": zod.enum(['ephemeral']),
"ttl": zod.enum(['5m', '1h']).optional().describe('Time-to-live for the cache entry. Default is \"5m\" (5 minutes). \"1h\" (1 hour) is supported on select models (e.g. Claude Opus 4.5, Haiku 4.5, Sonnet 4.5).\n')
}).optional().describe('Cache control directive for Anthropic prompt caching. Only applicable to Anthropic Claude models. When set, marks the content block as a cache breakpoint.\n')
})).min(1)])
}), zod.object({
"content": zod.union([zod.string(), zod.array(zod.object({
"type": zod.enum(['text', 'image_url', 'file']),
"text": zod.string().optional(),
"image_url": zod.object({
"url": zod.string(),
"detail": zod.string().default(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemPromptTemplatingPromptOneTemplateOneItemTwoContentTwoItemImageUrlDetailDefault)
}).optional(),
"file": zod.object({
"file_data": zod.string().describe('Base64 encoded file content or file URL'),
"filename": zod.string().optional().describe('Name of the file')
}).optional(),
"cache_control": zod.object({
"type": zod.enum(['ephemeral']),
"ttl": zod.enum(['5m', '1h']).optional().describe('Time-to-live for the cache entry. Default is \"5m\" (5 minutes). \"1h\" (1 hour) is supported on select models (e.g. Claude Opus 4.5, Haiku 4.5, Sonnet 4.5).\n')
}).optional().describe('Cache control directive for Anthropic prompt caching. Only applicable to Anthropic Claude models. When set, marks the content block as a cache breakpoint.\n')
})).min(1)]),
"role": zod.enum(['user'])
}), zod.object({
"role": zod.enum(['assistant']),
"content": zod.union([zod.string(), zod.array(zod.object({
"type": zod.enum(['text']),
"text": zod.string(),
"cache_control": zod.object({
"type": zod.enum(['ephemeral']),
"ttl": zod.enum(['5m', '1h']).optional().describe('Time-to-live for the cache entry. Default is \"5m\" (5 minutes). \"1h\" (1 hour) is supported on select models (e.g. Claude Opus 4.5, Haiku 4.5, Sonnet 4.5).\n')
}).optional().describe('Cache control directive for Anthropic prompt caching. Only applicable to Anthropic Claude models. When set, marks the content block as a cache breakpoint.\n')
})).min(1)]).optional(),
"refusal": zod.string().optional(),
"tool_calls": zod.array(zod.object({
"id": zod.string().describe('The ID of the tool call.'),
"type": zod.enum(['function']).describe('The type of the tool. Currently, only `function` is supported.'),
"function": zod.object({
"name": zod.string().describe('The name of the function to call.'),
"arguments": zod.string().describe('The arguments to call the function with, as generated by the model in JSON format. Note that the model does not always generate valid JSON, and may hallucinate parameters not defined by your function schema. Validate the arguments in your code before calling your function.')
}).describe('The function that the model called.')
})).optional().describe('The tool calls generated by the model, such as function calls.'),
"reasoning_content": zod.array(zod.object({
"content": zod.string().default(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemPromptTemplatingPromptOneTemplateOneItemThreeReasoningContentItemContentDefault),
"signature": zod.string().default(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemPromptTemplatingPromptOneTemplateOneItemThreeReasoningContentItemSignatureDefault)
})).optional().describe('Reasoning or thinking content from the model\'s previous turn.\n')
}), zod.object({
"role": zod.enum(['tool']),
"tool_call_id": zod.string(),
"content": zod.union([zod.string(), zod.array(zod.object({
"type": zod.enum(['text']),
"text": zod.string(),
"cache_control": zod.object({
"type": zod.enum(['ephemeral']),
"ttl": zod.enum(['5m', '1h']).optional().describe('Time-to-live for the cache entry. Default is \"5m\" (5 minutes). \"1h\" (1 hour) is supported on select models (e.g. Claude Opus 4.5, Haiku 4.5, Sonnet 4.5).\n')
}).optional().describe('Cache control directive for Anthropic prompt caching. Only applicable to Anthropic Claude models. When set, marks the content block as a cache breakpoint.\n')
})).min(1)])
}), zod.object({
"role": zod.enum(['developer']),
"content": zod.union([zod.string(), zod.array(zod.object({
"type": zod.enum(['text']),
"text": zod.string(),
"cache_control": zod.object({
"type": zod.enum(['ephemeral']),
"ttl": zod.enum(['5m', '1h']).optional().describe('Time-to-live for the cache entry. Default is \"5m\" (5 minutes). \"1h\" (1 hour) is supported on select models (e.g. Claude Opus 4.5, Haiku 4.5, Sonnet 4.5).\n')
}).optional().describe('Cache control directive for Anthropic prompt caching. Only applicable to Anthropic Claude models. When set, marks the content block as a cache breakpoint.\n')
})).min(1)])
})])).min(1).describe('A chat message array to be formatted with values from placeholder_values. Both role and content can be templated. If messages_history is provided, the templated messages will be appended.'),
"defaults": zod.record(zod.string(), zod.string()).optional().describe('Optional default values for the template. If a parameter has no default it is required.'),
"response_format": zod.union([zod.object({
"type": zod.enum(['text']).describe('The type of response format being defined: `text`')
}), zod.object({
"type": zod.enum(['json_object']).describe('The type of response format being defined: `json_object`')
}), zod.object({
"type": zod.enum(['json_schema']).describe('The type of response format being defined: `json_schema`'),
"json_schema": zod.object({
"description": zod.string().optional().describe('A description of what the response format is for, used by the model to determine how to respond in the format.'),
"name": zod.string().max(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemPromptTemplatingPromptOneResponseFormatThreeJsonSchemaNameMax).regex(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemPromptTemplatingPromptOneResponseFormatThreeJsonSchemaNameRegExp).describe('The name of the response format. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64.'),
"schema": zod.record(zod.string(), zod.unknown()).optional().describe('The schema for the response format, described as a JSON Schema object.'),
"strict": zod.boolean().nullish().default(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemPromptTemplatingPromptOneResponseFormatThreeJsonSchemaStrictDefault).describe('Whether to enable strict schema adherence when generating the output. If set to true, the model will always follow the exact schema defined in the `schema` field. Only a subset of JSON Schema is supported when `strict` is `true`. To learn more, read the [Structured Outputs guide](https:\/\/platform.openai.com\/docs\/guides\/structured-outputs).')
})
})]).optional().describe('Response format that the model output should adhere to. This is the same as the OpenAI definition.\n'),
"tools": zod.array(zod.object({
"type": zod.enum(['function']).describe('The type of the tool. Currently, only `function` is supported.'),
"function": zod.object({
"description": zod.string().optional().describe('A description of what the function does, used by the model to choose when and how to call the function.'),
"name": zod.string().max(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemPromptTemplatingPromptOneToolsItemFunctionNameMax).regex(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemPromptTemplatingPromptOneToolsItemFunctionNameRegExp).describe('The name of the function to be called. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64.'),
"parameters": zod.record(zod.string(), zod.unknown()).optional().describe('The parameters the functions accepts, described as a JSON Schema object. See the [guide](https:\/\/platform.openai.com\/docs\/guides\/function-calling) for examples, and the [JSON Schema reference](https:\/\/json-schema.org\/understanding-json-schema\/) for documentation about the format. Omitting `parameters` defines a function with an empty parameter list.'),
"strict": zod.boolean().nullish().default(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemPromptTemplatingPromptOneToolsItemFunctionStrictDefault).describe('Whether to enable strict schema adherence when generating the function call. If set to true, the model will follow the exact schema defined in the `parameters` field. Only a subset of JSON Schema is supported when `strict` is `true`. Learn more about Structured Outputs in the [function calling guide](docs\/guides\/function-calling).')
}),
"cache_control": zod.object({
"type": zod.enum(['ephemeral']),
"ttl": zod.enum(['5m', '1h']).optional().describe('Time-to-live for the cache entry. Default is \"5m\" (5 minutes). \"1h\" (1 hour) is supported on select models (e.g. Claude Opus 4.5, Haiku 4.5, Sonnet 4.5).\n')
}).optional().describe('Cache control directive for Anthropic prompt caching. Only applicable to Anthropic Claude models. When set, marks the content block as a cache breakpoint.\n')
})).optional().describe('A list of tools the model may call. Used to provide a list of functions the model may generate JSON inputs for. This is the same as the OpenAI definition.\n')
}), zod.object({
"template_ref": zod.union([zod.object({
"id": zod.string().describe('ID of the template in prompt registry'),
"scope": zod.enum(['resource_group', 'tenant']).default(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemPromptTemplatingPromptTwoTemplateRefOneScopeDefault).describe('Defines the scope that is searched for the referenced template. \'tenant\' indicates the template is shared across all resource groups within the tenant, while \'resource_group\' indicates the template is only accessible within the specific resource group.\n')
}), zod.object({
"scenario": zod.string().describe('Scenario name'),
"name": zod.string().describe('Name of the template'),
"version": zod.string().describe('Version of the template'),
"scope": zod.enum(['resource_group', 'tenant']).default(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemPromptTemplatingPromptTwoTemplateRefTwoScopeDefault).describe('Defines the scope that is searched for the referenced template. \'tenant\' indicates the template is shared across all resource groups within the tenant, while \'resource_group\' indicates the template is only accessible within the specific resource group.\n')
})]).describe('Reference to a template in the prompt registry by ID or by scenario, name and version')
})]).optional().describe('The prompt template to be used. Can be either a user defined template or a reference to a template in the prompt registry. If omitted, messages_history must be provided in the request body.\n'),
"model": zod.object({
"name": zod.string().describe('Name of the model as in LLM Access configuration'),
"version": zod.string().default(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemPromptTemplatingModelVersionDefault).describe('Version of the model to be used'),
"params": zod.record(zod.string(), zod.unknown()).optional().describe('Additional parameters for the model. Default values are used for mandatory parameters.'),
"timeout": zod.int().min(1).max(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemPromptTemplatingModelTimeoutMax).default(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemPromptTemplatingModelTimeoutDefault).describe('Timeout for the LLM request in seconds. This parameter is currently ignored for Vertex AI models.'),
"max_retries": zod.int().min(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemPromptTemplatingModelMaxRetriesMin).max(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemPromptTemplatingModelMaxRetriesMax).default(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemPromptTemplatingModelMaxRetriesDefault).describe('Maximum number of retries for the LLM request. This parameter is currently ignored for Vertex AI models.')
}).describe('The model and parameters to be used for the prompt templating. This is the model that will be used to generate the response.\n')
}),
"filtering": zod.object({
"input": zod.object({
"filters": zod.array(zod.union([zod.object({
"type": zod.enum(['azure_content_safety']).describe('Name of the filter provider type'),
"config": zod.object({
"hate": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"self_harm": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"sexual": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"violence": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"prompt_shield": zod.boolean().default(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemFilteringInputOneFiltersItemOneConfigPromptShieldDefault).describe('Filter prompts for harmful content such as jailbreaks and prompt injections.')
}).optional().describe('Filter configuration for Azure Content Safety')
}), zod.object({
"type": zod.enum(['llama_guard_3_8b']).describe('Name of the filter provider type'),
"config": zod.object({
"violent_crimes": zod.boolean().optional(),
"non_violent_crimes": zod.boolean().optional(),
"sex_crimes": zod.boolean().optional(),
"child_exploitation": zod.boolean().optional(),
"defamation": zod.boolean().optional(),
"specialized_advice": zod.boolean().optional(),
"privacy": zod.boolean().optional(),
"intellectual_property": zod.boolean().optional(),
"indiscriminate_weapons": zod.boolean().optional(),
"hate": zod.boolean().optional(),
"self_harm": zod.boolean().optional(),
"sexual_content": zod.boolean().optional(),
"elections": zod.boolean().optional(),
"code_interpreter_abuse": zod.boolean().optional()
}).describe('Filter configuration for Llama Guard 3 8B')
})])).min(1).describe('Configuration for content filtering services that should be used for the given filtering step (input filtering).')
}).optional().describe('List of provider type and filters'),
"output": zod.object({
"filters": zod.array(zod.union([zod.object({
"type": zod.enum(['azure_content_safety']).describe('Name of the filter provider type'),
"config": zod.object({
"hate": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"self_harm": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"sexual": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"violence": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"protected_material_code": zod.boolean().default(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemFilteringOutputOneFiltersItemOneConfigProtectedMaterialCodeDefault).describe('Detect protected code content from known GitHub repositories. The scan includes software libraries, source code, algorithms, and other proprietary programming content.')
}).optional().describe('Filter configuration for Azure Content Safety')
}), zod.object({
"type": zod.enum(['llama_guard_3_8b']).describe('Name of the filter provider type'),
"config": zod.object({
"violent_crimes": zod.boolean().optional(),
"non_violent_crimes": zod.boolean().optional(),
"sex_crimes": zod.boolean().optional(),
"child_exploitation": zod.boolean().optional(),
"defamation": zod.boolean().optional(),
"specialized_advice": zod.boolean().optional(),
"privacy": zod.boolean().optional(),
"intellectual_property": zod.boolean().optional(),
"indiscriminate_weapons": zod.boolean().optional(),
"hate": zod.boolean().optional(),
"self_harm": zod.boolean().optional(),
"sexual_content": zod.boolean().optional(),
"elections": zod.boolean().optional(),
"code_interpreter_abuse": zod.boolean().optional()
}).describe('Filter configuration for Llama Guard 3 8B')
})])).min(1).describe('Configuration for content filtering services that should be used for the given filtering step (output filtering).'),
"stream_options": zod.object({
"overlap": zod.int().min(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemFilteringOutputOneStreamOptionsOverlapMin).max(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemFilteringOutputOneStreamOptionsOverlapMax).default(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemFilteringOutputOneStreamOptionsOverlapDefault).describe('Number of characters that should be additionally sent to content filtering services from previous chunks as additional context.')
}).optional().describe('Stream options for output filtering. Will be ignored if stream is false.')
}).optional().describe('List of provider type and filters')
}).optional(),
"masking": zod.union([zod.object({
"providers": zod.array(zod.object({
"type": zod.enum(['sap_data_privacy_integration']).describe('Type of masking service provider'),
"method": zod.enum(['anonymization', 'pseudonymization']).describe('Type of masking method to be used'),
"entities": zod.array(zod.union([zod.object({
"type": zod.enum(['profile-person', 'profile-org', 'profile-university', 'profile-location', 'profile-email', 'profile-phone', 'profile-address', 'profile-sapids-internal', 'profile-sapids-public', 'profile-url', 'profile-username-password', 'profile-nationalid', 'profile-iban', 'profile-ssn', 'profile-credit-card-number', 'profile-passport', 'profile-driverlicense', 'profile-nationality', 'profile-religious-group', 'profile-political-group', 'profile-pronouns-gender', 'profile-ethnicity', 'profile-gender', 'profile-sexual-orientation', 'profile-trade-union', 'profile-sensitive-data']).describe('Default entities supported by data privacy and integration service'),
"replacement_strategy": zod.union([zod.object({
"method": zod.enum(['constant']),
"value": zod.string().describe('Value to be used for replacement')
}).describe('Replaces the entity with the specified value followed by an incrementing number'), zod.object({
"method": zod.enum(['fabricated_data'])
}).describe('Replaces the entity with a randomly generated value appropriate to its type.')]).optional().describe('Replacement strategy to be used for the entity')
}), zod.object({
"regex": zod.string().describe('Regular expression to match the entity'),
"replacement_strategy": zod.object({
"method": zod.enum(['constant']),
"value": zod.string().describe('Value to be used for replacement')
}).describe('Replaces the entity with the specified value followed by an incrementing number').describe('Replacement strategy to be used for the entity')
})])).min(1).describe('List of entities to be masked'),
"allowlist": zod.array(zod.string()).optional().describe('List of strings that should not be masked'),
"mask_grounding_input": zod.object({
"enabled": zod.boolean().default(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemMaskingOneProvidersItemOneMaskGroundingInputEnabledDefault).describe('controls whether the input to the grounding module will be masked with the configuration supplied in the masking module')
}).optional(),
"mask_file_input_method": zod.enum(['anonymization', 'skip']).optional().describe('Type of masking method to be used for file inputs. Required if file inputs are provided.')
})).min(1).describe('List of masking service providers')
}), zod.object({
"masking_providers": zod.array(zod.object({
"type": zod.enum(['sap_data_privacy_integration']).describe('Type of masking service provider'),
"method": zod.enum(['anonymization', 'pseudonymization']).describe('Type of masking method to be used'),
"entities": zod.array(zod.union([zod.object({
"type": zod.enum(['profile-person', 'profile-org', 'profile-university', 'profile-location', 'profile-email', 'profile-phone', 'profile-address', 'profile-sapids-internal', 'profile-sapids-public', 'profile-url', 'profile-username-password', 'profile-nationalid', 'profile-iban', 'profile-ssn', 'profile-credit-card-number', 'profile-passport', 'profile-driverlicense', 'profile-nationality', 'profile-religious-group', 'profile-political-group', 'profile-pronouns-gender', 'profile-ethnicity', 'profile-gender', 'profile-sexual-orientation', 'profile-trade-union', 'profile-sensitive-data']).describe('Default entities supported by data privacy and integration service'),
"replacement_strategy": zod.union([zod.object({
"method": zod.enum(['constant']),
"value": zod.string().describe('Value to be used for replacement')
}).describe('Replaces the entity with the specified value followed by an incrementing number'), zod.object({
"method": zod.enum(['fabricated_data'])
}).describe('Replaces the entity with a randomly generated value appropriate to its type.')]).optional().describe('Replacement strategy to be used for the entity')
}), zod.object({
"regex": zod.string().describe('Regular expression to match the entity'),
"replacement_strategy": zod.object({
"method": zod.enum(['constant']),
"value": zod.string().describe('Value to be used for replacement')
}).describe('Replaces the entity with the specified value followed by an incrementing number').describe('Replacement strategy to be used for the entity')
})])).min(1).describe('List of entities to be masked'),
"allowlist": zod.array(zod.string()).optional().describe('List of strings that should not be masked'),
"mask_grounding_input": zod.object({
"enabled": zod.boolean().default(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemMaskingTwoMaskingProvidersItemOneMaskGroundingInputEnabledDefault).describe('controls whether the input to the grounding module will be masked with the configuration supplied in the masking module')
}).optional(),
"mask_file_input_method": zod.enum(['anonymization', 'skip']).optional().describe('Type of masking method to be used for file inputs. Required if file inputs are provided.')
})).min(1).describe('List of masking service providers. \*\*DEPRECATED\*\*: will be removed March 20, 2027. Use `providers` property instead.')
})]).optional(),
"grounding": zod.object({
"type": zod.union([zod.enum(['document_grounding_service']), zod.unknown()]),
"config": zod.object({
"filters": zod.array(zod.object({
"id": zod.string().optional().describe('Identifier of this SearchFilter - unique per request.'),
"search_config": zod.object({
"max_chunk_count": zod.int().gt(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemGroundingConfigFiltersItemOneSearchConfigMaxChunkCountExclusiveMin).optional().describe('Maximum number of chunks to be returned. Cannot be used with \'maxDocumentCount\'.'),
"max_document_count": zod.int().gt(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemGroundingConfigFiltersItemOneSearchConfigMaxDocumentCountExclusiveMin).optional().describe('[Only supports \'vector\' dataRepositoryType] - Maximum number of documents to be returned. Cannot be used with \'maxChunkCount\'. If maxDocumentCount is given, then only one chunk per document is returned.')
}).optional(),
"data_repositories": zod.array(zod.string()).default(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemGroundingConfigFiltersItemOneDataRepositoriesDefault).describe('Specify [\'\*\'] to search across all DataRepositories or give a specific list of DataRepository ids.'),
"data_repository_type": zod.enum(['vector', 'help.sap.com']).describe('Only include DataRepositories with the given type.'),
"data_repository_metadata": zod.array(zod.object({
"key": zod.string().max(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemGroundingConfigFiltersItemOneDataRepositoryMetadataItemKeyMax),
"value": zod.array(zod.string().max(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemGroundingConfigFiltersItemOneDataRepositoryMetadataItemValueItemMax))
})).optional().describe('Restrict DataRepositories considered during search to those annotated with the given metadata. Useful when combined with dataRepositories=[\'\*\']'),
"document_metadata": zod.array(zod.object({
"key": zod.string().max(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemGroundingConfigFiltersItemOneDocumentMetadataItemKeyMax),
"value": zod.array(zod.string().max(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemGroundingConfigFiltersItemOneDocumentMetadataItemValueItemMax)),
"select_mode": zod.array(zod.enum(['ignoreIfKeyAbsent'])).optional().describe('Select mode for search filters')
})).optional().describe('Restrict documents considered during search to those annotated with the given metadata.'),
"chunk_metadata": zod.array(zod.object({
"key": zod.string().max(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemGroundingConfigFiltersItemOneChunkMetadataItemKeyMax),
"value": zod.array(zod.string().max(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemGroundingConfigFiltersItemOneChunkMetadataItemValueItemMax))
})).optional().describe('Restrict chunks considered during search to those with the given metadata.')
})).optional().describe('Document grounding service filters to be used'),
"placeholders": zod.object({
"input": zod.array(zod.string()).min(1).describe('Contains the input parameters used for grounding input questions'),
"output": zod.string().describe('Placeholder name for grounding output')
}).describe('Placeholders to be used for grounding input questions and output'),
"metadata_params": zod.array(zod.string()).optional().describe('Parameter name used for specifying metadata parameters')
})
}).optional(),
"translation": zod.object({
"input": zod.object({
"type": zod.enum(['sap_document_translation']).describe('Type of document translation provider'),
"translate_messages_history": zod.boolean().default(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecModulesTwoItemTranslationInputOneTranslateMessagesHistoryDefault).describe('If true, the messages history will be translated as well.'),
"config": zod.object({
"source_language": zod.string().optional().describe('Language of the text to be translated.'),
"apply_to": zod.array(zod.object({
"category": zod.enum(['placeholders', 'template_roles']).describe('Category to apply translation to.'),
"items": zod.array(zod.string()).describe('List of placeholders or roles to apply translation to'),
"source_language": zod.string().optional().describe('Language of the text to be translated.')
}).describe('This selector allows you to define the scope of translation, such as specific placeholders or messages with specific roles. For example, `{\"category\": \"placeholders\", \"items\": [\"user_input\"], \"source_language\": \"de-DE\"}` targets the value of \"user_input\" in `placeholder_values` specified in the request payload; and considers the value to be in German.\n')).min(1).optional(),
"target_language": zod.string().describe('Language to which the text should be translated.')
}).describe('Configuration for `sap_document_translation` translation provider.')
}).optional().describe('Configuration for input translation'),
"output": zod.object({
"type": zod.enum(['sap_document_translation']).describe('Configuration for `sap_document_translation` translation provider.'),
"config": zod.object({
"source_language": zod.string().optional().describe('Language of the text to be translated.'),
"target_language": zod.union([zod.string().describe('Language to which the text should be translated.'), zod.object({
"category": zod.enum(['placeholders', 'template_roles']).describe('Category to apply translation to.'),
"items": zod.array(zod.string()).describe('List of placeholders or roles to apply translation to'),
"source_language": zod.string().optional().describe('Language of the text to be translated.')
}).describe('This selector allows you to define the scope of translation, such as specific placeholders or messages with specific roles. For example, `{\"category\": \"placeholders\", \"items\": [\"user_input\"], \"source_language\": \"de-DE\"}` targets the value of \"user_input\" in `placeholder_values` specified in the request payload; and considers the value to be in German.\n')])
})
}).optional().describe('Configuration for output translation')
}).optional().describe('Configuration for translation module')
})).min(1).describe('A list of module configurations. The first configuration in the list that succeeds will be used.\n')]).optional(),
"stream": zod.object({
"enabled": zod.boolean().default(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecStreamEnabledDefault).describe('If true, the response will be streamed back to the client'),
"chunk_size": zod.int().min(1).max(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecStreamChunkSizeMax).default(registryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigBodySpecStreamChunkSizeDefault).describe('Minimum number of characters per chunk that post-LLM modules operate on.'),
"delimiters": zod.array(zod.string()).min(1).optional().describe('List of delimiters to split the input text into chunks.Please note, this is a required parameter when `input_translation_module_config` or `output_translation_module_config` are configured.')
}).optional().describe('Options for streaming. Will be ignored if enabled is false.')
})
});
export const RegistryControllerOrchestrationConfigControllerCreateUpdateOrchestrationConfigResponse = zod.object({
"message": zod.string(),
"id": zod.uuid(),
"scenario": zod.string(),
"name": zod.string(),
"version": zod.string()
});
/**
* List orchestration configs
*/
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsQueryRetrieveDefault = `both`;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsQueryIncludeSpecDefault = false;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsQueryResolveTemplateRefDefault = false;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsQueryTopMax = 500;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsQuerySkipDefault = 0;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsQuerySkipMin = 0;
export const RegistryControllerOrchestrationConfigControllerListOrchestrationConfigsQueryParams = zod.object({
"scenario": zod.string().optional(),
"name": zod.string().optional(),
"version": zod.string().optional(),
"retrieve": zod.enum(['both', 'imperative', 'declarative']).default(registryControllerOrchestrationConfigControllerListOrchestrationConfigsQueryRetrieveDefault),
"include_spec": zod.boolean().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigsQueryIncludeSpecDefault).describe('DEPRECATED: Use includeSpec instead'),
"includeSpec": zod.boolean().optional(),
"resolve_template_ref": zod.boolean().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigsQueryResolveTemplateRefDefault).describe('DEPRECATED: Use resolveTemplateRef instead'),
"resolveTemplateRef": zod.boolean().optional(),
"$top": zod.int().min(1).max(registryControllerOrchestrationConfigControllerListOrchestrationConfigsQueryTopMax).optional().describe('Number of results to return (1–500). When omitted the full result set is returned (up to the server limit).'),
"$skip": zod.int().min(registryControllerOrchestrationConfigControllerListOrchestrationConfigsQuerySkipMin).default(registryControllerOrchestrationConfigControllerListOrchestrationConfigsQuerySkipDefault).describe('Number of results to skip before returning the page.')
});
export const RegistryControllerOrchestrationConfigControllerListOrchestrationConfigsHeader = zod.object({
"AI-Resource-Group": zod.string().optional().describe('Specify a resource group id to use')
});
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOnePromptTemplatingPromptOneTemplateOneItemTwoContentTwoItemImageUrlDetailDefault = `auto`;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOnePromptTemplatingPromptOneTemplateOneItemThreeReasoningContentItemContentDefault = ``;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOnePromptTemplatingPromptOneTemplateOneItemThreeReasoningContentItemSignatureDefault = ``;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOnePromptTemplatingPromptOneResponseFormatThreeJsonSchemaNameMax = 64;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOnePromptTemplatingPromptOneResponseFormatThreeJsonSchemaNameRegExp = new RegExp('^[a-zA-Z0-9-_]+$');
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOnePromptTemplatingPromptOneResponseFormatThreeJsonSchemaStrictDefault = false;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOnePromptTemplatingPromptOneToolsItemFunctionNameMax = 64;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOnePromptTemplatingPromptOneToolsItemFunctionNameRegExp = new RegExp('^[a-zA-Z0-9-_]+$');
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOnePromptTemplatingPromptOneToolsItemFunctionStrictDefault = false;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOnePromptTemplatingPromptTwoTemplateRefOneScopeDefault = `tenant`;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOnePromptTemplatingPromptTwoTemplateRefTwoScopeDefault = `tenant`;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOnePromptTemplatingModelVersionDefault = `latest`;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOnePromptTemplatingModelTimeoutDefault = 600;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOnePromptTemplatingModelTimeoutMax = 1200;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOnePromptTemplatingModelMaxRetriesDefault = 2;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOnePromptTemplatingModelMaxRetriesMin = 0;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOnePromptTemplatingModelMaxRetriesMax = 5;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOneFilteringInputOneFiltersItemOneConfigPromptShieldDefault = false;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOneFilteringOutputOneFiltersItemOneConfigProtectedMaterialCodeDefault = false;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOneFilteringOutputOneStreamOptionsOverlapDefault = 0;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOneFilteringOutputOneStreamOptionsOverlapMin = 0;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOneFilteringOutputOneStreamOptionsOverlapMax = 10000;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOneMaskingOneProvidersItemOneMaskGroundingInputEnabledDefault = false;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOneMaskingTwoMaskingProvidersItemOneMaskGroundingInputEnabledDefault = false;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOneGroundingConfigFiltersItemOneSearchConfigMaxChunkCountExclusiveMin = 0;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOneGroundingConfigFiltersItemOneSearchConfigMaxDocumentCountExclusiveMin = 0;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOneGroundingConfigFiltersItemOneDataRepositoriesDefault = [`*`];
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOneGroundingConfigFiltersItemOneDataRepositoryMetadataItemKeyMax = 1024;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOneGroundingConfigFiltersItemOneDataRepositoryMetadataItemValueItemMax = 1024;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOneGroundingConfigFiltersItemOneDocumentMetadataItemKeyMax = 1024;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOneGroundingConfigFiltersItemOneDocumentMetadataItemValueItemMax = 1024;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOneGroundingConfigFiltersItemOneChunkMetadataItemKeyMax = 1024;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOneGroundingConfigFiltersItemOneChunkMetadataItemValueItemMax = 1024;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOneTranslationInputOneTranslateMessagesHistoryDefault = true;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemPromptTemplatingPromptOneTemplateOneItemTwoContentTwoItemImageUrlDetailDefault = `auto`;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemPromptTemplatingPromptOneTemplateOneItemThreeReasoningContentItemContentDefault = ``;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemPromptTemplatingPromptOneTemplateOneItemThreeReasoningContentItemSignatureDefault = ``;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemPromptTemplatingPromptOneResponseFormatThreeJsonSchemaNameMax = 64;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemPromptTemplatingPromptOneResponseFormatThreeJsonSchemaNameRegExp = new RegExp('^[a-zA-Z0-9-_]+$');
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemPromptTemplatingPromptOneResponseFormatThreeJsonSchemaStrictDefault = false;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemPromptTemplatingPromptOneToolsItemFunctionNameMax = 64;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemPromptTemplatingPromptOneToolsItemFunctionNameRegExp = new RegExp('^[a-zA-Z0-9-_]+$');
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemPromptTemplatingPromptOneToolsItemFunctionStrictDefault = false;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemPromptTemplatingPromptTwoTemplateRefOneScopeDefault = `tenant`;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemPromptTemplatingPromptTwoTemplateRefTwoScopeDefault = `tenant`;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemPromptTemplatingModelVersionDefault = `latest`;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemPromptTemplatingModelTimeoutDefault = 600;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemPromptTemplatingModelTimeoutMax = 1200;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemPromptTemplatingModelMaxRetriesDefault = 2;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemPromptTemplatingModelMaxRetriesMin = 0;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemPromptTemplatingModelMaxRetriesMax = 5;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemFilteringInputOneFiltersItemOneConfigPromptShieldDefault = false;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemFilteringOutputOneFiltersItemOneConfigProtectedMaterialCodeDefault = false;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemFilteringOutputOneStreamOptionsOverlapDefault = 0;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemFilteringOutputOneStreamOptionsOverlapMin = 0;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemFilteringOutputOneStreamOptionsOverlapMax = 10000;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemMaskingOneProvidersItemOneMaskGroundingInputEnabledDefault = false;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemMaskingTwoMaskingProvidersItemOneMaskGroundingInputEnabledDefault = false;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemGroundingConfigFiltersItemOneSearchConfigMaxChunkCountExclusiveMin = 0;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemGroundingConfigFiltersItemOneSearchConfigMaxDocumentCountExclusiveMin = 0;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemGroundingConfigFiltersItemOneDataRepositoriesDefault = [`*`];
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemGroundingConfigFiltersItemOneDataRepositoryMetadataItemKeyMax = 1024;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemGroundingConfigFiltersItemOneDataRepositoryMetadataItemValueItemMax = 1024;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemGroundingConfigFiltersItemOneDocumentMetadataItemKeyMax = 1024;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemGroundingConfigFiltersItemOneDocumentMetadataItemValueItemMax = 1024;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemGroundingConfigFiltersItemOneChunkMetadataItemKeyMax = 1024;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemGroundingConfigFiltersItemOneChunkMetadataItemValueItemMax = 1024;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemTranslationInputOneTranslateMessagesHistoryDefault = true;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecStreamEnabledDefault = false;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecStreamChunkSizeDefault = 100;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecStreamChunkSizeMax = 10000;
export const RegistryControllerOrchestrationConfigControllerListOrchestrationConfigsResponse = zod.object({
"count": zod.int(),
"resources": zod.array(zod.object({
"id": zod.uuid().optional(),
"name": zod.string().optional(),
"version": zod.string().optional(),
"scenario": zod.string().optional(),
"creation_timestamp": zod.string().optional(),
"managed_by": zod.string().optional(),
"is_version_head": zod.boolean().optional(),
"resource_group_id": zod.string().optional(),
"spec": zod.object({
"modules": zod.union([zod.object({
"prompt_templating": zod.object({
"prompt": zod.union([zod.object({
"template": zod.array(zod.union([zod.object({
"role": zod.enum(['system']),
"content": zod.union([zod.string(), zod.array(zod.object({
"type": zod.enum(['text']),
"text": zod.string(),
"cache_control": zod.object({
"type": zod.enum(['ephemeral']),
"ttl": zod.enum(['5m', '1h']).optional().describe('Time-to-live for the cache entry. Default is \"5m\" (5 minutes). \"1h\" (1 hour) is supported on select models (e.g. Claude Opus 4.5, Haiku 4.5, Sonnet 4.5).\n')
}).optional().describe('Cache control directive for Anthropic prompt caching. Only applicable to Anthropic Claude models. When set, marks the content block as a cache breakpoint.\n')
})).min(1)])
}), zod.object({
"content": zod.union([zod.string(), zod.array(zod.object({
"type": zod.enum(['text', 'image_url', 'file']),
"text": zod.string().optional(),
"image_url": zod.object({
"url": zod.string(),
"detail": zod.string().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOnePromptTemplatingPromptOneTemplateOneItemTwoContentTwoItemImageUrlDetailDefault)
}).optional(),
"file": zod.object({
"file_data": zod.string().describe('Base64 encoded file content or file URL'),
"filename": zod.string().optional().describe('Name of the file')
}).optional(),
"cache_control": zod.object({
"type": zod.enum(['ephemeral']),
"ttl": zod.enum(['5m', '1h']).optional().describe('Time-to-live for the cache entry. Default is \"5m\" (5 minutes). \"1h\" (1 hour) is supported on select models (e.g. Claude Opus 4.5, Haiku 4.5, Sonnet 4.5).\n')
}).optional().describe('Cache control directive for Anthropic prompt caching. Only applicable to Anthropic Claude models. When set, marks the content block as a cache breakpoint.\n')
})).min(1)]),
"role": zod.enum(['user'])
}), zod.object({
"role": zod.enum(['assistant']),
"content": zod.union([zod.string(), zod.array(zod.object({
"type": zod.enum(['text']),
"text": zod.string(),
"cache_control": zod.object({
"type": zod.enum(['ephemeral']),
"ttl": zod.enum(['5m', '1h']).optional().describe('Time-to-live for the cache entry. Default is \"5m\" (5 minutes). \"1h\" (1 hour) is supported on select models (e.g. Claude Opus 4.5, Haiku 4.5, Sonnet 4.5).\n')
}).optional().describe('Cache control directive for Anthropic prompt caching. Only applicable to Anthropic Claude models. When set, marks the content block as a cache breakpoint.\n')
})).min(1)]).optional(),
"refusal": zod.string().optional(),
"tool_calls": zod.array(zod.object({
"id": zod.string().describe('The ID of the tool call.'),
"type": zod.enum(['function']).describe('The type of the tool. Currently, only `function` is supported.'),
"function": zod.object({
"name": zod.string().describe('The name of the function to call.'),
"arguments": zod.string().describe('The arguments to call the function with, as generated by the model in JSON format. Note that the model does not always generate valid JSON, and may hallucinate parameters not defined by your function schema. Validate the arguments in your code before calling your function.')
}).describe('The function that the model called.')
})).optional().describe('The tool calls generated by the model, such as function calls.'),
"reasoning_content": zod.array(zod.object({
"content": zod.string().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOnePromptTemplatingPromptOneTemplateOneItemThreeReasoningContentItemContentDefault),
"signature": zod.string().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOnePromptTemplatingPromptOneTemplateOneItemThreeReasoningContentItemSignatureDefault)
})).optional().describe('Reasoning or thinking content from the model\'s previous turn.\n')
}), zod.object({
"role": zod.enum(['tool']),
"tool_call_id": zod.string(),
"content": zod.union([zod.string(), zod.array(zod.object({
"type": zod.enum(['text']),
"text": zod.string(),
"cache_control": zod.object({
"type": zod.enum(['ephemeral']),
"ttl": zod.enum(['5m', '1h']).optional().describe('Time-to-live for the cache entry. Default is \"5m\" (5 minutes). \"1h\" (1 hour) is supported on select models (e.g. Claude Opus 4.5, Haiku 4.5, Sonnet 4.5).\n')
}).optional().describe('Cache control directive for Anthropic prompt caching. Only applicable to Anthropic Claude models. When set, marks the content block as a cache breakpoint.\n')
})).min(1)])
}), zod.object({
"role": zod.enum(['developer']),
"content": zod.union([zod.string(), zod.array(zod.object({
"type": zod.enum(['text']),
"text": zod.string(),
"cache_control": zod.object({
"type": zod.enum(['ephemeral']),
"ttl": zod.enum(['5m', '1h']).optional().describe('Time-to-live for the cache entry. Default is \"5m\" (5 minutes). \"1h\" (1 hour) is supported on select models (e.g. Claude Opus 4.5, Haiku 4.5, Sonnet 4.5).\n')
}).optional().describe('Cache control directive for Anthropic prompt caching. Only applicable to Anthropic Claude models. When set, marks the content block as a cache breakpoint.\n')
})).min(1)])
})])).min(1).describe('A chat message array to be formatted with values from placeholder_values. Both role and content can be templated. If messages_history is provided, the templated messages will be appended.'),
"defaults": zod.record(zod.string(), zod.string()).optional().describe('Optional default values for the template. If a parameter has no default it is required.'),
"response_format": zod.union([zod.object({
"type": zod.enum(['text']).describe('The type of response format being defined: `text`')
}), zod.object({
"type": zod.enum(['json_object']).describe('The type of response format being defined: `json_object`')
}), zod.object({
"type": zod.enum(['json_schema']).describe('The type of response format being defined: `json_schema`'),
"json_schema": zod.object({
"description": zod.string().optional().describe('A description of what the response format is for, used by the model to determine how to respond in the format.'),
"name": zod.string().max(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOnePromptTemplatingPromptOneResponseFormatThreeJsonSchemaNameMax).regex(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOnePromptTemplatingPromptOneResponseFormatThreeJsonSchemaNameRegExp).describe('The name of the response format. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64.'),
"schema": zod.record(zod.string(), zod.unknown()).optional().describe('The schema for the response format, described as a JSON Schema object.'),
"strict": zod.boolean().nullish().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOnePromptTemplatingPromptOneResponseFormatThreeJsonSchemaStrictDefault).describe('Whether to enable strict schema adherence when generating the output. If set to true, the model will always follow the exact schema defined in the `schema` field. Only a subset of JSON Schema is supported when `strict` is `true`. To learn more, read the [Structured Outputs guide](https:\/\/platform.openai.com\/docs\/guides\/structured-outputs).')
})
})]).optional().describe('Response format that the model output should adhere to. This is the same as the OpenAI definition.\n'),
"tools": zod.array(zod.object({
"type": zod.enum(['function']).describe('The type of the tool. Currently, only `function` is supported.'),
"function": zod.object({
"description": zod.string().optional().describe('A description of what the function does, used by the model to choose when and how to call the function.'),
"name": zod.string().max(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOnePromptTemplatingPromptOneToolsItemFunctionNameMax).regex(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOnePromptTemplatingPromptOneToolsItemFunctionNameRegExp).describe('The name of the function to be called. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64.'),
"parameters": zod.record(zod.string(), zod.unknown()).optional().describe('The parameters the functions accepts, described as a JSON Schema object. See the [guide](https:\/\/platform.openai.com\/docs\/guides\/function-calling) for examples, and the [JSON Schema reference](https:\/\/json-schema.org\/understanding-json-schema\/) for documentation about the format. Omitting `parameters` defines a function with an empty parameter list.'),
"strict": zod.boolean().nullish().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOnePromptTemplatingPromptOneToolsItemFunctionStrictDefault).describe('Whether to enable strict schema adherence when generating the function call. If set to true, the model will follow the exact schema defined in the `parameters` field. Only a subset of JSON Schema is supported when `strict` is `true`. Learn more about Structured Outputs in the [function calling guide](docs\/guides\/function-calling).')
}),
"cache_control": zod.object({
"type": zod.enum(['ephemeral']),
"ttl": zod.enum(['5m', '1h']).optional().describe('Time-to-live for the cache entry. Default is \"5m\" (5 minutes). \"1h\" (1 hour) is supported on select models (e.g. Claude Opus 4.5, Haiku 4.5, Sonnet 4.5).\n')
}).optional().describe('Cache control directive for Anthropic prompt caching. Only applicable to Anthropic Claude models. When set, marks the content block as a cache breakpoint.\n')
})).optional().describe('A list of tools the model may call. Used to provide a list of functions the model may generate JSON inputs for. This is the same as the OpenAI definition.\n')
}), zod.object({
"template_ref": zod.union([zod.object({
"id": zod.string().describe('ID of the template in prompt registry'),
"scope": zod.enum(['resource_group', 'tenant']).default(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOnePromptTemplatingPromptTwoTemplateRefOneScopeDefault).describe('Defines the scope that is searched for the referenced template. \'tenant\' indicates the template is shared across all resource groups within the tenant, while \'resource_group\' indicates the template is only accessible within the specific resource group.\n')
}), zod.object({
"scenario": zod.string().describe('Scenario name'),
"name": zod.string().describe('Name of the template'),
"version": zod.string().describe('Version of the template'),
"scope": zod.enum(['resource_group', 'tenant']).default(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOnePromptTemplatingPromptTwoTemplateRefTwoScopeDefault).describe('Defines the scope that is searched for the referenced template. \'tenant\' indicates the template is shared across all resource groups within the tenant, while \'resource_group\' indicates the template is only accessible within the specific resource group.\n')
})]).describe('Reference to a template in the prompt registry by ID or by scenario, name and version')
})]).optional().describe('The prompt template to be used. Can be either a user defined template or a reference to a template in the prompt registry. If omitted, messages_history must be provided in the request body.\n'),
"model": zod.object({
"name": zod.string().describe('Name of the model as in LLM Access configuration'),
"version": zod.string().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOnePromptTemplatingModelVersionDefault).describe('Version of the model to be used'),
"params": zod.record(zod.string(), zod.unknown()).optional().describe('Additional parameters for the model. Default values are used for mandatory parameters.'),
"timeout": zod.int().min(1).max(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOnePromptTemplatingModelTimeoutMax).default(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOnePromptTemplatingModelTimeoutDefault).describe('Timeout for the LLM request in seconds. This parameter is currently ignored for Vertex AI models.'),
"max_retries": zod.int().min(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOnePromptTemplatingModelMaxRetriesMin).max(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOnePromptTemplatingModelMaxRetriesMax).default(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOnePromptTemplatingModelMaxRetriesDefault).describe('Maximum number of retries for the LLM request. This parameter is currently ignored for Vertex AI models.')
}).optional().describe('The model and parameters to be used for the prompt templating. This is the model that will be used to generate the response.\n')
}).optional().describe('Partial prompt templating configuration for use with config_ref overrides. model is optional so that only the prompt can be overridden without repeating the model config.\n'),
"filtering": zod.object({
"input": zod.object({
"filters": zod.array(zod.union([zod.object({
"type": zod.enum(['azure_content_safety']).describe('Name of the filter provider type'),
"config": zod.object({
"hate": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"self_harm": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"sexual": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"violence": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"prompt_shield": zod.boolean().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOneFilteringInputOneFiltersItemOneConfigPromptShieldDefault).describe('Filter prompts for harmful content such as jailbreaks and prompt injections.')
}).optional().describe('Filter configuration for Azure Content Safety')
}), zod.object({
"type": zod.enum(['llama_guard_3_8b']).describe('Name of the filter provider type'),
"config": zod.object({
"violent_crimes": zod.boolean().optional(),
"non_violent_crimes": zod.boolean().optional(),
"sex_crimes": zod.boolean().optional(),
"child_exploitation": zod.boolean().optional(),
"defamation": zod.boolean().optional(),
"specialized_advice": zod.boolean().optional(),
"privacy": zod.boolean().optional(),
"intellectual_property": zod.boolean().optional(),
"indiscriminate_weapons": zod.boolean().optional(),
"hate": zod.boolean().optional(),
"self_harm": zod.boolean().optional(),
"sexual_content": zod.boolean().optional(),
"elections": zod.boolean().optional(),
"code_interpreter_abuse": zod.boolean().optional()
}).describe('Filter configuration for Llama Guard 3 8B')
})])).min(1).describe('Configuration for content filtering services that should be used for the given filtering step (input filtering).')
}).optional().describe('List of provider type and filters'),
"output": zod.object({
"filters": zod.array(zod.union([zod.object({
"type": zod.enum(['azure_content_safety']).describe('Name of the filter provider type'),
"config": zod.object({
"hate": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"self_harm": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"sexual": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"violence": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"protected_material_code": zod.boolean().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOneFilteringOutputOneFiltersItemOneConfigProtectedMaterialCodeDefault).describe('Detect protected code content from known GitHub repositories. The scan includes software libraries, source code, algorithms, and other proprietary programming content.')
}).optional().describe('Filter configuration for Azure Content Safety')
}), zod.object({
"type": zod.enum(['llama_guard_3_8b']).describe('Name of the filter provider type'),
"config": zod.object({
"violent_crimes": zod.boolean().optional(),
"non_violent_crimes": zod.boolean().optional(),
"sex_crimes": zod.boolean().optional(),
"child_exploitation": zod.boolean().optional(),
"defamation": zod.boolean().optional(),
"specialized_advice": zod.boolean().optional(),
"privacy": zod.boolean().optional(),
"intellectual_property": zod.boolean().optional(),
"indiscriminate_weapons": zod.boolean().optional(),
"hate": zod.boolean().optional(),
"self_harm": zod.boolean().optional(),
"sexual_content": zod.boolean().optional(),
"elections": zod.boolean().optional(),
"code_interpreter_abuse": zod.boolean().optional()
}).describe('Filter configuration for Llama Guard 3 8B')
})])).min(1).describe('Configuration for content filtering services that should be used for the given filtering step (output filtering).'),
"stream_options": zod.object({
"overlap": zod.int().min(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOneFilteringOutputOneStreamOptionsOverlapMin).max(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOneFilteringOutputOneStreamOptionsOverlapMax).default(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOneFilteringOutputOneStreamOptionsOverlapDefault).describe('Number of characters that should be additionally sent to content filtering services from previous chunks as additional context.')
}).optional().describe('Stream options for output filtering. Will be ignored if stream is false.')
}).optional().describe('List of provider type and filters')
}).optional(),
"masking": zod.union([zod.object({
"providers": zod.array(zod.object({
"type": zod.enum(['sap_data_privacy_integration']).describe('Type of masking service provider'),
"method": zod.enum(['anonymization', 'pseudonymization']).describe('Type of masking method to be used'),
"entities": zod.array(zod.union([zod.object({
"type": zod.enum(['profile-person', 'profile-org', 'profile-university', 'profile-location', 'profile-email', 'profile-phone', 'profile-address', 'profile-sapids-internal', 'profile-sapids-public', 'profile-url', 'profile-username-password', 'profile-nationalid', 'profile-iban', 'profile-ssn', 'profile-credit-card-number', 'profile-passport', 'profile-driverlicense', 'profile-nationality', 'profile-religious-group', 'profile-political-group', 'profile-pronouns-gender', 'profile-ethnicity', 'profile-gender', 'profile-sexual-orientation', 'profile-trade-union', 'profile-sensitive-data']).describe('Default entities supported by data privacy and integration service'),
"replacement_strategy": zod.union([zod.object({
"method": zod.enum(['constant']),
"value": zod.string().describe('Value to be used for replacement')
}).describe('Replaces the entity with the specified value followed by an incrementing number'), zod.object({
"method": zod.enum(['fabricated_data'])
}).describe('Replaces the entity with a randomly generated value appropriate to its type.')]).optional().describe('Replacement strategy to be used for the entity')
}), zod.object({
"regex": zod.string().describe('Regular expression to match the entity'),
"replacement_strategy": zod.object({
"method": zod.enum(['constant']),
"value": zod.string().describe('Value to be used for replacement')
}).describe('Replaces the entity with the specified value followed by an incrementing number').describe('Replacement strategy to be used for the entity')
})])).min(1).describe('List of entities to be masked'),
"allowlist": zod.array(zod.string()).optional().describe('List of strings that should not be masked'),
"mask_grounding_input": zod.object({
"enabled": zod.boolean().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOneMaskingOneProvidersItemOneMaskGroundingInputEnabledDefault).describe('controls whether the input to the grounding module will be masked with the configuration supplied in the masking module')
}).optional(),
"mask_file_input_method": zod.enum(['anonymization', 'skip']).optional().describe('Type of masking method to be used for file inputs. Required if file inputs are provided.')
})).min(1).describe('List of masking service providers')
}), zod.object({
"masking_providers": zod.array(zod.object({
"type": zod.enum(['sap_data_privacy_integration']).describe('Type of masking service provider'),
"method": zod.enum(['anonymization', 'pseudonymization']).describe('Type of masking method to be used'),
"entities": zod.array(zod.union([zod.object({
"type": zod.enum(['profile-person', 'profile-org', 'profile-university', 'profile-location', 'profile-email', 'profile-phone', 'profile-address', 'profile-sapids-internal', 'profile-sapids-public', 'profile-url', 'profile-username-password', 'profile-nationalid', 'profile-iban', 'profile-ssn', 'profile-credit-card-number', 'profile-passport', 'profile-driverlicense', 'profile-nationality', 'profile-religious-group', 'profile-political-group', 'profile-pronouns-gender', 'profile-ethnicity', 'profile-gender', 'profile-sexual-orientation', 'profile-trade-union', 'profile-sensitive-data']).describe('Default entities supported by data privacy and integration service'),
"replacement_strategy": zod.union([zod.object({
"method": zod.enum(['constant']),
"value": zod.string().describe('Value to be used for replacement')
}).describe('Replaces the entity with the specified value followed by an incrementing number'), zod.object({
"method": zod.enum(['fabricated_data'])
}).describe('Replaces the entity with a randomly generated value appropriate to its type.')]).optional().describe('Replacement strategy to be used for the entity')
}), zod.object({
"regex": zod.string().describe('Regular expression to match the entity'),
"replacement_strategy": zod.object({
"method": zod.enum(['constant']),
"value": zod.string().describe('Value to be used for replacement')
}).describe('Replaces the entity with the specified value followed by an incrementing number').describe('Replacement strategy to be used for the entity')
})])).min(1).describe('List of entities to be masked'),
"allowlist": zod.array(zod.string()).optional().describe('List of strings that should not be masked'),
"mask_grounding_input": zod.object({
"enabled": zod.boolean().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOneMaskingTwoMaskingProvidersItemOneMaskGroundingInputEnabledDefault).describe('controls whether the input to the grounding module will be masked with the configuration supplied in the masking module')
}).optional(),
"mask_file_input_method": zod.enum(['anonymization', 'skip']).optional().describe('Type of masking method to be used for file inputs. Required if file inputs are provided.')
})).min(1).describe('List of masking service providers. \*\*DEPRECATED\*\*: will be removed March 20, 2027. Use `providers` property instead.')
})]).optional(),
"grounding": zod.object({
"type": zod.union([zod.enum(['document_grounding_service']), zod.unknown()]),
"config": zod.object({
"filters": zod.array(zod.object({
"id": zod.string().optional().describe('Identifier of this SearchFilter - unique per request.'),
"search_config": zod.object({
"max_chunk_count": zod.int().gt(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOneGroundingConfigFiltersItemOneSearchConfigMaxChunkCountExclusiveMin).optional().describe('Maximum number of chunks to be returned. Cannot be used with \'maxDocumentCount\'.'),
"max_document_count": zod.int().gt(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOneGroundingConfigFiltersItemOneSearchConfigMaxDocumentCountExclusiveMin).optional().describe('[Only supports \'vector\' dataRepositoryType] - Maximum number of documents to be returned. Cannot be used with \'maxChunkCount\'. If maxDocumentCount is given, then only one chunk per document is returned.')
}).optional(),
"data_repositories": zod.array(zod.string()).default(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOneGroundingConfigFiltersItemOneDataRepositoriesDefault).describe('Specify [\'\*\'] to search across all DataRepositories or give a specific list of DataRepository ids.'),
"data_repository_type": zod.enum(['vector', 'help.sap.com']).describe('Only include DataRepositories with the given type.'),
"data_repository_metadata": zod.array(zod.object({
"key": zod.string().max(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOneGroundingConfigFiltersItemOneDataRepositoryMetadataItemKeyMax),
"value": zod.array(zod.string().max(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOneGroundingConfigFiltersItemOneDataRepositoryMetadataItemValueItemMax))
})).optional().describe('Restrict DataRepositories considered during search to those annotated with the given metadata. Useful when combined with dataRepositories=[\'\*\']'),
"document_metadata": zod.array(zod.object({
"key": zod.string().max(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOneGroundingConfigFiltersItemOneDocumentMetadataItemKeyMax),
"value": zod.array(zod.string().max(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOneGroundingConfigFiltersItemOneDocumentMetadataItemValueItemMax)),
"select_mode": zod.array(zod.enum(['ignoreIfKeyAbsent'])).optional().describe('Select mode for search filters')
})).optional().describe('Restrict documents considered during search to those annotated with the given metadata.'),
"chunk_metadata": zod.array(zod.object({
"key": zod.string().max(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOneGroundingConfigFiltersItemOneChunkMetadataItemKeyMax),
"value": zod.array(zod.string().max(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOneGroundingConfigFiltersItemOneChunkMetadataItemValueItemMax))
})).optional().describe('Restrict chunks considered during search to those with the given metadata.')
})).optional().describe('Document grounding service filters to be used'),
"placeholders": zod.object({
"input": zod.array(zod.string()).min(1).describe('Contains the input parameters used for grounding input questions'),
"output": zod.string().describe('Placeholder name for grounding output')
}).describe('Placeholders to be used for grounding input questions and output'),
"metadata_params": zod.array(zod.string()).optional().describe('Parameter name used for specifying metadata parameters')
})
}).optional(),
"translation": zod.object({
"input": zod.object({
"type": zod.enum(['sap_document_translation']).describe('Type of document translation provider'),
"translate_messages_history": zod.boolean().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesOneTranslationInputOneTranslateMessagesHistoryDefault).describe('If true, the messages history will be translated as well.'),
"config": zod.object({
"source_language": zod.string().optional().describe('Language of the text to be translated.'),
"apply_to": zod.array(zod.object({
"category": zod.enum(['placeholders', 'template_roles']).describe('Category to apply translation to.'),
"items": zod.array(zod.string()).describe('List of placeholders or roles to apply translation to'),
"source_language": zod.string().optional().describe('Language of the text to be translated.')
}).describe('This selector allows you to define the scope of translation, such as specific placeholders or messages with specific roles. For example, `{\"category\": \"placeholders\", \"items\": [\"user_input\"], \"source_language\": \"de-DE\"}` targets the value of \"user_input\" in `placeholder_values` specified in the request payload; and considers the value to be in German.\n')).min(1).optional(),
"target_language": zod.string().describe('Language to which the text should be translated.')
}).describe('Configuration for `sap_document_translation` translation provider.')
}).optional().describe('Configuration for input translation'),
"output": zod.object({
"type": zod.enum(['sap_document_translation']).describe('Configuration for `sap_document_translation` translation provider.'),
"config": zod.object({
"source_language": zod.string().optional().describe('Language of the text to be translated.'),
"target_language": zod.union([zod.string().describe('Language to which the text should be translated.'), zod.object({
"category": zod.enum(['placeholders', 'template_roles']).describe('Category to apply translation to.'),
"items": zod.array(zod.string()).describe('List of placeholders or roles to apply translation to'),
"source_language": zod.string().optional().describe('Language of the text to be translated.')
}).describe('This selector allows you to define the scope of translation, such as specific placeholders or messages with specific roles. For example, `{\"category\": \"placeholders\", \"items\": [\"user_input\"], \"source_language\": \"de-DE\"}` targets the value of \"user_input\" in `placeholder_values` specified in the request payload; and considers the value to be in German.\n')])
})
}).optional().describe('Configuration for output translation')
}).optional().describe('Configuration for translation module')
}).describe('Partial module configuration for use with config_ref overrides. All fields are optional so that only the modules that should be overridden need to be specified. The remaining configuration is taken from the referenced orchestration config.\n'), zod.array(zod.object({
"prompt_templating": zod.object({
"prompt": zod.union([zod.object({
"template": zod.array(zod.union([zod.object({
"role": zod.enum(['system']),
"content": zod.union([zod.string(), zod.array(zod.object({
"type": zod.enum(['text']),
"text": zod.string(),
"cache_control": zod.object({
"type": zod.enum(['ephemeral']),
"ttl": zod.enum(['5m', '1h']).optional().describe('Time-to-live for the cache entry. Default is \"5m\" (5 minutes). \"1h\" (1 hour) is supported on select models (e.g. Claude Opus 4.5, Haiku 4.5, Sonnet 4.5).\n')
}).optional().describe('Cache control directive for Anthropic prompt caching. Only applicable to Anthropic Claude models. When set, marks the content block as a cache breakpoint.\n')
})).min(1)])
}), zod.object({
"content": zod.union([zod.string(), zod.array(zod.object({
"type": zod.enum(['text', 'image_url', 'file']),
"text": zod.string().optional(),
"image_url": zod.object({
"url": zod.string(),
"detail": zod.string().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemPromptTemplatingPromptOneTemplateOneItemTwoContentTwoItemImageUrlDetailDefault)
}).optional(),
"file": zod.object({
"file_data": zod.string().describe('Base64 encoded file content or file URL'),
"filename": zod.string().optional().describe('Name of the file')
}).optional(),
"cache_control": zod.object({
"type": zod.enum(['ephemeral']),
"ttl": zod.enum(['5m', '1h']).optional().describe('Time-to-live for the cache entry. Default is \"5m\" (5 minutes). \"1h\" (1 hour) is supported on select models (e.g. Claude Opus 4.5, Haiku 4.5, Sonnet 4.5).\n')
}).optional().describe('Cache control directive for Anthropic prompt caching. Only applicable to Anthropic Claude models. When set, marks the content block as a cache breakpoint.\n')
})).min(1)]),
"role": zod.enum(['user'])
}), zod.object({
"role": zod.enum(['assistant']),
"content": zod.union([zod.string(), zod.array(zod.object({
"type": zod.enum(['text']),
"text": zod.string(),
"cache_control": zod.object({
"type": zod.enum(['ephemeral']),
"ttl": zod.enum(['5m', '1h']).optional().describe('Time-to-live for the cache entry. Default is \"5m\" (5 minutes). \"1h\" (1 hour) is supported on select models (e.g. Claude Opus 4.5, Haiku 4.5, Sonnet 4.5).\n')
}).optional().describe('Cache control directive for Anthropic prompt caching. Only applicable to Anthropic Claude models. When set, marks the content block as a cache breakpoint.\n')
})).min(1)]).optional(),
"refusal": zod.string().optional(),
"tool_calls": zod.array(zod.object({
"id": zod.string().describe('The ID of the tool call.'),
"type": zod.enum(['function']).describe('The type of the tool. Currently, only `function` is supported.'),
"function": zod.object({
"name": zod.string().describe('The name of the function to call.'),
"arguments": zod.string().describe('The arguments to call the function with, as generated by the model in JSON format. Note that the model does not always generate valid JSON, and may hallucinate parameters not defined by your function schema. Validate the arguments in your code before calling your function.')
}).describe('The function that the model called.')
})).optional().describe('The tool calls generated by the model, such as function calls.'),
"reasoning_content": zod.array(zod.object({
"content": zod.string().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemPromptTemplatingPromptOneTemplateOneItemThreeReasoningContentItemContentDefault),
"signature": zod.string().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemPromptTemplatingPromptOneTemplateOneItemThreeReasoningContentItemSignatureDefault)
})).optional().describe('Reasoning or thinking content from the model\'s previous turn.\n')
}), zod.object({
"role": zod.enum(['tool']),
"tool_call_id": zod.string(),
"content": zod.union([zod.string(), zod.array(zod.object({
"type": zod.enum(['text']),
"text": zod.string(),
"cache_control": zod.object({
"type": zod.enum(['ephemeral']),
"ttl": zod.enum(['5m', '1h']).optional().describe('Time-to-live for the cache entry. Default is \"5m\" (5 minutes). \"1h\" (1 hour) is supported on select models (e.g. Claude Opus 4.5, Haiku 4.5, Sonnet 4.5).\n')
}).optional().describe('Cache control directive for Anthropic prompt caching. Only applicable to Anthropic Claude models. When set, marks the content block as a cache breakpoint.\n')
})).min(1)])
}), zod.object({
"role": zod.enum(['developer']),
"content": zod.union([zod.string(), zod.array(zod.object({
"type": zod.enum(['text']),
"text": zod.string(),
"cache_control": zod.object({
"type": zod.enum(['ephemeral']),
"ttl": zod.enum(['5m', '1h']).optional().describe('Time-to-live for the cache entry. Default is \"5m\" (5 minutes). \"1h\" (1 hour) is supported on select models (e.g. Claude Opus 4.5, Haiku 4.5, Sonnet 4.5).\n')
}).optional().describe('Cache control directive for Anthropic prompt caching. Only applicable to Anthropic Claude models. When set, marks the content block as a cache breakpoint.\n')
})).min(1)])
})])).min(1).describe('A chat message array to be formatted with values from placeholder_values. Both role and content can be templated. If messages_history is provided, the templated messages will be appended.'),
"defaults": zod.record(zod.string(), zod.string()).optional().describe('Optional default values for the template. If a parameter has no default it is required.'),
"response_format": zod.union([zod.object({
"type": zod.enum(['text']).describe('The type of response format being defined: `text`')
}), zod.object({
"type": zod.enum(['json_object']).describe('The type of response format being defined: `json_object`')
}), zod.object({
"type": zod.enum(['json_schema']).describe('The type of response format being defined: `json_schema`'),
"json_schema": zod.object({
"description": zod.string().optional().describe('A description of what the response format is for, used by the model to determine how to respond in the format.'),
"name": zod.string().max(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemPromptTemplatingPromptOneResponseFormatThreeJsonSchemaNameMax).regex(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemPromptTemplatingPromptOneResponseFormatThreeJsonSchemaNameRegExp).describe('The name of the response format. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64.'),
"schema": zod.record(zod.string(), zod.unknown()).optional().describe('The schema for the response format, described as a JSON Schema object.'),
"strict": zod.boolean().nullish().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemPromptTemplatingPromptOneResponseFormatThreeJsonSchemaStrictDefault).describe('Whether to enable strict schema adherence when generating the output. If set to true, the model will always follow the exact schema defined in the `schema` field. Only a subset of JSON Schema is supported when `strict` is `true`. To learn more, read the [Structured Outputs guide](https:\/\/platform.openai.com\/docs\/guides\/structured-outputs).')
})
})]).optional().describe('Response format that the model output should adhere to. This is the same as the OpenAI definition.\n'),
"tools": zod.array(zod.object({
"type": zod.enum(['function']).describe('The type of the tool. Currently, only `function` is supported.'),
"function": zod.object({
"description": zod.string().optional().describe('A description of what the function does, used by the model to choose when and how to call the function.'),
"name": zod.string().max(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemPromptTemplatingPromptOneToolsItemFunctionNameMax).regex(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemPromptTemplatingPromptOneToolsItemFunctionNameRegExp).describe('The name of the function to be called. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64.'),
"parameters": zod.record(zod.string(), zod.unknown()).optional().describe('The parameters the functions accepts, described as a JSON Schema object. See the [guide](https:\/\/platform.openai.com\/docs\/guides\/function-calling) for examples, and the [JSON Schema reference](https:\/\/json-schema.org\/understanding-json-schema\/) for documentation about the format. Omitting `parameters` defines a function with an empty parameter list.'),
"strict": zod.boolean().nullish().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemPromptTemplatingPromptOneToolsItemFunctionStrictDefault).describe('Whether to enable strict schema adherence when generating the function call. If set to true, the model will follow the exact schema defined in the `parameters` field. Only a subset of JSON Schema is supported when `strict` is `true`. Learn more about Structured Outputs in the [function calling guide](docs\/guides\/function-calling).')
}),
"cache_control": zod.object({
"type": zod.enum(['ephemeral']),
"ttl": zod.enum(['5m', '1h']).optional().describe('Time-to-live for the cache entry. Default is \"5m\" (5 minutes). \"1h\" (1 hour) is supported on select models (e.g. Claude Opus 4.5, Haiku 4.5, Sonnet 4.5).\n')
}).optional().describe('Cache control directive for Anthropic prompt caching. Only applicable to Anthropic Claude models. When set, marks the content block as a cache breakpoint.\n')
})).optional().describe('A list of tools the model may call. Used to provide a list of functions the model may generate JSON inputs for. This is the same as the OpenAI definition.\n')
}), zod.object({
"template_ref": zod.union([zod.object({
"id": zod.string().describe('ID of the template in prompt registry'),
"scope": zod.enum(['resource_group', 'tenant']).default(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemPromptTemplatingPromptTwoTemplateRefOneScopeDefault).describe('Defines the scope that is searched for the referenced template. \'tenant\' indicates the template is shared across all resource groups within the tenant, while \'resource_group\' indicates the template is only accessible within the specific resource group.\n')
}), zod.object({
"scenario": zod.string().describe('Scenario name'),
"name": zod.string().describe('Name of the template'),
"version": zod.string().describe('Version of the template'),
"scope": zod.enum(['resource_group', 'tenant']).default(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemPromptTemplatingPromptTwoTemplateRefTwoScopeDefault).describe('Defines the scope that is searched for the referenced template. \'tenant\' indicates the template is shared across all resource groups within the tenant, while \'resource_group\' indicates the template is only accessible within the specific resource group.\n')
})]).describe('Reference to a template in the prompt registry by ID or by scenario, name and version')
})]).optional().describe('The prompt template to be used. Can be either a user defined template or a reference to a template in the prompt registry. If omitted, messages_history must be provided in the request body.\n'),
"model": zod.object({
"name": zod.string().describe('Name of the model as in LLM Access configuration'),
"version": zod.string().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemPromptTemplatingModelVersionDefault).describe('Version of the model to be used'),
"params": zod.record(zod.string(), zod.unknown()).optional().describe('Additional parameters for the model. Default values are used for mandatory parameters.'),
"timeout": zod.int().min(1).max(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemPromptTemplatingModelTimeoutMax).default(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemPromptTemplatingModelTimeoutDefault).describe('Timeout for the LLM request in seconds. This parameter is currently ignored for Vertex AI models.'),
"max_retries": zod.int().min(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemPromptTemplatingModelMaxRetriesMin).max(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemPromptTemplatingModelMaxRetriesMax).default(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemPromptTemplatingModelMaxRetriesDefault).describe('Maximum number of retries for the LLM request. This parameter is currently ignored for Vertex AI models.')
}).describe('The model and parameters to be used for the prompt templating. This is the model that will be used to generate the response.\n')
}),
"filtering": zod.object({
"input": zod.object({
"filters": zod.array(zod.union([zod.object({
"type": zod.enum(['azure_content_safety']).describe('Name of the filter provider type'),
"config": zod.object({
"hate": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"self_harm": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"sexual": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"violence": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"prompt_shield": zod.boolean().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemFilteringInputOneFiltersItemOneConfigPromptShieldDefault).describe('Filter prompts for harmful content such as jailbreaks and prompt injections.')
}).optional().describe('Filter configuration for Azure Content Safety')
}), zod.object({
"type": zod.enum(['llama_guard_3_8b']).describe('Name of the filter provider type'),
"config": zod.object({
"violent_crimes": zod.boolean().optional(),
"non_violent_crimes": zod.boolean().optional(),
"sex_crimes": zod.boolean().optional(),
"child_exploitation": zod.boolean().optional(),
"defamation": zod.boolean().optional(),
"specialized_advice": zod.boolean().optional(),
"privacy": zod.boolean().optional(),
"intellectual_property": zod.boolean().optional(),
"indiscriminate_weapons": zod.boolean().optional(),
"hate": zod.boolean().optional(),
"self_harm": zod.boolean().optional(),
"sexual_content": zod.boolean().optional(),
"elections": zod.boolean().optional(),
"code_interpreter_abuse": zod.boolean().optional()
}).describe('Filter configuration for Llama Guard 3 8B')
})])).min(1).describe('Configuration for content filtering services that should be used for the given filtering step (input filtering).')
}).optional().describe('List of provider type and filters'),
"output": zod.object({
"filters": zod.array(zod.union([zod.object({
"type": zod.enum(['azure_content_safety']).describe('Name of the filter provider type'),
"config": zod.object({
"hate": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"self_harm": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"sexual": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"violence": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"protected_material_code": zod.boolean().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemFilteringOutputOneFiltersItemOneConfigProtectedMaterialCodeDefault).describe('Detect protected code content from known GitHub repositories. The scan includes software libraries, source code, algorithms, and other proprietary programming content.')
}).optional().describe('Filter configuration for Azure Content Safety')
}), zod.object({
"type": zod.enum(['llama_guard_3_8b']).describe('Name of the filter provider type'),
"config": zod.object({
"violent_crimes": zod.boolean().optional(),
"non_violent_crimes": zod.boolean().optional(),
"sex_crimes": zod.boolean().optional(),
"child_exploitation": zod.boolean().optional(),
"defamation": zod.boolean().optional(),
"specialized_advice": zod.boolean().optional(),
"privacy": zod.boolean().optional(),
"intellectual_property": zod.boolean().optional(),
"indiscriminate_weapons": zod.boolean().optional(),
"hate": zod.boolean().optional(),
"self_harm": zod.boolean().optional(),
"sexual_content": zod.boolean().optional(),
"elections": zod.boolean().optional(),
"code_interpreter_abuse": zod.boolean().optional()
}).describe('Filter configuration for Llama Guard 3 8B')
})])).min(1).describe('Configuration for content filtering services that should be used for the given filtering step (output filtering).'),
"stream_options": zod.object({
"overlap": zod.int().min(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemFilteringOutputOneStreamOptionsOverlapMin).max(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemFilteringOutputOneStreamOptionsOverlapMax).default(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemFilteringOutputOneStreamOptionsOverlapDefault).describe('Number of characters that should be additionally sent to content filtering services from previous chunks as additional context.')
}).optional().describe('Stream options for output filtering. Will be ignored if stream is false.')
}).optional().describe('List of provider type and filters')
}).optional(),
"masking": zod.union([zod.object({
"providers": zod.array(zod.object({
"type": zod.enum(['sap_data_privacy_integration']).describe('Type of masking service provider'),
"method": zod.enum(['anonymization', 'pseudonymization']).describe('Type of masking method to be used'),
"entities": zod.array(zod.union([zod.object({
"type": zod.enum(['profile-person', 'profile-org', 'profile-university', 'profile-location', 'profile-email', 'profile-phone', 'profile-address', 'profile-sapids-internal', 'profile-sapids-public', 'profile-url', 'profile-username-password', 'profile-nationalid', 'profile-iban', 'profile-ssn', 'profile-credit-card-number', 'profile-passport', 'profile-driverlicense', 'profile-nationality', 'profile-religious-group', 'profile-political-group', 'profile-pronouns-gender', 'profile-ethnicity', 'profile-gender', 'profile-sexual-orientation', 'profile-trade-union', 'profile-sensitive-data']).describe('Default entities supported by data privacy and integration service'),
"replacement_strategy": zod.union([zod.object({
"method": zod.enum(['constant']),
"value": zod.string().describe('Value to be used for replacement')
}).describe('Replaces the entity with the specified value followed by an incrementing number'), zod.object({
"method": zod.enum(['fabricated_data'])
}).describe('Replaces the entity with a randomly generated value appropriate to its type.')]).optional().describe('Replacement strategy to be used for the entity')
}), zod.object({
"regex": zod.string().describe('Regular expression to match the entity'),
"replacement_strategy": zod.object({
"method": zod.enum(['constant']),
"value": zod.string().describe('Value to be used for replacement')
}).describe('Replaces the entity with the specified value followed by an incrementing number').describe('Replacement strategy to be used for the entity')
})])).min(1).describe('List of entities to be masked'),
"allowlist": zod.array(zod.string()).optional().describe('List of strings that should not be masked'),
"mask_grounding_input": zod.object({
"enabled": zod.boolean().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemMaskingOneProvidersItemOneMaskGroundingInputEnabledDefault).describe('controls whether the input to the grounding module will be masked with the configuration supplied in the masking module')
}).optional(),
"mask_file_input_method": zod.enum(['anonymization', 'skip']).optional().describe('Type of masking method to be used for file inputs. Required if file inputs are provided.')
})).min(1).describe('List of masking service providers')
}), zod.object({
"masking_providers": zod.array(zod.object({
"type": zod.enum(['sap_data_privacy_integration']).describe('Type of masking service provider'),
"method": zod.enum(['anonymization', 'pseudonymization']).describe('Type of masking method to be used'),
"entities": zod.array(zod.union([zod.object({
"type": zod.enum(['profile-person', 'profile-org', 'profile-university', 'profile-location', 'profile-email', 'profile-phone', 'profile-address', 'profile-sapids-internal', 'profile-sapids-public', 'profile-url', 'profile-username-password', 'profile-nationalid', 'profile-iban', 'profile-ssn', 'profile-credit-card-number', 'profile-passport', 'profile-driverlicense', 'profile-nationality', 'profile-religious-group', 'profile-political-group', 'profile-pronouns-gender', 'profile-ethnicity', 'profile-gender', 'profile-sexual-orientation', 'profile-trade-union', 'profile-sensitive-data']).describe('Default entities supported by data privacy and integration service'),
"replacement_strategy": zod.union([zod.object({
"method": zod.enum(['constant']),
"value": zod.string().describe('Value to be used for replacement')
}).describe('Replaces the entity with the specified value followed by an incrementing number'), zod.object({
"method": zod.enum(['fabricated_data'])
}).describe('Replaces the entity with a randomly generated value appropriate to its type.')]).optional().describe('Replacement strategy to be used for the entity')
}), zod.object({
"regex": zod.string().describe('Regular expression to match the entity'),
"replacement_strategy": zod.object({
"method": zod.enum(['constant']),
"value": zod.string().describe('Value to be used for replacement')
}).describe('Replaces the entity with the specified value followed by an incrementing number').describe('Replacement strategy to be used for the entity')
})])).min(1).describe('List of entities to be masked'),
"allowlist": zod.array(zod.string()).optional().describe('List of strings that should not be masked'),
"mask_grounding_input": zod.object({
"enabled": zod.boolean().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemMaskingTwoMaskingProvidersItemOneMaskGroundingInputEnabledDefault).describe('controls whether the input to the grounding module will be masked with the configuration supplied in the masking module')
}).optional(),
"mask_file_input_method": zod.enum(['anonymization', 'skip']).optional().describe('Type of masking method to be used for file inputs. Required if file inputs are provided.')
})).min(1).describe('List of masking service providers. \*\*DEPRECATED\*\*: will be removed March 20, 2027. Use `providers` property instead.')
})]).optional(),
"grounding": zod.object({
"type": zod.union([zod.enum(['document_grounding_service']), zod.unknown()]),
"config": zod.object({
"filters": zod.array(zod.object({
"id": zod.string().optional().describe('Identifier of this SearchFilter - unique per request.'),
"search_config": zod.object({
"max_chunk_count": zod.int().gt(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemGroundingConfigFiltersItemOneSearchConfigMaxChunkCountExclusiveMin).optional().describe('Maximum number of chunks to be returned. Cannot be used with \'maxDocumentCount\'.'),
"max_document_count": zod.int().gt(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemGroundingConfigFiltersItemOneSearchConfigMaxDocumentCountExclusiveMin).optional().describe('[Only supports \'vector\' dataRepositoryType] - Maximum number of documents to be returned. Cannot be used with \'maxChunkCount\'. If maxDocumentCount is given, then only one chunk per document is returned.')
}).optional(),
"data_repositories": zod.array(zod.string()).default(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemGroundingConfigFiltersItemOneDataRepositoriesDefault).describe('Specify [\'\*\'] to search across all DataRepositories or give a specific list of DataRepository ids.'),
"data_repository_type": zod.enum(['vector', 'help.sap.com']).describe('Only include DataRepositories with the given type.'),
"data_repository_metadata": zod.array(zod.object({
"key": zod.string().max(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemGroundingConfigFiltersItemOneDataRepositoryMetadataItemKeyMax),
"value": zod.array(zod.string().max(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemGroundingConfigFiltersItemOneDataRepositoryMetadataItemValueItemMax))
})).optional().describe('Restrict DataRepositories considered during search to those annotated with the given metadata. Useful when combined with dataRepositories=[\'\*\']'),
"document_metadata": zod.array(zod.object({
"key": zod.string().max(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemGroundingConfigFiltersItemOneDocumentMetadataItemKeyMax),
"value": zod.array(zod.string().max(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemGroundingConfigFiltersItemOneDocumentMetadataItemValueItemMax)),
"select_mode": zod.array(zod.enum(['ignoreIfKeyAbsent'])).optional().describe('Select mode for search filters')
})).optional().describe('Restrict documents considered during search to those annotated with the given metadata.'),
"chunk_metadata": zod.array(zod.object({
"key": zod.string().max(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemGroundingConfigFiltersItemOneChunkMetadataItemKeyMax),
"value": zod.array(zod.string().max(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemGroundingConfigFiltersItemOneChunkMetadataItemValueItemMax))
})).optional().describe('Restrict chunks considered during search to those with the given metadata.')
})).optional().describe('Document grounding service filters to be used'),
"placeholders": zod.object({
"input": zod.array(zod.string()).min(1).describe('Contains the input parameters used for grounding input questions'),
"output": zod.string().describe('Placeholder name for grounding output')
}).describe('Placeholders to be used for grounding input questions and output'),
"metadata_params": zod.array(zod.string()).optional().describe('Parameter name used for specifying metadata parameters')
})
}).optional(),
"translation": zod.object({
"input": zod.object({
"type": zod.enum(['sap_document_translation']).describe('Type of document translation provider'),
"translate_messages_history": zod.boolean().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecModulesTwoItemTranslationInputOneTranslateMessagesHistoryDefault).describe('If true, the messages history will be translated as well.'),
"config": zod.object({
"source_language": zod.string().optional().describe('Language of the text to be translated.'),
"apply_to": zod.array(zod.object({
"category": zod.enum(['placeholders', 'template_roles']).describe('Category to apply translation to.'),
"items": zod.array(zod.string()).describe('List of placeholders or roles to apply translation to'),
"source_language": zod.string().optional().describe('Language of the text to be translated.')
}).describe('This selector allows you to define the scope of translation, such as specific placeholders or messages with specific roles. For example, `{\"category\": \"placeholders\", \"items\": [\"user_input\"], \"source_language\": \"de-DE\"}` targets the value of \"user_input\" in `placeholder_values` specified in the request payload; and considers the value to be in German.\n')).min(1).optional(),
"target_language": zod.string().describe('Language to which the text should be translated.')
}).describe('Configuration for `sap_document_translation` translation provider.')
}).optional().describe('Configuration for input translation'),
"output": zod.object({
"type": zod.enum(['sap_document_translation']).describe('Configuration for `sap_document_translation` translation provider.'),
"config": zod.object({
"source_language": zod.string().optional().describe('Language of the text to be translated.'),
"target_language": zod.union([zod.string().describe('Language to which the text should be translated.'), zod.object({
"category": zod.enum(['placeholders', 'template_roles']).describe('Category to apply translation to.'),
"items": zod.array(zod.string()).describe('List of placeholders or roles to apply translation to'),
"source_language": zod.string().optional().describe('Language of the text to be translated.')
}).describe('This selector allows you to define the scope of translation, such as specific placeholders or messages with specific roles. For example, `{\"category\": \"placeholders\", \"items\": [\"user_input\"], \"source_language\": \"de-DE\"}` targets the value of \"user_input\" in `placeholder_values` specified in the request payload; and considers the value to be in German.\n')])
})
}).optional().describe('Configuration for output translation')
}).optional().describe('Configuration for translation module')
})).min(1).describe('A list of module configurations. The first configuration in the list that succeeds will be used.\n')]).optional(),
"stream": zod.object({
"enabled": zod.boolean().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecStreamEnabledDefault).describe('If true, the response will be streamed back to the client'),
"chunk_size": zod.int().min(1).max(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecStreamChunkSizeMax).default(registryControllerOrchestrationConfigControllerListOrchestrationConfigsResponseResourcesItemSpecStreamChunkSizeDefault).describe('Minimum number of characters per chunk that post-LLM modules operate on.'),
"delimiters": zod.array(zod.string()).min(1).optional().describe('List of delimiters to split the input text into chunks.Please note, this is a required parameter when `input_translation_module_config` or `output_translation_module_config` are configured.')
}).optional().describe('Options for streaming. Will be ignored if enabled is false.')
}).optional()
}))
});
/**
* List orchestration config history
*/
export const RegistryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryParams = zod.object({
"scenario": zod.string(),
"version": zod.string(),
"name": zod.string()
});
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryQueryIncludeSpecDefault = false;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryQueryResolveTemplateRefDefault = false;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryQueryTopMax = 500;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryQuerySkipDefault = 0;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryQuerySkipMin = 0;
export const RegistryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryQueryParams = zod.object({
"include_spec": zod.boolean().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryQueryIncludeSpecDefault).describe('DEPRECATED: Use includeSpec instead'),
"includeSpec": zod.boolean().optional(),
"resolve_template_ref": zod.boolean().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryQueryResolveTemplateRefDefault).describe('DEPRECATED: Use resolveTemplateRef instead'),
"resolveTemplateRef": zod.boolean().optional(),
"$top": zod.int().min(1).max(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryQueryTopMax).optional().describe('Number of results to return (1–500). When omitted the full result set is returned (up to the server limit).'),
"$skip": zod.int().min(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryQuerySkipMin).default(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryQuerySkipDefault).describe('Number of results to skip before returning the page.')
});
export const RegistryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryHeader = zod.object({
"AI-Resource-Group": zod.string().optional().describe('Specify a resource group id to use')
});
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOnePromptTemplatingPromptOneTemplateOneItemTwoContentTwoItemImageUrlDetailDefault = `auto`;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOnePromptTemplatingPromptOneTemplateOneItemThreeReasoningContentItemContentDefault = ``;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOnePromptTemplatingPromptOneTemplateOneItemThreeReasoningContentItemSignatureDefault = ``;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOnePromptTemplatingPromptOneResponseFormatThreeJsonSchemaNameMax = 64;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOnePromptTemplatingPromptOneResponseFormatThreeJsonSchemaNameRegExp = new RegExp('^[a-zA-Z0-9-_]+$');
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOnePromptTemplatingPromptOneResponseFormatThreeJsonSchemaStrictDefault = false;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOnePromptTemplatingPromptOneToolsItemFunctionNameMax = 64;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOnePromptTemplatingPromptOneToolsItemFunctionNameRegExp = new RegExp('^[a-zA-Z0-9-_]+$');
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOnePromptTemplatingPromptOneToolsItemFunctionStrictDefault = false;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOnePromptTemplatingPromptTwoTemplateRefOneScopeDefault = `tenant`;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOnePromptTemplatingPromptTwoTemplateRefTwoScopeDefault = `tenant`;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOnePromptTemplatingModelVersionDefault = `latest`;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOnePromptTemplatingModelTimeoutDefault = 600;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOnePromptTemplatingModelTimeoutMax = 1200;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOnePromptTemplatingModelMaxRetriesDefault = 2;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOnePromptTemplatingModelMaxRetriesMin = 0;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOnePromptTemplatingModelMaxRetriesMax = 5;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOneFilteringInputOneFiltersItemOneConfigPromptShieldDefault = false;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOneFilteringOutputOneFiltersItemOneConfigProtectedMaterialCodeDefault = false;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOneFilteringOutputOneStreamOptionsOverlapDefault = 0;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOneFilteringOutputOneStreamOptionsOverlapMin = 0;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOneFilteringOutputOneStreamOptionsOverlapMax = 10000;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOneMaskingOneProvidersItemOneMaskGroundingInputEnabledDefault = false;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOneMaskingTwoMaskingProvidersItemOneMaskGroundingInputEnabledDefault = false;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOneGroundingConfigFiltersItemOneSearchConfigMaxChunkCountExclusiveMin = 0;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOneGroundingConfigFiltersItemOneSearchConfigMaxDocumentCountExclusiveMin = 0;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOneGroundingConfigFiltersItemOneDataRepositoriesDefault = [`*`];
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOneGroundingConfigFiltersItemOneDataRepositoryMetadataItemKeyMax = 1024;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOneGroundingConfigFiltersItemOneDataRepositoryMetadataItemValueItemMax = 1024;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOneGroundingConfigFiltersItemOneDocumentMetadataItemKeyMax = 1024;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOneGroundingConfigFiltersItemOneDocumentMetadataItemValueItemMax = 1024;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOneGroundingConfigFiltersItemOneChunkMetadataItemKeyMax = 1024;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOneGroundingConfigFiltersItemOneChunkMetadataItemValueItemMax = 1024;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOneTranslationInputOneTranslateMessagesHistoryDefault = true;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemPromptTemplatingPromptOneTemplateOneItemTwoContentTwoItemImageUrlDetailDefault = `auto`;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemPromptTemplatingPromptOneTemplateOneItemThreeReasoningContentItemContentDefault = ``;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemPromptTemplatingPromptOneTemplateOneItemThreeReasoningContentItemSignatureDefault = ``;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemPromptTemplatingPromptOneResponseFormatThreeJsonSchemaNameMax = 64;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemPromptTemplatingPromptOneResponseFormatThreeJsonSchemaNameRegExp = new RegExp('^[a-zA-Z0-9-_]+$');
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemPromptTemplatingPromptOneResponseFormatThreeJsonSchemaStrictDefault = false;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemPromptTemplatingPromptOneToolsItemFunctionNameMax = 64;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemPromptTemplatingPromptOneToolsItemFunctionNameRegExp = new RegExp('^[a-zA-Z0-9-_]+$');
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemPromptTemplatingPromptOneToolsItemFunctionStrictDefault = false;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemPromptTemplatingPromptTwoTemplateRefOneScopeDefault = `tenant`;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemPromptTemplatingPromptTwoTemplateRefTwoScopeDefault = `tenant`;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemPromptTemplatingModelVersionDefault = `latest`;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemPromptTemplatingModelTimeoutDefault = 600;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemPromptTemplatingModelTimeoutMax = 1200;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemPromptTemplatingModelMaxRetriesDefault = 2;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemPromptTemplatingModelMaxRetriesMin = 0;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemPromptTemplatingModelMaxRetriesMax = 5;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemFilteringInputOneFiltersItemOneConfigPromptShieldDefault = false;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemFilteringOutputOneFiltersItemOneConfigProtectedMaterialCodeDefault = false;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemFilteringOutputOneStreamOptionsOverlapDefault = 0;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemFilteringOutputOneStreamOptionsOverlapMin = 0;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemFilteringOutputOneStreamOptionsOverlapMax = 10000;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemMaskingOneProvidersItemOneMaskGroundingInputEnabledDefault = false;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemMaskingTwoMaskingProvidersItemOneMaskGroundingInputEnabledDefault = false;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemGroundingConfigFiltersItemOneSearchConfigMaxChunkCountExclusiveMin = 0;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemGroundingConfigFiltersItemOneSearchConfigMaxDocumentCountExclusiveMin = 0;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemGroundingConfigFiltersItemOneDataRepositoriesDefault = [`*`];
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemGroundingConfigFiltersItemOneDataRepositoryMetadataItemKeyMax = 1024;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemGroundingConfigFiltersItemOneDataRepositoryMetadataItemValueItemMax = 1024;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemGroundingConfigFiltersItemOneDocumentMetadataItemKeyMax = 1024;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemGroundingConfigFiltersItemOneDocumentMetadataItemValueItemMax = 1024;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemGroundingConfigFiltersItemOneChunkMetadataItemKeyMax = 1024;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemGroundingConfigFiltersItemOneChunkMetadataItemValueItemMax = 1024;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemTranslationInputOneTranslateMessagesHistoryDefault = true;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecStreamEnabledDefault = false;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecStreamChunkSizeDefault = 100;
export const registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecStreamChunkSizeMax = 10000;
export const RegistryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponse = zod.object({
"count": zod.int(),
"resources": zod.array(zod.object({
"id": zod.uuid().optional(),
"name": zod.string().optional(),
"version": zod.string().optional(),
"scenario": zod.string().optional(),
"creation_timestamp": zod.string().optional(),
"managed_by": zod.string().optional(),
"is_version_head": zod.boolean().optional(),
"resource_group_id": zod.string().optional(),
"spec": zod.object({
"modules": zod.union([zod.object({
"prompt_templating": zod.object({
"prompt": zod.union([zod.object({
"template": zod.array(zod.union([zod.object({
"role": zod.enum(['system']),
"content": zod.union([zod.string(), zod.array(zod.object({
"type": zod.enum(['text']),
"text": zod.string(),
"cache_control": zod.object({
"type": zod.enum(['ephemeral']),
"ttl": zod.enum(['5m', '1h']).optional().describe('Time-to-live for the cache entry. Default is \"5m\" (5 minutes). \"1h\" (1 hour) is supported on select models (e.g. Claude Opus 4.5, Haiku 4.5, Sonnet 4.5).\n')
}).optional().describe('Cache control directive for Anthropic prompt caching. Only applicable to Anthropic Claude models. When set, marks the content block as a cache breakpoint.\n')
})).min(1)])
}), zod.object({
"content": zod.union([zod.string(), zod.array(zod.object({
"type": zod.enum(['text', 'image_url', 'file']),
"text": zod.string().optional(),
"image_url": zod.object({
"url": zod.string(),
"detail": zod.string().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOnePromptTemplatingPromptOneTemplateOneItemTwoContentTwoItemImageUrlDetailDefault)
}).optional(),
"file": zod.object({
"file_data": zod.string().describe('Base64 encoded file content or file URL'),
"filename": zod.string().optional().describe('Name of the file')
}).optional(),
"cache_control": zod.object({
"type": zod.enum(['ephemeral']),
"ttl": zod.enum(['5m', '1h']).optional().describe('Time-to-live for the cache entry. Default is \"5m\" (5 minutes). \"1h\" (1 hour) is supported on select models (e.g. Claude Opus 4.5, Haiku 4.5, Sonnet 4.5).\n')
}).optional().describe('Cache control directive for Anthropic prompt caching. Only applicable to Anthropic Claude models. When set, marks the content block as a cache breakpoint.\n')
})).min(1)]),
"role": zod.enum(['user'])
}), zod.object({
"role": zod.enum(['assistant']),
"content": zod.union([zod.string(), zod.array(zod.object({
"type": zod.enum(['text']),
"text": zod.string(),
"cache_control": zod.object({
"type": zod.enum(['ephemeral']),
"ttl": zod.enum(['5m', '1h']).optional().describe('Time-to-live for the cache entry. Default is \"5m\" (5 minutes). \"1h\" (1 hour) is supported on select models (e.g. Claude Opus 4.5, Haiku 4.5, Sonnet 4.5).\n')
}).optional().describe('Cache control directive for Anthropic prompt caching. Only applicable to Anthropic Claude models. When set, marks the content block as a cache breakpoint.\n')
})).min(1)]).optional(),
"refusal": zod.string().optional(),
"tool_calls": zod.array(zod.object({
"id": zod.string().describe('The ID of the tool call.'),
"type": zod.enum(['function']).describe('The type of the tool. Currently, only `function` is supported.'),
"function": zod.object({
"name": zod.string().describe('The name of the function to call.'),
"arguments": zod.string().describe('The arguments to call the function with, as generated by the model in JSON format. Note that the model does not always generate valid JSON, and may hallucinate parameters not defined by your function schema. Validate the arguments in your code before calling your function.')
}).describe('The function that the model called.')
})).optional().describe('The tool calls generated by the model, such as function calls.'),
"reasoning_content": zod.array(zod.object({
"content": zod.string().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOnePromptTemplatingPromptOneTemplateOneItemThreeReasoningContentItemContentDefault),
"signature": zod.string().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOnePromptTemplatingPromptOneTemplateOneItemThreeReasoningContentItemSignatureDefault)
})).optional().describe('Reasoning or thinking content from the model\'s previous turn.\n')
}), zod.object({
"role": zod.enum(['tool']),
"tool_call_id": zod.string(),
"content": zod.union([zod.string(), zod.array(zod.object({
"type": zod.enum(['text']),
"text": zod.string(),
"cache_control": zod.object({
"type": zod.enum(['ephemeral']),
"ttl": zod.enum(['5m', '1h']).optional().describe('Time-to-live for the cache entry. Default is \"5m\" (5 minutes). \"1h\" (1 hour) is supported on select models (e.g. Claude Opus 4.5, Haiku 4.5, Sonnet 4.5).\n')
}).optional().describe('Cache control directive for Anthropic prompt caching. Only applicable to Anthropic Claude models. When set, marks the content block as a cache breakpoint.\n')
})).min(1)])
}), zod.object({
"role": zod.enum(['developer']),
"content": zod.union([zod.string(), zod.array(zod.object({
"type": zod.enum(['text']),
"text": zod.string(),
"cache_control": zod.object({
"type": zod.enum(['ephemeral']),
"ttl": zod.enum(['5m', '1h']).optional().describe('Time-to-live for the cache entry. Default is \"5m\" (5 minutes). \"1h\" (1 hour) is supported on select models (e.g. Claude Opus 4.5, Haiku 4.5, Sonnet 4.5).\n')
}).optional().describe('Cache control directive for Anthropic prompt caching. Only applicable to Anthropic Claude models. When set, marks the content block as a cache breakpoint.\n')
})).min(1)])
})])).min(1).describe('A chat message array to be formatted with values from placeholder_values. Both role and content can be templated. If messages_history is provided, the templated messages will be appended.'),
"defaults": zod.record(zod.string(), zod.string()).optional().describe('Optional default values for the template. If a parameter has no default it is required.'),
"response_format": zod.union([zod.object({
"type": zod.enum(['text']).describe('The type of response format being defined: `text`')
}), zod.object({
"type": zod.enum(['json_object']).describe('The type of response format being defined: `json_object`')
}), zod.object({
"type": zod.enum(['json_schema']).describe('The type of response format being defined: `json_schema`'),
"json_schema": zod.object({
"description": zod.string().optional().describe('A description of what the response format is for, used by the model to determine how to respond in the format.'),
"name": zod.string().max(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOnePromptTemplatingPromptOneResponseFormatThreeJsonSchemaNameMax).regex(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOnePromptTemplatingPromptOneResponseFormatThreeJsonSchemaNameRegExp).describe('The name of the response format. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64.'),
"schema": zod.record(zod.string(), zod.unknown()).optional().describe('The schema for the response format, described as a JSON Schema object.'),
"strict": zod.boolean().nullish().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOnePromptTemplatingPromptOneResponseFormatThreeJsonSchemaStrictDefault).describe('Whether to enable strict schema adherence when generating the output. If set to true, the model will always follow the exact schema defined in the `schema` field. Only a subset of JSON Schema is supported when `strict` is `true`. To learn more, read the [Structured Outputs guide](https:\/\/platform.openai.com\/docs\/guides\/structured-outputs).')
})
})]).optional().describe('Response format that the model output should adhere to. This is the same as the OpenAI definition.\n'),
"tools": zod.array(zod.object({
"type": zod.enum(['function']).describe('The type of the tool. Currently, only `function` is supported.'),
"function": zod.object({
"description": zod.string().optional().describe('A description of what the function does, used by the model to choose when and how to call the function.'),
"name": zod.string().max(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOnePromptTemplatingPromptOneToolsItemFunctionNameMax).regex(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOnePromptTemplatingPromptOneToolsItemFunctionNameRegExp).describe('The name of the function to be called. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64.'),
"parameters": zod.record(zod.string(), zod.unknown()).optional().describe('The parameters the functions accepts, described as a JSON Schema object. See the [guide](https:\/\/platform.openai.com\/docs\/guides\/function-calling) for examples, and the [JSON Schema reference](https:\/\/json-schema.org\/understanding-json-schema\/) for documentation about the format. Omitting `parameters` defines a function with an empty parameter list.'),
"strict": zod.boolean().nullish().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOnePromptTemplatingPromptOneToolsItemFunctionStrictDefault).describe('Whether to enable strict schema adherence when generating the function call. If set to true, the model will follow the exact schema defined in the `parameters` field. Only a subset of JSON Schema is supported when `strict` is `true`. Learn more about Structured Outputs in the [function calling guide](docs\/guides\/function-calling).')
}),
"cache_control": zod.object({
"type": zod.enum(['ephemeral']),
"ttl": zod.enum(['5m', '1h']).optional().describe('Time-to-live for the cache entry. Default is \"5m\" (5 minutes). \"1h\" (1 hour) is supported on select models (e.g. Claude Opus 4.5, Haiku 4.5, Sonnet 4.5).\n')
}).optional().describe('Cache control directive for Anthropic prompt caching. Only applicable to Anthropic Claude models. When set, marks the content block as a cache breakpoint.\n')
})).optional().describe('A list of tools the model may call. Used to provide a list of functions the model may generate JSON inputs for. This is the same as the OpenAI definition.\n')
}), zod.object({
"template_ref": zod.union([zod.object({
"id": zod.string().describe('ID of the template in prompt registry'),
"scope": zod.enum(['resource_group', 'tenant']).default(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOnePromptTemplatingPromptTwoTemplateRefOneScopeDefault).describe('Defines the scope that is searched for the referenced template. \'tenant\' indicates the template is shared across all resource groups within the tenant, while \'resource_group\' indicates the template is only accessible within the specific resource group.\n')
}), zod.object({
"scenario": zod.string().describe('Scenario name'),
"name": zod.string().describe('Name of the template'),
"version": zod.string().describe('Version of the template'),
"scope": zod.enum(['resource_group', 'tenant']).default(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOnePromptTemplatingPromptTwoTemplateRefTwoScopeDefault).describe('Defines the scope that is searched for the referenced template. \'tenant\' indicates the template is shared across all resource groups within the tenant, while \'resource_group\' indicates the template is only accessible within the specific resource group.\n')
})]).describe('Reference to a template in the prompt registry by ID or by scenario, name and version')
})]).optional().describe('The prompt template to be used. Can be either a user defined template or a reference to a template in the prompt registry. If omitted, messages_history must be provided in the request body.\n'),
"model": zod.object({
"name": zod.string().describe('Name of the model as in LLM Access configuration'),
"version": zod.string().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOnePromptTemplatingModelVersionDefault).describe('Version of the model to be used'),
"params": zod.record(zod.string(), zod.unknown()).optional().describe('Additional parameters for the model. Default values are used for mandatory parameters.'),
"timeout": zod.int().min(1).max(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOnePromptTemplatingModelTimeoutMax).default(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOnePromptTemplatingModelTimeoutDefault).describe('Timeout for the LLM request in seconds. This parameter is currently ignored for Vertex AI models.'),
"max_retries": zod.int().min(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOnePromptTemplatingModelMaxRetriesMin).max(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOnePromptTemplatingModelMaxRetriesMax).default(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOnePromptTemplatingModelMaxRetriesDefault).describe('Maximum number of retries for the LLM request. This parameter is currently ignored for Vertex AI models.')
}).optional().describe('The model and parameters to be used for the prompt templating. This is the model that will be used to generate the response.\n')
}).optional().describe('Partial prompt templating configuration for use with config_ref overrides. model is optional so that only the prompt can be overridden without repeating the model config.\n'),
"filtering": zod.object({
"input": zod.object({
"filters": zod.array(zod.union([zod.object({
"type": zod.enum(['azure_content_safety']).describe('Name of the filter provider type'),
"config": zod.object({
"hate": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"self_harm": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"sexual": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"violence": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"prompt_shield": zod.boolean().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOneFilteringInputOneFiltersItemOneConfigPromptShieldDefault).describe('Filter prompts for harmful content such as jailbreaks and prompt injections.')
}).optional().describe('Filter configuration for Azure Content Safety')
}), zod.object({
"type": zod.enum(['llama_guard_3_8b']).describe('Name of the filter provider type'),
"config": zod.object({
"violent_crimes": zod.boolean().optional(),
"non_violent_crimes": zod.boolean().optional(),
"sex_crimes": zod.boolean().optional(),
"child_exploitation": zod.boolean().optional(),
"defamation": zod.boolean().optional(),
"specialized_advice": zod.boolean().optional(),
"privacy": zod.boolean().optional(),
"intellectual_property": zod.boolean().optional(),
"indiscriminate_weapons": zod.boolean().optional(),
"hate": zod.boolean().optional(),
"self_harm": zod.boolean().optional(),
"sexual_content": zod.boolean().optional(),
"elections": zod.boolean().optional(),
"code_interpreter_abuse": zod.boolean().optional()
}).describe('Filter configuration for Llama Guard 3 8B')
})])).min(1).describe('Configuration for content filtering services that should be used for the given filtering step (input filtering).')
}).optional().describe('List of provider type and filters'),
"output": zod.object({
"filters": zod.array(zod.union([zod.object({
"type": zod.enum(['azure_content_safety']).describe('Name of the filter provider type'),
"config": zod.object({
"hate": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"self_harm": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"sexual": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"violence": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"protected_material_code": zod.boolean().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOneFilteringOutputOneFiltersItemOneConfigProtectedMaterialCodeDefault).describe('Detect protected code content from known GitHub repositories. The scan includes software libraries, source code, algorithms, and other proprietary programming content.')
}).optional().describe('Filter configuration for Azure Content Safety')
}), zod.object({
"type": zod.enum(['llama_guard_3_8b']).describe('Name of the filter provider type'),
"config": zod.object({
"violent_crimes": zod.boolean().optional(),
"non_violent_crimes": zod.boolean().optional(),
"sex_crimes": zod.boolean().optional(),
"child_exploitation": zod.boolean().optional(),
"defamation": zod.boolean().optional(),
"specialized_advice": zod.boolean().optional(),
"privacy": zod.boolean().optional(),
"intellectual_property": zod.boolean().optional(),
"indiscriminate_weapons": zod.boolean().optional(),
"hate": zod.boolean().optional(),
"self_harm": zod.boolean().optional(),
"sexual_content": zod.boolean().optional(),
"elections": zod.boolean().optional(),
"code_interpreter_abuse": zod.boolean().optional()
}).describe('Filter configuration for Llama Guard 3 8B')
})])).min(1).describe('Configuration for content filtering services that should be used for the given filtering step (output filtering).'),
"stream_options": zod.object({
"overlap": zod.int().min(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOneFilteringOutputOneStreamOptionsOverlapMin).max(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOneFilteringOutputOneStreamOptionsOverlapMax).default(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOneFilteringOutputOneStreamOptionsOverlapDefault).describe('Number of characters that should be additionally sent to content filtering services from previous chunks as additional context.')
}).optional().describe('Stream options for output filtering. Will be ignored if stream is false.')
}).optional().describe('List of provider type and filters')
}).optional(),
"masking": zod.union([zod.object({
"providers": zod.array(zod.object({
"type": zod.enum(['sap_data_privacy_integration']).describe('Type of masking service provider'),
"method": zod.enum(['anonymization', 'pseudonymization']).describe('Type of masking method to be used'),
"entities": zod.array(zod.union([zod.object({
"type": zod.enum(['profile-person', 'profile-org', 'profile-university', 'profile-location', 'profile-email', 'profile-phone', 'profile-address', 'profile-sapids-internal', 'profile-sapids-public', 'profile-url', 'profile-username-password', 'profile-nationalid', 'profile-iban', 'profile-ssn', 'profile-credit-card-number', 'profile-passport', 'profile-driverlicense', 'profile-nationality', 'profile-religious-group', 'profile-political-group', 'profile-pronouns-gender', 'profile-ethnicity', 'profile-gender', 'profile-sexual-orientation', 'profile-trade-union', 'profile-sensitive-data']).describe('Default entities supported by data privacy and integration service'),
"replacement_strategy": zod.union([zod.object({
"method": zod.enum(['constant']),
"value": zod.string().describe('Value to be used for replacement')
}).describe('Replaces the entity with the specified value followed by an incrementing number'), zod.object({
"method": zod.enum(['fabricated_data'])
}).describe('Replaces the entity with a randomly generated value appropriate to its type.')]).optional().describe('Replacement strategy to be used for the entity')
}), zod.object({
"regex": zod.string().describe('Regular expression to match the entity'),
"replacement_strategy": zod.object({
"method": zod.enum(['constant']),
"value": zod.string().describe('Value to be used for replacement')
}).describe('Replaces the entity with the specified value followed by an incrementing number').describe('Replacement strategy to be used for the entity')
})])).min(1).describe('List of entities to be masked'),
"allowlist": zod.array(zod.string()).optional().describe('List of strings that should not be masked'),
"mask_grounding_input": zod.object({
"enabled": zod.boolean().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOneMaskingOneProvidersItemOneMaskGroundingInputEnabledDefault).describe('controls whether the input to the grounding module will be masked with the configuration supplied in the masking module')
}).optional(),
"mask_file_input_method": zod.enum(['anonymization', 'skip']).optional().describe('Type of masking method to be used for file inputs. Required if file inputs are provided.')
})).min(1).describe('List of masking service providers')
}), zod.object({
"masking_providers": zod.array(zod.object({
"type": zod.enum(['sap_data_privacy_integration']).describe('Type of masking service provider'),
"method": zod.enum(['anonymization', 'pseudonymization']).describe('Type of masking method to be used'),
"entities": zod.array(zod.union([zod.object({
"type": zod.enum(['profile-person', 'profile-org', 'profile-university', 'profile-location', 'profile-email', 'profile-phone', 'profile-address', 'profile-sapids-internal', 'profile-sapids-public', 'profile-url', 'profile-username-password', 'profile-nationalid', 'profile-iban', 'profile-ssn', 'profile-credit-card-number', 'profile-passport', 'profile-driverlicense', 'profile-nationality', 'profile-religious-group', 'profile-political-group', 'profile-pronouns-gender', 'profile-ethnicity', 'profile-gender', 'profile-sexual-orientation', 'profile-trade-union', 'profile-sensitive-data']).describe('Default entities supported by data privacy and integration service'),
"replacement_strategy": zod.union([zod.object({
"method": zod.enum(['constant']),
"value": zod.string().describe('Value to be used for replacement')
}).describe('Replaces the entity with the specified value followed by an incrementing number'), zod.object({
"method": zod.enum(['fabricated_data'])
}).describe('Replaces the entity with a randomly generated value appropriate to its type.')]).optional().describe('Replacement strategy to be used for the entity')
}), zod.object({
"regex": zod.string().describe('Regular expression to match the entity'),
"replacement_strategy": zod.object({
"method": zod.enum(['constant']),
"value": zod.string().describe('Value to be used for replacement')
}).describe('Replaces the entity with the specified value followed by an incrementing number').describe('Replacement strategy to be used for the entity')
})])).min(1).describe('List of entities to be masked'),
"allowlist": zod.array(zod.string()).optional().describe('List of strings that should not be masked'),
"mask_grounding_input": zod.object({
"enabled": zod.boolean().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOneMaskingTwoMaskingProvidersItemOneMaskGroundingInputEnabledDefault).describe('controls whether the input to the grounding module will be masked with the configuration supplied in the masking module')
}).optional(),
"mask_file_input_method": zod.enum(['anonymization', 'skip']).optional().describe('Type of masking method to be used for file inputs. Required if file inputs are provided.')
})).min(1).describe('List of masking service providers. \*\*DEPRECATED\*\*: will be removed March 20, 2027. Use `providers` property instead.')
})]).optional(),
"grounding": zod.object({
"type": zod.union([zod.enum(['document_grounding_service']), zod.unknown()]),
"config": zod.object({
"filters": zod.array(zod.object({
"id": zod.string().optional().describe('Identifier of this SearchFilter - unique per request.'),
"search_config": zod.object({
"max_chunk_count": zod.int().gt(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOneGroundingConfigFiltersItemOneSearchConfigMaxChunkCountExclusiveMin).optional().describe('Maximum number of chunks to be returned. Cannot be used with \'maxDocumentCount\'.'),
"max_document_count": zod.int().gt(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOneGroundingConfigFiltersItemOneSearchConfigMaxDocumentCountExclusiveMin).optional().describe('[Only supports \'vector\' dataRepositoryType] - Maximum number of documents to be returned. Cannot be used with \'maxChunkCount\'. If maxDocumentCount is given, then only one chunk per document is returned.')
}).optional(),
"data_repositories": zod.array(zod.string()).default(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOneGroundingConfigFiltersItemOneDataRepositoriesDefault).describe('Specify [\'\*\'] to search across all DataRepositories or give a specific list of DataRepository ids.'),
"data_repository_type": zod.enum(['vector', 'help.sap.com']).describe('Only include DataRepositories with the given type.'),
"data_repository_metadata": zod.array(zod.object({
"key": zod.string().max(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOneGroundingConfigFiltersItemOneDataRepositoryMetadataItemKeyMax),
"value": zod.array(zod.string().max(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOneGroundingConfigFiltersItemOneDataRepositoryMetadataItemValueItemMax))
})).optional().describe('Restrict DataRepositories considered during search to those annotated with the given metadata. Useful when combined with dataRepositories=[\'\*\']'),
"document_metadata": zod.array(zod.object({
"key": zod.string().max(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOneGroundingConfigFiltersItemOneDocumentMetadataItemKeyMax),
"value": zod.array(zod.string().max(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOneGroundingConfigFiltersItemOneDocumentMetadataItemValueItemMax)),
"select_mode": zod.array(zod.enum(['ignoreIfKeyAbsent'])).optional().describe('Select mode for search filters')
})).optional().describe('Restrict documents considered during search to those annotated with the given metadata.'),
"chunk_metadata": zod.array(zod.object({
"key": zod.string().max(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOneGroundingConfigFiltersItemOneChunkMetadataItemKeyMax),
"value": zod.array(zod.string().max(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOneGroundingConfigFiltersItemOneChunkMetadataItemValueItemMax))
})).optional().describe('Restrict chunks considered during search to those with the given metadata.')
})).optional().describe('Document grounding service filters to be used'),
"placeholders": zod.object({
"input": zod.array(zod.string()).min(1).describe('Contains the input parameters used for grounding input questions'),
"output": zod.string().describe('Placeholder name for grounding output')
}).describe('Placeholders to be used for grounding input questions and output'),
"metadata_params": zod.array(zod.string()).optional().describe('Parameter name used for specifying metadata parameters')
})
}).optional(),
"translation": zod.object({
"input": zod.object({
"type": zod.enum(['sap_document_translation']).describe('Type of document translation provider'),
"translate_messages_history": zod.boolean().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesOneTranslationInputOneTranslateMessagesHistoryDefault).describe('If true, the messages history will be translated as well.'),
"config": zod.object({
"source_language": zod.string().optional().describe('Language of the text to be translated.'),
"apply_to": zod.array(zod.object({
"category": zod.enum(['placeholders', 'template_roles']).describe('Category to apply translation to.'),
"items": zod.array(zod.string()).describe('List of placeholders or roles to apply translation to'),
"source_language": zod.string().optional().describe('Language of the text to be translated.')
}).describe('This selector allows you to define the scope of translation, such as specific placeholders or messages with specific roles. For example, `{\"category\": \"placeholders\", \"items\": [\"user_input\"], \"source_language\": \"de-DE\"}` targets the value of \"user_input\" in `placeholder_values` specified in the request payload; and considers the value to be in German.\n')).min(1).optional(),
"target_language": zod.string().describe('Language to which the text should be translated.')
}).describe('Configuration for `sap_document_translation` translation provider.')
}).optional().describe('Configuration for input translation'),
"output": zod.object({
"type": zod.enum(['sap_document_translation']).describe('Configuration for `sap_document_translation` translation provider.'),
"config": zod.object({
"source_language": zod.string().optional().describe('Language of the text to be translated.'),
"target_language": zod.union([zod.string().describe('Language to which the text should be translated.'), zod.object({
"category": zod.enum(['placeholders', 'template_roles']).describe('Category to apply translation to.'),
"items": zod.array(zod.string()).describe('List of placeholders or roles to apply translation to'),
"source_language": zod.string().optional().describe('Language of the text to be translated.')
}).describe('This selector allows you to define the scope of translation, such as specific placeholders or messages with specific roles. For example, `{\"category\": \"placeholders\", \"items\": [\"user_input\"], \"source_language\": \"de-DE\"}` targets the value of \"user_input\" in `placeholder_values` specified in the request payload; and considers the value to be in German.\n')])
})
}).optional().describe('Configuration for output translation')
}).optional().describe('Configuration for translation module')
}).describe('Partial module configuration for use with config_ref overrides. All fields are optional so that only the modules that should be overridden need to be specified. The remaining configuration is taken from the referenced orchestration config.\n'), zod.array(zod.object({
"prompt_templating": zod.object({
"prompt": zod.union([zod.object({
"template": zod.array(zod.union([zod.object({
"role": zod.enum(['system']),
"content": zod.union([zod.string(), zod.array(zod.object({
"type": zod.enum(['text']),
"text": zod.string(),
"cache_control": zod.object({
"type": zod.enum(['ephemeral']),
"ttl": zod.enum(['5m', '1h']).optional().describe('Time-to-live for the cache entry. Default is \"5m\" (5 minutes). \"1h\" (1 hour) is supported on select models (e.g. Claude Opus 4.5, Haiku 4.5, Sonnet 4.5).\n')
}).optional().describe('Cache control directive for Anthropic prompt caching. Only applicable to Anthropic Claude models. When set, marks the content block as a cache breakpoint.\n')
})).min(1)])
}), zod.object({
"content": zod.union([zod.string(), zod.array(zod.object({
"type": zod.enum(['text', 'image_url', 'file']),
"text": zod.string().optional(),
"image_url": zod.object({
"url": zod.string(),
"detail": zod.string().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemPromptTemplatingPromptOneTemplateOneItemTwoContentTwoItemImageUrlDetailDefault)
}).optional(),
"file": zod.object({
"file_data": zod.string().describe('Base64 encoded file content or file URL'),
"filename": zod.string().optional().describe('Name of the file')
}).optional(),
"cache_control": zod.object({
"type": zod.enum(['ephemeral']),
"ttl": zod.enum(['5m', '1h']).optional().describe('Time-to-live for the cache entry. Default is \"5m\" (5 minutes). \"1h\" (1 hour) is supported on select models (e.g. Claude Opus 4.5, Haiku 4.5, Sonnet 4.5).\n')
}).optional().describe('Cache control directive for Anthropic prompt caching. Only applicable to Anthropic Claude models. When set, marks the content block as a cache breakpoint.\n')
})).min(1)]),
"role": zod.enum(['user'])
}), zod.object({
"role": zod.enum(['assistant']),
"content": zod.union([zod.string(), zod.array(zod.object({
"type": zod.enum(['text']),
"text": zod.string(),
"cache_control": zod.object({
"type": zod.enum(['ephemeral']),
"ttl": zod.enum(['5m', '1h']).optional().describe('Time-to-live for the cache entry. Default is \"5m\" (5 minutes). \"1h\" (1 hour) is supported on select models (e.g. Claude Opus 4.5, Haiku 4.5, Sonnet 4.5).\n')
}).optional().describe('Cache control directive for Anthropic prompt caching. Only applicable to Anthropic Claude models. When set, marks the content block as a cache breakpoint.\n')
})).min(1)]).optional(),
"refusal": zod.string().optional(),
"tool_calls": zod.array(zod.object({
"id": zod.string().describe('The ID of the tool call.'),
"type": zod.enum(['function']).describe('The type of the tool. Currently, only `function` is supported.'),
"function": zod.object({
"name": zod.string().describe('The name of the function to call.'),
"arguments": zod.string().describe('The arguments to call the function with, as generated by the model in JSON format. Note that the model does not always generate valid JSON, and may hallucinate parameters not defined by your function schema. Validate the arguments in your code before calling your function.')
}).describe('The function that the model called.')
})).optional().describe('The tool calls generated by the model, such as function calls.'),
"reasoning_content": zod.array(zod.object({
"content": zod.string().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemPromptTemplatingPromptOneTemplateOneItemThreeReasoningContentItemContentDefault),
"signature": zod.string().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemPromptTemplatingPromptOneTemplateOneItemThreeReasoningContentItemSignatureDefault)
})).optional().describe('Reasoning or thinking content from the model\'s previous turn.\n')
}), zod.object({
"role": zod.enum(['tool']),
"tool_call_id": zod.string(),
"content": zod.union([zod.string(), zod.array(zod.object({
"type": zod.enum(['text']),
"text": zod.string(),
"cache_control": zod.object({
"type": zod.enum(['ephemeral']),
"ttl": zod.enum(['5m', '1h']).optional().describe('Time-to-live for the cache entry. Default is \"5m\" (5 minutes). \"1h\" (1 hour) is supported on select models (e.g. Claude Opus 4.5, Haiku 4.5, Sonnet 4.5).\n')
}).optional().describe('Cache control directive for Anthropic prompt caching. Only applicable to Anthropic Claude models. When set, marks the content block as a cache breakpoint.\n')
})).min(1)])
}), zod.object({
"role": zod.enum(['developer']),
"content": zod.union([zod.string(), zod.array(zod.object({
"type": zod.enum(['text']),
"text": zod.string(),
"cache_control": zod.object({
"type": zod.enum(['ephemeral']),
"ttl": zod.enum(['5m', '1h']).optional().describe('Time-to-live for the cache entry. Default is \"5m\" (5 minutes). \"1h\" (1 hour) is supported on select models (e.g. Claude Opus 4.5, Haiku 4.5, Sonnet 4.5).\n')
}).optional().describe('Cache control directive for Anthropic prompt caching. Only applicable to Anthropic Claude models. When set, marks the content block as a cache breakpoint.\n')
})).min(1)])
})])).min(1).describe('A chat message array to be formatted with values from placeholder_values. Both role and content can be templated. If messages_history is provided, the templated messages will be appended.'),
"defaults": zod.record(zod.string(), zod.string()).optional().describe('Optional default values for the template. If a parameter has no default it is required.'),
"response_format": zod.union([zod.object({
"type": zod.enum(['text']).describe('The type of response format being defined: `text`')
}), zod.object({
"type": zod.enum(['json_object']).describe('The type of response format being defined: `json_object`')
}), zod.object({
"type": zod.enum(['json_schema']).describe('The type of response format being defined: `json_schema`'),
"json_schema": zod.object({
"description": zod.string().optional().describe('A description of what the response format is for, used by the model to determine how to respond in the format.'),
"name": zod.string().max(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemPromptTemplatingPromptOneResponseFormatThreeJsonSchemaNameMax).regex(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemPromptTemplatingPromptOneResponseFormatThreeJsonSchemaNameRegExp).describe('The name of the response format. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64.'),
"schema": zod.record(zod.string(), zod.unknown()).optional().describe('The schema for the response format, described as a JSON Schema object.'),
"strict": zod.boolean().nullish().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemPromptTemplatingPromptOneResponseFormatThreeJsonSchemaStrictDefault).describe('Whether to enable strict schema adherence when generating the output. If set to true, the model will always follow the exact schema defined in the `schema` field. Only a subset of JSON Schema is supported when `strict` is `true`. To learn more, read the [Structured Outputs guide](https:\/\/platform.openai.com\/docs\/guides\/structured-outputs).')
})
})]).optional().describe('Response format that the model output should adhere to. This is the same as the OpenAI definition.\n'),
"tools": zod.array(zod.object({
"type": zod.enum(['function']).describe('The type of the tool. Currently, only `function` is supported.'),
"function": zod.object({
"description": zod.string().optional().describe('A description of what the function does, used by the model to choose when and how to call the function.'),
"name": zod.string().max(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemPromptTemplatingPromptOneToolsItemFunctionNameMax).regex(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemPromptTemplatingPromptOneToolsItemFunctionNameRegExp).describe('The name of the function to be called. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64.'),
"parameters": zod.record(zod.string(), zod.unknown()).optional().describe('The parameters the functions accepts, described as a JSON Schema object. See the [guide](https:\/\/platform.openai.com\/docs\/guides\/function-calling) for examples, and the [JSON Schema reference](https:\/\/json-schema.org\/understanding-json-schema\/) for documentation about the format. Omitting `parameters` defines a function with an empty parameter list.'),
"strict": zod.boolean().nullish().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemPromptTemplatingPromptOneToolsItemFunctionStrictDefault).describe('Whether to enable strict schema adherence when generating the function call. If set to true, the model will follow the exact schema defined in the `parameters` field. Only a subset of JSON Schema is supported when `strict` is `true`. Learn more about Structured Outputs in the [function calling guide](docs\/guides\/function-calling).')
}),
"cache_control": zod.object({
"type": zod.enum(['ephemeral']),
"ttl": zod.enum(['5m', '1h']).optional().describe('Time-to-live for the cache entry. Default is \"5m\" (5 minutes). \"1h\" (1 hour) is supported on select models (e.g. Claude Opus 4.5, Haiku 4.5, Sonnet 4.5).\n')
}).optional().describe('Cache control directive for Anthropic prompt caching. Only applicable to Anthropic Claude models. When set, marks the content block as a cache breakpoint.\n')
})).optional().describe('A list of tools the model may call. Used to provide a list of functions the model may generate JSON inputs for. This is the same as the OpenAI definition.\n')
}), zod.object({
"template_ref": zod.union([zod.object({
"id": zod.string().describe('ID of the template in prompt registry'),
"scope": zod.enum(['resource_group', 'tenant']).default(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemPromptTemplatingPromptTwoTemplateRefOneScopeDefault).describe('Defines the scope that is searched for the referenced template. \'tenant\' indicates the template is shared across all resource groups within the tenant, while \'resource_group\' indicates the template is only accessible within the specific resource group.\n')
}), zod.object({
"scenario": zod.string().describe('Scenario name'),
"name": zod.string().describe('Name of the template'),
"version": zod.string().describe('Version of the template'),
"scope": zod.enum(['resource_group', 'tenant']).default(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemPromptTemplatingPromptTwoTemplateRefTwoScopeDefault).describe('Defines the scope that is searched for the referenced template. \'tenant\' indicates the template is shared across all resource groups within the tenant, while \'resource_group\' indicates the template is only accessible within the specific resource group.\n')
})]).describe('Reference to a template in the prompt registry by ID or by scenario, name and version')
})]).optional().describe('The prompt template to be used. Can be either a user defined template or a reference to a template in the prompt registry. If omitted, messages_history must be provided in the request body.\n'),
"model": zod.object({
"name": zod.string().describe('Name of the model as in LLM Access configuration'),
"version": zod.string().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemPromptTemplatingModelVersionDefault).describe('Version of the model to be used'),
"params": zod.record(zod.string(), zod.unknown()).optional().describe('Additional parameters for the model. Default values are used for mandatory parameters.'),
"timeout": zod.int().min(1).max(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemPromptTemplatingModelTimeoutMax).default(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemPromptTemplatingModelTimeoutDefault).describe('Timeout for the LLM request in seconds. This parameter is currently ignored for Vertex AI models.'),
"max_retries": zod.int().min(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemPromptTemplatingModelMaxRetriesMin).max(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemPromptTemplatingModelMaxRetriesMax).default(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemPromptTemplatingModelMaxRetriesDefault).describe('Maximum number of retries for the LLM request. This parameter is currently ignored for Vertex AI models.')
}).describe('The model and parameters to be used for the prompt templating. This is the model that will be used to generate the response.\n')
}),
"filtering": zod.object({
"input": zod.object({
"filters": zod.array(zod.union([zod.object({
"type": zod.enum(['azure_content_safety']).describe('Name of the filter provider type'),
"config": zod.object({
"hate": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"self_harm": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"sexual": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"violence": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"prompt_shield": zod.boolean().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemFilteringInputOneFiltersItemOneConfigPromptShieldDefault).describe('Filter prompts for harmful content such as jailbreaks and prompt injections.')
}).optional().describe('Filter configuration for Azure Content Safety')
}), zod.object({
"type": zod.enum(['llama_guard_3_8b']).describe('Name of the filter provider type'),
"config": zod.object({
"violent_crimes": zod.boolean().optional(),
"non_violent_crimes": zod.boolean().optional(),
"sex_crimes": zod.boolean().optional(),
"child_exploitation": zod.boolean().optional(),
"defamation": zod.boolean().optional(),
"specialized_advice": zod.boolean().optional(),
"privacy": zod.boolean().optional(),
"intellectual_property": zod.boolean().optional(),
"indiscriminate_weapons": zod.boolean().optional(),
"hate": zod.boolean().optional(),
"self_harm": zod.boolean().optional(),
"sexual_content": zod.boolean().optional(),
"elections": zod.boolean().optional(),
"code_interpreter_abuse": zod.boolean().optional()
}).describe('Filter configuration for Llama Guard 3 8B')
})])).min(1).describe('Configuration for content filtering services that should be used for the given filtering step (input filtering).')
}).optional().describe('List of provider type and filters'),
"output": zod.object({
"filters": zod.array(zod.union([zod.object({
"type": zod.enum(['azure_content_safety']).describe('Name of the filter provider type'),
"config": zod.object({
"hate": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"self_harm": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"sexual": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"violence": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"protected_material_code": zod.boolean().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemFilteringOutputOneFiltersItemOneConfigProtectedMaterialCodeDefault).describe('Detect protected code content from known GitHub repositories. The scan includes software libraries, source code, algorithms, and other proprietary programming content.')
}).optional().describe('Filter configuration for Azure Content Safety')
}), zod.object({
"type": zod.enum(['llama_guard_3_8b']).describe('Name of the filter provider type'),
"config": zod.object({
"violent_crimes": zod.boolean().optional(),
"non_violent_crimes": zod.boolean().optional(),
"sex_crimes": zod.boolean().optional(),
"child_exploitation": zod.boolean().optional(),
"defamation": zod.boolean().optional(),
"specialized_advice": zod.boolean().optional(),
"privacy": zod.boolean().optional(),
"intellectual_property": zod.boolean().optional(),
"indiscriminate_weapons": zod.boolean().optional(),
"hate": zod.boolean().optional(),
"self_harm": zod.boolean().optional(),
"sexual_content": zod.boolean().optional(),
"elections": zod.boolean().optional(),
"code_interpreter_abuse": zod.boolean().optional()
}).describe('Filter configuration for Llama Guard 3 8B')
})])).min(1).describe('Configuration for content filtering services that should be used for the given filtering step (output filtering).'),
"stream_options": zod.object({
"overlap": zod.int().min(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemFilteringOutputOneStreamOptionsOverlapMin).max(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemFilteringOutputOneStreamOptionsOverlapMax).default(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemFilteringOutputOneStreamOptionsOverlapDefault).describe('Number of characters that should be additionally sent to content filtering services from previous chunks as additional context.')
}).optional().describe('Stream options for output filtering. Will be ignored if stream is false.')
}).optional().describe('List of provider type and filters')
}).optional(),
"masking": zod.union([zod.object({
"providers": zod.array(zod.object({
"type": zod.enum(['sap_data_privacy_integration']).describe('Type of masking service provider'),
"method": zod.enum(['anonymization', 'pseudonymization']).describe('Type of masking method to be used'),
"entities": zod.array(zod.union([zod.object({
"type": zod.enum(['profile-person', 'profile-org', 'profile-university', 'profile-location', 'profile-email', 'profile-phone', 'profile-address', 'profile-sapids-internal', 'profile-sapids-public', 'profile-url', 'profile-username-password', 'profile-nationalid', 'profile-iban', 'profile-ssn', 'profile-credit-card-number', 'profile-passport', 'profile-driverlicense', 'profile-nationality', 'profile-religious-group', 'profile-political-group', 'profile-pronouns-gender', 'profile-ethnicity', 'profile-gender', 'profile-sexual-orientation', 'profile-trade-union', 'profile-sensitive-data']).describe('Default entities supported by data privacy and integration service'),
"replacement_strategy": zod.union([zod.object({
"method": zod.enum(['constant']),
"value": zod.string().describe('Value to be used for replacement')
}).describe('Replaces the entity with the specified value followed by an incrementing number'), zod.object({
"method": zod.enum(['fabricated_data'])
}).describe('Replaces the entity with a randomly generated value appropriate to its type.')]).optional().describe('Replacement strategy to be used for the entity')
}), zod.object({
"regex": zod.string().describe('Regular expression to match the entity'),
"replacement_strategy": zod.object({
"method": zod.enum(['constant']),
"value": zod.string().describe('Value to be used for replacement')
}).describe('Replaces the entity with the specified value followed by an incrementing number').describe('Replacement strategy to be used for the entity')
})])).min(1).describe('List of entities to be masked'),
"allowlist": zod.array(zod.string()).optional().describe('List of strings that should not be masked'),
"mask_grounding_input": zod.object({
"enabled": zod.boolean().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemMaskingOneProvidersItemOneMaskGroundingInputEnabledDefault).describe('controls whether the input to the grounding module will be masked with the configuration supplied in the masking module')
}).optional(),
"mask_file_input_method": zod.enum(['anonymization', 'skip']).optional().describe('Type of masking method to be used for file inputs. Required if file inputs are provided.')
})).min(1).describe('List of masking service providers')
}), zod.object({
"masking_providers": zod.array(zod.object({
"type": zod.enum(['sap_data_privacy_integration']).describe('Type of masking service provider'),
"method": zod.enum(['anonymization', 'pseudonymization']).describe('Type of masking method to be used'),
"entities": zod.array(zod.union([zod.object({
"type": zod.enum(['profile-person', 'profile-org', 'profile-university', 'profile-location', 'profile-email', 'profile-phone', 'profile-address', 'profile-sapids-internal', 'profile-sapids-public', 'profile-url', 'profile-username-password', 'profile-nationalid', 'profile-iban', 'profile-ssn', 'profile-credit-card-number', 'profile-passport', 'profile-driverlicense', 'profile-nationality', 'profile-religious-group', 'profile-political-group', 'profile-pronouns-gender', 'profile-ethnicity', 'profile-gender', 'profile-sexual-orientation', 'profile-trade-union', 'profile-sensitive-data']).describe('Default entities supported by data privacy and integration service'),
"replacement_strategy": zod.union([zod.object({
"method": zod.enum(['constant']),
"value": zod.string().describe('Value to be used for replacement')
}).describe('Replaces the entity with the specified value followed by an incrementing number'), zod.object({
"method": zod.enum(['fabricated_data'])
}).describe('Replaces the entity with a randomly generated value appropriate to its type.')]).optional().describe('Replacement strategy to be used for the entity')
}), zod.object({
"regex": zod.string().describe('Regular expression to match the entity'),
"replacement_strategy": zod.object({
"method": zod.enum(['constant']),
"value": zod.string().describe('Value to be used for replacement')
}).describe('Replaces the entity with the specified value followed by an incrementing number').describe('Replacement strategy to be used for the entity')
})])).min(1).describe('List of entities to be masked'),
"allowlist": zod.array(zod.string()).optional().describe('List of strings that should not be masked'),
"mask_grounding_input": zod.object({
"enabled": zod.boolean().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemMaskingTwoMaskingProvidersItemOneMaskGroundingInputEnabledDefault).describe('controls whether the input to the grounding module will be masked with the configuration supplied in the masking module')
}).optional(),
"mask_file_input_method": zod.enum(['anonymization', 'skip']).optional().describe('Type of masking method to be used for file inputs. Required if file inputs are provided.')
})).min(1).describe('List of masking service providers. \*\*DEPRECATED\*\*: will be removed March 20, 2027. Use `providers` property instead.')
})]).optional(),
"grounding": zod.object({
"type": zod.union([zod.enum(['document_grounding_service']), zod.unknown()]),
"config": zod.object({
"filters": zod.array(zod.object({
"id": zod.string().optional().describe('Identifier of this SearchFilter - unique per request.'),
"search_config": zod.object({
"max_chunk_count": zod.int().gt(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemGroundingConfigFiltersItemOneSearchConfigMaxChunkCountExclusiveMin).optional().describe('Maximum number of chunks to be returned. Cannot be used with \'maxDocumentCount\'.'),
"max_document_count": zod.int().gt(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemGroundingConfigFiltersItemOneSearchConfigMaxDocumentCountExclusiveMin).optional().describe('[Only supports \'vector\' dataRepositoryType] - Maximum number of documents to be returned. Cannot be used with \'maxChunkCount\'. If maxDocumentCount is given, then only one chunk per document is returned.')
}).optional(),
"data_repositories": zod.array(zod.string()).default(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemGroundingConfigFiltersItemOneDataRepositoriesDefault).describe('Specify [\'\*\'] to search across all DataRepositories or give a specific list of DataRepository ids.'),
"data_repository_type": zod.enum(['vector', 'help.sap.com']).describe('Only include DataRepositories with the given type.'),
"data_repository_metadata": zod.array(zod.object({
"key": zod.string().max(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemGroundingConfigFiltersItemOneDataRepositoryMetadataItemKeyMax),
"value": zod.array(zod.string().max(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemGroundingConfigFiltersItemOneDataRepositoryMetadataItemValueItemMax))
})).optional().describe('Restrict DataRepositories considered during search to those annotated with the given metadata. Useful when combined with dataRepositories=[\'\*\']'),
"document_metadata": zod.array(zod.object({
"key": zod.string().max(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemGroundingConfigFiltersItemOneDocumentMetadataItemKeyMax),
"value": zod.array(zod.string().max(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemGroundingConfigFiltersItemOneDocumentMetadataItemValueItemMax)),
"select_mode": zod.array(zod.enum(['ignoreIfKeyAbsent'])).optional().describe('Select mode for search filters')
})).optional().describe('Restrict documents considered during search to those annotated with the given metadata.'),
"chunk_metadata": zod.array(zod.object({
"key": zod.string().max(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemGroundingConfigFiltersItemOneChunkMetadataItemKeyMax),
"value": zod.array(zod.string().max(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemGroundingConfigFiltersItemOneChunkMetadataItemValueItemMax))
})).optional().describe('Restrict chunks considered during search to those with the given metadata.')
})).optional().describe('Document grounding service filters to be used'),
"placeholders": zod.object({
"input": zod.array(zod.string()).min(1).describe('Contains the input parameters used for grounding input questions'),
"output": zod.string().describe('Placeholder name for grounding output')
}).describe('Placeholders to be used for grounding input questions and output'),
"metadata_params": zod.array(zod.string()).optional().describe('Parameter name used for specifying metadata parameters')
})
}).optional(),
"translation": zod.object({
"input": zod.object({
"type": zod.enum(['sap_document_translation']).describe('Type of document translation provider'),
"translate_messages_history": zod.boolean().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecModulesTwoItemTranslationInputOneTranslateMessagesHistoryDefault).describe('If true, the messages history will be translated as well.'),
"config": zod.object({
"source_language": zod.string().optional().describe('Language of the text to be translated.'),
"apply_to": zod.array(zod.object({
"category": zod.enum(['placeholders', 'template_roles']).describe('Category to apply translation to.'),
"items": zod.array(zod.string()).describe('List of placeholders or roles to apply translation to'),
"source_language": zod.string().optional().describe('Language of the text to be translated.')
}).describe('This selector allows you to define the scope of translation, such as specific placeholders or messages with specific roles. For example, `{\"category\": \"placeholders\", \"items\": [\"user_input\"], \"source_language\": \"de-DE\"}` targets the value of \"user_input\" in `placeholder_values` specified in the request payload; and considers the value to be in German.\n')).min(1).optional(),
"target_language": zod.string().describe('Language to which the text should be translated.')
}).describe('Configuration for `sap_document_translation` translation provider.')
}).optional().describe('Configuration for input translation'),
"output": zod.object({
"type": zod.enum(['sap_document_translation']).describe('Configuration for `sap_document_translation` translation provider.'),
"config": zod.object({
"source_language": zod.string().optional().describe('Language of the text to be translated.'),
"target_language": zod.union([zod.string().describe('Language to which the text should be translated.'), zod.object({
"category": zod.enum(['placeholders', 'template_roles']).describe('Category to apply translation to.'),
"items": zod.array(zod.string()).describe('List of placeholders or roles to apply translation to'),
"source_language": zod.string().optional().describe('Language of the text to be translated.')
}).describe('This selector allows you to define the scope of translation, such as specific placeholders or messages with specific roles. For example, `{\"category\": \"placeholders\", \"items\": [\"user_input\"], \"source_language\": \"de-DE\"}` targets the value of \"user_input\" in `placeholder_values` specified in the request payload; and considers the value to be in German.\n')])
})
}).optional().describe('Configuration for output translation')
}).optional().describe('Configuration for translation module')
})).min(1).describe('A list of module configurations. The first configuration in the list that succeeds will be used.\n')]).optional(),
"stream": zod.object({
"enabled": zod.boolean().default(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecStreamEnabledDefault).describe('If true, the response will be streamed back to the client'),
"chunk_size": zod.int().min(1).max(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecStreamChunkSizeMax).default(registryControllerOrchestrationConfigControllerListOrchestrationConfigHistoryResponseResourcesItemSpecStreamChunkSizeDefault).describe('Minimum number of characters per chunk that post-LLM modules operate on.'),
"delimiters": zod.array(zod.string()).min(1).optional().describe('List of delimiters to split the input text into chunks.Please note, this is a required parameter when `input_translation_module_config` or `output_translation_module_config` are configured.')
}).optional().describe('Options for streaming. Will be ignored if enabled is false.')
}).optional()
}))
});
/**
* Get orchestration config by UUID
*/
export const RegistryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidParams = zod.object({
"orchestrationConfigId": zod.uuid()
});
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidQueryResolveTemplateRefDefault = false;
export const RegistryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidQueryParams = zod.object({
"resolve_template_ref": zod.boolean().default(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidQueryResolveTemplateRefDefault).describe('DEPRECATED: Use resolveTemplateRef instead'),
"resolveTemplateRef": zod.boolean().optional()
});
export const RegistryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidHeader = zod.object({
"AI-Resource-Group": zod.string().optional().describe('Specify a resource group id to use')
});
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOnePromptTemplatingPromptOneTemplateOneItemTwoContentTwoItemImageUrlDetailDefault = `auto`;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOnePromptTemplatingPromptOneTemplateOneItemThreeReasoningContentItemContentDefault = ``;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOnePromptTemplatingPromptOneTemplateOneItemThreeReasoningContentItemSignatureDefault = ``;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOnePromptTemplatingPromptOneResponseFormatThreeJsonSchemaNameMax = 64;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOnePromptTemplatingPromptOneResponseFormatThreeJsonSchemaNameRegExp = new RegExp('^[a-zA-Z0-9-_]+$');
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOnePromptTemplatingPromptOneResponseFormatThreeJsonSchemaStrictDefault = false;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOnePromptTemplatingPromptOneToolsItemFunctionNameMax = 64;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOnePromptTemplatingPromptOneToolsItemFunctionNameRegExp = new RegExp('^[a-zA-Z0-9-_]+$');
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOnePromptTemplatingPromptOneToolsItemFunctionStrictDefault = false;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOnePromptTemplatingPromptTwoTemplateRefOneScopeDefault = `tenant`;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOnePromptTemplatingPromptTwoTemplateRefTwoScopeDefault = `tenant`;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOnePromptTemplatingModelVersionDefault = `latest`;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOnePromptTemplatingModelTimeoutDefault = 600;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOnePromptTemplatingModelTimeoutMax = 1200;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOnePromptTemplatingModelMaxRetriesDefault = 2;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOnePromptTemplatingModelMaxRetriesMin = 0;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOnePromptTemplatingModelMaxRetriesMax = 5;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOneFilteringInputOneFiltersItemOneConfigPromptShieldDefault = false;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOneFilteringOutputOneFiltersItemOneConfigProtectedMaterialCodeDefault = false;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOneFilteringOutputOneStreamOptionsOverlapDefault = 0;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOneFilteringOutputOneStreamOptionsOverlapMin = 0;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOneFilteringOutputOneStreamOptionsOverlapMax = 10000;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOneMaskingOneProvidersItemOneMaskGroundingInputEnabledDefault = false;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOneMaskingTwoMaskingProvidersItemOneMaskGroundingInputEnabledDefault = false;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOneGroundingConfigFiltersItemOneSearchConfigMaxChunkCountExclusiveMin = 0;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOneGroundingConfigFiltersItemOneSearchConfigMaxDocumentCountExclusiveMin = 0;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOneGroundingConfigFiltersItemOneDataRepositoriesDefault = [`*`];
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOneGroundingConfigFiltersItemOneDataRepositoryMetadataItemKeyMax = 1024;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOneGroundingConfigFiltersItemOneDataRepositoryMetadataItemValueItemMax = 1024;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOneGroundingConfigFiltersItemOneDocumentMetadataItemKeyMax = 1024;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOneGroundingConfigFiltersItemOneDocumentMetadataItemValueItemMax = 1024;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOneGroundingConfigFiltersItemOneChunkMetadataItemKeyMax = 1024;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOneGroundingConfigFiltersItemOneChunkMetadataItemValueItemMax = 1024;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOneTranslationInputOneTranslateMessagesHistoryDefault = true;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemPromptTemplatingPromptOneTemplateOneItemTwoContentTwoItemImageUrlDetailDefault = `auto`;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemPromptTemplatingPromptOneTemplateOneItemThreeReasoningContentItemContentDefault = ``;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemPromptTemplatingPromptOneTemplateOneItemThreeReasoningContentItemSignatureDefault = ``;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemPromptTemplatingPromptOneResponseFormatThreeJsonSchemaNameMax = 64;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemPromptTemplatingPromptOneResponseFormatThreeJsonSchemaNameRegExp = new RegExp('^[a-zA-Z0-9-_]+$');
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemPromptTemplatingPromptOneResponseFormatThreeJsonSchemaStrictDefault = false;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemPromptTemplatingPromptOneToolsItemFunctionNameMax = 64;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemPromptTemplatingPromptOneToolsItemFunctionNameRegExp = new RegExp('^[a-zA-Z0-9-_]+$');
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemPromptTemplatingPromptOneToolsItemFunctionStrictDefault = false;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemPromptTemplatingPromptTwoTemplateRefOneScopeDefault = `tenant`;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemPromptTemplatingPromptTwoTemplateRefTwoScopeDefault = `tenant`;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemPromptTemplatingModelVersionDefault = `latest`;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemPromptTemplatingModelTimeoutDefault = 600;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemPromptTemplatingModelTimeoutMax = 1200;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemPromptTemplatingModelMaxRetriesDefault = 2;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemPromptTemplatingModelMaxRetriesMin = 0;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemPromptTemplatingModelMaxRetriesMax = 5;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemFilteringInputOneFiltersItemOneConfigPromptShieldDefault = false;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemFilteringOutputOneFiltersItemOneConfigProtectedMaterialCodeDefault = false;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemFilteringOutputOneStreamOptionsOverlapDefault = 0;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemFilteringOutputOneStreamOptionsOverlapMin = 0;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemFilteringOutputOneStreamOptionsOverlapMax = 10000;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemMaskingOneProvidersItemOneMaskGroundingInputEnabledDefault = false;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemMaskingTwoMaskingProvidersItemOneMaskGroundingInputEnabledDefault = false;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemGroundingConfigFiltersItemOneSearchConfigMaxChunkCountExclusiveMin = 0;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemGroundingConfigFiltersItemOneSearchConfigMaxDocumentCountExclusiveMin = 0;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemGroundingConfigFiltersItemOneDataRepositoriesDefault = [`*`];
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemGroundingConfigFiltersItemOneDataRepositoryMetadataItemKeyMax = 1024;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemGroundingConfigFiltersItemOneDataRepositoryMetadataItemValueItemMax = 1024;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemGroundingConfigFiltersItemOneDocumentMetadataItemKeyMax = 1024;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemGroundingConfigFiltersItemOneDocumentMetadataItemValueItemMax = 1024;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemGroundingConfigFiltersItemOneChunkMetadataItemKeyMax = 1024;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemGroundingConfigFiltersItemOneChunkMetadataItemValueItemMax = 1024;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemTranslationInputOneTranslateMessagesHistoryDefault = true;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecStreamEnabledDefault = false;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecStreamChunkSizeDefault = 100;
export const registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecStreamChunkSizeMax = 10000;
export const RegistryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponse = zod.object({
"id": zod.uuid().optional(),
"name": zod.string().optional(),
"version": zod.string().optional(),
"scenario": zod.string().optional(),
"creation_timestamp": zod.string().optional(),
"managed_by": zod.string().optional(),
"is_version_head": zod.boolean().optional(),
"resource_group_id": zod.string().optional(),
"spec": zod.object({
"modules": zod.union([zod.object({
"prompt_templating": zod.object({
"prompt": zod.union([zod.object({
"template": zod.array(zod.union([zod.object({
"role": zod.enum(['system']),
"content": zod.union([zod.string(), zod.array(zod.object({
"type": zod.enum(['text']),
"text": zod.string(),
"cache_control": zod.object({
"type": zod.enum(['ephemeral']),
"ttl": zod.enum(['5m', '1h']).optional().describe('Time-to-live for the cache entry. Default is \"5m\" (5 minutes). \"1h\" (1 hour) is supported on select models (e.g. Claude Opus 4.5, Haiku 4.5, Sonnet 4.5).\n')
}).optional().describe('Cache control directive for Anthropic prompt caching. Only applicable to Anthropic Claude models. When set, marks the content block as a cache breakpoint.\n')
})).min(1)])
}), zod.object({
"content": zod.union([zod.string(), zod.array(zod.object({
"type": zod.enum(['text', 'image_url', 'file']),
"text": zod.string().optional(),
"image_url": zod.object({
"url": zod.string(),
"detail": zod.string().default(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOnePromptTemplatingPromptOneTemplateOneItemTwoContentTwoItemImageUrlDetailDefault)
}).optional(),
"file": zod.object({
"file_data": zod.string().describe('Base64 encoded file content or file URL'),
"filename": zod.string().optional().describe('Name of the file')
}).optional(),
"cache_control": zod.object({
"type": zod.enum(['ephemeral']),
"ttl": zod.enum(['5m', '1h']).optional().describe('Time-to-live for the cache entry. Default is \"5m\" (5 minutes). \"1h\" (1 hour) is supported on select models (e.g. Claude Opus 4.5, Haiku 4.5, Sonnet 4.5).\n')
}).optional().describe('Cache control directive for Anthropic prompt caching. Only applicable to Anthropic Claude models. When set, marks the content block as a cache breakpoint.\n')
})).min(1)]),
"role": zod.enum(['user'])
}), zod.object({
"role": zod.enum(['assistant']),
"content": zod.union([zod.string(), zod.array(zod.object({
"type": zod.enum(['text']),
"text": zod.string(),
"cache_control": zod.object({
"type": zod.enum(['ephemeral']),
"ttl": zod.enum(['5m', '1h']).optional().describe('Time-to-live for the cache entry. Default is \"5m\" (5 minutes). \"1h\" (1 hour) is supported on select models (e.g. Claude Opus 4.5, Haiku 4.5, Sonnet 4.5).\n')
}).optional().describe('Cache control directive for Anthropic prompt caching. Only applicable to Anthropic Claude models. When set, marks the content block as a cache breakpoint.\n')
})).min(1)]).optional(),
"refusal": zod.string().optional(),
"tool_calls": zod.array(zod.object({
"id": zod.string().describe('The ID of the tool call.'),
"type": zod.enum(['function']).describe('The type of the tool. Currently, only `function` is supported.'),
"function": zod.object({
"name": zod.string().describe('The name of the function to call.'),
"arguments": zod.string().describe('The arguments to call the function with, as generated by the model in JSON format. Note that the model does not always generate valid JSON, and may hallucinate parameters not defined by your function schema. Validate the arguments in your code before calling your function.')
}).describe('The function that the model called.')
})).optional().describe('The tool calls generated by the model, such as function calls.'),
"reasoning_content": zod.array(zod.object({
"content": zod.string().default(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOnePromptTemplatingPromptOneTemplateOneItemThreeReasoningContentItemContentDefault),
"signature": zod.string().default(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOnePromptTemplatingPromptOneTemplateOneItemThreeReasoningContentItemSignatureDefault)
})).optional().describe('Reasoning or thinking content from the model\'s previous turn.\n')
}), zod.object({
"role": zod.enum(['tool']),
"tool_call_id": zod.string(),
"content": zod.union([zod.string(), zod.array(zod.object({
"type": zod.enum(['text']),
"text": zod.string(),
"cache_control": zod.object({
"type": zod.enum(['ephemeral']),
"ttl": zod.enum(['5m', '1h']).optional().describe('Time-to-live for the cache entry. Default is \"5m\" (5 minutes). \"1h\" (1 hour) is supported on select models (e.g. Claude Opus 4.5, Haiku 4.5, Sonnet 4.5).\n')
}).optional().describe('Cache control directive for Anthropic prompt caching. Only applicable to Anthropic Claude models. When set, marks the content block as a cache breakpoint.\n')
})).min(1)])
}), zod.object({
"role": zod.enum(['developer']),
"content": zod.union([zod.string(), zod.array(zod.object({
"type": zod.enum(['text']),
"text": zod.string(),
"cache_control": zod.object({
"type": zod.enum(['ephemeral']),
"ttl": zod.enum(['5m', '1h']).optional().describe('Time-to-live for the cache entry. Default is \"5m\" (5 minutes). \"1h\" (1 hour) is supported on select models (e.g. Claude Opus 4.5, Haiku 4.5, Sonnet 4.5).\n')
}).optional().describe('Cache control directive for Anthropic prompt caching. Only applicable to Anthropic Claude models. When set, marks the content block as a cache breakpoint.\n')
})).min(1)])
})])).min(1).describe('A chat message array to be formatted with values from placeholder_values. Both role and content can be templated. If messages_history is provided, the templated messages will be appended.'),
"defaults": zod.record(zod.string(), zod.string()).optional().describe('Optional default values for the template. If a parameter has no default it is required.'),
"response_format": zod.union([zod.object({
"type": zod.enum(['text']).describe('The type of response format being defined: `text`')
}), zod.object({
"type": zod.enum(['json_object']).describe('The type of response format being defined: `json_object`')
}), zod.object({
"type": zod.enum(['json_schema']).describe('The type of response format being defined: `json_schema`'),
"json_schema": zod.object({
"description": zod.string().optional().describe('A description of what the response format is for, used by the model to determine how to respond in the format.'),
"name": zod.string().max(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOnePromptTemplatingPromptOneResponseFormatThreeJsonSchemaNameMax).regex(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOnePromptTemplatingPromptOneResponseFormatThreeJsonSchemaNameRegExp).describe('The name of the response format. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64.'),
"schema": zod.record(zod.string(), zod.unknown()).optional().describe('The schema for the response format, described as a JSON Schema object.'),
"strict": zod.boolean().nullish().default(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOnePromptTemplatingPromptOneResponseFormatThreeJsonSchemaStrictDefault).describe('Whether to enable strict schema adherence when generating the output. If set to true, the model will always follow the exact schema defined in the `schema` field. Only a subset of JSON Schema is supported when `strict` is `true`. To learn more, read the [Structured Outputs guide](https:\/\/platform.openai.com\/docs\/guides\/structured-outputs).')
})
})]).optional().describe('Response format that the model output should adhere to. This is the same as the OpenAI definition.\n'),
"tools": zod.array(zod.object({
"type": zod.enum(['function']).describe('The type of the tool. Currently, only `function` is supported.'),
"function": zod.object({
"description": zod.string().optional().describe('A description of what the function does, used by the model to choose when and how to call the function.'),
"name": zod.string().max(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOnePromptTemplatingPromptOneToolsItemFunctionNameMax).regex(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOnePromptTemplatingPromptOneToolsItemFunctionNameRegExp).describe('The name of the function to be called. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64.'),
"parameters": zod.record(zod.string(), zod.unknown()).optional().describe('The parameters the functions accepts, described as a JSON Schema object. See the [guide](https:\/\/platform.openai.com\/docs\/guides\/function-calling) for examples, and the [JSON Schema reference](https:\/\/json-schema.org\/understanding-json-schema\/) for documentation about the format. Omitting `parameters` defines a function with an empty parameter list.'),
"strict": zod.boolean().nullish().default(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOnePromptTemplatingPromptOneToolsItemFunctionStrictDefault).describe('Whether to enable strict schema adherence when generating the function call. If set to true, the model will follow the exact schema defined in the `parameters` field. Only a subset of JSON Schema is supported when `strict` is `true`. Learn more about Structured Outputs in the [function calling guide](docs\/guides\/function-calling).')
}),
"cache_control": zod.object({
"type": zod.enum(['ephemeral']),
"ttl": zod.enum(['5m', '1h']).optional().describe('Time-to-live for the cache entry. Default is \"5m\" (5 minutes). \"1h\" (1 hour) is supported on select models (e.g. Claude Opus 4.5, Haiku 4.5, Sonnet 4.5).\n')
}).optional().describe('Cache control directive for Anthropic prompt caching. Only applicable to Anthropic Claude models. When set, marks the content block as a cache breakpoint.\n')
})).optional().describe('A list of tools the model may call. Used to provide a list of functions the model may generate JSON inputs for. This is the same as the OpenAI definition.\n')
}), zod.object({
"template_ref": zod.union([zod.object({
"id": zod.string().describe('ID of the template in prompt registry'),
"scope": zod.enum(['resource_group', 'tenant']).default(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOnePromptTemplatingPromptTwoTemplateRefOneScopeDefault).describe('Defines the scope that is searched for the referenced template. \'tenant\' indicates the template is shared across all resource groups within the tenant, while \'resource_group\' indicates the template is only accessible within the specific resource group.\n')
}), zod.object({
"scenario": zod.string().describe('Scenario name'),
"name": zod.string().describe('Name of the template'),
"version": zod.string().describe('Version of the template'),
"scope": zod.enum(['resource_group', 'tenant']).default(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOnePromptTemplatingPromptTwoTemplateRefTwoScopeDefault).describe('Defines the scope that is searched for the referenced template. \'tenant\' indicates the template is shared across all resource groups within the tenant, while \'resource_group\' indicates the template is only accessible within the specific resource group.\n')
})]).describe('Reference to a template in the prompt registry by ID or by scenario, name and version')
})]).optional().describe('The prompt template to be used. Can be either a user defined template or a reference to a template in the prompt registry. If omitted, messages_history must be provided in the request body.\n'),
"model": zod.object({
"name": zod.string().describe('Name of the model as in LLM Access configuration'),
"version": zod.string().default(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOnePromptTemplatingModelVersionDefault).describe('Version of the model to be used'),
"params": zod.record(zod.string(), zod.unknown()).optional().describe('Additional parameters for the model. Default values are used for mandatory parameters.'),
"timeout": zod.int().min(1).max(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOnePromptTemplatingModelTimeoutMax).default(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOnePromptTemplatingModelTimeoutDefault).describe('Timeout for the LLM request in seconds. This parameter is currently ignored for Vertex AI models.'),
"max_retries": zod.int().min(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOnePromptTemplatingModelMaxRetriesMin).max(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOnePromptTemplatingModelMaxRetriesMax).default(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOnePromptTemplatingModelMaxRetriesDefault).describe('Maximum number of retries for the LLM request. This parameter is currently ignored for Vertex AI models.')
}).optional().describe('The model and parameters to be used for the prompt templating. This is the model that will be used to generate the response.\n')
}).optional().describe('Partial prompt templating configuration for use with config_ref overrides. model is optional so that only the prompt can be overridden without repeating the model config.\n'),
"filtering": zod.object({
"input": zod.object({
"filters": zod.array(zod.union([zod.object({
"type": zod.enum(['azure_content_safety']).describe('Name of the filter provider type'),
"config": zod.object({
"hate": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"self_harm": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"sexual": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"violence": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"prompt_shield": zod.boolean().default(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOneFilteringInputOneFiltersItemOneConfigPromptShieldDefault).describe('Filter prompts for harmful content such as jailbreaks and prompt injections.')
}).optional().describe('Filter configuration for Azure Content Safety')
}), zod.object({
"type": zod.enum(['llama_guard_3_8b']).describe('Name of the filter provider type'),
"config": zod.object({
"violent_crimes": zod.boolean().optional(),
"non_violent_crimes": zod.boolean().optional(),
"sex_crimes": zod.boolean().optional(),
"child_exploitation": zod.boolean().optional(),
"defamation": zod.boolean().optional(),
"specialized_advice": zod.boolean().optional(),
"privacy": zod.boolean().optional(),
"intellectual_property": zod.boolean().optional(),
"indiscriminate_weapons": zod.boolean().optional(),
"hate": zod.boolean().optional(),
"self_harm": zod.boolean().optional(),
"sexual_content": zod.boolean().optional(),
"elections": zod.boolean().optional(),
"code_interpreter_abuse": zod.boolean().optional()
}).describe('Filter configuration for Llama Guard 3 8B')
})])).min(1).describe('Configuration for content filtering services that should be used for the given filtering step (input filtering).')
}).optional().describe('List of provider type and filters'),
"output": zod.object({
"filters": zod.array(zod.union([zod.object({
"type": zod.enum(['azure_content_safety']).describe('Name of the filter provider type'),
"config": zod.object({
"hate": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"self_harm": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"sexual": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"violence": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"protected_material_code": zod.boolean().default(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOneFilteringOutputOneFiltersItemOneConfigProtectedMaterialCodeDefault).describe('Detect protected code content from known GitHub repositories. The scan includes software libraries, source code, algorithms, and other proprietary programming content.')
}).optional().describe('Filter configuration for Azure Content Safety')
}), zod.object({
"type": zod.enum(['llama_guard_3_8b']).describe('Name of the filter provider type'),
"config": zod.object({
"violent_crimes": zod.boolean().optional(),
"non_violent_crimes": zod.boolean().optional(),
"sex_crimes": zod.boolean().optional(),
"child_exploitation": zod.boolean().optional(),
"defamation": zod.boolean().optional(),
"specialized_advice": zod.boolean().optional(),
"privacy": zod.boolean().optional(),
"intellectual_property": zod.boolean().optional(),
"indiscriminate_weapons": zod.boolean().optional(),
"hate": zod.boolean().optional(),
"self_harm": zod.boolean().optional(),
"sexual_content": zod.boolean().optional(),
"elections": zod.boolean().optional(),
"code_interpreter_abuse": zod.boolean().optional()
}).describe('Filter configuration for Llama Guard 3 8B')
})])).min(1).describe('Configuration for content filtering services that should be used for the given filtering step (output filtering).'),
"stream_options": zod.object({
"overlap": zod.int().min(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOneFilteringOutputOneStreamOptionsOverlapMin).max(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOneFilteringOutputOneStreamOptionsOverlapMax).default(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOneFilteringOutputOneStreamOptionsOverlapDefault).describe('Number of characters that should be additionally sent to content filtering services from previous chunks as additional context.')
}).optional().describe('Stream options for output filtering. Will be ignored if stream is false.')
}).optional().describe('List of provider type and filters')
}).optional(),
"masking": zod.union([zod.object({
"providers": zod.array(zod.object({
"type": zod.enum(['sap_data_privacy_integration']).describe('Type of masking service provider'),
"method": zod.enum(['anonymization', 'pseudonymization']).describe('Type of masking method to be used'),
"entities": zod.array(zod.union([zod.object({
"type": zod.enum(['profile-person', 'profile-org', 'profile-university', 'profile-location', 'profile-email', 'profile-phone', 'profile-address', 'profile-sapids-internal', 'profile-sapids-public', 'profile-url', 'profile-username-password', 'profile-nationalid', 'profile-iban', 'profile-ssn', 'profile-credit-card-number', 'profile-passport', 'profile-driverlicense', 'profile-nationality', 'profile-religious-group', 'profile-political-group', 'profile-pronouns-gender', 'profile-ethnicity', 'profile-gender', 'profile-sexual-orientation', 'profile-trade-union', 'profile-sensitive-data']).describe('Default entities supported by data privacy and integration service'),
"replacement_strategy": zod.union([zod.object({
"method": zod.enum(['constant']),
"value": zod.string().describe('Value to be used for replacement')
}).describe('Replaces the entity with the specified value followed by an incrementing number'), zod.object({
"method": zod.enum(['fabricated_data'])
}).describe('Replaces the entity with a randomly generated value appropriate to its type.')]).optional().describe('Replacement strategy to be used for the entity')
}), zod.object({
"regex": zod.string().describe('Regular expression to match the entity'),
"replacement_strategy": zod.object({
"method": zod.enum(['constant']),
"value": zod.string().describe('Value to be used for replacement')
}).describe('Replaces the entity with the specified value followed by an incrementing number').describe('Replacement strategy to be used for the entity')
})])).min(1).describe('List of entities to be masked'),
"allowlist": zod.array(zod.string()).optional().describe('List of strings that should not be masked'),
"mask_grounding_input": zod.object({
"enabled": zod.boolean().default(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOneMaskingOneProvidersItemOneMaskGroundingInputEnabledDefault).describe('controls whether the input to the grounding module will be masked with the configuration supplied in the masking module')
}).optional(),
"mask_file_input_method": zod.enum(['anonymization', 'skip']).optional().describe('Type of masking method to be used for file inputs. Required if file inputs are provided.')
})).min(1).describe('List of masking service providers')
}), zod.object({
"masking_providers": zod.array(zod.object({
"type": zod.enum(['sap_data_privacy_integration']).describe('Type of masking service provider'),
"method": zod.enum(['anonymization', 'pseudonymization']).describe('Type of masking method to be used'),
"entities": zod.array(zod.union([zod.object({
"type": zod.enum(['profile-person', 'profile-org', 'profile-university', 'profile-location', 'profile-email', 'profile-phone', 'profile-address', 'profile-sapids-internal', 'profile-sapids-public', 'profile-url', 'profile-username-password', 'profile-nationalid', 'profile-iban', 'profile-ssn', 'profile-credit-card-number', 'profile-passport', 'profile-driverlicense', 'profile-nationality', 'profile-religious-group', 'profile-political-group', 'profile-pronouns-gender', 'profile-ethnicity', 'profile-gender', 'profile-sexual-orientation', 'profile-trade-union', 'profile-sensitive-data']).describe('Default entities supported by data privacy and integration service'),
"replacement_strategy": zod.union([zod.object({
"method": zod.enum(['constant']),
"value": zod.string().describe('Value to be used for replacement')
}).describe('Replaces the entity with the specified value followed by an incrementing number'), zod.object({
"method": zod.enum(['fabricated_data'])
}).describe('Replaces the entity with a randomly generated value appropriate to its type.')]).optional().describe('Replacement strategy to be used for the entity')
}), zod.object({
"regex": zod.string().describe('Regular expression to match the entity'),
"replacement_strategy": zod.object({
"method": zod.enum(['constant']),
"value": zod.string().describe('Value to be used for replacement')
}).describe('Replaces the entity with the specified value followed by an incrementing number').describe('Replacement strategy to be used for the entity')
})])).min(1).describe('List of entities to be masked'),
"allowlist": zod.array(zod.string()).optional().describe('List of strings that should not be masked'),
"mask_grounding_input": zod.object({
"enabled": zod.boolean().default(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOneMaskingTwoMaskingProvidersItemOneMaskGroundingInputEnabledDefault).describe('controls whether the input to the grounding module will be masked with the configuration supplied in the masking module')
}).optional(),
"mask_file_input_method": zod.enum(['anonymization', 'skip']).optional().describe('Type of masking method to be used for file inputs. Required if file inputs are provided.')
})).min(1).describe('List of masking service providers. \*\*DEPRECATED\*\*: will be removed March 20, 2027. Use `providers` property instead.')
})]).optional(),
"grounding": zod.object({
"type": zod.union([zod.enum(['document_grounding_service']), zod.unknown()]),
"config": zod.object({
"filters": zod.array(zod.object({
"id": zod.string().optional().describe('Identifier of this SearchFilter - unique per request.'),
"search_config": zod.object({
"max_chunk_count": zod.int().gt(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOneGroundingConfigFiltersItemOneSearchConfigMaxChunkCountExclusiveMin).optional().describe('Maximum number of chunks to be returned. Cannot be used with \'maxDocumentCount\'.'),
"max_document_count": zod.int().gt(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOneGroundingConfigFiltersItemOneSearchConfigMaxDocumentCountExclusiveMin).optional().describe('[Only supports \'vector\' dataRepositoryType] - Maximum number of documents to be returned. Cannot be used with \'maxChunkCount\'. If maxDocumentCount is given, then only one chunk per document is returned.')
}).optional(),
"data_repositories": zod.array(zod.string()).default(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOneGroundingConfigFiltersItemOneDataRepositoriesDefault).describe('Specify [\'\*\'] to search across all DataRepositories or give a specific list of DataRepository ids.'),
"data_repository_type": zod.enum(['vector', 'help.sap.com']).describe('Only include DataRepositories with the given type.'),
"data_repository_metadata": zod.array(zod.object({
"key": zod.string().max(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOneGroundingConfigFiltersItemOneDataRepositoryMetadataItemKeyMax),
"value": zod.array(zod.string().max(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOneGroundingConfigFiltersItemOneDataRepositoryMetadataItemValueItemMax))
})).optional().describe('Restrict DataRepositories considered during search to those annotated with the given metadata. Useful when combined with dataRepositories=[\'\*\']'),
"document_metadata": zod.array(zod.object({
"key": zod.string().max(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOneGroundingConfigFiltersItemOneDocumentMetadataItemKeyMax),
"value": zod.array(zod.string().max(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOneGroundingConfigFiltersItemOneDocumentMetadataItemValueItemMax)),
"select_mode": zod.array(zod.enum(['ignoreIfKeyAbsent'])).optional().describe('Select mode for search filters')
})).optional().describe('Restrict documents considered during search to those annotated with the given metadata.'),
"chunk_metadata": zod.array(zod.object({
"key": zod.string().max(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOneGroundingConfigFiltersItemOneChunkMetadataItemKeyMax),
"value": zod.array(zod.string().max(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOneGroundingConfigFiltersItemOneChunkMetadataItemValueItemMax))
})).optional().describe('Restrict chunks considered during search to those with the given metadata.')
})).optional().describe('Document grounding service filters to be used'),
"placeholders": zod.object({
"input": zod.array(zod.string()).min(1).describe('Contains the input parameters used for grounding input questions'),
"output": zod.string().describe('Placeholder name for grounding output')
}).describe('Placeholders to be used for grounding input questions and output'),
"metadata_params": zod.array(zod.string()).optional().describe('Parameter name used for specifying metadata parameters')
})
}).optional(),
"translation": zod.object({
"input": zod.object({
"type": zod.enum(['sap_document_translation']).describe('Type of document translation provider'),
"translate_messages_history": zod.boolean().default(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesOneTranslationInputOneTranslateMessagesHistoryDefault).describe('If true, the messages history will be translated as well.'),
"config": zod.object({
"source_language": zod.string().optional().describe('Language of the text to be translated.'),
"apply_to": zod.array(zod.object({
"category": zod.enum(['placeholders', 'template_roles']).describe('Category to apply translation to.'),
"items": zod.array(zod.string()).describe('List of placeholders or roles to apply translation to'),
"source_language": zod.string().optional().describe('Language of the text to be translated.')
}).describe('This selector allows you to define the scope of translation, such as specific placeholders or messages with specific roles. For example, `{\"category\": \"placeholders\", \"items\": [\"user_input\"], \"source_language\": \"de-DE\"}` targets the value of \"user_input\" in `placeholder_values` specified in the request payload; and considers the value to be in German.\n')).min(1).optional(),
"target_language": zod.string().describe('Language to which the text should be translated.')
}).describe('Configuration for `sap_document_translation` translation provider.')
}).optional().describe('Configuration for input translation'),
"output": zod.object({
"type": zod.enum(['sap_document_translation']).describe('Configuration for `sap_document_translation` translation provider.'),
"config": zod.object({
"source_language": zod.string().optional().describe('Language of the text to be translated.'),
"target_language": zod.union([zod.string().describe('Language to which the text should be translated.'), zod.object({
"category": zod.enum(['placeholders', 'template_roles']).describe('Category to apply translation to.'),
"items": zod.array(zod.string()).describe('List of placeholders or roles to apply translation to'),
"source_language": zod.string().optional().describe('Language of the text to be translated.')
}).describe('This selector allows you to define the scope of translation, such as specific placeholders or messages with specific roles. For example, `{\"category\": \"placeholders\", \"items\": [\"user_input\"], \"source_language\": \"de-DE\"}` targets the value of \"user_input\" in `placeholder_values` specified in the request payload; and considers the value to be in German.\n')])
})
}).optional().describe('Configuration for output translation')
}).optional().describe('Configuration for translation module')
}).describe('Partial module configuration for use with config_ref overrides. All fields are optional so that only the modules that should be overridden need to be specified. The remaining configuration is taken from the referenced orchestration config.\n'), zod.array(zod.object({
"prompt_templating": zod.object({
"prompt": zod.union([zod.object({
"template": zod.array(zod.union([zod.object({
"role": zod.enum(['system']),
"content": zod.union([zod.string(), zod.array(zod.object({
"type": zod.enum(['text']),
"text": zod.string(),
"cache_control": zod.object({
"type": zod.enum(['ephemeral']),
"ttl": zod.enum(['5m', '1h']).optional().describe('Time-to-live for the cache entry. Default is \"5m\" (5 minutes). \"1h\" (1 hour) is supported on select models (e.g. Claude Opus 4.5, Haiku 4.5, Sonnet 4.5).\n')
}).optional().describe('Cache control directive for Anthropic prompt caching. Only applicable to Anthropic Claude models. When set, marks the content block as a cache breakpoint.\n')
})).min(1)])
}), zod.object({
"content": zod.union([zod.string(), zod.array(zod.object({
"type": zod.enum(['text', 'image_url', 'file']),
"text": zod.string().optional(),
"image_url": zod.object({
"url": zod.string(),
"detail": zod.string().default(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemPromptTemplatingPromptOneTemplateOneItemTwoContentTwoItemImageUrlDetailDefault)
}).optional(),
"file": zod.object({
"file_data": zod.string().describe('Base64 encoded file content or file URL'),
"filename": zod.string().optional().describe('Name of the file')
}).optional(),
"cache_control": zod.object({
"type": zod.enum(['ephemeral']),
"ttl": zod.enum(['5m', '1h']).optional().describe('Time-to-live for the cache entry. Default is \"5m\" (5 minutes). \"1h\" (1 hour) is supported on select models (e.g. Claude Opus 4.5, Haiku 4.5, Sonnet 4.5).\n')
}).optional().describe('Cache control directive for Anthropic prompt caching. Only applicable to Anthropic Claude models. When set, marks the content block as a cache breakpoint.\n')
})).min(1)]),
"role": zod.enum(['user'])
}), zod.object({
"role": zod.enum(['assistant']),
"content": zod.union([zod.string(), zod.array(zod.object({
"type": zod.enum(['text']),
"text": zod.string(),
"cache_control": zod.object({
"type": zod.enum(['ephemeral']),
"ttl": zod.enum(['5m', '1h']).optional().describe('Time-to-live for the cache entry. Default is \"5m\" (5 minutes). \"1h\" (1 hour) is supported on select models (e.g. Claude Opus 4.5, Haiku 4.5, Sonnet 4.5).\n')
}).optional().describe('Cache control directive for Anthropic prompt caching. Only applicable to Anthropic Claude models. When set, marks the content block as a cache breakpoint.\n')
})).min(1)]).optional(),
"refusal": zod.string().optional(),
"tool_calls": zod.array(zod.object({
"id": zod.string().describe('The ID of the tool call.'),
"type": zod.enum(['function']).describe('The type of the tool. Currently, only `function` is supported.'),
"function": zod.object({
"name": zod.string().describe('The name of the function to call.'),
"arguments": zod.string().describe('The arguments to call the function with, as generated by the model in JSON format. Note that the model does not always generate valid JSON, and may hallucinate parameters not defined by your function schema. Validate the arguments in your code before calling your function.')
}).describe('The function that the model called.')
})).optional().describe('The tool calls generated by the model, such as function calls.'),
"reasoning_content": zod.array(zod.object({
"content": zod.string().default(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemPromptTemplatingPromptOneTemplateOneItemThreeReasoningContentItemContentDefault),
"signature": zod.string().default(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemPromptTemplatingPromptOneTemplateOneItemThreeReasoningContentItemSignatureDefault)
})).optional().describe('Reasoning or thinking content from the model\'s previous turn.\n')
}), zod.object({
"role": zod.enum(['tool']),
"tool_call_id": zod.string(),
"content": zod.union([zod.string(), zod.array(zod.object({
"type": zod.enum(['text']),
"text": zod.string(),
"cache_control": zod.object({
"type": zod.enum(['ephemeral']),
"ttl": zod.enum(['5m', '1h']).optional().describe('Time-to-live for the cache entry. Default is \"5m\" (5 minutes). \"1h\" (1 hour) is supported on select models (e.g. Claude Opus 4.5, Haiku 4.5, Sonnet 4.5).\n')
}).optional().describe('Cache control directive for Anthropic prompt caching. Only applicable to Anthropic Claude models. When set, marks the content block as a cache breakpoint.\n')
})).min(1)])
}), zod.object({
"role": zod.enum(['developer']),
"content": zod.union([zod.string(), zod.array(zod.object({
"type": zod.enum(['text']),
"text": zod.string(),
"cache_control": zod.object({
"type": zod.enum(['ephemeral']),
"ttl": zod.enum(['5m', '1h']).optional().describe('Time-to-live for the cache entry. Default is \"5m\" (5 minutes). \"1h\" (1 hour) is supported on select models (e.g. Claude Opus 4.5, Haiku 4.5, Sonnet 4.5).\n')
}).optional().describe('Cache control directive for Anthropic prompt caching. Only applicable to Anthropic Claude models. When set, marks the content block as a cache breakpoint.\n')
})).min(1)])
})])).min(1).describe('A chat message array to be formatted with values from placeholder_values. Both role and content can be templated. If messages_history is provided, the templated messages will be appended.'),
"defaults": zod.record(zod.string(), zod.string()).optional().describe('Optional default values for the template. If a parameter has no default it is required.'),
"response_format": zod.union([zod.object({
"type": zod.enum(['text']).describe('The type of response format being defined: `text`')
}), zod.object({
"type": zod.enum(['json_object']).describe('The type of response format being defined: `json_object`')
}), zod.object({
"type": zod.enum(['json_schema']).describe('The type of response format being defined: `json_schema`'),
"json_schema": zod.object({
"description": zod.string().optional().describe('A description of what the response format is for, used by the model to determine how to respond in the format.'),
"name": zod.string().max(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemPromptTemplatingPromptOneResponseFormatThreeJsonSchemaNameMax).regex(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemPromptTemplatingPromptOneResponseFormatThreeJsonSchemaNameRegExp).describe('The name of the response format. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64.'),
"schema": zod.record(zod.string(), zod.unknown()).optional().describe('The schema for the response format, described as a JSON Schema object.'),
"strict": zod.boolean().nullish().default(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemPromptTemplatingPromptOneResponseFormatThreeJsonSchemaStrictDefault).describe('Whether to enable strict schema adherence when generating the output. If set to true, the model will always follow the exact schema defined in the `schema` field. Only a subset of JSON Schema is supported when `strict` is `true`. To learn more, read the [Structured Outputs guide](https:\/\/platform.openai.com\/docs\/guides\/structured-outputs).')
})
})]).optional().describe('Response format that the model output should adhere to. This is the same as the OpenAI definition.\n'),
"tools": zod.array(zod.object({
"type": zod.enum(['function']).describe('The type of the tool. Currently, only `function` is supported.'),
"function": zod.object({
"description": zod.string().optional().describe('A description of what the function does, used by the model to choose when and how to call the function.'),
"name": zod.string().max(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemPromptTemplatingPromptOneToolsItemFunctionNameMax).regex(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemPromptTemplatingPromptOneToolsItemFunctionNameRegExp).describe('The name of the function to be called. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64.'),
"parameters": zod.record(zod.string(), zod.unknown()).optional().describe('The parameters the functions accepts, described as a JSON Schema object. See the [guide](https:\/\/platform.openai.com\/docs\/guides\/function-calling) for examples, and the [JSON Schema reference](https:\/\/json-schema.org\/understanding-json-schema\/) for documentation about the format. Omitting `parameters` defines a function with an empty parameter list.'),
"strict": zod.boolean().nullish().default(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemPromptTemplatingPromptOneToolsItemFunctionStrictDefault).describe('Whether to enable strict schema adherence when generating the function call. If set to true, the model will follow the exact schema defined in the `parameters` field. Only a subset of JSON Schema is supported when `strict` is `true`. Learn more about Structured Outputs in the [function calling guide](docs\/guides\/function-calling).')
}),
"cache_control": zod.object({
"type": zod.enum(['ephemeral']),
"ttl": zod.enum(['5m', '1h']).optional().describe('Time-to-live for the cache entry. Default is \"5m\" (5 minutes). \"1h\" (1 hour) is supported on select models (e.g. Claude Opus 4.5, Haiku 4.5, Sonnet 4.5).\n')
}).optional().describe('Cache control directive for Anthropic prompt caching. Only applicable to Anthropic Claude models. When set, marks the content block as a cache breakpoint.\n')
})).optional().describe('A list of tools the model may call. Used to provide a list of functions the model may generate JSON inputs for. This is the same as the OpenAI definition.\n')
}), zod.object({
"template_ref": zod.union([zod.object({
"id": zod.string().describe('ID of the template in prompt registry'),
"scope": zod.enum(['resource_group', 'tenant']).default(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemPromptTemplatingPromptTwoTemplateRefOneScopeDefault).describe('Defines the scope that is searched for the referenced template. \'tenant\' indicates the template is shared across all resource groups within the tenant, while \'resource_group\' indicates the template is only accessible within the specific resource group.\n')
}), zod.object({
"scenario": zod.string().describe('Scenario name'),
"name": zod.string().describe('Name of the template'),
"version": zod.string().describe('Version of the template'),
"scope": zod.enum(['resource_group', 'tenant']).default(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemPromptTemplatingPromptTwoTemplateRefTwoScopeDefault).describe('Defines the scope that is searched for the referenced template. \'tenant\' indicates the template is shared across all resource groups within the tenant, while \'resource_group\' indicates the template is only accessible within the specific resource group.\n')
})]).describe('Reference to a template in the prompt registry by ID or by scenario, name and version')
})]).optional().describe('The prompt template to be used. Can be either a user defined template or a reference to a template in the prompt registry. If omitted, messages_history must be provided in the request body.\n'),
"model": zod.object({
"name": zod.string().describe('Name of the model as in LLM Access configuration'),
"version": zod.string().default(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemPromptTemplatingModelVersionDefault).describe('Version of the model to be used'),
"params": zod.record(zod.string(), zod.unknown()).optional().describe('Additional parameters for the model. Default values are used for mandatory parameters.'),
"timeout": zod.int().min(1).max(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemPromptTemplatingModelTimeoutMax).default(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemPromptTemplatingModelTimeoutDefault).describe('Timeout for the LLM request in seconds. This parameter is currently ignored for Vertex AI models.'),
"max_retries": zod.int().min(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemPromptTemplatingModelMaxRetriesMin).max(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemPromptTemplatingModelMaxRetriesMax).default(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemPromptTemplatingModelMaxRetriesDefault).describe('Maximum number of retries for the LLM request. This parameter is currently ignored for Vertex AI models.')
}).describe('The model and parameters to be used for the prompt templating. This is the model that will be used to generate the response.\n')
}),
"filtering": zod.object({
"input": zod.object({
"filters": zod.array(zod.union([zod.object({
"type": zod.enum(['azure_content_safety']).describe('Name of the filter provider type'),
"config": zod.object({
"hate": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"self_harm": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"sexual": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"violence": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"prompt_shield": zod.boolean().default(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemFilteringInputOneFiltersItemOneConfigPromptShieldDefault).describe('Filter prompts for harmful content such as jailbreaks and prompt injections.')
}).optional().describe('Filter configuration for Azure Content Safety')
}), zod.object({
"type": zod.enum(['llama_guard_3_8b']).describe('Name of the filter provider type'),
"config": zod.object({
"violent_crimes": zod.boolean().optional(),
"non_violent_crimes": zod.boolean().optional(),
"sex_crimes": zod.boolean().optional(),
"child_exploitation": zod.boolean().optional(),
"defamation": zod.boolean().optional(),
"specialized_advice": zod.boolean().optional(),
"privacy": zod.boolean().optional(),
"intellectual_property": zod.boolean().optional(),
"indiscriminate_weapons": zod.boolean().optional(),
"hate": zod.boolean().optional(),
"self_harm": zod.boolean().optional(),
"sexual_content": zod.boolean().optional(),
"elections": zod.boolean().optional(),
"code_interpreter_abuse": zod.boolean().optional()
}).describe('Filter configuration for Llama Guard 3 8B')
})])).min(1).describe('Configuration for content filtering services that should be used for the given filtering step (input filtering).')
}).optional().describe('List of provider type and filters'),
"output": zod.object({
"filters": zod.array(zod.union([zod.object({
"type": zod.enum(['azure_content_safety']).describe('Name of the filter provider type'),
"config": zod.object({
"hate": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"self_harm": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"sexual": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"violence": zod.union([zod.literal(0), zod.literal(2), zod.literal(4), zod.literal(6)]).optional(),
"protected_material_code": zod.boolean().default(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemFilteringOutputOneFiltersItemOneConfigProtectedMaterialCodeDefault).describe('Detect protected code content from known GitHub repositories. The scan includes software libraries, source code, algorithms, and other proprietary programming content.')
}).optional().describe('Filter configuration for Azure Content Safety')
}), zod.object({
"type": zod.enum(['llama_guard_3_8b']).describe('Name of the filter provider type'),
"config": zod.object({
"violent_crimes": zod.boolean().optional(),
"non_violent_crimes": zod.boolean().optional(),
"sex_crimes": zod.boolean().optional(),
"child_exploitation": zod.boolean().optional(),
"defamation": zod.boolean().optional(),
"specialized_advice": zod.boolean().optional(),
"privacy": zod.boolean().optional(),
"intellectual_property": zod.boolean().optional(),
"indiscriminate_weapons": zod.boolean().optional(),
"hate": zod.boolean().optional(),
"self_harm": zod.boolean().optional(),
"sexual_content": zod.boolean().optional(),
"elections": zod.boolean().optional(),
"code_interpreter_abuse": zod.boolean().optional()
}).describe('Filter configuration for Llama Guard 3 8B')
})])).min(1).describe('Configuration for content filtering services that should be used for the given filtering step (output filtering).'),
"stream_options": zod.object({
"overlap": zod.int().min(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemFilteringOutputOneStreamOptionsOverlapMin).max(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemFilteringOutputOneStreamOptionsOverlapMax).default(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemFilteringOutputOneStreamOptionsOverlapDefault).describe('Number of characters that should be additionally sent to content filtering services from previous chunks as additional context.')
}).optional().describe('Stream options for output filtering. Will be ignored if stream is false.')
}).optional().describe('List of provider type and filters')
}).optional(),
"masking": zod.union([zod.object({
"providers": zod.array(zod.object({
"type": zod.enum(['sap_data_privacy_integration']).describe('Type of masking service provider'),
"method": zod.enum(['anonymization', 'pseudonymization']).describe('Type of masking method to be used'),
"entities": zod.array(zod.union([zod.object({
"type": zod.enum(['profile-person', 'profile-org', 'profile-university', 'profile-location', 'profile-email', 'profile-phone', 'profile-address', 'profile-sapids-internal', 'profile-sapids-public', 'profile-url', 'profile-username-password', 'profile-nationalid', 'profile-iban', 'profile-ssn', 'profile-credit-card-number', 'profile-passport', 'profile-driverlicense', 'profile-nationality', 'profile-religious-group', 'profile-political-group', 'profile-pronouns-gender', 'profile-ethnicity', 'profile-gender', 'profile-sexual-orientation', 'profile-trade-union', 'profile-sensitive-data']).describe('Default entities supported by data privacy and integration service'),
"replacement_strategy": zod.union([zod.object({
"method": zod.enum(['constant']),
"value": zod.string().describe('Value to be used for replacement')
}).describe('Replaces the entity with the specified value followed by an incrementing number'), zod.object({
"method": zod.enum(['fabricated_data'])
}).describe('Replaces the entity with a randomly generated value appropriate to its type.')]).optional().describe('Replacement strategy to be used for the entity')
}), zod.object({
"regex": zod.string().describe('Regular expression to match the entity'),
"replacement_strategy": zod.object({
"method": zod.enum(['constant']),
"value": zod.string().describe('Value to be used for replacement')
}).describe('Replaces the entity with the specified value followed by an incrementing number').describe('Replacement strategy to be used for the entity')
})])).min(1).describe('List of entities to be masked'),
"allowlist": zod.array(zod.string()).optional().describe('List of strings that should not be masked'),
"mask_grounding_input": zod.object({
"enabled": zod.boolean().default(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemMaskingOneProvidersItemOneMaskGroundingInputEnabledDefault).describe('controls whether the input to the grounding module will be masked with the configuration supplied in the masking module')
}).optional(),
"mask_file_input_method": zod.enum(['anonymization', 'skip']).optional().describe('Type of masking method to be used for file inputs. Required if file inputs are provided.')
})).min(1).describe('List of masking service providers')
}), zod.object({
"masking_providers": zod.array(zod.object({
"type": zod.enum(['sap_data_privacy_integration']).describe('Type of masking service provider'),
"method": zod.enum(['anonymization', 'pseudonymization']).describe('Type of masking method to be used'),
"entities": zod.array(zod.union([zod.object({
"type": zod.enum(['profile-person', 'profile-org', 'profile-university', 'profile-location', 'profile-email', 'profile-phone', 'profile-address', 'profile-sapids-internal', 'profile-sapids-public', 'profile-url', 'profile-username-password', 'profile-nationalid', 'profile-iban', 'profile-ssn', 'profile-credit-card-number', 'profile-passport', 'profile-driverlicense', 'profile-nationality', 'profile-religious-group', 'profile-political-group', 'profile-pronouns-gender', 'profile-ethnicity', 'profile-gender', 'profile-sexual-orientation', 'profile-trade-union', 'profile-sensitive-data']).describe('Default entities supported by data privacy and integration service'),
"replacement_strategy": zod.union([zod.object({
"method": zod.enum(['constant']),
"value": zod.string().describe('Value to be used for replacement')
}).describe('Replaces the entity with the specified value followed by an incrementing number'), zod.object({
"method": zod.enum(['fabricated_data'])
}).describe('Replaces the entity with a randomly generated value appropriate to its type.')]).optional().describe('Replacement strategy to be used for the entity')
}), zod.object({
"regex": zod.string().describe('Regular expression to match the entity'),
"replacement_strategy": zod.object({
"method": zod.enum(['constant']),
"value": zod.string().describe('Value to be used for replacement')
}).describe('Replaces the entity with the specified value followed by an incrementing number').describe('Replacement strategy to be used for the entity')
})])).min(1).describe('List of entities to be masked'),
"allowlist": zod.array(zod.string()).optional().describe('List of strings that should not be masked'),
"mask_grounding_input": zod.object({
"enabled": zod.boolean().default(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemMaskingTwoMaskingProvidersItemOneMaskGroundingInputEnabledDefault).describe('controls whether the input to the grounding module will be masked with the configuration supplied in the masking module')
}).optional(),
"mask_file_input_method": zod.enum(['anonymization', 'skip']).optional().describe('Type of masking method to be used for file inputs. Required if file inputs are provided.')
})).min(1).describe('List of masking service providers. \*\*DEPRECATED\*\*: will be removed March 20, 2027. Use `providers` property instead.')
})]).optional(),
"grounding": zod.object({
"type": zod.union([zod.enum(['document_grounding_service']), zod.unknown()]),
"config": zod.object({
"filters": zod.array(zod.object({
"id": zod.string().optional().describe('Identifier of this SearchFilter - unique per request.'),
"search_config": zod.object({
"max_chunk_count": zod.int().gt(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemGroundingConfigFiltersItemOneSearchConfigMaxChunkCountExclusiveMin).optional().describe('Maximum number of chunks to be returned. Cannot be used with \'maxDocumentCount\'.'),
"max_document_count": zod.int().gt(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemGroundingConfigFiltersItemOneSearchConfigMaxDocumentCountExclusiveMin).optional().describe('[Only supports \'vector\' dataRepositoryType] - Maximum number of documents to be returned. Cannot be used with \'maxChunkCount\'. If maxDocumentCount is given, then only one chunk per document is returned.')
}).optional(),
"data_repositories": zod.array(zod.string()).default(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemGroundingConfigFiltersItemOneDataRepositoriesDefault).describe('Specify [\'\*\'] to search across all DataRepositories or give a specific list of DataRepository ids.'),
"data_repository_type": zod.enum(['vector', 'help.sap.com']).describe('Only include DataRepositories with the given type.'),
"data_repository_metadata": zod.array(zod.object({
"key": zod.string().max(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemGroundingConfigFiltersItemOneDataRepositoryMetadataItemKeyMax),
"value": zod.array(zod.string().max(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemGroundingConfigFiltersItemOneDataRepositoryMetadataItemValueItemMax))
})).optional().describe('Restrict DataRepositories considered during search to those annotated with the given metadata. Useful when combined with dataRepositories=[\'\*\']'),
"document_metadata": zod.array(zod.object({
"key": zod.string().max(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemGroundingConfigFiltersItemOneDocumentMetadataItemKeyMax),
"value": zod.array(zod.string().max(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemGroundingConfigFiltersItemOneDocumentMetadataItemValueItemMax)),
"select_mode": zod.array(zod.enum(['ignoreIfKeyAbsent'])).optional().describe('Select mode for search filters')
})).optional().describe('Restrict documents considered during search to those annotated with the given metadata.'),
"chunk_metadata": zod.array(zod.object({
"key": zod.string().max(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemGroundingConfigFiltersItemOneChunkMetadataItemKeyMax),
"value": zod.array(zod.string().max(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemGroundingConfigFiltersItemOneChunkMetadataItemValueItemMax))
})).optional().describe('Restrict chunks considered during search to those with the given metadata.')
})).optional().describe('Document grounding service filters to be used'),
"placeholders": zod.object({
"input": zod.array(zod.string()).min(1).describe('Contains the input parameters used for grounding input questions'),
"output": zod.string().describe('Placeholder name for grounding output')
}).describe('Placeholders to be used for grounding input questions and output'),
"metadata_params": zod.array(zod.string()).optional().describe('Parameter name used for specifying metadata parameters')
})
}).optional(),
"translation": zod.object({
"input": zod.object({
"type": zod.enum(['sap_document_translation']).describe('Type of document translation provider'),
"translate_messages_history": zod.boolean().default(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecModulesTwoItemTranslationInputOneTranslateMessagesHistoryDefault).describe('If true, the messages history will be translated as well.'),
"config": zod.object({
"source_language": zod.string().optional().describe('Language of the text to be translated.'),
"apply_to": zod.array(zod.object({
"category": zod.enum(['placeholders', 'template_roles']).describe('Category to apply translation to.'),
"items": zod.array(zod.string()).describe('List of placeholders or roles to apply translation to'),
"source_language": zod.string().optional().describe('Language of the text to be translated.')
}).describe('This selector allows you to define the scope of translation, such as specific placeholders or messages with specific roles. For example, `{\"category\": \"placeholders\", \"items\": [\"user_input\"], \"source_language\": \"de-DE\"}` targets the value of \"user_input\" in `placeholder_values` specified in the request payload; and considers the value to be in German.\n')).min(1).optional(),
"target_language": zod.string().describe('Language to which the text should be translated.')
}).describe('Configuration for `sap_document_translation` translation provider.')
}).optional().describe('Configuration for input translation'),
"output": zod.object({
"type": zod.enum(['sap_document_translation']).describe('Configuration for `sap_document_translation` translation provider.'),
"config": zod.object({
"source_language": zod.string().optional().describe('Language of the text to be translated.'),
"target_language": zod.union([zod.string().describe('Language to which the text should be translated.'), zod.object({
"category": zod.enum(['placeholders', 'template_roles']).describe('Category to apply translation to.'),
"items": zod.array(zod.string()).describe('List of placeholders or roles to apply translation to'),
"source_language": zod.string().optional().describe('Language of the text to be translated.')
}).describe('This selector allows you to define the scope of translation, such as specific placeholders or messages with specific roles. For example, `{\"category\": \"placeholders\", \"items\": [\"user_input\"], \"source_language\": \"de-DE\"}` targets the value of \"user_input\" in `placeholder_values` specified in the request payload; and considers the value to be in German.\n')])
})
}).optional().describe('Configuration for output translation')
}).optional().describe('Configuration for translation module')
})).min(1).describe('A list of module configurations. The first configuration in the list that succeeds will be used.\n')]).optional(),
"stream": zod.object({
"enabled": zod.boolean().default(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecStreamEnabledDefault).describe('If true, the response will be streamed back to the client'),
"chunk_size": zod.int().min(1).max(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecStreamChunkSizeMax).default(registryControllerOrchestrationConfigControllerGetOrchestrationConfigByUuidResponseSpecStreamChunkSizeDefault).describe('Minimum number of characters per chunk that post-LLM modules operate on.'),
"delimiters": zod.array(zod.string()).min(1).optional().describe('List of delimiters to split the input text into chunks.Please note, this is a required parameter when `input_translation_module_config` or `output_translation_module_config` are configured.')
}).optional().describe('Options for streaming. Will be ignored if enabled is false.')
}).optional()
});
/**
* Delete orchestration config
*/
export const RegistryControllerOrchestrationConfigControllerDeleteOrchestrationConfigParams = zod.object({
"orchestrationConfigId": zod.uuid()
});
export const RegistryControllerOrchestrationConfigControllerDeleteOrchestrationConfigHeader = zod.object({
"AI-Resource-Group": zod.string().optional().describe('Specify a resource group id to use')
});
export const RegistryControllerOrchestrationConfigControllerDeleteOrchestrationConfigResponse = zod.object({
"message": zod.string()
});
/**
* Import orchestration config
*/
export const RegistryControllerOrchestrationConfigControllerImportOrchestrationConfigHeader = zod.object({
"AI-Resource-Group": zod.string().optional().describe('Specify a resource group id to use')
});
export const RegistryControllerOrchestrationConfigControllerImportOrchestrationConfigBody = zod.object({
"file": zod.instanceof(File).optional()
});
export const RegistryControllerOrchestrationConfigControllerImportOrchestrationConfigResponse = zod.object({
"message": zod.string(),
"id": zod.uuid(),
"scenario": zod.string(),
"name": zod.string(),
"version": zod.string()
});
/**
* Export orchestration config
*/
export const RegistryControllerOrchestrationConfigControllerExportOrchestrationConfigParams = zod.object({
"orchestrationConfigId": zod.uuid()
});
export const RegistryControllerOrchestrationConfigControllerExportOrchestrationConfigHeader = zod.object({
"AI-Resource-Group": zod.string().optional().describe('Specify a resource group id to use')
});
export const RegistryControllerOrchestrationConfigControllerExportOrchestrationConfigResponse = zod.unknown();
//# sourceMappingURL=prompt-registry.zod.js.map