pi-kiosk-shared 2.3.30 → 2.3.32

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.
Files changed (80) hide show
  1. package/dist/api.d.ts +1 -0
  2. package/dist/api.d.ts.map +1 -1
  3. package/dist/api.js +1 -0
  4. package/dist/api.js.map +1 -1
  5. package/dist/auditEventCodes.d.ts +8 -1
  6. package/dist/auditEventCodes.d.ts.map +1 -1
  7. package/dist/auditEventCodes.js +23 -0
  8. package/dist/auditEventCodes.js.map +1 -1
  9. package/dist/auditEventDescriptions.d.ts.map +1 -1
  10. package/dist/auditEventDescriptions.js +55 -0
  11. package/dist/auditEventDescriptions.js.map +1 -1
  12. package/dist/auditEventLabels.d.ts.map +1 -1
  13. package/dist/auditEventLabels.js +55 -0
  14. package/dist/auditEventLabels.js.map +1 -1
  15. package/dist/auditMetadataDisplayFields.d.ts.map +1 -1
  16. package/dist/auditMetadataDisplayFields.js +54 -0
  17. package/dist/auditMetadataDisplayFields.js.map +1 -1
  18. package/dist/index.d.ts +4 -0
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +3 -0
  21. package/dist/index.js.map +1 -1
  22. package/dist/permissions/permissionLabels.d.ts.map +1 -1
  23. package/dist/permissions/permissionLabels.js +5 -0
  24. package/dist/permissions/permissionLabels.js.map +1 -1
  25. package/dist/permissions/templateDualKeyMap.d.ts +32 -0
  26. package/dist/permissions/templateDualKeyMap.d.ts.map +1 -0
  27. package/dist/permissions/templateDualKeyMap.js +120 -0
  28. package/dist/permissions/templateDualKeyMap.js.map +1 -0
  29. package/dist/refund/index.d.ts +3 -0
  30. package/dist/refund/index.d.ts.map +1 -0
  31. package/dist/refund/index.js +3 -0
  32. package/dist/refund/index.js.map +1 -0
  33. package/dist/refund/mapRefundCustomerStatus.d.ts +21 -0
  34. package/dist/refund/mapRefundCustomerStatus.d.ts.map +1 -0
  35. package/dist/refund/mapRefundCustomerStatus.js +38 -0
  36. package/dist/refund/mapRefundCustomerStatus.js.map +1 -0
  37. package/dist/refund/refundContracts.d.ts +94 -0
  38. package/dist/refund/refundContracts.d.ts.map +1 -0
  39. package/dist/refund/refundContracts.js +100 -0
  40. package/dist/refund/refundContracts.js.map +1 -0
  41. package/dist/sales-point/salesPointPublicConfig.d.ts +6 -1
  42. package/dist/sales-point/salesPointPublicConfig.d.ts.map +1 -1
  43. package/dist/sales-point/salesPointPublicConfig.js +6 -9
  44. package/dist/sales-point/salesPointPublicConfig.js.map +1 -1
  45. package/dist/sensitiveMetaKeys.d.ts +1 -1
  46. package/dist/sensitiveMetaKeys.d.ts.map +1 -1
  47. package/dist/sensitiveMetaKeys.js +2 -0
  48. package/dist/sensitiveMetaKeys.js.map +1 -1
  49. package/dist/tenant-entitlements/capabilityEntitlementRequirements.d.ts.map +1 -1
  50. package/dist/tenant-entitlements/capabilityEntitlementRequirements.js +8 -0
  51. package/dist/tenant-entitlements/capabilityEntitlementRequirements.js.map +1 -1
  52. package/dist/tenant-entitlements/catalog.d.ts +1 -1
  53. package/dist/tenant-entitlements/catalog.d.ts.map +1 -1
  54. package/dist/tenant-entitlements/catalog.js +3 -3
  55. package/dist/tenant-entitlements/catalog.js.map +1 -1
  56. package/dist/tenant-entitlements/index.d.ts +4 -0
  57. package/dist/tenant-entitlements/index.d.ts.map +1 -1
  58. package/dist/tenant-entitlements/index.js +2 -0
  59. package/dist/tenant-entitlements/index.js.map +1 -1
  60. package/dist/tenant-entitlements/productCapabilityMap.d.ts +54 -0
  61. package/dist/tenant-entitlements/productCapabilityMap.d.ts.map +1 -0
  62. package/dist/tenant-entitlements/productCapabilityMap.js +101 -0
  63. package/dist/tenant-entitlements/productCapabilityMap.js.map +1 -0
  64. package/dist/tenant-entitlements/productCapabilityReadiness.d.ts +248 -0
  65. package/dist/tenant-entitlements/productCapabilityReadiness.d.ts.map +1 -0
  66. package/dist/tenant-entitlements/productCapabilityReadiness.js +295 -0
  67. package/dist/tenant-entitlements/productCapabilityReadiness.js.map +1 -0
  68. package/dist/tenant-entitlements/types.d.ts +1 -1
  69. package/dist/tenant-entitlements/types.js +1 -1
  70. package/dist/ui/ProviderIcon/ProviderIcon.d.ts +1 -1
  71. package/dist/ui/ProviderIcon/ProviderIcon.d.ts.map +1 -1
  72. package/dist/ui/ProviderIcon/ProviderIcon.js +4 -1
  73. package/dist/ui/ProviderIcon/ProviderIcon.js.map +1 -1
  74. package/package.json +6 -1
  75. package/patches/jsdom+27.4.0.patch +13 -13
  76. package/scripts/applyMonorepoPatches.mjs +24 -24
  77. package/src/tokens/__tests__/theme-exports.test.mjs +27 -27
  78. package/src/tokens/__tests__/theme-light-override.test.mjs +21 -21
  79. package/src/tokens/brand-bridge.css +65 -65
  80. package/src/tokens/tokens.sync.json +545 -545
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Product CAP-01..CAP-15 → entitlement-block map (plan G8 Kind table).
3
+ *
4
+ * Implementation-detail / leftover_keep_key blocks are intentionally unmapped.
5
+ * CAP-15 Partner API has no catalog blocks and must never activate.
6
+ *
7
+ * NEVER import admin-app or up-backend into this module.
8
+ */
9
+ import { ENTITLEMENT_BLOCK_KEYS } from './types.js';
10
+ export const PRODUCT_CAPABILITY_IDS = [
11
+ 'CAP-01',
12
+ 'CAP-02',
13
+ 'CAP-03',
14
+ 'CAP-04',
15
+ 'CAP-05',
16
+ 'CAP-06',
17
+ 'CAP-07',
18
+ 'CAP-08',
19
+ 'CAP-09',
20
+ 'CAP-10',
21
+ 'CAP-11',
22
+ 'CAP-12',
23
+ 'CAP-13',
24
+ 'CAP-14',
25
+ 'CAP-15',
26
+ ];
27
+ export function isProductCapabilityId(value) {
28
+ return PRODUCT_CAPABILITY_IDS.includes(value);
29
+ }
30
+ /** CAP-15 Partner API — no entitlement blocks; never-activate. */
31
+ export const PARTNER_API_CAPABILITY_ID = 'CAP-15';
32
+ export const NEVER_ACTIVATE_PRODUCT_CAPABILITY_IDS = [
33
+ PARTNER_API_CAPABILITY_ID,
34
+ ];
35
+ export function isNeverActivateProductCapability(capabilityId) {
36
+ return NEVER_ACTIVATE_PRODUCT_CAPABILITY_IDS.includes(capabilityId);
37
+ }
38
+ export const PRODUCT_CAPABILITY_BLOCK_MAP = {
39
+ 'CAP-01': [
40
+ 'catalog_administration',
41
+ 'product_barcode_administration',
42
+ 'product_vending',
43
+ 'inventory_management',
44
+ 'inventory_incidents',
45
+ ],
46
+ 'CAP-02': ['donation'],
47
+ 'CAP-03': ['surface_customer', 'customer_auth_pwa'],
48
+ 'CAP-04': ['surface_kiosk', 'realtime_device_transport'],
49
+ 'CAP-05': ['sales_point_management', 'sales_point_individual_settings'],
50
+ 'CAP-06': [
51
+ 'fulfillment_queue',
52
+ 'order_pickup_infrastructure',
53
+ 'pickup_points',
54
+ 'staff_pickup_scan',
55
+ ],
56
+ 'CAP-07': ['analytics', 'analytics_overview', 'analytics_explore'],
57
+ 'CAP-08': [
58
+ 'payment_rails_strategy',
59
+ 'payment_multi_currency',
60
+ 'stripe_integration_strategy',
61
+ ],
62
+ 'CAP-09': ['bank_account_administration', 'bank_inbox_claims_api'],
63
+ 'CAP-10': ['tenant_brand_kit'],
64
+ 'CAP-11': ['tenant_ops_settings'],
65
+ 'CAP-12': ['permission_management_rbac', 'admin_mfa', 'admin_notifications'],
66
+ 'CAP-13': ['payment_cash'],
67
+ 'CAP-14': ['immediate_self_pickup', 'customer_self_collect', 'scheduled_pickup'],
68
+ 'CAP-15': [],
69
+ };
70
+ export const PRODUCT_CAPABILITY_BLOCK_KEYS = PRODUCT_CAPABILITY_BLOCK_MAP;
71
+ const ALLOWED_BLOCK_KEYS = new Set(ENTITLEMENT_BLOCK_KEYS);
72
+ for (const [capabilityId, blockKeys] of Object.entries(PRODUCT_CAPABILITY_BLOCK_MAP)) {
73
+ for (const blockKey of blockKeys) {
74
+ if (!ALLOWED_BLOCK_KEYS.has(blockKey)) {
75
+ throw new Error(`PRODUCT_CAPABILITY_BLOCK_MAP ${capabilityId} lists unknown blockKey ${JSON.stringify(blockKey)}`);
76
+ }
77
+ }
78
+ }
79
+ const BLOCK_TO_CAPABILITY = (() => {
80
+ const map = new Map();
81
+ for (const capabilityId of PRODUCT_CAPABILITY_IDS) {
82
+ for (const blockKey of PRODUCT_CAPABILITY_BLOCK_MAP[capabilityId]) {
83
+ const existing = map.get(blockKey);
84
+ if (existing !== undefined && existing !== capabilityId) {
85
+ throw new Error(`entitlement block ${JSON.stringify(blockKey)} mapped to both ${existing} and ${capabilityId}`);
86
+ }
87
+ map.set(blockKey, capabilityId);
88
+ }
89
+ }
90
+ return map;
91
+ })();
92
+ export function entitlementBlockKeysForProductCapability(capabilityId) {
93
+ return PRODUCT_CAPABILITY_BLOCK_MAP[capabilityId];
94
+ }
95
+ export function getProductCapabilityBlockKeys(capabilityId) {
96
+ return entitlementBlockKeysForProductCapability(capabilityId);
97
+ }
98
+ export function productCapabilityIdForEntitlementBlock(blockKey) {
99
+ return BLOCK_TO_CAPABILITY.get(blockKey);
100
+ }
101
+ //# sourceMappingURL=productCapabilityMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"productCapabilityMap.js","sourceRoot":"","sources":["../../src/tenant-entitlements/productCapabilityMap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,248 @@
1
+ /**
2
+ * Product-capability readiness (FR-03 / I-01).
3
+ *
4
+ * Catalog is 50 entitlement blocks at catalogVersion 10.
5
+ * SIMPLE on/softOffVisible/softOffHidden/off/hardOff collapse to READY vs NOT_READY.
6
+ * Declared 15×4 grids are plan G8 production / test-mode (`explicitDevEnable`).
7
+ * CAP-15 Partner API is always NOT_READY (never-activate) on every surface.
8
+ *
9
+ * NEVER import admin-app or up-backend into this module.
10
+ */
11
+ import type { EntitlementBlockKey, SimpleEntitlementState } from './types.js';
12
+ import { type ProductCapabilityId } from './productCapabilityMap.js';
13
+ export type ProductCapabilityReadiness = 'READY' | 'NOT_READY';
14
+ export declare const PRODUCT_CAPABILITY_SURFACES: readonly ["admin_staff_ops", "kiosk_kiosk_device", "customer_mobile_shop", "pickup_staff_ops"];
15
+ export type ProductCapabilitySurface = (typeof PRODUCT_CAPABILITY_SURFACES)[number];
16
+ /** Short aliases matching G8 column order (admin / kiosk / customer / pickup). */
17
+ export declare const PRODUCT_READINESS_SURFACES: readonly ["admin", "kiosk", "customer", "pickup"];
18
+ export type ProductReadinessSurface = (typeof PRODUCT_READINESS_SURFACES)[number];
19
+ export type ProductReadinessMode = 'production' | 'test';
20
+ export declare const PRODUCT_CAPABILITY_GRID_CELLS: readonly ["READY", "PARTIAL", "TEST", "NOT_READY", "n_a"];
21
+ export type ProductCapabilityGridCell = (typeof PRODUCT_CAPABILITY_GRID_CELLS)[number];
22
+ export type ProductCapabilityReadinessState = ProductCapabilityGridCell;
23
+ export declare function normalizeProductCapabilitySurface(surface: ProductCapabilitySurface | ProductReadinessSurface): ProductCapabilitySurface;
24
+ /** Plan G8 production 15×4. */
25
+ export declare const PRODUCT_CAPABILITY_PRODUCTION_GRID: {
26
+ readonly 'CAP-01': {
27
+ readonly admin_staff_ops: "PARTIAL";
28
+ readonly kiosk_kiosk_device: "READY";
29
+ readonly customer_mobile_shop: "READY";
30
+ readonly pickup_staff_ops: "PARTIAL";
31
+ };
32
+ readonly 'CAP-02': {
33
+ readonly admin_staff_ops: "PARTIAL";
34
+ readonly kiosk_kiosk_device: "PARTIAL";
35
+ readonly customer_mobile_shop: "PARTIAL";
36
+ readonly pickup_staff_ops: "n_a";
37
+ };
38
+ readonly 'CAP-03': {
39
+ readonly admin_staff_ops: "READY";
40
+ readonly kiosk_kiosk_device: "n_a";
41
+ readonly customer_mobile_shop: "READY";
42
+ readonly pickup_staff_ops: "n_a";
43
+ };
44
+ readonly 'CAP-04': {
45
+ readonly admin_staff_ops: "READY";
46
+ readonly kiosk_kiosk_device: "READY";
47
+ readonly customer_mobile_shop: "READY";
48
+ readonly pickup_staff_ops: "n_a";
49
+ };
50
+ readonly 'CAP-05': {
51
+ readonly admin_staff_ops: "READY";
52
+ readonly kiosk_kiosk_device: "READY";
53
+ readonly customer_mobile_shop: "READY";
54
+ readonly pickup_staff_ops: "n_a";
55
+ };
56
+ readonly 'CAP-06': {
57
+ readonly admin_staff_ops: "PARTIAL";
58
+ readonly kiosk_kiosk_device: "n_a";
59
+ readonly customer_mobile_shop: "n_a";
60
+ readonly pickup_staff_ops: "PARTIAL";
61
+ };
62
+ readonly 'CAP-07': {
63
+ readonly admin_staff_ops: "READY";
64
+ readonly kiosk_kiosk_device: "NOT_READY";
65
+ readonly customer_mobile_shop: "NOT_READY";
66
+ readonly pickup_staff_ops: "NOT_READY";
67
+ };
68
+ readonly 'CAP-08': {
69
+ readonly admin_staff_ops: "PARTIAL";
70
+ readonly kiosk_kiosk_device: "PARTIAL";
71
+ readonly customer_mobile_shop: "PARTIAL";
72
+ readonly pickup_staff_ops: "n_a";
73
+ };
74
+ readonly 'CAP-09': {
75
+ readonly admin_staff_ops: "PARTIAL";
76
+ readonly kiosk_kiosk_device: "n_a";
77
+ readonly customer_mobile_shop: "n_a";
78
+ readonly pickup_staff_ops: "n_a";
79
+ };
80
+ readonly 'CAP-10': {
81
+ readonly admin_staff_ops: "TEST";
82
+ readonly kiosk_kiosk_device: "n_a";
83
+ readonly customer_mobile_shop: "TEST";
84
+ readonly pickup_staff_ops: "n_a";
85
+ };
86
+ readonly 'CAP-11': {
87
+ readonly admin_staff_ops: "READY";
88
+ readonly kiosk_kiosk_device: "n_a";
89
+ readonly customer_mobile_shop: "n_a";
90
+ readonly pickup_staff_ops: "n_a";
91
+ };
92
+ readonly 'CAP-12': {
93
+ readonly admin_staff_ops: "PARTIAL";
94
+ readonly kiosk_kiosk_device: "n_a";
95
+ readonly customer_mobile_shop: "n_a";
96
+ readonly pickup_staff_ops: "n_a";
97
+ };
98
+ readonly 'CAP-13': {
99
+ readonly admin_staff_ops: "READY";
100
+ readonly kiosk_kiosk_device: "READY";
101
+ readonly customer_mobile_shop: "READY";
102
+ readonly pickup_staff_ops: "READY";
103
+ };
104
+ readonly 'CAP-14': {
105
+ readonly admin_staff_ops: "PARTIAL";
106
+ readonly kiosk_kiosk_device: "PARTIAL";
107
+ readonly customer_mobile_shop: "PARTIAL";
108
+ readonly pickup_staff_ops: "PARTIAL";
109
+ };
110
+ readonly 'CAP-15': {
111
+ readonly admin_staff_ops: "NOT_READY";
112
+ readonly kiosk_kiosk_device: "NOT_READY";
113
+ readonly customer_mobile_shop: "NOT_READY";
114
+ readonly pickup_staff_ops: "NOT_READY";
115
+ };
116
+ };
117
+ /** Plan G8 test-mode 15×4 (`explicitDevEnable`). */
118
+ export declare const PRODUCT_CAPABILITY_TEST_MODE_GRID: {
119
+ readonly 'CAP-01': {
120
+ readonly admin_staff_ops: "PARTIAL";
121
+ readonly kiosk_kiosk_device: "READY";
122
+ readonly customer_mobile_shop: "READY";
123
+ readonly pickup_staff_ops: "PARTIAL";
124
+ };
125
+ readonly 'CAP-02': {
126
+ readonly admin_staff_ops: "PARTIAL";
127
+ readonly kiosk_kiosk_device: "PARTIAL";
128
+ readonly customer_mobile_shop: "PARTIAL";
129
+ readonly pickup_staff_ops: "n_a";
130
+ };
131
+ readonly 'CAP-03': {
132
+ readonly admin_staff_ops: "READY";
133
+ readonly kiosk_kiosk_device: "n_a";
134
+ readonly customer_mobile_shop: "READY";
135
+ readonly pickup_staff_ops: "n_a";
136
+ };
137
+ readonly 'CAP-04': {
138
+ readonly admin_staff_ops: "READY";
139
+ readonly kiosk_kiosk_device: "READY";
140
+ readonly customer_mobile_shop: "READY";
141
+ readonly pickup_staff_ops: "n_a";
142
+ };
143
+ readonly 'CAP-05': {
144
+ readonly admin_staff_ops: "READY";
145
+ readonly kiosk_kiosk_device: "READY";
146
+ readonly customer_mobile_shop: "TEST";
147
+ readonly pickup_staff_ops: "n_a";
148
+ };
149
+ readonly 'CAP-06': {
150
+ readonly admin_staff_ops: "PARTIAL";
151
+ readonly kiosk_kiosk_device: "n_a";
152
+ readonly customer_mobile_shop: "n_a";
153
+ readonly pickup_staff_ops: "PARTIAL";
154
+ };
155
+ readonly 'CAP-07': {
156
+ readonly admin_staff_ops: "READY";
157
+ readonly kiosk_kiosk_device: "NOT_READY";
158
+ readonly customer_mobile_shop: "NOT_READY";
159
+ readonly pickup_staff_ops: "NOT_READY";
160
+ };
161
+ readonly 'CAP-08': {
162
+ readonly admin_staff_ops: "TEST";
163
+ readonly kiosk_kiosk_device: "TEST";
164
+ readonly customer_mobile_shop: "TEST";
165
+ readonly pickup_staff_ops: "n_a";
166
+ };
167
+ readonly 'CAP-09': {
168
+ readonly admin_staff_ops: "PARTIAL";
169
+ readonly kiosk_kiosk_device: "n_a";
170
+ readonly customer_mobile_shop: "n_a";
171
+ readonly pickup_staff_ops: "n_a";
172
+ };
173
+ readonly 'CAP-10': {
174
+ readonly admin_staff_ops: "TEST";
175
+ readonly kiosk_kiosk_device: "n_a";
176
+ readonly customer_mobile_shop: "TEST";
177
+ readonly pickup_staff_ops: "n_a";
178
+ };
179
+ readonly 'CAP-11': {
180
+ readonly admin_staff_ops: "READY";
181
+ readonly kiosk_kiosk_device: "n_a";
182
+ readonly customer_mobile_shop: "n_a";
183
+ readonly pickup_staff_ops: "n_a";
184
+ };
185
+ readonly 'CAP-12': {
186
+ readonly admin_staff_ops: "TEST";
187
+ readonly kiosk_kiosk_device: "n_a";
188
+ readonly customer_mobile_shop: "n_a";
189
+ readonly pickup_staff_ops: "n_a";
190
+ };
191
+ readonly 'CAP-13': {
192
+ readonly admin_staff_ops: "READY";
193
+ readonly kiosk_kiosk_device: "READY";
194
+ readonly customer_mobile_shop: "READY";
195
+ readonly pickup_staff_ops: "READY";
196
+ };
197
+ readonly 'CAP-14': {
198
+ readonly admin_staff_ops: "PARTIAL";
199
+ readonly kiosk_kiosk_device: "PARTIAL";
200
+ readonly customer_mobile_shop: "PARTIAL";
201
+ readonly pickup_staff_ops: "PARTIAL";
202
+ };
203
+ readonly 'CAP-15': {
204
+ readonly admin_staff_ops: "NOT_READY";
205
+ readonly kiosk_kiosk_device: "NOT_READY";
206
+ readonly customer_mobile_shop: "NOT_READY";
207
+ readonly pickup_staff_ops: "NOT_READY";
208
+ };
209
+ };
210
+ export declare function simpleEntitlementStateToProductReadiness(state: SimpleEntitlementState): ProductCapabilityReadiness;
211
+ export declare function collapseProductCapabilityGridCell(cell: ProductCapabilityGridCell, options?: {
212
+ readonly explicitDevEnable?: boolean;
213
+ }): ProductCapabilityReadiness;
214
+ export declare function resolveProductReadinessMode(explicitDevEnable: boolean | undefined): ProductReadinessMode;
215
+ export declare function getDeclaredProductCapabilityGridCell(capabilityId: ProductCapabilityId, surface: ProductCapabilitySurface | ProductReadinessSurface, options?: {
216
+ readonly explicitDevEnable?: boolean;
217
+ readonly mode?: ProductReadinessMode;
218
+ }): ProductCapabilityGridCell;
219
+ export declare function declaredProductCapabilityReadiness(capabilityId: ProductCapabilityId, surface: ProductCapabilitySurface | ProductReadinessSurface, options?: {
220
+ readonly explicitDevEnable?: boolean;
221
+ readonly mode?: ProductReadinessMode;
222
+ }): ProductCapabilityReadiness;
223
+ export type EvaluateProductCapabilityReadinessInput = {
224
+ readonly capabilityId: ProductCapabilityId;
225
+ readonly surface: ProductCapabilitySurface | ProductReadinessSurface;
226
+ readonly explicitDevEnable?: boolean;
227
+ readonly mode?: ProductReadinessMode;
228
+ readonly simpleStates?: Partial<Record<EntitlementBlockKey, SimpleEntitlementState>>;
229
+ };
230
+ /**
231
+ * Declared G8 grid (production vs test-mode) AND optional SIMPLE `on` for every
232
+ * mapped block. CAP-15 is NOT_READY even when SIMPLE is `on` and test-mode is on.
233
+ */
234
+ export declare function evaluateProductCapabilityReadiness(input: EvaluateProductCapabilityReadinessInput): ProductCapabilityReadiness;
235
+ export declare function isPartnerApiNeverActivate(capabilityId: ProductCapabilityId): boolean;
236
+ export declare function getProductCapabilityReadiness(input: {
237
+ readonly capabilityId: ProductCapabilityId;
238
+ readonly surface: ProductCapabilitySurface | ProductReadinessSurface;
239
+ readonly mode?: ProductReadinessMode;
240
+ readonly explicitDevEnable?: boolean;
241
+ }): ProductCapabilityReadinessState;
242
+ export declare function isProductCapabilityActivable(input: {
243
+ readonly capabilityId: ProductCapabilityId;
244
+ readonly surface: ProductCapabilitySurface | ProductReadinessSurface;
245
+ readonly mode?: ProductReadinessMode;
246
+ readonly explicitDevEnable?: boolean;
247
+ }): boolean;
248
+ //# sourceMappingURL=productCapabilityReadiness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"productCapabilityReadiness.d.ts","sourceRoot":"","sources":["../../src/tenant-entitlements/productCapabilityReadiness.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,295 @@
1
+ import { entitlementBlockKeysForProductCapability, isNeverActivateProductCapability, } from './productCapabilityMap.js';
2
+ export const PRODUCT_CAPABILITY_SURFACES = [
3
+ 'admin_staff_ops',
4
+ 'kiosk_kiosk_device',
5
+ 'customer_mobile_shop',
6
+ 'pickup_staff_ops',
7
+ ];
8
+ /** Short aliases matching G8 column order (admin / kiosk / customer / pickup). */
9
+ export const PRODUCT_READINESS_SURFACES = ['admin', 'kiosk', 'customer', 'pickup'];
10
+ export const PRODUCT_CAPABILITY_GRID_CELLS = [
11
+ 'READY',
12
+ 'PARTIAL',
13
+ 'TEST',
14
+ 'NOT_READY',
15
+ 'n_a',
16
+ ];
17
+ const SHORT_TO_PLAN_SURFACE = {
18
+ admin: 'admin_staff_ops',
19
+ kiosk: 'kiosk_kiosk_device',
20
+ customer: 'customer_mobile_shop',
21
+ pickup: 'pickup_staff_ops',
22
+ };
23
+ export function normalizeProductCapabilitySurface(surface) {
24
+ if (surface === 'admin' || surface === 'kiosk' || surface === 'customer' || surface === 'pickup') {
25
+ return SHORT_TO_PLAN_SURFACE[surface];
26
+ }
27
+ return surface;
28
+ }
29
+ /** Plan G8 production 15×4. */
30
+ export const PRODUCT_CAPABILITY_PRODUCTION_GRID = {
31
+ 'CAP-01': {
32
+ admin_staff_ops: 'PARTIAL',
33
+ kiosk_kiosk_device: 'READY',
34
+ customer_mobile_shop: 'READY',
35
+ pickup_staff_ops: 'PARTIAL',
36
+ },
37
+ 'CAP-02': {
38
+ admin_staff_ops: 'PARTIAL',
39
+ kiosk_kiosk_device: 'PARTIAL',
40
+ customer_mobile_shop: 'PARTIAL',
41
+ pickup_staff_ops: 'n_a',
42
+ },
43
+ 'CAP-03': {
44
+ admin_staff_ops: 'READY',
45
+ kiosk_kiosk_device: 'n_a',
46
+ customer_mobile_shop: 'READY',
47
+ pickup_staff_ops: 'n_a',
48
+ },
49
+ 'CAP-04': {
50
+ admin_staff_ops: 'READY',
51
+ kiosk_kiosk_device: 'READY',
52
+ customer_mobile_shop: 'READY',
53
+ pickup_staff_ops: 'n_a',
54
+ },
55
+ 'CAP-05': {
56
+ admin_staff_ops: 'READY',
57
+ kiosk_kiosk_device: 'READY',
58
+ customer_mobile_shop: 'READY',
59
+ pickup_staff_ops: 'n_a',
60
+ },
61
+ 'CAP-06': {
62
+ admin_staff_ops: 'PARTIAL',
63
+ kiosk_kiosk_device: 'n_a',
64
+ customer_mobile_shop: 'n_a',
65
+ pickup_staff_ops: 'PARTIAL',
66
+ },
67
+ 'CAP-07': {
68
+ admin_staff_ops: 'READY',
69
+ kiosk_kiosk_device: 'NOT_READY',
70
+ customer_mobile_shop: 'NOT_READY',
71
+ pickup_staff_ops: 'NOT_READY',
72
+ },
73
+ 'CAP-08': {
74
+ admin_staff_ops: 'PARTIAL',
75
+ kiosk_kiosk_device: 'PARTIAL',
76
+ customer_mobile_shop: 'PARTIAL',
77
+ pickup_staff_ops: 'n_a',
78
+ },
79
+ 'CAP-09': {
80
+ admin_staff_ops: 'PARTIAL',
81
+ kiosk_kiosk_device: 'n_a',
82
+ customer_mobile_shop: 'n_a',
83
+ pickup_staff_ops: 'n_a',
84
+ },
85
+ 'CAP-10': {
86
+ admin_staff_ops: 'TEST',
87
+ kiosk_kiosk_device: 'n_a',
88
+ customer_mobile_shop: 'TEST',
89
+ pickup_staff_ops: 'n_a',
90
+ },
91
+ 'CAP-11': {
92
+ admin_staff_ops: 'READY',
93
+ kiosk_kiosk_device: 'n_a',
94
+ customer_mobile_shop: 'n_a',
95
+ pickup_staff_ops: 'n_a',
96
+ },
97
+ 'CAP-12': {
98
+ admin_staff_ops: 'PARTIAL',
99
+ kiosk_kiosk_device: 'n_a',
100
+ customer_mobile_shop: 'n_a',
101
+ pickup_staff_ops: 'n_a',
102
+ },
103
+ 'CAP-13': {
104
+ admin_staff_ops: 'READY',
105
+ kiosk_kiosk_device: 'READY',
106
+ customer_mobile_shop: 'READY',
107
+ pickup_staff_ops: 'READY',
108
+ },
109
+ 'CAP-14': {
110
+ admin_staff_ops: 'PARTIAL',
111
+ kiosk_kiosk_device: 'PARTIAL',
112
+ customer_mobile_shop: 'PARTIAL',
113
+ pickup_staff_ops: 'PARTIAL',
114
+ },
115
+ 'CAP-15': {
116
+ admin_staff_ops: 'NOT_READY',
117
+ kiosk_kiosk_device: 'NOT_READY',
118
+ customer_mobile_shop: 'NOT_READY',
119
+ pickup_staff_ops: 'NOT_READY',
120
+ },
121
+ };
122
+ /** Plan G8 test-mode 15×4 (`explicitDevEnable`). */
123
+ export const PRODUCT_CAPABILITY_TEST_MODE_GRID = {
124
+ 'CAP-01': {
125
+ admin_staff_ops: 'PARTIAL',
126
+ kiosk_kiosk_device: 'READY',
127
+ customer_mobile_shop: 'READY',
128
+ pickup_staff_ops: 'PARTIAL',
129
+ },
130
+ 'CAP-02': {
131
+ admin_staff_ops: 'PARTIAL',
132
+ kiosk_kiosk_device: 'PARTIAL',
133
+ customer_mobile_shop: 'PARTIAL',
134
+ pickup_staff_ops: 'n_a',
135
+ },
136
+ 'CAP-03': {
137
+ admin_staff_ops: 'READY',
138
+ kiosk_kiosk_device: 'n_a',
139
+ customer_mobile_shop: 'READY',
140
+ pickup_staff_ops: 'n_a',
141
+ },
142
+ 'CAP-04': {
143
+ admin_staff_ops: 'READY',
144
+ kiosk_kiosk_device: 'READY',
145
+ customer_mobile_shop: 'READY',
146
+ pickup_staff_ops: 'n_a',
147
+ },
148
+ 'CAP-05': {
149
+ admin_staff_ops: 'READY',
150
+ kiosk_kiosk_device: 'READY',
151
+ customer_mobile_shop: 'TEST',
152
+ pickup_staff_ops: 'n_a',
153
+ },
154
+ 'CAP-06': {
155
+ admin_staff_ops: 'PARTIAL',
156
+ kiosk_kiosk_device: 'n_a',
157
+ customer_mobile_shop: 'n_a',
158
+ pickup_staff_ops: 'PARTIAL',
159
+ },
160
+ 'CAP-07': {
161
+ admin_staff_ops: 'READY',
162
+ kiosk_kiosk_device: 'NOT_READY',
163
+ customer_mobile_shop: 'NOT_READY',
164
+ pickup_staff_ops: 'NOT_READY',
165
+ },
166
+ 'CAP-08': {
167
+ admin_staff_ops: 'TEST',
168
+ kiosk_kiosk_device: 'TEST',
169
+ customer_mobile_shop: 'TEST',
170
+ pickup_staff_ops: 'n_a',
171
+ },
172
+ 'CAP-09': {
173
+ admin_staff_ops: 'PARTIAL',
174
+ kiosk_kiosk_device: 'n_a',
175
+ customer_mobile_shop: 'n_a',
176
+ pickup_staff_ops: 'n_a',
177
+ },
178
+ 'CAP-10': {
179
+ admin_staff_ops: 'TEST',
180
+ kiosk_kiosk_device: 'n_a',
181
+ customer_mobile_shop: 'TEST',
182
+ pickup_staff_ops: 'n_a',
183
+ },
184
+ 'CAP-11': {
185
+ admin_staff_ops: 'READY',
186
+ kiosk_kiosk_device: 'n_a',
187
+ customer_mobile_shop: 'n_a',
188
+ pickup_staff_ops: 'n_a',
189
+ },
190
+ 'CAP-12': {
191
+ admin_staff_ops: 'TEST',
192
+ kiosk_kiosk_device: 'n_a',
193
+ customer_mobile_shop: 'n_a',
194
+ pickup_staff_ops: 'n_a',
195
+ },
196
+ 'CAP-13': {
197
+ admin_staff_ops: 'READY',
198
+ kiosk_kiosk_device: 'READY',
199
+ customer_mobile_shop: 'READY',
200
+ pickup_staff_ops: 'READY',
201
+ },
202
+ 'CAP-14': {
203
+ admin_staff_ops: 'PARTIAL',
204
+ kiosk_kiosk_device: 'PARTIAL',
205
+ customer_mobile_shop: 'PARTIAL',
206
+ pickup_staff_ops: 'PARTIAL',
207
+ },
208
+ 'CAP-15': {
209
+ admin_staff_ops: 'NOT_READY',
210
+ kiosk_kiosk_device: 'NOT_READY',
211
+ customer_mobile_shop: 'NOT_READY',
212
+ pickup_staff_ops: 'NOT_READY',
213
+ },
214
+ };
215
+ export function simpleEntitlementStateToProductReadiness(state) {
216
+ return state === 'on' ? 'READY' : 'NOT_READY';
217
+ }
218
+ export function collapseProductCapabilityGridCell(cell, options) {
219
+ if (cell === 'READY') {
220
+ return 'READY';
221
+ }
222
+ if (cell === 'TEST' && options?.explicitDevEnable === true) {
223
+ return 'READY';
224
+ }
225
+ return 'NOT_READY';
226
+ }
227
+ export function resolveProductReadinessMode(explicitDevEnable) {
228
+ return explicitDevEnable === true ? 'test' : 'production';
229
+ }
230
+ export function getDeclaredProductCapabilityGridCell(capabilityId, surface, options) {
231
+ const mode = options?.mode ?? resolveProductReadinessMode(options?.explicitDevEnable);
232
+ const grid = mode === 'test' ? PRODUCT_CAPABILITY_TEST_MODE_GRID : PRODUCT_CAPABILITY_PRODUCTION_GRID;
233
+ return grid[capabilityId][normalizeProductCapabilitySurface(surface)];
234
+ }
235
+ export function declaredProductCapabilityReadiness(capabilityId, surface, options) {
236
+ if (isNeverActivateProductCapability(capabilityId)) {
237
+ return 'NOT_READY';
238
+ }
239
+ const explicitDevEnable = options?.explicitDevEnable === true || options?.mode === 'test';
240
+ return collapseProductCapabilityGridCell(getDeclaredProductCapabilityGridCell(capabilityId, surface, options), { explicitDevEnable });
241
+ }
242
+ function mappedBlocksAreSimpleOn(capabilityId, simpleStates) {
243
+ const blockKeys = entitlementBlockKeysForProductCapability(capabilityId);
244
+ if (blockKeys.length === 0) {
245
+ return false;
246
+ }
247
+ return blockKeys.every((blockKey) => simpleStates[blockKey] === 'on');
248
+ }
249
+ /**
250
+ * Declared G8 grid (production vs test-mode) AND optional SIMPLE `on` for every
251
+ * mapped block. CAP-15 is NOT_READY even when SIMPLE is `on` and test-mode is on.
252
+ */
253
+ export function evaluateProductCapabilityReadiness(input) {
254
+ if (isNeverActivateProductCapability(input.capabilityId)) {
255
+ return 'NOT_READY';
256
+ }
257
+ const declared = declaredProductCapabilityReadiness(input.capabilityId, input.surface, {
258
+ explicitDevEnable: input.explicitDevEnable,
259
+ mode: input.mode,
260
+ });
261
+ if (declared === 'NOT_READY') {
262
+ return 'NOT_READY';
263
+ }
264
+ if (input.simpleStates !== undefined && !mappedBlocksAreSimpleOn(input.capabilityId, input.simpleStates)) {
265
+ return 'NOT_READY';
266
+ }
267
+ return 'READY';
268
+ }
269
+ export function isPartnerApiNeverActivate(capabilityId) {
270
+ return isNeverActivateProductCapability(capabilityId);
271
+ }
272
+ export function getProductCapabilityReadiness(input) {
273
+ if (isNeverActivateProductCapability(input.capabilityId)) {
274
+ return 'NOT_READY';
275
+ }
276
+ return getDeclaredProductCapabilityGridCell(input.capabilityId, input.surface, {
277
+ mode: input.mode,
278
+ explicitDevEnable: input.explicitDevEnable,
279
+ });
280
+ }
281
+ export function isProductCapabilityActivable(input) {
282
+ if (isNeverActivateProductCapability(input.capabilityId)) {
283
+ return false;
284
+ }
285
+ const state = getProductCapabilityReadiness(input);
286
+ if (state === 'n_a' || state === 'NOT_READY') {
287
+ return false;
288
+ }
289
+ if (state === 'TEST') {
290
+ const mode = input.mode ?? resolveProductReadinessMode(input.explicitDevEnable);
291
+ return mode === 'test';
292
+ }
293
+ return state === 'READY' || state === 'PARTIAL';
294
+ }
295
+ //# sourceMappingURL=productCapabilityReadiness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"productCapabilityReadiness.js","sourceRoot":"","sources":["../../src/tenant-entitlements/productCapabilityReadiness.ts"],"names":[],"mappings":"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"}