sinfactura-types 1.10.76 → 1.10.78

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.
@@ -214,3 +214,54 @@ export interface StoreOverridesEnvelope {
214
214
  overrides: StoreEntitlementOverride[];
215
215
  resolved: ResolvedEntitlements;
216
216
  }
217
+ /**
218
+ * One active refresh-token session for a tenant user, as returned to a
219
+ * SUPERVISOR/MANAGER operator. Deliberately carries NO token material: `jti`
220
+ * and `family` identify a session for revocation, they do not authenticate one.
221
+ */
222
+ export interface TenantUserSessionSummary {
223
+ jti: string;
224
+ family: string;
225
+ /** Unix ms. */
226
+ issuedAt: number;
227
+ /** Unix ms. */
228
+ expiresAt: number;
229
+ userAgent?: string;
230
+ ip?: string;
231
+ }
232
+ /**
233
+ * `complete: false` means the underlying scan was truncated and the list is a
234
+ * prefix, not the whole set — never render it as "these are all the sessions".
235
+ */
236
+ export interface TenantUserSessionsResponse {
237
+ sessions: TenantUserSessionSummary[];
238
+ complete: boolean;
239
+ }
240
+ /** Revoke-all result. Idempotent: revoking with no sessions is `revoked: 0`, not an error. */
241
+ export interface TenantUserSessionsRevokeResponse {
242
+ revoked: number;
243
+ failed: number;
244
+ complete: boolean;
245
+ }
246
+ /** One store's entry in the cross-store entitlement-override roster. */
247
+ export interface PlatformOverrideRosterEntry {
248
+ storeId: string;
249
+ overrideCount: number;
250
+ /**
251
+ * ⚠️ Unix SECONDS, matching `StoreEntitlementOverride`'s TTL field rather
252
+ * than the millisecond timestamps elsewhere in this file. Absent when no
253
+ * override on that store carries an expiry.
254
+ */
255
+ earliestExpiresAt?: number;
256
+ }
257
+ /**
258
+ * Roster response. Built by a scheduled scan into a single `PLATFORM#OVERRIDES`
259
+ * projection row rather than served from a GSI — `builtAt` is therefore the age
260
+ * of the answer, and a caller that needs live data must read the per-store
261
+ * route instead.
262
+ */
263
+ export interface PlatformOverridesRosterResponse {
264
+ entries: PlatformOverrideRosterEntry[];
265
+ /** Unix ms. */
266
+ builtAt: number;
267
+ }
package/dist/store.d.ts CHANGED
@@ -208,6 +208,21 @@ declare global {
208
208
  verified?: boolean;
209
209
  };
210
210
  waitlist?: boolean;
211
+ /**
212
+ * Tenant opt-in: require a storefront customer's email to be verified
213
+ * before checkout. Absent or `false` — the default for every store,
214
+ * including all pre-existing ones — leaves verification a SOFT state:
215
+ * `Customer.emailVerified` is tracked and surfaced, and nothing is
216
+ * blocked.
217
+ *
218
+ * ⚠️ Turning this on gates the store's OWN existing customers. Nothing is
219
+ * backfilled (forward-only), so every customer who registered before
220
+ * verification existed reads as unverified and is refused at checkout
221
+ * until they verify. That is the tenant's decision to make, but a
222
+ * settings UI should say so rather than presenting it as a neutral
223
+ * switch.
224
+ */
225
+ requireEmailVerification?: boolean;
211
226
  }
