diff --git a/README.md b/README.md index 42e9a75..1a00531 100644 --- a/README.md +++ b/README.md @@ -193,6 +193,7 @@ without knowing any precedence rules. | `ollama` | Ollama | `ollama_api_key`, `ollama_base_url` | `ollama_base_url` | | `openai` | OpenAI | `openai_api_key`, `openai_base_url` | `openai_api_key` or `openai_base_url` | | `openrouter` | OpenRouter | `openrouter_api_key` | `openrouter_api_key` | +| `opper` | Opper | `opper_api_key` | `opper_api_key` | | `orcarouter` | OrcaRouter | `orcarouter_api_key` | `orcarouter_api_key` | | `requesty` | Requesty | `requesty_api_key`, `requesty_base_url` | `requesty_api_key` | | `vercel` | Vercel AI Gateway | `vercel_api_key`, `vercel_base_url` | `vercel_api_key` or `vercel_base_url` | @@ -349,7 +350,7 @@ The first sync after the merge creates `codeboarding/baseline`, catching up from `target_branch` and `sync_strategy` are deprecated, and read as the `codeboarding_analysis_location` they stand for, with a warning: `sync_strategy: push` as `in_place`, `sync_strategy: pull_request` as `codeboarding_branch`. `target_branch` is accepted only when it names the branch the run is on: the push trigger picks the branch. `force_full: true` is ignored with a warning. Anything the new input cannot express fails, linking to [moving an existing setup](#moving-an-existing-setup). -The `/codeboarding` command, comment heading, Mermaid direction (`LR`), hosted webview URL, commit message, and CodeBoarding 0.15.1 version are intentionally fixed rather than exposed as configuration. +The `/codeboarding` command, comment heading, Mermaid direction (`LR`), hosted webview URL, commit message, and CodeBoarding 0.15.3 version are intentionally fixed rather than exposed as configuration. Review mode needs no sync job or committed `.codeboarding` directory. If no usable merge-base analysis exists, it runs full analysis there directly, then @@ -406,7 +407,7 @@ Run the local analysis pipeline: ```bash export OPENROUTER_API_KEY=sk-or-... -python -m pip install codeboarding==0.15.1 +python -m pip install codeboarding==0.15.3 tests/run_local.sh --repo /path/to/repo --base main --head feature ``` diff --git a/action.yml b/action.yml index ee958d8..7547260 100644 --- a/action.yml +++ b/action.yml @@ -10,7 +10,7 @@ inputs: required: false default: 'review' llm: - description: 'Required. Where analysis credentials come from: hosted, license, or a provider name (anthropic, aws_bedrock, cerebras, deepseek, glm, google, kimi, litellm, ollama, openai, openrouter, orcarouter, requesty, vercel).' + description: 'Required. Where analysis credentials come from: hosted, license, or a provider name (anthropic, aws_bedrock, cerebras, deepseek, glm, google, kimi, litellm, ollama, openai, openrouter, opper, orcarouter, requesty, vercel).' required: true license_key: description: 'CodeBoarding license key. Required by llm: license; optional alongside a provider key.' @@ -99,6 +99,11 @@ inputs: description: 'OpenRouter API key, used when llm is openrouter. Sets OPENROUTER_API_KEY.' required: false default: '' + # Opper - selected by llm: opper + opper_api_key: + description: 'Opper API key, used when llm is opper. Sets OPPER_API_KEY.' + required: false + default: '' # OrcaRouter - selected by llm: orcarouter orcarouter_api_key: description: 'OrcaRouter API key, used when llm is orcarouter. Sets ORCAROUTER_API_KEY.' @@ -306,6 +311,7 @@ runs: CB_IN_OPENAI_API_KEY: ${{ inputs.openai_api_key }} CB_IN_OPENAI_BASE_URL: ${{ inputs.openai_base_url }} CB_IN_OPENROUTER_API_KEY: ${{ inputs.openrouter_api_key }} + CB_IN_OPPER_API_KEY: ${{ inputs.opper_api_key }} CB_IN_ORCAROUTER_API_KEY: ${{ inputs.orcarouter_api_key }} CB_IN_REQUESTY_API_KEY: ${{ inputs.requesty_api_key }} CB_IN_REQUESTY_BASE_URL: ${{ inputs.requesty_base_url }} @@ -404,7 +410,7 @@ runs: if: steps.guard.outputs.skip != 'true' shell: bash run: | - python -m pip install --disable-pip-version-check 'codeboarding==0.15.2' + python -m pip install --disable-pip-version-check 'codeboarding==0.15.3' # Fail here, with the reason, rather than mid-analysis with a traceback: # pinning a release does not pin what its dependencies resolve to. Run # the console script, not `python -c`, which would put the analyzed diff --git a/scripts/action/supported-providers.json b/scripts/action/supported-providers.json index 59bf34f..3cfc163 100644 --- a/scripts/action/supported-providers.json +++ b/scripts/action/supported-providers.json @@ -18,7 +18,7 @@ "a selection env (AWS_DEFAULT_REGION, OLLAMA_API_KEY) therefore cannot select a provider", "on its own, which is why ollama and litellm need their base URL and not just a key." ], - "engine": "0.15.2", + "engine": "0.15.3", "hosted_provider": "openrouter", "providers": { "openrouter": { @@ -30,6 +30,15 @@ "openrouter_api_key": "OPENROUTER_API_KEY" } }, + "opper": { + "label": "Opper", + "selection_envs": [ + "OPPER_API_KEY" + ], + "inputs": { + "opper_api_key": "OPPER_API_KEY" + } + }, "orcarouter": { "label": "OrcaRouter", "selection_envs": [