restructure docs: split triggers into usage pages, add model resolution docs
- split triggers.mdx into direct-prompting, pr-reviews, issue-enrichment, coding-tasks - rename manual-setup.mdx to headless-action.mdx (CI integration) - reorganize sidebar into Getting started / Usage / Reference groups - add redirects for /triggers and /manual-setup - add PULLFROG_MODEL env var support across action, workflows, and docs - rewrite models.mdx with aliases, free models, resolution chain, routers - update all cross-references in app, components, and docs Made-with: Cursor
This commit is contained in:
committed by
pullfrog[bot]
parent
df9598ea5f
commit
cbbcb64859
@@ -41,6 +41,7 @@ jobs:
|
|||||||
OPENROUTER_API_KEY: ${{ secrets.OPENROUTER_API_KEY }}
|
OPENROUTER_API_KEY: ${{ secrets.OPENROUTER_API_KEY }}
|
||||||
MOONSHOT_API_KEY: ${{ secrets.MOONSHOT_API_KEY }}
|
MOONSHOT_API_KEY: ${{ secrets.MOONSHOT_API_KEY }}
|
||||||
OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }}
|
OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }}
|
||||||
|
PULLFROG_MODEL: ${{ vars.PULLFROG_MODEL }}
|
||||||
OPENCODE_MODEL: ${{ vars.OPENCODE_MODEL }}
|
OPENCODE_MODEL: ${{ vars.OPENCODE_MODEL }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v6
|
||||||
|
|||||||
+5
-4
@@ -75,7 +75,7 @@ function buildSecurityConfig(ctx: AgentRunContext, model: string | undefined): s
|
|||||||
// ── model resolution (see wiki/model-resolution.md) ─────────────────────────────
|
// ── model resolution (see wiki/model-resolution.md) ─────────────────────────────
|
||||||
//
|
//
|
||||||
// priority:
|
// priority:
|
||||||
// 1. OPENCODE_MODEL env var (explicit override)
|
// 1. PULLFROG_MODEL or OPENCODE_MODEL env var (explicit override)
|
||||||
// 2. explicit slug from repo config / payload
|
// 2. explicit slug from repo config / payload
|
||||||
// 3. auto-select: `opencode models` → recommended aliases first, then secondary
|
// 3. auto-select: `opencode models` → recommended aliases first, then secondary
|
||||||
// 4. undefined → let OpenCode decide
|
// 4. undefined → let OpenCode decide
|
||||||
@@ -106,10 +106,11 @@ function resolveOpenCodeModel(ctx: {
|
|||||||
cliPath: string;
|
cliPath: string;
|
||||||
modelSlug?: string | undefined;
|
modelSlug?: string | undefined;
|
||||||
}): string | undefined {
|
}): string | undefined {
|
||||||
// 1. explicit env var override
|
// 1. explicit env var override (PULLFROG_MODEL takes precedence over OPENCODE_MODEL)
|
||||||
const envModel = process.env.OPENCODE_MODEL?.trim();
|
const envModel = process.env.PULLFROG_MODEL?.trim() || process.env.OPENCODE_MODEL?.trim();
|
||||||
if (envModel) {
|
if (envModel) {
|
||||||
log.info(`» model: ${envModel} (override via OPENCODE_MODEL)`);
|
const source = process.env.PULLFROG_MODEL?.trim() ? "PULLFROG_MODEL" : "OPENCODE_MODEL";
|
||||||
|
log.info(`» model: ${envModel} (override via ${source})`);
|
||||||
return envModel;
|
return envModel;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -132047,6 +132047,7 @@ var providers = {
|
|||||||
displayName: "GPT Codex Mini",
|
displayName: "GPT Codex Mini",
|
||||||
resolve: "openrouter/openai/gpt-5.1-codex-mini"
|
resolve: "openrouter/openai/gpt-5.1-codex-mini"
|
||||||
},
|
},
|
||||||
|
"o4-mini": { displayName: "O4 Mini", resolve: "openrouter/openai/o4-mini" },
|
||||||
"gemini-pro": {
|
"gemini-pro": {
|
||||||
displayName: "Gemini Pro",
|
displayName: "Gemini Pro",
|
||||||
resolve: "openrouter/google/gemini-3.1-pro-preview"
|
resolve: "openrouter/google/gemini-3.1-pro-preview"
|
||||||
@@ -148779,9 +148780,10 @@ function getOpenCodeModels(cliPath) {
|
|||||||
}
|
}
|
||||||
var AUTO_SELECT_WARNING = "select a model explicitly in the Pullfrog console (https://pullfrog.com/console) to avoid this.";
|
var AUTO_SELECT_WARNING = "select a model explicitly in the Pullfrog console (https://pullfrog.com/console) to avoid this.";
|
||||||
function resolveOpenCodeModel(ctx) {
|
function resolveOpenCodeModel(ctx) {
|
||||||
const envModel = process.env.OPENCODE_MODEL?.trim();
|
const envModel = process.env.PULLFROG_MODEL?.trim() || process.env.OPENCODE_MODEL?.trim();
|
||||||
if (envModel) {
|
if (envModel) {
|
||||||
log.info(`\xBB model: ${envModel} (override via OPENCODE_MODEL)`);
|
const source = process.env.PULLFROG_MODEL?.trim() ? "PULLFROG_MODEL" : "OPENCODE_MODEL";
|
||||||
|
log.info(`\xBB model: ${envModel} (override via ${source})`);
|
||||||
return envModel;
|
return envModel;
|
||||||
}
|
}
|
||||||
if (ctx.modelSlug) {
|
if (ctx.modelSlug) {
|
||||||
|
|||||||
@@ -173,6 +173,7 @@ export const providers = {
|
|||||||
displayName: "GPT Codex Mini",
|
displayName: "GPT Codex Mini",
|
||||||
resolve: "openrouter/openai/gpt-5.1-codex-mini",
|
resolve: "openrouter/openai/gpt-5.1-codex-mini",
|
||||||
},
|
},
|
||||||
|
"o4-mini": { displayName: "O4 Mini", resolve: "openrouter/openai/o4-mini" },
|
||||||
"gemini-pro": {
|
"gemini-pro": {
|
||||||
displayName: "Gemini Pro",
|
displayName: "Gemini Pro",
|
||||||
resolve: "openrouter/google/gemini-3.1-pro-preview",
|
resolve: "openrouter/google/gemini-3.1-pro-preview",
|
||||||
|
|||||||
@@ -63,6 +63,7 @@ const dynamicAgentsExpression = "$" + "{{ fromJSON(needs.changes.outputs.agents)
|
|||||||
const expectedAgentEnvVars = [
|
const expectedAgentEnvVars = [
|
||||||
"GITHUB_TOKEN",
|
"GITHUB_TOKEN",
|
||||||
...new Set(Object.values(providers).flatMap((p) => [...p.envVars])),
|
...new Set(Object.values(providers).flatMap((p) => [...p.envVars])),
|
||||||
|
"PULLFROG_MODEL",
|
||||||
"OPENCODE_MODEL",
|
"OPENCODE_MODEL",
|
||||||
].sort();
|
].sort();
|
||||||
|
|
||||||
|
|||||||
@@ -117,6 +117,7 @@ const testEnvAllowList = new Set([
|
|||||||
"ANTHROPIC_API_KEY",
|
"ANTHROPIC_API_KEY",
|
||||||
"GEMINI_API_KEY",
|
"GEMINI_API_KEY",
|
||||||
"GOOGLE_GENERATIVE_AI_API_KEY",
|
"GOOGLE_GENERATIVE_AI_API_KEY",
|
||||||
|
"PULLFROG_MODEL",
|
||||||
"OPENCODE_MODEL",
|
"OPENCODE_MODEL",
|
||||||
"LOG_LEVEL",
|
"LOG_LEVEL",
|
||||||
"DEBUG",
|
"DEBUG",
|
||||||
|
|||||||
Reference in New Issue
Block a user