Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1701 commits
Select commit Hold shift + click to select a range
e4fa04e
Merge pull request #753 from MervinPraison/claude/issue-752-20250708_…
MervinPraison Jul 8, 2025
83df961
Add files via upload
Dhivya-Bharathy Jul 8, 2025
8b8e507
Add files via upload
Dhivya-Bharathy Jul 8, 2025
dfc7dc1
Update PraisonAI and related dependencies to version 2.2.37 and Prais…
MervinPraison Jul 8, 2025
624ee6c
Rename cleaned_ai_market_startup_trend_agent.ipynb to ai_market_start…
Dhivya-Bharathy Jul 8, 2025
c1cecff
Add Ai_Market_Startup_Trend_Agent notebook
Dhivya-Bharathy Jul 8, 2025
88e40e6
Merge branch 'main' into add-Ai_Market_Startup_Trend_Agent
Dhivya-Bharathy Jul 8, 2025
f51e964
Merge pull request #755 from Dhivya-Bharathy/add-Ai_Market_Startup_Tr…
MervinPraison Jul 8, 2025
6626f63
Rename ai_data_analysis_agent.ipynb to AI_Data_Analysis_Agent.ipynb
Dhivya-Bharathy Jul 8, 2025
13e524d
Force Git to recognize PascalCase renames for all notebooks
devops-vestradata Jul 8, 2025
20e6fba
Rename arXiv_agent_notebook.ipynb to ArXiv_Agent_Notebook.ipynb
Dhivya-Bharathy Jul 8, 2025
4b8debb
Rename voiGno_Restaurant_Agent_PraisonAI.ipynb to VoiGno_Restaurant_A…
Dhivya-Bharathy Jul 8, 2025
10c4e30
Remove duplicate e-commerce notebook. Now 60 cookbooks .ipynb files.
devops-vestradata Jul 8, 2025
8a10986
Organized all cookbooks .ipynb files into categorized folders and fix…
devops-vestradata Jul 8, 2025
8f1136f
Update Qwen_Colab_Agent.ipynb
Dhivya-Bharathy Jul 8, 2025
becd0e9
Fix Qwen_Colab_Agent.ipynb: Remove duplicates, widgets metadata, and …
devops-vestradata Jul 8, 2025
feb840f
Resolve merge conflict: keep fixed Qwen_Colab_Agent.ipynb (remove wid…
devops-vestradata Jul 8, 2025
2cd88ce
Recreate Qwen_Colab_Agent.ipynb from scratch: valid JSON, no widgets,…
devops-vestradata Jul 8, 2025
189328c
Delete examples/cookbooks/Conversational_Chat_Agents/Qwen_Colab_Agent…
Dhivya-Bharathy Jul 8, 2025
2877de0
Delete examples/cookbooks/Programming_Code_Analysis_Agents/Code_Analy…
Dhivya-Bharathy Jul 8, 2025
cf5685a
Delete examples/cookbooks/Programming_Code_Analysis_Agents/MistralTec…
Dhivya-Bharathy Jul 8, 2025
83b4188
Add files via upload
Dhivya-Bharathy Jul 8, 2025
15b8bd4
Add files via upload
Dhivya-Bharathy Jul 8, 2025
e083a9f
Add files via upload
Dhivya-Bharathy Jul 8, 2025
3be25c6
Delete examples/cookbooks/Research_Knowledge_QA_Agents/AI-CourtSimula…
Dhivya-Bharathy Jul 8, 2025
659bb17
Add files via upload
Dhivya-Bharathy Jul 8, 2025
36336a1
Delete examples/cookbooks/Research_Knowledge_QA_Agents/ArXiv_Agent_No…
Dhivya-Bharathy Jul 8, 2025
017f79f
Add files via upload
Dhivya-Bharathy Jul 8, 2025
fae62c8
Delete examples/cookbooks/Vision_Multimodal_Agents/Bert_Whisper_Agent…
Dhivya-Bharathy Jul 8, 2025
080604e
Add files via upload
Dhivya-Bharathy Jul 8, 2025
f206565
Merge remote-tracking branch 'upstream/main'
devops-vestradata Jul 8, 2025
cf93492
Remove duplicate Ai_Market_Startup_Trend_Agent.ipynb from cookbooks root
devops-vestradata Jul 8, 2025
80aea57
fix: Resolve TypeError in COT agents with telemetry
claude[bot] Jul 8, 2025
85b3208
Delete cot-agents.py
MervinPraison Jul 8, 2025
b1cc437
Merge pull request #759 from MervinPraison/claude/issue-758-20250708_…
MervinPraison Jul 8, 2025
e384d9e
Merge pull request #757 from Dhivya-Bharathy/add-cookbook-folders
MervinPraison Jul 8, 2025
0fe0617
Update PraisonAI to version 2.2.38 and PraisonAI Agents to version 0.…
MervinPraison Jul 8, 2025
3fad49a
Merge branch 'main' of https://github.com/MervinPraison/PraisonAI
MervinPraison Jul 8, 2025
a5ceb76
Merge pull request #731 from Dhivya-Bharathy/add-talk2find_voice_agen…
MervinPraison Jul 8, 2025
2d9002b
refactor: extract shared _build_messages helper to reduce code duplic…
claude[bot] Jul 8, 2025
7e37e32
Rename test_phase2_refactor.py to src/praisonai/tests/test_phase2_ref…
MervinPraison Jul 8, 2025
e6ac9cd
Merge pull request #761 from MervinPraison/claude/issue-752-20250708_…
MervinPraison Jul 8, 2025
4db2fc2
Update PraisonAI to version 2.2.39 and PraisonAI Agents to version 0.…
MervinPraison Jul 8, 2025
8567bc2
refactor: Add full tool format support to async method
claude[bot] Jul 8, 2025
fcc7887
Rename test_async_tool_formats.py to src/praisonai/tests/test_async_t…
MervinPraison Jul 8, 2025
dc2e216
Rename src/praisonai/tests/test_async_tool_formats.py to src/praisona…
MervinPraison Jul 8, 2025
4b171f0
fix: Add defensive validation and fix test import path
claude[bot] Jul 8, 2025
d99338a
Fix import path in test_phase2_refactor.py to ensure correct module a…
MervinPraison Jul 8, 2025
f482d3b
fix: Update tool formatting to handle callable functions from any module
claude[bot] Jul 8, 2025
23de481
Merge pull request #764 from MervinPraison/claude/issue-752-20250708_…
MervinPraison Jul 8, 2025
ea24336
chore: Update PraisonAI to version 2.2.40 and PraisonAI Agents to ver…
MervinPraison Jul 8, 2025
beff3d0
refactor: Sync agent.py with llm.py patterns - Phase 1
claude[bot] Jul 8, 2025
77a3030
Rename test_agent_refactor.py to src/praisonai/tests/unit/test_agent_…
MervinPraison Jul 8, 2025
debbd9c
fix: Replace shallow copy with deep copy in _build_messages()
claude[bot] Jul 8, 2025
8e6e82c
Merge pull request #765 from MervinPraison/claude/issue-752-20250708_…
MervinPraison Jul 8, 2025
d757669
refactor: separate OpenAI logic from agent.py into llm/openai_client.py
claude[bot] Jul 8, 2025
e5a12a1
Rename test_openai_refactor.py to src/praisonai/tests/unit/test_opena…
MervinPraison Jul 8, 2025
5241bab
Merge pull request #766 from MervinPraison/claude/issue-752-20250708_…
MervinPraison Jul 8, 2025
a8d750b
fix: handle MCP tools returning lists in agent.py
claude[bot] Jul 8, 2025
bc5e89c
Merge pull request #768 from MervinPraison/claude/issue-767-20250708_…
MervinPraison Jul 8, 2025
0ebcedd
fix: handle both ToolCall dataclass and OpenAI object in tool execution
claude[bot] Jul 8, 2025
109cf3b
Merge pull request #769 from MervinPraison/claude/pr-766-20250708_221226
MervinPraison Jul 8, 2025
457c2ba
fix: convert ToolCall dataclass to dict for JSON serialization
claude[bot] Jul 8, 2025
63a15ed
Merge pull request #770 from MervinPraison/claude/pr-766-20250708_222154
MervinPraison Jul 8, 2025
8902148
Remove test_mcp_fix.py and update PraisonAI and related dependencies …
MervinPraison Jul 8, 2025
ecf1a13
refactor: make openai_client.py self-contained like llm.py
claude[bot] Jul 8, 2025
1a85c81
Rename test_openai_refactor.py to src/praisonai/tests/unit/test_opena…
MervinPraison Jul 8, 2025
7efc3f3
Merge pull request #771 from MervinPraison/claude/issue-752-20250708_…
MervinPraison Jul 8, 2025
f359399
fix: add items property to array parameters in OpenAI tool definitions
claude[bot] Jul 8, 2025
7557311
Merge pull request #772 from MervinPraison/claude/pr-771-20250708_230103
MervinPraison Jul 8, 2025
e8972eb
fix: add comprehensive array schema validation for all tool types
claude[bot] Jul 8, 2025
e14622f
Merge pull request #773 from MervinPraison/claude/pr-772-20250708_230928
MervinPraison Jul 8, 2025
48f4e3f
Update PraisonAI and related dependencies to version 2.2.42 and prais…
MervinPraison Jul 8, 2025
2576b2a
fix: add array schema validation to llm.py for MCP tools compatibility
claude[bot] Jul 8, 2025
db8f0e4
Merge pull request #774 from MervinPraison/claude/pr-773-20250708_232256
MervinPraison Jul 8, 2025
bc06b5c
Update PraisonAI and related dependencies to version 2.2.43 and prais…
MervinPraison Jul 8, 2025
134f162
Add Air_Quality_Analysis_Agent notebook
Dhivya-Bharathy Jul 9, 2025
6c5612c
Update Air_Quality_Analysis_Agent.ipynb
Dhivya-Bharathy Jul 9, 2025
4ab811c
Update Air_Quality_Analysis_Agent.ipynb
Dhivya-Bharathy Jul 9, 2025
44d8bc9
Add files via upload
Dhivya-Bharathy Jul 9, 2025
3de0202
Update Air_Quality_Analysis_Agent.ipynb
Dhivya-Bharathy Jul 9, 2025
8f3e0e4
Delete examples/cookbooks/Health_Fitness_Agents/Air_Quality_Analysis_…
Dhivya-Bharathy Jul 9, 2025
69e5d83
Merge pull request #775 from Dhivya-Bharathy/add-Air_Quality_Analysis…
MervinPraison Jul 9, 2025
de15eee
Add Financial_Coaching_Agent notebook
Dhivya-Bharathy Jul 9, 2025
1e3bdbe
Add News_And_Podcast_Aggregator_Agent notebook
Dhivya-Bharathy Jul 9, 2025
4ddc8ae
Add Game_Playing_Agent_Tic_Tac_Toe notebook
Dhivya-Bharathy Jul 9, 2025
b461917
Add Domain_Deep_Research_Agent notebook
Dhivya-Bharathy Jul 9, 2025
cd478c5
Add 5 domain-specific AI agent folders (Finance, Health, Programming,…
devops-vestradata Jul 9, 2025
8461b54
Merge pull request #776 from Dhivya-Bharathy/add-Financial_Coaching_A…
MervinPraison Jul 9, 2025
ddfe62e
Merge pull request #777 from Dhivya-Bharathy/add-News_And_Podcast_Agg…
MervinPraison Jul 9, 2025
f9063ce
Merge pull request #778 from Dhivya-Bharathy/add-Game_Playing_Agent_T…
MervinPraison Jul 9, 2025
dce5bfb
Merge pull request #780 from Dhivya-Bharathy/feature/add-ai-agent-exa…
MervinPraison Jul 9, 2025
892d46c
Merge pull request #779 from Dhivya-Bharathy/add-Domain_Deep_Research…
MervinPraison Jul 9, 2025
53dc2be
refactor: extract streaming chunk processor to eliminate code duplica…
claude[bot] Jul 9, 2025
78d41c8
refactor: extract Ollama handler to eliminate code duplication
claude[bot] Jul 9, 2025
ca18731
refactor: extract debug logging into centralized _log_llm_config method
claude[bot] Jul 9, 2025
fe1d588
refactor: eliminate sync/async duplication in llm.py
claude[bot] Jul 9, 2025
38057e6
fix: remove OPENAI_API_KEY requirement for non-OpenAI providers
claude[bot] Jul 10, 2025
717af30
Rename test_xai_fix.py to src/praisonai/tests/unit/test_xai_fix.py
MervinPraison Jul 10, 2025
536b0a0
fix: remove client imports from main.py to fix ImportError
claude[bot] Jul 10, 2025
60e1cdd
Add grok4_intelligent_agents with 5 agent scripts
devops-vestradata Jul 10, 2025
a2e33a0
fix: make OpenAI client initialization lazy for non-OpenAI providers
claude[bot] Jul 10, 2025
9eec4f1
fix: add null safety checks for OpenAI client usage
claude[bot] Jul 10, 2025
2f300fa
Merge pull request #785 from MervinPraison/claude/issue-784-20250710_…
MervinPraison Jul 10, 2025
5ca665b
Merge pull request #786 from Dhivya-Bharathy/grok4-intelligent-agents…
MervinPraison Jul 10, 2025
b1dd1ef
chore: update PraisonAI and related package versions to 2.2.44 and 0.…
MervinPraison Jul 10, 2025
1a3c558
Merge pull request #783 from MervinPraison/claude/issue-754-20250709_…
MervinPraison Jul 10, 2025
f353525
chore: update PraisonAI and related package versions to 2.2.45 and 0.…
MervinPraison Jul 10, 2025
f0c1d97
fix: prevent double output when using litellm models
claude[bot] Jul 10, 2025
898948e
Merge pull request #782 from MervinPraison/claude/issue-754-20250709_…
MervinPraison Jul 10, 2025
95aa724
fix: correct indentation error in get_response method
claude[bot] Jul 10, 2025
e1a074a
chore: update PraisonAI and related package versions to 2.2.46 and 0.…
MervinPraison Jul 10, 2025
f7cc336
fix: add multi-provider support for AutoAgents
claude[bot] Jul 10, 2025
4be7eb8
fix: correct indentation error in aresponse method
claude[bot] Jul 10, 2025
c48fadd
fix: add verbose checks to all display_interaction calls for consistency
claude[bot] Jul 10, 2025
462862c
refactor: resolve merge conflicts with main branch
claude[bot] Jul 10, 2025
b0904bc
Merge pull request #791 from MervinPraison/claude/issue-788-20250710_…
MervinPraison Jul 10, 2025
e24a1c2
Merge pull request #789 from MervinPraison/claude/issue-787-20250710_…
MervinPraison Jul 10, 2025
8dd2483
refactor: eliminate sync/async duplication in llm.py
claude[bot] Jul 10, 2025
23285da
fix: properly handle OpenAI client API and store base_url/api_key
claude[bot] Jul 10, 2025
6ab702b
Merge branch 'main' into claude/issue-754-20250709_155906
MervinPraison Jul 10, 2025
29993cc
fix: remove duplicate _handle_ollama_model method and fix double tool…
claude[bot] Jul 10, 2025
a9b2c30
fix: address review comments for debug logging refactor
claude[bot] Jul 10, 2025
fef1bf2
Merge pull request #793 from MervinPraison/claude/issue-754-20250709_…
MervinPraison Jul 10, 2025
05fd67f
fix: properly pass base_url and api_key parameters to OpenAI client a…
claude[bot] Jul 10, 2025
fa02065
Merge pull request #794 from MervinPraison/claude/pr-791-20250710_214815
MervinPraison Jul 10, 2025
ca45dba
Merge branch 'main' into claude/issue-754-20250709_155906
MervinPraison Jul 10, 2025
db3567a
chore: update version to 0.0.120 in pyproject.toml and uv.lock
MervinPraison Jul 10, 2025
3e13f77
Merge branch 'main' of https://github.com/MervinPraison/PraisonAI
MervinPraison Jul 10, 2025
894d3fb
Merge pull request #781 from MervinPraison/claude/issue-754-20250709_…
MervinPraison Jul 10, 2025
cf865c9
fix: replace prefix-based model detection with capability-based detec…
claude[bot] Jul 10, 2025
1869e72
fix: handle JSON parsing for Gemini self-reflection
claude[bot] Jul 10, 2025
b71009b
chore: update PraisonAI version to 2.2.47 in Dockerfiles, README, and…
MervinPraison Jul 10, 2025
4fb3d28
fix: add user message to chat_history before LLM call to fix handoff …
claude[bot] Jul 10, 2025
612c44c
fix: update AutoAgents prompt to generate proper TaskConfig objects
claude[bot] Jul 10, 2025
fc20e4c
Rename test_gemini_fix.py to gemini_self_reflection.py
MervinPraison Jul 10, 2025
016f020
Merge pull request #800 from MervinPraison/claude/issue-796-20250710_…
MervinPraison Jul 10, 2025
dc6cf50
Merge branch 'main' into claude/issue-795-20250710_222918
MervinPraison Jul 10, 2025
7734406
fix: add error handling, duplicate prevention, and multimodal normali…
claude[bot] Jul 10, 2025
02bbe86
feat: add validation and retry mechanism for AutoAgents config genera…
claude[bot] Jul 10, 2025
bb89256
fix: add missing duplicate prevention and error rollback in achat() O…
claude[bot] Jul 10, 2025
0be115a
fix: correct syntax errors in try-except block indentation
claude[bot] Jul 10, 2025
f6c01ca
test: add comprehensive unit tests for AutoAgents validation and retr…
claude[bot] Jul 10, 2025
c4685f9
refactor: remove unused autoagents-tools.py file
MervinPraison Jul 10, 2025
faf60a2
fix: correct syntax errors in try-except block indentation
claude[bot] Jul 10, 2025
3e51ac7
Merge pull request #801 from MervinPraison/claude/issue-798-20250710_…
MervinPraison Jul 10, 2025
f0073f5
chore: update PraisonAI version to 2.2.48 in Dockerfiles, README, and…
MervinPraison Jul 10, 2025
d03d152
Merge branch 'main' into claude/issue-792-20250710_221133
MervinPraison Jul 10, 2025
bcd9fd8
Merge pull request #803 from MervinPraison/claude/issue-792-20250710_…
MervinPraison Jul 10, 2025
cbe796b
chore: add github-token to automated comment workflows
MervinPraison Jul 10, 2025
72743b7
fix: correct syntax error in agent.py - proper indentation for try-ex…
claude[bot] Jul 10, 2025
5bb9fc9
chore: update github-token in automated comment workflows
MervinPraison Jul 10, 2025
7dd7567
fix: add missing guardrail validation and error handling to achat() a…
claude[bot] Jul 10, 2025
71bc68a
fix: correct syntax error in agent.py - add missing except block
claude[bot] Jul 10, 2025
53f9dac
chore: enhance automated comment workflows with additional guidance
MervinPraison Jul 10, 2025
03c8384
fix: correct syntax errors and add missing guardrail validation to ac…
claude[bot] Jul 10, 2025
90aa3b8
fix: correct syntax error - fix indentation of except block at line 1413
claude[bot] Jul 10, 2025
2b32a84
fix: comprehensive fix for all try-except block indentation issues
claude[bot] Jul 10, 2025
b9b6b32
fix: correct syntax error - fix indentation of lines 1404-1411 to be …
claude[bot] Jul 10, 2025
bd6310d
chore: simplify review comment in automated PR workflow
MervinPraison Jul 11, 2025
05ac225
Add 10 new Grok4 intelligent agents
devops-vestradata Jul 11, 2025
9ca0277
chore: update review comment in automated PR workflow for multi-agent…
MervinPraison Jul 11, 2025
fe66dbb
chore: refine review comment in automated issue workflow
MervinPraison Jul 11, 2025
440ebf8
fix: add missing HostedMCPServer class for MCP server implementations
claude[bot] Jul 11, 2025
e3133c1
chore: optimise variable initialisation in autoagents.py
MervinPraison Jul 11, 2025
d3e77ce
chore: enhance review comments in automated workflows for clarity
MervinPraison Jul 11, 2025
09092dc
chore: correct string escape sequences in test-core.yml
MervinPraison Jul 11, 2025
52281af
fix: resolve SyntaxError in autoagents.py by fixing indentation and u…
claude[bot] Jul 11, 2025
fa46722
fix: add missing newline at end of autoagents.py to prevent parser er…
claude[bot] Jul 11, 2025
806ca0a
fix: resolve IndentationError in autoagents.py
claude[bot] Jul 11, 2025
9338cb3
fix: resolve code quality issues and unreachable code in agent.py
claude[bot] Jul 11, 2025
aaae248
fix: improve HostedMCPServer implementation
claude[bot] Jul 11, 2025
495f7e9
fix: resolve SyntaxError and improve code structure in autoagents.py
claude[bot] Jul 11, 2025
e913e44
fix: add missing newline at end of autoagents.py to prevent parser er…
claude[bot] Jul 11, 2025
53558fb
fix: remove dead code and add missing reflection continuation logic
claude[bot] Jul 11, 2025
7989b54
refactor: move HostedMCPServer from core package to examples folder
claude[bot] Jul 11, 2025
96eb417
refactor: complete moving HostedMCPServer to examples folder
claude[bot] Jul 11, 2025
d91ffe5
fix: resolve test failures in autoagents.py
claude[bot] Jul 11, 2025
a8077e9
Merge pull request #817 from MervinPraison/claude/issue-815-20250711_…
MervinPraison Jul 11, 2025
1294448
chore: update PraisonAI and related package versions to 2.2.49 and 0.…
MervinPraison Jul 11, 2025
4340040
Update pyproject.toml
MervinPraison Jul 11, 2025
add4ed3
Update pyproject.toml
MervinPraison Jul 11, 2025
dc953b1
Update pyproject.toml
MervinPraison Jul 11, 2025
7cad644
Update pyproject.toml
MervinPraison Jul 11, 2025
acf9a92
Merge pull request #816 from MervinPraison/claude/issue-813-20250711_…
MervinPraison Jul 11, 2025
e54a24a
fix: enhance unit tests for AutoAgents class
MervinPraison Jul 11, 2025
d2a044d
Merge branch 'main' of https://github.com/MervinPraison/PraisonAI
MervinPraison Jul 11, 2025
857feb9
Merge branch 'main' of https://github.com/MervinPraison/PraisonAI int…
MervinPraison Jul 11, 2025
5df0c20
fix: resolve code quality issues and unreachable code in agent.py
claude[bot] Jul 11, 2025
72b0e6f
Merge pull request #812 from MervinPraison/claude/issue-795-20250710_…
MervinPraison Jul 11, 2025
8550090
refactor: improve test_autoagents.py for clarity and validation
MervinPraison Jul 11, 2025
f0d8b11
refactor: enhance test_autoagents.py with improved mock configuration
MervinPraison Jul 11, 2025
5e8bd01
fix: enable tool calling for Gemini models
claude[bot] Jul 11, 2025
c91f097
refactor: update test_autoagents.py to improve validation scenarios
MervinPraison Jul 11, 2025
261b905
refactor: optimise test_autoagents.py for clarity and consistency
MervinPraison Jul 11, 2025
d469540
fix: improve Gemini tool calling implementation
claude[bot] Jul 11, 2025
473c832
feat: enhance Gemini tool calling fix with improved error handling
claude[bot] Jul 11, 2025
a45618f
fix: enable tool calling for async agents with Gemini models
claude[bot] Jul 11, 2025
e3d4741
Rename test_async_gemini_fix.py to src/praisonai/tests/unit/test_asyn…
MervinPraison Jul 11, 2025
bf7f37f
Rename test_gemini_tool_choice.py to src/praisonai/tests/unit/test_ge…
MervinPraison Jul 11, 2025
a66d023
Rename test_tool_fix_documentation.md to src/praisonai/tests/unit/tes…
MervinPraison Jul 11, 2025
45ec376
Rename test_tool_fix_example.py to src/praisonai/tests/unit/test_tool…
MervinPraison Jul 11, 2025
0f7dfc9
Rename test_tool_fix_improved.py to src/praisonai/tests/unit/test_too…
MervinPraison Jul 11, 2025
3db9057
Merge pull request #819 from MervinPraison/claude/issue-818-20250711_…
MervinPraison Jul 11, 2025
ccf4fd8
Merge pull request #814 from Dhivya-Bharathy/grok4-10-new-agents
MervinPraison Jul 11, 2025
db48660
feat: bump PraisonAI to v2.2.50 and add Gemini agent tools implementa…
MervinPraison Jul 11, 2025
0adc3e5
feat: add automated PR review comment workflow for Claude integration
MervinPraison Jul 11, 2025
7b76e43
feat: Implement MCP HTTP Stream transport
claude[bot] Jul 11, 2025
bca039a
fix: address code review issues in HTTP Stream implementation
claude[bot] Jul 11, 2025
246744c
Merge pull request #826 from MervinPraison/claude/issue-823-20250711_…
MervinPraison Jul 11, 2025
cb584cb
fix: add validation feedback to workflow retry logic
claude[bot] Jul 11, 2025
48d0f8d
fix: handle non-streaming responses after tool execution for sequenti…
claude[bot] Jul 11, 2025
f24dba2
refactor: extract validation failure decisions to class constant
claude[bot] Jul 11, 2025
4a12aa9
Merge pull request #829 from MervinPraison/claude/issue-827-20250711_…
MervinPraison Jul 11, 2025
f90f523
fix: centralize logging configuration to respect LOGLEVEL environment…
claude[bot] Jul 11, 2025
135f7ae
chore: remove test_logging.py from root - should be in tests directory
claude[bot] Jul 11, 2025
cfb459a
fix: ensure consistent logger levels across modules
claude[bot] Jul 11, 2025
a04b205
Merge pull request #833 from MervinPraison/claude/issue-831-20250711_…
MervinPraison Jul 11, 2025
9abd2a3
fix: improve sequential tool calling for non-streaming responses
claude[bot] Jul 11, 2025
4466e50
Rename test_sequential_tool_calling.py to src/praisonai-agents/test_s…
MervinPraison Jul 11, 2025
98e7903
Merge pull request #832 from MervinPraison/claude/issue-824-20250711_…
MervinPraison Jul 11, 2025
4925dd7
feat: upgrade praisonai to v2.2.51 and add aiohttp dependency to prai…
MervinPraison Jul 11, 2025
9395c0f
fix: pass stream parameter from Agent to LLM
claude[bot] Jul 11, 2025
38dfe8e
Merge pull request #834 from MervinPraison/claude/pr-832-20250711_232348
MervinPraison Jul 11, 2025
276cce9
fix: capture final response after tool execution in LLM
claude[bot] Jul 11, 2025
f9a5c11
Delete test_issue_835.py
MervinPraison Jul 12, 2025
5d8816e
Merge pull request #836 from MervinPraison/claude/issue-835-20250711_…
MervinPraison Jul 12, 2025
48dca82
fix: allow agents to continue with sequential tool calls
claude[bot] Jul 12, 2025
9013fd1
test: add test scripts for sequential tool calling fix
claude[bot] Jul 12, 2025
5edf1a1
fix: update LLM model and refine agent instruction
MervinPraison Jul 12, 2025
591b7e2
fix: add return_dict=True to fix TypeError in prompt_chaining tests
claude[bot] Jul 12, 2025
12273e4
fix: document async limitation and ensure consistent behavior
claude[bot] Jul 12, 2025
bd596cc
fix: preserve reasoning_steps functionality with sequential tool calling
claude[bot] Jul 12, 2025
b4d4c39
Merge pull request #843 from MervinPraison/claude/issue-841-20250712_…
MervinPraison Jul 12, 2025
896ce54
docs: add OLLAMA_HANDLING.md to explain ollama_handled flag usage
claude[bot] Jul 12, 2025
6acf678
fix: add sequential tool calling support to async get_response_async …
claude[bot] Jul 12, 2025
5f6777d
Merge pull request #844 from MervinPraison/claude/issue-840-20250712_…
MervinPraison Jul 12, 2025
b200df9
fix: correct indentation error in async streaming code
claude[bot] Jul 12, 2025
83cd46f
fix: correct indentation error in async streaming code
claude[bot] Jul 12, 2025
5748e9f
Rename test_fix_comprehensive.py to src/praisonai/tests/unit/test_fix…
MervinPraison Jul 12, 2025
8d62e75
Delete test_fix.py
MervinPraison Jul 12, 2025
39d1470
Rename src/praisonai/tests/unit/test_fix_comprehensive.py to src/prai…
MervinPraison Jul 12, 2025
f7593ef
fix: correct Ollama return statement and variable reference for seque…
claude[bot] Jul 12, 2025
dfc503c
test: add comprehensive test suite for sequential tool calling
claude[bot] Jul 12, 2025
6205a2e
Delete src/praisonai/tests/unit/test_sequential_tool_calling.py
MervinPraison Jul 12, 2025
14b7476
Merge pull request #842 from MervinPraison/claude/issue-839-20250712_…
MervinPraison Jul 12, 2025
ddae919
feat: bump PraisonAI to v2.2.52 and add sequential agent examples for…
MervinPraison Jul 12, 2025
ee7070f
feat: add comprehensive mock tests for sequential tool calling
claude[bot] Jul 12, 2025
0be4451
chore: remove old test file to replace with fixed version
claude[bot] Jul 12, 2025
cd64a06
fix: comprehensive test fixes for sequential tool calling
claude[bot] Jul 12, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 2 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
patreon: MervinPraison
ko_fi: MervinPraison
34 changes: 34 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
name: Bug report
about: Create a report to help us improve
title: '[BUG] '
labels: bug
assignees: ''
---

## Environment
- Provider (select one):
- [ ] Anthropic
- [ ] OpenAI
- [ ] Google Vertex AI
- [ ] AWS Bedrock
- [ ] Other: <!-- specify -->
- PraisonAI version: <!-- if known -->
- Operating System: <!-- e.g. macOS 14.3, Windows 11, Ubuntu 22.04 -->

## Full Code
<!-- Full code that reproduces the bug -->

## Steps to Reproduce
1. <!-- First step -->
2. <!-- Second step -->
3. <!-- And so on... -->

## Expected Behavior
<!-- What you expected to happen -->

## Actual Behavior
<!-- What actually happened -->

## Additional Context
<!-- Add any other context about the problem here, such as screenshots, logs, etc. -->
240 changes: 240 additions & 0 deletions .github/actions/claude-code-action/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,240 @@
name: "Claude Code Action"
description: "Run Claude Code in GitHub Actions workflows"

inputs:
anthropic_api_key:
description: "Anthropic API key"
required: false
github_token:
description: "GitHub token for Claude to operate with"
required: false
default: ${{ github.token }}
trigger_phrase:
description: "The trigger phrase to look for in comments, issue/PR bodies, and issue titles"
required: false
default: "@claude"
assignee_trigger:
description: "The assignee username that triggers the action (e.g. @claude). Only used for issue assignment"
required: false
max_turns:
description: "Maximum number of conversation turns Claude can take"
required: false
timeout_minutes:
description: "Timeout in minutes for execution"
required: false
default: "30"
model:
description: "Model to use (provider-specific format required for Bedrock/Vertex)"
required: false
use_bedrock:
description: "Use Amazon Bedrock with OIDC authentication instead of direct Anthropic API"
required: false
default: "false"
use_vertex:
description: "Use Google Vertex AI with OIDC authentication instead of direct Anthropic API"
required: false
default: "false"
allowed_tools:
description: "Additional tools for Claude to use (the base GitHub tools will always be included)"
required: false
default: ""
disallowed_tools:
description: "Tools that Claude should never use"
required: false
default: ""
custom_instructions:
description: "Additional custom instructions to include in the prompt for Claude"
required: false
default: ""
mcp_config:
description: "Additional MCP configuration (JSON string) that merges with the built-in GitHub MCP servers"
required: false
default: ""
claude_env:
description: "Custom environment variables to pass to Claude Code execution (YAML format)"
required: false
default: ""
direct_prompt:
description: "Direct prompt for Claude to execute automatically without needing a trigger (for automated workflows)"
required: false

runs:
using: "composite"
steps:
- name: Install Claude Code
shell: bash
run: npm install -g @anthropic-ai/claude-code

- name: Install GitHub MCP Server
shell: bash
run: |
claude mcp add-json github '{
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server:sha-ff3036d"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "${{ inputs.github_token }}"
}
}'

