from praisonai.cli.features.tui import MockProvider, MockProviderConfig
from praisonai.cli.features.tui.mock_provider import MockResponse
# Create with custom responses
config = MockProviderConfig(
seed=42, # Deterministic seed
default_delay=0.05,
simulate_errors=False,
responses={
"hello": MockResponse(
content="Hello! How can I help?",
tokens=10,
cost=0.0001,
),
"error": MockResponse(
content="",
error="Simulated error",
),
"tool": MockResponse(
content="Using a tool...",
tool_calls=[{
"id": "call_001",
"name": "search",
"arguments": {"query": "test"},
}],
),
}
)
provider = MockProvider(config)
# Generate response
import asyncio
async def test():
chunks = []
result = await provider.generate(
"hello",
stream=True,
on_chunk=lambda c: chunks.append(c),
)
print(f"Content: {result['content']}")
print(f"Tokens: {result['tokens']}")
print(f"Cost: ${result['cost']:.6f}")
print(f"Chunks: {len(chunks)}")
asyncio.run(test())