@meterapp/car-image 1.16.0 → 1.17.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.
@@ -7,11 +7,12 @@ export const CREDIT_PACKS = [100, 500, 1000, 2500, 10000];
7
7
  export const PAID_PLANS = ["pro", "business"];
8
8
  export const billingCommand = {
9
9
  name: "billing",
10
- summary: "Prepare a purchase or billing link; confirm payment and plan changes in your browser",
11
- usage: "car-image billing [--plan pro|business [--yearly]] [--credits 100|500|1000|2500|10000] [--portal] [--no-browser] [--json]",
10
+ aliases: ["upgrade"],
11
+ summary: "Prepare a checkout or billing link (works before sign-in); confirm payment and plan changes in your browser",
12
+ usage: "car-image billing|upgrade [--plan pro|business [--yearly]] [--credits 100|500|1000|2500|10000] [--portal] [--no-browser] [--json]",
12
13
  async run(ctx) {
13
14
  const { io, clientContext } = ctx;
14
- if (!clientContext.apiKey)
15
+ if (!clientContext.apiKey && ctx.args.flags.portal === true)
15
16
  throw new CliError("Not signed in.", 1, "Run `car-image login` first.");
16
17
  const selected = [ctx.args.flags.portal === true, ctx.args.flags.plan !== undefined, ctx.args.flags.credits !== undefined].filter(Boolean).length;
17
18
  if (selected > 1 || (ctx.args.flags.yearly === true && ctx.args.flags.plan === undefined))
@@ -23,6 +24,8 @@ export const billingCommand = {
23
24
  const credits = flagInteger(ctx.args.flags, "credits") ?? CREDIT_PACKS[0];
24
25
  if (!plan && ctx.args.flags.portal !== true && !CREDIT_PACKS.includes(credits))
25
26
  throw new CliError(`Unknown pack ${credits}. Choose one of: ${CREDIT_PACKS.join(", ")} credits ($${CREDIT_PACKS.map((pack) => pack / CREDITS_PER_DOLLAR).join(", $")})`, 2);
27
+ if (!clientContext.apiKey)
28
+ return publicCheckout(ctx, plan ?? null, interval, credits);
26
29
  const result = ctx.args.flags.portal === true
27
30
  ? await clientContext.client.getBillingLink()
28
31
  : await clientContext.client.createCheckoutLink(plan ? { plan, interval } : { credits: credits });
@@ -38,4 +41,28 @@ export const billingCommand = {
38
41
  return 0;
39
42
  },
40
43
  };
44
+ /**
45
+ * Before sign-in: the pricing document's own link (GET /api/v1/pricing, no
46
+ * key), which signs the human in, or up, and then opens Stripe Checkout for
47
+ * the plan or pack. Nothing is charged until they pay there.
48
+ */
49
+ async function publicCheckout(ctx, plan, interval, credits) {
50
+ const { io, clientContext } = ctx;
51
+ const pricing = await clientContext.client.pricing();
52
+ const entry = plan ? pricing.data.plans.find((candidate) => candidate.id === plan) : null;
53
+ const pack = plan ? null : pricing.data.add_ons.find((candidate) => candidate.credits === credits);
54
+ const url = entry ? (interval === "year" ? entry.checkout_url_yearly : entry.checkout_url) : pack?.checkout_url;
55
+ if (!url)
56
+ throw new CliError("This server's pricing has no checkout link for that choice.", 1, "Run `car-image login`, then try again.");
57
+ const amount = entry ? (interval === "year" ? entry.price.yearly : entry.price.monthly) : pack?.price;
58
+ const message = "Not signed in: this link signs you in (or up), then opens Stripe Checkout. Nothing is charged until you pay there.";
59
+ if (io.json) {
60
+ printJson(io, { data: { url, kind: "checkout", requires_confirmation: true, signed_in: false, ...(entry ? { plan, interval } : { credits }), amount_cents: Math.round((amount ?? 0) * 100), message } });
61
+ return 0;
62
+ }
63
+ io.stdout(`$${(amount ?? 0).toFixed(2)}${entry ? ` per ${interval}` : ` for ${credits} credits`}\n${message}\n ${url}\n`);
64
+ if (ctx.args.flags.browser !== false)
65
+ openBrowser(url);
66
+ return 0;
67
+ }
41
68
  //# sourceMappingURL=billing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"billing.js","sourceRoot":"","sources":["../../src/commands/billing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"billing.js","sourceRoot":"","sources":["../../src/commands/billing.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,18 @@
1
1
  import { CliError } from "../errors.js";
2
2
  import { printJson, table } from "../output.js";
3
3
  export const pricingCommand = {
4
- name: "pricing", summary: "Current plan prices, credit packs and 3D cost (free, no key needed)", usage: "car-image pricing [--json]",
4
+ name: "pricing", summary: "Plans, limits per tier, credit packs, 3D cost and checkout links (free, no key needed)", usage: "car-image pricing [--json]",
5
5
  async run(ctx) {
6
6
  const result = await ctx.clientContext.client.pricing();
7
7
  if (ctx.io.json)
8
8
  printJson(ctx.io, result);
9
9
  else {
10
- ctx.io.stdout(table(result.data.plans.map((plan) => [plan.name, plan.monthly_cents === null ? "custom" : `$${plan.monthly_cents / 100}`, plan.yearly_cents === null ? "custom" : `$${plan.yearly_cents / 100}`, String(plan.included_credits), plan.license]), ["Plan", "Monthly", "Yearly", "Monthly credits", "License"]) + "\n");
10
+ ctx.io.stdout(table(result.data.plans.map((plan) => [plan.name, plan.monthly_cents === null ? "custom" : `$${plan.monthly_cents / 100}`, plan.yearly_cents === null ? "custom" : `$${plan.yearly_cents / 100}`, String(plan.included_credits), plan.vehicles_per_month === null ? "no cap" : String(plan.vehicles_per_month), plan.license]), ["Plan", "Monthly", "Yearly", "Monthly credits", "Vehicles/month", "License"]) + "\n");
11
11
  ctx.io.stdout(`\n${result.data.free_signup_credits} signup credits · ${result.data.credits_per_image} credit/image · ${result.data.credits_per_model} credits/3D model · $1/${result.data.credits_per_dollar} credits\n`);
12
12
  ctx.io.stdout(`Packs: ${result.data.packs.map((pack) => `${pack.credits} credits ($${pack.cents / 100})`).join(", ")}\n${result.data.notes.join("\n")}\n`);
13
+ const links = (result.data.plans ?? []).filter((plan) => plan.checkout_url && (plan.id === "pro" || plan.id === "business"));
14
+ if (links.length)
15
+ ctx.io.stdout(`\nBuy (works before sign-in; nothing is charged until you pay in Stripe Checkout): car-image upgrade --plan pro|business [--yearly] or --credits 500\n${links.map((plan) => ` ${plan.name}: ${plan.checkout_url}`).join("\n")}\n`);
13
16
  }
14
17
  return 0;
15
18
  },
@@ -1 +1 @@
1
- {"version":3,"file":"support.js","sourceRoot":"","sources":["../../src/commands/support.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"support.js","sourceRoot":"","sources":["../../src/commands/support.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ const LICENSE_LINES = {
10
10
  };
11
11
  export const whoamiCommand = {
12
12
  name: "whoami",
13
- aliases: ["status"],
13
+ aliases: ["status", "account"],
14
14
  summary: "Show credits, plan and license, usage, key and base URL for the current account",
15
15
  usage: "car-image whoami [--json]",
16
16
  async run(ctx) {
@@ -33,6 +33,14 @@ export const whoamiCommand = {
33
33
  ];
34
34
  if (data.plan)
35
35
  rows.push(["Plan", `${data.plan.name}${data.plan.active ? "" : " (inactive)"} (${LICENSE_LINES[data.plan.license] ?? data.plan.license})`]);
36
+ const limits = data.limits_usage;
37
+ if (limits) {
38
+ const vehicles = limits.distinct_vehicles_this_month;
39
+ rows.push(["Vehicles", `${formatInteger(vehicles.used)}${vehicles.limit === null ? " distinct this month (no cap)" : ` of ${formatInteger(vehicles.limit)} distinct this month`} (resets ${limits.period.resets_at.slice(0, 10)})`]);
40
+ rows.push(["Keys", `${formatInteger(limits.api_keys.used)} of ${formatInteger(limits.api_keys.limit ?? 0)} · ${formatInteger(limits.requests_per_minute_per_key)} requests/min per key`]);
41
+ }
42
+ if (data.renews_at)
43
+ rows.push(["Renews", data.renews_at.slice(0, 10)]);
36
44
  if (usage) {
37
45
  const hitRate = Number.isFinite(usage.cache_hit_rate) ? `${Math.round(usage.cache_hit_rate * (usage.cache_hit_rate <= 1 ? 100 : 1))}% cache hits` : "";
38
46
  rows.push(["Usage (30d)", `${formatInteger(usage.requests)} requests, ${formatInteger(usage.images)} images${hitRate ? `, ${hitRate}` : ""}`]);
@@ -41,8 +49,12 @@ export const whoamiCommand = {
41
49
  rows.push(["Base URL", clientContext.baseUrl]);
42
50
  rows.push(["Config", ctx.configPath]);
43
51
  io.stdout(`${keyValues(io, rows)}\n`);
52
+ if (data.next_plan) {
53
+ const price = data.next_plan.price.monthly === null ? "custom pricing" : `$${data.next_plan.price.monthly}/month`;
54
+ io.stdout(`\nNext plan: ${data.next_plan.name} (${price}): ${data.next_plan.adds.join("; ")}. car-image upgrade --plan ${data.next_plan.id}\n`);
55
+ }
44
56
  if (data.credits < 10) {
45
- io.stdout(`\nLow balance. Buy credits: car-image billing --credits 500 (${clientContext.baseUrl}/dashboard?ref=cli#billing)\n`);
57
+ io.stdout(`\nLow balance. Buy credits: car-image upgrade --credits 500 (${clientContext.baseUrl}/dashboard?ref=cli#billing)\n`);
46
58
  }
47
59
  return 0;
48
60
  },
@@ -1 +1 @@
1
- {"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":"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"}
package/dist/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /** Kept in sync with package.json by `src/version.test.ts`. */
2
- export const CLI_VERSION = "1.16.0";
2
+ export const CLI_VERSION = "1.17.0";
3
3
  export const PACKAGE_NAME = "@meterapp/car-image";
4
4
  export const BIN_NAME = "car-image";
5
5
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meterapp/car-image",
3
- "version": "1.16.0",
3
+ "version": "1.17.0",
4
4
  "description": "CLI and MCP server for the Car Image API by Meter: studio-quality, transparent-background vehicle renders for agents, apps and browsers. Login, fetch images in any paint color and make logos, mint signed URLs, decode VINs, build 3D models, request missing vehicles, run diagnostics, configure agents.",
5
5
  "license": "MIT",
6
6
  "author": "Meter <support@carimage.dev> (https://meterapp.co)",
@@ -43,7 +43,7 @@
43
43
  "test": "vitest run"
44
44
  },
45
45
  "dependencies": {
46
- "@meterapp/car-image-sdk": "^1.23.0",
46
+ "@meterapp/car-image-sdk": "^1.24.0",
47
47
  "@modelcontextprotocol/server": "^2.2.0",
48
48
  "zod": "^4.6.5"
49
49
  },