@shipstatic/ship 2.6.0-beta.9 → 2.6.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.
@@ -5,7 +5,7 @@ Their copyright notices travel with that copy, and are reproduced here in
5
5
  full. This file is GENERATED from the build's own metafile — edit the
6
6
  bundle, not this list.
7
7
 
8
- ## @shipstatic/types 2.17.0-beta.8
8
+ ## @shipstatic/types 2.17.0
9
9
 
10
10
  License: MIT
11
11
 
package/dist/browser.d.ts CHANGED
@@ -1853,6 +1853,20 @@ interface Plan {
1853
1853
  * nothing (a plan sold by conversation publishes no numbers).
1854
1854
  */
1855
1855
  readonly caps: Caps | null;
1856
+ /**
1857
+ * Why this row cannot be ordered right now — the closed door's own sentence,
1858
+ * verbatim — or absent when the way is open. A menu lists what can be
1859
+ * ordered, and a row that is sold but not yet orderable (its door is closed:
1860
+ * checkout unbuilt, a feature unfinished) SAYS SO on the menu instead of
1861
+ * only at the order.
1862
+ *
1863
+ * Clients branch on PRESENCE and render the sentence unchanged — they know
1864
+ * *that* the row is closed, never *which* door or *when it lifts*; the
1865
+ * vocabulary of doors stays server-side. The same rule the refusal follows:
1866
+ * `POST /billing/change` onto a closed row answers 400 with
1867
+ * `details.closed`, and its `message` is this sentence.
1868
+ */
1869
+ readonly closed?: string;
1856
1870
  }
1857
1871
  /**
1858
1872
  * Response for `GET /plans` — the whole public menu, in display order.
@@ -1885,10 +1899,16 @@ interface PlanChangeRequest {
1885
1899
  readonly interval: BillingInterval;
1886
1900
  }
1887
1901
  /**
1888
- * The pending plan change — a Stripe Subscription Schedule the platform
1889
- * minted, mirrored onto the account. `at` is when it applies (the current
1890
- * period's end, Unix seconds). Reversible until then: `DELETE
1891
- * /billing/change` releases it.
1902
+ * The pending plan change — a Stripe Subscription Schedule, mirrored onto the
1903
+ * account. `at` is when it applies (the current period's end, Unix seconds).
1904
+ *
1905
+ * WHO minted the schedule is deliberately not part of this shape, and both
1906
+ * kinds mirror here identically: Stripe mints one when a customer confirms a
1907
+ * cadence downgrade on its own hosted page, and the platform mints one for a
1908
+ * cheaper TIER, the single move Stripe's Customer Portal cannot express.
1909
+ *
1910
+ * Reversible until it applies, and `DELETE /billing/change` is the only way:
1911
+ * Stripe's Portal displays a pending change but offers no control to undo it.
1892
1912
  */
1893
1913
  interface ScheduledChange {
1894
1914
  readonly plan: AccountPlanType;
@@ -1901,9 +1921,15 @@ interface ScheduledChange {
1901
1921
  * compile, so "which door was taken" is structural rather than prose.
1902
1922
  *
1903
1923
  * `url` means GO: a Stripe page (Checkout, or the Portal's confirmation page)
1904
- * finishes the change and the browser must be redirected to it. `scheduled`
1905
- * means DONE: the downgrade is booked for period end, nothing to visit, and
1906
- * the account's `scheduled` field now carries it.
1924
+ * finishes the change and the browser must be redirected to it. A `url` does
1925
+ * NOT imply money moves on the confirmation page Stripe decides whether to
1926
+ * charge now or defer the change to period end, and says which. `scheduled`
1927
+ * means DONE: the change is booked for period end by the platform itself,
1928
+ * nothing to visit, and the account's `scheduled` field now carries it.
1929
+ *
1930
+ * A client branches on the SHAPE and holds no copy of which move takes which
1931
+ * door — which is what let the server move that boundary without a wire
1932
+ * change (2026-08-25).
1907
1933
  */
1908
1934
  type PlanChangeResponse =
1909
1935
  /** GO: a Stripe page finishes the change. Absolute URL, single use, short-lived. */