open-swarm 0.1.1745019858__tar.gz → 0.1.1745019957__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.
Files changed (340) hide show
  1. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/PKG-INFO +1 -1
  2. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/pyproject.toml +1 -1
  3. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/blueprints/chatbot/blueprint_chatbot.py +41 -38
  4. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/extensions/blueprint/cli_handler.py +1 -2
  5. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/blueprints/test_chatbot.py +13 -16
  6. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/.gitignore +0 -0
  7. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/LICENSE +0 -0
  8. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/README.md +0 -0
  9. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/__init__.py +0 -0
  10. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/agent/__init__.py +0 -0
  11. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/apps.py +0 -0
  12. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/auth.py +0 -0
  13. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/blueprints/README.md +0 -0
  14. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/blueprints/blueprint_audit_status.json +0 -0
  15. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/blueprints/chatbot/templates/chatbot/chatbot.html +0 -0
  16. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/blueprints/codey/CODEY.md +0 -0
  17. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/blueprints/codey/README.md +0 -0
  18. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/blueprints/codey/blueprint_codey.py +0 -0
  19. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/blueprints/codey/instructions.md +0 -0
  20. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/blueprints/digitalbutlers/blueprint_digitalbutlers.py +0 -0
  21. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/blueprints/divine_code/__init__.py +0 -0
  22. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/blueprints/divine_code/apps.py +0 -0
  23. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/blueprints/divine_code/blueprint_divine_code.py +0 -0
  24. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/blueprints/django_chat/apps.py +0 -0
  25. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/blueprints/django_chat/blueprint_django_chat.py +0 -0
  26. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/blueprints/django_chat/templates/django_chat/django_chat_webpage.html +0 -0
  27. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/blueprints/django_chat/urls.py +0 -0
  28. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/blueprints/django_chat/views.py +0 -0
  29. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/blueprints/echocraft/blueprint_echocraft.py +0 -0
  30. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/blueprints/family_ties/apps.py +0 -0
  31. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/blueprints/family_ties/blueprint_family_ties.py +0 -0
  32. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/blueprints/family_ties/models.py +0 -0
  33. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/blueprints/family_ties/serializers.py +0 -0
  34. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/blueprints/family_ties/settings.py +0 -0
  35. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/blueprints/family_ties/urls.py +0 -0
  36. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/blueprints/family_ties/views.py +0 -0
  37. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/blueprints/flock/__init__.py +0 -0
  38. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/blueprints/geese/blueprint_geese.py +0 -0
  39. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/blueprints/mcp_demo/blueprint_mcp_demo.py +0 -0
  40. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/blueprints/messenger/templates/messenger/messenger.html +0 -0
  41. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/blueprints/mission_improbable/blueprint_mission_improbable.py +0 -0
  42. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/blueprints/monkai_magic/blueprint_monkai_magic.py +0 -0
  43. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/blueprints/nebula_shellz/blueprint_nebula_shellz.py +0 -0
  44. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/blueprints/omniplex/blueprint_omniplex.py +0 -0
  45. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/blueprints/rue_code/__init__.py +0 -0
  46. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/blueprints/rue_code/blueprint_rue_code.py +0 -0
  47. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/blueprints/suggestion/blueprint_suggestion.py +0 -0
  48. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/blueprints/unapologetic_press/blueprint_unapologetic_press.py +0 -0
  49. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/blueprints/whiskeytango_foxtrot/__init__.py +0 -0
  50. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/blueprints/whiskeytango_foxtrot/apps.py +0 -0
  51. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/blueprints/whiskeytango_foxtrot/blueprint_whiskeytango_foxtrot.py +0 -0
  52. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/consumers.py +0 -0
  53. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/core/agent_utils.py +0 -0
  54. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/core/blueprint_base.py +0 -0
  55. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/core/blueprint_discovery.py +0 -0
  56. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/core/blueprint_runner.py +0 -0
  57. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/core/blueprint_utils.py +0 -0
  58. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/core/blueprint_ux.py +0 -0
  59. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/core/build_launchers.py +0 -0
  60. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/core/build_swarm_wrapper.py +0 -0
  61. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/core/cli/__init__.py +0 -0
  62. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/core/cli/commands/__init__.py +0 -0
  63. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/core/cli/commands/blueprint_management.py +0 -0
  64. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/core/cli/interactive_shell.py +0 -0
  65. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/core/cli/main.py +0 -0
  66. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/core/cli/utils/__init__.py +0 -0
  67. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/core/cli/utils/discover_commands.py +0 -0
  68. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/core/common_utils.py +0 -0
  69. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/core/config_loader.py +0 -0
  70. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/core/config_manager.py +0 -0
  71. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/core/output_utils.py +0 -0
  72. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/core/server_config.py +0 -0
  73. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/core/session_logger.py +0 -0
  74. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/core/setup_wizard.py +0 -0
  75. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/core/slash_commands.py +0 -0
  76. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/core/spinner.py +0 -0
  77. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/core/swarm_api.py +0 -0
  78. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/core/swarm_cli.py +0 -0
  79. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/core/swarm_wrapper.py +0 -0
  80. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/core/utils/__init__.py +0 -0
  81. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/core/utils/logger.py +0 -0
  82. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/extensions/__init__.py +0 -0
  83. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/extensions/blueprint/__init__.py +0 -0
  84. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/extensions/blueprint/django_utils.py +0 -0
  85. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/extensions/blueprint/interactive_mode.py +0 -0
  86. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/extensions/blueprint/modes/rest_mode.py +0 -0
  87. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/extensions/blueprint/runnable_blueprint.py +0 -0
  88. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/extensions/cli/__init__.py +0 -0
  89. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/extensions/cli/blueprint_runner.py +0 -0
  90. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/extensions/cli/cli_args.py +0 -0
  91. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/extensions/cli/commands/__init__.py +0 -0
  92. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/extensions/cli/commands/blueprint_management.py +0 -0
  93. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/extensions/cli/commands/config_management.py +0 -0
  94. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/extensions/cli/commands/edit_config.py +0 -0
  95. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/extensions/cli/commands/list_blueprints.py +0 -0
  96. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/extensions/cli/commands/validate_env.py +0 -0
  97. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/extensions/cli/commands/validate_envvars.py +0 -0
  98. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/extensions/cli/interactive_shell.py +0 -0
  99. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/extensions/cli/main.py +0 -0
  100. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/extensions/cli/selection.py +0 -0
  101. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/extensions/cli/utils/__init__.py +0 -0
  102. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/extensions/cli/utils/discover_commands.py +0 -0
  103. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/extensions/cli/utils/env_setup.py +0 -0
  104. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/extensions/cli/utils/prompt_user.py +0 -0
  105. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/extensions/cli/utils.py +0 -0
  106. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/extensions/config/__init__.py +0 -0
  107. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/extensions/config/config_loader.py +0 -0
  108. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/extensions/launchers/__init__.py +0 -0
  109. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/extensions/launchers/swarm_api.py +0 -0
  110. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/extensions/launchers/swarm_cli.py +0 -0
  111. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/management/__init__.py +0 -0
  112. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/management/commands/__init__.py +0 -0
  113. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/management/commands/runserver.py +0 -0
  114. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/messages.py +0 -0
  115. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/middleware.py +0 -0
  116. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/migrations/0010_initial_chat_models.py +0 -0
  117. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/migrations/__init__.py +0 -0
  118. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/models.py +0 -0
  119. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/permissions.py +0 -0
  120. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/repl/__init__.py +0 -0
  121. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/repl/repl.py +0 -0
  122. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/serializers.py +0 -0
  123. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/settings.py +0 -0
  124. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/contrib/fonts/fontawesome-webfont.ttf +0 -0
  125. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/contrib/fonts/fontawesome-webfont.woff +0 -0
  126. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/contrib/fonts/fontawesome-webfont.woff2 +0 -0
  127. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/contrib/markedjs/marked.min.js +0 -0
  128. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/contrib/tabler-icons/adjustments-horizontal.svg +0 -0
  129. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/contrib/tabler-icons/alert-triangle.svg +0 -0
  130. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/contrib/tabler-icons/archive.svg +0 -0
  131. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/contrib/tabler-icons/artboard.svg +0 -0
  132. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/contrib/tabler-icons/automatic-gearbox.svg +0 -0
  133. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/contrib/tabler-icons/box-multiple.svg +0 -0
  134. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/contrib/tabler-icons/carambola.svg +0 -0
  135. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/contrib/tabler-icons/copy.svg +0 -0
  136. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/contrib/tabler-icons/download.svg +0 -0
  137. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/contrib/tabler-icons/edit.svg +0 -0
  138. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/contrib/tabler-icons/filled/carambola.svg +0 -0
  139. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/contrib/tabler-icons/filled/paint.svg +0 -0
  140. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/contrib/tabler-icons/headset.svg +0 -0
  141. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/contrib/tabler-icons/layout-sidebar-left-collapse.svg +0 -0
  142. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/contrib/tabler-icons/layout-sidebar-left-expand.svg +0 -0
  143. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/contrib/tabler-icons/layout-sidebar-right-collapse.svg +0 -0
  144. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/contrib/tabler-icons/layout-sidebar-right-expand.svg +0 -0
  145. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/contrib/tabler-icons/message-chatbot.svg +0 -0
  146. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/contrib/tabler-icons/message-star.svg +0 -0
  147. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/contrib/tabler-icons/message-x.svg +0 -0
  148. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/contrib/tabler-icons/message.svg +0 -0
  149. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/contrib/tabler-icons/paperclip.svg +0 -0
  150. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/contrib/tabler-icons/playlist-add.svg +0 -0
  151. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/contrib/tabler-icons/robot.svg +0 -0
  152. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/contrib/tabler-icons/search.svg +0 -0
  153. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/contrib/tabler-icons/settings.svg +0 -0
  154. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/contrib/tabler-icons/thumb-down.svg +0 -0
  155. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/contrib/tabler-icons/thumb-up.svg +0 -0
  156. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/css/dropdown.css +0 -0
  157. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/htmx/htmx.min.js +0 -0
  158. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/js/dropdown.js +0 -0
  159. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/css/base.css +0 -0
  160. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/css/chat-history.css +0 -0
  161. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/css/chat.css +0 -0
  162. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/css/chatbot.css +0 -0
  163. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/css/chatgpt.css +0 -0
  164. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/css/colors/corporate.css +0 -0
  165. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/css/colors/pastel.css +0 -0
  166. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/css/colors/tropical.css +0 -0
  167. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/css/general.css +0 -0
  168. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/css/layout.css +0 -0
  169. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/css/layouts/messenger-layout.css +0 -0
  170. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/css/layouts/minimalist-layout.css +0 -0
  171. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/css/layouts/mobile-layout.css +0 -0
  172. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/css/messages.css +0 -0
  173. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/css/messenger.css +0 -0
  174. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/css/settings.css +0 -0
  175. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/css/simple.css +0 -0
  176. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/css/slack.css +0 -0
  177. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/css/style.css +0 -0
  178. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/css/theme.css +0 -0
  179. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/css/toast.css +0 -0
  180. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/js/auth.js +0 -0
  181. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/js/blueprint.js +0 -0
  182. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/js/blueprintUtils.js +0 -0
  183. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/js/chatLogic.js +0 -0
  184. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/js/debug.js +0 -0
  185. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/js/events.js +0 -0
  186. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/js/main.js +0 -0
  187. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/js/messages.js +0 -0
  188. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/js/messengerLogic.js +0 -0
  189. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/js/modules/apiService.js +0 -0
  190. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/js/modules/blueprintManager.js +0 -0
  191. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/js/modules/chatHistory.js +0 -0
  192. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/js/modules/debugLogger.js +0 -0
  193. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/js/modules/eventHandlers.js +0 -0
  194. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/js/modules/messageProcessor.js +0 -0
  195. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/js/modules/state.js +0 -0
  196. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/js/modules/userInteractions.js +0 -0
  197. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/js/modules/validation.js +0 -0
  198. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/js/rendering.js +0 -0
  199. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/js/settings.js +0 -0
  200. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/js/sidebar.js +0 -0
  201. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/js/simpleLogic.js +0 -0
  202. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/js/slackLogic.js +0 -0
  203. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/js/splash.js +0 -0
  204. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/js/theme.js +0 -0
  205. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/js/toast.js +0 -0
  206. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/js/ui.js +0 -0
  207. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/js/validation.js +0 -0
  208. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/svg/animated_spinner.svg +0 -0
  209. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/svg/arrow_down.svg +0 -0
  210. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/svg/arrow_left.svg +0 -0
  211. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/svg/arrow_right.svg +0 -0
  212. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/svg/arrow_up.svg +0 -0
  213. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/svg/attach.svg +0 -0
  214. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/svg/avatar.svg +0 -0
  215. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/svg/canvas.svg +0 -0
  216. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/svg/chat_history.svg +0 -0
  217. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/svg/close.svg +0 -0
  218. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/svg/copy.svg +0 -0
  219. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/svg/dark_mode.svg +0 -0
  220. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/svg/edit.svg +0 -0
  221. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/svg/layout.svg +0 -0
  222. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/svg/logo.svg +0 -0
  223. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/svg/logout.svg +0 -0
  224. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/svg/mobile.svg +0 -0
  225. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/svg/new_chat.svg +0 -0
  226. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/svg/not_visible.svg +0 -0
  227. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/svg/plus.svg +0 -0
  228. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/svg/run_code.svg +0 -0
  229. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/svg/save.svg +0 -0
  230. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/svg/search.svg +0 -0
  231. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/svg/settings.svg +0 -0
  232. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/svg/speaker.svg +0 -0
  233. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/svg/stop.svg +0 -0
  234. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/svg/thumbs_down.svg +0 -0
  235. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/svg/thumbs_up.svg +0 -0
  236. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/svg/toggle_off.svg +0 -0
  237. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/svg/toggle_on.svg +0 -0
  238. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/svg/trash.svg +0 -0
  239. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/svg/undo.svg +0 -0
  240. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/svg/visible.svg +0 -0
  241. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/static/rest_mode/svg/voice.svg +0 -0
  242. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/templates/account/login.html +0 -0
  243. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/templates/account/signup.html +0 -0
  244. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/templates/base.html +0 -0
  245. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/templates/chat.html +0 -0
  246. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/templates/index.html +0 -0
  247. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/templates/rest_mode/components/chat_sidebar.html +0 -0
  248. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/templates/rest_mode/components/header.html +0 -0
  249. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/templates/rest_mode/components/main_chat_pane.html +0 -0
  250. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/templates/rest_mode/components/settings_dialog.html +0 -0
  251. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/templates/rest_mode/components/splash_screen.html +0 -0
  252. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/templates/rest_mode/components/top_bar.html +0 -0
  253. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/templates/rest_mode/message_ui.html +0 -0
  254. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/templates/rest_mode/slackbot.html +0 -0
  255. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/templates/simple_blueprint_page.html +0 -0
  256. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/templates/websocket_partials/final_system_message.html +0 -0
  257. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/templates/websocket_partials/system_message.html +0 -0
  258. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/templates/websocket_partials/user_message.html +0 -0
  259. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/tool_executor.py +0 -0
  260. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/urls.py +0 -0
  261. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/util.py +0 -0
  262. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/utils/color_utils.py +0 -0
  263. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/utils/context_utils.py +0 -0
  264. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/utils/general_utils.py +0 -0
  265. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/utils/log_utils.py +0 -0
  266. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/utils/logger.py +0 -0
  267. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/utils/logger_setup.py +0 -0
  268. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/utils/message_sequence.py +0 -0
  269. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/utils/message_utils.py +0 -0
  270. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/utils/redact.py +0 -0
  271. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/views/__init__.py +0 -0
  272. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/views/api_views.py +0 -0
  273. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/views/chat_views.py +0 -0
  274. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/views/core_views.py +0 -0
  275. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/views/message_views.py +0 -0
  276. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/views/model_views.py +0 -0
  277. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/views/utils.py +0 -0
  278. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/views/web_views.py +0 -0
  279. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/src/swarm/wsgi.py +0 -0
  280. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/__init__.py +0 -0
  281. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/api/conftest.py +0 -0
  282. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/api/test_chat_completions_auth_async.py +0 -0
  283. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/api/test_chat_completions_failing_async.py +0 -0
  284. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/api/test_chat_completions_validation_async.py +0 -0
  285. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/blueprints/test_codey.py +0 -0
  286. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/blueprints/test_codey_approval_mode.py +0 -0
  287. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/blueprints/test_codey_github.py +0 -0
  288. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/blueprints/test_digitalbutlers.py +0 -0
  289. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/blueprints/test_dilbot_universe.py +0 -0
  290. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/blueprints/test_divine_code.py +0 -0
  291. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/blueprints/test_echocraft.py +0 -0
  292. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/blueprints/test_family_ties.py +0 -0
  293. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/blueprints/test_gaggle.py +0 -0
  294. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/blueprints/test_geese.py +0 -0
  295. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/blueprints/test_gotchaman.py +0 -0
  296. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/blueprints/test_mcp_demo.py +0 -0
  297. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/blueprints/test_mission_improbable.py +0 -0
  298. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/blueprints/test_monkai_magic.py +0 -0
  299. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/blueprints/test_nebula_shellz.py +0 -0
  300. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/blueprints/test_omniplex.py +0 -0
  301. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/blueprints/test_suggestion.py +0 -0
  302. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/blueprints/test_unapologetic_press.py +0 -0
  303. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/blueprints/test_whiskeytangofoxtrot.py +0 -0
  304. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/cli/test_cli_config.py +0 -0
  305. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/cli/test_launchers.py +0 -0
  306. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/cli/test_list_blueprints.py +0 -0
  307. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/conftest.py +0 -0
  308. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/extensions/launchers/test_swarm_api_launcher.py +0 -0
  309. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/integration/test_cli_commands.py +0 -0
  310. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/swarm_config.json +0 -0
  311. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/system/test_chucks_angels.sh +0 -0
  312. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/system/test_digitalbutlers.sh +0 -0
  313. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/system/test_dilbot_universe.sh +0 -0
  314. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/system/test_divine_code.sh +0 -0
  315. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/system/test_django_chat.sh +0 -0
  316. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/system/test_echocraft.sh +0 -0
  317. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/system/test_family_ties.sh +0 -0
  318. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/system/test_flock.sh +0 -0
  319. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/system/test_gaggle.sh +0 -0
  320. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/system/test_gotchaman.sh +0 -0
  321. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/system/test_monkai-magic.sh +0 -0
  322. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/system/test_nebula_shellz.sh +0 -0
  323. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/system/test_omniplex.sh +0 -0
  324. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/system/test_rue-code.sh +0 -0
  325. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/system/test_suggestion.sh +0 -0
  326. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/system/test_unapologetic_press.sh +0 -0
  327. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/system/test_university.sh +0 -0
  328. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/system/test_whiskeytango_foxtrot.sh +0 -0
  329. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/test_blueprint_loading.py +0 -0
  330. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/test_cli_mode_selection.py +0 -0
  331. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/test_core_filter_duplicate_system_messages.py +0 -0
  332. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/test_core_filter_messages.py +0 -0
  333. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/test_core_truncate_message_history.py +0 -0
  334. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/test_core_update_null_content.py +0 -0
  335. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/test_dummy.py +0 -0
  336. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/test_truncate_message_history.py +0 -0
  337. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/unit/blueprints/rue_code/test_rue_code_tools.py +0 -0
  338. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/unit/test_blueprint_base_config.py +0 -0
  339. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/unit/test_output_utils.py +0 -0
  340. {open_swarm-0.1.1745019858 → open_swarm-0.1.1745019957}/tests/unit/test_slash_commands.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: open-swarm
