evo360-types 1.3.520 → 1.3.524

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.
@@ -12533,6 +12533,7 @@ export declare const zServiceInvoiceSchema: z.ZodObject<{
12533
12533
  }, z.ZodTypeAny, "passthrough">>;
12534
12534
  export declare const zNexFinopsProposalStatusSchema: z.ZodEnum<["draft", "sent", "viewed", "accepted", "expired", "canceled"]>;
12535
12535
  export declare const zNexFinopsProposalPaymentMethodSchema: z.ZodEnum<["boleto", "card_subscription", "payment_link"]>;
12536
+ export declare const zNexFinopsProposalLoyaltyPeriodSchema: z.ZodEnum<["none", "3m", "6m", "1y", "2y"]>;
12536
12537
  export declare const zNexFinopsProposalPrefillSchema: z.ZodObject<{
12537
12538
  name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
12538
12539
  email: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -12581,6 +12582,9 @@ export declare const zNexFinopsProposalWriteSchema: z.ZodObject<{
12581
12582
  base_amount: z.ZodOptional<z.ZodNumber>;
12582
12583
  due_day: z.ZodOptional<z.ZodNumber>;
12583
12584
  accepted_payment_methods: z.ZodOptional<z.ZodArray<z.ZodEnum<["boleto", "card_subscription", "payment_link"]>, "many">>;
12585
+ loyalty_period: z.ZodNullable<z.ZodOptional<z.ZodEnum<["none", "3m", "6m", "1y", "2y"]>>>;
12586
+ /** Chave do modelo, nunca o id do template no provider — id não entra por HTTP. */
12587
+ contract_template_key: z.ZodNullable<z.ZodOptional<z.ZodString>>;
12584
12588
  terms: z.ZodOptional<z.ZodNullable<z.ZodString>>;
12585
12589
  valid_until: z.ZodOptional<z.ZodString>;
12586
12590
  notes: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -12601,6 +12605,8 @@ export declare const zNexFinopsProposalWriteSchema: z.ZodObject<{
12601
12605
  html_content?: string | undefined;
12602
12606
  base_amount?: number | undefined;
12603
12607
  terms?: string | null | undefined;
12608
+ loyalty_period?: "none" | "3m" | "6m" | "1y" | "2y" | null | undefined;
12609
+ contract_template_key?: string | null | undefined;
12604
12610
  valid_until?: string | undefined;
12605
12611
  }, {
12606
12612
  name?: string | null | undefined;
@@ -12619,6 +12625,8 @@ export declare const zNexFinopsProposalWriteSchema: z.ZodObject<{
12619
12625
  html_content?: string | undefined;
12620
12626
  base_amount?: number | undefined;
12621
12627
  terms?: string | null | undefined;
12628
+ loyalty_period?: "none" | "3m" | "6m" | "1y" | "2y" | null | undefined;
12629
+ contract_template_key?: string | null | undefined;
12622
12630
  valid_until?: string | undefined;
12623
12631
  }>;
12624
12632
  export declare const zNexFinopsProposalSchema: z.ZodObject<{
@@ -12646,6 +12654,9 @@ export declare const zNexFinopsProposalSchema: z.ZodObject<{
12646
12654
  base_amount: z.ZodOptional<z.ZodNumber>;
12647
12655
  due_day: z.ZodOptional<z.ZodNumber>;
12648
12656
  accepted_payment_methods: z.ZodOptional<z.ZodArray<z.ZodEnum<["boleto", "card_subscription", "payment_link"]>, "many">>;
12657
+ loyalty_period: z.ZodNullable<z.ZodOptional<z.ZodEnum<["none", "3m", "6m", "1y", "2y"]>>>;
12658
+ /** Chave do modelo, nunca o id do template no provider — id não entra por HTTP. */
12659
+ contract_template_key: z.ZodNullable<z.ZodOptional<z.ZodString>>;
12649
12660
  terms: z.ZodOptional<z.ZodNullable<z.ZodString>>;
12650
12661
  valid_until: z.ZodOptional<z.ZodString>;
12651
12662
  notes: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -12673,6 +12684,8 @@ export declare const zNexFinopsProposalSchema: z.ZodObject<{
12673
12684
  html_content?: string | undefined;
12674
12685
  base_amount?: number | undefined;
12675
12686
  terms?: string | null | undefined;
12687
+ loyalty_period?: "none" | "3m" | "6m" | "1y" | "2y" | null | undefined;
12688
+ contract_template_key?: string | null | undefined;
12676
12689
  valid_until?: string | undefined;
12677
12690
  }, {
12678
12691
  currency: "BRL";
@@ -12694,6 +12707,8 @@ export declare const zNexFinopsProposalSchema: z.ZodObject<{
12694
12707
  html_content?: string | undefined;
12695
12708
  base_amount?: number | undefined;
12696
12709
  terms?: string | null | undefined;
12710
+ loyalty_period?: "none" | "3m" | "6m" | "1y" | "2y" | null | undefined;
12711
+ contract_template_key?: string | null | undefined;
12697
12712
  valid_until?: string | undefined;
12698
12713
  }>;
12699
12714
  export declare const zNexFinopsPaymentMethodSchema: z.ZodEnum<["pix", "boleto", "payment_link", "card_subscription"]>;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.zProviderInvoiceLinksSchema = exports.zServiceTaxInfoSchema = exports.zServiceLineItemSchema = exports.zServiceInvoiceStateSchema = exports.zProviderServiceInvoiceStatusSchema = exports.zExternalLinkSchema = exports.zExternalObjectTypeSchema = exports.zInvoiceSourceRefSchema = exports.zInvoiceSourceTypeSchema = exports.zInvoiceTakerRefSchema = exports.zInvoiceTakerSnapshotSchema = exports.zInvoiceTakerSnapshotAddressSchema = exports.zTakerDocumentSchema = exports.zTakerTaxProfileSchema = exports.zTakerProviderRefsSchema = exports.zTakerAddressSchema = exports.zInvoiceTakerTypeSchema = exports.zServiceSchema = exports.zCustomerServiceTaxInfoSchema = exports.zIssuerTaxProfileSchema = exports.zIssuerNfseConfigSchema = exports.zIssuerMunicipalCredentialsRefSchema = exports.zIssuerTaxRegimeSchema = exports.zIssuerCompanyIdentitySchema = exports.zIssuerCompanyAddressSchema = exports.zTaxProfileSyncStateSchema = exports.zAsaasProviderSchema = exports.zAsaasProviderAsaasBlockSchema = exports.zAsaasProviderCapabilitiesSchema = exports.zAsaasPaymentsCapabilitiesSchema = exports.zAsaasNfseCapabilitiesSchema = exports.zAsaasEnvAuthConfigSchema = exports.zAsaasSubaccountInputSchema = exports.zAsaasAccountScopeSchema = exports.zAsaasWebhookConfigSchema = exports.zRetryPolicySchema = exports.zAsaasWebhookEventSchema = exports.zAsaasAccountScopeModeSchema = exports.zProviderRemoteRefsSchema = exports.zProviderFiscalInfoPayloadSchema = exports.zProviderCredentialsInputSchema = exports.zProviderCredentialsSecretRefsSchema = exports.zProviderMunicipalOptionsSnapshotSchema = exports.zProviderOptionItemSchema = exports.zProviderMunicipalAuthTypeSchema = exports.zFinopsProviderBaseSchema = exports.zProviderStatusSchema = exports.zFinopsActionSchema = exports.zFinopsProviderTypeSchema = exports.zProviderEnvSchema = void 0;
4
- exports.zNexVendasJourneyPaymentSchema = exports.zNexVendasJourneyPaymentSupersededSchema = exports.zNexVendasJourneyPaymentWebhookEventSchema = exports.zNexVendasJourneyBoletoSchema = exports.zNexVendasJourneyPaymentChooseSchema = exports.zNexVendasJourneyPaymentStateSchema = exports.zNexVendasJourneyPaymentKindSchema = exports.zNexVendasJourneyPaymentMethodSchema = exports.zNexFinopsContractAsaasInfoSchema = exports.zNexFinopsAsaasSubscriptionStatusSchema = exports.zNexFinopsPaymentMethodSchema = exports.zNexFinopsProposalSchema = exports.zNexFinopsProposalWriteSchema = exports.zNexFinopsProposalPrefillSchema = exports.zNexFinopsProposalPaymentMethodSchema = exports.zNexFinopsProposalStatusSchema = exports.zServiceInvoiceSchema = exports.zPaymentLinkSchema = exports.zPaymentLinkDocumentStateSchema = exports.zAsaasPaymentLinkSubscriptionCycleSchema = exports.zAsaasPaymentLinkChargeTypeSchema = exports.zAsaasPaymentLinkBillingTypeSchema = exports.zProviderPayloadSnapshotSchema = exports.zProviderTraceSchema = exports.zProviderInvoiceErrorSchema = exports.zProviderInvoiceIdentifiersSchema = void 0;
4
+ exports.zNexVendasJourneyPaymentSchema = exports.zNexVendasJourneyPaymentSupersededSchema = exports.zNexVendasJourneyPaymentWebhookEventSchema = exports.zNexVendasJourneyBoletoSchema = exports.zNexVendasJourneyPaymentChooseSchema = exports.zNexVendasJourneyPaymentStateSchema = exports.zNexVendasJourneyPaymentKindSchema = exports.zNexVendasJourneyPaymentMethodSchema = exports.zNexFinopsContractAsaasInfoSchema = exports.zNexFinopsAsaasSubscriptionStatusSchema = exports.zNexFinopsPaymentMethodSchema = exports.zNexFinopsProposalSchema = exports.zNexFinopsProposalWriteSchema = exports.zNexFinopsProposalPrefillSchema = exports.zNexFinopsProposalLoyaltyPeriodSchema = exports.zNexFinopsProposalPaymentMethodSchema = exports.zNexFinopsProposalStatusSchema = exports.zServiceInvoiceSchema = exports.zPaymentLinkSchema = exports.zPaymentLinkDocumentStateSchema = exports.zAsaasPaymentLinkSubscriptionCycleSchema = exports.zAsaasPaymentLinkChargeTypeSchema = exports.zAsaasPaymentLinkBillingTypeSchema = exports.zProviderPayloadSnapshotSchema = exports.zProviderTraceSchema = exports.zProviderInvoiceErrorSchema = exports.zProviderInvoiceIdentifiersSchema = void 0;
5
5
  const zod_1 = require("zod");
6
6
  const zod_schemas_1 = require("../shared/zod-schemas");
7
7
  // ---- Provider enums and base ----
@@ -693,6 +693,13 @@ exports.zNexFinopsProposalPaymentMethodSchema = zod_1.z.enum([
693
693
  "card_subscription",
694
694
  "payment_link",
695
695
  ]);
696
+ exports.zNexFinopsProposalLoyaltyPeriodSchema = zod_1.z.enum([
697
+ "none",
698
+ "3m",
699
+ "6m",
700
+ "1y",
701
+ "2y",
702
+ ]);
696
703
  exports.zNexFinopsProposalPrefillSchema = zod_1.z
697
704
  .object({
698
705
  name: zod_1.z.string().max(255).nullable().optional(),
@@ -719,6 +726,9 @@ exports.zNexFinopsProposalWriteSchema = zod_1.z
719
726
  base_amount: zod_1.z.number().nonnegative().optional(),
720
727
  due_day: zod_1.z.number().int().min(1).max(31).optional(),
721
728
  accepted_payment_methods: zod_1.z.array(exports.zNexFinopsProposalPaymentMethodSchema).optional(),
729
+ loyalty_period: exports.zNexFinopsProposalLoyaltyPeriodSchema.optional().nullable(),
730
+ /** Chave do modelo, nunca o id do template no provider — id não entra por HTTP. */
731
+ contract_template_key: zod_1.z.string().max(64).optional().nullable(),
722
732
  terms: zod_1.z.string().nullable().optional(),
723
733
  valid_until: zod_1.z
724
734
  .string()
@@ -757,6 +757,14 @@ export const zNexFinopsProposalPaymentMethodSchema = z.enum([
757
757
  "payment_link",
758
758
  ]);
759
759
 
760
+ export const zNexFinopsProposalLoyaltyPeriodSchema = z.enum([
761
+ "none",
762
+ "3m",
763
+ "6m",
764
+ "1y",
765
+ "2y",
766
+ ]);
767
+
760
768
  export const zNexFinopsProposalPrefillSchema = z
761
769
  .object({
762
770
  name: z.string().max(255).nullable().optional(),
@@ -784,6 +792,9 @@ export const zNexFinopsProposalWriteSchema = z
784
792
  base_amount: z.number().nonnegative().optional(),
785
793
  due_day: z.number().int().min(1).max(31).optional(),
786
794
  accepted_payment_methods: z.array(zNexFinopsProposalPaymentMethodSchema).optional(),
795
+ loyalty_period: zNexFinopsProposalLoyaltyPeriodSchema.optional().nullable(),
796
+ /** Chave do modelo, nunca o id do template no provider — id não entra por HTTP. */
797
+ contract_template_key: z.string().max(64).optional().nullable(),
787
798
  terms: z.string().nullable().optional(),
788
799
  valid_until: z
789
800
  .string()
@@ -16,6 +16,17 @@ export type NexFinopsProposalOrigem = 'vendas' | 'site-hm' | (string & {});
16
16
  * não oferece pix avulso; os dois conjuntos divergem de propósito.
17
17
  */
18
18
  export type NexFinopsProposalPaymentMethod = 'boleto' | 'card_subscription' | 'payment_link';
19
+ /**
20
+ * Prazo de fidelidade da proposta (cláusula 6.1 do contrato). União fechada, e
21
+ * não número de meses, porque o contrato exige o prazo por extenso ("1 (um)
22
+ * ano", não "12 meses") — o texto é parte da cláusula, então o conjunto de
23
+ * valores aceitos é o conjunto de textos que existem.
24
+ *
25
+ * O rótulo por extenso NÃO mora aqui: quem renderiza é o backend
26
+ * (`LOYALTY_PERIOD_LABELS`, em `@evo/nex-model`), e a projeção pública já entrega
27
+ * o texto pronto em `loyalty_period_label`.
28
+ */
29
+ export type NexFinopsProposalLoyaltyPeriod = 'none' | '3m' | '6m' | '1y' | '2y';
19
30
  /** Dados que o vendedor já conhece e a página pública usa para pré-preencher. */
20
31
  export interface INexFinopsProposalPrefill {
21
32
  name?: string | null;
@@ -40,6 +51,20 @@ export interface INexFinopsProposal extends IFireGlobalDoc {
40
51
  accepted_payment_methods: NexFinopsProposalPaymentMethod[];
41
52
  terms?: string | null;
42
53
  currency: 'BRL';
54
+ /**
55
+ * Fidelidade contratada. Ausente é lido como `'none'` — propostas anteriores à
56
+ * feat-140 não têm o campo e não têm fidelidade.
57
+ */
58
+ loyalty_period?: NexFinopsProposalLoyaltyPeriod | null;
59
+ /**
60
+ * Modelo de contrato escolhido pelo vendedor, por CHAVE.
61
+ *
62
+ * Chave e não identificador do provider de assinatura: o identificador é
63
+ * configuração de ambiente (muda entre sandbox e produção) e congelá-lo num
64
+ * documento do Firestore o deixaria apontando para um template que já não
65
+ * existe. Ausente é o legado anterior à feat-140 — envelope no modelo único.
66
+ */
67
+ contract_template_key?: string | null;
43
68
  valid_until: string;
44
69
  sent_at?: Date | null;
45
70
  viewed_at?: Date | null;
@@ -56,6 +81,15 @@ export interface INexFinopsProposalPublic {
56
81
  accepted_payment_methods: NexFinopsProposalPaymentMethod[];
57
82
  terms: string | null;
58
83
  valid_until: string;
84
+ /**
85
+ * Fidelidade já por extenso ("3 (três) meses"), ou `null` quando não há.
86
+ * Vem pronta de propósito: é condição comercial que o lead precisa ler antes
87
+ * de aceitar, e o mapa de rótulos não deve existir em dois lugares.
88
+ *
89
+ * `contract_template_key` NÃO tem par público: qual modelo de contrato o
90
+ * envelope usa é decisão interna.
91
+ */
92
+ loyalty_period_label?: string | null;
59
93
  /** Só nome de exibição — nunca e-mail, telefone ou documento completos. */
60
94
  prefill_masked: {
61
95
  name: string | null;
@@ -28,6 +28,18 @@ export type NexFinopsProposalOrigem = 'vendas' | 'site-hm' | (string & {});
28
28
  */
29
29
  export type NexFinopsProposalPaymentMethod = 'boleto' | 'card_subscription' | 'payment_link';
30
30
 
31
+ /**
32
+ * Prazo de fidelidade da proposta (cláusula 6.1 do contrato). União fechada, e
33
+ * não número de meses, porque o contrato exige o prazo por extenso ("1 (um)
34
+ * ano", não "12 meses") — o texto é parte da cláusula, então o conjunto de
35
+ * valores aceitos é o conjunto de textos que existem.
36
+ *
37
+ * O rótulo por extenso NÃO mora aqui: quem renderiza é o backend
38
+ * (`LOYALTY_PERIOD_LABELS`, em `@evo/nex-model`), e a projeção pública já entrega
39
+ * o texto pronto em `loyalty_period_label`.
40
+ */
41
+ export type NexFinopsProposalLoyaltyPeriod = 'none' | '3m' | '6m' | '1y' | '2y';
42
+
31
43
  // ── Prefill do cliente ──
32
44
 
33
45
  /** Dados que o vendedor já conhece e a página pública usa para pré-preencher. */
@@ -67,6 +79,21 @@ export interface INexFinopsProposal extends IFireGlobalDoc {
67
79
  terms?: string | null;
68
80
  currency: 'BRL';
69
81
 
82
+ /**
83
+ * Fidelidade contratada. Ausente é lido como `'none'` — propostas anteriores à
84
+ * feat-140 não têm o campo e não têm fidelidade.
85
+ */
86
+ loyalty_period?: NexFinopsProposalLoyaltyPeriod | null;
87
+ /**
88
+ * Modelo de contrato escolhido pelo vendedor, por CHAVE.
89
+ *
90
+ * Chave e não identificador do provider de assinatura: o identificador é
91
+ * configuração de ambiente (muda entre sandbox e produção) e congelá-lo num
92
+ * documento do Firestore o deixaria apontando para um template que já não
93
+ * existe. Ausente é o legado anterior à feat-140 — envelope no modelo único.
94
+ */
95
+ contract_template_key?: string | null;
96
+
70
97
  // Validade — data ISO `YYYY-MM-DD`, igual a `starts_at`/`ends_at` do contrato
71
98
  valid_until: string;
72
99
 
@@ -90,6 +117,15 @@ export interface INexFinopsProposalPublic {
90
117
  accepted_payment_methods: NexFinopsProposalPaymentMethod[];
91
118
  terms: string | null;
92
119
  valid_until: string;
120
+ /**
121
+ * Fidelidade já por extenso ("3 (três) meses"), ou `null` quando não há.
122
+ * Vem pronta de propósito: é condição comercial que o lead precisa ler antes
123
+ * de aceitar, e o mapa de rótulos não deve existir em dois lugares.
124
+ *
125
+ * `contract_template_key` NÃO tem par público: qual modelo de contrato o
126
+ * envelope usa é decisão interna.
127
+ */
128
+ loyalty_period_label?: string | null;
93
129
  /** Só nome de exibição — nunca e-mail, telefone ou documento completos. */
94
130
  prefill_masked: { name: string | null };
95
131
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "evo360-types",
3
- "version": "1.3.520",
3
+ "version": "1.3.524",
4
4
  "description": "HREVO360 Shared Types",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",