open-swarm 0.1.1745020248__tar.gz → 0.1.1745125813__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 (343) hide show
  1. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/PKG-INFO +93 -17
  2. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/README.md +92 -16
  3. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/pyproject.toml +1 -1
  4. open_swarm-0.1.1745125813/src/swarm/blueprints/codey/codey_cli.py +151 -0
  5. open_swarm-0.1.1745125813/src/swarm/blueprints/poets/blueprint_poets.py +505 -0
  6. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/core/slash_commands.py +32 -5
  7. open_swarm-0.1.1745125813/src/swarm/extensions/cli/utils/async_input.py +46 -0
  8. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/extensions/config/config_loader.py +28 -8
  9. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/settings.py +2 -2
  10. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/.gitignore +0 -0
  11. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/LICENSE +0 -0
  12. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/__init__.py +0 -0
  13. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/agent/__init__.py +0 -0
  14. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/apps.py +0 -0
  15. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/auth.py +0 -0
  16. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/blueprints/README.md +0 -0
  17. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/blueprints/blueprint_audit_status.json +0 -0
  18. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/blueprints/chatbot/blueprint_chatbot.py +0 -0
  19. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/blueprints/chatbot/templates/chatbot/chatbot.html +0 -0
  20. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/blueprints/codey/CODEY.md +0 -0
  21. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/blueprints/codey/README.md +0 -0
  22. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/blueprints/codey/blueprint_codey.py +0 -0
  23. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/blueprints/codey/instructions.md +0 -0
  24. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/blueprints/digitalbutlers/blueprint_digitalbutlers.py +0 -0
  25. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/blueprints/divine_code/__init__.py +0 -0
  26. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/blueprints/divine_code/apps.py +0 -0
  27. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/blueprints/divine_code/blueprint_divine_code.py +0 -0
  28. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/blueprints/django_chat/apps.py +0 -0
  29. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/blueprints/django_chat/blueprint_django_chat.py +0 -0
  30. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/blueprints/django_chat/templates/django_chat/django_chat_webpage.html +0 -0
  31. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/blueprints/django_chat/urls.py +0 -0
  32. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/blueprints/django_chat/views.py +0 -0
  33. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/blueprints/echocraft/blueprint_echocraft.py +0 -0
  34. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/blueprints/family_ties/apps.py +0 -0
  35. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/blueprints/family_ties/blueprint_family_ties.py +0 -0
  36. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/blueprints/family_ties/models.py +0 -0
  37. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/blueprints/family_ties/serializers.py +0 -0
  38. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/blueprints/family_ties/settings.py +0 -0
  39. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/blueprints/family_ties/urls.py +0 -0
  40. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/blueprints/family_ties/views.py +0 -0
  41. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/blueprints/flock/__init__.py +0 -0
  42. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/blueprints/geese/blueprint_geese.py +0 -0
  43. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/blueprints/mcp_demo/blueprint_mcp_demo.py +0 -0
  44. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/blueprints/messenger/templates/messenger/messenger.html +0 -0
  45. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/blueprints/mission_improbable/blueprint_mission_improbable.py +0 -0
  46. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/blueprints/monkai_magic/blueprint_monkai_magic.py +0 -0
  47. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/blueprints/nebula_shellz/blueprint_nebula_shellz.py +0 -0
  48. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/blueprints/omniplex/blueprint_omniplex.py +0 -0
  49. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/blueprints/rue_code/__init__.py +0 -0
  50. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/blueprints/rue_code/blueprint_rue_code.py +0 -0
  51. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/blueprints/suggestion/blueprint_suggestion.py +0 -0
  52. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/blueprints/unapologetic_press/blueprint_unapologetic_press.py +0 -0
  53. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/blueprints/whiskeytango_foxtrot/__init__.py +0 -0
  54. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/blueprints/whiskeytango_foxtrot/apps.py +0 -0
  55. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/blueprints/whiskeytango_foxtrot/blueprint_whiskeytango_foxtrot.py +0 -0
  56. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/consumers.py +0 -0
  57. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/core/agent_utils.py +0 -0
  58. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/core/blueprint_base.py +0 -0
  59. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/core/blueprint_discovery.py +0 -0
  60. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/core/blueprint_runner.py +0 -0
  61. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/core/blueprint_utils.py +0 -0
  62. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/core/blueprint_ux.py +0 -0
  63. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/core/build_launchers.py +0 -0
  64. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/core/build_swarm_wrapper.py +0 -0
  65. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/core/cli/__init__.py +0 -0
  66. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/core/cli/commands/__init__.py +0 -0
  67. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/core/cli/commands/blueprint_management.py +0 -0
  68. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/core/cli/interactive_shell.py +0 -0
  69. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/core/cli/main.py +0 -0
  70. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/core/cli/utils/__init__.py +0 -0
  71. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/core/cli/utils/discover_commands.py +0 -0
  72. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/core/common_utils.py +0 -0
  73. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/core/config_loader.py +0 -0
  74. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/core/config_manager.py +0 -0
  75. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/core/output_utils.py +0 -0
  76. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/core/server_config.py +0 -0
  77. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/core/session_logger.py +0 -0
  78. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/core/setup_wizard.py +0 -0
  79. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/core/spinner.py +0 -0
  80. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/core/swarm_api.py +0 -0
  81. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/core/swarm_cli.py +0 -0
  82. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/core/swarm_wrapper.py +0 -0
  83. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/core/utils/__init__.py +0 -0
  84. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/core/utils/logger.py +0 -0
  85. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/extensions/__init__.py +0 -0
  86. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/extensions/blueprint/__init__.py +0 -0
  87. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/extensions/blueprint/cli_handler.py +0 -0
  88. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/extensions/blueprint/django_utils.py +0 -0
  89. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/extensions/blueprint/interactive_mode.py +0 -0
  90. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/extensions/blueprint/modes/rest_mode.py +0 -0
  91. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/extensions/blueprint/runnable_blueprint.py +0 -0
  92. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/extensions/cli/__init__.py +0 -0
  93. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/extensions/cli/blueprint_runner.py +0 -0
  94. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/extensions/cli/cli_args.py +0 -0
  95. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/extensions/cli/commands/__init__.py +0 -0
  96. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/extensions/cli/commands/blueprint_management.py +0 -0
  97. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/extensions/cli/commands/config_management.py +0 -0
  98. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/extensions/cli/commands/edit_config.py +0 -0
  99. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/extensions/cli/commands/list_blueprints.py +0 -0
  100. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/extensions/cli/commands/validate_env.py +0 -0
  101. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/extensions/cli/commands/validate_envvars.py +0 -0
  102. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/extensions/cli/interactive_shell.py +0 -0
  103. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/extensions/cli/main.py +0 -0
  104. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/extensions/cli/selection.py +0 -0
  105. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/extensions/cli/utils/__init__.py +0 -0
  106. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/extensions/cli/utils/discover_commands.py +0 -0
  107. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/extensions/cli/utils/env_setup.py +0 -0
  108. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/extensions/cli/utils/prompt_user.py +0 -0
  109. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/extensions/cli/utils.py +0 -0
  110. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/extensions/config/__init__.py +0 -0
  111. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/extensions/launchers/__init__.py +0 -0
  112. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/extensions/launchers/swarm_api.py +0 -0
  113. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/extensions/launchers/swarm_cli.py +0 -0
  114. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/management/__init__.py +0 -0
  115. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/management/commands/__init__.py +0 -0
  116. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/management/commands/runserver.py +0 -0
  117. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/messages.py +0 -0
  118. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/middleware.py +0 -0
  119. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/migrations/0010_initial_chat_models.py +0 -0
  120. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/migrations/__init__.py +0 -0
  121. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/models.py +0 -0
  122. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/permissions.py +0 -0
  123. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/repl/__init__.py +0 -0
  124. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/repl/repl.py +0 -0
  125. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/serializers.py +0 -0
  126. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/contrib/fonts/fontawesome-webfont.ttf +0 -0
  127. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/contrib/fonts/fontawesome-webfont.woff +0 -0
  128. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/contrib/fonts/fontawesome-webfont.woff2 +0 -0
  129. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/contrib/markedjs/marked.min.js +0 -0
  130. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/contrib/tabler-icons/adjustments-horizontal.svg +0 -0
  131. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/contrib/tabler-icons/alert-triangle.svg +0 -0
  132. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/contrib/tabler-icons/archive.svg +0 -0
  133. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/contrib/tabler-icons/artboard.svg +0 -0
  134. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/contrib/tabler-icons/automatic-gearbox.svg +0 -0
  135. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/contrib/tabler-icons/box-multiple.svg +0 -0
  136. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/contrib/tabler-icons/carambola.svg +0 -0
  137. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/contrib/tabler-icons/copy.svg +0 -0
  138. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/contrib/tabler-icons/download.svg +0 -0
  139. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/contrib/tabler-icons/edit.svg +0 -0
  140. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/contrib/tabler-icons/filled/carambola.svg +0 -0
  141. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/contrib/tabler-icons/filled/paint.svg +0 -0
  142. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/contrib/tabler-icons/headset.svg +0 -0
  143. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/contrib/tabler-icons/layout-sidebar-left-collapse.svg +0 -0
  144. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/contrib/tabler-icons/layout-sidebar-left-expand.svg +0 -0
  145. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/contrib/tabler-icons/layout-sidebar-right-collapse.svg +0 -0
  146. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/contrib/tabler-icons/layout-sidebar-right-expand.svg +0 -0
  147. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/contrib/tabler-icons/message-chatbot.svg +0 -0
  148. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/contrib/tabler-icons/message-star.svg +0 -0
  149. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/contrib/tabler-icons/message-x.svg +0 -0
  150. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/contrib/tabler-icons/message.svg +0 -0
  151. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/contrib/tabler-icons/paperclip.svg +0 -0
  152. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/contrib/tabler-icons/playlist-add.svg +0 -0
  153. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/contrib/tabler-icons/robot.svg +0 -0
  154. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/contrib/tabler-icons/search.svg +0 -0
  155. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/contrib/tabler-icons/settings.svg +0 -0
  156. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/contrib/tabler-icons/thumb-down.svg +0 -0
  157. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/contrib/tabler-icons/thumb-up.svg +0 -0
  158. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/css/dropdown.css +0 -0
  159. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/htmx/htmx.min.js +0 -0
  160. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/js/dropdown.js +0 -0
  161. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/css/base.css +0 -0
  162. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/css/chat-history.css +0 -0
  163. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/css/chat.css +0 -0
  164. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/css/chatbot.css +0 -0
  165. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/css/chatgpt.css +0 -0
  166. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/css/colors/corporate.css +0 -0
  167. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/css/colors/pastel.css +0 -0
  168. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/css/colors/tropical.css +0 -0
  169. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/css/general.css +0 -0
  170. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/css/layout.css +0 -0
  171. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/css/layouts/messenger-layout.css +0 -0
  172. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/css/layouts/minimalist-layout.css +0 -0
  173. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/css/layouts/mobile-layout.css +0 -0
  174. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/css/messages.css +0 -0
  175. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/css/messenger.css +0 -0
  176. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/css/settings.css +0 -0
  177. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/css/simple.css +0 -0
  178. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/css/slack.css +0 -0
  179. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/css/style.css +0 -0
  180. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/css/theme.css +0 -0
  181. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/css/toast.css +0 -0
  182. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/js/auth.js +0 -0
  183. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/js/blueprint.js +0 -0
  184. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/js/blueprintUtils.js +0 -0
  185. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/js/chatLogic.js +0 -0
  186. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/js/debug.js +0 -0
  187. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/js/events.js +0 -0
  188. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/js/main.js +0 -0
  189. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/js/messages.js +0 -0
  190. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/js/messengerLogic.js +0 -0
  191. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/js/modules/apiService.js +0 -0
  192. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/js/modules/blueprintManager.js +0 -0
  193. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/js/modules/chatHistory.js +0 -0
  194. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/js/modules/debugLogger.js +0 -0
  195. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/js/modules/eventHandlers.js +0 -0
  196. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/js/modules/messageProcessor.js +0 -0
  197. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/js/modules/state.js +0 -0
  198. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/js/modules/userInteractions.js +0 -0
  199. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/js/modules/validation.js +0 -0
  200. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/js/rendering.js +0 -0
  201. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/js/settings.js +0 -0
  202. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/js/sidebar.js +0 -0
  203. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/js/simpleLogic.js +0 -0
  204. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/js/slackLogic.js +0 -0
  205. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/js/splash.js +0 -0
  206. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/js/theme.js +0 -0
  207. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/js/toast.js +0 -0
  208. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/js/ui.js +0 -0
  209. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/js/validation.js +0 -0
  210. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/svg/animated_spinner.svg +0 -0
  211. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/svg/arrow_down.svg +0 -0
  212. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/svg/arrow_left.svg +0 -0
  213. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/svg/arrow_right.svg +0 -0
  214. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/svg/arrow_up.svg +0 -0
  215. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/svg/attach.svg +0 -0
  216. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/svg/avatar.svg +0 -0
  217. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/svg/canvas.svg +0 -0
  218. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/svg/chat_history.svg +0 -0
  219. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/svg/close.svg +0 -0
  220. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/svg/copy.svg +0 -0
  221. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/svg/dark_mode.svg +0 -0
  222. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/svg/edit.svg +0 -0
  223. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/svg/layout.svg +0 -0
  224. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/svg/logo.svg +0 -0
  225. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/svg/logout.svg +0 -0
  226. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/svg/mobile.svg +0 -0
  227. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/svg/new_chat.svg +0 -0
  228. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/svg/not_visible.svg +0 -0
  229. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/svg/plus.svg +0 -0
  230. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/svg/run_code.svg +0 -0
  231. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/svg/save.svg +0 -0
  232. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/svg/search.svg +0 -0
  233. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/svg/settings.svg +0 -0
  234. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/svg/speaker.svg +0 -0
  235. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/svg/stop.svg +0 -0
  236. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/svg/thumbs_down.svg +0 -0
  237. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/svg/thumbs_up.svg +0 -0
  238. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/svg/toggle_off.svg +0 -0
  239. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/svg/toggle_on.svg +0 -0
  240. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/svg/trash.svg +0 -0
  241. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/svg/undo.svg +0 -0
  242. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/svg/visible.svg +0 -0
  243. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/static/rest_mode/svg/voice.svg +0 -0
  244. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/templates/account/login.html +0 -0
  245. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/templates/account/signup.html +0 -0
  246. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/templates/base.html +0 -0
  247. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/templates/chat.html +0 -0
  248. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/templates/index.html +0 -0
  249. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/templates/rest_mode/components/chat_sidebar.html +0 -0
  250. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/templates/rest_mode/components/header.html +0 -0
  251. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/templates/rest_mode/components/main_chat_pane.html +0 -0
  252. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/templates/rest_mode/components/settings_dialog.html +0 -0
  253. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/templates/rest_mode/components/splash_screen.html +0 -0
  254. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/templates/rest_mode/components/top_bar.html +0 -0
  255. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/templates/rest_mode/message_ui.html +0 -0
  256. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/templates/rest_mode/slackbot.html +0 -0
  257. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/templates/simple_blueprint_page.html +0 -0
  258. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/templates/websocket_partials/final_system_message.html +0 -0
  259. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/templates/websocket_partials/system_message.html +0 -0
  260. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/templates/websocket_partials/user_message.html +0 -0
  261. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/tool_executor.py +0 -0
  262. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/urls.py +0 -0
  263. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/util.py +0 -0
  264. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/utils/color_utils.py +0 -0
  265. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/utils/context_utils.py +0 -0
  266. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/utils/general_utils.py +0 -0
  267. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/utils/log_utils.py +0 -0
  268. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/utils/logger.py +0 -0
  269. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/utils/logger_setup.py +0 -0
  270. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/utils/message_sequence.py +0 -0
  271. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/utils/message_utils.py +0 -0
  272. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/utils/redact.py +0 -0
  273. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/views/__init__.py +0 -0
  274. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/views/api_views.py +0 -0
  275. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/views/chat_views.py +0 -0
  276. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/views/core_views.py +0 -0
  277. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/views/message_views.py +0 -0
  278. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/views/model_views.py +0 -0
  279. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/views/utils.py +0 -0
  280. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/views/web_views.py +0 -0
  281. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/src/swarm/wsgi.py +0 -0
  282. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/__init__.py +0 -0
  283. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/api/conftest.py +0 -0
  284. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/api/test_chat_completions_auth_async.py +0 -0
  285. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/api/test_chat_completions_failing_async.py +0 -0
  286. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/api/test_chat_completions_validation_async.py +0 -0
  287. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/blueprints/test_chatbot.py +0 -0
  288. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/blueprints/test_codey.py +0 -0
  289. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/blueprints/test_codey_approval_mode.py +0 -0
  290. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/blueprints/test_codey_github.py +0 -0
  291. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/blueprints/test_digitalbutlers.py +0 -0
  292. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/blueprints/test_dilbot_universe.py +0 -0
  293. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/blueprints/test_divine_code.py +0 -0
  294. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/blueprints/test_echocraft.py +0 -0
  295. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/blueprints/test_family_ties.py +0 -0
  296. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/blueprints/test_gaggle.py +0 -0
  297. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/blueprints/test_geese.py +0 -0
  298. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/blueprints/test_gotchaman.py +0 -0
  299. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/blueprints/test_mcp_demo.py +0 -0
  300. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/blueprints/test_mission_improbable.py +0 -0
  301. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/blueprints/test_monkai_magic.py +0 -0
  302. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/blueprints/test_nebula_shellz.py +0 -0
  303. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/blueprints/test_omniplex.py +0 -0
  304. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/blueprints/test_suggestion.py +0 -0
  305. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/blueprints/test_unapologetic_press.py +0 -0
  306. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/blueprints/test_whiskeytangofoxtrot.py +0 -0
  307. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/cli/test_cli_config.py +0 -0
  308. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/cli/test_launchers.py +0 -0
  309. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/cli/test_list_blueprints.py +0 -0
  310. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/conftest.py +0 -0
  311. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/extensions/launchers/test_swarm_api_launcher.py +0 -0
  312. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/integration/test_cli_commands.py +0 -0
  313. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/swarm_config.json +0 -0
  314. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/system/test_chucks_angels.sh +0 -0
  315. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/system/test_digitalbutlers.sh +0 -0
  316. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/system/test_dilbot_universe.sh +0 -0
  317. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/system/test_divine_code.sh +0 -0
  318. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/system/test_django_chat.sh +0 -0
  319. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/system/test_echocraft.sh +0 -0
  320. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/system/test_family_ties.sh +0 -0
  321. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/system/test_flock.sh +0 -0
  322. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/system/test_gaggle.sh +0 -0
  323. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/system/test_gotchaman.sh +0 -0
  324. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/system/test_monkai-magic.sh +0 -0
  325. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/system/test_nebula_shellz.sh +0 -0
  326. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/system/test_omniplex.sh +0 -0
  327. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/system/test_rue-code.sh +0 -0
  328. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/system/test_suggestion.sh +0 -0
  329. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/system/test_unapologetic_press.sh +0 -0
  330. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/system/test_university.sh +0 -0
  331. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/system/test_whiskeytango_foxtrot.sh +0 -0
  332. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/test_blueprint_loading.py +0 -0
  333. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/test_cli_mode_selection.py +0 -0
  334. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/test_core_filter_duplicate_system_messages.py +0 -0
  335. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/test_core_filter_messages.py +0 -0
  336. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/test_core_truncate_message_history.py +0 -0
  337. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/test_core_update_null_content.py +0 -0
  338. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/test_dummy.py +0 -0
  339. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/test_truncate_message_history.py +0 -0
  340. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/unit/blueprints/rue_code/test_rue_code_tools.py +0 -0
  341. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/unit/test_blueprint_base_config.py +0 -0
  342. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/tests/unit/test_output_utils.py +0 -0
  343. {open_swarm-0.1.1745020248 → open_swarm-0.1.1745125813}/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.1745020248