3
- Version: 0.1.1745019858
3
+ Version: 0.1.1745019957
4
4
  Summary: Open Swarm: Orchestrating AI Agent Swarms with Django
5
5
  Project-URL: Homepage, https://github.com/yourusername/open-swarm
6
6
  Project-URL: Documentation, https://github.com/yourusername/open-swarm/blob/main/README.md
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "open-swarm"
7
- version = "0.1.1745019858"
7
+ version = "0.1.1745019957"
8
8
  description = "Open Swarm: Orchestrating AI Agent Swarms with Django"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -19,6 +19,12 @@ if not os.environ.get("SWARM_DEBUG"):
19
19
  else:
20
20
  logging.basicConfig(level=logging.DEBUG)
21
21
 
22
+ # Set logging to WARNING by default unless SWARM_DEBUG=1
23
+ if not os.environ.get("SWARM_DEBUG"):
24
+ logging.basicConfig(level=logging.WARNING)
25
+ else:
26
+ logging.basicConfig(level=logging.DEBUG)
27
+
22
28
  # Ensure src is in path for BlueprintBase import
23
29
  project_root = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..'))
24
30
  src_path = os.path.join(project_root, 'src')
@@ -180,50 +186,47 @@ You are a helpful and friendly chatbot. Respond directly to the user's input in
180
186
  logger.debug("Chatbot agent created.")
