@farthershore/farthershore-js 0.17.0 → 0.18.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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,28 @@
3
3
  All notable changes to `@farthershore/farthershore-js` are documented here.
4
4
  This project adheres to Semantic Versioning (pre-1.0: minors may break).
5
5
 
6
+ ## [0.18.1] - 2026-07-17
7
+
8
+ Fixed the portal usage card rendering an empty box for fresh subscribers on
9
+ metered plans: `quotaForDimension` now falls back to a non-tiered meter's
10
+ `included_units` when the plan has no month-window limit rule (an explicit
11
+ month-window limit still wins), and `buildMeterUsageRows` renders every
12
+ catalog meter — "0 / N included" with a progress bar, or "N this period" —
13
+ instead of dropping zero-usage/no-quota rows. Bill estimation is unchanged.
14
+
15
+ ## [0.18.0] - 2026-07-17
16
+
17
+ Added SDK-owned plan catalog derivations for portal plan/pricing/grant/usage
18
+ surfaces, including display sorting, upgrade filtering, lean feature synthesis,
19
+ rate-limit summaries, primary usage summaries, structured meter tier
20
+ descriptions, bill scenario rows, capability rows, and the `usePinnedPlan()`
21
+ React hook.
22
+
23
+ ## [0.17.0] - 2026-07-16
24
+
25
+ Added legal SDK components: `TermsOfService`, `PrivacyPolicy`, and
26
+ `LegalConsentGate`.
27
+
6
28
  ## [0.16.0] - 2026-07-14
7
29
 
8
30
  Added a `notifications` resource (`preferences()` / `updatePreferences(patch)`)
package/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  The **Farther Shore Frontend SDK** — the browser + React integration layer for
4
4
  your product's subscriber portal.
5
5
 
6
- > **Status: `0.16.0`.** Pre-1.0 (`0.x`): a minor bump (e.g. `0.9.x` → `0.10.0`)
6
+ > **Status: `0.18.1`.** Pre-1.0 (`0.x`): a minor bump (e.g. `0.9.x` → `0.10.0`)
7
7
  > may include breaking changes, so a caret range is unsafe — **pin this package
8
8
  > exactly** (`0.9.0`) or use a patch-only tilde (`~0.9.0`). Changes are recorded
9
9
  > in [`CHANGELOG.md`](./CHANGELOG.md).
package/dist/catalog.d.ts CHANGED
@@ -1,5 +1,14 @@
1
1
  import type { Grant, Meter, Plan, PlanLimit, PlanMeter, SubscriberPinnedRule, UsageBillingBasis } from "./types.js";
2
2
  export type PlanKind = "free" | "pay_as_you_go" | "subscription" | "hybrid" | "prepaid" | "trial" | "custom";
3
+ /** Canonical one-time credit amount (cents) in the plan's grants, or 0. A
4
+ * one-time credit is a `credit` grant that does NOT recur and carries no
5
+ * campaign label (a labelled credit is a promotional grant). Mirrors
6
+ * contracts' `getOneTimeGrantCents` / `isOneTimeCredit`. */
7
+ export declare function getOneTimeGrantCents(plan: Pick<Plan, "grants">): number;
8
+ /** Canonical recurring credit amount (cents) granted per period, or 0. A
9
+ * recurring credit is a `credit` grant with `recurs: true` and no campaign
10
+ * label. Mirrors contracts' `getRecurringGrantCents` / `isRecurringCredit`. */
11
+ export declare function getRecurringGrantCents(plan: Pick<Plan, "grants">): number;
3
12
  /**
4
13
  * Classify a plan into a single canonical kind — mirrors the shared
5
14
  * `classifyPlan` decision tree so this surface labels a plan identically to the
@@ -11,6 +20,10 @@ export declare function classifyPlan(plan: Plan): PlanKind;
11
20
  export declare function isFreePlan(plan: Plan): boolean;
12
21
  /** True iff the plan is purely usage-based (no recurring fee, ≥1 meter). */
13
22
  export declare function isPayAsYouGoPlan(plan: Plan): boolean;
