massgen 0.1.3__tar.gz → 0.1.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of massgen might be problematic. Click here for more details.

Files changed (418) hide show
  1. {massgen-0.1.3 → massgen-0.1.4}/CHANGELOG.md +69 -6
  2. {massgen-0.1.3 → massgen-0.1.4}/CONTRIBUTING.md +8 -8
  3. {massgen-0.1.3 → massgen-0.1.4}/PKG-INFO +96 -69
  4. massgen-0.1.3/README_PYPI.md → massgen-0.1.4/README.md +109 -79
  5. massgen-0.1.3/README.md → massgen-0.1.4/README_PYPI.md +92 -92
  6. massgen-0.1.4/assets/logo-dark.png +0 -0
  7. massgen-0.1.4/assets/thumbnail.png +0 -0
  8. {massgen-0.1.3 → massgen-0.1.4}/massgen/__init__.py +1 -1
  9. {massgen-0.1.3 → massgen-0.1.4}/massgen/api_params_handler/_chat_completions_api_params_handler.py +4 -0
  10. {massgen-0.1.3 → massgen-0.1.4}/massgen/api_params_handler/_claude_api_params_handler.py +4 -0
  11. {massgen-0.1.3 → massgen-0.1.4}/massgen/api_params_handler/_gemini_api_params_handler.py +4 -0
  12. {massgen-0.1.3 → massgen-0.1.4}/massgen/api_params_handler/_response_api_params_handler.py +4 -0
  13. {massgen-0.1.3 → massgen-0.1.4}/massgen/backend/base_with_custom_tool_and_mcp.py +25 -5
  14. {massgen-0.1.3 → massgen-0.1.4}/massgen/backend/docs/permissions_and_context_files.md +2 -2
  15. {massgen-0.1.3 → massgen-0.1.4}/massgen/backend/response.py +2 -0
  16. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/README.md +49 -40
  17. massgen-0.1.4/massgen/configs/tools/custom_tools/crawl4ai_example.yaml +55 -0
  18. massgen-0.1.4/massgen/configs/tools/custom_tools/multimodal_tools/text_to_file_generation_multi.yaml +61 -0
  19. massgen-0.1.4/massgen/configs/tools/custom_tools/multimodal_tools/text_to_file_generation_single.yaml +29 -0
  20. massgen-0.1.4/massgen/configs/tools/custom_tools/multimodal_tools/text_to_image_generation_multi.yaml +51 -0
  21. massgen-0.1.4/massgen/configs/tools/custom_tools/multimodal_tools/text_to_image_generation_single.yaml +33 -0
  22. massgen-0.1.4/massgen/configs/tools/custom_tools/multimodal_tools/text_to_speech_generation_multi.yaml +55 -0
  23. massgen-0.1.4/massgen/configs/tools/custom_tools/multimodal_tools/text_to_speech_generation_single.yaml +33 -0
  24. massgen-0.1.4/massgen/configs/tools/custom_tools/multimodal_tools/text_to_video_generation_multi.yaml +47 -0
  25. massgen-0.1.4/massgen/configs/tools/custom_tools/multimodal_tools/text_to_video_generation_single.yaml +29 -0
  26. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/multimodal_tools/understand_audio.yaml +1 -1
  27. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/multimodal_tools/understand_file.yaml +1 -1
  28. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/multimodal_tools/understand_image.yaml +1 -1
  29. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/multimodal_tools/understand_video.yaml +1 -1
  30. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/multimodal_tools/youtube_video_analysis.yaml +1 -1
  31. {massgen-0.1.3 → massgen-0.1.4}/massgen/filesystem_manager/_filesystem_manager.py +1 -0
  32. {massgen-0.1.3 → massgen-0.1.4}/massgen/filesystem_manager/_path_permission_manager.py +148 -0
  33. {massgen-0.1.3 → massgen-0.1.4}/massgen/message_templates.py +160 -12
  34. {massgen-0.1.3 → massgen-0.1.4}/massgen/orchestrator.py +16 -0
  35. massgen-0.1.4/massgen/tests/test_binary_file_blocking.py +274 -0
  36. {massgen-0.1.3 → massgen-0.1.4}/massgen/tests/test_case_studies.md +12 -12
  37. massgen-0.1.4/massgen/tests/test_multimodal_size_limits.py +407 -0
  38. {massgen-0.1.3 → massgen-0.1.4}/massgen/tool/_manager.py +7 -2
  39. massgen-0.1.4/massgen/tool/_multimodal_tools/image_to_image_generation.py +293 -0
  40. massgen-0.1.4/massgen/tool/_multimodal_tools/text_to_file_generation.py +455 -0
  41. massgen-0.1.4/massgen/tool/_multimodal_tools/text_to_image_generation.py +222 -0
  42. massgen-0.1.4/massgen/tool/_multimodal_tools/text_to_speech_continue_generation.py +226 -0
  43. massgen-0.1.4/massgen/tool/_multimodal_tools/text_to_speech_transcription_generation.py +217 -0
  44. massgen-0.1.4/massgen/tool/_multimodal_tools/text_to_video_generation.py +223 -0
  45. {massgen-0.1.3 → massgen-0.1.4}/massgen/tool/_multimodal_tools/understand_audio.py +19 -1
  46. {massgen-0.1.3 → massgen-0.1.4}/massgen/tool/_multimodal_tools/understand_file.py +6 -1
  47. {massgen-0.1.3 → massgen-0.1.4}/massgen/tool/_multimodal_tools/understand_image.py +112 -8
  48. {massgen-0.1.3 → massgen-0.1.4}/massgen/tool/_multimodal_tools/understand_video.py +32 -5
  49. massgen-0.1.4/massgen/tool/_web_tools/crawl4ai_tool.py +718 -0
  50. {massgen-0.1.3 → massgen-0.1.4}/massgen/tool/docs/multimodal_tools.md +589 -0
  51. {massgen-0.1.3 → massgen-0.1.4}/massgen.egg-info/PKG-INFO +96 -69
  52. {massgen-0.1.3 → massgen-0.1.4}/massgen.egg-info/SOURCES.txt +19 -9
  53. {massgen-0.1.3 → massgen-0.1.4}/massgen.egg-info/requires.txt +1 -0
  54. {massgen-0.1.3 → massgen-0.1.4}/pyproject.toml +1 -0
  55. massgen-0.1.3/assets/logo-dark.png +0 -0
  56. massgen-0.1.3/massgen/configs/tools/custom_tools/crawl4ai_mcp_example.yaml +0 -67
  57. massgen-0.1.3/massgen/configs/tools/custom_tools/crawl4ai_multi_agent_example.yaml +0 -68
  58. massgen-0.1.3/massgen/configs/tools/custom_tools/multimodal_tools/playwright_with_img_understanding.yaml +0 -98
  59. massgen-0.1.3/massgen/configs/tools/custom_tools/multimodal_tools/understand_video_example.yaml +0 -54
  60. massgen-0.1.3/massgen/configs/tools/memory/README.md +0 -199
  61. massgen-0.1.3/massgen/configs/tools/memory/gpt5mini_gemini_context_window_management.yaml +0 -131
  62. massgen-0.1.3/massgen/configs/tools/memory/gpt5mini_gemini_no_persistent_memory.yaml +0 -133
  63. massgen-0.1.3/massgen/configs/tools/memory/test_context_window_management.py +0 -286
  64. massgen-0.1.3/massgen/configs/tools/multimodal/gpt5mini_gpt5nano_documentation_evolution.yaml +0 -97
  65. {massgen-0.1.3 → massgen-0.1.4}/.env.example +0 -0
  66. {massgen-0.1.3 → massgen-0.1.4}/LICENSE +0 -0
  67. {massgen-0.1.3 → massgen-0.1.4}/MANIFEST.in +0 -0
  68. {massgen-0.1.3 → massgen-0.1.4}/assets/MassGen-v1.gif +0 -0
  69. {massgen-0.1.3 → massgen-0.1.4}/assets/cos.png +0 -0
  70. {massgen-0.1.3 → massgen-0.1.4}/assets/favicon.ico +0 -0
  71. {massgen-0.1.3 → massgen-0.1.4}/assets/logo.png +0 -0
  72. {massgen-0.1.3 → massgen-0.1.4}/assets/massgen-demo-light.gif +0 -0
  73. {massgen-0.1.3 → massgen-0.1.4}/assets/massgen-demo.gif +0 -0
  74. {massgen-0.1.3 → massgen-0.1.4}/assets/release_related_figures/context_path.png +0 -0
  75. {massgen-0.1.3 → massgen-0.1.4}/assets/release_related_figures/copy_file.png +0 -0
  76. /massgen-0.1.3/assets/thumbnail.png → /massgen-0.1.4/assets/thumbnail_old.png +0 -0
  77. {massgen-0.1.3 → massgen-0.1.4}/massgen/adapters/__init__.py +0 -0
  78. {massgen-0.1.3 → massgen-0.1.4}/massgen/adapters/ag2_adapter.py +0 -0
  79. {massgen-0.1.3 → massgen-0.1.4}/massgen/adapters/base.py +0 -0
  80. {massgen-0.1.3 → massgen-0.1.4}/massgen/adapters/tests/__init__.py +0 -0
  81. {massgen-0.1.3 → massgen-0.1.4}/massgen/adapters/tests/test_ag2_adapter.py +0 -0
  82. {massgen-0.1.3 → massgen-0.1.4}/massgen/adapters/tests/test_agent_adapter.py +0 -0
  83. {massgen-0.1.3 → massgen-0.1.4}/massgen/adapters/utils/__init__.py +0 -0
  84. {massgen-0.1.3 → massgen-0.1.4}/massgen/adapters/utils/ag2_utils.py +0 -0
  85. {massgen-0.1.3 → massgen-0.1.4}/massgen/adapters/utils/tests/__init__.py +0 -0
  86. {massgen-0.1.3 → massgen-0.1.4}/massgen/adapters/utils/tests/test_ag2_utils.py +0 -0
  87. {massgen-0.1.3 → massgen-0.1.4}/massgen/agent_config.py +0 -0
  88. {massgen-0.1.3 → massgen-0.1.4}/massgen/api_params_handler/__init__.py +0 -0
  89. {massgen-0.1.3 → massgen-0.1.4}/massgen/api_params_handler/_api_params_handler_base.py +0 -0
  90. {massgen-0.1.3 → massgen-0.1.4}/massgen/backend/__init__.py +0 -0
  91. {massgen-0.1.3 → massgen-0.1.4}/massgen/backend/azure_openai.py +0 -0
  92. {massgen-0.1.3 → massgen-0.1.4}/massgen/backend/base.py +0 -0
  93. {massgen-0.1.3 → massgen-0.1.4}/massgen/backend/capabilities.py +0 -0
  94. {massgen-0.1.3 → massgen-0.1.4}/massgen/backend/chat_completions.py +0 -0
  95. {massgen-0.1.3 → massgen-0.1.4}/massgen/backend/claude.py +0 -0
  96. {massgen-0.1.3 → massgen-0.1.4}/massgen/backend/claude_code.py +0 -0
  97. {massgen-0.1.3 → massgen-0.1.4}/massgen/backend/cli_base.py +0 -0
  98. {massgen-0.1.3 → massgen-0.1.4}/massgen/backend/docs/BACKEND_ARCHITECTURE.md +0 -0
  99. {massgen-0.1.3 → massgen-0.1.4}/massgen/backend/docs/CLAUDE_API_RESEARCH.md +0 -0
  100. {massgen-0.1.3 → massgen-0.1.4}/massgen/backend/docs/Function calling openai responses.md +0 -0
  101. {massgen-0.1.3 → massgen-0.1.4}/massgen/backend/docs/GEMINI_API_DOCUMENTATION.md +0 -0
  102. {massgen-0.1.3 → massgen-0.1.4}/massgen/backend/docs/Gemini MCP Integration Analysis.md +0 -0
  103. {massgen-0.1.3 → massgen-0.1.4}/massgen/backend/docs/MCP_IMPLEMENTATION_CLAUDE_BACKEND.md +0 -0
  104. {massgen-0.1.3 → massgen-0.1.4}/massgen/backend/docs/MCP_INTEGRATION_RESPONSE_BACKEND.md +0 -0
  105. {massgen-0.1.3 → massgen-0.1.4}/massgen/backend/docs/OPENAI_GPT5_MODELS.md +0 -0
  106. {massgen-0.1.3 → massgen-0.1.4}/massgen/backend/docs/OPENAI_RESPONSE_API_TOOL_CALLS.md +0 -0
  107. {massgen-0.1.3 → massgen-0.1.4}/massgen/backend/docs/OPENAI_response_streaming.md +0 -0
  108. {massgen-0.1.3 → massgen-0.1.4}/massgen/backend/docs/inference_backend.md +0 -0
  109. {massgen-0.1.3 → massgen-0.1.4}/massgen/backend/external.py +0 -0
  110. {massgen-0.1.3 → massgen-0.1.4}/massgen/backend/gemini.py +0 -0
  111. {massgen-0.1.3 → massgen-0.1.4}/massgen/backend/gemini_mcp_manager.py +0 -0
  112. {massgen-0.1.3 → massgen-0.1.4}/massgen/backend/gemini_trackers.py +0 -0
  113. {massgen-0.1.3 → massgen-0.1.4}/massgen/backend/gemini_utils.py +0 -0
  114. {massgen-0.1.3 → massgen-0.1.4}/massgen/backend/grok.py +0 -0
  115. {massgen-0.1.3 → massgen-0.1.4}/massgen/backend/inference.py +0 -0
  116. {massgen-0.1.3 → massgen-0.1.4}/massgen/backend/lmstudio.py +0 -0
  117. {massgen-0.1.3 → massgen-0.1.4}/massgen/chat_agent.py +0 -0
  118. {massgen-0.1.3 → massgen-0.1.4}/massgen/cli.py +0 -0
  119. {massgen-0.1.3 → massgen-0.1.4}/massgen/config_builder.py +0 -0
  120. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/BACKEND_CONFIGURATION.md +0 -0
  121. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/ag2/ag2_case_study.yaml +0 -0
  122. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/ag2/ag2_coder.yaml +0 -0
  123. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/ag2/ag2_coder_case_study.yaml +0 -0
  124. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/ag2/ag2_gemini.yaml +0 -0
  125. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/ag2/ag2_groupchat.yaml +0 -0
  126. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/ag2/ag2_groupchat_gpt.yaml +0 -0
  127. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/ag2/ag2_single_agent.yaml +0 -0
  128. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/basic/multi/fast_timeout_example.yaml +0 -0
  129. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/basic/multi/gemini_4o_claude.yaml +0 -0
  130. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/basic/multi/gemini_gpt5nano_claude.yaml +0 -0
  131. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/basic/multi/geminicode_4o_claude.yaml +0 -0
  132. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/basic/multi/geminicode_gpt5nano_claude.yaml +0 -0
  133. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/basic/multi/glm_gemini_claude.yaml +0 -0
  134. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/basic/multi/gpt4o_audio_generation.yaml +0 -0
  135. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/basic/multi/gpt4o_image_generation.yaml +0 -0
  136. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/basic/multi/gpt5nano_glm_qwen.yaml +0 -0
  137. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/basic/multi/gpt5nano_image_understanding.yaml +0 -0
  138. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/basic/multi/three_agents_default.yaml +0 -0
  139. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/basic/multi/three_agents_opensource.yaml +0 -0
  140. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/basic/multi/three_agents_vllm.yaml +0 -0
  141. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/basic/multi/two_agents_gemini.yaml +0 -0
  142. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/basic/multi/two_agents_gpt5.yaml +0 -0
  143. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/basic/multi/two_agents_opensource_lmstudio.yaml +0 -0
  144. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/basic/multi/two_qwen_vllm_sglang.yaml +0 -0
  145. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/basic/single/single_agent.yaml +0 -0
  146. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/basic/single/single_flash2.5.yaml +0 -0
  147. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/basic/single/single_gemini2.5pro.yaml +0 -0
  148. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/basic/single/single_gpt4o_audio_generation.yaml +0 -0
  149. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/basic/single/single_gpt4o_image_generation.yaml +0 -0
  150. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/basic/single/single_gpt4o_video_generation.yaml +0 -0
  151. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/basic/single/single_gpt5nano.yaml +0 -0
  152. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/basic/single/single_gpt5nano_file_search.yaml +0 -0
  153. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/basic/single/single_gpt5nano_image_understanding.yaml +0 -0
  154. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/basic/single/single_gptoss120b.yaml +0 -0
  155. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/basic/single/single_openrouter_audio_understanding.yaml +0 -0
  156. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/basic/single/single_qwen_video_understanding.yaml +0 -0
  157. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/debug/code_execution/command_filtering_blacklist.yaml +0 -0
  158. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/debug/code_execution/command_filtering_whitelist.yaml +0 -0
  159. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/debug/code_execution/docker_verification.yaml +0 -0
  160. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/debug/restart_test_controlled.yaml +0 -0
  161. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/debug/restart_test_controlled_filesystem.yaml +0 -0
  162. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/debug/skip_coordination_test.yaml +0 -0
  163. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/debug/test_sdk_migration.yaml +0 -0
  164. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/docs/DISCORD_MCP_SETUP.md +0 -0
  165. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/docs/TWITTER_MCP_ENESCINAR_SETUP.md +0 -0
  166. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/providers/azure/azure_openai_multi.yaml +0 -0
  167. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/providers/azure/azure_openai_single.yaml +0 -0
  168. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/providers/claude/claude.yaml +0 -0
  169. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/providers/gemini/gemini_gpt5nano.yaml +0 -0
  170. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/providers/local/lmstudio.yaml +0 -0
  171. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/providers/openai/gpt5.yaml +0 -0
  172. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/providers/openai/gpt5_nano.yaml +0 -0
  173. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/providers/others/grok_single_agent.yaml +0 -0
  174. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/providers/others/zai_coding_team.yaml +0 -0
  175. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/providers/others/zai_glm45.yaml +0 -0
  176. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/teams/creative/creative_team.yaml +0 -0
  177. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/teams/creative/travel_planning.yaml +0 -0
  178. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/teams/research/news_analysis.yaml +0 -0
  179. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/teams/research/research_team.yaml +0 -0
  180. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/teams/research/technical_analysis.yaml +0 -0
  181. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/code-execution/basic_command_execution.yaml +0 -0
  182. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/code-execution/code_execution_use_case_simple.yaml +0 -0
  183. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/code-execution/docker_claude_code.yaml +0 -0
  184. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/code-execution/docker_multi_agent.yaml +0 -0
  185. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/code-execution/docker_simple.yaml +0 -0
  186. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/code-execution/docker_with_resource_limits.yaml +0 -0
  187. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/code-execution/docker_with_sudo.yaml +0 -0
  188. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/code-execution/multi_agent_playwright_automation.yaml +0 -0
  189. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/claude_code_custom_tool_example.yaml +0 -0
  190. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/claude_code_custom_tool_example_no_path.yaml +0 -0
  191. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/claude_code_custom_tool_with_mcp_example.yaml +0 -0
  192. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/claude_code_custom_tool_with_wrong_mcp_example.yaml +0 -0
  193. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/claude_code_wrong_custom_tool_with_mcp_example.yaml +0 -0
  194. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/claude_custom_tool_example.yaml +0 -0
  195. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/claude_custom_tool_example_no_path.yaml +0 -0
  196. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/claude_custom_tool_with_mcp_example.yaml +0 -0
  197. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/claude_custom_tool_with_wrong_mcp_example.yaml +0 -0
  198. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/claude_wrong_custom_tool_with_mcp_example.yaml +0 -0
  199. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/computer_use_browser_example.yaml +0 -0
  200. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/computer_use_docker_example.yaml +0 -0
  201. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/computer_use_example.yaml +0 -0
  202. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/gemini_custom_tool_example.yaml +0 -0
  203. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/gemini_custom_tool_example_no_path.yaml +0 -0
  204. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/gemini_custom_tool_with_mcp_example.yaml +0 -0
  205. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/gemini_custom_tool_with_wrong_mcp_example.yaml +0 -0
  206. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/gemini_wrong_custom_tool_with_mcp_example.yaml +0 -0
  207. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/github_issue_market_analysis.yaml +0 -0
  208. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/gpt5_nano_custom_tool_example.yaml +0 -0
  209. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/gpt5_nano_custom_tool_example_no_path.yaml +0 -0
  210. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/gpt5_nano_custom_tool_with_mcp_example.yaml +0 -0
  211. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/gpt5_nano_custom_tool_with_wrong_mcp_example.yaml +0 -0
  212. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/gpt5_nano_wrong_custom_tool_with_mcp_example.yaml +0 -0
  213. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/gpt_oss_custom_tool_example.yaml +0 -0
  214. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/gpt_oss_custom_tool_example_no_path.yaml +0 -0
  215. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/gpt_oss_custom_tool_with_mcp_example.yaml +0 -0
  216. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/gpt_oss_custom_tool_with_wrong_mcp_example.yaml +0 -0
  217. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/gpt_oss_wrong_custom_tool_with_mcp_example.yaml +0 -0
  218. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/grok3_mini_custom_tool_example.yaml +0 -0
  219. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/grok3_mini_custom_tool_example_no_path.yaml +0 -0
  220. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/grok3_mini_custom_tool_with_mcp_example.yaml +0 -0
  221. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/grok3_mini_custom_tool_with_wrong_mcp_example.yaml +0 -0
  222. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/grok3_mini_wrong_custom_tool_with_mcp_example.yaml +0 -0
  223. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/qwen_api_custom_tool_example.yaml +0 -0
  224. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/qwen_api_custom_tool_example_no_path.yaml +0 -0
  225. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/qwen_api_custom_tool_with_mcp_example.yaml +0 -0
  226. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/qwen_api_custom_tool_with_wrong_mcp_example.yaml +0 -0
  227. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/qwen_api_wrong_custom_tool_with_mcp_example.yaml +0 -0
  228. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/qwen_local_custom_tool_example.yaml +0 -0
  229. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/qwen_local_custom_tool_example_no_path.yaml +0 -0
  230. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/qwen_local_custom_tool_with_mcp_example.yaml +0 -0
  231. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/qwen_local_custom_tool_with_wrong_mcp_example.yaml +0 -0
  232. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/custom_tools/qwen_local_wrong_custom_tool_with_mcp_example.yaml +0 -0
  233. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/filesystem/cc_gpt5_gemini_filesystem.yaml +0 -0
  234. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/filesystem/claude_code_context_sharing.yaml +0 -0
  235. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/filesystem/claude_code_flash2.5.yaml +0 -0
  236. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/filesystem/claude_code_flash2.5_gptoss.yaml +0 -0
  237. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/filesystem/claude_code_gpt5nano.yaml +0 -0
  238. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/filesystem/claude_code_single.yaml +0 -0
  239. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/filesystem/fs_permissions_test.yaml +0 -0
  240. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/filesystem/gemini_gemini_workspace_cleanup.yaml +0 -0
  241. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/filesystem/gemini_gpt5_filesystem_casestudy.yaml +0 -0
  242. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/filesystem/gemini_gpt5nano_file_context_path.yaml +0 -0
  243. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/filesystem/gemini_gpt5nano_protected_paths.yaml +0 -0
  244. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/filesystem/gpt5mini_cc_fs_context_path.yaml +0 -0
  245. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/filesystem/grok4_gpt5_gemini_filesystem.yaml +0 -0
  246. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/filesystem/multiturn/grok4_gpt5_claude_code_filesystem_multiturn.yaml +0 -0
  247. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/filesystem/multiturn/grok4_gpt5_gemini_filesystem_multiturn.yaml +0 -0
  248. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/filesystem/multiturn/two_claude_code_filesystem_multiturn.yaml +0 -0
  249. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/filesystem/multiturn/two_gemini_flash_filesystem_multiturn.yaml +0 -0
  250. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/mcp/claude_code_discord_mcp_example.yaml +0 -0
  251. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/mcp/claude_code_simple_mcp.yaml +0 -0
  252. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/mcp/claude_code_twitter_mcp_example.yaml +0 -0
  253. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/mcp/claude_mcp_example.yaml +0 -0
  254. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/mcp/claude_mcp_test.yaml +0 -0
  255. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/mcp/five_agents_travel_mcp_test.yaml +0 -0
  256. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/mcp/five_agents_weather_mcp_test.yaml +0 -0
  257. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/mcp/gemini_mcp_example.yaml +0 -0
  258. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/mcp/gemini_mcp_filesystem_test.yaml +0 -0
  259. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/mcp/gemini_mcp_filesystem_test_sharing.yaml +0 -0
  260. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/mcp/gemini_mcp_filesystem_test_single_agent.yaml +0 -0
  261. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/mcp/gemini_mcp_filesystem_test_with_claude_code.yaml +0 -0
  262. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/mcp/gemini_mcp_test.yaml +0 -0
  263. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/mcp/gemini_notion_mcp.yaml +0 -0
  264. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/mcp/gpt5_nano_mcp_example.yaml +0 -0
  265. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/mcp/gpt5_nano_mcp_test.yaml +0 -0
  266. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/mcp/gpt5mini_claude_code_discord_mcp_example.yaml +0 -0
  267. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/mcp/gpt_oss_mcp_example.yaml +0 -0
  268. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/mcp/gpt_oss_mcp_test.yaml +0 -0
  269. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/mcp/grok3_mini_mcp_example.yaml +0 -0
  270. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/mcp/grok3_mini_mcp_test.yaml +0 -0
  271. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/mcp/multimcp_gemini.yaml +0 -0
  272. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/mcp/qwen_api_mcp_example.yaml +0 -0
  273. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/mcp/qwen_api_mcp_test.yaml +0 -0
  274. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/mcp/qwen_local_mcp_example.yaml +0 -0
  275. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/mcp/qwen_local_mcp_test.yaml +0 -0
  276. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/planning/five_agents_discord_mcp_planning_mode.yaml +0 -0
  277. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/planning/five_agents_filesystem_mcp_planning_mode.yaml +0 -0
  278. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/planning/five_agents_notion_mcp_planning_mode.yaml +0 -0
  279. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/planning/five_agents_twitter_mcp_planning_mode.yaml +0 -0
  280. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/planning/gpt5_mini_case_study_mcp_planning_mode.yaml +0 -0
  281. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/web-search/claude_streamable_http_test.yaml +0 -0
  282. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/web-search/gemini_streamable_http_test.yaml +0 -0
  283. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/web-search/gpt5_mini_streamable_http_test.yaml +0 -0
  284. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/web-search/gpt_oss_streamable_http_test.yaml +0 -0
  285. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/web-search/grok3_mini_streamable_http_test.yaml +0 -0
  286. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/web-search/qwen_api_streamable_http_test.yaml +0 -0
  287. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/tools/web-search/qwen_local_streamable_http_test.yaml +0 -0
  288. {massgen-0.1.3 → massgen-0.1.4}/massgen/configs/voting/gemini_gpt_voting_sensitivity.yaml +0 -0
  289. {massgen-0.1.3 → massgen-0.1.4}/massgen/coordination_tracker.py +0 -0
  290. {massgen-0.1.3 → massgen-0.1.4}/massgen/docker/README.md +0 -0
  291. {massgen-0.1.3 → massgen-0.1.4}/massgen/filesystem_manager/__init__.py +0 -0
  292. {massgen-0.1.3 → massgen-0.1.4}/massgen/filesystem_manager/_base.py +0 -0
  293. {massgen-0.1.3 → massgen-0.1.4}/massgen/filesystem_manager/_code_execution_server.py +0 -0
  294. {massgen-0.1.3 → massgen-0.1.4}/massgen/filesystem_manager/_docker_manager.py +0 -0
  295. {massgen-0.1.3 → massgen-0.1.4}/massgen/filesystem_manager/_file_operation_tracker.py +0 -0
  296. {massgen-0.1.3 → massgen-0.1.4}/massgen/filesystem_manager/_workspace_tools_server.py +0 -0
  297. {massgen-0.1.3 → massgen-0.1.4}/massgen/formatter/__init__.py +0 -0
  298. {massgen-0.1.3 → massgen-0.1.4}/massgen/formatter/_chat_completions_formatter.py +0 -0
  299. {massgen-0.1.3 → massgen-0.1.4}/massgen/formatter/_claude_formatter.py +0 -0
  300. {massgen-0.1.3 → massgen-0.1.4}/massgen/formatter/_formatter_base.py +0 -0
  301. {massgen-0.1.3 → massgen-0.1.4}/massgen/formatter/_gemini_formatter.py +0 -0
  302. {massgen-0.1.3 → massgen-0.1.4}/massgen/formatter/_response_formatter.py +0 -0
  303. {massgen-0.1.3 → massgen-0.1.4}/massgen/frontend/__init__.py +0 -0
  304. {massgen-0.1.3 → massgen-0.1.4}/massgen/frontend/coordination_ui.py +0 -0
  305. {massgen-0.1.3 → massgen-0.1.4}/massgen/frontend/displays/__init__.py +0 -0
  306. {massgen-0.1.3 → massgen-0.1.4}/massgen/frontend/displays/base_display.py +0 -0
  307. {massgen-0.1.3 → massgen-0.1.4}/massgen/frontend/displays/create_coordination_table.py +0 -0
  308. {massgen-0.1.3 → massgen-0.1.4}/massgen/frontend/displays/rich_terminal_display.py +0 -0
  309. {massgen-0.1.3 → massgen-0.1.4}/massgen/frontend/displays/simple_display.py +0 -0
  310. {massgen-0.1.3 → massgen-0.1.4}/massgen/frontend/displays/terminal_display.py +0 -0
  311. {massgen-0.1.3 → massgen-0.1.4}/massgen/logger_config.py +0 -0
  312. {massgen-0.1.3 → massgen-0.1.4}/massgen/mcp_tools/README.md +0 -0
  313. {massgen-0.1.3 → massgen-0.1.4}/massgen/mcp_tools/__init__.py +0 -0
  314. {massgen-0.1.3 → massgen-0.1.4}/massgen/mcp_tools/backend_utils.py +0 -0
  315. {massgen-0.1.3 → massgen-0.1.4}/massgen/mcp_tools/circuit_breaker.py +0 -0
  316. {massgen-0.1.3 → massgen-0.1.4}/massgen/mcp_tools/client.py +0 -0
  317. {massgen-0.1.3 → massgen-0.1.4}/massgen/mcp_tools/config_validator.py +0 -0
  318. {massgen-0.1.3 → massgen-0.1.4}/massgen/mcp_tools/docs/circuit_breaker.md +0 -0
  319. {massgen-0.1.3 → massgen-0.1.4}/massgen/mcp_tools/docs/client.md +0 -0
  320. {massgen-0.1.3 → massgen-0.1.4}/massgen/mcp_tools/docs/config_validator.md +0 -0
  321. {massgen-0.1.3 → massgen-0.1.4}/massgen/mcp_tools/docs/exceptions.md +0 -0
  322. {massgen-0.1.3 → massgen-0.1.4}/massgen/mcp_tools/docs/security.md +0 -0
  323. {massgen-0.1.3 → massgen-0.1.4}/massgen/mcp_tools/exceptions.py +0 -0
  324. {massgen-0.1.3 → massgen-0.1.4}/massgen/mcp_tools/hooks.py +0 -0
  325. {massgen-0.1.3 → massgen-0.1.4}/massgen/mcp_tools/security.py +0 -0
  326. {massgen-0.1.3 → massgen-0.1.4}/massgen/stream_chunk/__init__.py +0 -0
  327. {massgen-0.1.3 → massgen-0.1.4}/massgen/stream_chunk/base.py +0 -0
  328. {massgen-0.1.3 → massgen-0.1.4}/massgen/stream_chunk/multimodal.py +0 -0
  329. {massgen-0.1.3 → massgen-0.1.4}/massgen/stream_chunk/text.py +0 -0
  330. {massgen-0.1.3 → massgen-0.1.4}/massgen/tests/__init__.py +0 -0
  331. {massgen-0.1.3 → massgen-0.1.4}/massgen/tests/custom_tools_example.py +0 -0
  332. {massgen-0.1.3 → massgen-0.1.4}/massgen/tests/mcp_test_server.py +0 -0
  333. {massgen-0.1.3 → massgen-0.1.4}/massgen/tests/multi_turn_conversation_design.md +0 -0
  334. {massgen-0.1.3 → massgen-0.1.4}/massgen/tests/multiturn_llm_input_analysis.md +0 -0
  335. {massgen-0.1.3 → massgen-0.1.4}/massgen/tests/test_azure_openai_backend.py +0 -0
  336. {massgen-0.1.3 → massgen-0.1.4}/massgen/tests/test_backend_capabilities.py +0 -0
  337. {massgen-0.1.3 → massgen-0.1.4}/massgen/tests/test_backend_event_loop_all.py +0 -0
  338. {massgen-0.1.3 → massgen-0.1.4}/massgen/tests/test_chat_completions_refactor.py +0 -0
  339. {massgen-0.1.3 → massgen-0.1.4}/massgen/tests/test_claude_backend.py +0 -0
  340. {massgen-0.1.3 → massgen-0.1.4}/massgen/tests/test_claude_code.py +0 -0
  341. {massgen-0.1.3 → massgen-0.1.4}/massgen/tests/test_claude_code_context_sharing.py +0 -0
  342. {massgen-0.1.3 → massgen-0.1.4}/massgen/tests/test_claude_code_orchestrator.py +0 -0
  343. {massgen-0.1.3 → massgen-0.1.4}/massgen/tests/test_cli_backends.py +0 -0
  344. {massgen-0.1.3 → massgen-0.1.4}/massgen/tests/test_code_execution.py +0 -0
  345. {massgen-0.1.3 → massgen-0.1.4}/massgen/tests/test_config_builder.py +0 -0
  346. {massgen-0.1.3 → massgen-0.1.4}/massgen/tests/test_custom_tools.py +0 -0
  347. {massgen-0.1.3 → massgen-0.1.4}/massgen/tests/test_external_agent_backend.py +0 -0
  348. {massgen-0.1.3 → massgen-0.1.4}/massgen/tests/test_final_presentation_fallback.py +0 -0
  349. {massgen-0.1.3 → massgen-0.1.4}/massgen/tests/test_gemini_planning_mode.py +0 -0
  350. {massgen-0.1.3 → massgen-0.1.4}/massgen/tests/test_grok_backend.py +0 -0
  351. {massgen-0.1.3 → massgen-0.1.4}/massgen/tests/test_http_mcp_server.py +0 -0
  352. {massgen-0.1.3 → massgen-0.1.4}/massgen/tests/test_integration_simple.py +0 -0
  353. {massgen-0.1.3 → massgen-0.1.4}/massgen/tests/test_intelligent_planning_mode.py +0 -0
  354. {massgen-0.1.3 → massgen-0.1.4}/massgen/tests/test_mcp_blocking.py +0 -0
  355. {massgen-0.1.3 → massgen-0.1.4}/massgen/tests/test_message_context_building.py +0 -0
  356. {massgen-0.1.3 → massgen-0.1.4}/massgen/tests/test_orchestration_restart.py +0 -0
  357. {massgen-0.1.3 → massgen-0.1.4}/massgen/tests/test_orchestrator_final_presentation.py +0 -0
  358. {massgen-0.1.3 → massgen-0.1.4}/massgen/tests/test_path_permission_manager.py +0 -0
  359. {massgen-0.1.3 → massgen-0.1.4}/massgen/tests/test_rich_terminal_display.py +0 -0
  360. {massgen-0.1.3 → massgen-0.1.4}/massgen/tests/test_timeout.py +0 -0
  361. {massgen-0.1.3 → massgen-0.1.4}/massgen/tests/test_tools.py +0 -0
  362. {massgen-0.1.3 → massgen-0.1.4}/massgen/tests/test_v3_3agents.py +0 -0
  363. {massgen-0.1.3 → massgen-0.1.4}/massgen/tests/test_v3_simple.py +0 -0
  364. {massgen-0.1.3 → massgen-0.1.4}/massgen/tests/test_v3_three_agents.py +0 -0
  365. {massgen-0.1.3 → massgen-0.1.4}/massgen/tests/test_v3_two_agents.py +0 -0
  366. {massgen-0.1.3 → massgen-0.1.4}/massgen/token_manager/__init__.py +0 -0
  367. {massgen-0.1.3 → massgen-0.1.4}/massgen/token_manager/token_manager.py +0 -0
  368. {massgen-0.1.3 → massgen-0.1.4}/massgen/tool/README.md +0 -0
  369. {massgen-0.1.3 → massgen-0.1.4}/massgen/tool/__init__.py +0 -0
  370. {massgen-0.1.3 → massgen-0.1.4}/massgen/tool/_async_helpers.py +0 -0
  371. {massgen-0.1.3 → massgen-0.1.4}/massgen/tool/_basic/__init__.py +0 -0
  372. {massgen-0.1.3 → massgen-0.1.4}/massgen/tool/_basic/_two_num_tool.py +0 -0
  373. {massgen-0.1.3 → massgen-0.1.4}/massgen/tool/_code_executors/__init__.py +0 -0
  374. {massgen-0.1.3 → massgen-0.1.4}/massgen/tool/_code_executors/_python_executor.py +0 -0
  375. {massgen-0.1.3 → massgen-0.1.4}/massgen/tool/_code_executors/_shell_executor.py +0 -0
  376. {massgen-0.1.3 → massgen-0.1.4}/massgen/tool/_exceptions.py +0 -0
  377. {massgen-0.1.3 → massgen-0.1.4}/massgen/tool/_file_handlers/__init__.py +0 -0
  378. {massgen-0.1.3 → massgen-0.1.4}/massgen/tool/_file_handlers/_file_operations.py +0 -0
  379. {massgen-0.1.3 → massgen-0.1.4}/massgen/tool/_registered_tool.py +0 -0
  380. {massgen-0.1.3 → massgen-0.1.4}/massgen/tool/_result.py +0 -0
  381. {massgen-0.1.3 → massgen-0.1.4}/massgen/tool/_self_evolution/_github_issue_analyzer.py +0 -0
  382. {massgen-0.1.3 → massgen-0.1.4}/massgen/tool/docs/builtin_tools.md +0 -0
  383. {massgen-0.1.3 → massgen-0.1.4}/massgen/tool/docs/exceptions.md +0 -0
  384. {massgen-0.1.3 → massgen-0.1.4}/massgen/tool/docs/execution_results.md +0 -0
  385. {massgen-0.1.3 → massgen-0.1.4}/massgen/tool/docs/manager.md +0 -0
  386. {massgen-0.1.3 → massgen-0.1.4}/massgen/tool/docs/workflow_toolkits.md +0 -0
  387. {massgen-0.1.3 → massgen-0.1.4}/massgen/tool/workflow_toolkits/__init__.py +0 -0
  388. {massgen-0.1.3 → massgen-0.1.4}/massgen/tool/workflow_toolkits/base.py +0 -0
  389. {massgen-0.1.3 → massgen-0.1.4}/massgen/tool/workflow_toolkits/new_answer.py +0 -0
  390. {massgen-0.1.3 → massgen-0.1.4}/massgen/tool/workflow_toolkits/post_evaluation.py +0 -0
  391. {massgen-0.1.3 → massgen-0.1.4}/massgen/tool/workflow_toolkits/vote.py +0 -0
  392. {massgen-0.1.3 → massgen-0.1.4}/massgen/utils.py +0 -0
  393. {massgen-0.1.3 → massgen-0.1.4}/massgen/v1/README.md +0 -0
  394. {massgen-0.1.3 → massgen-0.1.4}/massgen/v1/__init__.py +0 -0
  395. {massgen-0.1.3 → massgen-0.1.4}/massgen/v1/agent.py +0 -0
  396. {massgen-0.1.3 → massgen-0.1.4}/massgen/v1/agents.py +0 -0
  397. {massgen-0.1.3 → massgen-0.1.4}/massgen/v1/backends/gemini.py +0 -0
  398. {massgen-0.1.3 → massgen-0.1.4}/massgen/v1/backends/grok.py +0 -0
  399. {massgen-0.1.3 → massgen-0.1.4}/massgen/v1/backends/oai.py +0 -0
  400. {massgen-0.1.3 → massgen-0.1.4}/massgen/v1/cli.py +0 -0
  401. {massgen-0.1.3 → massgen-0.1.4}/massgen/v1/config.py +0 -0
  402. {massgen-0.1.3 → massgen-0.1.4}/massgen/v1/examples/fast-4o-mini-config.yaml +0 -0
  403. {massgen-0.1.3 → massgen-0.1.4}/massgen/v1/examples/fast_config.yaml +0 -0
  404. {massgen-0.1.3 → massgen-0.1.4}/massgen/v1/examples/production.yaml +0 -0
  405. {massgen-0.1.3 → massgen-0.1.4}/massgen/v1/examples/single_agent.yaml +0 -0
  406. {massgen-0.1.3 → massgen-0.1.4}/massgen/v1/logging.py +0 -0
  407. {massgen-0.1.3 → massgen-0.1.4}/massgen/v1/main.py +0 -0
  408. {massgen-0.1.3 → massgen-0.1.4}/massgen/v1/orchestrator.py +0 -0
  409. {massgen-0.1.3 → massgen-0.1.4}/massgen/v1/streaming_display.py +0 -0
  410. {massgen-0.1.3 → massgen-0.1.4}/massgen/v1/tools.py +0 -0
  411. {massgen-0.1.3 → massgen-0.1.4}/massgen/v1/types.py +0 -0
  412. {massgen-0.1.3 → massgen-0.1.4}/massgen/v1/utils.py +0 -0
  413. {massgen-0.1.3 → massgen-0.1.4}/massgen.egg-info/dependency_links.txt +0 -0
  414. {massgen-0.1.3 → massgen-0.1.4}/massgen.egg-info/entry_points.txt +0 -0
  415. {massgen-0.1.3 → massgen-0.1.4}/massgen.egg-info/not-zip-safe +0 -0
  416. {massgen-0.1.3 → massgen-0.1.4}/massgen.egg-info/top_level.txt +0 -0
  417. {massgen-0.1.3 → massgen-0.1.4}/requirements.txt +0 -0
  418. {massgen-0.1.3 → massgen-0.1.4}/setup.cfg +0 -0
