pi-free 2.0.9 → 2.0.10
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/CHANGELOG.md +568 -544
- package/README.md +588 -572
- package/banner.jpg +0 -0
- package/banner.png +0 -0
- package/banner.svg +12 -10
- package/config.ts +349 -337
- package/constants.ts +106 -103
- package/index.ts +242 -239
- package/lib/util.ts +524 -460
- package/package.json +3 -1
- package/providers/crofai/crofai.ts +190 -99
- package/providers/deepinfra/deepinfra.ts +206 -109
- package/providers/ollama/ollama.ts +610 -295
- package/providers/ollama/thinking-levels.ts +96 -0
- package/providers/together/together.ts +197 -0
- package/providers/zenmux/zenmux.ts +194 -179
package/constants.ts
CHANGED
|
@@ -1,103 +1,106 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared constants for pi-free-providers.
|
|
3
|
-
* Centralizes provider names, URLs, and configuration values.
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
// =============================================================================
|
|
7
|
-
// Provider names (unique providers NOT built into pi)
|
|
8
|
-
// =============================================================================
|
|
9
|
-
|
|
10
|
-
export const PROVIDER_KILO = "kilo";
|
|
11
|
-
export const PROVIDER_CLINE = "cline";
|
|
12
|
-
export const PROVIDER_NVIDIA = "nvidia";
|
|
13
|
-
export const PROVIDER_CLOUDFLARE = "cloudflare";
|
|
14
|
-
export const PROVIDER_OLLAMA = "ollama-cloud";
|
|
15
|
-
/** @deprecated Qwen provider is deprecated. The 1,000 req/day free tier is no longer available. */
|
|
16
|
-
export const PROVIDER_QWEN = "qwen";
|
|
17
|
-
export const PROVIDER_MODAL = "modal";
|
|
18
|
-
export const PROVIDER_ZENMUX = "zenmux";
|
|
19
|
-
export const PROVIDER_CROFAI = "crofai";
|
|
20
|
-
export const PROVIDER_CODESTRAL = "codestral";
|
|
21
|
-
export const PROVIDER_LLM7 = "llm7";
|
|
22
|
-
export const PROVIDER_DEEPINFRA = "deepinfra";
|
|
23
|
-
export const PROVIDER_SAMBANOVA = "sambanova";
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
// =============================================================================
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
export const
|
|
48
|
-
export const
|
|
49
|
-
export const
|
|
50
|
-
export const
|
|
51
|
-
export const
|
|
52
|
-
|
|
53
|
-
export const
|
|
54
|
-
|
|
55
|
-
export const
|
|
56
|
-
export const
|
|
57
|
-
export const
|
|
58
|
-
export const
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
export const
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
export const
|
|
71
|
-
export const
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
//
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
//
|
|
87
|
-
//
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
export const
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
//
|
|
100
|
-
//
|
|
101
|
-
// -
|
|
102
|
-
// -
|
|
103
|
-
//
|
|
1
|
+
/**
|
|
2
|
+
* Shared constants for pi-free-providers.
|
|
3
|
+
* Centralizes provider names, URLs, and configuration values.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
// =============================================================================
|
|
7
|
+
// Provider names (unique providers NOT built into pi)
|
|
8
|
+
// =============================================================================
|
|
9
|
+
|
|
10
|
+
export const PROVIDER_KILO = "kilo";
|
|
11
|
+
export const PROVIDER_CLINE = "cline";
|
|
12
|
+
export const PROVIDER_NVIDIA = "nvidia";
|
|
13
|
+
export const PROVIDER_CLOUDFLARE = "cloudflare";
|
|
14
|
+
export const PROVIDER_OLLAMA = "ollama-cloud";
|
|
15
|
+
/** @deprecated Qwen provider is deprecated. The 1,000 req/day free tier is no longer available. */
|
|
16
|
+
export const PROVIDER_QWEN = "qwen";
|
|
17
|
+
export const PROVIDER_MODAL = "modal";
|
|
18
|
+
export const PROVIDER_ZENMUX = "zenmux";
|
|
19
|
+
export const PROVIDER_CROFAI = "crofai";
|
|
20
|
+
export const PROVIDER_CODESTRAL = "codestral";
|
|
21
|
+
export const PROVIDER_LLM7 = "llm7";
|
|
22
|
+
export const PROVIDER_DEEPINFRA = "deepinfra";
|
|
23
|
+
export const PROVIDER_SAMBANOVA = "sambanova";
|
|
24
|
+
export const PROVIDER_TOGETHER = "together";
|
|
25
|
+
|
|
26
|
+
export const ALL_UNIQUE_PROVIDERS = [
|
|
27
|
+
PROVIDER_KILO,
|
|
28
|
+
PROVIDER_CLINE,
|
|
29
|
+
PROVIDER_NVIDIA,
|
|
30
|
+
/** @deprecated Qwen free tier no longer available */
|
|
31
|
+
PROVIDER_QWEN,
|
|
32
|
+
PROVIDER_MODAL,
|
|
33
|
+
PROVIDER_OLLAMA,
|
|
34
|
+
PROVIDER_ZENMUX,
|
|
35
|
+
PROVIDER_CROFAI,
|
|
36
|
+
PROVIDER_CODESTRAL,
|
|
37
|
+
PROVIDER_LLM7,
|
|
38
|
+
PROVIDER_DEEPINFRA,
|
|
39
|
+
PROVIDER_SAMBANOVA,
|
|
40
|
+
PROVIDER_TOGETHER,
|
|
41
|
+
] as const;
|
|
42
|
+
|
|
43
|
+
// =============================================================================
|
|
44
|
+
// Provider base URLs
|
|
45
|
+
// =============================================================================
|
|
46
|
+
|
|
47
|
+
export const BASE_URL_KILO = "https://api.kilo.ai/api/gateway";
|
|
48
|
+
export const BASE_URL_NVIDIA = "https://integrate.api.nvidia.com/v1";
|
|
49
|
+
export const BASE_URL_CLOUDFLARE = "https://api.cloudflare.com/client/v4";
|
|
50
|
+
export const BASE_URL_OLLAMA = "https://ollama.com/v1"; // OpenAI-compatible API endpoint
|
|
51
|
+
export const BASE_URL_CLINE = "https://api.cline.bot/api/v1";
|
|
52
|
+
export const BASE_URL_MODAL = "https://api.us-west-2.modal.direct/v1";
|
|
53
|
+
export const BASE_URL_QWEN =
|
|
54
|
+
"https://dashscope.aliyuncs.com/compatible-mode/v1";
|
|
55
|
+
export const BASE_URL_ZENMUX = "https://zenmux.ai/api/v1";
|
|
56
|
+
export const BASE_URL_CROFAI = "https://crof.ai/v1";
|
|
57
|
+
export const BASE_URL_CODESTRAL = "https://codestral.mistral.ai/v1";
|
|
58
|
+
export const BASE_URL_LLM7 = "https://api.llm7.io/v1";
|
|
59
|
+
export const BASE_URL_DEEPINFRA = "https://api.deepinfra.com/v1/openai";
|
|
60
|
+
export const BASE_URL_SAMBANOVA = "https://api.sambanova.ai/v1";
|
|
61
|
+
export const BASE_URL_TOGETHER = "https://api.together.xyz/v1";
|
|
62
|
+
|
|
63
|
+
/** Cline fetches free models from OpenRouter */
|
|
64
|
+
export const BASE_URL_OPENROUTER = "https://openrouter.ai/api/v1";
|
|
65
|
+
|
|
66
|
+
// =============================================================================
|
|
67
|
+
// External URLs
|
|
68
|
+
// =============================================================================
|
|
69
|
+
|
|
70
|
+
export const URL_MODELS_DEV = "https://models.dev/api.json";
|
|
71
|
+
export const URL_KILO_TOS = "https://kilo.ai/terms";
|
|
72
|
+
export const URL_CLINE_TOS = "https://cline.bot/tos";
|
|
73
|
+
export const URL_QWEN_TOS = "https://terms.alicloud.com/";
|
|
74
|
+
export const URL_MODAL_TOS = "https://modal.com/terms";
|
|
75
|
+
|
|
76
|
+
// =============================================================================
|
|
77
|
+
// Cline auth
|
|
78
|
+
// =============================================================================
|
|
79
|
+
|
|
80
|
+
export const CLINE_AUTH_TIMEOUT_MS = 5 * 60 * 1000; // 5 minutes
|
|
81
|
+
|
|
82
|
+
// =============================================================================
|
|
83
|
+
// Configuration thresholds
|
|
84
|
+
// =============================================================================
|
|
85
|
+
|
|
86
|
+
export const NVIDIA_MIN_SIZE_B = 70; // Minimum model size for NVIDIA NIM
|
|
87
|
+
export const DEFAULT_MIN_SIZE_B = 30; // Default minimum model size for filtering
|
|
88
|
+
|
|
89
|
+
// =============================================================================
|
|
90
|
+
// Timeouts (milliseconds)
|
|
91
|
+
// =============================================================================
|
|
92
|
+
|
|
93
|
+
/** Timeout for fetch operations */
|
|
94
|
+
export const DEFAULT_FETCH_TIMEOUT_MS: number = 10_000;
|
|
95
|
+
|
|
96
|
+
export const KILO_POLL_INTERVAL_MS = 3_000;
|
|
97
|
+
export const KILO_TOKEN_EXPIRATION_MS = 365 * 24 * 60 * 60 * 1000; // 1 year
|
|
98
|
+
|
|
99
|
+
// =============================================================================
|
|
100
|
+
// Removed providers (now built into pi):
|
|
101
|
+
// - openrouter: use pi's built-in with OPENROUTER_API_KEY
|
|
102
|
+
// - zen/opencode: use pi's built-in with OPENCODE_API_KEY
|
|
103
|
+
// - go/opencode-go: use pi's built-in with OPENCODE_API_KEY
|
|
104
|
+
// - mistral: use pi's built-in with MISTRAL_API_KEY
|
|
105
|
+
// - ollama: add to ~/.pi/agent/models.json as custom provider
|
|
106
|
+
// =============================================================================
|