devdocs.py 1.0 KB

123456789101112131415161718192021222324252627
  1. from core.tools.entities.values import ToolLabelEnum
  2. from core.tools.errors import ToolProviderCredentialValidationError
  3. from core.tools.provider.builtin.devdocs.tools.searchDevDocs import SearchDevDocsTool
  4. from core.tools.provider.builtin_tool_provider import BuiltinToolProviderController
  5. class DevDocsProvider(BuiltinToolProviderController):
  6. def _validate_credentials(self, credentials: dict) -> None:
  7. try:
  8. SearchDevDocsTool().fork_tool_runtime(
  9. runtime={
  10. "credentials": credentials,
  11. }
  12. ).invoke(
  13. user_id='',
  14. tool_parameters={
  15. "doc": "python~3.12",
  16. "topic": "library/code",
  17. },
  18. )
  19. except Exception as e:
  20. raise ToolProviderCredentialValidationError(str(e))
  21. def _get_tool_labels(self) -> list[ToolLabelEnum]:
  22. return [
  23. ToolLabelEnum.SEARCH, ToolLabelEnum.PRODUCTIVITY
  24. ]