{"_id":"@autohubs/lib-cte","_rev":"6-86db2d2dd9907a7b06692652c74948ef","name":"@autohubs/lib-cte","dist-tags":{"latest":"0.3.2"},"versions":{"0.2.0":{"name":"@autohubs/lib-cte","version":"0.2.0","keywords":["cte","conhecimento-transporte","sefaz","fiscal","brasil","typescript"],"author":{"url":"https://raphaelvserafim.com/","name":"Raphael Serafim"},"license":"MIT","_id":"@autohubs/lib-cte@0.2.0","maintainers":[{"name":"autohubs","email":"autohubs.app@gmail.com"}],"homepage":"https://github.com/MaxTecnology/cte#readme","bugs":{"url":"https://github.com/MaxTecnology/cte/issues"},"dist":{"shasum":"43a2a1a961bdf1086c8eab22e411d5fd03a9ceb7","tarball":"https://registry.npmjs.org/@autohubs/lib-cte/-/lib-cte-0.2.0.tgz","fileCount":107,"integrity":"sha512-RBPFY3Y5MpJ0BHyRxf/d5uXVgeVwRCURzOrFtmGkeB2x6Kag8FSSXinV/wwAUeJntASo+gNQvRse9CxxcGfEXg==","signatures":[{"sig":"MEYCIQCTQBKCRMVde9ATCbBHm77940BQNbayYxzm3oxxd673HAIhANxYIKfoqKWlO0JLBAQh3H3BPlZduivMX/P/jP8H9VJx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":122618},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"b8a36bfe5020339acef0a80f681c66324e80953f","scripts":{"lint":"eslint .","test":"tsx --test 'tests/**/*.spec.ts'","build":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json","format":"prettier --write .","publish:all":"npm run publish:npm && npm run publish:github","publish:npm":"npm publish --access public --registry=https://registry.npmjs.org","prepublishOnly":"npm run build","publish:github":"npm publish --registry=https://npm.pkg.github.com"},"_npmUser":{"name":"autohubs","email":"autohubs.app@gmail.com"},"repository":{"url":"git+https://github.com/MaxTecnology/cte.git","type":"git"},"_npmVersion":"10.9.4","description":"Fork de @brasil-fiscal/cte com use cases de consulta (status do servico, consulta por chave, desacordo, distribuicao de DF-e por NSU) para CTe (Conhecimento de Transporte Eletronico) em TypeScript.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"@brasil-fiscal/core":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","eslint":"^10.2.1","prettier":"^3.8.3","tsc-alias":"^1.8.16","typescript":"^6.0.3","@types/node":"^25.6.0","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.58.2","@typescript-eslint/eslint-plugin":"^8.58.2"},"_npmOperationalInternal":{"tmp":"tmp/lib-cte_0.2.0_1788046746272_0.41798779344751313","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@autohubs/lib-cte","version":"0.2.1","keywords":["cte","conhecimento-transporte","sefaz","fiscal","brasil","typescript"],"author":{"url":"https://raphaelvserafim.com/","name":"Raphael Serafim"},"license":"MIT","_id":"@autohubs/lib-cte@0.2.1","maintainers":[{"name":"autohubs","email":"autohubs.app@gmail.com"}],"homepage":"https://github.com/MaxTecnology/lib-cte#readme","bugs":{"url":"https://github.com/MaxTecnology/lib-cte/issues"},"dist":{"shasum":"5ceddf8058b15553034439990d2f2fe6adde0fbc","tarball":"https://registry.npmjs.org/@autohubs/lib-cte/-/lib-cte-0.2.1.tgz","fileCount":107,"integrity":"sha512-A4iIWnLp5qCjraeESZI9DrLLPVGQs6v1v6o69EHb5e0a43BbuOz0hm/AldoLxJtgivoPoLTJQ2SoqnWj38UvJw==","signatures":[{"sig":"MEQCIGY9A4QoFXXZr+42GjFal08UHsKkxanvzUukEMYt0nvFAiAnMWnW9plgl4KInBuhNYBH0X/5bOrkwWfNiKZdxgbyKQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":122622},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"fa7be8ad976b93a684193b57b443abdaae91a31a","scripts":{"lint":"eslint .","test":"tsx --test 'tests/**/*.spec.ts'","build":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json","format":"prettier --write .","publish:all":"npm run publish:npm && npm run publish:github","publish:npm":"npm publish --access public --registry=https://registry.npmjs.org","prepublishOnly":"npm run build","publish:github":"npm publish --registry=https://npm.pkg.github.com"},"_npmUser":{"name":"autohubs","email":"autohubs.app@gmail.com"},"repository":{"url":"git+https://github.com/MaxTecnology/lib-cte.git","type":"git"},"_npmVersion":"10.9.4","description":"Fork de @brasil-fiscal/cte com use cases de consulta (status do servico, consulta por chave, desacordo, distribuicao de DF-e por NSU) para CTe (Conhecimento de Transporte Eletronico) em TypeScript.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"@brasil-fiscal/core":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","eslint":"^10.2.1","prettier":"^3.8.3","tsc-alias":"^1.8.16","typescript":"^6.0.3","@types/node":"^25.6.0","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.58.2","@typescript-eslint/eslint-plugin":"^8.58.2"},"_npmOperationalInternal":{"tmp":"tmp/lib-cte_0.2.1_1788049699529_0.6166134384724311","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@autohubs/lib-cte","version":"0.2.2","keywords":["cte","conhecimento-transporte","sefaz","fiscal","brasil","typescript"],"author":{"url":"https://raphaelvserafim.com/","name":"Raphael Serafim"},"license":"MIT","_id":"@autohubs/lib-cte@0.2.2","maintainers":[{"name":"autohubs","email":"autohubs.app@gmail.com"}],"homepage":"https://github.com/MaxTecnology/lib-cte#readme","bugs":{"url":"https://github.com/MaxTecnology/lib-cte/issues"},"dist":{"shasum":"cd0a4cd4f78c9f3a77e2fa75c27efbb9739d9dfd","tarball":"https://registry.npmjs.org/@autohubs/lib-cte/-/lib-cte-0.2.2.tgz","fileCount":107,"integrity":"sha512-PLXDNQ0P2HhvveyLyZ3NhdJY8fqrYnnJrmERIkQ3ZXFK9sChhHP2MabClVgb3NGGvD5RjM2+4m/DrTQH1J52SQ==","signatures":[{"sig":"MEQCICppvX2vLKd/0XWyHuBHX5QQjW/IdWpMstw+yd1cIjm6AiBJyfl24uI0ov+HUtoQQ0JHj3XPsIv5LXjnwfPHafzd2Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":122942},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"e39fb29fe882b862d73dff779dea0bef73ade369","scripts":{"lint":"eslint .","test":"tsx --test 'tests/**/*.spec.ts'","build":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json","format":"prettier --write .","publish:all":"npm run publish:npm && npm run publish:github","publish:npm":"npm publish --access public --registry=https://registry.npmjs.org","prepublishOnly":"npm run build","publish:github":"npm publish --registry=https://npm.pkg.github.com"},"_npmUser":{"name":"autohubs","email":"autohubs.app@gmail.com"},"repository":{"url":"git+https://github.com/MaxTecnology/lib-cte.git","type":"git"},"_npmVersion":"10.9.4","description":"Fork de @brasil-fiscal/cte com use cases de consulta (status do servico, consulta por chave, desacordo, distribuicao de DF-e por NSU) para CTe (Conhecimento de Transporte Eletronico) em TypeScript.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"@brasil-fiscal/core":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","eslint":"^10.2.1","prettier":"^3.8.3","tsc-alias":"^1.8.16","typescript":"^6.0.3","@types/node":"^25.6.0","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.58.2","@typescript-eslint/eslint-plugin":"^8.58.2"},"_npmOperationalInternal":{"tmp":"tmp/lib-cte_0.2.2_1788053689773_0.5413694111030445","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@autohubs/lib-cte","version":"0.3.0","keywords":["cte","conhecimento-transporte","sefaz","fiscal","brasil","typescript"],"author":{"url":"https://raphaelvserafim.com/","name":"Raphael Serafim"},"license":"MIT","_id":"@autohubs/lib-cte@0.3.0","maintainers":[{"name":"autohubs","email":"autohubs.app@gmail.com"}],"homepage":"https://github.com/MaxTecnology/lib-cte#readme","bugs":{"url":"https://github.com/MaxTecnology/lib-cte/issues"},"dist":{"shasum":"893e5cb5dd772b81ea28312fcb872a6ae71181a9","tarball":"https://registry.npmjs.org/@autohubs/lib-cte/-/lib-cte-0.3.0.tgz","fileCount":123,"integrity":"sha512-ARpzjLt03BC/YY5qKOwBNp6CqGq7ORUrHLOUmrj9xiYyym81nfN2KbBQD3n9YrzV6WyZRZblTmbglIi/HxszUQ==","signatures":[{"sig":"MEUCIGhhuNzXjCkKfdr7ND4z8XQk8uWKYxYtSE72xXmrMvdLAiEAkzsAgbvGG5nIsc1I0O5mDepvzcU+EbnnVEmjpK/dt8Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":229809},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"9e3b13c952283f5cb3991aa4ffa8c9623fb6c217","scripts":{"lint":"eslint .","test":"tsx --test 'tests/**/*.spec.ts'","build":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json","format":"prettier --write .","publish:all":"npm run publish:npm && npm run publish:github","publish:npm":"npm publish --access public --registry=https://registry.npmjs.org","prepublishOnly":"npm run build","publish:github":"npm publish --registry=https://npm.pkg.github.com"},"_npmUser":{"name":"autohubs","email":"autohubs.app@gmail.com"},"repository":{"url":"git+https://github.com/MaxTecnology/lib-cte.git","type":"git"},"_npmVersion":"10.9.4","description":"Fork de @brasil-fiscal/cte com use cases de consulta (status do servico, consulta por chave, desacordo, distribuicao de DF-e por NSU) para CTe (Conhecimento de Transporte Eletronico) em TypeScript.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"@brasil-fiscal/core":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","eslint":"^10.2.1","pdfkit":"^0.18.0","prettier":"^3.8.3","tsc-alias":"^1.8.16","typescript":"^6.0.3","@types/node":"^25.6.0","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.58.2","@typescript-eslint/eslint-plugin":"^8.58.2"},"peerDependencies":{"pdfkit":">=0.13.0"},"peerDependenciesMeta":{"pdfkit":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/lib-cte_0.3.0_1788057107972_0.8957892724214311","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@autohubs/lib-cte","version":"0.3.1","keywords":["cte","conhecimento-transporte","sefaz","fiscal","brasil","typescript"],"author":{"url":"https://raphaelvserafim.com/","name":"Raphael Serafim"},"license":"MIT","_id":"@autohubs/lib-cte@0.3.1","maintainers":[{"name":"autohubs","email":"autohubs.app@gmail.com"}],"homepage":"https://github.com/MaxTecnology/lib-cte#readme","bugs":{"url":"https://github.com/MaxTecnology/lib-cte/issues"},"dist":{"shasum":"718f49631767c291bc4feafab5b1c1467bc3d12a","tarball":"https://registry.npmjs.org/@autohubs/lib-cte/-/lib-cte-0.3.1.tgz","fileCount":123,"integrity":"sha512-vsnmFgci+yWkxZHa2wPguDSprfOKFsQushMoP3w3W9o2pA1Aa5uKF5Ffdk0y7tUgjjKTpc9XOUZ5AtjugD8y+g==","signatures":[{"sig":"MEQCIEsv8SHvZ9Hvo4Hz71Dofzf08BE/hnG6UfNdgWAmhUPdAiA8rnyeOfZM5NUk8+JcSvWtwRbDaAUbfVjdG5icq3heDA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":231596},"main":"dist/index.js","type":"commonjs","types":"dist/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"5553abf5ef00c21197419f580780e769b70f5a36","scripts":{"lint":"eslint .","test":"tsx --test 'tests/**/*.spec.ts'","build":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json","format":"prettier --write .","publish:all":"npm run publish:npm && npm run publish:github","publish:npm":"npm publish --access public --registry=https://registry.npmjs.org","prepublishOnly":"npm run build","publish:github":"npm publish --registry=https://npm.pkg.github.com"},"_npmUser":{"name":"autohubs","email":"autohubs.app@gmail.com"},"repository":{"url":"git+https://github.com/MaxTecnology/lib-cte.git","type":"git"},"_npmVersion":"10.9.4","description":"Fork de @brasil-fiscal/cte com use cases de consulta (status do servico, consulta por chave, desacordo, distribuicao de DF-e por NSU) para CTe (Conhecimento de Transporte Eletronico) em TypeScript.","directories":{},"_nodeVersion":"22.22.0","dependencies":{"@brasil-fiscal/core":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.21.0","eslint":"^10.2.1","pdfkit":"^0.18.0","prettier":"^3.8.3","tsc-alias":"^1.8.16","typescript":"^6.0.3","@types/node":"^25.6.0","eslint-config-prettier":"^10.1.8","@typescript-eslint/parser":"^8.58.2","@typescript-eslint/eslint-plugin":"^8.58.2"},"peerDependencies":{"pdfkit":">=0.13.0"},"peerDependenciesMeta":{"pdfkit":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/lib-cte_0.3.1_1788060451416_0.3455765793241652","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@autohubs/lib-cte","version":"0.3.2","description":"Fork de @brasil-fiscal/cte com use cases de consulta (status do servico, consulta por chave, desacordo, distribuicao de DF-e por NSU) para CTe (Conhecimento de Transporte Eletronico) em TypeScript.","main":"dist/index.js","types":"dist/index.d.ts","scripts":{"build":"tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json","lint":"eslint .","format":"prettier --write .","test":"tsx --test 'tests/**/*.spec.ts'","prepublishOnly":"npm run build","publish:npm":"npm publish --access public --registry=https://registry.npmjs.org","publish:github":"npm publish --registry=https://npm.pkg.github.com","publish:all":"npm run publish:npm && npm run publish:github"},"keywords":["cte","conhecimento-transporte","sefaz","fiscal","brasil","typescript"],"author":{"name":"Raphael Serafim","url":"https://raphaelvserafim.com/"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/MaxTecnology/lib-cte.git"},"engines":{"node":">=18.0.0"},"type":"commonjs","devDependencies":{"@types/node":"^25.6.0","@typescript-eslint/eslint-plugin":"^8.58.2","@typescript-eslint/parser":"^8.58.2","eslint":"^10.2.1","eslint-config-prettier":"^10.1.8","pdfkit":"^0.18.0","prettier":"^3.8.3","tsc-alias":"^1.8.16","tsx":"^4.21.0","typescript":"^6.0.3"},"peerDependencies":{"pdfkit":">=0.13.0"},"peerDependenciesMeta":{"pdfkit":{"optional":true}},"dependencies":{"@brasil-fiscal/core":"^1.0.0"},"_id":"@autohubs/lib-cte@0.3.2","gitHead":"bc0cce524b20860cfd5414ac2c567be78694fbe8","bugs":{"url":"https://github.com/MaxTecnology/lib-cte/issues"},"homepage":"https://github.com/MaxTecnology/lib-cte#readme","_nodeVersion":"22.22.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-BvCK9pEHekwHks96ZJi+z1RxssZdFlSImYCt3SM5HBKDtnqJD0p2NPOVCDikWo1kNSuaSgoc5b7Ou6U710GXSA==","shasum":"0d754cf1ee264fcfbf90e34ef1b02e0790295636","tarball":"https://registry.npmjs.org/@autohubs/lib-cte/-/lib-cte-0.3.2.tgz","fileCount":123,"unpackedSize":238017,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDQ3MhE3H07JvB5WzK/8AmmY7d92ouIlnRagUVO+8QagQIgGxYvVKIdt5axPhrnwHD6AJNn8+0UNyHvOZkObwa0rMM="}]},"_npmUser":{"name":"autohubs","email":"autohubs.app@gmail.com"},"directories":{},"maintainers":[{"name":"autohubs","email":"autohubs.app@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/lib-cte_0.3.2_1788099691553_0.5454901062591804"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-29T23:39:06.055Z","modified":"2026-08-30T14:21:31.808Z","0.2.0":"2026-08-29T23:39:06.405Z","0.2.1":"2026-08-30T00:28:19.669Z","0.2.2":"2026-08-30T01:34:49.912Z","0.3.0":"2026-08-30T02:31:48.103Z","0.3.1":"2026-08-30T03:27:31.567Z","0.3.2":"2026-08-30T14:21:31.663Z"},"bugs":{"url":"https://github.com/MaxTecnology/lib-cte/issues"},"author":{"name":"Raphael Serafim","url":"https://raphaelvserafim.com/"},"license":"MIT","homepage":"https://github.com/MaxTecnology/lib-cte#readme","keywords":["cte","conhecimento-transporte","sefaz","fiscal","brasil","typescript"],"repository":{"type":"git","url":"git+https://github.com/MaxTecnology/lib-cte.git"},"description":"Fork de @brasil-fiscal/cte com use cases de consulta (status do servico, consulta por chave, desacordo, distribuicao de DF-e por NSU) para CTe (Conhecimento de Transporte Eletronico) em TypeScript.","maintainers":[{"name":"autohubs","email":"autohubs.app@gmail.com"}],"readme":"# @brasil-fiscal/cte\n\nLib open-source em TypeScript para emissao de **CTe (Conhecimento de Transporte Eletronico)** no Brasil. Parte do ecossistema [`@brasil-fiscal`](https://github.com/brasil-fiscal).\n\n> **Status: Em desenvolvimento.** Implementados: `statusServico()`, `consultar()`, `desacordo.registrar/cancelar()`, `distribuicaoPorNSU()` e `dacte()` (geracao de PDF). **Validados contra a SEFAZ real** (homologacao e/ou producao): `statusServico`, `consultar` e `distribuicaoPorNSU`. `desacordo` ainda nao foi testado contra a SEFAZ real (tem efeito colateral — registra um evento de verdade). Transmissao, cancelamento do CT-e e carta de correcao ainda nao implementados — ver [PLANO.md](PLANO.md).\n>\n> Publicado como [`@autohubs/lib-cte`](https://www.npmjs.com/package/@autohubs/lib-cte) — fork deste repositorio com os use cases de consulta implementados, ja' que `@brasil-fiscal/cte` (pacote oficial) ainda nao os publica.\n\n## Instalacao\n\n```bash\nnpm install @autohubs/lib-cte\n```\n\n## O que eh o CTe?\n\nO CTe (modelo 57) eh o documento fiscal eletronico que registra prestacoes de servicos de transporte. Ele substitui diversos documentos em papel (CTRC, Nota Fiscal de Servico de Transporte, etc.) e eh obrigatorio para transportadoras no Brasil.\n\n## Estrutura planejada\n\n```typescript\nimport { CTeCore } from '@autohubs/lib-cte';\nimport { readFileSync } from 'node:fs';\n\nconst cte = CTeCore.create({\n  pfx: readFileSync('./certificado.pfx'),\n  senha: 'senha-do-certificado',\n  ambiente: 'homologacao',\n  uf: 'MT'\n});\n\nawait cte.statusServico();\nawait cte.consultar('chave-44-digitos');\nawait cte.desacordo.registrar({ chaveAcesso, cnpjTomador, justificativa });\nawait cte.distribuicaoPorNSU(cnpj); // lista documentos de interesse do CNPJ, paginando por NSU\n\n// Gera o PDF do DACTE a partir do XML autorizado (requer `npm install pdfkit`).\n// `consultar()` retorna so' status/protocolo, nao o XML completo — o XML vem\n// de `distribuicaoPorNSU()` (documentos[].xml) ou do seu proprio armazenamento.\nconst dist = await cte.distribuicaoPorNSU(cnpj);\nconst xmlAutorizado = dist.documentos[0].xml;\nconst pdfBuffer = await cte.dacte(xmlAutorizado);\n\n// TODO: Em desenvolvimento\n// await cte.transmitir({ ... });\n// await cte.cancelar({ ... }); // cancelamento do CT-e (documento)\n```\n\n## Validando contra a SEFAZ real\n\nOs scripts em [`examples/`](examples/) sao smoke-tests manuais para rodar com um\ncertificado A1 de verdade contra a SEFAZ (recomendado: ambiente de\nhomologacao). Copie `.env.example` para `.env`, preencha os dados e rode:\n\n```bash\nnpx tsx --env-file=.env examples/status-servico.ts   # mais seguro, nao toca em documento real\nnpx tsx --env-file=.env examples/consultar-cte.ts    # precisa de uma chave real\nnpx tsx --env-file=.env examples/distribuicao.ts     # lista documentos do CNPJ por NSU, so' leitura\nnpx tsx --env-file=.env examples/desacordo.ts --confirmar  # registra evento REAL — ver avisos no arquivo\nnpx tsx examples/gerar-dacte.ts caminho/para/cte.xml # gera PDF a partir de um XML ja' salvo, sem SEFAZ\n```\n\nA tabela de UFs/URLs em `src/shared/constants/cte-urls.ts` ainda e' parcial\n(ver PLANO.md) — rode `status-servico.ts` primeiro pra validar UF, certificado\ne webservice antes de qualquer coisa que dependa de uma chave de CT-e real.\n\n**Nunca** commite `.env` nem o `.pfx`, e nunca cole conteudo de certificado,\nsenha ou dados de clientes reais em chat, issue ou log — ja cobertos pelo\n`.gitignore`.\n\n## Geracao de DACTE (PDF)\n\n`cte.dacte(xmlAutorizado)` gera o PDF do DACTE (Documento Auxiliar do CT-e) a\npartir do XML ja' autorizado — nao faz nenhuma chamada de rede. Requer\n`pdfkit` instalado como dependencia opcional (`npm install pdfkit`), igual ao\npadrao do `@brasil-fiscal/nfe` para o DANFE.\n\n**Cobertura atual**: layout completo pro **modal rodoviario** (o mais comum\nno Brasil) — emitente, remetente/destinatario, expedidor/recebedor, tomador\ndo servico, carga, componentes do valor da prestacao, informacoes do\nimposto (ICMS00/20/45/60/90/OutraUF/Simples Nacional), documentos\noriginarios e dados especificos do modal rodoviario (RNTRC, veiculo,\nmotorista). Os demais modais (aereo, aquaviario, ferroviario, dutoviario,\nmultimodal) tem os campos gerais mas nao a secao especifica de cada modal —\ncontribuicoes bem-vindas.\n\nO layout foi desenhado a partir do Manual de Orientacao do DACTE (v1.01) e\nvalidado visualmente contra um DACTE real — nao e' pixel-perfect da imagem\noficial (que so' existe como grafico no PDF do manual, sem estar em nenhum\nformato consumivel por texto), mas contem e organiza todos os campos\nobrigatorios do modal rodoviario.\n\n## Entidades disponiveis\n\n| Entidade | Descricao |\n|----------|-----------|\n| `CTe` | Documento principal com identificacao, emitente, remetente, destinatario, carga |\n| `EmitenteProps` | Dados da transportadora emitente |\n| `RemetenteProps` | Dados de quem envia a carga |\n| `DestinatarioProps` | Dados de quem recebe a carga |\n| `CargaProps` | Informacoes da carga (valor, peso, volumes) |\n\n## Dependencias\n\n- [`@brasil-fiscal/core`](https://github.com/brasil-fiscal/core) — certificado digital, assinatura XML, transporte mTLS\n\n## Ecossistema @brasil-fiscal\n\n| Pacote | Status | Descricao |\n|--------|--------|-----------|\n| [@brasil-fiscal/core](https://github.com/brasil-fiscal/core) | Estavel | Infraestrutura compartilhada |\n| [@brasil-fiscal/nfe](https://github.com/brasil-fiscal/nfe) | Estavel | NFe e NFC-e |\n| **@brasil-fiscal/cte** | Em desenvolvimento | CTe (este pacote) |\n| [@brasil-fiscal/mdfe](https://github.com/brasil-fiscal/mdfe) | Em desenvolvimento | MDFe |\n\n## Requisitos\n\n- Node.js >= 18\n- Certificado digital A1 (.pfx ou .p12)\n- OpenSSL instalado\n\n## Contribuindo\n\nContribuicoes sao muito bem-vindas, especialmente para implementar os use cases de transmissao, consulta e cancelamento.\n\n## Licenca\n\n[MIT](LICENSE)\n","readmeFilename":"README.md"}