@gullabs/any-llm 0.10.1 → 0.11.0

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/README.md CHANGED
@@ -52,7 +52,7 @@ const result = await client.runStructured(
52
52
  { auth: { apiKey: process.env.GEMINI_API_KEY! } },
53
53
  )
54
54
 
55
- const descriptor = defaultGeminiRegistry.resolve('google', 'gemini-3.5-flash')
55
+ const descriptor = defaultGeminiRegistry.resolve('google', 'gemini-3.6-flash')
56
56
  if (!descriptor) throw new Error('unknown model')
57
57
 
58
58
  const parsedConfig = descriptor.configSchema.parse({
@@ -67,6 +67,13 @@ Built-in descriptors own the strict model-config contract:
67
67
  provider's standard tier, and set `flex` explicitly when that trade-off is
68
68
  intended. `priority` remains rejected by the library for now.
69
69
 
70
+ Registered Google ids: `gemini-2.5-pro`, `gemini-2.5-flash`, `gemini-2.5-flash-lite`,
71
+ `gemini-3.1-pro-preview`, `gemini-3.1-flash-lite`, `gemini-3.5-flash-lite`,
72
+ `gemini-3.6-flash`, `gemini-3.7-flash`, `gemini-3.8-flash`, `gemma-4-31b-it`,
73
+ `gemma-4-26b-a4b-it`. `gemini-3.1-pro-preview`, `gemini-3.7-flash`, and
74
+ `gemini-3.8-flash` do not admit `effort: 'none'`. `gemini-3-flash-preview` and
75
+ `gemini-3.5-flash` do not resolve.
76
+
70
77
  ## Key exports
71
78
 
72
79
  This package re-exports the full public API of `@gullabs/core` and `@gullabs/google` verbatim —
package/dist/index.cjs CHANGED
@@ -6,7 +6,7 @@ var google = require('@gullabs/google');
6
6
  // src/index.ts
7
7
 
8
8
  // package.json
9
- var version = "0.10.1";
9
+ var version = "0.11.0";
10
10
 
11
11
  // src/index.ts
12
12
  var ANY_LLM_VERSION = version;
@@ -1 +1 @@
1
- {"version":3,"sources":["../package.json","../src/index.ts"],"names":[],"mappings":";;;;;;;;AAEE,IAAA,OAAA,GAAW,QAAA;;;ACcN,IAAM,eAAA,GAA0B","file":"index.cjs","sourcesContent":["{\n \"name\": \"@gullabs/any-llm\",\n \"version\": \"0.10.1\",\n \"description\": \"Batteries-included any-llm client for Gemini: engine, adapter, and Google SDK in one install.\",\n \"type\": \"module\",\n \"license\": \"Apache-2.0\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/gul-labs/any-llm.git\",\n \"directory\": \"packages/any-llm\"\n },\n \"main\": \"./dist/index.cjs\",\n \"module\": \"./dist/index.js\",\n \"types\": \"./dist/index.d.ts\",\n \"exports\": {\n \".\": {\n \"types\": \"./dist/index.d.ts\",\n \"import\": \"./dist/index.js\",\n \"require\": \"./dist/index.cjs\"\n }\n },\n \"files\": [\n \"dist\",\n \"skills\"\n ],\n \"scripts\": {\n \"build\": \"tsup\"\n },\n \"dependencies\": {\n \"@google/genai\": \"^2.23.0\",\n \"@gullabs/core\": \"workspace:*\",\n \"@gullabs/google\": \"workspace:*\"\n },\n \"engines\": {\n \"node\": \">=22.12.0\"\n },\n \"sideEffects\": false,\n \"keywords\": [\n \"llm\",\n \"gemini\",\n \"google-genai\",\n \"ai\",\n \"tokens\",\n \"cost\",\n \"usage\",\n \"observability\",\n \"typescript\"\n ],\n \"publishConfig\": {\n \"access\": \"public\"\n },\n \"homepage\": \"https://github.com/gul-labs/any-llm/tree/main/packages/any-llm#readme\",\n \"bugs\": \"https://github.com/gul-labs/any-llm/issues\"\n}\n","/**\n * @gullabs/any-llm — batteries-included public entrypoint.\n *\n * This package is the default client install path. It re-exports the core\n * engine and Gemini adapter while depending on the Gemini SDK for a one-package\n * setup.\n *\n * @module\n */\n\nexport * from '@gullabs/core'\nexport * from '@gullabs/google'\n\nimport { version } from '../package.json'\n\n/** Library version, sourced from package.json at build time. */\nexport const ANY_LLM_VERSION: string = version\n"]}
1
+ {"version":3,"sources":["../package.json","../src/index.ts"],"names":[],"mappings":";;;;;;;;AAEE,IAAA,OAAA,GAAW,QAAA;;;ACcN,IAAM,eAAA,GAA0B","file":"index.cjs","sourcesContent":["{\n \"name\": \"@gullabs/any-llm\",\n \"version\": \"0.11.0\",\n \"description\": \"Batteries-included any-llm client for Gemini: engine, adapter, and Google SDK in one install.\",\n \"type\": \"module\",\n \"license\": \"Apache-2.0\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/gul-labs/any-llm.git\",\n \"directory\": \"packages/any-llm\"\n },\n \"main\": \"./dist/index.cjs\",\n \"module\": \"./dist/index.js\",\n \"types\": \"./dist/index.d.ts\",\n \"exports\": {\n \".\": {\n \"types\": \"./dist/index.d.ts\",\n \"import\": \"./dist/index.js\",\n \"require\": \"./dist/index.cjs\"\n }\n },\n \"files\": [\n \"dist\",\n \"skills\"\n ],\n \"scripts\": {\n \"build\": \"tsup\"\n },\n \"dependencies\": {\n \"@google/genai\": \"^2.23.0\",\n \"@gullabs/core\": \"workspace:*\",\n \"@gullabs/google\": \"workspace:*\"\n },\n \"engines\": {\n \"node\": \">=22.12.0\"\n },\n \"sideEffects\": false,\n \"keywords\": [\n \"llm\",\n \"gemini\",\n \"google-genai\",\n \"ai\",\n \"tokens\",\n \"cost\",\n \"usage\",\n \"observability\",\n \"typescript\"\n ],\n \"publishConfig\": {\n \"access\": \"public\"\n },\n \"homepage\": \"https://github.com/gul-labs/any-llm/tree/main/packages/any-llm#readme\",\n \"bugs\": \"https://github.com/gul-labs/any-llm/issues\"\n}\n","/**\n * @gullabs/any-llm — batteries-included public entrypoint.\n *\n * This package is the default client install path. It re-exports the core\n * engine and Gemini adapter while depending on the Gemini SDK for a one-package\n * setup.\n *\n * @module\n */\n\nexport * from '@gullabs/core'\nexport * from '@gullabs/google'\n\nimport { version } from '../package.json'\n\n/** Library version, sourced from package.json at build time. */\nexport const ANY_LLM_VERSION: string = version\n"]}
package/dist/index.js CHANGED
@@ -4,7 +4,7 @@ export * from '@gullabs/google';
4
4
  // src/index.ts
5
5
 
6
6
  // package.json
7
- var version = "0.10.1";
7
+ var version = "0.11.0";
8
8
 
9
9
  // src/index.ts
10
10
  var ANY_LLM_VERSION = version;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../package.json","../src/index.ts"],"names":[],"mappings":";;;;;;AAEE,IAAA,OAAA,GAAW,QAAA;;;ACcN,IAAM,eAAA,GAA0B","file":"index.js","sourcesContent":["{\n \"name\": \"@gullabs/any-llm\",\n \"version\": \"0.10.1\",\n \"description\": \"Batteries-included any-llm client for Gemini: engine, adapter, and Google SDK in one install.\",\n \"type\": \"module\",\n \"license\": \"Apache-2.0\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/gul-labs/any-llm.git\",\n \"directory\": \"packages/any-llm\"\n },\n \"main\": \"./dist/index.cjs\",\n \"module\": \"./dist/index.js\",\n \"types\": \"./dist/index.d.ts\",\n \"exports\": {\n \".\": {\n \"types\": \"./dist/index.d.ts\",\n \"import\": \"./dist/index.js\",\n \"require\": \"./dist/index.cjs\"\n }\n },\n \"files\": [\n \"dist\",\n \"skills\"\n ],\n \"scripts\": {\n \"build\": \"tsup\"\n },\n \"dependencies\": {\n \"@google/genai\": \"^2.23.0\",\n \"@gullabs/core\": \"workspace:*\",\n \"@gullabs/google\": \"workspace:*\"\n },\n \"engines\": {\n \"node\": \">=22.12.0\"\n },\n \"sideEffects\": false,\n \"keywords\": [\n \"llm\",\n \"gemini\",\n \"google-genai\",\n \"ai\",\n \"tokens\",\n \"cost\",\n \"usage\",\n \"observability\",\n \"typescript\"\n ],\n \"publishConfig\": {\n \"access\": \"public\"\n },\n \"homepage\": \"https://github.com/gul-labs/any-llm/tree/main/packages/any-llm#readme\",\n \"bugs\": \"https://github.com/gul-labs/any-llm/issues\"\n}\n","/**\n * @gullabs/any-llm — batteries-included public entrypoint.\n *\n * This package is the default client install path. It re-exports the core\n * engine and Gemini adapter while depending on the Gemini SDK for a one-package\n * setup.\n *\n * @module\n */\n\nexport * from '@gullabs/core'\nexport * from '@gullabs/google'\n\nimport { version } from '../package.json'\n\n/** Library version, sourced from package.json at build time. */\nexport const ANY_LLM_VERSION: string = version\n"]}
1
+ {"version":3,"sources":["../package.json","../src/index.ts"],"names":[],"mappings":";;;;;;AAEE,IAAA,OAAA,GAAW,QAAA;;;ACcN,IAAM,eAAA,GAA0B","file":"index.js","sourcesContent":["{\n \"name\": \"@gullabs/any-llm\",\n \"version\": \"0.11.0\",\n \"description\": \"Batteries-included any-llm client for Gemini: engine, adapter, and Google SDK in one install.\",\n \"type\": \"module\",\n \"license\": \"Apache-2.0\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/gul-labs/any-llm.git\",\n \"directory\": \"packages/any-llm\"\n },\n \"main\": \"./dist/index.cjs\",\n \"module\": \"./dist/index.js\",\n \"types\": \"./dist/index.d.ts\",\n \"exports\": {\n \".\": {\n \"types\": \"./dist/index.d.ts\",\n \"import\": \"./dist/index.js\",\n \"require\": \"./dist/index.cjs\"\n }\n },\n \"files\": [\n \"dist\",\n \"skills\"\n ],\n \"scripts\": {\n \"build\": \"tsup\"\n },\n \"dependencies\": {\n \"@google/genai\": \"^2.23.0\",\n \"@gullabs/core\": \"workspace:*\",\n \"@gullabs/google\": \"workspace:*\"\n },\n \"engines\": {\n \"node\": \">=22.12.0\"\n },\n \"sideEffects\": false,\n \"keywords\": [\n \"llm\",\n \"gemini\",\n \"google-genai\",\n \"ai\",\n \"tokens\",\n \"cost\",\n \"usage\",\n \"observability\",\n \"typescript\"\n ],\n \"publishConfig\": {\n \"access\": \"public\"\n },\n \"homepage\": \"https://github.com/gul-labs/any-llm/tree/main/packages/any-llm#readme\",\n \"bugs\": \"https://github.com/gul-labs/any-llm/issues\"\n}\n","/**\n * @gullabs/any-llm — batteries-included public entrypoint.\n *\n * This package is the default client install path. It re-exports the core\n * engine and Gemini adapter while depending on the Gemini SDK for a one-package\n * setup.\n *\n * @module\n */\n\nexport * from '@gullabs/core'\nexport * from '@gullabs/google'\n\nimport { version } from '../package.json'\n\n/** Library version, sourced from package.json at build time. */\nexport const ANY_LLM_VERSION: string = version\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gullabs/any-llm",
3
- "version": "0.10.1",
3
+ "version": "0.11.0",
4
4
  "description": "Batteries-included any-llm client for Gemini: engine, adapter, and Google SDK in one install.",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -25,8 +25,8 @@
25
25
  ],
26
26
  "dependencies": {
27
27
  "@google/genai": "^2.23.0",
28
- "@gullabs/core": "0.14.1",
29
- "@gullabs/google": "0.12.1"
28
+ "@gullabs/core": "0.15.0",
29
+ "@gullabs/google": "0.13.0"
30
30
  },
31
31
  "engines": {
32
32
  "node": ">=22.12.0"
@@ -158,11 +158,9 @@ const result = await client.generate(
158
158
  )
159
159
  ```
160
160
 
161
- `grok-4.5`'s `reasoning.effort` admits only `'low' | 'high'` (`Grok45ConfigSchema`).
162
- `grok-4.6` admits `'low' | 'medium' | 'high' | 'xhigh'` (live-verified 2026-08-12);
163
- `'none'` is rejected. `grok-4.6` also admits `serviceTier: 'priority'` (2× list
164
- price, confirmed by live `cost_in_usd_ticks`). `grok-4.5` still rejects every
165
- `serviceTier`. No `topK`.
161
+ `grok-4.5` admits `reasoning.effort` `'low' | 'medium' | 'high'`.
162
+ `grok-4.6` and `grok-4.7` also admit `'xhigh'`. All three admit
163
+ `serviceTier: 'priority'` (2× list price). `'none'` is rejected. No `topK`.
166
164
 
167
165
  ## xAI structured-output schemas vs. OpenAI-strict / codex-cli schemas
168
166
 
@@ -367,7 +365,7 @@ Treat model config as descriptor-owned:
367
365
  ```ts
368
366
  import { defaultGeminiRegistry } from '@gullabs/google'
369
367
 
370
- const descriptor = defaultGeminiRegistry.resolve('google', 'gemini-3.5-flash')
368
+ const descriptor = defaultGeminiRegistry.resolve('google', 'gemini-3.6-flash')
371
369
  if (!descriptor) throw new Error('unknown model')
372
370
 
373
371
  // UI/forms:
@@ -538,23 +536,32 @@ config: {
538
536
  }
539
537
  ```
540
538
 
541
- `ReasoningEffort` is `'none' | 'low' | 'medium' | 'high' | 'xhigh'`. Admitted values
539
+ `ReasoningEffort` is `'none' | 'low' | 'medium' | 'high' | 'xhigh' | 'max'`. Admitted values
542
540
  are per-model. Two provider APIs exist under the hood: Gemini 2.5 models take a
543
541
  token `budgetTokens`; Gemini 3.x / Gemma 4 / xAI take a discrete `effort` level.
544
542
 
545
543
  Use the model-native boundary directly:
546
544
 
547
- - Gemini 2.5: `reasoning.budgetTokens` or admitted `reasoning.effort` (not `xhigh`)
548
- - Gemini 3 / Gemma 4: `reasoning.effort` (not `xhigh`)
549
- - xAI `grok-4.5`: `reasoning.effort` `'low' | 'high'`
550
- - xAI `grok-4.6`: `reasoning.effort` `'low' | 'medium' | 'high' | 'xhigh'`
545
+ - Gemini 2.5: `reasoning.budgetTokens` or admitted `reasoning.effort` (not `xhigh` or `max`)
546
+ - Gemini 3 / Gemma 4: `reasoning.effort` (not `xhigh` or `max`)
547
+ - xAI `grok-4.5`: `reasoning.effort` `'low' | 'medium' | 'high'`
548
+ - xAI `grok-4.6` and `grok-4.7`: `reasoning.effort` `'low' | 'medium' | 'high' | 'xhigh'`
549
+
550
+ Registered Google ids: `gemini-2.5-pro`, `gemini-2.5-flash`, `gemini-2.5-flash-lite`,
551
+ `gemini-3.1-pro-preview`, `gemini-3.1-flash-lite`, `gemini-3.5-flash-lite`,
552
+ `gemini-3.6-flash`, `gemini-3.7-flash`, `gemini-3.8-flash`, `gemma-4-31b-it`,
553
+ `gemma-4-26b-a4b-it`. `gemini-3-flash-preview` and `gemini-3.5-flash` do not resolve.
551
554
 
552
555
  Exact model reminders:
553
556
 
554
- - `gemini-3.1-pro-preview` does **not** admit `effort: 'none'`
557
+ - `gemini-3.1-pro-preview`, `gemini-3.7-flash`, and `gemini-3.8-flash` do **not** admit `effort: 'none'`
558
+ - Explicit-cache floors: 1024 on all six registered Gemini 3.x ids, live-verified on 2026-09-26 by a 103-token rejection and exact 1024-token create; 2048 remains configured on Gemini 2.5.
555
559
  - Gemma 4 is binary: only `effort: 'none'` or `effort: 'high'`
556
560
  - Omit `serviceTier` for provider-standard; set `flex` explicitly
557
561
  - `priority` remains rejected by the library even though Google documents it
562
+ - July 21, 2026: Google deprecated sampling parameters `temperature`, `top_p`, and `top_k`. Gemini 3.x schemas already omit them. Gemini 2.5 and Gemma stay tunable.
563
+ - September 18, 2026: Gemini 2.5 access is restricted to projects that already used 2.5. The three 2.5 ids stay registered.
564
+ - xAI long-context rates apply at gross input `>= 200_000` (`long_context_threshold` is inclusive).
558
565
 
559
566
  ## Context caching — `GoogleCacheStore`
560
567
 
@@ -568,8 +575,8 @@ Optional preflight gate: pass `preflight` to the constructor to refuse a cache
568
575
  `create()` — including through `getOrCreate()` and its coalesced in-flight path —
569
576
  when the token-bearing payload (`model` + `contents` + `systemInstruction` only;
570
577
  `ttl` and `displayName` are excluded) doesn't clear a minimum token count. This
571
- mirrors Gemini's own explicit-caching minimum (2048 tokens on 3.x) without
572
- hard-coding it into the store.
578
+ mirrors the selected model's explicit-caching minimum (1024 on Gemini 3.x;
579
+ 2048 on Gemini 2.5) without hard-coding it into the store.
573
580
 
574
581
  ```ts
575
582
  import { GoogleCacheStore } from '@gullabs/google'
@@ -577,7 +584,7 @@ import { GoogleCacheStore } from '@gullabs/google'
577
584
  const cacheStore = new GoogleCacheStore({
578
585
  auth: { apiKey: myResolvedGeminiKey },
579
586
  preflight: {
580
- minTokens: 2048,
587
+ minTokens: 1024,
581
588
  // Receives genai-native Content[]/Content|string — NOT the library's
582
589
  // Message[] shape; there is no automatic conversion. Hosts building from
583
590
  // Message[] should call client.countTokens separately instead.