Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
e4896d5
agent framework v2 changes
Abdul-Microsoft Feb 4, 2026
95b0049
v2 changes
Abdul-Microsoft Feb 5, 2026
cdf1c50
refactor: remove unused imports and clean up test files for better re…
Kingshuk-Microsoft Feb 9, 2026
93ecd36
fix: update workflow to include code-quality-fix branch in trigger paths
Kingshuk-Microsoft Feb 9, 2026
2b601b3
fix: remove code-quality-fix branch from workflow trigger paths
Kingshuk-Microsoft Feb 9, 2026
2a5d61c
refactor: remove unused imports from test files for improved code qua…
Kingshuk-Microsoft Feb 10, 2026
d69b7fc
refactor: remove unused imports from test files for improved code qua…
Kingshuk-Microsoft Feb 10, 2026
124fcf7
Enhance agent orchestration and configuration for Azure AI Search int…
Abdul-Microsoft Feb 10, 2026
1bc5725
fix for agent multiple times calling
Abdul-Microsoft Feb 11, 2026
45582e1
Enhance get_chat_client to use latest agent version and log agent name
Abdul-Microsoft Feb 13, 2026
3a4dfbb
Update dependency versions in pyproject.toml and uv.lock for consistency
Abdul-Microsoft Feb 13, 2026
c513f4b
Add user state cleanup and enhance AzureAIClient initialization with …
Abdul-Microsoft Feb 13, 2026
f2eb8e3
Revert "Add user state cleanup and enhance AzureAIClient initializati…
Abdul-Microsoft Feb 13, 2026
3b8654f
fix: add missing paths section for pull request trigger in workflow
Kingshuk-Microsoft Feb 13, 2026
643306f
updated the logging and resolved the HR scenario issue
Dhruvkumar-Microsoft Feb 13, 2026
303c866
Refactor FoundryAgentTemplate and MagenticAgentFactory to remove debu…
Abdul-Microsoft Feb 16, 2026
8d1d1c7
Merge remote-tracking branch 'origin/dev-v4' into ab-agentframeworkv2…
Abdul-Microsoft Feb 16, 2026
bb5331e
Refactor agent creation and configuration to avoid mutating original …
Abdul-Microsoft Feb 20, 2026
60c894e
Remove description and instructions from MagenticManager ChatAgent in…
Abdul-Microsoft Feb 20, 2026
3b52504
replace avm module with bicep module for search service for initial p…
Harsh-Microsoft Feb 23, 2026
fba0395
Merge pull request #827 from microsoft/hb-psl-reduce-srch-time
Prajwal-Microsoft Feb 25, 2026
ca417b3
Update dependencies: semantic-kernel to 1.39.4 and mcp to 1.26.0
Ayaz-Microsoft Feb 26, 2026
6601a4e
Update mcp to version 1.26.0 and semantic-kernel to version 1.39.4
Ayaz-Microsoft Feb 26, 2026
9aa0490
Merge pull request #808 from microsoft/code-quality-fix
Roopan-Microsoft Feb 26, 2026
f1fcee5
fix: dependabot vulnerabilities
Ayaz-Microsoft Feb 26, 2026
1f34901
update azure-ai-projects version to 1.0.0b12 in dependencies
Ayaz-Microsoft Feb 26, 2026
310deef
update openai version to 1.105.0 in requirements
Ayaz-Microsoft Feb 26, 2026
1eed442
refactor: remove API key parameter and switch to AAD authentication f…
Abdul-Microsoft Feb 26, 2026
3648a94
refactor: remove Azure AI Search API key references and switch to AAD…
Abdul-Microsoft Feb 26, 2026
bb9b76c
update azure-ai-projects version to 1.0.0
Ayaz-Microsoft Feb 26, 2026
6aabe72
Initial plan
Copilot Feb 27, 2026
2bde800
fix: set disableLocalAuth: true in main_custom.bicep and fix CRLF in …
Copilot Feb 27, 2026
0e3d8bc
Merge pull request #833 from microsoft/copilot/sub-pr-832
Abdul-Microsoft Feb 27, 2026
cc95562
Merge pull request #832 from microsoft/pssl-aadauthchanges
Roopan-Microsoft Feb 27, 2026
b12fd8e
Merge pull request #830 from microsoft/bugfix/vulnerabilities
Roopan-Microsoft Feb 27, 2026
26d9331
Merge remote-tracking branch 'origin/dev-v4' into ab-agentframeworkv2…
Abdul-Microsoft Feb 27, 2026
6a0462b
resolved pylint issues
Abdul-Microsoft Feb 27, 2026
da4091a
Merge pull request #810 from microsoft/ab-agentframeworkv2-changes
Roopan-Microsoft Feb 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
119 changes: 18 additions & 101 deletions infra/main.bicep
Original file line number Diff line number Diff line change
Expand Up @@ -1288,7 +1288,7 @@ module containerApp 'br/public:avm/res/app/container-app:0.18.1' = {
}
{
name: 'AZURE_AI_SEARCH_ENDPOINT'
value: searchService.outputs.endpoint
value: searchServiceUpdate.outputs.endpoint
}
{
name: 'AZURE_COGNITIVE_SERVICES'
Expand Down Expand Up @@ -1330,10 +1330,6 @@ module containerApp 'br/public:avm/res/app/container-app:0.18.1' = {
name: 'SUPPORTED_MODELS'
value: '["o3","o4-mini","gpt-4.1","gpt-4.1-mini"]'
}
{
name: 'AZURE_AI_SEARCH_API_KEY'
secretRef: 'azure-ai-search-api-key'
}
{
name: 'AZURE_STORAGE_BLOB_URL'
value: avmStorageAccount.outputs.serviceEndpoints.blob
Expand Down Expand Up @@ -1369,13 +1365,7 @@ module containerApp 'br/public:avm/res/app/container-app:0.18.1' = {
]
}
]
secrets: [
{
name: 'azure-ai-search-api-key'
keyVaultUrl: keyvault.outputs.secrets[0].uriWithVersion
identity: userAssignedIdentity.outputs.resourceId
}
]
secrets: []
}
}

Expand Down Expand Up @@ -1662,86 +1652,20 @@ var aiSearchIndexNameForRFPSummary = 'macae-rfp-summary-index'
var aiSearchIndexNameForRFPRisk = 'macae-rfp-risk-index'
var aiSearchIndexNameForRFPCompliance = 'macae-rfp-compliance-index'

module searchService 'br/public:avm/res/search/search-service:0.11.1' = {
name: take('avm.res.search.search-service.${solutionSuffix}', 64)
params: {
name: searchServiceName
authOptions: {
aadOrApiKey: {
aadAuthFailureMode: 'http401WithBearerChallenge'
}
}
disableLocalAuth: false
hostingMode: 'default'

// Enabled the Public access because other services are not able to connect with search search AVM module when public access is disabled

// publicNetworkAccess: enablePrivateNetworking ? 'Disabled' : 'Enabled'
publicNetworkAccess: 'Enabled'
networkRuleSet: {
bypass: 'AzureServices'
}
partitionCount: 1
replicaCount: 1
sku: enableScalability ? 'standard' : 'basic'
tags: tags
roleAssignments: [
{
principalId: userAssignedIdentity.outputs.principalId
roleDefinitionIdOrName: 'Search Index Data Contributor'
principalType: 'ServicePrincipal'
}
{
principalId: deployingUserPrincipalId
roleDefinitionIdOrName: 'Search Index Data Contributor'
principalType: deployerPrincipalType
}
{
principalId: aiFoundryAiProjectPrincipalId
roleDefinitionIdOrName: 'Search Index Data Reader'
principalType: 'ServicePrincipal'
}
{
principalId: aiFoundryAiProjectPrincipalId
roleDefinitionIdOrName: 'Search Service Contributor'
principalType: 'ServicePrincipal'
}
]

//Removing the Private endpoints as we are facing the issue with connecting to search service while comminicating with agents

privateEndpoints: []
// privateEndpoints: enablePrivateNetworking
// ? [
// {
// name: 'pep-search-${solutionSuffix}'
// customNetworkInterfaceName: 'nic-search-${solutionSuffix}'
// privateDnsZoneGroup: {
// privateDnsZoneGroupConfigs: [
// {
// privateDnsZoneResourceId: avmPrivateDnsZones[dnsZoneIndex.search]!.outputs.resourceId
// }
// ]
// }
// subnetResourceId: virtualNetwork!.outputs.subnetResourceIds[0]
// service: 'searchService'
// }
// ]
// : []
resource searchService 'Microsoft.Search/searchServices@2024-06-01-preview' = {
name: searchServiceName
location: location
sku: {
name: enableScalability ? 'standard' : 'basic'
}
}

// Separate module for Search Service to enable managed identity, as this reduces deployment time
module searchServiceIdentity 'br/public:avm/res/search/search-service:0.11.1' = {
name: take('avm.res.search.identity.${solutionSuffix}', 64)
// Separate module for Search Service to enable managed identity and update other properties, as this reduces deployment time
module searchServiceUpdate 'br/public:avm/res/search/search-service:0.11.1' = {
name: take('avm.res.search.update.${solutionSuffix}', 64)
params: {
name: searchServiceName
authOptions: {
aadOrApiKey: {
aadAuthFailureMode: 'http401WithBearerChallenge'
}
}
disableLocalAuth: false
disableLocalAuth: true
hostingMode: 'default'
managedIdentities: {
systemAssigned: true
Expand Down Expand Up @@ -1817,10 +1741,9 @@ module aiSearchFoundryConnection 'modules/aifp-connections.bicep' = {
aiFoundryProjectName: aiFoundryAiProjectName
aiFoundryName: aiFoundryAiServicesResourceName
aifSearchConnectionName: aiSearchConnectionName
searchServiceResourceId: searchService.outputs.resourceId
searchServiceLocation: searchService.outputs.location
searchServiceName: searchService.outputs.name
searchApiKey: searchService.outputs.primaryKey
searchServiceResourceId: searchService.id
searchServiceLocation: searchService.location
searchServiceName: searchService.name
}
dependsOn: [
aiFoundryAiServices
Expand Down Expand Up @@ -1871,12 +1794,7 @@ module keyvault 'br/public:avm/res/key-vault/vault:0.12.1' = {
roleDefinitionIdOrName: 'Key Vault Administrator'
}
]
secrets: [
{
name: 'AzureAISearchAPIKey'
value: searchService.outputs.primaryKey
}
]
secrets: []
enableTelemetry: enableTelemetry
}
}
Expand All @@ -1893,8 +1811,8 @@ output webSiteDefaultHostname string = webSite.outputs.defaultHostname

output AZURE_STORAGE_BLOB_URL string = avmStorageAccount.outputs.serviceEndpoints.blob
output AZURE_STORAGE_ACCOUNT_NAME string = storageAccountName
output AZURE_AI_SEARCH_ENDPOINT string = searchService.outputs.endpoint
output AZURE_AI_SEARCH_NAME string = searchService.outputs.name
output AZURE_AI_SEARCH_ENDPOINT string = searchServiceUpdate.outputs.endpoint
output AZURE_AI_SEARCH_NAME string = searchService.name

output COSMOSDB_ENDPOINT string = 'https://${cosmosDbResourceName}.documents.azure.com:443/'
output COSMOSDB_DATABASE string = cosmosDbDatabaseName
Expand All @@ -1917,7 +1835,7 @@ output AI_FOUNDRY_RESOURCE_ID string = !useExistingAiFoundryAiProject
? aiFoundryAiServices.outputs.resourceId
: existingAiFoundryAiProjectResourceId
output COSMOSDB_ACCOUNT_NAME string = cosmosDbResourceName
output AZURE_SEARCH_ENDPOINT string = searchService.outputs.endpoint
output AZURE_SEARCH_ENDPOINT string = searchServiceUpdate.outputs.endpoint
output AZURE_CLIENT_ID string = userAssignedIdentity!.outputs.clientId
output AZURE_TENANT_ID string = tenant().tenantId
output AZURE_AI_SEARCH_CONNECTION_NAME string = aiSearchConnectionName
Expand All @@ -1926,7 +1844,6 @@ output REASONING_MODEL_NAME string = aiFoundryAiServicesReasoningModelDeployment
output MCP_SERVER_NAME string = 'MacaeMcpServer'
output MCP_SERVER_DESCRIPTION string = 'MCP server with greeting, HR, and planning tools'
output SUPPORTED_MODELS string = '["o3","o4-mini","gpt-4.1","gpt-4.1-mini"]'
output AZURE_AI_SEARCH_API_KEY string = '<Deployed-Search-ApiKey>'
output BACKEND_URL string = 'https://${containerApp.outputs.fqdn}'
output AZURE_AI_PROJECT_ENDPOINT string = aiFoundryAiProjectEndpoint
output AZURE_AI_AGENT_ENDPOINT string = aiFoundryAiProjectEndpoint
Expand Down
Loading
Loading