Feature: Stream Router agent and tool coverage As a developer I want Behave coverage for SimpleToolAgent and SimpleLLMAgent So that uncovered agent branches are exercised Scenario: SimpleToolAgent returns content when tool code is missing Given a SimpleToolAgent with a tool missing code When I process "payload" through the SimpleToolAgent Then the SimpleToolAgent result should be "payload" Scenario: SimpleToolAgent rejects tool with code block Given a SimpleToolAgent with a code block tool When I process "payload" through the SimpleToolAgent expecting rejection Then the SimpleToolAgent should raise a routing error about code blocks Scenario: SimpleToolAgent rejects code block via process_message_sync Given a SimpleToolAgent with a code block tool When I call process_message_sync with "payload" expecting rejection Then the SimpleToolAgent should raise a routing error about code blocks # TODO: Uncomment when step definitions are implemented # Scenario: SimpleLLMAgent returns empty prompt for blank template # Given a SimpleLLMAgent for prompt rendering # When I render the template "" with context: # | key | value | # | name | Ada | # Then the rendered prompt should be "" # # TODO: Uncomment when step definitions are implemented # Scenario: SimpleLLMAgent returns raw template when environment is missing # Given a SimpleLLMAgent for prompt rendering # And the SimpleLLMAgent template environment is "none" # When I render the template "Hello" with context: # | key | value | # | name | Ada | # Then the rendered prompt should be "Hello" # # TODO: Uncomment when step definitions are implemented # Scenario: SimpleLLMAgent renders template when environment succeeds # Given a SimpleLLMAgent for prompt rendering # And the SimpleLLMAgent template environment is "working" # When I render the template "Hello {{ name }}" with context: # | key | value | # | name | Ada | # Then the rendered prompt should be "Hello Ada" # # TODO: Uncomment when step definitions are implemented # Scenario: SimpleLLMAgent falls back to template on render failure # Given a SimpleLLMAgent for prompt rendering # And the SimpleLLMAgent template environment is "failing" # When I render the template "Hello {{ name }}" with context: # | key | value | # | name | Ada | # Then the rendered prompt should be "Hello {{ name }}" Scenario: SimpleLLMAgent resolves LLM with configured kwargs and caching Given a SimpleLLMAgent with provider config And a stub provider registry is installed When I resolve the LLM twice Then the registry should be called once with the configured kwargs And the resolved LLM should be cached Scenario: SimpleLLMAgent raises when LangChain messages are unavailable Given a SimpleLLMAgent with provider config And a stub provider registry is installed And LangChain message classes are unavailable When I process "ping" through the LLM agent Then I should receive a stream routing error about missing messages Scenario: SimpleLLMAgent process_message_sync returns LLM content Given a SimpleLLMAgent with system prompt and provider config And a stub provider registry is installed And LangChain message stubs are installed When I process 123 through the LLM agent via process_message_sync Then the LLM should receive system and human messages And the LLM agent result should be "llm-output"