@oh-my-pi/pi-catalog 17.3.0 → 17.3.2

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/CHANGELOG.md CHANGED
@@ -2,6 +2,32 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [17.3.2] - 2026-08-13
6
+
7
+ ### Added
8
+
9
+ - Added support for the `deepseek-v4-pro:preview` model
10
+ - Added support for the `gemini-3.7-flash` model
11
+ - Added dynamic Antigravity client-version discovery from the official update manifest (darwin/arm64 channel), so version-gated models appear without a code change; `PI_AI_ANTIGRAVITY_VERSION` remains available as an override.
12
+
13
+ ### Fixed
14
+
15
+ - Fixed Antigravity discovery missing Gemini 3.7 Flash: Cloud Code Assist gates newer models on the client version in the `User-Agent`, and the pinned `antigravity/hub/2.1.4` was too old. The user-agent now matches the captured 2.8.0 client format (`antigravity/hub/2.8.0 (aidev_client; os_type=darwin; arch=arm64; cl=963137146)`); os_type/arch stay pinned to the darwin/arm64 reference client. Overridable via `PI_AI_ANTIGRAVITY_VERSION` / `PI_AI_ANTIGRAVITY_CL` / `PI_AI_ANTIGRAVITY_OS` / `PI_AI_ANTIGRAVITY_ARCH`.
16
+
17
+ ### Removed
18
+
19
+ - Removed `ANTIGRAVITY_SYSTEM_INSTRUCTION` from `wire/gemini-headers`; the Antigravity transport and web search no longer inject a fake identity prompt.
20
+
21
+ ## [17.3.1] - 2026-08-13
22
+
23
+ ### Added
24
+
25
+ - Added dynamic Antigravity and Gemini CLI discovery support for Gemini 3.7 Flash, with low/medium/high thinking-level routing.
26
+
27
+ ### Changed
28
+
29
+ - Updated model metadata, context windows, pricing, and configurations in the catalog
30
+
5
31
  ## [17.3.0] - 2026-08-13
6
32
 
7
33
  ### Breaking Changes
@@ -1,3 +1,4 @@
1
+ import type { FetchImpl } from "@oh-my-pi/pi-utils";
1
2
  /**
2
3
  * Build a User-Agent string that identifies as Gemini CLI to unlock higher rate limits.
3
4
  * Uses the same format as the official Gemini CLI (v0.35+):
@@ -8,14 +9,38 @@ export declare const getGeminiCliHeaders: (modelId?: string) => {
8
9
  "User-Agent": string;
9
10
  "Client-Metadata": string;
10
11
  };
11
- export declare const ANTIGRAVITY_SYSTEM_INSTRUCTION: string;
12
12
  /**
13
13
  * Antigravity / Cloud Code Assist user agent. Lives in its own file so discovery
14
14
  * and usage code can read it without pulling the heavy google-gemini-cli provider
15
15
  * (and its @google/genai → google-auth-library dependency chain) into the startup
16
16
  * parse graph.
17
+ *
18
+ * Format captured from the real 2.8.0 `antigravity/hub` client:
19
+ * `antigravity/hub/2.8.0 (aidev_client; os_type=darwin; arch=arm64; cl=963137146)`.
20
+ * The backend gates newer models (e.g. gemini-3.7-flash) on the client version,
21
+ * so the version tracks the latest Antigravity release via the update manifest
22
+ * (see {@link ensureAntigravityVersion}) with `DEFAULT_ANTIGRAVITY_VERSION` as
23
+ * the offline fallback. os_type/arch are pinned to the darwin/arm64 reference
24
+ * client the version and manifest are captured from, independent of the host
25
+ * platform. Overrides: PI_AI_ANTIGRAVITY_VERSION / _CL / _OS / _ARCH.
17
26
  */
18
- export declare let getAntigravityUserAgent: () => string;
27
+ export declare const DEFAULT_ANTIGRAVITY_VERSION = "2.8.0";
28
+ /** Current Antigravity client version: env override → manifest-discovered → pinned fallback. */
29
+ export declare function getAntigravityVersion(): string;
30
+ /**
31
+ * Extracts the client version from an electron-builder update manifest.
32
+ * Returns null when no well-formed `version:` line is present.
33
+ */
34
+ export declare function parseAntigravityManifestVersion(yamlText: string): string | null;
35
+ /**
36
+ * Resolves the latest Antigravity release from the official update manifest.
37
+ * Success is cached for the process lifetime; failures are silent (the pinned
38
+ * fallback stays valid) and clear the in-flight cache so a later call retries.
39
+ * Skipped entirely when PI_AI_ANTIGRAVITY_VERSION is set.
40
+ */
41
+ export declare function ensureAntigravityVersion(fetcher?: FetchImpl, signal?: AbortSignal): Promise<void>;
42
+ /** Antigravity `User-Agent` header value; rebuilt when the discovered version changes. */
43
+ export declare function getAntigravityUserAgent(): string;
19
44
  /**
20
45
  * Per-wire-id Antigravity Cloud Code Assist request constants, captured from the
21
46
  * real `antigravity/hub` client against `daily-cloudcode-pa`. `modelEnum` is the
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "@oh-my-pi/pi-catalog",
4
- "version": "17.3.0",
4
+ "version": "17.3.2",
5
5
  "description": "Model catalog for omp: bundled model database, provider discovery descriptors, model identity, classification, and equivalence",
6
6
  "homepage": "https://omp.sh",
7
7
  "author": "Can Boluk",
@@ -35,11 +35,11 @@
35
35
  },
36
36
  "dependencies": {
37
37
  "@bufbuild/protobuf": "^2.12.1",
38
- "@oh-my-pi/omptype": "17.3.0",
39
- "@oh-my-pi/pi-utils": "17.3.0"
38
+ "@oh-my-pi/omptype": "17.3.2",
39
+ "@oh-my-pi/pi-utils": "17.3.2"
40
40
  },
41
41
  "devDependencies": {
42
- "@oh-my-pi/pi-ai": "17.3.0",
42
+ "@oh-my-pi/pi-ai": "17.3.2",
43
43
  "@types/bun": "^1.3.14"
44
44
  },
45
45
  "engines": {
@@ -6,7 +6,7 @@ import {
6
6
  collapseEffortVariants,
7
7
  type VariantCollapseTable,
8
8
  } from "../variant-collapse";
9
- import { getAntigravityUserAgent } from "../wire/gemini-headers";
9
+ import { ensureAntigravityVersion, getAntigravityUserAgent } from "../wire/gemini-headers";
10
10
 
11
11
  export const ANTIGRAVITY_PRIMARY_ENDPOINT = "https://daily-cloudcode-pa.googleapis.com";
12
12
  export const ANTIGRAVITY_SANDBOX_ENDPOINT = "https://daily-cloudcode-pa.sandbox.googleapis.com";
@@ -161,6 +161,10 @@ export interface FetchAntigravityDiscoveryModelsOptions {
161
161
  export async function fetchAntigravityDiscoveryModels(
162
162
  options: FetchAntigravityDiscoveryModelsOptions,
163
163
  ): Promise<ModelSpec<"google-gemini-cli">[] | null> {
164
+ if (options.userAgent === undefined) {
165
+ await ensureAntigravityVersion(options.fetcher ?? fetch, options.signal);
166
+ }
167
+
164
168
  const fetcher = discoveryFetch(options.fetcher);
165
169
  const endpoints = options.endpoint
166
170
  ? [trimTrailingSlashes(options.endpoint)]