@waffo/pancake-ts 0.7.0 → 0.9.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.
package/dist/index.d.ts CHANGED
@@ -29,34 +29,56 @@ interface PostOptions {
29
29
  * produce a new key after the window elapses (e.g. 60 = per-minute dedup).
30
30
  */
31
31
  idempotencyWindow?: number;
32
+ /**
33
+ * Skip the X-Idempotency-Key header entirely. Set for read-only queries
34
+ * (e.g. GraphQL) so the gateway's 24h idempotency cache does not serve
35
+ * stale data on identical repeat queries.
36
+ */
37
+ noIdempotency?: boolean;
32
38
  }
33
39
  /**
34
- * Single error object within the `errors` array.
40
+ * Single Notice entry within `errors` or `warnings` arrays.
41
+ *
42
+ * Both REST and GraphQL envelopes use the same Notice shape. `aiHint` is the
43
+ * structured migration instruction for LLM consumers (see handbook
44
+ * `command-layer.md` aiHint four-line template).
35
45
  *
36
46
  * @example
37
47
  * { message: "Store slug already exists", layer: "store" }
48
+ * @example
49
+ * { message: "webhookSettings field ignored", layer: "store",
50
+ * aiHint: "Switch to client.webhooks.add / update / remove" }
38
51
  */