212
227
  interface StoreIntegrations {
213
228
  afip?: Afip;
@@ -480,7 +480,17 @@ declare global {
480
480
  customer_id: string;
481
481
  email_sent: boolean;
482
482
  }
483
- type UserActivityEvent = UserLoggedInEvent | UserLoggedOutEvent | UserPasswordChangedEvent | UserSuspendedEvent | TwoFactorEnrolledEvent | TwoFactorDisabledEvent | TwoFactorResetEvent | TwoFactorRecoveryCodesGeneratedEvent | StorePaletteChangedEvent | StoreSettingsUpdatedEvent | PlanChangedEvent | InvoiceCreatedEvent | OrderCreatedEvent | OrderCancelledEvent | OrderEditedEvent | OrderReturnedEvent | ProductPriceChangedEvent | CustomerCreatedEvent | CustomerEditedEvent | CashDrawerOpenedEvent | CashDrawerClosedEvent | TenantImpersonatedEvent | SecretRotatedEvent | UserCreatedEvent | UserUpdatedEvent | ProductCreatedEvent | ProductUpdatedEvent | StockIncomeCreatedEvent | CategoryCreatedEvent | CategoryUpdatedEvent | BrandCreatedEvent | BrandUpdatedEvent | SupplierCreatedEvent | SupplierUpdatedEvent | SupplierInvoiceCreatedEvent | SupplierAccountCreatedEvent | SupplierAccountUpdatedEvent | AccountCreatedEvent | AccountDeletedEvent | BasketUpdatedEvent | BasketDeletedEvent | CashDrawerMovementEvent | PaymentCreatedEvent | PaymentLinkedEvent | PaymentUnlinkedEvent | PaymentLinkageUpdatedEvent | NotificationReadEvent | LogDeletedEvent | PlanCreatedEvent | StoreMaintenanceToggledEvent | PlatformMaintenanceToggledEvent | TenantCreatedEvent | LiteralUpdatedEvent | SupportTicketCreatedEvent | SupportTicketUpdatedEvent | AuditTrailViewedEvent | ReportViewedEvent | CustomerPiiViewedEvent | CashDrawerUiOpenedEvent | CashDrawerUiClosedEvent | ExportInitiatedEvent | ImpersonationUiStartedEvent | ImpersonationUiEndedEvent | PaymentViewedEvent | InvoiceViewedEvent | CustomerDetailViewedEvent | SupplierAccountViewedEvent | SearchPerformedEvent | ActionDeniedEvent | TwoFactorChallengeShownEvent | TwoFactorCodeValidationFailedEvent | TwoFactorEnrollmentStartedEvent | TwoFactorRecoveryCodesRevealedEvent | TwoFactorResetInitiatedEvent | IntegrationTokenRefreshedEvent | WaitlistConvertedEvent | PlatformConfigUpdatedEvent | MlChannelStatusChangedEvent | PrintRuleCreatedEvent | PrintRuleEditedEvent | PrintRuleDeletedEvent | PrinterActiveToggledEvent | CustomerPasswordResetInitiatedEvent;
483
+ interface UserSessionsRevokedEvent extends UserActivityEventBase {
484
+ event: 'User Sessions Revoked';
485
+ target_user_id: string;
486
+ revoked_count: number;
487
+ }
488
+ interface UserPasswordResetInitiatedByOperatorEvent extends UserActivityEventBase {
489
+ event: 'User Password Reset Initiated by Operator';
490
+ target_user_id: string;
491
+ email_sent: boolean;
492
+ }
493
+ type UserActivityEvent = UserLoggedInEvent | UserLoggedOutEvent | UserPasswordChangedEvent | UserSuspendedEvent | TwoFactorEnrolledEvent | TwoFactorDisabledEvent | TwoFactorResetEvent | TwoFactorRecoveryCodesGeneratedEvent | StorePaletteChangedEvent | StoreSettingsUpdatedEvent | PlanChangedEvent | InvoiceCreatedEvent | OrderCreatedEvent | OrderCancelledEvent | OrderEditedEvent | OrderReturnedEvent | ProductPriceChangedEvent | CustomerCreatedEvent | CustomerEditedEvent | CashDrawerOpenedEvent | CashDrawerClosedEvent | TenantImpersonatedEvent | SecretRotatedEvent | UserCreatedEvent | UserUpdatedEvent | ProductCreatedEvent | ProductUpdatedEvent | StockIncomeCreatedEvent | CategoryCreatedEvent | CategoryUpdatedEvent | BrandCreatedEvent | BrandUpdatedEvent | SupplierCreatedEvent | SupplierUpdatedEvent | SupplierInvoiceCreatedEvent | SupplierAccountCreatedEvent | SupplierAccountUpdatedEvent | AccountCreatedEvent | AccountDeletedEvent | BasketUpdatedEvent | BasketDeletedEvent | CashDrawerMovementEvent | PaymentCreatedEvent | PaymentLinkedEvent | PaymentUnlinkedEvent | PaymentLinkageUpdatedEvent | NotificationReadEvent | LogDeletedEvent | PlanCreatedEvent | StoreMaintenanceToggledEvent | PlatformMaintenanceToggledEvent | TenantCreatedEvent | LiteralUpdatedEvent | SupportTicketCreatedEvent | SupportTicketUpdatedEvent | AuditTrailViewedEvent | ReportViewedEvent | CustomerPiiViewedEvent | CashDrawerUiOpenedEvent | CashDrawerUiClosedEvent | ExportInitiatedEvent | ImpersonationUiStartedEvent | ImpersonationUiEndedEvent | PaymentViewedEvent | InvoiceViewedEvent | CustomerDetailViewedEvent | SupplierAccountViewedEvent | SearchPerformedEvent | ActionDeniedEvent | TwoFactorChallengeShownEvent | TwoFactorCodeValidationFailedEvent | TwoFactorEnrollmentStartedEvent | TwoFactorRecoveryCodesRevealedEvent | TwoFactorResetInitiatedEvent | IntegrationTokenRefreshedEvent | WaitlistConvertedEvent | PlatformConfigUpdatedEvent | MlChannelStatusChangedEvent | PrintRuleCreatedEvent | PrintRuleEditedEvent | PrintRuleDeletedEvent | PrinterActiveToggledEvent | CustomerPasswordResetInitiatedEvent | UserSessionsRevokedEvent | UserPasswordResetInitiatedByOperatorEvent;
484
494
  }
485
495
  /**
486
496
  * Canonical whitelist of UI-only `UserActivityEvent` variant names. Imported by
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sinfactura-types",
3
- "version": "1.10.76",
3
+ "version": "1.10.78",
4
4
  "main": "dist/index.js",
5
5
  "type": "module",
6
6
  "types": "./dist/index.d.ts",