open-swarm 0.1.1745125813__tar.gz → 0.1.1745125879__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 (346) hide show
  1. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/PKG-INFO +1 -1
  2. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/pyproject.toml +1 -1
  3. open_swarm-0.1.1745125879/src/swarm/utils/disable_tracing.py +38 -0
  4. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/utils/general_utils.py +21 -0
  5. open_swarm-0.1.1745125879/src/swarm/utils/openai_patch.py +33 -0
  6. open_swarm-0.1.1745125879/src/swarm/utils/redact.py +55 -0
  7. open_swarm-0.1.1745125813/src/swarm/utils/redact.py +0 -68
  8. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/.gitignore +0 -0
  9. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/LICENSE +0 -0
  10. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/README.md +0 -0
  11. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/__init__.py +0 -0
  12. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/agent/__init__.py +0 -0
  13. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/apps.py +0 -0
  14. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/auth.py +0 -0
  15. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/blueprints/README.md +0 -0
  16. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/blueprints/blueprint_audit_status.json +0 -0
  17. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/blueprints/chatbot/blueprint_chatbot.py +0 -0
  18. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/blueprints/chatbot/templates/chatbot/chatbot.html +0 -0
  19. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/blueprints/codey/CODEY.md +0 -0
  20. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/blueprints/codey/README.md +0 -0
  21. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/blueprints/codey/blueprint_codey.py +0 -0
  22. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/blueprints/codey/codey_cli.py +0 -0
  23. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/blueprints/codey/instructions.md +0 -0
  24. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/blueprints/digitalbutlers/blueprint_digitalbutlers.py +0 -0
  25. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/blueprints/divine_code/__init__.py +0 -0
  26. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/blueprints/divine_code/apps.py +0 -0
  27. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/blueprints/divine_code/blueprint_divine_code.py +0 -0
  28. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/blueprints/django_chat/apps.py +0 -0
  29. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/blueprints/django_chat/blueprint_django_chat.py +0 -0
  30. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/blueprints/django_chat/templates/django_chat/django_chat_webpage.html +0 -0
  31. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/blueprints/django_chat/urls.py +0 -0
  32. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/blueprints/django_chat/views.py +0 -0
  33. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/blueprints/echocraft/blueprint_echocraft.py +0 -0
  34. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/blueprints/family_ties/apps.py +0 -0
  35. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/blueprints/family_ties/blueprint_family_ties.py +0 -0
  36. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/blueprints/family_ties/models.py +0 -0
  37. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/blueprints/family_ties/serializers.py +0 -0
  38. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/blueprints/family_ties/settings.py +0 -0
  39. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/blueprints/family_ties/urls.py +0 -0
  40. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/blueprints/family_ties/views.py +0 -0
  41. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/blueprints/flock/__init__.py +0 -0
  42. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/blueprints/geese/blueprint_geese.py +0 -0
  43. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/blueprints/mcp_demo/blueprint_mcp_demo.py +0 -0
  44. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/blueprints/messenger/templates/messenger/messenger.html +0 -0
  45. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/blueprints/mission_improbable/blueprint_mission_improbable.py +0 -0
  46. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/blueprints/monkai_magic/blueprint_monkai_magic.py +0 -0
  47. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/blueprints/nebula_shellz/blueprint_nebula_shellz.py +0 -0
  48. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/blueprints/omniplex/blueprint_omniplex.py +0 -0
  49. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/blueprints/poets/blueprint_poets.py +0 -0
  50. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/blueprints/rue_code/__init__.py +0 -0
  51. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/blueprints/rue_code/blueprint_rue_code.py +0 -0
  52. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/blueprints/suggestion/blueprint_suggestion.py +0 -0
  53. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/blueprints/unapologetic_press/blueprint_unapologetic_press.py +0 -0
  54. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/blueprints/whiskeytango_foxtrot/__init__.py +0 -0
  55. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/blueprints/whiskeytango_foxtrot/apps.py +0 -0
  56. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/blueprints/whiskeytango_foxtrot/blueprint_whiskeytango_foxtrot.py +0 -0
  57. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/consumers.py +0 -0
  58. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/core/agent_utils.py +0 -0
  59. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/core/blueprint_base.py +0 -0
  60. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/core/blueprint_discovery.py +0 -0
  61. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/core/blueprint_runner.py +0 -0
  62. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/core/blueprint_utils.py +0 -0
  63. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/core/blueprint_ux.py +0 -0
  64. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/core/build_launchers.py +0 -0
  65. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/core/build_swarm_wrapper.py +0 -0
  66. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/core/cli/__init__.py +0 -0
  67. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/core/cli/commands/__init__.py +0 -0
  68. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/core/cli/commands/blueprint_management.py +0 -0
  69. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/core/cli/interactive_shell.py +0 -0
  70. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/core/cli/main.py +0 -0
  71. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/core/cli/utils/__init__.py +0 -0
  72. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/core/cli/utils/discover_commands.py +0 -0
  73. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/core/common_utils.py +0 -0
  74. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/core/config_loader.py +0 -0
  75. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/core/config_manager.py +0 -0
  76. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/core/output_utils.py +0 -0
  77. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/core/server_config.py +0 -0
  78. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/core/session_logger.py +0 -0
  79. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/core/setup_wizard.py +0 -0
  80. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/core/slash_commands.py +0 -0
  81. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/core/spinner.py +0 -0
  82. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/core/swarm_api.py +0 -0
  83. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/core/swarm_cli.py +0 -0
  84. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/core/swarm_wrapper.py +0 -0
  85. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/core/utils/__init__.py +0 -0
  86. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/core/utils/logger.py +0 -0
  87. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/extensions/__init__.py +0 -0
  88. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/extensions/blueprint/__init__.py +0 -0
  89. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/extensions/blueprint/cli_handler.py +0 -0
  90. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/extensions/blueprint/django_utils.py +0 -0
  91. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/extensions/blueprint/interactive_mode.py +0 -0
  92. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/extensions/blueprint/modes/rest_mode.py +0 -0
  93. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/extensions/blueprint/runnable_blueprint.py +0 -0
  94. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/extensions/cli/__init__.py +0 -0
  95. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/extensions/cli/blueprint_runner.py +0 -0
  96. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/extensions/cli/cli_args.py +0 -0
  97. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/extensions/cli/commands/__init__.py +0 -0
  98. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/extensions/cli/commands/blueprint_management.py +0 -0
  99. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/extensions/cli/commands/config_management.py +0 -0
  100. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/extensions/cli/commands/edit_config.py +0 -0
  101. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/extensions/cli/commands/list_blueprints.py +0 -0
  102. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/extensions/cli/commands/validate_env.py +0 -0
  103. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/extensions/cli/commands/validate_envvars.py +0 -0
  104. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/extensions/cli/interactive_shell.py +0 -0
  105. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/extensions/cli/main.py +0 -0
  106. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/extensions/cli/selection.py +0 -0
  107. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/extensions/cli/utils/__init__.py +0 -0
  108. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/extensions/cli/utils/async_input.py +0 -0
  109. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/extensions/cli/utils/discover_commands.py +0 -0
  110. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/extensions/cli/utils/env_setup.py +0 -0
  111. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/extensions/cli/utils/prompt_user.py +0 -0
  112. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/extensions/cli/utils.py +0 -0
  113. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/extensions/config/__init__.py +0 -0
  114. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/extensions/config/config_loader.py +0 -0
  115. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/extensions/launchers/__init__.py +0 -0
  116. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/extensions/launchers/swarm_api.py +0 -0
  117. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/extensions/launchers/swarm_cli.py +0 -0
  118. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/management/__init__.py +0 -0
  119. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/management/commands/__init__.py +0 -0
  120. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/management/commands/runserver.py +0 -0
  121. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/messages.py +0 -0
  122. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/middleware.py +0 -0
  123. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/migrations/0010_initial_chat_models.py +0 -0
  124. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/migrations/__init__.py +0 -0
  125. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/models.py +0 -0
  126. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/permissions.py +0 -0
  127. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/repl/__init__.py +0 -0
  128. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/repl/repl.py +0 -0
  129. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/serializers.py +0 -0
  130. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/settings.py +0 -0
  131. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/contrib/fonts/fontawesome-webfont.ttf +0 -0
  132. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/contrib/fonts/fontawesome-webfont.woff +0 -0
  133. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/contrib/fonts/fontawesome-webfont.woff2 +0 -0
  134. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/contrib/markedjs/marked.min.js +0 -0
  135. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/contrib/tabler-icons/adjustments-horizontal.svg +0 -0
  136. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/contrib/tabler-icons/alert-triangle.svg +0 -0
  137. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/contrib/tabler-icons/archive.svg +0 -0
  138. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/contrib/tabler-icons/artboard.svg +0 -0
  139. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/contrib/tabler-icons/automatic-gearbox.svg +0 -0
  140. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/contrib/tabler-icons/box-multiple.svg +0 -0
  141. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/contrib/tabler-icons/carambola.svg +0 -0
  142. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/contrib/tabler-icons/copy.svg +0 -0
  143. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/contrib/tabler-icons/download.svg +0 -0
  144. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/contrib/tabler-icons/edit.svg +0 -0
  145. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/contrib/tabler-icons/filled/carambola.svg +0 -0
  146. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/contrib/tabler-icons/filled/paint.svg +0 -0
  147. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/contrib/tabler-icons/headset.svg +0 -0
  148. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/contrib/tabler-icons/layout-sidebar-left-collapse.svg +0 -0
  149. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/contrib/tabler-icons/layout-sidebar-left-expand.svg +0 -0
  150. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/contrib/tabler-icons/layout-sidebar-right-collapse.svg +0 -0
  151. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/contrib/tabler-icons/layout-sidebar-right-expand.svg +0 -0
  152. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/contrib/tabler-icons/message-chatbot.svg +0 -0
  153. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/contrib/tabler-icons/message-star.svg +0 -0
  154. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/contrib/tabler-icons/message-x.svg +0 -0
  155. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/contrib/tabler-icons/message.svg +0 -0
  156. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/contrib/tabler-icons/paperclip.svg +0 -0
  157. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/contrib/tabler-icons/playlist-add.svg +0 -0
  158. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/contrib/tabler-icons/robot.svg +0 -0
  159. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/contrib/tabler-icons/search.svg +0 -0
  160. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/contrib/tabler-icons/settings.svg +0 -0
  161. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/contrib/tabler-icons/thumb-down.svg +0 -0
  162. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/contrib/tabler-icons/thumb-up.svg +0 -0
  163. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/css/dropdown.css +0 -0
  164. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/htmx/htmx.min.js +0 -0
  165. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/js/dropdown.js +0 -0
  166. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/css/base.css +0 -0
  167. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/css/chat-history.css +0 -0
  168. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/css/chat.css +0 -0
  169. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/css/chatbot.css +0 -0
  170. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/css/chatgpt.css +0 -0
  171. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/css/colors/corporate.css +0 -0
  172. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/css/colors/pastel.css +0 -0
  173. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/css/colors/tropical.css +0 -0
  174. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/css/general.css +0 -0
  175. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/css/layout.css +0 -0
  176. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/css/layouts/messenger-layout.css +0 -0
  177. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/css/layouts/minimalist-layout.css +0 -0
  178. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/css/layouts/mobile-layout.css +0 -0
  179. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/css/messages.css +0 -0
  180. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/css/messenger.css +0 -0
  181. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/css/settings.css +0 -0
  182. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/css/simple.css +0 -0
  183. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/css/slack.css +0 -0
  184. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/css/style.css +0 -0
  185. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/css/theme.css +0 -0
  186. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/css/toast.css +0 -0
  187. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/js/auth.js +0 -0
  188. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/js/blueprint.js +0 -0
  189. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/js/blueprintUtils.js +0 -0
  190. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/js/chatLogic.js +0 -0
  191. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/js/debug.js +0 -0
  192. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/js/events.js +0 -0
  193. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/js/main.js +0 -0
  194. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/js/messages.js +0 -0
  195. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/js/messengerLogic.js +0 -0
  196. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/js/modules/apiService.js +0 -0
  197. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/js/modules/blueprintManager.js +0 -0
  198. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/js/modules/chatHistory.js +0 -0
  199. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/js/modules/debugLogger.js +0 -0
  200. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/js/modules/eventHandlers.js +0 -0
  201. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/js/modules/messageProcessor.js +0 -0
  202. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/js/modules/state.js +0 -0
  203. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/js/modules/userInteractions.js +0 -0
  204. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/js/modules/validation.js +0 -0
  205. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/js/rendering.js +0 -0
  206. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/js/settings.js +0 -0
  207. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/js/sidebar.js +0 -0
  208. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/js/simpleLogic.js +0 -0
  209. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/js/slackLogic.js +0 -0
  210. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/js/splash.js +0 -0
  211. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/js/theme.js +0 -0
  212. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/js/toast.js +0 -0
  213. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/js/ui.js +0 -0
  214. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/js/validation.js +0 -0
  215. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/svg/animated_spinner.svg +0 -0
  216. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/svg/arrow_down.svg +0 -0
  217. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/svg/arrow_left.svg +0 -0
  218. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/svg/arrow_right.svg +0 -0
  219. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/svg/arrow_up.svg +0 -0
  220. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/svg/attach.svg +0 -0
  221. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/svg/avatar.svg +0 -0
  222. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/svg/canvas.svg +0 -0
  223. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/svg/chat_history.svg +0 -0
  224. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/svg/close.svg +0 -0
  225. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/svg/copy.svg +0 -0
  226. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/svg/dark_mode.svg +0 -0
  227. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/svg/edit.svg +0 -0
  228. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/svg/layout.svg +0 -0
  229. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/svg/logo.svg +0 -0
  230. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/svg/logout.svg +0 -0
  231. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/svg/mobile.svg +0 -0
  232. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/svg/new_chat.svg +0 -0
  233. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/svg/not_visible.svg +0 -0
  234. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/svg/plus.svg +0 -0
  235. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/svg/run_code.svg +0 -0
  236. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/svg/save.svg +0 -0
  237. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/svg/search.svg +0 -0
  238. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/svg/settings.svg +0 -0
  239. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/svg/speaker.svg +0 -0
  240. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/svg/stop.svg +0 -0
  241. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/svg/thumbs_down.svg +0 -0
  242. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/svg/thumbs_up.svg +0 -0
  243. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/svg/toggle_off.svg +0 -0
  244. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/svg/toggle_on.svg +0 -0
  245. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/svg/trash.svg +0 -0
  246. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/svg/undo.svg +0 -0
  247. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/svg/visible.svg +0 -0
  248. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/static/rest_mode/svg/voice.svg +0 -0
  249. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/templates/account/login.html +0 -0
  250. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/templates/account/signup.html +0 -0
  251. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/templates/base.html +0 -0
  252. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/templates/chat.html +0 -0
  253. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/templates/index.html +0 -0
  254. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/templates/rest_mode/components/chat_sidebar.html +0 -0
  255. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/templates/rest_mode/components/header.html +0 -0
  256. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/templates/rest_mode/components/main_chat_pane.html +0 -0
  257. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/templates/rest_mode/components/settings_dialog.html +0 -0
  258. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/templates/rest_mode/components/splash_screen.html +0 -0
  259. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/templates/rest_mode/components/top_bar.html +0 -0
  260. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/templates/rest_mode/message_ui.html +0 -0
  261. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/templates/rest_mode/slackbot.html +0 -0
  262. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/templates/simple_blueprint_page.html +0 -0
  263. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/templates/websocket_partials/final_system_message.html +0 -0
  264. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/templates/websocket_partials/system_message.html +0 -0
  265. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/templates/websocket_partials/user_message.html +0 -0
  266. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/tool_executor.py +0 -0
  267. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/urls.py +0 -0
  268. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/util.py +0 -0
  269. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/utils/color_utils.py +0 -0
  270. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/utils/context_utils.py +0 -0
  271. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/utils/log_utils.py +0 -0
  272. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/utils/logger.py +0 -0
  273. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/utils/logger_setup.py +0 -0
  274. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/utils/message_sequence.py +0 -0
  275. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/utils/message_utils.py +0 -0
  276. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/views/__init__.py +0 -0
  277. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/views/api_views.py +0 -0
  278. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/views/chat_views.py +0 -0
  279. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/views/core_views.py +0 -0
  280. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/views/message_views.py +0 -0
  281. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/views/model_views.py +0 -0
  282. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/views/utils.py +0 -0
  283. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/views/web_views.py +0 -0
  284. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/src/swarm/wsgi.py +0 -0
  285. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/__init__.py +0 -0
  286. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/api/conftest.py +0 -0
  287. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/api/test_chat_completions_auth_async.py +0 -0
  288. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/api/test_chat_completions_failing_async.py +0 -0
  289. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/api/test_chat_completions_validation_async.py +0 -0
  290. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/blueprints/test_chatbot.py +0 -0
  291. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/blueprints/test_codey.py +0 -0
  292. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/blueprints/test_codey_approval_mode.py +0 -0
  293. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/blueprints/test_codey_github.py +0 -0
  294. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/blueprints/test_digitalbutlers.py +0 -0
  295. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/blueprints/test_dilbot_universe.py +0 -0
  296. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/blueprints/test_divine_code.py +0 -0
  297. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/blueprints/test_echocraft.py +0 -0
  298. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/blueprints/test_family_ties.py +0 -0
  299. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/blueprints/test_gaggle.py +0 -0
  300. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/blueprints/test_geese.py +0 -0
  301. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/blueprints/test_gotchaman.py +0 -0
  302. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/blueprints/test_mcp_demo.py +0 -0
  303. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/blueprints/test_mission_improbable.py +0 -0
  304. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/blueprints/test_monkai_magic.py +0 -0
  305. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/blueprints/test_nebula_shellz.py +0 -0
  306. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/blueprints/test_omniplex.py +0 -0
  307. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/blueprints/test_suggestion.py +0 -0
  308. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/blueprints/test_unapologetic_press.py +0 -0
  309. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/blueprints/test_whiskeytangofoxtrot.py +0 -0
  310. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/cli/test_cli_config.py +0 -0
  311. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/cli/test_launchers.py +0 -0
  312. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/cli/test_list_blueprints.py +0 -0
  313. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/conftest.py +0 -0
  314. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/extensions/launchers/test_swarm_api_launcher.py +0 -0
  315. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/integration/test_cli_commands.py +0 -0
  316. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/swarm_config.json +0 -0
  317. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/system/test_chucks_angels.sh +0 -0
  318. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/system/test_digitalbutlers.sh +0 -0
  319. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/system/test_dilbot_universe.sh +0 -0
  320. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/system/test_divine_code.sh +0 -0
  321. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/system/test_django_chat.sh +0 -0
  322. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/system/test_echocraft.sh +0 -0
  323. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/system/test_family_ties.sh +0 -0
  324. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/system/test_flock.sh +0 -0
  325. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/system/test_gaggle.sh +0 -0
  326. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/system/test_gotchaman.sh +0 -0
  327. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/system/test_monkai-magic.sh +0 -0
  328. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/system/test_nebula_shellz.sh +0 -0
  329. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/system/test_omniplex.sh +0 -0
  330. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/system/test_rue-code.sh +0 -0
  331. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/system/test_suggestion.sh +0 -0
  332. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/system/test_unapologetic_press.sh +0 -0
  333. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/system/test_university.sh +0 -0
  334. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/system/test_whiskeytango_foxtrot.sh +0 -0
  335. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/test_blueprint_loading.py +0 -0
  336. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/test_cli_mode_selection.py +0 -0
  337. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/test_core_filter_duplicate_system_messages.py +0 -0
  338. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/test_core_filter_messages.py +0 -0
  339. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/test_core_truncate_message_history.py +0 -0
  340. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/test_core_update_null_content.py +0 -0
  341. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/test_dummy.py +0 -0
  342. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/test_truncate_message_history.py +0 -0
  343. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/unit/blueprints/rue_code/test_rue_code_tools.py +0 -0
  344. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/unit/test_blueprint_base_config.py +0 -0
  345. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/tests/unit/test_output_utils.py +0 -0
  346. {open_swarm-0.1.1745125813 → open_swarm-0.1.1745125879}/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.1745125813