39
- interface ApiError {
40
- /** Error message */
52
+ interface Notice {
53
+ /** Human-readable message */
41
54
  message: string;
42
- /** Layer where the error originated */
55
+ /** Layer that produced this notice */
43
56
  layer: `${ErrorLayer}`;
57
+ /** Structured migration / remediation instruction for LLM consumers */
58
+ aiHint?: string;
44
59
  }
45
- /** Successful API response envelope. */
46
- interface ApiSuccessResponse<T> {
47
- data: T;
48
- }
60
+ /** @deprecated Use {@link Notice}. Kept for backwards compatibility with existing imports. */
61
+ type ApiError = Notice;
49
62
  /**
50
- * Error API response envelope.
63
+ * API response envelope. Both REST writes and GraphQL queries return this shape:
64
+ * - Success: `{ data: T }` (optionally with `warnings`)
65
+ * - Failure: `{ data: null, errors: Notice[] }`
66
+ * - Partial success (GraphQL only): `{ data: T, errors: Notice[] }`
51
67
  *
52
68
  * `errors` are ordered by call stack: `[0]` is the deepest layer, `[n]` is the outermost.
69
+ *
70
+ * See handbook `coding-standards/code-style-guide/command-layer.md` for the wire contract.
53
71
  */
54
- interface ApiErrorResponse {
55
- data: null;
56
- errors: ApiError[];
72
+ interface Envelope<T> {
73
+ data: T | null;
74
+ errors?: Notice[];
75
+ warnings?: Notice[];
76
+ }
77
+ /** Transport-layer result: HTTP status plus the parsed envelope. */
78
+ interface PostResult<T> extends Envelope<T> {
79
+ /** HTTP status code from the response */
80
+ status: number;
57
81
  }
58
- /** Union type of success and error API responses. */
59
- type ApiResponse<T> = ApiSuccessResponse<T> | ApiErrorResponse;
60
82
  /**
61
83
  * Environment type.
62
84
  * @see waffo-pancake-order-service/app/lib/types.ts
@@ -698,6 +720,8 @@ interface CreateCheckoutSessionParams {
698
720
  darkMode?: boolean;
699
721
  /** Custom metadata */
700
722
  metadata?: Record<string, string>;
723
+ /** Order-side business identifier (max 128 chars); inherited by orders, payments, refunds */
724
+ orderMerchantExternalId?: string;
701
725
  }
702
726
  /** Result of creating a checkout session. */
703
727
  interface CheckoutSessionResult {
@@ -759,6 +783,8 @@ interface CreateRefundTicketParams {
759
783
  requestedAmount: RequestedAmount;
760
784
  /** Custom metadata */
761
785
  metadata?: Record<string, unknown>;
786
+ /** Refund-ticket business-side identifier (max 128 chars); inherited by the executed refund on PSP success */
787
+ refundTicketMerchantExternalId?: string;
762
788
  }
763
789
  /** Parameters for resubmitting a rejected refund ticket (buyer-side). */
764
790
  interface ResubmitRefundTicketParams {
@@ -799,6 +825,8 @@ interface RefundTicket {
799
825
  executedAt: string | null;
800
826
  /** Custom metadata */
801
827
  metadata: Record<string, unknown>;
828
+ /** Refund-ticket business-side identifier (max 128 chars, immutable across resubmits) */
829
+ refundTicketMerchantExternalId: string | null;
802
830
  /** Current version number */
803
831
  versionNumber: number | null;
804
832
  /** Current (latest) version data */
@@ -875,7 +903,11 @@ interface GraphQLParams {
875
903
  /** Query variables */
876
904
  variables?: Record<string, unknown>;
877
905
  }
878
- /** GraphQL response envelope. */
906
+ /**
907
+ * GraphQL response envelope. Same shape as {@link Envelope}, but `errors` entries
908
+ * may additionally carry `locations` and `path` (graphql-js fields). The `layer`
909
+ * field is optional on GraphQL because resolver errors don't carry one.
910
+ */
879
911
  interface GraphQLResponse<T = Record<string, unknown>> {
880
912
  data: T | null;
881
913
  errors?: Array<{
@@ -886,12 +918,10 @@ interface GraphQLResponse<T = Record<string, unknown>> {
886
918
  }>;
887
919
  path?: string[];
888
920
  aiHint?: string;
921
+ /** Service stage that produced the error ("graphql", "gateway"). Resolver errors omit it. */
922
+ layer?: string;
889
923
  }>;
890
- warnings?: Array<{
891
- message: string;
892
- layer: string;
893
- aiHint?: string;
894
- }>;
924
+ warnings?: Notice[];
895
925
  }
896
926
  /**
897
927
  * Webhook event types.
@@ -930,6 +960,10 @@ interface WebhookEventData {
930
960
  buyerEmail: string;
931
961
  /** Merchant-provided buyer identity from checkout session */
932
962
  merchantProvidedBuyerIdentity?: string;
963
+ /** Order business identifier; present on order/payment + refund events (inherited from order) */
964
+ orderMerchantExternalId?: string;
965
+ /** Refund-ticket business identifier; only present on refund.* events */
966
+ refundTicketMerchantExternalId?: string;
933
967
  currency: string;
934
968
  /** Billing/shipping address (structured object) */
935
969
  billingDetail?: Record<string, unknown>;
@@ -1059,10 +1093,16 @@ interface VerifyWebhookOptions {
1059
1093
  }
1060
1094
 
1061
1095
  /**
1062
- * Internal HTTP client that auto-signs requests and attaches idempotency keys.
1096
+ * Internal HTTP client that auto-signs requests.
1063
1097
  *
1064
- * The `X-Merchant-Id` header is sent in `MER_{base62}` format as provided by the user.
1065
- * The gateway decodes it to a raw UUID before forwarding to downstream services.
1098
+ * The transport is intentionally thin: one {@link post} method that signs,
1099
+ * sends, and parses the {data, errors?, warnings?} envelope. It does NOT
1100
+ * unwrap `data`, throw on `errors[]`, or hide `warnings` — those are policy
1101
+ * choices that belong to the resource layer. See handbook
1102
+ * `coding-standards/code-style-guide/command-layer.md`.
1103
+ *
1104
+ * The `X-Merchant-Id` header is sent in `MER_{base62}` format as provided
1105
+ * by the user. The gateway decodes it to a raw UUID before forwarding.
1066
1106
  *
1067
1107
  * Not exported publicly — used by resource classes via {@link WaffoPancake}.
1068
1108
  */
@@ -1073,23 +1113,24 @@ declare class HttpClient {
1073
1113
  private readonly _fetch;
1074
1114
  constructor(config: WaffoPancakeConfig);
1075
1115
  /**
1076
- * Send a signed POST request and return the parsed `data` field.
1116
+ * Send a signed POST and return the full envelope plus HTTP status.
1077
1117
  *
1078
1118
  * Behavior:
1079
- * - Generates a deterministic `X-Idempotency-Key` from `merchantId + path + body` (same request produces same key)
1080
- * - When `idempotencyWindow` is set, a floored timestamp is mixed into the key so identical params produce
1081
- * a new key after the window elapses (useful for checkout where repeated creation is intentional)
1082
- * - Auto-builds RSA-SHA256 signature (`X-Merchant-Id` / `X-Timestamp` / `X-Signature`)
1083
- * - Unwraps the response envelope: returns `data` on success, throws `WaffoPancakeError` on failure
1084
- *
1085
- * @param path - API path (e.g. `/v1/actions/store/create-store`)
1119
+ * - Builds RSA-SHA256 signature (`X-Merchant-Id` / `X-Timestamp` / `X-Signature`)
1120
+ * - Attaches `X-Idempotency-Key` (deterministic `sha256(merchantId + path + body)`)
1121
+ * unless `options.noIdempotency` is set
1122
+ * - When `options.idempotencyWindow` is set, a floored timestamp is mixed into the
1123
+ * key so identical params produce a new key after the window elapses
1124
+ * - Does NOT throw on `errors[]` or non-2xx status — caller inspects the result
1125
+ * - Throws {@link WaffoPancakeError} only on transport failures (non-JSON body)
1126
+ *
1127
+ * @param path - API path (e.g. `/v1/actions/store/create-store`, `/v1/graphql`)
1086
1128
  * @param body - Request body object
1087
1129
  * @param options - Optional settings
1088
- * @param options.idempotencyWindow - Time window in seconds for idempotency key rotation (e.g. 60 = per-minute dedup)
1089
- * @returns Parsed `data` field from the response
1090
- * @throws {WaffoPancakeError} When the API returns errors
1130
+ * @returns Parsed envelope with HTTP status
1131
+ * @throws {WaffoPancakeError} When the response body is not valid JSON
1091
1132
  */
1092
- post<T>(path: string, body: object, options?: PostOptions): Promise<T>;
1133
+ post<T>(path: string, body: object, options?: PostOptions): Promise<PostResult<T>>;
1093
1134
  }
1094
1135
 
1095
1136
  /** Authentication resource — issue session tokens for buyers. */
@@ -1116,14 +1157,18 @@ declare class AuthResource {
1116
1157
  * buyerIdentity: "customer@example.com",
1117
1158
  * });
1118
1159
  */
1119
- issueSessionToken(params: IssueSessionTokenParams): Promise<SessionToken>;
1160
+ issueSessionToken(params: IssueSessionTokenParams): Promise<SessionToken & {
1161
+ warnings?: Notice[];
1162
+ }>;
1120
1163
  }
1121
1164
 
1122
1165
  /**
1123
1166
  * Internal HTTP client for buyer-side requests using Bearer token authentication.
1124
1167
  *
1125
1168
  * Unlike {@link HttpClient} which signs requests with RSA-SHA256 (API Key auth),
1126
- * this client attaches a session token as `Authorization: Bearer <token>`.
1169
+ * this client attaches a session token as `Authorization: Bearer <token>` and
1170
+ * never sends an idempotency key (buyer session actions are not protected by
1171
+ * gateway idempotency in the current architecture).
1127
1172
  *
1128
1173
  * Not exported publicly — used internally by {@link BuyerSession}.
1129
1174
  */
@@ -1133,14 +1178,12 @@ declare class BuyerHttpClient {
1133
1178
  private readonly _fetch;
1134
1179
  constructor(token: string, config: Pick<WaffoPancakeConfig, "baseUrl" | "fetch">);
1135
1180
  /**
1136
- * Send a Bearer-authenticated POST request and return the parsed `data` field.
1181
+ * Send a Bearer-authenticated POST and return the full envelope plus HTTP status.
1137
1182
  *
1138
- * @param path - API path
1139
- * @param body - Request body object
1140
- * @returns Parsed `data` field from the response
1141
- * @throws {WaffoPancakeError} When the API returns errors
1183
+ * Does NOT throw on `errors[]` or non-2xx status — caller inspects the result.
1184
+ * Throws {@link WaffoPancakeError} only when the response body is not valid JSON.
1142
1185
  */
1143
- post<T>(path: string, body: object): Promise<T>;
1186
+ post<T>(path: string, body: object): Promise<PostResult<T>>;
1144
1187
  }
1145
1188
 
1146
1189
  /**
@@ -1172,7 +1215,9 @@ declare class BuyerSession {
1172
1215
  * const { orderId, status } = await buyer.cancelSubscription({ orderId: "ORD_xxx" });
1173
1216
  * // status: "canceled" (was pending) or "canceling" (was active)
1174
1217
  */
1175
- cancelSubscription(params: CancelSubscriptionParams): Promise<CancelSubscriptionResult>;
1218
+ cancelSubscription(params: CancelSubscriptionParams): Promise<CancelSubscriptionResult & {
1219
+ warnings?: Notice[];
1220
+ }>;
1176
1221
  /**
1177
1222
  * Cancel a one-time order (only while payment is still pending).
1178
1223
  *
@@ -1182,7 +1227,9 @@ declare class BuyerSession {
1182
1227
  * @example
1183
1228
  * const { orderId, status } = await buyer.cancelOnetimeOrder({ orderId: "ORD_xxx" });
1184
1229
  */
1185
- cancelOnetimeOrder(params: CancelOnetimeOrderParams): Promise<CancelOnetimeOrderResult>;
1230
+ cancelOnetimeOrder(params: CancelOnetimeOrderParams): Promise<CancelOnetimeOrderResult & {
1231
+ warnings?: Notice[];
1232
+ }>;
1186
1233
  /**
1187
1234
  * Reactivate a subscription that is in `canceling` status.
1188
1235
  *
@@ -1193,7 +1240,9 @@ declare class BuyerSession {
1193
1240
  * const { orderId, status } = await buyer.reactivateSubscription({ orderId: "ORD_xxx" });
1194
1241
  * // status: "active"
1195
1242
  */
1196
- reactivateSubscription(params: ReactivateSubscriptionParams): Promise<ReactivateSubscriptionResult>;
1243
+ reactivateSubscription(params: ReactivateSubscriptionParams): Promise<ReactivateSubscriptionResult & {
1244
+ warnings?: Notice[];
1245
+ }>;
1197
1246
  /**
1198
1247
  * Submit a refund request for a payment.
1199
1248
  *
@@ -1205,10 +1254,12 @@ declare class BuyerSession {
1205
1254
  * paymentId: "PAY_xxx",
1206
1255
  * reason: "Product not as described",
1207
1256
  * requestedAmount: { amount: "29.00", currency: "USD" },
1257
+ * refundTicketMerchantExternalId: "REF-2026-00891",
1208
1258
  * });
1209
1259
  */
1210
1260
  createRefundTicket(params: CreateRefundTicketParams): Promise<{
1211
1261
  ticket: RefundTicket;
1262
+ warnings?: Notice[];
1212
1263
  }>;
1213
1264
  /**
1214
1265
  * Resubmit a previously rejected refund ticket with updated details.
@@ -1226,6 +1277,7 @@ declare class BuyerSession {
1226
1277
  */
1227
1278
  resubmitRefundTicket(params: ResubmitRefundTicketParams): Promise<{
1228
1279
  ticket: RefundTicket;
1280
+ warnings?: Notice[];
1229
1281
  }>;
1230
1282
  }
1231
1283
  /**
@@ -1272,15 +1324,18 @@ declare class CheckoutAnonymousResource {
1272
1324
  * });
1273
1325
  *
1274
1326
  * @example
1275
- * // Pre-fill email and billing without issuing a session token
1327
+ * // Pre-fill email + billing + attach business-side order reference
1276
1328
  * const result = await client.checkout.anonymous.create({
1277
1329
  * productId: "PROD_xxx",
1278
1330
  * currency: "USD",
1279
1331
  * buyerEmail: "customer@example.com",
1280
1332
  * billingDetail: { country: "US", isBusiness: false, postcode: "10001" },
1333
+ * orderMerchantExternalId: "ORDER-2026-00891",
1281
1334
  * });
1282
1335
  */
1283
- create(params: AnonymousCheckoutParams): Promise<CheckoutSessionResult>;
1336
+ create(params: AnonymousCheckoutParams): Promise<CheckoutSessionResult & {
1337
+ warnings?: Notice[];
1338
+ }>;
1284
1339
  }
