Skip to content

Commit a025990

Browse files
authored
chore: tool models should reside in tool module (#187)
1 parent 5d11e0e commit a025990

3 files changed

Lines changed: 23 additions & 24 deletions

File tree

src/deepset_mcp/api/pipeline/models.py

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -269,26 +269,6 @@ class DeepsetStreamEvent(BaseModel):
269269
"Error message if type is 'error'"
270270

271271

272-
class PipelineValidationResultWithYaml(BaseModel):
273-
"""Model for pipeline validation result that includes the original YAML."""
274-
275-
validation_result: PipelineValidationResult
276-
"Result of validating the pipeline configuration"
277-
yaml_config: str
278-
"Original YAML configuration that was validated"
279-
280-
281-
class PipelineOperationWithErrors(BaseModel):
282-
"""Model for pipeline operations that complete with validation errors."""
283-
284-
message: str
285-
"Descriptive message about the pipeline operation"
286-
validation_result: PipelineValidationResult
287-
"Validation errors encountered during the operation"
288-
pipeline: DeepsetPipeline
289-
"Pipeline object after the operation completed"
290-
291-
292272
class LogLevel(StrEnum):
293273
"""Log level filter options for pipeline logs."""
294274

src/deepset_mcp/tools/pipeline.py

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,15 @@
55
import asyncio
66

77
import yaml
8+
from pydantic import BaseModel
89

910
from deepset_mcp.api.exceptions import BadRequestError, ResourceNotFoundError, UnexpectedAPIError
1011
from deepset_mcp.api.pipeline.models import (
1112
DeepsetPipeline,
1213
DeepsetSearchResponse,
1314
LogLevel,
1415
PipelineLog,
15-
PipelineOperationWithErrors,
1616
PipelineValidationResult,
17-
PipelineValidationResultWithYaml,
1817
)
1918
from deepset_mcp.api.protocols import AsyncClientProtocol
2019
from deepset_mcp.api.shared_models import PaginatedResponse
@@ -55,6 +54,15 @@ async def get_pipeline(*, client: AsyncClientProtocol, workspace: str, pipeline_
5554
return f"Failed to fetch pipeline '{pipeline_name}': {e}"
5655

5756

57+
class PipelineValidationResultWithYaml(BaseModel):
58+
"""Model for pipeline validation result that includes the original YAML."""
59+
60+
validation_result: PipelineValidationResult
61+
"Result of validating the pipeline configuration"
62+
yaml_config: str
63+
"Original YAML configuration that was validated"
64+
65+
5866
async def validate_pipeline(
5967
*, client: AsyncClientProtocol, workspace: str, yaml_configuration: str
6068
) -> PipelineValidationResultWithYaml | str:
@@ -82,6 +90,17 @@ async def validate_pipeline(
8290
return f"Failed to validate pipeline: {e}"
8391

8492

93+
class PipelineOperationWithErrors(BaseModel):
94+
"""Model for pipeline operations that complete with validation errors."""
95+
96+
message: str
97+
"Descriptive message about the pipeline operation"
98+
validation_result: PipelineValidationResult
99+
"Validation errors encountered during the operation"
100+
pipeline: DeepsetPipeline
101+
"Pipeline object after the operation completed"
102+
103+
85104
async def create_pipeline(
86105
*,
87106
client: AsyncClientProtocol,

test/unit/tools/test_pipeline.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,17 +22,17 @@
2222
ExceptionInfo,
2323
LogLevel,
2424
PipelineLog,
25-
PipelineOperationWithErrors,
2625
PipelineServiceLevel,
2726
PipelineValidationResult,
28-
PipelineValidationResultWithYaml,
2927
ValidationError,
3028
)
3129
from deepset_mcp.api.pipeline.protocols import PipelineResourceProtocol
3230
from deepset_mcp.api.shared_models import DeepsetUser, NoContentResponse, PaginatedResponse
3331

3432
# Adjust the import path below to match your project structure
3533
from deepset_mcp.tools.pipeline import (
34+
PipelineOperationWithErrors,
35+
PipelineValidationResultWithYaml,
3636
create_pipeline,
3737
deploy_pipeline,
3838
get_pipeline,

0 commit comments

Comments
 (0)