pullfrog 0.1.70 → 0.1.71

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.
package/dist/cli.mjs CHANGED
@@ -110414,9 +110414,9 @@ var providers = {
110414
110414
  },
110415
110415
  "gemini-flash": {
110416
110416
  displayName: "Gemini Flash",
110417
- resolve: "google/gemini-3.6-flash",
110418
- effort: ["minimal", "low", "medium", "high"],
110419
- openRouterResolve: "openrouter/google/gemini-3.6-flash"
110417
+ resolve: "google/gemini-3.8-flash",
110418
+ effort: ["low", "medium", "high"],
110419
+ openRouterResolve: "openrouter/google/gemini-3.8-flash"
110420
110420
  }
110421
110421
  }
110422
110422
  }),
@@ -110744,9 +110744,9 @@ var providers = {
110744
110744
  },
110745
110745
  "gemini-flash": {
110746
110746
  displayName: "Gemini Flash",
110747
- resolve: "opencode/gemini-3.6-flash",
110748
- effort: ["minimal", "low", "medium", "high"],
110749
- openRouterResolve: "openrouter/google/gemini-3.6-flash"
110747
+ resolve: "opencode/gemini-3.8-flash",
110748
+ effort: ["low", "medium", "high"],
110749
+ openRouterResolve: "openrouter/google/gemini-3.8-flash"
110750
110750
  },
110751
110751
  // Zen serves K3, but rule 7 can only move a mirror when its upstream moves,
110752
110752
  // so the K3 generation could never reach this block by bumping `kimi-k2`.
@@ -111174,10 +111174,9 @@ var providers = {
111174
111174
  "gemini-flash": {
111175
111175
  displayName: "Gemini Flash",
111176
111176
  resolve: "openrouter/~google/gemini-flash-latest",
111177
- // no `minimal` here, unlike the google/ and opencode/ entries for the
111178
- // same model: OpenRouter's floating `~google/gemini-flash-latest` stopped
111179
- // publishing that rung. mirroring it is not cosmetic — claude-code
111180
- // hard-errors on an out-of-range `--effort` before it calls the API.
111177
+ // a floating pointer, not a pinned id — it already serves 3.8, so this
111178
+ // entry tracks its siblings' generation bumps for free. the ladder still
111179
+ // mirrors exactly: claude-code hard-errors on an out-of-range `--effort`.
111181
111180
  effort: ["low", "medium", "high"],
111182
111181
  openRouterResolve: "openrouter/~google/gemini-flash-latest"
111183
111182
  },
@@ -111291,8 +111290,8 @@ var providers = {
111291
111290
  },
111292
111291
  "gemini-flash": {
111293
111292
  displayName: "Gemini Flash",
111294
- resolve: "vercel/google/gemini-3.6-flash",
111295
- effort: ["minimal", "low", "medium", "high"]
111293
+ resolve: "vercel/google/gemini-3.8-flash",
111294
+ effort: ["low", "medium", "high"]
111296
111295
  },
111297
111296
  "deepseek-pro": {
111298
111297
  displayName: "DeepSeek Pro",
@@ -111311,7 +111310,8 @@ var providers = {
111311
111310
  },
111312
111311
  "kimi-k3": {
111313
111312
  displayName: "Kimi K3",
111314
- resolve: "vercel/moonshotai/kimi-k3"
111313
+ resolve: "vercel/moonshotai/kimi-k3",
111314
+ effort: ["low", "high", "max"]
111315
111315
  }
111316
111316
  }
111317
111317
  })
@@ -112281,7 +112281,7 @@ var import_semver = __toESM(require_semver2(), 1);
112281
112281
  // package.json
