deepset-mcp 0.0.11__tar.gz → 0.0.12__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (157) hide show
  1. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/PKG-INFO +1 -1
  2. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/mcp/tool_registry.py +5 -0
  3. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/tools/__init__.py +2 -0
  4. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/tools/pipeline.py +50 -0
  5. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/.github/workflows/ai_agent.yml +0 -0
  6. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/.github/workflows/ci.yml +0 -0
  7. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/.github/workflows/docker_push.yml +0 -0
  8. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/.github/workflows/publish_docs.yml +0 -0
  9. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/.github/workflows/pypi_release.yml +0 -0
  10. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/.gitignore +0 -0
  11. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/.python-version +0 -0
  12. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/Dockerfile +0 -0
  13. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/LICENSE +0 -0
  14. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/Makefile +0 -0
  15. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/README.md +0 -0
  16. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/REPO.md +0 -0
  17. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/assets/claude_desktop_projects.png +0 -0
  18. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/assets/claude_desktop_with_tools.png +0 -0
  19. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/assets/deepset-mcp-3.gif +0 -0
  20. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/docs/concepts/mcp_server_concepts.md +0 -0
  21. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/docs/concepts/sdk_concepts.md +0 -0
  22. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/docs/guides/api_sdk.md +0 -0
  23. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/docs/guides/mcp_server.md +0 -0
  24. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/docs/index.md +0 -0
  25. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/docs/installation.md +0 -0
  26. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/docs/reference/api_sdk_reference.md +0 -0
  27. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/docs/reference/mcp_reference.md +0 -0
  28. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/docs/reference/tool_reference.md +0 -0
  29. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/entrypoint.sh +0 -0
  30. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/license-header.txt +0 -0
  31. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/licenserc.toml +0 -0
  32. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/mkdocs.yml +0 -0
  33. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/pyproject.toml +0 -0
  34. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/__init__.py +0 -0
  35. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/api/__init__.py +0 -0
  36. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/api/client.py +0 -0
  37. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/api/custom_components/__init__.py +0 -0
  38. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/api/custom_components/models.py +0 -0
  39. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/api/custom_components/protocols.py +0 -0
  40. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/api/custom_components/resource.py +0 -0
  41. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/api/exceptions.py +0 -0
  42. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/api/haystack_service/__init__.py +0 -0
  43. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/api/haystack_service/protocols.py +0 -0
  44. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/api/haystack_service/resource.py +0 -0
  45. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/api/indexes/__init__.py +0 -0
  46. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/api/indexes/models.py +0 -0
  47. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/api/indexes/protocols.py +0 -0
  48. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/api/indexes/resource.py +0 -0
  49. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/api/integrations/__init__.py +0 -0
  50. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/api/integrations/models.py +0 -0
  51. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/api/integrations/protocols.py +0 -0
  52. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/api/integrations/resource.py +0 -0
  53. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/api/pipeline/__init__.py +0 -0
  54. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/api/pipeline/models.py +0 -0
  55. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/api/pipeline/protocols.py +0 -0
  56. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/api/pipeline/resource.py +0 -0
  57. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/api/pipeline_template/__init__.py +0 -0
  58. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/api/pipeline_template/models.py +0 -0
  59. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/api/pipeline_template/protocols.py +0 -0
  60. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/api/pipeline_template/resource.py +0 -0
  61. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/api/protocols.py +0 -0
  62. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/api/secrets/__init__.py +0 -0
  63. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/api/secrets/models.py +0 -0
  64. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/api/secrets/protocols.py +0 -0
  65. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/api/secrets/resource.py +0 -0
  66. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/api/shared_models.py +0 -0
  67. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/api/transport.py +0 -0
  68. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/api/user/__init__.py +0 -0
  69. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/api/user/protocols.py +0 -0
  70. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/api/user/resource.py +0 -0
  71. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/api/workspace/__init__.py +0 -0
  72. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/api/workspace/models.py +0 -0
  73. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/api/workspace/protocols.py +0 -0
  74. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/api/workspace/resource.py +0 -0
  75. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/config.py +0 -0
  76. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/initialize_embedding_model.py +0 -0
  77. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/main.py +0 -0
  78. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/mcp/__init__.py +0 -0
  79. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/mcp/server.py +0 -0
  80. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/mcp/store.py +0 -0
  81. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/mcp/tool_factory.py +0 -0
  82. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/mcp/tool_models.py +0 -0
  83. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/prompts/deepset_copilot_prompt.md +0 -0
  84. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/prompts/deepset_debugging_agent.md +0 -0
  85. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/py.typed +0 -0
  86. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/tokonomics/__init__.py +0 -0
  87. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/tokonomics/decorators.py +0 -0
  88. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/tokonomics/explorer.py +0 -0
  89. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/tokonomics/object_store.py +0 -0
  90. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/tools/custom_components.py +0 -0
  91. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/tools/doc_search.py +0 -0
  92. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/tools/haystack_service.py +0 -0
  93. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/tools/haystack_service_models.py +0 -0
  94. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/tools/indexes.py +0 -0
  95. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/tools/model_protocol.py +0 -0
  96. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/tools/object_store.py +0 -0
  97. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/tools/pipeline_template.py +0 -0
  98. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/tools/secrets.py +0 -0
  99. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/src/deepset_mcp/tools/workspace.py +0 -0
  100. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/__init__.py +0 -0
  101. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/integration/__init__.py +0 -0
  102. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/integration/conftest.py +0 -0
  103. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/integration/test_integration_haystack_service_resource.py +0 -0
  104. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/integration/test_integration_index_resource.py +0 -0
  105. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/integration/test_integration_integrations_resource.py +0 -0
  106. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/integration/test_integration_pipeline_logs.py +0 -0
  107. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/integration/test_integration_pipeline_resource.py +0 -0
  108. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/integration/test_integration_pipeline_template_resource.py +0 -0
  109. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/integration/test_integration_secret_resource.py +0 -0
  110. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/integration/test_integration_workspace_resource.py +0 -0
  111. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/integration/tokonomics/__init__.py +0 -0
  112. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/integration/tokonomics/test_integration_tokonomics.py +0 -0
  113. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/integration/tools/__init__.py +0 -0
  114. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/integration/tools/test_integration_haystack_service.py +0 -0
  115. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/unit/__init__.py +0 -0
  116. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/unit/api/__init__.py +0 -0
  117. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/unit/api/custom_components/__init__.py +0 -0
  118. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/unit/api/custom_components/test_custom_components_resource.py +0 -0
  119. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/unit/api/haystack_service/__init__.py +0 -0
  120. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/unit/api/haystack_service/test_haystack_service_resource.py +0 -0
  121. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/unit/api/indexes/__init__.py +0 -0
  122. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/unit/api/indexes/test_index_resource.py +0 -0
  123. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/unit/api/integrations/__init__.py +0 -0
  124. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/unit/api/integrations/test_integration_resource.py +0 -0
  125. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/unit/api/pipeline/__init__.py +0 -0
  126. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/unit/api/pipeline/test_pipeline_resource.py +0 -0
  127. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/unit/api/pipeline/test_pipeline_resource_search.py +0 -0
  128. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/unit/api/pipeline_template/__init__.py +0 -0
  129. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/unit/api/pipeline_template/test_pipeline_template_resource.py +0 -0
  130. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/unit/api/secrets/test_secret_resource.py +0 -0
  131. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/unit/api/test_shared_models.py +0 -0
  132. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/unit/api/test_transport.py +0 -0
  133. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/unit/api/user/__init__.py +0 -0
  134. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/unit/api/user/test_user_resource.py +0 -0
  135. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/unit/api/workspace/__init__.py +0 -0
  136. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/unit/api/workspace/test_workspace_resource.py +0 -0
  137. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/unit/conftest.py +0 -0
  138. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/unit/test_async_deepset_client.py +0 -0
  139. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/unit/test_server_base_url.py +0 -0
  140. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/unit/test_store.py +0 -0
  141. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/unit/test_tool_factory.py +0 -0
  142. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/unit/tokonomics/__init__.py +0 -0
  143. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/unit/tokonomics/test_decorators.py +0 -0
  144. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/unit/tokonomics/test_explorer.py +0 -0
  145. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/unit/tokonomics/test_integration.py +0 -0
  146. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/unit/tokonomics/test_object_store.py +0 -0
  147. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/unit/tokonomics/test_object_store_backends.py +0 -0
  148. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/unit/tools/__init__.py +0 -0
  149. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/unit/tools/test_custom_components.py +0 -0
  150. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/unit/tools/test_doc_search.py +0 -0
  151. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/unit/tools/test_haystack_service.py +0 -0
  152. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/unit/tools/test_indexes.py +0 -0
  153. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/unit/tools/test_pipeline.py +0 -0
  154. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/unit/tools/test_pipeline_template.py +0 -0
  155. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/unit/tools/test_secrets.py +0 -0
  156. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/test/unit/tools/test_workspace.py +0 -0
  157. {deepset_mcp-0.0.11 → deepset_mcp-0.0.12}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: deepset-mcp
