https://github.com/google/adk-js/blame/af7ef5221dfb410857b8ee74a277cd24726a5900/core/src/agents/llm_agent.ts#L406
This checks is the agent passed in is not an LlmAgent or its root agent is not an LlmAgent and bails out.
Should this have been && and not ||?
Or alternatively, only check for agent, and check for rootAgent when using it further in the implementation.