- name: Extract GitHub Context and Create Prompt
shell: bash
id: prepare_context
run: |
echo "🔍 Extracting GitHub context from event: ${{ github.event_name }}"

# Function to check for trigger phrase
check_trigger() {
local text="$1"
local trigger="${{ inputs.trigger_phrase }}"
if [[ "$text" == *"$trigger"* ]]; then
return 0
fi
return 1
}

# Extract context based on event type
TRIGGER_FOUND="false"
USER_REQUEST=""
CONTEXT_INFO=""

case "${{ github.event_name }}" in
"issue_comment")
COMMENT_BODY="${{ github.event.comment.body }}"
ISSUE_TITLE="${{ github.event.issue.title }}"
ISSUE_NUMBER="${{ github.event.issue.number }}"

if check_trigger "$COMMENT_BODY"; then
TRIGGER_FOUND="true"
USER_REQUEST="$COMMENT_BODY"
CONTEXT_INFO="Issue Comment on #$ISSUE_NUMBER: $ISSUE_TITLE"
fi
;;

"pull_request_review_comment")
COMMENT_BODY="${{ github.event.comment.body }}"
PR_TITLE="${{ github.event.pull_request.title }}"
PR_NUMBER="${{ github.event.pull_request.number }}"

if check_trigger "$COMMENT_BODY"; then
TRIGGER_FOUND="true"
USER_REQUEST="$COMMENT_BODY"
CONTEXT_INFO="PR Comment on #$PR_NUMBER: $PR_TITLE"
fi
;;

