@autohubs/lib-cte 0.2.0

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 (107) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +96 -0
  3. package/dist/application/use-cases/ConsultarCTeUseCase.d.ts +16 -0
  4. package/dist/application/use-cases/ConsultarCTeUseCase.d.ts.map +1 -0
  5. package/dist/application/use-cases/ConsultarCTeUseCase.js +51 -0
  6. package/dist/application/use-cases/ConsultarCTeUseCase.js.map +1 -0
  7. package/dist/application/use-cases/DesacordoCTeUseCase.d.ts +45 -0
  8. package/dist/application/use-cases/DesacordoCTeUseCase.d.ts.map +1 -0
  9. package/dist/application/use-cases/DesacordoCTeUseCase.js +102 -0
  10. package/dist/application/use-cases/DesacordoCTeUseCase.js.map +1 -0
  11. package/dist/application/use-cases/DistribuicaoDFeUseCase.d.ts +24 -0
  12. package/dist/application/use-cases/DistribuicaoDFeUseCase.d.ts.map +1 -0
  13. package/dist/application/use-cases/DistribuicaoDFeUseCase.js +56 -0
  14. package/dist/application/use-cases/DistribuicaoDFeUseCase.js.map +1 -0
  15. package/dist/application/use-cases/StatusServicoUseCase.d.ts +16 -0
  16. package/dist/application/use-cases/StatusServicoUseCase.d.ts.map +1 -0
  17. package/dist/application/use-cases/StatusServicoUseCase.js +60 -0
  18. package/dist/application/use-cases/StatusServicoUseCase.js.map +1 -0
  19. package/dist/contracts/CertificateProvider.d.ts +2 -0
  20. package/dist/contracts/CertificateProvider.d.ts.map +1 -0
  21. package/dist/contracts/CertificateProvider.js +3 -0
  22. package/dist/contracts/CertificateProvider.js.map +1 -0
  23. package/dist/contracts/SefazTransport.d.ts +2 -0
  24. package/dist/contracts/SefazTransport.d.ts.map +1 -0
  25. package/dist/contracts/SefazTransport.js +3 -0
  26. package/dist/contracts/SefazTransport.js.map +1 -0
  27. package/dist/contracts/XmlSigner.d.ts +2 -0
  28. package/dist/contracts/XmlSigner.d.ts.map +1 -0
  29. package/dist/contracts/XmlSigner.js +3 -0
  30. package/dist/contracts/XmlSigner.js.map +1 -0
  31. package/dist/contracts/index.d.ts +5 -0
  32. package/dist/contracts/index.d.ts.map +1 -0
  33. package/dist/contracts/index.js +3 -0
  34. package/dist/contracts/index.js.map +1 -0
  35. package/dist/core/CTeCore.d.ts +42 -0
  36. package/dist/core/CTeCore.d.ts.map +1 -0
  37. package/dist/core/CTeCore.js +83 -0
  38. package/dist/core/CTeCore.js.map +1 -0
  39. package/dist/core/types.d.ts +16 -0
  40. package/dist/core/types.d.ts.map +1 -0
  41. package/dist/core/types.js +3 -0
  42. package/dist/core/types.js.map +1 -0
  43. package/dist/domain/entities/CTe.d.ts +43 -0
  44. package/dist/domain/entities/CTe.d.ts.map +1 -0
  45. package/dist/domain/entities/CTe.js +28 -0
  46. package/dist/domain/entities/CTe.js.map +1 -0
  47. package/dist/domain/entities/Carga.d.ts +12 -0
  48. package/dist/domain/entities/Carga.d.ts.map +1 -0
  49. package/dist/domain/entities/Carga.js +3 -0
  50. package/dist/domain/entities/Carga.js.map +1 -0
  51. package/dist/domain/entities/Destinatario.d.ts +21 -0
  52. package/dist/domain/entities/Destinatario.d.ts.map +1 -0
  53. package/dist/domain/entities/Destinatario.js +3 -0
  54. package/dist/domain/entities/Destinatario.js.map +1 -0
  55. package/dist/domain/entities/Emitente.d.ts +18 -0
  56. package/dist/domain/entities/Emitente.d.ts.map +1 -0
  57. package/dist/domain/entities/Emitente.js +3 -0
  58. package/dist/domain/entities/Emitente.js.map +1 -0
  59. package/dist/domain/entities/Remetente.d.ts +22 -0
  60. package/dist/domain/entities/Remetente.d.ts.map +1 -0
  61. package/dist/domain/entities/Remetente.js +3 -0
  62. package/dist/domain/entities/Remetente.js.map +1 -0
  63. package/dist/domain/entities/index.d.ts +7 -0
  64. package/dist/domain/entities/index.d.ts.map +1 -0
  65. package/dist/domain/entities/index.js +6 -0
  66. package/dist/domain/entities/index.js.map +1 -0
  67. package/dist/index.d.ts +16 -0
  68. package/dist/index.d.ts.map +1 -0
  69. package/dist/index.js +30 -0
  70. package/dist/index.js.map +1 -0
  71. package/dist/infra/sefaz/consulta-soap.d.ts +24 -0
  72. package/dist/infra/sefaz/consulta-soap.d.ts.map +1 -0
  73. package/dist/infra/sefaz/consulta-soap.js +56 -0
  74. package/dist/infra/sefaz/consulta-soap.js.map +1 -0
  75. package/dist/infra/sefaz/distribuicao-soap.d.ts +39 -0
  76. package/dist/infra/sefaz/distribuicao-soap.d.ts.map +1 -0
  77. package/dist/infra/sefaz/distribuicao-soap.js +92 -0
  78. package/dist/infra/sefaz/distribuicao-soap.js.map +1 -0
  79. package/dist/infra/sefaz/evento-soap.d.ts +48 -0
  80. package/dist/infra/sefaz/evento-soap.d.ts.map +1 -0
  81. package/dist/infra/sefaz/evento-soap.js +118 -0
  82. package/dist/infra/sefaz/evento-soap.js.map +1 -0
  83. package/dist/infra/sefaz/status-servico-soap.d.ts +24 -0
  84. package/dist/infra/sefaz/status-servico-soap.d.ts.map +1 -0
  85. package/dist/infra/sefaz/status-servico-soap.js +56 -0
  86. package/dist/infra/sefaz/status-servico-soap.js.map +1 -0
  87. package/dist/shared/constants/cte-an-urls.d.ts +7 -0
  88. package/dist/shared/constants/cte-an-urls.d.ts.map +1 -0
  89. package/dist/shared/constants/cte-an-urls.js +33 -0
  90. package/dist/shared/constants/cte-an-urls.js.map +1 -0
  91. package/dist/shared/constants/cte-urls.d.ts +76 -0
  92. package/dist/shared/constants/cte-urls.d.ts.map +1 -0
  93. package/dist/shared/constants/cte-urls.js +237 -0
  94. package/dist/shared/constants/cte-urls.js.map +1 -0
  95. package/dist/shared/errors/CTeError.d.ts +5 -0
  96. package/dist/shared/errors/CTeError.d.ts.map +1 -0
  97. package/dist/shared/errors/CTeError.js +12 -0
  98. package/dist/shared/errors/CTeError.js.map +1 -0
  99. package/dist/shared/errors/index.d.ts +3 -0
  100. package/dist/shared/errors/index.d.ts.map +1 -0
  101. package/dist/shared/errors/index.js +10 -0
  102. package/dist/shared/errors/index.js.map +1 -0
  103. package/dist/shared/helpers/evento-id.d.ts +6 -0
  104. package/dist/shared/helpers/evento-id.d.ts.map +1 -0
  105. package/dist/shared/helpers/evento-id.js +11 -0
  106. package/dist/shared/helpers/evento-id.js.map +1 -0
  107. package/package.json +55 -0
