@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.
@@ -1597,11 +1597,22 @@ var vertexOpenAIManifest = {
1597
1597
  type: "select",
1598
1598
  required: true,
1599
1599
  default: "us-central1",
1600
+ // Same region set as vertex-gemini plus us-east5 (where Google
1601
+ // hosts Llama partner models). Partner-model availability varies
1602
+ // per region; Google's docs for each model are the source of truth.
1600
1603
  options: [
1601
1604
  { value: "us-central1", label: "us-central1" },
1605
+ { value: "us-east1", label: "us-east1" },
1602
1606
  { value: "us-east4", label: "us-east4" },
1607
+ { value: "us-east5", label: "us-east5" },
1608
+ { value: "us-west1", label: "us-west1" },
1609
+ { value: "us-west4", label: "us-west4" },
1603
1610
  { value: "europe-west1", label: "europe-west1" },
1611
+ { value: "europe-west2", label: "europe-west2" },
1612
+ { value: "europe-west3", label: "europe-west3" },
1604
1613
  { value: "europe-west4", label: "europe-west4" },
1614
+ { value: "asia-east1", label: "asia-east1" },
1615
+ { value: "asia-northeast1", label: "asia-northeast1" },
1605
1616
  { value: "asia-southeast1", label: "asia-southeast1" }
1606
1617
  ]
1607
1618
  }
@@ -1645,7 +1656,11 @@ var VertexOpenAIAdapter = class {
1645
1656
  const token = await googleClient.getAccessToken();
1646
1657
  const headers = new Headers(init2?.headers);
1647
1658
  headers.set("Authorization", `Bearer ${token.token ?? ""}`);
1648
- return fetch(input, { ...init2, headers });
1659
+ const response = await fetch(input, { ...init2, headers });
1660
+ if (!response.ok) {
1661
+ return surfaceErrorBody(response, input);
1662
+ }
1663
+ return response;
1649
1664
  };
1650
1665
  this.client = new import_openai2.default({
1651
1666
  apiKey: "vertex-ai",
@@ -1691,6 +1706,28 @@ var VertexOpenAIAdapter = class {
1691
1706
  return this.client;
1692
1707
  }
1693
1708
  };
1709
+ async function surfaceErrorBody(response, input) {
1710
+ let body = "";
1711
+ try {
1712
+ body = await response.text();
1713
+ } catch {
1714
+ }
1715
+ const url = typeof input === "string" ? input : input instanceof URL ? input.toString() : input.url;
1716
+ 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)" : "";
1717
+ if (typeof console !== "undefined" && console.warn) {
1718
+ console.warn(
1719
+ `[vertex-openai] ${response.status} ${response.statusText} from ${url}: ${body || "(empty body)"}${hint}`
1720
+ );
1721
+ }
1722
+ const headers = new Headers(response.headers);
1723
+ headers.delete("content-encoding");
1724
+ headers.delete("content-length");
1725
+ return new Response(body + hint, {
1726
+ status: response.status,
1727
+ statusText: response.statusText,
1728
+ headers
1729
+ });
1730
+ }
1694
1731
 
1695
1732
  // src/adapters/vertex-openai/factory.ts
1696
1733
  var vertexOpenAIFactory = {