@gullabs/google 0.9.1 → 0.10.1

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/index.d.cts CHANGED
@@ -473,7 +473,10 @@ declare function geminiPricingSource(): PricingSource;
473
473
  * the text/img/vid input rate. Per-modality input pricing is a deferred seam
474
474
  * (see DESIGN.md) — revisit when audio input is supported.
475
475
  *
476
- * Verified against https://ai.google.dev/gemini-api/docs/pricing on 2026-06-28.
476
+ * Re-verified against https://ai.google.dev/gemini-api/docs/pricing on 2026-08-12.
477
+ * Existing registered-model standard rates were unchanged from the 2026-06-28
478
+ * snapshot. `gemini-3.6-flash` appears on that page but is not a registered
479
+ * model in this package.
477
480
  *
478
481
  * @module
479
482
  */
@@ -485,7 +488,7 @@ declare function geminiPricingSource(): PricingSource;
485
488
  * core concept — it lives here (not `@gullabs/core`) alongside the rates it
486
489
  * dates.
487
490
  */
488
- declare const pricingVersion: "gemini-2026-06-28";
491
+ declare const pricingVersion: "gemini-2026-08-12";
489
492
  /**
490
493
  * Service-tier price multipliers. Batch and Flex are a flat 50% of standard
491
494
  * (per Google's pricing page: "Batch API — 50% cost reduction"; Flex matches Batch).
@@ -506,7 +509,7 @@ declare const TIER_FACTOR: Readonly<Record<string, number>>;
506
509
  * engine matches exact first, then longest-prefix (see `lookupRates` in
507
510
  * `cost.ts`).
508
511
  *
509
- * Source: https://ai.google.dev/gemini-api/docs/pricing (2026-06-28).
512
+ * Source: https://ai.google.dev/gemini-api/docs/pricing (re-verified 2026-08-12).
510
513
  */
511
514
  declare const GEMINI_PRICING: Readonly<Record<string, ModelRates>>;
512
515
 
package/dist/index.d.ts CHANGED
@@ -473,7 +473,10 @@ declare function geminiPricingSource(): PricingSource;
473
473
  * the text/img/vid input rate. Per-modality input pricing is a deferred seam
474
474
  * (see DESIGN.md) — revisit when audio input is supported.
475
475
  *
476
- * Verified against https://ai.google.dev/gemini-api/docs/pricing on 2026-06-28.
476
+ * Re-verified against https://ai.google.dev/gemini-api/docs/pricing on 2026-08-12.
477
+ * Existing registered-model standard rates were unchanged from the 2026-06-28
478
+ * snapshot. `gemini-3.6-flash` appears on that page but is not a registered
479
+ * model in this package.
477
480
  *
478
481
  * @module
479
482
  */
@@ -485,7 +488,7 @@ declare function geminiPricingSource(): PricingSource;
485
488
  * core concept — it lives here (not `@gullabs/core`) alongside the rates it
486
489
  * dates.
487
490
  */
488
- declare const pricingVersion: "gemini-2026-06-28";
491
+ declare const pricingVersion: "gemini-2026-08-12";
489
492
  /**
490
493
  * Service-tier price multipliers. Batch and Flex are a flat 50% of standard
491
494
  * (per Google's pricing page: "Batch API — 50% cost reduction"; Flex matches Batch).
@@ -506,7 +509,7 @@ declare const TIER_FACTOR: Readonly<Record<string, number>>;
506
509
  * engine matches exact first, then longest-prefix (see `lookupRates` in
507
510
  * `cost.ts`).
508
511
  *
509
- * Source: https://ai.google.dev/gemini-api/docs/pricing (2026-06-28).
512
+ * Source: https://ai.google.dev/gemini-api/docs/pricing (re-verified 2026-08-12).
510
513
  */
511
514
  declare const GEMINI_PRICING: Readonly<Record<string, ModelRates>>;
512
515
 
package/dist/index.js CHANGED
@@ -478,6 +478,12 @@ function geminiAdapter(opts) {
478
478
  );
479
479
  }
480
480
  if (reasoningApi === "budget") {
481
+ if (reasoning.effort === "xhigh") {
482
+ throw new LlmError(
483
+ `reasoning.effort "xhigh" is not supported for model "${model}".`,
484
+ { kind: "bad_request", retryable: false }
485
+ );
486
+ }
481
487
  const budget = reasoning.budgetTokens !== void 0 ? reasoning.budgetTokens : reasoning.effort !== void 0 ? GOOGLE_REASONING_EFFORT_BUDGET[reasoning.effort] : void 0;
482
488
  config.thinkingConfig = {
483
489
  ...budget !== void 0 ? { thinkingBudget: budget } : {},
@@ -505,6 +511,11 @@ function geminiAdapter(opts) {
505
511
  case "high":
506
512
  thinkingLevel = "HIGH";
507
513
  break;
514
+ case "xhigh":
515
+ throw new LlmError(
516
+ `reasoning.effort "xhigh" is not supported for model "${model}".`,
517
+ { kind: "bad_request", retryable: false }
518
+ );
508
519
  default:
509
520
  assertNever(reasoning.effort);
510
521
  }
@@ -753,7 +764,7 @@ function geminiAdapter(opts) {
753
764
  }
754
765
 
755
766
  // src/pricing.ts
756
- var pricingVersion = "gemini-2026-06-28";
767
+ var pricingVersion = "gemini-2026-08-12";
757
768
  var TIER_FACTOR = Object.freeze({
758
769
  standard: 1,
759
770
  flex: 0.5,