23
+ /** "$X/month with $Y included" recurring-grant shape detector. */
24
+ export declare function hasRecurringCreditGrant(plan: Plan): boolean;
25
+ /** True iff the plan has a one-time prepaid credit grant. */
26
+ export declare function hasPrepaidCreditGrant(plan: Pick<Plan, "grants">): boolean;
14
27
  /** Structured price presentation for a plan — the single source of truth for
15
28
  * how every surface headlines a plan's price. See {@link presentPlanPrice}. */
16
29
  export interface PlanPricePresentation {
@@ -52,6 +65,14 @@ export declare function formatPlanPrice(plan: Plan): {
52
65
  price: string;
53
66
  period: string;
54
67
  };
68
+ /** Price detail next to the plan name; null when it would echo the name. */
69
+ export declare function formatPlanPriceDetail(plan: Plan): string | null;
70
+ /** 5-knob-derived summary line, e.g. "Plan: $29/month with $50 included". */
71
+ export declare function describePlanSummary(plan: Plan): string;
72
+ /** Sort plans for display: free first, fee ascending, pay-as-you-go last. */
73
+ export declare function sortPlansForDisplay(plans: Plan[]): Plan[];
74
+ /** Plans that are strictly more expensive than the current plan, sorted for display. */
75
+ export declare function filterUpgradePlans(plans: Plan[], currentPlan: Plan | null | undefined): Plan[];
55
76
  /** Optional money-formatting locale options. Defaults: USD, en-US. */
56
77
  export interface MoneyFormatOptions {
57
78
  /** ISO 4217 currency code (e.g. "EUR", "GBP"). Default "USD". */
@@ -89,6 +110,17 @@ export declare function formatDate(value: string | number | Date | null | undefi
89
110
  * summarizes from its cheapest non-zero tier ("From $0.001 / request");
90
111
  * an included allotment prepends "First N free, then …". */
91
112
  export declare function summarizeMeterPricing(meter: PlanMeter, opts?: MoneyFormatOptions): string;
113
+ export type MeterTierLine = {
114
+ range: string;
115
+ rate: string;
116
+ };
117
+ export type MeterTierDescription = {
118
+ dimension: string;
119
+ headline: string;
120
+ tierLines: MeterTierLine[];
121
+ isSeatMeter: boolean;
122
+ };
123
+ export declare function describeMeterTiers(meter: PlanMeter): MeterTierDescription;
92
124
  /** One-line minimum-spend floor summary, or null when the plan has no floor. */
93
125
  export declare function formatMinimumSpend(plan: Plan): string | null;
94
126
  /** Public alias: humanize a builder-defined capability/feature key into a UI
@@ -110,6 +142,18 @@ export declare function entitlementBullets(featureGates: Record<string, boolean>
110
142
  * entitlements (featureGates / capabilityLimits) append in both paths.
111
143
  */
112
144
  export declare function synthesizePlanFeatures(plan: Plan): string[];
145
+ /**
146
+ * Synthesize a short feature list for white-label public surfaces. This differs
147
+ * from {@link synthesizePlanFeatures}: it uses only builder-authored or
148
+ * plan-derived facts and deliberately does not invent "Full API access" or
149
+ * support-tier promises a product may not actually offer.
150
+ */
151
+ export declare function synthesizePlanFeaturesLean(plan: Plan): string[];
152
+ /** Month-window quota lines for public plan cards ("{capacity} {dimension}/mo"). */
153
+ export declare function quotaLines(plan: Plan): {
154
+ key: string;
155
+ text: string;
156
+ }[];
113
157
  /** Display category for a grant row. The wire grant union collapsed to
114
158
  * `credit` + `top_up`, but the UI still distinguishes the credit flavours
115
159
  * (recurring / one-time / promotional) plus the `creditPolicy`-derived
@@ -136,7 +180,10 @@ export declare function effectiveGrants(plan: Plan): Grant[];
136
180
  * row). The collapse of the wire union does not change what the card shows.
137
181
  */
138
182
  export declare function buildGrantRows(plan: Plan): GrantRow[];
139
- /** Monthly included quota for a dimension on a plan, or null when none. */
183
+ /** Monthly included quota for a dimension on a plan, or null when none.
184
+ * A month-window limit rule wins; otherwise a metered price's
185
+ * `included_units` is the plan's real included allowance (e.g. a
186
+ * $20/mo plan whose meter includes the first 5,000 requests). */
140
187
  export declare function quotaForDimension(plan: Plan | null, dimension: string): number | null;
141
188
  /** Progress-bar percentage + a coarse status color name for `used / total`. */
142
189
  export declare function computeProgressBar(used: number, total: number): {
@@ -150,6 +197,24 @@ export type MeterUsageRow = {
150
197
  quota: number | null;
151
198
  unit?: string;
152
199
  };
200
+ export interface UsageDisplay {
201
+ label: string;
202
+ value: string;
203
+ progress: {
204
+ used: number;
205
+ total: number;
206
+ } | null;
207
+ breakdown: string | null;
208
+ detail: string;
209
+ }
210
+ export type RateLimitLine = {
211
+ text: string;
212
+ };
213
+ export declare function isTokenProduct(meters: Meter[]): boolean;
214
+ export declare function buildDimensionBreakdown(summary: Record<string, number>, meters: Meter[]): string | null;
215
+ export declare function buildPrimaryUsage(plan: Plan | null, summary: Record<string, number>, meters: Meter[], billingBasis?: UsageBillingBasis): UsageDisplay;
216
+ export declare function buildRateLimits(plan: Plan | null, meters: Meter[]): RateLimitLine[];
217
+ export declare function formatRateLimitText(plan: Plan | null, meters: Meter[]): string | null;
153
218
  /**
154
219
  * Combine a plan's monthly quotas with a usage summary into render-ready rows —
155
220
  * one per meter that has a quota OR non-zero usage. Sorted: quota'd meters
@@ -272,6 +337,19 @@ export interface BillEstimate {
272
337
  * pins this replica to `computeBillScenario` so the two cannot drift.
273
338
  */
274
339
  export declare function estimateBill(plan: Pick<Plan, "recurringFeeCents" | "meters" | "limits" | "maxMonthlySpendCents" | "minMonthlySpendCents" | "grants">, usageSummary: Record<string, number>, meters?: Meter[]): BillEstimate;
340
+ export interface BillScenarioRow {
341
+ scenarioCents: number;
342
+ fee: number;
343
+ recurringCredit: number;
344
+ oneTimeCredit: number;
345
+ meteredAfterCredits: number;
346
+ capped: boolean;
347
+ floored: boolean;
348
+ total: number;
349
+ }
350
+ /** Default preview scenarios in cents: $0, $10, $20, $50, $100, $200. */
351
+ export declare const DEFAULT_BILL_SCENARIOS: readonly number[];
352
+ export declare function computeBillScenarios(plan: Pick<Plan, "recurringFeeCents" | "maxMonthlySpendCents" | "minMonthlySpendCents" | "grants">, scenariosCents?: readonly number[]): BillScenarioRow[];
275
353
  /** Human label for a {@link PlanLimit}'s window — a named window verbatim
276
354
  * ("month", "minute"), a custom window mapped to second/minute/hour when it's a
277
355
  * round multiple, else `Ns`. Pure (the rate-limit display helper for W10). */
@@ -297,4 +375,15 @@ export declare function paymentHealth(sub: {
297
375
  status?: string | null;
298
376
  paymentHealth?: string | null;
299
377
  }): PaymentHealth;
378
+ export type CapabilityUsage = Record<string, number>;
379
+ export type CapabilityRow = {
380
+ key: string;
381
+ label: string;
382
+ isToggle: boolean;
383
+ limit: number | null;
384
+ used: number | null;
385
+ enabled: boolean;
386
+ warning: "approaching" | "exhausted" | null;
387
+ };
388
+ export declare function buildCapabilityRows(plan: Pick<Plan, "capabilityLimits">, usage: CapabilityUsage): CapabilityRow[];
300
389
  //# sourceMappingURL=catalog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"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"}