webagents 0.2.0__tar.gz → 0.2.2__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.
- {webagents-0.2.0 → webagents-0.2.2}/.github/workflows/docs.yml +1 -1
- {webagents-0.2.0 → webagents-0.2.2}/PKG-INFO +33 -9
- {webagents-0.2.0 → webagents-0.2.2}/README.md +15 -8
- {webagents-0.2.0 → webagents-0.2.2}/docs/quickstart.md +4 -0
- webagents-0.2.2/docs/skills/ecosystem/crewai.md +263 -0
- webagents-0.2.2/docs/skills/ecosystem/database.md +67 -0
- webagents-0.2.2/docs/skills/ecosystem/google.md +225 -0
- webagents-0.2.2/docs/skills/ecosystem/index.md +204 -0
- webagents-0.2.2/docs/skills/ecosystem/mongodb.md +68 -0
- webagents-0.2.2/docs/skills/ecosystem/n8n.md +62 -0
- webagents-0.2.2/docs/skills/ecosystem/x_com.md +65 -0
- webagents-0.2.2/docs/skills/ecosystem/zapier.md +62 -0
- {webagents-0.2.0 → webagents-0.2.2}/docs/skills/overview.md +2 -2
- {webagents-0.2.0 → webagents-0.2.2}/docs/stylesheets/extra.css +26 -0
- {webagents-0.2.0 → webagents-0.2.2}/mkdocs.yml +24 -6
- {webagents-0.2.0 → webagents-0.2.2}/pyproject.toml +20 -1
- webagents-0.2.2/requirements-ecosystem.txt +17 -0
- webagents-0.2.2/requirements.txt +41 -0
- webagents-0.2.2/tests/test_crewai_skill.py +243 -0
- webagents-0.2.2/tests/test_mongodb_skill.py +543 -0
- webagents-0.2.2/tests/test_n8n_skill.py +394 -0
- webagents-0.2.2/tests/test_supabase_skill.py +462 -0
- webagents-0.2.2/tests/test_x_com.py +332 -0
- webagents-0.2.2/tests/test_zapier_skill.py +412 -0
- webagents-0.2.2/webagents/agents/skills/ecosystem/crewai/__init__.py +3 -0
- webagents-0.2.2/webagents/agents/skills/ecosystem/crewai/skill.py +158 -0
- webagents-0.2.2/webagents/agents/skills/ecosystem/database/__init__.py +3 -0
- webagents-0.2.2/webagents/agents/skills/ecosystem/database/skill.py +522 -0
- webagents-0.2.2/webagents/agents/skills/ecosystem/mongodb/__init__.py +3 -0
- webagents-0.2.2/webagents/agents/skills/ecosystem/mongodb/skill.py +428 -0
- webagents-0.2.2/webagents/agents/skills/ecosystem/n8n/README.md +287 -0
- webagents-0.2.2/webagents/agents/skills/ecosystem/n8n/__init__.py +3 -0
- webagents-0.2.2/webagents/agents/skills/ecosystem/n8n/skill.py +341 -0
- webagents-0.2.2/webagents/agents/skills/ecosystem/x_com/README.md +401 -0
- webagents-0.2.2/webagents/agents/skills/ecosystem/x_com/__init__.py +3 -0
- webagents-0.2.2/webagents/agents/skills/ecosystem/x_com/skill.py +1048 -0
- webagents-0.2.2/webagents/agents/skills/ecosystem/zapier/README.md +363 -0
- webagents-0.2.2/webagents/agents/skills/ecosystem/zapier/__init__.py +3 -0
- webagents-0.2.2/webagents/agents/skills/ecosystem/zapier/skill.py +337 -0
- webagents-0.2.0/.readthedocs.yaml +0 -23
- webagents-0.2.0/.vscode/launch.json +0 -87
- webagents-0.2.0/TODO.md +0 -22
- webagents-0.2.0/docs/CNAME +0 -1
- webagents-0.2.0/docs/skills/ecosystem/crewai.md +0 -35
- webagents-0.2.0/docs/skills/ecosystem/database.md +0 -36
- webagents-0.2.0/docs/skills/ecosystem/google.md +0 -39
- webagents-0.2.0/docs/skills/ecosystem/n8n.md +0 -35
- webagents-0.2.0/docs/skills/ecosystem/zapier.md +0 -38
- webagents-0.2.0/tests/integration/README.md +0 -223
- webagents-0.2.0/tests/integration/env.example +0 -44
- webagents-0.2.0/tests/skills/core/README.md +0 -155
- webagents-0.2.0/webagents/agents/skills/ecosystem/crewai/__init__.py +0 -1
- webagents-0.2.0/webagents/agents/skills/ecosystem/database/__init__.py +0 -1
- webagents-0.2.0/webagents/server/interfaces/__init__.py +0 -0
- webagents-0.2.0/webagents/utils/__init__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/.github/workflows/ci.yml +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/.github/workflows/publish.yml +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/.gitignore +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/.vscode/settings.json +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/CONTRIBUTING.md +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/LICENSE +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/RELEASE.md +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/docs/agent/endpoints.md +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/docs/agent/handoffs.md +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/docs/agent/hooks.md +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/docs/agent/lifecycle.md +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/docs/agent/overview.md +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/docs/agent/prompts.md +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/docs/agent/skills.md +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/docs/agent/tools.md +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/docs/assets/Circle_Icon_W.png +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/docs/assets/Robutler_Logo_300.png +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/docs/assets/Robutler_Logo_Full.png +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/docs/assets/Robutler_OG_Card_B.png +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/docs/assets/Robutler_OG_Card_Nvidia_Yel.png +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/docs/assets/robutler-logo.svg +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/docs/assets/robutler_logo.png +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/docs/blog/.authors.yml +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/docs/blog/index.md +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/docs/developers/contributing.md +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/docs/developers/development.md +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/docs/dynamic-agents.md +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/docs/gen_ref_pages.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/docs/index.md +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/docs/javascripts/mathjax.js +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/docs/license.md +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/docs/requirements.txt +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/docs/server-architecture.md +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/docs/server.md +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/docs/skills/core/llm.md +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/docs/skills/core/mcp.md +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/docs/skills/core/memory.md +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/docs/skills/custom.md +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/docs/skills/ecosystem/filesystem.md +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/docs/skills/platform/auth.md +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/docs/skills/platform/discovery.md +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/docs/skills/platform/files.md +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/docs/skills/platform/kv.md +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/docs/skills/platform/nli.md +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/docs/skills/platform/notifications.md +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/docs/skills/platform/payments.md +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/examples/minimal_quickstart.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/examples/server_demo.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/examples/simple_demo.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/pytest.ini +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/tests/__init__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/tests/agents/core/test_base_agent_http.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/tests/agents/core/test_base_agent_init.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/tests/agents/core/test_base_agent_quick.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/tests/agents/core/test_base_agent_scopes.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/tests/agents/core/test_http_capabilities_integration.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/tests/fixtures/__init__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/tests/integration/__init__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/tests/integration/integration_config.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/tests/integration/openai_integration_config.md +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/tests/integration/test_discovery_skill_integration.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/tests/integration/test_dynamic_agents_integration.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/tests/integration/test_external_tools_integration.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/tests/integration/test_integration_litellm.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/tests/integration/test_integration_openai.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/tests/integration/test_payment_skill_integration.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/tests/run_http_tests.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/tests/server/__init__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/tests/server/conftest.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/tests/server/test_dynamic_agents.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/tests/server/test_http_server_integration.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/tests/server/test_models.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/tests/server/test_monitoring.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/tests/server/test_server_core.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/tests/server/test_server_streaming.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/tests/server/test_streaming_compliance.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/tests/server/test_tool_execution.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/tests/skills/core/conftest.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/tests/skills/core/mcp_test_config.json +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/tests/skills/core/test_mcp_skill.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/tests/skills/core/test_mcp_skill_backup.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/tests/test_auth_skill.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/tests/test_basic_agent.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/tests/test_decorators.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/tests/test_discovery_skill.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/tests/test_litellm_skill.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/tests/test_long_term_memory_skill.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/tests/test_memory_skills.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/tests/test_nli_skill.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/tests/test_payment_skill.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/tests/test_planner_skill.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/tests/test_prompt_decorator.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/tests/test_vector_memory_skill.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/tests/test_webagents_storage_skill.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/__init__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/__main__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/__init__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/core/__init__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/core/base_agent.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/core/handoffs.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/handoffs/__init__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/interfaces/__init__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/lifecycle/__init__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/__init__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/base.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/core/__init__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/core/guardrails/__init__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/core/llm/__init__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/core/llm/anthropic/__init__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/core/llm/litellm/__init__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/core/llm/litellm/skill.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/core/llm/openai/__init__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/core/llm/xai/__init__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/core/mcp/README.md +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/core/mcp/__init__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/core/mcp/skill.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/core/memory/__init__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/core/memory/long_term_memory/__init__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/core/memory/long_term_memory/memory_skill.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/core/memory/short_term_memory/__init__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/core/memory/short_term_memory/skill.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/core/memory/vector_memory/skill.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/core/planning/__init__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/core/planning/planner.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/ecosystem/__init__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/ecosystem/filesystem/__init__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/ecosystem/google/__init__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/ecosystem/google/calendar/__init__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/ecosystem/google/calendar/skill.py +0 -0
- {webagents-0.2.0/webagents/agents/skills/ecosystem/n8n → webagents-0.2.2/webagents/agents/skills/ecosystem/openai_agents}/__init__.py +0 -0
- {webagents-0.2.0/webagents/agents/skills/ecosystem/openai_agents → webagents-0.2.2/webagents/agents/skills/ecosystem/web}/__init__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/robutler/__init__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/robutler/auth/README.md +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/robutler/auth/__init__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/robutler/auth/skill.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/robutler/crm/__init__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/robutler/crm/skill.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/robutler/discovery/README.md +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/robutler/discovery/__init__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/robutler/discovery/skill.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/robutler/kv/__init__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/robutler/kv/skill.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/robutler/message_history/__init__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/robutler/message_history/skill.py +0 -0
- {webagents-0.2.0/webagents/agents/skills/ecosystem/web → webagents-0.2.2/webagents/agents/skills/robutler/messages}/__init__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/robutler/nli/__init__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/robutler/nli/skill.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/robutler/notifications/__init__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/robutler/notifications/skill.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/robutler/payments/__init__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/robutler/payments/exceptions.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/robutler/payments/skill.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/robutler/storage/__init__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/robutler/storage/files/__init__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/robutler/storage/files/skill.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/robutler/storage/json/__init__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/robutler/storage/json/skill.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/robutler/storage/kv/skill.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/skills/robutler/storage.py +0 -0
- {webagents-0.2.0/webagents/agents/skills/ecosystem/zapier → webagents-0.2.2/webagents/agents/tools}/__init__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/agents/tools/decorators.py +0 -0
- {webagents-0.2.0/webagents/agents/skills/robutler/messages → webagents-0.2.2/webagents/agents/tracing}/__init__.py +0 -0
- {webagents-0.2.0/webagents/agents/tools → webagents-0.2.2/webagents/agents/workflows}/__init__.py +0 -0
- {webagents-0.2.0/webagents/agents/tracing → webagents-0.2.2/webagents/scripts}/__init__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/server/__init__.py +0 -0
- {webagents-0.2.0/webagents/agents/workflows → webagents-0.2.2/webagents/server/context}/__init__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/server/context/context_vars.py +0 -0
- {webagents-0.2.0/webagents/scripts → webagents-0.2.2/webagents/server/core}/__init__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/server/core/app.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/server/core/middleware.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/server/core/models.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/server/core/monitoring.py +0 -0
- {webagents-0.2.0/webagents/server/context → webagents-0.2.2/webagents/server/endpoints}/__init__.py +0 -0
- {webagents-0.2.0/webagents/server/core → webagents-0.2.2/webagents/server/interfaces}/__init__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/server/middleware.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/server/models.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/server/monitoring.py +0 -0
- {webagents-0.2.0/webagents/server/endpoints → webagents-0.2.2/webagents/utils}/__init__.py +0 -0
- {webagents-0.2.0 → webagents-0.2.2}/webagents/utils/logging.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: webagents
|
3
|
-
Version: 0.2.
|
3
|
+
Version: 0.2.2
|
4
4
|
Summary: Foundation framework for the Web of Agents - build, serve and monetize AI agents
|
5
5
|
Author: Awesome Opensource Contributors and Robutler Team
|
6
6
|
License: MIT License
|
@@ -36,14 +36,31 @@ Requires-Dist: pydantic>=2.7.0
|
|
36
36
|
Requires-Dist: python-dotenv>=1.0.0
|
37
37
|
Requires-Dist: tiktoken>=0.5.0
|
38
38
|
Requires-Dist: uvicorn>=0.23.0
|
39
|
+
Provides-Extra: crewai
|
40
|
+
Requires-Dist: crewai>=0.1.0; extra == 'crewai'
|
39
41
|
Provides-Extra: dev
|
40
42
|
Requires-Dist: black>=23.0.0; extra == 'dev'
|
41
43
|
Requires-Dist: mypy>=1.0.0; extra == 'dev'
|
42
44
|
Requires-Dist: pytest-asyncio>=0.21.0; extra == 'dev'
|
43
45
|
Requires-Dist: pytest>=7.0.0; extra == 'dev'
|
44
46
|
Requires-Dist: ruff>=0.0.270; extra == 'dev'
|
47
|
+
Provides-Extra: ecosystem
|
48
|
+
Requires-Dist: crewai>=0.1.0; extra == 'ecosystem'
|
49
|
+
Requires-Dist: httpx>=0.24.0; extra == 'ecosystem'
|
50
|
+
Requires-Dist: psycopg2-binary>=2.9.0; extra == 'ecosystem'
|
51
|
+
Requires-Dist: pymongo>=4.0.0; extra == 'ecosystem'
|
52
|
+
Requires-Dist: supabase>=2.0.0; extra == 'ecosystem'
|
53
|
+
Requires-Dist: tweepy>=4.14.0; extra == 'ecosystem'
|
45
54
|
Provides-Extra: examples
|
46
55
|
Requires-Dist: openai-agents>=0.0.16; extra == 'examples'
|
56
|
+
Provides-Extra: mongodb
|
57
|
+
Requires-Dist: pymongo>=4.0.0; extra == 'mongodb'
|
58
|
+
Provides-Extra: postgresql
|
59
|
+
Requires-Dist: psycopg2-binary>=2.9.0; extra == 'postgresql'
|
60
|
+
Provides-Extra: supabase
|
61
|
+
Requires-Dist: supabase>=2.0.0; extra == 'supabase'
|
62
|
+
Provides-Extra: twitter
|
63
|
+
Requires-Dist: tweepy>=4.14.0; extra == 'twitter'
|
47
64
|
Description-Content-Type: text/markdown
|
48
65
|
|
49
66
|
# WebAgents - core framework for the Web of Agents
|
@@ -71,7 +88,14 @@ With WebAgents delegation, your agent is as powerful as the whole ecosystem, and
|
|
71
88
|
## 📦 Installation
|
72
89
|
|
73
90
|
```bash
|
91
|
+
# Core framework
|
74
92
|
pip install webagents
|
93
|
+
|
94
|
+
# With ecosystem skills (MongoDB, Supabase, CrewAI, X.com, etc.)
|
95
|
+
pip install webagents[ecosystem]
|
96
|
+
|
97
|
+
# Individual skills
|
98
|
+
pip install webagents[mongodb,crewai,twitter]
|
75
99
|
```
|
76
100
|
|
77
101
|
## 🏃♂️ Quick Start
|
@@ -203,7 +227,7 @@ export OPENAI_API_KEY="your-openai-key"
|
|
203
227
|
export WEBAGENTS_API_KEY="your-webagents-key"
|
204
228
|
```
|
205
229
|
|
206
|
-
Get your WEBAGENTS_API_KEY at https://robutler.ai
|
230
|
+
Get your WEBAGENTS_API_KEY at https://robutler.ai/developer
|
207
231
|
|
208
232
|
|
209
233
|
## 🌐 Web of Agents
|
@@ -216,23 +240,23 @@ WebAgents enables dynamic real-time orchestration where each AI agent acts as a
|
|
216
240
|
|
217
241
|
## 📚 Documentation
|
218
242
|
|
219
|
-
- **[Full Documentation](https://
|
220
|
-
- **[Skills Framework](https://
|
221
|
-
- **[Agent Architecture](https://
|
222
|
-
- **[Custom Skills](https://
|
243
|
+
- **[Full Documentation](https://robutler.ai/webagents)** - Complete guides and API reference
|
244
|
+
- **[Skills Framework](https://robutler.ai/webagents/skills/overview/)** - Deep dive into modular capabilities
|
245
|
+
- **[Agent Architecture](https://robutler.ai/webagents/agent/overview/)** - Understand agent communication
|
246
|
+
- **[Custom Skills](https://robutler.ai/webagents/skills/custom/)** - Build your own capabilities
|
223
247
|
|
224
248
|
## 🤝 Contributing
|
225
249
|
|
226
|
-
We welcome contributions! Please see our [Contributing Guide](https://
|
250
|
+
We welcome contributions! Please see our [Contributing Guide](https://robutler.ai/webagents/developers/contributing/) for details.
|
227
251
|
|
228
252
|
## 📄 License
|
229
253
|
|
230
|
-
This project is licensed under the MIT License - see the [LICENSE](https://
|
254
|
+
This project is licensed under the MIT License - see the [LICENSE](https://robutler.ai/webagents/license/) file for details.
|
231
255
|
|
232
256
|
## 🆘 Support
|
233
257
|
|
234
258
|
- **GitHub Issues**: [Report bugs and request features](https://github.com/robutlerai/webagents/issues)
|
235
|
-
- **Documentation**: [
|
259
|
+
- **Documentation**: [robutler.ai/webagents](https://robutler.ai/webagents)
|
236
260
|
- **Community**: Join our Discord server for discussions and support
|
237
261
|
|
238
262
|
---
|
@@ -23,7 +23,14 @@ With WebAgents delegation, your agent is as powerful as the whole ecosystem, and
|
|
23
23
|
## 📦 Installation
|
24
24
|
|
25
25
|
```bash
|
26
|
+
# Core framework
|
26
27
|
pip install webagents
|
28
|
+
|
29
|
+
# With ecosystem skills (MongoDB, Supabase, CrewAI, X.com, etc.)
|
30
|
+
pip install webagents[ecosystem]
|
31
|
+
|
32
|
+
# Individual skills
|
33
|
+
pip install webagents[mongodb,crewai,twitter]
|
27
34
|
```
|
28
35
|
|
29
36
|
## 🏃♂️ Quick Start
|
@@ -155,7 +162,7 @@ export OPENAI_API_KEY="your-openai-key"
|
|
155
162
|
export WEBAGENTS_API_KEY="your-webagents-key"
|
156
163
|
```
|
157
164
|
|
158
|
-
Get your WEBAGENTS_API_KEY at https://robutler.ai
|
165
|
+
Get your WEBAGENTS_API_KEY at https://robutler.ai/developer
|
159
166
|
|
160
167
|
|
161
168
|
## 🌐 Web of Agents
|
@@ -168,23 +175,23 @@ WebAgents enables dynamic real-time orchestration where each AI agent acts as a
|
|
168
175
|
|
169
176
|
## 📚 Documentation
|
170
177
|
|
171
|
-
- **[Full Documentation](https://
|
172
|
-
- **[Skills Framework](https://
|
173
|
-
- **[Agent Architecture](https://
|
174
|
-
- **[Custom Skills](https://
|
178
|
+
- **[Full Documentation](https://robutler.ai/webagents)** - Complete guides and API reference
|
179
|
+
- **[Skills Framework](https://robutler.ai/webagents/skills/overview/)** - Deep dive into modular capabilities
|
180
|
+
- **[Agent Architecture](https://robutler.ai/webagents/agent/overview/)** - Understand agent communication
|
181
|
+
- **[Custom Skills](https://robutler.ai/webagents/skills/custom/)** - Build your own capabilities
|
175
182
|
|
176
183
|
## 🤝 Contributing
|
177
184
|
|
178
|
-
We welcome contributions! Please see our [Contributing Guide](https://
|
185
|
+
We welcome contributions! Please see our [Contributing Guide](https://robutler.ai/webagents/developers/contributing/) for details.
|
179
186
|
|
180
187
|
## 📄 License
|
181
188
|
|
182
|
-
This project is licensed under the MIT License - see the [LICENSE](https://
|
189
|
+
This project is licensed under the MIT License - see the [LICENSE](https://robutler.ai/webagents/license/) file for details.
|
183
190
|
|
184
191
|
## 🆘 Support
|
185
192
|
|
186
193
|
- **GitHub Issues**: [Report bugs and request features](https://github.com/robutlerai/webagents/issues)
|
187
|
-
- **Documentation**: [
|
194
|
+
- **Documentation**: [robutler.ai/webagents](https://robutler.ai/webagents)
|
188
195
|
- **Community**: Join our Discord server for discussions and support
|
189
196
|
|
190
197
|
---
|
@@ -9,7 +9,11 @@ Get started with WebAgents in 5 minutes - create, run, and serve your first AI a
|
|
9
9
|
## Installation
|
10
10
|
|
11
11
|
```bash
|
12
|
+
# Core framework
|
12
13
|
pip install webagents
|
14
|
+
|
15
|
+
# With ecosystem skills (optional)
|
16
|
+
pip install webagents[ecosystem]
|
13
17
|
```
|
14
18
|
|
15
19
|
## Create Your First Agent
|
@@ -0,0 +1,263 @@
|
|
1
|
+
# CrewAI Skill
|
2
|
+
|
3
|
+
Simplified CrewAI integration for multi-agent orchestration. Execute pre-configured crews of specialized AI agents with collaborative workflows.
|
4
|
+
|
5
|
+
## Features
|
6
|
+
|
7
|
+
- **Pre-configured Crews**: Set up crews during skill initialization
|
8
|
+
- **Single Tool Execution**: One simple tool to run configured crews
|
9
|
+
- **Multi-Agent Orchestration**: Specialized AI agents with defined roles
|
10
|
+
- **Process Management**: Sequential and hierarchical workflow execution
|
11
|
+
- **Input-driven Execution**: Provide inputs to drive crew workflows
|
12
|
+
- **No Dependencies**: Simplified architecture with no external skill dependencies
|
13
|
+
|
14
|
+
## Quick Setup
|
15
|
+
|
16
|
+
### Prerequisites
|
17
|
+
|
18
|
+
Install CrewAI:
|
19
|
+
|
20
|
+
```bash
|
21
|
+
pip install crewai
|
22
|
+
```
|
23
|
+
|
24
|
+
### Option 1: Using CrewAI Crew Object (Recommended)
|
25
|
+
|
26
|
+
```python
|
27
|
+
from webagents.agents import BaseAgent
|
28
|
+
from webagents.agents.skills.ecosystem.crewai import CrewAISkill
|
29
|
+
from crewai import Agent, Task, Crew, Process
|
30
|
+
|
31
|
+
# Create CrewAI agents and tasks using native API
|
32
|
+
researcher = Agent(
|
33
|
+
role='Senior Researcher',
|
34
|
+
goal='Uncover groundbreaking technologies in AI for year 2024',
|
35
|
+
backstory='Driven by curiosity, you explore and share the latest innovations.',
|
36
|
+
verbose=True
|
37
|
+
)
|
38
|
+
|
39
|
+
research_task = Task(
|
40
|
+
description='Identify the next big trend in {topic} with pros and cons.',
|
41
|
+
expected_output='A 3-paragraph report on emerging {topic} technologies.',
|
42
|
+
agent=researcher
|
43
|
+
)
|
44
|
+
|
45
|
+
# Form the crew
|
46
|
+
crew = Crew(
|
47
|
+
agents=[researcher],
|
48
|
+
tasks=[research_task],
|
49
|
+
process=Process.sequential,
|
50
|
+
verbose=True
|
51
|
+
)
|
52
|
+
|
53
|
+
# Create agent with CrewAI crew object
|
54
|
+
agent = BaseAgent(
|
55
|
+
name="research-agent",
|
56
|
+
model="openai/gpt-4o",
|
57
|
+
skills={
|
58
|
+
"crewai": CrewAISkill(crew) # Pass Crew object directly
|
59
|
+
}
|
60
|
+
)
|
61
|
+
```
|
62
|
+
|
63
|
+
### Option 2: Using Configuration Dictionary
|
64
|
+
|
65
|
+
```python
|
66
|
+
from webagents.agents import BaseAgent
|
67
|
+
from webagents.agents.skills.ecosystem.crewai import CrewAISkill
|
68
|
+
|
69
|
+
# Define your crew configuration
|
70
|
+
crew_config = {
|
71
|
+
'agents': [
|
72
|
+
{
|
73
|
+
'role': 'Senior Researcher',
|
74
|
+
'goal': 'Uncover groundbreaking technologies in AI for year 2024',
|
75
|
+
'backstory': 'Driven by curiosity, you explore and share the latest innovations.',
|
76
|
+
'verbose': True
|
77
|
+
}
|
78
|
+
],
|
79
|
+
'tasks': [
|
80
|
+
{
|
81
|
+
'description': 'Identify the next big trend in {topic} with pros and cons.',
|
82
|
+
'expected_output': 'A 3-paragraph report on emerging {topic} technologies.',
|
83
|
+
'agent_index': 0
|
84
|
+
}
|
85
|
+
],
|
86
|
+
'process': 'sequential',
|
87
|
+
'verbose': True
|
88
|
+
}
|
89
|
+
|
90
|
+
# Create agent with configured CrewAI skill
|
91
|
+
agent = BaseAgent(
|
92
|
+
name="research-agent",
|
93
|
+
model="openai/gpt-4o",
|
94
|
+
skills={
|
95
|
+
"crewai": CrewAISkill(crew_config)
|
96
|
+
}
|
97
|
+
)
|
98
|
+
```
|
99
|
+
|
100
|
+
## Usage
|
101
|
+
|
102
|
+
### Core Tool
|
103
|
+
|
104
|
+
**Tool**: `crewai_run(inputs)`
|
105
|
+
|
106
|
+
Execute the configured CrewAI crew with the provided inputs.
|
107
|
+
|
108
|
+
```python
|
109
|
+
# Example usage via LLM
|
110
|
+
messages = [{
|
111
|
+
'role': 'user',
|
112
|
+
'content': 'Research AI Agents and their applications'
|
113
|
+
}]
|
114
|
+
response = await agent.run(messages=messages)
|
115
|
+
```
|
116
|
+
|
117
|
+
The LLM will automatically call `crewai_run({'topic': 'AI Agents'})` based on the crew configuration and user request.
|
118
|
+
|
119
|
+
## Use Case Example: Research Team
|
120
|
+
|
121
|
+
This example shows a complete research crew that analyzes topics and provides insights:
|
122
|
+
|
123
|
+
### Using CrewAI Objects (Recommended)
|
124
|
+
|
125
|
+
```python
|
126
|
+
from crewai import Agent, Task, Crew, Process
|
127
|
+
|
128
|
+
# Create specialized agents
|
129
|
+
researcher = Agent(
|
130
|
+
role='Senior Researcher',
|
131
|
+
goal='Conduct comprehensive research on specified topics',
|
132
|
+
backstory='You are an experienced researcher with access to latest information and analytical skills.'
|
133
|
+
)
|
134
|
+
|
135
|
+
analyst = Agent(
|
136
|
+
role='Data Analyst',
|
137
|
+
goal='Analyze research data and extract key insights',
|
138
|
+
backstory='You specialize in data analysis and pattern recognition.'
|
139
|
+
)
|
140
|
+
|
141
|
+
# Create sequential tasks
|
142
|
+
research_task = Task(
|
143
|
+
description='Research the current state of {topic} technology and market trends',
|
144
|
+
expected_output='Detailed research report with key findings',
|
145
|
+
agent=researcher
|
146
|
+
)
|
147
|
+
|
148
|
+
analysis_task = Task(
|
149
|
+
description='Analyze the research data and identify the top 3 opportunities in {topic}',
|
150
|
+
expected_output='Analysis report with ranked opportunities and recommendations',
|
151
|
+
agent=analyst
|
152
|
+
)
|
153
|
+
|
154
|
+
# Form the crew
|
155
|
+
research_crew = Crew(
|
156
|
+
agents=[researcher, analyst],
|
157
|
+
tasks=[research_task, analysis_task],
|
158
|
+
process=Process.sequential
|
159
|
+
)
|
160
|
+
|
161
|
+
# Initialize skill with crew
|
162
|
+
agent = BaseAgent(
|
163
|
+
name="research-agent",
|
164
|
+
model="openai/gpt-4o",
|
165
|
+
skills={
|
166
|
+
"crewai": CrewAISkill(research_crew)
|
167
|
+
}
|
168
|
+
)
|
169
|
+
```
|
170
|
+
|
171
|
+
### Using Configuration Dictionary
|
172
|
+
|
173
|
+
```python
|
174
|
+
research_crew_config = {
|
175
|
+
'agents': [
|
176
|
+
{
|
177
|
+
'role': 'Senior Researcher',
|
178
|
+
'goal': 'Conduct comprehensive research on specified topics',
|
179
|
+
'backstory': 'You are an experienced researcher with access to latest information and analytical skills.'
|
180
|
+
},
|
181
|
+
{
|
182
|
+
'role': 'Data Analyst',
|
183
|
+
'goal': 'Analyze research data and extract key insights',
|
184
|
+
'backstory': 'You specialize in data analysis and pattern recognition.'
|
185
|
+
}
|
186
|
+
],
|
187
|
+
'tasks': [
|
188
|
+
{
|
189
|
+
'description': 'Research the current state of {topic} technology and market trends',
|
190
|
+
'expected_output': 'Detailed research report with key findings',
|
191
|
+
'agent_index': 0
|
192
|
+
},
|
193
|
+
{
|
194
|
+
'description': 'Analyze the research data and identify the top 3 opportunities in {topic}',
|
195
|
+
'expected_output': 'Analysis report with ranked opportunities and recommendations',
|
196
|
+
'agent_index': 1
|
197
|
+
}
|
198
|
+
],
|
199
|
+
'process': 'sequential'
|
200
|
+
}
|
201
|
+
|
202
|
+
# Initialize skill with configuration
|
203
|
+
agent = BaseAgent(
|
204
|
+
name="research-agent",
|
205
|
+
model="openai/gpt-4o",
|
206
|
+
skills={
|
207
|
+
"crewai": CrewAISkill(research_crew_config)
|
208
|
+
}
|
209
|
+
)
|
210
|
+
```
|
211
|
+
|
212
|
+
### Example Interaction
|
213
|
+
|
214
|
+
```python
|
215
|
+
# User asks for research
|
216
|
+
messages = [{
|
217
|
+
'role': 'user',
|
218
|
+
'content': 'Research the latest developments in quantum computing and identify business opportunities'
|
219
|
+
}]
|
220
|
+
|
221
|
+
# The LLM automatically:
|
222
|
+
# 1. Recognizes this as a research request
|
223
|
+
# 2. Calls crewai_run({'topic': 'quantum computing'})
|
224
|
+
# 3. The researcher agent researches quantum computing trends
|
225
|
+
# 4. The analyst agent identifies top 3 business opportunities
|
226
|
+
# 5. Returns comprehensive analysis
|
227
|
+
|
228
|
+
response = await agent.run(messages=messages)
|
229
|
+
print(response)
|
230
|
+
```
|
231
|
+
|
232
|
+
## Configuration Reference
|
233
|
+
|
234
|
+
```python
|
235
|
+
crew_config = {
|
236
|
+
'agents': [
|
237
|
+
{
|
238
|
+
'role': 'Agent Role/Title', # Required
|
239
|
+
'goal': 'Agent primary objective', # Required
|
240
|
+
'backstory': 'Agent background', # Required
|
241
|
+
'verbose': True, # Optional
|
242
|
+
'allow_delegation': False # Optional
|
243
|
+
}
|
244
|
+
],
|
245
|
+
'tasks': [
|
246
|
+
{
|
247
|
+
'description': 'Task with {input_variable} placeholders', # Required
|
248
|
+
'expected_output': 'Expected deliverable format', # Optional
|
249
|
+
'agent_index': 0 # Optional, defaults to 0
|
250
|
+
}
|
251
|
+
],
|
252
|
+
'process': 'sequential', # 'sequential' or 'hierarchical'
|
253
|
+
'verbose': True # Optional, defaults to True
|
254
|
+
}
|
255
|
+
```
|
256
|
+
|
257
|
+
## Troubleshooting
|
258
|
+
|
259
|
+
**"No CrewAI crew configured"** - Initialize the skill with a valid crew configuration or Crew object
|
260
|
+
|
261
|
+
**"Inputs are required to run the crew"** - Ensure your tasks use input variables like `{topic}` that the LLM can populate
|
262
|
+
|
263
|
+
**"CrewAI execution failed"** - Check CrewAI installation: `pip install crewai`
|
@@ -0,0 +1,67 @@
|
|
1
|
+
# Supabase/PostgreSQL Skill
|
2
|
+
|
3
|
+
Minimalistic database integration for Supabase and PostgreSQL operations. Execute queries, manage data, and perform CRUD operations with secure credential storage.
|
4
|
+
|
5
|
+
## Features
|
6
|
+
|
7
|
+
- **Dual Database Support**: Works with both Supabase and PostgreSQL
|
8
|
+
- **SQL Query Execution**: Run parameterized SQL queries safely
|
9
|
+
- **CRUD Operations**: Create, Read, Update, Delete operations on tables
|
10
|
+
- **Secure Credentials**: Connection string storage
|
11
|
+
- **Per-User Isolation**: Each user has their own isolated database configuration
|
12
|
+
|
13
|
+
## Quick Setup
|
14
|
+
|
15
|
+
```python
|
16
|
+
from webagents.agents import BaseAgent
|
17
|
+
from webagents.agents.skills.ecosystem.database import SupabaseSkill
|
18
|
+
|
19
|
+
agent = BaseAgent(
|
20
|
+
name="database-agent",
|
21
|
+
model="openai/gpt-4o",
|
22
|
+
skills={
|
23
|
+
"database": SupabaseSkill() # Auto-resolves: auth, kv
|
24
|
+
}
|
25
|
+
)
|
26
|
+
```
|
27
|
+
|
28
|
+
Install dependencies:
|
29
|
+
```bash
|
30
|
+
pip install supabase psycopg2-binary
|
31
|
+
```
|
32
|
+
|
33
|
+
## Core Tools
|
34
|
+
|
35
|
+
### `supabase_setup(config)`
|
36
|
+
Configure database connection with Supabase or PostgreSQL credentials.
|
37
|
+
|
38
|
+
### `supabase_query(sql, params)`
|
39
|
+
Execute raw SQL queries with parameterization (PostgreSQL mode only).
|
40
|
+
|
41
|
+
### `supabase_table_ops(operation, table, data, filters)`
|
42
|
+
Perform CRUD operations: select, insert, update, delete.
|
43
|
+
|
44
|
+
### `supabase_status()`
|
45
|
+
Check database configuration and connection health.
|
46
|
+
|
47
|
+
## Usage Example
|
48
|
+
|
49
|
+
```python
|
50
|
+
# Setup database, create user, and query data
|
51
|
+
messages = [{
|
52
|
+
'role': 'user',
|
53
|
+
'content': 'Set up Supabase with URL https://myproject.supabase.co and my API key, then create a new user Alice Smith'
|
54
|
+
}]
|
55
|
+
response = await agent.run(messages=messages)
|
56
|
+
```
|
57
|
+
|
58
|
+
## Configuration
|
59
|
+
|
60
|
+
**Supabase**: `supabase_url`, `supabase_key`
|
61
|
+
**PostgreSQL**: Connection string or individual parameters (`host`, `port`, `database`, `user`, `password`)
|
62
|
+
|
63
|
+
## Troubleshooting
|
64
|
+
|
65
|
+
**"Database not configured"** - Run `supabase_setup()` with your credentials
|
66
|
+
**"Connection failed"** - Verify database server is accessible and credentials are correct
|
67
|
+
**"Permission denied"** - Check database user privileges and Row Level Security policies
|