1285
1340
 
1286
1341
  /**
@@ -1313,10 +1368,13 @@ declare class CheckoutAuthenticatedResource {
1313
1368
  * currency: "USD",
1314
1369
  * buyerIdentity: "user-123",
1315
1370
  * buyerEmail: "customer@example.com",
1371
+ * orderMerchantExternalId: "ORDER-2026-00891",
1316
1372
  * });
1317
1373
  * // Redirect to result.checkoutUrl (includes #token=...)
1318
1374
  */
1319
- create(params: AuthenticatedCheckoutParams): Promise<AuthenticatedCheckoutResult>;
1375
+ create(params: AuthenticatedCheckoutParams): Promise<AuthenticatedCheckoutResult & {
1376
+ warnings?: Notice[];
1377
+ }>;
1320
1378
  }
1321
1379
 
1322
1380
  /**
@@ -1369,7 +1427,9 @@ declare class CheckoutResource {
1369
1427
  * });
1370
1428
  * // Redirect to session.checkoutUrl
1371
1429
  */
1372
- createSession(params: CreateCheckoutSessionParams): Promise<CheckoutSessionResult>;
1430
+ createSession(params: CreateCheckoutSessionParams): Promise<CheckoutSessionResult & {
1431
+ warnings?: Notice[];
1432
+ }>;
1373
1433
  }
