arm-agent-base-type-child-resources
@azure-tools/typespec-azure-resource-manager/arm-agent-base-type-child-resourcesResources decorated with @azureBaseType for the Agent base type must have both a Conversation and a Response child resource.
❌ Incorrect
Section titled “❌ Incorrect”@armProviderNamespacenamespace Microsoft.Contoso;
model MyAgentProperties is Azure.ResourceManager.BaseTypes.Agents.AgentPropertiesPlatform { ...DefaultProvisioningStateProperty;}
@azureBaseType(#{ baseType: "Agent", version: "2024-06-01" })model MyAgent is TrackedResource<MyAgentProperties> { ...ResourceNameParameter<MyAgent>;}✅ Correct
Section titled “✅ Correct”@armProviderNamespacenamespace Microsoft.Contoso;
model MyAgentProperties is Azure.ResourceManager.BaseTypes.Agents.AgentPropertiesPlatform { ...DefaultProvisioningStateProperty;}
model MyAgent is Agent<MyAgentProperties> { ...ResourceNameParameter<MyAgent>;}
model MyConversationProperties is Azure.ResourceManager.BaseTypes.Agents.ConversationProperties;
model MyConversation is AgentConversation<MyConversationProperties, MyAgent> { ...ResourceNameParameter<MyConversation>;}
model MyResponseProperties is Azure.ResourceManager.BaseTypes.Agents.ResponseProperties;
model MyResponse is AgentResponse<MyResponseProperties, MyAgent> { ...ResourceNameParameter<MyResponse>;}Reviewer advice
Section titled “Reviewer advice”Impacts the API and emitters: an Agent base-type resource that is missing its Conversation and Response child resources is an incomplete Agent model and will not produce correct Agent-aware content. Ask the author to define both an AgentConversation and an AgentResponse child resource. Do not accept a suppression, since the base type requires both children.