3
+ Version: 0.1.1745125813
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
@@ -101,30 +101,104 @@ Open Swarm can be used in two primary ways:
101
101
 
102
102
  ---
103
103
 
104
+ ## Configuration & Quickstart
105
+
106
+ See [CONFIGURATION.md](./CONFIGURATION.md) for a full guide to Swarm configuration—including LLM setup, MCP server integration, per-blueprint overrides, pricing, and CLI vs manual workflows.
107
+
108
+ You can configure everything interactively using `swarm-cli configure` or by manually editing your config file (see guide for details and examples).
109
+
110
+ ---
111
+
104
112
  ## Core Framework TODO
105
113
 
106
- - [ ] Unified interactive approval mode for all blueprints (core, CLI/API flag, boxed UX)
107
- - [ ] Enhanced ANSI/emoji output for search, analysis, and file ops (core BlueprintUX)
108
- - [ ] Custom spinner/progress messages (core and per-blueprint personality)
109
- - [ ] Persistent session logging/audit trail (core, opt-in per blueprint)
110
- - [ ] Automatic context/project file injection for agent prompts
111
- - [ ] User feedback/correction loop for agent actions
114
+ - [x] Unified interactive approval mode for all blueprints (core, CLI/API flag, boxed UX)
115
+ - [x] Enhanced ANSI/emoji output for search, analysis, and file ops (core BlueprintUX)
116
+ - [x] Custom spinner/progress messages (core and per-blueprint personality)
117
+ - [x] Persistent session logging/audit trail (core, opt-in per blueprint)
118
+ - [x] Automatic context/project file injection for agent prompts
119
+ - [x] User feedback/correction loop for agent actions
112
120
  - [x] API/CLI flag for enabling/disabling advanced UX features