112282
112282
  var package_default = {
112283
112283
  name: "pullfrog",
112284
- version: "0.1.70",
112284
+ version: "0.1.71",
112285
112285
  type: "module",
112286
112286
  bin: {
112287
112287
  pullfrog: "dist/cli.mjs",
@@ -194895,7 +194895,7 @@ function formatModelLabel(params) {
194895
194895
  return `${base} (credentials for ${providerDisplayName(params.fallbackFrom)} were rejected by the provider)`;
194896
194896
  }
194897
194897
  if (params.clamped?.reason === "trial") {
194898
- return `${base} (free trial)`;
194898
+ return `${base} (model usage covered by Pullfrog)`;
194899
194899
  }
194900
194900
  if (params.clamped) {
194901
194901
  const target = isAutoTier(params.clamped.from) ? "the intelligent tier" : `\`${resolveDisplayAlias(params.clamped.from)?.displayName ?? params.clamped.from}\``;
@@ -194912,7 +194912,7 @@ function buildTrialDisclosure(owner) {
194912
194912
  "---",
194913
194913
  "",
194914
194914
  "> [!IMPORTANT]",
194915
- `> **This run used the free trial model.** \`DeepSeek Flash\` is fast and cheap \u2014 expect lighter work than a frontier model. [Connect a subscription or API key \u2192](${consoleUrl2})`
194915
+ `> **Pullfrog covered this run's model usage.** \`DeepSeek Flash\` is fast and cheap \u2014 expect lighter work than a frontier model. This model allowance is temporary and separate from your Pullfrog plan. [Connect a model-provider subscription or API key \u2192](${consoleUrl2})`
194916
194916
  ].join("\n");
194917
194917
  }
194918
194918
  function buildPullfrogFooter(params) {
@@ -200234,7 +200234,7 @@ function buildMissingApiKeyError(params) {
200234
200234
  const envVars = params.model?.includes("/") ? getModelEnvVars(params.model) : [];
200235
200235
  const [primary, ...alternates] = envVars;
200236
200236
  const envVarList = primary ? `\`${primary}\`${alternates.length > 0 ? ` (or ${alternates.map((v) => `\`${v}\``).join(" / ")})` : ""}` : void 0;
200237
- const lead = envVarList ? `**${MISSING_KEY_MARKER}** \u2014 this repo is configured to use \`${params.model}\`, which needs ${envVarList}, but the runner has no key for it.` : `**${MISSING_KEY_MARKER}** \u2014 Pullfrog needs at least one LLM provider API key (e.g. \`ANTHROPIC_API_KEY\`, \`OPENAI_API_KEY\`, \`GEMINI_API_KEY\`) configured as a GitHub Actions secret.`;
200237
+ const lead = envVarList ? `**${MISSING_KEY_MARKER}** \u2014 this run used \`${params.model}\`, which needs ${envVarList}, but the runner has no key for it.` : `**${MISSING_KEY_MARKER}** \u2014 Pullfrog needs at least one LLM provider API key (e.g. \`ANTHROPIC_API_KEY\`, \`OPENAI_API_KEY\`, \`GEMINI_API_KEY\`) configured as a GitHub Actions secret.`;
200238
200238
  return [
200239
200239
  lead,
200240
200240
  "",
@@ -204984,7 +204984,7 @@ function resolveTarget(repo) {
204984
204984
  return { owner: match3[1], repo: match3[2] };
204985
204985
  }
204986
204986
  function cliVersion() {
204987
- const parts = /^(\d+)\.(\d+)\.(\d+)$/.exec("0.1.70");
204987
+ const parts = /^(\d+)\.(\d+)\.(\d+)$/.exec("0.1.71");
204988
204988
  if (!parts) return "0.0.0";
204989
204989
  return `${Number(parts[1])}.${Number(parts[2])}.${Number(parts[3])}`;
204990
204990
  }
@@ -205151,7 +205151,7 @@ async function runCli5(input2) {
205151
205151
  }
205152
205152
 
205153
205153
  // cli.ts
205154
- var VERSION10 = "0.1.70";
205154
+ var VERSION10 = "0.1.71";
205155
205155
  var bin = basename2(process.argv[1] || "");
205156
205156
  var PROG = bin === "pf" || bin === "pullfrog" ? bin : "pullfrog";
205157
205157
  var rawArgs = process.argv.slice(2);
package/dist/index.js CHANGED
@@ -107924,9 +107924,9 @@ var providers = {
107924
107924
  },
107925
107925
  "gemini-flash": {
107926
107926
  displayName: "Gemini Flash",
107927
- resolve: "google/gemini-3.6-flash",
107928
- effort: ["minimal", "low", "medium", "high"],
107929
- openRouterResolve: "openrouter/google/gemini-3.6-flash"
107927
+ resolve: "google/gemini-3.8-flash",
107928
+ effort: ["low", "medium", "high"],
107929
+ openRouterResolve: "openrouter/google/gemini-3.8-flash"
107930
107930
  }
107931
107931
  }
107932
107932
  }),
@@ -108254,9 +108254,9 @@ var providers = {
108254
108254
  },
108255
108255
  "gemini-flash": {
108256
108256
  displayName: "Gemini Flash",
108257
- resolve: "opencode/gemini-3.6-flash",
108258
- effort: ["minimal", "low", "medium", "high"],
108259
- openRouterResolve: "openrouter/google/gemini-3.6-flash"
108257
+ resolve: "opencode/gemini-3.8-flash",
108258
+ effort: ["low", "medium", "high"],
108259
+ openRouterResolve: "openrouter/google/gemini-3.8-flash"
108260
108260
  },
108261
108261
  // Zen serves K3, but rule 7 can only move a mirror when its upstream moves,
108262
108262
  // so the K3 generation could never reach this block by bumping `kimi-k2`.
@@ -108684,10 +108684,9 @@ var providers = {
108684
108684
  "gemini-flash": {
108685
108685
  displayName: "Gemini Flash",
108686
108686
  resolve: "openrouter/~google/gemini-flash-latest",
108687
- // no `minimal` here, unlike the google/ and opencode/ entries for the
108688
- // same model: OpenRouter's floating `~google/gemini-flash-latest` stopped
108689
- // publishing that rung. mirroring it is not cosmetic — claude-code
108690
- // hard-errors on an out-of-range `--effort` before it calls the API.
108687
+ // a floating pointer, not a pinned id — it already serves 3.8, so this
108688
+ // entry tracks its siblings' generation bumps for free. the ladder still
108689
+ // mirrors exactly: claude-code hard-errors on an out-of-range `--effort`.
108691
108690
  effort: ["low", "medium", "high"],
108692
108691
  openRouterResolve: "openrouter/~google/gemini-flash-latest"
108693
108692
  },
@@ -108801,8 +108800,8 @@ var providers = {
108801
108800
  },
108802
108801
  "gemini-flash": {
108803
108802
  displayName: "Gemini Flash",
108804
- resolve: "vercel/google/gemini-3.6-flash",
108805
- effort: ["minimal", "low", "medium", "high"]
108803
+ resolve: "vercel/google/gemini-3.8-flash",
108804
+ effort: ["low", "medium", "high"]
108806
108805
  },
108807
108806
  "deepseek-pro": {
108808
108807
  displayName: "DeepSeek Pro",
@@ -108821,7 +108820,8 @@ var providers = {
108821
108820
  },
108822
108821
  "kimi-k3": {
108823
108822
  displayName: "Kimi K3",
108824
- resolve: "vercel/moonshotai/kimi-k3"
108823
+ resolve: "vercel/moonshotai/kimi-k3",
108824
+ effort: ["low", "high", "max"]
108825
108825
  }
108826
108826
  }
108827
108827
  })
@@ -109791,7 +109791,7 @@ var import_semver = __toESM(require_semver2(), 1);
109791
109791
  // package.json
109792
109792
  var package_default = {
109793
109793
  name: "pullfrog",
109794
- version: "0.1.70",
109794
+ version: "0.1.71",
109795
109795
  type: "module",
109796
109796
  bin: {
109797
109797
  pullfrog: "dist/cli.mjs",
@@ -192478,7 +192478,7 @@ function formatModelLabel(params) {
192478
192478
  return `${base} (credentials for ${providerDisplayName(params.fallbackFrom)} were rejected by the provider)`;
192479
192479
  }
192480
192480
  if (params.clamped?.reason === "trial") {
192481
- return `${base} (free trial)`;
192481
+ return `${base} (model usage covered by Pullfrog)`;
192482
192482
  }
192483
192483
  if (params.clamped) {
192484
192484
  const target = isAutoTier(params.clamped.from) ? "the intelligent tier" : `\`${resolveDisplayAlias(params.clamped.from)?.displayName ?? params.clamped.from}\``;
@@ -192495,7 +192495,7 @@ function buildTrialDisclosure(owner) {
192495
192495
  "---",
192496
192496
  "",
192497
192497
  "> [!IMPORTANT]",
192498
- `> **This run used the free trial model.** \`DeepSeek Flash\` is fast and cheap \u2014 expect lighter work than a frontier model. [Connect a subscription or API key \u2192](${consoleUrl})`
192498
+ `> **Pullfrog covered this run's model usage.** \`DeepSeek Flash\` is fast and cheap \u2014 expect lighter work than a frontier model. This model allowance is temporary and separate from your Pullfrog plan. [Connect a model-provider subscription or API key \u2192](${consoleUrl})`
192499
192499
  ].join("\n");
192500
192500
  }
192501
192501
  function buildPullfrogFooter(params) {
@@ -197817,7 +197817,7 @@ function buildMissingApiKeyError(params) {
197817
197817
  const envVars = params.model?.includes("/") ? getModelEnvVars(params.model) : [];
197818
197818
  const [primary, ...alternates] = envVars;
197819
197819
  const envVarList = primary ? `\`${primary}\`${alternates.length > 0 ? ` (or ${alternates.map((v) => `\`${v}\``).join(" / ")})` : ""}` : void 0;
197820
- const lead = envVarList ? `**${MISSING_KEY_MARKER}** \u2014 this repo is configured to use \`${params.model}\`, which needs ${envVarList}, but the runner has no key for it.` : `**${MISSING_KEY_MARKER}** \u2014 Pullfrog needs at least one LLM provider API key (e.g. \`ANTHROPIC_API_KEY\`, \`OPENAI_API_KEY\`, \`GEMINI_API_KEY\`) configured as a GitHub Actions secret.`;
197820
+ const lead = envVarList ? `**${MISSING_KEY_MARKER}** \u2014 this run used \`${params.model}\`, which needs ${envVarList}, but the runner has no key for it.` : `**${MISSING_KEY_MARKER}** \u2014 Pullfrog needs at least one LLM provider API key (e.g. \`ANTHROPIC_API_KEY\`, \`OPENAI_API_KEY\`, \`GEMINI_API_KEY\`) configured as a GitHub Actions secret.`;
197821
197821
  return [
197822
197822
  lead,
197823
197823
  "",
package/dist/internal.js CHANGED
@@ -220,9 +220,9 @@ var providers = {
220
220
  },
221
221
  "gemini-flash": {
222
222
  displayName: "Gemini Flash",
223
- resolve: "google/gemini-3.6-flash",
224
- effort: ["minimal", "low", "medium", "high"],
225
- openRouterResolve: "openrouter/google/gemini-3.6-flash"
223
+ resolve: "google/gemini-3.8-flash",
224
+ effort: ["low", "medium", "high"],
225
+ openRouterResolve: "openrouter/google/gemini-3.8-flash"
226
226
  }
227
227
  }
228
228
  }),
@@ -550,9 +550,9 @@ var providers = {
550
550
  },
551
551
  "gemini-flash": {
552
552
  displayName: "Gemini Flash",
553
- resolve: "opencode/gemini-3.6-flash",
554
- effort: ["minimal", "low", "medium", "high"],
555
- openRouterResolve: "openrouter/google/gemini-3.6-flash"
553
+ resolve: "opencode/gemini-3.8-flash",
554
+ effort: ["low", "medium", "high"],
555
+ openRouterResolve: "openrouter/google/gemini-3.8-flash"
556
556
  },
557
557
  // Zen serves K3, but rule 7 can only move a mirror when its upstream moves,
558
558
  // so the K3 generation could never reach this block by bumping `kimi-k2`.
@@ -980,10 +980,9 @@ var providers = {
980
980
  "gemini-flash": {
981
981
  displayName: "Gemini Flash",
982
982
  resolve: "openrouter/~google/gemini-flash-latest",
983
- // no `minimal` here, unlike the google/ and opencode/ entries for the
984
- // same model: OpenRouter's floating `~google/gemini-flash-latest` stopped
985
- // publishing that rung. mirroring it is not cosmetic — claude-code
986
- // hard-errors on an out-of-range `--effort` before it calls the API.
983
+ // a floating pointer, not a pinned id — it already serves 3.8, so this
984
+ // entry tracks its siblings' generation bumps for free. the ladder still
985
+ // mirrors exactly: claude-code hard-errors on an out-of-range `--effort`.
987
986
  effort: ["low", "medium", "high"],
988
987
  openRouterResolve: "openrouter/~google/gemini-flash-latest"
989
988
  },
@@ -1097,8 +1096,8 @@ var providers = {
1097
1096
  },
1098
1097
  "gemini-flash": {
1099
1098
  displayName: "Gemini Flash",
1100
- resolve: "vercel/google/gemini-3.6-flash",
1101
- effort: ["minimal", "low", "medium", "high"]
1099
+ resolve: "vercel/google/gemini-3.8-flash",
1100
+ effort: ["low", "medium", "high"]
1102
1101
  },
1103
1102
  "deepseek-pro": {
1104
1103
  displayName: "DeepSeek Pro",
@@ -1117,7 +1116,8 @@ var providers = {
1117
1116
  },
1118
1117
  "kimi-k3": {
1119
1118
  displayName: "Kimi K3",
1120
- resolve: "vercel/moonshotai/kimi-k3"
1119
+ resolve: "vercel/moonshotai/kimi-k3",
1120
+ effort: ["low", "high", "max"]
1121
1121
  }
1122
1122
  }
1123
1123
  })
@@ -1730,7 +1730,7 @@ function formatModelLabel(params) {
1730
1730
  return `${base} (credentials for ${providerDisplayName(params.fallbackFrom)} were rejected by the provider)`;
1731
1731
  }
1732
1732
  if (params.clamped?.reason === "trial") {
1733
- return `${base} (free trial)`;
1733
+ return `${base} (model usage covered by Pullfrog)`;
1734
1734
  }
1735
1735
  if (params.clamped) {
1736
1736
  const target = isAutoTier(params.clamped.from) ? "the intelligent tier" : `\`${resolveDisplayAlias(params.clamped.from)?.displayName ?? params.clamped.from}\``;
@@ -1747,7 +1747,7 @@ function buildTrialDisclosure(owner) {
1747
1747
  "---",
1748
1748
  "",
1749
1749
  "> [!IMPORTANT]",
1750
- `> **This run used the free trial model.** \`DeepSeek Flash\` is fast and cheap \u2014 expect lighter work than a frontier model. [Connect a subscription or API key \u2192](${consoleUrl})`
1750
+ `> **Pullfrog covered this run's model usage.** \`DeepSeek Flash\` is fast and cheap \u2014 expect lighter work than a frontier model. This model allowance is temporary and separate from your Pullfrog plan. [Connect a model-provider subscription or API key \u2192](${consoleUrl})`
1751
1751
  ].join("\n");
1752
1752
  }
1753
1753
  function buildPullfrogFooter(params) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pullfrog",
3
- "version": "0.1.70",
3
+ "version": "0.1.71",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "pullfrog": "dist/cli.mjs",