Skip to content

Commit 158bbe6

Browse files
committed
fix: use local output_schema when validating
Fixes #2038
1 parent 99fabf4 commit 158bbe6

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

griptape/tasks/prompt_task.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
from attrs import NOTHING, Attribute, Factory, NothingType, define, field
88
from pydantic import BaseModel
9-
from schema import Schema
9+
from schema import Any, Schema
1010

1111
from griptape import utils
1212
from griptape.artifacts import (
@@ -164,11 +164,13 @@ def validate_tools(self, _: Attribute, tools: list[BaseTool]) -> None:
164164
raise ValueError("tools names have to be unique in task")
165165

166166
@output_schema.validator # pyright: ignore[reportAttributeAccessIssue, reportOptionalMemberAccess]
167-
def validate_output_schema(self, _: Attribute, output_schema: Optional[Union[Schema, type[BaseModel]]]) -> None:
167+
def validate_output_schema(
168+
self, _: Attribute, output_schema: Optional[Union[Schema, type[BaseModel], Any]]
169+
) -> None:
168170
if (
169171
output_schema is None
170-
or isinstance(self.output_schema, Schema)
171-
or (isinstance(self.output_schema, type) and issubclass(self.output_schema, BaseModel))
172+
or isinstance(output_schema, Schema)
173+
or (isinstance(output_schema, type) and issubclass(output_schema, BaseModel))
172174
):
173175
return
174176
raise ValueError(f"Unsupported output schema type: {type(self.output_schema)}")

0 commit comments

Comments
 (0)