test_package_exports.py 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. import agents
  2. import agency_swarm
  3. import agency_swarm.tools as agency_tools
  4. REQUIRED_TOP_LEVEL_AGENTS_EXPORTS = {
  5. "SDKAgent": "Agent",
  6. "SDKHandoff": "Handoff",
  7. "Runner": "Runner",
  8. "RunConfig": "RunConfig",
  9. "Tool": "Tool",
  10. "TResponseInputItem": "TResponseInputItem",
  11. "CustomTool": "CustomTool",
  12. "ToolSearchTool": "ToolSearchTool",
  13. "ToolOrigin": "ToolOrigin",
  14. "ToolOriginType": "ToolOriginType",
  15. "AgentToolInvocation": "AgentToolInvocation",
  16. "ModelProvider": "ModelProvider",
  17. "ModelTracing": "ModelTracing",
  18. "OpenAIResponsesModel": "OpenAIResponsesModel",
  19. "ImageGenerationTool": "ImageGenerationTool",
  20. "ToolsToFinalOutputResult": "ToolsToFinalOutputResult",
  21. }
  22. REQUIRED_TOOLS_AGENTS_EXPORTS = {
  23. "Tool": "Tool",
  24. "CustomTool": "CustomTool",
  25. "ToolSearchTool": "ToolSearchTool",
  26. "ToolOrigin": "ToolOrigin",
  27. "ToolOriginType": "ToolOriginType",
  28. "ImageGenerationTool": "ImageGenerationTool",
  29. "tool_namespace": "tool_namespace",
  30. }
  31. def test_all_declared_exports_resolve() -> None:
  32. for name in agency_swarm.__all__:
  33. assert hasattr(agency_swarm, name), name
  34. for name in agency_tools.__all__:
  35. assert hasattr(agency_tools, name), name
  36. def test_top_level_required_agents_exports_match_sdk() -> None:
  37. for export_name, agents_name in REQUIRED_TOP_LEVEL_AGENTS_EXPORTS.items():
  38. assert export_name in agency_swarm.__all__
  39. assert getattr(agency_swarm, export_name) is getattr(agents, agents_name)
  40. def test_tools_required_agents_exports_match_sdk() -> None:
  41. for export_name, agents_name in REQUIRED_TOOLS_AGENTS_EXPORTS.items():
  42. assert export_name in agency_tools.__all__
  43. assert getattr(agency_tools, export_name) is getattr(agents, agents_name)
  44. def test_local_agent_and_handoff_keep_sdk_aliases() -> None:
  45. assert agency_swarm.SDKAgent is agents.Agent
  46. assert agency_swarm.Agent is not agents.Agent
  47. assert agency_swarm.SDKHandoff is agents.Handoff
  48. assert agency_swarm.Handoff is agency_tools.Handoff
  49. assert agency_swarm.Handoff is not agents.Handoff
  50. assert agency_swarm.function_tool is agency_tools.function_tool
  51. assert agency_swarm.function_tool is not agents.function_tool