massgen 0.1.4__py3-none-any.whl → 0.1.6__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.
- massgen/__init__.py +1 -1
- massgen/backend/base_with_custom_tool_and_mcp.py +453 -23
- massgen/backend/capabilities.py +39 -0
- massgen/backend/chat_completions.py +111 -197
- massgen/backend/claude.py +210 -181
- massgen/backend/gemini.py +1015 -1559
- massgen/backend/grok.py +3 -2
- massgen/backend/response.py +160 -220
- massgen/chat_agent.py +340 -20
- massgen/cli.py +399 -25
- massgen/config_builder.py +20 -54
- massgen/config_validator.py +931 -0
- massgen/configs/README.md +95 -10
- massgen/configs/memory/gpt5mini_gemini_baseline_research_to_implementation.yaml +94 -0
- massgen/configs/memory/gpt5mini_gemini_context_window_management.yaml +187 -0
- massgen/configs/memory/gpt5mini_gemini_research_to_implementation.yaml +127 -0
- massgen/configs/memory/gpt5mini_high_reasoning_gemini.yaml +107 -0
- massgen/configs/memory/single_agent_compression_test.yaml +64 -0
- massgen/configs/tools/custom_tools/claude_code_custom_tool_with_mcp_example.yaml +1 -0
- massgen/configs/tools/custom_tools/claude_custom_tool_example_no_path.yaml +1 -1
- massgen/configs/tools/custom_tools/claude_custom_tool_with_mcp_example.yaml +1 -0
- massgen/configs/tools/custom_tools/computer_use_browser_example.yaml +1 -1
- massgen/configs/tools/custom_tools/computer_use_docker_example.yaml +1 -1
- massgen/configs/tools/custom_tools/gemini_custom_tool_with_mcp_example.yaml +1 -0
- massgen/configs/tools/custom_tools/gpt5_nano_custom_tool_with_mcp_example.yaml +1 -0
- massgen/configs/tools/custom_tools/gpt_oss_custom_tool_with_mcp_example.yaml +1 -0
- massgen/configs/tools/custom_tools/grok3_mini_custom_tool_with_mcp_example.yaml +1 -0
- massgen/configs/tools/custom_tools/interop/ag2_and_langgraph_lesson_planner.yaml +65 -0
- massgen/configs/tools/custom_tools/interop/ag2_and_openai_assistant_lesson_planner.yaml +65 -0
- massgen/configs/tools/custom_tools/interop/ag2_lesson_planner_example.yaml +48 -0
- massgen/configs/tools/custom_tools/interop/agentscope_lesson_planner_example.yaml +48 -0
- massgen/configs/tools/custom_tools/interop/langgraph_lesson_planner_example.yaml +49 -0
- massgen/configs/tools/custom_tools/interop/openai_assistant_lesson_planner_example.yaml +50 -0
- massgen/configs/tools/custom_tools/interop/smolagent_lesson_planner_example.yaml +49 -0
- massgen/configs/tools/custom_tools/qwen_api_custom_tool_with_mcp_example.yaml +1 -0
- massgen/configs/tools/custom_tools/two_models_with_tools_example.yaml +44 -0
- massgen/formatter/_gemini_formatter.py +61 -15
- massgen/memory/README.md +277 -0
- massgen/memory/__init__.py +26 -0
- massgen/memory/_base.py +193 -0
- massgen/memory/_compression.py +237 -0
- massgen/memory/_context_monitor.py +211 -0
- massgen/memory/_conversation.py +255 -0
- massgen/memory/_fact_extraction_prompts.py +333 -0
- massgen/memory/_mem0_adapters.py +257 -0
- massgen/memory/_persistent.py +687 -0
- massgen/memory/docker-compose.qdrant.yml +36 -0
- massgen/memory/docs/DESIGN.md +388 -0
- massgen/memory/docs/QUICKSTART.md +409 -0
- massgen/memory/docs/SUMMARY.md +319 -0
- massgen/memory/docs/agent_use_memory.md +408 -0
- massgen/memory/docs/orchestrator_use_memory.md +586 -0
- massgen/memory/examples.py +237 -0
- massgen/orchestrator.py +207 -7
- massgen/tests/memory/test_agent_compression.py +174 -0
- massgen/tests/memory/test_context_window_management.py +286 -0
- massgen/tests/memory/test_force_compression.py +154 -0
- massgen/tests/memory/test_simple_compression.py +147 -0
- massgen/tests/test_ag2_lesson_planner.py +223 -0
- massgen/tests/test_agent_memory.py +534 -0
- massgen/tests/test_config_validator.py +1156 -0
- massgen/tests/test_conversation_memory.py +382 -0
- massgen/tests/test_langgraph_lesson_planner.py +223 -0
- massgen/tests/test_orchestrator_memory.py +620 -0
- massgen/tests/test_persistent_memory.py +435 -0
- massgen/token_manager/token_manager.py +6 -0
- massgen/tool/__init__.py +2 -9
- massgen/tool/_decorators.py +52 -0
- massgen/tool/_extraframework_agents/ag2_lesson_planner_tool.py +251 -0
- massgen/tool/_extraframework_agents/agentscope_lesson_planner_tool.py +303 -0
- massgen/tool/_extraframework_agents/langgraph_lesson_planner_tool.py +275 -0
- massgen/tool/_extraframework_agents/openai_assistant_lesson_planner_tool.py +247 -0
- massgen/tool/_extraframework_agents/smolagent_lesson_planner_tool.py +180 -0
- massgen/tool/_manager.py +102 -16
- massgen/tool/_registered_tool.py +3 -0
- massgen/tool/_result.py +3 -0
- {massgen-0.1.4.dist-info → massgen-0.1.6.dist-info}/METADATA +138 -77
- {massgen-0.1.4.dist-info → massgen-0.1.6.dist-info}/RECORD +82 -37
- massgen/backend/gemini_mcp_manager.py +0 -545
- massgen/backend/gemini_trackers.py +0 -344
- {massgen-0.1.4.dist-info → massgen-0.1.6.dist-info}/WHEEL +0 -0
- {massgen-0.1.4.dist-info → massgen-0.1.6.dist-info}/entry_points.txt +0 -0
- {massgen-0.1.4.dist-info → massgen-0.1.6.dist-info}/licenses/LICENSE +0 -0
- {massgen-0.1.4.dist-info → massgen-0.1.6.dist-info}/top_level.txt +0 -0
massgen/config_builder.py
CHANGED
|
@@ -1500,51 +1500,12 @@ class ConfigBuilder:
|
|
|
1500
1500
|
if "reasoning" in multimodal_caps:
|
|
1501
1501
|
console.print("[dim] • Extended reasoning (deep thinking for complex problems)[/dim]")
|
|
1502
1502
|
|
|
1503
|
-
#
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
if generation_caps:
|
|
1507
|
-
console.print()
|
|
1508
|
-
console.print("[cyan]Optional generation capabilities (requires explicit enablement):[/cyan]")
|
|
1509
|
-
|
|
1510
|
-
gen_choices = []
|
|
1511
|
-
if "image_generation" in generation_caps:
|
|
1512
|
-
gen_choices.append(questionary.Choice("Image Generation (DALL-E, etc.)", value="image_generation", checked=False))
|
|
1513
|
-
if "audio_generation" in generation_caps:
|
|
1514
|
-
gen_choices.append(questionary.Choice("Audio Generation (TTS, music, etc.)", value="audio_generation", checked=False))
|
|
1515
|
-
if "video_generation" in generation_caps:
|
|
1516
|
-
gen_choices.append(questionary.Choice("Video Generation (Sora, etc.)", value="video_generation", checked=False))
|
|
1517
|
-
|
|
1518
|
-
if gen_choices:
|
|
1519
|
-
selected_gen = questionary.checkbox(
|
|
1520
|
-
"Enable generation capabilities (Space to select, Enter to confirm):",
|
|
1521
|
-
choices=gen_choices,
|
|
1522
|
-
style=questionary.Style(
|
|
1523
|
-
[
|
|
1524
|
-
("selected", "fg:cyan"),
|
|
1525
|
-
("pointer", "fg:cyan bold"),
|
|
1526
|
-
("highlighted", "fg:cyan"),
|
|
1527
|
-
],
|
|
1528
|
-
),
|
|
1529
|
-
use_arrow_keys=True,
|
|
1530
|
-
).ask()
|
|
1531
|
-
|
|
1532
|
-
if selected_gen:
|
|
1533
|
-
if "image_generation" in selected_gen:
|
|
1534
|
-
agent["backend"]["enable_image_generation"] = True
|
|
1535
|
-
if "audio_generation" in selected_gen:
|
|
1536
|
-
agent["backend"]["enable_audio_generation"] = True
|
|
1537
|
-
if "video_generation" in selected_gen:
|
|
1538
|
-
agent["backend"]["enable_video_generation"] = True
|
|
1539
|
-
|
|
1540
|
-
console.print(f"✅ Enabled {len(selected_gen)} generation capability(ies)")
|
|
1541
|
-
|
|
1542
|
-
# Custom multimodal understanding tools (new in v0.1.3+)
|
|
1543
|
-
# Available for ALL use cases - these are active tools that process workspace files
|
|
1503
|
+
# Custom multimodal tools (unified understanding and generation)
|
|
1504
|
+
# Available for ALL use cases - these are active tools using OpenAI's gpt-4.1 API
|
|
1544
1505
|
console.print()
|
|
1545
|
-
console.print("[cyan]Custom Multimodal
|
|
1546
|
-
console.print("[dim]These tools let agents
|
|
1547
|
-
console.print("[dim] • Works with any backend (uses OpenAI for
|
|
1506
|
+
console.print("[cyan]Custom Multimodal Tools (New in v0.1.3+):[/cyan]")
|
|
1507
|
+
console.print("[dim]These tools let agents process multimodal content using OpenAI's gpt-4.1 API:[/dim]")
|
|
1508
|
+
console.print("[dim] • Works with any backend (uses OpenAI for processing)[/dim]")
|
|
1548
1509
|
console.print("[dim] • Processes files agents generate or discover during execution[/dim]")
|
|
1549
1510
|
console.print("[dim] • Returns structured JSON with detailed metadata[/dim]")
|
|
1550
1511
|
console.print("[dim] • Requires OPENAI_API_KEY in your .env file[/dim]")
|
|
@@ -1552,38 +1513,43 @@ class ConfigBuilder:
|
|
|
1552
1513
|
# Default to True for multimodal use case, False for others
|
|
1553
1514
|
default_add_mm = use_case == "multimodal"
|
|
1554
1515
|
|
|
1555
|
-
if questionary.confirm("Add custom multimodal
|
|
1516
|
+
if questionary.confirm("Add custom multimodal tools?", default=default_add_mm).ask():
|
|
1556
1517
|
# Determine default selections based on use case
|
|
1557
1518
|
if use_case == "multimodal":
|
|
1558
1519
|
# For multimodal preset, select all by default
|
|
1559
|
-
pass
|
|
1560
|
-
elif use_case == "data_analysis":
|
|
1561
|
-
# For data analysis, suggest image and file tools
|
|
1562
|
-
pass
|
|
1563
|
-
else:
|
|
1564
|
-
# For other use cases, none selected by default (let user choose)
|
|
1565
|
-
pass
|
|
1566
|
-
|
|
1567
|
-
if use_case == "multimodal":
|
|
1568
1520
|
multimodal_tool_choices = [
|
|
1569
1521
|
questionary.Choice("understand_image - Analyze images (PNG, JPEG, JPG)", value="understand_image", checked=True),
|
|
1570
1522
|
questionary.Choice("understand_audio - Transcribe and analyze audio", value="understand_audio", checked=True),
|
|
1571
1523
|
questionary.Choice("understand_video - Extract frames and analyze video", value="understand_video", checked=True),
|
|
1572
1524
|
questionary.Choice("understand_file - Process documents (PDF, DOCX, XLSX, PPTX)", value="understand_file", checked=True),
|
|
1525
|
+
questionary.Choice("text_to_image_generation - Generate images from text prompts", value="text_to_image_generation", checked=True),
|
|
1526
|
+
questionary.Choice("image_to_image_generation - Transform existing images", value="image_to_image_generation", checked=True),
|
|
1527
|
+
questionary.Choice("text_to_video_generation - Generate videos from text prompts", value="text_to_video_generation", checked=True),
|
|
1528
|
+
questionary.Choice("text_to_file_generation - Generate documents (PDF, DOCX, etc.)", value="text_to_file_generation", checked=True),
|
|
1573
1529
|
]
|
|
1574
1530
|
elif use_case == "data_analysis":
|
|
1531
|
+
# For data analysis, suggest image and file tools
|
|
1575
1532
|
multimodal_tool_choices = [
|
|
1576
1533
|
questionary.Choice("understand_image - Analyze images (PNG, JPEG, JPG)", value="understand_image", checked=True),
|
|
1577
1534
|
questionary.Choice("understand_audio - Transcribe and analyze audio", value="understand_audio", checked=False),
|
|
1578
1535
|
questionary.Choice("understand_video - Extract frames and analyze video", value="understand_video", checked=False),
|
|
1579
1536
|
questionary.Choice("understand_file - Process documents (PDF, DOCX, XLSX, PPTX)", value="understand_file", checked=True),
|
|
1537
|
+
questionary.Choice("text_to_image_generation - Generate images from text prompts", value="text_to_image_generation", checked=False),
|
|
1538
|
+
questionary.Choice("image_to_image_generation - Transform existing images", value="image_to_image_generation", checked=False),
|
|
1539
|
+
questionary.Choice("text_to_video_generation - Generate videos from text prompts", value="text_to_video_generation", checked=False),
|
|
1540
|
+
questionary.Choice("text_to_file_generation - Generate documents (PDF, DOCX, etc.)", value="text_to_file_generation", checked=True),
|
|
1580
1541
|
]
|
|
1581
1542
|
else:
|
|
1543
|
+
# For other use cases, none selected by default (let user choose)
|
|
1582
1544
|
multimodal_tool_choices = [
|
|
1583
1545
|
questionary.Choice("understand_image - Analyze images (PNG, JPEG, JPG)", value="understand_image", checked=False),
|
|
1584
1546
|
questionary.Choice("understand_audio - Transcribe and analyze audio", value="understand_audio", checked=False),
|
|
1585
1547
|
questionary.Choice("understand_video - Extract frames and analyze video", value="understand_video", checked=False),
|
|
1586
1548
|
questionary.Choice("understand_file - Process documents (PDF, DOCX, XLSX, PPTX)", value="understand_file", checked=False),
|
|
1549
|
+
questionary.Choice("text_to_image_generation - Generate images from text prompts", value="text_to_image_generation", checked=False),
|
|
1550
|
+
questionary.Choice("image_to_image_generation - Transform existing images", value="image_to_image_generation", checked=False),
|
|
1551
|
+
questionary.Choice("text_to_video_generation - Generate videos from text prompts", value="text_to_video_generation", checked=False),
|
|
1552
|
+
questionary.Choice("text_to_file_generation - Generate documents (PDF, DOCX, etc.)", value="text_to_file_generation", checked=False),
|
|
1587
1553
|
]
|
|
1588
1554
|
|
|
1589
1555
|
selected_mm_tools = questionary.checkbox(
|