#!/usr/bin/env python3 """ Basic functionality test for PicoGent """ import asyncio import tempfile import os from picogent import Config, Session, run_agent async def test_basic_functionality(): """Test basic agent functionality""" print("๐Ÿงช Testing PicoGent basic functionality...") # Create a test config config = Config( provider="anthropic", model="claude-sonnet-4-20250514", api_key="test-key", # Fake key for testing max_tokens=1000, max_iterations=3, workspace="." ) print("โœ… Config created successfully") # Test session creation session = Session() session.add_message("user", "Hello, world!") session.add_message("assistant", "Hello! How can I help you?") messages = session.get_messages() assert len(messages) == 2 assert messages[0]["role"] == "user" assert messages[1]["role"] == "assistant" print("โœ… Session management working") # Test tools import and registration from picogent.tools import registry, ReadTool, WriteTool, EditTool, BashTool # Should have some tools registered tools = registry.list_tools() print(f"โœ… {len(tools)} tools registered: {[t.name for t in tools]}") # Test tool definitions definitions = registry.get_tool_definitions() assert len(definitions) > 0 assert all("name" in tool for tool in definitions) print("โœ… Tool definitions generated successfully") # Test providers from picogent.providers import AnthropicProvider provider = AnthropicProvider(config) print("โœ… Anthropic provider created successfully") print("โœ… All basic tests passed!") print("\n๐Ÿ“ Note: To test actual API functionality, set a valid ANTHROPIC_API_KEY environment variable") if __name__ == "__main__": asyncio.run(test_basic_functionality())