3
- Version: 0.0.11
3
+ Version: 0.0.12
4
4
  Summary: Collection of MCP tools and Agents to work with the deepset AI platform. Create, debug or learn about pipelines on the platform. Useable from the CLI, Cursor, Claude Code, or other MCP clients.
5
5
  Project-URL: Homepage, https://deepset.ai
6
6
  Author-email: Mathis Lucka <mathis.lucka@deepset.ai>, Tanay Soni <tanay.soni@deepset.ai>
@@ -37,6 +37,7 @@ from deepset_mcp.tools.pipeline import (
37
37
  get_pipeline_logs as get_pipeline_logs_tool,
38
38
  list_pipelines as list_pipelines_tool,
39
39
  search_pipeline as search_pipeline_tool,
40
+ search_pipeline_with_filters as search_pipeline_with_filters_tool,
40
41
  update_pipeline as update_pipeline_tool,
41
42
  validate_pipeline as validate_pipeline_tool,
42
43
  )
@@ -128,6 +129,10 @@ TOOL_REGISTRY: dict[str, tuple[Callable[..., Any], ToolConfig]] = {
128
129
  search_pipeline_tool,
129
130
  ToolConfig(needs_client=True, needs_workspace=True, memory_type=MemoryType.EXPLORABLE),
130
131
  ),
