platform-types 1.10.702 → 1.10.703

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/basket.d.ts CHANGED
@@ -63,9 +63,9 @@ declare global {
63
63
  }
64
64
  }
65
65
  /**
66
- * Domain refusals from POST /baskets: legacy replacement, named cart actions,
67
- * and park/resume. Check GATING_ERROR_CODES separately for middleware and role
68
- * refusals. GET /baskets and storefront-only refusals are outside this tuple.
66
+ * Domain refusals from POST /baskets (replacement, named actions and park/resume)
67
+ * and GET /baskets?mode=review. Check GATING_ERROR_CODES separately for middleware
68
+ * and role refusals. Other GET modes and storefront-only refusals remain separate.
69
69
  *
70
70
  * Coupon and promotion reasons are forwarded from evaluateCoupon and
71
71
  * evaluatePromotion (stacks/services/coupons.ts and promotions.ts). Checkout's
@@ -74,6 +74,6 @@ declare global {
74
74
  * priceHandler.resolveLineStamp. The legacy loose body also reaches the shared
75
75
  * foreign-index-key guard; its owned terminalId is validated before that guard.
76
76
  */
77
- export declare const BASKET_ERROR_CODES: readonly ["VALIDATION_FAILED", "FOREIGN_INDEX_KEY_ATTRIBUTE", "CART_TARGET_REQUIRED", "CART_NOT_FOUND", "CART_NOT_PARKED", "CART_ALREADY_PARKED", "TERMINAL_INDEX_UNAVAILABLE", "PRODUCT_NOT_FOUND", "PRODUCT_COST_UNKNOWN", "UNIT_QUANTITY_NOT_WHOLE", "BASKET_VERSION_CONFLICT", "BASKET_LINE_LIMIT", "BASKET_SIZE_LIMIT", "UNKNOWN_LINE", "INVALID_PRICE", "LINE_DISCOUNT_NOT_ALLOWED", "LINE_DISCOUNT_EXCEEDS_MAX", "FX_CONVERSION_UNAVAILABLE", "COUPON_NOT_FOUND", "COUPON_NOT_ACTIVE", "COUPON_EXPIRED", "COUPON_EXHAUSTED", "COUPON_MIN_SUBTOTAL", "COUPON_REQUIRES_CUSTOMER", "COUPON_BUDGET_EXHAUSTED", "COUPON_RATE_LIMITED", "COUPON_CURRENCY_MISMATCH", "PROMOTION_NOT_FOUND", "PROMOTION_NOT_ACTIVE", "PROMOTION_NOT_STARTED", "PROMOTION_EXPIRED", "PROMOTION_NOT_CART_APPLICABLE"];
77
+ export declare const BASKET_ERROR_CODES: readonly ["VALIDATION_FAILED", "FOREIGN_INDEX_KEY_ATTRIBUTE", "CART_TARGET_REQUIRED", "CART_NOT_FOUND", "CART_REVIEW_INCOMPLETE", "CART_REVIEW_UNAVAILABLE", "CART_NOT_PARKED", "CART_ALREADY_PARKED", "TERMINAL_INDEX_UNAVAILABLE", "PRODUCT_NOT_FOUND", "PRODUCT_COST_UNKNOWN", "UNIT_QUANTITY_NOT_WHOLE", "BASKET_VERSION_CONFLICT", "BASKET_LINE_LIMIT", "BASKET_SIZE_LIMIT", "UNKNOWN_LINE", "INVALID_PRICE", "LINE_DISCOUNT_NOT_ALLOWED", "LINE_DISCOUNT_EXCEEDS_MAX", "FX_CONVERSION_UNAVAILABLE", "COUPON_NOT_FOUND", "COUPON_NOT_ACTIVE", "COUPON_EXPIRED", "COUPON_EXHAUSTED", "COUPON_MIN_SUBTOTAL", "COUPON_REQUIRES_CUSTOMER", "COUPON_BUDGET_EXHAUSTED", "COUPON_RATE_LIMITED", "COUPON_CURRENCY_MISMATCH", "PROMOTION_NOT_FOUND", "PROMOTION_NOT_ACTIVE", "PROMOTION_NOT_STARTED", "PROMOTION_EXPIRED", "PROMOTION_NOT_CART_APPLICABLE"];
78
78
  export type BasketErrorCode = (typeof BASKET_ERROR_CODES)[number];
