evo360-types 1.3.637 → 1.3.644

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 (28) hide show
  1. package/dist/apps/evo-csq/zod-schemas.d.ts +237 -4
  2. package/dist/apps/evo-csq/zod-schemas.js +18 -2
  3. package/dist/apps/evo-csq/zod-schemas.ts +18 -0
  4. package/dist/apps/evo-finops/zod-schemas.d.ts +444 -0
  5. package/dist/apps/evo-finops/zod-schemas.js +61 -2
  6. package/dist/apps/evo-finops/zod-schemas.ts +67 -0
  7. package/dist/apps/evo-hub-ia/v1/zod-schemas.d.ts +48 -0
  8. package/dist/apps/evo-hub-ia/v1/zod-schemas.js +12 -0
  9. package/dist/apps/evo-hub-ia/v1/zod-schemas.ts +12 -0
  10. package/dist/types/evo-csq/index.d.ts +36 -6
  11. package/dist/types/evo-csq/index.js +8 -1
  12. package/dist/types/evo-csq/index.ts +39 -5
  13. package/dist/types/evo-finops/common/billing.d.ts +58 -2
  14. package/dist/types/evo-finops/common/billing.ts +72 -2
  15. package/dist/types/evo-finops/common/contract.d.ts +8 -0
  16. package/dist/types/evo-finops/common/contract.ts +11 -0
  17. package/dist/types/evo-finops/common/payment-method.d.ts +77 -0
  18. package/dist/types/evo-finops/common/payment-method.js +10 -0
  19. package/dist/types/evo-finops/common/payment-method.ts +106 -0
  20. package/dist/types/evo-finops/fb_collections.d.ts +2 -0
  21. package/dist/types/evo-finops/fb_collections.js +3 -1
  22. package/dist/types/evo-finops/fb_collections.ts +2 -0
  23. package/dist/types/evo-finops/index.d.ts +1 -0
  24. package/dist/types/evo-finops/index.js +1 -0
  25. package/dist/types/evo-finops/index.ts +1 -0
  26. package/dist/types/evo-finops/providers/asaas/asaas_provider.d.ts +9 -0
  27. package/dist/types/evo-finops/providers/asaas/asaas_provider.ts +10 -0
  28. package/package.json +1 -1