132
+ "search_pipeline_with_filters": (
133
+ search_pipeline_with_filters_tool,
134
+ ToolConfig(needs_client=True, needs_workspace=True, memory_type=MemoryType.EXPLORABLE),
135
+ ),
131
136
  "list_indexes": (
132
137
  list_indexes_tool,
133
138
  ToolConfig(needs_client=True, needs_workspace=True, memory_type=MemoryType.EXPLORABLE),
@@ -20,6 +20,7 @@ from .pipeline import (
20
20
  get_pipeline_logs,
21
21
  list_pipelines,
22
22
  search_pipeline,
23
+ search_pipeline_with_filters,
23
24
  update_pipeline,
24
25
  validate_pipeline,
25
26
  )
@@ -49,6 +50,7 @@ __all__ = [
49
50
  "get_pipeline_logs",
50
51
  "deploy_pipeline",
51
52
  "search_pipeline",
53
+ "search_pipeline_with_filters",
52
54
  "create_pipeline",
53
55
  "update_pipeline",
54
56
  "validate_pipeline",
@@ -3,6 +3,7 @@
3
3
  # SPDX-License-Identifier: Apache-2.0
4
4
 
5
5
  import asyncio
6
+ from typing import Any
6
7
 
7
8
  import yaml
8
9
  from pydantic import BaseModel
@@ -367,3 +368,52 @@ async def search_pipeline(
367
368
  return f"Failed to search using pipeline '{pipeline_name}': {e}"
368
369
  except Exception as e:
369
370
  return f"An unexpected error occurred while searching with pipeline '{pipeline_name}': {str(e)}"
371
+
372
+
373
+ async def search_pipeline_with_filters(
374
+ *,
375
+ client: AsyncClientProtocol,
376
+ workspace: str,
377
+ pipeline_name: str,
378
+ query: str,
379
+ filters: dict[str, Any] | None = None,
380
+ ) -> DeepsetSearchResponse | str:
381
+ """Searches using a pipeline with filters.
382
+
383
+ Uses the specified pipeline to perform a search with the given query and filters.
384
+ Filters follow the Haystack filter syntax: https://docs.haystack.deepset.ai/docs/metadata-filtering.
385
+ Before executing the search, checks if the pipeline is deployed (status = DEPLOYED).
386
+ Returns search results.
387
+
388
+ :param client: The async client for API communication.
389
+ :param workspace: The workspace name.
390
+ :param pipeline_name: Name of the pipeline to use for search.
391
+ :param query: The search query to execute.
392
+ :param filters: The filters to apply to the search.
393
+
394
+ :returns: Search results or error message.
395
+ """
396
+ try:
397
+ # First, check if the pipeline exists and get its status
398
+ pipeline = await client.pipelines(workspace=workspace).get(pipeline_name=pipeline_name)
399
+
400
+ # Check if pipeline is deployed
401
+ if pipeline.status != "DEPLOYED":
402
+ return (
403
+ f"Pipeline '{pipeline_name}' is not deployed (current status: {pipeline.status}). "
404
+ f"Please deploy the pipeline first using the deploy_pipeline tool before attempting to search."
405
+ )
406
+
407
+ # Execute the search
408
+ return await client.pipelines(workspace=workspace).search(
409
+ pipeline_name=pipeline_name, query=query, filters=filters if filters is not None else None
410
+ )
411
+
412
+ except ResourceNotFoundError:
413
+ return f"There is no pipeline named '{pipeline_name}' in workspace '{workspace}'."
414
+ except BadRequestError as e:
415
+ return f"Failed to search using pipeline '{pipeline_name}': {e}"
416
+ except UnexpectedAPIError as e:
417
+ return f"Failed to search using pipeline '{pipeline_name}': {e}"
418
+ except Exception as e:
419
+ return f"An unexpected error occurred while searching with pipeline '{pipeline_name}': {str(e)}"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes