diff --git a/libs/designer-v2/src/lib/ui/panel/nodeDetailsPanel/tabs/parametersTab/index.tsx b/libs/designer-v2/src/lib/ui/panel/nodeDetailsPanel/tabs/parametersTab/index.tsx index 8ac3327b12f..27845ab3ef7 100644 --- a/libs/designer-v2/src/lib/ui/panel/nodeDetailsPanel/tabs/parametersTab/index.tsx +++ b/libs/designer-v2/src/lib/ui/panel/nodeDetailsPanel/tabs/parametersTab/index.tsx @@ -1087,11 +1087,11 @@ export const ParameterSection = ({ const selectedModelId = value?.length ? value[0]?.value : undefined; const currentModelType = findFoundryParam(nodeInputs.parameterGroups, group.id, agentModelTypeParameterKey)?.value?.[0]?.value; - // Only populate deploymentModelProperties for MicrosoftFoundry. - // For AzureOpenAI the backend derives model info from the deployment itself. - if (currentModelType === 'MicrosoftFoundry' && selectedModelId) { + // Populate deploymentModelProperties for both AzureOpenAI and MicrosoftFoundry. + // The backend requires name/format/version for AzureOpenAI model type. + if ((currentModelType === 'MicrosoftFoundry' || currentModelType === 'AzureOpenAI') && selectedModelId) { const deploymentInfo = deploymentsForCognitiveServiceAccount?.find((deployment: any) => deployment.name === selectedModelId); - const modelName = deploymentInfo?.properties?.model?.name; + const modelName = deploymentInfo?.properties?.model?.name ?? selectedModelId; let modelFormat = deploymentInfo?.properties?.model?.format; let modelVersion = deploymentInfo?.properties?.model?.version; if (!modelFormat || !modelVersion) { diff --git a/libs/designer/src/lib/ui/panel/nodeDetailsPanel/tabs/parametersTab/index.tsx b/libs/designer/src/lib/ui/panel/nodeDetailsPanel/tabs/parametersTab/index.tsx index 70d856994af..64b1bd85046 100644 --- a/libs/designer/src/lib/ui/panel/nodeDetailsPanel/tabs/parametersTab/index.tsx +++ b/libs/designer/src/lib/ui/panel/nodeDetailsPanel/tabs/parametersTab/index.tsx @@ -1096,11 +1096,11 @@ export const ParameterSection = ({ const selectedModelId = value?.length ? value[0]?.value : undefined; const currentModelType = findFoundryParam(nodeInputs.parameterGroups, group.id, agentModelTypeParameterKey)?.value?.[0]?.value; - // Only populate deploymentModelProperties for MicrosoftFoundry. - // For AzureOpenAI the backend derives model info from the deployment itself. - if (currentModelType === 'MicrosoftFoundry' && selectedModelId) { + // Populate deploymentModelProperties for both AzureOpenAI and MicrosoftFoundry. + // The backend requires name/format/version for AzureOpenAI model type. + if ((currentModelType === 'MicrosoftFoundry' || currentModelType === 'AzureOpenAI') && selectedModelId) { const deploymentInfo = deploymentsForCognitiveServiceAccount?.find((deployment: any) => deployment.name === selectedModelId); - const modelName = deploymentInfo?.properties?.model?.name; + const modelName = deploymentInfo?.properties?.model?.name ?? selectedModelId; let modelFormat = deploymentInfo?.properties?.model?.format; let modelVersion = deploymentInfo?.properties?.model?.version; if (!modelFormat || !modelVersion) { diff --git a/libs/logic-apps-shared/src/designer-client-services/lib/standard/manifest/__test__/agentloop.spec.ts b/libs/logic-apps-shared/src/designer-client-services/lib/standard/manifest/__test__/agentloop.spec.ts index 816f435f1c0..fb5b53ca5d9 100644 --- a/libs/logic-apps-shared/src/designer-client-services/lib/standard/manifest/__test__/agentloop.spec.ts +++ b/libs/logic-apps-shared/src/designer-client-services/lib/standard/manifest/__test__/agentloop.spec.ts @@ -116,4 +116,20 @@ describe('agentloop – Foundry V2 regression', () => { expect(field.type).toBe('string'); }); }); + + describe('deploymentModelProperties visibility', () => { + const agentModelSettings = inputs.agentModelSettings?.properties as Record; + const deploymentModelProps = agentModelSettings?.deploymentModelProperties?.properties as Record; + + it.each(['name', 'format', 'version'])('%s should be visible for both AzureOpenAI and MicrosoftFoundry', (field) => { + const visValues = deploymentModelProps[field]['x-ms-input-dependencies'].parameters[0].values as string[]; + expect(visValues).toContain('AzureOpenAI'); + expect(visValues).toContain('MicrosoftFoundry'); + }); + + it.each(['name', 'format', 'version'])('%s should NOT be visible for FoundryAgentServiceV2', (field) => { + const visValues = deploymentModelProps[field]['x-ms-input-dependencies'].parameters[0].values as string[]; + expect(visValues).not.toContain('FoundryAgentServiceV2'); + }); + }); }); diff --git a/libs/logic-apps-shared/src/designer-client-services/lib/standard/manifest/agentloop.ts b/libs/logic-apps-shared/src/designer-client-services/lib/standard/manifest/agentloop.ts index 4f625d68673..1606b0b1fde 100644 --- a/libs/logic-apps-shared/src/designer-client-services/lib/standard/manifest/agentloop.ts +++ b/libs/logic-apps-shared/src/designer-client-services/lib/standard/manifest/agentloop.ts @@ -476,7 +476,7 @@ export default { parameters: [ { name: 'agentModelType', - values: ['MicrosoftFoundry'], + values: ['AzureOpenAI', 'MicrosoftFoundry'], }, ], }, @@ -490,7 +490,7 @@ export default { parameters: [ { name: 'agentModelType', - values: ['MicrosoftFoundry'], + values: ['AzureOpenAI', 'MicrosoftFoundry'], }, ], }, @@ -504,7 +504,7 @@ export default { parameters: [ { name: 'agentModelType', - values: ['MicrosoftFoundry'], + values: ['AzureOpenAI', 'MicrosoftFoundry'], }, ], },