@mariozechner/pi-ai 0.31.0 → 0.32.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
@@ -9,6 +9,7 @@ Unified LLM API with automatic model discovery, provider configuration, token an
9
9
  - **OpenAI**
10
10
  - **Anthropic**
11
11
  - **Google**
12
+ - **Vertex AI** (Gemini via Vertex AI)
12
13
  - **Mistral**
13
14
  - **Groq**
14
15
  - **Cerebras**
@@ -848,6 +849,10 @@ Several providers require OAuth authentication instead of static API keys:
848
849
  - **Google Gemini CLI** (Free Gemini 2.0/2.5 via Google Cloud Code Assist)
849
850
  - **Antigravity** (Free Gemini 3, Claude, GPT-OSS via Google Cloud)
850
851
 
852
+ ### Vertex AI (ADC)
853
+
854
+ Vertex AI models use Application Default Credentials. Run `gcloud auth application-default login`, set `GOOGLE_CLOUD_PROJECT` (or `GCLOUD_PROJECT`), and `GOOGLE_CLOUD_LOCATION`. You can also pass `project`/`location` in the call options.
855
+
851
856
  ### CLI Login
852
857
 
853
858
  The quickest way to authenticate:
@@ -871,11 +876,11 @@ import {
871
876
  loginGitHubCopilot,
872
877
  loginGeminiCli,
873
878
  loginAntigravity,
874
-
879
+
875
880
  // Token management
876
881
  refreshOAuthToken, // (provider, credentials) => new credentials
877
882
  getOAuthApiKey, // (provider, credentialsMap) => { newCredentials, apiKey } | null
878
-
883
+
879
884
  // Types
880
885
  type OAuthProvider, // 'anthropic' | 'github-copilot' | 'google-gemini-cli' | 'google-antigravity'
881
886
  type OAuthCredentials,
package/dist/index.d.ts CHANGED
@@ -2,6 +2,7 @@ export * from "./models.js";
2
2
  export * from "./providers/anthropic.js";
3
3
  export * from "./providers/google.js";
4
4
  export * from "./providers/google-gemini-cli.js";
5
+ export * from "./providers/google-vertex.js";
5
6
  export * from "./providers/openai-completions.js";
6
7
  export * from "./providers/openai-responses.js";
7
8
  export * from "./stream.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kCAAkC,CAAC;AACjD,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAChD,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC","sourcesContent":["export * from \"./models.js\";\nexport * from \"./providers/anthropic.js\";\nexport * from \"./providers/google.js\";\nexport * from \"./providers/google-gemini-cli.js\";\nexport * from \"./providers/openai-completions.js\";\nexport * from \"./providers/openai-responses.js\";\nexport * from \"./stream.js\";\nexport * from \"./types.js\";\nexport * from \"./utils/event-stream.js\";\nexport * from \"./utils/oauth/index.js\";\nexport * from \"./utils/overflow.js\";\nexport * from \"./utils/typebox-helpers.js\";\nexport * from \"./utils/validation.js\";\n"]}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kCAAkC,CAAC;AACjD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAChD,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC","sourcesContent":["export * from \"./models.js\";\nexport * from \"./providers/anthropic.js\";\nexport * from \"./providers/google.js\";\nexport * from \"./providers/google-gemini-cli.js\";\nexport * from \"./providers/google-vertex.js\";\nexport * from \"./providers/openai-completions.js\";\nexport * from \"./providers/openai-responses.js\";\nexport * from \"./stream.js\";\nexport * from \"./types.js\";\nexport * from \"./utils/event-stream.js\";\nexport * from \"./utils/oauth/index.js\";\nexport * from \"./utils/overflow.js\";\nexport * from \"./utils/typebox-helpers.js\";\nexport * from \"./utils/validation.js\";\n"]}
package/dist/index.js CHANGED
@@ -2,6 +2,7 @@ export * from "./models.js";
2
2
  export * from "./providers/anthropic.js";
3
3
  export * from "./providers/google.js";
4
4
  export * from "./providers/google-gemini-cli.js";