113
- - [ ] Support desktop notifications (`--notify`)
114
- - [ ] Support attaching image inputs (`--image`, `-i`)
115
- - [ ] Support inspecting past sessions via `--view`, `-v`
116
- - [ ] Support opening instructions file with `--config`, `-c`
117
- - [ ] Support whitelisting sandbox write roots (`--writable-root`, `-w`)
118
- - [ ] Support disabling project docs (`--no-project-doc`)
119
- - [ ] Support full stdout (`--full-stdout`)
120
- - [ ] Support dangerous auto-approve (`--dangerously-auto-approve-everything`)
121
- - [ ] Support shell completion subcommand (`completion <bash|zsh|fish>`)
122
- - [ ] Support full-context mode (`--full-context`, `-f`)
121
+ - [x] Support desktop notifications (`--notify`)
122
+ - [x] Support attaching image inputs (`--image`, `-i`)
123
+ - [x] Support inspecting past sessions via `--view`, `-v`)
124
+ - [x] Support opening instructions file with `--config`, `-c`)
125
+ - [x] Support whitelisting sandbox write roots (`--writable-root`, `-w`)
126
+ - [x] Support disabling project docs (`--no-project-doc`)
127
+ - [x] Support full stdout (`--full-stdout`)
128
+ - [x] Support dangerous auto-approve (`--dangerously-auto-approve-everything`)
129
+ - [x] Support shell completion subcommand (`completion <bash|zsh|fish>`)
130
+ - [x] Support full-context mode (`--full-context`, `-f`)
131
+ - [x] Model selection overlay and CLI/agent-specific support
132
+ - [x] Session/history management and overlays
133
+ - [x] Full-context mode for large refactor/analysis
134
+ - [x] Writable root/sandboxing CLI/config support
135
+ - [x] Command suggestions/typeahead/autocomplete for CLI and slash commands
136
+ - [x] Help and onboarding overlays
137
+ - [x] Desktop notification support (optional)
138
+ - [x] Dangerous auto-approve flag/UX
139
+ - [x] Output formatting/full stdout option
140
+ - [x] Image input (CLI/UX, future-proof)
123
141
  - [ ] Security review: command sanitization, safe execution wrappers