@@ -7,17 +7,80 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## Recent Releases
9
9
 
10
+ **v0.1.4 (October 2025)** - Multimodal Generation Tools & Binary File Protection
11
+ Comprehensive generation tools for images, videos, audio, and documents with OpenAI APIs, binary file blocking for security, web crawling integration, and enhanced documentation infrastructure.
12
+
10
13
  **v0.1.3 (October 2025)** - Post-Evaluation Tools & Multimodal Understanding
11
14
  Post-evaluation workflow with submit/restart capabilities, custom multimodal understanding tools, Docker sudo mode, and enhanced config builder.
12
15
 
13
16
  **v0.1.2 (October 2025)** - Intelligent Planning Mode & Model Updates
14
17
  Automatic irreversibility analysis for MCP tools, selective tool blocking, Claude 4.5 Haiku support, and Grok web search improvements.
15
18
 
16
- **v0.1.1 (October 2025)** - Custom Tools, Voting Controls & Documentation
17
- Custom Python function tools, voting sensitivity controls, interactive config builder, and comprehensive Sphinx documentation.
18
-
19
19
  ---
20
20
 
21
+ ## [0.1.4] - 2025-10-27
22
+
23
+ ### Added
24
+ - **Multimodal Generation Tools**: Comprehensive generation capabilities via OpenAI APIs
25
+ - New `text_to_image_generation` tool for generating images from text prompts using DALL-E models
26
+ - New `text_to_video_generation` tool for generating videos from text prompts
27
+ - New `text_to_speech_continue_generation` tool for text-to-speech with continuation support
28
+ - New `text_to_speech_transcription_generation` tool for audio transcription and generation
29
+ - New `text_to_file_generation` tool for generating documents (PDF, DOCX, XLSX, PPTX)
30
+ - New `image_to_image_generation` tool for image-to-image transformations
31
+ - Implemented in `massgen/tool/_multimodal_tools/` with 6 new modules
32
+
33
+ - **Binary File Protection System**: Enhanced security for file operations
34
+ - New binary file blocking in `PathPermissionManager` preventing text tools from reading binary files
35
+ - Added `BINARY_FILE_EXTENSIONS` set covering images, videos, audio, archives, executables, and Office documents
36
+ - New `_validate_binary_file_access()` method with intelligent tool suggestions
37
+ - Prevents context pollution by blocking Read, read_text_file, and read_file tools from binary files
38
+ - Comprehensive test suite in `test_binary_file_blocking.py`
39
+
40
+ - **Crawl4AI Web Scraping Integration**: Advanced web content extraction tool
41
+ - New `crawl4ai_tool` for intelligent web scraping with LLM-powered extraction
42
+ - Implemented in `massgen/tool/_web_tools/crawl4ai_tool.py`
43
+
44
+ ### Changed
45
+ - **Multimodal File Size Limits**: Enhanced validation and automatic handling
46
+ - Automatic image resizing for files exceeding size limits
47
+ - Comprehensive size limit test suite in `test_multimodal_size_limits.py`
48
+ - Enhanced validation in understand_audio and understand_video tools
49
+
50
+ ### Documentations, Configurations and Resources
51
+
52
+ - **PyPI Package Documentation**: Standalone README for PyPI distribution
53
+ - New `README_PYPI.md` with comprehensive package documentation
54
+ - Improved package metadata and installation instructions
55
+
56
+ - **Release Management Documentation**: Comprehensive release workflow guide
57
+ - New `docs/dev_notes/release_checklist.md` with step-by-step release procedures
58
+ - Detailed checklist for testing, documentation, and deployment
59
+
60
+ - **Binary File Protection Documentation**: Enhanced protected paths user guide
61
+ - Updated `docs/source/user_guide/protected_paths.rst` with binary file protection section
62
+ - Documents 40+ protected binary file types and specialized tool suggestions
63
+
64
+ - **Enhanced Pre-commit Hooks**: Improved code quality automation
65
+ - Updated `.pre-commit-config.yaml` with additional checks
66
+ - Better README synchronization and validation
67
+
68
+ - **Documentation Automation**: CI/CD for documentation deployment
69
+ - New `.github/workflows/docs-automation.yml` for automated doc builds
70
+ - Removed legacy docs.yml workflow
71
+
72
+ - **Configuration Examples**: 9 new YAML configuration files
73
+ - **Generation Tools**: 8 multimodal generation configurations
74
+ - `text_to_image_generation_single.yaml` and `text_to_image_generation_multi.yaml`
75
+ - `text_to_video_generation_single.yaml` and `text_to_video_generation_multi.yaml`
76
+ - `text_to_speech_generation_single.yaml` and `text_to_speech_generation_multi.yaml`
77
+ - `text_to_file_generation_single.yaml` and `text_to_file_generation_multi.yaml`
78
+ - **Web Scraping**: `crawl4ai_example.yaml` for Crawl4AI integration
79
+
80
+ ### Technical Details
81
+ - **Major Focus**: Multimodal generation tools, binary file protection system, web scraping integration
82
+ - **Contributors**: @qidanrui @ncrispino @sonichi @Henry-811 and the MassGen team
83
+
21
84
  ## [0.1.3] - 2025-10-24
