massgen 0.1.0a2__tar.gz → 0.1.8__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of massgen might be problematic. Click here for more details.
- {massgen-0.1.0a2 → massgen-0.1.8}/CHANGELOG.md +500 -7
- {massgen-0.1.0a2 → massgen-0.1.8}/CONTRIBUTING.md +100 -16
- {massgen-0.1.0a2 → massgen-0.1.8}/MANIFEST.in +2 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/PKG-INFO +216 -147
- {massgen-0.1.0a2 → massgen-0.1.8}/README.md +200 -144
- massgen-0.1.8/README_PYPI.md +1263 -0
- massgen-0.1.8/assets/MassGen-v1.gif +0 -0
- massgen-0.1.8/assets/cos.png +0 -0
- massgen-0.1.8/assets/favicon.ico +0 -0
- massgen-0.1.8/assets/logo-dark.png +0 -0
- massgen-0.1.8/assets/logo.png +0 -0
- massgen-0.1.8/assets/massgen-demo-light.gif +0 -0
- massgen-0.1.8/assets/massgen-demo.gif +0 -0
- massgen-0.1.8/assets/release_related_figures/context_path.png +0 -0
- massgen-0.1.8/assets/release_related_figures/copy_file.png +0 -0
- massgen-0.1.8/assets/thumbnail.png +0 -0
- massgen-0.1.8/assets/thumbnail_old.png +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/__init__.py +1 -1
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/agent_config.py +57 -7
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/api_params_handler/_api_params_handler_base.py +4 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/api_params_handler/_chat_completions_api_params_handler.py +19 -2
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/api_params_handler/_claude_api_params_handler.py +12 -1
- massgen-0.1.8/massgen/api_params_handler/_gemini_api_params_handler.py +77 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/api_params_handler/_response_api_params_handler.py +12 -1
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/backend/azure_openai.py +9 -1
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/backend/base.py +87 -0
- massgen-0.1.0a2/massgen/backend/base_with_mcp.py → massgen-0.1.8/massgen/backend/base_with_custom_tool_and_mcp.py +737 -16
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/backend/capabilities.py +56 -6
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/backend/chat_completions.py +156 -145
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/backend/claude.py +243 -117
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/backend/claude_code.py +389 -15
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/backend/docs/CLAUDE_API_RESEARCH.md +3 -3
- massgen-0.1.8/massgen/backend/docs/DSPY_IMPLEMENTATION_GUIDE.md +653 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/backend/docs/permissions_and_context_files.md +2 -2
- massgen-0.1.8/massgen/backend/gemini.py +1450 -0
- massgen-0.1.8/massgen/backend/gemini_utils.py +73 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/backend/grok.py +41 -7
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/backend/response.py +202 -194
- massgen-0.1.8/massgen/chat_agent.py +782 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/cli.py +1471 -173
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/config_builder.py +563 -85
- massgen-0.1.8/massgen/config_validator.py +931 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/README.md +319 -86
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/basic/multi/three_agents_default.yaml +3 -3
- massgen-0.1.8/massgen/configs/basic/multi/three_agents_dspy_enabled.yaml +51 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/basic/single/single_agent.yaml +1 -1
- massgen-0.1.8/massgen/configs/debug/restart_test_controlled.yaml +60 -0
- massgen-0.1.8/massgen/configs/debug/restart_test_controlled_filesystem.yaml +73 -0
- massgen-0.1.8/massgen/configs/memory/gpt5mini_gemini_baseline_research_to_implementation.yaml +94 -0
- massgen-0.1.8/massgen/configs/memory/gpt5mini_gemini_context_window_management.yaml +187 -0
- massgen-0.1.8/massgen/configs/memory/gpt5mini_gemini_research_to_implementation.yaml +127 -0
- massgen-0.1.8/massgen/configs/memory/gpt5mini_high_reasoning_gemini.yaml +107 -0
- massgen-0.1.8/massgen/configs/memory/single_agent_compression_test.yaml +64 -0
- massgen-0.1.8/massgen/configs/meta/massgen_runs_massgen.yaml +56 -0
- massgen-0.1.8/massgen/configs/meta/massgen_suggests_to_improve_massgen.yaml +95 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/providers/openai/gpt5_nano.yaml +3 -3
- massgen-0.1.8/massgen/configs/tools/code-execution/background_shell_demo.yaml +37 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/code-execution/code_execution_use_case_simple.yaml +1 -1
- massgen-0.1.8/massgen/configs/tools/code-execution/docker_with_sudo.yaml +35 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/claude_code_custom_tool_example.yaml +32 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/claude_code_custom_tool_example_no_path.yaml +28 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/claude_code_custom_tool_with_mcp_example.yaml +41 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/claude_code_custom_tool_with_wrong_mcp_example.yaml +38 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/claude_code_wrong_custom_tool_with_mcp_example.yaml +38 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/claude_custom_tool_example.yaml +24 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/claude_custom_tool_example_no_path.yaml +22 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/claude_custom_tool_with_mcp_example.yaml +36 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/claude_custom_tool_with_wrong_mcp_example.yaml +33 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/claude_wrong_custom_tool_with_mcp_example.yaml +33 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/computer_use_browser_example.yaml +56 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/computer_use_docker_example.yaml +65 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/computer_use_example.yaml +50 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/crawl4ai_example.yaml +55 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/gemini_custom_tool_example.yaml +24 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/gemini_custom_tool_example_no_path.yaml +22 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/gemini_custom_tool_with_mcp_example.yaml +36 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/gemini_custom_tool_with_wrong_mcp_example.yaml +33 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/gemini_wrong_custom_tool_with_mcp_example.yaml +33 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/github_issue_market_analysis.yaml +94 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/gpt5_nano_custom_tool_example.yaml +24 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/gpt5_nano_custom_tool_example_no_path.yaml +22 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/gpt5_nano_custom_tool_with_mcp_example.yaml +36 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/gpt5_nano_custom_tool_with_wrong_mcp_example.yaml +33 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/gpt5_nano_wrong_custom_tool_with_mcp_example.yaml +33 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/gpt_oss_custom_tool_example.yaml +25 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/gpt_oss_custom_tool_example_no_path.yaml +23 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/gpt_oss_custom_tool_with_mcp_example.yaml +35 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/gpt_oss_custom_tool_with_wrong_mcp_example.yaml +34 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/gpt_oss_wrong_custom_tool_with_mcp_example.yaml +34 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/grok3_mini_custom_tool_example.yaml +24 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/grok3_mini_custom_tool_example_no_path.yaml +22 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/grok3_mini_custom_tool_with_mcp_example.yaml +36 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/grok3_mini_custom_tool_with_wrong_mcp_example.yaml +33 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/grok3_mini_wrong_custom_tool_with_mcp_example.yaml +33 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/interop/ag2_and_langgraph_lesson_planner.yaml +65 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/interop/ag2_and_openai_assistant_lesson_planner.yaml +65 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/interop/ag2_lesson_planner_example.yaml +48 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/interop/agentscope_lesson_planner_example.yaml +48 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/interop/langgraph_lesson_planner_example.yaml +49 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/interop/openai_assistant_lesson_planner_example.yaml +50 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/interop/smolagent_lesson_planner_example.yaml +49 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/multimodal_tools/text_to_file_generation_multi.yaml +61 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/multimodal_tools/text_to_file_generation_single.yaml +29 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/multimodal_tools/text_to_image_generation_multi.yaml +51 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/multimodal_tools/text_to_image_generation_single.yaml +33 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/multimodal_tools/text_to_speech_generation_multi.yaml +55 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/multimodal_tools/text_to_speech_generation_single.yaml +33 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/multimodal_tools/text_to_video_generation_multi.yaml +47 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/multimodal_tools/text_to_video_generation_single.yaml +29 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/multimodal_tools/understand_audio.yaml +33 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/multimodal_tools/understand_file.yaml +34 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/multimodal_tools/understand_image.yaml +33 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/multimodal_tools/understand_video.yaml +34 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/multimodal_tools/youtube_video_analysis.yaml +59 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/qwen_api_custom_tool_example.yaml +25 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/qwen_api_custom_tool_example_no_path.yaml +23 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/qwen_api_custom_tool_with_mcp_example.yaml +37 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/qwen_api_custom_tool_with_wrong_mcp_example.yaml +34 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/qwen_api_wrong_custom_tool_with_mcp_example.yaml +34 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/qwen_local_custom_tool_example.yaml +24 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/qwen_local_custom_tool_example_no_path.yaml +22 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/qwen_local_custom_tool_with_mcp_example.yaml +35 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/qwen_local_custom_tool_with_wrong_mcp_example.yaml +33 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/qwen_local_wrong_custom_tool_with_mcp_example.yaml +33 -0
- massgen-0.1.8/massgen/configs/tools/custom_tools/two_models_with_tools_example.yaml +44 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/filesystem/claude_code_context_sharing.yaml +1 -1
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/planning/five_agents_discord_mcp_planning_mode.yaml +7 -29
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/planning/five_agents_filesystem_mcp_planning_mode.yaml +5 -6
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/planning/five_agents_notion_mcp_planning_mode.yaml +4 -4
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/planning/five_agents_twitter_mcp_planning_mode.yaml +4 -4
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/planning/gpt5_mini_case_study_mcp_planning_mode.yaml +2 -2
- massgen-0.1.8/massgen/configs/tools/planning/simple_task_planning.yaml +27 -0
- massgen-0.1.8/massgen/configs/tools/todo/example_task_todo.yaml +27 -0
- massgen-0.1.8/massgen/configs/voting/gemini_gpt_voting_sensitivity.yaml +67 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/coordination_tracker.py +179 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/docker/README.md +83 -0
- massgen-0.1.8/massgen/dspy_paraphraser.py +557 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/filesystem_manager/_code_execution_server.py +239 -7
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/filesystem_manager/_docker_manager.py +21 -1
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/filesystem_manager/_filesystem_manager.py +12 -6
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/filesystem_manager/_path_permission_manager.py +148 -0
- massgen-0.1.8/massgen/filesystem_manager/_workspace_tools_server.py +818 -0
- massgen-0.1.8/massgen/filesystem_manager/background_shell.py +471 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/formatter/_chat_completions_formatter.py +104 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/formatter/_claude_formatter.py +120 -0
- massgen-0.1.8/massgen/formatter/_gemini_formatter.py +567 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/formatter/_response_formatter.py +88 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/frontend/__init__.py +2 -1
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/frontend/coordination_ui.py +180 -255
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/frontend/displays/base_display.py +29 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/frontend/displays/create_coordination_table.py +31 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/frontend/displays/rich_terminal_display.py +155 -9
- massgen-0.1.8/massgen/frontend/displays/silent_display.py +190 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/frontend/displays/simple_display.py +21 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/frontend/displays/terminal_display.py +22 -2
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/logger_config.py +87 -11
- massgen-0.1.8/massgen/mcp_tools/planning/__init__.py +8 -0
- massgen-0.1.8/massgen/mcp_tools/planning/_planning_mcp_server.py +521 -0
- massgen-0.1.8/massgen/mcp_tools/planning/planning_dataclasses.py +431 -0
- massgen-0.1.8/massgen/memory/README.md +277 -0
- massgen-0.1.8/massgen/memory/__init__.py +26 -0
- massgen-0.1.8/massgen/memory/_base.py +193 -0
- massgen-0.1.8/massgen/memory/_compression.py +237 -0
- massgen-0.1.8/massgen/memory/_context_monitor.py +211 -0
- massgen-0.1.8/massgen/memory/_conversation.py +255 -0
- massgen-0.1.8/massgen/memory/_fact_extraction_prompts.py +333 -0
- massgen-0.1.8/massgen/memory/_mem0_adapters.py +257 -0
- massgen-0.1.8/massgen/memory/_persistent.py +687 -0
- massgen-0.1.8/massgen/memory/docker-compose.qdrant.yml +36 -0
- massgen-0.1.8/massgen/memory/docs/DESIGN.md +388 -0
- massgen-0.1.8/massgen/memory/docs/QUICKSTART.md +409 -0
- massgen-0.1.8/massgen/memory/docs/SUMMARY.md +319 -0
- massgen-0.1.8/massgen/memory/docs/agent_use_memory.md +408 -0
- massgen-0.1.8/massgen/memory/docs/orchestrator_use_memory.md +586 -0
- massgen-0.1.8/massgen/memory/examples.py +237 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/message_templates.py +483 -37
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/orchestrator.py +1522 -125
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/stream_chunk/base.py +3 -0
- massgen-0.1.8/massgen/tests/custom_tools_example.py +392 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/tests/mcp_test_server.py +17 -7
- massgen-0.1.8/massgen/tests/memory/test_agent_compression.py +174 -0
- massgen-0.1.8/massgen/tests/memory/test_context_window_management.py +286 -0
- massgen-0.1.8/massgen/tests/memory/test_force_compression.py +154 -0
- massgen-0.1.8/massgen/tests/memory/test_simple_compression.py +147 -0
- massgen-0.1.8/massgen/tests/test_ag2_lesson_planner.py +223 -0
- massgen-0.1.8/massgen/tests/test_agent_memory.py +534 -0
- massgen-0.1.8/massgen/tests/test_background_shell.py +287 -0
- massgen-0.1.8/massgen/tests/test_binary_file_blocking.py +274 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/tests/test_case_studies.md +12 -12
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/tests/test_code_execution.py +178 -0
- massgen-0.1.8/massgen/tests/test_config_builder.py +423 -0
- massgen-0.1.8/massgen/tests/test_config_validator.py +1156 -0
- massgen-0.1.8/massgen/tests/test_conversation_memory.py +382 -0
- massgen-0.1.8/massgen/tests/test_custom_tools.py +401 -0
- massgen-0.1.8/massgen/tests/test_intelligent_planning_mode.py +643 -0
- massgen-0.1.8/massgen/tests/test_langgraph_lesson_planner.py +223 -0
- massgen-0.1.8/massgen/tests/test_multimodal_size_limits.py +407 -0
- massgen-0.1.8/massgen/tests/test_orchestration_restart.py +204 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/tests/test_orchestrator_final_presentation.py +4 -1
- massgen-0.1.8/massgen/tests/test_orchestrator_memory.py +620 -0
- massgen-0.1.8/massgen/tests/test_persistent_memory.py +435 -0
- massgen-0.1.8/massgen/tests/test_planning_integration.py +403 -0
- massgen-0.1.8/massgen/tests/test_planning_tools.py +618 -0
- massgen-0.1.8/massgen/tests/test_tools.py +127 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/token_manager/token_manager.py +19 -4
- massgen-0.1.8/massgen/tool/README.md +935 -0
- massgen-0.1.8/massgen/tool/__init__.py +36 -0
- massgen-0.1.8/massgen/tool/_async_helpers.py +70 -0
- massgen-0.1.8/massgen/tool/_basic/__init__.py +8 -0
- massgen-0.1.8/massgen/tool/_basic/_two_num_tool.py +24 -0
- massgen-0.1.8/massgen/tool/_code_executors/__init__.py +10 -0
- massgen-0.1.8/massgen/tool/_code_executors/_python_executor.py +74 -0
- massgen-0.1.8/massgen/tool/_code_executors/_shell_executor.py +61 -0
- massgen-0.1.8/massgen/tool/_decorators.py +52 -0
- massgen-0.1.8/massgen/tool/_exceptions.py +39 -0
- massgen-0.1.8/massgen/tool/_extraframework_agents/ag2_lesson_planner_tool.py +251 -0
- massgen-0.1.8/massgen/tool/_extraframework_agents/agentscope_lesson_planner_tool.py +303 -0
- massgen-0.1.8/massgen/tool/_extraframework_agents/langgraph_lesson_planner_tool.py +275 -0
- massgen-0.1.8/massgen/tool/_extraframework_agents/openai_assistant_lesson_planner_tool.py +247 -0
- massgen-0.1.8/massgen/tool/_extraframework_agents/smolagent_lesson_planner_tool.py +180 -0
- massgen-0.1.8/massgen/tool/_file_handlers/__init__.py +10 -0
- massgen-0.1.8/massgen/tool/_file_handlers/_file_operations.py +218 -0
- massgen-0.1.8/massgen/tool/_manager.py +725 -0
- massgen-0.1.8/massgen/tool/_multimodal_tools/image_to_image_generation.py +293 -0
- massgen-0.1.8/massgen/tool/_multimodal_tools/text_to_file_generation.py +455 -0
- massgen-0.1.8/massgen/tool/_multimodal_tools/text_to_image_generation.py +222 -0
- massgen-0.1.8/massgen/tool/_multimodal_tools/text_to_speech_continue_generation.py +226 -0
- massgen-0.1.8/massgen/tool/_multimodal_tools/text_to_speech_transcription_generation.py +217 -0
- massgen-0.1.8/massgen/tool/_multimodal_tools/text_to_video_generation.py +223 -0
- massgen-0.1.8/massgen/tool/_multimodal_tools/understand_audio.py +211 -0
- massgen-0.1.8/massgen/tool/_multimodal_tools/understand_file.py +555 -0
- massgen-0.1.8/massgen/tool/_multimodal_tools/understand_image.py +316 -0
- massgen-0.1.8/massgen/tool/_multimodal_tools/understand_video.py +340 -0
- massgen-0.1.8/massgen/tool/_registered_tool.py +91 -0
- massgen-0.1.8/massgen/tool/_result.py +69 -0
- massgen-0.1.8/massgen/tool/_self_evolution/_github_issue_analyzer.py +369 -0
- massgen-0.1.8/massgen/tool/_web_tools/crawl4ai_tool.py +718 -0
- massgen-0.1.8/massgen/tool/docs/builtin_tools.md +681 -0
- massgen-0.1.8/massgen/tool/docs/exceptions.md +794 -0
- massgen-0.1.8/massgen/tool/docs/execution_results.md +691 -0
- massgen-0.1.8/massgen/tool/docs/manager.md +887 -0
- massgen-0.1.8/massgen/tool/docs/multimodal_tools.md +1368 -0
- massgen-0.1.8/massgen/tool/docs/workflow_toolkits.md +529 -0
- massgen-0.1.8/massgen/tool/workflow_toolkits/__init__.py +83 -0
- massgen-0.1.8/massgen/tool/workflow_toolkits/base.py +55 -0
- massgen-0.1.8/massgen/tool/workflow_toolkits/new_answer.py +126 -0
- massgen-0.1.8/massgen/tool/workflow_toolkits/post_evaluation.py +216 -0
- massgen-0.1.8/massgen/tool/workflow_toolkits/vote.py +167 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/utils.py +2 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen.egg-info/PKG-INFO +216 -147
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen.egg-info/SOURCES.txt +186 -1
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen.egg-info/requires.txt +14 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/pyproject.toml +24 -3
- {massgen-0.1.0a2 → massgen-0.1.8}/requirements.txt +1 -0
- massgen-0.1.0a2/massgen/backend/gemini.py +0 -2261
- massgen-0.1.0a2/massgen/chat_agent.py +0 -458
- massgen-0.1.0a2/massgen/filesystem_manager/_workspace_tools_server.py +0 -1815
- {massgen-0.1.0a2 → massgen-0.1.8}/.env.example +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/LICENSE +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/adapters/__init__.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/adapters/ag2_adapter.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/adapters/base.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/adapters/tests/__init__.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/adapters/tests/test_ag2_adapter.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/adapters/tests/test_agent_adapter.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/adapters/utils/__init__.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/adapters/utils/ag2_utils.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/adapters/utils/tests/__init__.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/adapters/utils/tests/test_ag2_utils.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/api_params_handler/__init__.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/backend/__init__.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/backend/cli_base.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/backend/docs/BACKEND_ARCHITECTURE.md +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/backend/docs/Function calling openai responses.md +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/backend/docs/GEMINI_API_DOCUMENTATION.md +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/backend/docs/Gemini MCP Integration Analysis.md +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/backend/docs/MCP_IMPLEMENTATION_CLAUDE_BACKEND.md +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/backend/docs/MCP_INTEGRATION_RESPONSE_BACKEND.md +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/backend/docs/OPENAI_GPT5_MODELS.md +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/backend/docs/OPENAI_RESPONSE_API_TOOL_CALLS.md +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/backend/docs/OPENAI_response_streaming.md +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/backend/docs/inference_backend.md +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/backend/external.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/backend/inference.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/backend/lmstudio.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/BACKEND_CONFIGURATION.md +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/ag2/ag2_case_study.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/ag2/ag2_coder.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/ag2/ag2_coder_case_study.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/ag2/ag2_gemini.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/ag2/ag2_groupchat.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/ag2/ag2_groupchat_gpt.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/ag2/ag2_single_agent.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/basic/multi/fast_timeout_example.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/basic/multi/gemini_4o_claude.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/basic/multi/gemini_gpt5nano_claude.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/basic/multi/geminicode_4o_claude.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/basic/multi/geminicode_gpt5nano_claude.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/basic/multi/glm_gemini_claude.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/basic/multi/gpt4o_audio_generation.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/basic/multi/gpt4o_image_generation.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/basic/multi/gpt5nano_glm_qwen.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/basic/multi/gpt5nano_image_understanding.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/basic/multi/three_agents_opensource.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/basic/multi/three_agents_vllm.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/basic/multi/two_agents_gemini.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/basic/multi/two_agents_gpt5.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/basic/multi/two_agents_opensource_lmstudio.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/basic/multi/two_qwen_vllm_sglang.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/basic/single/single_flash2.5.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/basic/single/single_gemini2.5pro.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/basic/single/single_gpt4o_audio_generation.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/basic/single/single_gpt4o_image_generation.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/basic/single/single_gpt4o_video_generation.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/basic/single/single_gpt5nano.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/basic/single/single_gpt5nano_file_search.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/basic/single/single_gpt5nano_image_understanding.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/basic/single/single_gptoss120b.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/basic/single/single_openrouter_audio_understanding.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/basic/single/single_qwen_video_understanding.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/debug/code_execution/command_filtering_blacklist.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/debug/code_execution/command_filtering_whitelist.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/debug/code_execution/docker_verification.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/debug/skip_coordination_test.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/debug/test_sdk_migration.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/docs/DISCORD_MCP_SETUP.md +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/docs/TWITTER_MCP_ENESCINAR_SETUP.md +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/providers/azure/azure_openai_multi.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/providers/azure/azure_openai_single.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/providers/claude/claude.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/providers/gemini/gemini_gpt5nano.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/providers/local/lmstudio.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/providers/openai/gpt5.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/providers/others/grok_single_agent.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/providers/others/zai_coding_team.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/providers/others/zai_glm45.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/teams/creative/creative_team.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/teams/creative/travel_planning.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/teams/research/news_analysis.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/teams/research/research_team.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/teams/research/technical_analysis.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/code-execution/basic_command_execution.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/code-execution/docker_claude_code.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/code-execution/docker_multi_agent.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/code-execution/docker_simple.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/code-execution/docker_with_resource_limits.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/code-execution/multi_agent_playwright_automation.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/filesystem/cc_gpt5_gemini_filesystem.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/filesystem/claude_code_flash2.5.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/filesystem/claude_code_flash2.5_gptoss.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/filesystem/claude_code_gpt5nano.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/filesystem/claude_code_single.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/filesystem/fs_permissions_test.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/filesystem/gemini_gemini_workspace_cleanup.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/filesystem/gemini_gpt5_filesystem_casestudy.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/filesystem/gemini_gpt5nano_file_context_path.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/filesystem/gemini_gpt5nano_protected_paths.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/filesystem/gpt5mini_cc_fs_context_path.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/filesystem/grok4_gpt5_gemini_filesystem.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/filesystem/multiturn/grok4_gpt5_claude_code_filesystem_multiturn.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/filesystem/multiturn/grok4_gpt5_gemini_filesystem_multiturn.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/filesystem/multiturn/two_claude_code_filesystem_multiturn.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/filesystem/multiturn/two_gemini_flash_filesystem_multiturn.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/mcp/claude_code_discord_mcp_example.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/mcp/claude_code_simple_mcp.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/mcp/claude_code_twitter_mcp_example.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/mcp/claude_mcp_example.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/mcp/claude_mcp_test.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/mcp/five_agents_travel_mcp_test.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/mcp/five_agents_weather_mcp_test.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/mcp/gemini_mcp_example.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/mcp/gemini_mcp_filesystem_test.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/mcp/gemini_mcp_filesystem_test_sharing.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/mcp/gemini_mcp_filesystem_test_single_agent.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/mcp/gemini_mcp_filesystem_test_with_claude_code.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/mcp/gemini_mcp_test.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/mcp/gemini_notion_mcp.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/mcp/gpt5_nano_mcp_example.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/mcp/gpt5_nano_mcp_test.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/mcp/gpt5mini_claude_code_discord_mcp_example.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/mcp/gpt_oss_mcp_example.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/mcp/gpt_oss_mcp_test.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/mcp/grok3_mini_mcp_example.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/mcp/grok3_mini_mcp_test.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/mcp/multimcp_gemini.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/mcp/qwen_api_mcp_example.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/mcp/qwen_api_mcp_test.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/mcp/qwen_local_mcp_example.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/mcp/qwen_local_mcp_test.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/web-search/claude_streamable_http_test.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/web-search/gemini_streamable_http_test.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/web-search/gpt5_mini_streamable_http_test.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/web-search/gpt_oss_streamable_http_test.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/web-search/grok3_mini_streamable_http_test.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/web-search/qwen_api_streamable_http_test.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/configs/tools/web-search/qwen_local_streamable_http_test.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/filesystem_manager/__init__.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/filesystem_manager/_base.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/filesystem_manager/_file_operation_tracker.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/formatter/__init__.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/formatter/_formatter_base.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/frontend/displays/__init__.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/mcp_tools/README.md +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/mcp_tools/__init__.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/mcp_tools/backend_utils.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/mcp_tools/circuit_breaker.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/mcp_tools/client.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/mcp_tools/config_validator.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/mcp_tools/docs/circuit_breaker.md +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/mcp_tools/docs/client.md +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/mcp_tools/docs/config_validator.md +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/mcp_tools/docs/exceptions.md +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/mcp_tools/docs/security.md +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/mcp_tools/exceptions.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/mcp_tools/hooks.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/mcp_tools/security.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/stream_chunk/__init__.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/stream_chunk/multimodal.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/stream_chunk/text.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/tests/__init__.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/tests/multi_turn_conversation_design.md +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/tests/multiturn_llm_input_analysis.md +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/tests/test_azure_openai_backend.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/tests/test_backend_capabilities.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/tests/test_backend_event_loop_all.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/tests/test_chat_completions_refactor.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/tests/test_claude_backend.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/tests/test_claude_code.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/tests/test_claude_code_context_sharing.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/tests/test_claude_code_orchestrator.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/tests/test_cli_backends.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/tests/test_external_agent_backend.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/tests/test_final_presentation_fallback.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/tests/test_gemini_planning_mode.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/tests/test_grok_backend.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/tests/test_http_mcp_server.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/tests/test_integration_simple.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/tests/test_mcp_blocking.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/tests/test_message_context_building.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/tests/test_path_permission_manager.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/tests/test_rich_terminal_display.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/tests/test_timeout.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/tests/test_v3_3agents.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/tests/test_v3_simple.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/tests/test_v3_three_agents.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/tests/test_v3_two_agents.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/token_manager/__init__.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/v1/README.md +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/v1/__init__.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/v1/agent.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/v1/agents.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/v1/backends/gemini.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/v1/backends/grok.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/v1/backends/oai.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/v1/cli.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/v1/config.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/v1/examples/fast-4o-mini-config.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/v1/examples/fast_config.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/v1/examples/production.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/v1/examples/single_agent.yaml +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/v1/logging.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/v1/main.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/v1/orchestrator.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/v1/streaming_display.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/v1/tools.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/v1/types.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen/v1/utils.py +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen.egg-info/dependency_links.txt +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen.egg-info/entry_points.txt +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen.egg-info/not-zip-safe +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/massgen.egg-info/top_level.txt +0 -0
- {massgen-0.1.0a2 → massgen-0.1.8}/setup.cfg +0 -0
|
@@ -7,18 +7,511 @@ 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.
|
|
11
|
-
|
|
10
|
+
**v0.1.8 (November 5, 2025)** - Automation Mode & DSPy Integration
|
|
11
|
+
Complete automation infrastructure for LLM agents with real-time status tracking, silent execution mode, and DSPy-powered question paraphrasing for enhanced multi-agent diversity.
|
|
12
12
|
|
|
13
|
-
**v0.
|
|
14
|
-
|
|
13
|
+
**v0.1.7 (November 3, 2025)** - Agent Task Planning & Background Execution
|
|
14
|
+
Agent task planning system with dependency tracking, background shell execution for long-running commands, and preemption-based coordination for improved multi-agent workflows.
|
|
15
15
|
|
|
16
|
-
**v0.
|
|
17
|
-
|
|
16
|
+
**v0.1.6 (October 31, 2025)** - Framework Interoperability & Backend Refactoring
|
|
17
|
+
External agent framework integration as tools (AG2, LangGraph, AgentScope, OpenAI Assistants, SmoLAgent), unified tool execution architecture, Gemini backend simplification, and comprehensive configuration validation.
|
|
18
18
|
|
|
19
19
|
---
|
|
20
20
|
|
|
21
|
-
## [0.1.
|
|
21
|
+
## [0.1.8] - 2025-11-05
|
|
22
|
+
|
|
23
|
+
### Added
|
|
24
|
+
- **Automation Mode for LLM Agents**: Complete infrastructure for running MassGen via LLM agents and programmatic workflows
|
|
25
|
+
- New `--automation` CLI flag for silent execution with minimal output (~10 lines vs 250-3,000+)
|
|
26
|
+
- New `SilentDisplay` class in `massgen/frontend/displays/silent_display.py` for automation-friendly output
|
|
27
|
+
- Real-time `status.json` monitoring file updated every 2 seconds via enhanced `CoordinationTracker`
|
|
28
|
+
- Meaningful exit codes: 0 (success), 1 (config error), 2 (execution error), 3 (timeout), 4 (interrupted)
|
|
29
|
+
- Automatic workspace isolation for parallel execution with unique suffixes
|
|
30
|
+
- Meta-coordination capabilities: MassGen running MassGen configurations
|
|
31
|
+
- Automatic log directory creation and management for automation sessions
|
|
32
|
+
|
|
33
|
+
- **DSPy Question Paraphrasing Integration**: Intelligent question diversity for multi-agent coordination
|
|
34
|
+
- New `massgen/dspy_paraphraser.py` module with semantic-preserving paraphrasing (557 lines)
|
|
35
|
+
- Three paraphrasing strategies: "diverse", "balanced" (default), "conservative"
|
|
36
|
+
- Configurable number of variants per orchestrator session
|
|
37
|
+
- Automatic semantic validation using `SemanticValidationSignature` to ensure meaning preservation
|
|
38
|
+
- Thread-safe caching system with SHA-256 hashing for performance
|
|
39
|
+
- Support for all backends (Gemini, OpenAI, Claude, etc.) as paraphrasing engines
|
|
40
|
+
|
|
41
|
+
- **Case Study Summary**: Comprehensive documentation of MassGen capabilities
|
|
42
|
+
- New `docs/CASE_STUDIES_SUMMARY.md` providing centralized overview of 33 case studies (368 lines)
|
|
43
|
+
- Organized by category: Release Features, Research, Travel, Creative, In Development, Planned
|
|
44
|
+
- Covers versions v0.0.3 to v0.1.5 with status tracking and links to videos
|
|
45
|
+
- Statistics: 19 completed, 8 with video demonstrations, 6 categories
|
|
46
|
+
|
|
47
|
+
### Changed
|
|
48
|
+
- **Orchestrator Enhancement**: Integration of DSPy paraphrasing and automation tracking
|
|
49
|
+
- Question variant distribution to different agents based on configured strategy
|
|
50
|
+
- Improved coordination event logging with structured status exports
|
|
51
|
+
|
|
52
|
+
- **CLI Enhancement**: Extended command-line interface for automation workflows
|
|
53
|
+
- Enhanced display selection logic automatically choosing SilentDisplay in automation mode
|
|
54
|
+
- Improved output formatting optimized for LLM agent parsing and monitoring
|
|
55
|
+
|
|
56
|
+
### Documentations, Configurations and Resources
|
|
57
|
+
|
|
58
|
+
- **Case Study**: Meta-level self-analysis demonstrating automation mode
|
|
59
|
+
- New `docs/source/examples/case_studies/meta-self-analysis-automation-mode.md`: Comprehensive case study showing MassGen analyzing its own v0.1.8 codebase using automation mode
|
|
60
|
+
|
|
61
|
+
- **Automation Documentation**: Comprehensive guides for LLM agent integration
|
|
62
|
+
- New `AI_USAGE.md`: Complete guide for LLM agents running MassGen (319 lines)
|
|
63
|
+
- New `docs/source/user_guide/automation.rst`: Full automation guide with BackgroundShellManager patterns (890 lines)
|
|
64
|
+
- New `docs/source/reference/status_file.rst`: Complete `status.json` schema reference with field-by-field documentation (565 lines)
|
|
65
|
+
- Updated `README.md` and `README_PYPI.md` with automation mode sections (135 lines each)
|
|
66
|
+
|
|
67
|
+
- **DSPy Documentation**: Complete implementation and usage guide
|
|
68
|
+
- New `massgen/backend/docs/DSPY_IMPLEMENTATION_GUIDE.md`: Comprehensive DSPy integration guide (653 lines)
|
|
69
|
+
- Covers quick start, configuration, strategies, troubleshooting, and semantic validation
|
|
70
|
+
- Includes paraphrasing examples and best practices
|
|
71
|
+
|
|
72
|
+
- **Meta-Coordination Configurations**: MassGen running MassGen examples
|
|
73
|
+
- `massgen/configs/meta/massgen_runs_massgen.yaml`: Single agent autonomously running MassGen experiments
|
|
74
|
+
- `massgen/configs/meta/massgen_suggests_to_improve_massgen.yaml`: Self-improvement configuration
|
|
75
|
+
- Demonstrates automation mode usage for meta-coordination workflows
|
|
76
|
+
|
|
77
|
+
- **DSPy Configuration Example**: New YAML configuration for DSPy-enabled coordination
|
|
78
|
+
- `massgen/configs/basic/multi/three_agents_dspy_enabled.yaml`: Three-agent setup with DSPy paraphrasing
|
|
79
|
+
|
|
80
|
+
- **Case Study Summary Documentation**: Centralized case study reference
|
|
81
|
+
- New `docs/CASE_STUDIES_SUMMARY.md`: Comprehensive overview of all MassGen case studies with categorization and status tracking
|
|
82
|
+
|
|
83
|
+
### Technical Details
|
|
84
|
+
- **Major Focus**: Automation infrastructure for LLM agents, DSPy-powered question paraphrasing, meta-coordination capabilities, comprehensive case study documentation
|
|
85
|
+
- **Contributors**: @ncrispino @praneeth999 @franklinnwren @qidanrui @sonichi @Henry-811 and the MassGen team
|
|
86
|
+
|
|
87
|
+
## [0.1.7] - 2025-11-03
|
|
88
|
+
|
|
89
|
+
### Added
|
|
90
|
+
- **Agent Task Planning System**: MCP-based task management with dependency tracking
|
|
91
|
+
- New `massgen/mcp_tools/planning/` module with dedicated planning server (`_planning_mcp_server.py`)
|
|
92
|
+
- Task dataclasses with dependency validation and status management (`planning_dataclasses.py`)
|
|
93
|
+
- Support for task states (pending/in_progress/completed/blocked) with automatic transitions based on dependencies
|
|
94
|
+
- Orchestrator integration for plan-aware coordination
|
|
95
|
+
- Test suite in `test_planning_integration.py` and `test_planning_tools.py`
|
|
96
|
+
|
|
97
|
+
- **Background Shell Execution**: Long-running command support with persistent sessions
|
|
98
|
+
- New `BackgroundShell` class in `massgen/filesystem_manager/background_shell.py`
|
|
99
|
+
- Shell lifecycle management with output streaming and real-time monitoring
|
|
100
|
+
- Automatic timeout handling for long-running processes
|
|
101
|
+
- Enhanced code execution server with background execution capabilities
|
|
102
|
+
- Test coverage in `test_background_shell.py`
|
|
103
|
+
|
|
104
|
+
- **Preemption Coordination**: Multi-agent coordination with interruption support
|
|
105
|
+
- Agents can preempt ongoing coordination to submit better answers without full restart
|
|
106
|
+
- Enhanced coordination tracker with preemption event logging
|
|
107
|
+
- Improved orchestrator logic to preserve partial progress during preemption
|
|
108
|
+
|
|
109
|
+
### Fixed
|
|
110
|
+
- **System Message Handling**: Resolved system message extraction in Claude Code backend for background shell execution
|
|
111
|
+
- **Case Study Documentation**: Fixed broken links and outdated examples in older case studies
|
|
112
|
+
|
|
113
|
+
### Documentations, Configurations and Resources
|
|
114
|
+
|
|
115
|
+
- **Documentation Updates**: New user guides and design documentation
|
|
116
|
+
- New `docs/source/user_guide/agent_task_planning.rst`: Task planning guide with usage patterns and API reference
|
|
117
|
+
- Updated `docs/source/user_guide/code_execution.rst`: Added 122 lines for background shell usage
|
|
118
|
+
- New `docs/dev_notes/agent_planning_coordination_design.md`: Comprehensive design document for agent planning and coordination system
|
|
119
|
+
- New `docs/dev_notes/preempt_not_restart_design.md`: 456-line design document with preemption algorithms
|
|
120
|
+
- Updated `docs/source/development/architecture.rst`: Added 61 lines for preemption coordination architecture
|
|
121
|
+
|
|
122
|
+
- **Configuration Examples**: New YAML configurations demonstrating v0.1.7 features
|
|
123
|
+
- `example_task_todo.yaml`: Task planning configuration
|
|
124
|
+
- `background_shell_demo.yaml`: Background shell execution demonstration
|
|
125
|
+
|
|
126
|
+
### Technical Details
|
|
127
|
+
- **Major Focus**: Agent task planning with dependencies, background command execution, preemption-based coordination
|
|
128
|
+
- **Contributors**: @ncrispino @Henry-811 and the MassGen team
|
|
129
|
+
|
|
130
|
+
## [0.1.6] - 2025-10-31
|
|
131
|
+
|
|
132
|
+
### Added
|
|
133
|
+
- **Framework Interoperability**: External agent framework integration as MassGen custom tools
|
|
134
|
+
- New `massgen/tool/_extraframework_agents/` module with 5 framework integrations
|
|
135
|
+
- **AG2 Lesson Planner Tool**: Nested chat functionality wrapped as custom tool for multi-agent lesson planning (supports streaming)
|
|
136
|
+
- **LangGraph Lesson Planner Tool**: LangGraph graph-based workflows integrated as tool
|
|
137
|
+
- **AgentScope Lesson Planner Tool**: AgentScope agent system wrapped for lesson creation
|
|
138
|
+
- **OpenAI Assistants Lesson Planner Tool**: OpenAI Assistants API integrated as tool
|
|
139
|
+
- **SmoLAgent Lesson Planner Tool**: HuggingFace SmoLAgent integration for lesson planning
|
|
140
|
+
- Enables MassGen agents to delegate tasks to specialized external frameworks
|
|
141
|
+
- Each framework runs autonomously and returns results to MassGen orchestrator
|
|
142
|
+
- Note: Only AG2 currently supports streaming; other frameworks return complete results
|
|
143
|
+
|
|
144
|
+
- **Configuration Validator**: Comprehensive YAML configuration validation system
|
|
145
|
+
- New `ConfigValidator` class in `massgen/config_validator.py` for pre-flight validation
|
|
146
|
+
- Memory configuration validation with detailed error messages
|
|
147
|
+
- Pre-commit hook integration for automatic config validation
|
|
148
|
+
- Comprehensive test suite in `massgen/tests/test_config_validator.py`
|
|
149
|
+
- Validates agent configurations, backend parameters, tool settings, and memory options
|
|
150
|
+
- Provides actionable error messages with suggestions for common mistakes
|
|
151
|
+
|
|
152
|
+
### Changed
|
|
153
|
+
- **Backend Architecture Refactoring**: Unified tool execution with ToolExecutionConfig
|
|
154
|
+
- New `ToolExecutionConfig` dataclass in `base_with_custom_tool_and_mcp.py` for standardized tool handling
|
|
155
|
+
- Refactored `ResponseBackend` with unified tool execution flow
|
|
156
|
+
- Refactored `ChatCompletionsBackend` with unified tool execution flow
|
|
157
|
+
- Refactored `ClaudeBackend` with unified tool execution methods
|
|
158
|
+
- Eliminates duplicate code paths between custom tools and MCP tools
|
|
159
|
+
- Consistent error handling and status reporting across all tool types
|
|
160
|
+
- Improved maintainability and extensibility for future tool systems
|
|
161
|
+
|
|
162
|
+
- **Gemini Backend Simplification**: Major architectural cleanup and consolidation
|
|
163
|
+
- Removed `gemini_mcp_manager.py` module
|
|
164
|
+
- Removed `gemini_trackers.py` module
|
|
165
|
+
- Refactored `gemini.py` to use manual tool execution via base class
|
|
166
|
+
- Streamlined tool handling and cleanup logic
|
|
167
|
+
- Removed continuation logic and duplicate code
|
|
168
|
+
- Updated `_gemini_formatter.py` for simplified tool conversion
|
|
169
|
+
- Net reduction of 1,598 lines through consolidation
|
|
170
|
+
- Improved maintainability and performance
|
|
171
|
+
|
|
172
|
+
- **Custom Tool System Enhancement**: Improved tool management and execution
|
|
173
|
+
- Enhanced `ToolManager` with category management capabilities
|
|
174
|
+
- Improved tool registration and validation system
|
|
175
|
+
- Enhanced tool result handling and error reporting
|
|
176
|
+
- Better support for async tool execution
|
|
177
|
+
- Improved tool schema generation for LLM consumption
|
|
178
|
+
|
|
179
|
+
### Documentations, Configurations and Resources
|
|
180
|
+
|
|
181
|
+
- **Framework Interoperability Examples**: 8 new configuration files demonstrating external framework integration
|
|
182
|
+
- **AG2 Examples**: `ag2_lesson_planner_example.yaml`, `ag2_and_langgraph_lesson_planner.yaml`, `ag2_and_openai_assistant_lesson_planner.yaml`
|
|
183
|
+
- **LangGraph Examples**: `langgraph_lesson_planner_example.yaml`
|
|
184
|
+
- **AgentScope Examples**: `agentscope_lesson_planner_example.yaml`
|
|
185
|
+
- **OpenAI Assistants Examples**: `openai_assistant_lesson_planner_example.yaml`
|
|
186
|
+
- **SmoLAgent Examples**: `smolagent_lesson_planner_example.yaml`
|
|
187
|
+
- **Multi-Framework Examples**: `two_models_with_tools_example.yaml`
|
|
188
|
+
|
|
189
|
+
### Technical Details
|
|
190
|
+
- **Major Focus**: Framework interoperability for external agent integration, unified tool execution architecture, Gemini backend simplification, and configuration validation system
|
|
191
|
+
- **Contributors**: @Eric-Shang @praneeth999 @ncrispino @qidanrui @sonichi @Henry-811 and the MassGen team
|
|
192
|
+
|
|
193
|
+
## [0.1.5] - 2025-10-29
|
|
194
|
+
|
|
195
|
+
### Added
|
|
196
|
+
- **Memory System**: Complete long-term memory implementation with semantic retrieval
|
|
197
|
+
- New `massgen/memory/` module with comprehensive memory management
|
|
198
|
+
- **PersistentMemory** via mem0 integration for semantic fact storage and retrieval
|
|
199
|
+
- **ConversationMemory** for short-term verbatim message tracking
|
|
200
|
+
- **Automatic Context Compression** when approaching token limits
|
|
201
|
+
- **Memory Sharing for Multi-Turn Conversations** with turn-aware filtering to prevent temporal leakage
|
|
202
|
+
- **Session Management** for memory isolation and continuation across runs
|
|
203
|
+
- **Qdrant Vector Database Integration** for efficient semantic search (server and local modes)
|
|
204
|
+
- **Context Monitoring** with real-time token usage tracking
|
|
205
|
+
- Fact extraction prompts with customizable LLM and embedding providers
|
|
206
|
+
- Supports OpenAI, Anthropic, Groq, and other mem0-compatible providers
|
|
207
|
+
|
|
208
|
+
- **Memory Configuration Support**: New YAML configuration options
|
|
209
|
+
- Memory enable/disable toggle at global and per-agent levels
|
|
210
|
+
- Configurable compression thresholds (trigger_threshold, target_ratio)
|
|
211
|
+
- Retrieval settings (limit, exclude_recent for smart retrieval)
|
|
212
|
+
- Session naming for continuation and cross-session memory
|
|
213
|
+
- LLM and embedding provider configuration for mem0
|
|
214
|
+
- Qdrant connection settings (server/local mode, host, port, path)
|
|
215
|
+
|
|
216
|
+
### Changed
|
|
217
|
+
- **Chat Agent Enhancement**: Memory integration for agent workflows
|
|
218
|
+
- Memory recording after agent responses (conversation and persistent)
|
|
219
|
+
- Memory retrieval on restart/reset for context restoration
|
|
220
|
+
- Integration with compression and context monitoring modules
|
|
221
|
+
|
|
222
|
+
- **Orchestrator Enhancement**: Memory coordination for multi-agent workflows
|
|
223
|
+
- Memory initialization and management across agent lifecycles
|
|
224
|
+
- Memory cleanup on orchestrator shutdown
|
|
225
|
+
|
|
226
|
+
### Documentations, Configurations and Resources
|
|
227
|
+
|
|
228
|
+
- **Memory Documentation**: Comprehensive memory system user guide
|
|
229
|
+
- New `docs/source/user_guide/memory.rst`
|
|
230
|
+
- Complete usage guide with quick start, configuration reference, and examples
|
|
231
|
+
- Design decisions documentation explaining architecture choices
|
|
232
|
+
- Troubleshooting guide for common memory issues
|
|
233
|
+
- Monitoring and debugging instructions with log examples
|
|
234
|
+
- API reference for PersistentMemory, ConversationMemory, and ContextMonitor
|
|
235
|
+
|
|
236
|
+
- **Configuration Examples**: 5 new memory-focused YAML configurations
|
|
237
|
+
- `gpt5mini_gemini_context_window_management.yaml`: Multi-agent with context compression
|
|
238
|
+
- `gpt5mini_gemini_research_to_implementation.yaml`: Research to implementation workflow
|
|
239
|
+
- `gpt5mini_high_reasoning_gemini.yaml`: High reasoning agents with memory
|
|
240
|
+
- `gpt5mini_gemini_baseline_research_to_implementation.yaml`: Baseline research workflow
|
|
241
|
+
- `single_agent_compression_test.yaml`: Testing compression behavior
|
|
242
|
+
|
|
243
|
+
- **Infrastructure and Testing**:
|
|
244
|
+
- Memory test suite with 4 test files in `massgen/tests/memory/`
|
|
245
|
+
- Additional memory tests: `test_agent_memory.py`, `test_conversation_memory.py`, `test_orchestrator_memory.py`, `test_persistent_memory.py`
|
|
246
|
+
|
|
247
|
+
### Technical Details
|
|
248
|
+
- **Major Focus**: Long-term memory system with semantic retrieval and memory sharing for multi-turn conversations
|
|
249
|
+
- **Contributors**: @ncrispino @qidanrui @kitrakrev @sonichi @Henry-811 and the MassGen team
|
|
250
|
+
|
|
251
|
+
## [0.1.4] - 2025-10-27
|
|
252
|
+
|
|
253
|
+
### Added
|
|
254
|
+
- **Multimodal Generation Tools**: Comprehensive generation capabilities via OpenAI APIs
|
|
255
|
+
- New `text_to_image_generation` tool for generating images from text prompts using DALL-E models
|
|
256
|
+
- New `text_to_video_generation` tool for generating videos from text prompts
|
|
257
|
+
- New `text_to_speech_continue_generation` tool for text-to-speech with continuation support
|
|
258
|
+
- New `text_to_speech_transcription_generation` tool for audio transcription and generation
|
|
259
|
+
- New `text_to_file_generation` tool for generating documents (PDF, DOCX, XLSX, PPTX)
|
|
260
|
+
- New `image_to_image_generation` tool for image-to-image transformations
|
|
261
|
+
- Implemented in `massgen/tool/_multimodal_tools/` with 6 new modules
|
|
262
|
+
|
|
263
|
+
- **Binary File Protection System**: Enhanced security for file operations
|
|
264
|
+
- New binary file blocking in `PathPermissionManager` preventing text tools from reading binary files
|
|
265
|
+
- Added `BINARY_FILE_EXTENSIONS` set covering images, videos, audio, archives, executables, and Office documents
|
|
266
|
+
- New `_validate_binary_file_access()` method with intelligent tool suggestions
|
|
267
|
+
- Prevents context pollution by blocking Read, read_text_file, and read_file tools from binary files
|
|
268
|
+
- Comprehensive test suite in `test_binary_file_blocking.py`
|
|
269
|
+
|
|
270
|
+
- **Crawl4AI Web Scraping Integration**: Advanced web content extraction tool
|
|
271
|
+
- New `crawl4ai_tool` for intelligent web scraping with LLM-powered extraction
|
|
272
|
+
- Implemented in `massgen/tool/_web_tools/crawl4ai_tool.py`
|
|
273
|
+
|
|
274
|
+
### Changed
|
|
275
|
+
- **Multimodal File Size Limits**: Enhanced validation and automatic handling
|
|
276
|
+
- Automatic image resizing for files exceeding size limits
|
|
277
|
+
- Comprehensive size limit test suite in `test_multimodal_size_limits.py`
|
|
278
|
+
- Enhanced validation in understand_audio and understand_video tools
|
|
279
|
+
|
|
280
|
+
### Documentations, Configurations and Resources
|
|
281
|
+
|
|
282
|
+
- **PyPI Package Documentation**: Standalone README for PyPI distribution
|
|
283
|
+
- New `README_PYPI.md` with comprehensive package documentation
|
|
284
|
+
- Improved package metadata and installation instructions
|
|
285
|
+
|
|
286
|
+
- **Release Management Documentation**: Comprehensive release workflow guide
|
|
287
|
+
- New `docs/dev_notes/release_checklist.md` with step-by-step release procedures
|
|
288
|
+
- Detailed checklist for testing, documentation, and deployment
|
|
289
|
+
|
|
290
|
+
- **Binary File Protection Documentation**: Enhanced protected paths user guide
|
|
291
|
+
- Updated `docs/source/user_guide/protected_paths.rst` with binary file protection section
|
|
292
|
+
- Documents 40+ protected binary file types and specialized tool suggestions
|
|
293
|
+
|
|
294
|
+
- **Configuration Examples**: 9 new YAML configuration files
|
|
295
|
+
- **Generation Tools**: 8 multimodal generation configurations
|
|
296
|
+
- `text_to_image_generation_single.yaml` and `text_to_image_generation_multi.yaml`
|
|
297
|
+
- `text_to_video_generation_single.yaml` and `text_to_video_generation_multi.yaml`
|
|
298
|
+
- `text_to_speech_generation_single.yaml` and `text_to_speech_generation_multi.yaml`
|
|
299
|
+
- `text_to_file_generation_single.yaml` and `text_to_file_generation_multi.yaml`
|
|
300
|
+
- **Web Scraping**: `crawl4ai_example.yaml` for Crawl4AI integration
|
|
301
|
+
|
|
302
|
+
### Technical Details
|
|
303
|
+
- **Major Focus**: Multimodal generation tools, binary file protection system, web scraping integration
|
|
304
|
+
- **Contributors**: @qidanrui @ncrispino @sonichi @Henry-811 and the MassGen team
|
|
305
|
+
|
|
306
|
+
## [0.1.3] - 2025-10-24
|
|
307
|
+
|
|
308
|
+
### Added
|
|
309
|
+
- **Post-Evaluation Workflow Tools**: Submit and restart capabilities for winning agents
|
|
310
|
+
- New `PostEvaluationToolkit` class in `massgen/tool/workflow_toolkits/post_evaluation.py`
|
|
311
|
+
- `submit` tool for confirming final answers
|
|
312
|
+
- `restart_orchestration` tool for restarting with improvements and feedback
|
|
313
|
+
- Post-evaluation phase where winning agent evaluates its own answer
|
|
314
|
+
- Support for all API formats (Claude, Response API, Chat Completions)
|
|
315
|
+
- Configuration parameter `enable_post_evaluation_tools` for opt-in/out
|
|
316
|
+
|
|
317
|
+
- **Custom Multimodal Understanding Tools**: Active tools for analyzing workspace files using OpenAI's GPT-4.1 API
|
|
318
|
+
- New `understand_image` tool for analyzing images (PNG, JPEG, JPG) with detailed metadata extraction
|
|
319
|
+
- New `understand_audio` tool for transcribing and analyzing audio files (WAV, MP3, FLAC, OGG)
|
|
320
|
+
- New `understand_video` tool for extracting frames and analyzing video content (MP4, AVI, MOV, WEBM)
|
|
321
|
+
- New `understand_file` tool for processing documents (PDF, DOCX, XLSX, PPTX) with text and metadata extraction
|
|
322
|
+
- Works with any backend (uses OpenAI for analysis)
|
|
323
|
+
- Returns structured JSON with comprehensive metadata
|
|
324
|
+
|
|
325
|
+
- **Docker Sudo Mode**: Enhanced Docker execution with privileged command support
|
|
326
|
+
- New `use_sudo` parameter for Docker execution
|
|
327
|
+
- Sudo mode for commands requiring elevated privileges
|
|
328
|
+
- Enhanced security instructions and documentation
|
|
329
|
+
- Test coverage in `test_code_execution.py`
|
|
330
|
+
|
|
331
|
+
### Changed
|
|
332
|
+
- **Interactive Config Builder Enhancement**: Improved workflow and provider handling
|
|
333
|
+
- Better flow from automatic setup to config builder
|
|
334
|
+
- Auto-detection of environment variables
|
|
335
|
+
- Improved provider-specific configuration handling
|
|
336
|
+
- Integrated multimodal tools selection in config wizard
|
|
337
|
+
|
|
338
|
+
### Fixed
|
|
339
|
+
- **System Message Warning**: Resolved deprecated system message configuration warning
|
|
340
|
+
- Fixed system message handling in `agent_config.py`
|
|
341
|
+
- Updated chat agent to properly handle system messages
|
|
342
|
+
- Removed deprecated warning messages
|
|
343
|
+
|
|
344
|
+
- **Config Builder Issues**: Multiple configuration builder improvements
|
|
345
|
+
- Fixed config display errors
|
|
346
|
+
- Improved config saving across different provider types
|
|
347
|
+
- Better error handling for missing configurations
|
|
348
|
+
|
|
349
|
+
### Documentations, Configurations and Resources
|
|
350
|
+
|
|
351
|
+
- **Multimodal Tools Documentation**: Comprehensive documentation for new multimodal tools
|
|
352
|
+
- `docs/source/user_guide/multimodal.rst`: Updated with custom tools section
|
|
353
|
+
- `massgen/tool/docs/multimodal_tools.md`: Complete 779-line technical documentation
|
|
354
|
+
|
|
355
|
+
- **Docker Sudo Mode Documentation**: Enhanced Docker execution documentation
|
|
356
|
+
- `docs/source/user_guide/code_execution.rst`: Added 98 lines documenting sudo mode
|
|
357
|
+
- `massgen/docker/README.md`: Updated with sudo mode instructions
|
|
358
|
+
|
|
359
|
+
- **Configuration Examples**: New example configurations
|
|
360
|
+
- `configs/tools/multimodal_tools/understand_image.yaml`: Image analysis configuration
|
|
361
|
+
- `configs/tools/multimodal_tools/understand_audio.yaml`: Audio transcription configuration
|
|
362
|
+
- `configs/tools/multimodal_tools/understand_video.yaml`: Video analysis configuration
|
|
363
|
+
- `configs/tools/multimodal_tools/understand_file.yaml`: Document processing configuration
|
|
364
|
+
|
|
365
|
+
- **Example Resources**: New test resources for v0.1.3 features
|
|
366
|
+
- `massgen/configs/resources/v0.1.3-example/multimodality.jpg`: Image example
|
|
367
|
+
- `massgen/configs/resources/v0.1.3-example/Sherlock_Holmes.mp3`: Audio example
|
|
368
|
+
- `massgen/configs/resources/v0.1.3-example/oppenheimer_trailer_1920.mp4`: Video example
|
|
369
|
+
- `massgen/configs/resources/v0.1.3-example/TUMIX.pdf`: PDF document example
|
|
370
|
+
|
|
371
|
+
- **Case Studies**: New case study demonstrating v0.1.3 features
|
|
372
|
+
- `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
|
|
373
|
+
|
|
374
|
+
### Technical Details
|
|
375
|
+
- **Major Focus**: Post-evaluation workflow tools, custom multimodal understanding tools, Docker sudo mode
|
|
376
|
+
- **Contributors**: @ncrispino @qidanrui @sonichi @Henry-811 and the MassGen team
|
|
377
|
+
|
|
378
|
+
## [0.1.2] - 2025-10-22
|
|
379
|
+
|
|
380
|
+
### Added
|
|
381
|
+
- **Claude 4.5 Haiku Support**: Added latest Claude Haiku model
|
|
382
|
+
- New model: `claude-haiku-4-5-20251001`
|
|
383
|
+
- Updated model registry in `backend/capabilities.py`
|
|
384
|
+
|
|
385
|
+
### Changed
|
|
386
|
+
- **Planning Mode Enhancement**: Intelligent automatic MCP tool blocking based on operation safety
|
|
387
|
+
- New `_analyze_question_irreversibility()` method in orchestrator analyzes questions to determine if MCP operations are reversible
|
|
388
|
+
- New `set_planning_mode_blocked_tools()`, `get_planning_mode_blocked_tools()`, and `is_mcp_tool_blocked()` methods in backend for selective tool control
|
|
389
|
+
- Dynamically enables/disables planning mode - read-only operations allowed during coordination, write operations blocked
|
|
390
|
+
- Planning mode supports different workspaces without conflicts
|
|
391
|
+
- Zero configuration required - works transparently
|
|
392
|
+
|
|
393
|
+
|
|
394
|
+
- **Claude Model Priority**: Reorganized model list in capabilities registry
|
|
395
|
+
- Changed default model from `claude-sonnet-4-20250514` to `claude-sonnet-4-5-20250929`
|
|
396
|
+
- Moved `claude-opus-4-1-20250805` higher in priority order
|
|
397
|
+
- Updated in both Claude and Claude Code backends
|
|
398
|
+
|
|
399
|
+
### Fixed
|
|
400
|
+
- **Grok Web Search**: Resolved web search functionality in Grok backend
|
|
401
|
+
- Fixed `extra_body` parameter handling for Grok's Live Search API
|
|
402
|
+
- New `_add_grok_search_params()` method for proper search parameter injection
|
|
403
|
+
- Enhanced `_stream_with_custom_and_mcp_tools()` to support Grok-specific parameters
|
|
404
|
+
- Improved error handling for conflicting search configurations
|
|
405
|
+
- Better integration with Chat Completions API params handler
|
|
406
|
+
|
|
407
|
+
### Documentations, Configurations and Resources
|
|
408
|
+
|
|
409
|
+
- **Intelligent Planning Mode Case Study**: Complete feature documentation
|
|
410
|
+
- `docs/source/examples/case_studies/INTELLIGENT_PLANNING_MODE.md`: Comprehensive guide for automatic planning mode
|
|
411
|
+
- Demonstrates automatic irreversibility detection
|
|
412
|
+
- Shows read/write operation classification
|
|
413
|
+
- Includes examples for Discord, filesystem, and Twitter operations
|
|
414
|
+
|
|
415
|
+
- **Configuration Updates**: Enhanced YAML examples
|
|
416
|
+
- Updated 5 planning mode configurations in `configs/tools/planning/` with selective blocking examples
|
|
417
|
+
- Updated `three_agents_default.yaml` with Grok-4-fast model
|
|
418
|
+
- Test coverage in `test_intelligent_planning_mode.py`
|
|
419
|
+
|
|
420
|
+
### Technical Details
|
|
421
|
+
- **Major Focus**: Intelligent planning mode with selective tool blocking, model support enhancements
|
|
422
|
+
- **Contributors**: @franklinnwren @ncrispino @qidanrui @sonichi @Henry-811 and the MassGen team
|
|
423
|
+
|
|
424
|
+
## [0.1.1] - 2025-10-20
|
|
425
|
+
|
|
426
|
+
### Added
|
|
427
|
+
- **Custom Tools System**: Complete framework for registering and executing user-defined Python functions as tools
|
|
428
|
+
- New `ToolManager` class in `massgen/tool/_manager.py` for centralized tool registration and lifecycle management
|
|
429
|
+
- Support for custom tools alongside MCP servers across all backends (Claude, Gemini, OpenAI Response API, Chat Completions, Claude Code)
|
|
430
|
+
- Three tool categories: builtin, mcp, and custom tools
|
|
431
|
+
- Automatic tool discovery with name prefixing and conflict resolution
|
|
432
|
+
- Tool validation with parameter schema enforcement
|
|
433
|
+
- Comprehensive test coverage in `test_custom_tools.py`
|
|
434
|
+
|
|
435
|
+
- **Voting Sensitivity & Answer Novelty Controls**: Three-tier system for multi-agent coordination
|
|
436
|
+
- New `voting_sensitivity` parameter with three levels: "lenient", "balanced", "strict"
|
|
437
|
+
- "Lenient": Accepts any reasonable answer
|
|
438
|
+
- "Balanced": Default middle ground
|
|
439
|
+
- "Strict": High-quality requirement
|
|
440
|
+
- Answer novelty detection with `_check_answer_novelty()` method in `orchestrator.py` preventing duplicate answers
|
|
441
|
+
- Configurable `max_new_answers_per_agent` limiting submissions per agent
|
|
442
|
+
- Token-based similarity thresholds (50-70% overlap) for duplicate detection
|
|
443
|
+
|
|
444
|
+
- **Interactive Configuration Builder**: Wizard for creating YAML configurations
|
|
445
|
+
- New `config_builder.py` module with step-by-step prompts
|
|
446
|
+
- Guided workflow for backend selection, model configuration, and API key setup
|
|
447
|
+
- Model-specific parameter handling (temperature, reasoning, verbosity)
|
|
448
|
+
- Tool enablement options (MCP servers, custom tools, builtin tools)
|
|
449
|
+
- Configuration validation and preview before saving
|
|
450
|
+
- Integration with `massgen --config-builder` command
|
|
451
|
+
|
|
452
|
+
- **Backend Capabilities Registry**: Centralized feature support tracking
|
|
453
|
+
- New `capabilities.py` module in `massgen/backend/` documenting backend capabilities
|
|
454
|
+
- Feature matrix showing MCP, custom tools, multimodal, and code execution support
|
|
455
|
+
- Runtime capability queries for backend selection
|
|
456
|
+
|
|
457
|
+
### Changed
|
|
458
|
+
- **Gemini Backend Architecture**: Major refactoring for improved maintainability
|
|
459
|
+
- Extracted MCP management into `gemini_mcp_manager.py`
|
|
460
|
+
- Extracted tracking logic into `gemini_trackers.py`
|
|
461
|
+
- Extracted utilities into `gemini_utils.py`
|
|
462
|
+
- New API params handler `_gemini_api_params_handler.py`
|
|
463
|
+
- Improved session management and tool execution flow
|
|
464
|
+
|
|
465
|
+
- **Python Version Requirements**: Updated minimum supported version
|
|
466
|
+
- Changed from Python 3.10+ to Python 3.11+ in `pyproject.toml`
|
|
467
|
+
- Ensures compatibility with modern type hints and async features
|
|
468
|
+
|
|
469
|
+
- **API Key Setup Command**: Simplified command name
|
|
470
|
+
- Renamed `massgen --setup-keys` to `massgen --setup` for brevity
|
|
471
|
+
- Maintained all functionality for interactive API key configuration
|
|
472
|
+
|
|
473
|
+
- **Configuration Examples**: Updated example commands
|
|
474
|
+
- Changed from `python -m massgen.cli` to simplified `massgen` command
|
|
475
|
+
- Updated 40+ configuration files for consistency
|
|
476
|
+
|
|
477
|
+
### Fixed
|
|
478
|
+
- **CLI Configuration Selection**: Resolved error with large config lists
|
|
479
|
+
- Fixed crash when using `massgen --select` with many available configurations
|
|
480
|
+
- Improved pagination and display of configuration options
|
|
481
|
+
- Enhanced error handling for configuration discovery
|
|
482
|
+
|
|
483
|
+
- **CLI Help System**: Improved documentation display
|
|
484
|
+
- Fixed help text formatting in `massgen --help`
|
|
485
|
+
- Better organization of command options and examples
|
|
486
|
+
|
|
487
|
+
### Documentations, Configurations and Resources
|
|
488
|
+
|
|
489
|
+
- **Case Study: Universal Code Execution via MCP**: Comprehensive v0.0.31 feature documentation
|
|
490
|
+
- `docs/source/examples/case_studies/universal-code-execution-mcp.md`
|
|
491
|
+
- Demonstrates pytest test creation and execution across backends
|
|
492
|
+
- Shows command validation, security layers, and result interpretation
|
|
493
|
+
|
|
494
|
+
- **Documentation Updates**: Enhanced existing documentation
|
|
495
|
+
- Added custom tools user guide and integration examples
|
|
496
|
+
- Reorganized case studies for improved navigation
|
|
497
|
+
- Updated configuration schema with new voting and tools parameters
|
|
498
|
+
|
|
499
|
+
- **Custom Tools Examples**: 40+ example configurations
|
|
500
|
+
- Basic single-tool setups for each backend
|
|
501
|
+
- Multi-agent configurations with custom tools
|
|
502
|
+
- Integration examples combining MCP and custom tools
|
|
503
|
+
- Located in `configs/tools/custom_tools/`
|
|
504
|
+
|
|
505
|
+
- **Voting Sensitivity Examples**: Configuration examples for voting controls
|
|
506
|
+
- `configs/voting/gemini_gpt_voting_sensitivity.yaml`
|
|
507
|
+
- Demonstrates lenient, balanced, and strict voting modes
|
|
508
|
+
- Shows answer novelty threshold configuration
|
|
509
|
+
|
|
510
|
+
### Technical Details
|
|
511
|
+
- **Major Focus**: Custom tools system, voting sensitivity controls, interactive config builder, and comprehensive documentation
|
|
512
|
+
- **Contributors**: @qidanrui @ncrispino @praneeth999 @sonichi @Eric-Shang @Henry-811 and the MassGen team
|
|
513
|
+
|
|
514
|
+
## [0.1.0] - 2025-10-17 (PyPI Release)
|
|
22
515
|
|
|
23
516
|
### Added
|
|
24
517
|
- **PyPI Package Release**: Official MassGen package available on PyPI for easy installation via pip
|