feat(workflow): support human input in loop and iteration (#39243)

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
This commit is contained in:
-LAN-andautofix-ci[bot] authored and GitHub committed 2026-08-03 02:24:18 +00:00
1 parent 8dbac96621
commit 351577bdb0
86 files changed
+1454 -762

No files matched your search

+3 -2
View File
@@ -19,6 +19,7 @@ from graphon.model_runtime.entities.message_entities import PromptMessage, Promp
from graphon.model_runtime.entities.model_entities import AIModelEntity, ModelType
from graphon.model_runtime.entities.rerank_entities import MultimodalRerankInput, RerankResult
from graphon.model_runtime.entities.text_embedding_entities import EmbeddingResult
from graphon.model_runtime.protocols.tts_runtime import TTSModelVoice
from graphon.model_runtime.utils.encoders import jsonable_encoder
_POLLING_UNSUPPORTED_INVOKE_ERROR_TYPES = frozenset((NotImplementedError.__name__,))
@@ -614,7 +615,7 @@ class PluginModelClient(BasePluginClient):
model: str,
credentials: dict[str, Any],
language: str | None = None,
):
) -> list[TTSModelVoice]:
"""
Get tts model voices
"""
@@ -641,7 +642,7 @@ class PluginModelClient(BasePluginClient):
)
for resp in response:
voices = []
voices: list[TTSModelVoice] = []
for voice in resp.voices:
voices.append({"name": voice.name, "value": voice.value})
+2 -1
View File
@@ -31,6 +31,7 @@ from graphon.model_runtime.entities.rerank_entities import MultimodalRerankInput
from graphon.model_runtime.entities.text_embedding_entities import EmbeddingInputType, EmbeddingResult
from graphon.model_runtime.model_providers.base.large_language_model import normalize_non_stream_runtime_result
from graphon.model_runtime.protocols.runtime import ModelRuntime
from graphon.model_runtime.protocols.tts_runtime import TTSModelVoice
from models.provider_ids import ModelProviderID
logger = logging.getLogger(__name__)
@@ -658,7 +659,7 @@ class PluginModelRuntime(ModelRuntime):
model: str,
credentials: dict[str, Any],
language: str | None,
) -> Any:
) -> list[TTSModelVoice]:
plugin_id, provider_name = self._split_provider(provider)
return self.client.get_tts_model_voices(
tenant_id=self.tenant_id,