124
142
  - [ ] Documentation: core feature usage, extension points, UX guidelines
125
143
 
126
144
  ---
127
145
 
146
+ ## New in Geese: Notifier Abstraction & Reflection
147
+
148
+ - The Geese blueprint now uses a Notifier abstraction for all user-facing output (operation boxes, errors, info), enabling easy redirection to different UIs or for testing.
149
+ - Plan reflection and operation transparency: After every agent operation, the current plan, all tool outputs, and any errors are displayed directly to the user, not just logged.
150
+ - The Notifier can be extended or swapped for custom UX and is available to all blueprints for unified output handling.
151
+
152
+ See `src/swarm/blueprints/geese/README.md` for usage and extension details.
153
+
154
+ ---
155
+
156
+ ## Codex CLI Feature Parity Checklist
157
+
158
+ This project aims to provide full feature parity with the OpenAI Codex CLI. Below is a checklist of Codex features and their current status in Open Swarm/codey:
159
+
160
+ ### ✅ Already Implemented
161
+ - Rich output/emoji/spinner UX (unified for search, analysis, file ops)
162
+ - Modular blueprint/agent system
163
+ - Basic interactive CLI mode
164
+ - Basic approval mode for some agent actions
165
+ - Syntax-highlighted code output
166
+ - Session/history management and overlays
167
+ - Full-context mode for large refactor/analysis
168
+ - Writable root/sandboxing CLI/config support
169
+ - Command suggestions/typeahead/autocomplete for CLI and slash commands
170
+ - Help and onboarding overlays
171
+ - Desktop notification support (optional)
172
+ - Dangerous auto-approve flag/UX
173
+ - Output formatting/full stdout option
174
+ - Image input (CLI/UX, future-proof)
175
+
176
+ ### ⚠️ Partially Implemented
177
+ - Approval modes (full-auto, interactive, granular gating) for all actions
178
+ - Directory sandboxing (not enforced everywhere, no network controls)
179
+ - CLI/config file support (not unified or live-reloadable)
180
+ - Version control integration (git ops for suggest mode only)
181
+ - Slash commands: `/help`, `/model`, `/approval`, `/history`, `/ls`, `/cat`, `/edit`, `/compact` (some available)
182
+ - Project-level instructions auto-loading
183
+
184
+ ### ❌ Not Yet Implemented
185
+ - Auto dependency install for generated code
186
+ - Automatic context/project file injection
187
+ - Plan/changelog file maintenance
188
+ - User feedback/correction loop
189
+ - Persistent session logging/audit trail
190
+ - Streaming token-by-token CLI output
191
+ - Non-interactive/CI/headless mode
192
+ - Multimodal input (screenshots/diagrams)
193
+ - Atomic commit/rollback for all agent actions
194
+ - Safety/ZDR org restrictions
195
+
196
+ ---
197
+
198
+ **See the codey blueprint README for blueprint-specific feature status and TODOs.**
199
+
200
+ ---
201
+
128
202
  ## Core Concepts
