massgen 0.1.0a3__tar.gz → 0.1.1__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.

Potentially problematic release.


This version of massgen might be problematic. Click here for more details.

Files changed (360) hide show
  1. {massgen-0.1.0a3 → massgen-0.1.1}/CHANGELOG.md +94 -4
  2. {massgen-0.1.0a3 → massgen-0.1.1}/CONTRIBUTING.md +5 -5
  3. {massgen-0.1.0a3 → massgen-0.1.1}/PKG-INFO +89 -131
  4. {massgen-0.1.0a3 → massgen-0.1.1}/README.md +85 -128
  5. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/__init__.py +1 -1
  6. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/agent_config.py +17 -0
  7. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/api_params_handler/_api_params_handler_base.py +1 -0
  8. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/api_params_handler/_chat_completions_api_params_handler.py +8 -1
  9. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/api_params_handler/_claude_api_params_handler.py +8 -1
  10. massgen-0.1.1/massgen/api_params_handler/_gemini_api_params_handler.py +73 -0
  11. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/api_params_handler/_response_api_params_handler.py +8 -1
  12. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/backend/base.py +31 -0
  13. massgen-0.1.0a3/massgen/backend/base_with_mcp.py → massgen-0.1.1/massgen/backend/base_with_custom_tool_and_mcp.py +282 -11
  14. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/backend/chat_completions.py +182 -92
  15. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/backend/claude.py +115 -18
  16. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/backend/claude_code.py +378 -14
  17. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/backend/docs/CLAUDE_API_RESEARCH.md +3 -3
  18. massgen-0.1.1/massgen/backend/gemini.py +1929 -0
  19. massgen-0.1.1/massgen/backend/gemini_mcp_manager.py +545 -0
  20. massgen-0.1.1/massgen/backend/gemini_trackers.py +344 -0
  21. massgen-0.1.1/massgen/backend/gemini_utils.py +43 -0
  22. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/backend/response.py +129 -70
  23. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/cli.py +577 -110
  24. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/config_builder.py +376 -27
  25. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/README.md +111 -80
  26. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/basic/multi/three_agents_default.yaml +1 -1
  27. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/basic/single/single_agent.yaml +1 -1
  28. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/providers/openai/gpt5_nano.yaml +3 -3
  29. massgen-0.1.1/massgen/configs/tools/custom_tools/claude_code_custom_tool_example.yaml +32 -0
  30. massgen-0.1.1/massgen/configs/tools/custom_tools/claude_code_custom_tool_example_no_path.yaml +28 -0
  31. massgen-0.1.1/massgen/configs/tools/custom_tools/claude_code_custom_tool_with_mcp_example.yaml +40 -0
  32. massgen-0.1.1/massgen/configs/tools/custom_tools/claude_code_custom_tool_with_wrong_mcp_example.yaml +38 -0
  33. massgen-0.1.1/massgen/configs/tools/custom_tools/claude_code_wrong_custom_tool_with_mcp_example.yaml +38 -0
  34. massgen-0.1.1/massgen/configs/tools/custom_tools/claude_custom_tool_example.yaml +24 -0
  35. massgen-0.1.1/massgen/configs/tools/custom_tools/claude_custom_tool_example_no_path.yaml +22 -0
  36. massgen-0.1.1/massgen/configs/tools/custom_tools/claude_custom_tool_with_mcp_example.yaml +35 -0
  37. massgen-0.1.1/massgen/configs/tools/custom_tools/claude_custom_tool_with_wrong_mcp_example.yaml +33 -0
  38. massgen-0.1.1/massgen/configs/tools/custom_tools/claude_wrong_custom_tool_with_mcp_example.yaml +33 -0
  39. massgen-0.1.1/massgen/configs/tools/custom_tools/gemini_custom_tool_example.yaml +24 -0
  40. massgen-0.1.1/massgen/configs/tools/custom_tools/gemini_custom_tool_example_no_path.yaml +22 -0
  41. massgen-0.1.1/massgen/configs/tools/custom_tools/gemini_custom_tool_with_mcp_example.yaml +35 -0
  42. massgen-0.1.1/massgen/configs/tools/custom_tools/gemini_custom_tool_with_wrong_mcp_example.yaml +33 -0
  43. massgen-0.1.1/massgen/configs/tools/custom_tools/gemini_wrong_custom_tool_with_mcp_example.yaml +33 -0
  44. massgen-0.1.1/massgen/configs/tools/custom_tools/github_issue_market_analysis.yaml +94 -0
  45. massgen-0.1.1/massgen/configs/tools/custom_tools/gpt5_nano_custom_tool_example.yaml +24 -0
  46. massgen-0.1.1/massgen/configs/tools/custom_tools/gpt5_nano_custom_tool_example_no_path.yaml +22 -0
  47. massgen-0.1.1/massgen/configs/tools/custom_tools/gpt5_nano_custom_tool_with_mcp_example.yaml +35 -0
  48. massgen-0.1.1/massgen/configs/tools/custom_tools/gpt5_nano_custom_tool_with_wrong_mcp_example.yaml +33 -0
  49. massgen-0.1.1/massgen/configs/tools/custom_tools/gpt5_nano_wrong_custom_tool_with_mcp_example.yaml +33 -0
  50. massgen-0.1.1/massgen/configs/tools/custom_tools/gpt_oss_custom_tool_example.yaml +25 -0
  51. massgen-0.1.1/massgen/configs/tools/custom_tools/gpt_oss_custom_tool_example_no_path.yaml +23 -0
  52. massgen-0.1.1/massgen/configs/tools/custom_tools/gpt_oss_custom_tool_with_mcp_example.yaml +34 -0
  53. massgen-0.1.1/massgen/configs/tools/custom_tools/gpt_oss_custom_tool_with_wrong_mcp_example.yaml +34 -0
  54. massgen-0.1.1/massgen/configs/tools/custom_tools/gpt_oss_wrong_custom_tool_with_mcp_example.yaml +34 -0
  55. massgen-0.1.1/massgen/configs/tools/custom_tools/grok3_mini_custom_tool_example.yaml +24 -0
  56. massgen-0.1.1/massgen/configs/tools/custom_tools/grok3_mini_custom_tool_example_no_path.yaml +22 -0
  57. massgen-0.1.1/massgen/configs/tools/custom_tools/grok3_mini_custom_tool_with_mcp_example.yaml +35 -0
  58. massgen-0.1.1/massgen/configs/tools/custom_tools/grok3_mini_custom_tool_with_wrong_mcp_example.yaml +33 -0
  59. massgen-0.1.1/massgen/configs/tools/custom_tools/grok3_mini_wrong_custom_tool_with_mcp_example.yaml +33 -0
  60. massgen-0.1.1/massgen/configs/tools/custom_tools/qwen_api_custom_tool_example.yaml +25 -0
  61. massgen-0.1.1/massgen/configs/tools/custom_tools/qwen_api_custom_tool_example_no_path.yaml +23 -0
  62. massgen-0.1.1/massgen/configs/tools/custom_tools/qwen_api_custom_tool_with_mcp_example.yaml +36 -0
  63. massgen-0.1.1/massgen/configs/tools/custom_tools/qwen_api_custom_tool_with_wrong_mcp_example.yaml +34 -0
  64. massgen-0.1.1/massgen/configs/tools/custom_tools/qwen_api_wrong_custom_tool_with_mcp_example.yaml +34 -0
  65. massgen-0.1.1/massgen/configs/tools/custom_tools/qwen_local_custom_tool_example.yaml +24 -0
  66. massgen-0.1.1/massgen/configs/tools/custom_tools/qwen_local_custom_tool_example_no_path.yaml +22 -0
  67. massgen-0.1.1/massgen/configs/tools/custom_tools/qwen_local_custom_tool_with_mcp_example.yaml +35 -0
  68. massgen-0.1.1/massgen/configs/tools/custom_tools/qwen_local_custom_tool_with_wrong_mcp_example.yaml +33 -0
  69. massgen-0.1.1/massgen/configs/tools/custom_tools/qwen_local_wrong_custom_tool_with_mcp_example.yaml +33 -0
  70. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/filesystem/claude_code_context_sharing.yaml +1 -1
  71. massgen-0.1.1/massgen/configs/voting/gemini_gpt_voting_sensitivity.yaml +67 -0
  72. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/formatter/_chat_completions_formatter.py +104 -0
  73. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/formatter/_claude_formatter.py +120 -0
  74. massgen-0.1.1/massgen/formatter/_gemini_formatter.py +448 -0
  75. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/formatter/_response_formatter.py +88 -0
  76. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/frontend/coordination_ui.py +4 -2
  77. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/logger_config.py +35 -3
  78. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/message_templates.py +56 -6
  79. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/orchestrator.py +179 -10
  80. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/stream_chunk/base.py +3 -0
  81. massgen-0.1.1/massgen/tests/custom_tools_example.py +392 -0
  82. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/tests/mcp_test_server.py +17 -7
  83. massgen-0.1.1/massgen/tests/test_config_builder.py +423 -0
  84. massgen-0.1.1/massgen/tests/test_custom_tools.py +401 -0
  85. massgen-0.1.1/massgen/tests/test_tools.py +127 -0
  86. massgen-0.1.1/massgen/tool/README.md +935 -0
  87. massgen-0.1.1/massgen/tool/__init__.py +39 -0
  88. massgen-0.1.1/massgen/tool/_async_helpers.py +70 -0
  89. massgen-0.1.1/massgen/tool/_basic/__init__.py +8 -0
  90. massgen-0.1.1/massgen/tool/_basic/_two_num_tool.py +24 -0
  91. massgen-0.1.1/massgen/tool/_code_executors/__init__.py +10 -0
  92. massgen-0.1.1/massgen/tool/_code_executors/_python_executor.py +74 -0
  93. massgen-0.1.1/massgen/tool/_code_executors/_shell_executor.py +61 -0
  94. massgen-0.1.1/massgen/tool/_exceptions.py +39 -0
  95. massgen-0.1.1/massgen/tool/_file_handlers/__init__.py +10 -0
  96. massgen-0.1.1/massgen/tool/_file_handlers/_file_operations.py +218 -0
  97. massgen-0.1.1/massgen/tool/_manager.py +634 -0
  98. massgen-0.1.1/massgen/tool/_registered_tool.py +88 -0
  99. massgen-0.1.1/massgen/tool/_result.py +66 -0
  100. massgen-0.1.1/massgen/tool/_self_evolution/_github_issue_analyzer.py +369 -0
  101. massgen-0.1.1/massgen/tool/docs/builtin_tools.md +681 -0
  102. massgen-0.1.1/massgen/tool/docs/exceptions.md +794 -0
  103. massgen-0.1.1/massgen/tool/docs/execution_results.md +691 -0
  104. massgen-0.1.1/massgen/tool/docs/manager.md +887 -0
  105. massgen-0.1.1/massgen/tool/docs/workflow_toolkits.md +529 -0
  106. massgen-0.1.1/massgen/tool/workflow_toolkits/__init__.py +57 -0
  107. massgen-0.1.1/massgen/tool/workflow_toolkits/base.py +55 -0
  108. massgen-0.1.1/massgen/tool/workflow_toolkits/new_answer.py +126 -0
  109. massgen-0.1.1/massgen/tool/workflow_toolkits/vote.py +167 -0
  110. {massgen-0.1.0a3 → massgen-0.1.1}/massgen.egg-info/PKG-INFO +89 -131
  111. {massgen-0.1.0a3 → massgen-0.1.1}/massgen.egg-info/SOURCES.txt +76 -1
  112. {massgen-0.1.0a3 → massgen-0.1.1}/massgen.egg-info/requires.txt +1 -0
  113. {massgen-0.1.0a3 → massgen-0.1.1}/pyproject.toml +8 -2
  114. massgen-0.1.0a3/massgen/backend/gemini.py +0 -2261
  115. {massgen-0.1.0a3 → massgen-0.1.1}/.env.example +0 -0
  116. {massgen-0.1.0a3 → massgen-0.1.1}/LICENSE +0 -0
  117. {massgen-0.1.0a3 → massgen-0.1.1}/MANIFEST.in +0 -0
  118. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/adapters/__init__.py +0 -0
  119. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/adapters/ag2_adapter.py +0 -0
  120. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/adapters/base.py +0 -0
  121. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/adapters/tests/__init__.py +0 -0
  122. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/adapters/tests/test_ag2_adapter.py +0 -0
  123. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/adapters/tests/test_agent_adapter.py +0 -0
  124. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/adapters/utils/__init__.py +0 -0
  125. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/adapters/utils/ag2_utils.py +0 -0
  126. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/adapters/utils/tests/__init__.py +0 -0
  127. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/adapters/utils/tests/test_ag2_utils.py +0 -0
  128. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/api_params_handler/__init__.py +0 -0
  129. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/backend/__init__.py +0 -0
  130. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/backend/azure_openai.py +0 -0
  131. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/backend/capabilities.py +0 -0
  132. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/backend/cli_base.py +0 -0
  133. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/backend/docs/BACKEND_ARCHITECTURE.md +0 -0
  134. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/backend/docs/Function calling openai responses.md +0 -0
  135. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/backend/docs/GEMINI_API_DOCUMENTATION.md +0 -0
  136. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/backend/docs/Gemini MCP Integration Analysis.md +0 -0
  137. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/backend/docs/MCP_IMPLEMENTATION_CLAUDE_BACKEND.md +0 -0
  138. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/backend/docs/MCP_INTEGRATION_RESPONSE_BACKEND.md +0 -0
  139. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/backend/docs/OPENAI_GPT5_MODELS.md +0 -0
  140. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/backend/docs/OPENAI_RESPONSE_API_TOOL_CALLS.md +0 -0
  141. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/backend/docs/OPENAI_response_streaming.md +0 -0
  142. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/backend/docs/inference_backend.md +0 -0
  143. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/backend/docs/permissions_and_context_files.md +0 -0
  144. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/backend/external.py +0 -0
  145. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/backend/grok.py +0 -0
  146. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/backend/inference.py +0 -0
  147. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/backend/lmstudio.py +0 -0
  148. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/chat_agent.py +0 -0
  149. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/BACKEND_CONFIGURATION.md +0 -0
  150. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/ag2/ag2_case_study.yaml +0 -0
  151. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/ag2/ag2_coder.yaml +0 -0
  152. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/ag2/ag2_coder_case_study.yaml +0 -0
  153. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/ag2/ag2_gemini.yaml +0 -0
  154. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/ag2/ag2_groupchat.yaml +0 -0
  155. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/ag2/ag2_groupchat_gpt.yaml +0 -0
  156. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/ag2/ag2_single_agent.yaml +0 -0
  157. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/basic/multi/fast_timeout_example.yaml +0 -0
  158. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/basic/multi/gemini_4o_claude.yaml +0 -0
  159. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/basic/multi/gemini_gpt5nano_claude.yaml +0 -0
  160. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/basic/multi/geminicode_4o_claude.yaml +0 -0
  161. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/basic/multi/geminicode_gpt5nano_claude.yaml +0 -0
  162. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/basic/multi/glm_gemini_claude.yaml +0 -0
  163. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/basic/multi/gpt4o_audio_generation.yaml +0 -0
  164. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/basic/multi/gpt4o_image_generation.yaml +0 -0
  165. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/basic/multi/gpt5nano_glm_qwen.yaml +0 -0
  166. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/basic/multi/gpt5nano_image_understanding.yaml +0 -0
  167. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/basic/multi/three_agents_opensource.yaml +0 -0
  168. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/basic/multi/three_agents_vllm.yaml +0 -0
  169. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/basic/multi/two_agents_gemini.yaml +0 -0
  170. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/basic/multi/two_agents_gpt5.yaml +0 -0
  171. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/basic/multi/two_agents_opensource_lmstudio.yaml +0 -0
  172. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/basic/multi/two_qwen_vllm_sglang.yaml +0 -0
  173. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/basic/single/single_flash2.5.yaml +0 -0
  174. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/basic/single/single_gemini2.5pro.yaml +0 -0
  175. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/basic/single/single_gpt4o_audio_generation.yaml +0 -0
  176. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/basic/single/single_gpt4o_image_generation.yaml +0 -0
  177. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/basic/single/single_gpt4o_video_generation.yaml +0 -0
  178. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/basic/single/single_gpt5nano.yaml +0 -0
  179. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/basic/single/single_gpt5nano_file_search.yaml +0 -0
  180. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/basic/single/single_gpt5nano_image_understanding.yaml +0 -0
  181. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/basic/single/single_gptoss120b.yaml +0 -0
  182. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/basic/single/single_openrouter_audio_understanding.yaml +0 -0
  183. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/basic/single/single_qwen_video_understanding.yaml +0 -0
  184. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/debug/code_execution/command_filtering_blacklist.yaml +0 -0
  185. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/debug/code_execution/command_filtering_whitelist.yaml +0 -0
  186. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/debug/code_execution/docker_verification.yaml +0 -0
  187. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/debug/skip_coordination_test.yaml +0 -0
  188. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/debug/test_sdk_migration.yaml +0 -0
  189. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/docs/DISCORD_MCP_SETUP.md +0 -0
  190. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/docs/TWITTER_MCP_ENESCINAR_SETUP.md +0 -0
  191. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/providers/azure/azure_openai_multi.yaml +0 -0
  192. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/providers/azure/azure_openai_single.yaml +0 -0
  193. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/providers/claude/claude.yaml +0 -0
  194. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/providers/gemini/gemini_gpt5nano.yaml +0 -0
  195. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/providers/local/lmstudio.yaml +0 -0
  196. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/providers/openai/gpt5.yaml +0 -0
  197. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/providers/others/grok_single_agent.yaml +0 -0
  198. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/providers/others/zai_coding_team.yaml +0 -0
  199. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/providers/others/zai_glm45.yaml +0 -0
  200. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/teams/creative/creative_team.yaml +0 -0
  201. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/teams/creative/travel_planning.yaml +0 -0
  202. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/teams/research/news_analysis.yaml +0 -0
  203. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/teams/research/research_team.yaml +0 -0
  204. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/teams/research/technical_analysis.yaml +0 -0
  205. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/code-execution/basic_command_execution.yaml +0 -0
  206. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/code-execution/code_execution_use_case_simple.yaml +0 -0
  207. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/code-execution/docker_claude_code.yaml +0 -0
  208. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/code-execution/docker_multi_agent.yaml +0 -0
  209. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/code-execution/docker_simple.yaml +0 -0
  210. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/code-execution/docker_with_resource_limits.yaml +0 -0
  211. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/code-execution/multi_agent_playwright_automation.yaml +0 -0
  212. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/filesystem/cc_gpt5_gemini_filesystem.yaml +0 -0
  213. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/filesystem/claude_code_flash2.5.yaml +0 -0
  214. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/filesystem/claude_code_flash2.5_gptoss.yaml +0 -0
  215. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/filesystem/claude_code_gpt5nano.yaml +0 -0
  216. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/filesystem/claude_code_single.yaml +0 -0
  217. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/filesystem/fs_permissions_test.yaml +0 -0
  218. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/filesystem/gemini_gemini_workspace_cleanup.yaml +0 -0
  219. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/filesystem/gemini_gpt5_filesystem_casestudy.yaml +0 -0
  220. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/filesystem/gemini_gpt5nano_file_context_path.yaml +0 -0
  221. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/filesystem/gemini_gpt5nano_protected_paths.yaml +0 -0
  222. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/filesystem/gpt5mini_cc_fs_context_path.yaml +0 -0
  223. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/filesystem/grok4_gpt5_gemini_filesystem.yaml +0 -0
  224. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/filesystem/multiturn/grok4_gpt5_claude_code_filesystem_multiturn.yaml +0 -0
  225. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/filesystem/multiturn/grok4_gpt5_gemini_filesystem_multiturn.yaml +0 -0
  226. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/filesystem/multiturn/two_claude_code_filesystem_multiturn.yaml +0 -0
  227. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/filesystem/multiturn/two_gemini_flash_filesystem_multiturn.yaml +0 -0
  228. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/mcp/claude_code_discord_mcp_example.yaml +0 -0
  229. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/mcp/claude_code_simple_mcp.yaml +0 -0
  230. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/mcp/claude_code_twitter_mcp_example.yaml +0 -0
  231. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/mcp/claude_mcp_example.yaml +0 -0
  232. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/mcp/claude_mcp_test.yaml +0 -0
  233. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/mcp/five_agents_travel_mcp_test.yaml +0 -0
  234. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/mcp/five_agents_weather_mcp_test.yaml +0 -0
  235. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/mcp/gemini_mcp_example.yaml +0 -0
  236. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/mcp/gemini_mcp_filesystem_test.yaml +0 -0
  237. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/mcp/gemini_mcp_filesystem_test_sharing.yaml +0 -0
  238. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/mcp/gemini_mcp_filesystem_test_single_agent.yaml +0 -0
  239. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/mcp/gemini_mcp_filesystem_test_with_claude_code.yaml +0 -0
  240. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/mcp/gemini_mcp_test.yaml +0 -0
  241. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/mcp/gemini_notion_mcp.yaml +0 -0
  242. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/mcp/gpt5_nano_mcp_example.yaml +0 -0
  243. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/mcp/gpt5_nano_mcp_test.yaml +0 -0
  244. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/mcp/gpt5mini_claude_code_discord_mcp_example.yaml +0 -0
  245. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/mcp/gpt_oss_mcp_example.yaml +0 -0
  246. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/mcp/gpt_oss_mcp_test.yaml +0 -0
  247. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/mcp/grok3_mini_mcp_example.yaml +0 -0
  248. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/mcp/grok3_mini_mcp_test.yaml +0 -0
  249. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/mcp/multimcp_gemini.yaml +0 -0
  250. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/mcp/qwen_api_mcp_example.yaml +0 -0
  251. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/mcp/qwen_api_mcp_test.yaml +0 -0
  252. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/mcp/qwen_local_mcp_example.yaml +0 -0
  253. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/mcp/qwen_local_mcp_test.yaml +0 -0
  254. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/planning/five_agents_discord_mcp_planning_mode.yaml +0 -0
  255. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/planning/five_agents_filesystem_mcp_planning_mode.yaml +0 -0
  256. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/planning/five_agents_notion_mcp_planning_mode.yaml +0 -0
  257. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/planning/five_agents_twitter_mcp_planning_mode.yaml +0 -0
  258. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/planning/gpt5_mini_case_study_mcp_planning_mode.yaml +0 -0
  259. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/web-search/claude_streamable_http_test.yaml +0 -0
  260. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/web-search/gemini_streamable_http_test.yaml +0 -0
  261. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/web-search/gpt5_mini_streamable_http_test.yaml +0 -0
  262. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/web-search/gpt_oss_streamable_http_test.yaml +0 -0
  263. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/web-search/grok3_mini_streamable_http_test.yaml +0 -0
  264. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/web-search/qwen_api_streamable_http_test.yaml +0 -0
  265. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/configs/tools/web-search/qwen_local_streamable_http_test.yaml +0 -0
  266. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/coordination_tracker.py +0 -0
  267. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/docker/README.md +0 -0
  268. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/filesystem_manager/__init__.py +0 -0
  269. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/filesystem_manager/_base.py +0 -0
  270. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/filesystem_manager/_code_execution_server.py +0 -0
  271. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/filesystem_manager/_docker_manager.py +0 -0
  272. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/filesystem_manager/_file_operation_tracker.py +0 -0
  273. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/filesystem_manager/_filesystem_manager.py +0 -0
  274. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/filesystem_manager/_path_permission_manager.py +0 -0
  275. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/filesystem_manager/_workspace_tools_server.py +0 -0
  276. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/formatter/__init__.py +0 -0
  277. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/formatter/_formatter_base.py +0 -0
  278. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/frontend/__init__.py +0 -0
  279. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/frontend/displays/__init__.py +0 -0
  280. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/frontend/displays/base_display.py +0 -0
  281. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/frontend/displays/create_coordination_table.py +0 -0
  282. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/frontend/displays/rich_terminal_display.py +0 -0
  283. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/frontend/displays/simple_display.py +0 -0
  284. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/frontend/displays/terminal_display.py +0 -0
  285. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/mcp_tools/README.md +0 -0
  286. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/mcp_tools/__init__.py +0 -0
  287. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/mcp_tools/backend_utils.py +0 -0
  288. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/mcp_tools/circuit_breaker.py +0 -0
  289. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/mcp_tools/client.py +0 -0
  290. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/mcp_tools/config_validator.py +0 -0
  291. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/mcp_tools/docs/circuit_breaker.md +0 -0
  292. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/mcp_tools/docs/client.md +0 -0
  293. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/mcp_tools/docs/config_validator.md +0 -0
  294. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/mcp_tools/docs/exceptions.md +0 -0
  295. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/mcp_tools/docs/security.md +0 -0
  296. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/mcp_tools/exceptions.py +0 -0
  297. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/mcp_tools/hooks.py +0 -0
  298. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/mcp_tools/security.py +0 -0
  299. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/stream_chunk/__init__.py +0 -0
  300. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/stream_chunk/multimodal.py +0 -0
  301. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/stream_chunk/text.py +0 -0
  302. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/tests/__init__.py +0 -0
  303. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/tests/multi_turn_conversation_design.md +0 -0
  304. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/tests/multiturn_llm_input_analysis.md +0 -0
  305. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/tests/test_azure_openai_backend.py +0 -0
  306. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/tests/test_backend_capabilities.py +0 -0
  307. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/tests/test_backend_event_loop_all.py +0 -0
  308. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/tests/test_case_studies.md +0 -0
  309. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/tests/test_chat_completions_refactor.py +0 -0
  310. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/tests/test_claude_backend.py +0 -0
  311. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/tests/test_claude_code.py +0 -0
  312. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/tests/test_claude_code_context_sharing.py +0 -0
  313. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/tests/test_claude_code_orchestrator.py +0 -0
  314. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/tests/test_cli_backends.py +0 -0
  315. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/tests/test_code_execution.py +0 -0
  316. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/tests/test_external_agent_backend.py +0 -0
  317. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/tests/test_final_presentation_fallback.py +0 -0
  318. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/tests/test_gemini_planning_mode.py +0 -0
  319. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/tests/test_grok_backend.py +0 -0
  320. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/tests/test_http_mcp_server.py +0 -0
  321. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/tests/test_integration_simple.py +0 -0
  322. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/tests/test_mcp_blocking.py +0 -0
  323. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/tests/test_message_context_building.py +0 -0
  324. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/tests/test_orchestrator_final_presentation.py +0 -0
  325. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/tests/test_path_permission_manager.py +0 -0
  326. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/tests/test_rich_terminal_display.py +0 -0
  327. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/tests/test_timeout.py +0 -0
  328. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/tests/test_v3_3agents.py +0 -0
  329. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/tests/test_v3_simple.py +0 -0
  330. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/tests/test_v3_three_agents.py +0 -0
  331. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/tests/test_v3_two_agents.py +0 -0
  332. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/token_manager/__init__.py +0 -0
  333. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/token_manager/token_manager.py +0 -0
  334. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/utils.py +0 -0
  335. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/v1/README.md +0 -0
  336. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/v1/__init__.py +0 -0
  337. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/v1/agent.py +0 -0
  338. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/v1/agents.py +0 -0
  339. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/v1/backends/gemini.py +0 -0
  340. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/v1/backends/grok.py +0 -0
  341. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/v1/backends/oai.py +0 -0
  342. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/v1/cli.py +0 -0
  343. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/v1/config.py +0 -0
  344. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/v1/examples/fast-4o-mini-config.yaml +0 -0
  345. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/v1/examples/fast_config.yaml +0 -0
  346. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/v1/examples/production.yaml +0 -0
  347. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/v1/examples/single_agent.yaml +0 -0
  348. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/v1/logging.py +0 -0
  349. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/v1/main.py +0 -0
  350. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/v1/orchestrator.py +0 -0
  351. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/v1/streaming_display.py +0 -0
  352. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/v1/tools.py +0 -0
  353. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/v1/types.py +0 -0
  354. {massgen-0.1.0a3 → massgen-0.1.1}/massgen/v1/utils.py +0 -0
  355. {massgen-0.1.0a3 → massgen-0.1.1}/massgen.egg-info/dependency_links.txt +0 -0
  356. {massgen-0.1.0a3 → massgen-0.1.1}/massgen.egg-info/entry_points.txt +0 -0
  357. {massgen-0.1.0a3 → massgen-0.1.1}/massgen.egg-info/not-zip-safe +0 -0
  358. {massgen-0.1.0a3 → massgen-0.1.1}/massgen.egg-info/top_level.txt +0 -0
  359. {massgen-0.1.0a3 → massgen-0.1.1}/requirements.txt +0 -0
  360. {massgen-0.1.0a3 → massgen-0.1.1}/setup.cfg +0 -0
