sinfactura-types 1.6.71 → 1.6.73

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 (45) hide show
  1. package/dist/cjs/account.js +2 -0
  2. package/dist/cjs/afip.js +2 -0
  3. package/dist/cjs/ai.js +3 -0
  4. package/dist/cjs/api.js +2 -0
  5. package/dist/cjs/audit.js +2 -0
  6. package/dist/cjs/auth.js +2 -0
  7. package/dist/cjs/basket.js +2 -0
  8. package/dist/cjs/brands.js +2 -0
  9. package/dist/cjs/cash.js +2 -0
  10. package/dist/cjs/categories.js +2 -0
  11. package/dist/cjs/currency.js +2 -0
  12. package/dist/cjs/customer.js +2 -0
  13. package/dist/cjs/demo.js +10 -0
  14. package/dist/cjs/impersonation.js +2 -0
  15. package/dist/cjs/imports.js +2 -0
  16. package/dist/cjs/index.js +56 -0
  17. package/dist/cjs/invoice.js +2 -0
  18. package/dist/cjs/log.js +2 -0
  19. package/dist/cjs/maintenance.js +2 -0
  20. package/dist/cjs/mercadolibre.js +2 -0
  21. package/dist/cjs/mercadopago.js +2 -0
  22. package/dist/cjs/notification.js +34 -0
  23. package/dist/cjs/order.js +2 -0
  24. package/dist/cjs/package.json +1 -0
  25. package/dist/cjs/payment.js +2 -0
  26. package/dist/cjs/platform.js +6 -0
  27. package/dist/cjs/pricing.js +2 -0
  28. package/dist/cjs/print.js +2 -0
  29. package/dist/cjs/product.js +2 -0
  30. package/dist/cjs/provinces.js +30 -0
  31. package/dist/cjs/return.js +2 -0
  32. package/dist/cjs/seeder.js +18 -0
  33. package/dist/cjs/serviceOrder.js +14 -0
  34. package/dist/cjs/serviceTemplate.js +11 -0
  35. package/dist/cjs/stock.js +2 -0
  36. package/dist/cjs/store.js +2 -0
  37. package/dist/cjs/storefrontEvent.js +17 -0
  38. package/dist/cjs/subscription.js +26 -0
  39. package/dist/cjs/supplier.js +2 -0
  40. package/dist/cjs/user.js +2 -0
  41. package/dist/cjs/userActivity.js +64 -0
  42. package/dist/cjs/whatsapp.js +2 -0
  43. package/dist/subscription.d.ts +4 -3
  44. package/dist/subscription.js +3 -2
  45. package/package.json +5 -4
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
package/dist/cjs/ai.js ADDED
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ // AI platform-spend contracts (api#1788; MANAGER dashboard app#1044).
3
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ /**
3
+ * Demo environment types (sinfactura/types#33, part of sinfactura/app#1054).
4
+ *
5
+ * Custom JWT claims minted for anonymous public demo sessions
6
+ * (test.sinfactura.com) and in-app demo tenants. The `readOnly` flag is
7
+ * enforced server-side via the `requireWritable` gate (ADR-0010 / api#870);
8
+ * see also `Store.type === 'demo'` in store.ts.
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./account"), exports);
18
+ __exportStar(require("./afip"), exports);
19
+ __exportStar(require("./ai"), exports);
20
+ __exportStar(require("./api"), exports);
21
+ __exportStar(require("./audit"), exports);
22
+ __exportStar(require("./auth"), exports);
23
+ __exportStar(require("./basket"), exports);
24
+ __exportStar(require("./brands"), exports);
25
+ __exportStar(require("./cash"), exports);
26
+ __exportStar(require("./categories"), exports);
27
+ __exportStar(require("./currency"), exports);
28
+ __exportStar(require("./customer"), exports);
29
+ __exportStar(require("./demo"), exports);
30
+ __exportStar(require("./impersonation"), exports);
31
+ __exportStar(require("./imports"), exports);
32
+ __exportStar(require("./invoice"), exports);
33
+ __exportStar(require("./log"), exports);
34
+ __exportStar(require("./maintenance"), exports);
35
+ __exportStar(require("./mercadolibre"), exports);
36
+ __exportStar(require("./mercadopago"), exports);
37
+ __exportStar(require("./notification"), exports);
38
+ __exportStar(require("./order"), exports);
39
+ __exportStar(require("./payment"), exports);
40
+ __exportStar(require("./platform"), exports);
41
+ __exportStar(require("./pricing"), exports);
42
+ __exportStar(require("./print"), exports);
43
+ __exportStar(require("./product"), exports);
44
+ __exportStar(require("./return"), exports);
45
+ __exportStar(require("./seeder"), exports);
46
+ __exportStar(require("./serviceOrder"), exports);
47
+ __exportStar(require("./serviceTemplate"), exports);
48
+ __exportStar(require("./stock"), exports);
49
+ __exportStar(require("./store"), exports);
50
+ __exportStar(require("./storefrontEvent"), exports);
51
+ __exportStar(require("./subscription"), exports);
52
+ __exportStar(require("./supplier"), exports);
53
+ __exportStar(require("./user"), exports);
54
+ __exportStar(require("./userActivity"), exports);
55
+ __exportStar(require("./whatsapp"), exports);
56
+ __exportStar(require("./provinces"), exports);
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NotificationTypeEnum = void 0;
4
+ // Canonical notification taxonomy (#78). These are the exact attribute
5
+ // names the BE filter-reads on User rows (`notifications.<KEY> = true`
6
+ // DynamoDB FilterExpressions — new-order fanout, MP hook/poller/recover,
7
+ // Stripe hook, propagate-fx). Exported as a real enum so `api`
8
+ // (stacks/helpers/notificationType.ts) and `app`
9
+ // (src/domain/notificationType.ts) can drop their hand-mirrored copies
10
+ // in follow-ups. DOLARBNA / ERROR / AFIP_CERT_EXPIRY have no User-row
11
+ // read path — enum members only (AFIP_CERT_EXPIRY = the cert-expiry
12
+ // alert type, api#1382).
13
+ var NotificationTypeEnum;
14
+ (function (NotificationTypeEnum) {
15
+ NotificationTypeEnum["ORDER"] = "ORDER";
16
+ NotificationTypeEnum["MERCADOPAGO"] = "MERCADOPAGO";
17
+ NotificationTypeEnum["STRIPE"] = "STRIPE";
18
+ NotificationTypeEnum["DOLAROFICIAL"] = "DOLAROFICIAL";
19
+ NotificationTypeEnum["DOLARINFORMAL"] = "DOLARINFORMAL";
20
+ NotificationTypeEnum["DOLARBNA"] = "DOLARBNA";
21
+ NotificationTypeEnum["ERROR"] = "ERROR";
22
+ NotificationTypeEnum["AFIP_CERT_EXPIRY"] = "AFIP_CERT_EXPIRY";
23
+ // ML order-ingestion fanout (app#797 / api#1574) — User-row read path
24
+ // added by the orders_v2 worker.
25
+ NotificationTypeEnum["MERCADOLIBRE"] = "MERCADOLIBRE";
26
+ // Stock alerts (api#1806) — fired when a sale crosses a product's stock
27
+ // threshold. LOW_STOCK at stock <= `Product.minStock`; OUT_OF_STOCK at
28
+ // stock <= 0. Both have User-row opt-in read paths.
29
+ NotificationTypeEnum["LOW_STOCK"] = "LOW_STOCK";
30
+ NotificationTypeEnum["OUT_OF_STOCK"] = "OUT_OF_STOCK";
31
+ // Support ticket bell (api#1806) — fired on ticket create / status change.
32
+ // User-row opt-in read path.
33
+ NotificationTypeEnum["SUPPORT"] = "SUPPORT";
34
+ })(NotificationTypeEnum || (exports.NotificationTypeEnum = NotificationTypeEnum = {}));
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1 @@
1
+ {"type":"commonjs"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ // Platform-wide config/feature-flag contracts (api#1108). Single fixed
3
+ // GLOBALS/PLATFORM scope, unlike Literals' multi-scope override chain — no
4
+ // per-tenant override use case identified for globals/flags (deliberate
5
+ // divergence from api#1484/#1485's Literals model).
6
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ARGENTINE_PROVINCES = void 0;
4
+ exports.ARGENTINE_PROVINCES = [
5
+ '',
6
+ 'CIUDAD AUTONOMA BUENOS AIRES',
7
+ 'BUENOS AIRES',
8
+ 'CATAMARCA',
9
+ 'CHACO',
10
+ 'CHUBUT',
11
+ 'CORDOBA',
12
+ 'CORRIENTES',
13
+ 'ENTRE RIOS',
14
+ 'FORMOSA',
15
+ 'JUJUY',
16
+ 'LA PAMPA',
17
+ 'LA RIOJA',
18
+ 'MENDOZA',
19
+ 'MISIONES',
20
+ 'NEUQUEN',
21
+ 'RIO NEGRO',
22
+ 'SALTA',
23
+ 'SAN JUAN',
24
+ 'SAN LUIS',
25
+ 'SANTA CRUZ',
26
+ 'SANTA FE',
27
+ 'SANTIAGO DEL ESTERO',
28
+ 'TIERRA DEL FUEGO',
29
+ 'TUCUMAN',
30
+ ];
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ // AI Tenant Seeder types (sinfactura/app#1054; sinfactura/api#1073-#1082, #1758, #1759).
3
+ //
4
+ // `SeedProfile` / `SeedJobHandle` / `SeedSampleCard` / `SeedProgressEvent` / `SeedPhase`
5
+ // mirror the ALREADY-SHIPPED FE contract verbatim — `app/src/features/seeder/validation/
6
+ // seederSchema.ts`, `app/src/app/slices/seederProgress.ts`, `app/src/features/seeder/
7
+ // constants.ts`. FE shipped first (scaffold PRs #1940/#1942/#1952/#1943), so these are the
8
+ // frozen ground truth; the original research blueprint's shapes are superseded where they
9
+ // differ. See the 2026-07-14 audit decision recorded on app#1054.
10
+ //
11
+ // Two distinct HTTP entry points share the pipeline (api#1079 start-job lib, imported by
12
+ // both, not Lambda-to-Lambda invoke):
13
+ // - `POST /seeder/run` (api#1758, tenant wizard, adminToken) sends `SeedJobStartRequest`.
14
+ // - `POST /platform/operations` mode `seed-ai-tenant` (api#1079, MANAGER SuperOp,
15
+ // app#1464) sends `SeedAiTenantOpRequest` — coarser params; the handler expands
16
+ // `scale` into `SeedProfile.targetCounts` and constructs the rest of the profile
17
+ // server-side (the SuperOp caller doesn't know the tenant's brands/categories/etc).
18
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ /**
3
+ * Service order types — repair / installation / maintenance / diagnosis
4
+ * workflows ("Órdenes de Servicio").
5
+ *
6
+ * Phase 1 Foundation for the Services Feature (sinfactura/app#758,
7
+ * sinfactura/types#30). A ServiceOrder is a parallel entity to the
8
+ * product-sales Order pipeline: multi-stage workflow, technician assignment,
9
+ * equipment intake, parts consumption, and AFIP concept=2 service invoicing.
10
+ *
11
+ * Companion: ServiceTemplate (serviceTemplate.ts, sinfactura/types#31) defines
12
+ * per-type default configuration that seeds new orders.
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ /**
3
+ * Service template types — pre-defined per-service-type configuration for the
4
+ * Services Feature (sinfactura/app#758, sinfactura/types#31).
5
+ *
6
+ * A ServiceTemplate seeds defaults onto a new ServiceOrder: which workflow
7
+ * stages are mandatory, default pricing model / rates, QA checklists, and
8
+ * common parts auto-populated on intake. Shares the ServiceType / ServiceStatus
9
+ * / PricingModel unions defined in serviceOrder.ts.
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ // Typed storefront events pipeline (types#69, api#1239/#1240,
3
+ // storefront#425/#429, app#1638). Schema-validated discriminated union
4
+ // emitted by `sinfactura/storefront` (via the `track()` wrapper in
5
+ // `src/utils/track.ts`), validated and persisted by `sinfactura/api`
6
+ // (Zod mirror in `stacks/helpers/storefrontEvents/schema.ts`), rendered
7
+ // by `sinfactura/app` (typed activity feed in `<ActivityFeed>`).
8
+ //
9
+ // Naming follows Segment Spec: Title Case Object + Past-Tense Action
10
+ // for event names; snake_case for properties so the GA4 / Segment
11
+ // vocabulary on the wire maps without translation.
12
+ //
13
+ // 14 variants — the 4 storefront-only events (`Page Viewed`,
14
+ // `Favorite Toggled`, `Whatsapp Clicked`, `Error Captured`) currently
15
+ // emitted by storefront are NOT in this taxonomy yet; they ride the
16
+ // legacy `Log` path and are tracked for a follow-up types release.
17
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ /**
3
+ * Subscription types — plan tiers, entitlements, feature matrix, subscription state.
4
+ *
5
+ * Ships app#710 (Chunk 1). Canonical decisions live in
6
+ * sinfactura/app/docs/plans/SUBSCRIPTION_BUSINESS_DECISIONS.md and
7
+ * sinfactura/app/docs/adr/0010-launch-trial-policy.md.
8
+ *
9
+ * Notes:
10
+ * - Tier names are the 4 locked Spanish tiers (per SUBSCRIPTION_TIERS_BEST_PRACTICES §0
11
+ * and api#802): BÁSICO, EMPRENDEDOR, PROFESIONAL, AVANZADO. The launch policy
12
+ * (ADR-0010) gives every new paid subscription a 30-day Stripe trial; courtesy
13
+ * gifts (formerly the Founders cohort) are now a one-off ops action via
14
+ * `gift-subscription` that sets `freeUntil` on the SUBSCRIPTION row.
15
+ * - `freeUntil` lives on every Subscription independent of status. It is the
16
+ * courtesy-gift cutoff; while `freeUntil > now` the BE suppresses billing.
17
+ * - `FeatureKey` uses flat camelCase (not the dotted `reports.advanced` from the design kit).
18
+ * - Monetary amounts are integers in minor units (ARS cents) to avoid float issues.
19
+ * - Feature keys now match the BE wire format directly (renamed afip→afipInvoicing,
20
+ * cash→cashManagement, reportsAdvanced→advancedReports as of 2026-04-26). The interim
21
+ * paymentIntegrations key was split into domesticPayments + stripePayments (api#1823).
22
+ * New keys whatsappCommerce/aiFeatures/mobileApp/customDomain are
23
+ * declared here even when their epics haven't shipped — the matrix can set
24
+ * enabled:false until they do.
25
+ */
26
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ // Typed user activity audit pipeline (types#70, api#1244).
3
+ //
4
+ // Actor-centric audit trail companion to the entity-centric `AUDIT#{entity}#{entityId}`
5
+ // rows authored in `sinfactura/api/stacks/services/audit.ts`. Schema mirrored in
6
+ // `sinfactura/api/stacks/helpers/userActivity/schema.ts`; emitted via the
7
+ // `recordUserActivity` synchronous helper at the end of mutating REST handlers.
8
+ //
9
+ // Naming follows the same convention as `StorefrontEvent` (types#69): Title Case
10
+ // Object + Past-Tense Action for event names, snake_case for properties.
11
+ //
12
+ // Distinct from `StorefrontEvent` (types#69):
13
+ // - Subject: internal staff (USER/ADMIN/SUPERVISOR/MANAGER), never anonymous
14
+ // - Retention: 90d hot + multi-year archive (vs 30d hot + 90d archive)
15
+ // - Erasure: append-only / anti-erasure per Ley 25.326 audit-trail exemption
16
+ // - Ingest: synchronous REST-handler helper (WS ingest explicitly disallowed)
17
+ //
18
+ // 61 variants:
19
+ // - 1.6.11 (Phase 1, 17 variants) — MVP wire-ins covering the hot paths
20
+ // - 1.6.12 (Phase 2, +32 variants) — full mutating admin-handler coverage
21
+ // - 1.6.13 (Phase 3, +8 UI-only variants) — FE companion (app#1642, api#1247)
22
+ // - 1.6.18 (+2 variants) — TOTP 2FA enroll/disable lifecycle (types#68, api#636)
23
+ // - 1.6.20 (+1 variant) — operator 2FA reset, target_user_id (api#1335)
24
+ // - 1.6.21 (+1 variant) — TOTP recovery codes generated (api#1336); method += 'recovery'
25
+ // - 1.6.34 (+field) — LiteralUpdatedEvent gains `scope`; new `LiteralScope` contract (api#1484)
26
+ // - (+1 variant) — IntegrationTokenRefreshedEvent (types#91, api#1540)
27
+ // - 1.6.39 (+1 variant) — WaitlistConvertedEvent (types#92, api#1567)
28
+ // - 1.6.43 (+1 variant) — PlatformConfigUpdatedEvent (api#1108)
29
+ Object.defineProperty(exports, "__esModule", { value: true });
30
+ exports.UI_ONLY_USER_ACTIVITY_VARIANTS = void 0;
31
+ /**
32
+ * Canonical whitelist of UI-only `UserActivityEvent` variant names — the 8
33
+ * Phase 3 verbs shipped in 1.6.13 (types#74). Imported by the api side
34
+ * (`POST /audit/user-activity`, api#1247) to gate the FE-ingest endpoint:
35
+ * any `event` value NOT in this set originates from a BE mutating handler
36
+ * and must be rejected to prevent the FE from spoofing audit emissions.
37
+ *
38
+ * Source of truth lives here so the api whitelist can't drift from the
39
+ * actual UI-only variant taxonomy.
40
+ */
41
+ exports.UI_ONLY_USER_ACTIVITY_VARIANTS = [
42
+ 'Audit Trail Viewed',
43
+ 'Report Viewed',
44
+ 'Customer PII Viewed',
45
+ 'Cash Drawer UI Opened',
46
+ 'Cash Drawer UI Closed',
47
+ 'Export Initiated',
48
+ 'Impersonation UI Started',
49
+ 'Impersonation UI Ended',
50
+ // Phase 4 (api#1266) — FE emits each through the ingest gate. `Action Denied`
51
+ // is whitelisted for the FE-gate path (pre-roundtrip maintenance/subscription/
52
+ // permission denials); the real BE 403 row is written server-side, not POSTed.
53
+ 'Payment Viewed',
54
+ 'Invoice Viewed',
55
+ 'Customer Detail Viewed',
56
+ 'Supplier Account Viewed',
57
+ 'Search Performed',
58
+ 'Action Denied',
59
+ 'Two-Factor Challenge Shown',
60
+ 'Two-Factor Code Validation Failed',
61
+ 'Two-Factor Enrollment Started',
62
+ 'Two-Factor Recovery Codes Revealed',
63
+ 'Two-Factor Reset Initiated',
64
+ ];
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -16,8 +16,9 @@
16
16
  * - `FeatureKey` uses flat camelCase (not the dotted `reports.advanced` from the design kit).
