chore: import upstream snapshot with attribution
Validate YAML Workflows / Validate YAML Configuration Files (push) Has been cancelled

This commit is contained in:
wehub-resource-sync
2026-07-13 12:37:51 +08:00
commit d0e4308def
614 changed files with 74458 additions and 0 deletions
+50
View File
@@ -0,0 +1,50 @@
"""Base classes for payload processors applied on edges."""
from abc import ABC, abstractmethod
from dataclasses import dataclass
from typing import Any, Generic, TypeVar
from entity.messages import Message
from runtime.node.executor import ExecutionContext
from utils.log_manager import LogManager
from utils.function_manager import FunctionManager
TConfig = TypeVar("TConfig")
@dataclass(slots=True)
class ProcessorFactoryContext:
"""Context passed to processor implementations."""
function_manager: "FunctionManager | None" = None
log_manager: "LogManager | None" = None
class EdgePayloadProcessor(Generic[TConfig], ABC):
"""Base payload processor API."""
label: str | None = None
metadata: dict[str, Any] | None = None
def __init__(self, config: TConfig, ctx: ProcessorFactoryContext) -> None:
self.config = config
self.ctx = ctx
@abstractmethod
def transform(
self,
payload: Message,
*,
source_result: Message,
from_node: Any,
edge_link: Any,
log_manager: LogManager,
context: ExecutionContext,
) -> Message | None:
"""Return transformed payload or None to drop the message."""
def _clone(self, payload: Message) -> Message:
return payload.clone()
def _text(self, payload: Message) -> str:
return payload.text_content()