79
79
  export {};
package/dist/basket.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * Domain refusals from POST /baskets: legacy replacement, named cart actions,
3
- * and park/resume. Check GATING_ERROR_CODES separately for middleware and role
4
- * refusals. GET /baskets and storefront-only refusals are outside this tuple.
2
+ * Domain refusals from POST /baskets (replacement, named actions and park/resume)
3
+ * and GET /baskets?mode=review. Check GATING_ERROR_CODES separately for middleware
4
+ * and role refusals. Other GET modes and storefront-only refusals remain separate.
5
5
  *
6
6
  * Coupon and promotion reasons are forwarded from evaluateCoupon and
7
7
  * evaluatePromotion (stacks/services/coupons.ts and promotions.ts). Checkout's
@@ -15,6 +15,8 @@ export const BASKET_ERROR_CODES = [
15
15
  'FOREIGN_INDEX_KEY_ATTRIBUTE',
16
16
  'CART_TARGET_REQUIRED',
17
17
  'CART_NOT_FOUND',
18
+ 'CART_REVIEW_INCOMPLETE',
19
+ 'CART_REVIEW_UNAVAILABLE',
18
20
  'CART_NOT_PARKED',
19
21
  'CART_ALREADY_PARKED',
20
22
  'TERMINAL_INDEX_UNAVAILABLE',
package/dist/cart.d.ts CHANGED
@@ -1,4 +1,24 @@
1
1
  declare global {
2
+ interface OperatorCartReviewRequest {
3
+ mode: 'review';
4
+ customerId: string;
5
+ cartId?: string;
6
+ }
7
+ interface OperatorCartReviewCart extends Omit<Cart, 'customer'> {
8
+ customer?: Partial<Pick<Customer, 'customerId' | 'fullName'>>;
9
+ }
10
+ type OperatorCartReviewData = OperatorCartReviewCart | null;
11
+ /**
12
+ * Completed discovery returns null; an exact missing cart is a refusal.
13
+ * Discovery over several customer carts is never ambiguous: it returns the
14
+ * cart a customer-targeted write resolves (a terminal-less cart before a
15
+ * till's ticket, newest within each group, a new-partition row before a
16
+ * legacy one).
17
+ */
18
+ interface OperatorCartReviewResponse {
19
+ message: string;
20
+ data: OperatorCartReviewData;
21
+ }
2
22
  /**
3
23
  * A cart, keyed by its OWN minted id rather than by the customer.
4
24
  *
@@ -2,9 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BASKET_ERROR_CODES = void 0;
4
4
  /**
5
- * Domain refusals from POST /baskets: legacy replacement, named cart actions,
6
- * and park/resume. Check GATING_ERROR_CODES separately for middleware and role
7
- * refusals. GET /baskets and storefront-only refusals are outside this tuple.
5
+ * Domain refusals from POST /baskets (replacement, named actions and park/resume)
6
+ * and GET /baskets?mode=review. Check GATING_ERROR_CODES separately for middleware
7
+ * and role refusals. Other GET modes and storefront-only refusals remain separate.
8
8
  *
9
9
  * Coupon and promotion reasons are forwarded from evaluateCoupon and
10
10
  * evaluatePromotion (stacks/services/coupons.ts and promotions.ts). Checkout's
@@ -18,6 +18,8 @@ exports.BASKET_ERROR_CODES = [
18
18
  'FOREIGN_INDEX_KEY_ATTRIBUTE',
19
19
  'CART_TARGET_REQUIRED',
20
20
  'CART_NOT_FOUND',
21
+ 'CART_REVIEW_INCOMPLETE',
22
+ 'CART_REVIEW_UNAVAILABLE',
21
23
  'CART_NOT_PARKED',
22
24
  'CART_ALREADY_PARKED',
23
25
  'TERMINAL_INDEX_UNAVAILABLE',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "platform-types",
3
- "version": "1.10.702",
3
+ "version": "1.10.703",
4
4
  "description": "Shared wire and entity contracts for the platform.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",