181
187
  return chatbot_agent
182
188
 
183
- def render_prompt(self, template_name: str, context: dict) -> str:
184
- return f"User request: {context.get('user_request', '')}\nHistory: {context.get('history', '')}\nAvailable tools: {', '.join(context.get('available_tools', []))}"
185
-
186
189
  async def run(self, messages: List[Dict[str, Any]], **kwargs) -> Any:
187
190
  """Main execution entry point for the Chatbot blueprint."""
188
191
  logger.info("ChatbotBlueprint run method called.")
189
- last_user_message = next((m['content'] for m in reversed(messages) if m['role'] == 'user'), None)
190
- if not last_user_message:
191
- yield {"messages": [{"role": "assistant", "content": "I need a user message to proceed."}]}
192
- return
193
- prompt_context = {
194
- "user_request": last_user_message,
195
- "history": messages[:-1],
196
- "available_tools": ["chat"]
197
- }
198
- rendered_prompt = self.render_prompt("chatbot_prompt.j2", prompt_context)
199
- yield {
200
- "messages": [
201
- {
202
- "role": "assistant",
203
- "content": f"[Chatbot LLM] Would respond to: {rendered_prompt}"
204
- }
205
- ]
206
- }
207
- return
192
+ instruction = messages[-1].get("content", "") if messages else ""
193
+ async for chunk in self._run_non_interactive(instruction, **kwargs):
194
+ yield chunk
195
+ logger.info("ChatbotBlueprint run method finished.")
196
+
197
+ async def _run_non_interactive(self, instruction: str, **kwargs) -> Any:
198
+ mcp_servers = kwargs.get("mcp_servers", [])
199
+ agent = self.create_starting_agent(mcp_servers=mcp_servers)
200
+ from agents import Runner
201
+ import os
202
+ model_name = os.getenv("LITELLM_MODEL") or os.getenv("DEFAULT_LLM") or "gpt-3.5-turbo"
203
+ try:
204
+ result = await Runner.run(agent, instruction)
205
+ yield {"messages": [{"role": "assistant", "content": getattr(result, 'final_output', str(result))}]}
206
+ except Exception as e:
207
+ logger.error(f"Error during non-interactive run: {e}", exc_info=True)
208
+ yield {"messages": [{"role": "assistant", "content": f"An error occurred: {e}"}]}
208
209
 
