pi-lemonade-link 1.0.2 → 2.0.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 +68 -21
- package/docs/README.md +23 -0
- package/docs/anthropic.md +183 -6
- package/docs/internal.md +1080 -0
- package/docs/lemonade.md +2453 -1665
- package/docs/llamacpp.md +385 -252
- package/docs/mcp.md +232 -128
- package/docs/ollama.md +967 -15
- package/docs/openai.md +1734 -634
- package/docs/router.md +201 -0
- package/index.ts +2038 -306
- package/lemonade.example.json +24 -2
- package/package.json +3 -3
package/lemonade.example.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
// Template for ~/.pi/agent/lemonade.json — copy there and edit for your server:
|
|
3
3
|
// cp ~/.pi/agent/extensions/pi-lemonade-link/lemonade.example.json ~/.pi/agent/lemonade.json
|
|
4
|
-
// All endpoints/paths below are the defaults confirmed against lemonade
|
|
4
|
+
// All endpoints/paths below are the defaults confirmed against lemonade 2026.46.2.
|
|
5
5
|
// JSONC-style comments are allowed in the live config; note that /lemonade-setup
|
|
6
6
|
// rewrites the file at runtime and strips them.
|
|
7
7
|
// Full field documentation: see README.md in this directory.
|
|
@@ -9,6 +9,11 @@
|
|
|
9
9
|
// API key lemonade expects (lemonade's default unless you changed it).
|
|
10
10
|
"apiKey": "lemonade",
|
|
11
11
|
|
|
12
|
+
// Admin key for /internal/* endpoints (pin/unpin, bulk model-update sync).
|
|
13
|
+
// Set this ONLY if your server sets LEMONADE_ADMIN_API_KEY; empty/omitted
|
|
14
|
+
// falls back to the ordinary apiKey above.
|
|
15
|
+
"adminApiKey": "",
|
|
16
|
+
|
|
12
17
|
// servers[] is the ONLY instance store — every tool accepts an optional
|
|
13
18
|
// `server` argument naming one of these. Add more entries for multi-server setups.
|
|
14
19
|
"servers": [
|
|
@@ -19,10 +24,12 @@
|
|
|
19
24
|
"baseUrl": "http://localhost:13305",
|
|
20
25
|
// Free-form note shown in the setup TUI.
|
|
21
26
|
"description": "Replace with your server's host:port."
|
|
27
|
+
// Optional per-instance overrides: "apiKey" and "adminApiKey" fall
|
|
28
|
+
// back to the shared keys above when omitted.
|
|
22
29
|
}
|
|
23
30
|
],
|
|
24
31
|
|
|
25
|
-
// --- Endpoint paths (relative to baseUrl; lemonade
|
|
32
|
+
// --- Endpoint paths (relative to baseUrl; lemonade 2026.46.2 defaults) ---
|
|
26
33
|
"chatPath": "/api/v1", // OpenAI-compatible chat completions
|
|
27
34
|
"modelsPath": "/v1/models", // model catalog listing
|
|
28
35
|
"healthPath": "/v1/health", // server health / loaded models
|
|
@@ -43,6 +50,13 @@
|
|
|
43
50
|
"audioGenerationPath": "/v1/audio/generations", // generate_audio (music/SFX)
|
|
44
51
|
"mesh3dPath": "/v1/3d/generations", // generate_3d_model
|
|
45
52
|
"classifyPath": "/v1/classify", // classify_text
|
|
53
|
+
"modelOptionsPath": "/v1/models/{id}/options", // per-model recipe options ({id} placeholder)
|
|
54
|
+
"checkUpdatesPath": "/v1/models/check-updates", // report models with newer upstream commits
|
|
55
|
+
"pinPath": "/internal/pin", // pin/unpin a loaded model (admin)
|
|
56
|
+
"modelSyncPath": "/internal/models/sync", // bulk model-update sync (admin)
|
|
57
|
+
"installPath": "/v1/install", // install/update a recipe backend
|
|
58
|
+
"installDryRunPath": "/v1/install/dry-run", // resolve a backend install without downloading
|
|
59
|
+
"uninstallPath": "/v1/uninstall", // remove a backend
|
|
46
60
|
|
|
47
61
|
// UDP port for automatic lemonade-server discovery (broadcast beacon).
|
|
48
62
|
"beaconPort": 13305,
|
|
@@ -51,6 +65,14 @@
|
|
|
51
65
|
// as pi providers.
|
|
52
66
|
"chatOnly": true,
|
|
53
67
|
|
|
68
|
+
// Outage cache: when a probe can't reach an instance, register its last
|
|
69
|
+
// good catalog (persisted on every successful probe) instead of nothing —
|
|
70
|
+
// provenance-marked "(cached <time>)" in /model, warned at session start,
|
|
71
|
+
// and re-synced with a diff notice once the box answers again. Once an
|
|
72
|
+
// instance is known down (durable flag), the next startup serves the cache
|
|
73
|
+
// instantly and reconciles in the background — see instantOrLiveProbes.
|
|
74
|
+
"cacheOnOutage": false,
|
|
75
|
+
|
|
54
76
|
// --- Model defaults (empty string = auto-pick first in catalog / tool default) ---
|
|
55
77
|
"defaultTranscriptionModel": "Whisper-Large-v3",
|
|
56
78
|
"defaultImageModel": "",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-lemonade-link",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "Unified pi extension for a self-hosted Lemonade server: dynamic chat-model discovery, multimodal agent tools (transcription, image gen/edit/upscale, TTS, audio, 3D mesh), a live /lemonade-setup management TUI, and a lemonade-only below-editor status bar (tok/s, cache hits, busy/queue, VRAM).",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pi-package",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
},
|
|
24
24
|
"provider": {
|
|
25
25
|
"name": "lemonade",
|
|
26
|
-
"apiVerifiedAgainst": "
|
|
27
|
-
"specSnapshot": "docs/ from lemonade-sdk/lemonade docs/api, snapshotted 2026-
|
|
26
|
+
"apiVerifiedAgainst": "2026.46.2",
|
|
27
|
+
"specSnapshot": "docs/ from lemonade-sdk/lemonade docs/api, snapshotted 2026-11-13"
|
|
28
28
|
}
|
|
29
29
|
}
|