@@ -0,0 +1,42 @@
1
+ import { CertificateProvider, XmlSigner, SefazTransport } from '@brasil-fiscal/core';
2
+ import { RegistrarDesacordoInput, CancelarDesacordoInput, EventoCTeResult } from '../application/use-cases/DesacordoCTeUseCase';
3
+ import { DistribuicaoResult } from '../application/use-cases/DistribuicaoDFeUseCase';
4
+ import { StatusServicoResult, ConsultarCTeResult } from '../core/types';
5
+ export type { RegistrarDesacordoInput, CancelarDesacordoInput } from '../application/use-cases/DesacordoCTeUseCase';
6
+ export type { StatusServicoResult, ConsultarCTeResult } from '../core/types';
7
+ export type { EventoCTeResult } from '../application/use-cases/DesacordoCTeUseCase';
8
+ export type { DistribuicaoResult, DFeDocument } from '../application/use-cases/DistribuicaoDFeUseCase';
9
+ export type CTeAmbiente = 'homologacao' | 'producao';
10
+ export type CTeCoreConfig = {
11
+ readonly pfx: Buffer;
12
+ readonly senha: string;
13
+ readonly ambiente: CTeAmbiente;
14
+ readonly uf: string;
15
+ readonly xmlSigner?: XmlSigner;
16
+ readonly transport?: SefazTransport;
17
+ readonly certificate?: CertificateProvider;
18
+ };
19
+ type Desacordo = {
20
+ registrar(input: RegistrarDesacordoInput): Promise<EventoCTeResult>;
21
+ cancelar(input: CancelarDesacordoInput): Promise<EventoCTeResult>;
22
+ };
23
+ export declare class CTeCore {
24
+ private readonly certificate;
25
+ private readonly xmlSigner;
26
+ private readonly transport;
27
+ private readonly environment;
28
+ private readonly uf;
29
+ readonly desacordo: Desacordo;
30
+ private constructor();
31
+ static create(config: CTeCoreConfig): CTeCore;
32
+ statusServico(uf?: string): Promise<StatusServicoResult>;
33
+ consultar(chaveAcesso: string): Promise<ConsultarCTeResult>;
34
+ /**
35
+ * Consulta CT-e's e demais documentos de interesse do CNPJ a partir de um
36
+ * NSU, via o Ambiente Nacional (servico separado de CTeStatusServico/
37
+ * CTeConsultaProtocolo, que sao por UF). Use para "puxar" os documentos
38
+ * emitidos contra o CNPJ num periodo, paginando pelo `ultNSU` retornado.
39
+ */
40
+ distribuicaoPorNSU(cnpj: string, ultNSU?: string): Promise<DistribuicaoResult>;
41
+ }
42
+ //# sourceMappingURL=CTeCore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CTeCore.d.ts","sourceRoot":"","sources":["../../src/core/CTeCore.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,mBAAmB,EACnB,SAAS,EACT,cAAc,EACf,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAEL,uBAAuB,EACvB,sBAAsB,EACtB,eAAe,EAChB,MAAM,gDAAgD,CAAC;AACxD,OAAO,EAEL,kBAAkB,EACnB,MAAM,mDAAmD,CAAC;AAC3D,OAAO,EAAkB,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1F,YAAY,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AACtH,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC/E,YAAY,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AACtF,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,mDAAmD,CAAC;AAEzG,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,UAAU,CAAC;AAErD,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC;IACpC,QAAQ,CAAC,WAAW,CAAC,EAAE,mBAAmB,CAAC;CAC5C,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,SAAS,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IACpE,QAAQ,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CACnE,CAAC;AAmBF,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsB;IAClD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiB;IAC3C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiB;IAC7C,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAS;IAC5B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAE9B,OAAO;IAsBP,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO;IAIvC,aAAa,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IASxD,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IASjE;;;;;OAKG;IACG,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAUrF"}
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CTeCore = void 0;
4
+ const core_1 = require("@brasil-fiscal/core");
5
+ const StatusServicoUseCase_1 = require("../application/use-cases/StatusServicoUseCase");
6
+ const ConsultarCTeUseCase_1 = require("../application/use-cases/ConsultarCTeUseCase");
7
+ const DesacordoCTeUseCase_1 = require("../application/use-cases/DesacordoCTeUseCase");
8
+ const DistribuicaoDFeUseCase_1 = require("../application/use-cases/DistribuicaoDFeUseCase");
9
+ function toEnvironment(ambiente) {
10
+ return ambiente === 'homologacao' ? 'homologation' : 'production';
11
+ }
12
+ /**
13
+ * Config padrao do XmlSigner para CT-e. O default do `DefaultXmlSigner` do
14
+ * core (sem argumentos) so' reconhece <infEvento>/<evento>, voltado para NFe.
15
+ * Eventos de CT-e (ex.: Desacordo) usam a raiz <eventoCTe>, entao precisamos
16
+ * de uma config propria — nunca misturar as duas entradas de `infEvento` no
17
+ * mesmo array (o signer usa so' o primeiro match por nome de elemento, e um
18
+ * `parentElement` errado falha silenciosamente em vez de lancar erro).
19
+ */
20
+ const CTE_SIGNABLE_ELEMENTS = [
21
+ { elementName: 'infCte', parentElement: 'CTe' },
22
+ { elementName: 'infEvento', parentElement: 'eventoCTe' }
23
+ ];
24
+ class CTeCore {
25
+ certificate;
26
+ xmlSigner;
27
+ transport;
28
+ environment;
29
+ uf;
30
+ desacordo;
31
+ constructor(config) {
32
+ this.certificate = config.certificate ?? new core_1.A1CertificateProvider(config.pfx, config.senha);
33
+ this.xmlSigner = config.xmlSigner ?? new core_1.DefaultXmlSigner(CTE_SIGNABLE_ELEMENTS);
34
+ this.transport = config.transport ?? new core_1.NodeHttpSefazTransport();
35
+ this.environment = toEnvironment(config.ambiente);
36
+ this.uf = config.uf;
37
+ const desacordoUseCase = new DesacordoCTeUseCase_1.DesacordoCTeUseCase({
38
+ certificate: this.certificate,
39
+ transport: this.transport,
40
+ xmlSigner: this.xmlSigner,
41
+ environment: this.environment
42
+ });
43
+ this.desacordo = {
44
+ registrar: (input) => desacordoUseCase.registrar(input),
45
+ cancelar: (input) => desacordoUseCase.cancelar(input)
46
+ };
47
+ }
48
+ static create(config) {
49
+ return new CTeCore(config);
50
+ }
51
+ async statusServico(uf) {
52
+ const useCase = new StatusServicoUseCase_1.StatusServicoUseCase({
53
+ certificate: this.certificate,
54
+ transport: this.transport,
55
+ environment: this.environment
56
+ });
57
+ return useCase.execute(uf ?? this.uf);
58
+ }
59
+ async consultar(chaveAcesso) {
60
+ const useCase = new ConsultarCTeUseCase_1.ConsultarCTeUseCase({
61
+ certificate: this.certificate,
62
+ transport: this.transport,
63
+ environment: this.environment
64
+ });
65
+ return useCase.execute(chaveAcesso);
66
+ }
67
+ /**
68
+ * Consulta CT-e's e demais documentos de interesse do CNPJ a partir de um
69
+ * NSU, via o Ambiente Nacional (servico separado de CTeStatusServico/
70
+ * CTeConsultaProtocolo, que sao por UF). Use para "puxar" os documentos
71
+ * emitidos contra o CNPJ num periodo, paginando pelo `ultNSU` retornado.
72
+ */
73
+ async distribuicaoPorNSU(cnpj, ultNSU) {
74
+ const useCase = new DistribuicaoDFeUseCase_1.DistribuicaoDFeUseCase({
75
+ certificate: this.certificate,
76
+ transport: this.transport,
77
+ environment: this.environment
78
+ });
79
+ return useCase.consultarPorNSU(cnpj, this.uf, ultNSU);
80
+ }
81
+ }
82
+ exports.CTeCore = CTeCore;
83
+ //# sourceMappingURL=CTeCore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CTeCore.js","sourceRoot":"","sources":["../../src/core/CTeCore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ export type CTeEnvironment = 'homologation' | 'production';
2
+ export type StatusServicoResult = {
3
+ readonly codigoStatus: string;
4
+ readonly motivo: string;
5
+ readonly emOperacao: boolean;
6
+ readonly cUF?: string;
7
+ readonly dataConsulta?: Date;
8
+ readonly tempoMedioResposta?: string;
9
+ };
10
+ export type ConsultarCTeResult = {
11
+ readonly codigoStatus: string;
12
+ readonly motivo: string;
13
+ readonly protocolo?: string;
14
+ readonly dataAutorizacao?: Date;
15
+ };
16
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,cAAc,GAAG,YAAY,CAAC;AAE3D,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC;IAC7B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC;CACjC,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,43 @@
1
+ import { EmitenteProps } from './Emitente';
2
+ import { RemetenteProps } from './Remetente';
3
+ import { DestinatarioProps } from './Destinatario';
4
+ import { CargaProps } from './Carga';
5
+ export type CTeIdentificacao = {
6
+ readonly naturezaOperacao: string;
7
+ readonly tipoServico: 0 | 1 | 2 | 3;
8
+ readonly modal: 1 | 2 | 3 | 4 | 5 | 6;
9
+ readonly ufInicio: string;
10
+ readonly municipioInicio: string;
11
+ readonly ufFim: string;
12
+ readonly municipioFim: string;
13
+ readonly serie: number;
14
+ readonly numero: number;
15
+ readonly dataEmissao?: Date;
16
+ readonly tipoEmissao?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 9;
17
+ readonly ambiente?: 1 | 2;
18
+ readonly tipoCTe?: 0 | 1 | 2 | 3;
19
+ readonly tomador: 0 | 1 | 2 | 3 | 4;
20
+ };
21
+ export type CTeProps = {
22
+ readonly identificacao: CTeIdentificacao;
23
+ readonly emitente: EmitenteProps;
24
+ readonly remetente: RemetenteProps;
25
+ readonly destinatario: DestinatarioProps;
26
+ readonly carga: CargaProps;
27
+ readonly valorServico: {
28
+ readonly valorTotalServico: number;
29
+ readonly valorReceber: number;
30
+ };
31
+ readonly informacoesComplementares?: string;
32
+ };
33
+ export declare class CTe {
34
+ readonly identificacao: CTeIdentificacao;
35
+ readonly emitente: EmitenteProps;
36
+ readonly remetente: RemetenteProps;
37
+ readonly destinatario: DestinatarioProps;
38
+ readonly carga: CargaProps;
39
+ readonly valorServico: CTeProps['valorServico'];
40
+ readonly informacoesComplementares?: string;
41
+ constructor(props: CTeProps);
42
+ }
43
+ //# sourceMappingURL=CTe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CTe.d.ts","sourceRoot":"","sources":["../../../src/domain/entities/CTe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACrD,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,CAAC,aAAa,EAAE,gBAAgB,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IACnC,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC;IACzC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE;QACrB,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;QACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;KAC/B,CAAC;IACF,QAAQ,CAAC,yBAAyB,CAAC,EAAE,MAAM,CAAC;CAC7C,CAAC;AAEF,qBAAa,GAAG;IACd,SAAgB,aAAa,EAAE,gBAAgB,CAAC;IAChD,SAAgB,QAAQ,EAAE,aAAa,CAAC;IACxC,SAAgB,SAAS,EAAE,cAAc,CAAC;IAC1C,SAAgB,YAAY,EAAE,iBAAiB,CAAC;IAChD,SAAgB,KAAK,EAAE,UAAU,CAAC;IAClC,SAAgB,YAAY,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;IACvD,SAAgB,yBAAyB,CAAC,EAAE,MAAM,CAAC;gBAEvC,KAAK,EAAE,QAAQ;CAc5B"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CTe = void 0;
4
+ class CTe {
5
+ identificacao;
6
+ emitente;
7
+ remetente;
8
+ destinatario;
9
+ carga;
10
+ valorServico;
11
+ informacoesComplementares;
12
+ constructor(props) {
13
+ this.identificacao = {
14
+ ...props.identificacao,
15
+ dataEmissao: props.identificacao.dataEmissao ?? new Date(),
16
+ tipoEmissao: props.identificacao.tipoEmissao ?? 1,
17
+ tipoCTe: props.identificacao.tipoCTe ?? 0
18
+ };
19
+ this.emitente = props.emitente;
20
+ this.remetente = props.remetente;
21
+ this.destinatario = props.destinatario;
22
+ this.carga = props.carga;
23
+ this.valorServico = props.valorServico;
24
+ this.informacoesComplementares = props.informacoesComplementares;
25
+ }
26
+ }
27
+ exports.CTe = CTe;
28
+ //# sourceMappingURL=CTe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CTe.js","sourceRoot":"","sources":["../../../src/domain/entities/CTe.ts"],"names":[],"mappings":";;;AAmCA,MAAa,GAAG;IACE,aAAa,CAAmB;IAChC,QAAQ,CAAgB;IACxB,SAAS,CAAiB;IAC1B,YAAY,CAAoB;IAChC,KAAK,CAAa;IAClB,YAAY,CAA2B;IACvC,yBAAyB,CAAU;IAEnD,YAAY,KAAe;QACzB,IAAI,CAAC,aAAa,GAAG;YACnB,GAAG,KAAK,CAAC,aAAa;YACtB,WAAW,EAAE,KAAK,CAAC,aAAa,CAAC,WAAW,IAAI,IAAI,IAAI,EAAE;YAC1D,WAAW,EAAE,KAAK,CAAC,aAAa,CAAC,WAAW,IAAI,CAAC;YACjD,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC;SAC1C,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;QACvC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;QACvC,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC,yBAAyB,CAAC;IACnE,CAAC;CACF;AAvBD,kBAuBC"}
@@ -0,0 +1,12 @@
1
+ export type CargaProps = {
2
+ readonly valorCarga: number;
3
+ readonly proPredominante: string;
4
+ readonly outrasCaracteristicas?: string;
5
+ readonly quantidades: readonly QuantidadeCargaProps[];
6
+ };
7
+ export type QuantidadeCargaProps = {
8
+ readonly cUnid: '00' | '01' | '02' | '03' | '04' | '05';
9
+ readonly tpMed: string;
10
+ readonly qCarga: number;
11
+ };
12
+ //# sourceMappingURL=Carga.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Carga.d.ts","sourceRoot":"","sources":["../../../src/domain/entities/Carga.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,WAAW,EAAE,SAAS,oBAAoB,EAAE,CAAC;CACvD,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACxD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=Carga.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Carga.js","sourceRoot":"","sources":["../../../src/domain/entities/Carga.ts"],"names":[],"mappings":""}
@@ -0,0 +1,21 @@
1
+ export type DestinatarioProps = {
2
+ readonly cnpj?: string;
3
+ readonly cpf?: string;
4
+ readonly nome: string;
5
+ readonly inscricaoEstadual?: string;
6
+ readonly email?: string;
7
+ readonly endereco: {
8
+ readonly logradouro: string;
9
+ readonly numero: string;
10
+ readonly complemento?: string;
11
+ readonly bairro: string;
12
+ readonly codigoMunicipio: string;
13
+ readonly municipio: string;
14
+ readonly uf: string;
15
+ readonly cep: string;
16
+ readonly codigoPais?: string;
17
+ readonly pais?: string;
18
+ readonly telefone?: string;
19
+ };
20
+ };
21
+ //# sourceMappingURL=Destinatario.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Destinatario.d.ts","sourceRoot":"","sources":["../../../src/domain/entities/Destinatario.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;QACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;CACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=Destinatario.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Destinatario.js","sourceRoot":"","sources":["../../../src/domain/entities/Destinatario.ts"],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ export type EmitenteProps = {
2
+ readonly cnpj: string;
3
+ readonly inscricaoEstadual: string;
4
+ readonly nome: string;
5
+ readonly nomeFantasia?: string;
6
+ readonly endereco: {
7
+ readonly logradouro: string;
8
+ readonly numero: string;
9
+ readonly complemento?: string;
10
+ readonly bairro: string;
11
+ readonly codigoMunicipio: string;
12
+ readonly municipio: string;
13
+ readonly uf: string;
14
+ readonly cep: string;
15
+ readonly telefone?: string;
16
+ };
17
+ };
18
+ //# sourceMappingURL=Emitente.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Emitente.d.ts","sourceRoot":"","sources":["../../../src/domain/entities/Emitente.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;QACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;CACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=Emitente.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Emitente.js","sourceRoot":"","sources":["../../../src/domain/entities/Emitente.ts"],"names":[],"mappings":""}
@@ -0,0 +1,22 @@
1
+ export type RemetenteProps = {
2
+ readonly cnpj?: string;
3
+ readonly cpf?: string;
4
+ readonly nome: string;
5
+ readonly nomeFantasia?: string;
6
+ readonly inscricaoEstadual?: string;
7
+ readonly email?: string;
8
+ readonly endereco: {
9
+ readonly logradouro: string;
10
+ readonly numero: string;
11
+ readonly complemento?: string;
12
+ readonly bairro: string;
13
+ readonly codigoMunicipio: string;
14
+ readonly municipio: string;
15
+ readonly uf: string;
16
+ readonly cep: string;
17
+ readonly codigoPais?: string;
18
+ readonly pais?: string;
19
+ readonly telefone?: string;
20
+ };
21
+ };
22
+ //# sourceMappingURL=Remetente.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Remetente.d.ts","sourceRoot":"","sources":["../../../src/domain/entities/Remetente.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;QACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;CACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=Remetente.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Remetente.js","sourceRoot":"","sources":["../../../src/domain/entities/Remetente.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ export { CTe } from './CTe';
2
+ export type { CTeProps, CTeIdentificacao } from './CTe';
3
+ export type { EmitenteProps } from './Emitente';
4
+ export type { RemetenteProps } from './Remetente';
5
+ export type { DestinatarioProps } from './Destinatario';
6
+ export type { CargaProps, QuantidadeCargaProps } from './Carga';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/domain/entities/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AACxD,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,YAAY,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CTe = void 0;
4
+ var CTe_1 = require("./CTe");
5
+ Object.defineProperty(exports, "CTe", { enumerable: true, get: function () { return CTe_1.CTe; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/domain/entities/index.ts"],"names":[],"mappings":";;;AAAA,6BAA4B;AAAnB,0FAAA,GAAG,OAAA"}
@@ -0,0 +1,16 @@
1
+ export { CTeCore } from './core/CTeCore';
2
+ export type { CTeCoreConfig, CTeAmbiente, RegistrarDesacordoInput, CancelarDesacordoInput, EventoCTeResult, StatusServicoResult, ConsultarCTeResult, DistribuicaoResult, DFeDocument } from './core/CTeCore';
3
+ export { StatusServicoUseCase } from './application/use-cases/StatusServicoUseCase';
4
+ export { ConsultarCTeUseCase } from './application/use-cases/ConsultarCTeUseCase';
5
+ export { DesacordoCTeUseCase } from './application/use-cases/DesacordoCTeUseCase';
6
+ export { DistribuicaoDFeUseCase } from './application/use-cases/DistribuicaoDFeUseCase';
7
+ export { CTeError } from './shared/errors/CTeError';
8
+ export { CTe } from './domain/entities/CTe';
9
+ export type { CTeProps, CTeIdentificacao } from './domain/entities/CTe';
10
+ export type { EmitenteProps } from './domain/entities/Emitente';
11
+ export type { RemetenteProps } from './domain/entities/Remetente';
12
+ export type { DestinatarioProps } from './domain/entities/Destinatario';
13
+ export type { CargaProps, QuantidadeCargaProps } from './domain/entities/Carga';
14
+ export { A1CertificateProvider, DefaultXmlSigner, NodeHttpSefazTransport, DFeError, CertificateError, SefazRejectError } from '@brasil-fiscal/core';
15
+ export type { CertificateProvider, CertificateData, SefazTransport, XmlSigner } from '@brasil-fiscal/core';
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,YAAY,EACV,aAAa,EACb,WAAW,EACX,uBAAuB,EACvB,sBAAsB,EACtB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACZ,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AAGxF,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGpD,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAC5C,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACxE,YAAY,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,YAAY,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACxE,YAAY,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAGhF,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EACtB,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,SAAS,EACV,MAAM,qBAAqB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SefazRejectError = exports.CertificateError = exports.DFeError = exports.NodeHttpSefazTransport = exports.DefaultXmlSigner = exports.A1CertificateProvider = exports.CTe = exports.CTeError = exports.DistribuicaoDFeUseCase = exports.DesacordoCTeUseCase = exports.ConsultarCTeUseCase = exports.StatusServicoUseCase = exports.CTeCore = void 0;
4
+ // Core
5
+ var CTeCore_1 = require("./core/CTeCore");
6
+ Object.defineProperty(exports, "CTeCore", { enumerable: true, get: function () { return CTeCore_1.CTeCore; } });
7
+ // Use cases (uso direto, sem passar pelo CTeCore)
8
+ var StatusServicoUseCase_1 = require("./application/use-cases/StatusServicoUseCase");
9
+ Object.defineProperty(exports, "StatusServicoUseCase", { enumerable: true, get: function () { return StatusServicoUseCase_1.StatusServicoUseCase; } });
10
+ var ConsultarCTeUseCase_1 = require("./application/use-cases/ConsultarCTeUseCase");
11
+ Object.defineProperty(exports, "ConsultarCTeUseCase", { enumerable: true, get: function () { return ConsultarCTeUseCase_1.ConsultarCTeUseCase; } });
12
+ var DesacordoCTeUseCase_1 = require("./application/use-cases/DesacordoCTeUseCase");
13
+ Object.defineProperty(exports, "DesacordoCTeUseCase", { enumerable: true, get: function () { return DesacordoCTeUseCase_1.DesacordoCTeUseCase; } });
14
+ var DistribuicaoDFeUseCase_1 = require("./application/use-cases/DistribuicaoDFeUseCase");
15
+ Object.defineProperty(exports, "DistribuicaoDFeUseCase", { enumerable: true, get: function () { return DistribuicaoDFeUseCase_1.DistribuicaoDFeUseCase; } });
16
+ // Erros
17
+ var CTeError_1 = require("./shared/errors/CTeError");
18
+ Object.defineProperty(exports, "CTeError", { enumerable: true, get: function () { return CTeError_1.CTeError; } });
19
+ // Domain entities
20
+ var CTe_1 = require("./domain/entities/CTe");
21
+ Object.defineProperty(exports, "CTe", { enumerable: true, get: function () { return CTe_1.CTe; } });
22
+ // Re-export core utilities
23
+ var core_1 = require("@brasil-fiscal/core");
24
+ Object.defineProperty(exports, "A1CertificateProvider", { enumerable: true, get: function () { return core_1.A1CertificateProvider; } });
25
+ Object.defineProperty(exports, "DefaultXmlSigner", { enumerable: true, get: function () { return core_1.DefaultXmlSigner; } });
26
+ Object.defineProperty(exports, "NodeHttpSefazTransport", { enumerable: true, get: function () { return core_1.NodeHttpSefazTransport; } });
27
+ Object.defineProperty(exports, "DFeError", { enumerable: true, get: function () { return core_1.DFeError; } });
28
+ Object.defineProperty(exports, "CertificateError", { enumerable: true, get: function () { return core_1.CertificateError; } });
29
+ Object.defineProperty(exports, "SefazRejectError", { enumerable: true, get: function () { return core_1.SefazRejectError; } });
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,OAAO;AACP,0CAAyC;AAAhC,kGAAA,OAAO,OAAA;AAahB,kDAAkD;AAClD,qFAAoF;AAA3E,4HAAA,oBAAoB,OAAA;AAC7B,mFAAkF;AAAzE,0HAAA,mBAAmB,OAAA;AAC5B,mFAAkF;AAAzE,0HAAA,mBAAmB,OAAA;AAC5B,yFAAwF;AAA/E,gIAAA,sBAAsB,OAAA;AAE/B,QAAQ;AACR,qDAAoD;AAA3C,oGAAA,QAAQ,OAAA;AAEjB,kBAAkB;AAClB,6CAA4C;AAAnC,0FAAA,GAAG,OAAA;AAOZ,2BAA2B;AAC3B,4CAO6B;AAN3B,6GAAA,qBAAqB,OAAA;AACrB,wGAAA,gBAAgB,OAAA;AAChB,8GAAA,sBAAsB,OAAA;AACtB,gGAAA,QAAQ,OAAA;AACR,wGAAA,gBAAgB,OAAA;AAChB,wGAAA,gBAAgB,OAAA"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * SOAPAction confirmada por WSDL real (`?wsdl` contra o host de homologacao
3
+ * do SVRS, autenticado com certificado A1). A fonte anterior desta lib
4
+ * ("CTeConsultaProtocolo/CTeConsultaCT") estava incorreta — o namespace real
5
+ * do servico e' `CTeConsultaV4` e a operacao e' `cteConsultaCT` (minusculo).
6
+ */
7
+ export declare const CONSULTA_SOAP_ACTION = "http://www.portalfiscal.inf.br/cte/wsdl/CTeConsultaV4/cteConsultaCT";
8
+ /**
9
+ * Monta envelope SOAP para consulta de CT-e por chave de acesso
10
+ * (CTeConsultaProtocolo).
11
+ */
12
+ export declare function buildConsultaEnvelope(chaveAcesso: string, tpAmb: '1' | '2'): string;
13
+ export type ConsultaResponse = {
14
+ readonly cStat: string;
15
+ readonly xMotivo: string;
16
+ readonly nProt?: string;
17
+ readonly dhRecbto?: string;
18
+ };
19
+ /**
20
+ * Parseia a resposta de CTeConsultaProtocolo (retConsSitCTe).
21
+ * Extrai campos do <protCTe> quando presente, senao do corpo direto.
22
+ */
23
+ export declare function parseConsultaResponse(body: string): ConsultaResponse;
24
+ //# sourceMappingURL=consulta-soap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consulta-soap.d.ts","sourceRoot":"","sources":["../../../src/infra/sefaz/consulta-soap.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,wEAAsD,CAAC;AAExF;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,MAAM,CAcnF;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAepE"}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CONSULTA_SOAP_ACTION = void 0;
4
+ exports.buildConsultaEnvelope = buildConsultaEnvelope;
5
+ exports.parseConsultaResponse = parseConsultaResponse;
6
+ const CTeError_1 = require("../../shared/errors/CTeError");
7
+ const CTE_NAMESPACE = 'http://www.portalfiscal.inf.br/cte';
8
+ /**
9
+ * SOAPAction confirmada por WSDL real (`?wsdl` contra o host de homologacao
10
+ * do SVRS, autenticado com certificado A1). A fonte anterior desta lib
11
+ * ("CTeConsultaProtocolo/CTeConsultaCT") estava incorreta — o namespace real
12
+ * do servico e' `CTeConsultaV4` e a operacao e' `cteConsultaCT` (minusculo).
13
+ */
14
+ exports.CONSULTA_SOAP_ACTION = `${CTE_NAMESPACE}/wsdl/CTeConsultaV4/cteConsultaCT`;
15
+ /**
16
+ * Monta envelope SOAP para consulta de CT-e por chave de acesso
17
+ * (CTeConsultaProtocolo).
18
+ */
19
+ function buildConsultaEnvelope(chaveAcesso, tpAmb) {
20
+ return [
21
+ '<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">',
22
+ '<soap:Body>',
23
+ `<cteDadosMsg xmlns="${CTE_NAMESPACE}/wsdl/CTeConsultaV4">`,
24
+ `<consSitCTe versao="4.00" xmlns="${CTE_NAMESPACE}">`,
25
+ `<tpAmb>${tpAmb}</tpAmb>`,
26
+ '<xServ>CONSULTAR</xServ>',
27
+ `<chCTe>${chaveAcesso}</chCTe>`,
28
+ '</consSitCTe>',
29
+ '</cteDadosMsg>',
30
+ '</soap:Body>',
31
+ '</soap:Envelope>'
32
+ ].join('');
33
+ }
34
+ /**
35
+ * Parseia a resposta de CTeConsultaProtocolo (retConsSitCTe).
36
+ * Extrai campos do <protCTe> quando presente, senao do corpo direto.
37
+ */
38
+ function parseConsultaResponse(body) {
39
+ const protCTe = body.match(/<protCTe[^>]*>([\s\S]*?)<\/protCTe>/);
40
+ const source = protCTe ? protCTe[1] : body;
41
+ const cStat = extractTag(source, 'cStat');
42
+ if (!cStat) {
43
+ throw new CTeError_1.CTeError('Resposta de consulta sem cStat');
44
+ }
45
+ return {
46
+ cStat,
47
+ xMotivo: extractTag(source, 'xMotivo') ?? 'Motivo desconhecido',
48
+ nProt: extractTag(source, 'nProt') ?? undefined,
49
+ dhRecbto: extractTag(source, 'dhRecbto') ?? undefined
50
+ };
51
+ }
52
+ function extractTag(xml, tag) {
53
+ const match = xml.match(new RegExp(`<${tag}>([^<]*)</${tag}>`));
54
+ return match ? match[1] : null;
55
+ }
56
+ //# sourceMappingURL=consulta-soap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consulta-soap.js","sourceRoot":"","sources":["../../../src/infra/sefaz/consulta-soap.ts"],"names":[],"mappings":";;;AAgBA,sDAcC;AAaD,sDAeC;AA1DD,0DAAuD;AAEvD,MAAM,aAAa,GAAG,oCAAoC,CAAC;AAE3D;;;;;GAKG;AACU,QAAA,oBAAoB,GAAG,GAAG,aAAa,mCAAmC,CAAC;AAExF;;;GAGG;AACH,SAAgB,qBAAqB,CAAC,WAAmB,EAAE,KAAgB;IACzE,OAAO;QACL,yKAAyK;QACzK,aAAa;QACb,uBAAuB,aAAa,uBAAuB;QAC3D,oCAAoC,aAAa,IAAI;QACrD,UAAU,KAAK,UAAU;QACzB,0BAA0B;QAC1B,UAAU,WAAW,UAAU;QAC/B,eAAe;QACf,gBAAgB;QAChB,cAAc;QACd,kBAAkB;KACnB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACb,CAAC;AASD;;;GAGG;AACH,SAAgB,qBAAqB,CAAC,IAAY;IAChD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAE3C,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,mBAAQ,CAAC,gCAAgC,CAAC,CAAC;IACvD,CAAC;IAED,OAAO;QACL,KAAK;QACL,OAAO,EAAE,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,qBAAqB;QAC/D,KAAK,EAAE,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,SAAS;QAC/C,QAAQ,EAAE,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,SAAS;KACtD,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,GAAW,EAAE,GAAW;IAC1C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,GAAG,aAAa,GAAG,GAAG,CAAC,CAAC,CAAC;IAChE,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACjC,CAAC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * SOAPAction e namespace confirmados por WSDL real e por chamada real (ver
3
+ * cte-an-urls.ts). A versao do XML de negocio (`distDFeInt`) e' "1.00" para
4
+ * CT-e — diferente da NF-e, que usa "1.01". Usar "1.01" aqui causa rejeicao
5
+ * cStat 239 "versao do arquivo xml nao e suportada" (confirmado no teste).
6
+ */
7
+ export declare const DISTRIBUICAO_SOAP_ACTION = "http://www.portalfiscal.inf.br/cte/wsdl/CTeDistribuicaoDFe/cteDistDFeInteresse";
8
+ /**
9
+ * Monta envelope SOAP para consulta por ultimo NSU (distNSU).
10
+ */
11
+ export declare function buildDistNSUEnvelope(cnpj: string, cUFAutor: string, tpAmb: '1' | '2', ultNSU: string): string;
12
+ export type DFeDocument = {
13
+ readonly nsu: string;
14
+ readonly schema: string;
15
+ readonly xml: string;
16
+ };
17
+ export type DistribuicaoResult = {
18
+ readonly cStat: string;
19
+ readonly xMotivo: string;
20
+ readonly ultNSU: string;
21
+ readonly maxNSU: string;
22
+ readonly documentos: readonly DFeDocument[];
23
+ };
24
+ /**
25
+ * Parseia a resposta do servico CTeDistribuicaoDFe.
26
+ *
27
+ * O parsing de `docZip` (documento individual, base64+GZip) segue o mesmo
28
+ * formato documentado na NT 2015.002, compartilhado entre NFe/CTe/MDFe —
29
+ * ainda nao observado com um `docZip` real nesta validacao (a consulta de
30
+ * teste nao tinha documentos pendentes de distribuicao para o CNPJ usado),
31
+ * mas a estrutura do envelope de resposta (`retDistDFeInt`, `cStat`,
32
+ * `ultNSU`, `maxNSU`) foi confirmada contra a SEFAZ real.
33
+ */
34
+ export declare function parseDistribuicaoResponse(body: string): DistribuicaoResult;
35
+ /**
36
+ * Descompacta um docZip (base64 + GZip) para XML.
37
+ */
38
+ export declare function decompressDocZip(base64Content: string): string;
39
+ //# sourceMappingURL=distribuicao-soap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"distribuicao-soap.d.ts","sourceRoot":"","sources":["../../../src/infra/sefaz/distribuicao-soap.ts"],"names":[],"mappings":"AAMA;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,mFAA0C,CAAC;AAIhF;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,GAAG,GAAG,GAAG,EAChB,MAAM,EAAE,MAAM,GACb,MAAM,CAmBR;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,SAAS,WAAW,EAAE,CAAC;CAC7C,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,CAgC1E;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAI9D"}