pi-kiosk-shared 2.1.40 → 2.1.42

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 (56) hide show
  1. package/dist/analyticsApiTypes.d.ts +28 -0
  2. package/dist/analyticsApiTypes.d.ts.map +1 -0
  3. package/dist/analyticsApiTypes.js +29 -0
  4. package/dist/analyticsApiTypes.js.map +1 -0
  5. package/dist/analyticsConsentAllowlist.d.ts +4 -0
  6. package/dist/analyticsConsentAllowlist.d.ts.map +1 -0
  7. package/dist/analyticsConsentAllowlist.js +23 -0
  8. package/dist/analyticsConsentAllowlist.js.map +1 -0
  9. package/dist/analyticsDevLog.d.ts +2 -0
  10. package/dist/analyticsDevLog.d.ts.map +1 -0
  11. package/dist/analyticsDevLog.js +14 -0
  12. package/dist/analyticsDevLog.js.map +1 -0
  13. package/dist/analyticsEmitterManifest.d.ts +22 -0
  14. package/dist/analyticsEmitterManifest.d.ts.map +1 -0
  15. package/dist/analyticsEmitterManifest.js +68 -0
  16. package/dist/analyticsEmitterManifest.js.map +1 -0
  17. package/dist/analyticsEventDescriptions.d.ts +4 -0
  18. package/dist/analyticsEventDescriptions.d.ts.map +1 -0
  19. package/dist/analyticsEventDescriptions.js +166 -0
  20. package/dist/analyticsEventDescriptions.js.map +1 -0
  21. package/dist/api.d.ts +0 -2
  22. package/dist/api.d.ts.map +1 -1
  23. package/dist/api.js +0 -3
  24. package/dist/api.js.map +1 -1
  25. package/dist/auditEventDescriptions.d.ts +5 -0
  26. package/dist/auditEventDescriptions.d.ts.map +1 -0
  27. package/dist/auditEventDescriptions.js +164 -0
  28. package/dist/auditEventDescriptions.js.map +1 -0
  29. package/dist/auditEventLabels.d.ts +1 -1
  30. package/dist/auditEventLabels.d.ts.map +1 -1
  31. package/dist/auditEventLabels.js +159 -13
  32. package/dist/auditEventLabels.js.map +1 -1
  33. package/dist/auditMetadataDisplayFields.d.ts.map +1 -1
  34. package/dist/auditMetadataDisplayFields.js +2 -4
  35. package/dist/auditMetadataDisplayFields.js.map +1 -1
  36. package/dist/crossTab/CrossTabBus.d.ts +20 -0
  37. package/dist/crossTab/CrossTabBus.d.ts.map +1 -0
  38. package/dist/crossTab/CrossTabBus.js +115 -0
  39. package/dist/crossTab/CrossTabBus.js.map +1 -0
  40. package/dist/crossTab/index.d.ts +38 -0
  41. package/dist/crossTab/index.d.ts.map +1 -0
  42. package/dist/crossTab/index.js +8 -0
  43. package/dist/crossTab/index.js.map +1 -0
  44. package/dist/getAnalyticsEventDescription.d.ts +3 -0
  45. package/dist/getAnalyticsEventDescription.d.ts.map +1 -0
  46. package/dist/getAnalyticsEventDescription.js +9 -0
  47. package/dist/getAnalyticsEventDescription.js.map +1 -0
  48. package/dist/getAuditEventDescription.d.ts +3 -0
  49. package/dist/getAuditEventDescription.d.ts.map +1 -0
  50. package/dist/getAuditEventDescription.js +9 -0
  51. package/dist/getAuditEventDescription.js.map +1 -0
  52. package/dist/index.d.ts +5 -0
  53. package/dist/index.d.ts.map +1 -1
  54. package/dist/index.js +5 -0
  55. package/dist/index.js.map +1 -1
  56. package/package.json +31 -1
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Analytics API response shapes — tenant-scoped sessions controller envelope.
3
+ *
4
+ * POST /api/{tenant}/v1/analytics/sessions returns:
5
+ * { success: true, data: { session: { sessionId, ... }, created } }
6
+ */
7
+ export interface AnalyticsStartSessionData {
8
+ readonly session: {
9
+ readonly sessionId: string;
10
+ readonly id?: number;
11
+ readonly tenantId?: number;
12
+ readonly kioskId?: number | null;
13
+ readonly deviceId?: number | null;
14
+ readonly startedAt?: string;
15
+ readonly completed?: boolean;
16
+ readonly abandoned?: boolean;
17
+ };
18
+ readonly created: boolean;
19
+ }
20
+ export interface ParsedAnalyticsStartSession {
21
+ readonly sessionId: string;
22
+ readonly created: boolean;
23
+ }
24
+ /**
25
+ * Parse nested session start payload. No flat `sessionId` fallback.
26
+ */
27
+ export declare function parseAnalyticsStartSessionData(data: unknown): ParsedAnalyticsStartSession;
28
+ //# sourceMappingURL=analyticsApiTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyticsApiTypes.d.ts","sourceRoot":"","sources":["../src/analyticsApiTypes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;KAC9B,CAAC;IACF,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,OAAO,GACZ,2BAA2B,CAkB7B"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Analytics API response shapes — tenant-scoped sessions controller envelope.
3
+ *
4
+ * POST /api/{tenant}/v1/analytics/sessions returns:
5
+ * { success: true, data: { session: { sessionId, ... }, created } }
6
+ */
7
+ /**
8
+ * Parse nested session start payload. No flat `sessionId` fallback.
9
+ */
10
+ export function parseAnalyticsStartSessionData(data) {
11
+ if (typeof data !== 'object' || data === null) {
12
+ throw new Error('analytics_start_session_invalid_shape');
13
+ }
14
+ const record = data;
15
+ const session = record.session;
16
+ if (typeof session !== 'object' || session === null) {
17
+ throw new Error('analytics_start_session_missing_session');
18
+ }
19
+ const sessionRecord = session;
20
+ const sessionId = sessionRecord.sessionId;
21
+ if (typeof sessionId !== 'string' || sessionId.length < 8) {
22
+ throw new Error('analytics_start_session_missing_session_id');
23
+ }
24
+ return {
25
+ sessionId,
26
+ created: record.created === true,
27
+ };
28
+ }
29
+ //# sourceMappingURL=analyticsApiTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyticsApiTypes.js","sourceRoot":"","sources":["../src/analyticsApiTypes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAqBH;;GAEG;AACH,MAAM,UAAU,8BAA8B,CAC5C,IAAa;IAEb,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,MAAM,GAAG,IAA+B,CAAC;IAC/C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IACD,MAAM,aAAa,GAAG,OAAkC,CAAC;IACzD,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC;IAC1C,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IACD,OAAO;QACL,SAAS;QACT,OAAO,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI;KACjC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare const ANALYTICS_EVENTS_ALLOWED_WITHOUT_CONSENT: readonly ["session_started", "session_completed", "session_abandoned", "error_shown", "auth_flow_started", "identity_completed", "login_success", "account_created", "payment_started", "payment_qr_generated", "payment_submitted", "payment_confirmed", "payment_failed", "receipt_opened", "retail_order_paid", "donation_completed"];
2
+ export type AnalyticsEventAllowedWithoutConsent = (typeof ANALYTICS_EVENTS_ALLOWED_WITHOUT_CONSENT)[number];
3
+ export declare function isAnalyticsEventAllowedWithoutConsent(eventName: string): boolean;
4
+ //# sourceMappingURL=analyticsConsentAllowlist.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyticsConsentAllowlist.d.ts","sourceRoot":"","sources":["../src/analyticsConsentAllowlist.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,wCAAwC,0UAiBH,CAAC;AAEnD,MAAM,MAAM,mCAAmC,GAC7C,CAAC,OAAO,wCAAwC,CAAC,CAAC,MAAM,CAAC,CAAC;AAI5D,wBAAgB,qCAAqC,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAEhF"}
@@ -0,0 +1,23 @@
1
+ export const ANALYTICS_EVENTS_ALLOWED_WITHOUT_CONSENT = [
2
+ 'session_started',
3
+ 'session_completed',
4
+ 'session_abandoned',
5
+ 'error_shown',
6
+ 'auth_flow_started',
7
+ 'identity_completed',
8
+ 'login_success',
9
+ 'account_created',
10
+ 'payment_started',
11
+ 'payment_qr_generated',
12
+ 'payment_submitted',
13
+ 'payment_confirmed',
14
+ 'payment_failed',
15
+ 'receipt_opened',
16
+ 'retail_order_paid',
17
+ 'donation_completed',
18
+ ];
19
+ const ALLOWED_SET = new Set(ANALYTICS_EVENTS_ALLOWED_WITHOUT_CONSENT);
20
+ export function isAnalyticsEventAllowedWithoutConsent(eventName) {
21
+ return ALLOWED_SET.has(eventName);
22
+ }
23
+ //# sourceMappingURL=analyticsConsentAllowlist.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyticsConsentAllowlist.js","sourceRoot":"","sources":["../src/analyticsConsentAllowlist.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,wCAAwC,GAAG;IACtD,iBAAiB;IACjB,mBAAmB;IACnB,mBAAmB;IACnB,aAAa;IACb,mBAAmB;IACnB,oBAAoB;IACpB,eAAe;IACf,iBAAiB;IACjB,iBAAiB;IACjB,sBAAsB;IACtB,mBAAmB;IACnB,mBAAmB;IACnB,gBAAgB;IAChB,gBAAgB;IAChB,mBAAmB;IACnB,oBAAoB;CAC4B,CAAC;AAKnD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAS,wCAAwC,CAAC,CAAC;AAE9E,MAAM,UAAU,qCAAqC,CAAC,SAAiB;IACrE,OAAO,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACpC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function logAnalyticsDevError(context: string, details: Record<string, unknown>): void;
2
+ //# sourceMappingURL=analyticsDevLog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyticsDevLog.d.ts","sourceRoot":"","sources":["../src/analyticsDevLog.ts"],"names":[],"mappings":"AAQA,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,IAAI,CAKN"}
@@ -0,0 +1,14 @@
1
+ /** Dev/non-prod structured analytics error logging (plan P0.4). */
2
+ function isProductionRuntime() {
3
+ if (typeof process !== 'undefined' && process.env?.['NODE_ENV'] === 'production') {
4
+ return true;
5
+ }
6
+ return false;
7
+ }
8
+ export function logAnalyticsDevError(context, details) {
9
+ if (isProductionRuntime()) {
10
+ return;
11
+ }
12
+ console.error(`[analytics] ${context}`, details);
13
+ }
14
+ //# sourceMappingURL=analyticsDevLog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyticsDevLog.js","sourceRoot":"","sources":["../src/analyticsDevLog.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,SAAS,mBAAmB;IAC1B,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,YAAY,EAAE,CAAC;QACjF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,OAAe,EACf,OAAgC;IAEhC,IAAI,mBAAmB,EAAE,EAAE,CAAC;QAC1B,OAAO;IACT,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,eAAe,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Static emitter matrix for shipped analytics journeys (plan P0.3).
3
+ * CI drift tests ensure every `eventName` is in the v1 catalog and that
4
+ * required FE cells map to known orchestration surfaces.
5
+ */
6
+ import { type AnalyticsEventName } from './analyticsEvents.js';
7
+ export type AnalyticsEmitterSurface = 'kiosk' | 'customer' | 'server';
8
+ export type AnalyticsEmitterLayer = 'FE' | 'BE';
9
+ export interface AnalyticsEmitterManifestCell {
10
+ readonly eventName: AnalyticsEventName;
11
+ readonly surface: AnalyticsEmitterSurface;
12
+ readonly layer: AnalyticsEmitterLayer;
13
+ readonly required: boolean;
14
+ /** Allowlisted path fragment or server use-case name. */
15
+ readonly reference: string;
16
+ }
17
+ /** Shipped journeys only — kiosk retail/donation, customer shop/checkout, server payment/session. */
18
+ export declare const ANALYTICS_EMITTER_MANIFEST: readonly AnalyticsEmitterManifestCell[];
19
+ /** Repo-relative paths for CI grep wiring tests (G3). */
20
+ export declare const ANALYTICS_EMITTER_FE_REFERENCE_PATHS: Readonly<Record<string, string>>;
21
+ export declare function validateAnalyticsEmitterManifest(): string[];
22
+ //# sourceMappingURL=analyticsEmitterManifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyticsEmitterManifest.d.ts","sourceRoot":"","sources":["../src/analyticsEmitterManifest.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAyB,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAEtF,MAAM,MAAM,uBAAuB,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;AACtE,MAAM,MAAM,qBAAqB,GAAG,IAAI,GAAG,IAAI,CAAC;AAEhD,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,uBAAuB,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,yDAAyD;IACzD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,qGAAqG;AACrG,eAAO,MAAM,0BAA0B,EAAE,SAAS,4BAA4B,EAoBpE,CAAC;AAWX,yDAAyD;AACzD,eAAO,MAAM,oCAAoC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOjF,CAAC;AASF,wBAAgB,gCAAgC,IAAI,MAAM,EAAE,CAiB3D"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Static emitter matrix for shipped analytics journeys (plan P0.3).
3
+ * CI drift tests ensure every `eventName` is in the v1 catalog and that
4
+ * required FE cells map to known orchestration surfaces.
5
+ */
6
+ import { ANALYTICS_EVENT_NAMES } from './analyticsEvents.js';
7
+ /** Shipped journeys only — kiosk retail/donation, customer shop/checkout, server payment/session. */
8
+ export const ANALYTICS_EMITTER_MANIFEST = [
9
+ { eventName: 'session_started', surface: 'server', layer: 'BE', required: true, reference: 'StartAnalyticsSessionUseCase' },
10
+ { eventName: 'session_completed', surface: 'kiosk', layer: 'FE', required: true, reference: 'useKioskOrchestration' },
11
+ { eventName: 'session_completed', surface: 'customer', layer: 'FE', required: true, reference: 'QrPaymentView' },
12
+ { eventName: 'session_abandoned', surface: 'kiosk', layer: 'FE', required: true, reference: 'useKioskOrchestration' },
13
+ { eventName: 'screen_viewed', surface: 'customer', layer: 'FE', required: true, reference: 'shopAnalyticsMetadata' },
14
+ { eventName: 'screen_viewed', surface: 'kiosk', layer: 'FE', required: true, reference: 'useKioskOrchestration' },
15
+ { eventName: 'catalog_interaction', surface: 'customer', layer: 'FE', required: true, reference: 'ShopScreen' },
16
+ { eventName: 'catalog_interaction', surface: 'kiosk', layer: 'FE', required: true, reference: 'useKioskOrchestration' },
17
+ { eventName: 'product_added', surface: 'customer', layer: 'FE', required: true, reference: 'ShopScreen' },
18
+ { eventName: 'product_added', surface: 'kiosk', layer: 'FE', required: true, reference: 'useKioskOrchestration' },
19
+ { eventName: 'cart_viewed', surface: 'customer', layer: 'FE', required: true, reference: 'ShopScreen' },
20
+ { eventName: 'checkout_started', surface: 'customer', layer: 'FE', required: true, reference: 'ShopScreen' },
21
+ { eventName: 'checkout_started', surface: 'kiosk', layer: 'FE', required: true, reference: 'useKioskOrchestration' },
22
+ { eventName: 'payment_started', surface: 'kiosk', layer: 'FE', required: true, reference: 'useKioskOrchestration' },
23
+ { eventName: 'payment_started', surface: 'customer', layer: 'FE', required: true, reference: 'PhoneFirstProductJourney' },
24
+ { eventName: 'payment_qr_generated', surface: 'server', layer: 'BE', required: true, reference: 'CreateQRPaymentUseCase' },
25
+ { eventName: 'payment_confirmed', surface: 'server', layer: 'BE', required: true, reference: 'CompletePaymentTransactionUseCase' },
26
+ { eventName: 'donation_started', surface: 'customer', layer: 'FE', required: true, reference: 'PhoneFirstDonationJourney' },
27
+ { eventName: 'kiosk_wakeup', surface: 'kiosk', layer: 'FE', required: true, reference: 'useKioskOrchestration' },
28
+ ];
29
+ const ALLOWED_FE_REFERENCES = new Set([
30
+ 'ShopScreen',
31
+ 'shopAnalyticsMetadata',
32
+ 'useKioskOrchestration',
33
+ 'QrPaymentView',
34
+ 'PhoneFirstProductJourney',
35
+ 'PhoneFirstDonationJourney',
36
+ ]);
37
+ /** Repo-relative paths for CI grep wiring tests (G3). */
38
+ export const ANALYTICS_EMITTER_FE_REFERENCE_PATHS = {
39
+ shopAnalyticsMetadata: 'rpapp-customer/src/features/shop/shopAnalyticsMetadata.ts',
40
+ ShopScreen: 'rpapp-customer/src/features/shop/ShopScreen.tsx',
41
+ useKioskOrchestration: 'rpapp-kiosk/src/features/kiosk/hooks/useKioskOrchestration.ts',
42
+ QrPaymentView: 'rpapp-customer/src/features/checkout/QrPaymentView.tsx',
43
+ PhoneFirstProductJourney: 'rpapp-customer/src/features/journeys/PhoneFirstProductJourney.tsx',
44
+ PhoneFirstDonationJourney: 'rpapp-customer/src/features/journeys/PhoneFirstDonationJourney.tsx',
45
+ };
46
+ const ALLOWED_BE_REFERENCES = new Set([
47
+ 'StartAnalyticsSessionUseCase',
48
+ 'CreateQRPaymentUseCase',
49
+ 'CompletePaymentTransactionUseCase',
50
+ 'CreatePostKioskAnalyticsChildSessionUseCase',
51
+ ]);
52
+ export function validateAnalyticsEmitterManifest() {
53
+ const errors = [];
54
+ const catalog = new Set(ANALYTICS_EVENT_NAMES);
55
+ for (const cell of ANALYTICS_EMITTER_MANIFEST) {
56
+ if (!catalog.has(cell.eventName)) {
57
+ errors.push(`manifest event not in catalog: ${cell.eventName}`);
58
+ }
59
+ if (cell.layer === 'FE' && !ALLOWED_FE_REFERENCES.has(cell.reference)) {
60
+ errors.push(`unknown FE reference for ${cell.eventName}: ${cell.reference}`);
61
+ }
62
+ if (cell.layer === 'BE' && !ALLOWED_BE_REFERENCES.has(cell.reference)) {
63
+ errors.push(`unknown BE reference for ${cell.eventName}: ${cell.reference}`);
64
+ }
65
+ }
66
+ return errors;
67
+ }
68
+ //# sourceMappingURL=analyticsEmitterManifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyticsEmitterManifest.js","sourceRoot":"","sources":["../src/analyticsEmitterManifest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { type AnalyticsEventName } from './analyticsEvents.js';
2
+ import type { LocalizedLabel } from './labels/localizedLabel.js';
3
+ export declare const ANALYTICS_EVENT_DESCRIPTIONS: Record<AnalyticsEventName, LocalizedLabel>;
4
+ //# sourceMappingURL=analyticsEventDescriptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyticsEventDescriptions.d.ts","sourceRoot":"","sources":["../src/analyticsEventDescriptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,kBAAkB,EACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAwLjE,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,kBAAkB,EAAE,cAAc,CACjD,CAAC"}
@@ -0,0 +1,166 @@
1
+ import { ANALYTICS_DONATION_EVENTS, ANALYTICS_EVENT_NAMES, ANALYTICS_KIOSK_EVENTS, ANALYTICS_RETAIL_EVENTS, ANALYTICS_UNIVERSAL_EVENTS, } from './analyticsEvents.js';
2
+ /** Plain-language analytics descriptions for operators (cs + en), 1–3 short sentences. */
3
+ const UNIVERSAL_DESCRIPTIONS = {
4
+ [ANALYTICS_UNIVERSAL_EVENTS.SESSION_STARTED]: {
5
+ en: 'Counts when a new customer visit starts on the kiosk or phone app. One count per new visit — doing the same thing again in the same visit does not add another. This is not the same as the “sessions started” number on some charts, which is calculated differently.',
6
+ cs: 'Počítá se, když na kiosku nebo v aplikaci začne nová návštěva zákazníka. Jednou za každou novou návštěvu — opakování ve stejné návštěvě nepřidá další. Není totéž jako číslo „zahájených relací“ na některých grafech, které se počítá jinak.',
7
+ },
8
+ [ANALYTICS_UNIVERSAL_EVENTS.SESSION_COMPLETED]: {
9
+ en: 'Counts when a visit ends in a normal, finished way — often after a successful payment. Usually one per finished visit. Not the same as “payment went through” or “order paid” — those are counted separately.',
10
+ cs: 'Počítá se, když návštěva skončí normálně — často po úspěšné platbě. Obvykle jednou za každou dokončenou návštěvu. Není totéž jako „platba prošla“ nebo „objednávka zaplacena“ — to se počítá zvlášť.',
11
+ },
12
+ [ANALYTICS_UNIVERSAL_EVENTS.SESSION_ABANDONED]: {
13
+ en: 'Counts when someone leaves without finishing — closed tab, walked away, timed out, or cancelled in a way that ends the visit. One count per time that happens for a visit. Not the same as “payment failed” when they only cancel a payment step.',
14
+ cs: 'Počítá se, když někdo odejde bez dokončení — zavře stránku, odejde od kiosku, vyprší čas, nebo zruší tak, že návštěva skončí. Jednou za každý takový konec návštěvy. Není totéž jako „platba selhala“, když zruší jen krok platby.',
15
+ },
16
+ [ANALYTICS_UNIVERSAL_EVENTS.SCREEN_VIEWED]: {
17
+ en: 'Counts each time a screen is shown on the kiosk or customer app — home, cart, payment, and so on. Every time they open or return to a screen adds one. Not a new visit, not a payment result.',
18
+ cs: 'Počítá se pokaždé, když se na kiosku nebo v aplikaci zobrazí obrazovka — úvod, košík, platba atd. Každé otevření nebo návrat na obrazovku přidá jednu. Není nová návštěva ani výsledek platby.',
19
+ },
20
+ [ANALYTICS_UNIVERSAL_EVENTS.CTA_CLICKED]: {
21
+ en: 'Counts when someone taps a main action button (for example “Continue” or “Pay”). One count per tap — tapping twice quickly can mean two. Not the same as just changing screen or starting payment.',
22
+ cs: 'Počítá se, když někdo klepne na hlavní tlačítko (např. „Pokračovat“ nebo „Zaplatit“). Jednou za každé klepnutí — rychlé dvojité klepnutí může být dvakrát. Není jen změna obrazovky ani začátek platby.',
23
+ },
24
+ [ANALYTICS_UNIVERSAL_EVENTS.BACK_CLICKED]: {
25
+ en: 'Counts when someone uses the Back control in the flow. One count per back press. Leaving the whole visit is counted separately as “visit abandoned”, not here.',
26
+ cs: 'Počítá se, když někdo v průběhu použije Zpět. Jednou za každé stisknutí. Úplné opuštění návštěvy se počítá zvlášť jako „návštěva opuštěna“, ne tady.',
27
+ },
28
+ [ANALYTICS_UNIVERSAL_EVENTS.ERROR_SHOWN]: {
29
+ en: 'Counts when an error message is shown to the customer on screen. One count each time the message appears — showing it again adds another. Not the same as a failed payment unless they also cancel the payment.',
30
+ cs: 'Počítá se, když se zákazníkovi na obrazovce ukáže chybová hláška. Jednou za každé zobrazení — opětovné ukázání přidá další. Není totéž jako neúspěšná platba, pokud platbu zároveň nezruší.',
31
+ },
32
+ [ANALYTICS_UNIVERSAL_EVENTS.AUTH_FLOW_STARTED]: {
33
+ en: 'Counts when someone starts logging in or signing up. One count per time they begin that process. Success or new account is counted with different events.',
34
+ cs: 'Počítá se, když někdo začne přihlašování nebo registraci. Jednou za každý začátek. Úspěch nebo nový účet se počítá jinými událostmi.',
35
+ },
36
+ [ANALYTICS_UNIVERSAL_EVENTS.IDENTITY_COMPLETED]: {
37
+ en: 'Counts when someone finishes a step like confirming phone or email in the journey. One count per completed step. Not the same as “logged in” or “account created”.',
38
+ cs: 'Počítá se, když někdo dokončí krok jako potvrzení telefonu nebo e-mailu. Jednou za každý dokončený krok. Není totéž jako „přihlášen“ nebo „účet vytvořen“.',
39
+ },
40
+ [ANALYTICS_UNIVERSAL_EVENTS.LOGIN_SUCCESS]: {
41
+ en: 'Counts when login succeeds. Usually one per customer per shop when the system remembers them — repeats may be ignored. Not the same as creating a brand-new account.',
42
+ cs: 'Počítá se po úspěšném přihlášení. Obvykle jednou na zákazníka a provozovnu, když si systém pamatuje — opakování mohou být ignorována. Není totéž jako založení úplně nového účtu.',
43
+ },
44
+ [ANALYTICS_UNIVERSAL_EVENTS.ACCOUNT_CREATED]: {
45
+ en: 'Counts when a new customer account is created. One count per new account. Returning customers who only log in are not counted here.',
46
+ cs: 'Počítá se při vytvoření nového zákaznického účtu. Jednou za každý nový účet. Zákazníci, kteří se jen přihlásí, se sem nepočítají.',
47
+ },
48
+ [ANALYTICS_UNIVERSAL_EVENTS.PAYMENT_STARTED]: {
49
+ en: 'Counts when a payment attempt begins — customer chose to pay and the system started handling it. One count per payment try (retries may merge into one). Not the same as payment finished or QR code shown alone.',
50
+ cs: 'Počítá se, když začne pokus o platbu — zákazník zvolil zaplatit a systém to začal řešit. Jednou za pokus (opakování se mohou sloučit). Není totéž jako dokončená platba nebo jen zobrazení QR kódu.',
51
+ },
52
+ [ANALYTICS_UNIVERSAL_EVENTS.PAYMENT_QR_GENERATED]: {
53
+ en: 'Counts when the system creates a QR code for paying by phone banking. One count per payment that gets a QR. The customer tapping “pay” on screen is counted separately.',
54
+ cs: 'Počítá se, když systém vytvoří QR kód pro platbu přes bankovní aplikaci. Jednou za platbu s QR. Klepnutí zákazníka na „zaplatit“ na obrazovce se počítá zvlášť.',
55
+ },
56
+ [ANALYTICS_UNIVERSAL_EVENTS.PAYMENT_SUBMITTED]: {
57
+ en: 'Counts when the payment is sent to the bank or card provider to process. One count per payment sent. Not the same as money already received — that is “payment confirmed”.',
58
+ cs: 'Počítá se, když se platba odešle bance nebo platební bráně ke zpracování. Jednou za odeslanou platbu. Není totéž jako peníze už dorazily — to je „platba potvrzena“.',
59
+ },
60
+ [ANALYTICS_UNIVERSAL_EVENTS.PAYMENT_CONFIRMED]: {
61
+ en: 'Counts when the system marks a payment as successfully received. One count per successful payment. Revenue totals on dashboards use money reports, not just adding up this number.',
62
+ cs: 'Počítá se, když systém označí platbu jako úspěšně přijatou. Jednou za každou úspěšnou platbu. Součty tržeb na přehledech vycházejí z finančních reportů, ne jen ze sečtení tohoto čísla.',
63
+ },
64
+ [ANALYTICS_UNIVERSAL_EVENTS.PAYMENT_FAILED]: {
65
+ en: 'Counts when a payment is cancelled or fails in a way the system records as failed — for example customer cancels at the terminal. One count per failed payment attempt. Closing the browser without paying is usually “visit abandoned”, not this.',
66
+ cs: 'Počítá se, když je platba zrušena nebo selže tak, že ji systém eviduje jako neúspěšnou — např. zrušení u terminálu. Jednou za neúspěšný pokus. Zavření prohlížeče bez placení je obvykle „návštěva opuštěna“, ne toto.',
67
+ },
68
+ [ANALYTICS_UNIVERSAL_EVENTS.RECEIPT_OPENED]: {
69
+ en: 'Counts when the customer opens or views a receipt on screen. One count per time they open it. Not the same as payment succeeding or an email receipt being sent.',
70
+ cs: 'Počítá se, když zákazník otevře nebo zobrazí účtenku na obrazovce. Jednou za každé otevření. Není totéž jako úspěšná platba nebo odeslání účtenky e-mailem.',
71
+ },
72
+ };
73
+ const RETAIL_DESCRIPTIONS = {
74
+ [ANALYTICS_RETAIL_EVENTS.CATALOG_INTERACTION]: {
75
+ en: 'Counts when someone browses products — opens categories or product details in the shop. One count per browsing action recorded. Adding to cart is a different event.',
76
+ cs: 'Počítá se, když někdo prohlíží produkty — otevře kategorie nebo detail v obchodě. Jednou za zaznamenanou interakci. Přidání do košíku je jiná událost.',
77
+ },
78
+ [ANALYTICS_RETAIL_EVENTS.PRODUCT_ADDED]: {
79
+ en: 'Counts when a product is put into the shopping cart. One count per add (changing quantity may count again). Not checkout or payment yet.',
80
+ cs: 'Počítá se, když se produkt vloží do košíku. Jednou za přidání (změna množství může počítat znovu). Ještě není pokladna ani platba.',
81
+ },
82
+ [ANALYTICS_RETAIL_EVENTS.PRODUCT_REMOVED]: {
83
+ en: 'Counts when a product is removed from the cart. One count per removal. Leaving the whole order without paying is counted elsewhere.',
84
+ cs: 'Počítá se, když se produkt odebere z košíku. Jednou za odebrání. Opuštění celé objednávky bez platby se počítá jinde.',
85
+ },
86
+ [ANALYTICS_RETAIL_EVENTS.CART_VIEWED]: {
87
+ en: 'Counts when the cart screen is opened to review items. One count each time they open the cart — opening it again adds another. Sales money uses payment data, not this count alone.',
88
+ cs: 'Počítá se, když se otevře obrazovka košíku ke kontrole položek. Jednou za každé otevření — návrat na košík přidá další. Tržby vycházejí z plateb, ne jen z tohoto počtu.',
89
+ },
90
+ [ANALYTICS_RETAIL_EVENTS.CHECKOUT_STARTED]: {
91
+ en: 'Counts when the customer moves from the cart to the payment step (for example taps Pay). One count per time they enter checkout. Payment finishing is counted separately.',
92
+ cs: 'Počítá se, když zákazník přejde z košíku k platbě (např. klepne Zaplatit). Jednou za vstup do pokladny. Dokončení platby se počítá zvlášť.',
93
+ },
94
+ [ANALYTICS_RETAIL_EVENTS.RETAIL_ORDER_PAID]: {
95
+ en: 'Counts when a shop purchase payment is completed successfully. One count per paid order. Works together with “payment confirmed” — dashboards use money totals, not only this row count.',
96
+ cs: 'Počítá se, když je nákup v obchodě úspěšně zaplacen. Jednou za zaplacenou objednávku. Jde ruku v ruce s „platba potvrzena“ — přehledy používají součty peněz, ne jen tento počet řádků.',
97
+ },
98
+ [ANALYTICS_RETAIL_EVENTS.RETAIL_ORDER_ABANDONED]: {
99
+ en: 'Counts when someone leaves a shop order without paying. One count per abandoned order attempt. Not removing one item from the cart.',
100
+ cs: 'Počítá se, když někdo opustí objednávku v obchodě bez zaplacení. Jednou za opuštěný pokus. Není odebrání jedné položky z košíku.',
101
+ },
102
+ };
103
+ const DONATION_DESCRIPTIONS = {
104
+ [ANALYTICS_DONATION_EVENTS.DONATION_STARTED]: {
105
+ en: 'Counts when someone starts the donation flow and chooses to give. One count per start of that flow. A finished donation is counted separately after payment.',
106
+ cs: 'Počítá se, když někdo začne darovat a zvolí dát peníze. Jednou za začátek tohoto kroku. Dokončený dar se počítá zvlášť po zaplacení.',
107
+ },
108
+ [ANALYTICS_DONATION_EVENTS.DONATION_AMOUNT_SELECTED]: {
109
+ en: 'Counts when someone picks a preset donation amount (a chip on screen). One count per pick — choosing another amount adds another. Typing a custom amount is a different event.',
110
+ cs: 'Počítá se, když někdo vybere přednastavenou částku daru (tlačítko na obrazovce). Jednou za výběr — jiná částka přidá další. Vlastní částka je jiná událost.',
111
+ },
112
+ [ANALYTICS_DONATION_EVENTS.DONATION_CUSTOM_AMOUNT_ENTERED]: {
113
+ en: 'Counts when someone types their own donation amount instead of a preset. One count when they confirm that amount. Preset chip clicks are not counted here.',
114
+ cs: 'Počítá se, když někdo napíše vlastní částku daru místo předvolby. Jednou při potvrzení částky. Klepnutí na předvolbu se sem nepočítá.',
115
+ },
116
+ [ANALYTICS_DONATION_EVENTS.DONATION_PROJECT_SELECTED]: {
117
+ en: 'Counts when someone chooses which project or cause receives the donation. One count per project choice. Paying the donation is counted later.',
118
+ cs: 'Počítá se, když někdo vybere, který projekt nebo účel dar dostane. Jednou za výběr projektu. Samotná platba daru se počítá později.',
119
+ },
120
+ [ANALYTICS_DONATION_EVENTS.DONATION_IMPACT_OPENED]: {
121
+ en: 'Counts when someone opens extra information about the project’s impact or story. One count per open. Just reading — not paying yet.',
122
+ cs: 'Počítá se, když někdo otevře doplňující informace o dopadu nebo příběhu projektu. Jednou za otevření. Jen čtení — ještě bez platby.',
123
+ },
124
+ [ANALYTICS_DONATION_EVENTS.DONATION_TAX_RECEIPT_SELECTED]: {
125
+ en: 'Counts when someone turns the tax receipt option on or off. One count per change. Does not mean a receipt was already issued.',
126
+ cs: 'Počítá se, když někdo zapne nebo vypne volbu daňového dokladu. Jednou za změnu. Neznamená, že doklad už byl vystaven.',
127
+ },
128
+ [ANALYTICS_DONATION_EVENTS.RECURRING_DONATION_SELECTED]: {
129
+ en: 'Counts when someone chooses a repeating (monthly) donation option on screen. One count per choice. It does not by itself start a subscription in this report.',
130
+ cs: 'Počítá se, když někdo na obrazovce zvolí opakovaný (měsíční) dar. Jednou za volbu. Samo o sobě tím v tomto reportu nevzniká předplatné.',
131
+ },
132
+ [ANALYTICS_DONATION_EVENTS.DONATION_COMPLETED]: {
133
+ en: 'Counts when a donation payment is completed successfully. One count per paid donation. Shown together with payment success in the system.',
134
+ cs: 'Počítá se, když je dar úspěšně zaplacen. Jednou za zaplacený dar. V systému jde ruku v ruce s úspěšnou platbou.',
135
+ },
136
+ [ANALYTICS_DONATION_EVENTS.DONATION_ABANDONED]: {
137
+ en: 'Counts when someone leaves the donation flow without paying. One count per time they abandon. Not the same as a failed card payment unless they cancel an active payment.',
138
+ cs: 'Počítá se, když někdo opustí darování bez zaplacení. Jednou za každé opuštění. Není totéž jako neúspěšná platba kartou, pokud nezruší rozjetou platbu.',
139
+ },
140
+ };
141
+ const KIOSK_DESCRIPTIONS = {
142
+ [ANALYTICS_KIOSK_EVENTS.KIOSK_WAKEUP]: {
143
+ en: 'Counts when the kiosk wakes up from the idle attract screen because someone touched it or it starts up. One count per wake-up. Starting a full customer visit may be counted separately.',
144
+ cs: 'Počítá se, když se kiosk probudí z úvodní obrazovky po dotyku nebo při startu. Jednou za probuzení. Zahájení celé návštěvy zákazníka se může počítat zvlášť.',
145
+ },
146
+ [ANALYTICS_KIOSK_EVENTS.KIOSK_TIMEOUT]: {
147
+ en: 'Counts when the kiosk sits unused too long and returns to the attract screen by itself. One count per timeout. Someone walking away mid-order may also count as visit abandoned.',
148
+ cs: 'Počítá se, když kiosk dlouho nikdo nepoužívá a sám se vrátí na úvodní obrazovku. Jednou za vypršení času. Odejití uprostřed objednávky může být také „návštěva opuštěna“.',
149
+ },
150
+ };
151
+ function buildAnalyticsEventDescriptions() {
152
+ const descriptions = {
153
+ ...UNIVERSAL_DESCRIPTIONS,
154
+ ...RETAIL_DESCRIPTIONS,
155
+ ...DONATION_DESCRIPTIONS,
156
+ ...KIOSK_DESCRIPTIONS,
157
+ };
158
+ for (const name of ANALYTICS_EVENT_NAMES) {
159
+ if (!descriptions[name]) {
160
+ throw new Error(`Missing analytics event description for: ${name}`);
161
+ }
162
+ }
163
+ return descriptions;
164
+ }
165
+ export const ANALYTICS_EVENT_DESCRIPTIONS = buildAnalyticsEventDescriptions();
166
+ //# sourceMappingURL=analyticsEventDescriptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyticsEventDescriptions.js","sourceRoot":"","sources":["../src/analyticsEventDescriptions.ts"],"names":[],"mappings":"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"}
package/dist/api.d.ts CHANGED
@@ -22,8 +22,6 @@ export declare const API_ENDPOINTS: {
22
22
  readonly PAYMENT_TEST_BANK_TRANSFER_CHECK: "/api/payments/test-bank-transfer-check";
23
23
  /** Authenticated kiosk fallback for post-kiosk handoff token (Phase 5). */
24
24
  readonly PAYMENT_POST_KIOSK_HANDOFF: "/api/payments/post-kiosk-handoff/:paymentId";
25
- readonly CONSENT_ANALYTICS: "/api/consents/analytics";
26
- readonly CONSENT_MARKETING: "/api/consents/marketing";
27
25
  readonly ADMIN_LOGIN: "/api/admin/login";
28
26
  readonly ADMIN_LOGOUT: "/api/admin/logout";
29
27
  readonly ADMIN_PRODUCTS: "/api/admin/products";
package/dist/api.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;IAqBxB,2EAA2E;;;;;;;;;;;;;;;;;;;;CAyBnE,CAAC;AAIX;;;;;;;GAOG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAC,CAAS;gBAGvB,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,MAAM;IAWlB,OAAO,CAAC,wBAAwB;YAalB,OAAO;IAgDf,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAIpC,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAOrD,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAOpD,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;CAG9C;AAED;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAC1B,UAAU,MAAM,EAChB,cAAc,MAAM,EACpB,aAAa,MAAM,EACnB,UAAU,MAAM,KACf,SAKF,CAAC"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;IAqBxB,2EAA2E;;;;;;;;;;;;;;;;;;CAsBnE,CAAC;AAIX;;;;;;;GAOG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAC,CAAS;gBAGvB,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,MAAM;IAWlB,OAAO,CAAC,wBAAwB;YAalB,OAAO;IAgDf,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAIpC,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAOrD,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAOpD,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;CAG9C;AAED;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAC1B,UAAU,MAAM,EAChB,cAAc,MAAM,EACpB,aAAa,MAAM,EACnB,UAAU,MAAM,KACf,SAKF,CAAC"}
package/dist/api.js CHANGED
@@ -26,9 +26,6 @@ export const API_ENDPOINTS = {
26
26
  PAYMENT_TEST_BANK_TRANSFER_CHECK: '/api/payments/test-bank-transfer-check',
27
27
  /** Authenticated kiosk fallback for post-kiosk handoff token (Phase 5). */
28
28
  PAYMENT_POST_KIOSK_HANDOFF: '/api/payments/post-kiosk-handoff/:paymentId',
29
- // Consent endpoints
30
- CONSENT_ANALYTICS: '/api/consents/analytics',
31
- CONSENT_MARKETING: '/api/consents/marketing',
32
29
  // Admin endpoints
33
30
  ADMIN_LOGIN: '/api/admin/login',
34
31
  ADMIN_LOGOUT: '/api/admin/logout',
package/dist/api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,4BAA4B;AAE5B,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,oBAAoB;IACpB,QAAQ,EAAE,eAAe;IACzB,aAAa,EAAE,yBAAyB;IACxC,sBAAsB,EAAE,8BAA8B;IAEtD,oBAAoB;IACpB,iBAAiB,EAAE,yBAAyB;IAC5C,oBAAoB,EAAE,uCAAuC;IAC7D,gBAAgB,EAAE,wBAAwB;IAC1C,cAAc,EAAE,sBAAsB;IACtC,wBAAwB,EAAE,gCAAgC;IAC1D,uBAAuB,EAAE,+BAA+B;IAExD,qCAAqC;IACrC,sBAAsB,EAAE,8BAA8B;IACtD,sBAAsB,EAAE,yCAAyC;IACjE,sBAAsB,EAAE,8BAA8B;IACtD,uBAAuB,EAAE,+BAA+B;IACxD,6BAA6B,EAAE,qCAAqC;IACpE,gCAAgC,EAAE,wCAAwC;IAC1E,2EAA2E;IAC3E,0BAA0B,EAAE,6CAA6C;IAEzE,oBAAoB;IACpB,iBAAiB,EAAE,yBAAyB;IAC5C,iBAAiB,EAAE,yBAAyB;IAC5C,kBAAkB;IAClB,WAAW,EAAE,kBAAkB;IAC/B,YAAY,EAAE,mBAAmB;IACjC,cAAc,EAAE,qBAAqB;IACrC,wBAAwB,EAAE,wCAAwC;IAClE,uBAAuB,EAAE,mCAAmC;IAC5D,8BAA8B,EAAE,mDAAmD;IACnF,8BAA8B,EAAE,+CAA+C;IAC/E,YAAY,EAAE,mBAAmB;IACjC,mBAAmB,EAAE,uBAAuB;IAC5C,UAAU,EAAE,iBAAiB;IAC7B,gBAAgB,EAAE,0BAA0B;IAE5C,mBAAmB;IACnB,MAAM,EAAE,SAAS;IACjB,wBAAwB,EAAE,2BAA2B;IACrD,4CAA4C,EAAE,+CAA+C;IAC7F,kBAAkB,EAAE,6BAA6B;IACjD,MAAM,EAAE,kBAAkB;CAClB,CAAC;AAEX,yBAAyB;AAEzB;;;;;;;GAOG;AACH,MAAM,OAAO,SAAS;IACZ,OAAO,CAAS;IAChB,WAAW,CAAU;IACrB,UAAU,CAAU;IACpB,OAAO,CAAU;IAEzB,YACE,OAAe,EACf,WAAoB,EACpB,UAAmB,EACnB,OAAgB;QAEhB,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,wBAAwB;QACnE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEO,wBAAwB,CAAC,QAAgB;QAC/C,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,IAAI,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,gFAAgF;YAChF,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC1C,MAAM,UAAU,GAAG,QAAQ,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,UAAU,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;QACvD,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,OAAO,CACnB,QAAgB,EAChB,UAAuB,EAAE;QAEzB,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,8DAA8D,OAAO,QAAQ,EAAE,CAAC,CAAC;QACnG,CAAC;QAED,2DAA2D;QAC3D,MAAM,cAAc,GAAG,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;QAC/D,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,cAAc,EAAE,CAAC;QAE/C,qCAAqC;QACrC,IAAI,CAAC;YACH,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,uCAAuC,GAAG,cAAc,IAAI,CAAC,OAAO,eAAe,QAAQ,EAAE,CAAC,CAAC;QACjH,CAAC;QAED,MAAM,OAAO,GAA2B;YACtC,cAAc,EAAE,kBAAkB;YAClC,GAAG,CAAC,OAAO,CAAC,OAAiC,IAAI,EAAE,CAAC;SACrD,CAAC;QAEF,gCAAgC;QAChC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QAC/C,CAAC;QACD,IACE,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;YAChC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;YAC9B,IAAI,CAAC,OAAO,GAAG,CAAC,EAChB,CAAC;YACD,OAAO,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,GAAG,OAAO;YACV,OAAO;SACR,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QACrE,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,GAAG,CAAI,QAAgB;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAI,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,IAAI,CAAI,QAAgB,EAAE,IAAc;QAC5C,OAAO,IAAI,CAAC,OAAO,CAAI,QAAQ,EAAE;YAC/B,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SAC9C,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,GAAG,CAAI,QAAgB,EAAE,IAAc;QAC3C,OAAO,IAAI,CAAC,OAAO,CAAI,QAAQ,EAAE;YAC/B,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SAC9C,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,MAAM,CAAI,QAAgB;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAI,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IACzD,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,OAAgB,EAChB,WAAoB,EACpB,UAAmB,EACnB,OAAgB,EACL,EAAE;IACb,sCAAsC;IACtC,MAAM,GAAG,GAAG,OAAO,IAAI,uBAAuB,CAAC;IAE/C,OAAO,IAAI,SAAS,CAAC,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AAC9D,CAAC,CAAC"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { type AuditEventCode } from './auditEventCodes.js';
2
+ import type { LocalizedLabel } from './labels/localizedLabel.js';
3
+ /** Plain-language audit descriptions for operators (cs + en), 1–3 short sentences. */
4
+ export declare const AUDIT_EVENT_DESCRIPTIONS: Record<AuditEventCode, LocalizedLabel>;
5
+ //# sourceMappingURL=auditEventDescriptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auditEventDescriptions.d.ts","sourceRoot":"","sources":["../src/auditEventDescriptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE,sFAAsF;AACtF,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,cAAc,EAAE,cAAc,CAiK3E,CAAC"}