nanobot/test_provider_direct.py
Tanya e6b5ead3fd Merge origin/main into feature branch
- Merged latest 166 commits from origin/main
- Resolved conflicts in .gitignore, commands.py, schema.py, providers/__init__.py, and registry.py
- Kept both local providers (Ollama, AirLLM) and new providers from main
- Preserved transformers 4.39.3 compatibility fixes
- Combined error handling improvements with new features
2026-02-18 13:03:19 -05:00

63 lines
2.0 KiB
Python

#!/usr/bin/env python3
"""Direct test of AirLLM provider"""
import asyncio
import sys
import traceback
# Force output
sys.stdout.reconfigure(line_buffering=True)
sys.stderr.reconfigure(line_buffering=True)
print("=== STARTING TEST ===", flush=True)
try:
print("1. Importing...", flush=True)
from nanobot.config.loader import load_config
from nanobot.bus.queue import MessageBus
from nanobot.agent.loop import AgentLoop
from nanobot.cli.commands import _make_provider
print("2. Loading config...", flush=True)
config = load_config()
print(f" Config loaded. Provider name: {config.get_provider_name()}", flush=True)
print("3. Creating provider...", flush=True)
provider = _make_provider(config)
print(f" Provider created: {type(provider)}", flush=True)
print("4. Creating agent loop...", flush=True)
bus = MessageBus()
agent_loop = AgentLoop(
bus=bus,
provider=provider,
workspace=config.workspace_path,
brave_api_key=config.tools.web.search.api_key or None,
exec_config=config.tools.exec,
restrict_to_workspace=config.tools.restrict_to_workspace,
)
print(" Agent loop created", flush=True)
print("5. Processing message...", flush=True)
async def test():
response = await agent_loop.process_direct("Hello, what is 2+5?", "cli:test")
print(f"6. Response: {response}", flush=True)
print(f" Response type: {type(response)}", flush=True)
if response:
print(f" Response content: {response.content}", flush=True)
print(f"\n=== FINAL RESPONSE ===", flush=True)
print(response.content or "(empty)", flush=True)
else:
print(" NO RESPONSE", flush=True)
asyncio.run(test())
except Exception as e:
print(f"\n=== ERROR ===", flush=True)
print(f"{e}", flush=True)
traceback.print_exc(file=sys.stderr)
sys.exit(1)
print("\n=== TEST COMPLETE ===", flush=True)