@@ -0,0 +1,77 @@
1
+ import type { IFireGlobalDoc } from '../../shared';
2
+ import type { NexFinopsAsaasSubscriptionStatus } from './contract';
3
+ /**
4
+ * - `asaas_subscription` (caminho A): cartão capturado na página do Asaas, dentro
5
+ * de uma assinatura. Id do doc: `asub_<subscription_id>`.
6
+ * - `asaas_card_token` (caminho B): token de cartão do Asaas. Id do doc: `atok_<shortid>`.
7
+ */
8
+ export type NexFinopsPaymentMethodKind = 'asaas_subscription' | 'asaas_card_token';
9
+ /**
10
+ * - `active`: assinatura `ACTIVE` sem `deleted`, ou token válido.
11
+ * - `failing`: última captura recusada/reprovada; volta a `active` no próximo `PAYMENT_CONFIRMED`.
12
+ * - `inactive`: assinatura `INACTIVE`/`EXPIRED`/`deleted`, ou desativado pelo operador.
13
+ * - `revoked`: token invalidado pelo Asaas. Terminal — o cliente cadastra o cartão de novo.
14
+ */
15
+ export type NexFinopsPaymentMethodStatus = 'active' | 'failing' | 'inactive' | 'revoked';
16
+ export type NexFinopsPaymentMethodSource = 'discovery_contract_asaas' | 'discovery_payment_link' | 'manual_link' | 'asaas_capture';
17
+ export interface INexFinopsPaymentMethodProviderRef {
18
+ provider_id: string;
19
+ provider_type: 'asaas';
20
+ env: 'sandbox' | 'production';
21
+ /** `cus_` dono do cartão/assinatura (Q5) — pode ser ≠ `taker.provider_refs.remote_customer_id`. */
22
+ remote_customer_id: string;
23
+ }
24
+ export interface INexFinopsPaymentMethodSubscriptionInfo {
25
+ subscription_id: string;
26
+ /** Doc id do nosso payment_link (origem). */
27
+ payment_link_id?: string | null;
28
+ /** Checkout de vendas (`contract.asaas.checkout_id`). */
29
+ checkout_id?: string | null;
30
+ subscription_status?: NexFinopsAsaasSubscriptionStatus | null;
31
+ deleted?: boolean | null;
32
+ cycle?: string | null;
33
+ /** Valor BASE da assinatura. */
34
+ value?: number | null;
35
+ /** Data civil `YYYY-MM-DD`. */
36
+ next_due_date?: string | null;
37
+ }
38
+ /** PCI: só bandeira e últimos 4. */
39
+ export interface INexFinopsPaymentMethodCard {
40
+ brand: string | null;
41
+ last4: string | null;
42
+ }
43
+ export interface INexFinopsPaymentMethodSourceInfo {
44
+ kind: NexFinopsPaymentMethodSource;
45
+ contract_id?: string | null;
46
+ payment_link_id?: string | null;
47
+ journey_ref?: string | null;
48
+ /** Pagamento que originou o método (caminho B). */
49
+ asaas_payment_id?: string | null;
50
+ }
51
+ export interface INexFinopsPaymentMethodLastCharge {
52
+ asaas_payment_id: string;
53
+ status: string;
54
+ at: string;
55
+ error?: string | null;
56
+ }
57
+ export interface INexFinopsCustomerPaymentMethod extends IFireGlobalDoc {
58
+ customer_id: string;
59
+ kind: NexFinopsPaymentMethodKind;
60
+ status: NexFinopsPaymentMethodStatus;
61
+ label?: string | null;
62
+ /** PCI: só isto. Nunca número completo, CCV ou token. */
63
+ card: INexFinopsPaymentMethodCard;
64
+ provider: INexFinopsPaymentMethodProviderRef;
65
+ /** Só no kind `asaas_subscription`. */
66
+ asaas_subscription?: INexFinopsPaymentMethodSubscriptionInfo | null;
67
+ /** Kind `asaas_card_token`: existe `private/credential`. Único reflexo do token. */
68
+ has_credential?: boolean | null;
69
+ source: INexFinopsPaymentMethodSourceInfo;
70
+ last_synced_at?: string | null;
71
+ last_used_at?: string | null;
72
+ last_charge?: INexFinopsPaymentMethodLastCharge | null;
73
+ }
74
+ /** Prefixos determinísticos dos ids (idempotência da descoberta). */
75
+ export declare const NEX_FINOPS_PAYMENT_METHOD_ID_PREFIX: Record<NexFinopsPaymentMethodKind, string>;
76
+ /** Status em que o método pode ser herdado por uma cobrança. */
77
+ export declare const NEX_FINOPS_PAYMENT_METHOD_USABLE_STATUSES: readonly NexFinopsPaymentMethodStatus[];
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NEX_FINOPS_PAYMENT_METHOD_USABLE_STATUSES = exports.NEX_FINOPS_PAYMENT_METHOD_ID_PREFIX = void 0;
4
+ /** Prefixos determinísticos dos ids (idempotência da descoberta). */
5
+ exports.NEX_FINOPS_PAYMENT_METHOD_ID_PREFIX = {
6
+ asaas_subscription: 'asub_',
7
+ asaas_card_token: 'atok_',
8
+ };
9
+ /** Status em que o método pode ser herdado por uma cobrança. */
10
+ exports.NEX_FINOPS_PAYMENT_METHOD_USABLE_STATUSES = ['active', 'failing'];
@@ -0,0 +1,106 @@
1
+ import type { IFireGlobalDoc } from '../../shared';
2
+ import type { NexFinopsAsaasSubscriptionStatus } from './contract';
3
+
4
+ // ── Métodos de pagamento do cliente (feat-253) ──
5
+ //
6
+ // Coleção própria do nex-finops: `core/nexus/apps/nex-finops/payment_methods/{pmId}`.
7
+ // Fica FORA do customer porque o portal devolve o customer inteiro e a regra de
8
+ // `nex-customers/customers` não tem curinga de subcoleção.
9
+ //
10
+ // PCI: o doc só guarda bandeira + últimos 4. Número completo, CCV, dados do
11
+ // portador ou token de cartão NÃO têm campo aqui e não devem ganhar um. O token
12
+ // do caminho B mora em `payment_methods/{pmId}/private/credential`, sem leitura
13
+ // pelo cliente e sem tipo exportado para o front.
14
+
15
+ /**
16
+ * - `asaas_subscription` (caminho A): cartão capturado na página do Asaas, dentro
17
+ * de uma assinatura. Id do doc: `asub_<subscription_id>`.
18
+ * - `asaas_card_token` (caminho B): token de cartão do Asaas. Id do doc: `atok_<shortid>`.
19
+ */
20
+ export type NexFinopsPaymentMethodKind = 'asaas_subscription' | 'asaas_card_token';
21
+
22
+ /**
23
+ * - `active`: assinatura `ACTIVE` sem `deleted`, ou token válido.
24
+ * - `failing`: última captura recusada/reprovada; volta a `active` no próximo `PAYMENT_CONFIRMED`.
25
+ * - `inactive`: assinatura `INACTIVE`/`EXPIRED`/`deleted`, ou desativado pelo operador.
26
+ * - `revoked`: token invalidado pelo Asaas. Terminal — o cliente cadastra o cartão de novo.
27
+ */
28
+ export type NexFinopsPaymentMethodStatus = 'active' | 'failing' | 'inactive' | 'revoked';
29
+
30
+ export type NexFinopsPaymentMethodSource =
31
+ | 'discovery_contract_asaas'
32
+ | 'discovery_payment_link'
33
+ | 'manual_link'
34
+ | 'asaas_capture';
35
+
36
+ export interface INexFinopsPaymentMethodProviderRef {
37
+ provider_id: string;
38
+ provider_type: 'asaas';
39
+ env: 'sandbox' | 'production';
40
+ /** `cus_` dono do cartão/assinatura (Q5) — pode ser ≠ `taker.provider_refs.remote_customer_id`. */
41
+ remote_customer_id: string;
42
+ }
43
+
44
+ export interface INexFinopsPaymentMethodSubscriptionInfo {
45
+ subscription_id: string;
46
+ /** Doc id do nosso payment_link (origem). */
47
+ payment_link_id?: string | null;
48
+ /** Checkout de vendas (`contract.asaas.checkout_id`). */
49
+ checkout_id?: string | null;
50
+ subscription_status?: NexFinopsAsaasSubscriptionStatus | null;
51
+ deleted?: boolean | null;
52
+ cycle?: string | null;
53
+ /** Valor BASE da assinatura. */
54
+ value?: number | null;
55
+ /** Data civil `YYYY-MM-DD`. */
56
+ next_due_date?: string | null;
57
+ }
58
+
59
+ /** PCI: só bandeira e últimos 4. */
60
+ export interface INexFinopsPaymentMethodCard {
61
+ brand: string | null;
62
+ last4: string | null;
63
+ }
64
+
65
+ export interface INexFinopsPaymentMethodSourceInfo {
66
+ kind: NexFinopsPaymentMethodSource;
67
+ contract_id?: string | null;
68
+ payment_link_id?: string | null;
69
+ journey_ref?: string | null;
70
+ /** Pagamento que originou o método (caminho B). */
71
+ asaas_payment_id?: string | null;
72
+ }
73
+
74
+ export interface INexFinopsPaymentMethodLastCharge {
75
+ asaas_payment_id: string;
76
+ status: string;
77
+ at: string;
78
+ error?: string | null;
79
+ }
80
+
81
+ export interface INexFinopsCustomerPaymentMethod extends IFireGlobalDoc {
82
+ customer_id: string;
83
+ kind: NexFinopsPaymentMethodKind;
84
+ status: NexFinopsPaymentMethodStatus;
85
+ label?: string | null;
86
+ /** PCI: só isto. Nunca número completo, CCV ou token. */
87
+ card: INexFinopsPaymentMethodCard;
88
+ provider: INexFinopsPaymentMethodProviderRef;
89
+ /** Só no kind `asaas_subscription`. */
90
+ asaas_subscription?: INexFinopsPaymentMethodSubscriptionInfo | null;
91
+ /** Kind `asaas_card_token`: existe `private/credential`. Único reflexo do token. */
92
+ has_credential?: boolean | null;
93
+ source: INexFinopsPaymentMethodSourceInfo;
94
+ last_synced_at?: string | null;
95
+ last_used_at?: string | null;
96
+ last_charge?: INexFinopsPaymentMethodLastCharge | null;
97
+ }
98
+
99
+ /** Prefixos determinísticos dos ids (idempotência da descoberta). */
100
+ export const NEX_FINOPS_PAYMENT_METHOD_ID_PREFIX: Record<NexFinopsPaymentMethodKind, string> = {
101
+ asaas_subscription: 'asub_',
102
+ asaas_card_token: 'atok_',
103
+ };
104
+
105
+ /** Status em que o método pode ser herdado por uma cobrança. */
106
+ export const NEX_FINOPS_PAYMENT_METHOD_USABLE_STATUSES: readonly NexFinopsPaymentMethodStatus[] = ['active', 'failing'];
@@ -12,3 +12,5 @@ export declare const FINOPS_SERVICES_COLLECTION = "services";
12
12
  export declare const FINOPS_TAKERS_COLLECTION = "takers";