17
17
  * - Monetary amounts are integers in minor units (ARS cents) to avoid float issues.
18
18
  * - Feature keys now match the BE wire format directly (renamed afip→afipInvoicing,
19
- * cash→cashManagement, stripePayments→paymentIntegrations, reportsAdvanced→advancedReports
20
- * as of 2026-04-26). New keys whatsappCommerce/aiFeatures/mobileApp/customDomain are
19
+ * cash→cashManagement, reportsAdvanced→advancedReports as of 2026-04-26). The interim
20
+ * paymentIntegrations key was split into domesticPayments + stripePayments (api#1823).
21
+ * New keys whatsappCommerce/aiFeatures/mobileApp/customDomain are
21
22
  * declared here even when their epics haven't shipped — the matrix can set
22
23
  * enabled:false until they do.
23
24
  */
@@ -63,7 +64,7 @@ declare global {
63
64
  * every existing plan in `FEATURE_MATRIX` must then declare the new key
64
65
  * (TypeScript enforces this via `Record<FeatureKey, Entitlement>`).
65
66
  */
66
- type FeatureKey = 'maxOrdersMonth' | 'maxInvoicesMonth' | 'maxProducts' | 'maxUsers' | 'maxCustomers' | 'maxStores' | 'priceListsMax' | 'afipInvoicing' | 'paymentIntegrations' | 'suppliers' | 'cashManagement' | 'multiStore' | 'importExport' | 'advancedReports' | 'customBranding' | 'apiAccess' | 'prioritySupport' | 'whatsappCommerce' | 'aiFeatures' | 'mobileApp' | 'customDomain' | 'advancedPricing' | 'marketplaceChannels';
67
+ type FeatureKey = 'maxOrdersMonth' | 'maxInvoicesMonth' | 'maxProducts' | 'maxUsers' | 'maxCustomers' | 'maxStores' | 'priceListsMax' | 'afipInvoicing' | 'suppliers' | 'domesticPayments' | 'stripePayments' | 'cashManagement' | 'multiStore' | 'importExport' | 'advancedReports' | 'customBranding' | 'apiAccess' | 'prioritySupport' | 'whatsappCommerce' | 'aiFeatures' | 'mobileApp' | 'customDomain' | 'advancedPricing' | 'marketplaceChannels';
67
68
  /** Full feature matrix — every tier declares every feature. */
68
69
  type FeatureMatrix = Record<PlanTier, Record<FeatureKey, Entitlement>>;
69
70
  /** Resolved entitlements for a specific tenant (matrix + overrides applied). */
@@ -16,8 +16,9 @@
16
16
  * - `FeatureKey` uses flat camelCase (not the dotted `reports.advanced` from the design kit).
17
17
  * - Monetary amounts are integers in minor units (ARS cents) to avoid float issues.
18
18
  * - Feature keys now match the BE wire format directly (renamed afip→afipInvoicing,
19
- * cash→cashManagement, stripePayments→paymentIntegrations, reportsAdvanced→advancedReports
20
- * as of 2026-04-26). New keys whatsappCommerce/aiFeatures/mobileApp/customDomain are
19
+ * cash→cashManagement, reportsAdvanced→advancedReports as of 2026-04-26). The interim
20
+ * paymentIntegrations key was split into domesticPayments + stripePayments (api#1823).
21
+ * New keys whatsappCommerce/aiFeatures/mobileApp/customDomain are
21
22
  * declared here even when their epics haven't shipped — the matrix can set
22
23
  * enabled:false until they do.
23
24
  */
package/package.json CHANGED
@@ -1,18 +1,19 @@
1
1
  {
2
2
  "name": "sinfactura-types",
3
- "version": "1.6.71",
3
+ "version": "1.6.73",
4
4
  "main": "dist/index.js",
5
5
  "type": "module",
6
6
  "types": "./dist/index.d.ts",
7
7
  "exports": {
8
8
  ".": {
9
9
  "types": "./dist/index.d.ts",
10
- "import": "./dist/index.js"
10
+ "import": "./dist/index.js",
11
+ "require": "./dist/cjs/index.js"
11
12
  }
12
13
  },
13
14
  "scripts": {
14
- "build": "tsc",
15
- "prepublishOnly": "tsc",
15
+ "build": "tsc && tsc -p tsconfig.cjs.json && node -e \"require('fs').writeFileSync('dist/cjs/package.json', JSON.stringify({ type: 'commonjs' }) + '\\n')\"",
16
+ "prepublishOnly": "npm run build",
16
17
  "login": "npm login",
17
18
  "release": "npm version patch --no-git-tag-version"
18
19
  },