Skip to content

Conversation

@drewdrewthis
Copy link
Collaborator

No description provided.

- Replace AgentAdapter, UserSimulatorAgentAdapter, JudgeAgentAdapter abstract classes with Agent interface
- Make role readonly to enforce immutability
- Update UserSimulatorAgent and JudgeAgent to implement Agent directly
- Replace instanceof check with role-based check in scenario-execution
- Deprecate abstract classes for backwards compatibility
…oncerns

- Extract LLM invocation into protected invokeLLM method in UserSimulatorAgent and JudgeAgent
- Create InvokeLLMParams interface with only the params we actually pass
- Create minimal InvokeLLMResult interface with only text and toolCalls (not full generateText return type)
- Allows users to override invokeLLM to customize LLM calls without losing business logic
- Business logic (prompt building, message prep, role reversal) stays in call() method
…rface

- Replace deprecated AgentAdapter extension with Agent interface implementation
- Update documentation to explain agent architecture patterns (invokeLLM vs call override)
- Add comprehensive examples for different agent implementation approaches
- Clarify when to use Pattern 1 (invokeLLM) vs Pattern 2 (call override)
- Add new basics/agent-architecture.mdx page with comprehensive agent patterns
- Simplify test README to focus on running examples
- Remove architecture details from test documentation
- Fix misleading RealtimeAgentAdapter example in test docs
…erface

- Change OpenAiVoiceAgent to implement AgentAdapter directly (voice agents are special cases)
- Change AudioAgent to implement AgentAdapter directly
- Both agents override call() method completely due to their unique requirements
- Fixes lint errors and maintains backwards compatibility
- Add AudioHelpers.wrapAgentForAudio() for enabling audio on built-in agents
- Remove OpenAiVoiceAgent class and inheritance-based voice agents
- Update examples to use composition pattern with AudioHelpers
- Make invokeLLM methods public to enable overriding
- Update agent architecture docs with audio support patterns
- Fix RealtimeAgentAdapter to implement Agent interface directly

BREAKING: OpenAiVoiceAgent class removed, use AudioHelpers.wrapAgentForAudio() instead
@drewdrewthis drewdrewthis force-pushed the issue163/refactor-scenario-adapters-so-that-we-are-exposing-only-the-method-that-callsinterfaces-with-the-inference-endpoints branch from fbb179a to 9c1e19a Compare November 24, 2025 21:19
…ted classes

- Rename Agent interface to ScenarioAgent for clarity
- Simplify InvokeLLMParams/Result types derived from generateText
- Remove deprecated AgentAdapter abstract classes
- Export JudgeAgent and UserSimulatorAgent classes for audio helpers
- Convert OpenAiVoiceAgent to AudioHelpers.wrapAgentForOpenAiAudio utils
- Update all implementations to use ScenarioAgent interface directly
- Make invokeLLM methods public with proper typing
- Update examples and tests to use new patterns
- Remove outdated agent architecture documentation
- Maintain AgentAdapter as deprecated type alias for backwards compatibility

BREAKING: AgentAdapter abstract classes removed, use ScenarioAgent interface
@drewdrewthis drewdrewthis force-pushed the issue163/refactor-scenario-adapters-so-that-we-are-exposing-only-the-method-that-callsinterfaces-with-the-inference-endpoints branch 3 times, most recently from 781aeef to e0aa216 Compare November 26, 2025 14:07
@rogeriochaves rogeriochaves force-pushed the main branch 2 times, most recently from 77a92af to 9fdb87c Compare December 16, 2025 15:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants