judge0ce.py 862 B

123456789101112131415161718192021222324
  1. from typing import Any
  2. from core.tools.errors import ToolProviderCredentialValidationError
  3. from core.tools.provider.builtin.judge0ce.tools.executeCode import ExecuteCodeTool
  4. from core.tools.provider.builtin_tool_provider import BuiltinToolProviderController
  5. class Judge0CEProvider(BuiltinToolProviderController):
  6. def _validate_credentials(self, credentials: dict[str, Any]) -> None:
  7. try:
  8. ExecuteCodeTool().fork_tool_runtime(
  9. runtime={
  10. "credentials": credentials,
  11. }
  12. ).invoke(
  13. user_id='',
  14. tool_parameters={
  15. "source_code": "print('hello world')",
  16. "language_id": 71,
  17. },
  18. )
  19. except Exception as e:
  20. raise ToolProviderCredentialValidationError(str(e))