@useinvio/nfse-sdk 2.2.0 → 3.1.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 (66) hide show
  1. package/JSON_MAPPING.md +30 -17
  2. package/README.md +145 -67
  3. package/dist/agent.d.ts +86 -0
  4. package/dist/agent.js +235 -0
  5. package/dist/agent.js.map +1 -0
  6. package/dist/certificate.d.ts +96 -0
  7. package/dist/certificate.js +218 -0
  8. package/dist/certificate.js.map +1 -0
  9. package/dist/certificateValidation.d.ts +12 -5
  10. package/dist/certificateValidation.js +25 -9
  11. package/dist/certificateValidation.js.map +1 -1
  12. package/dist/client.d.ts +8 -3
  13. package/dist/client.js +8 -7
  14. package/dist/client.js.map +1 -1
  15. package/dist/decimal.d.ts +7 -0
  16. package/dist/decimal.js +24 -0
  17. package/dist/decimal.js.map +1 -0
  18. package/dist/dpsJson.js +15 -45
  19. package/dist/dpsJson.js.map +1 -1
  20. package/dist/dpsJsonSchema.d.ts +17 -0
  21. package/dist/dpsJsonSchema.js +184 -0
  22. package/dist/dpsJsonSchema.js.map +1 -0
  23. package/dist/dpsNormalization.d.ts +10 -0
  24. package/dist/dpsNormalization.js +85 -0
  25. package/dist/dpsNormalization.js.map +1 -0
  26. package/dist/emissaoNota.d.ts +4 -4
  27. package/dist/emissaoNota.js +27 -8
  28. package/dist/emissaoNota.js.map +1 -1
  29. package/dist/fiscalDomains.d.ts +22 -0
  30. package/dist/fiscalDomains.js +99 -0
  31. package/dist/fiscalDomains.js.map +1 -0
  32. package/dist/fiscalValidation.d.ts +1 -0
  33. package/dist/fiscalValidation.js +119 -88
  34. package/dist/fiscalValidation.js.map +1 -1
  35. package/dist/index.d.ts +9 -4
  36. package/dist/index.js +5 -3
  37. package/dist/index.js.map +1 -1
  38. package/dist/jsonSchemaCheck.d.ts +12 -0
  39. package/dist/jsonSchemaCheck.js +70 -0
  40. package/dist/jsonSchemaCheck.js.map +1 -0
  41. package/dist/loadPfx.d.ts +2 -0
  42. package/dist/loadPfx.js +2 -1
  43. package/dist/loadPfx.js.map +1 -1
  44. package/dist/sefinClient.d.ts +10 -4
  45. package/dist/sefinClient.js +22 -4
  46. package/dist/sefinClient.js.map +1 -1
  47. package/dist/signXml.d.ts +3 -3
  48. package/dist/signXml.js +8 -6
  49. package/dist/signXml.js.map +1 -1
  50. package/dist/xmlInspection.d.ts +6 -0
  51. package/dist/xmlInspection.js +62 -0
  52. package/dist/xmlInspection.js.map +1 -0
  53. package/dist/xsdValidation.d.ts +17 -5
  54. package/dist/xsdValidation.js +75 -67
  55. package/dist/xsdValidation.js.map +1 -1
  56. package/docs/CORRECOES_EMISSAO.md +55 -0
  57. package/docs/FISCAL_MATRIX.md +11 -0
  58. package/docs/REGRAS_NEGOCIO_EMISSAO.md +317 -0
  59. package/examples/README.md +4 -1
  60. package/examples/client-resource.ts +8 -44
  61. package/examples/emit-homologation.ts +4 -40
  62. package/examples/generate-dps-xml.ts +3 -40
  63. package/examples/handle-errors.ts +6 -5
  64. package/examples/payloads.ts +36 -0
  65. package/llms.txt +22 -7
  66. package/package.json +9 -4
@@ -1,46 +1,16 @@
1
- const OP_SIMP_NAC = new Set(['1', '2', '3']);
2
- const REG_AP_TRIB_SN = new Set(['1', '2', '3']);
3
- const REG_ESP_TRIB = new Set(['0', '1', '2', '3', '4', '5', '6', '9']);
4
- const TRIB_ISSQN = new Set(['1', '2', '3', '4']);
5
- const TP_IMUNIDADE = new Set(['0', '1', '2', '3', '4', '5']);
6
- const TP_RET_ISSQN = new Set(['1', '2', '3']);
7
- const C_NAO_NIF = new Set(['1', '2']);
8
- const PIS_COFINS_CST = new Set([
9
- '00',
10
- '01',
11
- '02',
12
- '03',
13
- '04',
14
- '05',
15
- '06',
16
- '07',
17
- '08',
18
- '09',
19
- '49',
20
- '50',
21
- '51',
22
- '52',
23
- '53',
24
- '54',
25
- '55',
26
- '56',
27
- '60',
28
- '61',
29
- '62',
30
- '63',
31
- '64',
32
- '65',
33
- '66',
34
- '67',
35
- '70',
36
- '71',
37
- '72',
38
- '73',
39
- '74',
40
- '75',
41
- '98',
42
- '99',
43
- ]);
1
+ import { decimalParts, fixedDecimal, mulDecimal } from './decimal.js';
2
+ import * as domains from './fiscalDomains.js';
3
+ import { domainValues } from './fiscalDomains.js';
4
+ import { clonePayload, normalizeDpsRequest, resolveValores, structuralIssues } from './dpsNormalization.js';
5
+ const OP_SIMP_NAC = new Set(domainValues(domains.OP_SIMP_NAC));
6
+ const REG_AP_TRIB_SN = new Set(domainValues(domains.REG_AP_TRIB_SN));
7
+ const REG_ESP_TRIB = new Set(domainValues(domains.REG_ESP_TRIB));
8
+ const TRIB_ISSQN = new Set(domainValues(domains.TRIB_ISSQN));
9
+ const TP_IMUNIDADE = new Set(domainValues(domains.TP_IMUNIDADE));
10
+ const TP_RET_ISSQN = new Set(domainValues(domains.TP_RET_ISSQN));
11
+ const C_NAO_NIF = new Set(domainValues(domains.C_NAO_NIF));
12
+ const PIS_COFINS_CST = new Set(domains.PIS_COFINS_CST);
13
+ const TP_RET_PIS_COFINS = new Set(domainValues(domains.TP_RET_PIS_COFINS));
44
14
  export class DpsFiscalValidationError extends Error {
45
15
  report;
46
16
  issues;
@@ -140,7 +110,7 @@ function assertEnum(issues, field, value, allowed) {
140
110
  }
141
111
  }
