feat: add missing LLM and retrieval provider protocols #8344
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Claude Assistant | |
| on: | |
| issue_comment: | |
| types: [created] | |
| pull_request_review_comment: | |
| types: [created] | |
| issues: | |
| types: [assigned, labeled, opened] | |
| pull_request_review: | |
| types: [submitted] | |
| jobs: | |
| claude-response: | |
| # Allow: human users, github-actions[bot] (auto-comments/labels) | |
| # Block: dependabot, cursor, renovate, other bots | |
| if: | | |
| (github.event.action != 'labeled' || github.event.label.name == 'claude') && | |
| (github.event_name != 'issue_comment' || contains(github.event.comment.body, '@claude')) && | |
| ( | |
| !contains(github.actor, '[bot]') || | |
| github.actor == 'github-actions[bot]' || | |
| github.actor == 'praisonai-triage-agent[bot]' | |
| ) && | |
| github.actor != 'dependabot[bot]' && | |
| github.actor != 'cursor[bot]' && | |
| github.actor != 'renovate[bot]' | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: write | |
| pull-requests: write | |
| issues: write | |
| actions: read | |
| id-token: write | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Generate GitHub App Token | |
| id: app-token | |
| uses: actions/create-github-app-token@v1 | |
| with: | |
| app-id: ${{ secrets.CLAUDE_APP_ID }} | |
| private-key: ${{ secrets.CLAUDE_APP_PRIVATE_KEY }} | |
| - uses: anthropics/claude-code-action@beta | |
| with: | |
| claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }} | |
| github_token: ${{ steps.app-token.outputs.token }} | |
| trigger_phrase: "@claude" | |
| label_trigger: "claude" | |
| allowed_non_write_users: "*" | |
| direct_prompt: | | |
| You are working on the PraisonAI SDK. Follow AGENTS.md strictly. | |
| STEP 0 β SETUP GIT IDENTITY: | |
| git config user.name "MervinPraison" | |
| git config user.email "454862+MervinPraison@users.noreply.github.com" | |
| STEP 1 β READ GUIDELINES: | |
| Read AGENTS.md to understand the architecture rules. | |
| STEP 2 β ARCHITECTURE VALIDATION (MANDATORY before writing code): | |
| Before implementing anything, answer these questions: | |
| - Does this add heavy implementations to the core SDK (praisonaiagents)? If YES β move it to the wrapper (praisonai) or make it a plugin. | |
| - Does it duplicate existing functionality? Check if Agent already supports this via existing params (reflection, planning, tools, hooks, memory). | |
| - Does it inherit from Agent properly? New agent types MUST inherit Agent, not wrap it with composition. | |
| - Does it add new dependencies? Only optional deps allowed, must be lazy-imported. | |
| - Will agent.py grow larger? If the change adds >50 lines to agent.py, find a way to extract instead. | |
| - Is there a name collision with existing exports in __init__.py? | |
| If ANY of these checks fail, add a comment to the issue explaining why and close it. Do NOT create a PR. | |
| STEP 3 β IMPLEMENT: | |
| - Create a fix branch and implement a minimal, focused fix | |
| - Follow protocol-driven design: protocols in core SDK, heavy implementations in wrapper | |
| - Keep changes small and backward-compatible | |
| STEP 4 β TEST: | |
| - Run: cd src/praisonai-agents && PYTHONPATH=. python -m pytest tests/ -x -q --timeout=30 | |
| - Ensure no regressions | |
| STEP 5 β CREATE PR: | |
| - Commit with descriptive message, push, and create PR using `gh pr create` | |
| CRITICAL: You MUST create the PR automatically using `gh pr create`. Do NOT just provide a link. | |
| allowed_tools: | | |
| Bash(git:*) | |
| Bash(python:*) | |
| Bash(pip:*) | |
| Bash(conda:*) | |
| Bash(pytest:*) | |
| Bash(gh:*) | |
| Bash(python -m pytest:*) | |
| Bash(python -m pip:*) | |
| Bash(poetry:*) | |
| View | |
| GlobTool | |
| GrepTool | |
| BatchTool | |
| Edit | |
| Replace | |
| mcp__github__get_issue | |
| mcp__github__get_issue_comments | |
| mcp__github__update_issue | |
| timeout_minutes: 30 |