free-pi-cli 0.6.13 → 0.6.14
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/dist/index.js
CHANGED
|
@@ -515,7 +515,7 @@ function folderMatches(cwd, sessionCwd) {
|
|
|
515
515
|
// package.json
|
|
516
516
|
var package_default = {
|
|
517
517
|
name: "free-pi-cli",
|
|
518
|
-
version: "0.6.
|
|
518
|
+
version: "0.6.14",
|
|
519
519
|
description: "Free AI coding agent for your terminal. Ads and a daily free allowance pay for the models; sign in with GitHub and run npx free-pi-cli.",
|
|
520
520
|
keywords: [
|
|
521
521
|
"coding agent",
|
|
@@ -6269,7 +6269,11 @@ var ConfigSchema = object({
|
|
|
6269
6269
|
experientialPriceCooldownMs: number2().int().min(1).default(3600000),
|
|
6270
6270
|
particleEnabled: boolean2().default(false),
|
|
6271
6271
|
particleBaseUrl: string2().default("https://api.particle.ai/v1"),
|
|
6272
|
-
|
|
6272
|
+
particleModelMap: record(string2(), string2()).default({
|
|
6273
|
+
particle: "particle-1",
|
|
6274
|
+
"deepseek-v4.1-flash": "deepseek-ai/deepseek-v41-flash-1017",
|
|
6275
|
+
"glm-5.3-flash": "z-ai/glm-5.3-flash"
|
|
6276
|
+
}),
|
|
6273
6277
|
particleTtftMs: number2().int().min(1).default(1e4),
|
|
6274
6278
|
minCliVersion: string2().default("0.0.0"),
|
|
6275
6279
|
latestCliVersion: string2().default("0.2.0"),
|
|
@@ -6577,7 +6581,7 @@ function loadConfig(env = process.env) {
|
|
|
6577
6581
|
experientialPriceCooldownMs: envNumber(env.EXPERIENTIAL_PRICE_COOLDOWN_MS),
|
|
6578
6582
|
particleEnabled: envBoolean(env.PARTICLE_ENABLED),
|
|
6579
6583
|
particleBaseUrl: env.PARTICLE_BASE_URL?.trim().replace(/\/$/, "") || undefined,
|
|
6580
|
-
|
|
6584
|
+
particleModelMap: envPairs(env.PARTICLE_MODEL_MAP),
|
|
6581
6585
|
particleTtftMs: envNumber(env.PARTICLE_TTFT_MS),
|
|
6582
6586
|
minCliVersion: env.MIN_CLI_VERSION || undefined,
|
|
6583
6587
|
latestCliVersion: env.LATEST_CLI_VERSION || undefined,
|
|
@@ -9644,6 +9648,12 @@ function mergeAttribution(a, b) {
|
|
|
9644
9648
|
|
|
9645
9649
|
// src/changelog.ts
|
|
9646
9650
|
var CHANGELOG_HIGHLIGHTS = [
|
|
9651
|
+
{
|
|
9652
|
+
version: "0.6.14",
|
|
9653
|
+
highlights: [
|
|
9654
|
+
"Free Unlimited for a limited time: Particle, DeepSeek V4.1 Flash and GLM 5.3 Flash use no credits. They are at the top of the model list."
|
|
9655
|
+
]
|
|
9656
|
+
},
|
|
9647
9657
|
{
|
|
9648
9658
|
version: "0.6.13",
|
|
9649
9659
|
highlights: [
|
|
@@ -11439,8 +11449,8 @@ var ALL_COMMANDS = [
|
|
|
11439
11449
|
var commands = () => ALL_COMMANDS.filter((c) => c.name !== "/hive" || process.env.FREEPI_HIVE === "1");
|
|
11440
11450
|
var NAME_COLUMN = 24;
|
|
11441
11451
|
var WELCOME_LINE = "Welcome to Free Pi, ad-supported inference. Please visit our advertisers to support us.";
|
|
11442
|
-
var
|
|
11443
|
-
var PARTICLE_LINE =
|
|
11452
|
+
var FREE_LABEL = "Free Unlimited: limited time";
|
|
11453
|
+
var PARTICLE_LINE = `${FREE_LABEL} — doesn't use any credits.`;
|
|
11444
11454
|
var GUEST_LINE = "Guest trial — sign in with GitHub (/login) to unlock daily credits and a comeback bonus.";
|
|
11445
11455
|
var CONSENT_LINE_1 = "Usage is funded by ads and training. By using free-pi you consent.";
|
|
11446
11456
|
var CONSENT_LINE_2 = "See /tos and /privacy-policy.";
|
|
@@ -11514,7 +11524,7 @@ function createHeaderExtension(opts) {
|
|
|
11514
11524
|
render(width) {
|
|
11515
11525
|
const active = ctx.model?.id;
|
|
11516
11526
|
const name = active && opts.modelNameFor?.(active) || opts.modelName;
|
|
11517
|
-
return headerLines(theme, name, expanded, width, opts.updateLatest, opts.guest, opts.allowanceLine,
|
|
11527
|
+
return headerLines(theme, name, expanded, width, opts.updateLatest, opts.guest, opts.allowanceLine, name.includes(FREE_LABEL));
|
|
11518
11528
|
},
|
|
11519
11529
|
invalidate() {},
|
|
11520
11530
|
setExpanded(next) {
|
|
@@ -13518,14 +13528,13 @@ patchResumeLine(process.stdout);
|
|
|
13518
13528
|
function pickerScopeFor(modelRuntime, opts) {
|
|
13519
13529
|
const main = resolveFreePiScope(modelRuntime, PROVIDER_NAME, catalogModelsFor(opts).map((m) => m.id));
|
|
13520
13530
|
const defense = resolveFreePiScope(modelRuntime, DEFENSE_PROVIDER_NAME, defenseModelsFor(opts).map((m) => m.id));
|
|
13521
|
-
const
|
|
13522
|
-
const
|
|
13523
|
-
const
|
|
13524
|
-
|
|
13525
|
-
|
|
13526
|
-
|
|
13527
|
-
|
|
13528
|
-
return [...fusion, ...defense, ...rest];
|
|
13531
|
+
const all = [...main, ...defense];
|
|
13532
|
+
const nameOf = (s) => s.model.name ?? "";
|
|
13533
|
+
const idOf = (s) => s.model.id;
|
|
13534
|
+
const serverOrder = new Map((opts.models ?? []).map((m, i) => [m.id, i]));
|
|
13535
|
+
const free = all.filter((s) => nameOf(s).includes(FREE_LABEL)).sort((a, b) => (serverOrder.get(idOf(a)) ?? 0) - (serverOrder.get(idOf(b)) ?? 0));
|
|
13536
|
+
const others = all.filter((s) => !free.includes(s)).sort((a, b) => idOf(a).localeCompare(idOf(b)));
|
|
13537
|
+
return [...free, ...others];
|
|
13529
13538
|
}
|
|
13530
13539
|
function interactiveModeOptions(opts) {
|
|
13531
13540
|
return { initialImages: [], initialMessages: [], ...opts.initialMessage ? { initialMessage: opts.initialMessage } : {} };
|
package/package.json
CHANGED