"pull_request_review")
REVIEW_BODY="${{ github.event.review.body }}"
PR_TITLE="${{ github.event.pull_request.title }}"
PR_NUMBER="${{ github.event.pull_request.number }}"

if check_trigger "$REVIEW_BODY"; then
TRIGGER_FOUND="true"
USER_REQUEST="$REVIEW_BODY"
CONTEXT_INFO="PR Review on #$PR_NUMBER: $PR_TITLE"
fi
;;

"issues")
ISSUE_BODY="${{ github.event.issue.body }}"
ISSUE_TITLE="${{ github.event.issue.title }}"
ISSUE_NUMBER="${{ github.event.issue.number }}"

if check_trigger "$ISSUE_TITLE" || check_trigger "$ISSUE_BODY"; then
TRIGGER_FOUND="true"
USER_REQUEST="$ISSUE_BODY"
CONTEXT_INFO="Issue #$ISSUE_NUMBER: $ISSUE_TITLE"
elif [[ "${{ github.event.action }}" == "assigned" && -n "${{ inputs.assignee_trigger }}" ]]; then
ASSIGNEE="${{ github.event.assignee.login }}"
if [[ "$ASSIGNEE" == "${{ inputs.assignee_trigger }}" ]]; then
TRIGGER_FOUND="true"
USER_REQUEST="$ISSUE_BODY"
CONTEXT_INFO="Issue #$ISSUE_NUMBER assigned to $ASSIGNEE: $ISSUE_TITLE"
fi
fi
;;
esac

