Skip to content

Commit cabdc71

Browse files
feat!: Generalize build strategy terminology and add Kotlin build tools (#189)
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
1 parent 6fa5ea0 commit cabdc71

File tree

15 files changed

+233
-81
lines changed

15 files changed

+233
-81
lines changed

connector_builder_mcp/build_strategies/base/build_strategy.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ class BuildStrategy(ABC):
2626
2727
Variable domains (strategy-specific):
2828
- Guidance: Documentation and examples
29-
- Manifest Checks: Validation without running connector
30-
- Manifest Tests: Testing that runs the connector
29+
- Validation: Validation without running connector
30+
- Testing: Testing that runs the connector
3131
- Prompts: Workflow templates
3232
3333
Global domains (shared, not in strategy):
@@ -75,8 +75,8 @@ def register_guidance_tools(cls, app: FastMCP) -> None:
7575

7676
@classmethod
7777
@abstractmethod
78-
def register_manifest_check_tools(cls, app: FastMCP) -> None:
79-
"""Register manifest check domain tools by calling registration functions.
78+
def register_validation_tools(cls, app: FastMCP) -> None:
79+
"""Register validation domain tools by calling registration functions.
8080
8181
Args:
8282
app: FastMCP application instance
@@ -85,8 +85,8 @@ def register_manifest_check_tools(cls, app: FastMCP) -> None:
8585

8686
@classmethod
8787
@abstractmethod
88-
def register_manifest_test_tools(cls, app: FastMCP) -> None:
89-
"""Register manifest test domain tools by calling registration functions.
88+
def register_testing_tools(cls, app: FastMCP) -> None:
89+
"""Register testing domain tools by calling registration functions.
9090
9191
Args:
9292
app: FastMCP application instance
@@ -115,8 +115,8 @@ def register_all_mcp_callables(cls, app: FastMCP) -> None:
115115
app: FastMCP application instance
116116
"""
117117
cls.register_guidance_tools(app)
118-
cls.register_manifest_check_tools(app)
119-
cls.register_manifest_test_tools(app)
118+
cls.register_validation_tools(app)
119+
cls.register_testing_tools(app)
120120
cls.register_prompts(app)
121121

122122
@classmethod

connector_builder_mcp/build_strategies/declarative_openapi_v3/build_strategy.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,14 +42,14 @@ def register_guidance_tools(cls, app: FastMCP) -> None:
4242
guidance.register_guidance_tools(app)
4343

4444
@classmethod
45-
def register_manifest_check_tools(cls, app: FastMCP) -> None:
46-
"""Register manifest check tools by calling the registration function."""
47-
manifest_checks.register_manifest_check_tools(app)
45+
def register_validation_tools(cls, app: FastMCP) -> None:
46+
"""Register validation tools by calling the registration function."""
47+
manifest_checks.register_validation_tools(app)
4848

4949
@classmethod
50-
def register_manifest_test_tools(cls, app: FastMCP) -> None:
51-
"""Register manifest test tools by calling the registration function."""
52-
manifest_tests.register_manifest_test_tools(app)
50+
def register_testing_tools(cls, app: FastMCP) -> None:
51+
"""Register testing tools by calling the registration function."""
52+
manifest_tests.register_testing_tools(app)
5353

5454
@classmethod
5555
def register_prompts(cls, app: FastMCP) -> None:

connector_builder_mcp/build_strategies/declarative_openapi_v3/manifest_checks.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
"""MANIFEST_CHECKS domain tools - Validation for OpenAPI/Sonar connectors.
1+
"""VALIDATION domain tools - Validation for OpenAPI/Sonar connectors.
22
33
This module contains tools for validating OpenAPI specifications and connector
44
configurations without actually running the connector.
@@ -26,7 +26,7 @@ class OpenApiValidationResult(BaseModel):
2626

2727

2828
@mcp_tool(
29-
ToolDomain.MANIFEST_CHECKS,
29+
ToolDomain.VALIDATION,
3030
read_only=True,
3131
idempotent=True,
3232
open_world=False,
@@ -88,10 +88,10 @@ def validate_openapi_spec(
8888
)
8989

9090

91-
def register_manifest_check_tools(app: FastMCP) -> None:
92-
"""Register manifest check tools with the FastMCP app.
91+
def register_validation_tools(app: FastMCP) -> None:
92+
"""Register validation tools with the FastMCP app.
9393
9494
Args:
9595
app: FastMCP application instance
9696
"""
97-
register_mcp_tools(app, domain=ToolDomain.MANIFEST_CHECKS)
97+
register_mcp_tools(app, domain=ToolDomain.VALIDATION)

connector_builder_mcp/build_strategies/declarative_openapi_v3/manifest_tests.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
"""MANIFEST_TESTS domain tools - Testing for OpenAPI/Sonar connectors.
1+
"""TESTING domain tools - Testing for OpenAPI/Sonar connectors.
22
33
This module contains tools for testing OpenAPI-based connectors by actually
44
running them against the API.
@@ -29,7 +29,7 @@ class ResourceTestResult(BaseModel):
2929

3030

3131
@mcp_tool(
32-
domain=ToolDomain.MANIFEST_TESTS,
32+
domain=ToolDomain.TESTING,
3333
open_world=True,
3434
)
3535
def test_openapi_resource(
@@ -91,10 +91,10 @@ def test_openapi_resource(
9191
)
9292

9393

94-
def register_manifest_test_tools(app: FastMCP) -> None:
95-
"""Register manifest test tools with the FastMCP app.
94+
def register_testing_tools(app: FastMCP) -> None:
95+
"""Register testing tools with the FastMCP app.
9696
9797
Args:
9898
app: FastMCP application instance
9999
"""
100-
register_mcp_tools(app, domain=ToolDomain.MANIFEST_TESTS)
100+
register_mcp_tools(app, domain=ToolDomain.TESTING)

connector_builder_mcp/build_strategies/declarative_yaml_v1/build_strategy.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,14 +46,14 @@ def register_guidance_tools(cls, app: FastMCP) -> None:
4646
guidance.register_guidance_tools(app)
4747

4848
@classmethod
49-
def register_manifest_check_tools(cls, app: FastMCP) -> None:
50-
"""Register manifest check tools by calling the registration function."""
51-
manifest_checks.register_manifest_check_tools(app)
49+
def register_validation_tools(cls, app: FastMCP) -> None:
50+
"""Register validation tools by calling the registration function."""
51+
manifest_checks.register_validation_tools(app)
5252

5353
@classmethod
54-
def register_manifest_test_tools(cls, app: FastMCP) -> None:
55-
"""Register manifest test tools by calling the registration function."""
56-
manifest_tests.register_manifest_test_tools(app)
54+
def register_testing_tools(cls, app: FastMCP) -> None:
55+
"""Register testing tools by calling the registration function."""
56+
manifest_tests.register_testing_tools(app)
5757

5858
@classmethod
5959
def register_prompts(cls, app: FastMCP) -> None:

connector_builder_mcp/build_strategies/declarative_yaml_v1/manifest_checks.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
"""MANIFEST_CHECKS domain tools - Validation that doesn't run the connector.
1+
"""VALIDATION domain tools - Validation that doesn't run the connector.
22
33
This module contains tools for validating manifest structure and syntax
44
without actually running the connector.
@@ -27,7 +27,7 @@
2727

2828

2929
@mcp_tool(
30-
ToolDomain.MANIFEST_CHECKS,
30+
ToolDomain.VALIDATION,
3131
read_only=True,
3232
idempotent=True,
3333
open_world=False,
@@ -90,10 +90,10 @@ def validate_manifest(
9090
)
9191

9292

93-
def register_manifest_check_tools(app) -> None:
94-
"""Register manifest check tools with the FastMCP app.
93+
def register_validation_tools(app) -> None:
94+
"""Register validation tools with the FastMCP app.
9595
9696
Args:
9797
app: FastMCP application instance
9898
"""
99-
register_mcp_tools(app, domain=ToolDomain.MANIFEST_CHECKS)
99+
register_mcp_tools(app, domain=ToolDomain.VALIDATION)

connector_builder_mcp/build_strategies/declarative_yaml_v1/manifest_tests.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
"""MANIFEST_TESTS domain tools - Testing that runs the connector.
1+
"""TESTING domain tools - Testing that runs the connector.
22
33
This module contains tools for testing connectors by actually running them.
44
"""
@@ -480,7 +480,7 @@ def _format_validation_error(
480480

481481

482482
@mcp_tool(
483-
domain=ToolDomain.MANIFEST_TESTS,
483+
domain=ToolDomain.TESTING,
484484
read_only=True,
485485
open_world=True,
486486
)
@@ -543,7 +543,7 @@ def validate_manifest(
543543

544544

545545
@mcp_tool(
546-
domain=ToolDomain.MANIFEST_TESTS,
546+
domain=ToolDomain.TESTING,
547547
open_world=True,
548548
)
549549
def execute_stream_test_read( # noqa: PLR0914
@@ -841,7 +841,7 @@ def _as_saved_report(
841841

842842

843843
@mcp_tool(
844-
domain=ToolDomain.MANIFEST_TESTS,
844+
domain=ToolDomain.TESTING,
845845
read_only=True,
846846
open_world=True,
847847
)
@@ -1143,7 +1143,7 @@ def run_connector_readiness_test_report( # noqa: PLR0912, PLR0914, PLR0915 (too
11431143

11441144

11451145
@mcp_tool(
1146-
domain=ToolDomain.MANIFEST_TESTS,
1146+
domain=ToolDomain.TESTING,
11471147
read_only=True,
11481148
)
11491149
def execute_dynamic_manifest_resolution_test(
@@ -1217,10 +1217,10 @@ def execute_dynamic_manifest_resolution_test(
12171217
return "Failed to resolve manifest"
12181218

12191219

1220-
def register_manifest_test_tools(app: FastMCP) -> None:
1221-
"""Register manifest test tools with the FastMCP app.
1220+
def register_testing_tools(app: FastMCP) -> None:
1221+
"""Register testing tools with the FastMCP app.
12221222
12231223
Args:
12241224
app: FastMCP application instance
12251225
"""
1226-
register_mcp_tools(app, domain=ToolDomain.MANIFEST_TESTS)
1226+
register_mcp_tools(app, domain=ToolDomain.TESTING)

connector_builder_mcp/build_strategies/kotlin_destination/build_strategy.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -58,14 +58,14 @@ def register_guidance_tools(cls, app: FastMCP) -> None:
5858
guidance.register_guidance_tools(app)
5959

6060
@classmethod
61-
def register_manifest_check_tools(cls, app: FastMCP) -> None:
62-
"""Register manifest check tools by calling the registration function."""
63-
manifest_checks.register_manifest_check_tools(app)
61+
def register_validation_tools(cls, app: FastMCP) -> None:
62+
"""Register validation tools by calling the registration function."""
63+
manifest_checks.register_validation_tools(app)
6464

6565
@classmethod
66-
def register_manifest_test_tools(cls, app: FastMCP) -> None:
67-
"""Register manifest test tools by calling the registration function."""
68-
manifest_tests.register_manifest_test_tools(app)
66+
def register_testing_tools(cls, app: FastMCP) -> None:
67+
"""Register testing tools by calling the registration function."""
68+
manifest_tests.register_testing_tools(app)
6969

7070
@classmethod
7171
def register_prompts(cls, app: FastMCP) -> None:

connector_builder_mcp/build_strategies/kotlin_destination/manifest_checks.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
"""MANIFEST_CHECKS domain tools - Validation for Kotlin destination connectors.
1+
"""VALIDATION domain tools - Validation for Kotlin destination connectors.
22
33
This module contains tools for validating Kotlin destination connector code and
44
configuration without actually running the connector.
@@ -26,7 +26,7 @@ class KotlinDestinationValidationResult(BaseModel):
2626

2727

2828
@mcp_tool(
29-
ToolDomain.MANIFEST_CHECKS,
29+
ToolDomain.VALIDATION,
3030
read_only=True,
3131
idempotent=True,
3232
open_world=False,
@@ -73,10 +73,10 @@ def validate_kotlin_destination_connector(
7373
)
7474

7575

76-
def register_manifest_check_tools(app: FastMCP) -> None:
77-
"""Register manifest check tools with the FastMCP app.
76+
def register_validation_tools(app: FastMCP) -> None:
77+
"""Register validation tools with the FastMCP app.
7878
7979
Args:
8080
app: FastMCP application instance
8181
"""
82-
register_mcp_tools(app, domain=ToolDomain.MANIFEST_CHECKS)
82+
register_mcp_tools(app, domain=ToolDomain.VALIDATION)

connector_builder_mcp/build_strategies/kotlin_destination/manifest_tests.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
"""MANIFEST_TESTS domain tools - Testing for Kotlin destination connectors.
1+
"""TESTING domain tools - Testing for Kotlin destination connectors.
22
33
This module contains tools for testing Kotlin destination connectors by actually
44
running them against the destination system.
@@ -26,7 +26,7 @@ class KotlinDestinationTestResult(BaseModel):
2626

2727

2828
@mcp_tool(
29-
domain=ToolDomain.MANIFEST_TESTS,
29+
domain=ToolDomain.TESTING,
3030
open_world=True,
3131
)
3232
def test_kotlin_destination_write(
@@ -92,10 +92,10 @@ def test_kotlin_destination_write(
9292
)
9393

9494

95-
def register_manifest_test_tools(app: FastMCP) -> None:
96-
"""Register manifest test tools with the FastMCP app.
95+
def register_testing_tools(app: FastMCP) -> None:
96+
"""Register testing tools with the FastMCP app.
9797
9898
Args:
9999
app: FastMCP application instance
100100
"""
101-
register_mcp_tools(app, domain=ToolDomain.MANIFEST_TESTS)
101+
register_mcp_tools(app, domain=ToolDomain.TESTING)

0 commit comments

Comments
 (0)