13
13
  export declare const FINOPS_INVOICES_COLLECTION = "invoices";
14
14
  export declare const FINOPS_PAYMENT_LINKS_COLLECTION = "payment_links";
15
+ /** feat-253 — métodos de pagamento do cliente (path: core/nexus/apps/nex-finops/payment_methods). */
16
+ export declare const FINOPS_PAYMENT_METHODS_COLLECTION = "payment_methods";
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FINOPS_PAYMENT_LINKS_COLLECTION = exports.FINOPS_INVOICES_COLLECTION = exports.FINOPS_TAKERS_COLLECTION = exports.FINOPS_SERVICES_COLLECTION = exports.FINOPS_DICS_SERVICES_ID = exports.FINOPS_ISSUER_PROFILES_COLLECTION = exports.FINOPS_DICS_ISSUERS_ID = exports.FINOPS_PROVIDERS_COLLECTION = exports.FINOPS_DICS_COLLECTION = exports.EVO_FINOPS_APP = void 0;
3
+ exports.FINOPS_PAYMENT_METHODS_COLLECTION = exports.FINOPS_PAYMENT_LINKS_COLLECTION = exports.FINOPS_INVOICES_COLLECTION = exports.FINOPS_TAKERS_COLLECTION = exports.FINOPS_SERVICES_COLLECTION = exports.FINOPS_DICS_SERVICES_ID = exports.FINOPS_ISSUER_PROFILES_COLLECTION = exports.FINOPS_DICS_ISSUERS_ID = exports.FINOPS_PROVIDERS_COLLECTION = exports.FINOPS_DICS_COLLECTION = exports.EVO_FINOPS_APP = void 0;
4
4
  // evo-finops app identifier for Firestore paths
