77
88if TYPE_CHECKING :
99 from strands .models .model import Model
10- from strands .tools . tool_spec import ToolSpec
10+ from strands .types . tools import ToolSpec
1111 from strands .tools .structured_output_tool import StructuredOutputTool
1212
1313
@@ -54,16 +54,16 @@ class NativeMode(OutputMode):
5454
5555 def get_tool_specs (self , output_type : Type [BaseModel ]) -> list ["ToolSpec" ]:
5656 """Return empty list - will use native JSON schema instead."""
57- return []
57+ raise NotImplementedError ()
5858
5959 def extract_result (self , model_response : Any ) -> Any :
6060 """Extract result from native structured output."""
6161 # Implementation will be added when integrating with model providers
62- return model_response
62+ raise NotImplementedError ()
6363
6464 def is_supported_by_model (self , model : "Model" ) -> bool :
6565 """Check if model supports native structured output."""
66- return model . supports_native_structured_output ()
66+ raise NotImplementedError ()
6767
6868
6969class PromptMode (OutputMode ):
@@ -83,13 +83,12 @@ def __init__(self, template: Optional[str] = None):
8383
8484 def get_tool_specs (self , output_type : Type [BaseModel ]) -> list ["ToolSpec" ]:
8585 """Return empty list - will inject schema into system prompt instead."""
86- return []
86+ raise NotImplementedError ()
8787
8888 def extract_result (self , model_response : Any ) -> Any :
8989 """Extract result from prompted response."""
90- # Implementation will be added when integrating with event loop
91- return model_response
90+ raise NotImplementedError ()
9291
9392 def is_supported_by_model (self , model : "Model" ) -> bool :
9493 """Prompting-based output works with all models."""
95- return True
94+ raise NotImplementedError ()
0 commit comments