@@ -7,18 +7,108 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## Recent Releases
9
9
 
10
+ **v0.1.1 (October 2025)** - Custom Tools, Voting Controls & Documentation
11
+ Custom Python function tools, voting sensitivity controls, interactive config builder, and comprehensive Sphinx documentation.
12
+
10
13
  **v0.1.0 (October 2025)** - PyPI Package & Documentation
11
14
  Official PyPI release with enhanced documentation and installation via `pip install massgen`.
12
15
 
13
16
  **v0.0.32 (October 2025)** - Docker Execution Mode
14
17
  Isolated command execution in Docker containers with resource limits and multi-agent support.
15
18
 
16
- **v0.0.31 (October 2025)** - Code Execution, AG2 Integration, Multimodal
17
- MCP-based command execution across all backends, AG2 framework integration, and audio/video generation.
18
-
19
19
  ---
20
20
 
21
- ## [0.1.0] - 2025-10-15 (PyPI Release)
21
+ ## [0.1.1] - 2025-10-20
22
+
23
+ ### Added
24
+ - **Custom Tools System**: Complete framework for registering and executing user-defined Python functions as tools
25
+ - New `ToolManager` class in `massgen/tool/_manager.py` for centralized tool registration and lifecycle management
26
+ - Support for custom tools alongside MCP servers across all backends (Claude, Gemini, OpenAI Response API, Chat Completions, Claude Code)
27
+ - Three tool categories: builtin, mcp, and custom tools
28
+ - Automatic tool discovery with name prefixing and conflict resolution
29
+ - Tool validation with parameter schema enforcement
30
+ - Comprehensive test coverage in `test_custom_tools.py`
31
+
32
+ - **Voting Sensitivity & Answer Novelty Controls**: Three-tier system for multi-agent coordination
33
+ - New `voting_sensitivity` parameter with three levels: "lenient", "balanced", "strict"
34
+ - "Lenient": Accepts any reasonable answer
35
+ - "Balanced": Default middle ground
36
+ - "Strict": High-quality requirement
37
+ - Answer novelty detection with `_check_answer_novelty()` method in `orchestrator.py` preventing duplicate answers
38
+ - Configurable `max_new_answers_per_agent` limiting submissions per agent
39
+ - Token-based similarity thresholds (50-70% overlap) for duplicate detection
40
+
41
+ - **Interactive Configuration Builder**: Wizard for creating YAML configurations
42
+ - New `config_builder.py` module with step-by-step prompts
43
+ - Guided workflow for backend selection, model configuration, and API key setup
44
+ - Model-specific parameter handling (temperature, reasoning, verbosity)
45
+ - Tool enablement options (MCP servers, custom tools, builtin tools)
46
+ - Configuration validation and preview before saving
47
+ - Integration with `massgen --config-builder` command
48
+
49
+ - **Backend Capabilities Registry**: Centralized feature support tracking
50
+ - New `capabilities.py` module in `massgen/backend/` documenting backend capabilities
51
+ - Feature matrix showing MCP, custom tools, multimodal, and code execution support
52
+ - Runtime capability queries for backend selection
53
+
54
+ ### Changed
55
+ - **Gemini Backend Architecture**: Major refactoring for improved maintainability
56
+ - Extracted MCP management into `gemini_mcp_manager.py`
57
+ - Extracted tracking logic into `gemini_trackers.py`
58
+ - Extracted utilities into `gemini_utils.py`
59
+ - New API params handler `_gemini_api_params_handler.py`
60
+ - Improved session management and tool execution flow
61
+
62
+ - **Python Version Requirements**: Updated minimum supported version
63
+ - Changed from Python 3.10+ to Python 3.11+ in `pyproject.toml`
64
+ - Ensures compatibility with modern type hints and async features
65
+
66
+ - **API Key Setup Command**: Simplified command name
67
+ - Renamed `massgen --setup-keys` to `massgen --setup` for brevity
68
+ - Maintained all functionality for interactive API key configuration
69
+
70
+ - **Configuration Examples**: Updated example commands
71
+ - Changed from `python -m massgen.cli` to simplified `massgen` command
72
+ - Updated 40+ configuration files for consistency
73
+
74
+ ### Fixed
75
+ - **CLI Configuration Selection**: Resolved error with large config lists
76
+ - Fixed crash when using `massgen --select` with many available configurations
77
+ - Improved pagination and display of configuration options
78
+ - Enhanced error handling for configuration discovery
79
+
80
+ - **CLI Help System**: Improved documentation display
81
+ - Fixed help text formatting in `massgen --help`
82
+ - Better organization of command options and examples
83
+
84
+ ### Documentations, Configurations and Resources
85
+
86
+ - **Case Study: Universal Code Execution via MCP**: Comprehensive v0.0.31 feature documentation
87
+ - `docs/case_studies/universal-code-execution-mcp.md`
88
+ - Demonstrates pytest test creation and execution across backends
89
+ - Shows command validation, security layers, and result interpretation
90
+
91
+ - **Documentation Updates**: Enhanced existing documentation
92
+ - Added custom tools user guide and integration examples
93
+ - Reorganized case studies for improved navigation
94
+ - Updated configuration schema with new voting and tools parameters
95
+
96
+ - **Custom Tools Examples**: 40+ example configurations
97
+ - Basic single-tool setups for each backend
98
+ - Multi-agent configurations with custom tools
99
+ - Integration examples combining MCP and custom tools
100
+ - Located in `configs/tools/custom_tools/`
101
+
102
+ - **Voting Sensitivity Examples**: Configuration examples for voting controls
103
+ - `configs/voting/gemini_gpt_voting_sensitivity.yaml`
104
+ - Demonstrates lenient, balanced, and strict voting modes
105
+ - Shows answer novelty threshold configuration
106
+
107
+ ### Technical Details
108
+ - **Major Focus**: Custom tools system, voting sensitivity controls, interactive config builder, and comprehensive documentation
109
+ - **Contributors**: @qidanrui @ncrispino @praneeth999 @sonichi @Eric-Shang @Henry-811 and the MassGen team
110
+
111
+ ## [0.1.0] - 2025-10-17 (PyPI Release)
22
112
 