3
+ Version: 0.1.1745125879
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.1745125813"
7
+ version = "0.1.1745125879"
8
8
  description = "Open Swarm: Orchestrating AI Agent Swarms with Django"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -0,0 +1,38 @@
1
+ """
2
+ Utility to disable OpenAI Agents Python tracing by default unless explicitly enabled in config.
3
+ """
4
+ import os
5
+ import json
6
+
7
+ def traces_enabled_from_config(config_path="swarm_config.json"):
8
+ try:
9
+ with open(config_path) as f:
10
+ config = json.load(f)
11
+ # Look for openai_traces or similar in LLM config
12
+ llm_config = config.get("llm", {})
13
+ return llm_config.get("openai_traces", False)
14
+ except Exception:
15
+ return False
16
+
17
+ def disable_openai_agents_tracing():
18
+ try:
19
+ import agents.tracing.create as tracing_create
20
+ import agents.tracing.setup as tracing_setup
21
+ # Patch GLOBAL_TRACE_PROVIDER to always return disabled traces
22
+ class DisabledTrace:
23
+ def __init__(self, *a, **k): pass
24
+ def __enter__(self): return self
25
+ def __exit__(self, *a, **k): pass
26
+ def start(self): return self
27
+ def finish(self): return self
28
+ class DummyProvider:
29
+ def get_current_trace(self): return DisabledTrace()
30
+ def new_trace(self, *a, **k): return DisabledTrace()
31
+ tracing_setup.GLOBAL_TRACE_PROVIDER = DummyProvider()
32
+ tracing_create.trace = lambda *a, **k: DisabledTrace()
33
+ except ImportError:
34
+ pass
35
+
36
+ # At import, check config and disable tracing if not enabled
37
+ if not traces_enabled_from_config():
38
+ disable_openai_agents_tracing()
@@ -118,6 +118,27 @@ def _search_and_process_jmespath(expression: str, payload: dict) -> str:
118
118
 
