massgen 0.1.3__tar.gz → 0.1.5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of massgen might be problematic. Click here for more details.
- {massgen-0.1.3 → massgen-0.1.5}/CHANGELOG.md +121 -8
- {massgen-0.1.3 → massgen-0.1.5}/CONTRIBUTING.md +12 -10
- {massgen-0.1.3 → massgen-0.1.5}/PKG-INFO +142 -82
- {massgen-0.1.3 → massgen-0.1.5}/README.md +135 -102
- {massgen-0.1.3 → massgen-0.1.5}/README_PYPI.md +139 -81
- massgen-0.1.5/assets/logo-dark.png +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/__init__.py +1 -1
- {massgen-0.1.3 → massgen-0.1.5}/massgen/api_params_handler/_chat_completions_api_params_handler.py +4 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/api_params_handler/_claude_api_params_handler.py +4 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/api_params_handler/_gemini_api_params_handler.py +4 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/api_params_handler/_response_api_params_handler.py +4 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/backend/base_with_custom_tool_and_mcp.py +25 -5
- {massgen-0.1.3 → massgen-0.1.5}/massgen/backend/docs/permissions_and_context_files.md +2 -2
- {massgen-0.1.3 → massgen-0.1.5}/massgen/backend/response.py +2 -0
- massgen-0.1.5/massgen/chat_agent.py +784 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/cli.py +326 -19
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/README.md +92 -41
- massgen-0.1.5/massgen/configs/memory/gpt5mini_gemini_baseline_research_to_implementation.yaml +94 -0
- massgen-0.1.5/massgen/configs/memory/gpt5mini_gemini_context_window_management.yaml +187 -0
- massgen-0.1.5/massgen/configs/memory/gpt5mini_gemini_research_to_implementation.yaml +127 -0
- massgen-0.1.5/massgen/configs/memory/gpt5mini_high_reasoning_gemini.yaml +107 -0
- massgen-0.1.5/massgen/configs/memory/single_agent_compression_test.yaml +64 -0
- massgen-0.1.5/massgen/configs/tools/custom_tools/crawl4ai_example.yaml +55 -0
- massgen-0.1.5/massgen/configs/tools/custom_tools/multimodal_tools/text_to_file_generation_multi.yaml +61 -0
- massgen-0.1.5/massgen/configs/tools/custom_tools/multimodal_tools/text_to_file_generation_single.yaml +29 -0
- massgen-0.1.5/massgen/configs/tools/custom_tools/multimodal_tools/text_to_image_generation_multi.yaml +51 -0
- massgen-0.1.5/massgen/configs/tools/custom_tools/multimodal_tools/text_to_image_generation_single.yaml +33 -0
- massgen-0.1.5/massgen/configs/tools/custom_tools/multimodal_tools/text_to_speech_generation_multi.yaml +55 -0
- massgen-0.1.5/massgen/configs/tools/custom_tools/multimodal_tools/text_to_speech_generation_single.yaml +33 -0
- massgen-0.1.5/massgen/configs/tools/custom_tools/multimodal_tools/text_to_video_generation_multi.yaml +47 -0
- massgen-0.1.5/massgen/configs/tools/custom_tools/multimodal_tools/text_to_video_generation_single.yaml +29 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/multimodal_tools/understand_audio.yaml +1 -1
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/multimodal_tools/understand_file.yaml +1 -1
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/multimodal_tools/understand_image.yaml +1 -1
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/multimodal_tools/understand_video.yaml +1 -1
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/multimodal_tools/youtube_video_analysis.yaml +1 -1
- {massgen-0.1.3 → massgen-0.1.5}/massgen/filesystem_manager/_filesystem_manager.py +1 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/filesystem_manager/_path_permission_manager.py +148 -0
- massgen-0.1.5/massgen/memory/README.md +277 -0
- massgen-0.1.5/massgen/memory/__init__.py +26 -0
- massgen-0.1.5/massgen/memory/_base.py +193 -0
- massgen-0.1.5/massgen/memory/_compression.py +237 -0
- massgen-0.1.5/massgen/memory/_context_monitor.py +211 -0
- massgen-0.1.5/massgen/memory/_conversation.py +255 -0
- massgen-0.1.5/massgen/memory/_fact_extraction_prompts.py +333 -0
- massgen-0.1.5/massgen/memory/_mem0_adapters.py +257 -0
- massgen-0.1.5/massgen/memory/_persistent.py +687 -0
- massgen-0.1.5/massgen/memory/docker-compose.qdrant.yml +36 -0
- massgen-0.1.5/massgen/memory/docs/DESIGN.md +388 -0
- massgen-0.1.5/massgen/memory/docs/QUICKSTART.md +409 -0
- massgen-0.1.5/massgen/memory/docs/SUMMARY.md +319 -0
- massgen-0.1.5/massgen/memory/docs/agent_use_memory.md +408 -0
- massgen-0.1.5/massgen/memory/docs/orchestrator_use_memory.md +586 -0
- massgen-0.1.5/massgen/memory/examples.py +237 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/message_templates.py +160 -12
- {massgen-0.1.3 → massgen-0.1.5}/massgen/orchestrator.py +223 -7
- massgen-0.1.5/massgen/tests/memory/test_agent_compression.py +174 -0
- {massgen-0.1.3/massgen/configs/tools → massgen-0.1.5/massgen/tests}/memory/test_context_window_management.py +30 -30
- massgen-0.1.5/massgen/tests/memory/test_force_compression.py +154 -0
- massgen-0.1.5/massgen/tests/memory/test_simple_compression.py +147 -0
- massgen-0.1.5/massgen/tests/test_agent_memory.py +534 -0
- massgen-0.1.5/massgen/tests/test_binary_file_blocking.py +274 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tests/test_case_studies.md +12 -12
- massgen-0.1.5/massgen/tests/test_conversation_memory.py +382 -0
- massgen-0.1.5/massgen/tests/test_multimodal_size_limits.py +407 -0
- massgen-0.1.5/massgen/tests/test_orchestrator_memory.py +620 -0
- massgen-0.1.5/massgen/tests/test_persistent_memory.py +435 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/token_manager/token_manager.py +6 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tool/_manager.py +7 -2
- massgen-0.1.5/massgen/tool/_multimodal_tools/image_to_image_generation.py +293 -0
- massgen-0.1.5/massgen/tool/_multimodal_tools/text_to_file_generation.py +455 -0
- massgen-0.1.5/massgen/tool/_multimodal_tools/text_to_image_generation.py +222 -0
- massgen-0.1.5/massgen/tool/_multimodal_tools/text_to_speech_continue_generation.py +226 -0
- massgen-0.1.5/massgen/tool/_multimodal_tools/text_to_speech_transcription_generation.py +217 -0
- massgen-0.1.5/massgen/tool/_multimodal_tools/text_to_video_generation.py +223 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tool/_multimodal_tools/understand_audio.py +19 -1
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tool/_multimodal_tools/understand_file.py +6 -1
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tool/_multimodal_tools/understand_image.py +112 -8
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tool/_multimodal_tools/understand_video.py +32 -5
- massgen-0.1.5/massgen/tool/_web_tools/crawl4ai_tool.py +718 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tool/docs/multimodal_tools.md +589 -0
- massgen-0.1.5/massgen/tools/__init__.py +8 -0
- massgen-0.1.5/massgen/tools/_planning_mcp_server.py +520 -0
- massgen-0.1.5/massgen/tools/planning_dataclasses.py +434 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen.egg-info/PKG-INFO +142 -82
- {massgen-0.1.3 → massgen-0.1.5}/massgen.egg-info/SOURCES.txt +51 -8
- {massgen-0.1.3 → massgen-0.1.5}/massgen.egg-info/requires.txt +2 -0
- {massgen-0.1.3 → massgen-0.1.5}/pyproject.toml +3 -0
- massgen-0.1.3/assets/logo-dark.png +0 -0
- massgen-0.1.3/massgen/chat_agent.py +0 -464
- massgen-0.1.3/massgen/configs/tools/custom_tools/crawl4ai_mcp_example.yaml +0 -67
- massgen-0.1.3/massgen/configs/tools/custom_tools/crawl4ai_multi_agent_example.yaml +0 -68
- massgen-0.1.3/massgen/configs/tools/memory/README.md +0 -199
- massgen-0.1.3/massgen/configs/tools/memory/gpt5mini_gemini_context_window_management.yaml +0 -131
- massgen-0.1.3/massgen/configs/tools/memory/gpt5mini_gemini_no_persistent_memory.yaml +0 -133
- massgen-0.1.3/massgen/configs/tools/multimodal/gpt5mini_gpt5nano_documentation_evolution.yaml +0 -97
- {massgen-0.1.3 → massgen-0.1.5}/.env.example +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/LICENSE +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/MANIFEST.in +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/assets/MassGen-v1.gif +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/assets/cos.png +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/assets/favicon.ico +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/assets/logo.png +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/assets/massgen-demo-light.gif +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/assets/massgen-demo.gif +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/assets/release_related_figures/context_path.png +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/assets/release_related_figures/copy_file.png +0 -0
- /massgen-0.1.3/assets/thumbnail.png → /massgen-0.1.5/assets/thumbnail_old.png +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/adapters/__init__.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/adapters/ag2_adapter.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/adapters/base.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/adapters/tests/__init__.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/adapters/tests/test_ag2_adapter.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/adapters/tests/test_agent_adapter.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/adapters/utils/__init__.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/adapters/utils/ag2_utils.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/adapters/utils/tests/__init__.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/adapters/utils/tests/test_ag2_utils.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/agent_config.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/api_params_handler/__init__.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/api_params_handler/_api_params_handler_base.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/backend/__init__.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/backend/azure_openai.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/backend/base.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/backend/capabilities.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/backend/chat_completions.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/backend/claude.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/backend/claude_code.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/backend/cli_base.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/backend/docs/BACKEND_ARCHITECTURE.md +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/backend/docs/CLAUDE_API_RESEARCH.md +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/backend/docs/Function calling openai responses.md +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/backend/docs/GEMINI_API_DOCUMENTATION.md +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/backend/docs/Gemini MCP Integration Analysis.md +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/backend/docs/MCP_IMPLEMENTATION_CLAUDE_BACKEND.md +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/backend/docs/MCP_INTEGRATION_RESPONSE_BACKEND.md +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/backend/docs/OPENAI_GPT5_MODELS.md +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/backend/docs/OPENAI_RESPONSE_API_TOOL_CALLS.md +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/backend/docs/OPENAI_response_streaming.md +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/backend/docs/inference_backend.md +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/backend/external.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/backend/gemini.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/backend/gemini_mcp_manager.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/backend/gemini_trackers.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/backend/gemini_utils.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/backend/grok.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/backend/inference.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/backend/lmstudio.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/config_builder.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/BACKEND_CONFIGURATION.md +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/ag2/ag2_case_study.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/ag2/ag2_coder.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/ag2/ag2_coder_case_study.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/ag2/ag2_gemini.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/ag2/ag2_groupchat.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/ag2/ag2_groupchat_gpt.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/ag2/ag2_single_agent.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/basic/multi/fast_timeout_example.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/basic/multi/gemini_4o_claude.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/basic/multi/gemini_gpt5nano_claude.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/basic/multi/geminicode_4o_claude.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/basic/multi/geminicode_gpt5nano_claude.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/basic/multi/glm_gemini_claude.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/basic/multi/gpt4o_audio_generation.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/basic/multi/gpt4o_image_generation.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/basic/multi/gpt5nano_glm_qwen.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/basic/multi/gpt5nano_image_understanding.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/basic/multi/three_agents_default.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/basic/multi/three_agents_opensource.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/basic/multi/three_agents_vllm.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/basic/multi/two_agents_gemini.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/basic/multi/two_agents_gpt5.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/basic/multi/two_agents_opensource_lmstudio.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/basic/multi/two_qwen_vllm_sglang.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/basic/single/single_agent.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/basic/single/single_flash2.5.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/basic/single/single_gemini2.5pro.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/basic/single/single_gpt4o_audio_generation.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/basic/single/single_gpt4o_image_generation.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/basic/single/single_gpt4o_video_generation.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/basic/single/single_gpt5nano.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/basic/single/single_gpt5nano_file_search.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/basic/single/single_gpt5nano_image_understanding.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/basic/single/single_gptoss120b.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/basic/single/single_openrouter_audio_understanding.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/basic/single/single_qwen_video_understanding.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/debug/code_execution/command_filtering_blacklist.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/debug/code_execution/command_filtering_whitelist.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/debug/code_execution/docker_verification.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/debug/restart_test_controlled.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/debug/restart_test_controlled_filesystem.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/debug/skip_coordination_test.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/debug/test_sdk_migration.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/docs/DISCORD_MCP_SETUP.md +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/docs/TWITTER_MCP_ENESCINAR_SETUP.md +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/providers/azure/azure_openai_multi.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/providers/azure/azure_openai_single.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/providers/claude/claude.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/providers/gemini/gemini_gpt5nano.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/providers/local/lmstudio.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/providers/openai/gpt5.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/providers/openai/gpt5_nano.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/providers/others/grok_single_agent.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/providers/others/zai_coding_team.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/providers/others/zai_glm45.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/teams/creative/creative_team.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/teams/creative/travel_planning.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/teams/research/news_analysis.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/teams/research/research_team.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/teams/research/technical_analysis.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/code-execution/basic_command_execution.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/code-execution/code_execution_use_case_simple.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/code-execution/docker_claude_code.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/code-execution/docker_multi_agent.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/code-execution/docker_simple.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/code-execution/docker_with_resource_limits.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/code-execution/docker_with_sudo.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/code-execution/multi_agent_playwright_automation.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/claude_code_custom_tool_example.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/claude_code_custom_tool_example_no_path.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/claude_code_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/claude_code_custom_tool_with_wrong_mcp_example.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/claude_code_wrong_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/claude_custom_tool_example.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/claude_custom_tool_example_no_path.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/claude_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/claude_custom_tool_with_wrong_mcp_example.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/claude_wrong_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/computer_use_browser_example.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/computer_use_docker_example.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/computer_use_example.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/gemini_custom_tool_example.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/gemini_custom_tool_example_no_path.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/gemini_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/gemini_custom_tool_with_wrong_mcp_example.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/gemini_wrong_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/github_issue_market_analysis.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/gpt5_nano_custom_tool_example.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/gpt5_nano_custom_tool_example_no_path.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/gpt5_nano_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/gpt5_nano_custom_tool_with_wrong_mcp_example.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/gpt5_nano_wrong_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/gpt_oss_custom_tool_example.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/gpt_oss_custom_tool_example_no_path.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/gpt_oss_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/gpt_oss_custom_tool_with_wrong_mcp_example.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/gpt_oss_wrong_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/grok3_mini_custom_tool_example.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/grok3_mini_custom_tool_example_no_path.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/grok3_mini_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/grok3_mini_custom_tool_with_wrong_mcp_example.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/grok3_mini_wrong_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/multimodal_tools/playwright_with_img_understanding.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/multimodal_tools/understand_video_example.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/qwen_api_custom_tool_example.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/qwen_api_custom_tool_example_no_path.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/qwen_api_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/qwen_api_custom_tool_with_wrong_mcp_example.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/qwen_api_wrong_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/qwen_local_custom_tool_example.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/qwen_local_custom_tool_example_no_path.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/qwen_local_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/qwen_local_custom_tool_with_wrong_mcp_example.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/custom_tools/qwen_local_wrong_custom_tool_with_mcp_example.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/filesystem/cc_gpt5_gemini_filesystem.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/filesystem/claude_code_context_sharing.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/filesystem/claude_code_flash2.5.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/filesystem/claude_code_flash2.5_gptoss.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/filesystem/claude_code_gpt5nano.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/filesystem/claude_code_single.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/filesystem/fs_permissions_test.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/filesystem/gemini_gemini_workspace_cleanup.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/filesystem/gemini_gpt5_filesystem_casestudy.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/filesystem/gemini_gpt5nano_file_context_path.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/filesystem/gemini_gpt5nano_protected_paths.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/filesystem/gpt5mini_cc_fs_context_path.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/filesystem/grok4_gpt5_gemini_filesystem.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/filesystem/multiturn/grok4_gpt5_claude_code_filesystem_multiturn.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/filesystem/multiturn/grok4_gpt5_gemini_filesystem_multiturn.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/filesystem/multiturn/two_claude_code_filesystem_multiturn.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/filesystem/multiturn/two_gemini_flash_filesystem_multiturn.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/mcp/claude_code_discord_mcp_example.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/mcp/claude_code_simple_mcp.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/mcp/claude_code_twitter_mcp_example.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/mcp/claude_mcp_example.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/mcp/claude_mcp_test.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/mcp/five_agents_travel_mcp_test.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/mcp/five_agents_weather_mcp_test.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/mcp/gemini_mcp_example.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/mcp/gemini_mcp_filesystem_test.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/mcp/gemini_mcp_filesystem_test_sharing.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/mcp/gemini_mcp_filesystem_test_single_agent.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/mcp/gemini_mcp_filesystem_test_with_claude_code.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/mcp/gemini_mcp_test.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/mcp/gemini_notion_mcp.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/mcp/gpt5_nano_mcp_example.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/mcp/gpt5_nano_mcp_test.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/mcp/gpt5mini_claude_code_discord_mcp_example.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/mcp/gpt_oss_mcp_example.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/mcp/gpt_oss_mcp_test.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/mcp/grok3_mini_mcp_example.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/mcp/grok3_mini_mcp_test.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/mcp/multimcp_gemini.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/mcp/qwen_api_mcp_example.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/mcp/qwen_api_mcp_test.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/mcp/qwen_local_mcp_example.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/mcp/qwen_local_mcp_test.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/planning/five_agents_discord_mcp_planning_mode.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/planning/five_agents_filesystem_mcp_planning_mode.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/planning/five_agents_notion_mcp_planning_mode.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/planning/five_agents_twitter_mcp_planning_mode.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/planning/gpt5_mini_case_study_mcp_planning_mode.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/web-search/claude_streamable_http_test.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/web-search/gemini_streamable_http_test.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/web-search/gpt5_mini_streamable_http_test.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/web-search/gpt_oss_streamable_http_test.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/web-search/grok3_mini_streamable_http_test.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/web-search/qwen_api_streamable_http_test.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/tools/web-search/qwen_local_streamable_http_test.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/configs/voting/gemini_gpt_voting_sensitivity.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/coordination_tracker.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/docker/README.md +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/filesystem_manager/__init__.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/filesystem_manager/_base.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/filesystem_manager/_code_execution_server.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/filesystem_manager/_docker_manager.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/filesystem_manager/_file_operation_tracker.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/filesystem_manager/_workspace_tools_server.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/formatter/__init__.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/formatter/_chat_completions_formatter.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/formatter/_claude_formatter.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/formatter/_formatter_base.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/formatter/_gemini_formatter.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/formatter/_response_formatter.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/frontend/__init__.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/frontend/coordination_ui.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/frontend/displays/__init__.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/frontend/displays/base_display.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/frontend/displays/create_coordination_table.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/frontend/displays/rich_terminal_display.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/frontend/displays/simple_display.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/frontend/displays/terminal_display.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/logger_config.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/mcp_tools/README.md +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/mcp_tools/__init__.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/mcp_tools/backend_utils.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/mcp_tools/circuit_breaker.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/mcp_tools/client.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/mcp_tools/config_validator.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/mcp_tools/docs/circuit_breaker.md +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/mcp_tools/docs/client.md +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/mcp_tools/docs/config_validator.md +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/mcp_tools/docs/exceptions.md +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/mcp_tools/docs/security.md +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/mcp_tools/exceptions.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/mcp_tools/hooks.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/mcp_tools/security.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/stream_chunk/__init__.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/stream_chunk/base.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/stream_chunk/multimodal.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/stream_chunk/text.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tests/__init__.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tests/custom_tools_example.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tests/mcp_test_server.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tests/multi_turn_conversation_design.md +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tests/multiturn_llm_input_analysis.md +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tests/test_azure_openai_backend.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tests/test_backend_capabilities.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tests/test_backend_event_loop_all.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tests/test_chat_completions_refactor.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tests/test_claude_backend.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tests/test_claude_code.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tests/test_claude_code_context_sharing.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tests/test_claude_code_orchestrator.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tests/test_cli_backends.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tests/test_code_execution.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tests/test_config_builder.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tests/test_custom_tools.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tests/test_external_agent_backend.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tests/test_final_presentation_fallback.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tests/test_gemini_planning_mode.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tests/test_grok_backend.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tests/test_http_mcp_server.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tests/test_integration_simple.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tests/test_intelligent_planning_mode.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tests/test_mcp_blocking.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tests/test_message_context_building.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tests/test_orchestration_restart.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tests/test_orchestrator_final_presentation.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tests/test_path_permission_manager.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tests/test_rich_terminal_display.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tests/test_timeout.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tests/test_tools.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tests/test_v3_3agents.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tests/test_v3_simple.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tests/test_v3_three_agents.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tests/test_v3_two_agents.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/token_manager/__init__.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tool/README.md +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tool/__init__.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tool/_async_helpers.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tool/_basic/__init__.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tool/_basic/_two_num_tool.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tool/_code_executors/__init__.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tool/_code_executors/_python_executor.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tool/_code_executors/_shell_executor.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tool/_exceptions.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tool/_file_handlers/__init__.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tool/_file_handlers/_file_operations.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tool/_registered_tool.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tool/_result.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tool/_self_evolution/_github_issue_analyzer.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tool/docs/builtin_tools.md +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tool/docs/exceptions.md +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tool/docs/execution_results.md +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tool/docs/manager.md +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tool/docs/workflow_toolkits.md +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tool/workflow_toolkits/__init__.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tool/workflow_toolkits/base.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tool/workflow_toolkits/new_answer.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tool/workflow_toolkits/post_evaluation.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/tool/workflow_toolkits/vote.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/utils.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/v1/README.md +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/v1/__init__.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/v1/agent.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/v1/agents.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/v1/backends/gemini.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/v1/backends/grok.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/v1/backends/oai.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/v1/cli.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/v1/config.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/v1/examples/fast-4o-mini-config.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/v1/examples/fast_config.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/v1/examples/production.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/v1/examples/single_agent.yaml +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/v1/logging.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/v1/main.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/v1/orchestrator.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/v1/streaming_display.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/v1/tools.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/v1/types.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen/v1/utils.py +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen.egg-info/dependency_links.txt +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen.egg-info/entry_points.txt +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen.egg-info/not-zip-safe +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/massgen.egg-info/top_level.txt +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/requirements.txt +0 -0
- {massgen-0.1.3 → massgen-0.1.5}/setup.cfg +0 -0
|
@@ -7,16 +7,129 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## Recent Releases
|
|
9
9
|
|
|
10
|
+
**v0.1.5 (October 2025)** - Memory System
|
|
11
|
+
Long-term memory with semantic retrieval via mem0, automatic context compression, and memory sharing for multi-turn conversations.
|
|
12
|
+
|
|
13
|
+
**v0.1.4 (October 2025)** - Multimodal Generation Tools & Binary File Protection
|
|
14
|
+
Comprehensive generation tools for images, videos, audio, and documents with OpenAI APIs, binary file blocking for security, web crawling integration, and enhanced documentation infrastructure.
|
|
15
|
+
|
|
10
16
|
**v0.1.3 (October 2025)** - Post-Evaluation Tools & Multimodal Understanding
|
|
11
17
|
Post-evaluation workflow with submit/restart capabilities, custom multimodal understanding tools, Docker sudo mode, and enhanced config builder.
|
|
12
18
|
|
|
13
|
-
|
|
14
|
-
Automatic irreversibility analysis for MCP tools, selective tool blocking, Claude 4.5 Haiku support, and Grok web search improvements.
|
|
19
|
+
---
|
|
15
20
|
|
|
16
|
-
|
|
17
|
-
Custom Python function tools, voting sensitivity controls, interactive config builder, and comprehensive Sphinx documentation.
|
|
21
|
+
## [0.1.5] - 2025-10-29
|
|
18
22
|
|
|
19
|
-
|
|
23
|
+
### Added
|
|
24
|
+
- **Memory System**: Complete long-term memory implementation with semantic retrieval
|
|
25
|
+
- New `massgen/memory/` module with comprehensive memory management
|
|
26
|
+
- **PersistentMemory** via mem0 integration for semantic fact storage and retrieval
|
|
27
|
+
- **ConversationMemory** for short-term verbatim message tracking
|
|
28
|
+
- **Automatic Context Compression** when approaching token limits
|
|
29
|
+
- **Memory Sharing for Multi-Turn Conversations** with turn-aware filtering to prevent temporal leakage
|
|
30
|
+
- **Session Management** for memory isolation and continuation across runs
|
|
31
|
+
- **Qdrant Vector Database Integration** for efficient semantic search (server and local modes)
|
|
32
|
+
- **Context Monitoring** with real-time token usage tracking
|
|
33
|
+
- Fact extraction prompts with customizable LLM and embedding providers
|
|
34
|
+
- Supports OpenAI, Anthropic, Groq, and other mem0-compatible providers
|
|
35
|
+
|
|
36
|
+
- **Memory Configuration Support**: New YAML configuration options
|
|
37
|
+
- Memory enable/disable toggle at global and per-agent levels
|
|
38
|
+
- Configurable compression thresholds (trigger_threshold, target_ratio)
|
|
39
|
+
- Retrieval settings (limit, exclude_recent for smart retrieval)
|
|
40
|
+
- Session naming for continuation and cross-session memory
|
|
41
|
+
- LLM and embedding provider configuration for mem0
|
|
42
|
+
- Qdrant connection settings (server/local mode, host, port, path)
|
|
43
|
+
|
|
44
|
+
### Changed
|
|
45
|
+
- **Chat Agent Enhancement**: Memory integration for agent workflows
|
|
46
|
+
- Memory recording after agent responses (conversation and persistent)
|
|
47
|
+
- Memory retrieval on restart/reset for context restoration
|
|
48
|
+
- Integration with compression and context monitoring modules
|
|
49
|
+
|
|
50
|
+
- **Orchestrator Enhancement**: Memory coordination for multi-agent workflows
|
|
51
|
+
- Memory initialization and management across agent lifecycles
|
|
52
|
+
- Memory cleanup on orchestrator shutdown
|
|
53
|
+
|
|
54
|
+
### Documentations, Configurations and Resources
|
|
55
|
+
|
|
56
|
+
- **Memory Documentation**: Comprehensive memory system user guide
|
|
57
|
+
- New `docs/source/user_guide/memory.rst`
|
|
58
|
+
- Complete usage guide with quick start, configuration reference, and examples
|
|
59
|
+
- Design decisions documentation explaining architecture choices
|
|
60
|
+
- Troubleshooting guide for common memory issues
|
|
61
|
+
- Monitoring and debugging instructions with log examples
|
|
62
|
+
- API reference for PersistentMemory, ConversationMemory, and ContextMonitor
|
|
63
|
+
|
|
64
|
+
- **Configuration Examples**: 5 new memory-focused YAML configurations
|
|
65
|
+
- `gpt5mini_gemini_context_window_management.yaml`: Multi-agent with context compression
|
|
66
|
+
- `gpt5mini_gemini_research_to_implementation.yaml`: Research to implementation workflow
|
|
67
|
+
- `gpt5mini_high_reasoning_gemini.yaml`: High reasoning agents with memory
|
|
68
|
+
- `gpt5mini_gemini_baseline_research_to_implementation.yaml`: Baseline research workflow
|
|
69
|
+
- `single_agent_compression_test.yaml`: Testing compression behavior
|
|
70
|
+
|
|
71
|
+
- **Infrastructure and Testing**:
|
|
72
|
+
- Memory test suite with 4 test files in `massgen/tests/memory/`
|
|
73
|
+
- Additional memory tests: `test_agent_memory.py`, `test_conversation_memory.py`, `test_orchestrator_memory.py`, `test_persistent_memory.py`
|
|
74
|
+
|
|
75
|
+
### Technical Details
|
|
76
|
+
- **Major Focus**: Long-term memory system with semantic retrieval and memory sharing for multi-turn conversations
|
|
77
|
+
- **Contributors**: @ncrispino @qidanrui @kitrakrev @sonichi @Henry-811 and the MassGen team
|
|
78
|
+
|
|
79
|
+
## [0.1.4] - 2025-10-27
|
|
80
|
+
|
|
81
|
+
### Added
|
|
82
|
+
- **Multimodal Generation Tools**: Comprehensive generation capabilities via OpenAI APIs
|
|
83
|
+
- New `text_to_image_generation` tool for generating images from text prompts using DALL-E models
|
|
84
|
+
- New `text_to_video_generation` tool for generating videos from text prompts
|
|
85
|
+
- New `text_to_speech_continue_generation` tool for text-to-speech with continuation support
|
|
86
|
+
- New `text_to_speech_transcription_generation` tool for audio transcription and generation
|
|
87
|
+
- New `text_to_file_generation` tool for generating documents (PDF, DOCX, XLSX, PPTX)
|
|
88
|
+
- New `image_to_image_generation` tool for image-to-image transformations
|
|
89
|
+
- Implemented in `massgen/tool/_multimodal_tools/` with 6 new modules
|
|
90
|
+
|
|
91
|
+
- **Binary File Protection System**: Enhanced security for file operations
|
|
92
|
+
- New binary file blocking in `PathPermissionManager` preventing text tools from reading binary files
|
|
93
|
+
- Added `BINARY_FILE_EXTENSIONS` set covering images, videos, audio, archives, executables, and Office documents
|
|
94
|
+
- New `_validate_binary_file_access()` method with intelligent tool suggestions
|
|
95
|
+
- Prevents context pollution by blocking Read, read_text_file, and read_file tools from binary files
|
|
96
|
+
- Comprehensive test suite in `test_binary_file_blocking.py`
|
|
97
|
+
|
|
98
|
+
- **Crawl4AI Web Scraping Integration**: Advanced web content extraction tool
|
|
99
|
+
- New `crawl4ai_tool` for intelligent web scraping with LLM-powered extraction
|
|
100
|
+
- Implemented in `massgen/tool/_web_tools/crawl4ai_tool.py`
|
|
101
|
+
|
|
102
|
+
### Changed
|
|
103
|
+
- **Multimodal File Size Limits**: Enhanced validation and automatic handling
|
|
104
|
+
- Automatic image resizing for files exceeding size limits
|
|
105
|
+
- Comprehensive size limit test suite in `test_multimodal_size_limits.py`
|
|
106
|
+
- Enhanced validation in understand_audio and understand_video tools
|
|
107
|
+
|
|
108
|
+
### Documentations, Configurations and Resources
|
|
109
|
+
|
|
110
|
+
- **PyPI Package Documentation**: Standalone README for PyPI distribution
|
|
111
|
+
- New `README_PYPI.md` with comprehensive package documentation
|
|
112
|
+
- Improved package metadata and installation instructions
|
|
113
|
+
|
|
114
|
+
- **Release Management Documentation**: Comprehensive release workflow guide
|
|
115
|
+
- New `docs/dev_notes/release_checklist.md` with step-by-step release procedures
|
|
116
|
+
- Detailed checklist for testing, documentation, and deployment
|
|
117
|
+
|
|
118
|
+
- **Binary File Protection Documentation**: Enhanced protected paths user guide
|
|
119
|
+
- Updated `docs/source/user_guide/protected_paths.rst` with binary file protection section
|
|
120
|
+
- Documents 40+ protected binary file types and specialized tool suggestions
|
|
121
|
+
|
|
122
|
+
- **Configuration Examples**: 9 new YAML configuration files
|
|
123
|
+
- **Generation Tools**: 8 multimodal generation configurations
|
|
124
|
+
- `text_to_image_generation_single.yaml` and `text_to_image_generation_multi.yaml`
|
|
125
|
+
- `text_to_video_generation_single.yaml` and `text_to_video_generation_multi.yaml`
|
|
126
|
+
- `text_to_speech_generation_single.yaml` and `text_to_speech_generation_multi.yaml`
|
|
127
|
+
- `text_to_file_generation_single.yaml` and `text_to_file_generation_multi.yaml`
|
|
128
|
+
- **Web Scraping**: `crawl4ai_example.yaml` for Crawl4AI integration
|
|
129
|
+
|
|
130
|
+
### Technical Details
|
|
131
|
+
- **Major Focus**: Multimodal generation tools, binary file protection system, web scraping integration
|
|
132
|
+
- **Contributors**: @qidanrui @ncrispino @sonichi @Henry-811 and the MassGen team
|
|
20
133
|
|
|
21
134
|
## [0.1.3] - 2025-10-24
|
|
22
135
|
|
|
@@ -84,7 +197,7 @@ Custom Python function tools, voting sensitivity controls, interactive config bu
|
|
|
84
197
|
- `massgen/configs/resources/v0.1.3-example/TUMIX.pdf`: PDF document example
|
|
85
198
|
|
|
86
199
|
- **Case Studies**: New case study demonstrating v0.1.3 features
|
|
87
|
-
- `docs/case_studies/multimodal-case-study-video-analysis.md`: Meta-level demonstration of multimodal video understanding with agents analyzing their own case study videos
|
|
200
|
+
- `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
|
|
88
201
|
|
|
89
202
|
### Technical Details
|
|
90
203
|
- **Major Focus**: Post-evaluation workflow tools, custom multimodal understanding tools, Docker sudo mode
|
|
@@ -122,7 +235,7 @@ Custom Python function tools, voting sensitivity controls, interactive config bu
|
|
|
122
235
|
### Documentations, Configurations and Resources
|
|
123
236
|
|
|
124
237
|
- **Intelligent Planning Mode Case Study**: Complete feature documentation
|
|
125
|
-
- `docs/case_studies/INTELLIGENT_PLANNING_MODE.md`: Comprehensive guide for automatic planning mode
|
|
238
|
+
- `docs/source/examples/case_studies/INTELLIGENT_PLANNING_MODE.md`: Comprehensive guide for automatic planning mode
|
|
126
239
|
- Demonstrates automatic irreversibility detection
|
|
127
240
|
- Shows read/write operation classification
|
|
128
241
|
- Includes examples for Discord, filesystem, and Twitter operations
|
|
@@ -202,7 +315,7 @@ Custom Python function tools, voting sensitivity controls, interactive config bu
|
|
|
202
315
|
### Documentations, Configurations and Resources
|
|
203
316
|
|
|
204
317
|
- **Case Study: Universal Code Execution via MCP**: Comprehensive v0.0.31 feature documentation
|
|
205
|
-
- `docs/case_studies/universal-code-execution-mcp.md`
|
|
318
|
+
- `docs/source/examples/case_studies/universal-code-execution-mcp.md`
|
|
206
319
|
- Demonstrates pytest test creation and execution across backends
|
|
207
320
|
- Shows command validation, security layers, and result interpretation
|
|
208
321
|
|
|
@@ -204,10 +204,12 @@ orchestrator:
|
|
|
204
204
|
snapshot_storage: "snapshots"
|
|
205
205
|
agent_temporary_workspace: "temp_workspaces"
|
|
206
206
|
|
|
207
|
-
# Memory configuration (
|
|
207
|
+
# Memory configuration (implemented in v0.1.5 - see docs/source/user_guide/memory.rst)
|
|
208
208
|
memory:
|
|
209
209
|
enabled: true
|
|
210
|
-
|
|
210
|
+
persistent_memory:
|
|
211
|
+
enabled: true
|
|
212
|
+
vector_store: "qdrant"
|
|
211
213
|
```
|
|
212
214
|
|
|
213
215
|
## 📋 Prerequisites
|
|
@@ -267,7 +269,7 @@ Create a `.env` file in the `massgen` directory as described in [README](README.
|
|
|
267
269
|
|
|
268
270
|
## 🔧 Development Workflow
|
|
269
271
|
|
|
270
|
-
> **Important**: Our next version is v0.1.
|
|
272
|
+
> **Important**: Our next version is v0.1.6. If you want to contribute, please contribute to the `dev/v0.1.6` branch.
|
|
271
273
|
|
|
272
274
|
### 1. Create Feature Branch
|
|
273
275
|
|
|
@@ -275,8 +277,8 @@ Create a `.env` file in the `massgen` directory as described in [README](README.
|
|
|
275
277
|
# Fetch latest changes from upstream
|
|
276
278
|
git fetch upstream
|
|
277
279
|
|
|
278
|
-
# Create feature branch from dev/v0.1.
|
|
279
|
-
git checkout -b feature/your-feature-name upstream/dev/v0.1.
|
|
280
|
+
# Create feature branch from dev/v0.1.6
|
|
281
|
+
git checkout -b feature/your-feature-name upstream/dev/v0.1.6
|
|
280
282
|
```
|
|
281
283
|
|
|
282
284
|
### 2. Make Your Changes
|
|
@@ -373,7 +375,7 @@ git push origin feature/your-feature-name
|
|
|
373
375
|
```
|
|
374
376
|
|
|
375
377
|
Then create a pull request on GitHub:
|
|
376
|
-
- Base branch: `dev/v0.1.
|
|
378
|
+
- Base branch: `dev/v0.1.6`
|
|
377
379
|
- Compare branch: `feature/your-feature-name`
|
|
378
380
|
- Add clear description of changes
|
|
379
381
|
- Link any related issues
|
|
@@ -479,7 +481,7 @@ Have a significant feature idea not covered by existing tracks?
|
|
|
479
481
|
- [ ] Tests pass locally
|
|
480
482
|
- [ ] Documentation is updated if needed
|
|
481
483
|
- [ ] Commit messages follow convention
|
|
482
|
-
- [ ] PR targets `dev/v0.1.
|
|
484
|
+
- [ ] PR targets `dev/v0.1.6` branch
|
|
483
485
|
|
|
484
486
|
### PR Description Should Include
|
|
485
487
|
|
|
@@ -603,7 +605,7 @@ Every feature needs documentation! Here's how to decide where and what to write.
|
|
|
603
605
|
- Feature is significant enough to showcase
|
|
604
606
|
- Following case-driven development methodology
|
|
605
607
|
|
|
606
|
-
**Location:** `docs/case_studies/feature_name.md`
|
|
608
|
+
**Location:** `docs/source/examples/case_studies/feature_name.md`
|
|
607
609
|
|
|
608
610
|
**Examples:**
|
|
609
611
|
- `claude-code-workspace-management.md`
|
|
@@ -645,7 +647,7 @@ Every feature needs documentation! Here's how to decide where and what to write.
|
|
|
645
647
|
┌──────────────┐
|
|
646
648
|
│ Write Case │
|
|
647
649
|
│ Study │
|
|
648
|
-
│ (case_studies/)│
|
|
650
|
+
│ (source/examples/case_studies/)│
|
|
649
651
|
└──────────────┘
|
|
650
652
|
```
|
|
651
653
|
|
|
@@ -659,7 +661,7 @@ Every feature needs documentation! Here's how to decide where and what to write.
|
|
|
659
661
|
| **CHANGELOG** | Every PR | `CHANGELOG.md` | ✅ Yes |
|
|
660
662
|
| **Examples** | **Every feature** | `docs/source/examples/` | ✅ **ALWAYS** |
|
|
661
663
|
| **Design Doc** | Complex implementation | `docs/dev_notes/` | ⚠️ Optional |
|
|
662
|
-
| **Case Study** | Demonstrate real-world usage | `docs/case_studies/` | ⚠️ Optional but expected |
|
|
664
|
+
| **Case Study** | Demonstrate real-world usage | `docs/source/examples/case_studies/` | ⚠️ Optional but expected |
|
|
663
665
|
|
|
664
666
|
#### 6. Documentation Quality Standards
|
|
665
667
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: massgen
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.5
|
|
4
4
|
Summary: Multi-Agent Scaling System - A powerful framework for collaborative AI
|
|
5
5
|
Author-email: MassGen Team <contact@massgen.dev>
|
|
6
6
|
License: Apache-2.0
|
|
@@ -54,6 +54,8 @@ Requires-Dist: openpyxl>=3.1.5
|
|
|
54
54
|
Requires-Dist: python-pptx>=1.0.2
|
|
55
55
|
Requires-Dist: opencv-python>=4.12.0.88
|
|
56
56
|
Requires-Dist: pypdf2>=3.0.1
|
|
57
|
+
Requires-Dist: mem0ai>=1.0.0
|
|
58
|
+
Requires-Dist: reportlab>=4.0.0
|
|
57
59
|
Provides-Extra: dev
|
|
58
60
|
Requires-Dist: pytest>=7.0.0; extra == "dev"
|
|
59
61
|
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
|
|
@@ -88,23 +90,29 @@ Provides-Extra: all
|
|
|
88
90
|
Dynamic: license-file
|
|
89
91
|
|
|
90
92
|
<p align="center">
|
|
91
|
-
<
|
|
93
|
+
<picture>
|
|
94
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/Leezekun/MassGen/main/assets/logo-dark.png">
|
|
95
|
+
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/Leezekun/MassGen/main/assets/logo.png">
|
|
96
|
+
<img src="https://raw.githubusercontent.com/Leezekun/MassGen/main/assets/logo.png" alt="MassGen Logo" width="360" />
|
|
97
|
+
</picture>
|
|
92
98
|
</p>
|
|
93
99
|
|
|
94
|
-
<
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
100
|
+
<div align="center">
|
|
101
|
+
|
|
102
|
+
[](https://docs.massgen.ai)
|
|
103
|
+
[](https://github.com/Leezekun/MassGen)
|
|
104
|
+
[](https://www.python.org/downloads/)
|
|
105
|
+
[](LICENSE)
|
|
106
|
+
|
|
107
|
+
</div>
|
|
108
|
+
|
|
109
|
+
<div align="center">
|
|
110
|
+
|
|
111
|
+
[](https://x.massgen.ai)
|
|
112
|
+
[](https://www.linkedin.com/company/massgen-ai)
|
|
113
|
+
[](https://discord.massgen.ai)
|
|
114
|
+
|
|
115
|
+
</div>
|
|
108
116
|
|
|
109
117
|
<h1 align="center">🚀 MassGen: Multi-Agent Scaling System for GenAI</h1>
|
|
110
118
|
|
|
@@ -114,7 +122,7 @@ Dynamic: license-file
|
|
|
114
122
|
|
|
115
123
|
<p align="center">
|
|
116
124
|
<a href="https://www.youtube.com/watch?v=Dp2oldJJImw">
|
|
117
|
-
<img src="
|
|
125
|
+
<img src="docs/source/_static/images/thumbnail.png" alt="MassGen case study -- Berkeley Agentic AI Summit Question" width="800">
|
|
118
126
|
</a>
|
|
119
127
|
</p>
|
|
120
128
|
|
|
@@ -143,7 +151,7 @@ This project started with the "threads of thought" and "iterative refinement" id
|
|
|
143
151
|
<details open>
|
|
144
152
|
<summary><h3>🆕 Latest Features</h3></summary>
|
|
145
153
|
|
|
146
|
-
- [v0.1.
|
|
154
|
+
- [v0.1.5 Features](#-latest-features-v015)
|
|
147
155
|
</details>
|
|
148
156
|
|
|
149
157
|
<details open>
|
|
@@ -188,15 +196,15 @@ This project started with the "threads of thought" and "iterative refinement" id
|
|
|
188
196
|
<summary><h3>🗺️ Roadmap</h3></summary>
|
|
189
197
|
|
|
190
198
|
- Recent Achievements
|
|
191
|
-
- [v0.1.
|
|
192
|
-
- [v0.0.3 - v0.1.
|
|
199
|
+
- [v0.1.5](#recent-achievements-v015)
|
|
200
|
+
- [v0.0.3 - v0.1.4](#previous-achievements-v003---v014)
|
|
193
201
|
- [Key Future Enhancements](#key-future-enhancements)
|
|
194
202
|
- Bug Fixes & Backend Improvements
|
|
195
203
|
- Advanced Agent Collaboration
|
|
196
204
|
- Expanded Model, Tool & Agent Integrations
|
|
197
205
|
- Improved Performance & Scalability
|
|
198
206
|
- Enhanced Developer Experience
|
|
199
|
-
- [v0.1.
|
|
207
|
+
- [v0.1.6 Roadmap](#v016-roadmap)
|
|
200
208
|
</details>
|
|
201
209
|
|
|
202
210
|
<details open>
|
|
@@ -221,36 +229,49 @@ This project started with the "threads of thought" and "iterative refinement" id
|
|
|
221
229
|
|
|
222
230
|
---
|
|
223
231
|
|
|
224
|
-
## 🆕 Latest Features (v0.1.
|
|
232
|
+
## 🆕 Latest Features (v0.1.5)
|
|
225
233
|
|
|
226
|
-
**🎉 Released: October
|
|
234
|
+
**🎉 Released: October 2025**
|
|
227
235
|
|
|
228
|
-
**What's New in v0.1.
|
|
229
|
-
- **🧠
|
|
230
|
-
-
|
|
231
|
-
-
|
|
236
|
+
**What's New in v0.1.5:**
|
|
237
|
+
- **🧠 Long-Term Memory System** - Semantic memory with retrieval across sessions
|
|
238
|
+
- **🗜️ Automatic Context Compression** - Smart compression when approaching token limits
|
|
239
|
+
- **🔄 Memory Sharing for Multi-Turn Conversations** - Agents access knowledge from previous turns
|
|
232
240
|
|
|
233
241
|
**Key Improvements:**
|
|
234
|
-
-
|
|
235
|
-
-
|
|
236
|
-
-
|
|
237
|
-
-
|
|
238
|
-
-
|
|
242
|
+
- Persistent memory via mem0 integration with vector storage
|
|
243
|
+
- Conversational memory for short-term context tracking
|
|
244
|
+
- Context monitoring with real-time token usage tracking
|
|
245
|
+
- Session management for memory isolation and continuation
|
|
246
|
+
- Qdrant vector database integration for semantic search
|
|
239
247
|
|
|
240
|
-
**Get Started with v0.1.
|
|
248
|
+
**Get Started with v0.1.5:**
|
|
241
249
|
```bash
|
|
242
250
|
# Install or upgrade from PyPI
|
|
243
251
|
pip install --upgrade massgen
|
|
244
252
|
|
|
245
|
-
#
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
253
|
+
# Multi-agent collaboration with context compression
|
|
254
|
+
massgen --config @examples/memory/gpt5mini_gemini_context_window_management \
|
|
255
|
+
"Analyze the MassGen codebase comprehensively. Create an architecture document that explains: (1) Core components and their responsibilities, (2) How different modules interact, (3) Key design patterns used, (4) Main entry points and request flows. Read > 30 files to build a complete understanding."
|
|
256
|
+
|
|
257
|
+
# Research-to-implementation workflow with memory persistence
|
|
258
|
+
# Prerequisites: Start Qdrant and crawl4ai Docker containers
|
|
259
|
+
docker run -d -p 6333:6333 -p 6334:6334 \
|
|
260
|
+
-v $(pwd)/.massgen/qdrant_storage:/qdrant/storage:z qdrant/qdrant
|
|
261
|
+
docker run -d -p 11235:11235 --name crawl4ai --shm-size=1g unclecode/crawl4ai:latest
|
|
249
262
|
|
|
250
|
-
#
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
263
|
+
# Session 1 - Research phase:
|
|
264
|
+
massgen --config @examples/memory/gpt5mini_gemini_research_to_implementation \
|
|
265
|
+
"Use crawl4ai to research the latest multi-agent AI papers and techniques from 2025. Focus on: coordination mechanisms, voting strategies, tool-use patterns, and architectural innovations."
|
|
266
|
+
|
|
267
|
+
# Session 2 - Implementation analysis (continue in same session):
|
|
268
|
+
# "Based on the multi-agent research from earlier, which techniques should we implement in MassGen to make it more state-of-the-art? Consider MassGen's current architecture and what would be most impactful."
|
|
269
|
+
|
|
270
|
+
→ See [Multi-Turn Persistent Memory Case Study](docs/source/examples/case_studies/multi-turn-persistent-memory.md) for detailed analysis
|
|
271
|
+
|
|
272
|
+
# Test automatic context compression
|
|
273
|
+
massgen --config @examples/memory/single_agent_compression_test \
|
|
274
|
+
"Analyze the MassGen codebase comprehensively. Create an architecture document that explains: (1) Core components and their responsibilities, (2) How different modules interact, (3) Key design patterns used, (4) Main entry points and request flows. Read > 30 files to build a complete understanding."
|
|
254
275
|
```
|
|
255
276
|
|
|
256
277
|
→ [See full release history and examples](massgen/configs/README.md#release-history--examples)
|
|
@@ -472,17 +493,20 @@ MassGen agents can leverage various tools to enhance their problem-solving capab
|
|
|
472
493
|
|
|
473
494
|
**Supported Built-in Tools by Backend:**
|
|
474
495
|
|
|
475
|
-
| Backend | Live Search | Code Execution | File Operations | MCP Support | Multimodal
|
|
476
|
-
|
|
477
|
-
| **Azure OpenAI** (NEW in v0.0.10) | ❌ | ❌ | ❌ | ❌ | ❌ | Code interpreter, Azure deployment management |
|
|
478
|
-
| **Claude API** | ✅ | ✅ | ✅ | ✅ |
|
|
479
|
-
| **Claude Code** | ✅ | ✅ | ✅ | ✅ | ✅<br/>*Image* | **Native Claude Code SDK, comprehensive dev tools, MCP integration** |
|
|
480
|
-
| **Gemini API** | ✅ | ✅ | ✅ | ✅ | ✅<br/>*Image* | Web search, code execution, **MCP integration**|
|
|
481
|
-
| **Grok API** | ✅ | ❌ | ✅ | ✅ |
|
|
482
|
-
| **OpenAI API** | ✅ | ✅ | ✅ | ✅ | ✅<br/>*Image* | Web search, code interpreter, **MCP integration** |
|
|
483
|
-
| **ZAI API** | ❌ | ❌ | ✅ | ✅ |
|
|
484
|
-
|
|
485
|
-
**
|
|
496
|
+
| Backend | Live Search | Code Execution | File Operations | MCP Support | Multimodal Understanding | Multimodal Generation | Advanced Features |
|
|
497
|
+
|---------|:-----------:|:--------------:|:---------------:|:-----------:|:------------------------:|:---------------------:|:-----------------|
|
|
498
|
+
| **Azure OpenAI** (NEW in v0.0.10) | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | Code interpreter, Azure deployment management |
|
|
499
|
+
| **Claude API** | ✅ | ✅ | ✅ | ✅ | ✅<br/>*via custom tools* | ✅<br/>*via custom tools* | Web search, code interpreter, **MCP integration** |
|
|
500
|
+
| **Claude Code** | ✅ | ✅ | ✅ | ✅ | ✅<br/>*Image (native)*<br/>*Audio/Video/Docs (custom tools)* | ✅<br/>*via custom tools* | **Native Claude Code SDK, comprehensive dev tools, MCP integration** |
|
|
501
|
+
| **Gemini API** | ✅ | ✅ | ✅ | ✅ | ✅<br/>*Image (native)*<br/>*Audio/Video/Docs (custom tools)* | ✅<br/>*via custom tools* | Web search, code execution, **MCP integration**|
|
|
502
|
+
| **Grok API** | ✅ | ❌ | ✅ | ✅ | ✅<br/>*via custom tools* | ✅<br/>*via custom tools* | Web search, **MCP integration** |
|
|
503
|
+
| **OpenAI API** | ✅ | ✅ | ✅ | ✅ | ✅<br/>*Image (native)*<br/>*Audio/Video/Docs (custom tools)* | ✅<br/>*via custom tools* | Web search, code interpreter, **MCP integration** |
|
|
504
|
+
| **ZAI API** | ❌ | ❌ | ✅ | ✅ | ✅<br/>*via custom tools* | ✅<br/>*via custom tools* | **MCP integration** |
|
|
505
|
+
|
|
506
|
+
**Notes:**
|
|
507
|
+
- **Multimodal Understanding** (NEW in v0.1.3): Analyze images, audio, video, and documents via custom tools using OpenAI GPT-4.1 - works with any backend
|
|
508
|
+
- **Multimodal Generation** (NEW in v0.1.4): Generate images, videos, audio, and documents via custom tools using OpenAI APIs - works with any backend
|
|
509
|
+
- See custom tool configurations: [`understand_image.yaml`](massgen/configs/tools/custom_tools/multimodal_tools/understand_image.yaml), [`text_to_image_generation_single.yaml`](massgen/configs/tools/custom_tools/multimodal_tools/text_to_image_generation_single.yaml)
|
|
486
510
|
|
|
487
511
|
→ For detailed backend capabilities and tool integration guides, see [User Guide - Backends](https://docs.massgen.ai/en/latest/user_guide/backends.html)
|
|
488
512
|
|
|
@@ -954,7 +978,7 @@ massgen --config @examples/tools/code-execution/multi_agent_playwright_automatio
|
|
|
954
978
|
"Navigate to https://news.ycombinator.com, extract the top 10 stories, and create a summary report"
|
|
955
979
|
```
|
|
956
980
|
|
|
957
|
-
→ [**See detailed case studies**](docs/case_studies/README.md) with real session logs and outcomes
|
|
981
|
+
→ [**See detailed case studies**](docs/source/examples/case_studies/README.md) with real session logs and outcomes
|
|
958
982
|
|
|
959
983
|
#### Interactive Mode & Advanced Usage
|
|
960
984
|
|
|
@@ -1075,7 +1099,11 @@ All sessions are automatically logged with detailed information for debugging an
|
|
|
1075
1099
|
|
|
1076
1100
|
To see how MassGen works in practice, check out these detailed case studies based on real session logs:
|
|
1077
1101
|
|
|
1078
|
-
|
|
1102
|
+
**Featured:**
|
|
1103
|
+
- [**Multi-Turn Persistent Memory**](docs/source/examples/case_studies/multi-turn-persistent-memory.md) - Research-to-implementation workflow demonstrating memory system (v0.1.5) | [📹 Watch Demo](https://youtu.be/wWxxFgyw40Y)
|
|
1104
|
+
|
|
1105
|
+
**All Case Studies:**
|
|
1106
|
+
- [**MassGen Case Studies**](docs/source/examples/case_studies/README.md)
|
|
1079
1107
|
- [**Case Studies Documentation**](https://docs.massgen.ai/en/latest/examples/case_studies.html) - Browse case studies online
|
|
1080
1108
|
|
|
1081
1109
|
---
|
|
@@ -1083,37 +1111,67 @@ To see how MassGen works in practice, check out these detailed case studies base
|
|
|
1083
1111
|
|
|
1084
1112
|
## 🗺️ Roadmap
|
|
1085
1113
|
|
|
1086
|
-
MassGen is currently in its foundational stage, with a focus on parallel, asynchronous multi-agent collaboration and orchestration. Our roadmap is centered on transforming this foundation into a highly robust, intelligent, and user-friendly system, while enabling frontier research and exploration.
|
|
1114
|
+
MassGen is currently in its foundational stage, with a focus on parallel, asynchronous multi-agent collaboration and orchestration. Our roadmap is centered on transforming this foundation into a highly robust, intelligent, and user-friendly system, while enabling frontier research and exploration.
|
|
1087
1115
|
|
|
1088
1116
|
⚠️ **Early Stage Notice:** As MassGen is in active development, please expect upcoming breaking architecture changes as we continue to refine and improve the system.
|
|
1089
1117
|
|
|
1090
|
-
### Recent Achievements (v0.1.
|
|
1118
|
+
### Recent Achievements (v0.1.5)
|
|
1119
|
+
|
|
1120
|
+
**🎉 Released: October 2025**
|
|
1121
|
+
|
|
1122
|
+
#### Memory System
|
|
1123
|
+
- **PersistentMemory**: Long-term semantic memory storage via mem0 integration with fact extraction and retrieval across sessions
|
|
1124
|
+
- **ConversationMemory**: Short-term verbatim message tracking for active conversation context
|
|
1125
|
+
- **Automatic Context Compression**: Smart compression when approaching token limits with configurable thresholds (trigger_threshold, target_ratio)
|
|
1126
|
+
- **Cross-Agent Memory Sharing**: Agents share memory with turn-aware filtering to prevent temporal information leakage
|
|
1127
|
+
- **Context Monitoring**: Real-time token usage tracking with automatic compression triggers
|
|
1128
|
+
- **Session Management**: Memory isolation and continuation across runs with session naming support
|
|
1129
|
+
- **Qdrant Integration**: Vector database support for efficient semantic search in both server and local modes
|
|
1130
|
+
- **Configurable Memory Providers**: Support for OpenAI, Anthropic, Groq, and other mem0-compatible LLM and embedding providers
|
|
1131
|
+
|
|
1132
|
+
#### Memory Configuration
|
|
1133
|
+
- **Global and Per-Agent Control**: Enable/disable memory at system or individual agent level
|
|
1134
|
+
- **Compression Settings**: Configurable trigger thresholds and target ratios for context window management
|
|
1135
|
+
- **Retrieval Configuration**: Customizable retrieval limits and smart filtering to exclude recent messages
|
|
1136
|
+
- **Memory Persistence**: Session continuation with named sessions for cross-session memory access
|
|
1091
1137
|
|
|
1092
|
-
|
|
1138
|
+
#### Configuration Files
|
|
1139
|
+
- `gpt5mini_gemini_context_window_management.yaml` - Multi-agent with automatic context compression
|
|
1140
|
+
- `gpt5mini_gemini_research_to_implementation.yaml` - Research-to-implementation workflow with memory
|
|
1141
|
+
- `gpt5mini_high_reasoning_gemini.yaml` - High reasoning agents with memory integration
|
|
1142
|
+
- `gpt5mini_gemini_baseline_research_to_implementation.yaml` - Baseline research workflow for comparison
|
|
1143
|
+
- `single_agent_compression_test.yaml` - Single agent testing context compression behavior
|
|
1093
1144
|
|
|
1094
|
-
####
|
|
1095
|
-
-
|
|
1096
|
-
-
|
|
1097
|
-
-
|
|
1098
|
-
-
|
|
1099
|
-
- **Multi-Workspace Support**: Planning mode works across different workspaces without conflicts
|
|
1100
|
-
- **Test Coverage**: Comprehensive tests in `massgen/tests/test_intelligent_planning_mode.py`
|
|
1101
|
-
- **Documentation**: Complete guide in `docs/case_studies/INTELLIGENT_PLANNING_MODE.md`
|
|
1145
|
+
#### Documentation
|
|
1146
|
+
- Complete memory system user guide: `docs/source/user_guide/memory.rst`
|
|
1147
|
+
- Design decisions documentation explaining architectural choices
|
|
1148
|
+
- API reference for PersistentMemory, ConversationMemory, and ContextMonitor classes
|
|
1149
|
+
- Comprehensive troubleshooting guide and monitoring instructions
|
|
1102
1150
|
|
|
1103
|
-
####
|
|
1104
|
-
-
|
|
1105
|
-
- **Model Priority Updates**: Reorganized Claude model list with updated defaults (`claude-sonnet-4-5-20250929`)
|
|
1106
|
-
- **Grok Web Search Fix**: Resolved `extra_body` parameter handling for Grok's Live Search API with new `_add_grok_search_params()` method
|
|
1151
|
+
#### Testing Infrastructure
|
|
1152
|
+
- Memory test suite: `test_agent_memory.py`, `test_conversation_memory.py`, `test_orchestrator_memory.py`, `test_persistent_memory.py`
|
|
1107
1153
|
|
|
1108
|
-
|
|
1109
|
-
- **Planning Mode Configs**: Updated 5 configurations in `massgen/configs/tools/planning/` with selective blocking examples
|
|
1110
|
-
- **Default Configuration**: Updated `three_agents_default.yaml` with Grok-4-fast model
|
|
1154
|
+
### Previous Achievements (v0.0.3 - v0.1.4)
|
|
1111
1155
|
|
|
1112
|
-
|
|
1156
|
+
✅ **Multimodal Generation Tools (v0.1.4)**: Create images from text via DALL-E API, generate videos from descriptions, text-to-speech with audio transcription support, document generation for PDF/DOCX/XLSX/PPTX formats, image transformation capabilities for existing images
|
|
1157
|
+
|
|
1158
|
+
✅ **Binary File Protection (v0.1.4)**: Automatic blocking prevents text tools from accessing 40+ binary file types including images, videos, audio, archives, and Office documents, intelligent error messages guide users to appropriate specialized tools for binary content
|
|
1159
|
+
|
|
1160
|
+
✅ **Crawl4AI Integration (v0.1.4)**: Intelligent web scraping with LLM-powered content extraction and customizable extraction patterns for structured data retrieval from websites
|
|
1161
|
+
|
|
1162
|
+
✅ **Post-Evaluation Workflow (v0.1.3)**: Winning agents evaluate their own answers before submission with submit and restart capabilities, supports answer confirmation and orchestration restart with feedback across all backends
|
|
1163
|
+
|
|
1164
|
+
✅ **Multimodal Understanding Tools (v0.1.3)**: Analyze images, transcribe audio, extract video frames, and process documents (PDF/DOCX/XLSX/PPTX) with structured JSON output, works across all backends via OpenAI GPT-4.1 integration
|
|
1165
|
+
|
|
1166
|
+
✅ **Docker Sudo Mode (v0.1.3)**: Privileged command execution in Docker containers for system-level operations requiring elevated permissions
|
|
1167
|
+
|
|
1168
|
+
✅ **Intelligent Planning Mode (v0.1.2)**: Automatic question analysis determining operation irreversibility via `_analyze_question_irreversibility()` in orchestrator, selective tool blocking with `set_planning_mode_blocked_tools()` and `is_mcp_tool_blocked()` methods, read-only MCP operations during coordination with write operations blocked, zero-configuration transparent operation, multi-workspace support
|
|
1169
|
+
|
|
1170
|
+
✅ **Model Updates (v0.1.2)**: Claude 4.5 Haiku model `claude-haiku-4-5-20251001`, reorganized Claude model priorities with `claude-sonnet-4-5-20250929` default, Grok web search fix with `_add_grok_search_params()` method for proper `extra_body` parameter handling
|
|
1113
1171
|
|
|
1114
1172
|
✅ **Custom Tools System (v0.1.1)**: User-defined Python function registration using `ToolManager` class in `massgen/tool/_manager.py`, cross-backend support alongside MCP servers, builtin/MCP/custom tool categories with automatic discovery, 40+ examples in `massgen/configs/tools/custom_tools/`, voting sensitivity controls with three-tier quality system (lenient/balanced/strict), answer novelty detection preventing duplicates
|
|
1115
1173
|
|
|
1116
|
-
✅ **Backend Enhancements (v0.1.1)**: Gemini architecture refactoring with extracted MCP management (`gemini_mcp_manager.py`), tracking (`gemini_trackers.py`), and utilities, new capabilities registry in `massgen/backend/capabilities.py` documenting feature support across backends
|
|
1174
|
+
✅ **Backend Enhancements (v0.1.1)**: Gemini architecture refactoring with extracted MCP management (`gemini_mcp_manager.py`), tracking (`gemini_trackers.py`), and utilities, new capabilities registry in `massgen/backend/capabilities.py` documenting feature support across all backends
|
|
1117
1175
|
|
|
1118
1176
|
✅ **PyPI Package Release (v0.1.0)**: Official distribution via `pip install massgen` with simplified installation, global `massgen` command accessible from any directory, comprehensive Sphinx documentation at [docs.massgen.ai](https://docs.massgen.ai/), interactive setup wizard with use case presets and API key management, enhanced CLI with `@examples/` prefix for built-in configurations
|
|
1119
1177
|
|
|
@@ -1213,19 +1271,21 @@ MassGen is currently in its foundational stage, with a focus on parallel, asynch
|
|
|
1213
1271
|
|
|
1214
1272
|
We welcome community contributions to achieve these goals.
|
|
1215
1273
|
|
|
1216
|
-
### v0.1.
|
|
1274
|
+
### v0.1.6 Roadmap
|
|
1217
1275
|
|
|
1218
|
-
Version 0.1.
|
|
1276
|
+
Version 0.1.6 focuses on backend code refactoring for improved maintainability and developer experience:
|
|
1219
1277
|
|
|
1220
|
-
####
|
|
1221
|
-
- **
|
|
1222
|
-
- **Final Agent Submit/Restart Tools**: Enable final agent to decide whether to submit or restart orchestration
|
|
1278
|
+
#### Planned Features
|
|
1279
|
+
- **Backend Code Refactoring**: Major code refactoring for improved maintainability and developer experience with better code organization, modularity, and architectural improvements
|
|
1223
1280
|
|
|
1224
1281
|
Key technical approach:
|
|
1225
|
-
- **
|
|
1226
|
-
- **
|
|
1282
|
+
- **Code Architecture**: Enhanced code organization with improved modularity and separation of concerns
|
|
1283
|
+
- **Developer Experience**: Simplified backend extension points, improved API clarity, better error handling and debugging support
|
|
1284
|
+
- **Quality Assurance**: Comprehensive testing to ensure no functionality regressions
|
|
1285
|
+
|
|
1286
|
+
**Target Release**: November 1, 2025 (Friday @ 9am PT)
|
|
1227
1287
|
|
|
1228
|
-
For detailed milestones and technical specifications, see the [full v0.1.
|
|
1288
|
+
For detailed milestones and technical specifications, see the [full v0.1.6 roadmap](ROADMAP_v0.1.6.md).
|
|
1229
1289
|
|
|
1230
1290
|
---
|
|
1231
1291
|
|