# Check for direct prompt override
if [[ -n "${{ inputs.direct_prompt }}" ]]; then
TRIGGER_FOUND="true"
USER_REQUEST="${{ inputs.direct_prompt }}"
CONTEXT_INFO="Automated GitHub workflow"
fi

if [[ "$TRIGGER_FOUND" != "true" ]]; then
echo "❌ No trigger phrase found or direct prompt provided. Exiting gracefully."
echo "SKIP_EXECUTION=true" >> $GITHUB_ENV
exit 0
fi

echo "✅ Trigger found! Context: $CONTEXT_INFO"

# Create comprehensive prompt
mkdir -p /tmp/claude-action
cat > /tmp/claude-action/github-context-prompt.txt << EOF
You are Claude Code, an AI assistant helping with GitHub workflows and code.

Repository: ${{ github.repository }}
Context: $CONTEXT_INFO
Event: ${{ github.event_name }}

User Request:
$USER_REQUEST

Please analyze the request and provide helpful assistance. You have access to repository tools and can help with:
- Code analysis and implementation
- GitHub workflows and automation
- Pull request reviews and feedback
- Issue resolution and bug fixes
- Documentation updates
- Testing and deployment

Respond naturally and helpfully to the user's request using the available tools.
EOF

echo "PROMPT_FILE=/tmp/claude-action/github-context-prompt.txt" >> $GITHUB_ENV
echo "SKIP_EXECUTION=false" >> $GITHUB_ENV

