massgen 0.1.0a2__tar.gz → 0.1.8__tar.gz

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

Potentially problematic release.


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

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