1374
1434
 
1375
1435
  /** GraphQL query resource (Query only, no Mutations). */
@@ -1416,6 +1476,7 @@ declare class OnetimeProductsResource {
1416
1476
  */
1417
1477
  create(params: CreateOnetimeProductParams): Promise<{
1418
1478
  product: OnetimeProductDetail;
1479
+ warnings?: Notice[];
1419
1480
  }>;
1420
1481
  /**
1421
1482
  * Update a one-time product. Creates a new version; skips if unchanged.
@@ -1439,6 +1500,7 @@ declare class OnetimeProductsResource {
1439
1500
  */
1440
1501
  update(params: UpdateOnetimeProductParams): Promise<{
1441
1502
  product: OnetimeProductDetail;
1503
+ warnings?: Notice[];
1442
1504
  }>;
1443
1505
  /**
1444
1506
  * Publish a one-time product's test version to production.
@@ -1451,6 +1513,7 @@ declare class OnetimeProductsResource {
1451
1513
  */
1452
1514
  publish(params: PublishOnetimeProductParams): Promise<{
1453
1515
  product: OnetimeProductDetail;
1516
+ warnings?: Notice[];
1454
1517
  }>;
1455
1518
  /**
1456
1519
  * Update a one-time product's status (active/inactive).
@@ -1466,6 +1529,7 @@ declare class OnetimeProductsResource {
1466
1529
  */
1467
1530
  updateStatus(params: UpdateOnetimeStatusParams): Promise<{
1468
1531
  product: OnetimeProductDetail;
1532
+ warnings?: Notice[];
1469
1533
  }>;
1470
1534
  }
