mirror of
https://github.com/OpenBMB/ChatDev.git
synced 2026-04-25 11:18:06 +00:00
33 lines
1.1 KiB
Python
Executable File
33 lines
1.1 KiB
Python
Executable File
"""Configuration for passthrough nodes."""
|
|
|
|
from dataclasses import dataclass
|
|
from typing import Mapping, Any
|
|
|
|
from entity.configs.base import BaseConfig, ConfigFieldSpec, optional_bool, require_mapping
|
|
|
|
|
|
@dataclass
|
|
class PassthroughConfig(BaseConfig):
|
|
"""Configuration for passthrough nodes."""
|
|
|
|
only_last_message: bool = True
|
|
|
|
@classmethod
|
|
def from_dict(cls, data: Mapping[str, Any] | None, *, path: str) -> "PassthroughConfig":
|
|
if data is None:
|
|
return cls(only_last_message=True, path=path)
|
|
mapping = require_mapping(data, path)
|
|
only_last_message = optional_bool(mapping, "only_last_message", path, default=True)
|
|
return cls(only_last_message=only_last_message, path=path)
|
|
|
|
FIELD_SPECS = {
|
|
"only_last_message": ConfigFieldSpec(
|
|
name="only_last_message",
|
|
display_name="Only Last Message",
|
|
type_hint="bool",
|
|
required=False,
|
|
default=True,
|
|
description="If True, only pass the last received message. If False, pass all messages.",
|
|
),
|
|
}
|