massgen 0.1.0a2__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.
- {massgen-0.1.0a2 → massgen-0.1.1}/CHANGELOG.md +94 -4
- {massgen-0.1.0a2 → massgen-0.1.1}/CONTRIBUTING.md +5 -5
- {massgen-0.1.0a2 → massgen-0.1.1}/PKG-INFO +89 -131
- {massgen-0.1.0a2 → massgen-0.1.1}/README.md +85 -128
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/__init__.py +1 -1
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/agent_config.py +17 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/api_params_handler/_api_params_handler_base.py +1 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/api_params_handler/_chat_completions_api_params_handler.py +8 -1
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/api_params_handler/_claude_api_params_handler.py +8 -1
- massgen-0.1.1/massgen/api_params_handler/_gemini_api_params_handler.py +73 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/api_params_handler/_response_api_params_handler.py +8 -1
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/backend/base.py +31 -0
- massgen-0.1.0a2/massgen/backend/base_with_mcp.py → massgen-0.1.1/massgen/backend/base_with_custom_tool_and_mcp.py +282 -11
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/backend/chat_completions.py +182 -92
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/backend/claude.py +115 -18
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/backend/claude_code.py +378 -14
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/backend/docs/CLAUDE_API_RESEARCH.md +3 -3
- massgen-0.1.1/massgen/backend/gemini.py +1929 -0
- massgen-0.1.1/massgen/backend/gemini_mcp_manager.py +545 -0
- massgen-0.1.1/massgen/backend/gemini_trackers.py +344 -0
- massgen-0.1.1/massgen/backend/gemini_utils.py +43 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/backend/response.py +129 -70
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/cli.py +643 -132
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/config_builder.py +381 -32
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/README.md +111 -80
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/basic/multi/three_agents_default.yaml +1 -1
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/basic/single/single_agent.yaml +1 -1
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/providers/openai/gpt5_nano.yaml +3 -3
- massgen-0.1.1/massgen/configs/tools/custom_tools/claude_code_custom_tool_example.yaml +32 -0
- massgen-0.1.1/massgen/configs/tools/custom_tools/claude_code_custom_tool_example_no_path.yaml +28 -0
- massgen-0.1.1/massgen/configs/tools/custom_tools/claude_code_custom_tool_with_mcp_example.yaml +40 -0
- massgen-0.1.1/massgen/configs/tools/custom_tools/claude_code_custom_tool_with_wrong_mcp_example.yaml +38 -0
- massgen-0.1.1/massgen/configs/tools/custom_tools/claude_code_wrong_custom_tool_with_mcp_example.yaml +38 -0
- massgen-0.1.1/massgen/configs/tools/custom_tools/claude_custom_tool_example.yaml +24 -0
- massgen-0.1.1/massgen/configs/tools/custom_tools/claude_custom_tool_example_no_path.yaml +22 -0
- massgen-0.1.1/massgen/configs/tools/custom_tools/claude_custom_tool_with_mcp_example.yaml +35 -0
- massgen-0.1.1/massgen/configs/tools/custom_tools/claude_custom_tool_with_wrong_mcp_example.yaml +33 -0
- massgen-0.1.1/massgen/configs/tools/custom_tools/claude_wrong_custom_tool_with_mcp_example.yaml +33 -0
- massgen-0.1.1/massgen/configs/tools/custom_tools/gemini_custom_tool_example.yaml +24 -0
- massgen-0.1.1/massgen/configs/tools/custom_tools/gemini_custom_tool_example_no_path.yaml +22 -0
- massgen-0.1.1/massgen/configs/tools/custom_tools/gemini_custom_tool_with_mcp_example.yaml +35 -0
- massgen-0.1.1/massgen/configs/tools/custom_tools/gemini_custom_tool_with_wrong_mcp_example.yaml +33 -0
- massgen-0.1.1/massgen/configs/tools/custom_tools/gemini_wrong_custom_tool_with_mcp_example.yaml +33 -0
- massgen-0.1.1/massgen/configs/tools/custom_tools/github_issue_market_analysis.yaml +94 -0
- massgen-0.1.1/massgen/configs/tools/custom_tools/gpt5_nano_custom_tool_example.yaml +24 -0
- massgen-0.1.1/massgen/configs/tools/custom_tools/gpt5_nano_custom_tool_example_no_path.yaml +22 -0
- massgen-0.1.1/massgen/configs/tools/custom_tools/gpt5_nano_custom_tool_with_mcp_example.yaml +35 -0
- massgen-0.1.1/massgen/configs/tools/custom_tools/gpt5_nano_custom_tool_with_wrong_mcp_example.yaml +33 -0
- massgen-0.1.1/massgen/configs/tools/custom_tools/gpt5_nano_wrong_custom_tool_with_mcp_example.yaml +33 -0
- massgen-0.1.1/massgen/configs/tools/custom_tools/gpt_oss_custom_tool_example.yaml +25 -0
- massgen-0.1.1/massgen/configs/tools/custom_tools/gpt_oss_custom_tool_example_no_path.yaml +23 -0
- massgen-0.1.1/massgen/configs/tools/custom_tools/gpt_oss_custom_tool_with_mcp_example.yaml +34 -0
- massgen-0.1.1/massgen/configs/tools/custom_tools/gpt_oss_custom_tool_with_wrong_mcp_example.yaml +34 -0
- massgen-0.1.1/massgen/configs/tools/custom_tools/gpt_oss_wrong_custom_tool_with_mcp_example.yaml +34 -0
- massgen-0.1.1/massgen/configs/tools/custom_tools/grok3_mini_custom_tool_example.yaml +24 -0
- massgen-0.1.1/massgen/configs/tools/custom_tools/grok3_mini_custom_tool_example_no_path.yaml +22 -0
- massgen-0.1.1/massgen/configs/tools/custom_tools/grok3_mini_custom_tool_with_mcp_example.yaml +35 -0
- massgen-0.1.1/massgen/configs/tools/custom_tools/grok3_mini_custom_tool_with_wrong_mcp_example.yaml +33 -0
- massgen-0.1.1/massgen/configs/tools/custom_tools/grok3_mini_wrong_custom_tool_with_mcp_example.yaml +33 -0
- massgen-0.1.1/massgen/configs/tools/custom_tools/qwen_api_custom_tool_example.yaml +25 -0
- massgen-0.1.1/massgen/configs/tools/custom_tools/qwen_api_custom_tool_example_no_path.yaml +23 -0
- massgen-0.1.1/massgen/configs/tools/custom_tools/qwen_api_custom_tool_with_mcp_example.yaml +36 -0
- massgen-0.1.1/massgen/configs/tools/custom_tools/qwen_api_custom_tool_with_wrong_mcp_example.yaml +34 -0
- massgen-0.1.1/massgen/configs/tools/custom_tools/qwen_api_wrong_custom_tool_with_mcp_example.yaml +34 -0
- massgen-0.1.1/massgen/configs/tools/custom_tools/qwen_local_custom_tool_example.yaml +24 -0
- massgen-0.1.1/massgen/configs/tools/custom_tools/qwen_local_custom_tool_example_no_path.yaml +22 -0
- massgen-0.1.1/massgen/configs/tools/custom_tools/qwen_local_custom_tool_with_mcp_example.yaml +35 -0
- massgen-0.1.1/massgen/configs/tools/custom_tools/qwen_local_custom_tool_with_wrong_mcp_example.yaml +33 -0
- massgen-0.1.1/massgen/configs/tools/custom_tools/qwen_local_wrong_custom_tool_with_mcp_example.yaml +33 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/filesystem/claude_code_context_sharing.yaml +1 -1
- massgen-0.1.1/massgen/configs/voting/gemini_gpt_voting_sensitivity.yaml +67 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/formatter/_chat_completions_formatter.py +104 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/formatter/_claude_formatter.py +120 -0
- massgen-0.1.1/massgen/formatter/_gemini_formatter.py +448 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/formatter/_response_formatter.py +88 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/frontend/coordination_ui.py +4 -2
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/logger_config.py +35 -3
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/message_templates.py +56 -6
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/orchestrator.py +179 -10
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/stream_chunk/base.py +3 -0
- massgen-0.1.1/massgen/tests/custom_tools_example.py +392 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/tests/mcp_test_server.py +17 -7
- massgen-0.1.1/massgen/tests/test_config_builder.py +423 -0
- massgen-0.1.1/massgen/tests/test_custom_tools.py +401 -0
- massgen-0.1.1/massgen/tests/test_tools.py +127 -0
- massgen-0.1.1/massgen/tool/README.md +935 -0
- massgen-0.1.1/massgen/tool/__init__.py +39 -0
- massgen-0.1.1/massgen/tool/_async_helpers.py +70 -0
- massgen-0.1.1/massgen/tool/_basic/__init__.py +8 -0
- massgen-0.1.1/massgen/tool/_basic/_two_num_tool.py +24 -0
- massgen-0.1.1/massgen/tool/_code_executors/__init__.py +10 -0
- massgen-0.1.1/massgen/tool/_code_executors/_python_executor.py +74 -0
- massgen-0.1.1/massgen/tool/_code_executors/_shell_executor.py +61 -0
- massgen-0.1.1/massgen/tool/_exceptions.py +39 -0
- massgen-0.1.1/massgen/tool/_file_handlers/__init__.py +10 -0
- massgen-0.1.1/massgen/tool/_file_handlers/_file_operations.py +218 -0
- massgen-0.1.1/massgen/tool/_manager.py +634 -0
- massgen-0.1.1/massgen/tool/_registered_tool.py +88 -0
- massgen-0.1.1/massgen/tool/_result.py +66 -0
- massgen-0.1.1/massgen/tool/_self_evolution/_github_issue_analyzer.py +369 -0
- massgen-0.1.1/massgen/tool/docs/builtin_tools.md +681 -0
- massgen-0.1.1/massgen/tool/docs/exceptions.md +794 -0
- massgen-0.1.1/massgen/tool/docs/execution_results.md +691 -0
- massgen-0.1.1/massgen/tool/docs/manager.md +887 -0
- massgen-0.1.1/massgen/tool/docs/workflow_toolkits.md +529 -0
- massgen-0.1.1/massgen/tool/workflow_toolkits/__init__.py +57 -0
- massgen-0.1.1/massgen/tool/workflow_toolkits/base.py +55 -0
- massgen-0.1.1/massgen/tool/workflow_toolkits/new_answer.py +126 -0
- massgen-0.1.1/massgen/tool/workflow_toolkits/vote.py +167 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen.egg-info/PKG-INFO +89 -131
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen.egg-info/SOURCES.txt +76 -1
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen.egg-info/requires.txt +1 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/pyproject.toml +8 -2
- massgen-0.1.0a2/massgen/backend/gemini.py +0 -2261
- {massgen-0.1.0a2 → massgen-0.1.1}/.env.example +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/LICENSE +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/MANIFEST.in +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/adapters/__init__.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/adapters/ag2_adapter.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/adapters/base.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/adapters/tests/__init__.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/adapters/tests/test_ag2_adapter.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/adapters/tests/test_agent_adapter.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/adapters/utils/__init__.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/adapters/utils/ag2_utils.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/adapters/utils/tests/__init__.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/adapters/utils/tests/test_ag2_utils.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/api_params_handler/__init__.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/backend/__init__.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/backend/azure_openai.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/backend/capabilities.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/backend/cli_base.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/backend/docs/BACKEND_ARCHITECTURE.md +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/backend/docs/Function calling openai responses.md +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/backend/docs/GEMINI_API_DOCUMENTATION.md +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/backend/docs/Gemini MCP Integration Analysis.md +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/backend/docs/MCP_IMPLEMENTATION_CLAUDE_BACKEND.md +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/backend/docs/MCP_INTEGRATION_RESPONSE_BACKEND.md +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/backend/docs/OPENAI_GPT5_MODELS.md +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/backend/docs/OPENAI_RESPONSE_API_TOOL_CALLS.md +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/backend/docs/OPENAI_response_streaming.md +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/backend/docs/inference_backend.md +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/backend/docs/permissions_and_context_files.md +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/backend/external.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/backend/grok.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/backend/inference.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/backend/lmstudio.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/chat_agent.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/BACKEND_CONFIGURATION.md +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/ag2/ag2_case_study.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/ag2/ag2_coder.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/ag2/ag2_coder_case_study.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/ag2/ag2_gemini.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/ag2/ag2_groupchat.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/ag2/ag2_groupchat_gpt.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/ag2/ag2_single_agent.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/basic/multi/fast_timeout_example.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/basic/multi/gemini_4o_claude.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/basic/multi/gemini_gpt5nano_claude.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/basic/multi/geminicode_4o_claude.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/basic/multi/geminicode_gpt5nano_claude.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/basic/multi/glm_gemini_claude.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/basic/multi/gpt4o_audio_generation.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/basic/multi/gpt4o_image_generation.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/basic/multi/gpt5nano_glm_qwen.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/basic/multi/gpt5nano_image_understanding.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/basic/multi/three_agents_opensource.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/basic/multi/three_agents_vllm.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/basic/multi/two_agents_gemini.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/basic/multi/two_agents_gpt5.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/basic/multi/two_agents_opensource_lmstudio.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/basic/multi/two_qwen_vllm_sglang.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/basic/single/single_flash2.5.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/basic/single/single_gemini2.5pro.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/basic/single/single_gpt4o_audio_generation.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/basic/single/single_gpt4o_image_generation.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/basic/single/single_gpt4o_video_generation.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/basic/single/single_gpt5nano.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/basic/single/single_gpt5nano_file_search.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/basic/single/single_gpt5nano_image_understanding.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/basic/single/single_gptoss120b.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/basic/single/single_openrouter_audio_understanding.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/basic/single/single_qwen_video_understanding.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/debug/code_execution/command_filtering_blacklist.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/debug/code_execution/command_filtering_whitelist.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/debug/code_execution/docker_verification.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/debug/skip_coordination_test.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/debug/test_sdk_migration.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/docs/DISCORD_MCP_SETUP.md +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/docs/TWITTER_MCP_ENESCINAR_SETUP.md +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/providers/azure/azure_openai_multi.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/providers/azure/azure_openai_single.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/providers/claude/claude.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/providers/gemini/gemini_gpt5nano.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/providers/local/lmstudio.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/providers/openai/gpt5.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/providers/others/grok_single_agent.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/providers/others/zai_coding_team.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/providers/others/zai_glm45.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/teams/creative/creative_team.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/teams/creative/travel_planning.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/teams/research/news_analysis.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/teams/research/research_team.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/teams/research/technical_analysis.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/code-execution/basic_command_execution.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/code-execution/code_execution_use_case_simple.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/code-execution/docker_claude_code.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/code-execution/docker_multi_agent.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/code-execution/docker_simple.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/code-execution/docker_with_resource_limits.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/code-execution/multi_agent_playwright_automation.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/filesystem/cc_gpt5_gemini_filesystem.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/filesystem/claude_code_flash2.5.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/filesystem/claude_code_flash2.5_gptoss.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/filesystem/claude_code_gpt5nano.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/filesystem/claude_code_single.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/filesystem/fs_permissions_test.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/filesystem/gemini_gemini_workspace_cleanup.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/filesystem/gemini_gpt5_filesystem_casestudy.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/filesystem/gemini_gpt5nano_file_context_path.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/filesystem/gemini_gpt5nano_protected_paths.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/filesystem/gpt5mini_cc_fs_context_path.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/filesystem/grok4_gpt5_gemini_filesystem.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/filesystem/multiturn/grok4_gpt5_claude_code_filesystem_multiturn.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/filesystem/multiturn/grok4_gpt5_gemini_filesystem_multiturn.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/filesystem/multiturn/two_claude_code_filesystem_multiturn.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/filesystem/multiturn/two_gemini_flash_filesystem_multiturn.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/mcp/claude_code_discord_mcp_example.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/mcp/claude_code_simple_mcp.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/mcp/claude_code_twitter_mcp_example.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/mcp/claude_mcp_example.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/mcp/claude_mcp_test.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/mcp/five_agents_travel_mcp_test.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/mcp/five_agents_weather_mcp_test.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/mcp/gemini_mcp_example.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/mcp/gemini_mcp_filesystem_test.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/mcp/gemini_mcp_filesystem_test_sharing.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/mcp/gemini_mcp_filesystem_test_single_agent.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/mcp/gemini_mcp_filesystem_test_with_claude_code.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/mcp/gemini_mcp_test.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/mcp/gemini_notion_mcp.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/mcp/gpt5_nano_mcp_example.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/mcp/gpt5_nano_mcp_test.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/mcp/gpt5mini_claude_code_discord_mcp_example.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/mcp/gpt_oss_mcp_example.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/mcp/gpt_oss_mcp_test.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/mcp/grok3_mini_mcp_example.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/mcp/grok3_mini_mcp_test.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/mcp/multimcp_gemini.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/mcp/qwen_api_mcp_example.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/mcp/qwen_api_mcp_test.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/mcp/qwen_local_mcp_example.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/mcp/qwen_local_mcp_test.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/planning/five_agents_discord_mcp_planning_mode.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/planning/five_agents_filesystem_mcp_planning_mode.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/planning/five_agents_notion_mcp_planning_mode.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/planning/five_agents_twitter_mcp_planning_mode.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/planning/gpt5_mini_case_study_mcp_planning_mode.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/web-search/claude_streamable_http_test.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/web-search/gemini_streamable_http_test.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/web-search/gpt5_mini_streamable_http_test.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/web-search/gpt_oss_streamable_http_test.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/web-search/grok3_mini_streamable_http_test.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/web-search/qwen_api_streamable_http_test.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/configs/tools/web-search/qwen_local_streamable_http_test.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/coordination_tracker.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/docker/README.md +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/filesystem_manager/__init__.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/filesystem_manager/_base.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/filesystem_manager/_code_execution_server.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/filesystem_manager/_docker_manager.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/filesystem_manager/_file_operation_tracker.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/filesystem_manager/_filesystem_manager.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/filesystem_manager/_path_permission_manager.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/filesystem_manager/_workspace_tools_server.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/formatter/__init__.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/formatter/_formatter_base.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/frontend/__init__.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/frontend/displays/__init__.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/frontend/displays/base_display.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/frontend/displays/create_coordination_table.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/frontend/displays/rich_terminal_display.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/frontend/displays/simple_display.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/frontend/displays/terminal_display.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/mcp_tools/README.md +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/mcp_tools/__init__.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/mcp_tools/backend_utils.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/mcp_tools/circuit_breaker.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/mcp_tools/client.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/mcp_tools/config_validator.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/mcp_tools/docs/circuit_breaker.md +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/mcp_tools/docs/client.md +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/mcp_tools/docs/config_validator.md +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/mcp_tools/docs/exceptions.md +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/mcp_tools/docs/security.md +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/mcp_tools/exceptions.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/mcp_tools/hooks.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/mcp_tools/security.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/stream_chunk/__init__.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/stream_chunk/multimodal.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/stream_chunk/text.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/tests/__init__.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/tests/multi_turn_conversation_design.md +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/tests/multiturn_llm_input_analysis.md +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/tests/test_azure_openai_backend.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/tests/test_backend_capabilities.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/tests/test_backend_event_loop_all.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/tests/test_case_studies.md +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/tests/test_chat_completions_refactor.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/tests/test_claude_backend.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/tests/test_claude_code.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/tests/test_claude_code_context_sharing.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/tests/test_claude_code_orchestrator.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/tests/test_cli_backends.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/tests/test_code_execution.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/tests/test_external_agent_backend.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/tests/test_final_presentation_fallback.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/tests/test_gemini_planning_mode.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/tests/test_grok_backend.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/tests/test_http_mcp_server.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/tests/test_integration_simple.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/tests/test_mcp_blocking.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/tests/test_message_context_building.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/tests/test_orchestrator_final_presentation.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/tests/test_path_permission_manager.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/tests/test_rich_terminal_display.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/tests/test_timeout.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/tests/test_v3_3agents.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/tests/test_v3_simple.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/tests/test_v3_three_agents.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/tests/test_v3_two_agents.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/token_manager/__init__.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/token_manager/token_manager.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/utils.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/v1/README.md +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/v1/__init__.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/v1/agent.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/v1/agents.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/v1/backends/gemini.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/v1/backends/grok.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/v1/backends/oai.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/v1/cli.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/v1/config.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/v1/examples/fast-4o-mini-config.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/v1/examples/fast_config.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/v1/examples/production.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/v1/examples/single_agent.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/v1/logging.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/v1/main.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/v1/orchestrator.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/v1/streaming_display.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/v1/tools.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/v1/types.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen/v1/utils.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen.egg-info/dependency_links.txt +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen.egg-info/entry_points.txt +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen.egg-info/not-zip-safe +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/massgen.egg-info/top_level.txt +0 -0
- {massgen-0.1.0a2 → massgen-0.1.1}/requirements.txt +0 -0
- {massgen-0.1.0a2 → 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.
|
|
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.
|
|
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.
|
|
279
|
-
git checkout -b feature/your-feature-name upstream/dev/v0.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.
|
|
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.
|
|
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.
|
|
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://
|
|
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 ::
|
|
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.
|
|
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.
|
|
183
|
-
- [v0.0.3 - v0.0
|
|
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.
|
|
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.
|
|
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
|
-
|
|
230
|
+
[](https://youtu.be/eXK_oF177zY)
|
|
218
231
|
|
|
219
|
-
|
|
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.
|
|
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
|
-
#
|
|
231
|
-
massgen
|
|
239
|
+
# Create a configuration with the interactive builder
|
|
240
|
+
massgen --setup
|
|
232
241
|
|
|
233
|
-
#
|
|
234
|
-
massgen --config @examples/
|
|
235
|
-
"
|
|
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 **[
|
|
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.
|
|
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:
|
|
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/
|
|
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/
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
-
→
|
|
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/
|
|
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.
|
|
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.
|
|
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.
|
|
1075
|
-
|
|
1076
|
-
**🎉 Released: October 17, 2025**
|
|
1085
|
+
### Recent Achievements (v0.1.1)
|
|
1077
1086
|
|
|
1078
|
-
|
|
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
|
-
####
|
|
1084
|
-
- **
|
|
1085
|
-
- **
|
|
1086
|
-
- **
|
|
1087
|
-
- **
|
|
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
|
-
####
|
|
1090
|
-
- **
|
|
1091
|
-
- **
|
|
1092
|
-
- **
|
|
1093
|
-
- **
|
|
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
|
-
####
|
|
1096
|
-
- **
|
|
1097
|
-
- **
|
|
1098
|
-
- **
|
|
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
|
-
###
|
|
1109
|
+
### Previous Achievements (v0.0.3 - v0.1.0)
|
|
1101
1110
|
|
|
1102
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
✅ **
|
|
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.
|
|
1209
|
+
### v0.1.2 Roadmap
|
|
1248
1210
|
|
|
1249
|
-
Version 0.1.
|
|
1211
|
+
Version 0.1.2 focuses on enterprise collaboration and intelligent agent workflows:
|
|
1250
1212
|
|
|
1251
1213
|
#### Required Features
|
|
1252
|
-
- **
|
|
1253
|
-
- **
|
|
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
|
-
- **
|
|
1261
|
-
- **
|
|
1262
|
-
- **
|
|
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.
|
|
1223
|
+
For detailed milestones and technical specifications, see the [full v0.1.2 roadmap](ROADMAP.md).
|
|
1266
1224
|
|
|
1267
1225
|
---
|
|
1268
1226
|
|