142
112
  function assertDecimal(issues, field, value) {
143
- if (value === undefined || value === '')
113
+ if (value === undefined)
144
114
  return;
145
115
  if (!/^\d+(?:\.\d+)?$/.test(String(value))) {
146
116
  issue(issues, `${field} deve ser decimal positivo, sem notacao exponencial`);
@@ -214,33 +184,46 @@ function validatePessoa(issues, field, pessoa) {
214
184
  }
215
185
  }
216
186
  }
187
+ function validDate(value) {
188
+ const parts = value.match(/^(20\d{2})-(\d{2})-(\d{2})$/);
189
+ if (!parts)
190
+ return false;
191
+ const parsed = new Date(Date.UTC(Number(parts[1]), Number(parts[2]) - 1, Number(parts[3])));
192
+ return parsed.getUTCFullYear() === Number(parts[1]) && parsed.getUTCMonth() === Number(parts[2]) - 1 && parsed.getUTCDate() === Number(parts[3]);
193
+ }
217
194
  function validateDates(issues, emissao) {
218
- if (emissao.dhEmi !== undefined && !/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?[+-]\d{2}:\d{2}$/.test(emissao.dhEmi)) {
219
- issue(issues, 'emissao.dhEmi deve seguir YYYY-MM-DDThh:mm:ss-03:00');
220
- }
221
- if (emissao.dCompet !== undefined) {
222
- const parts = emissao.dCompet.match(/^(\d{4})-(\d{2})-(\d{2})$/);
223
- const parsed = parts ? new Date(Date.UTC(Number(parts[1]), Number(parts[2]) - 1, Number(parts[3]))) : null;
224
- if (!parts || !parsed || parsed.getUTCFullYear() !== Number(parts[1]) || parsed.getUTCMonth() !== Number(parts[2]) - 1 || parsed.getUTCDate() !== Number(parts[3])) {
225
- issue(issues, 'emissao.dCompet deve ser uma data valida no formato YYYY-MM-DD');
226
- }
195
+ if (emissao.dhEmi !== undefined && (!/^20\d{2}-\d{2}-\d{2}T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:[+-](?:0\d|1[01]):00|\+12:00)$/.test(emissao.dhEmi) ||
196
+ !validDate(emissao.dhEmi.slice(0, 10))))
197
+ issue(issues, 'emissao.dhEmi deve seguir data/hora valida YYYY-MM-DDThh:mm:ss-03:00 conforme XSD 1.01');
198
+ if (emissao.dCompet !== undefined && !validDate(emissao.dCompet)) {
199
+ issue(issues, 'emissao.dCompet deve ser uma data valida no formato YYYY-MM-DD');
227
200
  }
228
201
  }