- name: Run Claude Code
if: env.SKIP_EXECUTION != 'true'
shell: bash
run: |
echo "🚀 Running Claude Code with GitHub context..."

# Build command arguments
CMD_ARGS=("-p" "--verbose" "--output-format" "stream-json")

# Add max turns if specified
if [[ -n "${{ inputs.max_turns }}" ]]; then
CMD_ARGS+=("--max-turns" "${{ inputs.max_turns }}")
fi

# Add allowed tools (include GitHub tools by default)
TOOLS="mcp__github__get_issue,mcp__github__get_issue_comments,mcp__github__update_issue,mcp__github__search_issues,mcp__github__list_issues,mcp__github__create_comment,Read,Write,Edit,Bash"
if [[ -n "${{ inputs.allowed_tools }}" ]]; then
TOOLS="$TOOLS,${{ inputs.allowed_tools }}"
fi
CMD_ARGS+=("--allowedTools" "$TOOLS")

# Add disallowed tools
if [[ -n "${{ inputs.disallowed_tools }}" ]]; then
CMD_ARGS+=("--disallowedTools" "${{ inputs.disallowed_tools }}")
fi

echo "📝 Executing Claude Code with prompt from file..."

# Execute Claude Code with timeout, using stdin for the prompt
TIMEOUT_SECONDS=$((${{ inputs.timeout_minutes }} * 60))
timeout $TIMEOUT_SECONDS claude "${CMD_ARGS[@]}" < "${{ env.PROMPT_FILE }}"