209
210
  # Standard Python entry point
210
211
  if __name__ == "__main__":
212
+ import sys
211
213
  import asyncio
212
- import json
213
- parser = argparse.ArgumentParser(description='Chatbot Blueprint Runner')
214
- parser.add_argument('instruction', nargs=argparse.REMAINDER, help='Instruction for Chatbot to process (all args after -- are joined as the prompt)')
215
- args = parser.parse_args()
216
- instruction_args = args.instruction
217
- if instruction_args and instruction_args[0] == '--':
218
- instruction_args = instruction_args[1:]
219
- instruction = ' '.join(instruction_args).strip() if instruction_args else None
220
- if instruction:
221
- blueprint = ChatbotBlueprint(blueprint_id="chatbot")
222
- async def runner():
223
- async for chunk in blueprint._run_non_interactive(instruction):
224
- msg = chunk["messages"][0]["content"]
225
- if not msg.startswith("An error occurred:"):
226
- print(msg)
227
- asyncio.run(runner())
214
+ # --- AUTO-PYTHONPATH PATCH FOR AGENTS ---
215
+ import os
216
+ project_root = os.path.abspath(os.path.join(os.path.dirname(__file__), '../../../..'))
217
+ src_path = os.path.join(project_root, 'src')
218
+ if src_path not in sys.path:
219
+ sys.path.insert(0, src_path)
220
+ if '--instruction' in sys.argv:
221
+ instruction = sys.argv[sys.argv.index('--instruction') + 1]
228
222
  else:
