@jambonz/llm 0.3.0 → 0.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/dist/index.cjs CHANGED
@@ -1609,11 +1609,22 @@ var vertexOpenAIManifest = {
1609
1609
  type: "select",
1610
1610
  required: true,
1611
1611
  default: "us-central1",
1612
+ // Same region set as vertex-gemini plus us-east5 (where Google
1613
+ // hosts Llama partner models). Partner-model availability varies
1614
+ // per region; Google's docs for each model are the source of truth.
1612
1615
  options: [
1613
1616
  { value: "us-central1", label: "us-central1" },
1617
+ { value: "us-east1", label: "us-east1" },
1614
1618
  { value: "us-east4", label: "us-east4" },
1619
+ { value: "us-east5", label: "us-east5" },
1620
+ { value: "us-west1", label: "us-west1" },
1621
+ { value: "us-west4", label: "us-west4" },
1615
1622
  { value: "europe-west1", label: "europe-west1" },
1623
+ { value: "europe-west2", label: "europe-west2" },
1624
+ { value: "europe-west3", label: "europe-west3" },
1616
1625
  { value: "europe-west4", label: "europe-west4" },
1626
+ { value: "asia-east1", label: "asia-east1" },
1627
+ { value: "asia-northeast1", label: "asia-northeast1" },
1617
1628
  { value: "asia-southeast1", label: "asia-southeast1" }
1618
1629
  ]
1619
1630
  }
@@ -1657,7 +1668,11 @@ var VertexOpenAIAdapter = class {
1657
1668
  const token = await googleClient.getAccessToken();
1658
1669
  const headers = new Headers(init?.headers);
1659
1670
  headers.set("Authorization", `Bearer ${token.token ?? ""}`);
1660
- return fetch(input, { ...init, headers });
1671
+ const response = await fetch(input, { ...init, headers });
1672
+ if (!response.ok) {
1673
+ return surfaceErrorBody(response, input);
1674
+ }
1675
+ return response;
1661
1676
  };
1662
1677
  this.client = new import_openai2.default({
1663
1678
  apiKey: "vertex-ai",
@@ -1703,6 +1718,28 @@ var VertexOpenAIAdapter = class {
1703
1718
  return this.client;
1704
1719
  }
1705
1720
  };
1721
+ async function surfaceErrorBody(response, input) {
1722
+ let body = "";
1723
+ try {
1724
+ body = await response.text();
1725
+ } catch {
1726
+ }
1727
+ const url = typeof input === "string" ? input : input instanceof URL ? input.toString() : input.url;
1728
+ const hint = response.status === 404 && !body ? " (no body returned \u2014 most commonly means the requested model is not hosted in this region; check Google's partner-model availability matrix)" : "";
1729
+ if (typeof console !== "undefined" && console.warn) {
1730
+ console.warn(
1731
+ `[vertex-openai] ${response.status} ${response.statusText} from ${url}: ${body || "(empty body)"}${hint}`
1732
+ );
1733
+ }
1734
+ const headers = new Headers(response.headers);
1735
+ headers.delete("content-encoding");
1736
+ headers.delete("content-length");
1737
+ return new Response(body + hint, {
1738
+ status: response.status,
1739
+ statusText: response.statusText,
1740
+ headers
1741
+ });
1742
+ }
1706
1743
 
1707
1744
  // src/adapters/vertex-openai/factory.ts
1708
1745
  var vertexOpenAIFactory = {