-
Notifications
You must be signed in to change notification settings - Fork 299
Add schema and serialization support for autoentities wildcard enhancement #2973
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Co-authored-by: RubenCerna2079 <32799214+RubenCerna2079@users.noreply.github.com>
Co-authored-by: RubenCerna2079 <32799214+RubenCerna2079@users.noreply.github.com>
Co-authored-by: RubenCerna2079 <32799214+RubenCerna2079@users.noreply.github.com>
|
/azp run |
|
Azure Pipelines successfully started running 6 pipeline(s). |
The MCP configuration supports both formats per EntityMcpOptions:
The example shown uses the object format with individual tool settings, which is valid. I've updated the PR description example to use the simpler boolean shorthand format for clarity. |
60e33c7 to
8fc87af
Compare
|
@JerryNixon that was a mistake from copilot, in the schema we only allow the format |
|
/azp run |
|
Azure Pipelines successfully started running 6 pipeline(s). |
|
/azp run |
|
Azure Pipelines successfully started running 6 pipeline(s). |
Aniruddh25
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
|
/azp run |
|
Azure Pipelines successfully started running 6 pipeline(s). |
|
/azp run |
|
Azure Pipelines successfully started running 6 pipeline(s). |
Why make this change?
We need to add the new 'autoentities' properties that will later be used to allow the user to add multiple entities at the same time. The properties need to have all the necessary components to be serialized and deserialized from the config file.
What is this change?
autoentitiesproperty to the schema file with proper structure usingadditionalPropertiesto allow user-defined autoentity definition names.AutoentityConverter.csAutoentityPatternsConverter.csAutoentityTemplateConverter.csRuntimeAutoentitiesConverter.csAutoentity.csAutoentityPatterns.csAutoentityTemplate.csRuntimeAutoentities.csEntityMcpOptions.cs- Supports both boolean shorthand and object format for MCP configurationEntityMcpOptionsConverterFactory.cs- Handles serialization/deserialization of MCP optionsRuntimeConfigLoader.csfor proper deserialization.required: ["permissions"]constraint to enforce at least one permission per specification.Schema Structure: The autoentities object uses
additionalPropertiesto allow any string key as a user-defined autoentity definition name (e.g., "public-tables", "admin-tables", etc.), consistent with how the "entities" section works.MCP Configuration: Supports two formats:
"mcp": trueor"mcp": false"mcp": { "dml-tools": true}Example configuration:
{ "autoentities": { "<user-defined name>": { // This property name is decided by the user to show a group of autoentities "patterns": { "include": ["dbo.%"], "exclude": ["dbo.internal_%"], "name": "{object}" }, "template": { "mcp": { "dml-tools": true }, "rest": { "enabled": true }, "graphql": { "enabled": true }, "health": { "enabled": true }, "cache": { "enabled": false } }, "permissions": [ { "role": "anonymous", "actions": ["read"] } ] } } }How was this tested?