mirror of
https://github.com/langgenius/dify.git
synced 2026-03-27 01:00:13 +08:00
Signed-off-by: -LAN- <laipz8200@outlook.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: WH-2099 <wh2099@pm.me>
72 lines
1.9 KiB
Python
72 lines
1.9 KiB
Python
from __future__ import annotations
|
|
|
|
from collections.abc import Generator
|
|
from typing import TYPE_CHECKING, Literal, NoReturn
|
|
|
|
from .protocols import HttpResponseProtocol, WorkflowFileRuntimeProtocol
|
|
|
|
if TYPE_CHECKING:
|
|
from .models import File
|
|
|
|
|
|
class WorkflowFileRuntimeNotConfiguredError(RuntimeError):
|
|
"""Raised when workflow file runtime dependencies were not configured."""
|
|
|
|
|
|
class _UnconfiguredWorkflowFileRuntime(WorkflowFileRuntimeProtocol):
|
|
def _raise(self) -> NoReturn:
|
|
raise WorkflowFileRuntimeNotConfiguredError(
|
|
"workflow file runtime is not configured, call set_workflow_file_runtime(...) first"
|
|
)
|
|
|
|
@property
|
|
def multimodal_send_format(self) -> str:
|
|
self._raise()
|
|
|
|
def http_get(self, url: str, *, follow_redirects: bool = True) -> HttpResponseProtocol:
|
|
self._raise()
|
|
|
|
def storage_load(self, path: str, *, stream: bool = False) -> bytes | Generator:
|
|
self._raise()
|
|
|
|
def load_file_bytes(self, *, file: File) -> bytes:
|
|
self._raise()
|
|
|
|
def resolve_file_url(self, *, file: File, for_external: bool = True) -> str | None:
|
|
self._raise()
|
|
|
|
def resolve_upload_file_url(
|
|
self,
|
|
*,
|
|
upload_file_id: str,
|
|
as_attachment: bool = False,
|
|
for_external: bool = True,
|
|
) -> str:
|
|
self._raise()
|
|
|
|
def resolve_tool_file_url(self, *, tool_file_id: str, extension: str, for_external: bool = True) -> str:
|
|
self._raise()
|
|
|
|
def verify_preview_signature(
|
|
self,
|
|
*,
|
|
preview_kind: Literal["image", "file"],
|
|
file_id: str,
|
|
timestamp: str,
|
|
nonce: str,
|
|
sign: str,
|
|
) -> bool:
|
|
self._raise()
|
|
|
|
|
|
_runtime: WorkflowFileRuntimeProtocol = _UnconfiguredWorkflowFileRuntime()
|
|
|
|
|
|
def set_workflow_file_runtime(runtime: WorkflowFileRuntimeProtocol) -> None:
|
|
global _runtime
|
|
_runtime = runtime
|
|
|
|
|
|
def get_workflow_file_runtime() -> WorkflowFileRuntimeProtocol:
|
|
return _runtime
|