echo "✅ Claude Code execution completed"
env:
ANTHROPIC_API_KEY: ${{ inputs.anthropic_api_key }}
GITHUB_TOKEN: ${{ inputs.github_token }}
87 changes: 87 additions & 0 deletions .github/actions/claude-issue-triage-action/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
name: "Claude Issue Triage Action"
description: "Automatically triage GitHub issues using Claude Code"

inputs:
timeout_minutes:
description: "Timeout in minutes for execution"
required: false
default: "5"
anthropic_api_key:
description: "Anthropic API key"
required: true
github_token:
description: "GitHub token with repo and issues permissions"
required: true

runs:
using: "composite"
steps:
- name: Checkout repository code
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Create prompt file
shell: bash
run: |
mkdir -p /tmp/claude-prompts
cat > /tmp/claude-prompts/claude-issue-triage-prompt.txt << 'EOF'
You're an issue triage assistant for GitHub issues. Your task is to analyze the issue and select appropriate labels from the provided list.

IMPORTANT: Don't post any comments or messages to the issue. Your only action should be to apply labels.

Issue Information:
- REPO: ${{ github.repository }}
- ISSUE_NUMBER: ${{ github.event.issue.number }}

TASK OVERVIEW:

1. First, fetch the list of labels available in this repository by running: `gh label list`. Run exactly this command with nothing else.