5
+ export * from "./providers/google-vertex.js";
5
6
  export * from "./providers/openai-completions.js";
6
7
  export * from "./providers/openai-responses.js";
7
8
  export * from "./stream.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kCAAkC,CAAC;AACjD,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAChD,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC","sourcesContent":["export * from \"./models.js\";\nexport * from \"./providers/anthropic.js\";\nexport * from \"./providers/google.js\";\nexport * from \"./providers/google-gemini-cli.js\";\nexport * from \"./providers/openai-completions.js\";\nexport * from \"./providers/openai-responses.js\";\nexport * from \"./stream.js\";\nexport * from \"./types.js\";\nexport * from \"./utils/event-stream.js\";\nexport * from \"./utils/oauth/index.js\";\nexport * from \"./utils/overflow.js\";\nexport * from \"./utils/typebox-helpers.js\";\nexport * from \"./utils/validation.js\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kCAAkC,CAAC;AACjD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAChD,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC","sourcesContent":["export * from \"./models.js\";\nexport * from \"./providers/anthropic.js\";\nexport * from \"./providers/google.js\";\nexport * from \"./providers/google-gemini-cli.js\";\nexport * from \"./providers/google-vertex.js\";\nexport * from \"./providers/openai-completions.js\";\nexport * from \"./providers/openai-responses.js\";\nexport * from \"./stream.js\";\nexport * from \"./types.js\";\nexport * from \"./utils/event-stream.js\";\nexport * from \"./utils/oauth/index.js\";\nexport * from \"./utils/overflow.js\";\nexport * from \"./utils/typebox-helpers.js\";\nexport * from \"./utils/validation.js\";\n"]}
@@ -1467,6 +1467,195 @@ export declare const MODELS: {
1467
1467
  maxTokens: number;
1468
1468
  };
1469
1469
  };
