massgen 0.1.3__py3-none-any.whl → 0.1.4__py3-none-any.whl

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 (58) hide show
  1. massgen/__init__.py +1 -1
  2. massgen/api_params_handler/_chat_completions_api_params_handler.py +4 -0
  3. massgen/api_params_handler/_claude_api_params_handler.py +4 -0
  4. massgen/api_params_handler/_gemini_api_params_handler.py +4 -0
  5. massgen/api_params_handler/_response_api_params_handler.py +4 -0
  6. massgen/backend/base_with_custom_tool_and_mcp.py +25 -5
  7. massgen/backend/docs/permissions_and_context_files.md +2 -2
  8. massgen/backend/response.py +2 -0
  9. massgen/configs/README.md +49 -40
  10. massgen/configs/tools/custom_tools/crawl4ai_example.yaml +55 -0
  11. massgen/configs/tools/custom_tools/multimodal_tools/text_to_file_generation_multi.yaml +61 -0
  12. massgen/configs/tools/custom_tools/multimodal_tools/text_to_file_generation_single.yaml +29 -0
  13. massgen/configs/tools/custom_tools/multimodal_tools/text_to_image_generation_multi.yaml +51 -0
  14. massgen/configs/tools/custom_tools/multimodal_tools/text_to_image_generation_single.yaml +33 -0
  15. massgen/configs/tools/custom_tools/multimodal_tools/text_to_speech_generation_multi.yaml +55 -0
  16. massgen/configs/tools/custom_tools/multimodal_tools/text_to_speech_generation_single.yaml +33 -0
  17. massgen/configs/tools/custom_tools/multimodal_tools/text_to_video_generation_multi.yaml +47 -0
  18. massgen/configs/tools/custom_tools/multimodal_tools/text_to_video_generation_single.yaml +29 -0
  19. massgen/configs/tools/custom_tools/multimodal_tools/understand_audio.yaml +1 -1
  20. massgen/configs/tools/custom_tools/multimodal_tools/understand_file.yaml +1 -1
  21. massgen/configs/tools/custom_tools/multimodal_tools/understand_image.yaml +1 -1
  22. massgen/configs/tools/custom_tools/multimodal_tools/understand_video.yaml +1 -1
  23. massgen/configs/tools/custom_tools/multimodal_tools/youtube_video_analysis.yaml +1 -1
  24. massgen/filesystem_manager/_filesystem_manager.py +1 -0
  25. massgen/filesystem_manager/_path_permission_manager.py +148 -0
  26. massgen/message_templates.py +160 -12
  27. massgen/orchestrator.py +16 -0
  28. massgen/tests/test_binary_file_blocking.py +274 -0
  29. massgen/tests/test_case_studies.md +12 -12
  30. massgen/tests/test_multimodal_size_limits.py +407 -0
  31. massgen/tool/_manager.py +7 -2
  32. massgen/tool/_multimodal_tools/image_to_image_generation.py +293 -0
  33. massgen/tool/_multimodal_tools/text_to_file_generation.py +455 -0
  34. massgen/tool/_multimodal_tools/text_to_image_generation.py +222 -0
  35. massgen/tool/_multimodal_tools/text_to_speech_continue_generation.py +226 -0
  36. massgen/tool/_multimodal_tools/text_to_speech_transcription_generation.py +217 -0
  37. massgen/tool/_multimodal_tools/text_to_video_generation.py +223 -0
  38. massgen/tool/_multimodal_tools/understand_audio.py +19 -1
  39. massgen/tool/_multimodal_tools/understand_file.py +6 -1
  40. massgen/tool/_multimodal_tools/understand_image.py +112 -8
  41. massgen/tool/_multimodal_tools/understand_video.py +32 -5
  42. massgen/tool/_web_tools/crawl4ai_tool.py +718 -0
  43. massgen/tool/docs/multimodal_tools.md +589 -0
  44. {massgen-0.1.3.dist-info → massgen-0.1.4.dist-info}/METADATA +96 -69
  45. {massgen-0.1.3.dist-info → massgen-0.1.4.dist-info}/RECORD +49 -40
  46. massgen/configs/tools/custom_tools/crawl4ai_mcp_example.yaml +0 -67
  47. massgen/configs/tools/custom_tools/crawl4ai_multi_agent_example.yaml +0 -68
  48. massgen/configs/tools/custom_tools/multimodal_tools/playwright_with_img_understanding.yaml +0 -98
  49. massgen/configs/tools/custom_tools/multimodal_tools/understand_video_example.yaml +0 -54
  50. massgen/configs/tools/memory/README.md +0 -199
  51. massgen/configs/tools/memory/gpt5mini_gemini_context_window_management.yaml +0 -131
  52. massgen/configs/tools/memory/gpt5mini_gemini_no_persistent_memory.yaml +0 -133
  53. massgen/configs/tools/memory/test_context_window_management.py +0 -286
  54. massgen/configs/tools/multimodal/gpt5mini_gpt5nano_documentation_evolution.yaml +0 -97
  55. {massgen-0.1.3.dist-info → massgen-0.1.4.dist-info}/WHEEL +0 -0
  56. {massgen-0.1.3.dist-info → massgen-0.1.4.dist-info}/entry_points.txt +0 -0
  57. {massgen-0.1.3.dist-info → massgen-0.1.4.dist-info}/licenses/LICENSE +0 -0
  58. {massgen-0.1.3.dist-info → massgen-0.1.4.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: massgen
3
- Version: 0.1.3
3
+ Version: 0.1.4
4
4
  Summary: Multi-Agent Scaling System - A powerful framework for collaborative AI
5
5
  Author-email: MassGen Team <contact@massgen.dev>
6
6
  License: Apache-2.0
@@ -54,6 +54,7 @@ Requires-Dist: openpyxl>=3.1.5
54
54
  Requires-Dist: python-pptx>=1.0.2
55
55
  Requires-Dist: opencv-python>=4.12.0.88
56
56
  Requires-Dist: pypdf2>=3.0.1
57
+ Requires-Dist: reportlab>=4.0.0
57
58
  Provides-Extra: dev
58
59
  Requires-Dist: pytest>=7.0.0; extra == "dev"
59
60
  Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
@@ -88,23 +89,29 @@ Provides-Extra: all
88
89
  Dynamic: license-file
89
90
 
90
91
  <p align="center">
91
- <img src="https://raw.githubusercontent.com/Leezekun/MassGen/main/assets/logo.png" alt="MassGen Logo" width="360" />
92
+ <picture>
93
+ <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/Leezekun/MassGen/main/assets/logo-dark.png">
94
+ <source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/Leezekun/MassGen/main/assets/logo.png">
95
+ <img src="https://raw.githubusercontent.com/Leezekun/MassGen/main/assets/logo.png" alt="MassGen Logo" width="360" />
96
+ </picture>
92
97
  </p>
93
98
 
94
- <p align="center">
95
- <a href="https://www.python.org/downloads/">
96
- <img src="https://img.shields.io/badge/python-3.11+-blue.svg" alt="Python 3.11+" style="margin-right: 5px;">
97
- </a>
98
- <a href="LICENSE">
99
- <img src="https://img.shields.io/badge/license-Apache%202.0-blue.svg" alt="License" style="margin-right: 5px;">
100
- </a>
101
- <a href="https://docs.massgen.ai">
102
- <img src="https://img.shields.io/badge/docs-massgen.ai-blue.svg" alt="Documentation" style="margin-right: 5px;">
103
- </a>
104
- <a href="https://discord.massgen.ai">
105
- <img src="https://img.shields.io/discord/1153072414184452236?color=7289da&label=chat&logo=discord&style=flat-square" alt="Join our Discord">
106
- </a>
107
- </p>
99
+ <div align="center">
100
+
101
+ [![Docs](https://img.shields.io/badge/docs-massgen.ai-blue?style=flat-square&logo=readthedocs&logoColor=white)](https://docs.massgen.ai)
102
+ [![GitHub Stars](https://img.shields.io/github/stars/Leezekun/MassGen?style=flat-square&logo=github&color=181717&logoColor=white)](https://github.com/Leezekun/MassGen)
103
+ [![Python 3.11+](https://img.shields.io/badge/python-3.11+-3776AB?style=flat-square&logo=python&logoColor=white)](https://www.python.org/downloads/)
104
+ [![License](https://img.shields.io/badge/license-Apache%202.0-green?style=flat-square)](LICENSE)
105
+
106
+ </div>
107
+
108
+ <div align="center">
109
+
110
+ [![Follow on X](https://img.shields.io/badge/FOLLOW%20ON%20X-000000?style=for-the-badge&logo=x&logoColor=white)](https://x.massgen.ai)
111
+ [![Follow on LinkedIn](https://img.shields.io/badge/FOLLOW%20ON%20LINKEDIN-0A66C2?style=for-the-badge&logo=linkedin&logoColor=white)](https://www.linkedin.com/company/massgen-ai)
112
+ [![Join our Discord](https://img.shields.io/badge/JOIN%20OUR%20DISCORD-5865F2?style=for-the-badge&logo=discord&logoColor=white)](https://discord.massgen.ai)
113
+
114
+ </div>
108
115
 
109
116
  <h1 align="center">🚀 MassGen: Multi-Agent Scaling System for GenAI</h1>
110
117
 
@@ -114,7 +121,7 @@ Dynamic: license-file
114
121
 
115
122
  <p align="center">
116
123
  <a href="https://www.youtube.com/watch?v=Dp2oldJJImw">
117
- <img src="https://raw.githubusercontent.com/Leezekun/MassGen/main/assets/thumbnail.png" alt="MassGen case study -- Berkeley Agentic AI Summit Question" width="800">
124
+ <img src="assets/thumbnail.png" alt="MassGen case study -- Berkeley Agentic AI Summit Question" width="800">
118
125
  </a>
119
126
  </p>
120
127
 
@@ -143,7 +150,7 @@ This project started with the "threads of thought" and "iterative refinement" id
143
150
  <details open>
144
151
  <summary><h3>🆕 Latest Features</h3></summary>
145
152
 
146
- - [v0.1.2 Features](#-latest-features-v012)
153
+ - [v0.1.4 Features](#-latest-features-v014)
147
154
  </details>
148
155
 
149
156
  <details open>
@@ -188,15 +195,16 @@ This project started with the "threads of thought" and "iterative refinement" id
188
195
  <summary><h3>🗺️ Roadmap</h3></summary>
189
196
 
190
197
  - Recent Achievements
191
- - [v0.1.2](#recent-achievements-v012)
192
- - [v0.0.3 - v0.1.1](#previous-achievements-v003---v011)
198
+ - [v0.1.4](#recent-achievements-v014)
199
+ - [v0.1.3](#recent-achievements-v013)
200
+ - [v0.0.3 - v0.1.2](#previous-achievements-v003---v012)
193
201
  - [Key Future Enhancements](#key-future-enhancements)
194
202
  - Bug Fixes & Backend Improvements
195
203
  - Advanced Agent Collaboration
196
204
  - Expanded Model, Tool & Agent Integrations
197
205
  - Improved Performance & Scalability
198
206
  - Enhanced Developer Experience
199
- - [v0.1.3 Roadmap](#v013-roadmap)
207
+ - [v0.1.5 Roadmap](#v015-roadmap)
200
208
  </details>
201
209
 
202
210
  <details open>
@@ -221,36 +229,37 @@ This project started with the "threads of thought" and "iterative refinement" id
221
229
 
222
230
  ---
223
231
 
224
- ## 🆕 Latest Features (v0.1.2)
232
+ ## 🆕 Latest Features (v0.1.4)
225
233
 
226
- **🎉 Released: October 22, 2025**
234
+ **🎉 Released: October 27, 2025**
227
235
 
228
- **What's New in v0.1.2:**
229
- - **🧠 Intelligent Planning Mode** - Automatic question analysis for safe MCP tool blocking
230
- - **🎭 Claude 4.5 Haiku Support** - Access to latest Claude Haiku model
231
- - **🔍 Grok Web Search Fix** - Improved web search functionality in Grok backend
236
+ **What's New in v0.1.4:**
237
+ - **🎨 Multimodal Generation Tools** - Create images, videos, audio, and documents with AI
238
+ - **🔒 Binary File Protection** - Automatic security preventing accidental binary file reads
239
+ - **🕷️ Crawl4AI Integration** - Intelligent web scraping with LLM-powered extraction
232
240
 
233
241
  **Key Improvements:**
234
- - Automatically determines if questions require irreversible operations
235
- - Read-only MCP operations allowed during coordination for better decisions
236
- - Write operations automatically blocked for safety
237
- - Zero configuration required - works transparently
238
- - Enhanced model support with latest Claude 4.5 Haiku
242
+ - 6 new generation tools: text-to-image, text-to-video, text-to-speech, text-to-file, image-to-image
243
+ - Binary file protection for 40+ file types with smart tool suggestions
244
+ - Web crawling with customizable extraction patterns
245
+ - Enhanced documentation and automation infrastructure
239
246
 
240
- **Get Started with v0.1.2:**
247
+ **Get Started with v0.1.4:**
241
248
  ```bash
242
249
  # Install or upgrade from PyPI
243
250
  pip install --upgrade massgen
244
251
 
245
- # Try intelligent planning mode with MCP tools
246
- # (Please read the YAML file for required API keys: DISCORD_TOKEN, OPENAI_API_KEY, etc.)
247
- massgen --config @examples/tools/planning/five_agents_discord_mcp_planning_mode \
248
- "Check recent messages in our development channel, summarize the discussion, and post a helpful response about the current topic."
252
+ # Generate an image from text
253
+ massgen --config @examples/tools/custom_tools/multimodal_tools/text_to_image_generation_single \
254
+ "Please generate an image of a cat in space."
249
255
 
250
- # Use latest Claude 4.5 Haiku model
251
- # (Requires ANTHROPIC_API_KEY in .env)
252
- massgen --model claude-haiku-4-5-20251001 \
253
- "Summarize the latest AI developments"
256
+ # Generate a video from text
257
+ massgen --config @examples/tools/custom_tools/multimodal_tools/text_to_video_generation_single \
258
+ "Generate a 4 seconds video with neon-lit alley at night, light rain, slow push-in, cinematic."
259
+
260
+ # Generate documents (PDF, DOCX, etc.)
261
+ massgen --config @examples/tools/custom_tools/multimodal_tools/text_to_file_generation_single \
262
+ "Please generate a comprehensive technical report about the latest developments in Large Language Models (LLMs)."
254
263
  ```
255
264
 
256
265
  → [See full release history and examples](massgen/configs/README.md#release-history--examples)
@@ -954,7 +963,7 @@ massgen --config @examples/tools/code-execution/multi_agent_playwright_automatio
954
963
  "Navigate to https://news.ycombinator.com, extract the top 10 stories, and create a summary report"
955
964
  ```
956
965
 
957
- → [**See detailed case studies**](docs/case_studies/README.md) with real session logs and outcomes
966
+ → [**See detailed case studies**](docs/source/examples/case_studies/README.md) with real session logs and outcomes
958
967
 
959
968
  #### Interactive Mode & Advanced Usage
960
969
 
@@ -1075,7 +1084,7 @@ All sessions are automatically logged with detailed information for debugging an
1075
1084
 
1076
1085
  To see how MassGen works in practice, check out these detailed case studies based on real session logs:
1077
1086
 
1078
- - [**MassGen Case Studies**](docs/case_studies/README.md)
1087
+ - [**MassGen Case Studies**](docs/source/examples/case_studies/README.md)
1079
1088
  - [**Case Studies Documentation**](https://docs.massgen.ai/en/latest/examples/case_studies.html) - Browse case studies online
1080
1089
 
1081
1090
  ---
@@ -1083,33 +1092,49 @@ To see how MassGen works in practice, check out these detailed case studies base
1083
1092
 
1084
1093
  ## 🗺️ Roadmap
1085
1094
 
1086
- MassGen is currently in its foundational stage, with a focus on parallel, asynchronous multi-agent collaboration and orchestration. Our roadmap is centered on transforming this foundation into a highly robust, intelligent, and user-friendly system, while enabling frontier research and exploration. An earlier version of MassGen can be found [here](./massgen/v1).
1095
+ MassGen is currently in its foundational stage, with a focus on parallel, asynchronous multi-agent collaboration and orchestration. Our roadmap is centered on transforming this foundation into a highly robust, intelligent, and user-friendly system, while enabling frontier research and exploration.
1087
1096
 
1088
1097
  ⚠️ **Early Stage Notice:** As MassGen is in active development, please expect upcoming breaking architecture changes as we continue to refine and improve the system.
1089
1098
 
1090
- ### Recent Achievements (v0.1.2)
1099
+ ### Recent Achievements (v0.1.4)
1100
+
1101
+ **🎉 Released: October 27, 2025**
1102
+
1103
+ #### Multimodal Generation Tools
1104
+ - **Text-to-Image**: `text_to_image_generation` tool creates images from text prompts via DALL-E API
1105
+ - **Text-to-Video**: `text_to_video_generation` tool generates videos from text descriptions
1106
+ - **Text-to-Speech**: `text_to_speech_continue_generation` and `text_to_speech_transcription_generation` tools for audio generation and transcription
1107
+ - **Text-to-File**: `text_to_file_generation` tool creates documents in PDF, DOCX, XLSX, and PPTX formats
1108
+ - **Image-to-Image**: `image_to_image_generation` tool transforms existing images
1091
1109
 
1092
- **🎉 Released: October 22, 2025**
1110
+ #### Binary File Protection
1111
+ - **Automatic Blocking**: `PathPermissionManager` now prevents text-based read tools from accessing binary files
1112
+ - **Protected File Types**: 40+ extensions including images (.jpg, .png), videos (.mp4, .avi), audio (.mp3, .wav), archives (.zip, .tar), executables (.exe, .dll), and Office documents (.pdf, .docx, .xlsx, .pptx)
1113
+ - **Intelligent Guidance**: Error messages automatically suggest appropriate specialized tools (e.g., "use understand_image tool" for .jpg files)
1114
+ - **Test Coverage**: `test_binary_file_blocking.py`
1093
1115
 
1094
- #### Intelligent Planning Mode
1095
- - **Automatic Question Analysis**: New `_analyze_question_irreversibility()` method in orchestrator determines if MCP operations are reversible
1096
- - **Selective Tool Blocking**: Granular control with `set_planning_mode_blocked_tools()`, `get_planning_mode_blocked_tools()`, and `is_mcp_tool_blocked()` methods
1097
- - **Dynamic Behavior**: Read-only MCP operations allowed during coordination, write operations blocked for safety
1098
- - **Zero Configuration**: Works transparently without setup
1099
- - **Multi-Workspace Support**: Planning mode works across different workspaces without conflicts
1100
- - **Test Coverage**: Comprehensive tests in `massgen/tests/test_intelligent_planning_mode.py`
1101
- - **Documentation**: Complete guide in `docs/case_studies/INTELLIGENT_PLANNING_MODE.md`
1116
+ #### Web Scraping Capabilities
1117
+ - **Crawl4AI Tool**: `crawl4ai_tool` enables intelligent web scraping with LLM-powered content extraction and customizable patterns
1102
1118
 
1103
- #### Model Support & Improvements
1104
- - **Claude 4.5 Haiku**: Added latest Claude Haiku model `claude-haiku-4-5-20251001`
1105
- - **Model Priority Updates**: Reorganized Claude model list with updated defaults (`claude-sonnet-4-5-20250929`)
1106
- - **Grok Web Search Fix**: Resolved `extra_body` parameter handling for Grok's Live Search API with new `_add_grok_search_params()` method
1119
+ #### Documentation & Infrastructure
1120
+ - **Generation Tools**: 8 multimodal generation configurations
1121
+ - `text_to_image_generation_single.yaml` and `text_to_image_generation_multi.yaml`
1122
+ - `text_to_video_generation_single.yaml` and `text_to_video_generation_multi.yaml`
1123
+ - `text_to_speech_generation_single.yaml` and `text_to_speech_generation_multi.yaml`
1124
+ - `text_to_file_generation_single.yaml` and `text_to_file_generation_multi.yaml`
1125
+ - **Web Scraping**: `crawl4ai_example.yaml` for Crawl4AI integration
1107
1126
 
1108
- #### Configuration Updates
1109
- - **Planning Mode Configs**: Updated 5 configurations in `massgen/configs/tools/planning/` with selective blocking examples
1110
- - **Default Configuration**: Updated `three_agents_default.yaml` with Grok-4-fast model
1127
+ ### Previous Achievements (v0.0.3 - v0.1.3)
1111
1128
 
1112
- ### Previous Achievements (v0.0.3 - v0.1.1)
1129
+ **Post-Evaluation Workflow (v0.1.3)**: `PostEvaluationToolkit` class with submit tool for confirming final answers and restart tool for orchestration restart with feedback, winning agent evaluates answer before submission, universal backend support (Claude, Response API, Chat Completions), opt-in via `enable_post_evaluation_tools` parameter
1130
+
1131
+ ✅ **Multimodal Understanding Tools (v0.1.3)**: `understand_image` for PNG/JPEG analysis, `understand_audio` for WAV/MP3 transcription, `understand_video` for MP4/AVI frame extraction, `understand_file` for PDF/DOCX processing, cross-backend support via OpenAI GPT-4.1, structured JSON output, configurations: `understand_image.yaml`, `understand_audio.yaml`, `understand_video.yaml`, `understand_file.yaml`
1132
+
1133
+ ✅ **Docker Sudo Mode (v0.1.3)**: `use_sudo` parameter for privileged Docker execution, system-level command support in containers, enhanced security documentation, test coverage in `test_code_execution.py`
1134
+
1135
+ ✅ **Intelligent Planning Mode (v0.1.2)**: Automatic question analysis determining operation irreversibility via `_analyze_question_irreversibility()` in orchestrator, selective tool blocking with `set_planning_mode_blocked_tools()` and `is_mcp_tool_blocked()` methods, read-only MCP operations during coordination with write operations blocked, zero-configuration transparent operation, multi-workspace support, comprehensive tests in `test_intelligent_planning_mode.py`, complete guide in `docs/dev_notes/intelligent_planning_mode.md`
1136
+
1137
+ ✅ **Model Updates (v0.1.2)**: Claude 4.5 Haiku model `claude-haiku-4-5-20251001`, reorganized Claude model priorities with `claude-sonnet-4-5-20250929` default, Grok web search fix with `_add_grok_search_params()` method for proper `extra_body` parameter handling, 5 updated planning mode configurations in `configs/tools/planning/`, updated `three_agents_default.yaml` with Grok-4-fast
1113
1138
 
1114
1139
  ✅ **Custom Tools System (v0.1.1)**: User-defined Python function registration using `ToolManager` class in `massgen/tool/_manager.py`, cross-backend support alongside MCP servers, builtin/MCP/custom tool categories with automatic discovery, 40+ examples in `massgen/configs/tools/custom_tools/`, voting sensitivity controls with three-tier quality system (lenient/balanced/strict), answer novelty detection preventing duplicates
1115
1140
 
@@ -1213,19 +1238,21 @@ MassGen is currently in its foundational stage, with a focus on parallel, asynch
1213
1238
 
1214
1239
  We welcome community contributions to achieve these goals.
1215
1240
 
1216
- ### v0.1.3 Roadmap
1241
+ ### v0.1.5 Roadmap
1217
1242
 
1218
- Version 0.1.3 focuses on general interoperability and enterprise collaboration:
1243
+ Version 0.1.5 focuses on Docker integration for MCP tools and backend code refactoring:
1219
1244
 
1220
1245
  #### Required Features
1221
- - **General Interoperability**: Enable MassGen to orchestrate agents from multiple external frameworks with unified interface
1222
- - **Final Agent Submit/Restart Tools**: Enable final agent to decide whether to submit or restart orchestration
1246
+ - **Running MCP Tools in Docker**: Containerized execution environment for MCP tools with enhanced security and isolation
1247
+ - **Backend Code Refactoring**: Major code refactoring for improved maintainability and developer experience
1223
1248
 
1224
1249
  Key technical approach:
1225
- - **Framework Integration**: Multi-agent coordination supporting external agent frameworks with specialized agent roles (researcher, analyst, critic, synthesizer)
1226
- - **Submit/Restart**: Multi-step task verification with access to previous agents' responses and workspaces
1250
+ - **Docker Integration**: Secure execution of third-party MCP tools in isolated Docker containers with resource limits and network isolation
1251
+ - **Backend Improvements**: Enhanced code organization, modularity, and architectural improvements for better maintainability
1252
+
1253
+ **Target Release**: October 30, 2025 (Wednesday @ 9am PT)
1227
1254
 
1228
- For detailed milestones and technical specifications, see the [full v0.1.3 roadmap](ROADMAP.md).
1255
+ For detailed milestones and technical specifications, see the [full v0.1.5 roadmap](ROADMAP_v0.1.5.md).
1229
1256
 
1230
1257
  ---
1231
1258
 
@@ -1,12 +1,12 @@
1
- massgen/__init__.py,sha256=mM120i5cRrhv4-7QnwUYWIASIA_vW9VVq0adNucOf7Q,7974
1
+ massgen/__init__.py,sha256=Y3QKga-0ROs3uzv-pD1qOQhJeYGeUR1sW0W7vCyb3NI,7974
2
2
  massgen/agent_config.py,sha256=wC4_V858My4yDvajLDqo0A84hSNqzj9kEU7v_9fl6RQ,33136
3
3
  massgen/chat_agent.py,sha256=Oa1yv_yzfe2twbeqCM9LGzVOXA93p13RTE35Ks-XCpk,18903
4
4
  massgen/cli.py,sha256=3VNtpflBKfTSrr1Dj07iFMMH-YhnoCDcJWWlmJ2vNW0,114861
5
5
  massgen/config_builder.py,sha256=J881XcXqUwX_fGNAahGK0RG-zJbkWHYS-O-C8y6rWxA,142182
6
6
  massgen/coordination_tracker.py,sha256=_r8Man3uomovpXKHrlc4YBI030tkuavYQ-6fEk2JsfM,28201
7
7
  massgen/logger_config.py,sha256=BalZOpvGyeejyI5Q8e8aa9OG3dvYf7VaR-k7u9MLZBg,25457
8
- massgen/message_templates.py,sha256=38TtFZdPDiHFoq9x6RCpcINf03YD9vrNN3SUQyT1njY,46143
9
- massgen/orchestrator.py,sha256=8y3-Sp0UQYlrFacJEGu46Hagkuno9jZyAB2HKxR-co0,166095
8
+ massgen/message_templates.py,sha256=yVtynIjwn4bG6bUJ5uAW174LO6-w7jYbG07KCJTDpcY,55900
9
+ massgen/orchestrator.py,sha256=oRj_JHNZqKrM3pWkyrQawqPyLL2HujepGc3q5E8tu88,167064
10
10
  massgen/utils.py,sha256=dWsLMoRRCwBtzDe8vJQ8mfKDTpyLqstC1aH8L4j2clE,3077
11
11
  massgen/adapters/__init__.py,sha256=lYDbplvbiRfXup5e_Q3GzvGujP3V0vqElEJqVfQog2Q,726
12
12
  massgen/adapters/ag2_adapter.py,sha256=71I1acslxIrTPDWTkiTICsp2lyRrrc_F4SwQqa2K_vY,18465
@@ -20,14 +20,14 @@ massgen/adapters/utils/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NM
20
20
  massgen/adapters/utils/tests/test_ag2_utils.py,sha256=AUI2xjOUBbi71h0DBHF3zBjAB3P01Ie-L1PeiLlG3VE,4030
21
21
  massgen/api_params_handler/__init__.py,sha256=Qki1IO0xdBP8dBN1DUjR2bK0GyVkQIJgzUc01TWiQnI,439
22
22
  massgen/api_params_handler/_api_params_handler_base.py,sha256=qs8fEWzJyj_rEBhfsbSpWG7uXrjx24Z97Px3fS7klSM,3660
23
- massgen/api_params_handler/_chat_completions_api_params_handler.py,sha256=LO-ZADOl0CifhnBFku19ilcABXAR6dlJFOKGuAmMSu4,7713
24
- massgen/api_params_handler/_claude_api_params_handler.py,sha256=9rlmPI0smid7DezGWb2vkx7rEVqtFffOaAQi_rtE_4k,3946
25
- massgen/api_params_handler/_gemini_api_params_handler.py,sha256=AsWzdOOCjXT-TQFsupZyKsdhNxmmD852VB6hk8siH-s,2494
26
- massgen/api_params_handler/_response_api_params_handler.py,sha256=rk8EGVF2FgCBoQlM3_qIy3M5ihFwwcbEub44mB7aPFg,4962
23
+ massgen/api_params_handler/_chat_completions_api_params_handler.py,sha256=FHzCNYdFQlIUK2phWPjCjNNerDqM08OparvpghZ5orU,8159
24
+ massgen/api_params_handler/_claude_api_params_handler.py,sha256=NN5AgFACJJy1_RdMZbaaI0ISbyzNIz61zdWTJ1Olw8Q,4392
25
+ massgen/api_params_handler/_gemini_api_params_handler.py,sha256=0UDpGr4rufjP-jDVbC1_O6Z4d6q1uHqiwRKhkPWveXc,2924
26
+ massgen/api_params_handler/_response_api_params_handler.py,sha256=3ZtMnMqwMtGteVxiHYSndpjhTdL5nXNanA3Zl_4cGFs,5408
27
27
  massgen/backend/__init__.py,sha256=hIxCbgDqHgO6zzFXnulR8dx2gm1Yi4IDdutDsja1fSg,1749
28
28
  massgen/backend/azure_openai.py,sha256=hyefku806OPzy_eozz0RU8gcLmYosj-5IwaDXZHIZ2A,18512
29
29
  massgen/backend/base.py,sha256=UQWk6nSGnarHmOIzBN2xNNJNeh06WOW0M_6s8E-aexA,21419
30
- massgen/backend/base_with_custom_tool_and_mcp.py,sha256=kqpl3uAWysdplAHjc1O5Z2InkjVw8CQTXo17LtNmCbE,57511
30
+ massgen/backend/base_with_custom_tool_and_mcp.py,sha256=Rs-c7AFBehj6vj0UFrg-LKwlY-YUbtO3lnSoXIhx4bg,58728
31
31
  massgen/backend/capabilities.py,sha256=kPM_yjnzI34XuZnYw9hlkcUNRvqlZUKdbKVjH_A4iQg,13229
32
32
  massgen/backend/chat_completions.py,sha256=V2xSIGEsxCfewEbeN7LXI3yQdoPecUOCY_pbKPvs4N4,36646
33
33
  massgen/backend/claude.py,sha256=ttYzZoUlJEOET_WE0-qvseUHBs7YaTix2mBSCLoXH1I,59426
@@ -41,7 +41,7 @@ massgen/backend/gemini_utils.py,sha256=fv5KoiEqabmoe2BRHQ0Ztz2aTJgm05txrfKICDWhY
41
41
  massgen/backend/grok.py,sha256=H1AjXBTZWGi0qVoQ305gb8WzvChqnB_HQQxncPGeHvU,4147
42
42
  massgen/backend/inference.py,sha256=PT_e9fDEHlME0TtJT7_dse2aPtaHliYul9D52n_nXns,5971
43
43
  massgen/backend/lmstudio.py,sha256=UEd3Wkdy9r5ceJ3oM7_LR3MYEQv4ghcn2je5F1d-dyU,7267
44
- massgen/backend/response.py,sha256=QFhMSUFsTFqMuVmJsKX8lQyCXT9I2XHE9dQjGk12RxA,57061
44
+ massgen/backend/response.py,sha256=IlInve8toViBPK_2zYro7HpCI2NocuvztHb1wJQw75o,57063
45
45
  massgen/backend/docs/BACKEND_ARCHITECTURE.md,sha256=so30oNBwmJBeQz3rHuFCECJjC2Sufwc40--2Rb01jeU,4483
46
46
  massgen/backend/docs/CLAUDE_API_RESEARCH.md,sha256=maYwOERkRotnkS2_YJoDTbe6ZDdI-DccKgR1oXHtPxA,9842
47
47
  massgen/backend/docs/Function calling openai responses.md,sha256=ffrh5nEkO0tQGO8vJeamcWsgIEB_37XShrSYKLZldTg,37480
@@ -53,9 +53,9 @@ massgen/backend/docs/OPENAI_GPT5_MODELS.md,sha256=8RMYc3mkTDrpbstNqmMjR07NeWmZlI
53
53
  massgen/backend/docs/OPENAI_RESPONSE_API_TOOL_CALLS.md,sha256=lqvb2k20OmCPImJPN8EQt0mOuXCPrp8u5V_slxQOnP0,1897
54
54
  massgen/backend/docs/OPENAI_response_streaming.md,sha256=ees0GpokNKgg_aAuAODJifDaxY2c8gwUmfgrQ35r0JM,500324
55
55
  massgen/backend/docs/inference_backend.md,sha256=NNxvh6JWc2BPWLQrAJKXsXAyvggT-_KRHmboulYNw7Y,6372
56
- massgen/backend/docs/permissions_and_context_files.md,sha256=1afQsz-s6rQdNmOgs2GhPHrYOd1t4cM-2EqkOArR42Q,40484
56
+ massgen/backend/docs/permissions_and_context_files.md,sha256=PWWbSHlLN51Icqz5FMRA68Xm0dkl65r84pi3AKcL1lQ,40516
57
57
  massgen/configs/BACKEND_CONFIGURATION.md,sha256=eJL8dBpGnb3o705R0Uk5QbWanKG9C30jFd8U3gqlbeE,13051
58
- massgen/configs/README.md,sha256=G52pBkX59ioG0lnDbMRq6pBF6oYeS1WPb5ekI2RXY1I,32108
58
+ massgen/configs/README.md,sha256=-ppvDyrZiedSfG7u6SKEPJRPx6KDwBcbKBlwBpXM-1k,32527
59
59
  massgen/configs/ag2/ag2_case_study.yaml,sha256=kiQanWKY3VyZD6Sl-0ZBMOcWoOWU2AF26IJKKhKak4k,767
60
60
  massgen/configs/ag2/ag2_coder.yaml,sha256=jtIBULpg55BthnQ-YRXrJ1xG7Q_IqK-1N5qCitC_A_4,1131
61
61
  massgen/configs/ag2/ag2_coder_case_study.yaml,sha256=3mE5mq9zU7V6RZ_XsgiA_-4S04zCNCAYPH7FmTE1suE,1273
@@ -137,8 +137,7 @@ massgen/configs/tools/custom_tools/claude_wrong_custom_tool_with_mcp_example.yam
137
137
  massgen/configs/tools/custom_tools/computer_use_browser_example.yaml,sha256=cAqo5_8kOSOAB0x2HT26j0tJZ463qT9eVeCZL7VBJ0w,1935
138
138
  massgen/configs/tools/custom_tools/computer_use_docker_example.yaml,sha256=dsdADJgrVhTh5ogzSJkaw-KIy9RyLi-7YTByISuZ2MU,2146
139
139
  massgen/configs/tools/custom_tools/computer_use_example.yaml,sha256=lXeVCFsCsKhqmlCNpBoieRe_WblzRgJcmf3Tt8Uvmi4,1902
140
- massgen/configs/tools/custom_tools/crawl4ai_mcp_example.yaml,sha256=CqA8jKpm6AdqQ8-QpT-slmM_CeP1o_lnV4nk620oNiM,2316
141
- massgen/configs/tools/custom_tools/crawl4ai_multi_agent_example.yaml,sha256=UBWAXqsJgk3SrDdnqOqJ-TmQVPPx4JJEYDYlJM2Rxfs,2184
140
+ massgen/configs/tools/custom_tools/crawl4ai_example.yaml,sha256=Ug-wfOyStvs5Ubcn1epmxGSYbpfyVNr5ialPrJ8wtlk,2281
142
141
  massgen/configs/tools/custom_tools/gemini_custom_tool_example.yaml,sha256=5-XCjo2O7SqyTILWD8x3qPD7AWafLWkhBW5giN4JyMM,981
143
142
  massgen/configs/tools/custom_tools/gemini_custom_tool_example_no_path.yaml,sha256=Hd6zC7Mms1PxrNQ9KpmVFgSDeQCzejpIRzzJgVqVkQY,900
144
143
  massgen/configs/tools/custom_tools/gemini_custom_tool_with_mcp_example.yaml,sha256=YBNSQugHOWsaz3VGPf_RIj59bPPNssftVqHEkvYN8yE,1614
@@ -170,13 +169,19 @@ massgen/configs/tools/custom_tools/qwen_local_custom_tool_example_no_path.yaml,s
170
169
  massgen/configs/tools/custom_tools/qwen_local_custom_tool_with_mcp_example.yaml,sha256=zfvh9RNycLiPAauQmw0_qEAO2qaHBAf-sAvYpKiP87s,1609
171
170
  massgen/configs/tools/custom_tools/qwen_local_custom_tool_with_wrong_mcp_example.yaml,sha256=73JeuKxgCHz6nkquj5mANDcTBkW8Cg1zjCVtUGqYdJM,1587
172
171
  massgen/configs/tools/custom_tools/qwen_local_wrong_custom_tool_with_mcp_example.yaml,sha256=ruGn-4X-ObShSY3ZqtTSxee6_TmBniJRKF7I_3to4CM,1561
173
- massgen/configs/tools/custom_tools/multimodal_tools/playwright_with_img_understanding.yaml,sha256=V4K3I7sv1AVWH_8skm_ZntCAny21MSu5nvIbWALjg3w,3594
174
- massgen/configs/tools/custom_tools/multimodal_tools/understand_audio.yaml,sha256=ZHLywTxOLVlXoBE4AmXiJ390viX8ERUmUVYvn6uWil0,1278
175
- massgen/configs/tools/custom_tools/multimodal_tools/understand_file.yaml,sha256=PfGU0Ps8C5sD96yWviSEmsD5hJhWo1McfqF1DGXJnW8,1345
176
- massgen/configs/tools/custom_tools/multimodal_tools/understand_image.yaml,sha256=olNe4LHWffzvKgRRkXzvdmYzETxjbxRV-QooIMdbVQY,1295
177
- massgen/configs/tools/custom_tools/multimodal_tools/understand_video.yaml,sha256=7kBiodIJESBvB_P9pyQNDyGfUBIVYeYeQ4jgHegoKII,1329
178
- massgen/configs/tools/custom_tools/multimodal_tools/understand_video_example.yaml,sha256=LfdJxppclGnz764y-9BR_d0ksmUA89Y5DAeqs6ch1og,1664
179
- massgen/configs/tools/custom_tools/multimodal_tools/youtube_video_analysis.yaml,sha256=DUhUWYZUyla1y0pHnhxKtfpODXuhmHbtpeuRnJZ0va4,2086
172
+ massgen/configs/tools/custom_tools/multimodal_tools/text_to_file_generation_multi.yaml,sha256=RcZ2oJHPdsCxH2gFZOyXTZRFuuxCPtVJRnpPxjXPmKM,3334
173
+ massgen/configs/tools/custom_tools/multimodal_tools/text_to_file_generation_single.yaml,sha256=Jl9ixbRi9LvdnSia6zOIJ5SJJr_B57WYfI5nlUum1Ko,1608
174
+ massgen/configs/tools/custom_tools/multimodal_tools/text_to_image_generation_multi.yaml,sha256=1LYKeh5EXFgECbGe2QsQFRN4OsZAiAC-Z02iio3gheo,1946
175
+ massgen/configs/tools/custom_tools/multimodal_tools/text_to_image_generation_single.yaml,sha256=3eFxagKAmH6NFbOrL0ZTdJaABSj1Sl6MjmzvGMSkLYQ,1271
176
+ massgen/configs/tools/custom_tools/multimodal_tools/text_to_speech_generation_multi.yaml,sha256=OhEhoAJp2pQ2ngwb3gJRekCkOKJ5EpUypGDZC1JixW0,2429
177
+ massgen/configs/tools/custom_tools/multimodal_tools/text_to_speech_generation_single.yaml,sha256=_gYd99Q3Uw9qQGhTyw9GDqCcTT133vvoY1HgZIiQ1wE,1464
178
+ massgen/configs/tools/custom_tools/multimodal_tools/text_to_video_generation_multi.yaml,sha256=qq55O2hC8dqNG3m58XaMa8Er_i5ApKI2f-YSXlR_ThQ,1788
179
+ massgen/configs/tools/custom_tools/multimodal_tools/text_to_video_generation_single.yaml,sha256=MEQhDOMMQ4sdCV5nei-GTVy6dpLExbXpaA3oZck7qQM,1113
180
+ massgen/configs/tools/custom_tools/multimodal_tools/understand_audio.yaml,sha256=SMugPv-Jh1Tnp5MKC7AVYOtL1aCWI3fOF-Aw9HzqxHU,1299
181
+ massgen/configs/tools/custom_tools/multimodal_tools/understand_file.yaml,sha256=WHXS0vdUTYBojBOP-ZenwJIv85Z5LVEadCK08CMvnnc,1366
182
+ massgen/configs/tools/custom_tools/multimodal_tools/understand_image.yaml,sha256=i67DM3NoOPmWKGrW_lIno8vEFZwD3HEBFfZA9kOE4hQ,1316
183
+ massgen/configs/tools/custom_tools/multimodal_tools/understand_video.yaml,sha256=5-KLpYnVsJLOinv0-z1wUh1zTB9NltxfaNqw-aNOx9k,1350
184
+ massgen/configs/tools/custom_tools/multimodal_tools/youtube_video_analysis.yaml,sha256=ih8hHLjETAOreye6HEbxc6AntCeUSQ2-uf01lyjOeg4,2102
180
185
  massgen/configs/tools/filesystem/cc_gpt5_gemini_filesystem.yaml,sha256=eCnljU999bu5GG7Sl1ANdkojxnjU1vvQltmtcMjpiCM,831
181
186
  massgen/configs/tools/filesystem/claude_code_context_sharing.yaml,sha256=MvNtesvnJC2nvq5cXkCzwt7oR2ApeO3xtmrZzy8Jjks,3060
182
187
  massgen/configs/tools/filesystem/claude_code_flash2.5.yaml,sha256=zuyFzh1deUz6yGS602Z2JEuAFN43UVe9dnPSiDFVrq4,1703
@@ -220,11 +225,6 @@ massgen/configs/tools/mcp/qwen_api_mcp_example.yaml,sha256=OL_VdY9P3215daqOzrn7L
220
225
  massgen/configs/tools/mcp/qwen_api_mcp_test.yaml,sha256=BDY94AvE5OTsJyjapDfbt5Cs6Ylrz7cY8D2nG60wM0w,1053
221
226
  massgen/configs/tools/mcp/qwen_local_mcp_example.yaml,sha256=6fW3E64dL8RCWr5mak8KpHuhXPbtJGogsPOxkLUKse4,1031
222
227
  massgen/configs/tools/mcp/qwen_local_mcp_test.yaml,sha256=2ilQXKCW4wY_pahwhPOdwSBVZP6K9Ng4sQDtXix5sQQ,992
223
- massgen/configs/tools/memory/README.md,sha256=04Y3grz4h0IwGVeYFovZmliRD7dnFiRWLG6_JzKjc7Y,6787
224
- massgen/configs/tools/memory/gpt5mini_gemini_context_window_management.yaml,sha256=50EosHS19e9VvVxqjPlMTBZS-TAfBX0fMa-Zw3vVUhY,5052
225
- massgen/configs/tools/memory/gpt5mini_gemini_no_persistent_memory.yaml,sha256=hNuKlyWmQDWv7pyyfmrvStObAAGeBiWpki7QEssyYCI,4530
226
- massgen/configs/tools/memory/test_context_window_management.py,sha256=Um_W2Jd1ONWnlRW_6nixKQeyEDlwtII5QwyF5bUb1do,10906
227
- massgen/configs/tools/multimodal/gpt5mini_gpt5nano_documentation_evolution.yaml,sha256=L2fgw9-Ew0QwxfM7UwhcGJUyJ2yGbWyaAJHM-QLounk,3976
228
228
  massgen/configs/tools/planning/five_agents_discord_mcp_planning_mode.yaml,sha256=lctHFq_ZqdrssBHNQh5HPcpmJnmh9ti1O7yLViNH0K8,4181
229
229
  massgen/configs/tools/planning/five_agents_filesystem_mcp_planning_mode.yaml,sha256=ylXOcRZTvqUFQ5Q2RzpRMBo1vlybfzBAYp3S7H0rjn4,6204
230
230
  massgen/configs/tools/planning/five_agents_notion_mcp_planning_mode.yaml,sha256=XYRoZeu_VGOeOA1OosOf2IWm9SwilHzySh7cxKLkLyU,5657
@@ -244,8 +244,8 @@ massgen/filesystem_manager/_base.py,sha256=4pR1rqPvqtNo9OsdaUM3j1TebOnQm27olNwbv
244
244
  massgen/filesystem_manager/_code_execution_server.py,sha256=PCKnS0gUayqsn62GRtdkXphCs7A84EQBQkH9KPiijVQ,20884
245
245
  massgen/filesystem_manager/_docker_manager.py,sha256=eu2qECtv1205rg7Gg5qCLu3I5VgFXyaC6KSQAi_Ydto,19512
246
246
  massgen/filesystem_manager/_file_operation_tracker.py,sha256=voYhy0xyO2qTWyz545esYdLjqTN3UYp_S-q4QVwxTn8,8668
247
- massgen/filesystem_manager/_filesystem_manager.py,sha256=kz01wFdrmtxCzsf8RYWMGfzfxYdjxnKlJemAkoFxT3k,36814
248
- massgen/filesystem_manager/_path_permission_manager.py,sha256=pmOTMPda4kTohqAXQaxtqfZPZQ79YzLYaxI89vXlBTA,56326
247
+ massgen/filesystem_manager/_filesystem_manager.py,sha256=mE_BYdoJJqdY2h1zMdFHBhwB79hQ-S6QGSPjslWy0o8,36860
248
+ massgen/filesystem_manager/_path_permission_manager.py,sha256=m3FLbl0muHo3fkoc9TZGPtAsacGVZDlreolquljTDlg,61866
249
249
  massgen/filesystem_manager/_workspace_tools_server.py,sha256=cq73WgZavnk9wXHd0Xxgvkra0BkZ9XOm3yAQDso7qV4,32983
250
250
  massgen/formatter/__init__.py,sha256=t3qDPvytyzIBkqYW9CCqTflikQ8ynw_AlF0PFgnH9Yc,370
251
251
  massgen/formatter/_chat_completions_formatter.py,sha256=3ezx30SDf4XHQac0qRWfgobCs7iS7vlsKpSrgymmq-c,16034
@@ -287,7 +287,8 @@ massgen/tests/multiturn_llm_input_analysis.md,sha256=Xw8PX0oAIbF_zjlRXCA62EpX1xA
287
287
  massgen/tests/test_azure_openai_backend.py,sha256=a9JFdCnDDkG_PKjLxN8QqBwyzP_aNNlP543iST2pyPw,6663
288
288
  massgen/tests/test_backend_capabilities.py,sha256=MXIO-4ia07a-95JbyyBeIlz79B-eResn8ej2fpiX6II,10966
289
289
  massgen/tests/test_backend_event_loop_all.py,sha256=vfTlD2spAYVITGgwQzntFmvN_W10sSqO0XGpgESmmNQ,5565
290
- massgen/tests/test_case_studies.md,sha256=b24fHSGnmzqt0d9qgjm7b7WuHa3kGj1ZkRAfEyu-idU,4089
290
+ massgen/tests/test_binary_file_blocking.py,sha256=mQ1QIPlvfG5RbiD5zu_7Se2r9zrIOkOYA1OnoaYG1ZM,11425
291
+ massgen/tests/test_case_studies.md,sha256=6cmSptqWytZnmtCP1ET2zKn490LfA7riuW5BGizXEzM,4083
291
292
  massgen/tests/test_chat_completions_refactor.py,sha256=3Dt1vW0JEMR6_YShV7XQSiv8-0xMH-Dy_E9AnEKcrMQ,4675
292
293
  massgen/tests/test_claude_backend.py,sha256=fVFRu0Pf_FO3hxozINjY4NDdCkvUUyvsoCia35Mc7pc,9730
293
294
  massgen/tests/test_claude_code.py,sha256=BKrJOv7r-sLWTIplt7zvEkge5O9KRd50-7uhAu6QFcY,9155
@@ -306,6 +307,7 @@ massgen/tests/test_integration_simple.py,sha256=Dps0m3Nfjqphi_1cLTultnfqxJTonL3a
306
307
  massgen/tests/test_intelligent_planning_mode.py,sha256=T2KjezqA6_1Ixj8uIEpXb9yuN0kG8tINfkl2C7KyWu8,24685
307
308
  massgen/tests/test_mcp_blocking.py,sha256=rMvkozLGbEScYj01p8gfQmX2gssGriCIVDVo1e2bplU,4606
308
309
  massgen/tests/test_message_context_building.py,sha256=8AXcVDtv0R8uI-1PVLwYVFSWP-t3KeIDvy7vifrLPyU,10563
310
+ massgen/tests/test_multimodal_size_limits.py,sha256=y5UAb48PqgSnsB467GRU50A0Rmi8f-hr6FpEGU40BCk,14968
309
311
  massgen/tests/test_orchestration_restart.py,sha256=YqYXokEdQuzC9u8xFAkSMSbDKtRUk2Vu2eoKxt66iOk,7239
310
312
  massgen/tests/test_orchestrator_final_presentation.py,sha256=Yt0-IACu0PGe4IpoGW7mpBDNdyFW_6W5Q1Hzry3gAys,1238
311
313
  massgen/tests/test_path_permission_manager.py,sha256=DjOQvhUE6Tg4UGGJzl8AwnFnlvQgJf2WaUVvebkK8UA,88275
@@ -322,7 +324,7 @@ massgen/tool/README.md,sha256=wauBHnWMUIQiGendrYUeUFW7LesRznGpJx9TR5qJpEU,24365
322
324
  massgen/tool/__init__.py,sha256=YrLYvYDtVcTKs6WtwF4rtR90uoLGMmXXTedTq9GiIY4,1114
323
325
  massgen/tool/_async_helpers.py,sha256=SyfWZ_fLLq2knwM5j4TaYVV1cTWElxWRSzH1FkapcL8,2411
324
326
  massgen/tool/_exceptions.py,sha256=HGFXB1-cpj1bLCRtiVAP8BeiyBdzVWWsNGekQCvergA,1188
325
- massgen/tool/_manager.py,sha256=7TzzTf9DCqX3y4QsIN6o8Z4HR8EfoVb93T70QGO8aok,23266
327
+ massgen/tool/_manager.py,sha256=xMK_rLWfqyvVcolDI6ZH5X6pUDMbFt_ppgg511t7HtI,23549
326
328
  massgen/tool/_registered_tool.py,sha256=3hxyrfWzxNYGfhXOCcOZWr9vbIPmAc1RLC9bSocG2W0,3013
327
329
  massgen/tool/_result.py,sha256=sDzLu38X0TCWsHq8rfZZhYB8TH3tcyPUv-sFvbDu3jc,1619
328
330
  massgen/tool/_basic/__init__.py,sha256=oTNQVOeoSE-7ZQ2IslWOy0_ou0IbUAvjPga8HrHTgqg,119
@@ -332,16 +334,23 @@ massgen/tool/_code_executors/_python_executor.py,sha256=G7n9qknm5A3mxlVq5NwGuNeq
332
334
  massgen/tool/_code_executors/_shell_executor.py,sha256=SIV8-GyrlKNOqDB4SHYlK46ff82_eAV1CgxvChnG4FA,1872
333
335
  massgen/tool/_file_handlers/__init__.py,sha256=GoQ5hNFkU6UyGux_NfMhvYqJIwMWV0FIYDT0hO6FV-Q,232
334
336
  massgen/tool/_file_handlers/_file_operations.py,sha256=r-ykRNVSTUv6HSWr86EsjGkW5r_LTJGcYo0VchByA0A,6915
335
- massgen/tool/_multimodal_tools/understand_audio.py,sha256=eie4fMjN0PDISjMERxitOdJprCexv_e4hmasdnxBtWU,6846
336
- massgen/tool/_multimodal_tools/understand_file.py,sha256=kiLZmks0hFO--7HkIIF7g1e0iWSS7idT8sLWYyYIfSo,18986
337
- massgen/tool/_multimodal_tools/understand_image.py,sha256=_IzVMi6P6BTrtldDEoLz8oJ0tQBzFFuTFDIR2vRlV6c,7311
338
- massgen/tool/_multimodal_tools/understand_video.py,sha256=zYVnAsldUd7BQqodrwaUMMEBX-la-55h99J5rimoFlY,10864
337
+ massgen/tool/_multimodal_tools/image_to_image_generation.py,sha256=VcSsyX4h8eLY0YDYwxaO-9wFixRaAaMfZ1y5LzA-pg0,11391
338
+ massgen/tool/_multimodal_tools/text_to_file_generation.py,sha256=wMEBP5nTaOCkLiGAypZ5qs6JsqzvozRpdf-AqVbuFQ4,17029
339
+ massgen/tool/_multimodal_tools/text_to_image_generation.py,sha256=6NcGcCaGbyKfGtvAC3ndub_R-Js65CE4BXWwC2o04R4,8531
340
+ massgen/tool/_multimodal_tools/text_to_speech_continue_generation.py,sha256=qlbZtsWKp8IYA6r0M8c4luQtO1JA5ah_OZrb7vHvCTg,8697
341
+ massgen/tool/_multimodal_tools/text_to_speech_transcription_generation.py,sha256=Jx31tY8u-Yc787mj03mL78fULn2nr0kXG57uLaEj9KA,8294
342
+ massgen/tool/_multimodal_tools/text_to_video_generation.py,sha256=BGm0NCgsgcJq1sKTFmGe4iXiX16KPVo6JZ-tt7I-lWk,8060
343
+ massgen/tool/_multimodal_tools/understand_audio.py,sha256=iAssP2qZF0rdz8WT-Tvx3eqYW4tSM3xRO-A6XG0HGlE,7747
344
+ massgen/tool/_multimodal_tools/understand_file.py,sha256=XmVeiWF-y5KFANu2gjAmLoItInwZvWYx0V4EjzW8IYc,19246
345
+ massgen/tool/_multimodal_tools/understand_image.py,sha256=GBBRp-BFczW91eY0HM5QzfFDPFFXatktRRESN18NaYA,12769
346
+ massgen/tool/_multimodal_tools/understand_video.py,sha256=WR5vkPN5N0Z44ekCN4LrQvNxHL9ZoeNZGaUm0xlvp7c,12435
339
347
  massgen/tool/_self_evolution/_github_issue_analyzer.py,sha256=jN3LmeXsgGD2qQD6xASUi-erdyU6cot-C496095l5IQ,12470
348
+ massgen/tool/_web_tools/crawl4ai_tool.py,sha256=CrneI9CarlNc5t0QHfI65o9K4Fjy_XOBIs2vuKO5vWo,23599
340
349
  massgen/tool/docs/builtin_tools.md,sha256=pZHL0e6gGqwb91M5nghhlhbAWnV2S7w4lrdbEdACCF4,16818
341
350
  massgen/tool/docs/exceptions.md,sha256=t1DLJTf6ZJW864OgvZLWAYf4Ws0Ms84l5AZVTjDw4DI,23468
342
351
  massgen/tool/docs/execution_results.md,sha256=scpwavPHJiY6SR0s6jf0U4MMMKkkJr0yVExgRBJ4pog,18929
343
352
  massgen/tool/docs/manager.md,sha256=dbBkiqnkPIrbrUZjnH78MnCDX-UJIyH6OI1szLWOupM,27928
344
- massgen/tool/docs/multimodal_tools.md,sha256=0YSowzw8WZnXQqfLsOhA-UIBZ-0mMhOn_FeG_pTcgWE,22284
353
+ massgen/tool/docs/multimodal_tools.md,sha256=qSAy6jmx2FXhbmRLRY3J_EZiZxTQb00MdicXC15WqSo,41125
345
354
  massgen/tool/docs/workflow_toolkits.md,sha256=VV4NslGYj0b2bPvCpu6CsaO2PY2EIA2l-tl0wg4MPAQ,13296
346
355
  massgen/tool/workflow_toolkits/__init__.py,sha256=xMd559Ci0mv5-T9ezWAnF2Y9TrhVorljILq_WnDZRIU,2213
347
356
  massgen/tool/workflow_toolkits/base.py,sha256=VcT6JOhtusYTwpc6FOdgG2Z-99ImsMNKudM-AMPsOVM,1301
@@ -368,9 +377,9 @@ massgen/v1/examples/fast-4o-mini-config.yaml,sha256=t7zmN8sWQrrWivjaBB9w_WHFDnU-
368
377
  massgen/v1/examples/fast_config.yaml,sha256=BDBCpSYJPzTZi9vAEGsCZ3lt3JV25RN-4Nf_17JAhUU,846
369
378
  massgen/v1/examples/production.yaml,sha256=hrNqzOqlQG1sL-5U8ZlA8QpCwGSoiCtqMu7Mi2gOd9s,2002
370
379
  massgen/v1/examples/single_agent.yaml,sha256=h8ysGIwPjvgnpRxTcBqw5nBz5D2MTXI_Ygdn4D9RdIA,1256
371
- massgen-0.1.3.dist-info/licenses/LICENSE,sha256=_r2TwhSv0GcpGeIKfwbz9z2qzOI62FHCfgSfnZ1z2fc,11386
372
- massgen-0.1.3.dist-info/METADATA,sha256=YFxdq0Xrwco4CjtkAXQ6oh_IR4G7G51Ej2bcmzXxjCY,59951
373
- massgen-0.1.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
374
- massgen-0.1.3.dist-info/entry_points.txt,sha256=On6OV7swWO0StsAXeOri3MzmuxhO9C-PUvKW-5pJ6gA,49
375
- massgen-0.1.3.dist-info/top_level.txt,sha256=jm8ZxEGdkjsh8aPWXvCpnexL_S2ZRkFeT9vl6vIm_3I,8
376
- massgen-0.1.3.dist-info/RECORD,,
380
+ massgen-0.1.4.dist-info/licenses/LICENSE,sha256=_r2TwhSv0GcpGeIKfwbz9z2qzOI62FHCfgSfnZ1z2fc,11386
381
+ massgen-0.1.4.dist-info/METADATA,sha256=m3amrQv6_rRc2F9cr8bhYoPHz5rNp6Xa2h-9UjfevFg,63126
382
+ massgen-0.1.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
383
+ massgen-0.1.4.dist-info/entry_points.txt,sha256=On6OV7swWO0StsAXeOri3MzmuxhO9C-PUvKW-5pJ6gA,49
384
+ massgen-0.1.4.dist-info/top_level.txt,sha256=jm8ZxEGdkjsh8aPWXvCpnexL_S2ZRkFeT9vl6vIm_3I,8
385
+ massgen-0.1.4.dist-info/RECORD,,
@@ -1,67 +0,0 @@
1
- # MassGen Configuration: Crawl4AI Web Scraping via MCP
2
- #
3
- # Prerequisites:
4
- # 1. Start crawl4ai Docker container (one-time setup):
5
- # docker pull unclecode/crawl4ai:latest
6
- # docker run -d -p 11235:11235 --name crawl4ai --shm-size=1g unclecode/crawl4ai:latest
7
- #
8
- # 2. Verify container is running:
9
- # docker ps | grep crawl4ai
10
- #
11
- # 3. Test MCP endpoint (optional):
12
- # curl http://localhost:11235/mcp/schema
13
- #
14
- # Usage:
15
- # massgen --config massgen/configs/tools/custom_tools/crawl4ai_mcp_example.yaml "Scrape https://example.com and summarize the content"
16
- #
17
- # Available Tools (via MCP):
18
- # - md: Generate markdown from web content
19
- # - html: Extract preprocessed HTML
20
- # - screenshot: Capture webpage screenshots
21
- # - pdf: Generate PDF documents
22
- # - execute_js: Run JavaScript on web pages
23
- # - crawl: Perform multi-URL crawling
24
- # - ask: Query the Crawl4AI library context
25
- #
26
- # Note: Multiple agents can connect to the same crawl4ai container.
27
- # The server handles up to 5 concurrent crawls by default.
28
-
29
- orchestrator:
30
- snapshot_storage: "snapshots"
31
- agent_temporary_workspace: "temp_workspaces"
32
-
33
- agents:
34
- - id: "web_scraper_agent"
35
- backend:
36
- type: "claude_code"
37
- model: "claude-sonnet-4-20250514"
38
- cwd: "workspace1"
39
-
40
- # Connect to crawl4ai MCP server
41
- mcp_servers:
42
- - name: "crawl4ai"
43
- type: "sse" # Server-Sent Events transport
44
- url: "http://localhost:11235/mcp/sse"
45
-
46
- append_system_prompt: |
47
- You are a web scraping specialist with access to the Crawl4AI toolset via MCP.
48
-
49
- Available tools:
50
- - md: Convert webpages to clean markdown (best for LLM consumption)
51
- - html: Extract preprocessed HTML
52
- - screenshot: Capture webpage as image
53
- - pdf: Generate PDF from webpage
54
- - execute_js: Run JavaScript on pages (for dynamic content)
55
- - crawl: Scrape multiple URLs in parallel
56
-
57
- When users ask to scrape, analyze, or extract web content:
58
- 1. Use 'md' tool for text-based content (articles, docs, etc.)
59
- 2. Use 'screenshot' for visual content or layout analysis
60
- 3. Use 'execute_js' for JavaScript-heavy sites
61
- 4. Use 'crawl' for multiple pages
62
-
63
- Always provide clear summaries of scraped content.
64
-
65
- ui:
66
- display_type: "rich_terminal"
67
- logging_enabled: true
@@ -1,68 +0,0 @@
1
- # MassGen Configuration: Multi-Agent Web Research with Crawl4AI
2
- #
3
- # This example demonstrates multiple agents sharing a single crawl4ai MCP server
4
- # for collaborative web research and analysis.
5
- #
6
- # Prerequisites:
7
- # 1. Start crawl4ai Docker container:
8
- # docker run -d -p 11235:11235 --name crawl4ai --shm-size=1g unclecode/crawl4ai:latest
9
- #
10
- # Usage:
11
- # massgen --config massgen/configs/tools/custom_tools/crawl4ai_multi_agent_example.yaml "Research AI safety best practices by scraping relevant documentation sites and academic papers"
12
- #
13
- # What happens:
14
- # - Multiple agents can scrape different URLs concurrently
15
- # - The crawl4ai server handles up to 5 parallel crawls
16
- # - Agents collaborate and vote on the synthesized research
17
-
18
- orchestrator:
19
- snapshot_storage: "snapshots"
20
- agent_temporary_workspace: "temp_workspaces"
21
- voting_sensitivity: "balanced"
22
- answer_novelty_requirement: "balanced"
23
- max_new_answers_per_agent: 3
24
-
25
- agents:
26
- - id: "research_agent_1"
27
- backend:
28
- type: "openai"
29
- model: "gpt-5-nano"
30
- cwd: "workspace1"
31
-
32
- # All agents connect to the same crawl4ai container
33
- mcp_servers:
34
- - name: "crawl4ai"
35
- type: "sse"
36
- url: "http://localhost:11235/mcp/sse"
37
-
38
- enable_web_search: true
39
-
40
- system_message: |
41
- You are a research specialist focused on finding authoritative sources and extracting key insights.
42
-
43
- Use the crawl4ai tools to scrape documentation, articles, and research papers.
44
- Prioritize official documentation and academic sources.
45
-
46
- - id: "research_agent_2"
47
- backend:
48
- type: "gemini"
49
- model: "gemini-2.5-pro"
50
- cwd: "workspace2"
51
-
52
- # Connects to the SAME crawl4ai container as agent_1
53
- mcp_servers:
54
- - name: "crawl4ai"
55
- type: "sse"
56
- url: "http://localhost:11235/mcp/sse"
57
-
58
- enable_web_search: true
59
-
60
- system_message: |
61
- You are a synthesis specialist who combines information from multiple sources.
62
-
63
- Use crawl4ai to gather diverse perspectives and cross-reference information.
64
- Focus on finding patterns and connections across sources.
65
-
66
- ui:
67
- display_type: "rich_terminal"
68
- logging_enabled: true