2. Next, use the GitHub tools to get context about the issue:
- You have access to these tools:
- mcp__github__get_issue: Use this to retrieve the current issue's details including title, description, and existing labels
- mcp__github__get_issue_comments: Use this to read any discussion or additional context provided in the comments
- mcp__github__update_issue: Use this to apply labels to the issue (do not use this for commenting)
- mcp__github__search_issues: Use this to find similar issues that might provide context for proper categorization and to identify potential duplicate issues
- mcp__github__list_issues: Use this to understand patterns in how other issues are labeled
- Start by using mcp__github__get_issue to get the issue details

3. Analyze the issue content, considering:
- The issue title and description
- The type of issue (bug report, feature request, question, etc.)
- Technical areas mentioned
- Severity or priority indicators
- User impact
- Components affected

4. Select appropriate labels from the available labels list provided above:
- Choose labels that accurately reflect the issue's nature
- Be specific but comprehensive
- Select priority labels if you can determine urgency (high-priority, med-priority, or low-priority)
- Consider platform labels (android, ios) if applicable
- If you find similar issues using mcp__github__search_issues, consider using a "duplicate" label if appropriate. Only do so if the issue is a duplicate of another OPEN issue.

5. Apply the selected labels:
- Use mcp__github__update_issue to apply your selected labels
- DO NOT post any comments explaining your decision
- DO NOT communicate directly with users
- If no labels are clearly applicable, do not apply any labels

