tool_runtime.py 969 B

12345678910111213141516171819202122232425262728293031323334353637
  1. from typing import Any, Optional
  2. from openai import BaseModel
  3. from pydantic import Field
  4. from core.app.entities.app_invoke_entities import InvokeFrom
  5. from core.tools.entities.tool_entities import ToolInvokeFrom
  6. class ToolRuntime(BaseModel):
  7. """
  8. Meta data of a tool call processing
  9. """
  10. tenant_id: str
  11. tool_id: Optional[str] = None
  12. invoke_from: Optional[InvokeFrom] = None
  13. tool_invoke_from: Optional[ToolInvokeFrom] = None
  14. credentials: dict[str, Any] = Field(default_factory=dict)
  15. runtime_parameters: dict[str, Any] = Field(default_factory=dict)
  16. class FakeToolRuntime(ToolRuntime):
  17. """
  18. Fake tool runtime for testing
  19. """
  20. def __init__(self):
  21. super().__init__(
  22. tenant_id="fake_tenant_id",
  23. tool_id="fake_tool_id",
  24. invoke_from=InvokeFrom.DEBUGGER,
  25. tool_invoke_from=ToolInvokeFrom.AGENT,
  26. credentials={},
  27. runtime_parameters={},
  28. )