119
119
  return str(chat_id) if chat_id is not None else ""
120
120
 
121
+ # ---------------------------------------------------------------------------
122
+ # Debug utilities
123
+ # ---------------------------------------------------------------------------
124
+
125
+ _DEBUG_ENV_VARS = ("SWARM_DEBUG", "DEBUG", "OPEN_SWARM_DEBUG")
126
+
127
+
128
+ def is_debug_enabled() -> bool:
129
+ """Return True if any recognised debug environment variable is truthy.
130
+
131
+ A value is considered *truthy* when it is set and **not** one of
132
+ "0", "false", "off" (case‑insensitive).
133
+ """
134
+ import os
135
+
136
+ for var in _DEBUG_ENV_VARS:
137
+ val = os.getenv(var)
138
+ if val and val.lower() not in ("0", "false", "off"):
139
+ return True
140
+ return False
141
+
121
142
 
122
143
  def extract_chat_id(payload: dict) -> str:
123
144
  """
@@ -0,0 +1,33 @@
1
+ """
2
+ Monkeypatch OpenAI SDK to prevent telemetry/tracing when using a custom endpoint.
3
+ This disables any calls to OpenAI's internal tracing/telemetry/reporting subsystems.
4
+ Should be imported at startup if a custom OpenAI endpoint is used.
5
+ """
6
+
7
+ def patch_openai_telemetry():
8
+ try:
9
+ import openai
10
+ # Patch telemetry/tracing if present (for openai>=1.0.0)
11
+ # For openai<1.0.0, there is no tracing, but be defensive.
12
+ if hasattr(openai, "_telemetry"):
13
+ openai._telemetry = None
14
+ # For openai>=1.0.0, tracing is in openai.tracing
15
+ if hasattr(openai, "tracing"):
16
+ class DummyTracer:
17
+ def add_event(self, *a, **k): pass
18
+ def post(self, *a, **k): pass
19
+ def record(self, *a, **k): pass
20
+ openai.tracing.tracer = DummyTracer()
21
+ # Patch any post/trace/report methods
22
+ for attr in ("post", "trace", "report", "send_usage", "_post"):
23
+ if hasattr(openai, attr):
24
+ setattr(openai, attr, lambda *a, **k: None)
25
+ # Patch environment variable if supported
26
+ import os
27
+ os.environ["OPENAI_TELEMETRY_OPTS"] = "off"
28
+ except ImportError:
29
+ pass
30
+
31
+ # Optionally, auto-patch if this file is imported as __main__
32
+ if __name__ == "__main__":
33
+ patch_openai_telemetry()
@@ -0,0 +1,55 @@
1
+ """
2
+ Utilities for redacting sensitive data.
3
+ """
4
+
5
+ import re
6
+ from typing import Union, Dict, List, Optional
7
+ import logging
8
+
9
+ logger = logging.getLogger(__name__)
10
+
11
+ DEFAULT_SENSITIVE_KEYS = ["secret", "password", "api_key", "apikey", "token", "access_token", "client_secret"]
12
+
13
+ def redact_sensitive_data(
14
+ data: Union[str, Dict, List],
15
+ sensitive_keys: Optional[List[str]] = None,
16
+ reveal_chars: int = 0,
17
+ mask: str = "[REDACTED]"
18
+ ) -> Union[str, Dict, List]:
19
+ """
20
+ Recursively redact sensitive information from dictionaries or lists based on keys.
21
+ By default, fully masks sensitive values (returns only the mask).
22
+ If reveal_chars > 0, partially masks (preserves reveal_chars at start/end).
23
+ If a custom mask is provided, always use it (for test compatibility).
24
+ Does NOT redact standalone strings.
25
+ """
26
+ keys_to_redact = set((k.lower() for k in (sensitive_keys or DEFAULT_SENSITIVE_KEYS)))
27
+ def smart_mask(val: str) -> str:
28
+ if not isinstance(val, str):
29
+ return val
30
+ if mask != "[REDACTED]":
31
+ return mask
32
+ if reveal_chars == 0:
33
+ return mask
34
+ if len(val) >= 2 * reveal_chars + 1:
35
+ return val[:reveal_chars] + mask + val[-reveal_chars:]
36
+ return mask
37
+ if isinstance(data, dict):
38
+ redacted_dict = {}
39
+ for k, v in data.items():
40
+ if isinstance(k, str) and k.lower() in keys_to_redact:
41
+ redacted_dict[k] = smart_mask(v)
42
+ elif isinstance(v, (dict, list)):
43
+ redacted_dict[k] = redact_sensitive_data(v, sensitive_keys, reveal_chars, mask)
44
+ else:
45
+ redacted_dict[k] = v
46
+ return redacted_dict
47
+ elif isinstance(data, list):
48
+ processed_list = []
49
+ for item in data:
50
+ if isinstance(item, (dict, list)):
51
+ processed_list.append(redact_sensitive_data(item, sensitive_keys, reveal_chars, mask))
52
+ else:
53
+ processed_list.append(item)
54
+ return processed_list
55
+ return data
@@ -1,68 +0,0 @@
1
- """
2
- Utilities for redacting sensitive data.
3
- """
4
-
5
- import re
6
- from typing import Union, Dict, List, Optional
7
- import logging
8
-
9
- logger = logging.getLogger(__name__)
10
-
11
- DEFAULT_SENSITIVE_KEYS = ["secret", "password", "api_key", "apikey", "token", "access_token", "client_secret"]
12
-
13
- def redact_sensitive_data(
14
- data: Union[str, Dict, List],
15
- sensitive_keys: Optional[List[str]] = None,
16
- reveal_chars: int = 4,
17
- mask: str = "[REDACTED]"
18
- ) -> Union[str, Dict, List]:
19
- """
20
- Recursively redact sensitive information from dictionaries or lists based on keys.
21
- Applies partial redaction to string values associated with sensitive keys.
22
- Does NOT redact standalone strings.
23
-
24
- Args:
25
- data: Input data to redact (dict or list). Other types returned as is.
26
- sensitive_keys: List of dictionary keys to treat as sensitive. Defaults to common keys.
27
- reveal_chars: Number of initial/trailing characters to reveal (0 means full redaction).
28
- mask: String used for redaction in the middle or for full redaction of strings.
29
-
30
- Returns:
31
- Redacted data structure of the same type as input.
32
- """
33
- keys_to_redact = sensitive_keys if sensitive_keys is not None else DEFAULT_SENSITIVE_KEYS
34
- keys_to_redact_lower = {key.lower() for key in keys_to_redact}
35
-
36
- if isinstance(data, dict):
37
- redacted_dict = {}
38
- for key, value in data.items():
39
- if isinstance(key, str) and key.lower() in keys_to_redact_lower:
40
- if isinstance(value, str):
41
- val_len = len(value)
42
- if reveal_chars > 0 and val_len > reveal_chars * 2:
43
- redacted_dict[key] = f"{value[:reveal_chars]}{mask}{value[-reveal_chars:]}"
44
- elif val_len > 0:
45
- # Use the provided mask string directly for full redaction
46
- redacted_dict[key] = mask
47
- else:
48
- redacted_dict[key] = "" # Redact empty string as empty
49
- else:
50
- # Use specific placeholder for non-strings
51
- redacted_dict[key] = "[REDACTED NON-STRING]"
52
- else:
53
- # Recursively redact nested structures if key is not sensitive
54
- redacted_dict[key] = redact_sensitive_data(value, keys_to_redact, reveal_chars, mask)
55
- return redacted_dict
56
-
57
- elif isinstance(data, list):
58
- # Recursively redact items in a list ONLY if they are dicts or lists themselves.
59
- processed_list = []
60
- for item in data:
61
- if isinstance(item, (dict, list)):
62
- processed_list.append(redact_sensitive_data(item, keys_to_redact, reveal_chars, mask))
63
- else:
64
- processed_list.append(item) # Keep non-dict/list items (like strings) unchanged
65
- return processed_list
66
-
67
- # Return data unchanged if it's not a dict or list (including standalone strings)
68
- return data