massgen 0.1.4__tar.gz → 0.1.5__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.4 → massgen-0.1.5}/CHANGELOG.md +61 -11
- {massgen-0.1.4 → massgen-0.1.5}/CONTRIBUTING.md +9 -7
- {massgen-0.1.4 → massgen-0.1.5}/PKG-INFO +109 -76
- {massgen-0.1.4 → massgen-0.1.5}/README.md +92 -63
- {massgen-0.1.4 → massgen-0.1.5}/README_PYPI.md +107 -75
- {massgen-0.1.4 → massgen-0.1.5}/massgen/__init__.py +1 -1
- massgen-0.1.5/massgen/chat_agent.py +784 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/cli.py +326 -19
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/README.md +52 -10
- massgen-0.1.5/massgen/configs/memory/gpt5mini_gemini_baseline_research_to_implementation.yaml +94 -0
- massgen-0.1.5/massgen/configs/memory/gpt5mini_gemini_context_window_management.yaml +187 -0
- massgen-0.1.5/massgen/configs/memory/gpt5mini_gemini_research_to_implementation.yaml +127 -0
- massgen-0.1.5/massgen/configs/memory/gpt5mini_high_reasoning_gemini.yaml +107 -0
- massgen-0.1.5/massgen/configs/memory/single_agent_compression_test.yaml +64 -0
- massgen-0.1.5/massgen/configs/tools/custom_tools/multimodal_tools/playwright_with_img_understanding.yaml +98 -0
- massgen-0.1.5/massgen/configs/tools/custom_tools/multimodal_tools/understand_video_example.yaml +54 -0
- massgen-0.1.5/massgen/memory/README.md +277 -0
- massgen-0.1.5/massgen/memory/__init__.py +26 -0
- massgen-0.1.5/massgen/memory/_base.py +193 -0
- massgen-0.1.5/massgen/memory/_compression.py +237 -0
- massgen-0.1.5/massgen/memory/_context_monitor.py +211 -0
- massgen-0.1.5/massgen/memory/_conversation.py +255 -0
- massgen-0.1.5/massgen/memory/_fact_extraction_prompts.py +333 -0
- massgen-0.1.5/massgen/memory/_mem0_adapters.py +257 -0
- massgen-0.1.5/massgen/memory/_persistent.py +687 -0
- massgen-0.1.5/massgen/memory/docker-compose.qdrant.yml +36 -0
- massgen-0.1.5/massgen/memory/docs/DESIGN.md +388 -0
- massgen-0.1.5/massgen/memory/docs/QUICKSTART.md +409 -0
- massgen-0.1.5/massgen/memory/docs/SUMMARY.md +319 -0
- massgen-0.1.5/massgen/memory/docs/agent_use_memory.md +408 -0
- massgen-0.1.5/massgen/memory/docs/orchestrator_use_memory.md +586 -0
- massgen-0.1.5/massgen/memory/examples.py +237 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/orchestrator.py +207 -7
- massgen-0.1.5/massgen/tests/memory/test_agent_compression.py +174 -0
- massgen-0.1.5/massgen/tests/memory/test_context_window_management.py +286 -0
- massgen-0.1.5/massgen/tests/memory/test_force_compression.py +154 -0
- massgen-0.1.5/massgen/tests/memory/test_simple_compression.py +147 -0
- massgen-0.1.5/massgen/tests/test_agent_memory.py +534 -0
- massgen-0.1.5/massgen/tests/test_conversation_memory.py +382 -0
- massgen-0.1.5/massgen/tests/test_orchestrator_memory.py +620 -0
- massgen-0.1.5/massgen/tests/test_persistent_memory.py +435 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/token_manager/token_manager.py +6 -0
- massgen-0.1.5/massgen/tools/__init__.py +8 -0
- massgen-0.1.5/massgen/tools/_planning_mcp_server.py +520 -0
- massgen-0.1.5/massgen/tools/planning_dataclasses.py +434 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen.egg-info/PKG-INFO +109 -76
- {massgen-0.1.4 → massgen-0.1.5}/massgen.egg-info/SOURCES.txt +34 -1
- {massgen-0.1.4 → massgen-0.1.5}/massgen.egg-info/requires.txt +1 -0
- {massgen-0.1.4 → massgen-0.1.5}/pyproject.toml +2 -0
- massgen-0.1.4/assets/thumbnail.png +0 -0
- massgen-0.1.4/massgen/chat_agent.py +0 -464
- {massgen-0.1.4 → massgen-0.1.5}/.env.example +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/LICENSE +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/MANIFEST.in +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/assets/MassGen-v1.gif +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/assets/cos.png +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/assets/favicon.ico +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/assets/logo-dark.png +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/assets/logo.png +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/assets/massgen-demo-light.gif +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/assets/massgen-demo.gif +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/assets/release_related_figures/context_path.png +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/assets/release_related_figures/copy_file.png +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/assets/thumbnail_old.png +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/adapters/__init__.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/adapters/ag2_adapter.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/adapters/base.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/adapters/tests/__init__.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/adapters/tests/test_ag2_adapter.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/adapters/tests/test_agent_adapter.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/adapters/utils/__init__.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/adapters/utils/ag2_utils.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/adapters/utils/tests/__init__.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/adapters/utils/tests/test_ag2_utils.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/agent_config.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/api_params_handler/__init__.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/api_params_handler/_api_params_handler_base.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/api_params_handler/_chat_completions_api_params_handler.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/api_params_handler/_claude_api_params_handler.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/api_params_handler/_gemini_api_params_handler.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/api_params_handler/_response_api_params_handler.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/__init__.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/azure_openai.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/base.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/base_with_custom_tool_and_mcp.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/capabilities.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/chat_completions.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/claude.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/claude_code.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/cli_base.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/docs/BACKEND_ARCHITECTURE.md +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/docs/CLAUDE_API_RESEARCH.md +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/docs/Function calling openai responses.md +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/docs/GEMINI_API_DOCUMENTATION.md +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/docs/Gemini MCP Integration Analysis.md +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/docs/MCP_IMPLEMENTATION_CLAUDE_BACKEND.md +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/docs/MCP_INTEGRATION_RESPONSE_BACKEND.md +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/docs/OPENAI_GPT5_MODELS.md +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/docs/OPENAI_RESPONSE_API_TOOL_CALLS.md +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/docs/OPENAI_response_streaming.md +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/docs/inference_backend.md +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/docs/permissions_and_context_files.md +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/external.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/gemini.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/gemini_mcp_manager.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/gemini_trackers.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/gemini_utils.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/grok.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/inference.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/lmstudio.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/response.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/config_builder.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/BACKEND_CONFIGURATION.md +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/ag2/ag2_case_study.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/ag2/ag2_coder.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/ag2/ag2_coder_case_study.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/ag2/ag2_gemini.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/ag2/ag2_groupchat.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/ag2/ag2_groupchat_gpt.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/ag2/ag2_single_agent.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/multi/fast_timeout_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/multi/gemini_4o_claude.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/multi/gemini_gpt5nano_claude.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/multi/geminicode_4o_claude.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/multi/geminicode_gpt5nano_claude.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/multi/glm_gemini_claude.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/multi/gpt4o_audio_generation.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/multi/gpt4o_image_generation.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/multi/gpt5nano_glm_qwen.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/multi/gpt5nano_image_understanding.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/multi/three_agents_default.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/multi/three_agents_opensource.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/multi/three_agents_vllm.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/multi/two_agents_gemini.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/multi/two_agents_gpt5.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/multi/two_agents_opensource_lmstudio.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/multi/two_qwen_vllm_sglang.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/single/single_agent.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/single/single_flash2.5.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/single/single_gemini2.5pro.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/single/single_gpt4o_audio_generation.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/single/single_gpt4o_image_generation.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/single/single_gpt4o_video_generation.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/single/single_gpt5nano.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/single/single_gpt5nano_file_search.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/single/single_gpt5nano_image_understanding.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/single/single_gptoss120b.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/single/single_openrouter_audio_understanding.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/single/single_qwen_video_understanding.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/debug/code_execution/command_filtering_blacklist.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/debug/code_execution/command_filtering_whitelist.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/debug/code_execution/docker_verification.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/debug/restart_test_controlled.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/debug/restart_test_controlled_filesystem.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/debug/skip_coordination_test.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/debug/test_sdk_migration.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/docs/DISCORD_MCP_SETUP.md +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/docs/TWITTER_MCP_ENESCINAR_SETUP.md +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/providers/azure/azure_openai_multi.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/providers/azure/azure_openai_single.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/providers/claude/claude.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/providers/gemini/gemini_gpt5nano.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/providers/local/lmstudio.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/providers/openai/gpt5.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/providers/openai/gpt5_nano.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/providers/others/grok_single_agent.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/providers/others/zai_coding_team.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/providers/others/zai_glm45.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/teams/creative/creative_team.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/teams/creative/travel_planning.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/teams/research/news_analysis.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/teams/research/research_team.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/teams/research/technical_analysis.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/code-execution/basic_command_execution.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/code-execution/code_execution_use_case_simple.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/code-execution/docker_claude_code.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/code-execution/docker_multi_agent.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/code-execution/docker_simple.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/code-execution/docker_with_resource_limits.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/code-execution/docker_with_sudo.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/code-execution/multi_agent_playwright_automation.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/claude_code_custom_tool_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/claude_code_custom_tool_example_no_path.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/claude_code_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/claude_code_custom_tool_with_wrong_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/claude_code_wrong_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/claude_custom_tool_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/claude_custom_tool_example_no_path.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/claude_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/claude_custom_tool_with_wrong_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/claude_wrong_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/computer_use_browser_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/computer_use_docker_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/computer_use_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/crawl4ai_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/gemini_custom_tool_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/gemini_custom_tool_example_no_path.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/gemini_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/gemini_custom_tool_with_wrong_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/gemini_wrong_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/github_issue_market_analysis.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/gpt5_nano_custom_tool_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/gpt5_nano_custom_tool_example_no_path.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/gpt5_nano_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/gpt5_nano_custom_tool_with_wrong_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/gpt5_nano_wrong_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/gpt_oss_custom_tool_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/gpt_oss_custom_tool_example_no_path.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/gpt_oss_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/gpt_oss_custom_tool_with_wrong_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/gpt_oss_wrong_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/grok3_mini_custom_tool_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/grok3_mini_custom_tool_example_no_path.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/grok3_mini_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/grok3_mini_custom_tool_with_wrong_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/grok3_mini_wrong_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/multimodal_tools/text_to_file_generation_multi.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/multimodal_tools/text_to_file_generation_single.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/multimodal_tools/text_to_image_generation_multi.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/multimodal_tools/text_to_image_generation_single.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/multimodal_tools/text_to_speech_generation_multi.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/multimodal_tools/text_to_speech_generation_single.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/multimodal_tools/text_to_video_generation_multi.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/multimodal_tools/text_to_video_generation_single.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/multimodal_tools/understand_audio.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/multimodal_tools/understand_file.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/multimodal_tools/understand_image.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/multimodal_tools/understand_video.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/multimodal_tools/youtube_video_analysis.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/qwen_api_custom_tool_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/qwen_api_custom_tool_example_no_path.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/qwen_api_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/qwen_api_custom_tool_with_wrong_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/qwen_api_wrong_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/qwen_local_custom_tool_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/qwen_local_custom_tool_example_no_path.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/qwen_local_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/qwen_local_custom_tool_with_wrong_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/qwen_local_wrong_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/filesystem/cc_gpt5_gemini_filesystem.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/filesystem/claude_code_context_sharing.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/filesystem/claude_code_flash2.5.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/filesystem/claude_code_flash2.5_gptoss.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/filesystem/claude_code_gpt5nano.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/filesystem/claude_code_single.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/filesystem/fs_permissions_test.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/filesystem/gemini_gemini_workspace_cleanup.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/filesystem/gemini_gpt5_filesystem_casestudy.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/filesystem/gemini_gpt5nano_file_context_path.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/filesystem/gemini_gpt5nano_protected_paths.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/filesystem/gpt5mini_cc_fs_context_path.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/filesystem/grok4_gpt5_gemini_filesystem.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/filesystem/multiturn/grok4_gpt5_claude_code_filesystem_multiturn.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/filesystem/multiturn/grok4_gpt5_gemini_filesystem_multiturn.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/filesystem/multiturn/two_claude_code_filesystem_multiturn.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/filesystem/multiturn/two_gemini_flash_filesystem_multiturn.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/claude_code_discord_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/claude_code_simple_mcp.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/claude_code_twitter_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/claude_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/claude_mcp_test.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/five_agents_travel_mcp_test.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/five_agents_weather_mcp_test.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/gemini_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/gemini_mcp_filesystem_test.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/gemini_mcp_filesystem_test_sharing.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/gemini_mcp_filesystem_test_single_agent.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/gemini_mcp_filesystem_test_with_claude_code.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/gemini_mcp_test.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/gemini_notion_mcp.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/gpt5_nano_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/gpt5_nano_mcp_test.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/gpt5mini_claude_code_discord_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/gpt_oss_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/gpt_oss_mcp_test.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/grok3_mini_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/grok3_mini_mcp_test.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/multimcp_gemini.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/qwen_api_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/qwen_api_mcp_test.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/qwen_local_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/qwen_local_mcp_test.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/planning/five_agents_discord_mcp_planning_mode.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/planning/five_agents_filesystem_mcp_planning_mode.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/planning/five_agents_notion_mcp_planning_mode.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/planning/five_agents_twitter_mcp_planning_mode.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/planning/gpt5_mini_case_study_mcp_planning_mode.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/web-search/claude_streamable_http_test.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/web-search/gemini_streamable_http_test.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/web-search/gpt5_mini_streamable_http_test.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/web-search/gpt_oss_streamable_http_test.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/web-search/grok3_mini_streamable_http_test.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/web-search/qwen_api_streamable_http_test.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/web-search/qwen_local_streamable_http_test.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/voting/gemini_gpt_voting_sensitivity.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/coordination_tracker.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/docker/README.md +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/filesystem_manager/__init__.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/filesystem_manager/_base.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/filesystem_manager/_code_execution_server.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/filesystem_manager/_docker_manager.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/filesystem_manager/_file_operation_tracker.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/filesystem_manager/_filesystem_manager.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/filesystem_manager/_path_permission_manager.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/filesystem_manager/_workspace_tools_server.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/formatter/__init__.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/formatter/_chat_completions_formatter.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/formatter/_claude_formatter.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/formatter/_formatter_base.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/formatter/_gemini_formatter.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/formatter/_response_formatter.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/frontend/__init__.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/frontend/coordination_ui.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/frontend/displays/__init__.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/frontend/displays/base_display.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/frontend/displays/create_coordination_table.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/frontend/displays/rich_terminal_display.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/frontend/displays/simple_display.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/frontend/displays/terminal_display.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/logger_config.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/mcp_tools/README.md +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/mcp_tools/__init__.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/mcp_tools/backend_utils.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/mcp_tools/circuit_breaker.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/mcp_tools/client.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/mcp_tools/config_validator.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/mcp_tools/docs/circuit_breaker.md +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/mcp_tools/docs/client.md +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/mcp_tools/docs/config_validator.md +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/mcp_tools/docs/exceptions.md +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/mcp_tools/docs/security.md +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/mcp_tools/exceptions.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/mcp_tools/hooks.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/mcp_tools/security.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/message_templates.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/stream_chunk/__init__.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/stream_chunk/base.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/stream_chunk/multimodal.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/stream_chunk/text.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/__init__.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/custom_tools_example.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/mcp_test_server.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/multi_turn_conversation_design.md +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/multiturn_llm_input_analysis.md +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_azure_openai_backend.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_backend_capabilities.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_backend_event_loop_all.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_binary_file_blocking.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_case_studies.md +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_chat_completions_refactor.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_claude_backend.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_claude_code.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_claude_code_context_sharing.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_claude_code_orchestrator.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_cli_backends.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_code_execution.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_config_builder.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_custom_tools.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_external_agent_backend.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_final_presentation_fallback.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_gemini_planning_mode.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_grok_backend.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_http_mcp_server.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_integration_simple.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_intelligent_planning_mode.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_mcp_blocking.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_message_context_building.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_multimodal_size_limits.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_orchestration_restart.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_orchestrator_final_presentation.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_path_permission_manager.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_rich_terminal_display.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_timeout.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_tools.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_v3_3agents.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_v3_simple.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_v3_three_agents.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_v3_two_agents.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/token_manager/__init__.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/README.md +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/__init__.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/_async_helpers.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/_basic/__init__.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/_basic/_two_num_tool.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/_code_executors/__init__.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/_code_executors/_python_executor.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/_code_executors/_shell_executor.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/_exceptions.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/_file_handlers/__init__.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/_file_handlers/_file_operations.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/_manager.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/_multimodal_tools/image_to_image_generation.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/_multimodal_tools/text_to_file_generation.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/_multimodal_tools/text_to_image_generation.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/_multimodal_tools/text_to_speech_continue_generation.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/_multimodal_tools/text_to_speech_transcription_generation.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/_multimodal_tools/text_to_video_generation.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/_multimodal_tools/understand_audio.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/_multimodal_tools/understand_file.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/_multimodal_tools/understand_image.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/_multimodal_tools/understand_video.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/_registered_tool.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/_result.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/_self_evolution/_github_issue_analyzer.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/_web_tools/crawl4ai_tool.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/docs/builtin_tools.md +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/docs/exceptions.md +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/docs/execution_results.md +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/docs/manager.md +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/docs/multimodal_tools.md +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/docs/workflow_toolkits.md +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/workflow_toolkits/__init__.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/workflow_toolkits/base.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/workflow_toolkits/new_answer.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/workflow_toolkits/post_evaluation.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/workflow_toolkits/vote.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/utils.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/v1/README.md +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/v1/__init__.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/v1/agent.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/v1/agents.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/v1/backends/gemini.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/v1/backends/grok.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/v1/backends/oai.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/v1/cli.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/v1/config.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/v1/examples/fast-4o-mini-config.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/v1/examples/fast_config.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/v1/examples/production.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/v1/examples/single_agent.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/v1/logging.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/v1/main.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/v1/orchestrator.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/v1/streaming_display.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/v1/tools.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/v1/types.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen/v1/utils.py +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen.egg-info/dependency_links.txt +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen.egg-info/entry_points.txt +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen.egg-info/not-zip-safe +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/massgen.egg-info/top_level.txt +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/requirements.txt +0 -0
- {massgen-0.1.4 → massgen-0.1.5}/setup.cfg +0 -0
|
@@ -7,17 +7,75 @@ 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.5 (October 2025)** - Memory System
|
|
11
|
+
Long-term memory with semantic retrieval via mem0, automatic context compression, and memory sharing for multi-turn conversations.
|
|
12
|
+
|
|
10
13
|
**v0.1.4 (October 2025)** - Multimodal Generation Tools & Binary File Protection
|
|
11
14
|
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
15
|
|
|
13
16
|
**v0.1.3 (October 2025)** - Post-Evaluation Tools & Multimodal Understanding
|
|
14
17
|
Post-evaluation workflow with submit/restart capabilities, custom multimodal understanding tools, Docker sudo mode, and enhanced config builder.
|
|
15
18
|
|
|
16
|
-
**v0.1.2 (October 2025)** - Intelligent Planning Mode & Model Updates
|
|
17
|
-
Automatic irreversibility analysis for MCP tools, selective tool blocking, Claude 4.5 Haiku support, and Grok web search improvements.
|
|
18
|
-
|
|
19
19
|
---
|
|
20
20
|
|
|
21
|
+
## [0.1.5] - 2025-10-29
|
|
22
|
+
|
|
23
|
+
### Added
|
|
24
|
+
- **Memory System**: Complete long-term memory implementation with semantic retrieval
|
|
25
|
+
- New `massgen/memory/` module with comprehensive memory management
|
|
26
|
+
- **PersistentMemory** via mem0 integration for semantic fact storage and retrieval
|
|
27
|
+
- **ConversationMemory** for short-term verbatim message tracking
|
|
28
|
+
- **Automatic Context Compression** when approaching token limits
|
|
29
|
+
- **Memory Sharing for Multi-Turn Conversations** with turn-aware filtering to prevent temporal leakage
|
|
30
|
+
- **Session Management** for memory isolation and continuation across runs
|
|
31
|
+
- **Qdrant Vector Database Integration** for efficient semantic search (server and local modes)
|
|
32
|
+
- **Context Monitoring** with real-time token usage tracking
|
|
33
|
+
- Fact extraction prompts with customizable LLM and embedding providers
|
|
34
|
+
- Supports OpenAI, Anthropic, Groq, and other mem0-compatible providers
|
|
35
|
+
|
|
36
|
+
- **Memory Configuration Support**: New YAML configuration options
|
|
37
|
+
- Memory enable/disable toggle at global and per-agent levels
|
|
38
|
+
- Configurable compression thresholds (trigger_threshold, target_ratio)
|
|
39
|
+
- Retrieval settings (limit, exclude_recent for smart retrieval)
|
|
40
|
+
- Session naming for continuation and cross-session memory
|
|
41
|
+
- LLM and embedding provider configuration for mem0
|
|
42
|
+
- Qdrant connection settings (server/local mode, host, port, path)
|
|
43
|
+
|
|
44
|
+
### Changed
|
|
45
|
+
- **Chat Agent Enhancement**: Memory integration for agent workflows
|
|
46
|
+
- Memory recording after agent responses (conversation and persistent)
|
|
47
|
+
- Memory retrieval on restart/reset for context restoration
|
|
48
|
+
- Integration with compression and context monitoring modules
|
|
49
|
+
|
|
50
|
+
- **Orchestrator Enhancement**: Memory coordination for multi-agent workflows
|
|
51
|
+
- Memory initialization and management across agent lifecycles
|
|
52
|
+
- Memory cleanup on orchestrator shutdown
|
|
53
|
+
|
|
54
|
+
### Documentations, Configurations and Resources
|
|
55
|
+
|
|
56
|
+
- **Memory Documentation**: Comprehensive memory system user guide
|
|
57
|
+
- New `docs/source/user_guide/memory.rst`
|
|
58
|
+
- Complete usage guide with quick start, configuration reference, and examples
|
|
59
|
+
- Design decisions documentation explaining architecture choices
|
|
60
|
+
- Troubleshooting guide for common memory issues
|
|
61
|
+
- Monitoring and debugging instructions with log examples
|
|
62
|
+
- API reference for PersistentMemory, ConversationMemory, and ContextMonitor
|
|
63
|
+
|
|
64
|
+
- **Configuration Examples**: 5 new memory-focused YAML configurations
|
|
65
|
+
- `gpt5mini_gemini_context_window_management.yaml`: Multi-agent with context compression
|
|
66
|
+
- `gpt5mini_gemini_research_to_implementation.yaml`: Research to implementation workflow
|
|
67
|
+
- `gpt5mini_high_reasoning_gemini.yaml`: High reasoning agents with memory
|
|
68
|
+
- `gpt5mini_gemini_baseline_research_to_implementation.yaml`: Baseline research workflow
|
|
69
|
+
- `single_agent_compression_test.yaml`: Testing compression behavior
|
|
70
|
+
|
|
71
|
+
- **Infrastructure and Testing**:
|
|
72
|
+
- Memory test suite with 4 test files in `massgen/tests/memory/`
|
|
73
|
+
- Additional memory tests: `test_agent_memory.py`, `test_conversation_memory.py`, `test_orchestrator_memory.py`, `test_persistent_memory.py`
|
|
74
|
+
|
|
75
|
+
### Technical Details
|
|
76
|
+
- **Major Focus**: Long-term memory system with semantic retrieval and memory sharing for multi-turn conversations
|
|
77
|
+
- **Contributors**: @ncrispino @qidanrui @kitrakrev @sonichi @Henry-811 and the MassGen team
|
|
78
|
+
|
|
21
79
|
## [0.1.4] - 2025-10-27
|
|
22
80
|
|
|
23
81
|
### Added
|
|
@@ -61,14 +119,6 @@ Automatic irreversibility analysis for MCP tools, selective tool blocking, Claud
|
|
|
61
119
|
- Updated `docs/source/user_guide/protected_paths.rst` with binary file protection section
|
|
62
120
|
- Documents 40+ protected binary file types and specialized tool suggestions
|
|
63
121
|
|
|
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
122
|
- **Configuration Examples**: 9 new YAML configuration files
|
|
73
123
|
- **Generation Tools**: 8 multimodal generation configurations
|
|
74
124
|
- `text_to_image_generation_single.yaml` and `text_to_image_generation_multi.yaml`
|
|
@@ -204,10 +204,12 @@ orchestrator:
|
|
|
204
204
|
snapshot_storage: "snapshots"
|
|
205
205
|
agent_temporary_workspace: "temp_workspaces"
|
|
206
206
|
|
|
207
|
-
# Memory configuration (
|
|
207
|
+
# Memory configuration (implemented in v0.1.5 - see docs/source/user_guide/memory.rst)
|
|
208
208
|
memory:
|
|
209
209
|
enabled: true
|
|
210
|
-
|
|
210
|
+
persistent_memory:
|
|
211
|
+
enabled: true
|
|
212
|
+
vector_store: "qdrant"
|
|
211
213
|
```
|
|
212
214
|
|
|
213
215
|
## 📋 Prerequisites
|
|
@@ -267,7 +269,7 @@ Create a `.env` file in the `massgen` directory as described in [README](README.
|
|
|
267
269
|
|
|
268
270
|
## 🔧 Development Workflow
|
|
269
271
|
|
|
270
|
-
> **Important**: Our next version is v0.1.
|
|
272
|
+
> **Important**: Our next version is v0.1.6. If you want to contribute, please contribute to the `dev/v0.1.6` branch.
|
|
271
273
|
|
|
272
274
|
### 1. Create Feature Branch
|
|
273
275
|
|
|
@@ -275,8 +277,8 @@ Create a `.env` file in the `massgen` directory as described in [README](README.
|
|
|
275
277
|
# Fetch latest changes from upstream
|
|
276
278
|
git fetch upstream
|
|
277
279
|
|
|
278
|
-
# Create feature branch from dev/v0.1.
|
|
279
|
-
git checkout -b feature/your-feature-name upstream/dev/v0.1.
|
|
280
|
+
# Create feature branch from dev/v0.1.6
|
|
281
|
+
git checkout -b feature/your-feature-name upstream/dev/v0.1.6
|
|
280
282
|
```
|
|
281
283
|
|
|
282
284
|
### 2. Make Your Changes
|
|
@@ -373,7 +375,7 @@ git push origin feature/your-feature-name
|
|
|
373
375
|
```
|
|
374
376
|
|
|
375
377
|
Then create a pull request on GitHub:
|
|
376
|
-
- Base branch: `dev/v0.1.
|
|
378
|
+
- Base branch: `dev/v0.1.6`
|
|
377
379
|
- Compare branch: `feature/your-feature-name`
|
|
378
380
|
- Add clear description of changes
|
|
379
381
|
- Link any related issues
|
|
@@ -479,7 +481,7 @@ Have a significant feature idea not covered by existing tracks?
|
|
|
479
481
|
- [ ] Tests pass locally
|
|
480
482
|
- [ ] Documentation is updated if needed
|
|
481
483
|
- [ ] Commit messages follow convention
|
|
482
|
-
- [ ] PR targets `dev/v0.1.
|
|
484
|
+
- [ ] PR targets `dev/v0.1.6` branch
|
|
483
485
|
|
|
484
486
|
### PR Description Should Include
|
|
485
487
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: massgen
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.5
|
|
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
|
|
@@ -54,6 +54,7 @@ Requires-Dist: openpyxl>=3.1.5
|
|
|
54
54
|
Requires-Dist: python-pptx>=1.0.2
|
|
55
55
|
Requires-Dist: opencv-python>=4.12.0.88
|
|
56
56
|
Requires-Dist: pypdf2>=3.0.1
|
|
57
|
+
Requires-Dist: mem0ai>=1.0.0
|
|
57
58
|
Requires-Dist: reportlab>=4.0.0
|
|
58
59
|
Provides-Extra: dev
|
|
59
60
|
Requires-Dist: pytest>=7.0.0; extra == "dev"
|
|
@@ -121,7 +122,7 @@ Dynamic: license-file
|
|
|
121
122
|
|
|
122
123
|
<p align="center">
|
|
123
124
|
<a href="https://www.youtube.com/watch?v=Dp2oldJJImw">
|
|
124
|
-
<img src="
|
|
125
|
+
<img src="docs/source/_static/images/thumbnail.png" alt="MassGen case study -- Berkeley Agentic AI Summit Question" width="800">
|
|
125
126
|
</a>
|
|
126
127
|
</p>
|
|
127
128
|
|
|
@@ -150,7 +151,7 @@ This project started with the "threads of thought" and "iterative refinement" id
|
|
|
150
151
|
<details open>
|
|
151
152
|
<summary><h3>🆕 Latest Features</h3></summary>
|
|
152
153
|
|
|
153
|
-
- [v0.1.
|
|
154
|
+
- [v0.1.5 Features](#-latest-features-v015)
|
|
154
155
|
</details>
|
|
155
156
|
|
|
156
157
|
<details open>
|
|
@@ -195,16 +196,15 @@ This project started with the "threads of thought" and "iterative refinement" id
|
|
|
195
196
|
<summary><h3>🗺️ Roadmap</h3></summary>
|
|
196
197
|
|
|
197
198
|
- Recent Achievements
|
|
198
|
-
- [v0.1.
|
|
199
|
-
- [v0.1.
|
|
200
|
-
- [v0.0.3 - v0.1.2](#previous-achievements-v003---v012)
|
|
199
|
+
- [v0.1.5](#recent-achievements-v015)
|
|
200
|
+
- [v0.0.3 - v0.1.4](#previous-achievements-v003---v014)
|
|
201
201
|
- [Key Future Enhancements](#key-future-enhancements)
|
|
202
202
|
- Bug Fixes & Backend Improvements
|
|
203
203
|
- Advanced Agent Collaboration
|
|
204
204
|
- Expanded Model, Tool & Agent Integrations
|
|
205
205
|
- Improved Performance & Scalability
|
|
206
206
|
- Enhanced Developer Experience
|
|
207
|
-
- [v0.1.
|
|
207
|
+
- [v0.1.6 Roadmap](#v016-roadmap)
|
|
208
208
|
</details>
|
|
209
209
|
|
|
210
210
|
<details open>
|
|
@@ -229,37 +229,49 @@ This project started with the "threads of thought" and "iterative refinement" id
|
|
|
229
229
|
|
|
230
230
|
---
|
|
231
231
|
|
|
232
|
-
## 🆕 Latest Features (v0.1.
|
|
232
|
+
## 🆕 Latest Features (v0.1.5)
|
|
233
233
|
|
|
234
|
-
**🎉 Released: October
|
|
234
|
+
**🎉 Released: October 2025**
|
|
235
235
|
|
|
236
|
-
**What's New in v0.1.
|
|
237
|
-
-
|
|
238
|
-
-
|
|
239
|
-
-
|
|
236
|
+
**What's New in v0.1.5:**
|
|
237
|
+
- **🧠 Long-Term Memory System** - Semantic memory with retrieval across sessions
|
|
238
|
+
- **🗜️ Automatic Context Compression** - Smart compression when approaching token limits
|
|
239
|
+
- **🔄 Memory Sharing for Multi-Turn Conversations** - Agents access knowledge from previous turns
|
|
240
240
|
|
|
241
241
|
**Key Improvements:**
|
|
242
|
-
-
|
|
243
|
-
-
|
|
244
|
-
-
|
|
245
|
-
-
|
|
242
|
+
- Persistent memory via mem0 integration with vector storage
|
|
243
|
+
- Conversational memory for short-term context tracking
|
|
244
|
+
- Context monitoring with real-time token usage tracking
|
|
245
|
+
- Session management for memory isolation and continuation
|
|
246
|
+
- Qdrant vector database integration for semantic search
|
|
246
247
|
|
|
247
|
-
**Get Started with v0.1.
|
|
248
|
+
**Get Started with v0.1.5:**
|
|
248
249
|
```bash
|
|
249
250
|
# Install or upgrade from PyPI
|
|
250
251
|
pip install --upgrade massgen
|
|
251
252
|
|
|
252
|
-
#
|
|
253
|
-
massgen --config @examples/
|
|
254
|
-
"
|
|
253
|
+
# Multi-agent collaboration with context compression
|
|
254
|
+
massgen --config @examples/memory/gpt5mini_gemini_context_window_management \
|
|
255
|
+
"Analyze the MassGen codebase comprehensively. Create an architecture document that explains: (1) Core components and their responsibilities, (2) How different modules interact, (3) Key design patterns used, (4) Main entry points and request flows. Read > 30 files to build a complete understanding."
|
|
255
256
|
|
|
256
|
-
#
|
|
257
|
-
|
|
258
|
-
|
|
257
|
+
# Research-to-implementation workflow with memory persistence
|
|
258
|
+
# Prerequisites: Start Qdrant and crawl4ai Docker containers
|
|
259
|
+
docker run -d -p 6333:6333 -p 6334:6334 \
|
|
260
|
+
-v $(pwd)/.massgen/qdrant_storage:/qdrant/storage:z qdrant/qdrant
|
|
261
|
+
docker run -d -p 11235:11235 --name crawl4ai --shm-size=1g unclecode/crawl4ai:latest
|
|
259
262
|
|
|
260
|
-
#
|
|
261
|
-
massgen --config @examples/
|
|
262
|
-
"
|
|
263
|
+
# Session 1 - Research phase:
|
|
264
|
+
massgen --config @examples/memory/gpt5mini_gemini_research_to_implementation \
|
|
265
|
+
"Use crawl4ai to research the latest multi-agent AI papers and techniques from 2025. Focus on: coordination mechanisms, voting strategies, tool-use patterns, and architectural innovations."
|
|
266
|
+
|
|
267
|
+
# Session 2 - Implementation analysis (continue in same session):
|
|
268
|
+
# "Based on the multi-agent research from earlier, which techniques should we implement in MassGen to make it more state-of-the-art? Consider MassGen's current architecture and what would be most impactful."
|
|
269
|
+
|
|
270
|
+
→ See [Multi-Turn Persistent Memory Case Study](docs/source/examples/case_studies/multi-turn-persistent-memory.md) for detailed analysis
|
|
271
|
+
|
|
272
|
+
# Test automatic context compression
|
|
273
|
+
massgen --config @examples/memory/single_agent_compression_test \
|
|
274
|
+
"Analyze the MassGen codebase comprehensively. Create an architecture document that explains: (1) Core components and their responsibilities, (2) How different modules interact, (3) Key design patterns used, (4) Main entry points and request flows. Read > 30 files to build a complete understanding."
|
|
263
275
|
```
|
|
264
276
|
|
|
265
277
|
→ [See full release history and examples](massgen/configs/README.md#release-history--examples)
|
|
@@ -481,17 +493,20 @@ MassGen agents can leverage various tools to enhance their problem-solving capab
|
|
|
481
493
|
|
|
482
494
|
**Supported Built-in Tools by Backend:**
|
|
483
495
|
|
|
484
|
-
| Backend | Live Search | Code Execution | File Operations | MCP Support | Multimodal
|
|
485
|
-
|
|
486
|
-
| **Azure OpenAI** (NEW in v0.0.10) | ❌ | ❌ | ❌ | ❌ | ❌ | Code interpreter, Azure deployment management |
|
|
487
|
-
| **Claude API** | ✅ | ✅ | ✅ | ✅ |
|
|
488
|
-
| **Claude Code** | ✅ | ✅ | ✅ | ✅ | ✅<br/>*Image* | **Native Claude Code SDK, comprehensive dev tools, MCP integration** |
|
|
489
|
-
| **Gemini API** | ✅ | ✅ | ✅ | ✅ | ✅<br/>*Image* | Web search, code execution, **MCP integration**|
|
|
490
|
-
| **Grok API** | ✅ | ❌ | ✅ | ✅ |
|
|
491
|
-
| **OpenAI API** | ✅ | ✅ | ✅ | ✅ | ✅<br/>*Image* | Web search, code interpreter, **MCP integration** |
|
|
492
|
-
| **ZAI API** | ❌ | ❌ | ✅ | ✅ |
|
|
493
|
-
|
|
494
|
-
**
|
|
496
|
+
| Backend | Live Search | Code Execution | File Operations | MCP Support | Multimodal Understanding | Multimodal Generation | Advanced Features |
|
|
497
|
+
|---------|:-----------:|:--------------:|:---------------:|:-----------:|:------------------------:|:---------------------:|:-----------------|
|
|
498
|
+
| **Azure OpenAI** (NEW in v0.0.10) | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | Code interpreter, Azure deployment management |
|
|
499
|
+
| **Claude API** | ✅ | ✅ | ✅ | ✅ | ✅<br/>*via custom tools* | ✅<br/>*via custom tools* | Web search, code interpreter, **MCP integration** |
|
|
500
|
+
| **Claude Code** | ✅ | ✅ | ✅ | ✅ | ✅<br/>*Image (native)*<br/>*Audio/Video/Docs (custom tools)* | ✅<br/>*via custom tools* | **Native Claude Code SDK, comprehensive dev tools, MCP integration** |
|
|
501
|
+
| **Gemini API** | ✅ | ✅ | ✅ | ✅ | ✅<br/>*Image (native)*<br/>*Audio/Video/Docs (custom tools)* | ✅<br/>*via custom tools* | Web search, code execution, **MCP integration**|
|
|
502
|
+
| **Grok API** | ✅ | ❌ | ✅ | ✅ | ✅<br/>*via custom tools* | ✅<br/>*via custom tools* | Web search, **MCP integration** |
|
|
503
|
+
| **OpenAI API** | ✅ | ✅ | ✅ | ✅ | ✅<br/>*Image (native)*<br/>*Audio/Video/Docs (custom tools)* | ✅<br/>*via custom tools* | Web search, code interpreter, **MCP integration** |
|
|
504
|
+
| **ZAI API** | ❌ | ❌ | ✅ | ✅ | ✅<br/>*via custom tools* | ✅<br/>*via custom tools* | **MCP integration** |
|
|
505
|
+
|
|
506
|
+
**Notes:**
|
|
507
|
+
- **Multimodal Understanding** (NEW in v0.1.3): Analyze images, audio, video, and documents via custom tools using OpenAI GPT-4.1 - works with any backend
|
|
508
|
+
- **Multimodal Generation** (NEW in v0.1.4): Generate images, videos, audio, and documents via custom tools using OpenAI APIs - works with any backend
|
|
509
|
+
- See custom tool configurations: [`understand_image.yaml`](massgen/configs/tools/custom_tools/multimodal_tools/understand_image.yaml), [`text_to_image_generation_single.yaml`](massgen/configs/tools/custom_tools/multimodal_tools/text_to_image_generation_single.yaml)
|
|
495
510
|
|
|
496
511
|
→ For detailed backend capabilities and tool integration guides, see [User Guide - Backends](https://docs.massgen.ai/en/latest/user_guide/backends.html)
|
|
497
512
|
|
|
@@ -1084,6 +1099,10 @@ All sessions are automatically logged with detailed information for debugging an
|
|
|
1084
1099
|
|
|
1085
1100
|
To see how MassGen works in practice, check out these detailed case studies based on real session logs:
|
|
1086
1101
|
|
|
1102
|
+
**Featured:**
|
|
1103
|
+
- [**Multi-Turn Persistent Memory**](docs/source/examples/case_studies/multi-turn-persistent-memory.md) - Research-to-implementation workflow demonstrating memory system (v0.1.5) | [📹 Watch Demo](https://youtu.be/wWxxFgyw40Y)
|
|
1104
|
+
|
|
1105
|
+
**All Case Studies:**
|
|
1087
1106
|
- [**MassGen Case Studies**](docs/source/examples/case_studies/README.md)
|
|
1088
1107
|
- [**Case Studies Documentation**](https://docs.massgen.ai/en/latest/examples/case_studies.html) - Browse case studies online
|
|
1089
1108
|
|
|
@@ -1096,49 +1115,63 @@ MassGen is currently in its foundational stage, with a focus on parallel, asynch
|
|
|
1096
1115
|
|
|
1097
1116
|
⚠️ **Early Stage Notice:** As MassGen is in active development, please expect upcoming breaking architecture changes as we continue to refine and improve the system.
|
|
1098
1117
|
|
|
1099
|
-
### Recent Achievements (v0.1.
|
|
1118
|
+
### Recent Achievements (v0.1.5)
|
|
1119
|
+
|
|
1120
|
+
**🎉 Released: October 2025**
|
|
1121
|
+
|
|
1122
|
+
#### Memory System
|
|
1123
|
+
- **PersistentMemory**: Long-term semantic memory storage via mem0 integration with fact extraction and retrieval across sessions
|
|
1124
|
+
- **ConversationMemory**: Short-term verbatim message tracking for active conversation context
|
|
1125
|
+
- **Automatic Context Compression**: Smart compression when approaching token limits with configurable thresholds (trigger_threshold, target_ratio)
|
|
1126
|
+
- **Cross-Agent Memory Sharing**: Agents share memory with turn-aware filtering to prevent temporal information leakage
|
|
1127
|
+
- **Context Monitoring**: Real-time token usage tracking with automatic compression triggers
|
|
1128
|
+
- **Session Management**: Memory isolation and continuation across runs with session naming support
|
|
1129
|
+
- **Qdrant Integration**: Vector database support for efficient semantic search in both server and local modes
|
|
1130
|
+
- **Configurable Memory Providers**: Support for OpenAI, Anthropic, Groq, and other mem0-compatible LLM and embedding providers
|
|
1131
|
+
|
|
1132
|
+
#### Memory Configuration
|
|
1133
|
+
- **Global and Per-Agent Control**: Enable/disable memory at system or individual agent level
|
|
1134
|
+
- **Compression Settings**: Configurable trigger thresholds and target ratios for context window management
|
|
1135
|
+
- **Retrieval Configuration**: Customizable retrieval limits and smart filtering to exclude recent messages
|
|
1136
|
+
- **Memory Persistence**: Session continuation with named sessions for cross-session memory access
|
|
1137
|
+
|
|
1138
|
+
#### Configuration Files
|
|
1139
|
+
- `gpt5mini_gemini_context_window_management.yaml` - Multi-agent with automatic context compression
|
|
1140
|
+
- `gpt5mini_gemini_research_to_implementation.yaml` - Research-to-implementation workflow with memory
|
|
1141
|
+
- `gpt5mini_high_reasoning_gemini.yaml` - High reasoning agents with memory integration
|
|
1142
|
+
- `gpt5mini_gemini_baseline_research_to_implementation.yaml` - Baseline research workflow for comparison
|
|
1143
|
+
- `single_agent_compression_test.yaml` - Single agent testing context compression behavior
|
|
1100
1144
|
|
|
1101
|
-
|
|
1145
|
+
#### Documentation
|
|
1146
|
+
- Complete memory system user guide: `docs/source/user_guide/memory.rst`
|
|
1147
|
+
- Design decisions documentation explaining architectural choices
|
|
1148
|
+
- API reference for PersistentMemory, ConversationMemory, and ContextMonitor classes
|
|
1149
|
+
- Comprehensive troubleshooting guide and monitoring instructions
|
|
1102
1150
|
|
|
1103
|
-
####
|
|
1104
|
-
-
|
|
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
|
|
1151
|
+
#### Testing Infrastructure
|
|
1152
|
+
- Memory test suite: `test_agent_memory.py`, `test_conversation_memory.py`, `test_orchestrator_memory.py`, `test_persistent_memory.py`
|
|
1109
1153
|
|
|
1110
|
-
|
|
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`
|
|
1154
|
+
### Previous Achievements (v0.0.3 - v0.1.4)
|
|
1115
1155
|
|
|
1116
|
-
|
|
1117
|
-
- **Crawl4AI Tool**: `crawl4ai_tool` enables intelligent web scraping with LLM-powered content extraction and customizable patterns
|
|
1156
|
+
✅ **Multimodal Generation Tools (v0.1.4)**: Create images from text via DALL-E API, generate videos from descriptions, text-to-speech with audio transcription support, document generation for PDF/DOCX/XLSX/PPTX formats, image transformation capabilities for existing images
|
|
1118
1157
|
|
|
1119
|
-
|
|
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
|
|
1158
|
+
✅ **Binary File Protection (v0.1.4)**: Automatic blocking prevents text tools from accessing 40+ binary file types including images, videos, audio, archives, and Office documents, intelligent error messages guide users to appropriate specialized tools for binary content
|
|
1126
1159
|
|
|
1127
|
-
|
|
1160
|
+
✅ **Crawl4AI Integration (v0.1.4)**: Intelligent web scraping with LLM-powered content extraction and customizable extraction patterns for structured data retrieval from websites
|
|
1128
1161
|
|
|
1129
|
-
✅ **Post-Evaluation Workflow (v0.1.3)**:
|
|
1162
|
+
✅ **Post-Evaluation Workflow (v0.1.3)**: Winning agents evaluate their own answers before submission with submit and restart capabilities, supports answer confirmation and orchestration restart with feedback across all backends
|
|
1130
1163
|
|
|
1131
|
-
✅ **Multimodal Understanding Tools (v0.1.3)**:
|
|
1164
|
+
✅ **Multimodal Understanding Tools (v0.1.3)**: Analyze images, transcribe audio, extract video frames, and process documents (PDF/DOCX/XLSX/PPTX) with structured JSON output, works across all backends via OpenAI GPT-4.1 integration
|
|
1132
1165
|
|
|
1133
|
-
✅ **Docker Sudo Mode (v0.1.3)**:
|
|
1166
|
+
✅ **Docker Sudo Mode (v0.1.3)**: Privileged command execution in Docker containers for system-level operations requiring elevated permissions
|
|
1134
1167
|
|
|
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
|
|
1168
|
+
✅ **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
|
|
1136
1169
|
|
|
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
|
|
1170
|
+
✅ **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
|
|
1138
1171
|
|
|
1139
1172
|
✅ **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
|
|
1140
1173
|
|
|
1141
|
-
✅ **Backend Enhancements (v0.1.1)**: Gemini architecture refactoring with extracted MCP management (`gemini_mcp_manager.py`), tracking (`gemini_trackers.py`), and utilities, new capabilities registry in `massgen/backend/capabilities.py` documenting feature support across backends
|
|
1174
|
+
✅ **Backend Enhancements (v0.1.1)**: Gemini architecture refactoring with extracted MCP management (`gemini_mcp_manager.py`), tracking (`gemini_trackers.py`), and utilities, new capabilities registry in `massgen/backend/capabilities.py` documenting feature support across all backends
|
|
1142
1175
|
|
|
1143
1176
|
✅ **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
|
|
1144
1177
|
|
|
@@ -1238,21 +1271,21 @@ MassGen is currently in its foundational stage, with a focus on parallel, asynch
|
|
|
1238
1271
|
|
|
1239
1272
|
We welcome community contributions to achieve these goals.
|
|
1240
1273
|
|
|
1241
|
-
### v0.1.
|
|
1274
|
+
### v0.1.6 Roadmap
|
|
1242
1275
|
|
|
1243
|
-
Version 0.1.
|
|
1276
|
+
Version 0.1.6 focuses on backend code refactoring for improved maintainability and developer experience:
|
|
1244
1277
|
|
|
1245
|
-
####
|
|
1246
|
-
- **
|
|
1247
|
-
- **Backend Code Refactoring**: Major code refactoring for improved maintainability and developer experience
|
|
1278
|
+
#### Planned Features
|
|
1279
|
+
- **Backend Code Refactoring**: Major code refactoring for improved maintainability and developer experience with better code organization, modularity, and architectural improvements
|
|
1248
1280
|
|
|
1249
1281
|
Key technical approach:
|
|
1250
|
-
- **
|
|
1251
|
-
- **
|
|
1282
|
+
- **Code Architecture**: Enhanced code organization with improved modularity and separation of concerns
|
|
1283
|
+
- **Developer Experience**: Simplified backend extension points, improved API clarity, better error handling and debugging support
|
|
1284
|
+
- **Quality Assurance**: Comprehensive testing to ensure no functionality regressions
|
|
1252
1285
|
|
|
1253
|
-
**Target Release**:
|
|
1286
|
+
**Target Release**: November 1, 2025 (Friday @ 9am PT)
|
|
1254
1287
|
|
|
1255
|
-
For detailed milestones and technical specifications, see the [full v0.1.
|
|
1288
|
+
For detailed milestones and technical specifications, see the [full v0.1.6 roadmap](ROADMAP_v0.1.6.md).
|
|
1256
1289
|
|
|
1257
1290
|
---
|
|
1258
1291
|
|