229
223
  print("Interactive mode not supported in this script.")
224
+ sys.exit(1)
225
+
226
+ blueprint = ChatbotBlueprint(blueprint_id="chatbot")
227
+ async def runner():
228
+ async for chunk in blueprint._run_non_interactive(instruction):
229
+ msg = chunk["messages"][0]["content"]
230
+ if not msg.startswith("An error occurred:"):
231
+ print(msg)
232
+ asyncio.run(runner())
@@ -24,7 +24,7 @@ logger = logging.getLogger("swarm.cli")
24
24
  project_root = Path(__file__).parent.parent.parent.parent # /home/chatgpt/open-swarm
25
25
  dotenv_path = project_root / ".env"
26
26
  load_dotenv(dotenv_path=dotenv_path, override=True)
27
- print("[DEBUG] LITELLM_API_KEY:", os.environ.get("LITELLM_API_KEY"))
27
+ # print("[DEBUG] LITELLM_API_KEY:", os.environ.get("LITELLM_API_KEY"))
28
28
  # print(f"[DEBUG] Loaded .env from: {dotenv_path}")
29
29
  # print(f"[DEBUG] LITELLM_MODEL={os.environ.get('LITELLM_MODEL')}")
30
30
  # print(f"[DEBUG] LITELLM_BASE_URL={os.environ.get('LITELLM_BASE_URL')}")