1471
1535
 
@@ -1488,7 +1552,9 @@ declare class OrdersResource {
1488
1552
  * });
1489
1553
  * // status: "canceled" or "canceling"
1490
1554
  */
1491
- cancelSubscription(params: CancelSubscriptionParams): Promise<CancelSubscriptionResult>;
1555
+ cancelSubscription(params: CancelSubscriptionParams): Promise<CancelSubscriptionResult & {
1556
+ warnings?: Notice[];
1557
+ }>;
1492
1558
  }
1493
1559
 
1494
1560
  /** Store merchant management resource (coming soon — endpoints return 501). */
@@ -1508,7 +1574,9 @@ declare class StoreMerchantsResource {
1508
1574
  * role: "admin",
1509
1575
  * });
1510
1576
  */
1511
- add(params: AddMerchantParams): Promise<AddMerchantResult>;
1577
+ add(params: AddMerchantParams): Promise<AddMerchantResult & {
1578
+ warnings?: Notice[];
1579
+ }>;
1512
1580
  /**
1513
1581
  * Remove a merchant from a store.
1514
1582
  *
@@ -1521,7 +1589,9 @@ declare class StoreMerchantsResource {
1521
1589
  * merchantId: "MER_xxx",
1522
1590
  * });
1523
1591
  */
