massgen 0.0.3__py3-none-any.whl → 0.1.0__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 (268) hide show
  1. massgen/__init__.py +142 -8
  2. massgen/adapters/__init__.py +29 -0
  3. massgen/adapters/ag2_adapter.py +483 -0
  4. massgen/adapters/base.py +183 -0
  5. massgen/adapters/tests/__init__.py +0 -0
  6. massgen/adapters/tests/test_ag2_adapter.py +439 -0
  7. massgen/adapters/tests/test_agent_adapter.py +128 -0
  8. massgen/adapters/utils/__init__.py +2 -0
  9. massgen/adapters/utils/ag2_utils.py +236 -0
  10. massgen/adapters/utils/tests/__init__.py +0 -0
  11. massgen/adapters/utils/tests/test_ag2_utils.py +138 -0
  12. massgen/agent_config.py +329 -55
  13. massgen/api_params_handler/__init__.py +10 -0
  14. massgen/api_params_handler/_api_params_handler_base.py +99 -0
  15. massgen/api_params_handler/_chat_completions_api_params_handler.py +176 -0
  16. massgen/api_params_handler/_claude_api_params_handler.py +113 -0
  17. massgen/api_params_handler/_response_api_params_handler.py +130 -0
  18. massgen/backend/__init__.py +39 -4
  19. massgen/backend/azure_openai.py +385 -0
  20. massgen/backend/base.py +341 -69
  21. massgen/backend/base_with_mcp.py +1102 -0
  22. massgen/backend/capabilities.py +386 -0
  23. massgen/backend/chat_completions.py +577 -130
  24. massgen/backend/claude.py +1033 -537
  25. massgen/backend/claude_code.py +1203 -0
  26. massgen/backend/cli_base.py +209 -0
  27. massgen/backend/docs/BACKEND_ARCHITECTURE.md +126 -0
  28. massgen/backend/{CLAUDE_API_RESEARCH.md → docs/CLAUDE_API_RESEARCH.md} +18 -18
  29. massgen/backend/{GEMINI_API_DOCUMENTATION.md → docs/GEMINI_API_DOCUMENTATION.md} +9 -9
  30. massgen/backend/docs/Gemini MCP Integration Analysis.md +1050 -0
  31. massgen/backend/docs/MCP_IMPLEMENTATION_CLAUDE_BACKEND.md +177 -0
  32. massgen/backend/docs/MCP_INTEGRATION_RESPONSE_BACKEND.md +352 -0
  33. massgen/backend/docs/OPENAI_GPT5_MODELS.md +211 -0
  34. massgen/backend/{OPENAI_RESPONSES_API_FORMAT.md → docs/OPENAI_RESPONSE_API_TOOL_CALLS.md} +3 -3
  35. massgen/backend/docs/OPENAI_response_streaming.md +20654 -0
  36. massgen/backend/docs/inference_backend.md +257 -0
  37. massgen/backend/docs/permissions_and_context_files.md +1085 -0
  38. massgen/backend/external.py +126 -0
  39. massgen/backend/gemini.py +1850 -241
  40. massgen/backend/grok.py +40 -156
  41. massgen/backend/inference.py +156 -0
  42. massgen/backend/lmstudio.py +171 -0
  43. massgen/backend/response.py +1095 -322
  44. massgen/chat_agent.py +131 -113
  45. massgen/cli.py +1560 -275
  46. massgen/config_builder.py +2396 -0
  47. massgen/configs/BACKEND_CONFIGURATION.md +458 -0
  48. massgen/configs/README.md +559 -216
  49. massgen/configs/ag2/ag2_case_study.yaml +27 -0
  50. massgen/configs/ag2/ag2_coder.yaml +34 -0
  51. massgen/configs/ag2/ag2_coder_case_study.yaml +36 -0
  52. massgen/configs/ag2/ag2_gemini.yaml +27 -0
  53. massgen/configs/ag2/ag2_groupchat.yaml +108 -0
  54. massgen/configs/ag2/ag2_groupchat_gpt.yaml +118 -0
  55. massgen/configs/ag2/ag2_single_agent.yaml +21 -0
  56. massgen/configs/basic/multi/fast_timeout_example.yaml +37 -0
  57. massgen/configs/basic/multi/gemini_4o_claude.yaml +31 -0
  58. massgen/configs/basic/multi/gemini_gpt5nano_claude.yaml +36 -0
  59. massgen/configs/{gemini_4o_claude.yaml → basic/multi/geminicode_4o_claude.yaml} +3 -3
  60. massgen/configs/basic/multi/geminicode_gpt5nano_claude.yaml +36 -0
  61. massgen/configs/basic/multi/glm_gemini_claude.yaml +25 -0
  62. massgen/configs/basic/multi/gpt4o_audio_generation.yaml +30 -0
  63. massgen/configs/basic/multi/gpt4o_image_generation.yaml +31 -0
  64. massgen/configs/basic/multi/gpt5nano_glm_qwen.yaml +26 -0
  65. massgen/configs/basic/multi/gpt5nano_image_understanding.yaml +26 -0
  66. massgen/configs/{three_agents_default.yaml → basic/multi/three_agents_default.yaml} +8 -4
  67. massgen/configs/basic/multi/three_agents_opensource.yaml +27 -0
  68. massgen/configs/basic/multi/three_agents_vllm.yaml +20 -0
  69. massgen/configs/basic/multi/two_agents_gemini.yaml +19 -0
  70. massgen/configs/{two_agents.yaml → basic/multi/two_agents_gpt5.yaml} +14 -6
  71. massgen/configs/basic/multi/two_agents_opensource_lmstudio.yaml +31 -0
  72. massgen/configs/basic/multi/two_qwen_vllm_sglang.yaml +28 -0
  73. massgen/configs/{single_agent.yaml → basic/single/single_agent.yaml} +1 -1
  74. massgen/configs/{single_flash2.5.yaml → basic/single/single_flash2.5.yaml} +1 -2
  75. massgen/configs/basic/single/single_gemini2.5pro.yaml +16 -0
  76. massgen/configs/basic/single/single_gpt4o_audio_generation.yaml +22 -0
  77. massgen/configs/basic/single/single_gpt4o_image_generation.yaml +22 -0
  78. massgen/configs/basic/single/single_gpt4o_video_generation.yaml +24 -0
  79. massgen/configs/basic/single/single_gpt5nano.yaml +20 -0
  80. massgen/configs/basic/single/single_gpt5nano_file_search.yaml +18 -0
  81. massgen/configs/basic/single/single_gpt5nano_image_understanding.yaml +17 -0
  82. massgen/configs/basic/single/single_gptoss120b.yaml +15 -0
  83. massgen/configs/basic/single/single_openrouter_audio_understanding.yaml +15 -0
  84. massgen/configs/basic/single/single_qwen_video_understanding.yaml +15 -0
  85. massgen/configs/debug/code_execution/command_filtering_blacklist.yaml +29 -0
  86. massgen/configs/debug/code_execution/command_filtering_whitelist.yaml +28 -0
  87. massgen/configs/debug/code_execution/docker_verification.yaml +29 -0
  88. massgen/configs/debug/skip_coordination_test.yaml +27 -0
  89. massgen/configs/debug/test_sdk_migration.yaml +17 -0
  90. massgen/configs/docs/DISCORD_MCP_SETUP.md +208 -0
  91. massgen/configs/docs/TWITTER_MCP_ENESCINAR_SETUP.md +82 -0
  92. massgen/configs/providers/azure/azure_openai_multi.yaml +21 -0
  93. massgen/configs/providers/azure/azure_openai_single.yaml +19 -0
  94. massgen/configs/providers/claude/claude.yaml +14 -0
  95. massgen/configs/providers/gemini/gemini_gpt5nano.yaml +28 -0
  96. massgen/configs/providers/local/lmstudio.yaml +11 -0
  97. massgen/configs/providers/openai/gpt5.yaml +46 -0
  98. massgen/configs/providers/openai/gpt5_nano.yaml +46 -0
  99. massgen/configs/providers/others/grok_single_agent.yaml +19 -0
  100. massgen/configs/providers/others/zai_coding_team.yaml +108 -0
  101. massgen/configs/providers/others/zai_glm45.yaml +12 -0
  102. massgen/configs/{creative_team.yaml → teams/creative/creative_team.yaml} +16 -6
  103. massgen/configs/{travel_planning.yaml → teams/creative/travel_planning.yaml} +16 -6
  104. massgen/configs/{news_analysis.yaml → teams/research/news_analysis.yaml} +16 -6
  105. massgen/configs/{research_team.yaml → teams/research/research_team.yaml} +15 -7
  106. massgen/configs/{technical_analysis.yaml → teams/research/technical_analysis.yaml} +16 -6
  107. massgen/configs/tools/code-execution/basic_command_execution.yaml +25 -0
  108. massgen/configs/tools/code-execution/code_execution_use_case_simple.yaml +41 -0
  109. massgen/configs/tools/code-execution/docker_claude_code.yaml +32 -0
  110. massgen/configs/tools/code-execution/docker_multi_agent.yaml +32 -0
  111. massgen/configs/tools/code-execution/docker_simple.yaml +29 -0
  112. massgen/configs/tools/code-execution/docker_with_resource_limits.yaml +32 -0
  113. massgen/configs/tools/code-execution/multi_agent_playwright_automation.yaml +57 -0
  114. massgen/configs/tools/filesystem/cc_gpt5_gemini_filesystem.yaml +34 -0
  115. massgen/configs/tools/filesystem/claude_code_context_sharing.yaml +68 -0
  116. massgen/configs/tools/filesystem/claude_code_flash2.5.yaml +43 -0
  117. massgen/configs/tools/filesystem/claude_code_flash2.5_gptoss.yaml +49 -0
  118. massgen/configs/tools/filesystem/claude_code_gpt5nano.yaml +31 -0
  119. massgen/configs/tools/filesystem/claude_code_single.yaml +40 -0
  120. massgen/configs/tools/filesystem/fs_permissions_test.yaml +87 -0
  121. massgen/configs/tools/filesystem/gemini_gemini_workspace_cleanup.yaml +54 -0
  122. massgen/configs/tools/filesystem/gemini_gpt5_filesystem_casestudy.yaml +30 -0
  123. massgen/configs/tools/filesystem/gemini_gpt5nano_file_context_path.yaml +43 -0
  124. massgen/configs/tools/filesystem/gemini_gpt5nano_protected_paths.yaml +45 -0
  125. massgen/configs/tools/filesystem/gpt5mini_cc_fs_context_path.yaml +31 -0
  126. massgen/configs/tools/filesystem/grok4_gpt5_gemini_filesystem.yaml +32 -0
  127. massgen/configs/tools/filesystem/multiturn/grok4_gpt5_claude_code_filesystem_multiturn.yaml +58 -0
  128. massgen/configs/tools/filesystem/multiturn/grok4_gpt5_gemini_filesystem_multiturn.yaml +58 -0
  129. massgen/configs/tools/filesystem/multiturn/two_claude_code_filesystem_multiturn.yaml +47 -0
  130. massgen/configs/tools/filesystem/multiturn/two_gemini_flash_filesystem_multiturn.yaml +48 -0
  131. massgen/configs/tools/mcp/claude_code_discord_mcp_example.yaml +27 -0
  132. massgen/configs/tools/mcp/claude_code_simple_mcp.yaml +35 -0
  133. massgen/configs/tools/mcp/claude_code_twitter_mcp_example.yaml +32 -0
  134. massgen/configs/tools/mcp/claude_mcp_example.yaml +24 -0
  135. massgen/configs/tools/mcp/claude_mcp_test.yaml +27 -0
  136. massgen/configs/tools/mcp/five_agents_travel_mcp_test.yaml +157 -0
  137. massgen/configs/tools/mcp/five_agents_weather_mcp_test.yaml +103 -0
  138. massgen/configs/tools/mcp/gemini_mcp_example.yaml +24 -0
  139. massgen/configs/tools/mcp/gemini_mcp_filesystem_test.yaml +23 -0
  140. massgen/configs/tools/mcp/gemini_mcp_filesystem_test_sharing.yaml +23 -0
  141. massgen/configs/tools/mcp/gemini_mcp_filesystem_test_single_agent.yaml +17 -0
  142. massgen/configs/tools/mcp/gemini_mcp_filesystem_test_with_claude_code.yaml +24 -0
  143. massgen/configs/tools/mcp/gemini_mcp_test.yaml +27 -0
  144. massgen/configs/tools/mcp/gemini_notion_mcp.yaml +52 -0
  145. massgen/configs/tools/mcp/gpt5_nano_mcp_example.yaml +24 -0
  146. massgen/configs/tools/mcp/gpt5_nano_mcp_test.yaml +27 -0
  147. massgen/configs/tools/mcp/gpt5mini_claude_code_discord_mcp_example.yaml +38 -0
  148. massgen/configs/tools/mcp/gpt_oss_mcp_example.yaml +25 -0
  149. massgen/configs/tools/mcp/gpt_oss_mcp_test.yaml +28 -0
  150. massgen/configs/tools/mcp/grok3_mini_mcp_example.yaml +24 -0
  151. massgen/configs/tools/mcp/grok3_mini_mcp_test.yaml +27 -0
  152. massgen/configs/tools/mcp/multimcp_gemini.yaml +111 -0
  153. massgen/configs/tools/mcp/qwen_api_mcp_example.yaml +25 -0
  154. massgen/configs/tools/mcp/qwen_api_mcp_test.yaml +28 -0
  155. massgen/configs/tools/mcp/qwen_local_mcp_example.yaml +24 -0
  156. massgen/configs/tools/mcp/qwen_local_mcp_test.yaml +27 -0
  157. massgen/configs/tools/planning/five_agents_discord_mcp_planning_mode.yaml +140 -0
  158. massgen/configs/tools/planning/five_agents_filesystem_mcp_planning_mode.yaml +151 -0
  159. massgen/configs/tools/planning/five_agents_notion_mcp_planning_mode.yaml +151 -0
  160. massgen/configs/tools/planning/five_agents_twitter_mcp_planning_mode.yaml +155 -0
  161. massgen/configs/tools/planning/gpt5_mini_case_study_mcp_planning_mode.yaml +73 -0
  162. massgen/configs/tools/web-search/claude_streamable_http_test.yaml +43 -0
  163. massgen/configs/tools/web-search/gemini_streamable_http_test.yaml +43 -0
  164. massgen/configs/tools/web-search/gpt5_mini_streamable_http_test.yaml +43 -0
  165. massgen/configs/tools/web-search/gpt_oss_streamable_http_test.yaml +44 -0
  166. massgen/configs/tools/web-search/grok3_mini_streamable_http_test.yaml +43 -0
  167. massgen/configs/tools/web-search/qwen_api_streamable_http_test.yaml +44 -0
  168. massgen/configs/tools/web-search/qwen_local_streamable_http_test.yaml +43 -0
  169. massgen/coordination_tracker.py +708 -0
  170. massgen/docker/README.md +462 -0
  171. massgen/filesystem_manager/__init__.py +21 -0
  172. massgen/filesystem_manager/_base.py +9 -0
  173. massgen/filesystem_manager/_code_execution_server.py +545 -0
  174. massgen/filesystem_manager/_docker_manager.py +477 -0
  175. massgen/filesystem_manager/_file_operation_tracker.py +248 -0
  176. massgen/filesystem_manager/_filesystem_manager.py +813 -0
  177. massgen/filesystem_manager/_path_permission_manager.py +1261 -0
  178. massgen/filesystem_manager/_workspace_tools_server.py +1815 -0
  179. massgen/formatter/__init__.py +10 -0
  180. massgen/formatter/_chat_completions_formatter.py +284 -0
  181. massgen/formatter/_claude_formatter.py +235 -0
  182. massgen/formatter/_formatter_base.py +156 -0
  183. massgen/formatter/_response_formatter.py +263 -0
  184. massgen/frontend/__init__.py +1 -2
  185. massgen/frontend/coordination_ui.py +471 -286
  186. massgen/frontend/displays/base_display.py +56 -11
  187. massgen/frontend/displays/create_coordination_table.py +1956 -0
  188. massgen/frontend/displays/rich_terminal_display.py +1259 -619
  189. massgen/frontend/displays/simple_display.py +9 -4
  190. massgen/frontend/displays/terminal_display.py +27 -68
  191. massgen/logger_config.py +681 -0
  192. massgen/mcp_tools/README.md +232 -0
  193. massgen/mcp_tools/__init__.py +105 -0
  194. massgen/mcp_tools/backend_utils.py +1035 -0
  195. massgen/mcp_tools/circuit_breaker.py +195 -0
  196. massgen/mcp_tools/client.py +894 -0
  197. massgen/mcp_tools/config_validator.py +138 -0
  198. massgen/mcp_tools/docs/circuit_breaker.md +646 -0
  199. massgen/mcp_tools/docs/client.md +950 -0
  200. massgen/mcp_tools/docs/config_validator.md +478 -0
  201. massgen/mcp_tools/docs/exceptions.md +1165 -0
  202. massgen/mcp_tools/docs/security.md +854 -0
  203. massgen/mcp_tools/exceptions.py +338 -0
  204. massgen/mcp_tools/hooks.py +212 -0
  205. massgen/mcp_tools/security.py +780 -0
  206. massgen/message_templates.py +342 -64
  207. massgen/orchestrator.py +1515 -241
  208. massgen/stream_chunk/__init__.py +35 -0
  209. massgen/stream_chunk/base.py +92 -0
  210. massgen/stream_chunk/multimodal.py +237 -0
  211. massgen/stream_chunk/text.py +162 -0
  212. massgen/tests/mcp_test_server.py +150 -0
  213. massgen/tests/multi_turn_conversation_design.md +0 -8
  214. massgen/tests/test_azure_openai_backend.py +156 -0
  215. massgen/tests/test_backend_capabilities.py +262 -0
  216. massgen/tests/test_backend_event_loop_all.py +179 -0
  217. massgen/tests/test_chat_completions_refactor.py +142 -0
  218. massgen/tests/test_claude_backend.py +15 -28
  219. massgen/tests/test_claude_code.py +268 -0
  220. massgen/tests/test_claude_code_context_sharing.py +233 -0
  221. massgen/tests/test_claude_code_orchestrator.py +175 -0
  222. massgen/tests/test_cli_backends.py +180 -0
  223. massgen/tests/test_code_execution.py +679 -0
  224. massgen/tests/test_external_agent_backend.py +134 -0
  225. massgen/tests/test_final_presentation_fallback.py +237 -0
  226. massgen/tests/test_gemini_planning_mode.py +351 -0
  227. massgen/tests/test_grok_backend.py +7 -10
  228. massgen/tests/test_http_mcp_server.py +42 -0
  229. massgen/tests/test_integration_simple.py +198 -0
  230. massgen/tests/test_mcp_blocking.py +125 -0
  231. massgen/tests/test_message_context_building.py +29 -47
  232. massgen/tests/test_orchestrator_final_presentation.py +48 -0
  233. massgen/tests/test_path_permission_manager.py +2087 -0
  234. massgen/tests/test_rich_terminal_display.py +14 -13
  235. massgen/tests/test_timeout.py +133 -0
  236. massgen/tests/test_v3_3agents.py +11 -12
  237. massgen/tests/test_v3_simple.py +8 -13
  238. massgen/tests/test_v3_three_agents.py +11 -18
  239. massgen/tests/test_v3_two_agents.py +8 -13
  240. massgen/token_manager/__init__.py +7 -0
  241. massgen/token_manager/token_manager.py +400 -0
  242. massgen/utils.py +52 -16
  243. massgen/v1/agent.py +45 -91
  244. massgen/v1/agents.py +18 -53
  245. massgen/v1/backends/gemini.py +50 -153
  246. massgen/v1/backends/grok.py +21 -54
  247. massgen/v1/backends/oai.py +39 -111
  248. massgen/v1/cli.py +36 -93
  249. massgen/v1/config.py +8 -12
  250. massgen/v1/logging.py +43 -127
  251. massgen/v1/main.py +18 -32
  252. massgen/v1/orchestrator.py +68 -209
  253. massgen/v1/streaming_display.py +62 -163
  254. massgen/v1/tools.py +8 -12
  255. massgen/v1/types.py +9 -23
  256. massgen/v1/utils.py +5 -23
  257. massgen-0.1.0.dist-info/METADATA +1245 -0
  258. massgen-0.1.0.dist-info/RECORD +273 -0
  259. massgen-0.1.0.dist-info/entry_points.txt +2 -0
  260. massgen/frontend/logging/__init__.py +0 -9
  261. massgen/frontend/logging/realtime_logger.py +0 -197
  262. massgen-0.0.3.dist-info/METADATA +0 -568
  263. massgen-0.0.3.dist-info/RECORD +0 -76
  264. massgen-0.0.3.dist-info/entry_points.txt +0 -2
  265. /massgen/backend/{Function calling openai responses.md → docs/Function calling openai responses.md} +0 -0
  266. {massgen-0.0.3.dist-info → massgen-0.1.0.dist-info}/WHEEL +0 -0
  267. {massgen-0.0.3.dist-info → massgen-0.1.0.dist-info}/licenses/LICENSE +0 -0
  268. {massgen-0.0.3.dist-info → massgen-0.1.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,87 @@
1
+ # Example configuration demonstrating context_paths filesystem access control
2
+ # This config shows how agents can access user-specified files with permission control
3
+
4
+ agents:
5
+ # - id: "claude1"
6
+ # backend:
7
+ # type: "claude"
8
+ # model: "claude-sonnet-4-20250514" # Model name
9
+ # cwd: "workspace1"
10
+
11
+ # - id: "agent_oss"
12
+ # backend:
13
+ # type: "chatcompletion"
14
+ # model: "openai/gpt-oss-120b"
15
+ # base_url: "https://api.groq.com/openai/v1"
16
+ # cwd: "workspace1"
17
+
18
+ # - id: "claude_code_agent1"
19
+ # backend:
20
+ # type: "claude_code"
21
+ # cwd: "workspace1" # Working directory for file operations
22
+
23
+ # - id: "grok_mini1"
24
+ # backend:
25
+ # type: "grok"
26
+ # model: "grok-code-fast-1"
27
+ # cwd: "workspace1"
28
+
29
+ # - id: "grok_mini2"
30
+ # backend:
31
+ # type: "grok"
32
+ # model: "grok-code-fast-1"
33
+ # cwd: "workspace2"
34
+
35
+ - id: "gpt5nano_1"
36
+ backend:
37
+ type: "openai"
38
+ model: "gpt-5"
39
+ text:
40
+ verbosity: "medium"
41
+ reasoning:
42
+ effort: "low" # Fast responses for debugging
43
+ cwd: "workspace1"
44
+
45
+ - id: "gpt5nano_2"
46
+ backend:
47
+ type: "openai"
48
+ model: "gpt-5"
49
+ text:
50
+ verbosity: "medium"
51
+ reasoning:
52
+ effort: "low" # Fast responses for debugging
53
+ cwd: "workspace2"
54
+
55
+ # - id: "code_analyzer"
56
+ # backend:
57
+ # type: "gemini"
58
+ # model: "gemini-2.5-flash"
59
+ # cwd: "analyzer_workspace"
60
+
61
+ # - id: "code_modifier"
62
+ # backend:
63
+ # type: "gemini"
64
+ # model: "gemini-2.5-flash"
65
+ # cwd: "modifier_workspace"
66
+
67
+ # - id: "documentation_writer"
68
+ # backend:
69
+ # type: "gemini"
70
+ # model: "gemini-2.5-flash"
71
+ # cwd: "docs_workspace"
72
+
73
+ orchestrator:
74
+ snapshot_storage: "snapshots"
75
+ agent_temporary_workspace: "temp_workspaces"
76
+ # Context paths applied to all agents - always read-only access during orchestration, write for final agent if specified
77
+ context_paths:
78
+ - path: "massgen/configs/resources/v0.0.21-example"
79
+ permission: "write"
80
+ # - path: "testing_permissions"
81
+ # # permission: "read"
82
+ # permission: "write"
83
+
84
+ # UI Configuration
85
+ ui:
86
+ type: "rich_terminal"
87
+ logging_enabled: true
@@ -0,0 +1,54 @@
1
+ # Example Configuration: Workspace Cleanup with Deletion Tools
2
+ #
3
+ # Use Case: Agents can delete outdated files during iteration to keep workspace clean
4
+ #
5
+ # This demonstrates the delete_file and delete_files_batch tools. The v0.0.26-example
6
+ # directory contains a messy workspace with multiple HTML files and scattered resources.
7
+ # Agents can clean this up by deleting redundant files.
8
+ #
9
+ # Run with:
10
+ # massgen --config @examples/tools/filesystem/gemini_gemini_workspace_cleanup "Please improve the website to reference Jimi Hendrix then remove the other files and directories that aren't being used"
11
+
12
+ agents:
13
+ - id: "agent_a"
14
+ backend:
15
+ type: "gemini"
16
+ model: "gemini-2.5-pro"
17
+ cwd: "workspace1"
18
+
19
+ - id: "agent_b"
20
+ backend:
21
+ type: "openai"
22
+ model: "gpt-5-nano"
23
+ text:
24
+ verbosity: "medium"
25
+ reasoning:
26
+ effort: "medium"
27
+ summary: "auto"
28
+ cwd: "workspace2"
29
+
30
+ orchestrator:
31
+ snapshot_storage: "snapshots"
32
+ agent_temporary_workspace: "temp_workspaces"
33
+ context_paths:
34
+ - path: "massgen/configs/resources/v0.0.26-example"
35
+ permission: "write"
36
+ # Agents can read the messy directory and delete redundant files
37
+
38
+ ui:
39
+ display_type: "rich_terminal"
40
+ logging_enabled: true
41
+
42
+ # What happens:
43
+ # 1. Agents analyze the messy directory with multiple HTML files:
44
+ # - beatles.html
45
+ # - dylan.html
46
+ # - index.html
47
+ # - bob_dylan_website/ subdirectory
48
+ # 2. Agents combine the best elements from existing websites to create improved Jimi Hendrix website
49
+ # 3. Agents use delete_file tool to remove old/redundant files
50
+ # 4. Final workspace contains only one clean website
51
+ #
52
+ # Available deletion tools:
53
+ # - delete_file(path, recursive=False) - Delete single file/directory
54
+ # - delete_files_batch(base_path, include_patterns, exclude_patterns) - Delete multiple files
@@ -0,0 +1,30 @@
1
+ # massgen --config @examples/tools/filesystem/gemini_gpt5_filesystem_casestudy "Build a game where users see a diverse set of up-to-date small, static coding puzzles related to common coding bugs. Then, award them points if they can clearly spot the error in the code. Use Vite with a package.json with minimal dependencies."
2
+ # please do `npm install && npm run dev` to run the Vite projects
3
+ agents:
4
+ - id: "gemini"
5
+ backend:
6
+ type: "gemini"
7
+ model: "gemini-2.5-pro"
8
+ cwd: "workspace1" # Working directory for file operations
9
+ enable_web_search: true
10
+
11
+ - id: "gpt-5"
12
+ backend:
13
+ type: "openai"
14
+ model: "gpt-5"
15
+ text:
16
+ verbosity: "medium"
17
+ reasoning:
18
+ effort: "low"
19
+ summary: "auto"
20
+ cwd: "workspace2" # this is for the desired version
21
+ enable_web_search: true
22
+
23
+ orchestrator:
24
+ snapshot_storage: "snapshots" # Directory to store workspace snapshots
25
+ agent_temporary_workspace: "temp_workspaces" # Directory for temporary agent workspaces
26
+
27
+ ui:
28
+ display_type: "rich_terminal"
29
+ logging_enabled: true
30
+
@@ -0,0 +1,43 @@
1
+ # Example Configuration: File Context Path
2
+ #
3
+ # Use Case: Give agents access to a specific file without exposing the entire directory
4
+ #
5
+ # This config demonstrates the file context path feature which allows you to provide
6
+ # access to a single file, preventing agents from accessing sibling files in the same directory.
7
+ #
8
+ # Run with:
9
+ # massgen --config @examples/tools/filesystem/gemini_gpt5nano_file_context_path "Analyze the CSS file and make modern improvements"
10
+
11
+ agents:
12
+ - id: "agent_a"
13
+ backend:
14
+ type: "gemini"
15
+ model: "gemini-2.5-flash"
16
+ cwd: "workspace1"
17
+
18
+ - id: "agent_b"
19
+ backend:
20
+ type: "openai"
21
+ model: "gpt-5-nano"
22
+ text:
23
+ verbosity: "medium"
24
+ reasoning:
25
+ effort: "medium"
26
+ summary: "auto"
27
+ cwd: "workspace2"
28
+
29
+ orchestrator:
30
+ snapshot_storage: "snapshots"
31
+ agent_temporary_workspace: "temp_workspaces"
32
+ context_paths:
33
+ - path: "massgen/configs/resources/v0.0.21-example/styles.css"
34
+ permission: "write"
35
+ # Only styles.css is accessible - index.html in the same directory is NOT accessible
36
+
37
+ ui:
38
+ display_type: "rich_terminal"
39
+ logging_enabled: true
40
+
41
+ # Result:
42
+ # ✅ massgen/configs/resources/v0.0.21-example/styles.css → Can read/write
43
+ # ❌ massgen/configs/resources/v0.0.21-example/index.html → NOT accessible (sibling file blocked)
@@ -0,0 +1,45 @@
1
+ # Example Configuration: Protected Paths
2
+ #
3
+ # Use Case: Allow agents to modify files but prevent changes to specific reference files
4
+ #
5
+ # This config demonstrates the protected_paths feature which makes specific files/directories
6
+ # within a writable context path immune from modification or deletion.
7
+ #
8
+ # Run with:
9
+ # massgen --config @examples/tools/filesystem/gemini_gpt5nano_protected_paths "Review the HTML and CSS files, then improve the styling"
10
+
11
+ agents:
12
+ - id: "agent_a"
13
+ backend:
14
+ type: "gemini"
15
+ model: "gemini-2.5-flash"
16
+ cwd: "workspace1"
17
+
18
+ - id: "agent_b"
19
+ backend:
20
+ type: "openai"
21
+ model: "gpt-5-nano"
22
+ text:
23
+ verbosity: "medium"
24
+ reasoning:
25
+ effort: "medium"
26
+ summary: "auto"
27
+ cwd: "workspace2"
28
+
29
+ orchestrator:
30
+ snapshot_storage: "snapshots"
31
+ agent_temporary_workspace: "temp_workspaces"
32
+ context_paths:
33
+ - path: "massgen/configs/resources/v0.0.21-example"
34
+ permission: "write"
35
+ protected_paths:
36
+ - "index.html" # This file is read-only (protected)
37
+ # styles.css remains writable - agents can modify it
38
+
39
+ ui:
40
+ display_type: "rich_terminal"
41
+ logging_enabled: true
42
+
43
+ # Result:
44
+ # ✅ massgen/configs/resources/v0.0.21-example/styles.css → Can modify/delete
45
+ # ❌ massgen/configs/resources/v0.0.21-example/index.html → Read-only (protected)
@@ -0,0 +1,31 @@
1
+ # Example configuration demonstrating context_paths filesystem access control
2
+ # This config shows how agents can access user-specified files with permission control
3
+
4
+ agents:
5
+ - id: "agent_a"
6
+ backend:
7
+ type: "openai"
8
+ model: "gpt-5"
9
+ text:
10
+ verbosity: "medium"
11
+ reasoning:
12
+ effort: "low" # Fast responses for debugging
13
+ cwd: "workspace1"
14
+
15
+ - id: "agent_b"
16
+ backend:
17
+ type: "claude_code"
18
+ cwd: "workspace2"
19
+
20
+ orchestrator:
21
+ snapshot_storage: "snapshots"
22
+ agent_temporary_workspace: "temp_workspaces"
23
+ # Context paths applied to all agents - read-only access during orchestration, write for final agent if specified
24
+ context_paths:
25
+ - path: "massgen/configs/resources/v0.0.21-example"
26
+ permission: "write"
27
+
28
+ # UI Configuration
29
+ ui:
30
+ type: "rich_terminal"
31
+ logging_enabled: true
@@ -0,0 +1,32 @@
1
+ # uv tool run massgen --config tools/filesystem/grok4_gpt5_gemini_filesystem.yaml
2
+ agents:
3
+ - id: "agent_a"
4
+ backend:
5
+ type: "grok"
6
+ model: "grok-4-fast-reasoning" # "grok-code-fast-1"
7
+ cwd: "workspace1"
8
+
9
+ - id: "agent_b"
10
+ backend:
11
+ type: "openai"
12
+ model: "gpt-5-mini"
13
+ text:
14
+ verbosity: "medium"
15
+ reasoning:
16
+ effort: "medium"
17
+ summary: "auto"
18
+ cwd: "workspace2"
19
+
20
+ - id: "agent_c"
21
+ backend:
22
+ type: "gemini"
23
+ model: "gemini-2.5-pro"
24
+ cwd: "workspace3"
25
+
26
+ orchestrator:
27
+ snapshot_storage: "snapshots" # Directory to store workspace snapshots
28
+ agent_temporary_workspace: "temp_workspaces" # Directory for temporary agent workspaces
29
+
30
+ ui:
31
+ display_type: "rich_terminal"
32
+ logging_enabled: true
@@ -0,0 +1,58 @@
1
+ # Multi-Turn Filesystem Configuration Example
2
+ #
3
+ # This configuration enables agents to build upon previous work across multiple conversation turns.
4
+ #
5
+ # Key Features:
6
+ # - session_storage: Saves conversation history and workspace state between turns
7
+ # - context_paths: Gives agents access to your project files
8
+ # - Use "." for current directory to work directly in your project
9
+ # - Files are read-only during coordination, writable by final agent
10
+ #
11
+ # Example usage:
12
+ # massgen --config @examples/tools/filesystem/multiturn_grok4_gpt5_claude_code_filesystem_multiturn
13
+ #
14
+ # Or with uv tool:
15
+ # uv tool run massgen --config tools/filesystem/multiturn/grok4_gpt5_claude_code_filesystem_multiturn.yaml
16
+
17
+ agents:
18
+ - id: "agent_a"
19
+ backend:
20
+ type: "grok"
21
+ model: "grok-4-fast-reasoning" # "grok-code-fast-1"
22
+ cwd: "workspace1" # Working directory for file operations
23
+
24
+ - id: "agent_b"
25
+ backend:
26
+ type: "openai"
27
+ model: "gpt-5-mini"
28
+ text:
29
+ verbosity: "medium"
30
+ reasoning:
31
+ effort: "medium"
32
+ summary: "auto"
33
+ cwd: "workspace2" # this is for the desired version
34
+
35
+ - id: "agent_c"
36
+ backend:
37
+ type: "claude_code"
38
+ cwd: "workspace3" # Working directory for file operations
39
+ model: "claude-sonnet-4-20250514"
40
+
41
+ orchestrator:
42
+ snapshot_storage: "snapshots" # Directory to store workspace snapshots
43
+ agent_temporary_workspace: "temp_workspaces" # Directory for temporary agent workspaces
44
+ session_storage: "sessions" # Used for multi-turn conversations to store previous rounds
45
+
46
+ # Context paths - give agents access to your project files
47
+ # Tip: Use "." to automatically work in current directory
48
+ context_paths:
49
+ - path: "." # Current directory (where you run massgen)
50
+ permission: "write" # Allow final agent to create/modify files
51
+ # Optional: Add protected_paths to prevent accidental modifications
52
+ # protected_paths:
53
+ # - ".env"
54
+ # - "config.json"
55
+
56
+ ui:
57
+ display_type: "rich_terminal"
58
+ logging_enabled: true
@@ -0,0 +1,58 @@
1
+ # Multi-Turn Filesystem Configuration Example
2
+ #
3
+ # This configuration enables agents to build upon previous work across multiple conversation turns.
4
+ #
5
+ # Key Features:
6
+ # - session_storage: Saves conversation history and workspace state between turns
7
+ # - context_paths: Gives agents access to your project files
8
+ # - Use "." for current directory to work directly in your project
9
+ # - Files are read-only during coordination, writable by final agent
10
+ #
11
+ # Example usage:
12
+ # massgen --config @examples/tools/filesystem/multiturn_grok4_gpt5_gemini_filesystem_multiturn
13
+ #
14
+ # Or with uv tool:
15
+ # uv tool run massgen --config tools/filesystem/multiturn/grok4_gpt5_gemini_filesystem_multiturn.yaml
16
+
17
+ agents:
18
+ - id: "agent_a"
19
+ backend:
20
+ type: "grok"
21
+ model: "grok-4-fast-reasoning" # "grok-code-fast-1"
22
+ cwd: "workspace1"
23
+
24
+ - id: "agent_b"
25
+ backend:
26
+ type: "openai"
27
+ model: "gpt-5-mini"
28
+ text:
29
+ verbosity: "medium"
30
+ reasoning:
31
+ effort: "medium"
32
+ summary: "auto"
33
+ cwd: "workspace2"
34
+
35
+ - id: "agent_c"
36
+ backend:
37
+ type: "gemini"
38
+ model: "gemini-2.5-pro"
39
+ cwd: "workspace3"
40
+
41
+ orchestrator:
42
+ snapshot_storage: "snapshots" # Directory to store workspace snapshots
43
+ agent_temporary_workspace: "temp_workspaces" # Directory for temporary agent workspaces
44
+ session_storage: "sessions" # Used for multi-turn conversations to store previous rounds
45
+
46
+ # Context paths - give agents access to your project files
47
+ # Tip: Use "." to automatically work in current directory
48
+ context_paths:
49
+ - path: "." # Current directory (where you run massgen)
50
+ permission: "write" # Allow final agent to create/modify files
51
+ # Optional: Add protected_paths to prevent accidental modifications
52
+ # protected_paths:
53
+ # - ".env"
54
+ # - "config.json"
55
+
56
+ ui:
57
+ display_type: "rich_terminal"
58
+ logging_enabled: true
@@ -0,0 +1,47 @@
1
+ # Multi-Turn Filesystem Configuration Example
2
+ #
3
+ # This configuration enables agents to build upon previous work across multiple conversation turns.
4
+ #
5
+ # Key Features:
6
+ # - session_storage: Saves conversation history and workspace state between turns
7
+ # - context_paths: Gives agents access to your project files
8
+ # - Use "." for current directory to work directly in your project
9
+ # - Files are read-only during coordination, writable by final agent
10
+ #
11
+ # Example usage:
12
+ # massgen --config @examples/tools/filesystem/multiturn_two_claude_code_filesystem_multiturn
13
+ #
14
+ # Or with uv tool:
15
+ # uv tool run massgen --config tools/filesystem/multiturn/two_claude_code_filesystem_multiturn.yaml
16
+
17
+ agents:
18
+ - id: "agent_a"
19
+ backend:
20
+ type: "claude_code"
21
+ cwd: "workspace1" # Working directory for file operations
22
+ model: "claude-sonnet-4-20250514"
23
+
24
+ - id: "agent_b"
25
+ backend:
26
+ type: "claude_code"
27
+ cwd: "workspace2" # Working directory for file operations
28
+ model: "claude-sonnet-4-20250514"
29
+
30
+ orchestrator:
31
+ snapshot_storage: "snapshots" # Directory to store workspace snapshots
32
+ agent_temporary_workspace: "temp_workspaces" # Directory for temporary agent workspaces
33
+ session_storage: "sessions" # Used for multi-turn conversations to store previous rounds
34
+
35
+ # Context paths - give agents access to your project files
36
+ # Tip: Use "." to automatically work in current directory
37
+ context_paths:
38
+ - path: "." # Current directory (where you run massgen)
39
+ permission: "write" # Allow final agent to create/modify files
40
+ # Optional: Add protected_paths to prevent accidental modifications
41
+ # protected_paths:
42
+ # - ".env"
43
+ # - "config.json"
44
+
45
+ ui:
46
+ display_type: "rich_terminal"
47
+ logging_enabled: true
@@ -0,0 +1,48 @@
1
+ # Multi-Turn Filesystem Configuration Example
2
+ #
3
+ # This configuration enables agents to build upon previous work across multiple conversation turns.
4
+ #
5
+ # Key Features:
6
+ # - session_storage: Saves conversation history and workspace state between turns
7
+ # - context_paths: Gives agents access to your project files
8
+ # - Use "." for current directory to work directly in your project
9
+ # - Files are read-only during coordination, writable by final agent
10
+ #
11
+ # Example usage:
12
+ # massgen --config @examples/tools/filesystem/multiturn_two_gemini_flash_filesystem_multiturn
13
+ #
14
+ # Or with uv tool:
15
+ # uv tool run massgen --config tools/filesystem/multiturn/two_gemini_flash_filesystem_multiturn.yaml
16
+
17
+ agents:
18
+ - id: "gemini_a"
19
+ backend:
20
+ type: "gemini"
21
+ model: "gemini-2.5-flash"
22
+ cwd: "workspace1" # Working directory for file operations
23
+
24
+ - id: "gemini_b"
25
+ backend:
26
+ type: "gemini"
27
+ model: "gemini-2.5-flash"
28
+ cwd: "workspace2" # Working directory for file operations
29
+
30
+ orchestrator:
31
+ snapshot_storage: "snapshots" # Directory to store workspace snapshots
32
+ agent_temporary_workspace: "temp_workspaces" # Directory for temporary agent workspaces
33
+ session_storage: "sessions" # Used for multi-turn conversations to store previous rounds
34
+
35
+ # Context paths - give agents access to your project files
36
+ # Tip: Use "." to automatically work in current directory
37
+ context_paths:
38
+ - path: "." # Current directory (where you run massgen)
39
+ permission: "write" # Allow final agent to create/modify files
40
+ # Optional: Add protected_paths to prevent accidental modifications
41
+ # protected_paths:
42
+ # - ".env"
43
+ # - "config.json"
44
+
45
+ ui:
46
+ display_type: "rich_terminal"
47
+ logging_enabled: true
48
+
@@ -0,0 +1,27 @@
1
+ agent:
2
+ id: "claude_code_discord_mcp"
3
+ backend:
4
+ type: "claude_code"
5
+ cwd: "claude_code_workspace_discord_mcp"
6
+ permission_mode: "bypassPermissions"
7
+
8
+ # Discord MCP server
9
+ mcp_servers:
10
+ discord:
11
+ type: "stdio"
12
+ command: "npx"
13
+ args: ["-y", "mcp-discord", "--config", "${DISCORD_BOT_TOKEN}"]
14
+ env:
15
+ NOTION_TOKEN: "${NOTION_TOKEN_ONE}"
16
+
17
+ allowed_tools:
18
+ - "Read"
19
+ - "Write"
20
+ - "Bash"
21
+ - "LS"
22
+ - "WebSearch"
23
+ # MCP tools will be auto-discovered from the server
24
+
25
+ ui:
26
+ display_type: "rich_terminal"
27
+ logging_enabled: true
@@ -0,0 +1,35 @@
1
+ agent:
2
+ id: "claude_code_simple_mcp"
3
+ backend:
4
+ type: "claude_code"
5
+ cwd: "claude_code_simple_mcp_workspace"
6
+ permission_mode: "bypassPermissions"
7
+
8
+ # Simple MCP server for testing
9
+ mcp_servers:
10
+ test:
11
+ type: "stdio"
12
+ command: "python3"
13
+ args: ["../mcp_servers/simple_test_server.py"]
14
+
15
+ allowed_tools:
16
+ - "Read"
17
+ - "Write"
18
+ - "Bash"
19
+ - "LS"
20
+ - "WebSearch"
21
+ # MCP tools auto-discovered
22
+
23
+ system_message: |
24
+ You are testing MCP integration with Claude Code.
25
+
26
+ You have access to a simple MCP test server with these tools:
27
+ - mcp__test__echo: Echo back text
28
+ - mcp__test__add_numbers: Add two numbers
29
+ - mcp__test__get_current_time: Get current timestamp
30
+
31
+ Please test these MCP tools to verify the integration is working.
32
+
33
+ ui:
34
+ display_type: "rich_terminal"
35
+ logging_enabled: true
@@ -0,0 +1,32 @@
1
+ agent:
2
+ id: "claude_code_twitter_mcp"
3
+ backend:
4
+ type: "claude_code"
5
+ cwd: "claude_code_workspace_twitter_mcp"
6
+ permission_mode: "bypassPermissions"
7
+
8
+ # Twitter MCP server - using EnesCinr/twitter-mcp
9
+ mcp_servers:
10
+ twitter:
11
+ type: "stdio"
12
+ command: "npx"
13
+ args: ["-y", "@enescinar/twitter-mcp"]
14
+ env:
15
+ # You need to get these from Twitter Developer Portal: https://developer.twitter.com/
16
+ # Required credentials:
17
+ API_KEY: "YOUR_API_KEY"
18
+ API_SECRET_KEY: "YOUR_API_SECRET_KEY"
19
+ ACCESS_TOKEN: "YOUR_ACCESS_TOKEN"
20
+ ACCESS_TOKEN_SECRET: "YOUR_ACCESS_TOKEN_SECRET"
21
+
22
+ allowed_tools:
23
+ - "Read"
24
+ - "Write"
25
+ - "Bash"
26
+ - "LS"
27
+ - "WebSearch"
28
+ # MCP tools will be auto-discovered from the server
29
+
30
+ ui:
31
+ display_type: "rich_terminal"
32
+ logging_enabled: true
@@ -0,0 +1,24 @@
1
+ # MassGen Configuration: Gemini with MCP Integration
2
+ # Usage:
3
+ # massgen --config @examples/tools/mcp/claude_mcp_example "whats the weather of Tokyo"
4
+ agents:
5
+ - id: "claude_mcp_weather"
6
+ backend:
7
+ type: "claude"
8
+ model: "claude-sonnet-4-20250514" # Model name
9
+ mcp_servers:
10
+ - name: "weather"
11
+ type: "stdio"
12
+ command: "npx"
13
+ args: ["-y", "@fak111/weather-mcp"]
14
+ system_message: |
15
+ You are an AI assistant with access to weather information through MCP (Model Context Protocol) integration.
16
+
17
+ Weather tools are available via MCP sessions and will be called automatically by the system when needed.
18
+ Do not output tool call syntax or function declarations. Focus on answering the user's question clearly.
19
+
20
+ When users ask about weather conditions, forecasts, or alerts, include the location and time frame in your
21
+ response and provide concise, up-to-date information using the integrated tools.
22
+ ui:
23
+ display_type: "simple"
24
+ logging_enabled: true