IMPORTANT GUIDELINES:
- Be thorough in your analysis
- Only select labels from the provided list above
- DO NOT post any comments to the issue
- Your ONLY action should be to apply labels using mcp__github__update_issue
- It's okay to not add any labels if none are clearly applicable
EOF

- name: Run Claude Code
uses: ./.github/actions/claude-code-action
with:
prompt_file: /tmp/claude-prompts/claude-issue-triage-prompt.txt
allowed_tools: "Bash(gh label list),mcp__github__get_issue,mcp__github__get_issue_comments,mcp__github__update_issue,mcp__github__search_issues,mcp__github__list_issues"
install_github_mcp: "true"
timeout_minutes: ${{ inputs.timeout_minutes }}
anthropic_api_key: ${{ inputs.anthropic_api_key }}
github_token: ${{ inputs.github_token }}
23 changes: 23 additions & 0 deletions .github/workflows/auto-issue-comment.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Auto Issue Comment

on:
issues:
types: [opened]

jobs:
add-comment:
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- name: Add automated comment
uses: actions/github-script@v7
with:
github-token: ${{ secrets.GH_TOKEN }}
script: |
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: '@claude review this issue and do a detailed analysis and fix this if the existing code doesn\'t have the solution implemented. Making sure it has backward compatibility, no existing features removed. After making those changes, again use multi agents to review the applied changes. Use @web to search if you dont know any information or to find the latest documentation or to find the latest version. Run the code if you think you need to run it to test it. Minimal code change to start with if required any changes.'
})
Loading
Loading