free-pi-cli 0.2.0 → 0.2.1

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.
Files changed (2) hide show
  1. package/dist/index.js +23 -6
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -14475,6 +14475,9 @@ var ConfigSchema = exports_external.object({
14475
14475
  adMinColumns: exports_external.number().int().default(60),
14476
14476
  proxyBaseUrl: exports_external.string().default("https://api.freepi.ai"),
14477
14477
  modelId: exports_external.string().default("deepseek/deepseek-v4-flash"),
14478
+ providerDataCollection: exports_external.enum(["allow", "deny"]).optional(),
14479
+ promptCacheEnabled: exports_external.boolean().default(false),
14480
+ providerOrder: exports_external.array(exports_external.string()).optional(),
14478
14481
  tierNewMaxDays: exports_external.number().int().default(30),
14479
14482
  tierYoungMaxDays: exports_external.number().int().default(365),
14480
14483
  tierCapNewUsd: exports_external.number().default(0.5),
@@ -14503,6 +14506,17 @@ function envNumber(value) {
14503
14506
  const n = Number(value);
14504
14507
  return Number.isNaN(n) ? undefined : n;
14505
14508
  }
14509
+ function envBoolean(value) {
14510
+ if (value === undefined || value === "")
14511
+ return;
14512
+ return value === "true" || value === "1";
14513
+ }
14514
+ function envList(value) {
14515
+ if (!value)
14516
+ return;
14517
+ const items = value.split(",").map((s) => s.trim()).filter((s) => s.length > 0);
14518
+ return items.length > 0 ? items : undefined;
14519
+ }
14506
14520
  function loadConfig(env = process.env) {
14507
14521
  return ConfigSchema.parse({
14508
14522
  perUserDailyCapUsd: envNumber(env.PER_USER_DAILY_CAP_USD),
@@ -14514,6 +14528,9 @@ function loadConfig(env = process.env) {
14514
14528
  adMinColumns: envNumber(env.AD_MIN_COLUMNS),
14515
14529
  proxyBaseUrl: env.PROXY_BASE_URL || undefined,
14516
14530
  modelId: env.MODEL_ID || undefined,
14531
+ providerDataCollection: env.PROVIDER_DATA_COLLECTION || undefined,
14532
+ promptCacheEnabled: envBoolean(env.PROMPT_CACHE_ENABLED),
14533
+ providerOrder: envList(env.PROVIDER_ORDER),
14517
14534
  tierNewMaxDays: envNumber(env.TIER_NEW_MAX_DAYS),
14518
14535
  tierYoungMaxDays: envNumber(env.TIER_YOUNG_MAX_DAYS),
14519
14536
  tierCapNewUsd: envNumber(env.TIER_CAP_NEW_USD),
@@ -14653,9 +14670,6 @@ function renderPlainAdLine(creative, clickUrl, theme, columns) {
14653
14670
  const plain = truncate(`AD ▚ ${headline} — ${cta} ${url2}`, Math.max(10, columns - 2));
14654
14671
  return theme.fg("dim", osc8(plain, url2));
14655
14672
  }
14656
- function renderMeterLine(remainingUsdToday, theme) {
14657
- return theme.fg("dim", `free budget today: $${remainingUsdToday.toFixed(2)} remaining`);
14658
- }
14659
14673
  function renderErrorLine(message, theme) {
14660
14674
  return theme.fg("error", message);
14661
14675
  }
@@ -14761,8 +14775,11 @@ async function renderMeter(deps, ctx) {
14761
14775
  }
14762
14776
  const theme = ctx.ui.theme;
14763
14777
  const errorCode = inferErrorFromRemainingBudget(me.remaining_usd_today);
14764
- const line = errorCode !== undefined ? renderErrorLine(mapErrorCode(errorCode), theme) : renderMeterLine(me.remaining_usd_today, theme);
14765
- ctx.ui.setWidget(METER_WIDGET_ID, [line]);
14778
+ if (errorCode === undefined) {
14779
+ ctx.ui.setWidget(METER_WIDGET_ID, undefined);
14780
+ return;
14781
+ }
14782
+ ctx.ui.setWidget(METER_WIDGET_ID, [renderErrorLine(mapErrorCode(errorCode), theme)]);
14766
14783
  }
14767
14784
 
14768
14785
  // ../pi-ads/src/index.ts
@@ -14801,7 +14818,7 @@ function createAdsExtension(opts) {
14801
14818
  // package.json
14802
14819
  var package_default = {
14803
14820
  name: "free-pi-cli",
14804
- version: "0.2.0",
14821
+ version: "0.2.1",
14805
14822
  description: "Free, ad-supported distribution of the pi coding agent. Inference paid for by ads.",
14806
14823
  license: "MIT",
14807
14824
  type: "module",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "free-pi-cli",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "Free, ad-supported distribution of the pi coding agent. Inference paid for by ads.",
5
5
  "license": "MIT",
6
6
  "type": "module",