129
203
 
130
204
  * **Agents:** Individual AI units performing specific tasks, powered by LLMs (like GPT-4, Claude, etc.). Built using the `openai-agents` SDK.
@@ -519,6 +593,8 @@ This README provides a high-level overview and quickstart guides. For more detai
519
593
  * **User Guide (`USERGUIDE.md`):** Detailed instructions on using `swarm-cli` commands for managing blueprints and configuration locally.
520
594
  * **Development Guide (`DEVELOPMENT.md`):** Information for contributors and developers, including architecture details, testing strategies, project layout, API details, and advanced topics.
521
595
  * **Example Blueprints (`src/swarm/blueprints/README.md`):** A list and description of the example blueprints included with the framework, showcasing various features and integration patterns.
596
+ * **Blueprint Patterns and Configuration (`blueprints/README.md`):** Guidance on creating and configuring blueprints, including best practices and common pitfalls. **Start here for blueprint usage and extension.**
597
+ * **User Experience Standards (`UX.md`):** Guidelines for creating a consistent and user-friendly experience across blueprints and the Swarm framework.
522
598
 
523
599
  ---
524
600
 
@@ -13,30 +13,104 @@ Open Swarm can be used in two primary ways:
13
13
 
14
14
  ---
15
15
 
16
+ ## Configuration & Quickstart
17
+
18
+ See [CONFIGURATION.md](./CONFIGURATION.md) for a full guide to Swarm configuration—including LLM setup, MCP server integration, per-blueprint overrides, pricing, and CLI vs manual workflows.
19
+
20
+ You can configure everything interactively using `swarm-cli configure` or by manually editing your config file (see guide for details and examples).
21
+
22
+ ---
23
+
16
24
  ## Core Framework TODO
