massgen 0.1.4__tar.gz → 0.1.5__tar.gz

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

Potentially problematic release.


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

Files changed (443) hide show
  1. {massgen-0.1.4 → massgen-0.1.5}/CHANGELOG.md +61 -11
  2. {massgen-0.1.4 → massgen-0.1.5}/CONTRIBUTING.md +9 -7
  3. {massgen-0.1.4 → massgen-0.1.5}/PKG-INFO +109 -76
  4. {massgen-0.1.4 → massgen-0.1.5}/README.md +92 -63
  5. {massgen-0.1.4 → massgen-0.1.5}/README_PYPI.md +107 -75
  6. {massgen-0.1.4 → massgen-0.1.5}/massgen/__init__.py +1 -1
  7. massgen-0.1.5/massgen/chat_agent.py +784 -0
  8. {massgen-0.1.4 → massgen-0.1.5}/massgen/cli.py +326 -19
  9. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/README.md +52 -10
  10. massgen-0.1.5/massgen/configs/memory/gpt5mini_gemini_baseline_research_to_implementation.yaml +94 -0
  11. massgen-0.1.5/massgen/configs/memory/gpt5mini_gemini_context_window_management.yaml +187 -0
  12. massgen-0.1.5/massgen/configs/memory/gpt5mini_gemini_research_to_implementation.yaml +127 -0
  13. massgen-0.1.5/massgen/configs/memory/gpt5mini_high_reasoning_gemini.yaml +107 -0
  14. massgen-0.1.5/massgen/configs/memory/single_agent_compression_test.yaml +64 -0
  15. massgen-0.1.5/massgen/configs/tools/custom_tools/multimodal_tools/playwright_with_img_understanding.yaml +98 -0
  16. massgen-0.1.5/massgen/configs/tools/custom_tools/multimodal_tools/understand_video_example.yaml +54 -0
  17. massgen-0.1.5/massgen/memory/README.md +277 -0
  18. massgen-0.1.5/massgen/memory/__init__.py +26 -0
  19. massgen-0.1.5/massgen/memory/_base.py +193 -0
  20. massgen-0.1.5/massgen/memory/_compression.py +237 -0
  21. massgen-0.1.5/massgen/memory/_context_monitor.py +211 -0
  22. massgen-0.1.5/massgen/memory/_conversation.py +255 -0
  23. massgen-0.1.5/massgen/memory/_fact_extraction_prompts.py +333 -0
  24. massgen-0.1.5/massgen/memory/_mem0_adapters.py +257 -0
  25. massgen-0.1.5/massgen/memory/_persistent.py +687 -0
  26. massgen-0.1.5/massgen/memory/docker-compose.qdrant.yml +36 -0
  27. massgen-0.1.5/massgen/memory/docs/DESIGN.md +388 -0
  28. massgen-0.1.5/massgen/memory/docs/QUICKSTART.md +409 -0
  29. massgen-0.1.5/massgen/memory/docs/SUMMARY.md +319 -0
  30. massgen-0.1.5/massgen/memory/docs/agent_use_memory.md +408 -0
  31. massgen-0.1.5/massgen/memory/docs/orchestrator_use_memory.md +586 -0
  32. massgen-0.1.5/massgen/memory/examples.py +237 -0
  33. {massgen-0.1.4 → massgen-0.1.5}/massgen/orchestrator.py +207 -7
  34. massgen-0.1.5/massgen/tests/memory/test_agent_compression.py +174 -0
  35. massgen-0.1.5/massgen/tests/memory/test_context_window_management.py +286 -0
  36. massgen-0.1.5/massgen/tests/memory/test_force_compression.py +154 -0
  37. massgen-0.1.5/massgen/tests/memory/test_simple_compression.py +147 -0
  38. massgen-0.1.5/massgen/tests/test_agent_memory.py +534 -0
  39. massgen-0.1.5/massgen/tests/test_conversation_memory.py +382 -0
  40. massgen-0.1.5/massgen/tests/test_orchestrator_memory.py +620 -0
  41. massgen-0.1.5/massgen/tests/test_persistent_memory.py +435 -0
  42. {massgen-0.1.4 → massgen-0.1.5}/massgen/token_manager/token_manager.py +6 -0
  43. massgen-0.1.5/massgen/tools/__init__.py +8 -0
  44. massgen-0.1.5/massgen/tools/_planning_mcp_server.py +520 -0
  45. massgen-0.1.5/massgen/tools/planning_dataclasses.py +434 -0
  46. {massgen-0.1.4 → massgen-0.1.5}/massgen.egg-info/PKG-INFO +109 -76
  47. {massgen-0.1.4 → massgen-0.1.5}/massgen.egg-info/SOURCES.txt +34 -1
  48. {massgen-0.1.4 → massgen-0.1.5}/massgen.egg-info/requires.txt +1 -0
  49. {massgen-0.1.4 → massgen-0.1.5}/pyproject.toml +2 -0
  50. massgen-0.1.4/assets/thumbnail.png +0 -0
  51. massgen-0.1.4/massgen/chat_agent.py +0 -464
  52. {massgen-0.1.4 → massgen-0.1.5}/.env.example +0 -0
  53. {massgen-0.1.4 → massgen-0.1.5}/LICENSE +0 -0
  54. {massgen-0.1.4 → massgen-0.1.5}/MANIFEST.in +0 -0
  55. {massgen-0.1.4 → massgen-0.1.5}/assets/MassGen-v1.gif +0 -0
  56. {massgen-0.1.4 → massgen-0.1.5}/assets/cos.png +0 -0
  57. {massgen-0.1.4 → massgen-0.1.5}/assets/favicon.ico +0 -0
  58. {massgen-0.1.4 → massgen-0.1.5}/assets/logo-dark.png +0 -0
  59. {massgen-0.1.4 → massgen-0.1.5}/assets/logo.png +0 -0
  60. {massgen-0.1.4 → massgen-0.1.5}/assets/massgen-demo-light.gif +0 -0
  61. {massgen-0.1.4 → massgen-0.1.5}/assets/massgen-demo.gif +0 -0
  62. {massgen-0.1.4 → massgen-0.1.5}/assets/release_related_figures/context_path.png +0 -0
  63. {massgen-0.1.4 → massgen-0.1.5}/assets/release_related_figures/copy_file.png +0 -0
  64. {massgen-0.1.4 → massgen-0.1.5}/assets/thumbnail_old.png +0 -0
  65. {massgen-0.1.4 → massgen-0.1.5}/massgen/adapters/__init__.py +0 -0
  66. {massgen-0.1.4 → massgen-0.1.5}/massgen/adapters/ag2_adapter.py +0 -0
  67. {massgen-0.1.4 → massgen-0.1.5}/massgen/adapters/base.py +0 -0
  68. {massgen-0.1.4 → massgen-0.1.5}/massgen/adapters/tests/__init__.py +0 -0
  69. {massgen-0.1.4 → massgen-0.1.5}/massgen/adapters/tests/test_ag2_adapter.py +0 -0
  70. {massgen-0.1.4 → massgen-0.1.5}/massgen/adapters/tests/test_agent_adapter.py +0 -0
  71. {massgen-0.1.4 → massgen-0.1.5}/massgen/adapters/utils/__init__.py +0 -0
  72. {massgen-0.1.4 → massgen-0.1.5}/massgen/adapters/utils/ag2_utils.py +0 -0
  73. {massgen-0.1.4 → massgen-0.1.5}/massgen/adapters/utils/tests/__init__.py +0 -0
  74. {massgen-0.1.4 → massgen-0.1.5}/massgen/adapters/utils/tests/test_ag2_utils.py +0 -0
  75. {massgen-0.1.4 → massgen-0.1.5}/massgen/agent_config.py +0 -0
  76. {massgen-0.1.4 → massgen-0.1.5}/massgen/api_params_handler/__init__.py +0 -0
  77. {massgen-0.1.4 → massgen-0.1.5}/massgen/api_params_handler/_api_params_handler_base.py +0 -0
  78. {massgen-0.1.4 → massgen-0.1.5}/massgen/api_params_handler/_chat_completions_api_params_handler.py +0 -0
  79. {massgen-0.1.4 → massgen-0.1.5}/massgen/api_params_handler/_claude_api_params_handler.py +0 -0
  80. {massgen-0.1.4 → massgen-0.1.5}/massgen/api_params_handler/_gemini_api_params_handler.py +0 -0
  81. {massgen-0.1.4 → massgen-0.1.5}/massgen/api_params_handler/_response_api_params_handler.py +0 -0
  82. {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/__init__.py +0 -0
  83. {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/azure_openai.py +0 -0
  84. {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/base.py +0 -0
  85. {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/base_with_custom_tool_and_mcp.py +0 -0
  86. {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/capabilities.py +0 -0
  87. {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/chat_completions.py +0 -0
  88. {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/claude.py +0 -0
  89. {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/claude_code.py +0 -0
  90. {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/cli_base.py +0 -0
  91. {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/docs/BACKEND_ARCHITECTURE.md +0 -0
  92. {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/docs/CLAUDE_API_RESEARCH.md +0 -0
  93. {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/docs/Function calling openai responses.md +0 -0
  94. {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/docs/GEMINI_API_DOCUMENTATION.md +0 -0
  95. {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/docs/Gemini MCP Integration Analysis.md +0 -0
  96. {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/docs/MCP_IMPLEMENTATION_CLAUDE_BACKEND.md +0 -0
  97. {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/docs/MCP_INTEGRATION_RESPONSE_BACKEND.md +0 -0
  98. {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/docs/OPENAI_GPT5_MODELS.md +0 -0
  99. {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/docs/OPENAI_RESPONSE_API_TOOL_CALLS.md +0 -0
  100. {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/docs/OPENAI_response_streaming.md +0 -0
  101. {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/docs/inference_backend.md +0 -0
  102. {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/docs/permissions_and_context_files.md +0 -0
  103. {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/external.py +0 -0
  104. {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/gemini.py +0 -0
  105. {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/gemini_mcp_manager.py +0 -0
  106. {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/gemini_trackers.py +0 -0
  107. {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/gemini_utils.py +0 -0
  108. {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/grok.py +0 -0
  109. {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/inference.py +0 -0
  110. {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/lmstudio.py +0 -0
  111. {massgen-0.1.4 → massgen-0.1.5}/massgen/backend/response.py +0 -0
  112. {massgen-0.1.4 → massgen-0.1.5}/massgen/config_builder.py +0 -0
  113. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/BACKEND_CONFIGURATION.md +0 -0
  114. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/ag2/ag2_case_study.yaml +0 -0
  115. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/ag2/ag2_coder.yaml +0 -0
  116. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/ag2/ag2_coder_case_study.yaml +0 -0
  117. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/ag2/ag2_gemini.yaml +0 -0
  118. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/ag2/ag2_groupchat.yaml +0 -0
  119. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/ag2/ag2_groupchat_gpt.yaml +0 -0
  120. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/ag2/ag2_single_agent.yaml +0 -0
  121. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/multi/fast_timeout_example.yaml +0 -0
  122. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/multi/gemini_4o_claude.yaml +0 -0
  123. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/multi/gemini_gpt5nano_claude.yaml +0 -0
  124. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/multi/geminicode_4o_claude.yaml +0 -0
  125. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/multi/geminicode_gpt5nano_claude.yaml +0 -0
  126. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/multi/glm_gemini_claude.yaml +0 -0
  127. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/multi/gpt4o_audio_generation.yaml +0 -0
  128. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/multi/gpt4o_image_generation.yaml +0 -0
  129. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/multi/gpt5nano_glm_qwen.yaml +0 -0
  130. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/multi/gpt5nano_image_understanding.yaml +0 -0
  131. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/multi/three_agents_default.yaml +0 -0
  132. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/multi/three_agents_opensource.yaml +0 -0
  133. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/multi/three_agents_vllm.yaml +0 -0
  134. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/multi/two_agents_gemini.yaml +0 -0
  135. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/multi/two_agents_gpt5.yaml +0 -0
  136. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/multi/two_agents_opensource_lmstudio.yaml +0 -0
  137. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/multi/two_qwen_vllm_sglang.yaml +0 -0
  138. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/single/single_agent.yaml +0 -0
  139. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/single/single_flash2.5.yaml +0 -0
  140. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/single/single_gemini2.5pro.yaml +0 -0
  141. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/single/single_gpt4o_audio_generation.yaml +0 -0
  142. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/single/single_gpt4o_image_generation.yaml +0 -0
  143. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/single/single_gpt4o_video_generation.yaml +0 -0
  144. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/single/single_gpt5nano.yaml +0 -0
  145. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/single/single_gpt5nano_file_search.yaml +0 -0
  146. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/single/single_gpt5nano_image_understanding.yaml +0 -0
  147. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/single/single_gptoss120b.yaml +0 -0
  148. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/single/single_openrouter_audio_understanding.yaml +0 -0
  149. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/basic/single/single_qwen_video_understanding.yaml +0 -0
  150. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/debug/code_execution/command_filtering_blacklist.yaml +0 -0
  151. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/debug/code_execution/command_filtering_whitelist.yaml +0 -0
  152. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/debug/code_execution/docker_verification.yaml +0 -0
  153. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/debug/restart_test_controlled.yaml +0 -0
  154. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/debug/restart_test_controlled_filesystem.yaml +0 -0
  155. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/debug/skip_coordination_test.yaml +0 -0
  156. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/debug/test_sdk_migration.yaml +0 -0
  157. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/docs/DISCORD_MCP_SETUP.md +0 -0
  158. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/docs/TWITTER_MCP_ENESCINAR_SETUP.md +0 -0
  159. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/providers/azure/azure_openai_multi.yaml +0 -0
  160. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/providers/azure/azure_openai_single.yaml +0 -0
  161. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/providers/claude/claude.yaml +0 -0
  162. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/providers/gemini/gemini_gpt5nano.yaml +0 -0
  163. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/providers/local/lmstudio.yaml +0 -0
  164. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/providers/openai/gpt5.yaml +0 -0
  165. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/providers/openai/gpt5_nano.yaml +0 -0
  166. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/providers/others/grok_single_agent.yaml +0 -0
  167. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/providers/others/zai_coding_team.yaml +0 -0
  168. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/providers/others/zai_glm45.yaml +0 -0
  169. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/teams/creative/creative_team.yaml +0 -0
  170. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/teams/creative/travel_planning.yaml +0 -0
  171. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/teams/research/news_analysis.yaml +0 -0
  172. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/teams/research/research_team.yaml +0 -0
  173. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/teams/research/technical_analysis.yaml +0 -0
  174. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/code-execution/basic_command_execution.yaml +0 -0
  175. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/code-execution/code_execution_use_case_simple.yaml +0 -0
  176. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/code-execution/docker_claude_code.yaml +0 -0
  177. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/code-execution/docker_multi_agent.yaml +0 -0
  178. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/code-execution/docker_simple.yaml +0 -0
  179. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/code-execution/docker_with_resource_limits.yaml +0 -0
  180. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/code-execution/docker_with_sudo.yaml +0 -0
  181. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/code-execution/multi_agent_playwright_automation.yaml +0 -0
  182. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/claude_code_custom_tool_example.yaml +0 -0
  183. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/claude_code_custom_tool_example_no_path.yaml +0 -0
  184. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/claude_code_custom_tool_with_mcp_example.yaml +0 -0
  185. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/claude_code_custom_tool_with_wrong_mcp_example.yaml +0 -0
  186. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/claude_code_wrong_custom_tool_with_mcp_example.yaml +0 -0
  187. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/claude_custom_tool_example.yaml +0 -0
  188. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/claude_custom_tool_example_no_path.yaml +0 -0
  189. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/claude_custom_tool_with_mcp_example.yaml +0 -0
  190. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/claude_custom_tool_with_wrong_mcp_example.yaml +0 -0
  191. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/claude_wrong_custom_tool_with_mcp_example.yaml +0 -0
  192. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/computer_use_browser_example.yaml +0 -0
  193. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/computer_use_docker_example.yaml +0 -0
  194. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/computer_use_example.yaml +0 -0
  195. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/crawl4ai_example.yaml +0 -0
  196. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/gemini_custom_tool_example.yaml +0 -0
  197. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/gemini_custom_tool_example_no_path.yaml +0 -0
  198. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/gemini_custom_tool_with_mcp_example.yaml +0 -0
  199. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/gemini_custom_tool_with_wrong_mcp_example.yaml +0 -0
  200. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/gemini_wrong_custom_tool_with_mcp_example.yaml +0 -0
  201. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/github_issue_market_analysis.yaml +0 -0
  202. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/gpt5_nano_custom_tool_example.yaml +0 -0
  203. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/gpt5_nano_custom_tool_example_no_path.yaml +0 -0
  204. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/gpt5_nano_custom_tool_with_mcp_example.yaml +0 -0
  205. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/gpt5_nano_custom_tool_with_wrong_mcp_example.yaml +0 -0
  206. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/gpt5_nano_wrong_custom_tool_with_mcp_example.yaml +0 -0
  207. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/gpt_oss_custom_tool_example.yaml +0 -0
  208. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/gpt_oss_custom_tool_example_no_path.yaml +0 -0
  209. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/gpt_oss_custom_tool_with_mcp_example.yaml +0 -0
  210. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/gpt_oss_custom_tool_with_wrong_mcp_example.yaml +0 -0
  211. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/gpt_oss_wrong_custom_tool_with_mcp_example.yaml +0 -0
  212. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/grok3_mini_custom_tool_example.yaml +0 -0
  213. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/grok3_mini_custom_tool_example_no_path.yaml +0 -0
  214. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/grok3_mini_custom_tool_with_mcp_example.yaml +0 -0
  215. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/grok3_mini_custom_tool_with_wrong_mcp_example.yaml +0 -0
  216. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/grok3_mini_wrong_custom_tool_with_mcp_example.yaml +0 -0
  217. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/multimodal_tools/text_to_file_generation_multi.yaml +0 -0
  218. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/multimodal_tools/text_to_file_generation_single.yaml +0 -0
  219. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/multimodal_tools/text_to_image_generation_multi.yaml +0 -0
  220. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/multimodal_tools/text_to_image_generation_single.yaml +0 -0
  221. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/multimodal_tools/text_to_speech_generation_multi.yaml +0 -0
  222. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/multimodal_tools/text_to_speech_generation_single.yaml +0 -0
  223. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/multimodal_tools/text_to_video_generation_multi.yaml +0 -0
  224. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/multimodal_tools/text_to_video_generation_single.yaml +0 -0
  225. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/multimodal_tools/understand_audio.yaml +0 -0
  226. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/multimodal_tools/understand_file.yaml +0 -0
  227. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/multimodal_tools/understand_image.yaml +0 -0
  228. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/multimodal_tools/understand_video.yaml +0 -0
  229. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/multimodal_tools/youtube_video_analysis.yaml +0 -0
  230. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/qwen_api_custom_tool_example.yaml +0 -0
  231. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/qwen_api_custom_tool_example_no_path.yaml +0 -0
  232. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/qwen_api_custom_tool_with_mcp_example.yaml +0 -0
  233. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/qwen_api_custom_tool_with_wrong_mcp_example.yaml +0 -0
  234. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/qwen_api_wrong_custom_tool_with_mcp_example.yaml +0 -0
  235. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/qwen_local_custom_tool_example.yaml +0 -0
  236. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/qwen_local_custom_tool_example_no_path.yaml +0 -0
  237. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/qwen_local_custom_tool_with_mcp_example.yaml +0 -0
  238. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/qwen_local_custom_tool_with_wrong_mcp_example.yaml +0 -0
  239. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/custom_tools/qwen_local_wrong_custom_tool_with_mcp_example.yaml +0 -0
  240. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/filesystem/cc_gpt5_gemini_filesystem.yaml +0 -0
  241. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/filesystem/claude_code_context_sharing.yaml +0 -0
  242. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/filesystem/claude_code_flash2.5.yaml +0 -0
  243. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/filesystem/claude_code_flash2.5_gptoss.yaml +0 -0
  244. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/filesystem/claude_code_gpt5nano.yaml +0 -0
  245. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/filesystem/claude_code_single.yaml +0 -0
  246. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/filesystem/fs_permissions_test.yaml +0 -0
  247. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/filesystem/gemini_gemini_workspace_cleanup.yaml +0 -0
  248. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/filesystem/gemini_gpt5_filesystem_casestudy.yaml +0 -0
  249. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/filesystem/gemini_gpt5nano_file_context_path.yaml +0 -0
  250. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/filesystem/gemini_gpt5nano_protected_paths.yaml +0 -0
  251. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/filesystem/gpt5mini_cc_fs_context_path.yaml +0 -0
  252. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/filesystem/grok4_gpt5_gemini_filesystem.yaml +0 -0
  253. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/filesystem/multiturn/grok4_gpt5_claude_code_filesystem_multiturn.yaml +0 -0
  254. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/filesystem/multiturn/grok4_gpt5_gemini_filesystem_multiturn.yaml +0 -0
  255. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/filesystem/multiturn/two_claude_code_filesystem_multiturn.yaml +0 -0
  256. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/filesystem/multiturn/two_gemini_flash_filesystem_multiturn.yaml +0 -0
  257. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/claude_code_discord_mcp_example.yaml +0 -0
  258. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/claude_code_simple_mcp.yaml +0 -0
  259. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/claude_code_twitter_mcp_example.yaml +0 -0
  260. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/claude_mcp_example.yaml +0 -0
  261. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/claude_mcp_test.yaml +0 -0
  262. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/five_agents_travel_mcp_test.yaml +0 -0
  263. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/five_agents_weather_mcp_test.yaml +0 -0
  264. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/gemini_mcp_example.yaml +0 -0
  265. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/gemini_mcp_filesystem_test.yaml +0 -0
  266. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/gemini_mcp_filesystem_test_sharing.yaml +0 -0
  267. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/gemini_mcp_filesystem_test_single_agent.yaml +0 -0
  268. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/gemini_mcp_filesystem_test_with_claude_code.yaml +0 -0
  269. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/gemini_mcp_test.yaml +0 -0
  270. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/gemini_notion_mcp.yaml +0 -0
  271. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/gpt5_nano_mcp_example.yaml +0 -0
  272. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/gpt5_nano_mcp_test.yaml +0 -0
  273. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/gpt5mini_claude_code_discord_mcp_example.yaml +0 -0
  274. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/gpt_oss_mcp_example.yaml +0 -0
  275. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/gpt_oss_mcp_test.yaml +0 -0
  276. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/grok3_mini_mcp_example.yaml +0 -0
  277. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/grok3_mini_mcp_test.yaml +0 -0
  278. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/multimcp_gemini.yaml +0 -0
  279. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/qwen_api_mcp_example.yaml +0 -0
  280. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/qwen_api_mcp_test.yaml +0 -0
  281. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/qwen_local_mcp_example.yaml +0 -0
  282. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/mcp/qwen_local_mcp_test.yaml +0 -0
  283. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/planning/five_agents_discord_mcp_planning_mode.yaml +0 -0
  284. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/planning/five_agents_filesystem_mcp_planning_mode.yaml +0 -0
  285. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/planning/five_agents_notion_mcp_planning_mode.yaml +0 -0
  286. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/planning/five_agents_twitter_mcp_planning_mode.yaml +0 -0
  287. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/planning/gpt5_mini_case_study_mcp_planning_mode.yaml +0 -0
  288. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/web-search/claude_streamable_http_test.yaml +0 -0
  289. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/web-search/gemini_streamable_http_test.yaml +0 -0
  290. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/web-search/gpt5_mini_streamable_http_test.yaml +0 -0
  291. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/web-search/gpt_oss_streamable_http_test.yaml +0 -0
  292. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/web-search/grok3_mini_streamable_http_test.yaml +0 -0
  293. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/web-search/qwen_api_streamable_http_test.yaml +0 -0
  294. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/tools/web-search/qwen_local_streamable_http_test.yaml +0 -0
  295. {massgen-0.1.4 → massgen-0.1.5}/massgen/configs/voting/gemini_gpt_voting_sensitivity.yaml +0 -0
  296. {massgen-0.1.4 → massgen-0.1.5}/massgen/coordination_tracker.py +0 -0
  297. {massgen-0.1.4 → massgen-0.1.5}/massgen/docker/README.md +0 -0
  298. {massgen-0.1.4 → massgen-0.1.5}/massgen/filesystem_manager/__init__.py +0 -0
  299. {massgen-0.1.4 → massgen-0.1.5}/massgen/filesystem_manager/_base.py +0 -0
  300. {massgen-0.1.4 → massgen-0.1.5}/massgen/filesystem_manager/_code_execution_server.py +0 -0
  301. {massgen-0.1.4 → massgen-0.1.5}/massgen/filesystem_manager/_docker_manager.py +0 -0
  302. {massgen-0.1.4 → massgen-0.1.5}/massgen/filesystem_manager/_file_operation_tracker.py +0 -0
  303. {massgen-0.1.4 → massgen-0.1.5}/massgen/filesystem_manager/_filesystem_manager.py +0 -0
  304. {massgen-0.1.4 → massgen-0.1.5}/massgen/filesystem_manager/_path_permission_manager.py +0 -0
  305. {massgen-0.1.4 → massgen-0.1.5}/massgen/filesystem_manager/_workspace_tools_server.py +0 -0
  306. {massgen-0.1.4 → massgen-0.1.5}/massgen/formatter/__init__.py +0 -0
  307. {massgen-0.1.4 → massgen-0.1.5}/massgen/formatter/_chat_completions_formatter.py +0 -0
  308. {massgen-0.1.4 → massgen-0.1.5}/massgen/formatter/_claude_formatter.py +0 -0
  309. {massgen-0.1.4 → massgen-0.1.5}/massgen/formatter/_formatter_base.py +0 -0
  310. {massgen-0.1.4 → massgen-0.1.5}/massgen/formatter/_gemini_formatter.py +0 -0
  311. {massgen-0.1.4 → massgen-0.1.5}/massgen/formatter/_response_formatter.py +0 -0
  312. {massgen-0.1.4 → massgen-0.1.5}/massgen/frontend/__init__.py +0 -0
  313. {massgen-0.1.4 → massgen-0.1.5}/massgen/frontend/coordination_ui.py +0 -0
  314. {massgen-0.1.4 → massgen-0.1.5}/massgen/frontend/displays/__init__.py +0 -0
  315. {massgen-0.1.4 → massgen-0.1.5}/massgen/frontend/displays/base_display.py +0 -0
  316. {massgen-0.1.4 → massgen-0.1.5}/massgen/frontend/displays/create_coordination_table.py +0 -0
  317. {massgen-0.1.4 → massgen-0.1.5}/massgen/frontend/displays/rich_terminal_display.py +0 -0
  318. {massgen-0.1.4 → massgen-0.1.5}/massgen/frontend/displays/simple_display.py +0 -0
  319. {massgen-0.1.4 → massgen-0.1.5}/massgen/frontend/displays/terminal_display.py +0 -0
  320. {massgen-0.1.4 → massgen-0.1.5}/massgen/logger_config.py +0 -0
  321. {massgen-0.1.4 → massgen-0.1.5}/massgen/mcp_tools/README.md +0 -0
  322. {massgen-0.1.4 → massgen-0.1.5}/massgen/mcp_tools/__init__.py +0 -0
  323. {massgen-0.1.4 → massgen-0.1.5}/massgen/mcp_tools/backend_utils.py +0 -0
  324. {massgen-0.1.4 → massgen-0.1.5}/massgen/mcp_tools/circuit_breaker.py +0 -0
  325. {massgen-0.1.4 → massgen-0.1.5}/massgen/mcp_tools/client.py +0 -0
  326. {massgen-0.1.4 → massgen-0.1.5}/massgen/mcp_tools/config_validator.py +0 -0
  327. {massgen-0.1.4 → massgen-0.1.5}/massgen/mcp_tools/docs/circuit_breaker.md +0 -0
  328. {massgen-0.1.4 → massgen-0.1.5}/massgen/mcp_tools/docs/client.md +0 -0
  329. {massgen-0.1.4 → massgen-0.1.5}/massgen/mcp_tools/docs/config_validator.md +0 -0
  330. {massgen-0.1.4 → massgen-0.1.5}/massgen/mcp_tools/docs/exceptions.md +0 -0
  331. {massgen-0.1.4 → massgen-0.1.5}/massgen/mcp_tools/docs/security.md +0 -0
  332. {massgen-0.1.4 → massgen-0.1.5}/massgen/mcp_tools/exceptions.py +0 -0
  333. {massgen-0.1.4 → massgen-0.1.5}/massgen/mcp_tools/hooks.py +0 -0
  334. {massgen-0.1.4 → massgen-0.1.5}/massgen/mcp_tools/security.py +0 -0
  335. {massgen-0.1.4 → massgen-0.1.5}/massgen/message_templates.py +0 -0
  336. {massgen-0.1.4 → massgen-0.1.5}/massgen/stream_chunk/__init__.py +0 -0
  337. {massgen-0.1.4 → massgen-0.1.5}/massgen/stream_chunk/base.py +0 -0
  338. {massgen-0.1.4 → massgen-0.1.5}/massgen/stream_chunk/multimodal.py +0 -0
  339. {massgen-0.1.4 → massgen-0.1.5}/massgen/stream_chunk/text.py +0 -0
  340. {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/__init__.py +0 -0
  341. {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/custom_tools_example.py +0 -0
  342. {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/mcp_test_server.py +0 -0
  343. {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/multi_turn_conversation_design.md +0 -0
  344. {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/multiturn_llm_input_analysis.md +0 -0
  345. {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_azure_openai_backend.py +0 -0
  346. {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_backend_capabilities.py +0 -0
  347. {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_backend_event_loop_all.py +0 -0
  348. {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_binary_file_blocking.py +0 -0
  349. {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_case_studies.md +0 -0
  350. {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_chat_completions_refactor.py +0 -0
  351. {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_claude_backend.py +0 -0
  352. {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_claude_code.py +0 -0
  353. {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_claude_code_context_sharing.py +0 -0
  354. {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_claude_code_orchestrator.py +0 -0
  355. {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_cli_backends.py +0 -0
  356. {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_code_execution.py +0 -0
  357. {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_config_builder.py +0 -0
  358. {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_custom_tools.py +0 -0
  359. {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_external_agent_backend.py +0 -0
  360. {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_final_presentation_fallback.py +0 -0
  361. {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_gemini_planning_mode.py +0 -0
  362. {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_grok_backend.py +0 -0
  363. {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_http_mcp_server.py +0 -0
  364. {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_integration_simple.py +0 -0
  365. {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_intelligent_planning_mode.py +0 -0
  366. {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_mcp_blocking.py +0 -0
  367. {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_message_context_building.py +0 -0
  368. {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_multimodal_size_limits.py +0 -0
  369. {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_orchestration_restart.py +0 -0
  370. {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_orchestrator_final_presentation.py +0 -0
  371. {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_path_permission_manager.py +0 -0
  372. {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_rich_terminal_display.py +0 -0
  373. {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_timeout.py +0 -0
  374. {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_tools.py +0 -0
  375. {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_v3_3agents.py +0 -0
  376. {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_v3_simple.py +0 -0
  377. {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_v3_three_agents.py +0 -0
  378. {massgen-0.1.4 → massgen-0.1.5}/massgen/tests/test_v3_two_agents.py +0 -0
  379. {massgen-0.1.4 → massgen-0.1.5}/massgen/token_manager/__init__.py +0 -0
  380. {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/README.md +0 -0
  381. {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/__init__.py +0 -0
  382. {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/_async_helpers.py +0 -0
  383. {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/_basic/__init__.py +0 -0
  384. {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/_basic/_two_num_tool.py +0 -0
  385. {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/_code_executors/__init__.py +0 -0
  386. {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/_code_executors/_python_executor.py +0 -0
  387. {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/_code_executors/_shell_executor.py +0 -0
  388. {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/_exceptions.py +0 -0
  389. {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/_file_handlers/__init__.py +0 -0
  390. {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/_file_handlers/_file_operations.py +0 -0
  391. {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/_manager.py +0 -0
  392. {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/_multimodal_tools/image_to_image_generation.py +0 -0
  393. {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/_multimodal_tools/text_to_file_generation.py +0 -0
  394. {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/_multimodal_tools/text_to_image_generation.py +0 -0
  395. {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/_multimodal_tools/text_to_speech_continue_generation.py +0 -0
  396. {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/_multimodal_tools/text_to_speech_transcription_generation.py +0 -0
  397. {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/_multimodal_tools/text_to_video_generation.py +0 -0
  398. {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/_multimodal_tools/understand_audio.py +0 -0
  399. {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/_multimodal_tools/understand_file.py +0 -0
  400. {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/_multimodal_tools/understand_image.py +0 -0
  401. {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/_multimodal_tools/understand_video.py +0 -0
  402. {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/_registered_tool.py +0 -0
  403. {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/_result.py +0 -0
  404. {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/_self_evolution/_github_issue_analyzer.py +0 -0
  405. {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/_web_tools/crawl4ai_tool.py +0 -0
  406. {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/docs/builtin_tools.md +0 -0
  407. {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/docs/exceptions.md +0 -0
  408. {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/docs/execution_results.md +0 -0
  409. {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/docs/manager.md +0 -0
  410. {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/docs/multimodal_tools.md +0 -0
  411. {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/docs/workflow_toolkits.md +0 -0
  412. {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/workflow_toolkits/__init__.py +0 -0
  413. {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/workflow_toolkits/base.py +0 -0
  414. {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/workflow_toolkits/new_answer.py +0 -0
  415. {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/workflow_toolkits/post_evaluation.py +0 -0
  416. {massgen-0.1.4 → massgen-0.1.5}/massgen/tool/workflow_toolkits/vote.py +0 -0
  417. {massgen-0.1.4 → massgen-0.1.5}/massgen/utils.py +0 -0
  418. {massgen-0.1.4 → massgen-0.1.5}/massgen/v1/README.md +0 -0
  419. {massgen-0.1.4 → massgen-0.1.5}/massgen/v1/__init__.py +0 -0
  420. {massgen-0.1.4 → massgen-0.1.5}/massgen/v1/agent.py +0 -0
  421. {massgen-0.1.4 → massgen-0.1.5}/massgen/v1/agents.py +0 -0
  422. {massgen-0.1.4 → massgen-0.1.5}/massgen/v1/backends/gemini.py +0 -0
  423. {massgen-0.1.4 → massgen-0.1.5}/massgen/v1/backends/grok.py +0 -0
  424. {massgen-0.1.4 → massgen-0.1.5}/massgen/v1/backends/oai.py +0 -0
  425. {massgen-0.1.4 → massgen-0.1.5}/massgen/v1/cli.py +0 -0
  426. {massgen-0.1.4 → massgen-0.1.5}/massgen/v1/config.py +0 -0
  427. {massgen-0.1.4 → massgen-0.1.5}/massgen/v1/examples/fast-4o-mini-config.yaml +0 -0
  428. {massgen-0.1.4 → massgen-0.1.5}/massgen/v1/examples/fast_config.yaml +0 -0
  429. {massgen-0.1.4 → massgen-0.1.5}/massgen/v1/examples/production.yaml +0 -0
  430. {massgen-0.1.4 → massgen-0.1.5}/massgen/v1/examples/single_agent.yaml +0 -0
  431. {massgen-0.1.4 → massgen-0.1.5}/massgen/v1/logging.py +0 -0
  432. {massgen-0.1.4 → massgen-0.1.5}/massgen/v1/main.py +0 -0
  433. {massgen-0.1.4 → massgen-0.1.5}/massgen/v1/orchestrator.py +0 -0
  434. {massgen-0.1.4 → massgen-0.1.5}/massgen/v1/streaming_display.py +0 -0
  435. {massgen-0.1.4 → massgen-0.1.5}/massgen/v1/tools.py +0 -0
  436. {massgen-0.1.4 → massgen-0.1.5}/massgen/v1/types.py +0 -0
  437. {massgen-0.1.4 → massgen-0.1.5}/massgen/v1/utils.py +0 -0
  438. {massgen-0.1.4 → massgen-0.1.5}/massgen.egg-info/dependency_links.txt +0 -0
  439. {massgen-0.1.4 → massgen-0.1.5}/massgen.egg-info/entry_points.txt +0 -0
  440. {massgen-0.1.4 → massgen-0.1.5}/massgen.egg-info/not-zip-safe +0 -0
  441. {massgen-0.1.4 → massgen-0.1.5}/massgen.egg-info/top_level.txt +0 -0
  442. {massgen-0.1.4 → massgen-0.1.5}/requirements.txt +0 -0
  443. {massgen-0.1.4 → massgen-0.1.5}/setup.cfg +0 -0
@@ -7,17 +7,75 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## Recent Releases
9
9
 
10
+ **v0.1.5 (October 2025)** - Memory System
11
+ Long-term memory with semantic retrieval via mem0, automatic context compression, and memory sharing for multi-turn conversations.
12
+
10
13
  **v0.1.4 (October 2025)** - Multimodal Generation Tools & Binary File Protection
11
14
  Comprehensive generation tools for images, videos, audio, and documents with OpenAI APIs, binary file blocking for security, web crawling integration, and enhanced documentation infrastructure.
12
15
 
13
16
  **v0.1.3 (October 2025)** - Post-Evaluation Tools & Multimodal Understanding
14
17
  Post-evaluation workflow with submit/restart capabilities, custom multimodal understanding tools, Docker sudo mode, and enhanced config builder.
15
18
 
16
- **v0.1.2 (October 2025)** - Intelligent Planning Mode & Model Updates
17
- Automatic irreversibility analysis for MCP tools, selective tool blocking, Claude 4.5 Haiku support, and Grok web search improvements.
18
-
19
19
  ---
20
20
 
21
+ ## [0.1.5] - 2025-10-29
22
+
23
+ ### Added
24
+ - **Memory System**: Complete long-term memory implementation with semantic retrieval
25
+ - New `massgen/memory/` module with comprehensive memory management
26
+ - **PersistentMemory** via mem0 integration for semantic fact storage and retrieval
27
+ - **ConversationMemory** for short-term verbatim message tracking
28
+ - **Automatic Context Compression** when approaching token limits
29
+ - **Memory Sharing for Multi-Turn Conversations** with turn-aware filtering to prevent temporal leakage
30
+ - **Session Management** for memory isolation and continuation across runs
31
+ - **Qdrant Vector Database Integration** for efficient semantic search (server and local modes)
32
+ - **Context Monitoring** with real-time token usage tracking
33
+ - Fact extraction prompts with customizable LLM and embedding providers
34
+ - Supports OpenAI, Anthropic, Groq, and other mem0-compatible providers
35
+
36
+ - **Memory Configuration Support**: New YAML configuration options
37
+ - Memory enable/disable toggle at global and per-agent levels
38
+ - Configurable compression thresholds (trigger_threshold, target_ratio)
39
+ - Retrieval settings (limit, exclude_recent for smart retrieval)
40
+ - Session naming for continuation and cross-session memory
41
+ - LLM and embedding provider configuration for mem0
42
+ - Qdrant connection settings (server/local mode, host, port, path)
43
+
44
+ ### Changed
45
+ - **Chat Agent Enhancement**: Memory integration for agent workflows
46
+ - Memory recording after agent responses (conversation and persistent)
47
+ - Memory retrieval on restart/reset for context restoration
48
+ - Integration with compression and context monitoring modules
49
+
50
+ - **Orchestrator Enhancement**: Memory coordination for multi-agent workflows
51
+ - Memory initialization and management across agent lifecycles
52
+ - Memory cleanup on orchestrator shutdown
53
+
54
+ ### Documentations, Configurations and Resources
55
+
56
+ - **Memory Documentation**: Comprehensive memory system user guide
57
+ - New `docs/source/user_guide/memory.rst`
58
+ - Complete usage guide with quick start, configuration reference, and examples
59
+ - Design decisions documentation explaining architecture choices
60
+ - Troubleshooting guide for common memory issues
61
+ - Monitoring and debugging instructions with log examples
62
+ - API reference for PersistentMemory, ConversationMemory, and ContextMonitor
63
+
64
+ - **Configuration Examples**: 5 new memory-focused YAML configurations
65
+ - `gpt5mini_gemini_context_window_management.yaml`: Multi-agent with context compression
66
+ - `gpt5mini_gemini_research_to_implementation.yaml`: Research to implementation workflow
67
+ - `gpt5mini_high_reasoning_gemini.yaml`: High reasoning agents with memory
68
+ - `gpt5mini_gemini_baseline_research_to_implementation.yaml`: Baseline research workflow
69
+ - `single_agent_compression_test.yaml`: Testing compression behavior
70
+
71
+ - **Infrastructure and Testing**:
72
+ - Memory test suite with 4 test files in `massgen/tests/memory/`
73
+ - Additional memory tests: `test_agent_memory.py`, `test_conversation_memory.py`, `test_orchestrator_memory.py`, `test_persistent_memory.py`
74
+
75
+ ### Technical Details
76
+ - **Major Focus**: Long-term memory system with semantic retrieval and memory sharing for multi-turn conversations
77
+ - **Contributors**: @ncrispino @qidanrui @kitrakrev @sonichi @Henry-811 and the MassGen team
78
+
21
79
  ## [0.1.4] - 2025-10-27
22
80
 
23
81
  ### Added
@@ -61,14 +119,6 @@ Automatic irreversibility analysis for MCP tools, selective tool blocking, Claud
61
119
  - Updated `docs/source/user_guide/protected_paths.rst` with binary file protection section
62
120
  - Documents 40+ protected binary file types and specialized tool suggestions
63
121
 
64
- - **Enhanced Pre-commit Hooks**: Improved code quality automation
65
- - Updated `.pre-commit-config.yaml` with additional checks
66
- - Better README synchronization and validation
67
-
68
- - **Documentation Automation**: CI/CD for documentation deployment
69
- - New `.github/workflows/docs-automation.yml` for automated doc builds
70
- - Removed legacy docs.yml workflow
71
-
72
122
  - **Configuration Examples**: 9 new YAML configuration files
73
123
  - **Generation Tools**: 8 multimodal generation configurations
74
124
  - `text_to_image_generation_single.yaml` and `text_to_image_generation_multi.yaml`
@@ -204,10 +204,12 @@ orchestrator:
204
204
  snapshot_storage: "snapshots"
205
205
  agent_temporary_workspace: "temp_workspaces"
206
206
 
207
- # Memory configuration (schema not yet implemented but may evolve when it does)
207
+ # Memory configuration (implemented in v0.1.5 - see docs/source/user_guide/memory.rst)
208
208
  memory:
209
209
  enabled: true
210
- provider: mem0
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.5. If you want to contribute, please contribute to the `dev/v0.1.5` branch.
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.5
279
- git checkout -b feature/your-feature-name upstream/dev/v0.1.5
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.5`
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.5` branch
484
+ - [ ] PR targets `dev/v0.1.6` branch
483
485
 
484
486
  ### PR Description Should Include
485
487
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: massgen
3
- Version: 0.1.4
3
+ Version: 0.1.5
4
4
  Summary: Multi-Agent Scaling System - A powerful framework for collaborative AI
5
5
  Author-email: MassGen Team <contact@massgen.dev>
6
6
  License: Apache-2.0
@@ -54,6 +54,7 @@ Requires-Dist: openpyxl>=3.1.5
54
54
  Requires-Dist: python-pptx>=1.0.2
55
55
  Requires-Dist: opencv-python>=4.12.0.88
56
56
  Requires-Dist: pypdf2>=3.0.1
57
+ Requires-Dist: mem0ai>=1.0.0
57
58
  Requires-Dist: reportlab>=4.0.0
58
59
  Provides-Extra: dev
59
60
  Requires-Dist: pytest>=7.0.0; extra == "dev"
@@ -121,7 +122,7 @@ Dynamic: license-file
121
122
 
122
123
  <p align="center">
123
124
  <a href="https://www.youtube.com/watch?v=Dp2oldJJImw">
124
- <img src="assets/thumbnail.png" alt="MassGen case study -- Berkeley Agentic AI Summit Question" width="800">
125
+ <img src="docs/source/_static/images/thumbnail.png" alt="MassGen case study -- Berkeley Agentic AI Summit Question" width="800">
125
126
  </a>
126
127
  </p>
127
128
 
@@ -150,7 +151,7 @@ This project started with the "threads of thought" and "iterative refinement" id
150
151
  <details open>
151
152
  <summary><h3>🆕 Latest Features</h3></summary>
152
153
 
153
- - [v0.1.4 Features](#-latest-features-v014)
154
+ - [v0.1.5 Features](#-latest-features-v015)
154
155
  </details>
155
156
 
156
157
  <details open>
@@ -195,16 +196,15 @@ This project started with the "threads of thought" and "iterative refinement" id
195
196
  <summary><h3>🗺️ Roadmap</h3></summary>
196
197
 
197
198
  - Recent Achievements
198
- - [v0.1.4](#recent-achievements-v014)
199
- - [v0.1.3](#recent-achievements-v013)
200
- - [v0.0.3 - v0.1.2](#previous-achievements-v003---v012)
199
+ - [v0.1.5](#recent-achievements-v015)
200
+ - [v0.0.3 - v0.1.4](#previous-achievements-v003---v014)
201
201
  - [Key Future Enhancements](#key-future-enhancements)
202
202
  - Bug Fixes & Backend Improvements
203
203
  - Advanced Agent Collaboration
204
204
  - Expanded Model, Tool & Agent Integrations
205
205
  - Improved Performance & Scalability
206
206
  - Enhanced Developer Experience
207
- - [v0.1.5 Roadmap](#v015-roadmap)
207
+ - [v0.1.6 Roadmap](#v016-roadmap)
208
208
  </details>
209
209
 
210
210
  <details open>
@@ -229,37 +229,49 @@ This project started with the "threads of thought" and "iterative refinement" id
229
229
 
230
230
  ---
231
231
 
232
- ## 🆕 Latest Features (v0.1.4)
232
+ ## 🆕 Latest Features (v0.1.5)
233
233
 
234
- **🎉 Released: October 27, 2025**
234
+ **🎉 Released: October 2025**
235
235
 
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
236
+ **What's New in v0.1.5:**
237
+ - **🧠 Long-Term Memory System** - Semantic memory with retrieval across sessions
238
+ - **🗜️ Automatic Context Compression** - Smart compression when approaching token limits
239
+ - **🔄 Memory Sharing for Multi-Turn Conversations** - Agents access knowledge from previous turns
240
240
 
241
241
  **Key Improvements:**
242
- - 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
242
+ - Persistent memory via mem0 integration with vector storage
243
+ - Conversational memory for short-term context tracking
244
+ - Context monitoring with real-time token usage tracking
245
+ - Session management for memory isolation and continuation
246
+ - Qdrant vector database integration for semantic search
246
247
 
247
- **Get Started with v0.1.4:**
248
+ **Get Started with v0.1.5:**
248
249
  ```bash
249
250
  # Install or upgrade from PyPI
250
251
  pip install --upgrade massgen
251
252
 
252
- # 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."
253
+ # Multi-agent collaboration with context compression
254
+ massgen --config @examples/memory/gpt5mini_gemini_context_window_management \
255
+ "Analyze the MassGen codebase comprehensively. Create an architecture document that explains: (1) Core components and their responsibilities, (2) How different modules interact, (3) Key design patterns used, (4) Main entry points and request flows. Read > 30 files to build a complete understanding."
255
256
 
256
- # 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."
257
+ # Research-to-implementation workflow with memory persistence
258
+ # Prerequisites: Start Qdrant and crawl4ai Docker containers
259
+ docker run -d -p 6333:6333 -p 6334:6334 \
260
+ -v $(pwd)/.massgen/qdrant_storage:/qdrant/storage:z qdrant/qdrant
261
+ docker run -d -p 11235:11235 --name crawl4ai --shm-size=1g unclecode/crawl4ai:latest
259
262
 
260
- # 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)."
263
+ # Session 1 - Research phase:
264
+ massgen --config @examples/memory/gpt5mini_gemini_research_to_implementation \
265
+ "Use crawl4ai to research the latest multi-agent AI papers and techniques from 2025. Focus on: coordination mechanisms, voting strategies, tool-use patterns, and architectural innovations."
266
+
267
+ # Session 2 - Implementation analysis (continue in same session):
268
+ # "Based on the multi-agent research from earlier, which techniques should we implement in MassGen to make it more state-of-the-art? Consider MassGen's current architecture and what would be most impactful."
269
+
270
+ → See [Multi-Turn Persistent Memory Case Study](docs/source/examples/case_studies/multi-turn-persistent-memory.md) for detailed analysis
271
+
272
+ # Test automatic context compression
273
+ massgen --config @examples/memory/single_agent_compression_test \
274
+ "Analyze the MassGen codebase comprehensively. Create an architecture document that explains: (1) Core components and their responsibilities, (2) How different modules interact, (3) Key design patterns used, (4) Main entry points and request flows. Read > 30 files to build a complete understanding."
263
275
  ```
264
276
 
265
277
  → [See full release history and examples](massgen/configs/README.md#release-history--examples)
@@ -481,17 +493,20 @@ MassGen agents can leverage various tools to enhance their problem-solving capab
481
493
 
482
494
  **Supported Built-in Tools by Backend:**
483
495
 
484
- | Backend | Live Search | Code Execution | File Operations | MCP Support | Multimodal (Image/Audio/Video) | Advanced Features |
485
- |---------|:-----------:|:--------------:|:---------------:|:-----------:|:----------:|:-----------------|
486
- | **Azure OpenAI** (NEW in v0.0.10) | ❌ | ❌ | ❌ | ❌ | ❌ | Code interpreter, Azure deployment management |
487
- | **Claude API** | ✅ | ✅ | ✅ | ✅ | | Web search, code interpreter, **MCP integration** |
488
- | **Claude Code** | ✅ | ✅ | ✅ | ✅ | ✅<br/>*Image* | **Native Claude Code SDK, comprehensive dev tools, MCP integration** |
489
- | **Gemini API** | ✅ | ✅ | ✅ | ✅ | ✅<br/>*Image* | Web search, code execution, **MCP integration**|
490
- | **Grok API** | ✅ | ❌ | ✅ | ✅ | | Web search, **MCP integration** |
491
- | **OpenAI API** | ✅ | ✅ | ✅ | ✅ | ✅<br/>*Image* | Web search, code interpreter, **MCP integration** |
492
- | **ZAI API** | ❌ | ❌ | ✅ | ✅ | | **MCP integration** |
493
-
494
- **Note:** Audio/video multimodal support (NEW in v0.0.30) is available through Chat Completions-based providers like OpenRouter and Qwen API. See configuration examples: [`single_openrouter_audio_understanding.yaml`](massgen/configs/basic/single/single_openrouter_audio_understanding.yaml), [`single_qwen_video_understanding.yaml`](massgen/configs/basic/single/single_qwen_video_understanding.yaml)
496
+ | Backend | Live Search | Code Execution | File Operations | MCP Support | Multimodal Understanding | Multimodal Generation | Advanced Features |
497
+ |---------|:-----------:|:--------------:|:---------------:|:-----------:|:------------------------:|:---------------------:|:-----------------|
498
+ | **Azure OpenAI** (NEW in v0.0.10) | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | Code interpreter, Azure deployment management |
499
+ | **Claude API** | ✅ | ✅ | ✅ | ✅ | ✅<br/>*via custom tools* | ✅<br/>*via custom tools* | Web search, code interpreter, **MCP integration** |
500
+ | **Claude Code** | ✅ | ✅ | ✅ | ✅ | ✅<br/>*Image (native)*<br/>*Audio/Video/Docs (custom tools)* | ✅<br/>*via custom tools* | **Native Claude Code SDK, comprehensive dev tools, MCP integration** |
501
+ | **Gemini API** | ✅ | ✅ | ✅ | ✅ | ✅<br/>*Image (native)*<br/>*Audio/Video/Docs (custom tools)* | ✅<br/>*via custom tools* | Web search, code execution, **MCP integration**|
502
+ | **Grok API** | ✅ | ❌ | ✅ | ✅ | ✅<br/>*via custom tools* | ✅<br/>*via custom tools* | Web search, **MCP integration** |
503
+ | **OpenAI API** | ✅ | ✅ | ✅ | ✅ | ✅<br/>*Image (native)*<br/>*Audio/Video/Docs (custom tools)* | ✅<br/>*via custom tools* | Web search, code interpreter, **MCP integration** |
504
+ | **ZAI API** | ❌ | ❌ | ✅ | ✅ | ✅<br/>*via custom tools* | ✅<br/>*via custom tools* | **MCP integration** |
505
+
506
+ **Notes:**
507
+ - **Multimodal Understanding** (NEW in v0.1.3): Analyze images, audio, video, and documents via custom tools using OpenAI GPT-4.1 - works with any backend
508
+ - **Multimodal Generation** (NEW in v0.1.4): Generate images, videos, audio, and documents via custom tools using OpenAI APIs - works with any backend
509
+ - See custom tool configurations: [`understand_image.yaml`](massgen/configs/tools/custom_tools/multimodal_tools/understand_image.yaml), [`text_to_image_generation_single.yaml`](massgen/configs/tools/custom_tools/multimodal_tools/text_to_image_generation_single.yaml)
495
510
 
496
511
  → For detailed backend capabilities and tool integration guides, see [User Guide - Backends](https://docs.massgen.ai/en/latest/user_guide/backends.html)
497
512
 
@@ -1084,6 +1099,10 @@ All sessions are automatically logged with detailed information for debugging an
1084
1099
 
1085
1100
  To see how MassGen works in practice, check out these detailed case studies based on real session logs:
1086
1101
 
1102
+ **Featured:**
1103
+ - [**Multi-Turn Persistent Memory**](docs/source/examples/case_studies/multi-turn-persistent-memory.md) - Research-to-implementation workflow demonstrating memory system (v0.1.5) | [📹 Watch Demo](https://youtu.be/wWxxFgyw40Y)
1104
+
1105
+ **All Case Studies:**
1087
1106
  - [**MassGen Case Studies**](docs/source/examples/case_studies/README.md)
1088
1107
  - [**Case Studies Documentation**](https://docs.massgen.ai/en/latest/examples/case_studies.html) - Browse case studies online
1089
1108
 
@@ -1096,49 +1115,63 @@ MassGen is currently in its foundational stage, with a focus on parallel, asynch
1096
1115
 
1097
1116
  ⚠️ **Early Stage Notice:** As MassGen is in active development, please expect upcoming breaking architecture changes as we continue to refine and improve the system.
1098
1117
 
1099
- ### Recent Achievements (v0.1.4)
1118
+ ### Recent Achievements (v0.1.5)
1119
+
1120
+ **🎉 Released: October 2025**
1121
+
1122
+ #### Memory System
1123
+ - **PersistentMemory**: Long-term semantic memory storage via mem0 integration with fact extraction and retrieval across sessions
1124
+ - **ConversationMemory**: Short-term verbatim message tracking for active conversation context
1125
+ - **Automatic Context Compression**: Smart compression when approaching token limits with configurable thresholds (trigger_threshold, target_ratio)
1126
+ - **Cross-Agent Memory Sharing**: Agents share memory with turn-aware filtering to prevent temporal information leakage
1127
+ - **Context Monitoring**: Real-time token usage tracking with automatic compression triggers
1128
+ - **Session Management**: Memory isolation and continuation across runs with session naming support
1129
+ - **Qdrant Integration**: Vector database support for efficient semantic search in both server and local modes
1130
+ - **Configurable Memory Providers**: Support for OpenAI, Anthropic, Groq, and other mem0-compatible LLM and embedding providers
1131
+
1132
+ #### Memory Configuration
1133
+ - **Global and Per-Agent Control**: Enable/disable memory at system or individual agent level
1134
+ - **Compression Settings**: Configurable trigger thresholds and target ratios for context window management
1135
+ - **Retrieval Configuration**: Customizable retrieval limits and smart filtering to exclude recent messages
1136
+ - **Memory Persistence**: Session continuation with named sessions for cross-session memory access
1137
+
1138
+ #### Configuration Files
1139
+ - `gpt5mini_gemini_context_window_management.yaml` - Multi-agent with automatic context compression
1140
+ - `gpt5mini_gemini_research_to_implementation.yaml` - Research-to-implementation workflow with memory
1141
+ - `gpt5mini_high_reasoning_gemini.yaml` - High reasoning agents with memory integration
1142
+ - `gpt5mini_gemini_baseline_research_to_implementation.yaml` - Baseline research workflow for comparison
1143
+ - `single_agent_compression_test.yaml` - Single agent testing context compression behavior
1100
1144
 
1101
- **🎉 Released: October 27, 2025**
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
- #### 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
1151
+ #### Testing Infrastructure
1152
+ - Memory test suite: `test_agent_memory.py`, `test_conversation_memory.py`, `test_orchestrator_memory.py`, `test_persistent_memory.py`
1109
1153
 
1110
- #### 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`
1154
+ ### Previous Achievements (v0.0.3 - v0.1.4)
1115
1155
 
1116
- #### Web Scraping Capabilities
1117
- - **Crawl4AI Tool**: `crawl4ai_tool` enables intelligent web scraping with LLM-powered content extraction and customizable patterns
1156
+ **Multimodal Generation Tools (v0.1.4)**: Create images from text via DALL-E API, generate videos from descriptions, text-to-speech with audio transcription support, document generation for PDF/DOCX/XLSX/PPTX formats, image transformation capabilities for existing images
1118
1157
 
1119
- #### 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
1158
+ **Binary File Protection (v0.1.4)**: Automatic blocking prevents text tools from accessing 40+ binary file types including images, videos, audio, archives, and Office documents, intelligent error messages guide users to appropriate specialized tools for binary content
1126
1159
 
1127
- ### Previous Achievements (v0.0.3 - v0.1.3)
1160
+ **Crawl4AI Integration (v0.1.4)**: Intelligent web scraping with LLM-powered content extraction and customizable extraction patterns for structured data retrieval from websites
1128
1161
 
1129
- ✅ **Post-Evaluation Workflow (v0.1.3)**: `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
1162
+ ✅ **Post-Evaluation Workflow (v0.1.3)**: Winning agents evaluate their own answers before submission with submit and restart capabilities, supports answer confirmation and orchestration restart with feedback across all backends
1130
1163
 
1131
- ✅ **Multimodal Understanding Tools (v0.1.3)**: `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`
1164
+ ✅ **Multimodal Understanding Tools (v0.1.3)**: Analyze images, transcribe audio, extract video frames, and process documents (PDF/DOCX/XLSX/PPTX) with structured JSON output, works across all backends via OpenAI GPT-4.1 integration
1132
1165
 
1133
- ✅ **Docker Sudo Mode (v0.1.3)**: `use_sudo` parameter for privileged Docker execution, system-level command support in containers, enhanced security documentation, test coverage in `test_code_execution.py`
1166
+ ✅ **Docker Sudo Mode (v0.1.3)**: Privileged command execution in Docker containers for system-level operations requiring elevated permissions
1134
1167
 
1135
- ✅ **Intelligent Planning Mode (v0.1.2)**: Automatic question analysis determining operation irreversibility via `_analyze_question_irreversibility()` in orchestrator, selective tool blocking with `set_planning_mode_blocked_tools()` and `is_mcp_tool_blocked()` methods, read-only MCP operations during coordination with write operations blocked, zero-configuration transparent operation, multi-workspace support, comprehensive tests in `test_intelligent_planning_mode.py`, complete guide in `docs/dev_notes/intelligent_planning_mode.md`
1168
+ ✅ **Intelligent Planning Mode (v0.1.2)**: Automatic question analysis determining operation irreversibility via `_analyze_question_irreversibility()` in orchestrator, selective tool blocking with `set_planning_mode_blocked_tools()` and `is_mcp_tool_blocked()` methods, read-only MCP operations during coordination with write operations blocked, zero-configuration transparent operation, multi-workspace support
1136
1169
 
1137
- ✅ **Model Updates (v0.1.2)**: Claude 4.5 Haiku model `claude-haiku-4-5-20251001`, reorganized Claude model priorities with `claude-sonnet-4-5-20250929` default, Grok web search fix with `_add_grok_search_params()` method for proper `extra_body` parameter handling, 5 updated planning mode configurations in `configs/tools/planning/`, updated `three_agents_default.yaml` with Grok-4-fast
1170
+ ✅ **Model Updates (v0.1.2)**: Claude 4.5 Haiku model `claude-haiku-4-5-20251001`, reorganized Claude model priorities with `claude-sonnet-4-5-20250929` default, Grok web search fix with `_add_grok_search_params()` method for proper `extra_body` parameter handling
1138
1171
 
1139
1172
  ✅ **Custom Tools System (v0.1.1)**: User-defined Python function registration using `ToolManager` class in `massgen/tool/_manager.py`, cross-backend support alongside MCP servers, builtin/MCP/custom tool categories with automatic discovery, 40+ examples in `massgen/configs/tools/custom_tools/`, voting sensitivity controls with three-tier quality system (lenient/balanced/strict), answer novelty detection preventing duplicates
1140
1173
 
1141
- ✅ **Backend Enhancements (v0.1.1)**: Gemini architecture refactoring with extracted MCP management (`gemini_mcp_manager.py`), tracking (`gemini_trackers.py`), and utilities, new capabilities registry in `massgen/backend/capabilities.py` documenting feature support across backends
1174
+ ✅ **Backend Enhancements (v0.1.1)**: Gemini architecture refactoring with extracted MCP management (`gemini_mcp_manager.py`), tracking (`gemini_trackers.py`), and utilities, new capabilities registry in `massgen/backend/capabilities.py` documenting feature support across all backends
1142
1175
 
1143
1176
  ✅ **PyPI Package Release (v0.1.0)**: Official distribution via `pip install massgen` with simplified installation, global `massgen` command accessible from any directory, comprehensive Sphinx documentation at [docs.massgen.ai](https://docs.massgen.ai/), interactive setup wizard with use case presets and API key management, enhanced CLI with `@examples/` prefix for built-in configurations
1144
1177
 
@@ -1238,21 +1271,21 @@ MassGen is currently in its foundational stage, with a focus on parallel, asynch
1238
1271
 
1239
1272
  We welcome community contributions to achieve these goals.
1240
1273
 
1241
- ### v0.1.5 Roadmap
1274
+ ### v0.1.6 Roadmap
1242
1275
 
1243
- Version 0.1.5 focuses on Docker integration for MCP tools and backend code refactoring:
1276
+ Version 0.1.6 focuses on backend code refactoring for improved maintainability and developer experience:
1244
1277
 
1245
- #### Required Features
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
1278
+ #### Planned Features
1279
+ - **Backend Code Refactoring**: Major code refactoring for improved maintainability and developer experience with better code organization, modularity, and architectural improvements
1248
1280
 
1249
1281
  Key technical approach:
1250
- - **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
1282
+ - **Code Architecture**: Enhanced code organization with improved modularity and separation of concerns
1283
+ - **Developer Experience**: Simplified backend extension points, improved API clarity, better error handling and debugging support
1284
+ - **Quality Assurance**: Comprehensive testing to ensure no functionality regressions
1252
1285
 
1253
- **Target Release**: October 30, 2025 (Wednesday @ 9am PT)
1286
+ **Target Release**: November 1, 2025 (Friday @ 9am PT)
1254
1287
 
1255
- For detailed milestones and technical specifications, see the [full v0.1.5 roadmap](ROADMAP_v0.1.5.md).
1288
+ For detailed milestones and technical specifications, see the [full v0.1.6 roadmap](ROADMAP_v0.1.6.md).
1256
1289
 
1257
1290
  ---
1258
1291