22
85
 
23
86
  ### Added
@@ -84,7 +147,7 @@ Custom Python function tools, voting sensitivity controls, interactive config bu
84
147
  - `massgen/configs/resources/v0.1.3-example/TUMIX.pdf`: PDF document example
85
148
 
86
149
  - **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
150
+ - `docs/source/examples/case_studies/multimodal-case-study-video-analysis.md`: Meta-level demonstration of multimodal video understanding with agents analyzing their own case study videos
88
151
 
89
152
  ### Technical Details
90
153
  - **Major Focus**: Post-evaluation workflow tools, custom multimodal understanding tools, Docker sudo mode
@@ -122,7 +185,7 @@ Custom Python function tools, voting sensitivity controls, interactive config bu
122
185
  ### Documentations, Configurations and Resources
123
186
 
124
187
  - **Intelligent Planning Mode Case Study**: Complete feature documentation
125
- - `docs/case_studies/INTELLIGENT_PLANNING_MODE.md`: Comprehensive guide for automatic planning mode
188
+ - `docs/source/examples/case_studies/INTELLIGENT_PLANNING_MODE.md`: Comprehensive guide for automatic planning mode
126
189
  - Demonstrates automatic irreversibility detection
127
190
  - Shows read/write operation classification
128
191
  - Includes examples for Discord, filesystem, and Twitter operations