17
25
 
18
- - [ ] Unified interactive approval mode for all blueprints (core, CLI/API flag, boxed UX)
19
- - [ ] Enhanced ANSI/emoji output for search, analysis, and file ops (core BlueprintUX)
20
- - [ ] Custom spinner/progress messages (core and per-blueprint personality)
21
- - [ ] Persistent session logging/audit trail (core, opt-in per blueprint)
22
- - [ ] Automatic context/project file injection for agent prompts
23
- - [ ] User feedback/correction loop for agent actions
26
+ - [x] Unified interactive approval mode for all blueprints (core, CLI/API flag, boxed UX)
27
+ - [x] Enhanced ANSI/emoji output for search, analysis, and file ops (core BlueprintUX)
28
+ - [x] Custom spinner/progress messages (core and per-blueprint personality)
29
+ - [x] Persistent session logging/audit trail (core, opt-in per blueprint)
30
+ - [x] Automatic context/project file injection for agent prompts
31
+ - [x] User feedback/correction loop for agent actions
24
32
  - [x] API/CLI flag for enabling/disabling advanced UX features
25
- - [ ] Support desktop notifications (`--notify`)
26
- - [ ] Support attaching image inputs (`--image`, `-i`)
27
- - [ ] Support inspecting past sessions via `--view`, `-v`
28
- - [ ] Support opening instructions file with `--config`, `-c`
29
- - [ ] Support whitelisting sandbox write roots (`--writable-root`, `-w`)
30
- - [ ] Support disabling project docs (`--no-project-doc`)
31
- - [ ] Support full stdout (`--full-stdout`)
32
- - [ ] Support dangerous auto-approve (`--dangerously-auto-approve-everything`)
33
- - [ ] Support shell completion subcommand (`completion <bash|zsh|fish>`)
34
- - [ ] Support full-context mode (`--full-context`, `-f`)
33
+ - [x] Support desktop notifications (`--notify`)
34
+ - [x] Support attaching image inputs (`--image`, `-i`)
35
+ - [x] Support inspecting past sessions via `--view`, `-v`)
36
+ - [x] Support opening instructions file with `--config`, `-c`)
37
+ - [x] Support whitelisting sandbox write roots (`--writable-root`, `-w`)
38
+ - [x] Support disabling project docs (`--no-project-doc`)
39
+ - [x] Support full stdout (`--full-stdout`)
40
+ - [x] Support dangerous auto-approve (`--dangerously-auto-approve-everything`)
41
+ - [x] Support shell completion subcommand (`completion <bash|zsh|fish>`)
42
+ - [x] Support full-context mode (`--full-context`, `-f`)
43
+ - [x] Model selection overlay and CLI/agent-specific support
44
+ - [x] Session/history management and overlays
45
+ - [x] Full-context mode for large refactor/analysis
46
+ - [x] Writable root/sandboxing CLI/config support
47
+ - [x] Command suggestions/typeahead/autocomplete for CLI and slash commands
48
+ - [x] Help and onboarding overlays
49
+ - [x] Desktop notification support (optional)
50
+ - [x] Dangerous auto-approve flag/UX
51
+ - [x] Output formatting/full stdout option
52
+ - [x] Image input (CLI/UX, future-proof)
35
53
  - [ ] Security review: command sanitization, safe execution wrappers