23
113
  ### Added
24
114
  - **PyPI Package Release**: Official MassGen package available on PyPI for easy installation via pip
@@ -267,7 +267,7 @@ Create a `.env` file in the `massgen` directory as described in [README](README.
267
267
 
268
268
  ## 🔧 Development Workflow
269
269
 
270
- > **Important**: Our next version is v0.1.1. If you want to contribute, please contribute to the `dev/v0.1.1` branch.
270
+ > **Important**: Our next version is v0.1.2. If you want to contribute, please contribute to the `dev/v0.1.2` branch.
271
271
 
272
272
  ### 1. Create Feature Branch
273
273
 
@@ -275,8 +275,8 @@ Create a `.env` file in the `massgen` directory as described in [README](README.
275
275
  # Fetch latest changes from upstream
276
276
  git fetch upstream
277
277
 
278
- # Create feature branch from dev/v0.1.1
279
- git checkout -b feature/your-feature-name upstream/dev/v0.1.1
278
+ # Create feature branch from dev/v0.1.2
279
+ git checkout -b feature/your-feature-name upstream/dev/v0.1.2
280
280
  ```
281
281
 
282
282
  ### 2. Make Your Changes
@@ -373,7 +373,7 @@ git push origin feature/your-feature-name
373
373
  ```
374
374
 
375
375
  Then create a pull request on GitHub:
376
- - Base branch: `dev/v0.1.1`
376
+ - Base branch: `dev/v0.1.2`
377
377
  - Compare branch: `feature/your-feature-name`
378
378
  - Add clear description of changes
379
379
  - Link any related issues
@@ -479,7 +479,7 @@ Have a significant feature idea not covered by existing tracks?
479
479
  - [ ] Tests pass locally
480
480
  - [ ] Documentation is updated if needed
481
481
  - [ ] Commit messages follow convention
482
- - [ ] PR targets `dev/v0.1.1` branch
482
+ - [ ] PR targets `dev/v0.1.2` branch
483
483
 
484
484
  ### PR Description Should Include
485
485
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: massgen
3
- Version: 0.1.0a3
3
+ Version: 0.1.1
4
4
  Summary: Multi-Agent Scaling System - A powerful framework for collaborative AI
5
5
  Author-email: MassGen Team <contact@massgen.dev>
6
6
  License: Apache-2.0
@@ -8,9 +8,9 @@ Project-URL: Homepage, https://github.com/Leezekun/MassGen
8
8
  Project-URL: Repository, https://github.com/Leezekun/MassGen
9
9
  Project-URL: Bug Reports, https://github.com/Leezekun/MassGen/issues
10
10
  Project-URL: Source, https://github.com/Leezekun/MassGen
11
- Project-URL: Documentation, https://github.com/Leezekun/MassGen/blob/main/README.md
11
+ Project-URL: Documentation, https://docs.massgen.ai/en/latest/
12
12
  Keywords: ai,multi-agent,collaboration,orchestration,llm,claude,gemini,gpt,xai
13
- Classifier: Development Status :: 3 - Alpha
13
+ Classifier: Development Status :: 4 - Beta
14
14
  Classifier: Intended Audience :: Developers
15
15
  Classifier: Intended Audience :: Science/Research
16
16
  Classifier: Operating System :: OS Independent
@@ -48,6 +48,7 @@ Requires-Dist: pillow>=11.3.0
48
48
  Requires-Dist: ag2>=0.9.10
49
49
  Requires-Dist: pyautogen>=0.10.0
50
50
  Requires-Dist: vertexai>=1.71.1
51
+ Requires-Dist: pytest>=8.4.2
51
52
  Provides-Extra: dev
52
53
  Requires-Dist: pytest>=7.0.0; extra == "dev"
53
54
  Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
@@ -82,7 +83,7 @@ Provides-Extra: all
82
83
  Dynamic: license-file
83
84
 
84
85
  <p align="center">
85
- <img src="assets/logo.png" alt="MassGen Logo" width="360" />
86
+ <img src="https://raw.githubusercontent.com/Leezekun/MassGen/main/assets/logo.png" alt="MassGen Logo" width="360" />
86
87
  </p>
87
88
 
88
89
  <p align="center">
@@ -92,6 +93,9 @@ Dynamic: license-file
92
93
  <a href="LICENSE">
93
94
  <img src="https://img.shields.io/badge/license-Apache%202.0-blue.svg" alt="License" style="margin-right: 5px;">
94
95
  </a>
96
+ <a href="https://docs.massgen.ai">
97
+ <img src="https://img.shields.io/badge/docs-massgen.ai-blue.svg" alt="Documentation" style="margin-right: 5px;">
98
+ </a>
95
99
  <a href="https://discord.massgen.ai">
96
100
  <img src="https://img.shields.io/discord/1153072414184452236?color=7289da&label=chat&logo=discord&style=flat-square" alt="Join our Discord">
97
101
  </a>
@@ -105,7 +109,7 @@ Dynamic: license-file
105
109
 
106
110
  <p align="center">
107
111
  <a href="https://www.youtube.com/watch?v=Dp2oldJJImw">
108
- <img src="assets/massgen-demo.gif" alt="MassGen case study -- Berkeley Agentic AI Summit Question" width="800">
112
+ <img src="https://raw.githubusercontent.com/Leezekun/MassGen/main/assets/massgen-demo.gif" alt="MassGen case study -- Berkeley Agentic AI Summit Question" width="800">
109
113
  </a>
110
114
  </p>
111
115
 
@@ -134,7 +138,7 @@ This project started with the "threads of thought" and "iterative refinement" id
134
138
  <details open>
135
139
  <summary><h3>🆕 Latest Features</h3></summary>
136
140
 
137
- - [v0.1.0 Features](#-latest-features-v010)
141
+ - [v0.1.1 Features](#-latest-features-v011)
138
142
  </details>
139
143
 
140
144
  <details open>
@@ -179,15 +183,15 @@ This project started with the "threads of thought" and "iterative refinement" id
179
183
  <summary><h3>🗺️ Roadmap</h3></summary>
180
184
 
181
185
  - Recent Achievements
182
- - [v0.1.0](#recent-achievements-v010)
183
- - [v0.0.3 - v0.0.32](#previous-achievements-v003---v0032)
186
+ - [v0.1.1](#recent-achievements-v011)
187
+ - [v0.0.3 - v0.1.0](#previous-achievements-v003---v010)
184
188
  - [Key Future Enhancements](#key-future-enhancements)
185
189
  - Bug Fixes & Backend Improvements
186
190
  - Advanced Agent Collaboration
187
191
  - Expanded Model, Tool & Agent Integrations
188
192
  - Improved Performance & Scalability
189
193
  - Enhanced Developer Experience
190
- - [v0.1.1 Roadmap](#v011-roadmap)
194
+ - [v0.1.2 Roadmap](#v012-roadmap)
191
195
  </details>
192
196
 
193
197
  <details open>
@@ -212,27 +216,36 @@ This project started with the "threads of thought" and "iterative refinement" id
212
216
 
213
217
  ---
214
218
 
215
- ## 🆕 Latest Features (v0.1.0)
219
+ ## 🆕 Latest Features (v0.1.1)
220
+
221
+ **🎉 Released: October 20, 2025**
222
+
223
+ **What's New in v0.1.1:**
224
+ - **🔧 Custom Tools System** - Register your own Python functions as tools
225
+ - **⚖️ Voting Sensitivity Controls** - Three-tier quality control for multi-agent consensus
226
+ - **🎯 Configuration Builder** - Interactive wizard to create custom configs
227
+ - **📊 Backend Capabilities Registry** - Centralized feature support tracking
228
+ - **🔬 Self-Evolution Capability** - Agents autonomously analyze GitHub issues and market trends for feature prioritization
216
229
 
217
- **🎉 Released: October 17, 2025**
230
+ [![MassGen v0.1.1 Custom Tools & Voting Demo](https://img.youtube.com/vi/eXK_oF177zY/0.jpg)](https://youtu.be/eXK_oF177zY)
218
231
 
219
- **What's New in v0.1.0:**
220
- - **📦 PyPI Package** - Official pip installation: `pip install massgen`
221
- - **📖 Comprehensive Documentation** - Full Sphinx docs at [massgen.readthedocs.io](https://massgen.readthedocs.io)
222
- - **🎯 Interactive Setup Wizard** - Guided configuration for first-time users
223
- - **🚀 Simplified Commands** - Clean `massgen` CLI with `@examples/` prefix for built-in configs
232
+ *Watch the v0.1.1 demo showcasing custom Python tool registration and three-tier voting sensitivity controls for multi-agent quality assurance*
224
233
 
225
- **Get Started with v0.1.0:**
234
+ **Get Started with v0.1.1:**
226
235
  ```bash
227
- # Install from PyPI
228
- pip install massgen
236
+ # Install or upgrade from PyPI
237
+ pip install --upgrade massgen
229
238
 
230
- # Run the interactive setup wizard
231
- massgen
239
+ # Create a configuration with the interactive builder
240
+ massgen --setup
232
241
 
233
- # Start using with example configurations
234
- massgen --config @examples/basic/multi/three_agents_default \
235
- "Analyze the pros and cons of renewable energy"
242
+ # Try custom tools with agents
243
+ massgen --config @examples/tools/custom_tools/claude_custom_tool_example \
244
+ "What's the sum of 123 and 456?"
245
+
246
+ # Use voting sensitivity controls for quality assurance
247
+ massgen --config @examples/voting/gemini_gpt_voting_sensitivity \
248
+ "What are the pros and cons of renewable energy?"
236
249
  ```
237
250
 
238
251
  → [See full release history and examples](massgen/configs/README.md#release-history--examples)
@@ -282,7 +295,7 @@ This collaborative approach ensures that the final output leverages collective i
282
295
 
283
296
  ---
284
297
 
285
- > 📖 **Complete Documentation:** For comprehensive guides, API reference, and detailed examples, visit **[massgen.readthedocs.io](https://massgen.readthedocs.io)**
298
+ > 📖 **Complete Documentation:** For comprehensive guides, API reference, and detailed examples, visit **[MassGen Official Documentation](https://docs.massgen.ai/)**
286
299
 
287
300
  ---
288
301
 
@@ -321,7 +334,7 @@ massgen "Your question here"
321
334
  massgen --config @examples/basic/multi/three_agents_default "Your question"
322
335
  ```
323
336
 
324
- → See [Installation Guide](https://massgen.readthedocs.io/en/latest/quickstart/installation.html) for complete setup instructions.
337
+ → See [Installation Guide](https://docs.massgen.ai/en/latest/quickstart/installation.html) for complete setup instructions.
325
338
 
326
339
  **Method 2: Development Installation** (for contributors):
327
340
 
@@ -336,7 +349,7 @@ pip install -e .
336
349
  # Or with uv (faster)
337
350
  uv pip install -e .
338
351
 
339
- # Optional: AG2 framework integration
352
+ # Optional: External framework integration
340
353
  pip install -e ".[external]"
341
354
  ```
342
355
 
@@ -367,13 +380,13 @@ git clone https://github.com/Leezekun/MassGen.git
367
380
  cd MassGen
368
381
  uv tool install -e .
369
382
  # Now run from any directory
370
- uv tool run massgen --config @examples/basic_multi "Question"
383
+ uv tool run massgen --config @examples/basic/multi/three_agents_default "Question"
371
384
  ```
372
385
 
373
386
  **Backwards compatibility (uv run):**
374
387
  ```bash
375
388
  cd /path/to/MassGen
376
- uv run massgen --config @examples/basic_multi "Question"
389
+ uv run massgen --config @examples/basic/multi/three_agents_default "Question"
377
390
  uv run python -m massgen.cli --config config.yaml "Question"
378
391
  ```
379
392
 
@@ -411,11 +424,11 @@ OPENROUTER_API_KEY=...
411
424
 
412
425
  MassGen automatically loads API keys from `.env` in your current directory.
413
426
 
414
- → **Complete setup guide with all providers:** See [API Key Configuration](https://massgen.readthedocs.io/en/latest/quickstart/installation.html#api-key-configuration) in the docs
427
+ → **Complete setup guide with all providers:** See [API Key Configuration](https://docs.massgen.ai/en/latest/quickstart/installation.html#api-key-configuration) in the docs
415
428
 
416
429
  **Get API keys:**
417
430
  - [OpenAI](https://platform.openai.com/api-keys) | [Claude](https://docs.anthropic.com/en/api/overview) | [Gemini](https://ai.google.dev/gemini-api/docs) | [Grok](https://docs.x.ai/docs/overview)
418
- - [Azure OpenAI](https://learn.microsoft.com/en-us/azure/ai-services/openai/) | [Cerebras](https://inference-docs.cerebras.ai/introduction) | [More providers...](https://massgen.readthedocs.io/en/latest/reference/supported_models.html)
431
+ - [Azure OpenAI](https://learn.microsoft.com/en-us/azure/ai-services/openai/) | [Cerebras](https://inference-docs.cerebras.ai/introduction) | [More providers...](https://docs.massgen.ai/en/latest/reference/supported_models.html)
419
432
 
420
433
  ### 3. 🧩 Supported Models and Tools
421
434
 
@@ -446,7 +459,7 @@ The system currently supports multiple model providers with advanced capabilitie
446
459
  - Zero-cost usage reporting
447
460
  - Support for LLaMA, Mistral, Qwen and other open-weight models
448
461
 
449
- → For complete model list and configuration details, see [Supported Models](https://massgen.readthedocs.io/en/latest/reference/supported_models.html)
462
+ → For complete model list and configuration details, see [Supported Models](https://docs.massgen.ai/en/latest/reference/supported_models.html)
450
463
 
451
464
  #### Tools
452
465
 
@@ -466,13 +479,13 @@ MassGen agents can leverage various tools to enhance their problem-solving capab
466
479
 
467
480
  **Note:** Audio/video multimodal support (NEW in v0.0.30) is available through Chat Completions-based providers like OpenRouter and Qwen API. See configuration examples: [`single_openrouter_audio_understanding.yaml`](massgen/configs/basic/single/single_openrouter_audio_understanding.yaml), [`single_qwen_video_understanding.yaml`](massgen/configs/basic/single/single_qwen_video_understanding.yaml)
468
481
 
469
- → For detailed backend capabilities and tool integration guides, see [User Guide - Backends](https://massgen.readthedocs.io/en/latest/user_guide/backends.html)
482
+ → For detailed backend capabilities and tool integration guides, see [User Guide - Backends](https://docs.massgen.ai/en/latest/user_guide/backends.html)
470
483
 
471
484
  ---
472
485
 
473
486
  ### 4. 🏃 Run MassGen
474
487
 
475
- > **Complete Usage Guide:** For all usage modes, advanced features, and interactive multi-turn sessions, see [Running MassGen](https://massgen.readthedocs.io/en/latest/quickstart/running-massgen.html)
488
+ > **Complete Usage Guide:** For all usage modes, advanced features, and interactive multi-turn sessions, see [Running MassGen](https://docs.massgen.ai/en/latest/quickstart/running-massgen.html)
476
489
 
477
490
  #### 🚀 Getting Started
478
491
 
@@ -636,7 +649,7 @@ agents:
636
649
 
637
650
  → [View more MCP examples](massgen/configs/tools/mcp/)
638
651
 
639
- → For comprehensive MCP integration guide, see [MCP Integration](https://massgen.readthedocs.io/en/latest/user_guide/mcp_integration.html)
652
+ → For comprehensive MCP integration guide, see [MCP Integration](https://docs.massgen.ai/en/latest/user_guide/mcp_integration.html)
640
653
 
641
654
  #### **4. File System Operations & Workspace Management**
642
655
 
@@ -715,7 +728,7 @@ orchestrator:
715
728
  >
716
729
  > The agents will execute file operations without additional confirmation once permissions are granted.
717
730
 
718
- → For comprehensive file operations guide, see [File Operations](https://massgen.readthedocs.io/en/latest/user_guide/file_operations.html)
731
+ → For comprehensive file operations guide, see [File Operations](https://docs.massgen.ai/en/latest/user_guide/file_operations.html)
719
732
 
720
733
  #### **5. Project Integration & User Context Paths (NEW in v0.0.21)**
721
734
 
@@ -841,9 +854,7 @@ agents:
841
854
  cwd: "workspace1" # → .massgen/workspaces/workspace1/
842
855
  ```
843
856
 
844
- [Learn more about project integration](massgen/mcp_tools/permissions_and_context_files.md)
845
-
846
- → For comprehensive project integration guide, see [Project Integration](https://massgen.readthedocs.io/en/latest/user_guide/project_integration.html)
857
+ For comprehensive project integration guide, see [Project Integration](https://docs.massgen.ai/en/latest/user_guide/project_integration.html)
847
858
 
848
859
  **Security Considerations:**
849
860
  - **Agent ID Safety**: Avoid using agent+incremental digits for IDs (e.g., `agent1`, `agent2`). This may cause ID exposure during voting
@@ -865,7 +876,7 @@ massgen --config @examples/tools/mcp/claude_mcp_example \
865
876
  **OpenAI (GPT-5 Series with MCP - v0.0.17+)**
866
877
  ```bash
867
878
  # GPT-5 with weather and external tools
868
- massgen --config @examples/tools/mcp/gpt5_mini_mcp_example \
879
+ massgen --config @examples/tools/mcp/gpt5_nano_mcp_example \
869
880
  "What's the weather of Tokyo"
870
881
  ```
871
882
 
@@ -1053,14 +1064,14 @@ All sessions are automatically logged with detailed information for debugging an
1053
1064
  - **Agent Outputs** (`agent_outputs/`): Complete output history and final presentations from all agents
1054
1065
  - **Debug Log** (`massgen.log`): Complete system operations, API calls, tool usage, and error traces (use `--debug` for verbose logging)
1055
1066
 
1056
- → For comprehensive logging guide and debugging techniques, see [Logging & Debugging](https://massgen.readthedocs.io/en/latest/user_guide/logging.html)
1067
+ → For comprehensive logging guide and debugging techniques, see [Logging & Debugging](https://docs.massgen.ai/en/latest/user_guide/logging.html)
1057
1068
 
1058
1069
  ## 💡 Case Studies
1059
1070
 
1060
1071
  To see how MassGen works in practice, check out these detailed case studies based on real session logs:
1061
1072
 
1062
1073
  - [**MassGen Case Studies**](docs/case_studies/README.md)
1063
- - [**Case Studies Documentation**](https://massgen.readthedocs.io/en/latest/examples/case_studies.html) - Browse case studies online
1074
+ - [**Case Studies Documentation**](https://docs.massgen.ai/en/latest/examples/case_studies.html) - Browse case studies online
1064
1075
 
1065
1076
  ---
1066
1077
 
@@ -1071,90 +1082,43 @@ MassGen is currently in its foundational stage, with a focus on parallel, asynch
1071
1082
 
1072
1083
  ⚠️ **Early Stage Notice:** As MassGen is in active development, please expect upcoming breaking architecture changes as we continue to refine and improve the system.
1073
1084
 
1074
- ### Recent Achievements (v0.1.0)
1075
-
1076
- **🎉 Released: October 17, 2025**
1085
+ ### Recent Achievements (v0.1.1)
1077
1086
 
1078
- #### PyPI Package Release
1079
- - **Official Distribution**: MassGen now available via `pip install massgen`
1080
- - **Simplified Installation**: No need to clone repository for standard usage
1081
- - **Global Access**: Run `massgen` command from any directory after pip install
1087
+ **🎉 Released: October 20, 2025**
1082
1088
 
1083
- #### Comprehensive Documentation
1084
- - **Sphinx Documentation**: Full documentation site at [massgen.readthedocs.io](https://massgen.readthedocs.io)
1085
- - **Complete User Guide**: Installation, configuration, usage modes, and API reference
1086
- - **Case Studies**: Real-world examples with session logs and outcomes
1087
- - **Structured Navigation**: Getting Started, User Guide, Reference, Examples, and Development sections
1089
+ #### Custom Tools System
1090
+ - **User-Defined Functions**: Register Python functions as tools using `ToolManager` class in `massgen/tool/_manager.py`
1091
+ - **Cross-Backend Support**: Works alongside MCP servers across all backends (Claude, Gemini, OpenAI, Chat Completions, Claude Code)
1092
+ - **Tool Categories**: Builtin, MCP, and custom tools with automatic discovery and conflict resolution
1093
+ - **40+ Examples**: Ready-to-use configurations in `massgen/configs/tools/custom_tools/`
1088
1094
 
1089
- #### Interactive Setup Wizard
1090
- - **Guided Configuration**: Step-by-step wizard for first-time users
1091
- - **Use Case Presets**: Research, Code, Q&A, Data Analysis, and more
1092
- - **API Key Management**: Centralized configuration in `~/.config/massgen/`
1093
- - **Smart Defaults**: Auto-configured tools based on selected use case
1095
+ #### Voting Sensitivity & Answer Quality Controls
1096
+ - **Three-Tier System**: "lenient", "balanced", "strict" voting modes
1097
+ - **Answer Novelty Detection**: Prevents duplicate submissions with configurable similarity thresholds
1098
+ - **Quality Assurance**: Configurable `max_new_answers_per_agent` and token-based overlap detection
1099
+ - **Configuration**: `massgen/configs/voting/gemini_gpt_voting_sensitivity.yaml`
1094
1100
 
1095
- #### Enhanced CLI Experience
1096
- - **Simplified Commands**: Clean `massgen` command with intuitive syntax
1097
- - **Built-in Examples**: `@examples/` prefix for instant access to configurations
1098
- - **Backwards Compatibility**: Existing git clone workflows continue to work
1101
+ #### Backend & Documentation Enhancements
1102
+ - **Gemini Refactoring**: Extracted MCP management (`gemini_mcp_manager.py`), tracking (`gemini_trackers.py`), and utilities
1103
+ - **Capabilities Registry**: New `massgen/backend/capabilities.py` documenting feature support across backends
1104
+ - **Documentation Updates**: Enhanced custom tools guide, reorganized case studies, updated configuration schema
1105
+ - **Case Studies**:
1106
+ - `docs/case_studies/github-issue-market-analysis.md` - Custom tools with GitHub issue market analysis (v0.1.1)
1107
+ - `docs/case_studies/universal-code-execution-mcp.md` - MCP code execution across backends (v0.0.31)
1099
1108
 
1100
- ### Recent Achievements (v0.0.32)
1109
+ ### Previous Achievements (v0.0.3 - v0.1.0)
1101
1110
 
1102
- **🎉 Released: October 15, 2025**
1111
+ **PyPI Package Release (v0.1.0)**: Official distribution via `pip install massgen` with simplified installation, global `massgen` command accessible from any directory, comprehensive Sphinx documentation at [docs.massgen.ai](https://docs.massgen.ai/), interactive setup wizard with use case presets and API key management, enhanced CLI with `@examples/` prefix for built-in configurations
1103
1112
 
1104
- #### Docker Execution Mode
1105
- - **Container-Based Isolation**: Secure command execution in isolated Docker containers preventing host filesystem access
1106
- - **Persistent State Management**: Packages and dependencies persist across conversation turns eliminating redundant setup
1107
- - **Multi-Agent Support**: Each agent receives dedicated isolated container enabling safe parallel execution
1108
- - **Configurable Security**: Resource limits (CPU, memory), network isolation modes, and read-only volume mounts
1113
+ **Docker Execution Mode (v0.0.32)**: Container-based isolation with secure command execution in isolated Docker containers preventing host filesystem access, persistent state management with packages and dependencies persisting across conversation turns, multi-agent support with dedicated isolated containers for each agent, configurable security with resource limits (CPU, memory), network isolation modes, and read-only volume mounts
1109
1114
 
1110
- **⚠️ Docker Setup Required:**
1111
- To use Docker execution mode, complete these steps before running:
1112
- 1. **Docker Engine 28.0.0+** installed and running (`docker ps` should work)
1113
- 2. **Python docker library**: `uv pip install -e ".[docker]"` or `pip install docker>=7.0.0`
1114
- 3. **Build Docker image**: `bash massgen/docker/build.sh` (from repository root)
1115
- 4. **📚 Full setup guide**: See `massgen/docker/README.md` for complete instructions
1115
+ **MCP Architecture Refactoring (v0.0.32)**: Simplified client with renamed `MultiMCPClient` to `MCPClient` reflecting streamlined architecture, code consolidation by removing deprecated modules and consolidating duplicate MCP protocol handling, improved maintainability with standardized type hints, enhanced error handling, and cleaner code organization
1116
1116
 
1117
- #### MCP Architecture Refactoring
1118
- - **Simplified Client**: Renamed `MultiMCPClient` to `MCPClient` reflecting streamlined architecture
1119
- - **Code Consolidation**: Removed deprecated modules and consolidated duplicate MCP protocol handling
1120
- - **Improved Maintainability**: Standardized type hints, enhanced error handling, cleaner code organization
1117
+ **Claude Code Docker Integration (v0.0.32)**: Automatic tool management with Bash tool automatically disabled in Docker mode routing commands through execute_command, MCP auto-permissions with automatic approval for MCP tools while preserving security validation, enhanced guidance with system messages preventing git repository confusion between host and container environments
1121
1118
 
1122
- #### Claude Code Docker Integration
1123
- - **Automatic Tool Management**: Bash tool automatically disabled in Docker mode routing commands through execute_command
1124
- - **MCP Auto-Permissions**: Automatic approval for MCP tools while preserving security validation
1125
- - **Enhanced Guidance**: System messages prevent git repository confusion between host and container environments
1119
+ **Universal Command Execution (v0.0.31)**: MCP-based execute_command tool works across Claude, Gemini, OpenAI, and Chat Completions providers, comprehensive security with permission management and command filtering, code execution in planning mode for safer coordination
1126
1120
 
1127
- #### Configuration and Testing
1128
- - **Docker Documentation**: `massgen/docker/README.md` with setup guide and build scripts
1129
- - **Example Configurations**: `docker_simple.yaml`, `docker_multi_agent.yaml`, `docker_with_resource_limits.yaml`, `docker_claude_code.yaml`, `docker_verification.yaml`
1130
- - **Testing**: Comprehensive test suite validating Docker and local execution modes
1131
-
1132
- ### Recent Achievements (v0.0.31)
1133
-
1134
- **🎉 Released: October 13, 2025**
1135
-
1136
- #### Universal Code Execution
1137
- - **MCP-Based Tool**: New `execute_command` tool works across Claude, Gemini, OpenAI, and Chat Completions backends
1138
- - **AG2-Inspired Security**: Permission management and command filtering (whitelist/blacklist patterns)
1139
- - **Planning Mode Support**: Code execution in planning mode for safer coordination
1140
-
1141
- #### AG2 Group Chat Integration
1142
- - **Multi-Agent Conversations**: Native support using AG2's GroupChat and GroupChatManager frameworks
1143
- - **Smart Speaker Selection**: Automatic, round-robin, or manual selection powered by LLMs
1144
- - **Enhanced Adapter**: AG2 adapter supporting native group chat coordination
1145
-
1146
- #### Audio & Video Generation
1147
- - **Audio Tools**: Text-to-speech and transcription capabilities
1148
- - **Video Generation**: Integration with OpenAI's Sora-2 API for video creation
1149
- - **Multimodal Expansion**: Extended capabilities beyond text and images
1150
-
1151
- ### Previous Achievements (v0.0.3 - v0.0.32)
1152
-
1153
- <div style="max-height: 600px; overflow-y: auto; transition: max-height 0.3s ease;">
1154
-
1155
- ✅ **Universal Command Execution (v0.0.31)**: MCP-based execute_command tool works across Claude, Gemini, OpenAI, and Chat Completions providers, AG2-inspired security with permission management and command filtering, code execution in planning mode for safer coordination
1156
-
1157
- ✅ **AG2 Group Chat Integration (v0.0.31)**: Multi-agent conversations using AG2's GroupChat and GroupChatManager frameworks, smart speaker selection (automatic, round-robin, manual) powered by LLMs, enhanced AG2 adapter supporting native group chat coordination
1121
+ **External Framework Integration (v0.0.31)**: Multi-agent conversations using external framework group chat patterns, smart speaker selection (automatic, round-robin, manual) powered by LLMs, enhanced adapter supporting native group chat coordination
1158
1122
 
1159
1123
  ✅ **Audio & Video Generation (v0.0.31)**: Audio tools for text-to-speech and transcription, video generation using OpenAI's Sora-2 API, multimodal expansion beyond text and images
1160
1124
 
@@ -1168,7 +1132,7 @@ To use Docker execution mode, complete these steps before running:
1168
1132
 
1169
1133
  ✅ **File Operation Safety (v0.0.29)**: Read-before-delete enforcement with `FileOperationTracker` class, `PathPermissionManager` integration with operation tracking methods, enhanced file operation safety mechanisms
1170
1134
 
1171
- ✅ **AG2 Framework Integration (v0.0.28)**: Adapter system for external agent frameworks, AG2 ConversableAgent and AssistantAgent support with async execution, code execution in multiple environments (Local, Docker, Jupyter, YepCode), 4 ready-to-use AG2 configurations
1135
+ ✅ **External Framework Integration (v0.0.28)**: Adapter system for external agent frameworks with async execution, code execution in multiple environments (Local, Docker, Jupyter, YepCode), ready-to-use configurations for framework integration
1172
1136
 
1173
1137
  ✅ **Multimodal Support - Image Processing (v0.0.27)**: New `stream_chunk` module for multimodal content, image generation and understanding capabilities, file upload and search for document Q&A, Claude Sonnet 4.5 support, enhanced workspace multimodal tools
1174
1138
 
@@ -1232,8 +1196,6 @@ To use Docker execution mode, complete these steps before running:
1232
1196
 
1233
1197
  ✅ **Extended Provider Ecosystem**: Support for 15+ providers including Cerebras AI, Together AI, Fireworks AI, Groq, Nebius AI Studio, and OpenRouter
1234
1198
 
1235
- </div>
1236
-
1237
1199
  ### Key Future Enhancements
1238
1200
 
1239
1201
  - **Bug Fixes & Backend Improvements:** Fixing image generation path issues and adding Claude multimodal support
@@ -1244,25 +1206,21 @@ To use Docker execution mode, complete these steps before running:
1244
1206
 
1245
1207
  We welcome community contributions to achieve these goals.
1246
1208
 
1247
- ### v0.1.1 Roadmap
1209
+ ### v0.1.2 Roadmap
1248
1210
 
1249
- Version 0.1.1 focuses on developer experience improvements and PyPI distribution:
1211
+ Version 0.1.2 focuses on enterprise collaboration and intelligent agent workflows:
1250
1212
 
1251
1213
  #### Required Features
1252
- - **Configuration Builder CLI**: Interactive command-line tool for generating and validating MassGen configurations
1253
- - **PyPI Package Release v0.1.0**: Official PyPI package representing new usage paradigm with easy pip installation
1254
-
1255
- #### Optional Features
1256
- - **Nested Chat Integration**: Complete AG2 nested chat pattern support for hierarchical agent conversations
1257
- - **DSPy Integration**: Framework integration for prompt optimization and systematic agent improvement
1214
+ - **General Interoperability**: Enable MassGen to orchestrate agents from multiple external frameworks with unified interface
1215
+ - **Final Agent Submit/Restart Tools**: Enable final agent to decide whether to submit or restart orchestration
1216
+ - **Memory Module - Phase 1**: Long-term memory implementation using mem0 for reasoning and document understanding
1258
1217
 
1259
1218
  Key technical approach:
1260
- - **Config Builder**: Interactive prompts, configuration templates, validation and error checking, preset support
1261
- - **PyPI Package**: Production-ready distribution with proper dependencies, documentation, and migration guide
1262
- - **Nested Chat**: AG2 integration for hierarchical conversations with parent-child agent relationships
1263
- - **DSPy**: Prompt optimization, performance tuning, and systematic agent improvement workflows
1219
+ - **Framework Integration**: Multi-agent coordination supporting external agent frameworks with specialized agent roles (researcher, analyst, critic, synthesizer)
1220
+ - **Submit/Restart**: Multi-step task verification with access to previous agents' responses and workspaces
1221
+ - **Memory Module**: Session-based memory management with persistent context across conversations
1264
1222
 
1265
- For detailed milestones and technical specifications, see the [full v0.1.1 roadmap](ROADMAP.md).
1223
+ For detailed milestones and technical specifications, see the [full v0.1.2 roadmap](ROADMAP.md).
1266
1224
 
1267
1225
  ---
1268
1226