1524
- remove(params: RemoveMerchantParams): Promise<RemoveMerchantResult>;
1592
+ remove(params: RemoveMerchantParams): Promise<RemoveMerchantResult & {
1593
+ warnings?: Notice[];
1594
+ }>;
1525
1595
  /**
1526
1596
  * Update a merchant's role in a store.
1527
1597
  *
@@ -1535,7 +1605,9 @@ declare class StoreMerchantsResource {
1535
1605
  * role: "member",
1536
1606
  * });
1537
1607
  */
1538
- updateRole(params: UpdateRoleParams): Promise<UpdateRoleResult>;
1608
+ updateRole(params: UpdateRoleParams): Promise<UpdateRoleResult & {
1609
+ warnings?: Notice[];
1610
+ }>;
1539
1611
  }
1540
1612
 
1541
1613
  /** Store management resource — create, update, and delete stores. */
@@ -1553,6 +1625,7 @@ declare class StoresResource {
1553
1625
  */
1554
1626
  create(params: CreateStoreParams): Promise<{
1555
1627
  store: Store;
1628
+ warnings?: Notice[];
1556
1629
  }>;
1557
1630
  /**
1558
1631
  * Update an existing store's settings.
@@ -1584,6 +1657,7 @@ declare class StoresResource {
1584
1657
  */
1585
1658
  update(params: UpdateStoreParams): Promise<{
1586
1659
  store: Store;
1660
+ warnings?: Notice[];
1587
1661
  }>;
1588
1662
  /**
1589
1663
  * Soft-delete a store. Only the owner can delete.
@@ -1596,6 +1670,7 @@ declare class StoresResource {
1596
1670
  */
1597
1671
  delete(params: DeleteStoreParams): Promise<{
1598
1672
  store: Store;
1673
+ warnings?: Notice[];
1599
1674
  }>;
1600
1675
  }
1601
1676
 
@@ -1619,6 +1694,7 @@ declare class SubscriptionProductGroupsResource {
1619
1694
  */
1620
1695
  create(params: CreateSubscriptionProductGroupParams): Promise<{
1621
1696
  group: SubscriptionProductGroup;
1697
+ warnings?: Notice[];
1622
1698
  }>;
1623
1699
  /**
1624
1700
  * Update a subscription product group. `productIds` is a full replacement.
@@ -1634,6 +1710,7 @@ declare class SubscriptionProductGroupsResource {
1634
1710
  */
1635
1711
  update(params: UpdateSubscriptionProductGroupParams): Promise<{
1636
1712
  group: SubscriptionProductGroup;
1713
+ warnings?: Notice[];
1637
1714
  }>;
1638
1715
  /**
1639
1716
  * Hard-delete a subscription product group.
@@ -1646,6 +1723,7 @@ declare class SubscriptionProductGroupsResource {
1646
1723
  */
1647
1724
  delete(params: DeleteSubscriptionProductGroupParams): Promise<{
1648
1725
  group: SubscriptionProductGroup;
1726
+ warnings?: Notice[];
1649
1727
  }>;
1650
1728
  /**
1651
1729
  * Publish a test-environment group to production (upsert).
@@ -1658,6 +1736,7 @@ declare class SubscriptionProductGroupsResource {
1658
1736
  */
1659
1737
  publish(params: PublishSubscriptionProductGroupParams): Promise<{
1660
1738
  group: SubscriptionProductGroup;
1739
+ warnings?: Notice[];
1661
1740
  }>;
1662
1741
  }
