@shipstatic/ship 3.4.0-beta.3 → 3.4.0-beta.4

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.d.cts CHANGED
@@ -734,8 +734,9 @@ type AccountPlanType = (typeof AccountPlan)[keyof typeof AccountPlan];
734
734
  * "unlimited" — so no consumer needs an "is it bounded?" branch. A cap of `0`
735
735
  * means the plan does not have the feature at all; a cap of `N` bounds
736
736
  * creation, and what an account already holds above a cap stays until a plan
737
- * TRANSITION fits it (excess paused, newest first — a domain is the only kind
738
- * that pauses).
737
+ * TRANSITION fits it: excess domains are paused, newest first, and members
738
+ * are paused together while the account holds more than its cap. Deployments
739
+ * never pause; above their cap they only block creation.
739
740
  *
740
741
  * A count is an aggregate over a collection, so it lives on the summary
741
742
  * resource that owns the collection: `GET /account` for one caller, `GET
@@ -941,10 +942,12 @@ interface Account {
941
942
  * from where the account stands. It excludes the plan and cadence the
942
943
  * account already holds and the one move the door refuses, a dearer tier
943
944
  * at a shorter interval (an immediate move would mint a proration credit,
944
- * a deferred one would make a customer asking for more wait a year). The
945
- * rule's owner is the platform's plan table; a console feeds these
946
- * intervals into its own move model instead of restating it. Additive:
947
- * absent on responses that predate it, and a client then derives as it did.
945
+ * a deferred one would make a customer asking for more wait a year). A
946
+ * cheaper tier the account does not yet fit is listed with what stands in
947
+ * the way ({@link PlanDestination.excess}). The rule's owner is the
948
+ * platform's plan table; a console feeds these rows into its own move
949
+ * model instead of restating it. Additive: absent on responses that
950
+ * predate it, and a client then derives as it did.
948
951
  */
949
952
  readonly destinations?: PlanDestination[];
950
953
  }
@@ -956,6 +959,15 @@ interface Account {
956
959
  interface PlanDestination {
957
960
  readonly plan: AccountPlanType;
958
961
  readonly intervals: BillingInterval[];
962
+ /**
963
+ * What the account holds beyond what this plan allows: per kind, how many
964
+ * to remove. Present only on a cheaper tier the account does not fit, and
965
+ * then never empty. A move down a tier pauses nothing, so the change door
966
+ * refuses it until the account fits: the owner removes the excess, and the
967
+ * field is gone from the next read. Which kinds count is the platform's to
968
+ * decide; a client renders the keys it is given.
969
+ */
970
+ readonly excess?: Partial<Caps>;
959
971
  }
960
972
  /**
961
973
  * Acknowledgement of `DELETE /account` (202). Termination is asynchronous —
@@ -2484,6 +2496,11 @@ interface PlansResponse {
2484
2496
  * consent), and a billed account moving down gets a Stripe Subscription
2485
2497
  * Schedule that applies the change at period end. The answer says which
2486
2498
  * happened ({@link PlanChangeResponse}).
2499
+ *
2500
+ * A move down a tier is refused while the account holds more than the
2501
+ * destination allows (400, `details.excess` in {@link PlanDestination.excess}'s
2502
+ * shape): nothing is paused for a change the owner chose, so the account fits
2503
+ * first.
2487
2504
  */
2488
2505
  interface PlanChangeRequest {
2489
2506
  readonly plan: AccountPlanType;
package/dist/index.d.ts CHANGED
@@ -734,8 +734,9 @@ type AccountPlanType = (typeof AccountPlan)[keyof typeof AccountPlan];
734
734
  * "unlimited" — so no consumer needs an "is it bounded?" branch. A cap of `0`
735
735
  * means the plan does not have the feature at all; a cap of `N` bounds
736
736
  * creation, and what an account already holds above a cap stays until a plan
737
- * TRANSITION fits it (excess paused, newest first — a domain is the only kind
738
- * that pauses).
737
+ * TRANSITION fits it: excess domains are paused, newest first, and members
738
+ * are paused together while the account holds more than its cap. Deployments
739
+ * never pause; above their cap they only block creation.
739
740
  *
740
741
  * A count is an aggregate over a collection, so it lives on the summary
741
742
  * resource that owns the collection: `GET /account` for one caller, `GET
@@ -941,10 +942,12 @@ interface Account {
941
942
  * from where the account stands. It excludes the plan and cadence the
942
943
  * account already holds and the one move the door refuses, a dearer tier
943
944
  * at a shorter interval (an immediate move would mint a proration credit,
944
- * a deferred one would make a customer asking for more wait a year). The
945
- * rule's owner is the platform's plan table; a console feeds these
946
- * intervals into its own move model instead of restating it. Additive:
947
- * absent on responses that predate it, and a client then derives as it did.
945
+ * a deferred one would make a customer asking for more wait a year). A
946
+ * cheaper tier the account does not yet fit is listed with what stands in
947
+ * the way ({@link PlanDestination.excess}). The rule's owner is the
948
+ * platform's plan table; a console feeds these rows into its own move
949
+ * model instead of restating it. Additive: absent on responses that
950
+ * predate it, and a client then derives as it did.
948
951
  */
949
952
  readonly destinations?: PlanDestination[];
950
953
  }
@@ -956,6 +959,15 @@ interface Account {
956
959
  interface PlanDestination {
957
960
  readonly plan: AccountPlanType;
958
961
  readonly intervals: BillingInterval[];
962
+ /**
963
+ * What the account holds beyond what this plan allows: per kind, how many
964
+ * to remove. Present only on a cheaper tier the account does not fit, and
965
+ * then never empty. A move down a tier pauses nothing, so the change door
966
+ * refuses it until the account fits: the owner removes the excess, and the
967
+ * field is gone from the next read. Which kinds count is the platform's to
968
+ * decide; a client renders the keys it is given.
969
+ */
970
+ readonly excess?: Partial<Caps>;
959
971
  }
960
972
  /**
961
973
  * Acknowledgement of `DELETE /account` (202). Termination is asynchronous —
@@ -2484,6 +2496,11 @@ interface PlansResponse {
2484
2496
  * consent), and a billed account moving down gets a Stripe Subscription
2485
2497
  * Schedule that applies the change at period end. The answer says which
2486
2498
  * happened ({@link PlanChangeResponse}).
2499
+ *
2500
+ * A move down a tier is refused while the account holds more than the
2501
+ * destination allows (400, `details.excess` in {@link PlanDestination.excess}'s
2502
+ * shape): nothing is paused for a change the owner chose, so the account fits
2503
+ * first.
2487
2504
  */
2488
2505
  interface PlanChangeRequest {
2489
2506
  readonly plan: AccountPlanType;