202
+ function validDecimal(value) {
203
+ return value !== undefined && /^\d+(?:\.\d+)?$/.test(String(value));
204
+ }
205
+ function validateDecimalOutput(issues, path, value, digits = 15, positive = false) {
206
+ assertDecimal(issues, path, value);
207
+ if (!validDecimal(value))
208
+ return;
209
+ const rounded = fixedDecimal(value);
210
+ if (rounded.split('.')[0].length > digits)
211
+ issue(issues, `${path} excede ${digits} digitos inteiros apos arredondamento`);
212
+ if (positive && rounded === '0.00')
213
+ issue(issues, `${path} deve ser maior que zero apos arredondamento`);
214
+ }
229
215
  function validateValores(issues, emissao) {
230
- const vServ = emissao.valores?.vServ ?? emissao.vServ;
231
- const vServMoeda = emissao.valores?.vServMoeda ?? emissao.vServMoeda;
232
- const cotacao = emissao.valores?.cotacao ?? emissao.cotacao;
216
+ const { vServ, vServMoeda, cotacao } = resolveValores(emissao);
233
217
  if (vServ === undefined && (vServMoeda === undefined || cotacao === undefined)) {
234
218
  issue(issues, 'emissao.valores.vServ e obrigatorio, ou informe valores.vServMoeda e valores.cotacao');
235
219
  }
236
- for (const [path, value] of [
237
- ['emissao.valores.vServ', vServ],
238
- ['emissao.valores.vServMoeda', vServMoeda],
239
- ['emissao.valores.cotacao', cotacao],
240
- ]) {
241
- assertDecimal(issues, path, value);
242
- if (value !== undefined && Number.isFinite(Number(value)) && Number(value) <= 0)
243
- issue(issues, `${path} deve ser maior que zero`);
220
+ validateDecimalOutput(issues, 'emissao.valores.vServ', vServ, 15, true);
221
+ validateDecimalOutput(issues, 'emissao.valores.vServMoeda', vServMoeda, 15, true);
222
+ assertDecimal(issues, 'emissao.valores.cotacao', cotacao);
223
+ if (validDecimal(cotacao) && decimalParts(cotacao).integer === 0n)
224
+ issue(issues, 'emissao.valores.cotacao deve ser maior que zero');
225
+ if (vServ === undefined && validDecimal(vServMoeda) && validDecimal(cotacao)) {
226
+ validateDecimalOutput(issues, 'emissao.valores.vServ', mulDecimal(vServMoeda, cotacao), 15, true);
244
227
  }
245
228
  }
246
229
  function validateTribMun(issues, trib, opSimpNac) {
@@ -265,7 +248,7 @@ function validateTribMun(issues, trib, opSimpNac) {
265
248
  if (opSimpNac === '1' && trib.pAliq !== undefined) {
266
249
  issue(issues, 'emissao.tributacaoMunicipal.pAliq nao deve ser informado quando prestador.opSimpNac = 1');
267
250
  }
268
- assertDecimal(issues, 'emissao.tributacaoMunicipal.pAliq', trib.pAliq);
251
+ validateDecimalOutput(issues, 'emissao.tributacaoMunicipal.pAliq', trib.pAliq, 1);
269
252
  if (trib.pAliq !== undefined && Number.isFinite(Number(trib.pAliq)) && Number(trib.pAliq) > 9.99) {
270
253
  issue(issues, 'emissao.tributacaoMunicipal.pAliq deve ser <= 9.99 (TSDec1V2: um digito inteiro, duas casas decimais)');
271
254
  }
@@ -306,13 +289,13 @@ function validateTotTrib(issues, emissao, opSimpNac) {
306
289
  if (opSimpNac === '3' && (!hasPTotTribSN || hasVTotTrib || hasPTotTrib || hasIndTotTrib)) {
307
290
  issue(issues, 'emissao.totTrib para ME/EPP exige somente pTotTribSN');
308
291
  }
309
- assertDecimal(issues, 'emissao.totTrib.vTotTribFed', tot.vTotTribFed);
310
- assertDecimal(issues, 'emissao.totTrib.vTotTribEst', tot.vTotTribEst);
311
- assertDecimal(issues, 'emissao.totTrib.vTotTribMun', tot.vTotTribMun);
312
- assertDecimal(issues, 'emissao.totTrib.pTotTribFed', tot.pTotTribFed);
313
- assertDecimal(issues, 'emissao.totTrib.pTotTribEst', tot.pTotTribEst);
314
- assertDecimal(issues, 'emissao.totTrib.pTotTribMun', tot.pTotTribMun);
315
- assertDecimal(issues, 'emissao.totTrib.pTotTribSN', tot.pTotTribSN);
292
+ validateDecimalOutput(issues, 'emissao.totTrib.vTotTribFed', tot.vTotTribFed, 15);
293
+ validateDecimalOutput(issues, 'emissao.totTrib.vTotTribEst', tot.vTotTribEst, 15);
294
+ validateDecimalOutput(issues, 'emissao.totTrib.vTotTribMun', tot.vTotTribMun, 15);
295
+ validateDecimalOutput(issues, 'emissao.totTrib.pTotTribFed', tot.pTotTribFed, 3);
296
+ validateDecimalOutput(issues, 'emissao.totTrib.pTotTribEst', tot.pTotTribEst, 3);
297
+ validateDecimalOutput(issues, 'emissao.totTrib.pTotTribMun', tot.pTotTribMun, 3);
298
+ validateDecimalOutput(issues, 'emissao.totTrib.pTotTribSN', tot.pTotTribSN, 2);
316
299
  }
317
300
  function validateUnsupportedShapes(issues, emissao) {
318
301
  if (emissao.tribNac) {
@@ -321,7 +304,7 @@ function validateUnsupportedShapes(issues, emissao) {
321
304
  if (emissao.evento) {
322
305
  issue(issues, 'emissao.evento ainda nao e suportado; o layout v1.01 exige xNome, dtIni, dtFim e id/endereco');
323
306
  }
324
- if (emissao.obra?.cCM) {
307
+ if (emissao.obra?.cCM !== undefined) {
325
308
  issue(issues, 'emissao.obra.cCM nao existe no layout v1.01; use cObra/inscImobFisc ou aguarde suporte a cCIB/endereco');
326
309
  }
327
310
  if (emissao.valores?.vDesc !== undefined || emissao.valores?.vDedRed !== undefined) {
@@ -332,15 +315,31 @@ function validateComercioExterior(issues, emissao) {
332
315
  const comExt = emissao.comercioExterior ?? emissao.comExt;
333
316
  if (!comExt)
334
317
  return;
335
- for (const field of ['mdPrestacao', 'vincPrest', 'tpMoeda', 'mecAFComexP', 'mecAFComexT', 'movTempBens', 'mdic']) {
336
- if (!comExt[field])
337
- issue(issues, `emissao.comercioExterior.${field} e obrigatorio quando comercioExterior for informado`);
318
+ const comExtDomains = {
319
+ mdPrestacao: domains.MD_PRESTACAO,
320
+ vincPrest: domains.VINC_PREST,
321
+ mecAFComexP: domains.MEC_AF_COMEX_P,
322
+ mecAFComexT: domains.MEC_AF_COMEX_T,
323
+ movTempBens: domains.MOV_TEMP_BENS,
324
+ mdic: domains.MDIC,
325
+ };
326
+ for (const field of Object.keys(comExtDomains)) {
327
+ assertEnum(issues, `emissao.comercioExterior.${field}`, comExt[field], new Set(domainValues(comExtDomains[field])));
328
+ }
329
+ assertPattern(issues, 'emissao.comercioExterior.tpMoeda', comExt.tpMoeda, /^\d{3}$/, '3 digitos numericos');
330
+ validateDecimalOutput(issues, 'emissao.comercioExterior.vServMoeda', comExt.vServMoeda ?? resolveValores(emissao).vServMoeda, 15, true);
331
+ }
332
+ function validateObra(issues, emissao) {
333
+ if (!emissao.obra)
334
+ return;
335
+ assertPattern(issues, 'emissao.obra.cObra', emissao.obra.cObra, /^[\s\S]{1,30}$/, '1 a 30 caracteres');
336
+ if (emissao.obra.inscImobFisc !== undefined) {
337
+ assertPattern(issues, 'emissao.obra.inscImobFisc', emissao.obra.inscImobFisc, /^[\s\S]{1,30}$/, '1 a 30 caracteres');
338
338
  }
339
- assertDecimal(issues, 'emissao.comercioExterior.vServMoeda', comExt.vServMoeda ?? emissao.valores?.vServMoeda ?? emissao.vServMoeda);
340
339
  }
341
340
  function validateOperationMatrix(issues, emissao) {
342
341
  const isExport = Boolean(emissao.comercioExterior ?? emissao.comExt);
343
- const valores = emissao.valores ?? emissao;
342
+ const valores = resolveValores(emissao);
344
343
  const tomador = emissao.tomador;
345
344
  const end = tomador?.end;
346
345
  if (!isExport) {
@@ -360,15 +359,22 @@ function validateOperationMatrix(issues, emissao) {
360
359
  }
361
360
  }
362
361
  function validateTribFed(issues, emissao) {
363
- const piscofins = emissao.tributacaoFederal?.piscofins;
362
+ const trib = emissao.tributacaoFederal;
363
+ for (const key of ['vRetCP', 'vRetIRRF', 'vRetCSLL']) {
364
+ validateDecimalOutput(issues, `emissao.tributacaoFederal.${key}`, trib?.[key]);
365
+ }
366
+ const piscofins = trib?.piscofins;
364
367
  if (!piscofins)
365
368
  return;
369
+ if (piscofins.tpRetPisCofins !== undefined) {
370
+ assertEnum(issues, 'emissao.tributacaoFederal.piscofins.tpRetPisCofins', piscofins.tpRetPisCofins, TP_RET_PIS_COFINS);
371
+ }
366
372
  assertEnum(issues, 'emissao.tributacaoFederal.piscofins.CST', piscofins.CST, PIS_COFINS_CST);
367
- assertDecimal(issues, 'emissao.tributacaoFederal.piscofins.vBCPisCofins', piscofins.vBCPisCofins);
368
- assertDecimal(issues, 'emissao.tributacaoFederal.piscofins.pAliqPis', piscofins.pAliqPis);
369
- assertDecimal(issues, 'emissao.tributacaoFederal.piscofins.pAliqCofins', piscofins.pAliqCofins);
370
- assertDecimal(issues, 'emissao.tributacaoFederal.piscofins.vPis', piscofins.vPis);
371
- assertDecimal(issues, 'emissao.tributacaoFederal.piscofins.vCofins', piscofins.vCofins);
373
+ validateDecimalOutput(issues, 'emissao.tributacaoFederal.piscofins.vBCPisCofins', piscofins.vBCPisCofins, 15);
374
+ validateDecimalOutput(issues, 'emissao.tributacaoFederal.piscofins.pAliqPis', piscofins.pAliqPis, 2);
375
+ validateDecimalOutput(issues, 'emissao.tributacaoFederal.piscofins.pAliqCofins', piscofins.pAliqCofins, 2);
376
+ validateDecimalOutput(issues, 'emissao.tributacaoFederal.piscofins.vPis', piscofins.vPis, 15);
377
+ validateDecimalOutput(issues, 'emissao.tributacaoFederal.piscofins.vCofins', piscofins.vCofins, 15);
372
378
  }
373
379
  function collectDpsValidationIssues(request) {
374
380
  const issues = [];
@@ -385,6 +391,11 @@ function collectDpsValidationIssues(request) {
385
391
  validateValores(issues, request.emissao);
386
392
  validatePessoa(issues, 'emissao.tomador', request.emissao.tomador);
387
393
  validatePessoa(issues, 'emissao.intermediario', request.emissao.intermediario);
394
+ const intermediary = request.emissao.intermediario;
395
+ if (intermediary?.NIF !== undefined || intermediary?.cNaoNIF !== undefined) {
396
+ issue(issues, 'emissao.intermediario exige CPF/CNPJ; identificacao estrangeira nao e suportada');
397
+ }
398
+ validateObra(issues, request.emissao);
388
399
  validateTribMun(issues, request.emissao.tributacaoMunicipal, request.prestador.opSimpNac);
389
400
  validateTribFed(issues, request.emissao);
390
401
  validateTotTrib(issues, request.emissao, request.prestador.opSimpNac);
@@ -393,15 +404,35 @@ function collectDpsValidationIssues(request) {
393
404
  validateUnsupportedShapes(issues, request.emissao);
394
405
  return issues;
395
406
  }
396
- /** Canonical non-throwing validation API shared by clients, APIs and workers. */
407
+ function currencyWarnings(emissao) {
408
+ const warnings = [];
409
+ const { vServ, vServMoeda, cotacao } = resolveValores(emissao);
410
+ const comExt = emissao.comercioExterior ?? emissao.comExt;
411
+ const warn = (code, path, message) => warnings.push({ code, path, message, severity: 'warning', source: 'sdk' });
412
+ if (validDecimal(vServ) && validDecimal(vServMoeda) && validDecimal(cotacao) && fixedDecimal(vServ) !== mulDecimal(vServMoeda, cotacao)) {
413
+ warn('CURRENCY_BRL_MISMATCH', 'valores.vServ', 'vServ difere de vServMoeda × cotacao; o valor em reais informado sera preservado.');
414
+ }
415
+ if (validDecimal(comExt?.vServMoeda) && validDecimal(vServMoeda) && fixedDecimal(comExt.vServMoeda) !== fixedDecimal(vServMoeda)) {
416
+ warn('CURRENCY_FOREIGN_MISMATCH', 'comercioExterior.vServMoeda', 'O valor estrangeiro do comercio exterior difere do valor da conversao; ambos serao preservados.');
417
+ }
418
+ return warnings;
419
+ }
397
420
  export function validateDpsJsonRequest(request) {
398
- const issues = collectDpsValidationIssues(request).map(validationIssueFromMessage);
421
+ const structural = structuralIssues(request).map(({ path, message }) => ({
422
+ code: 'INVALID_STRUCTURE', path, message, severity: 'error', source: 'sdk',
423
+ }));
424
+ if (structural.length)
425
+ return {
426
+ valid: false, schemaVersion: DPS_SCHEMA_VERSION, issues: structural, warnings: [], normalizedPayload: clonePayload(request),
427
+ };
428
+ const normalizedPayload = normalizeDpsRequest(request);
429
+ const issues = collectDpsValidationIssues(normalizedPayload).map(validationIssueFromMessage);
399
430
  return {
400
431
  valid: issues.length === 0,
401
432
  schemaVersion: DPS_SCHEMA_VERSION,
402
433
  issues,
403
- warnings: [],
404
- normalizedPayload: request,
434
+ warnings: currencyWarnings(normalizedPayload.emissao),
435
+ normalizedPayload,
405
436
  };
406
437
  }
407
438
  /** Assertion used by builders that cannot produce output from an invalid request. */
@@ -1 +1 @@
1
- {"version":3,"file":"fiscalValidation.js","sourceRoot":"","sources":["../fiscalValidation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fiscalValidation.js","sourceRoot":"","sources":["../fiscalValidation.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -6,19 +6,24 @@
6
6
  */
7
7
  export { SEFIN_BASE_URL, TP_AMB, DEFAULT_AMBIENTE, resolveSefinBaseUrl } from './config.js';
8
8
  export type { Ambiente } from './config.js';
9
- export { consultarNfse, createSefinLatencyTracker, enviarEvento, extrairErros, getSefinRequestObserver, isSefinLatencyMetricsEnabled, SEFIN_LATENCY_METRICS_ENV, setSefinRequestObserver, } from './sefinClient.js';
9
+ export { ChaveAcessoInvalidaError, consultarNfse, createSefinLatencyTracker, enviarEvento, extrairErros, getSefinRequestObserver, isSefinLatencyMetricsEnabled, SEFIN_LATENCY_METRICS_ENV, setSefinRequestObserver, } from './sefinClient.js';
10
10
  export type { SefinErro, SefinLatencySeriesSnapshot, SefinLatencySnapshot, SefinLatencyTracker, SefinLatencyTrackerOptions, SefinOperation, SefinRequestMetric, SefinRequestObserver, SefinResposta, } from './sefinClient.js';
11
11
  export { buildDpsFromJson, buildDpsId } from './dpsJson.js';
12
12
  export type { BuiltDps, ComExt, DpsJsonInput, DpsJsonRequest, EventoServico, Intermediario, Obra, PrestadorProfile, ServicoProfile, Tomador, TotTrib, TribFed, TribMun, TribNac, Valores, } from './dpsJson.js';
13
+ export { DPS_JSON_REQUEST_SCHEMA } from './dpsJsonSchema.js';
14
+ export type { JsonSchema } from './dpsJsonSchema.js';
13
15
  export { DPS_SCHEMA_VERSION, DpsFiscalValidationError, assertValidDpsJsonRequest, validateDpsJsonRequest, validationIssueFromMessage, } from './fiscalValidation.js';
14
16
  export type { DpsValidationIssue, DpsValidationReport, ValidationSeverity, ValidationSource, } from './fiscalValidation.js';
15
17
  export { EmitirNotaError, emitirNfse, prepararNota, transmitirNotaPreparada } from './emissaoNota.js';
16
18
  export type { EmitirNotaOptions, NotaInput, NotaPreparada, ResultadoEmissaoNota } from './emissaoNota.js';
17
19
  export { NfseClient } from './client.js';
18
- export type { CreateInvoiceInput, InvoiceResource, NfseCertificateInput, NfseClientDpsDefaults, NfseClientOptions, NfseEnvironment, } from './client.js';
20
+ export type { CreateInvoiceInput, GetInvoiceOptions, InvoiceResource, NfseCertificateInput, NfseClientDpsDefaults, NfseClientOptions, NfseEnvironment, } from './client.js';
19
21
  export { gzipBase64, gunzipBase64 } from './gzipB64.js';
20
22
  export { signDps, signEnveloped, verifyDps, withUtf8XmlDeclaration } from './signXml.js';
21
- export { DpsXsdValidationError, XmllintUnavailableError, validateDpsXmlAgainstXsd } from './xsdValidation.js';
23
+ export { DpsXsdValidationError, XmllintUnavailableError, XsdEngineUnavailableError, validateDpsXmlAgainstXsd } from './xsdValidation.js';
22
24
  export { loadPfxFromBuffer, loadPfx } from './loadPfx.js';
23
25
  export type { PfxMaterial } from './loadPfx.js';
24
- export { assertCertificateForProvider, CertificateValidationError } from './certificateValidation.js';
26
+ export { assertCertificateValidity, assertCertificateForProvider, CertificateValidationError } from './certificateValidation.js';
27
+ export type { CertificateValidationCode } from './certificateValidation.js';
28
+ export { NfseCertificate, NFSE_CERT_ENV } from './certificate.js';
29
+ export type { CertificateInput, NfseCertificateFromPemInput, NfseCertificateInfo } from './certificate.js';
package/dist/index.js CHANGED
@@ -5,14 +5,16 @@
5
5
  * No database, no tenants, no business rules.
6
6
  */
7
7
  export { SEFIN_BASE_URL, TP_AMB, DEFAULT_AMBIENTE, resolveSefinBaseUrl } from './config.js';
8
- export { consultarNfse, createSefinLatencyTracker, enviarEvento, extrairErros, getSefinRequestObserver, isSefinLatencyMetricsEnabled, SEFIN_LATENCY_METRICS_ENV, setSefinRequestObserver, } from './sefinClient.js';
8
+ export { ChaveAcessoInvalidaError, consultarNfse, createSefinLatencyTracker, enviarEvento, extrairErros, getSefinRequestObserver, isSefinLatencyMetricsEnabled, SEFIN_LATENCY_METRICS_ENV, setSefinRequestObserver, } from './sefinClient.js';
9
9
  export { buildDpsFromJson, buildDpsId } from './dpsJson.js';
10
+ export { DPS_JSON_REQUEST_SCHEMA } from './dpsJsonSchema.js';
10
11
  export { DPS_SCHEMA_VERSION, DpsFiscalValidationError, assertValidDpsJsonRequest, validateDpsJsonRequest, validationIssueFromMessage, } from './fiscalValidation.js';
11
12
  export { EmitirNotaError, emitirNfse, prepararNota, transmitirNotaPreparada } from './emissaoNota.js';
12
13
  export { NfseClient } from './client.js';
13
14
  export { gzipBase64, gunzipBase64 } from './gzipB64.js';
14
15
  export { signDps, signEnveloped, verifyDps, withUtf8XmlDeclaration } from './signXml.js';
15
- export { DpsXsdValidationError, XmllintUnavailableError, validateDpsXmlAgainstXsd } from './xsdValidation.js';
16
+ export { DpsXsdValidationError, XmllintUnavailableError, XsdEngineUnavailableError, validateDpsXmlAgainstXsd } from './xsdValidation.js';
16
17
  export { loadPfxFromBuffer, loadPfx } from './loadPfx.js';
17
- export { assertCertificateForProvider, CertificateValidationError } from './certificateValidation.js';
18
+ export { assertCertificateValidity, assertCertificateForProvider, CertificateValidationError } from './certificateValidation.js';
19
+ export { NfseCertificate, NFSE_CERT_ENV } from './certificate.js';
18
20
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAG5F,OAAO,EACL,aAAa,EACb,yBAAyB,EACzB,YAAY,EACZ,YAAY,EACZ,uBAAuB,EACvB,4BAA4B,EAC5B,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAa1B,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAmB5D,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAQ/B,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAGtG,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAUzC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAEzF,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAE9G,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAG1D,OAAO,EAAE,4BAA4B,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAG5F,OAAO,EACL,wBAAwB,EACxB,aAAa,EACb,yBAAyB,EACzB,YAAY,EACZ,YAAY,EACZ,uBAAuB,EACvB,4BAA4B,EAC5B,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAa1B,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAmB5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAG7D,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAQ/B,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAGtG,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAWzC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAEzF,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAEzI,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAG1D,OAAO,EAAE,yBAAyB,EAAE,4BAA4B,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAGjI,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { JsonSchema } from './dpsJsonSchema.js';
2
+ export interface JsonSchemaViolation {
3
+ /** Dotted path from the root, without a leading `$`; `$` for the root itself. */
4
+ path: string;
5
+ keyword: string;
6
+ message: string;
7
+ }
8
+ /**
9
+ * Minimal validator for the keyword subset used by `DPS_JSON_REQUEST_SCHEMA`.
10
+ * It throws on any other keyword so the published schema stays portable.
11
+ */
12
+ export declare function checkJsonSchema(schema: JsonSchema, value: unknown, path?: string): JsonSchemaViolation[];
@@ -0,0 +1,70 @@
1
+ const ANNOTATIONS = new Set(['$schema', 'title', 'description']);
2
+ const ASSERTIONS = new Set([
3
+ 'type', 'properties', 'required', 'additionalProperties', 'items', 'enum', 'pattern', 'minLength', 'maxLength', 'exclusiveMinimum',
4
+ ]);
5
+ function typeOf(value) {
6
+ if (value === null)
7
+ return 'null';
8
+ if (Array.isArray(value))
9
+ return 'array';
10
+ return typeof value;
11
+ }
12
+ /**
13
+ * Minimal validator for the keyword subset used by `DPS_JSON_REQUEST_SCHEMA`.
14
+ * It throws on any other keyword so the published schema stays portable.
15
+ */
16
+ export function checkJsonSchema(schema, value, path = '$') {
17
+ for (const keyword of Object.keys(schema)) {
18
+ if (!ANNOTATIONS.has(keyword) && !ASSERTIONS.has(keyword)) {
19
+ throw new Error(`Unsupported JSON Schema keyword at ${path}: ${keyword}`);
20
+ }
21
+ }
22
+ const violations = [];
23
+ const fail = (keyword, message, at = path) => violations.push({ path: at, keyword, message: `${at} ${message}` });
24
+ const child = (key) => (path === '$' ? key : `${path}.${key}`);
25
+ const expected = schema.type;
26
+ if (expected) {
27
+ const actual = typeOf(value);
28
+ const matches = expected === 'number' ? actual === 'number' && Number.isFinite(value) : actual === expected;
29
+ if (!matches) {
30
+ fail('type', `deve ser ${expected}`);
31
+ return violations;
32
+ }
33
+ }
34
+ if (schema.enum && !schema.enum.includes(value)) {
35
+ fail('enum', `deve ser um de: ${schema.enum.join(', ')}`);
36
+ }
37
+ if (typeof value === 'string') {
38
+ if (schema.pattern && !new RegExp(schema.pattern, 'u').test(value))
39
+ fail('pattern', `deve seguir ${schema.pattern}`);
40
+ if (schema.minLength !== undefined && [...value].length < schema.minLength)
41
+ fail('minLength', `deve ter ao menos ${schema.minLength} caractere(s)`);
42
+ if (schema.maxLength !== undefined && [...value].length > schema.maxLength)
43
+ fail('maxLength', `deve ter no maximo ${schema.maxLength} caracteres`);
44
+ }
45
+ if (typeof value === 'number' && schema.exclusiveMinimum !== undefined && !(value > schema.exclusiveMinimum)) {
46
+ fail('exclusiveMinimum', `deve ser maior que ${schema.exclusiveMinimum}`);
47
+ }
48
+ if (expected === 'array' && schema.items) {
49
+ value.forEach((item, index) => violations.push(...checkJsonSchema(schema.items, item, `${path}[${index}]`)));
50
+ }
51
+ if (expected === 'object') {
52
+ const record = value;
53
+ const properties = (schema.properties ?? {});
54
+ for (const key of (schema.required ?? [])) {
55
+ if (record[key] === undefined)
56
+ fail('required', 'e obrigatorio', child(key));
57
+ }
58
+ for (const [key, item] of Object.entries(record)) {
59
+ if (item === undefined)
60
+ continue;
61
+ const propertySchema = properties[key];
62
+ if (propertySchema)
63
+ violations.push(...checkJsonSchema(propertySchema, item, child(key)));
64
+ else if (schema.additionalProperties === false)
65
+ fail('additionalProperties', 'nao e um campo suportado', child(key));
66
+ }
67
+ }
68
+ return violations;
69
+ }
70
+ //# sourceMappingURL=jsonSchemaCheck.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonSchemaCheck.js","sourceRoot":"","sources":["../jsonSchemaCheck.ts"],"names":[],"mappings":"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"}
package/dist/loadPfx.d.ts CHANGED
@@ -16,3 +16,5 @@ export interface PfxMaterial {
16
16
  /** Load from an in-memory buffer (used for decrypted certs in multi-tenant flow). */
17
17
  export declare function loadPfxFromBuffer(pfxBuffer: Buffer, password: string): PfxMaterial;
18
18
  export declare function loadPfx(pfxPath: string, password: string): PfxMaterial;
19
+ /** @internal Shared PKCS#12 parser; prefer `NfseCertificate.fromPfx` in application code. */
20
+ export declare function parsePfx(pfxBuffer: Buffer, password: string): PfxMaterial;
package/dist/loadPfx.js CHANGED
@@ -13,7 +13,8 @@ export function loadPfx(pfxPath, password) {
13
13
  const pfxBuffer = readFileSync(pfxPath);
14
14
  return parsePfx(pfxBuffer, password);
15
15
  }
16
- function parsePfx(pfxBuffer, password) {
16
+ /** @internal Shared PKCS#12 parser; prefer `NfseCertificate.fromPfx` in application code. */
17
+ export function parsePfx(pfxBuffer, password) {
17
18
  const p12Der = forge.util.createBuffer(pfxBuffer.toString('binary'));
18
19
  const p12Asn1 = forge.asn1.fromDer(p12Der);
19
20
  const p12 = forge.pkcs12.pkcs12FromAsn1(p12Asn1, password);
@@ -1 +1 @@
1
- {"version":3,"file":"loadPfx.js","sourceRoot":"","sources":["../loadPfx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,MAAM,YAAY,CAAC;AAa/B;;;;GAIG;AACH,qFAAqF;AACrF,MAAM,UAAU,iBAAiB,CAAC,SAAiB,EAAE,QAAgB;IACnE,OAAO,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,OAAe,EAAE,QAAgB;IACvD,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACxC,OAAO,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,QAAQ,CAAC,SAAiB,EAAE,QAAgB;IACnD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IACrE,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAE3D,gBAAgB;IAChB,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC7E,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAChE,IAAI,CAAC,MAAM,EAAE,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7F,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAE5D,sEAAsE;IACtE,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAClE,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACrD,MAAM,IAAI,GAAG,CAAC,CAAmB,EAAW,EAAE;QAC5C,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,YAAY,CAAC,kBAAkB,CAAiC,CAAC;QACrF,OAAO,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC;IAC1B,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;IACjE,IAAI,CAAC,MAAM,EAAE,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IAEpF,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACtF,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAEnD,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC;AAC9D,CAAC"}
1
+ {"version":3,"file":"loadPfx.js","sourceRoot":"","sources":["../loadPfx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,MAAM,YAAY,CAAC;AAa/B;;;;GAIG;AACH,qFAAqF;AACrF,MAAM,UAAU,iBAAiB,CAAC,SAAiB,EAAE,QAAgB;IACnE,OAAO,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,OAAe,EAAE,QAAgB;IACvD,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACxC,OAAO,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AACvC,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,QAAQ,CAAC,SAAiB,EAAE,QAAgB;IAC1D,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IACrE,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAE3D,gBAAgB;IAChB,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC7E,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAChE,IAAI,CAAC,MAAM,EAAE,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7F,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAE5D,sEAAsE;IACtE,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAClE,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACrD,MAAM,IAAI,GAAG,CAAC,CAAmB,EAAW,EAAE;QAC5C,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,YAAY,CAAC,kBAAkB,CAAiC,CAAC;QACrF,OAAO,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC;IAC1B,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;IACjE,IAAI,CAAC,MAAM,EAAE,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IAEpF,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACtF,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAEnD,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC;AAC9D,CAAC"}
@@ -1,6 +1,12 @@
1
- import type { PfxMaterial } from './loadPfx.js';
1
+ import { type CertificateInput } from './certificate.js';
2
2
  import type { Ambiente } from './config.js';
3
3
  export declare const SEFIN_LATENCY_METRICS_ENV = "NFSE_SEFIN_LATENCY_METRICS";
4
+ /** The access key is not 50 digits; raised before any network I/O so it never reaches the URL path. */
5
+ export declare class ChaveAcessoInvalidaError extends Error {
6
+ readonly chaveAcesso: string;
7
+ readonly code = "CHAVE_ACESSO_INVALID_FORMAT";
8
+ constructor(chaveAcesso: string);
9
+ }
4
10
  export interface SefinErro {
5
11
  Codigo: string;
6
12
  Descricao: string;
@@ -63,8 +69,8 @@ export declare function createSefinLatencyTracker(options?: SefinLatencyTrackerO
63
69
  /** Normaliza a lista de erros retornada pelo SEFIN em diferentes formatos. */
64
70
  export declare function extrairErros(body: any): SefinErro[];
65
71
  /** SefinNacional · POST /nfse — transporte baixo nivel de DPS ja compactada em GZip+Base64. */
66
- export declare function transmitirDpsCompactada(dpsXmlGZipB64: string, pfx: PfxMaterial, ambiente?: Ambiente): Promise<SefinResposta>;
72
+ export declare function transmitirDpsCompactada(dpsXmlGZipB64: string, pfx: CertificateInput, ambiente?: Ambiente): Promise<SefinResposta>;
67
73
  /** SefinNacional · GET /nfse/{chave} — consulta a NFS-e pela chave de acesso (50 dígitos). */
68
- export declare function consultarNfse(chave: string, pfx: PfxMaterial, ambiente?: Ambiente): Promise<SefinResposta>;
74
+ export declare function consultarNfse(chave: string, pfx: CertificateInput, ambiente?: Ambiente): Promise<SefinResposta>;
69
75
  /** SefinNacional · POST /nfse/{chave}/eventos — registra evento fiscal da NFS-e. */
70
- export declare function enviarEvento(pedRegXmlGZipB64: string, pfx: PfxMaterial, chaveAcesso: string, ambiente?: Ambiente): Promise<SefinResposta>;
76
+ export declare function enviarEvento(pedRegXmlGZipB64: string, pfx: CertificateInput, chaveAcesso: string, ambiente?: Ambiente): Promise<SefinResposta>;