Skip to content

Fix: remove .enabled suffix from individual DML tool configure option#3408

Open
souvikghosh04 wants to merge 2 commits intomainfrom
Usr/sogh/bug3373
Open

Fix: remove .enabled suffix from individual DML tool configure option#3408
souvikghosh04 wants to merge 2 commits intomainfrom
Usr/sogh/bug3373

Conversation

@souvikghosh04
Copy link
Copy Markdown
Contributor

@souvikghosh04 souvikghosh04 commented Apr 2, 2026

Why make this change?

dab configure individual DML tool options had an extra .enabled suffix, producing invalid nested config instead of the direct booleans the schema expects.

What is this change?

Removed .enabled suffix from 7 individual DML tool names in ConfigureOptions.cs (e.g., --runtime.mcp.dml-tools.describe-entities.enabled is now runtime.mcp.dml-tools.describe-entities).
Bulk toggle (--runtime.mcp.dml-tools.enabled)

How was this tested?

  • Integration Tests
  • Unit Tests

Sample Request(s)

Fixed: direct boolean, matches schema
dab configure --runtime.mcp.dml-tools.describe-entities true

Multiple tools
dab configure --runtime.mcp.dml-tools.describe-entities true --runtime.mcp.dml-tools.create-record false

#3373)

The dab configure command used option names like
--runtime.mcp.dml-tools.describe-entities.enabled which implied a nested
object structure ({ describe-entities: { enabled: true } }). The schema
expects direct booleans ({ describe-entities: true }).

Removed the .enabled suffix from 7 individual DML tool option names in
ConfigureOptions.cs. Added 3 test methods (5 test cases) covering
individual, bulk, and multi-tool configure scenarios.
@souvikghosh04 souvikghosh04 changed the title fix: remove .enabled suffix from individual DML tool configure option… Fix: remove .enabled suffix from individual DML tool configure option Apr 2, 2026
@souvikghosh04 souvikghosh04 requested a review from Copilot April 2, 2026 15:31
@souvikghosh04 souvikghosh04 self-assigned this Apr 2, 2026
@souvikghosh04 souvikghosh04 added this to the April 2026 milestone Apr 2, 2026
@souvikghosh04 souvikghosh04 moved this from Todo to In Progress in Data API builder Apr 2, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the dab configure CLI option names for individual MCP DML tools to match the runtime config schema by removing the incorrect .enabled suffix (e.g., runtime.mcp.dml-tools.describe-entities.enabledruntime.mcp.dml-tools.describe-entities). This aligns CLI usage with the expected JSON shape for per-tool booleans under runtime.mcp.dml-tools.

Changes:

  • Updated 7 MCP DML tool ConfigureOptions long option names to remove the .enabled suffix.
  • Added unit tests validating that configuring individual tools and the bulk runtime.mcp.dml-tools.enabled toggle updates the runtime config as expected.
  • Added a multi-option test to ensure multiple per-tool updates apply independently.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
src/Cli/Commands/ConfigureOptions.cs Renames long option strings for individual MCP DML tool toggles to match schema paths (no .enabled suffix).
src/Cli.Tests/ConfigureOptionsTests.cs Adds tests for per-tool and bulk MCP DML tool configuration updates.

@souvikghosh04 souvikghosh04 marked this pull request as ready for review April 3, 2026 03:44
@souvikghosh04 souvikghosh04 moved this from In Progress to Review In Progress in Data API builder Apr 3, 2026
// Arrange
SetupFileSystemWithInitialConfig(INITIAL_CONFIG);

// Act: Set describe-entities via the corrected option name (no .enabled suffix)
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The tests in this file do not explicitly check whether the .enabled is present or not in the option name. Rather, it is directly invoking the constructor.

There are already be other tests that verify configuration via the constructor - like the E2E tests. please remove these tests as they are not necessary. Please do a self review of tests that are really necessary

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Review In Progress

Development

Successfully merging this pull request may close these issues.

[Bug]: [Critical] structurally wrong dab configure --runtime.mcp.dml-tools.<tool>.enabled

3 participants