platform-types 1.10.724 → 1.10.725

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.
@@ -882,8 +882,12 @@ declare global {
882
882
  * non-null value for one is refused (`PLAN_GRANT_UNKNOWN_KEY`).
883
883
  */
884
884
  grants: Record<string, Partial<Record<PlanTier, PlanGrantValue | null>>>;
885
- /** Screened operator reason (10-500 characters, no personal data); lands in each tier's audit entry. */
886
- reason: string;
885
+ /**
886
+ * Optional on a draft edit: the reason that lands in the permanent audit
887
+ * rows is the publish's (`PlanCataloguePublishInput.reason`). Still
888
+ * screened when sent (10-500 characters, no personal data).
889
+ */
890
+ reason?: string;
887
891
  /**
888
892
  * Accepted and NOT checked: a grant edit writes the draft, and the echo that
889
893
  * gates what readers see is the publish's (`PlanCataloguePublishInput.confirm`).
@@ -891,6 +895,36 @@ declare global {
891
895
  confirm?: string;
892
896
  /** `true` writes nothing and returns the impact plus the `confirm` string. */
893
897
  dryRun?: boolean;
898
+ /**
899
+ * The draft revision the editor read (`GET /platform/billing/plans/draft`),
900
+ * or `null` when there was no draft. Checked when sent: a stale one is
901
+ * `409 PLAN_CATALOGUE_REVISION_CONFLICT` and nothing is written.
902
+ */
903
+ expectedDraftRevision?: string | null;
904
+ }
905
+ /**
906
+ * The body of `PATCH /platform/billing/plans/{tier}`: template fields written
907
+ * to the DRAFT catalogue only (customers see them after a publish). Every
908
+ * field is optional; a `null` clears a nullable one. Grants go through
909
+ * `PATCH /platform/billing/plans/grants` (a body carrying `features` or
910
+ * `grants` is `400 PLAN_GRANTS_USE_GRANTS_ROUTE`), and the retired `bullets`
911
+ * copy is refused.
912
+ */
913
+ interface PlanTemplatePatchRequest {
914
+ name?: string;
915
+ description?: string;
916
+ displayOrder?: number;
917
+ isActive?: boolean;
918
+ isPopular?: boolean;
919
+ /** `#rgb` or `#rrggbb`; `null` clears it. */
920
+ color?: string | null;
921
+ priceMonthlyCents?: number | null;
922
+ priceAnnualCents?: number | null;
923
+ currency?: Plan['currency'];
924
+ /** Optional on a draft edit; still screened when sent. The audited reason is the publish's. */
925
+ reason?: string;
926
+ /** As on {@link PlanGrantsWriteRequest.expectedDraftRevision}. */
927
+ expectedDraftRevision?: string | null;
894
928
  }
895
929
  /** One key's effective grant on one tier, before and after the write. */
896
930
  interface PlanGrantChange {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "platform-types",
3
- "version": "1.10.724",
3
+ "version": "1.10.725",
4
4
  "description": "Shared wire and entity contracts for the platform.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",