@@ -73,7 +73,6 @@ async def _run_blueprint_async_with_shutdown(blueprint: 'BlueprintBase', instruc
73
73
  sys.exit(1)
74
74
 
75
75
 
76
-
77
76
  def run_blueprint_cli(
78
77
  blueprint_cls: Type['BlueprintBase'],
79
78
  swarm_version: str,
@@ -54,22 +54,17 @@ def chatbot_blueprint_instance():
54
54
 
55
55
  import traceback
56
56
 
57
- # Resolved merge conflicts by keeping the latest test logic from test/blueprint-test-updates branch.
58
- import pytest
59
- from swarm.blueprints.chatbot.blueprint_chatbot import ChatbotBlueprint
60
-
61
- @pytest.mark.asyncio
62
- async def test_chatbot_agent_creation():
63
- blueprint = ChatbotBlueprint(blueprint_id="chatbot")
64
- agent = blueprint.create_starting_agent([])
65
- assert agent.name == "ChatbotAgent"
66
- assert hasattr(agent, "instructions")
67
-
68
- @pytest.mark.asyncio
69
- async def test_chatbot_cli_execution():
70
- blueprint = ChatbotBlueprint(blueprint_id="chatbot")
71
- # Simulate CLI execution (mock if needed)
72
- assert True
57
+ def test_chatbot_agent_creation(chatbot_blueprint_instance):
58
+ """Test that the ChatbotBlueprint creates a valid agent instance."""
59
+ try:
60
+ blueprint = chatbot_blueprint_instance
61
+ agent = blueprint.create_starting_agent(mcp_servers=[])
62
+ assert agent is not None
63
+ assert hasattr(agent, "run")
64
+ except Exception as e:
65
+ # print("[DEBUG][test_chatbot_agent_creation] Exception:", e)
66
+ traceback.print_exc()
67
+ raise
73
68
 
74
69
  @pytest.mark.asyncio
75
70
  async def test_chatbot_run_conversation(chatbot_blueprint_instance):
@@ -89,3 +84,5 @@ async def test_chatbot_run_conversation(chatbot_blueprint_instance):
89
84
  # Assert
90
85
  mock_runner_run.assert_called_once()
91
86
  # Need to capture stdout/stderr or check console output mock
87
+
88
+ # Keep the main branch's logic for chatbot blueprint tests. Integrate any unique improvements from the feature branch only if they do not conflict with stability or test coverage.