1663
1742
 
@@ -1681,6 +1760,7 @@ declare class SubscriptionProductsResource {
1681
1760
  */
1682
1761
  create(params: CreateSubscriptionProductParams): Promise<{
1683
1762
  product: SubscriptionProductDetail;
1763
+ warnings?: Notice[];
1684
1764
  }>;
1685
1765
  /**
1686
1766
  * Update a subscription product. Creates a new version; skips if unchanged.
@@ -1705,6 +1785,7 @@ declare class SubscriptionProductsResource {
1705
1785
  */
1706
1786
  update(params: UpdateSubscriptionProductParams): Promise<{
1707
1787
  product: SubscriptionProductDetail;
1788
+ warnings?: Notice[];
1708
1789
  }>;
1709
1790
  /**
1710
1791
  * Publish a subscription product's test version to production.
@@ -1717,6 +1798,7 @@ declare class SubscriptionProductsResource {
1717
1798
  */
1718
1799
  publish(params: PublishSubscriptionProductParams): Promise<{
1719
1800
  product: SubscriptionProductDetail;
1801
+ warnings?: Notice[];
1720
1802
  }>;
1721
1803
  /**
1722
1804
  * Update a subscription product's status (active/inactive).
@@ -1732,6 +1814,7 @@ declare class SubscriptionProductsResource {
1732
1814
  */
1733
1815
  updateStatus(params: UpdateSubscriptionStatusParams): Promise<{
1734
1816
  product: SubscriptionProductDetail;
1817
+ warnings?: Notice[];
1735
1818
  }>;
1736
1819
  }
1737
1820
 