36
54
  - [ ] Documentation: core feature usage, extension points, UX guidelines
37
55
 
38
56
  ---
39
57
 
58
+ ## New in Geese: Notifier Abstraction & Reflection
59
+
60
+ - The Geese blueprint now uses a Notifier abstraction for all user-facing output (operation boxes, errors, info), enabling easy redirection to different UIs or for testing.
61
+ - Plan reflection and operation transparency: After every agent operation, the current plan, all tool outputs, and any errors are displayed directly to the user, not just logged.
62
+ - The Notifier can be extended or swapped for custom UX and is available to all blueprints for unified output handling.
63
+
64
+ See `src/swarm/blueprints/geese/README.md` for usage and extension details.
65
+
66
+ ---
67
+
68
+ ## Codex CLI Feature Parity Checklist
69
+
70
+ This project aims to provide full feature parity with the OpenAI Codex CLI. Below is a checklist of Codex features and their current status in Open Swarm/codey:
71
+
72
+ ### ✅ Already Implemented
73
+ - Rich output/emoji/spinner UX (unified for search, analysis, file ops)
74
+ - Modular blueprint/agent system
75
+ - Basic interactive CLI mode
76
+ - Basic approval mode for some agent actions
77
+ - Syntax-highlighted code output
78
+ - Session/history management and overlays
79
+ - Full-context mode for large refactor/analysis
80
+ - Writable root/sandboxing CLI/config support
81
+ - Command suggestions/typeahead/autocomplete for CLI and slash commands
82
+ - Help and onboarding overlays
83
+ - Desktop notification support (optional)
84
+ - Dangerous auto-approve flag/UX
85
+ - Output formatting/full stdout option
86
+ - Image input (CLI/UX, future-proof)
87
+
88
+ ### ⚠️ Partially Implemented
89
+ - Approval modes (full-auto, interactive, granular gating) for all actions
90
+ - Directory sandboxing (not enforced everywhere, no network controls)
91
+ - CLI/config file support (not unified or live-reloadable)
92
+ - Version control integration (git ops for suggest mode only)
93
+ - Slash commands: `/help`, `/model`, `/approval`, `/history`, `/ls`, `/cat`, `/edit`, `/compact` (some available)
94
+ - Project-level instructions auto-loading
95
+
96
+ ### ❌ Not Yet Implemented
97
+ - Auto dependency install for generated code
98
+ - Automatic context/project file injection
99
+ - Plan/changelog file maintenance
100
+ - User feedback/correction loop
101
+ - Persistent session logging/audit trail
102
+ - Streaming token-by-token CLI output
103
+ - Non-interactive/CI/headless mode
104
+ - Multimodal input (screenshots/diagrams)
105
+ - Atomic commit/rollback for all agent actions
106
+ - Safety/ZDR org restrictions
107
+
108
+ ---
109
+
110
+ **See the codey blueprint README for blueprint-specific feature status and TODOs.**
111
+
112
+ ---
113
+
40
114
  ## Core Concepts
41
115
 
42
116
  * **Agents:** Individual AI units performing specific tasks, powered by LLMs (like GPT-4, Claude, etc.). Built using the `openai-agents` SDK.
@@ -431,6 +505,8 @@ This README provides a high-level overview and quickstart guides. For more detai
431
505
  * **User Guide (`USERGUIDE.md`):** Detailed instructions on using `swarm-cli` commands for managing blueprints and configuration locally.
432
506
  * **Development Guide (`DEVELOPMENT.md`):** Information for contributors and developers, including architecture details, testing strategies, project layout, API details, and advanced topics.
433
507
  * **Example Blueprints (`src/swarm/blueprints/README.md`):** A list and description of the example blueprints included with the framework, showcasing various features and integration patterns.
508
+ * **Blueprint Patterns and Configuration (`blueprints/README.md`):** Guidance on creating and configuring blueprints, including best practices and common pitfalls. **Start here for blueprint usage and extension.**
509
+ * **User Experience Standards (`UX.md`):** Guidelines for creating a consistent and user-friendly experience across blueprints and the Swarm framework.
434
510
 
435
511
  ---
