diff --git a/autogpt_platform/backend/backend/blocks/agent.py b/autogpt_platform/backend/backend/blocks/agent.py index 49bb9cb64e..30e8743a6d 100644 --- a/autogpt_platform/backend/backend/blocks/agent.py +++ b/autogpt_platform/backend/backend/blocks/agent.py @@ -58,7 +58,7 @@ class AgentExecutorBlock(Block): return set(required_fields) - set(data) @classmethod - def validate_data(cls, data: BlockInput) -> str | None: + def get_mismatch_error(cls, data: BlockInput) -> str | None: return json.validate_with_jsonschema(cls.get_input_schema(data), data) class Output(BlockSchema): diff --git a/autogpt_platform/backend/backend/blocks/smart_decision_maker.py b/autogpt_platform/backend/backend/blocks/smart_decision_maker.py index 160092de75..f8f1f1f003 100644 --- a/autogpt_platform/backend/backend/blocks/smart_decision_maker.py +++ b/autogpt_platform/backend/backend/blocks/smart_decision_maker.py @@ -396,4 +396,3 @@ class SmartDecisionMakerBlock(Block): response.prompt.append(response.raw_response) yield "conversations", response.prompt - yield "length", len(response.prompt) diff --git a/autogpt_platform/backend/backend/data/block.py b/autogpt_platform/backend/backend/data/block.py index fbb1b0ed9e..2509dcd664 100644 --- a/autogpt_platform/backend/backend/data/block.py +++ b/autogpt_platform/backend/backend/data/block.py @@ -114,6 +114,10 @@ class BlockSchema(BaseModel): def validate_data(cls, data: BlockInput) -> str | None: return json.validate_with_jsonschema(schema=cls.jsonschema(), data=data) + @classmethod + def get_mismatch_error(cls, data: BlockInput) -> str | None: + return cls.validate_data(data) + @classmethod def validate_field(cls, field_name: str, data: BlockInput) -> str | None: """ diff --git a/autogpt_platform/backend/backend/executor/manager.py b/autogpt_platform/backend/backend/executor/manager.py index b054437bf0..4b92903a9b 100644 --- a/autogpt_platform/backend/backend/executor/manager.py +++ b/autogpt_platform/backend/backend/executor/manager.py @@ -435,7 +435,7 @@ def validate_exec( return None, f"{error_prefix} missing input {missing_input}" # Last validation: Validate the input values against the schema. - if error := schema.validate_data(data): + if error := schema.get_mismatch_error(data): error_message = f"{error_prefix} {error}" logger.error(error_message) return None, error_message