@@ -1793,6 +1876,7 @@ declare class WebhooksResource {
1793
1876
  */
1794
1877
  add(params: AddWebhookParams): Promise<{
1795
1878
  webhook: StoreWebhook;
1879
+ warnings?: Notice[];
1796
1880
  }>;
1797
1881
  /**
1798
1882
  * Update an existing webhook (only `url`, `events`, and `secret` are mutable).
@@ -1812,6 +1896,7 @@ declare class WebhooksResource {
1812
1896
  */
1813
1897
  update(params: UpdateWebhookParams): Promise<{
1814
1898
  webhook: StoreWebhook;
1899
+ warnings?: Notice[];
1815
1900
  }>;
1816
1901
  /**
1817
1902
  * Hard-delete a webhook. Historical `webhook_deliveries` rows are retained
@@ -1825,6 +1910,7 @@ declare class WebhooksResource {
1825
1910
  */
1826
1911
  remove(params: RemoveWebhookParams): Promise<{
1827
1912
  webhook: StoreWebhook;
1913
+ warnings?: Notice[];
1828
1914
  }>;
1829
1915
  /**
1830
1916
  * Verify and parse an incoming webhook event.
@@ -2017,4 +2103,4 @@ declare class WaffoPancakeError extends Error {
2017
2103
  */
2018
2104
  declare function verifyWebhook<T = Record<string, unknown>>(payload: string, signatureHeader: string | undefined | null, options?: VerifyWebhookOptions): WebhookEvent<T>;
2019
2105
 
2020
- export { type AddMerchantParams, type AddMerchantResult, type AddWebhookParams, type AnonymousCheckoutParams, type ApiError, type ApiErrorResponse, type ApiResponse, type ApiSuccessResponse, type AuthenticatedCheckoutParams, type AuthenticatedCheckoutResult, type BillingDetail, BillingPeriod, type CancelOnetimeOrderParams, type CancelOnetimeOrderResult, type CancelSubscriptionParams, type CancelSubscriptionResult, type CheckoutSessionResult, type CheckoutSettings, type CheckoutThemeSettings, type CreateCheckoutSessionParams, type CreateOnetimeProductParams, type CreateRefundTicketParams, type CreateStoreParams, type CreateSubscriptionProductGroupParams, type CreateSubscriptionProductParams, type DeleteStoreParams, type DeleteSubscriptionProductGroupParams, EntityStatus, Environment, ErrorLayer, type GraphQLParams, type GraphQLResponse, type GroupRules, type IssueSessionTokenParams, type MediaItem, MediaType, type NotificationSettings, OnetimeOrderStatus, type OnetimeProductDetail, PaymentStatus, type PriceInfo, type Prices, ProductVersionStatus, type PublishOnetimeProductParams, type PublishSubscriptionProductGroupParams, type PublishSubscriptionProductParams, type ReactivateSubscriptionParams, type ReactivateSubscriptionResult, RefundStatus, type RefundTicket, RefundTicketStatus, type RefundTicketVersionData, type RemoveMerchantParams, type RemoveMerchantResult, type RemoveWebhookParams, type RequestedAmount, type ResubmitRefundTicketParams, type SessionToken, type Store, StoreRole, type StoreWebhook, SubscriptionOrderStatus, type SubscriptionProductDetail, type SubscriptionProductGroup, TaxCategory, type UpdateOnetimeProductParams, type UpdateOnetimeStatusParams, type UpdateRoleParams, type UpdateRoleResult, type UpdateStoreParams, type UpdateSubscriptionProductGroupParams, type UpdateSubscriptionProductParams, type UpdateSubscriptionStatusParams, type UpdateWebhookParams, type VerifyWebhookOptions, WaffoPancake, type WaffoPancakeConfig, WaffoPancakeError, type WebhookChannel, type WebhookEvent, type WebhookEventData, WebhookEventType, type WebhookPublicKeys, verifyWebhook };
2106
+ export { type AddMerchantParams, type AddMerchantResult, type AddWebhookParams, type AnonymousCheckoutParams, type ApiError, type AuthenticatedCheckoutParams, type AuthenticatedCheckoutResult, type BillingDetail, BillingPeriod, type CancelOnetimeOrderParams, type CancelOnetimeOrderResult, type CancelSubscriptionParams, type CancelSubscriptionResult, type CheckoutSessionResult, type CheckoutSettings, type CheckoutThemeSettings, type CreateCheckoutSessionParams, type CreateOnetimeProductParams, type CreateRefundTicketParams, type CreateStoreParams, type CreateSubscriptionProductGroupParams, type CreateSubscriptionProductParams, type DeleteStoreParams, type DeleteSubscriptionProductGroupParams, EntityStatus, type Envelope, Environment, ErrorLayer, type GraphQLParams, type GraphQLResponse, type GroupRules, type IssueSessionTokenParams, type MediaItem, MediaType, type Notice, type NotificationSettings, OnetimeOrderStatus, type OnetimeProductDetail, PaymentStatus, type PostResult, type PriceInfo, type Prices, ProductVersionStatus, type PublishOnetimeProductParams, type PublishSubscriptionProductGroupParams, type PublishSubscriptionProductParams, type ReactivateSubscriptionParams, type ReactivateSubscriptionResult, RefundStatus, type RefundTicket, RefundTicketStatus, type RefundTicketVersionData, type RemoveMerchantParams, type RemoveMerchantResult, type RemoveWebhookParams, type RequestedAmount, type ResubmitRefundTicketParams, type SessionToken, type Store, StoreRole, type StoreWebhook, SubscriptionOrderStatus, type SubscriptionProductDetail, type SubscriptionProductGroup, TaxCategory, type UpdateOnetimeProductParams, type UpdateOnetimeStatusParams, type UpdateRoleParams, type UpdateRoleResult, type UpdateStoreParams, type UpdateSubscriptionProductGroupParams, type UpdateSubscriptionProductParams, type UpdateSubscriptionStatusParams, type UpdateWebhookParams, type VerifyWebhookOptions, WaffoPancake, type WaffoPancakeConfig, WaffoPancakeError, type WebhookChannel, type WebhookEvent, type WebhookEventData, WebhookEventType, type WebhookPublicKeys, verifyWebhook };