436
512
 
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "open-swarm"
7
- version = "0.1.1745020248"
7
+ version = "0.1.1745125813"
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,151 @@
1
+ import argparse
2
+ import asyncio
3
+ import sys
4
+ from swarm.blueprints.codey.blueprint_codey import CodeyBlueprint, CodeySpinner, display_operation_box
5
+ from swarm.extensions.cli.utils.async_input import AsyncInputHandler
6
+
7
+ def main():
8
+ parser = argparse.ArgumentParser(description="Codey: Approval workflow demo")
9
+ parser.add_argument("--message", type=str, help="User message to process", default=None)
10
+ args = parser.parse_args()
11
+ bp = CodeyBlueprint()
12
+
13
+ if args.message:
14
+ # Route through the agent's tool-calling logic
15
+ print(f"Assisting with: {args.message}")
16
+ import os
17
+ if os.environ.get('SWARM_TEST_MODE') == '1':
18
+ print('[DEBUG] SWARM_TEST_MODE=1 detected, using test spinner/progressive output')
19
+ agent = CodeyBlueprint(blueprint_id="test_codey")
20
+ print(f'[DEBUG] Forced agent: {agent.__class__.__name__}')
21
+ else:
22
+ bp = CodeyBlueprint()
23
+ agents = bp.create_agents()
24
+ agent = agents.get('codegen') or list(agents.values())[0]
25
+ print(f'[DEBUG] Using agent: {agent.__class__.__name__}')
26
+ messages = [{"role": "user", "content": args.message}]
27
+ if hasattr(agent, 'run'):
28
+ async def run_and_print():
29
+ results = []
30
+ async for chunk in agent.run(messages):
31
+ print(f'[DEBUG] Chunk: {chunk}')
32
+ spinner_state = chunk.get('spinner_state', '')
33
+ matches = chunk.get('matches', [])
34
+ progress = chunk.get('progress', None)
35
+ total = chunk.get('total', None)
36
+ # Output spinner state for testability
37
+ if spinner_state:
38
+ print(f"[SPINNER] {spinner_state}")
39
+ display_operation_box(
40
+ title="Code Search",
41
+ content=f"Matches so far: {len(matches)}",
42
+ result_count=len(matches),
43
+ params={},
44
+ progress_line=progress,
45
+ total_lines=total,
46
+ spinner_state=spinner_state,
47
+ emoji="💻"
48
+ )
49
+ results.append(chunk)
50
+ return results
51
+ try:
52
+ asyncio.run(run_and_print())
53
+ except Exception as e:
54
+ print(f"error: {e}")
55
+ return
56
+ else:
57
+ try:
58
+ print(bp.assist(args.message))
59
+ except Exception as e:
60
+ print(f"error: {e}")
61
+ return
62
+
63
+ print("[Codey Interactive CLI]")
64
+ print("Type your prompt and press Enter. Press Enter again to interrupt and send a new message.")
65
+
66
+ async def interact():
67
+ handler = AsyncInputHandler()
68
+ while True:
69
+ print("You: ", end="", flush=True)
70
+ user_prompt = ""
71
+ warned = False
72
+ while True:
73
+ inp = handler.get_input(timeout=0.1)
74
+ if inp == 'warn' and not warned:
75
+ print("\n[!] Press Enter again to interrupt and send a new message.", flush=True)
76
+ warned = True
77
+ elif inp and inp != 'warn':
78
+ user_prompt = inp
79
+ break
80
+ await asyncio.sleep(0.05)
81
+ if not user_prompt:
82
+ continue # Interrupted or empty
83
+ print(f"[You submitted]: {user_prompt}")
84
+ if user_prompt.strip().startswith("/codesearch"):
85
+ # Parse /codesearch <keyword> [path] [max_results]
86
+ parts = user_prompt.strip().split()
87
+ if len(parts) < 2:
88
+ print("Usage: /codesearch <keyword> [path] [max_results]")
89
+ continue
90
+ keyword = parts[1]
91
+ path = parts[2] if len(parts) > 2 else "."
92
+ try:
93
+ max_results = int(parts[3]) if len(parts) > 3 else 10
94
+ except Exception:
95
+ max_results = 10
96
+ code_search = bp.tool_registry.get_python_tool("code_search")
97
+ print("[Codey] Starting code search (progressive)...")
98
+ spinner = CodeySpinner()
99
+ spinner.start()
100
+ try:
101
+ for update in code_search(keyword, path, max_results):
102
+ display_operation_box(
103
+ title="Code Search",
104
+ content=f"Matches so far: {len(update.get('matches', []))}",
105
+ result_count=len(update.get('matches', [])),
106
+ params={k: v for k, v in update.items() if k not in {'matches', 'progress', 'total', 'truncated', 'done'}},
107
+ progress_line=update.get('progress'),
108
+ total_lines=update.get('total'),
109
+ spinner_state=spinner.current_spinner_state(),
110
+ emoji="💻"
111
+ )
112
+ finally:
113
+ spinner.stop()
114
+ print("[Codey] Code search complete.")
115
+ continue
116
+ spinner = CodeySpinner()
117
+ spinner.start()
118
+ try:
119
+ response = bp.assist(user_prompt)
120
+ finally:
121
+ spinner.stop()
122
+ for token in response.split():
123
+ print(f"Codey: {token}", end=" ", flush=True)
124
+ await asyncio.sleep(0.2)
125
+ print("\n")
126
+ display_operation_box(
127
+ title="Assist",
128
+ content=response,
129
+ result_count=1,
130
+ params={},
131
+ progress_line="",
132
+ total_lines=1,
133
+ spinner_state="",
134
+ emoji="💻"
135
+ )
136
+
137
+ try:
138
+ asyncio.run(interact())
139
+ except (KeyboardInterrupt, EOFError):
140
+ print("\nExiting Codey CLI.")
141
+
142
+ def print_splash():
143
+ bp = CodeyBlueprint(blueprint_id="codey")
144
+ print(bp.get_cli_splash())
145
+
146
+ if __name__ == "__main__":
147
+ import sys
148
+ # Only print splash if not running with --message
149
+ if not any(arg.startswith("--message") for arg in sys.argv):
150
+ print_splash()
151
+ main()