5
5
  exports.EVO_FINOPS_APP = "evo-finops";
6
6
  // Collection names for evo-finops
@@ -17,3 +17,5 @@ exports.FINOPS_SERVICES_COLLECTION = "services";
17
17
  exports.FINOPS_TAKERS_COLLECTION = "takers";
18
18
  exports.FINOPS_INVOICES_COLLECTION = "invoices";
19
19
  exports.FINOPS_PAYMENT_LINKS_COLLECTION = "payment_links";
20
+ /** feat-253 — métodos de pagamento do cliente (path: core/nexus/apps/nex-finops/payment_methods). */
21
+ exports.FINOPS_PAYMENT_METHODS_COLLECTION = "payment_methods";
@@ -16,3 +16,5 @@ export const FINOPS_TAKERS_COLLECTION = "takers";
16
16
  export const FINOPS_INVOICES_COLLECTION = "invoices";
17
17
  export const FINOPS_PAYMENT_LINKS_COLLECTION = "payment_links";
18
18
 
19
+ /** feat-253 — métodos de pagamento do cliente (path: core/nexus/apps/nex-finops/payment_methods). */
20
+ export const FINOPS_PAYMENT_METHODS_COLLECTION = "payment_methods";
@@ -4,6 +4,7 @@ export * from "./common/taker";
4
4
  export * from "./common/contract";
