pi-provider-litellm 0.1.1 → 0.1.3

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
@@ -1,7 +1,5 @@
1
1
  # pi-provider-litellm
2
2
 
3
- [![npm version](https://img.shields.io/npm/v/pi-provider-litellm.svg)](https://www.npmjs.com/package/pi-provider-litellm)
4
-
5
3
  LiteLLM proxy provider extension for [pi-mono](https://github.com/badlogic/pi-mono).
6
4
 
7
5
  Discovers models from a self-hosted LiteLLM proxy and registers them under the `litellm` provider. Supports `/login litellm` and `/litellm-refresh`. Tries `/model/info` first (admin endpoint with rich metadata), falls back to `/v1/models` (OpenAI-compatible) on 401/403/404.
@@ -51,6 +49,8 @@ Inside pi:
51
49
 
52
50
  You'll be prompted for the base URL and API key. Credentials are persisted to `~/.pi/agent/auth.json`.
53
51
 
52
+ Stored pi credentials for `litellm` take precedence over `LITELLM_API_KEY`; the environment key is used when no saved credential exists. `LITELLM_BASE_URL` is used when no saved login base URL exists.
53
+
54
54
  ## Use
55
55
 
56
56
  ```
@@ -66,6 +66,8 @@ You'll be prompted for the base URL and API key. Credentials are persisted to `~
66
66
  | `LITELLM_OFFLINE` | unset | If `1`, skip discovery on this start; use cache only |
67
67
  | `LITELLM_DISCOVERY_TIMEOUT_MS` | `5000` | Discovery fetch timeout in ms; `0` to skip discovery |
68
68
 
69
+ `LITELLM_DISCOVERY_TIMEOUT_MS=0` only disables startup and refresh model discovery. It does not replace the base URL or API key settings required to send requests when you are not using `/login litellm`.
70
+
69
71
  ## Slash commands
70
72
 
71
73
  - `/litellm-refresh` — force re-fetch the model list, ignoring cache
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAuB,MAAM,+BAA+B,CAAC;AA0HvF,yBAA+B,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAoG9D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAuB,MAAM,+BAA+B,CAAC;AA8HvF,yBAA+B,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAwG9D"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { readFile } from "node:fs/promises";
2
2
  import { join } from "node:path";
3
- import { getAgentDir } from "@mariozechner/pi-coding-agent";
3
+ import { AuthStorage, getAgentDir } from "@mariozechner/pi-coding-agent";
4
4
  import { fingerprint, readCache, writeCache } from "./cache.js";
5
5
  import { discoverModels, normalizeBaseUrl } from "./discover.js";
6
6
  const PROVIDER_NAME = "litellm";
@@ -32,11 +32,15 @@ async function resolveCredentials() {
32
32
  const envBase = process.env[ENV_BASE_URL]?.trim();
33
33
  const envKey = process.env[ENV_API_KEY]?.trim();
34
34
  const authBase = entry?.type === "oauth" ? entry.baseUrl?.trim() : undefined;
35
- const authKey = entry?.type === "oauth" ? entry.access?.trim() : entry?.type === "api_key" ? entry.key?.trim() : undefined;
36
- const rawBase = envBase || authBase;
35
+ const authKey = entry?.type === "oauth"
36
+ ? entry.access?.trim()
37
+ : entry?.type === "api_key"
38
+ ? (await AuthStorage.create(getAuthPath()).getApiKey(PROVIDER_NAME, { includeFallback: false }))?.trim()
39
+ : undefined;
40
+ const rawBase = authBase || envBase;
37
41
  return {
38
42
  baseUrl: rawBase ? normalizeBaseUrl(rawBase) : undefined,
39
- apiKey: envKey || authKey || undefined,
43
+ apiKey: authKey || envKey || undefined,
40
44
  };
41
45
  }
42
46
  function getDiscoveryTimeoutMs() {
@@ -168,13 +172,17 @@ export default async function (pi) {
168
172
  ctx.ui.notify(`LiteLLM refresh disabled (${ENV_OFFLINE}=1)`, "warning");
169
173
  return;
170
174
  }
175
+ const timeoutMs = getDiscoveryTimeoutMs();
176
+ if (timeoutMs === 0) {
177
+ ctx.ui.notify(`LiteLLM refresh disabled (${ENV_TIMEOUT}=0)`, "warning");
178
+ return;
179
+ }
171
180
  const fresh = await resolveCredentials();
172
181
  const freshFp = fresh.apiKey ? fingerprint(fresh.apiKey) : undefined;
173
182
  if (!fresh.baseUrl || !fresh.apiKey || !freshFp) {
174
183
  ctx.ui.notify("LiteLLM refresh failed: no credentials. Run /login litellm or set env vars.", "error");
175
184
  return;
176
185
  }
177
- const timeoutMs = getDiscoveryTimeoutMs() || DEFAULT_TIMEOUT_MS;
178
186
  try {
179
187
  const result = await discoverModels(fresh.baseUrl, fresh.apiKey, { timeoutMs });
180
188
  await writeCache(getCachePath(), {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-provider-litellm",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "LiteLLM proxy provider extension for pi-mono.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -31,13 +31,13 @@
31
31
  "files": [
32
32
  "dist",
33
33
  "README.md",
34
- "LICENSE",
35
- "CHANGELOG.md"
34
+ "LICENSE"
36
35
  ],
37
36
  "pi": {
38
37
  "extensions": [
39
38
  "./dist/index.js"
40
- ]
39
+ ],
40
+ "image": "https://raw.githubusercontent.com/balcsida/pi-provider-litellm/main/assets/pi_litellm_gallery.png"
41
41
  },
42
42
  "scripts": {
43
43
  "clean": "shx rm -rf dist",
package/CHANGELOG.md DELETED
@@ -1,31 +0,0 @@
1
- # Changelog
2
-
3
- All notable changes to this project will be documented in this file.
4
-
5
- The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
- and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
-
8
- ## [Unreleased]
9
-
10
- ## [0.1.1] - 2026-04-28
11
-
12
- ### Added
13
-
14
- - `pi-package` keyword so the package surfaces in the [pi.dev/packages](https://pi.dev/packages) gallery.
15
-
16
- ### Changed
17
-
18
- - Renamed package from `@balcsida/pi-provider-litellm` to unscoped `pi-provider-litellm` to match the `pi-provider-*` convention used by other extensions in the pi-mono ecosystem. The previous scoped name was published as 0.1.0 only.
19
- - README install instructions now use `pi install npm:pi-provider-litellm` (and `pi -e` for ephemeral trials), with the source-clone path kept as a fallback.
20
-
21
- ## [0.1.0] - 2026-04-27
22
-
23
- ### Added
24
-
25
- - Initial release.
26
- - Discovers models from a self-hosted LiteLLM proxy via `/model/info` with fallback to `/v1/models` on 401/403/404.
27
- - Sha256-fingerprinted disk cache with atomic writes.
28
- - `/login litellm` interactive login (prompts for base URL + API key).
29
- - `/litellm-refresh` slash command to force re-fetch.
30
- - `LITELLM_BASE_URL`, `LITELLM_API_KEY`, `LITELLM_OFFLINE`, `LITELLM_DISCOVERY_TIMEOUT_MS` environment variables.
31
- - `compat.cacheControlFormat: "anthropic"` for both `anthropic/*`-prefixed model IDs and bare Claude aliases (`claude-*`, `opus-*`, `sonnet-*`, `haiku-*`, case-insensitive). Common LiteLLM deployments alias Claude models without the `anthropic/` prefix; without this flag, prompt caching silently no-ops on Claude through the proxy.