atomic-agents 2.7.3__tar.gz → 2.7.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- atomic_agents-2.7.4/.assets/whats-new-v2-thumbnail.png +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/PKG-INFO +5 -1
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/README.md +4 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-agents/atomic_agents/__init__.py +4 -2
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-agents/atomic_agents/agents/atomic_agent.py +24 -9
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-agents/atomic_agents/context/chat_history.py +2 -2
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-agents/tests/agents/test_atomic_agent.py +69 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/pyproject.toml +1 -1
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/uv.lock +1 -1
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/.assets/architecture_highlevel_overview.png +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/.assets/atomic-cli-tool-menu.png +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/.assets/atomic-cli.png +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/.assets/docs.png +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/.assets/logo.png +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/.assets/video-thumbnail-1.png +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/.assets/video-thumbnail-2.png +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/.assets/video-thumbnail.png +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/.assets/what_is_sent_in_prompt.png +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/.claude/skills/release/SKILL.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/.claude-plugin/marketplace.json +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/.coveragerc +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/.flake8 +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/.github/funding.yml +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/.github/workflows/code-quality.yml +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/.github/workflows/docs.yml +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/.gitignore +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/.pre-commit-config.yaml +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/LICENSE +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/UPGRADE_DOC.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/agents.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-agents/LICENSE +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-agents/MANIFEST.in +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-agents/atomic_agents/agents/__init__.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-agents/atomic_agents/base/__init__.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-agents/atomic_agents/base/base_io_schema.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-agents/atomic_agents/base/base_prompt.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-agents/atomic_agents/base/base_resource.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-agents/atomic_agents/base/base_tool.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-agents/atomic_agents/connectors/__init__.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-agents/atomic_agents/connectors/mcp/__init__.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-agents/atomic_agents/connectors/mcp/mcp_definition_service.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-agents/atomic_agents/connectors/mcp/mcp_factory.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-agents/atomic_agents/connectors/mcp/schema_transformer.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-agents/atomic_agents/context/__init__.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-agents/atomic_agents/context/system_prompt_generator.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-agents/atomic_agents/utils/__init__.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-agents/atomic_agents/utils/format_tool_message.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-agents/atomic_agents/utils/token_counter.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-agents/tests/base/test_base_tool.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-agents/tests/connectors/mcp/test_mcp_definition_service.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-agents/tests/connectors/mcp/test_mcp_factory.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-agents/tests/connectors/mcp/test_schema_transformer.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-agents/tests/context/test_chat_history.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-agents/tests/context/test_system_prompt_generator.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-agents/tests/files/audio_sample.mp3 +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-agents/tests/files/image_sample.jpg +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-agents/tests/files/pdf_sample.pdf +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-agents/tests/utils/test_format_tool_message.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-agents/tests/utils/test_token_counter.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-assembler/README.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-assembler/atomic_assembler/__init__.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-assembler/atomic_assembler/app.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-assembler/atomic_assembler/color_utils.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-assembler/atomic_assembler/constants.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-assembler/atomic_assembler/main.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-assembler/atomic_assembler/screens/atomic_tool_explorer.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-assembler/atomic_assembler/screens/file_explorer.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-assembler/atomic_assembler/screens/main_menu.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-assembler/atomic_assembler/screens/tool_info_screen.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-assembler/atomic_assembler/utils.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-assembler/atomic_assembler/widgets/confirmation_modal.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-assembler/atomic_assembler/widgets/generic_list.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-assembler/atomic_assembler/widgets/gradient_title.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-assembler/atomic_assembler/widgets/icon_selection_list.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-assembler/atomic_assembler/widgets/menu.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-assembler/atomic_assembler/widgets/new_item_input.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-assembler/atomic_assembler/widgets/tool_info_display.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/basic-multimodal/README.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/basic-multimodal/basic_multimodal/main.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/basic-multimodal/pyproject.toml +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/basic-multimodal/test_images/nutrition_label_1.png +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/basic-multimodal/test_images/nutrition_label_2.jpg +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/basic-pdf-analysis/README.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/basic-pdf-analysis/basic_pdf_analysis/main.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/basic-pdf-analysis/pyproject.toml +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/basic-pdf-analysis/test_media/pdf_sample.pdf +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/deep-research/README.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/deep-research/deep_research/agents/choice_agent.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/deep-research/deep_research/agents/qa_agent.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/deep-research/deep_research/agents/query_agent.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/deep-research/deep_research/config.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/deep-research/deep_research/context_providers.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/deep-research/deep_research/main.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/deep-research/deep_research/tools/searxng_search.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/deep-research/deep_research/tools/webpage_scraper.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/deep-research/mermaid.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/deep-research/pyproject.toml +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/dspy-integration/README.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/dspy-integration/dspy_integration/__init__.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/dspy-integration/dspy_integration/bridge.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/dspy-integration/dspy_integration/domain/__init__.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/dspy-integration/dspy_integration/domain/datasets.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/dspy-integration/dspy_integration/domain/evaluation.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/dspy-integration/dspy_integration/domain/models.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/dspy-integration/dspy_integration/main.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/dspy-integration/dspy_integration/presentation/__init__.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/dspy-integration/dspy_integration/presentation/console.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/dspy-integration/dspy_integration/schemas.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/dspy-integration/dspy_integration/stages/__init__.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/dspy-integration/dspy_integration/stages/stage1_dspy.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/dspy-integration/dspy_integration/stages/stage2_atomic.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/dspy-integration/dspy_integration/stages/stage3_combined.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/dspy-integration/pyproject.toml +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/fastapi-memory/README.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/fastapi-memory/fastapi_memory/__init__.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/fastapi-memory/fastapi_memory/client.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/fastapi-memory/fastapi_memory/lib/__init__.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/fastapi-memory/fastapi_memory/lib/agents/__init__.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/fastapi-memory/fastapi_memory/lib/agents/chat_agent.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/fastapi-memory/fastapi_memory/lib/config.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/fastapi-memory/fastapi_memory/lib/schemas.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/fastapi-memory/fastapi_memory/main.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/fastapi-memory/pyproject.toml +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/fastapi-memory/test_api.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/hooks-example/README.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/hooks-example/hooks_example/main.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/hooks-example/pyproject.toml +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/mcp-agent/README.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/mcp-agent/example-client/example_client/main.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/mcp-agent/example-client/example_client/main_fastapi.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/mcp-agent/example-client/example_client/main_http.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/mcp-agent/example-client/example_client/main_sse.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/mcp-agent/example-client/example_client/main_stdio.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/mcp-agent/example-client/example_client/main_stdio_async.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/mcp-agent/example-client/pyproject.toml +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/mcp-agent/example-mcp-server/README.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/mcp-agent/example-mcp-server/demo_tools.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/mcp-agent/example-mcp-server/example_mcp_server/__init__.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/mcp-agent/example-mcp-server/example_mcp_server/interfaces/__init__.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/mcp-agent/example-mcp-server/example_mcp_server/interfaces/prompt.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/mcp-agent/example-mcp-server/example_mcp_server/interfaces/resource.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/mcp-agent/example-mcp-server/example_mcp_server/interfaces/tool.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/mcp-agent/example-mcp-server/example_mcp_server/prompts/sample_prompts.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/mcp-agent/example-mcp-server/example_mcp_server/resources/__init__.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/mcp-agent/example-mcp-server/example_mcp_server/resources/sample_resources.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/mcp-agent/example-mcp-server/example_mcp_server/server.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/mcp-agent/example-mcp-server/example_mcp_server/server_http.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/mcp-agent/example-mcp-server/example_mcp_server/server_sse.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/mcp-agent/example-mcp-server/example_mcp_server/server_stdio.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/mcp-agent/example-mcp-server/example_mcp_server/services/__init__.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/mcp-agent/example-mcp-server/example_mcp_server/services/prompt_service.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/mcp-agent/example-mcp-server/example_mcp_server/services/resource_service.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/mcp-agent/example-mcp-server/example_mcp_server/services/tool_service.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/mcp-agent/example-mcp-server/example_mcp_server/tools/__init__.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/mcp-agent/example-mcp-server/example_mcp_server/tools/add_numbers.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/mcp-agent/example-mcp-server/example_mcp_server/tools/batch_operations.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/mcp-agent/example-mcp-server/example_mcp_server/tools/divide_numbers.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/mcp-agent/example-mcp-server/example_mcp_server/tools/multiply_numbers.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/mcp-agent/example-mcp-server/example_mcp_server/tools/subtract_numbers.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/mcp-agent/example-mcp-server/pyproject.toml +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/nested-multimodal/README.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/nested-multimodal/nested_multimodal/main.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/nested-multimodal/pyproject.toml +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/nested-multimodal/test_images/nutrition_label_1.png +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/orchestration-agent/README.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/orchestration-agent/orchestration_agent/orchestrator.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/orchestration-agent/orchestration_agent/tools/calculator.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/orchestration-agent/orchestration_agent/tools/searxng_search.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/orchestration-agent/pyproject.toml +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/progressive-disclosure/README.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/progressive-disclosure/progressive_disclosure/__init__.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/progressive-disclosure/progressive_disclosure/agents/__init__.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/progressive-disclosure/progressive_disclosure/agents/orchestrator_agent.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/progressive-disclosure/progressive_disclosure/agents/tool_finder_agent.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/progressive-disclosure/progressive_disclosure/main.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/progressive-disclosure/progressive_disclosure/registry/__init__.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/progressive-disclosure/progressive_disclosure/registry/tool_registry.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/progressive-disclosure/progressive_disclosure/tools/__init__.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/progressive-disclosure/progressive_disclosure/tools/search_tools.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/progressive-disclosure/pyproject.toml +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/progressive-disclosure/servers/data_server/data_server/__init__.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/progressive-disclosure/servers/data_server/data_server/server.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/progressive-disclosure/servers/data_server/pyproject.toml +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/progressive-disclosure/servers/math_server/math_server/__init__.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/progressive-disclosure/servers/math_server/math_server/server.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/progressive-disclosure/servers/math_server/pyproject.toml +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/progressive-disclosure/servers/text_server/pyproject.toml +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/progressive-disclosure/servers/text_server/text_server/__init__.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/progressive-disclosure/servers/text_server/text_server/server.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/quickstart/README.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/quickstart/pyproject.toml +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/quickstart/quickstart/1_0_basic_chatbot.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/quickstart/quickstart/1_1_basic_chatbot_streaming.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/quickstart/quickstart/1_2_basic_chatbot_async_streaming.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/quickstart/quickstart/2_basic_custom_chatbot.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/quickstart/quickstart/3_0_basic_custom_chatbot_with_custom_schema.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/quickstart/quickstart/3_1_basic_custom_chatbot_with_custom_schema_streaming.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/quickstart/quickstart/4_basic_chatbot_different_providers.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/quickstart/quickstart/5_custom_system_role_for_reasoning_models.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/quickstart/quickstart/6_0_asynchronous_processing.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/quickstart/quickstart/6_1_asynchronous_processing_streaming.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/rag-chatbot/.gitignore +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/rag-chatbot/README.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/rag-chatbot/pyproject.toml +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/rag-chatbot/rag_chatbot/agents/qa_agent.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/rag-chatbot/rag_chatbot/agents/query_agent.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/rag-chatbot/rag_chatbot/config.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/rag-chatbot/rag_chatbot/context_providers.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/rag-chatbot/rag_chatbot/main.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/rag-chatbot/rag_chatbot/services/__init__.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/rag-chatbot/rag_chatbot/services/base.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/rag-chatbot/rag_chatbot/services/chroma_db.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/rag-chatbot/rag_chatbot/services/factory.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/rag-chatbot/rag_chatbot/services/qdrant_db.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/web-search-agent/README.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/web-search-agent/pyproject.toml +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/web-search-agent/web_search_agent/agents/query_agent.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/web-search-agent/web_search_agent/agents/question_answering_agent.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/web-search-agent/web_search_agent/main.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/web-search-agent/web_search_agent/tools/searxng_search.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/youtube-summarizer/README.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/youtube-summarizer/pyproject.toml +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/youtube-summarizer/youtube_summarizer/agent.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/youtube-summarizer/youtube_summarizer/main.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/youtube-summarizer/youtube_summarizer/tools/youtube_transcript_scraper.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/youtube-to-recipe/README.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/youtube-to-recipe/pyproject.toml +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/youtube-to-recipe/youtube_to_recipe/agent.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/youtube-to-recipe/youtube_to_recipe/main.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/youtube-to-recipe/youtube_to_recipe/tools/youtube_transcript_scraper.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-forge/README.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-forge/guides/tool_structure.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-forge/tools/bocha_search/.coveragerc +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-forge/tools/bocha_search/README.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-forge/tools/bocha_search/pyproject.toml +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-forge/tools/bocha_search/requirements.txt +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-forge/tools/bocha_search/tests/test_bocha_search.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-forge/tools/bocha_search/tool/bocha_search.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-forge/tools/calculator/.coveragerc +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-forge/tools/calculator/README.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-forge/tools/calculator/pyproject.toml +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-forge/tools/calculator/requirements.txt +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-forge/tools/calculator/tests/test_calculator.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-forge/tools/calculator/tool/calculator.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-forge/tools/searxng_search/.coveragerc +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-forge/tools/searxng_search/README.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-forge/tools/searxng_search/pyproject.toml +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-forge/tools/searxng_search/pytest.ini +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-forge/tools/searxng_search/requirements.txt +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-forge/tools/searxng_search/tests/test_searxng_search.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-forge/tools/searxng_search/tool/searxng_search.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-forge/tools/tavily_search/.coveragerc +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-forge/tools/tavily_search/README.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-forge/tools/tavily_search/pyproject.toml +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-forge/tools/tavily_search/requirements.txt +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-forge/tools/tavily_search/tests/test_tavily_seach.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-forge/tools/tavily_search/tool/tavily_search.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-forge/tools/webpage_scraper/README.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-forge/tools/webpage_scraper/pyproject.toml +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-forge/tools/webpage_scraper/requirements.txt +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-forge/tools/webpage_scraper/tests/conftest.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-forge/tools/webpage_scraper/tests/test_webpage_scraper.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-forge/tools/webpage_scraper/tool/webpage_scraper.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-forge/tools/youtube_transcript_scraper/.coveragerc +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-forge/tools/youtube_transcript_scraper/README.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-forge/tools/youtube_transcript_scraper/pyproject.toml +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-forge/tools/youtube_transcript_scraper/requirements.txt +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-forge/tools/youtube_transcript_scraper/tests/test_youtube_transcript_scraper.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-forge/tools/youtube_transcript_scraper/tool/youtube_transcript_scraper.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/build_and_deploy.ps1 +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/claude-plugin/atomic-agents/.claude-plugin/plugin.json +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/claude-plugin/atomic-agents/CHANGELOG.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/claude-plugin/atomic-agents/LICENSE +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/claude-plugin/atomic-agents/README.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/claude-plugin/atomic-agents/agents/atomic-architect.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/claude-plugin/atomic-agents/agents/atomic-explorer.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/claude-plugin/atomic-agents/agents/atomic-reviewer.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/claude-plugin/atomic-agents/agents/schema-designer.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/claude-plugin/atomic-agents/commands/atomic-agent.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/claude-plugin/atomic-agents/commands/atomic-create.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/claude-plugin/atomic-agents/commands/atomic-tool.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/claude-plugin/atomic-agents/skills/atomic-agents/SKILL.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/claude-plugin/atomic-agents/skills/atomic-agents/examples/basic-agent.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/claude-plugin/atomic-agents/skills/atomic-context/SKILL.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/claude-plugin/atomic-agents/skills/atomic-context/examples/rag-context.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/claude-plugin/atomic-agents/skills/atomic-prompts/SKILL.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/claude-plugin/atomic-agents/skills/atomic-schemas/SKILL.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/claude-plugin/atomic-agents/skills/atomic-schemas/examples/common-schemas.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/claude-plugin/atomic-agents/skills/atomic-structure/SKILL.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/claude-plugin/atomic-agents/skills/atomic-tools/SKILL.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/claude-plugin/atomic-agents/skills/atomic-tools/examples/api-tool.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/docs/.nojekyll +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/docs/Makefile +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/docs/_static/logo.png +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/docs/api/agents.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/docs/api/context.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/docs/api/index.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/docs/api/utils.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/docs/conf.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/docs/contributing.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/docs/examples/index.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/docs/examples/mcp_agent.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/docs/guides/cookbook.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/docs/guides/deployment.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/docs/guides/error-handling.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/docs/guides/faq.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/docs/guides/hooks.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/docs/guides/index.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/docs/guides/logging.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/docs/guides/memory.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/docs/guides/orchestration.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/docs/guides/performance.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/docs/guides/quickstart.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/docs/guides/security.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/docs/guides/testing.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/docs/guides/tools.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/docs/index.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/docs/make.bat +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/greptile.json +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/guides/DEV_GUIDE.md +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/pytest.ini +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/requirements.txt +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/scripts/generate_llms_files.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/scripts/sync_version.py +0 -0
- {atomic_agents-2.7.3 → atomic_agents-2.7.4}/setup.py +0 -0
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: atomic-agents
|
|
3
|
-
Version: 2.7.
|
|
3
|
+
Version: 2.7.4
|
|
4
4
|
Summary: A versatile framework for creating and managing intelligent agents.
|
|
5
5
|
Project-URL: Homepage, https://github.com/BrainBlend-AI/atomic-agents
|
|
6
6
|
Project-URL: Repository, https://github.com/BrainBlend-AI/atomic-agents
|
|
@@ -321,6 +321,10 @@ For a complete list of examples, see the [examples directory](/atomic-examples/)
|
|
|
321
321
|
|
|
322
322
|
## 🚀 Version 2.0 Released!
|
|
323
323
|
|
|
324
|
+
[](https://www.youtube.com/watch?v=ro-pM2bPmr0)
|
|
325
|
+
|
|
326
|
+
[**Watch: What's New in Atomic Agents V2.0**](https://www.youtube.com/watch?v=ro-pM2bPmr0)
|
|
327
|
+
|
|
324
328
|
**Atomic Agents v2.0 is here with major improvements!** This release includes breaking changes that significantly improve the developer experience:
|
|
325
329
|
|
|
326
330
|
### Key Changes in v2.0:
|
|
@@ -290,6 +290,10 @@ For a complete list of examples, see the [examples directory](/atomic-examples/)
|
|
|
290
290
|
|
|
291
291
|
## 🚀 Version 2.0 Released!
|
|
292
292
|
|
|
293
|
+
[](https://www.youtube.com/watch?v=ro-pM2bPmr0)
|
|
294
|
+
|
|
295
|
+
[**Watch: What's New in Atomic Agents V2.0**](https://www.youtube.com/watch?v=ro-pM2bPmr0)
|
|
296
|
+
|
|
293
297
|
**Atomic Agents v2.0 is here with major improvements!** This release includes breaking changes that significantly improve the developer experience:
|
|
294
298
|
|
|
295
299
|
### Key Changes in v2.0:
|
|
@@ -6,8 +6,10 @@ Atomic Agents - A modular framework for building AI agents.
|
|
|
6
6
|
from .agents.atomic_agent import AtomicAgent, AgentConfig, BasicChatInputSchema, BasicChatOutputSchema
|
|
7
7
|
from .base import BaseIOSchema, BaseTool, BaseToolConfig
|
|
8
8
|
|
|
9
|
-
# Version info
|
|
10
|
-
|
|
9
|
+
# Version info - read from pyproject.toml via package metadata
|
|
10
|
+
from importlib.metadata import version as _version
|
|
11
|
+
|
|
12
|
+
__version__ = _version("atomic-agents")
|
|
11
13
|
|
|
12
14
|
__all__ = [
|
|
13
15
|
"AtomicAgent",
|
{atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-agents/atomic_agents/agents/atomic_agent.py
RENAMED
|
@@ -249,6 +249,19 @@ class AtomicAgent[InputSchema: BaseIOSchema, OutputSchema: BaseIOSchema]:
|
|
|
249
249
|
self.messages = self._build_system_messages()
|
|
250
250
|
self.messages += self.history.get_history()
|
|
251
251
|
|
|
252
|
+
def _get_completion_kwargs(self) -> Dict[str, Any]:
|
|
253
|
+
"""
|
|
254
|
+
Build kwargs for Instructor completion calls.
|
|
255
|
+
|
|
256
|
+
Instructor defaults `strict=True`, which forces enum fields to receive enum
|
|
257
|
+
instances instead of allowing Pydantic's normal coercion from strings. We
|
|
258
|
+
default to `strict=None` here so the output schema's own Pydantic behavior
|
|
259
|
+
applies unless callers explicitly override it via `model_api_parameters`.
|
|
260
|
+
"""
|
|
261
|
+
completion_kwargs = dict(self.model_api_parameters)
|
|
262
|
+
completion_kwargs.setdefault("strict", None)
|
|
263
|
+
return completion_kwargs
|
|
264
|
+
|
|
252
265
|
def _build_tools_definition(self) -> Optional[List[Dict[str, Any]]]:
|
|
253
266
|
"""
|
|
254
267
|
Build the tools definition that Instructor sends for TOOLS mode.
|
|
@@ -443,7 +456,7 @@ class AtomicAgent[InputSchema: BaseIOSchema, OutputSchema: BaseIOSchema]:
|
|
|
443
456
|
messages=self.messages,
|
|
444
457
|
model=self.model,
|
|
445
458
|
response_model=self.output_schema,
|
|
446
|
-
**self.
|
|
459
|
+
**self._get_completion_kwargs(),
|
|
447
460
|
)
|
|
448
461
|
self.history.add_message(self.assistant_role, response)
|
|
449
462
|
self._prepare_messages()
|
|
@@ -477,18 +490,20 @@ class AtomicAgent[InputSchema: BaseIOSchema, OutputSchema: BaseIOSchema]:
|
|
|
477
490
|
model=self.model,
|
|
478
491
|
messages=self.messages,
|
|
479
492
|
response_model=self.output_schema,
|
|
480
|
-
**self.
|
|
493
|
+
**self._get_completion_kwargs(),
|
|
481
494
|
stream=True,
|
|
482
495
|
)
|
|
483
496
|
|
|
497
|
+
last_response = None
|
|
484
498
|
for partial_response in response_stream:
|
|
499
|
+
last_response = partial_response
|
|
485
500
|
yield partial_response
|
|
486
501
|
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
502
|
+
if last_response:
|
|
503
|
+
full_response_content = self.output_schema(**last_response.model_dump())
|
|
504
|
+
self.history.add_message(self.assistant_role, full_response_content)
|
|
505
|
+
self._prepare_messages()
|
|
506
|
+
return full_response_content
|
|
492
507
|
|
|
493
508
|
async def run_async(self, user_input: Optional[InputSchema] = None) -> OutputSchema:
|
|
494
509
|
"""
|
|
@@ -513,7 +528,7 @@ class AtomicAgent[InputSchema: BaseIOSchema, OutputSchema: BaseIOSchema]:
|
|
|
513
528
|
self._prepare_messages()
|
|
514
529
|
|
|
515
530
|
response = await self.client.chat.completions.create(
|
|
516
|
-
model=self.model, messages=self.messages, response_model=self.output_schema, **self.
|
|
531
|
+
model=self.model, messages=self.messages, response_model=self.output_schema, **self._get_completion_kwargs()
|
|
517
532
|
)
|
|
518
533
|
|
|
519
534
|
self.history.add_message(self.assistant_role, response)
|
|
@@ -542,7 +557,7 @@ class AtomicAgent[InputSchema: BaseIOSchema, OutputSchema: BaseIOSchema]:
|
|
|
542
557
|
model=self.model,
|
|
543
558
|
messages=self.messages,
|
|
544
559
|
response_model=self.output_schema,
|
|
545
|
-
**self.
|
|
560
|
+
**self._get_completion_kwargs(),
|
|
546
561
|
stream=True,
|
|
547
562
|
)
|
|
548
563
|
|
{atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-agents/atomic_agents/context/chat_history.py
RENAMED
|
@@ -204,12 +204,12 @@ class ChatHistory:
|
|
|
204
204
|
"""
|
|
205
205
|
return self.current_turn_id
|
|
206
206
|
|
|
207
|
-
def delete_turn_id(self, turn_id:
|
|
207
|
+
def delete_turn_id(self, turn_id: str):
|
|
208
208
|
"""
|
|
209
209
|
Delete messages from the history by its turn ID.
|
|
210
210
|
|
|
211
211
|
Args:
|
|
212
|
-
turn_id (
|
|
212
|
+
turn_id (str): The turn ID of the message to delete.
|
|
213
213
|
|
|
214
214
|
Returns:
|
|
215
215
|
str: A success message with the deleted turn ID.
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import pytest
|
|
2
2
|
from unittest.mock import Mock, call, patch
|
|
3
|
+
from enum import Enum
|
|
3
4
|
from pydantic import BaseModel, Field
|
|
5
|
+
from pydantic import ValidationError
|
|
4
6
|
import instructor
|
|
5
7
|
from atomic_agents import (
|
|
6
8
|
BaseIOSchema,
|
|
@@ -148,6 +150,73 @@ def test_initialization_without_max_tokens(mock_instructor, mock_history, mock_s
|
|
|
148
150
|
assert agent.model_api_parameters["max_tokens"] == 1024
|
|
149
151
|
|
|
150
152
|
|
|
153
|
+
def test_run_uses_pydantic_default_strictness_for_enum_output(mock_history, mock_system_prompt_generator):
|
|
154
|
+
class Topic(Enum):
|
|
155
|
+
FOOD = "food"
|
|
156
|
+
OTHER = "other"
|
|
157
|
+
|
|
158
|
+
class EnumOutputSchema(BaseIOSchema):
|
|
159
|
+
"""Output schema with an enum field for validation tests."""
|
|
160
|
+
|
|
161
|
+
topic: Topic = Field(...)
|
|
162
|
+
|
|
163
|
+
enum_instructor = Mock(spec=instructor.Instructor)
|
|
164
|
+
enum_instructor.chat = Mock()
|
|
165
|
+
enum_instructor.chat.completions = Mock()
|
|
166
|
+
|
|
167
|
+
def mock_create(*args, **kwargs):
|
|
168
|
+
return kwargs["response_model"].model_validate({"topic": "food"}, strict=kwargs["strict"])
|
|
169
|
+
|
|
170
|
+
enum_instructor.chat.completions.create.side_effect = mock_create
|
|
171
|
+
|
|
172
|
+
config = AgentConfig(
|
|
173
|
+
client=enum_instructor,
|
|
174
|
+
model="gpt-5-mini",
|
|
175
|
+
history=mock_history,
|
|
176
|
+
system_prompt_generator=mock_system_prompt_generator,
|
|
177
|
+
)
|
|
178
|
+
agent = AtomicAgent[BasicChatInputSchema, EnumOutputSchema](config)
|
|
179
|
+
|
|
180
|
+
result = agent.run()
|
|
181
|
+
|
|
182
|
+
assert result.topic is Topic.FOOD
|
|
183
|
+
assert enum_instructor.chat.completions.create.call_args.kwargs["strict"] is None
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
def test_run_respects_explicit_strict_override_for_enum_output(mock_history, mock_system_prompt_generator):
|
|
187
|
+
class Topic(Enum):
|
|
188
|
+
FOOD = "food"
|
|
189
|
+
OTHER = "other"
|
|
190
|
+
|
|
191
|
+
class EnumOutputSchema(BaseIOSchema):
|
|
192
|
+
"""Output schema with an enum field for validation tests."""
|
|
193
|
+
|
|
194
|
+
topic: Topic = Field(...)
|
|
195
|
+
|
|
196
|
+
enum_instructor = Mock(spec=instructor.Instructor)
|
|
197
|
+
enum_instructor.chat = Mock()
|
|
198
|
+
enum_instructor.chat.completions = Mock()
|
|
199
|
+
|
|
200
|
+
def mock_create(*args, **kwargs):
|
|
201
|
+
return kwargs["response_model"].model_validate({"topic": "food"}, strict=kwargs["strict"])
|
|
202
|
+
|
|
203
|
+
enum_instructor.chat.completions.create.side_effect = mock_create
|
|
204
|
+
|
|
205
|
+
config = AgentConfig(
|
|
206
|
+
client=enum_instructor,
|
|
207
|
+
model="gpt-5-mini",
|
|
208
|
+
history=mock_history,
|
|
209
|
+
system_prompt_generator=mock_system_prompt_generator,
|
|
210
|
+
model_api_parameters={"strict": True},
|
|
211
|
+
)
|
|
212
|
+
agent = AtomicAgent[BasicChatInputSchema, EnumOutputSchema](config)
|
|
213
|
+
|
|
214
|
+
with pytest.raises(ValidationError):
|
|
215
|
+
agent.run()
|
|
216
|
+
|
|
217
|
+
assert enum_instructor.chat.completions.create.call_args.kwargs["strict"] is True
|
|
218
|
+
|
|
219
|
+
|
|
151
220
|
def test_initialization_system_role_equals_developer(mock_instructor, mock_history, mock_system_prompt_generator):
|
|
152
221
|
config = AgentConfig(
|
|
153
222
|
client=mock_instructor,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-agents/atomic_agents/base/base_io_schema.py
RENAMED
|
File without changes
|
|
File without changes
|
{atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-agents/atomic_agents/base/base_resource.py
RENAMED
|
File without changes
|
|
File without changes
|
{atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-agents/atomic_agents/connectors/__init__.py
RENAMED
|
File without changes
|
{atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-agents/atomic_agents/connectors/mcp/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-agents/atomic_agents/utils/format_tool_message.py
RENAMED
|
File without changes
|
{atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-agents/atomic_agents/utils/token_counter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-agents/tests/connectors/mcp/test_mcp_factory.py
RENAMED
|
File without changes
|
|
File without changes
|
{atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-agents/tests/context/test_chat_history.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-agents/tests/utils/test_format_tool_message.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-assembler/atomic_assembler/color_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-assembler/atomic_assembler/screens/main_menu.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-assembler/atomic_assembler/widgets/menu.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/basic-pdf-analysis/pyproject.toml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/deep-research/deep_research/config.py
RENAMED
|
File without changes
|
|
File without changes
|
{atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/deep-research/deep_research/main.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/fastapi-memory/fastapi_memory/client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/fastapi-memory/fastapi_memory/main.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/hooks-example/hooks_example/main.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/mcp-agent/example-client/pyproject.toml
RENAMED
|
File without changes
|
{atomic_agents-2.7.3 → atomic_agents-2.7.4}/atomic-examples/mcp-agent/example-mcp-server/README.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|