5
5
  export * from "./common/proposal";
6
6
  export * from "./common/billing";
7
+ export * from "./common/payment-method";
7
8
  export * from "./providers";
8
9
  export * from "./providers/provider_fiscal_types";
9
10
  export * from "./providers/asaas/asaas_provider";
@@ -21,6 +21,7 @@ __exportStar(require("./common/taker"), exports);
21
21
  __exportStar(require("./common/contract"), exports);
22
22
  __exportStar(require("./common/proposal"), exports);
23
23
  __exportStar(require("./common/billing"), exports);
24
+ __exportStar(require("./common/payment-method"), exports);
24
25
  __exportStar(require("./providers"), exports);
25
26
  __exportStar(require("./providers/provider_fiscal_types"), exports);
26
27
  __exportStar(require("./providers/asaas/asaas_provider"), exports);
@@ -6,6 +6,7 @@ export * from "./common/taker";
6
6
  export * from "./common/contract";
7
7
  export * from "./common/proposal";
8
8
  export * from "./common/billing";
9
+ export * from "./common/payment-method";
9
10
  export * from "./providers";
10
11
  export * from "./providers/provider_fiscal_types";
11
12
  export * from "./providers/asaas/asaas_provider";
@@ -163,8 +163,17 @@ export interface IAsaasNfseCapabilities {
163
163
  allow_avulsa: boolean;
164
164
  allow_linked_to_payment: boolean;
165
165
  }
166
+ /** Liga/desliga por ambiente. Ausente = desligado. */
167
+ export interface IAsaasEnvFlag {
168
+ sandbox?: boolean;
169
+ production?: boolean;
170
+ }
166
171
  export interface IAsaasPaymentsCapabilities {
167
172
  enabled: boolean;
173
+ /** feat-253 — kill-switch do caminho A (ajuste do valor da cobrança pendente da assinatura). */
174
+ card_subscription_adjust?: IAsaasEnvFlag;
175
+ /** feat-253 — flag do caminho B (cobrança com `creditCardToken`). Desligado até o Asaas habilitar. */
176
+ card_token?: IAsaasEnvFlag;
168
177
  }
169
178
  export interface IAsaasProviderCapabilities {
170
179
  nfse: IAsaasNfseCapabilities;
@@ -237,8 +237,18 @@ export interface IAsaasNfseCapabilities {
237
237
  allow_linked_to_payment: boolean; // future
238
238
  }
239
239
 
240
+ /** Liga/desliga por ambiente. Ausente = desligado. */
241
+ export interface IAsaasEnvFlag {
242
+ sandbox?: boolean;
243
+ production?: boolean;
244
+ }
245
+
240
246
  export interface IAsaasPaymentsCapabilities {
241
247
  enabled: boolean; // false for now, future for payment links/subscriptions
248
+ /** feat-253 — kill-switch do caminho A (ajuste do valor da cobrança pendente da assinatura). */
249
+ card_subscription_adjust?: IAsaasEnvFlag;
250
+ /** feat-253 — flag do caminho B (cobrança com `creditCardToken`). Desligado até o Asaas habilitar. */
251
+ card_token?: IAsaasEnvFlag;
242
252
  }
243
253
 
244
254
  export interface IAsaasProviderCapabilities {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "evo360-types",
3
- "version": "1.3.637",
3
+ "version": "1.3.644",
4
4
  "description": "HREVO360 Shared Types",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",