@oh-my-pi/pi-ai 15.2.1 → 15.2.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,12 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [15.2.2] - 2026-05-22
6
+
7
+ ### Fixed
8
+
9
+ - Fixed `gemini-3.1-pro-high` and `gemini-3.1-pro-low` on the `google-antigravity` provider always returning HTTP 400 from Cloud Code Assist. The `ANTIGRAVITY_SYSTEM_INSTRUCTION` identity header was not injected for these models because the internal check matched the string `"gemini-3-pro-high"` (hyphen) instead of the versioned `"gemini-3.1-pro-..."` form. The guard now matches all `gemini-3` model variants ([#1274](https://github.com/can1357/oh-my-pi/issues/1274)).
10
+
5
11
  ## [15.2.0] - 2026-05-21
6
12
 
7
13
  ### Fixed
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "@oh-my-pi/pi-ai",
4
- "version": "15.2.1",
4
+ "version": "15.2.2",
5
5
  "description": "Unified LLM API with automatic model discovery and provider configuration",
6
6
  "homepage": "https://omp.sh",
7
7
  "author": "Can Boluk",
@@ -43,7 +43,7 @@
43
43
  "dependencies": {
44
44
  "@anthropic-ai/sdk": "^0.94.0",
45
45
  "@bufbuild/protobuf": "^2.12.0",
46
- "@oh-my-pi/pi-utils": "15.2.1",
46
+ "@oh-my-pi/pi-utils": "15.2.2",
47
47
  "openai": "^6.36.0",
48
48
  "partial-json": "^0.1.7",
49
49
  "zod": "4.4.3"
@@ -97,7 +97,7 @@ function needsClaudeThinkingBetaHeader(model: Model<"google-gemini-cli">): boole
97
97
 
98
98
  function shouldInjectAntigravitySystemInstruction(modelId: string): boolean {
99
99
  const normalized = modelId.toLowerCase();
100
- return normalized.includes("claude") || normalized.includes("gemini-3-pro-high");
100
+ return normalized.includes("claude") || normalized.includes("gemini-3");
101
101
  }
102
102
 
103
103
  /**
@@ -47,7 +47,8 @@ export const streamGoogleVertex: StreamFunction<"google-vertex"> = (
47
47
  const project = resolveProject(options);
48
48
  const location = resolveLocation(options);
49
49
  const accessToken = await getVertexAccessToken({ signal: options?.signal, fetch: options?.fetch });
50
- const url = `https://${location}-aiplatform.googleapis.com/${API_VERSION}/projects/${project}/locations/${location}/publishers/google/models/${model.id}:streamGenerateContent?alt=sse`;
50
+ const host = resolveEndpointHost(location);
51
+ const url = `https://${host}/${API_VERSION}/projects/${project}/locations/${location}/publishers/google/models/${model.id}:streamGenerateContent?alt=sse`;
51
52
  return {
52
53
  params,
53
54
  url,
@@ -75,6 +76,9 @@ function resolveProject(options?: GoogleVertexOptions): string {
75
76
  return project;
76
77
  }
77
78
 
79
+ function resolveEndpointHost(location: string): string {
80
+ return location === "global" ? "aiplatform.googleapis.com" : `${location}-aiplatform.googleapis.com`;
81
+ }
78
82
  function resolveLocation(options?: GoogleVertexOptions): string {
79
83
  const location = options?.location || $env.GOOGLE_CLOUD_LOCATION;
80
84
  if (!location) {