1470
+ readonly "google-vertex": {
1471
+ readonly "gemini-1.5-flash": {
1472
+ id: string;
1473
+ name: string;
1474
+ api: "google-vertex";
1475
+ provider: string;
1476
+ baseUrl: string;
1477
+ reasoning: false;
1478
+ input: ("image" | "text")[];
1479
+ cost: {
1480
+ input: number;
1481
+ output: number;
1482
+ cacheRead: number;
1483
+ cacheWrite: number;
1484
+ };
1485
+ contextWindow: number;
1486
+ maxTokens: number;
1487
+ };
1488
+ readonly "gemini-1.5-flash-8b": {
1489
+ id: string;
1490
+ name: string;
1491
+ api: "google-vertex";
1492
+ provider: string;
1493
+ baseUrl: string;
1494
+ reasoning: false;
1495
+ input: ("image" | "text")[];
1496
+ cost: {
1497
+ input: number;
1498
+ output: number;
1499
+ cacheRead: number;
1500
+ cacheWrite: number;
1501
+ };
1502
+ contextWindow: number;
1503
+ maxTokens: number;
1504
+ };
1505
+ readonly "gemini-1.5-pro": {
1506
+ id: string;
1507
+ name: string;
1508
+ api: "google-vertex";
1509
+ provider: string;
1510
+ baseUrl: string;
1511
+ reasoning: false;
1512
+ input: ("image" | "text")[];
1513
+ cost: {
1514
+ input: number;
1515
+ output: number;
1516
+ cacheRead: number;
1517
+ cacheWrite: number;
1518
+ };
1519
+ contextWindow: number;
1520
+ maxTokens: number;
1521
+ };
1522
+ readonly "gemini-2.0-flash": {
1523
+ id: string;
1524
+ name: string;
1525
+ api: "google-vertex";
1526
+ provider: string;
1527
+ baseUrl: string;
1528
+ reasoning: false;
1529
+ input: ("image" | "text")[];
1530
+ cost: {
1531
+ input: number;
1532
+ output: number;
1533
+ cacheRead: number;
1534
+ cacheWrite: number;
1535
+ };
1536
+ contextWindow: number;
1537
+ maxTokens: number;
1538
+ };
1539
+ readonly "gemini-2.0-flash-lite": {
1540
+ id: string;
1541
+ name: string;
1542
+ api: "google-vertex";
1543
+ provider: string;
1544
+ baseUrl: string;
1545
+ reasoning: true;
1546
+ input: ("image" | "text")[];
1547
+ cost: {
1548
+ input: number;
1549
+ output: number;
1550
+ cacheRead: number;
1551
+ cacheWrite: number;
1552
+ };
1553
+ contextWindow: number;
1554
+ maxTokens: number;
1555
+ };
1556
+ readonly "gemini-2.5-flash": {
1557
+ id: string;
1558
+ name: string;
1559
+ api: "google-vertex";
1560
+ provider: string;
1561
+ baseUrl: string;
1562
+ reasoning: true;
1563
+ input: ("image" | "text")[];
1564
+ cost: {
1565
+ input: number;
1566
+ output: number;
1567
+ cacheRead: number;
1568
+ cacheWrite: number;
1569
+ };
1570
+ contextWindow: number;
1571
+ maxTokens: number;
1572
+ };
1573
+ readonly "gemini-2.5-flash-lite": {
1574
+ id: string;
1575
+ name: string;
1576
+ api: "google-vertex";
1577
+ provider: string;
1578
+ baseUrl: string;
1579
+ reasoning: true;
1580
+ input: ("image" | "text")[];
1581
+ cost: {
1582
+ input: number;
1583
+ output: number;
1584
+ cacheRead: number;
1585
+ cacheWrite: number;
1586
+ };
1587
+ contextWindow: number;
1588
+ maxTokens: number;
1589
+ };
1590
+ readonly "gemini-2.5-flash-lite-preview-09-2025": {
1591
+ id: string;
1592
+ name: string;
1593
+ api: "google-vertex";
1594
+ provider: string;
1595
+ baseUrl: string;
1596
+ reasoning: true;
1597
+ input: ("image" | "text")[];
1598
+ cost: {
1599
+ input: number;
1600
+ output: number;
1601
+ cacheRead: number;
1602
+ cacheWrite: number;
1603
+ };
1604
+ contextWindow: number;
1605
+ maxTokens: number;
1606
+ };
1607
+ readonly "gemini-2.5-pro": {
1608
+ id: string;
1609
+ name: string;
1610
+ api: "google-vertex";
1611
+ provider: string;
1612
+ baseUrl: string;
1613
+ reasoning: true;
1614
+ input: ("image" | "text")[];
1615
+ cost: {
1616
+ input: number;
1617
+ output: number;
1618
+ cacheRead: number;
1619
+ cacheWrite: number;
1620
+ };
1621
+ contextWindow: number;
1622
+ maxTokens: number;
1623
+ };
1624
+ readonly "gemini-3-flash-preview": {
1625
+ id: string;
1626
+ name: string;
1627
+ api: "google-vertex";
1628
+ provider: string;
1629
+ baseUrl: string;
1630
+ reasoning: true;
1631
+ input: ("image" | "text")[];
1632
+ cost: {
1633
+ input: number;
1634
+ output: number;
1635
+ cacheRead: number;
1636
+ cacheWrite: number;
1637
+ };
1638
+ contextWindow: number;
1639
+ maxTokens: number;
1640
+ };
1641
+ readonly "gemini-3-pro-preview": {
1642
+ id: string;
1643
+ name: string;
1644
+ api: "google-vertex";
1645
+ provider: string;
1646
+ baseUrl: string;
1647
+ reasoning: true;
1648
+ input: ("image" | "text")[];
1649
+ cost: {
1650
+ input: number;
1651
+ output: number;
1652
+ cacheRead: number;
1653
+ cacheWrite: number;
1654
+ };
1655
+ contextWindow: number;
1656
+ maxTokens: number;
1657
+ };
1658
+ };
1470
1659
  readonly groq: {
1471
1660
  readonly "deepseek-r1-distill-llama-70b": {
1472
1661
  id: string;