massgen 0.1.4__tar.gz → 0.1.6__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.6}/CHANGELOG.md +126 -13
- {massgen-0.1.4 → massgen-0.1.6}/CONTRIBUTING.md +97 -13
- {massgen-0.1.4 → massgen-0.1.6}/PKG-INFO +138 -77
- {massgen-0.1.4 → massgen-0.1.6}/README.md +116 -64
- {massgen-0.1.4 → massgen-0.1.6}/README_PYPI.md +131 -76
- {massgen-0.1.4 → massgen-0.1.6}/massgen/__init__.py +1 -1
- {massgen-0.1.4 → massgen-0.1.6}/massgen/backend/base_with_custom_tool_and_mcp.py +453 -23
- {massgen-0.1.4 → massgen-0.1.6}/massgen/backend/capabilities.py +39 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/backend/chat_completions.py +111 -197
- {massgen-0.1.4 → massgen-0.1.6}/massgen/backend/claude.py +210 -181
- massgen-0.1.6/massgen/backend/gemini.py +1450 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/backend/grok.py +3 -2
- {massgen-0.1.4 → massgen-0.1.6}/massgen/backend/response.py +160 -220
- massgen-0.1.6/massgen/chat_agent.py +784 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/cli.py +399 -25
- {massgen-0.1.4 → massgen-0.1.6}/massgen/config_builder.py +20 -54
- massgen-0.1.6/massgen/config_validator.py +931 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/README.md +95 -10
- massgen-0.1.6/massgen/configs/memory/gpt5mini_gemini_baseline_research_to_implementation.yaml +94 -0
- massgen-0.1.6/massgen/configs/memory/gpt5mini_gemini_context_window_management.yaml +187 -0
- massgen-0.1.6/massgen/configs/memory/gpt5mini_gemini_research_to_implementation.yaml +127 -0
- massgen-0.1.6/massgen/configs/memory/gpt5mini_high_reasoning_gemini.yaml +107 -0
- massgen-0.1.6/massgen/configs/memory/single_agent_compression_test.yaml +64 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/claude_code_custom_tool_with_mcp_example.yaml +1 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/claude_custom_tool_example_no_path.yaml +1 -1
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/claude_custom_tool_with_mcp_example.yaml +1 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/computer_use_browser_example.yaml +1 -1
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/computer_use_docker_example.yaml +1 -1
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/gemini_custom_tool_with_mcp_example.yaml +1 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/gpt5_nano_custom_tool_with_mcp_example.yaml +1 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/gpt_oss_custom_tool_with_mcp_example.yaml +1 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/grok3_mini_custom_tool_with_mcp_example.yaml +1 -0
- massgen-0.1.6/massgen/configs/tools/custom_tools/interop/ag2_and_langgraph_lesson_planner.yaml +65 -0
- massgen-0.1.6/massgen/configs/tools/custom_tools/interop/ag2_and_openai_assistant_lesson_planner.yaml +65 -0
- massgen-0.1.6/massgen/configs/tools/custom_tools/interop/ag2_lesson_planner_example.yaml +48 -0
- massgen-0.1.6/massgen/configs/tools/custom_tools/interop/agentscope_lesson_planner_example.yaml +48 -0
- massgen-0.1.6/massgen/configs/tools/custom_tools/interop/langgraph_lesson_planner_example.yaml +49 -0
- massgen-0.1.6/massgen/configs/tools/custom_tools/interop/openai_assistant_lesson_planner_example.yaml +50 -0
- massgen-0.1.6/massgen/configs/tools/custom_tools/interop/smolagent_lesson_planner_example.yaml +49 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/qwen_api_custom_tool_with_mcp_example.yaml +1 -0
- massgen-0.1.6/massgen/configs/tools/custom_tools/two_models_with_tools_example.yaml +44 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/formatter/_gemini_formatter.py +61 -15
- massgen-0.1.6/massgen/memory/README.md +277 -0
- massgen-0.1.6/massgen/memory/__init__.py +26 -0
- massgen-0.1.6/massgen/memory/_base.py +193 -0
- massgen-0.1.6/massgen/memory/_compression.py +237 -0
- massgen-0.1.6/massgen/memory/_context_monitor.py +211 -0
- massgen-0.1.6/massgen/memory/_conversation.py +255 -0
- massgen-0.1.6/massgen/memory/_fact_extraction_prompts.py +333 -0
- massgen-0.1.6/massgen/memory/_mem0_adapters.py +257 -0
- massgen-0.1.6/massgen/memory/_persistent.py +687 -0
- massgen-0.1.6/massgen/memory/docker-compose.qdrant.yml +36 -0
- massgen-0.1.6/massgen/memory/docs/DESIGN.md +388 -0
- massgen-0.1.6/massgen/memory/docs/QUICKSTART.md +409 -0
- massgen-0.1.6/massgen/memory/docs/SUMMARY.md +319 -0
- massgen-0.1.6/massgen/memory/docs/agent_use_memory.md +408 -0
- massgen-0.1.6/massgen/memory/docs/orchestrator_use_memory.md +586 -0
- massgen-0.1.6/massgen/memory/examples.py +237 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/orchestrator.py +207 -7
- massgen-0.1.6/massgen/tests/memory/test_agent_compression.py +174 -0
- massgen-0.1.6/massgen/tests/memory/test_context_window_management.py +286 -0
- massgen-0.1.6/massgen/tests/memory/test_force_compression.py +154 -0
- massgen-0.1.6/massgen/tests/memory/test_simple_compression.py +147 -0
- massgen-0.1.6/massgen/tests/test_ag2_lesson_planner.py +223 -0
- massgen-0.1.6/massgen/tests/test_agent_memory.py +534 -0
- massgen-0.1.6/massgen/tests/test_config_validator.py +1156 -0
- massgen-0.1.6/massgen/tests/test_conversation_memory.py +382 -0
- massgen-0.1.6/massgen/tests/test_langgraph_lesson_planner.py +223 -0
- massgen-0.1.6/massgen/tests/test_orchestrator_memory.py +620 -0
- massgen-0.1.6/massgen/tests/test_persistent_memory.py +435 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/token_manager/token_manager.py +6 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tool/__init__.py +2 -9
- massgen-0.1.6/massgen/tool/_decorators.py +52 -0
- massgen-0.1.6/massgen/tool/_extraframework_agents/ag2_lesson_planner_tool.py +251 -0
- massgen-0.1.6/massgen/tool/_extraframework_agents/agentscope_lesson_planner_tool.py +303 -0
- massgen-0.1.6/massgen/tool/_extraframework_agents/langgraph_lesson_planner_tool.py +275 -0
- massgen-0.1.6/massgen/tool/_extraframework_agents/openai_assistant_lesson_planner_tool.py +247 -0
- massgen-0.1.6/massgen/tool/_extraframework_agents/smolagent_lesson_planner_tool.py +180 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tool/_manager.py +102 -16
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tool/_registered_tool.py +3 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tool/_result.py +3 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen.egg-info/PKG-INFO +138 -77
- {massgen-0.1.4 → massgen-0.1.6}/massgen.egg-info/SOURCES.txt +47 -2
- {massgen-0.1.4 → massgen-0.1.6}/massgen.egg-info/requires.txt +6 -0
- {massgen-0.1.4 → massgen-0.1.6}/pyproject.toml +7 -0
- massgen-0.1.4/massgen/backend/gemini.py +0 -1994
- massgen-0.1.4/massgen/backend/gemini_mcp_manager.py +0 -545
- massgen-0.1.4/massgen/backend/gemini_trackers.py +0 -344
- massgen-0.1.4/massgen/chat_agent.py +0 -464
- {massgen-0.1.4 → massgen-0.1.6}/.env.example +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/LICENSE +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/MANIFEST.in +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/assets/MassGen-v1.gif +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/assets/cos.png +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/assets/favicon.ico +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/assets/logo-dark.png +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/assets/logo.png +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/assets/massgen-demo-light.gif +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/assets/massgen-demo.gif +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/assets/release_related_figures/context_path.png +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/assets/release_related_figures/copy_file.png +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/assets/thumbnail.png +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/assets/thumbnail_old.png +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/adapters/__init__.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/adapters/ag2_adapter.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/adapters/base.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/adapters/tests/__init__.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/adapters/tests/test_ag2_adapter.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/adapters/tests/test_agent_adapter.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/adapters/utils/__init__.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/adapters/utils/ag2_utils.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/adapters/utils/tests/__init__.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/adapters/utils/tests/test_ag2_utils.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/agent_config.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/api_params_handler/__init__.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/api_params_handler/_api_params_handler_base.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/api_params_handler/_chat_completions_api_params_handler.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/api_params_handler/_claude_api_params_handler.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/api_params_handler/_gemini_api_params_handler.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/api_params_handler/_response_api_params_handler.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/backend/__init__.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/backend/azure_openai.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/backend/base.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/backend/claude_code.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/backend/cli_base.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/backend/docs/BACKEND_ARCHITECTURE.md +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/backend/docs/CLAUDE_API_RESEARCH.md +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/backend/docs/Function calling openai responses.md +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/backend/docs/GEMINI_API_DOCUMENTATION.md +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/backend/docs/Gemini MCP Integration Analysis.md +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/backend/docs/MCP_IMPLEMENTATION_CLAUDE_BACKEND.md +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/backend/docs/MCP_INTEGRATION_RESPONSE_BACKEND.md +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/backend/docs/OPENAI_GPT5_MODELS.md +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/backend/docs/OPENAI_RESPONSE_API_TOOL_CALLS.md +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/backend/docs/OPENAI_response_streaming.md +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/backend/docs/inference_backend.md +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/backend/docs/permissions_and_context_files.md +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/backend/external.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/backend/gemini_utils.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/backend/inference.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/backend/lmstudio.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/BACKEND_CONFIGURATION.md +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/ag2/ag2_case_study.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/ag2/ag2_coder.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/ag2/ag2_coder_case_study.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/ag2/ag2_gemini.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/ag2/ag2_groupchat.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/ag2/ag2_groupchat_gpt.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/ag2/ag2_single_agent.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/basic/multi/fast_timeout_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/basic/multi/gemini_4o_claude.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/basic/multi/gemini_gpt5nano_claude.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/basic/multi/geminicode_4o_claude.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/basic/multi/geminicode_gpt5nano_claude.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/basic/multi/glm_gemini_claude.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/basic/multi/gpt4o_audio_generation.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/basic/multi/gpt4o_image_generation.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/basic/multi/gpt5nano_glm_qwen.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/basic/multi/gpt5nano_image_understanding.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/basic/multi/three_agents_default.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/basic/multi/three_agents_opensource.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/basic/multi/three_agents_vllm.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/basic/multi/two_agents_gemini.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/basic/multi/two_agents_gpt5.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/basic/multi/two_agents_opensource_lmstudio.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/basic/multi/two_qwen_vllm_sglang.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/basic/single/single_agent.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/basic/single/single_flash2.5.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/basic/single/single_gemini2.5pro.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/basic/single/single_gpt4o_audio_generation.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/basic/single/single_gpt4o_image_generation.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/basic/single/single_gpt4o_video_generation.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/basic/single/single_gpt5nano.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/basic/single/single_gpt5nano_file_search.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/basic/single/single_gpt5nano_image_understanding.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/basic/single/single_gptoss120b.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/basic/single/single_openrouter_audio_understanding.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/basic/single/single_qwen_video_understanding.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/debug/code_execution/command_filtering_blacklist.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/debug/code_execution/command_filtering_whitelist.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/debug/code_execution/docker_verification.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/debug/restart_test_controlled.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/debug/restart_test_controlled_filesystem.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/debug/skip_coordination_test.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/debug/test_sdk_migration.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/docs/DISCORD_MCP_SETUP.md +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/docs/TWITTER_MCP_ENESCINAR_SETUP.md +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/providers/azure/azure_openai_multi.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/providers/azure/azure_openai_single.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/providers/claude/claude.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/providers/gemini/gemini_gpt5nano.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/providers/local/lmstudio.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/providers/openai/gpt5.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/providers/openai/gpt5_nano.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/providers/others/grok_single_agent.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/providers/others/zai_coding_team.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/providers/others/zai_glm45.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/teams/creative/creative_team.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/teams/creative/travel_planning.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/teams/research/news_analysis.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/teams/research/research_team.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/teams/research/technical_analysis.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/code-execution/basic_command_execution.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/code-execution/code_execution_use_case_simple.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/code-execution/docker_claude_code.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/code-execution/docker_multi_agent.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/code-execution/docker_simple.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/code-execution/docker_with_resource_limits.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/code-execution/docker_with_sudo.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/code-execution/multi_agent_playwright_automation.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/claude_code_custom_tool_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/claude_code_custom_tool_example_no_path.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/claude_code_custom_tool_with_wrong_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/claude_code_wrong_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/claude_custom_tool_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/claude_custom_tool_with_wrong_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/claude_wrong_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/computer_use_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/crawl4ai_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/gemini_custom_tool_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/gemini_custom_tool_example_no_path.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/gemini_custom_tool_with_wrong_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/gemini_wrong_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/github_issue_market_analysis.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/gpt5_nano_custom_tool_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/gpt5_nano_custom_tool_example_no_path.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/gpt5_nano_custom_tool_with_wrong_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/gpt5_nano_wrong_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/gpt_oss_custom_tool_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/gpt_oss_custom_tool_example_no_path.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/gpt_oss_custom_tool_with_wrong_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/gpt_oss_wrong_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/grok3_mini_custom_tool_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/grok3_mini_custom_tool_example_no_path.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/grok3_mini_custom_tool_with_wrong_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/grok3_mini_wrong_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/multimodal_tools/text_to_file_generation_multi.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/multimodal_tools/text_to_file_generation_single.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/multimodal_tools/text_to_image_generation_multi.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/multimodal_tools/text_to_image_generation_single.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/multimodal_tools/text_to_speech_generation_multi.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/multimodal_tools/text_to_speech_generation_single.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/multimodal_tools/text_to_video_generation_multi.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/multimodal_tools/text_to_video_generation_single.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/multimodal_tools/understand_audio.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/multimodal_tools/understand_file.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/multimodal_tools/understand_image.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/multimodal_tools/understand_video.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/multimodal_tools/youtube_video_analysis.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/qwen_api_custom_tool_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/qwen_api_custom_tool_example_no_path.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/qwen_api_custom_tool_with_wrong_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/qwen_api_wrong_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/qwen_local_custom_tool_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/qwen_local_custom_tool_example_no_path.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/qwen_local_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/qwen_local_custom_tool_with_wrong_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/custom_tools/qwen_local_wrong_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/filesystem/cc_gpt5_gemini_filesystem.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/filesystem/claude_code_context_sharing.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/filesystem/claude_code_flash2.5.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/filesystem/claude_code_flash2.5_gptoss.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/filesystem/claude_code_gpt5nano.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/filesystem/claude_code_single.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/filesystem/fs_permissions_test.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/filesystem/gemini_gemini_workspace_cleanup.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/filesystem/gemini_gpt5_filesystem_casestudy.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/filesystem/gemini_gpt5nano_file_context_path.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/filesystem/gemini_gpt5nano_protected_paths.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/filesystem/gpt5mini_cc_fs_context_path.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/filesystem/grok4_gpt5_gemini_filesystem.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/filesystem/multiturn/grok4_gpt5_claude_code_filesystem_multiturn.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/filesystem/multiturn/grok4_gpt5_gemini_filesystem_multiturn.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/filesystem/multiturn/two_claude_code_filesystem_multiturn.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/filesystem/multiturn/two_gemini_flash_filesystem_multiturn.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/mcp/claude_code_discord_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/mcp/claude_code_simple_mcp.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/mcp/claude_code_twitter_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/mcp/claude_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/mcp/claude_mcp_test.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/mcp/five_agents_travel_mcp_test.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/mcp/five_agents_weather_mcp_test.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/mcp/gemini_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/mcp/gemini_mcp_filesystem_test.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/mcp/gemini_mcp_filesystem_test_sharing.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/mcp/gemini_mcp_filesystem_test_single_agent.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/mcp/gemini_mcp_filesystem_test_with_claude_code.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/mcp/gemini_mcp_test.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/mcp/gemini_notion_mcp.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/mcp/gpt5_nano_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/mcp/gpt5_nano_mcp_test.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/mcp/gpt5mini_claude_code_discord_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/mcp/gpt_oss_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/mcp/gpt_oss_mcp_test.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/mcp/grok3_mini_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/mcp/grok3_mini_mcp_test.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/mcp/multimcp_gemini.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/mcp/qwen_api_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/mcp/qwen_api_mcp_test.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/mcp/qwen_local_mcp_example.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/mcp/qwen_local_mcp_test.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/planning/five_agents_discord_mcp_planning_mode.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/planning/five_agents_filesystem_mcp_planning_mode.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/planning/five_agents_notion_mcp_planning_mode.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/planning/five_agents_twitter_mcp_planning_mode.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/planning/gpt5_mini_case_study_mcp_planning_mode.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/web-search/claude_streamable_http_test.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/web-search/gemini_streamable_http_test.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/web-search/gpt5_mini_streamable_http_test.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/web-search/gpt_oss_streamable_http_test.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/web-search/grok3_mini_streamable_http_test.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/web-search/qwen_api_streamable_http_test.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/tools/web-search/qwen_local_streamable_http_test.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/configs/voting/gemini_gpt_voting_sensitivity.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/coordination_tracker.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/docker/README.md +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/filesystem_manager/__init__.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/filesystem_manager/_base.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/filesystem_manager/_code_execution_server.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/filesystem_manager/_docker_manager.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/filesystem_manager/_file_operation_tracker.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/filesystem_manager/_filesystem_manager.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/filesystem_manager/_path_permission_manager.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/filesystem_manager/_workspace_tools_server.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/formatter/__init__.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/formatter/_chat_completions_formatter.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/formatter/_claude_formatter.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/formatter/_formatter_base.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/formatter/_response_formatter.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/frontend/__init__.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/frontend/coordination_ui.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/frontend/displays/__init__.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/frontend/displays/base_display.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/frontend/displays/create_coordination_table.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/frontend/displays/rich_terminal_display.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/frontend/displays/simple_display.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/frontend/displays/terminal_display.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/logger_config.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/mcp_tools/README.md +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/mcp_tools/__init__.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/mcp_tools/backend_utils.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/mcp_tools/circuit_breaker.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/mcp_tools/client.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/mcp_tools/config_validator.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/mcp_tools/docs/circuit_breaker.md +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/mcp_tools/docs/client.md +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/mcp_tools/docs/config_validator.md +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/mcp_tools/docs/exceptions.md +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/mcp_tools/docs/security.md +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/mcp_tools/exceptions.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/mcp_tools/hooks.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/mcp_tools/security.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/message_templates.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/stream_chunk/__init__.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/stream_chunk/base.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/stream_chunk/multimodal.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/stream_chunk/text.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tests/__init__.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tests/custom_tools_example.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tests/mcp_test_server.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tests/multi_turn_conversation_design.md +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tests/multiturn_llm_input_analysis.md +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tests/test_azure_openai_backend.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tests/test_backend_capabilities.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tests/test_backend_event_loop_all.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tests/test_binary_file_blocking.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tests/test_case_studies.md +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tests/test_chat_completions_refactor.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tests/test_claude_backend.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tests/test_claude_code.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tests/test_claude_code_context_sharing.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tests/test_claude_code_orchestrator.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tests/test_cli_backends.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tests/test_code_execution.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tests/test_config_builder.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tests/test_custom_tools.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tests/test_external_agent_backend.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tests/test_final_presentation_fallback.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tests/test_gemini_planning_mode.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tests/test_grok_backend.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tests/test_http_mcp_server.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tests/test_integration_simple.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tests/test_intelligent_planning_mode.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tests/test_mcp_blocking.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tests/test_message_context_building.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tests/test_multimodal_size_limits.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tests/test_orchestration_restart.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tests/test_orchestrator_final_presentation.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tests/test_path_permission_manager.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tests/test_rich_terminal_display.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tests/test_timeout.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tests/test_tools.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tests/test_v3_3agents.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tests/test_v3_simple.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tests/test_v3_three_agents.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tests/test_v3_two_agents.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/token_manager/__init__.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tool/README.md +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tool/_async_helpers.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tool/_basic/__init__.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tool/_basic/_two_num_tool.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tool/_code_executors/__init__.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tool/_code_executors/_python_executor.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tool/_code_executors/_shell_executor.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tool/_exceptions.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tool/_file_handlers/__init__.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tool/_file_handlers/_file_operations.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tool/_multimodal_tools/image_to_image_generation.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tool/_multimodal_tools/text_to_file_generation.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tool/_multimodal_tools/text_to_image_generation.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tool/_multimodal_tools/text_to_speech_continue_generation.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tool/_multimodal_tools/text_to_speech_transcription_generation.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tool/_multimodal_tools/text_to_video_generation.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tool/_multimodal_tools/understand_audio.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tool/_multimodal_tools/understand_file.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tool/_multimodal_tools/understand_image.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tool/_multimodal_tools/understand_video.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tool/_self_evolution/_github_issue_analyzer.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tool/_web_tools/crawl4ai_tool.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tool/docs/builtin_tools.md +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tool/docs/exceptions.md +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tool/docs/execution_results.md +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tool/docs/manager.md +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tool/docs/multimodal_tools.md +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tool/docs/workflow_toolkits.md +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tool/workflow_toolkits/__init__.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tool/workflow_toolkits/base.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tool/workflow_toolkits/new_answer.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tool/workflow_toolkits/post_evaluation.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/tool/workflow_toolkits/vote.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/utils.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/v1/README.md +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/v1/__init__.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/v1/agent.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/v1/agents.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/v1/backends/gemini.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/v1/backends/grok.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/v1/backends/oai.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/v1/cli.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/v1/config.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/v1/examples/fast-4o-mini-config.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/v1/examples/fast_config.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/v1/examples/production.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/v1/examples/single_agent.yaml +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/v1/logging.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/v1/main.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/v1/orchestrator.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/v1/streaming_display.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/v1/tools.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/v1/types.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen/v1/utils.py +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen.egg-info/dependency_links.txt +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen.egg-info/entry_points.txt +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen.egg-info/not-zip-safe +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/massgen.egg-info/top_level.txt +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/requirements.txt +0 -0
- {massgen-0.1.4 → massgen-0.1.6}/setup.cfg +0 -0
|
@@ -7,16 +7,137 @@ 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.6 (November 2025)** - Framework Interoperability & Backend Refactoring
|
|
11
|
+
External agent framework integration as tools (AG2, LangGraph, AgentScope, OpenAI Assistants, SmoLAgent), unified tool execution architecture, Gemini backend simplification, and comprehensive configuration validation.
|
|
12
|
+
|
|
13
|
+
**v0.1.5 (October 2025)** - Memory System
|
|
14
|
+
Long-term memory with semantic retrieval via mem0, automatic context compression, and memory sharing for multi-turn conversations.
|
|
15
|
+
|
|
10
16
|
**v0.1.4 (October 2025)** - Multimodal Generation Tools & Binary File Protection
|
|
11
17
|
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
18
|
|
|
13
|
-
|
|
14
|
-
Post-evaluation workflow with submit/restart capabilities, custom multimodal understanding tools, Docker sudo mode, and enhanced config builder.
|
|
19
|
+
---
|
|
15
20
|
|
|
16
|
-
|
|
17
|
-
Automatic irreversibility analysis for MCP tools, selective tool blocking, Claude 4.5 Haiku support, and Grok web search improvements.
|
|
21
|
+
## [0.1.6] - 2025-10-31
|
|
18
22
|
|
|
19
|
-
|
|
23
|
+
### Added
|
|
24
|
+
- **Framework Interoperability**: External agent framework integration as MassGen custom tools
|
|
25
|
+
- New `massgen/tool/_extraframework_agents/` module with 5 framework integrations
|
|
26
|
+
- **AG2 Lesson Planner Tool**: Nested chat functionality wrapped as custom tool for multi-agent lesson planning (supports streaming)
|
|
27
|
+
- **LangGraph Lesson Planner Tool**: LangGraph graph-based workflows integrated as tool
|
|
28
|
+
- **AgentScope Lesson Planner Tool**: AgentScope agent system wrapped for lesson creation
|
|
29
|
+
- **OpenAI Assistants Lesson Planner Tool**: OpenAI Assistants API integrated as tool
|
|
30
|
+
- **SmoLAgent Lesson Planner Tool**: HuggingFace SmoLAgent integration for lesson planning
|
|
31
|
+
- Enables MassGen agents to delegate tasks to specialized external frameworks
|
|
32
|
+
- Each framework runs autonomously and returns results to MassGen orchestrator
|
|
33
|
+
- Note: Only AG2 currently supports streaming; other frameworks return complete results
|
|
34
|
+
|
|
35
|
+
- **Configuration Validator**: Comprehensive YAML configuration validation system
|
|
36
|
+
- New `ConfigValidator` class in `massgen/config_validator.py` for pre-flight validation
|
|
37
|
+
- Memory configuration validation with detailed error messages
|
|
38
|
+
- Pre-commit hook integration for automatic config validation
|
|
39
|
+
- Comprehensive test suite in `massgen/tests/test_config_validator.py`
|
|
40
|
+
- Validates agent configurations, backend parameters, tool settings, and memory options
|
|
41
|
+
- Provides actionable error messages with suggestions for common mistakes
|
|
42
|
+
|
|
43
|
+
### Changed
|
|
44
|
+
- **Backend Architecture Refactoring**: Unified tool execution with ToolExecutionConfig
|
|
45
|
+
- New `ToolExecutionConfig` dataclass in `base_with_custom_tool_and_mcp.py` for standardized tool handling
|
|
46
|
+
- Refactored `ResponseBackend` with unified tool execution flow
|
|
47
|
+
- Refactored `ChatCompletionsBackend` with unified tool execution flow
|
|
48
|
+
- Refactored `ClaudeBackend` with unified tool execution methods
|
|
49
|
+
- Eliminates duplicate code paths between custom tools and MCP tools
|
|
50
|
+
- Consistent error handling and status reporting across all tool types
|
|
51
|
+
- Improved maintainability and extensibility for future tool systems
|
|
52
|
+
|
|
53
|
+
- **Gemini Backend Simplification**: Major architectural cleanup and consolidation
|
|
54
|
+
- Removed `gemini_mcp_manager.py` module
|
|
55
|
+
- Removed `gemini_trackers.py` module
|
|
56
|
+
- Refactored `gemini.py` to use manual tool execution via base class
|
|
57
|
+
- Streamlined tool handling and cleanup logic
|
|
58
|
+
- Removed continuation logic and duplicate code
|
|
59
|
+
- Updated `_gemini_formatter.py` for simplified tool conversion
|
|
60
|
+
- Net reduction of 1,598 lines through consolidation
|
|
61
|
+
- Improved maintainability and performance
|
|
62
|
+
|
|
63
|
+
- **Custom Tool System Enhancement**: Improved tool management and execution
|
|
64
|
+
- Enhanced `ToolManager` with category management capabilities
|
|
65
|
+
- Improved tool registration and validation system
|
|
66
|
+
- Enhanced tool result handling and error reporting
|
|
67
|
+
- Better support for async tool execution
|
|
68
|
+
- Improved tool schema generation for LLM consumption
|
|
69
|
+
|
|
70
|
+
### Documentations, Configurations and Resources
|
|
71
|
+
|
|
72
|
+
- **Framework Interoperability Examples**: 8 new configuration files demonstrating external framework integration
|
|
73
|
+
- **AG2 Examples**: `ag2_lesson_planner_example.yaml`, `ag2_and_langgraph_lesson_planner.yaml`, `ag2_and_openai_assistant_lesson_planner.yaml`
|
|
74
|
+
- **LangGraph Examples**: `langgraph_lesson_planner_example.yaml`
|
|
75
|
+
- **AgentScope Examples**: `agentscope_lesson_planner_example.yaml`
|
|
76
|
+
- **OpenAI Assistants Examples**: `openai_assistant_lesson_planner_example.yaml`
|
|
77
|
+
- **SmoLAgent Examples**: `smolagent_lesson_planner_example.yaml`
|
|
78
|
+
- **Multi-Framework Examples**: `two_models_with_tools_example.yaml`
|
|
79
|
+
|
|
80
|
+
### Technical Details
|
|
81
|
+
- **Major Focus**: Framework interoperability for external agent integration, unified tool execution architecture, Gemini backend simplification, and configuration validation system
|
|
82
|
+
- **Contributors**: @Eric-Shang @praneeth999 @ncrispino @qidanrui @sonichi @Henry-811 and the MassGen team
|
|
83
|
+
|
|
84
|
+
## [0.1.5] - 2025-10-29
|
|
85
|
+
|
|
86
|
+
### Added
|
|
87
|
+
- **Memory System**: Complete long-term memory implementation with semantic retrieval
|
|
88
|
+
- New `massgen/memory/` module with comprehensive memory management
|
|
89
|
+
- **PersistentMemory** via mem0 integration for semantic fact storage and retrieval
|
|
90
|
+
- **ConversationMemory** for short-term verbatim message tracking
|
|
91
|
+
- **Automatic Context Compression** when approaching token limits
|
|
92
|
+
- **Memory Sharing for Multi-Turn Conversations** with turn-aware filtering to prevent temporal leakage
|
|
93
|
+
- **Session Management** for memory isolation and continuation across runs
|
|
94
|
+
- **Qdrant Vector Database Integration** for efficient semantic search (server and local modes)
|
|
95
|
+
- **Context Monitoring** with real-time token usage tracking
|
|
96
|
+
- Fact extraction prompts with customizable LLM and embedding providers
|
|
97
|
+
- Supports OpenAI, Anthropic, Groq, and other mem0-compatible providers
|
|
98
|
+
|
|
99
|
+
- **Memory Configuration Support**: New YAML configuration options
|
|
100
|
+
- Memory enable/disable toggle at global and per-agent levels
|
|
101
|
+
- Configurable compression thresholds (trigger_threshold, target_ratio)
|
|
102
|
+
- Retrieval settings (limit, exclude_recent for smart retrieval)
|
|
103
|
+
- Session naming for continuation and cross-session memory
|
|
104
|
+
- LLM and embedding provider configuration for mem0
|
|
105
|
+
- Qdrant connection settings (server/local mode, host, port, path)
|
|
106
|
+
|
|
107
|
+
### Changed
|
|
108
|
+
- **Chat Agent Enhancement**: Memory integration for agent workflows
|
|
109
|
+
- Memory recording after agent responses (conversation and persistent)
|
|
110
|
+
- Memory retrieval on restart/reset for context restoration
|
|
111
|
+
- Integration with compression and context monitoring modules
|
|
112
|
+
|
|
113
|
+
- **Orchestrator Enhancement**: Memory coordination for multi-agent workflows
|
|
114
|
+
- Memory initialization and management across agent lifecycles
|
|
115
|
+
- Memory cleanup on orchestrator shutdown
|
|
116
|
+
|
|
117
|
+
### Documentations, Configurations and Resources
|
|
118
|
+
|
|
119
|
+
- **Memory Documentation**: Comprehensive memory system user guide
|
|
120
|
+
- New `docs/source/user_guide/memory.rst`
|
|
121
|
+
- Complete usage guide with quick start, configuration reference, and examples
|
|
122
|
+
- Design decisions documentation explaining architecture choices
|
|
123
|
+
- Troubleshooting guide for common memory issues
|
|
124
|
+
- Monitoring and debugging instructions with log examples
|
|
125
|
+
- API reference for PersistentMemory, ConversationMemory, and ContextMonitor
|
|
126
|
+
|
|
127
|
+
- **Configuration Examples**: 5 new memory-focused YAML configurations
|
|
128
|
+
- `gpt5mini_gemini_context_window_management.yaml`: Multi-agent with context compression
|
|
129
|
+
- `gpt5mini_gemini_research_to_implementation.yaml`: Research to implementation workflow
|
|
130
|
+
- `gpt5mini_high_reasoning_gemini.yaml`: High reasoning agents with memory
|
|
131
|
+
- `gpt5mini_gemini_baseline_research_to_implementation.yaml`: Baseline research workflow
|
|
132
|
+
- `single_agent_compression_test.yaml`: Testing compression behavior
|
|
133
|
+
|
|
134
|
+
- **Infrastructure and Testing**:
|
|
135
|
+
- Memory test suite with 4 test files in `massgen/tests/memory/`
|
|
136
|
+
- Additional memory tests: `test_agent_memory.py`, `test_conversation_memory.py`, `test_orchestrator_memory.py`, `test_persistent_memory.py`
|
|
137
|
+
|
|
138
|
+
### Technical Details
|
|
139
|
+
- **Major Focus**: Long-term memory system with semantic retrieval and memory sharing for multi-turn conversations
|
|
140
|
+
- **Contributors**: @ncrispino @qidanrui @kitrakrev @sonichi @Henry-811 and the MassGen team
|
|
20
141
|
|
|
21
142
|
## [0.1.4] - 2025-10-27
|
|
22
143
|
|
|
@@ -61,14 +182,6 @@ Automatic irreversibility analysis for MCP tools, selective tool blocking, Claud
|
|
|
61
182
|
- Updated `docs/source/user_guide/protected_paths.rst` with binary file protection section
|
|
62
183
|
- Documents 40+ protected binary file types and specialized tool suggestions
|
|
63
184
|
|
|
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
185
|
- **Configuration Examples**: 9 new YAML configuration files
|
|
73
186
|
- **Generation Tools**: 8 multimodal generation configurations
|
|
74
187
|
- `text_to_image_generation_single.yaml` and `text_to_image_generation_multi.yaml`
|
|
@@ -95,9 +95,85 @@ To add support for a new model provider:
|
|
|
95
95
|
2. Inherit from the base backend class in `massgen/backend/base.py`
|
|
96
96
|
3. Implement the required methods for message processing and completion parsing
|
|
97
97
|
4. Add the model mapping in `massgen/utils.py`
|
|
98
|
-
5.
|
|
99
|
-
6.
|
|
100
|
-
7.
|
|
98
|
+
5. **Add backend capabilities to `massgen/backend/capabilities.py`** - Required for config validation
|
|
99
|
+
6. Update configuration templates in `massgen/configs/`
|
|
100
|
+
7. Add tests in `massgen/tests/`
|
|
101
|
+
8. **Update the config validator** - See [Updating the Config Validator](#updating-the-config-validator) below
|
|
102
|
+
9. Update documentation
|
|
103
|
+
|
|
104
|
+
### Updating the Config Validator
|
|
105
|
+
|
|
106
|
+
**⚠️ IMPORTANT**: Whenever you add new configuration options, backends, or change the config schema, you MUST update the config validator.
|
|
107
|
+
|
|
108
|
+
The config validator (`massgen/config_validator.py`) ensures users get helpful error messages when they make configuration mistakes. When you add a new feature:
|
|
109
|
+
|
|
110
|
+
**1. Add to Backend Capabilities** (for new backends)
|
|
111
|
+
```python
|
|
112
|
+
# In massgen/backend/capabilities.py
|
|
113
|
+
BACKEND_CAPABILITIES = {
|
|
114
|
+
# ...
|
|
115
|
+
"your_backend": BackendCapabilities(
|
|
116
|
+
backend_type="your_backend",
|
|
117
|
+
provider_name="Your Backend Name",
|
|
118
|
+
supported_capabilities={"mcp", "web_search", ...},
|
|
119
|
+
builtin_tools=[...],
|
|
120
|
+
filesystem_support="mcp",
|
|
121
|
+
models=["model-1", "model-2"],
|
|
122
|
+
default_model="model-1",
|
|
123
|
+
env_var="YOUR_API_KEY",
|
|
124
|
+
notes="Description of your backend",
|
|
125
|
+
),
|
|
126
|
+
}
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
**2. Update Validator Enums** (for new config options)
|
|
130
|
+
```python
|
|
131
|
+
# In massgen/config_validator.py
|
|
132
|
+
# If adding new valid values for existing fields:
|
|
133
|
+
VALID_PERMISSION_MODES = {"default", "acceptEdits", "bypassPermissions", "plan"}
|
|
134
|
+
VALID_DISPLAY_TYPES = {"rich_terminal", "simple"}
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
**3. Add Validation Logic** (for new config fields)
|
|
138
|
+
```python
|
|
139
|
+
# In massgen/config_validator.py
|
|
140
|
+
# Add validation in the appropriate _validate_* method
|
|
141
|
+
def _validate_your_feature(self, config, result):
|
|
142
|
+
if "your_field" in config:
|
|
143
|
+
# Validate type
|
|
144
|
+
# Validate values
|
|
145
|
+
# Add helpful error messages
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
**4. Add Tests for Common Mistakes**
|
|
149
|
+
```python
|
|
150
|
+
# In massgen/tests/test_config_validator.py
|
|
151
|
+
def test_invalid_your_feature(self):
|
|
152
|
+
"""Test invalid your_feature value."""
|
|
153
|
+
config = {
|
|
154
|
+
"your_field": "invalid_value",
|
|
155
|
+
# ...
|
|
156
|
+
}
|
|
157
|
+
validator = ConfigValidator()
|
|
158
|
+
result = validator.validate_config(config)
|
|
159
|
+
assert not result.is_valid()
|
|
160
|
+
assert any("your helpful error message" in error.message for error in result.errors)
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
**5. Test Validation**
|
|
164
|
+
```bash
|
|
165
|
+
# Validate all example configs still pass
|
|
166
|
+
uv run python scripts/validate_all_configs.py
|
|
167
|
+
|
|
168
|
+
# Run validator tests
|
|
169
|
+
uv run pytest massgen/tests/test_config_validator.py -v
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
**Why This Matters:**
|
|
173
|
+
- Users get clear, actionable error messages instead of cryptic failures
|
|
174
|
+
- Prevents common configuration mistakes
|
|
175
|
+
- Makes the framework more accessible to new users
|
|
176
|
+
- Pre-commit hooks automatically validate configs in `massgen/configs/`
|
|
101
177
|
|
|
102
178
|
## 🔒 API Stability & Versioning
|
|
103
179
|
|
|
@@ -204,10 +280,12 @@ orchestrator:
|
|
|
204
280
|
snapshot_storage: "snapshots"
|
|
205
281
|
agent_temporary_workspace: "temp_workspaces"
|
|
206
282
|
|
|
207
|
-
# Memory configuration (
|
|
283
|
+
# Memory configuration (implemented in v0.1.5 - see docs/source/user_guide/memory.rst)
|
|
208
284
|
memory:
|
|
209
285
|
enabled: true
|
|
210
|
-
|
|
286
|
+
persistent_memory:
|
|
287
|
+
enabled: true
|
|
288
|
+
vector_store: "qdrant"
|
|
211
289
|
```
|
|
212
290
|
|
|
213
291
|
## 📋 Prerequisites
|
|
@@ -267,7 +345,7 @@ Create a `.env` file in the `massgen` directory as described in [README](README.
|
|
|
267
345
|
|
|
268
346
|
## 🔧 Development Workflow
|
|
269
347
|
|
|
270
|
-
> **Important**: Our next version is v0.1.
|
|
348
|
+
> **Important**: Our next version is v0.1.7. If you want to contribute, please contribute to the `dev/v0.1.7` branch (or `main` if dev/v0.1.7 doesn't exist yet).
|
|
271
349
|
|
|
272
350
|
### 1. Create Feature Branch
|
|
273
351
|
|
|
@@ -275,8 +353,8 @@ Create a `.env` file in the `massgen` directory as described in [README](README.
|
|
|
275
353
|
# Fetch latest changes from upstream
|
|
276
354
|
git fetch upstream
|
|
277
355
|
|
|
278
|
-
# Create feature branch from dev/v0.1.
|
|
279
|
-
git checkout -b feature/your-feature-name upstream/dev/v0.1.
|
|
356
|
+
# Create feature branch from dev/v0.1.7 (or main if dev branch doesn't exist yet)
|
|
357
|
+
git checkout -b feature/your-feature-name upstream/dev/v0.1.7
|
|
280
358
|
```
|
|
281
359
|
|
|
282
360
|
### 2. Make Your Changes
|
|
@@ -373,7 +451,7 @@ git push origin feature/your-feature-name
|
|
|
373
451
|
```
|
|
374
452
|
|
|
375
453
|
Then create a pull request on GitHub:
|
|
376
|
-
- Base branch: `dev/v0.1.
|
|
454
|
+
- Base branch: `dev/v0.1.7` (or `main` if dev branch doesn't exist yet)
|
|
377
455
|
- Compare branch: `feature/your-feature-name`
|
|
378
456
|
- Add clear description of changes
|
|
379
457
|
- Link any related issues
|
|
@@ -479,7 +557,7 @@ Have a significant feature idea not covered by existing tracks?
|
|
|
479
557
|
- [ ] Tests pass locally
|
|
480
558
|
- [ ] Documentation is updated if needed
|
|
481
559
|
- [ ] Commit messages follow convention
|
|
482
|
-
- [ ] PR targets `dev/v0.1.
|
|
560
|
+
- [ ] PR targets `dev/v0.1.7` branch (or `main` if dev branch doesn't exist yet)
|
|
483
561
|
|
|
484
562
|
### PR Description Should Include
|
|
485
563
|
|
|
@@ -566,15 +644,20 @@ Every feature needs documentation! Here's how to decide where and what to write.
|
|
|
566
644
|
- Location: `docs/source/quickstart/configuration.rst`
|
|
567
645
|
- What to include: YAML examples, parameter descriptions
|
|
568
646
|
|
|
569
|
-
3. ✅ **
|
|
647
|
+
3. ✅ **Config Validator** - **REQUIRED if feature changes config schema**
|
|
648
|
+
- Location: `massgen/config_validator.py` and `massgen/backend/capabilities.py`
|
|
649
|
+
- What to include: Validation logic, error messages, tests
|
|
650
|
+
- **See**: [Updating the Config Validator](#updating-the-config-validator) section above
|
|
651
|
+
|
|
652
|
+
4. ✅ **API Reference** - If feature changes Python API
|
|
570
653
|
- Location: `docs/source/api/`
|
|
571
654
|
- What to include: Docstrings, function signatures, examples
|
|
572
655
|
|
|
573
|
-
|
|
656
|
+
5. ✅ **CHANGELOG.md** - What changed in this version
|
|
574
657
|
- Location: Root directory
|
|
575
658
|
- What to include: Brief description under "Added", "Changed", or "Fixed"
|
|
576
659
|
|
|
577
|
-
|
|
660
|
+
6. ✅ **Examples** - **REQUIRED for every feature**
|
|
578
661
|
- Location: `docs/source/examples/basic_examples.rst` or feature-specific example files
|
|
579
662
|
- What to include: Runnable code showing feature in action
|
|
580
663
|
- **Note**: Examples are ALWAYS required, even if you write a case study. Case studies showcase real-world usage; examples show basic functionality.
|
|
@@ -655,6 +738,7 @@ Every feature needs documentation! Here's how to decide where and what to write.
|
|
|
655
738
|
|--------------|-------------|----------|-----------|
|
|
656
739
|
| **User Guide** | Every feature | `docs/source/user_guide/` | ✅ Yes |
|
|
657
740
|
| **Config Docs** | Config changes | `docs/source/quickstart/configuration.rst` | ✅ Yes |
|
|
741
|
+
| **Config Validator** | Config schema changes | `massgen/config_validator.py` | ✅ Yes (if config changes) |
|
|
658
742
|
| **API Docs** | API changes | `docs/source/api/` | ✅ Yes |
|
|
659
743
|
| **CHANGELOG** | Every PR | `CHANGELOG.md` | ✅ Yes |
|
|
660
744
|
| **Examples** | **Every feature** | `docs/source/examples/` | ✅ **ALWAYS** |
|