@@ -202,7 +265,7 @@ Custom Python function tools, voting sensitivity controls, interactive config bu
202
265
  ### Documentations, Configurations and Resources
203
266
 
204
267
  - **Case Study: Universal Code Execution via MCP**: Comprehensive v0.0.31 feature documentation
205
- - `docs/case_studies/universal-code-execution-mcp.md`
268
+ - `docs/source/examples/case_studies/universal-code-execution-mcp.md`
206
269
  - Demonstrates pytest test creation and execution across backends
207
270
  - Shows command validation, security layers, and result interpretation
208
271
 
@@ -267,7 +267,7 @@ Create a `.env` file in the `massgen` directory as described in [README](README.
267
267
 
268
268
  ## 🔧 Development Workflow
269
269
 
270
- > **Important**: Our next version is v0.1.4. If you want to contribute, please contribute to the `dev/v0.1.4` branch.
270
+ > **Important**: Our next version is v0.1.5. If you want to contribute, please contribute to the `dev/v0.1.5` branch.
271
271
 
272
272
  ### 1. Create Feature Branch
273
273
 
@@ -275,8 +275,8 @@ Create a `.env` file in the `massgen` directory as described in [README](README.
275
275
  # Fetch latest changes from upstream
276
276
  git fetch upstream
277
277
 
278
- # Create feature branch from dev/v0.1.4
279
- git checkout -b feature/your-feature-name upstream/dev/v0.1.4
278
+ # Create feature branch from dev/v0.1.5
279
+ git checkout -b feature/your-feature-name upstream/dev/v0.1.5
280
280
  ```
281
281
 
282
282
  ### 2. Make Your Changes
@@ -373,7 +373,7 @@ git push origin feature/your-feature-name
373
373
  ```
374
374
 
375
375
  Then create a pull request on GitHub:
376
- - Base branch: `dev/v0.1.4`
376
+ - Base branch: `dev/v0.1.5`
377
377
  - Compare branch: `feature/your-feature-name`
378
378
  - Add clear description of changes
379
379
  - Link any related issues
@@ -479,7 +479,7 @@ Have a significant feature idea not covered by existing tracks?
479
479
  - [ ] Tests pass locally
480
480
  - [ ] Documentation is updated if needed
481
481
  - [ ] Commit messages follow convention
482
- - [ ] PR targets `dev/v0.1.4` branch
482
+ - [ ] PR targets `dev/v0.1.5` branch
483
483
 
484
484
  ### PR Description Should Include
485
485
 
@@ -603,7 +603,7 @@ Every feature needs documentation! Here's how to decide where and what to write.
603
603
  - Feature is significant enough to showcase
604
604
  - Following case-driven development methodology
605
605
 
606
- **Location:** `docs/case_studies/feature_name.md`
606
+ **Location:** `docs/source/examples/case_studies/feature_name.md`
607
607
 
608
608
  **Examples:**
609
609
  - `claude-code-workspace-management.md`
@@ -645,7 +645,7 @@ Every feature needs documentation! Here's how to decide where and what to write.
645
645
  ┌──────────────┐
646
646
  │ Write Case │
647
647
  │ Study │
648
- │ (case_studies/)│
648
+ │ (source/examples/case_studies/)│
649
649
  └──────────────┘
650
650
  ```
651
651
 
@@ -659,7 +659,7 @@ Every feature needs documentation! Here's how to decide where and what to write.
659
659
  | **CHANGELOG** | Every PR | `CHANGELOG.md` | ✅ Yes |
660
660
  | **Examples** | **Every feature** | `docs/source/examples/` | ✅ **ALWAYS** |
661
661
  | **Design Doc** | Complex implementation | `docs/dev_notes/` | ⚠️ Optional |
662
- | **Case Study** | Demonstrate real-world usage | `docs/case_studies/` | ⚠️ Optional but expected |
662
+ | **Case Study** | Demonstrate real-world usage | `docs/source/examples/case_studies/` | ⚠️ Optional but expected |
663
663
 
664
664
  #### 6. Documentation Quality Standards
665
665
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: massgen
3
- Version: 0.1.3
3
+ Version: 0.1.4
4
4
  Summary: Multi-Agent Scaling System - A powerful framework for collaborative AI
5
5
  Author-email: MassGen Team <contact@massgen.dev>
6
6
  License: Apache-2.0
@@ -54,6 +54,7 @@ Requires-Dist: openpyxl>=3.1.5
54
54
  Requires-Dist: python-pptx>=1.0.2
55
55
  Requires-Dist: opencv-python>=4.12.0.88
56
56
  Requires-Dist: pypdf2>=3.0.1
57
+ Requires-Dist: reportlab>=4.0.0
57
58
  Provides-Extra: dev
58
59
  Requires-Dist: pytest>=7.0.0; extra == "dev"
59
60
  Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
@@ -88,23 +89,29 @@ Provides-Extra: all
88
89
  Dynamic: license-file
89
90
 
90
91
  <p align="center">
91
- <img src="https://raw.githubusercontent.com/Leezekun/MassGen/main/assets/logo.png" alt="MassGen Logo" width="360" />
92
+ <picture>
93
+ <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/Leezekun/MassGen/main/assets/logo-dark.png">
94
+ <source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/Leezekun/MassGen/main/assets/logo.png">
95
+ <img src="https://raw.githubusercontent.com/Leezekun/MassGen/main/assets/logo.png" alt="MassGen Logo" width="360" />
96
+ </picture>
92
97
  </p>
93
98
 
94
- <p align="center">
95
- <a href="https://www.python.org/downloads/">
96
- <img src="https://img.shields.io/badge/python-3.11+-blue.svg" alt="Python 3.11+" style="margin-right: 5px;">
97
- </a>
98
- <a href="LICENSE">
99
- <img src="https://img.shields.io/badge/license-Apache%202.0-blue.svg" alt="License" style="margin-right: 5px;">
100
- </a>
101
- <a href="https://docs.massgen.ai">
102
- <img src="https://img.shields.io/badge/docs-massgen.ai-blue.svg" alt="Documentation" style="margin-right: 5px;">
103
- </a>
104
- <a href="https://discord.massgen.ai">
105
- <img src="https://img.shields.io/discord/1153072414184452236?color=7289da&label=chat&logo=discord&style=flat-square" alt="Join our Discord">
106
- </a>
107
- </p>
99
+ <div align="center">
100
+
101
+ [![Docs](https://img.shields.io/badge/docs-massgen.ai-blue?style=flat-square&logo=readthedocs&logoColor=white)](https://docs.massgen.ai)
102
+ [![GitHub Stars](https://img.shields.io/github/stars/Leezekun/MassGen?style=flat-square&logo=github&color=181717&logoColor=white)](https://github.com/Leezekun/MassGen)
103
+ [![Python 3.11+](https://img.shields.io/badge/python-3.11+-3776AB?style=flat-square&logo=python&logoColor=white)](https://www.python.org/downloads/)
104
+ [![License](https://img.shields.io/badge/license-Apache%202.0-green?style=flat-square)](LICENSE)
105
+
106
+ </div>
107
+
108
+ <div align="center">
109
+
110
+ [![Follow on X](https://img.shields.io/badge/FOLLOW%20ON%20X-000000?style=for-the-badge&logo=x&logoColor=white)](https://x.massgen.ai)
111
+ [![Follow on LinkedIn](https://img.shields.io/badge/FOLLOW%20ON%20LINKEDIN-0A66C2?style=for-the-badge&logo=linkedin&logoColor=white)](https://www.linkedin.com/company/massgen-ai)
112
+ [![Join our Discord](https://img.shields.io/badge/JOIN%20OUR%20DISCORD-5865F2?style=for-the-badge&logo=discord&logoColor=white)](https://discord.massgen.ai)
113
+
114
+ </div>
108
115
 
109
116
  <h1 align="center">🚀 MassGen: Multi-Agent Scaling System for GenAI</h1>
110
117
 
@@ -114,7 +121,7 @@ Dynamic: license-file
114
121
 
115
122
  <p align="center">
116
123
  <a href="https://www.youtube.com/watch?v=Dp2oldJJImw">
117
- <img src="https://raw.githubusercontent.com/Leezekun/MassGen/main/assets/thumbnail.png" alt="MassGen case study -- Berkeley Agentic AI Summit Question" width="800">
124
+ <img src="assets/thumbnail.png" alt="MassGen case study -- Berkeley Agentic AI Summit Question" width="800">
118
125
  </a>
119
126
  </p>
120
127
 
@@ -143,7 +150,7 @@ This project started with the "threads of thought" and "iterative refinement" id
143
150
  <details open>
144
151
  <summary><h3>🆕 Latest Features</h3></summary>
145
152
 
146
- - [v0.1.2 Features](#-latest-features-v012)
153
+ - [v0.1.4 Features](#-latest-features-v014)
147
154
  </details>
148
155
 
149
156
  <details open>
@@ -188,15 +195,16 @@ This project started with the "threads of thought" and "iterative refinement" id
188
195
  <summary><h3>🗺️ Roadmap</h3></summary>
189
196
 
190
197
  - Recent Achievements
191
- - [v0.1.2](#recent-achievements-v012)
192
- - [v0.0.3 - v0.1.1](#previous-achievements-v003---v011)
198
+ - [v0.1.4](#recent-achievements-v014)
199
+ - [v0.1.3](#recent-achievements-v013)
200
+ - [v0.0.3 - v0.1.2](#previous-achievements-v003---v012)
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.3 Roadmap](#v013-roadmap)
207
+ - [v0.1.5 Roadmap](#v015-roadmap)
200
208
  </details>
201
209
 
202
210
  <details open>
@@ -221,36 +229,37 @@ This project started with the "threads of thought" and "iterative refinement" id
221
229
 
222
230
  ---
223
231
 
224
- ## 🆕 Latest Features (v0.1.2)
232
+ ## 🆕 Latest Features (v0.1.4)
225
233
 
226
- **🎉 Released: October 22, 2025**
234
+ **🎉 Released: October 27, 2025**
227
235
 
228
- **What's New in v0.1.2:**
229
- - **🧠 Intelligent Planning Mode** - Automatic question analysis for safe MCP tool blocking
230
- - **🎭 Claude 4.5 Haiku Support** - Access to latest Claude Haiku model
231
- - **🔍 Grok Web Search Fix** - Improved web search functionality in Grok backend
236
+ **What's New in v0.1.4:**
237
+ - **🎨 Multimodal Generation Tools** - Create images, videos, audio, and documents with AI
238
+ - **🔒 Binary File Protection** - Automatic security preventing accidental binary file reads
239
+ - **🕷️ Crawl4AI Integration** - Intelligent web scraping with LLM-powered extraction
232
240
 
233
241
  **Key Improvements:**
234
- - Automatically determines if questions require irreversible operations
235
- - Read-only MCP operations allowed during coordination for better decisions
236
- - Write operations automatically blocked for safety
237
- - Zero configuration required - works transparently
238
- - Enhanced model support with latest Claude 4.5 Haiku
242
+ - 6 new generation tools: text-to-image, text-to-video, text-to-speech, text-to-file, image-to-image
243
+ - Binary file protection for 40+ file types with smart tool suggestions
244
+ - Web crawling with customizable extraction patterns
245
+ - Enhanced documentation and automation infrastructure
239
246
 
240
- **Get Started with v0.1.2:**
247
+ **Get Started with v0.1.4:**
241
248
  ```bash
242
249
  # Install or upgrade from PyPI
243
250
  pip install --upgrade massgen
244
251
 
245
- # Try intelligent planning mode with MCP tools
246
- # (Please read the YAML file for required API keys: DISCORD_TOKEN, OPENAI_API_KEY, etc.)
247
- massgen --config @examples/tools/planning/five_agents_discord_mcp_planning_mode \
248
- "Check recent messages in our development channel, summarize the discussion, and post a helpful response about the current topic."
252
+ # Generate an image from text
253
+ massgen --config @examples/tools/custom_tools/multimodal_tools/text_to_image_generation_single \
254
+ "Please generate an image of a cat in space."
249
255
 
250
- # Use latest Claude 4.5 Haiku model
251
- # (Requires ANTHROPIC_API_KEY in .env)
252
- massgen --model claude-haiku-4-5-20251001 \
253
- "Summarize the latest AI developments"
256
+ # Generate a video from text
257
+ massgen --config @examples/tools/custom_tools/multimodal_tools/text_to_video_generation_single \
258
+ "Generate a 4 seconds video with neon-lit alley at night, light rain, slow push-in, cinematic."
259
+
260
+ # Generate documents (PDF, DOCX, etc.)
261
+ massgen --config @examples/tools/custom_tools/multimodal_tools/text_to_file_generation_single \
262
+ "Please generate a comprehensive technical report about the latest developments in Large Language Models (LLMs)."
254
263
  ```
255
264
 
256
265
  → [See full release history and examples](massgen/configs/README.md#release-history--examples)
@@ -954,7 +963,7 @@ massgen --config @examples/tools/code-execution/multi_agent_playwright_automatio
954
963
  "Navigate to https://news.ycombinator.com, extract the top 10 stories, and create a summary report"
955
964
  ```
956
965
 
957
- → [**See detailed case studies**](docs/case_studies/README.md) with real session logs and outcomes
966
+ → [**See detailed case studies**](docs/source/examples/case_studies/README.md) with real session logs and outcomes
958
967
 
959
968
  #### Interactive Mode & Advanced Usage
960
969
 
@@ -1075,7 +1084,7 @@ All sessions are automatically logged with detailed information for debugging an
1075
1084
 
1076
1085
  To see how MassGen works in practice, check out these detailed case studies based on real session logs:
1077
1086
 
1078
- - [**MassGen Case Studies**](docs/case_studies/README.md)
1087
+ - [**MassGen Case Studies**](docs/source/examples/case_studies/README.md)
1079
1088
  - [**Case Studies Documentation**](https://docs.massgen.ai/en/latest/examples/case_studies.html) - Browse case studies online
1080
1089
 
1081
1090
  ---
@@ -1083,33 +1092,49 @@ To see how MassGen works in practice, check out these detailed case studies base
1083
1092
 
1084
1093
  ## 🗺️ Roadmap
1085
1094
 
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. An earlier version of MassGen can be found [here](./massgen/v1).
1095
+ MassGen is currently in its foundational stage, with a focus on parallel, asynchronous multi-agent collaboration and orchestration. Our roadmap is centered on transforming this foundation into a highly robust, intelligent, and user-friendly system, while enabling frontier research and exploration.
1087
1096
 
1088
1097
  ⚠️ **Early Stage Notice:** As MassGen is in active development, please expect upcoming breaking architecture changes as we continue to refine and improve the system.
1089
1098
 
1090
- ### Recent Achievements (v0.1.2)
1099
+ ### Recent Achievements (v0.1.4)
1100
+
1101
+ **🎉 Released: October 27, 2025**
1102
+
1103
+ #### Multimodal Generation Tools
1104
+ - **Text-to-Image**: `text_to_image_generation` tool creates images from text prompts via DALL-E API
1105
+ - **Text-to-Video**: `text_to_video_generation` tool generates videos from text descriptions
1106
+ - **Text-to-Speech**: `text_to_speech_continue_generation` and `text_to_speech_transcription_generation` tools for audio generation and transcription
1107
+ - **Text-to-File**: `text_to_file_generation` tool creates documents in PDF, DOCX, XLSX, and PPTX formats
1108
+ - **Image-to-Image**: `image_to_image_generation` tool transforms existing images
1091
1109
 
1092
- **🎉 Released: October 22, 2025**
1110
+ #### Binary File Protection
1111
+ - **Automatic Blocking**: `PathPermissionManager` now prevents text-based read tools from accessing binary files
1112
+ - **Protected File Types**: 40+ extensions including images (.jpg, .png), videos (.mp4, .avi), audio (.mp3, .wav), archives (.zip, .tar), executables (.exe, .dll), and Office documents (.pdf, .docx, .xlsx, .pptx)
1113
+ - **Intelligent Guidance**: Error messages automatically suggest appropriate specialized tools (e.g., "use understand_image tool" for .jpg files)
1114
+ - **Test Coverage**: `test_binary_file_blocking.py`
1093
1115
 
1094
- #### Intelligent Planning Mode
1095
- - **Automatic Question Analysis**: New `_analyze_question_irreversibility()` method in orchestrator determines if MCP operations are reversible
1096
- - **Selective Tool Blocking**: Granular control with `set_planning_mode_blocked_tools()`, `get_planning_mode_blocked_tools()`, and `is_mcp_tool_blocked()` methods
1097
- - **Dynamic Behavior**: Read-only MCP operations allowed during coordination, write operations blocked for safety
1098
- - **Zero Configuration**: Works transparently without setup
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`
1116
+ #### Web Scraping Capabilities
1117
+ - **Crawl4AI Tool**: `crawl4ai_tool` enables intelligent web scraping with LLM-powered content extraction and customizable patterns
1102
1118
 
1103
- #### Model Support & Improvements
1104
- - **Claude 4.5 Haiku**: Added latest Claude Haiku model `claude-haiku-4-5-20251001`
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
1119
+ #### Documentation & Infrastructure
1120
+ - **Generation Tools**: 8 multimodal generation configurations
1121
+ - `text_to_image_generation_single.yaml` and `text_to_image_generation_multi.yaml`
1122
+ - `text_to_video_generation_single.yaml` and `text_to_video_generation_multi.yaml`
1123
+ - `text_to_speech_generation_single.yaml` and `text_to_speech_generation_multi.yaml`
1124
+ - `text_to_file_generation_single.yaml` and `text_to_file_generation_multi.yaml`
1125
+ - **Web Scraping**: `crawl4ai_example.yaml` for Crawl4AI integration
1107
1126
 
1108
- #### Configuration Updates
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
1127
+ ### Previous Achievements (v0.0.3 - v0.1.3)
1111
1128
 
1112
- ### Previous Achievements (v0.0.3 - v0.1.1)
1129
+ **Post-Evaluation Workflow (v0.1.3)**: `PostEvaluationToolkit` class with submit tool for confirming final answers and restart tool for orchestration restart with feedback, winning agent evaluates answer before submission, universal backend support (Claude, Response API, Chat Completions), opt-in via `enable_post_evaluation_tools` parameter
1130
+
1131
+ ✅ **Multimodal Understanding Tools (v0.1.3)**: `understand_image` for PNG/JPEG analysis, `understand_audio` for WAV/MP3 transcription, `understand_video` for MP4/AVI frame extraction, `understand_file` for PDF/DOCX processing, cross-backend support via OpenAI GPT-4.1, structured JSON output, configurations: `understand_image.yaml`, `understand_audio.yaml`, `understand_video.yaml`, `understand_file.yaml`
1132
+
1133
+ ✅ **Docker Sudo Mode (v0.1.3)**: `use_sudo` parameter for privileged Docker execution, system-level command support in containers, enhanced security documentation, test coverage in `test_code_execution.py`
1134
+
1135
+ ✅ **Intelligent Planning Mode (v0.1.2)**: Automatic question analysis determining operation irreversibility via `_analyze_question_irreversibility()` in orchestrator, selective tool blocking with `set_planning_mode_blocked_tools()` and `is_mcp_tool_blocked()` methods, read-only MCP operations during coordination with write operations blocked, zero-configuration transparent operation, multi-workspace support, comprehensive tests in `test_intelligent_planning_mode.py`, complete guide in `docs/dev_notes/intelligent_planning_mode.md`
1136
+
1137
+ ✅ **Model Updates (v0.1.2)**: Claude 4.5 Haiku model `claude-haiku-4-5-20251001`, reorganized Claude model priorities with `claude-sonnet-4-5-20250929` default, Grok web search fix with `_add_grok_search_params()` method for proper `extra_body` parameter handling, 5 updated planning mode configurations in `configs/tools/planning/`, updated `three_agents_default.yaml` with Grok-4-fast
1113
1138
 
1114
1139
  ✅ **Custom Tools System (v0.1.1)**: User-defined Python function registration using `ToolManager` class in `massgen/tool/_manager.py`, cross-backend support alongside MCP servers, builtin/MCP/custom tool categories with automatic discovery, 40+ examples in `massgen/configs/tools/custom_tools/`, voting sensitivity controls with three-tier quality system (lenient/balanced/strict), answer novelty detection preventing duplicates
1115
1140
 
@@ -1213,19 +1238,21 @@ MassGen is currently in its foundational stage, with a focus on parallel, asynch
1213
1238
 
1214
1239
  We welcome community contributions to achieve these goals.
1215
1240
 
1216
- ### v0.1.3 Roadmap
1241
+ ### v0.1.5 Roadmap
1217
1242
 
1218
- Version 0.1.3 focuses on general interoperability and enterprise collaboration:
1243
+ Version 0.1.5 focuses on Docker integration for MCP tools and backend code refactoring:
1219
1244
 
1220
1245
  #### Required Features
1221
- - **General Interoperability**: Enable MassGen to orchestrate agents from multiple external frameworks with unified interface
1222
- - **Final Agent Submit/Restart Tools**: Enable final agent to decide whether to submit or restart orchestration
1246
+ - **Running MCP Tools in Docker**: Containerized execution environment for MCP tools with enhanced security and isolation
1247
+ - **Backend Code Refactoring**: Major code refactoring for improved maintainability and developer experience
1223
1248
 
1224
1249
  Key technical approach:
1225
- - **Framework Integration**: Multi-agent coordination supporting external agent frameworks with specialized agent roles (researcher, analyst, critic, synthesizer)
1226
- - **Submit/Restart**: Multi-step task verification with access to previous agents' responses and workspaces
1250
+ - **Docker Integration**: Secure execution of third-party MCP tools in isolated Docker containers with resource limits and network isolation
1251
+ - **Backend Improvements**: Enhanced code organization, modularity, and architectural improvements for better maintainability
1252
+
1253
+ **Target Release**: October 30, 2025 (Wednesday @ 9am PT)
1227
1254
 
1228
- For detailed milestones and technical specifications, see the [full v0.1.3 roadmap](ROADMAP.md).
1255
+ For detailed milestones and technical specifications, see the [full v0.1.5 roadmap](ROADMAP_v0.1.5.md).
1229
1256
 
1230
1257
  ---
1231
1258