massgen 0.1.2__tar.gz → 0.1.4__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.2 → massgen-0.1.4}/CHANGELOG.md +142 -7
- {massgen-0.1.2 → massgen-0.1.4}/CONTRIBUTING.md +8 -8
- {massgen-0.1.2 → massgen-0.1.4}/MANIFEST.in +1 -0
- {massgen-0.1.2 → massgen-0.1.4}/PKG-INFO +101 -69
- massgen-0.1.4/README.md +1195 -0
- massgen-0.1.2/README.md → massgen-0.1.4/README_PYPI.md +94 -68
- massgen-0.1.4/assets/logo-dark.png +0 -0
- massgen-0.1.4/assets/thumbnail.png +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/__init__.py +1 -1
- {massgen-0.1.2 → massgen-0.1.4}/massgen/agent_config.py +33 -7
- {massgen-0.1.2 → massgen-0.1.4}/massgen/api_params_handler/_api_params_handler_base.py +3 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/api_params_handler/_chat_completions_api_params_handler.py +4 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/api_params_handler/_claude_api_params_handler.py +4 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/api_params_handler/_gemini_api_params_handler.py +4 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/api_params_handler/_response_api_params_handler.py +4 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/backend/azure_openai.py +9 -1
- {massgen-0.1.2 → massgen-0.1.4}/massgen/backend/base.py +4 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/backend/base_with_custom_tool_and_mcp.py +25 -5
- {massgen-0.1.2 → massgen-0.1.4}/massgen/backend/claude_code.py +9 -1
- {massgen-0.1.2 → massgen-0.1.4}/massgen/backend/docs/permissions_and_context_files.md +2 -2
- {massgen-0.1.2 → massgen-0.1.4}/massgen/backend/gemini.py +35 -6
- {massgen-0.1.2 → massgen-0.1.4}/massgen/backend/gemini_utils.py +30 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/backend/response.py +2 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/chat_agent.py +9 -3
- {massgen-0.1.2 → massgen-0.1.4}/massgen/cli.py +291 -43
- {massgen-0.1.2 → massgen-0.1.4}/massgen/config_builder.py +163 -18
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/README.md +69 -14
- massgen-0.1.4/massgen/configs/debug/restart_test_controlled.yaml +60 -0
- massgen-0.1.4/massgen/configs/debug/restart_test_controlled_filesystem.yaml +73 -0
- massgen-0.1.4/massgen/configs/tools/code-execution/docker_with_sudo.yaml +35 -0
- massgen-0.1.4/massgen/configs/tools/custom_tools/computer_use_browser_example.yaml +56 -0
- massgen-0.1.4/massgen/configs/tools/custom_tools/computer_use_docker_example.yaml +65 -0
- massgen-0.1.4/massgen/configs/tools/custom_tools/computer_use_example.yaml +50 -0
- massgen-0.1.4/massgen/configs/tools/custom_tools/crawl4ai_example.yaml +55 -0
- massgen-0.1.4/massgen/configs/tools/custom_tools/multimodal_tools/text_to_file_generation_multi.yaml +61 -0
- massgen-0.1.4/massgen/configs/tools/custom_tools/multimodal_tools/text_to_file_generation_single.yaml +29 -0
- massgen-0.1.4/massgen/configs/tools/custom_tools/multimodal_tools/text_to_image_generation_multi.yaml +51 -0
- massgen-0.1.4/massgen/configs/tools/custom_tools/multimodal_tools/text_to_image_generation_single.yaml +33 -0
- massgen-0.1.4/massgen/configs/tools/custom_tools/multimodal_tools/text_to_speech_generation_multi.yaml +55 -0
- massgen-0.1.4/massgen/configs/tools/custom_tools/multimodal_tools/text_to_speech_generation_single.yaml +33 -0
- massgen-0.1.4/massgen/configs/tools/custom_tools/multimodal_tools/text_to_video_generation_multi.yaml +47 -0
- massgen-0.1.4/massgen/configs/tools/custom_tools/multimodal_tools/text_to_video_generation_single.yaml +29 -0
- massgen-0.1.4/massgen/configs/tools/custom_tools/multimodal_tools/understand_audio.yaml +33 -0
- massgen-0.1.4/massgen/configs/tools/custom_tools/multimodal_tools/understand_file.yaml +34 -0
- massgen-0.1.4/massgen/configs/tools/custom_tools/multimodal_tools/understand_image.yaml +33 -0
- massgen-0.1.4/massgen/configs/tools/custom_tools/multimodal_tools/understand_video.yaml +34 -0
- massgen-0.1.4/massgen/configs/tools/custom_tools/multimodal_tools/youtube_video_analysis.yaml +59 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/docker/README.md +83 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/filesystem_manager/_code_execution_server.py +22 -7
- {massgen-0.1.2 → massgen-0.1.4}/massgen/filesystem_manager/_docker_manager.py +21 -1
- {massgen-0.1.2 → massgen-0.1.4}/massgen/filesystem_manager/_filesystem_manager.py +9 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/filesystem_manager/_path_permission_manager.py +148 -0
- massgen-0.1.4/massgen/filesystem_manager/_workspace_tools_server.py +818 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/formatter/_gemini_formatter.py +73 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/frontend/coordination_ui.py +175 -257
- {massgen-0.1.2 → massgen-0.1.4}/massgen/frontend/displays/base_display.py +29 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/frontend/displays/rich_terminal_display.py +155 -9
- {massgen-0.1.2 → massgen-0.1.4}/massgen/frontend/displays/simple_display.py +21 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/frontend/displays/terminal_display.py +22 -2
- {massgen-0.1.2 → massgen-0.1.4}/massgen/logger_config.py +50 -6
- {massgen-0.1.2 → massgen-0.1.4}/massgen/message_templates.py +283 -15
- {massgen-0.1.2 → massgen-0.1.4}/massgen/orchestrator.py +335 -38
- massgen-0.1.4/massgen/tests/test_binary_file_blocking.py +274 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tests/test_case_studies.md +12 -12
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tests/test_code_execution.py +178 -0
- massgen-0.1.4/massgen/tests/test_multimodal_size_limits.py +407 -0
- massgen-0.1.4/massgen/tests/test_orchestration_restart.py +204 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tool/__init__.py +4 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tool/_manager.py +7 -2
- massgen-0.1.4/massgen/tool/_multimodal_tools/image_to_image_generation.py +293 -0
- massgen-0.1.4/massgen/tool/_multimodal_tools/text_to_file_generation.py +455 -0
- massgen-0.1.4/massgen/tool/_multimodal_tools/text_to_image_generation.py +222 -0
- massgen-0.1.4/massgen/tool/_multimodal_tools/text_to_speech_continue_generation.py +226 -0
- massgen-0.1.4/massgen/tool/_multimodal_tools/text_to_speech_transcription_generation.py +217 -0
- massgen-0.1.4/massgen/tool/_multimodal_tools/text_to_video_generation.py +223 -0
- massgen-0.1.4/massgen/tool/_multimodal_tools/understand_audio.py +211 -0
- massgen-0.1.4/massgen/tool/_multimodal_tools/understand_file.py +555 -0
- massgen-0.1.4/massgen/tool/_multimodal_tools/understand_image.py +316 -0
- massgen-0.1.4/massgen/tool/_multimodal_tools/understand_video.py +340 -0
- massgen-0.1.4/massgen/tool/_web_tools/crawl4ai_tool.py +718 -0
- massgen-0.1.4/massgen/tool/docs/multimodal_tools.md +1368 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tool/workflow_toolkits/__init__.py +26 -0
- massgen-0.1.4/massgen/tool/workflow_toolkits/post_evaluation.py +216 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/utils.py +1 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen.egg-info/PKG-INFO +101 -69
- {massgen-0.1.2 → massgen-0.1.4}/massgen.egg-info/SOURCES.txt +38 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen.egg-info/requires.txt +6 -0
- {massgen-0.1.2 → massgen-0.1.4}/pyproject.toml +8 -1
- massgen-0.1.2/assets/logo-dark.png +0 -0
- massgen-0.1.2/massgen/filesystem_manager/_workspace_tools_server.py +0 -1815
- {massgen-0.1.2 → massgen-0.1.4}/.env.example +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/LICENSE +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/assets/MassGen-v1.gif +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/assets/cos.png +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/assets/favicon.ico +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/assets/logo.png +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/assets/massgen-demo-light.gif +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/assets/massgen-demo.gif +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/assets/release_related_figures/context_path.png +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/assets/release_related_figures/copy_file.png +0 -0
- /massgen-0.1.2/assets/thumbnail.png → /massgen-0.1.4/assets/thumbnail_old.png +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/adapters/__init__.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/adapters/ag2_adapter.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/adapters/base.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/adapters/tests/__init__.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/adapters/tests/test_ag2_adapter.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/adapters/tests/test_agent_adapter.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/adapters/utils/__init__.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/adapters/utils/ag2_utils.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/adapters/utils/tests/__init__.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/adapters/utils/tests/test_ag2_utils.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/api_params_handler/__init__.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/backend/__init__.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/backend/capabilities.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/backend/chat_completions.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/backend/claude.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/backend/cli_base.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/backend/docs/BACKEND_ARCHITECTURE.md +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/backend/docs/CLAUDE_API_RESEARCH.md +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/backend/docs/Function calling openai responses.md +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/backend/docs/GEMINI_API_DOCUMENTATION.md +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/backend/docs/Gemini MCP Integration Analysis.md +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/backend/docs/MCP_IMPLEMENTATION_CLAUDE_BACKEND.md +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/backend/docs/MCP_INTEGRATION_RESPONSE_BACKEND.md +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/backend/docs/OPENAI_GPT5_MODELS.md +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/backend/docs/OPENAI_RESPONSE_API_TOOL_CALLS.md +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/backend/docs/OPENAI_response_streaming.md +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/backend/docs/inference_backend.md +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/backend/external.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/backend/gemini_mcp_manager.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/backend/gemini_trackers.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/backend/grok.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/backend/inference.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/backend/lmstudio.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/BACKEND_CONFIGURATION.md +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/ag2/ag2_case_study.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/ag2/ag2_coder.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/ag2/ag2_coder_case_study.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/ag2/ag2_gemini.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/ag2/ag2_groupchat.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/ag2/ag2_groupchat_gpt.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/ag2/ag2_single_agent.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/basic/multi/fast_timeout_example.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/basic/multi/gemini_4o_claude.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/basic/multi/gemini_gpt5nano_claude.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/basic/multi/geminicode_4o_claude.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/basic/multi/geminicode_gpt5nano_claude.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/basic/multi/glm_gemini_claude.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/basic/multi/gpt4o_audio_generation.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/basic/multi/gpt4o_image_generation.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/basic/multi/gpt5nano_glm_qwen.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/basic/multi/gpt5nano_image_understanding.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/basic/multi/three_agents_default.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/basic/multi/three_agents_opensource.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/basic/multi/three_agents_vllm.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/basic/multi/two_agents_gemini.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/basic/multi/two_agents_gpt5.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/basic/multi/two_agents_opensource_lmstudio.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/basic/multi/two_qwen_vllm_sglang.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/basic/single/single_agent.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/basic/single/single_flash2.5.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/basic/single/single_gemini2.5pro.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/basic/single/single_gpt4o_audio_generation.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/basic/single/single_gpt4o_image_generation.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/basic/single/single_gpt4o_video_generation.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/basic/single/single_gpt5nano.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/basic/single/single_gpt5nano_file_search.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/basic/single/single_gpt5nano_image_understanding.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/basic/single/single_gptoss120b.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/basic/single/single_openrouter_audio_understanding.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/basic/single/single_qwen_video_understanding.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/debug/code_execution/command_filtering_blacklist.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/debug/code_execution/command_filtering_whitelist.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/debug/code_execution/docker_verification.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/debug/skip_coordination_test.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/debug/test_sdk_migration.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/docs/DISCORD_MCP_SETUP.md +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/docs/TWITTER_MCP_ENESCINAR_SETUP.md +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/providers/azure/azure_openai_multi.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/providers/azure/azure_openai_single.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/providers/claude/claude.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/providers/gemini/gemini_gpt5nano.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/providers/local/lmstudio.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/providers/openai/gpt5.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/providers/openai/gpt5_nano.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/providers/others/grok_single_agent.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/providers/others/zai_coding_team.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/providers/others/zai_glm45.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/teams/creative/creative_team.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/teams/creative/travel_planning.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/teams/research/news_analysis.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/teams/research/research_team.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/teams/research/technical_analysis.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/code-execution/basic_command_execution.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/code-execution/code_execution_use_case_simple.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/code-execution/docker_claude_code.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/code-execution/docker_multi_agent.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/code-execution/docker_simple.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/code-execution/docker_with_resource_limits.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/code-execution/multi_agent_playwright_automation.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/custom_tools/claude_code_custom_tool_example.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/custom_tools/claude_code_custom_tool_example_no_path.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/custom_tools/claude_code_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/custom_tools/claude_code_custom_tool_with_wrong_mcp_example.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/custom_tools/claude_code_wrong_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/custom_tools/claude_custom_tool_example.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/custom_tools/claude_custom_tool_example_no_path.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/custom_tools/claude_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/custom_tools/claude_custom_tool_with_wrong_mcp_example.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/custom_tools/claude_wrong_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/custom_tools/gemini_custom_tool_example.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/custom_tools/gemini_custom_tool_example_no_path.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/custom_tools/gemini_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/custom_tools/gemini_custom_tool_with_wrong_mcp_example.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/custom_tools/gemini_wrong_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/custom_tools/github_issue_market_analysis.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/custom_tools/gpt5_nano_custom_tool_example.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/custom_tools/gpt5_nano_custom_tool_example_no_path.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/custom_tools/gpt5_nano_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/custom_tools/gpt5_nano_custom_tool_with_wrong_mcp_example.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/custom_tools/gpt5_nano_wrong_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/custom_tools/gpt_oss_custom_tool_example.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/custom_tools/gpt_oss_custom_tool_example_no_path.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/custom_tools/gpt_oss_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/custom_tools/gpt_oss_custom_tool_with_wrong_mcp_example.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/custom_tools/gpt_oss_wrong_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/custom_tools/grok3_mini_custom_tool_example.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/custom_tools/grok3_mini_custom_tool_example_no_path.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/custom_tools/grok3_mini_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/custom_tools/grok3_mini_custom_tool_with_wrong_mcp_example.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/custom_tools/grok3_mini_wrong_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/custom_tools/qwen_api_custom_tool_example.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/custom_tools/qwen_api_custom_tool_example_no_path.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/custom_tools/qwen_api_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/custom_tools/qwen_api_custom_tool_with_wrong_mcp_example.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/custom_tools/qwen_api_wrong_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/custom_tools/qwen_local_custom_tool_example.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/custom_tools/qwen_local_custom_tool_example_no_path.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/custom_tools/qwen_local_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/custom_tools/qwen_local_custom_tool_with_wrong_mcp_example.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/custom_tools/qwen_local_wrong_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/filesystem/cc_gpt5_gemini_filesystem.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/filesystem/claude_code_context_sharing.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/filesystem/claude_code_flash2.5.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/filesystem/claude_code_flash2.5_gptoss.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/filesystem/claude_code_gpt5nano.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/filesystem/claude_code_single.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/filesystem/fs_permissions_test.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/filesystem/gemini_gemini_workspace_cleanup.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/filesystem/gemini_gpt5_filesystem_casestudy.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/filesystem/gemini_gpt5nano_file_context_path.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/filesystem/gemini_gpt5nano_protected_paths.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/filesystem/gpt5mini_cc_fs_context_path.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/filesystem/grok4_gpt5_gemini_filesystem.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/filesystem/multiturn/grok4_gpt5_claude_code_filesystem_multiturn.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/filesystem/multiturn/grok4_gpt5_gemini_filesystem_multiturn.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/filesystem/multiturn/two_claude_code_filesystem_multiturn.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/filesystem/multiturn/two_gemini_flash_filesystem_multiturn.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/mcp/claude_code_discord_mcp_example.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/mcp/claude_code_simple_mcp.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/mcp/claude_code_twitter_mcp_example.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/mcp/claude_mcp_example.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/mcp/claude_mcp_test.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/mcp/five_agents_travel_mcp_test.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/mcp/five_agents_weather_mcp_test.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/mcp/gemini_mcp_example.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/mcp/gemini_mcp_filesystem_test.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/mcp/gemini_mcp_filesystem_test_sharing.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/mcp/gemini_mcp_filesystem_test_single_agent.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/mcp/gemini_mcp_filesystem_test_with_claude_code.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/mcp/gemini_mcp_test.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/mcp/gemini_notion_mcp.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/mcp/gpt5_nano_mcp_example.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/mcp/gpt5_nano_mcp_test.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/mcp/gpt5mini_claude_code_discord_mcp_example.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/mcp/gpt_oss_mcp_example.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/mcp/gpt_oss_mcp_test.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/mcp/grok3_mini_mcp_example.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/mcp/grok3_mini_mcp_test.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/mcp/multimcp_gemini.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/mcp/qwen_api_mcp_example.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/mcp/qwen_api_mcp_test.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/mcp/qwen_local_mcp_example.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/mcp/qwen_local_mcp_test.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/planning/five_agents_discord_mcp_planning_mode.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/planning/five_agents_filesystem_mcp_planning_mode.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/planning/five_agents_notion_mcp_planning_mode.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/planning/five_agents_twitter_mcp_planning_mode.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/planning/gpt5_mini_case_study_mcp_planning_mode.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/web-search/claude_streamable_http_test.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/web-search/gemini_streamable_http_test.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/web-search/gpt5_mini_streamable_http_test.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/web-search/gpt_oss_streamable_http_test.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/web-search/grok3_mini_streamable_http_test.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/web-search/qwen_api_streamable_http_test.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/tools/web-search/qwen_local_streamable_http_test.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/configs/voting/gemini_gpt_voting_sensitivity.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/coordination_tracker.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/filesystem_manager/__init__.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/filesystem_manager/_base.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/filesystem_manager/_file_operation_tracker.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/formatter/__init__.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/formatter/_chat_completions_formatter.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/formatter/_claude_formatter.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/formatter/_formatter_base.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/formatter/_response_formatter.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/frontend/__init__.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/frontend/displays/__init__.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/frontend/displays/create_coordination_table.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/mcp_tools/README.md +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/mcp_tools/__init__.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/mcp_tools/backend_utils.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/mcp_tools/circuit_breaker.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/mcp_tools/client.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/mcp_tools/config_validator.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/mcp_tools/docs/circuit_breaker.md +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/mcp_tools/docs/client.md +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/mcp_tools/docs/config_validator.md +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/mcp_tools/docs/exceptions.md +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/mcp_tools/docs/security.md +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/mcp_tools/exceptions.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/mcp_tools/hooks.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/mcp_tools/security.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/stream_chunk/__init__.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/stream_chunk/base.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/stream_chunk/multimodal.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/stream_chunk/text.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tests/__init__.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tests/custom_tools_example.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tests/mcp_test_server.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tests/multi_turn_conversation_design.md +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tests/multiturn_llm_input_analysis.md +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tests/test_azure_openai_backend.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tests/test_backend_capabilities.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tests/test_backend_event_loop_all.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tests/test_chat_completions_refactor.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tests/test_claude_backend.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tests/test_claude_code.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tests/test_claude_code_context_sharing.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tests/test_claude_code_orchestrator.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tests/test_cli_backends.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tests/test_config_builder.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tests/test_custom_tools.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tests/test_external_agent_backend.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tests/test_final_presentation_fallback.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tests/test_gemini_planning_mode.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tests/test_grok_backend.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tests/test_http_mcp_server.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tests/test_integration_simple.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tests/test_intelligent_planning_mode.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tests/test_mcp_blocking.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tests/test_message_context_building.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tests/test_orchestrator_final_presentation.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tests/test_path_permission_manager.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tests/test_rich_terminal_display.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tests/test_timeout.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tests/test_tools.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tests/test_v3_3agents.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tests/test_v3_simple.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tests/test_v3_three_agents.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tests/test_v3_two_agents.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/token_manager/__init__.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/token_manager/token_manager.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tool/README.md +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tool/_async_helpers.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tool/_basic/__init__.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tool/_basic/_two_num_tool.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tool/_code_executors/__init__.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tool/_code_executors/_python_executor.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tool/_code_executors/_shell_executor.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tool/_exceptions.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tool/_file_handlers/__init__.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tool/_file_handlers/_file_operations.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tool/_registered_tool.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tool/_result.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tool/_self_evolution/_github_issue_analyzer.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tool/docs/builtin_tools.md +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tool/docs/exceptions.md +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tool/docs/execution_results.md +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tool/docs/manager.md +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tool/docs/workflow_toolkits.md +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tool/workflow_toolkits/base.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tool/workflow_toolkits/new_answer.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/tool/workflow_toolkits/vote.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/v1/README.md +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/v1/__init__.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/v1/agent.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/v1/agents.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/v1/backends/gemini.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/v1/backends/grok.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/v1/backends/oai.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/v1/cli.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/v1/config.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/v1/examples/fast-4o-mini-config.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/v1/examples/fast_config.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/v1/examples/production.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/v1/examples/single_agent.yaml +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/v1/logging.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/v1/main.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/v1/orchestrator.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/v1/streaming_display.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/v1/tools.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/v1/types.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen/v1/utils.py +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen.egg-info/dependency_links.txt +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen.egg-info/entry_points.txt +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen.egg-info/not-zip-safe +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/massgen.egg-info/top_level.txt +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/requirements.txt +0 -0
- {massgen-0.1.2 → massgen-0.1.4}/setup.cfg +0 -0
|
@@ -7,16 +7,151 @@ 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.4 (October 2025)** - Multimodal Generation Tools & Binary File Protection
|
|
11
|
+
Comprehensive generation tools for images, videos, audio, and documents with OpenAI APIs, binary file blocking for security, web crawling integration, and enhanced documentation infrastructure.
|
|
12
|
+
|
|
13
|
+
**v0.1.3 (October 2025)** - Post-Evaluation Tools & Multimodal Understanding
|
|
14
|
+
Post-evaluation workflow with submit/restart capabilities, custom multimodal understanding tools, Docker sudo mode, and enhanced config builder.
|
|
15
|
+
|
|
10
16
|
**v0.1.2 (October 2025)** - Intelligent Planning Mode & Model Updates
|
|
11
17
|
Automatic irreversibility analysis for MCP tools, selective tool blocking, Claude 4.5 Haiku support, and Grok web search improvements.
|
|
12
18
|
|
|
13
|
-
|
|
14
|
-
Custom Python function tools, voting sensitivity controls, interactive config builder, and comprehensive Sphinx documentation.
|
|
19
|
+
---
|
|
15
20
|
|
|
16
|
-
|
|
17
|
-
Official PyPI release with enhanced documentation and installation via `pip install massgen`.
|
|
21
|
+
## [0.1.4] - 2025-10-27
|
|
18
22
|
|
|
19
|
-
|
|
23
|
+
### Added
|
|
24
|
+
- **Multimodal Generation Tools**: Comprehensive generation capabilities via OpenAI APIs
|
|
25
|
+
- New `text_to_image_generation` tool for generating images from text prompts using DALL-E models
|
|
26
|
+
- New `text_to_video_generation` tool for generating videos from text prompts
|
|
27
|
+
- New `text_to_speech_continue_generation` tool for text-to-speech with continuation support
|
|
28
|
+
- New `text_to_speech_transcription_generation` tool for audio transcription and generation
|
|
29
|
+
- New `text_to_file_generation` tool for generating documents (PDF, DOCX, XLSX, PPTX)
|
|
30
|
+
- New `image_to_image_generation` tool for image-to-image transformations
|
|
31
|
+
- Implemented in `massgen/tool/_multimodal_tools/` with 6 new modules
|
|
32
|
+
|
|
33
|
+
- **Binary File Protection System**: Enhanced security for file operations
|
|
34
|
+
- New binary file blocking in `PathPermissionManager` preventing text tools from reading binary files
|
|
35
|
+
- Added `BINARY_FILE_EXTENSIONS` set covering images, videos, audio, archives, executables, and Office documents
|
|
36
|
+
- New `_validate_binary_file_access()` method with intelligent tool suggestions
|
|
37
|
+
- Prevents context pollution by blocking Read, read_text_file, and read_file tools from binary files
|
|
38
|
+
- Comprehensive test suite in `test_binary_file_blocking.py`
|
|
39
|
+
|
|
40
|
+
- **Crawl4AI Web Scraping Integration**: Advanced web content extraction tool
|
|
41
|
+
- New `crawl4ai_tool` for intelligent web scraping with LLM-powered extraction
|
|
42
|
+
- Implemented in `massgen/tool/_web_tools/crawl4ai_tool.py`
|
|
43
|
+
|
|
44
|
+
### Changed
|
|
45
|
+
- **Multimodal File Size Limits**: Enhanced validation and automatic handling
|
|
46
|
+
- Automatic image resizing for files exceeding size limits
|
|
47
|
+
- Comprehensive size limit test suite in `test_multimodal_size_limits.py`
|
|
48
|
+
- Enhanced validation in understand_audio and understand_video tools
|
|
49
|
+
|
|
50
|
+
### Documentations, Configurations and Resources
|
|
51
|
+
|
|
52
|
+
- **PyPI Package Documentation**: Standalone README for PyPI distribution
|
|
53
|
+
- New `README_PYPI.md` with comprehensive package documentation
|
|
54
|
+
- Improved package metadata and installation instructions
|
|
55
|
+
|
|
56
|
+
- **Release Management Documentation**: Comprehensive release workflow guide
|
|
57
|
+
- New `docs/dev_notes/release_checklist.md` with step-by-step release procedures
|
|
58
|
+
- Detailed checklist for testing, documentation, and deployment
|
|
59
|
+
|
|
60
|
+
- **Binary File Protection Documentation**: Enhanced protected paths user guide
|
|
61
|
+
- Updated `docs/source/user_guide/protected_paths.rst` with binary file protection section
|
|
62
|
+
- Documents 40+ protected binary file types and specialized tool suggestions
|
|
63
|
+
|
|
64
|
+
- **Enhanced Pre-commit Hooks**: Improved code quality automation
|
|
65
|
+
- Updated `.pre-commit-config.yaml` with additional checks
|
|
66
|
+
- Better README synchronization and validation
|
|
67
|
+
|
|
68
|
+
- **Documentation Automation**: CI/CD for documentation deployment
|
|
69
|
+
- New `.github/workflows/docs-automation.yml` for automated doc builds
|
|
70
|
+
- Removed legacy docs.yml workflow
|
|
71
|
+
|
|
72
|
+
- **Configuration Examples**: 9 new YAML configuration files
|
|
73
|
+
- **Generation Tools**: 8 multimodal generation configurations
|
|
74
|
+
- `text_to_image_generation_single.yaml` and `text_to_image_generation_multi.yaml`
|
|
75
|
+
- `text_to_video_generation_single.yaml` and `text_to_video_generation_multi.yaml`
|
|
76
|
+
- `text_to_speech_generation_single.yaml` and `text_to_speech_generation_multi.yaml`
|
|
77
|
+
- `text_to_file_generation_single.yaml` and `text_to_file_generation_multi.yaml`
|
|
78
|
+
- **Web Scraping**: `crawl4ai_example.yaml` for Crawl4AI integration
|
|
79
|
+
|
|
80
|
+
### Technical Details
|
|
81
|
+
- **Major Focus**: Multimodal generation tools, binary file protection system, web scraping integration
|
|
82
|
+
- **Contributors**: @qidanrui @ncrispino @sonichi @Henry-811 and the MassGen team
|
|
83
|
+
|
|
84
|
+
## [0.1.3] - 2025-10-24
|
|
85
|
+
|
|
86
|
+
### Added
|
|
87
|
+
- **Post-Evaluation Workflow Tools**: Submit and restart capabilities for winning agents
|
|
88
|
+
- New `PostEvaluationToolkit` class in `massgen/tool/workflow_toolkits/post_evaluation.py`
|
|
89
|
+
- `submit` tool for confirming final answers
|
|
90
|
+
- `restart_orchestration` tool for restarting with improvements and feedback
|
|
91
|
+
- Post-evaluation phase where winning agent evaluates its own answer
|
|
92
|
+
- Support for all API formats (Claude, Response API, Chat Completions)
|
|
93
|
+
- Configuration parameter `enable_post_evaluation_tools` for opt-in/out
|
|
94
|
+
|
|
95
|
+
- **Custom Multimodal Understanding Tools**: Active tools for analyzing workspace files using OpenAI's GPT-4.1 API
|
|
96
|
+
- New `understand_image` tool for analyzing images (PNG, JPEG, JPG) with detailed metadata extraction
|
|
97
|
+
- New `understand_audio` tool for transcribing and analyzing audio files (WAV, MP3, FLAC, OGG)
|
|
98
|
+
- New `understand_video` tool for extracting frames and analyzing video content (MP4, AVI, MOV, WEBM)
|
|
99
|
+
- New `understand_file` tool for processing documents (PDF, DOCX, XLSX, PPTX) with text and metadata extraction
|
|
100
|
+
- Works with any backend (uses OpenAI for analysis)
|
|
101
|
+
- Returns structured JSON with comprehensive metadata
|
|
102
|
+
|
|
103
|
+
- **Docker Sudo Mode**: Enhanced Docker execution with privileged command support
|
|
104
|
+
- New `use_sudo` parameter for Docker execution
|
|
105
|
+
- Sudo mode for commands requiring elevated privileges
|
|
106
|
+
- Enhanced security instructions and documentation
|
|
107
|
+
- Test coverage in `test_code_execution.py`
|
|
108
|
+
|
|
109
|
+
### Changed
|
|
110
|
+
- **Interactive Config Builder Enhancement**: Improved workflow and provider handling
|
|
111
|
+
- Better flow from automatic setup to config builder
|
|
112
|
+
- Auto-detection of environment variables
|
|
113
|
+
- Improved provider-specific configuration handling
|
|
114
|
+
- Integrated multimodal tools selection in config wizard
|
|
115
|
+
|
|
116
|
+
### Fixed
|
|
117
|
+
- **System Message Warning**: Resolved deprecated system message configuration warning
|
|
118
|
+
- Fixed system message handling in `agent_config.py`
|
|
119
|
+
- Updated chat agent to properly handle system messages
|
|
120
|
+
- Removed deprecated warning messages
|
|
121
|
+
|
|
122
|
+
- **Config Builder Issues**: Multiple configuration builder improvements
|
|
123
|
+
- Fixed config display errors
|
|
124
|
+
- Improved config saving across different provider types
|
|
125
|
+
- Better error handling for missing configurations
|
|
126
|
+
|
|
127
|
+
### Documentations, Configurations and Resources
|
|
128
|
+
|
|
129
|
+
- **Multimodal Tools Documentation**: Comprehensive documentation for new multimodal tools
|
|
130
|
+
- `docs/source/user_guide/multimodal.rst`: Updated with custom tools section
|
|
131
|
+
- `massgen/tool/docs/multimodal_tools.md`: Complete 779-line technical documentation
|
|
132
|
+
|
|
133
|
+
- **Docker Sudo Mode Documentation**: Enhanced Docker execution documentation
|
|
134
|
+
- `docs/source/user_guide/code_execution.rst`: Added 98 lines documenting sudo mode
|
|
135
|
+
- `massgen/docker/README.md`: Updated with sudo mode instructions
|
|
136
|
+
|
|
137
|
+
- **Configuration Examples**: New example configurations
|
|
138
|
+
- `configs/tools/multimodal_tools/understand_image.yaml`: Image analysis configuration
|
|
139
|
+
- `configs/tools/multimodal_tools/understand_audio.yaml`: Audio transcription configuration
|
|
140
|
+
- `configs/tools/multimodal_tools/understand_video.yaml`: Video analysis configuration
|
|
141
|
+
- `configs/tools/multimodal_tools/understand_file.yaml`: Document processing configuration
|
|
142
|
+
|
|
143
|
+
- **Example Resources**: New test resources for v0.1.3 features
|
|
144
|
+
- `massgen/configs/resources/v0.1.3-example/multimodality.jpg`: Image example
|
|
145
|
+
- `massgen/configs/resources/v0.1.3-example/Sherlock_Holmes.mp3`: Audio example
|
|
146
|
+
- `massgen/configs/resources/v0.1.3-example/oppenheimer_trailer_1920.mp4`: Video example
|
|
147
|
+
- `massgen/configs/resources/v0.1.3-example/TUMIX.pdf`: PDF document example
|
|
148
|
+
|
|
149
|
+
- **Case Studies**: New case study demonstrating v0.1.3 features
|
|
150
|
+
- `docs/source/examples/case_studies/multimodal-case-study-video-analysis.md`: Meta-level demonstration of multimodal video understanding with agents analyzing their own case study videos
|
|
151
|
+
|
|
152
|
+
### Technical Details
|
|
153
|
+
- **Major Focus**: Post-evaluation workflow tools, custom multimodal understanding tools, Docker sudo mode
|
|
154
|
+
- **Contributors**: @ncrispino @qidanrui @sonichi @Henry-811 and the MassGen team
|
|
20
155
|
|
|
21
156
|
## [0.1.2] - 2025-10-22
|
|
22
157
|
|
|
@@ -50,7 +185,7 @@ Official PyPI release with enhanced documentation and installation via `pip inst
|
|
|
50
185
|
### Documentations, Configurations and Resources
|
|
51
186
|
|
|
52
187
|
- **Intelligent Planning Mode Case Study**: Complete feature documentation
|
|
53
|
-
- `docs/case_studies/INTELLIGENT_PLANNING_MODE.md`: Comprehensive guide for automatic planning mode
|
|
188
|
+
- `docs/source/examples/case_studies/INTELLIGENT_PLANNING_MODE.md`: Comprehensive guide for automatic planning mode
|
|
54
189
|
- Demonstrates automatic irreversibility detection
|
|
55
190
|
- Shows read/write operation classification
|
|
56
191
|
- Includes examples for Discord, filesystem, and Twitter operations
|
|
@@ -130,7 +265,7 @@ Official PyPI release with enhanced documentation and installation via `pip inst
|
|
|
130
265
|
### Documentations, Configurations and Resources
|
|
131
266
|
|
|
132
267
|
- **Case Study: Universal Code Execution via MCP**: Comprehensive v0.0.31 feature documentation
|
|
133
|
-
- `docs/case_studies/universal-code-execution-mcp.md`
|
|
268
|
+
- `docs/source/examples/case_studies/universal-code-execution-mcp.md`
|
|
134
269
|
- Demonstrates pytest test creation and execution across backends
|
|
135
270
|
- Shows command validation, security layers, and result interpretation
|
|
136
271
|
|
|
@@ -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.5. If you want to contribute, please contribute to the `dev/v0.1.5` 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.5
|
|
279
|
+
git checkout -b feature/your-feature-name upstream/dev/v0.1.5
|
|
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.5`
|
|
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.5` branch
|
|
483
483
|
|
|
484
484
|
### PR Description Should Include
|
|
485
485
|
|
|
@@ -603,7 +603,7 @@ Every feature needs documentation! Here's how to decide where and what to write.
|
|
|
603
603
|
- Feature is significant enough to showcase
|
|
604
604
|
- Following case-driven development methodology
|
|
605
605
|
|
|
606
|
-
**Location:** `docs/case_studies/feature_name.md`
|
|
606
|
+
**Location:** `docs/source/examples/case_studies/feature_name.md`
|
|
607
607
|
|
|
608
608
|
**Examples:**
|
|
609
609
|
- `claude-code-workspace-management.md`
|
|
@@ -645,7 +645,7 @@ Every feature needs documentation! Here's how to decide where and what to write.
|
|
|
645
645
|
┌──────────────┐
|
|
646
646
|
│ Write Case │
|
|
647
647
|
│ Study │
|
|
648
|
-
│ (case_studies/)│
|
|
648
|
+
│ (source/examples/case_studies/)│
|
|
649
649
|
└──────────────┘
|
|
650
650
|
```
|
|
651
651
|
|
|
@@ -659,7 +659,7 @@ Every feature needs documentation! Here's how to decide where and what to write.
|
|
|
659
659
|
| **CHANGELOG** | Every PR | `CHANGELOG.md` | ✅ Yes |
|
|
660
660
|
| **Examples** | **Every feature** | `docs/source/examples/` | ✅ **ALWAYS** |
|
|
661
661
|
| **Design Doc** | Complex implementation | `docs/dev_notes/` | ⚠️ Optional |
|
|
662
|
-
| **Case Study** | Demonstrate real-world usage | `docs/case_studies/` | ⚠️ Optional but expected |
|
|
662
|
+
| **Case Study** | Demonstrate real-world usage | `docs/source/examples/case_studies/` | ⚠️ Optional but expected |
|
|
663
663
|
|
|
664
664
|
#### 6. Documentation Quality Standards
|
|
665
665
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: massgen
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.4
|
|
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
|
|
@@ -49,6 +49,12 @@ Requires-Dist: ag2>=0.9.10
|
|
|
49
49
|
Requires-Dist: pyautogen>=0.10.0
|
|
50
50
|
Requires-Dist: vertexai>=1.71.1
|
|
51
51
|
Requires-Dist: pytest>=8.4.2
|
|
52
|
+
Requires-Dist: python-docx>=1.2.0
|
|
53
|
+
Requires-Dist: openpyxl>=3.1.5
|
|
54
|
+
Requires-Dist: python-pptx>=1.0.2
|
|
55
|
+
Requires-Dist: opencv-python>=4.12.0.88
|
|
56
|
+
Requires-Dist: pypdf2>=3.0.1
|
|
57
|
+
Requires-Dist: reportlab>=4.0.0
|
|
52
58
|
Provides-Extra: dev
|
|
53
59
|
Requires-Dist: pytest>=7.0.0; extra == "dev"
|
|
54
60
|
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
|
|
@@ -83,23 +89,29 @@ Provides-Extra: all
|
|
|
83
89
|
Dynamic: license-file
|
|
84
90
|
|
|
85
91
|
<p align="center">
|
|
86
|
-
<
|
|
92
|
+
<picture>
|
|
93
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/Leezekun/MassGen/main/assets/logo-dark.png">
|
|
94
|
+
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/Leezekun/MassGen/main/assets/logo.png">
|
|
95
|
+
<img src="https://raw.githubusercontent.com/Leezekun/MassGen/main/assets/logo.png" alt="MassGen Logo" width="360" />
|
|
96
|
+
</picture>
|
|
87
97
|
</p>
|
|
88
98
|
|
|
89
|
-
<
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
99
|
+
<div align="center">
|
|
100
|
+
|
|
101
|
+
[](https://docs.massgen.ai)
|
|
102
|
+
[](https://github.com/Leezekun/MassGen)
|
|
103
|
+
[](https://www.python.org/downloads/)
|
|
104
|
+
[](LICENSE)
|
|
105
|
+
|
|
106
|
+
</div>
|
|
107
|
+
|
|
108
|
+
<div align="center">
|
|
109
|
+
|
|
110
|
+
[](https://x.massgen.ai)
|
|
111
|
+
[](https://www.linkedin.com/company/massgen-ai)
|
|
112
|
+
[](https://discord.massgen.ai)
|
|
113
|
+
|
|
114
|
+
</div>
|
|
103
115
|
|
|
104
116
|
<h1 align="center">🚀 MassGen: Multi-Agent Scaling System for GenAI</h1>
|
|
105
117
|
|
|
@@ -109,7 +121,7 @@ Dynamic: license-file
|
|
|
109
121
|
|
|
110
122
|
<p align="center">
|
|
111
123
|
<a href="https://www.youtube.com/watch?v=Dp2oldJJImw">
|
|
112
|
-
<img src="assets/
|
|
124
|
+
<img src="assets/thumbnail.png" alt="MassGen case study -- Berkeley Agentic AI Summit Question" width="800">
|
|
113
125
|
</a>
|
|
114
126
|
</p>
|
|
115
127
|
|
|
@@ -138,7 +150,7 @@ This project started with the "threads of thought" and "iterative refinement" id
|
|
|
138
150
|
<details open>
|
|
139
151
|
<summary><h3>🆕 Latest Features</h3></summary>
|
|
140
152
|
|
|
141
|
-
- [v0.1.
|
|
153
|
+
- [v0.1.4 Features](#-latest-features-v014)
|
|
142
154
|
</details>
|
|
143
155
|
|
|
144
156
|
<details open>
|
|
@@ -183,15 +195,16 @@ This project started with the "threads of thought" and "iterative refinement" id
|
|
|
183
195
|
<summary><h3>🗺️ Roadmap</h3></summary>
|
|
184
196
|
|
|
185
197
|
- Recent Achievements
|
|
186
|
-
- [v0.1.
|
|
187
|
-
- [v0.
|
|
198
|
+
- [v0.1.4](#recent-achievements-v014)
|
|
199
|
+
- [v0.1.3](#recent-achievements-v013)
|
|
200
|
+
- [v0.0.3 - v0.1.2](#previous-achievements-v003---v012)
|
|
188
201
|
- [Key Future Enhancements](#key-future-enhancements)
|
|
189
202
|
- Bug Fixes & Backend Improvements
|
|
190
203
|
- Advanced Agent Collaboration
|
|
191
204
|
- Expanded Model, Tool & Agent Integrations
|
|
192
205
|
- Improved Performance & Scalability
|
|
193
206
|
- Enhanced Developer Experience
|
|
194
|
-
- [v0.1.
|
|
207
|
+
- [v0.1.5 Roadmap](#v015-roadmap)
|
|
195
208
|
</details>
|
|
196
209
|
|
|
197
210
|
<details open>
|
|
@@ -216,36 +229,37 @@ This project started with the "threads of thought" and "iterative refinement" id
|
|
|
216
229
|
|
|
217
230
|
---
|
|
218
231
|
|
|
219
|
-
## 🆕 Latest Features (v0.1.
|
|
232
|
+
## 🆕 Latest Features (v0.1.4)
|
|
220
233
|
|
|
221
|
-
**🎉 Released: October
|
|
234
|
+
**🎉 Released: October 27, 2025**
|
|
222
235
|
|
|
223
|
-
**What's New in v0.1.
|
|
224
|
-
-
|
|
225
|
-
-
|
|
226
|
-
-
|
|
236
|
+
**What's New in v0.1.4:**
|
|
237
|
+
- **🎨 Multimodal Generation Tools** - Create images, videos, audio, and documents with AI
|
|
238
|
+
- **🔒 Binary File Protection** - Automatic security preventing accidental binary file reads
|
|
239
|
+
- **🕷️ Crawl4AI Integration** - Intelligent web scraping with LLM-powered extraction
|
|
227
240
|
|
|
228
241
|
**Key Improvements:**
|
|
229
|
-
-
|
|
230
|
-
-
|
|
231
|
-
-
|
|
232
|
-
-
|
|
233
|
-
- Enhanced model support with latest Claude 4.5 Haiku
|
|
242
|
+
- 6 new generation tools: text-to-image, text-to-video, text-to-speech, text-to-file, image-to-image
|
|
243
|
+
- Binary file protection for 40+ file types with smart tool suggestions
|
|
244
|
+
- Web crawling with customizable extraction patterns
|
|
245
|
+
- Enhanced documentation and automation infrastructure
|
|
234
246
|
|
|
235
|
-
**Get Started with v0.1.
|
|
247
|
+
**Get Started with v0.1.4:**
|
|
236
248
|
```bash
|
|
237
249
|
# Install or upgrade from PyPI
|
|
238
250
|
pip install --upgrade massgen
|
|
239
251
|
|
|
240
|
-
#
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
"Check recent messages in our development channel, summarize the discussion, and post a helpful response about the current topic."
|
|
252
|
+
# Generate an image from text
|
|
253
|
+
massgen --config @examples/tools/custom_tools/multimodal_tools/text_to_image_generation_single \
|
|
254
|
+
"Please generate an image of a cat in space."
|
|
244
255
|
|
|
245
|
-
#
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
256
|
+
# Generate a video from text
|
|
257
|
+
massgen --config @examples/tools/custom_tools/multimodal_tools/text_to_video_generation_single \
|
|
258
|
+
"Generate a 4 seconds video with neon-lit alley at night, light rain, slow push-in, cinematic."
|
|
259
|
+
|
|
260
|
+
# Generate documents (PDF, DOCX, etc.)
|
|
261
|
+
massgen --config @examples/tools/custom_tools/multimodal_tools/text_to_file_generation_single \
|
|
262
|
+
"Please generate a comprehensive technical report about the latest developments in Large Language Models (LLMs)."
|
|
249
263
|
```
|
|
250
264
|
|
|
251
265
|
→ [See full release history and examples](massgen/configs/README.md#release-history--examples)
|
|
@@ -949,7 +963,7 @@ massgen --config @examples/tools/code-execution/multi_agent_playwright_automatio
|
|
|
949
963
|
"Navigate to https://news.ycombinator.com, extract the top 10 stories, and create a summary report"
|
|
950
964
|
```
|
|
951
965
|
|
|
952
|
-
→ [**See detailed case studies**](docs/case_studies/README.md) with real session logs and outcomes
|
|
966
|
+
→ [**See detailed case studies**](docs/source/examples/case_studies/README.md) with real session logs and outcomes
|
|
953
967
|
|
|
954
968
|
#### Interactive Mode & Advanced Usage
|
|
955
969
|
|
|
@@ -1070,7 +1084,7 @@ All sessions are automatically logged with detailed information for debugging an
|
|
|
1070
1084
|
|
|
1071
1085
|
To see how MassGen works in practice, check out these detailed case studies based on real session logs:
|
|
1072
1086
|
|
|
1073
|
-
- [**MassGen Case Studies**](docs/case_studies/README.md)
|
|
1087
|
+
- [**MassGen Case Studies**](docs/source/examples/case_studies/README.md)
|
|
1074
1088
|
- [**Case Studies Documentation**](https://docs.massgen.ai/en/latest/examples/case_studies.html) - Browse case studies online
|
|
1075
1089
|
|
|
1076
1090
|
---
|
|
@@ -1078,33 +1092,49 @@ To see how MassGen works in practice, check out these detailed case studies base
|
|
|
1078
1092
|
|
|
1079
1093
|
## 🗺️ Roadmap
|
|
1080
1094
|
|
|
1081
|
-
MassGen is currently in its foundational stage, with a focus on parallel, asynchronous multi-agent collaboration and orchestration. Our roadmap is centered on transforming this foundation into a highly robust, intelligent, and user-friendly system, while enabling frontier research and exploration.
|
|
1095
|
+
MassGen is currently in its foundational stage, with a focus on parallel, asynchronous multi-agent collaboration and orchestration. Our roadmap is centered on transforming this foundation into a highly robust, intelligent, and user-friendly system, while enabling frontier research and exploration.
|
|
1082
1096
|
|
|
1083
1097
|
⚠️ **Early Stage Notice:** As MassGen is in active development, please expect upcoming breaking architecture changes as we continue to refine and improve the system.
|
|
1084
1098
|
|
|
1085
|
-
### Recent Achievements (v0.1.
|
|
1099
|
+
### Recent Achievements (v0.1.4)
|
|
1100
|
+
|
|
1101
|
+
**🎉 Released: October 27, 2025**
|
|
1102
|
+
|
|
1103
|
+
#### Multimodal Generation Tools
|
|
1104
|
+
- **Text-to-Image**: `text_to_image_generation` tool creates images from text prompts via DALL-E API
|
|
1105
|
+
- **Text-to-Video**: `text_to_video_generation` tool generates videos from text descriptions
|
|
1106
|
+
- **Text-to-Speech**: `text_to_speech_continue_generation` and `text_to_speech_transcription_generation` tools for audio generation and transcription
|
|
1107
|
+
- **Text-to-File**: `text_to_file_generation` tool creates documents in PDF, DOCX, XLSX, and PPTX formats
|
|
1108
|
+
- **Image-to-Image**: `image_to_image_generation` tool transforms existing images
|
|
1086
1109
|
|
|
1087
|
-
|
|
1110
|
+
#### Binary File Protection
|
|
1111
|
+
- **Automatic Blocking**: `PathPermissionManager` now prevents text-based read tools from accessing binary files
|
|
1112
|
+
- **Protected File Types**: 40+ extensions including images (.jpg, .png), videos (.mp4, .avi), audio (.mp3, .wav), archives (.zip, .tar), executables (.exe, .dll), and Office documents (.pdf, .docx, .xlsx, .pptx)
|
|
1113
|
+
- **Intelligent Guidance**: Error messages automatically suggest appropriate specialized tools (e.g., "use understand_image tool" for .jpg files)
|
|
1114
|
+
- **Test Coverage**: `test_binary_file_blocking.py`
|
|
1088
1115
|
|
|
1089
|
-
####
|
|
1090
|
-
- **
|
|
1091
|
-
- **Selective Tool Blocking**: Granular control with `set_planning_mode_blocked_tools()`, `get_planning_mode_blocked_tools()`, and `is_mcp_tool_blocked()` methods
|
|
1092
|
-
- **Dynamic Behavior**: Read-only MCP operations allowed during coordination, write operations blocked for safety
|
|
1093
|
-
- **Zero Configuration**: Works transparently without setup
|
|
1094
|
-
- **Multi-Workspace Support**: Planning mode works across different workspaces without conflicts
|
|
1095
|
-
- **Test Coverage**: Comprehensive tests in `massgen/tests/test_intelligent_planning_mode.py`
|
|
1096
|
-
- **Documentation**: Complete guide in `docs/case_studies/INTELLIGENT_PLANNING_MODE.md`
|
|
1116
|
+
#### Web Scraping Capabilities
|
|
1117
|
+
- **Crawl4AI Tool**: `crawl4ai_tool` enables intelligent web scraping with LLM-powered content extraction and customizable patterns
|
|
1097
1118
|
|
|
1098
|
-
####
|
|
1099
|
-
- **
|
|
1100
|
-
-
|
|
1101
|
-
-
|
|
1119
|
+
#### Documentation & Infrastructure
|
|
1120
|
+
- **Generation Tools**: 8 multimodal generation configurations
|
|
1121
|
+
- `text_to_image_generation_single.yaml` and `text_to_image_generation_multi.yaml`
|
|
1122
|
+
- `text_to_video_generation_single.yaml` and `text_to_video_generation_multi.yaml`
|
|
1123
|
+
- `text_to_speech_generation_single.yaml` and `text_to_speech_generation_multi.yaml`
|
|
1124
|
+
- `text_to_file_generation_single.yaml` and `text_to_file_generation_multi.yaml`
|
|
1125
|
+
- **Web Scraping**: `crawl4ai_example.yaml` for Crawl4AI integration
|
|
1102
1126
|
|
|
1103
|
-
|
|
1104
|
-
- **Planning Mode Configs**: Updated 5 configurations in `massgen/configs/tools/planning/` with selective blocking examples
|
|
1105
|
-
- **Default Configuration**: Updated `three_agents_default.yaml` with Grok-4-fast model
|
|
1127
|
+
### Previous Achievements (v0.0.3 - v0.1.3)
|
|
1106
1128
|
|
|
1107
|
-
|
|
1129
|
+
✅ **Post-Evaluation Workflow (v0.1.3)**: `PostEvaluationToolkit` class with submit tool for confirming final answers and restart tool for orchestration restart with feedback, winning agent evaluates answer before submission, universal backend support (Claude, Response API, Chat Completions), opt-in via `enable_post_evaluation_tools` parameter
|
|
1130
|
+
|
|
1131
|
+
✅ **Multimodal Understanding Tools (v0.1.3)**: `understand_image` for PNG/JPEG analysis, `understand_audio` for WAV/MP3 transcription, `understand_video` for MP4/AVI frame extraction, `understand_file` for PDF/DOCX processing, cross-backend support via OpenAI GPT-4.1, structured JSON output, configurations: `understand_image.yaml`, `understand_audio.yaml`, `understand_video.yaml`, `understand_file.yaml`
|
|
1132
|
+
|
|
1133
|
+
✅ **Docker Sudo Mode (v0.1.3)**: `use_sudo` parameter for privileged Docker execution, system-level command support in containers, enhanced security documentation, test coverage in `test_code_execution.py`
|
|
1134
|
+
|
|
1135
|
+
✅ **Intelligent Planning Mode (v0.1.2)**: Automatic question analysis determining operation irreversibility via `_analyze_question_irreversibility()` in orchestrator, selective tool blocking with `set_planning_mode_blocked_tools()` and `is_mcp_tool_blocked()` methods, read-only MCP operations during coordination with write operations blocked, zero-configuration transparent operation, multi-workspace support, comprehensive tests in `test_intelligent_planning_mode.py`, complete guide in `docs/dev_notes/intelligent_planning_mode.md`
|
|
1136
|
+
|
|
1137
|
+
✅ **Model Updates (v0.1.2)**: Claude 4.5 Haiku model `claude-haiku-4-5-20251001`, reorganized Claude model priorities with `claude-sonnet-4-5-20250929` default, Grok web search fix with `_add_grok_search_params()` method for proper `extra_body` parameter handling, 5 updated planning mode configurations in `configs/tools/planning/`, updated `three_agents_default.yaml` with Grok-4-fast
|
|
1108
1138
|
|
|
1109
1139
|
✅ **Custom Tools System (v0.1.1)**: User-defined Python function registration using `ToolManager` class in `massgen/tool/_manager.py`, cross-backend support alongside MCP servers, builtin/MCP/custom tool categories with automatic discovery, 40+ examples in `massgen/configs/tools/custom_tools/`, voting sensitivity controls with three-tier quality system (lenient/balanced/strict), answer novelty detection preventing duplicates
|
|
1110
1140
|
|
|
@@ -1208,19 +1238,21 @@ MassGen is currently in its foundational stage, with a focus on parallel, asynch
|
|
|
1208
1238
|
|
|
1209
1239
|
We welcome community contributions to achieve these goals.
|
|
1210
1240
|
|
|
1211
|
-
### v0.1.
|
|
1241
|
+
### v0.1.5 Roadmap
|
|
1212
1242
|
|
|
1213
|
-
Version 0.1.
|
|
1243
|
+
Version 0.1.5 focuses on Docker integration for MCP tools and backend code refactoring:
|
|
1214
1244
|
|
|
1215
1245
|
#### Required Features
|
|
1216
|
-
- **
|
|
1217
|
-
- **
|
|
1246
|
+
- **Running MCP Tools in Docker**: Containerized execution environment for MCP tools with enhanced security and isolation
|
|
1247
|
+
- **Backend Code Refactoring**: Major code refactoring for improved maintainability and developer experience
|
|
1218
1248
|
|
|
1219
1249
|
Key technical approach:
|
|
1220
|
-
- **
|
|
1221
|
-
- **
|
|
1250
|
+
- **Docker Integration**: Secure execution of third-party MCP tools in isolated Docker containers with resource limits and network isolation
|
|
1251
|
+
- **Backend Improvements**: Enhanced code organization, modularity, and architectural improvements for better maintainability
|
|
1252
|
+
|
|
1253
|
+
**Target Release**: October 30, 2025 (Wednesday @ 9am PT)
|
|
1222
1254
|
|
|
1223
|
-
For detailed milestones and technical specifications, see the [full v0.1.
|
|
1255
|
+
For detailed milestones and technical specifications, see the [full v0.1.5 roadmap](ROADMAP_v0.1.5.md).
|
|
1224
1256
|
|
|
1225
1257
|
---
|
|
1226
1258
|
|