@baruk/core 0.3.1 → 0.5.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.
- package/.baruk-provenance.json +10 -0
- package/CHANGELOG.md +127 -0
- package/dist/audit/repository.d.ts +33 -1
- package/dist/audit/repository.d.ts.map +1 -1
- package/dist/audit/repository.js +41 -7
- package/dist/audit/repository.js.map +1 -1
- package/dist/auth/password-reset.d.ts +30 -1
- package/dist/auth/password-reset.d.ts.map +1 -1
- package/dist/auth/password-reset.js +139 -11
- package/dist/auth/password-reset.js.map +1 -1
- package/dist/auth/service.d.ts +60 -2
- package/dist/auth/service.d.ts.map +1 -1
- package/dist/auth/service.js +121 -11
- package/dist/auth/service.js.map +1 -1
- package/dist/billing/ar-repository.d.ts +374 -0
- package/dist/billing/ar-repository.d.ts.map +1 -0
- package/dist/billing/ar-repository.js +783 -0
- package/dist/billing/ar-repository.js.map +1 -0
- package/dist/billing/auto-generation.d.ts +87 -0
- package/dist/billing/auto-generation.d.ts.map +1 -0
- package/dist/billing/auto-generation.js +181 -0
- package/dist/billing/auto-generation.js.map +1 -0
- package/dist/billing/live-guard.d.ts +64 -0
- package/dist/billing/live-guard.d.ts.map +1 -0
- package/dist/billing/live-guard.js +68 -0
- package/dist/billing/live-guard.js.map +1 -0
- package/dist/billing/payment-means-catalog.d.ts +17 -0
- package/dist/billing/payment-means-catalog.d.ts.map +1 -0
- package/dist/billing/payment-means-catalog.js +21 -0
- package/dist/billing/payment-means-catalog.js.map +1 -0
- package/dist/billing/payment-means.d.ts +38 -0
- package/dist/billing/payment-means.d.ts.map +1 -0
- package/dist/billing/payment-means.js +29 -0
- package/dist/billing/payment-means.js.map +1 -0
- package/dist/billing/payment-rail.d.ts +118 -0
- package/dist/billing/payment-rail.d.ts.map +1 -0
- package/dist/billing/payment-rail.js +295 -0
- package/dist/billing/payment-rail.js.map +1 -0
- package/dist/billing/provider/asaas.d.ts +46 -1
- package/dist/billing/provider/asaas.d.ts.map +1 -1
- package/dist/billing/provider/asaas.js +194 -14
- package/dist/billing/provider/asaas.js.map +1 -1
- package/dist/billing/provider/manual.js +1 -1
- package/dist/billing/provider/manual.js.map +1 -1
- package/dist/billing/provider/types.d.ts +115 -8
- package/dist/billing/provider/types.d.ts.map +1 -1
- package/dist/billing/provider-account.d.ts +127 -0
- package/dist/billing/provider-account.d.ts.map +1 -0
- package/dist/billing/provider-account.js +217 -0
- package/dist/billing/provider-account.js.map +1 -0
- package/dist/billing/provider-onboarding.d.ts +67 -0
- package/dist/billing/provider-onboarding.d.ts.map +1 -0
- package/dist/billing/provider-onboarding.js +234 -0
- package/dist/billing/provider-onboarding.js.map +1 -0
- package/dist/billing/receivable.d.ts +5 -1
- package/dist/billing/receivable.d.ts.map +1 -1
- package/dist/billing/reconcile.d.ts +58 -0
- package/dist/billing/reconcile.d.ts.map +1 -0
- package/dist/billing/reconcile.js +138 -0
- package/dist/billing/reconcile.js.map +1 -0
- package/dist/billing/repository.d.ts +134 -1
- package/dist/billing/repository.d.ts.map +1 -1
- package/dist/billing/repository.js +193 -20
- package/dist/billing/repository.js.map +1 -1
- package/dist/cjs/audit/repository.js +41 -7
- package/dist/cjs/audit/repository.js.map +1 -1
- package/dist/cjs/auth/password-reset.js +141 -11
- package/dist/cjs/auth/password-reset.js.map +1 -1
- package/dist/cjs/auth/service.js +121 -10
- package/dist/cjs/auth/service.js.map +1 -1
- package/dist/cjs/billing/ar-repository.js +804 -0
- package/dist/cjs/billing/ar-repository.js.map +1 -0
- package/dist/cjs/billing/auto-generation.js +186 -0
- package/dist/cjs/billing/auto-generation.js.map +1 -0
- package/dist/cjs/billing/live-guard.js +72 -0
- package/dist/cjs/billing/live-guard.js.map +1 -0
- package/dist/cjs/billing/payment-means-catalog.js +25 -0
- package/dist/cjs/billing/payment-means-catalog.js.map +1 -0
- package/dist/cjs/billing/payment-means.js +33 -0
- package/dist/cjs/billing/payment-means.js.map +1 -0
- package/dist/cjs/billing/payment-rail.js +301 -0
- package/dist/cjs/billing/payment-rail.js.map +1 -0
- package/dist/cjs/billing/provider/asaas.js +194 -14
- package/dist/cjs/billing/provider/asaas.js.map +1 -1
- package/dist/cjs/billing/provider/manual.js +1 -1
- package/dist/cjs/billing/provider/manual.js.map +1 -1
- package/dist/cjs/billing/provider-account.js +229 -0
- package/dist/cjs/billing/provider-account.js.map +1 -0
- package/dist/cjs/billing/provider-onboarding.js +239 -0
- package/dist/cjs/billing/provider-onboarding.js.map +1 -0
- package/dist/cjs/billing/reconcile.js +143 -0
- package/dist/cjs/billing/reconcile.js.map +1 -0
- package/dist/cjs/billing/repository.js +197 -19
- package/dist/cjs/billing/repository.js.map +1 -1
- package/dist/cjs/clients/ibge.js +103 -0
- package/dist/cjs/clients/ibge.js.map +1 -0
- package/dist/cjs/clients/repository.js +276 -23
- package/dist/cjs/clients/repository.js.map +1 -1
- package/dist/cjs/collection/branding.js +330 -0
- package/dist/cjs/collection/branding.js.map +1 -0
- package/dist/cjs/collection/channel-accounts.js +137 -0
- package/dist/cjs/collection/channel-accounts.js.map +1 -0
- package/dist/cjs/collection/channel.js +17 -0
- package/dist/cjs/collection/channel.js.map +1 -0
- package/dist/cjs/collection/clearance-store.js +74 -0
- package/dist/cjs/collection/clearance-store.js.map +1 -0
- package/dist/cjs/collection/communication-bridge.js +140 -0
- package/dist/cjs/collection/communication-bridge.js.map +1 -0
- package/dist/cjs/collection/communication-runtime.js +256 -0
- package/dist/cjs/collection/communication-runtime.js.map +1 -0
- package/dist/cjs/collection/consent-repository.js +84 -0
- package/dist/cjs/collection/consent-repository.js.map +1 -0
- package/dist/cjs/collection/copy.js +125 -0
- package/dist/cjs/collection/copy.js.map +1 -0
- package/dist/cjs/collection/delivery-callback.js +151 -0
- package/dist/cjs/collection/delivery-callback.js.map +1 -0
- package/dist/cjs/collection/email-layout.js +252 -0
- package/dist/cjs/collection/email-layout.js.map +1 -0
- package/dist/cjs/collection/engine.js +434 -0
- package/dist/cjs/collection/engine.js.map +1 -0
- package/dist/cjs/collection/format.js +76 -0
- package/dist/cjs/collection/format.js.map +1 -0
- package/dist/cjs/collection/payment-block.js +3 -0
- package/dist/cjs/collection/payment-block.js.map +1 -0
- package/dist/cjs/collection/policy.js +175 -0
- package/dist/cjs/collection/policy.js.map +1 -0
- package/dist/cjs/collection/repository.js +260 -0
- package/dist/cjs/collection/repository.js.map +1 -0
- package/dist/cjs/collection/subject.js +104 -0
- package/dist/cjs/collection/subject.js.map +1 -0
- package/dist/cjs/collection/template-catalog.js +165 -0
- package/dist/cjs/collection/template-catalog.js.map +1 -0
- package/dist/cjs/collection/template.js +78 -0
- package/dist/cjs/collection/template.js.map +1 -0
- package/dist/cjs/communication/adapters/email.js +132 -0
- package/dist/cjs/communication/adapters/email.js.map +1 -0
- package/dist/cjs/communication/adapters/sms.js +127 -0
- package/dist/cjs/communication/adapters/sms.js.map +1 -0
- package/dist/cjs/communication/adapters/whatsapp-language.js +39 -0
- package/dist/cjs/communication/adapters/whatsapp-language.js.map +1 -0
- package/dist/cjs/communication/adapters/whatsapp-templates.js +100 -0
- package/dist/cjs/communication/adapters/whatsapp-templates.js.map +1 -0
- package/dist/cjs/communication/adapters/whatsapp.js +213 -0
- package/dist/cjs/communication/adapters/whatsapp.js.map +1 -0
- package/dist/cjs/communication/audit.js +61 -0
- package/dist/cjs/communication/audit.js.map +1 -0
- package/dist/cjs/communication/capabilities.js +76 -0
- package/dist/cjs/communication/capabilities.js.map +1 -0
- package/dist/cjs/communication/channel.js +53 -0
- package/dist/cjs/communication/channel.js.map +1 -0
- package/dist/cjs/communication/claim.js +228 -0
- package/dist/cjs/communication/claim.js.map +1 -0
- package/dist/cjs/communication/clearance.js +18 -0
- package/dist/cjs/communication/clearance.js.map +1 -0
- package/dist/cjs/communication/consent.js +43 -0
- package/dist/cjs/communication/consent.js.map +1 -0
- package/dist/cjs/communication/context.js +45 -0
- package/dist/cjs/communication/context.js.map +1 -0
- package/dist/cjs/communication/credentials.js +121 -0
- package/dist/cjs/communication/credentials.js.map +1 -0
- package/dist/cjs/communication/dry-run-scenario.js +166 -0
- package/dist/cjs/communication/dry-run-scenario.js.map +1 -0
- package/dist/cjs/communication/dry-run.js +97 -0
- package/dist/cjs/communication/dry-run.js.map +1 -0
- package/dist/cjs/communication/engine.js +495 -0
- package/dist/cjs/communication/engine.js.map +1 -0
- package/dist/cjs/communication/graph.js +50 -0
- package/dist/cjs/communication/graph.js.map +1 -0
- package/dist/cjs/communication/idempotency.js +26 -0
- package/dist/cjs/communication/idempotency.js.map +1 -0
- package/dist/cjs/communication/identity.js +110 -0
- package/dist/cjs/communication/identity.js.map +1 -0
- package/dist/cjs/communication/index.js +135 -0
- package/dist/cjs/communication/index.js.map +1 -0
- package/dist/cjs/communication/onboarding.js +297 -0
- package/dist/cjs/communication/onboarding.js.map +1 -0
- package/dist/cjs/communication/policy.js +16 -0
- package/dist/cjs/communication/policy.js.map +1 -0
- package/dist/cjs/communication/routing.js +77 -0
- package/dist/cjs/communication/routing.js.map +1 -0
- package/dist/cjs/communication/sender-profile.js +128 -0
- package/dist/cjs/communication/sender-profile.js.map +1 -0
- package/dist/cjs/communication/status.js +86 -0
- package/dist/cjs/communication/status.js.map +1 -0
- package/dist/cjs/communication/stores/onboarding.js +135 -0
- package/dist/cjs/communication/stores/onboarding.js.map +1 -0
- package/dist/cjs/communication/stores/postgres.js +458 -0
- package/dist/cjs/communication/stores/postgres.js.map +1 -0
- package/dist/cjs/communication/stores/routing.js +334 -0
- package/dist/cjs/communication/stores/routing.js.map +1 -0
- package/dist/cjs/communication/stores/secrets.js +126 -0
- package/dist/cjs/communication/stores/secrets.js.map +1 -0
- package/dist/cjs/communication/template-provider.js +22 -0
- package/dist/cjs/communication/template-provider.js.map +1 -0
- package/dist/cjs/communication/template.js +63 -0
- package/dist/cjs/communication/template.js.map +1 -0
- package/dist/cjs/communication/webhook-subscription.js +258 -0
- package/dist/cjs/communication/webhook-subscription.js.map +1 -0
- package/dist/cjs/communication/webhook.js +292 -0
- package/dist/cjs/communication/webhook.js.map +1 -0
- package/dist/cjs/competence/business-days.js +155 -0
- package/dist/cjs/competence/business-days.js.map +1 -0
- package/dist/cjs/competence/catalog-validation.js +174 -0
- package/dist/cjs/competence/catalog-validation.js.map +1 -0
- package/dist/cjs/competence/obligation-preview.js +190 -0
- package/dist/cjs/competence/obligation-preview.js.map +1 -0
- package/dist/cjs/competence/repository.js +622 -0
- package/dist/cjs/competence/repository.js.map +1 -0
- package/dist/cjs/contacts/phone.js +192 -0
- package/dist/cjs/contacts/phone.js.map +1 -0
- package/dist/cjs/dashboard/pilot-panel.js +90 -0
- package/dist/cjs/dashboard/pilot-panel.js.map +1 -0
- package/dist/cjs/dashboard/repository.js +11 -1
- package/dist/cjs/dashboard/repository.js.map +1 -1
- package/dist/cjs/db/client.js +17 -11
- package/dist/cjs/db/client.js.map +1 -1
- package/dist/cjs/db/provision-e2e-identity.js +111 -0
- package/dist/cjs/db/provision-e2e-identity.js.map +1 -0
- package/dist/cjs/db/seed-catalog.js +48 -0
- package/dist/cjs/db/seed-catalog.js.map +1 -0
- package/dist/cjs/db/seed.js +15 -7
- package/dist/cjs/db/seed.js.map +1 -1
- package/dist/cjs/documents/repository.js +244 -0
- package/dist/cjs/documents/repository.js.map +1 -0
- package/dist/cjs/documents/requests.js +136 -0
- package/dist/cjs/documents/requests.js.map +1 -0
- package/dist/cjs/fiscal/applicability.js +164 -0
- package/dist/cjs/fiscal/applicability.js.map +1 -0
- package/dist/cjs/fiscal/conditions.js +198 -0
- package/dist/cjs/fiscal/conditions.js.map +1 -0
- package/dist/cjs/fiscal/contracts/nfse-adn-contract.js +390 -0
- package/dist/cjs/fiscal/contracts/nfse-adn-contract.js.map +1 -0
- package/dist/cjs/fiscal/contracts/nfse-adn-endpoint.js +108 -0
- package/dist/cjs/fiscal/contracts/nfse-adn-endpoint.js.map +1 -0
- package/dist/cjs/fiscal/contracts/nfse-adn-envelope.js +220 -0
- package/dist/cjs/fiscal/contracts/nfse-adn-envelope.js.map +1 -0
- package/dist/cjs/fiscal/coverage/model.js +127 -0
- package/dist/cjs/fiscal/coverage/model.js.map +1 -0
- package/dist/cjs/fiscal/coverage/requests.js +99 -0
- package/dist/cjs/fiscal/coverage/requests.js.map +1 -0
- package/dist/cjs/fiscal/credentials/material.js +168 -0
- package/dist/cjs/fiscal/credentials/material.js.map +1 -0
- package/dist/cjs/fiscal/credentials/readiness.js +163 -0
- package/dist/cjs/fiscal/credentials/readiness.js.map +1 -0
- package/dist/cjs/fiscal/eligibility.js +199 -0
- package/dist/cjs/fiscal/eligibility.js.map +1 -0
- package/dist/cjs/fiscal/ingestion/__fixtures__/nfse.js +128 -0
- package/dist/cjs/fiscal/ingestion/__fixtures__/nfse.js.map +1 -0
- package/dist/cjs/fiscal/ingestion/adn-transport.js +229 -0
- package/dist/cjs/fiscal/ingestion/adn-transport.js.map +1 -0
- package/dist/cjs/fiscal/ingestion/direction.js +36 -0
- package/dist/cjs/fiscal/ingestion/direction.js.map +1 -0
- package/dist/cjs/fiscal/ingestion/nfse-adn.js +228 -0
- package/dist/cjs/fiscal/ingestion/nfse-adn.js.map +1 -0
- package/dist/cjs/fiscal/ingestion/pipeline.js +704 -0
- package/dist/cjs/fiscal/ingestion/pipeline.js.map +1 -0
- package/dist/cjs/fiscal/ingestion/provider.js +51 -0
- package/dist/cjs/fiscal/ingestion/provider.js.map +1 -0
- package/dist/cjs/fiscal/ingestion/repository.js +132 -0
- package/dist/cjs/fiscal/ingestion/repository.js.map +1 -0
- package/dist/cjs/fiscal/ingestion/synthetic-provider.js +103 -0
- package/dist/cjs/fiscal/ingestion/synthetic-provider.js.map +1 -0
- package/dist/cjs/fiscal/ingestion/synthetic-transport-types.js +13 -0
- package/dist/cjs/fiscal/ingestion/synthetic-transport-types.js.map +1 -0
- package/dist/cjs/fiscal/ingestion/synthetic-transport.js +61 -0
- package/dist/cjs/fiscal/ingestion/synthetic-transport.js.map +1 -0
- package/dist/cjs/fiscal/ingestion/xml-reader.js +121 -0
- package/dist/cjs/fiscal/ingestion/xml-reader.js.map +1 -0
- package/dist/cjs/fiscal/repository.js +470 -0
- package/dist/cjs/fiscal/repository.js.map +1 -0
- package/dist/cjs/fiscal/sync/circuit.js +124 -0
- package/dist/cjs/fiscal/sync/circuit.js.map +1 -0
- package/dist/cjs/fiscal/sync/intervention.js +140 -0
- package/dist/cjs/fiscal/sync/intervention.js.map +1 -0
- package/dist/cjs/fiscal/sync/lease.js +146 -0
- package/dist/cjs/fiscal/sync/lease.js.map +1 -0
- package/dist/cjs/fiscal/sync/observability.js +244 -0
- package/dist/cjs/fiscal/sync/observability.js.map +1 -0
- package/dist/cjs/fiscal/sync/orchestrator.js +490 -0
- package/dist/cjs/fiscal/sync/orchestrator.js.map +1 -0
- package/dist/cjs/fiscal/sync/policy.js +143 -0
- package/dist/cjs/fiscal/sync/policy.js.map +1 -0
- package/dist/cjs/fiscal/sync/reprocess.js +241 -0
- package/dist/cjs/fiscal/sync/reprocess.js.map +1 -0
- package/dist/cjs/fiscal/sync/retry.js +183 -0
- package/dist/cjs/fiscal/sync/retry.js.map +1 -0
- package/dist/cjs/fiscal/sync/secret-boundary.js +123 -0
- package/dist/cjs/fiscal/sync/secret-boundary.js.map +1 -0
- package/dist/cjs/fiscal/transport/https.js +309 -0
- package/dist/cjs/fiscal/transport/https.js.map +1 -0
- package/dist/cjs/fiscal/transport/synthetic-tls.js +328 -0
- package/dist/cjs/fiscal/transport/synthetic-tls.js.map +1 -0
- package/dist/cjs/fiscal/transport/types.js +93 -0
- package/dist/cjs/fiscal/transport/types.js.map +1 -0
- package/dist/cjs/import/br-documents.js +85 -0
- package/dist/cjs/import/br-documents.js.map +1 -0
- package/dist/cjs/import/clients-import.js +347 -40
- package/dist/cjs/import/clients-import.js.map +1 -1
- package/dist/cjs/index.js +711 -39
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/legal/documents.js +224 -17
- package/dist/cjs/legal/documents.js.map +1 -1
- package/dist/cjs/legal/index.js +3 -1
- package/dist/cjs/legal/index.js.map +1 -1
- package/dist/cjs/legal/types.js +1 -0
- package/dist/cjs/legal/types.js.map +1 -1
- package/dist/cjs/mail/auth-templates.js +29 -0
- package/dist/cjs/mail/auth-templates.js.map +1 -0
- package/dist/cjs/mail/dedup-store.js +12 -51
- package/dist/cjs/mail/dedup-store.js.map +1 -1
- package/dist/cjs/mail/index.js +16 -4
- package/dist/cjs/mail/index.js.map +1 -1
- package/dist/cjs/mail/provider.js +12 -247
- package/dist/cjs/mail/provider.js.map +1 -1
- package/dist/cjs/mail/resend.js +14 -18
- package/dist/cjs/mail/resend.js.map +1 -1
- package/dist/cjs/mail/sender-resolver.js +12 -11
- package/dist/cjs/mail/sender-resolver.js.map +1 -1
- package/dist/cjs/mail/template-renderer.js +11 -16
- package/dist/cjs/mail/template-renderer.js.map +1 -1
- package/dist/cjs/mail/transactional-outbound.js +117 -0
- package/dist/cjs/mail/transactional-outbound.js.map +1 -0
- package/dist/cjs/mail/types.js +8 -35
- package/dist/cjs/mail/types.js.map +1 -1
- package/dist/cjs/onboarding/persistence.js +4 -4
- package/dist/cjs/onboarding/persistence.js.map +1 -1
- package/dist/cjs/pilot/go-live-checklist.js +212 -0
- package/dist/cjs/pilot/go-live-checklist.js.map +1 -0
- package/dist/cjs/pilot/milestone.js +79 -0
- package/dist/cjs/pilot/milestone.js.map +1 -0
- package/dist/cjs/platform/capabilities.js +144 -0
- package/dist/cjs/platform/capabilities.js.map +1 -0
- package/dist/cjs/platform/job-contract.js +411 -0
- package/dist/cjs/platform/job-contract.js.map +1 -0
- package/dist/cjs/portal/provisioning.js +144 -0
- package/dist/cjs/portal/provisioning.js.map +1 -0
- package/dist/cjs/pricing-engine/canonical.js +42 -0
- package/dist/cjs/pricing-engine/canonical.js.map +1 -0
- package/dist/cjs/pricing-engine/errors.js +6 -1
- package/dist/cjs/pricing-engine/errors.js.map +1 -1
- package/dist/cjs/pricing-engine/index.js +12 -1
- package/dist/cjs/pricing-engine/index.js.map +1 -1
- package/dist/cjs/pricing-engine/pipeline.js +200 -26
- package/dist/cjs/pricing-engine/pipeline.js.map +1 -1
- package/dist/cjs/pricing-engine/shadow-adapter.js +79 -0
- package/dist/cjs/pricing-engine/shadow-adapter.js.map +1 -0
- package/dist/cjs/pricing-engine/shadow-diff.js +55 -0
- package/dist/cjs/pricing-engine/shadow-diff.js.map +1 -0
- package/dist/cjs/pricing-engine/shadow-facade.js +85 -0
- package/dist/cjs/pricing-engine/shadow-facade.js.map +1 -0
- package/dist/cjs/pricing-engine/shadow-legacy-types.js +19 -0
- package/dist/cjs/pricing-engine/shadow-legacy-types.js.map +1 -0
- package/dist/cjs/pricing-engine/shadow-metrics.js +34 -0
- package/dist/cjs/pricing-engine/shadow-metrics.js.map +1 -0
- package/dist/cjs/pricing-engine/shadow-normalizer.js +42 -0
- package/dist/cjs/pricing-engine/shadow-normalizer.js.map +1 -0
- package/dist/cjs/rbac/authorize.js +28 -0
- package/dist/cjs/rbac/authorize.js.map +1 -1
- package/dist/cjs/rbac/catalog.js +101 -1
- package/dist/cjs/rbac/catalog.js.map +1 -1
- package/dist/cjs/rbac/workload-provisioning.js +160 -0
- package/dist/cjs/rbac/workload-provisioning.js.map +1 -0
- package/dist/cjs/rbac/workload.js +191 -0
- package/dist/cjs/rbac/workload.js.map +1 -0
- package/dist/cjs/storage/checksum.js +15 -0
- package/dist/cjs/storage/checksum.js.map +1 -0
- package/dist/cjs/storage/key.js +72 -0
- package/dist/cjs/storage/key.js.map +1 -0
- package/dist/cjs/storage/local.js +100 -0
- package/dist/cjs/storage/local.js.map +1 -0
- package/dist/cjs/storage/r2.js +181 -0
- package/dist/cjs/storage/r2.js.map +1 -0
- package/dist/cjs/storage/registry.js +41 -0
- package/dist/cjs/storage/registry.js.map +1 -0
- package/dist/cjs/storage/types.js +50 -0
- package/dist/cjs/storage/types.js.map +1 -0
- package/dist/cjs/subscription-billing/index.js +2 -1
- package/dist/cjs/subscription-billing/index.js.map +1 -1
- package/dist/cjs/subscription-billing/provider/asaas.js +32 -7
- package/dist/cjs/subscription-billing/provider/asaas.js.map +1 -1
- package/dist/cjs/subscription-billing/provider/disabled.js +8 -0
- package/dist/cjs/subscription-billing/provider/disabled.js.map +1 -1
- package/dist/cjs/subscription-billing/provider/registry.js +17 -0
- package/dist/cjs/subscription-billing/provider/registry.js.map +1 -1
- package/dist/cjs/subscription-billing/service.js +208 -83
- package/dist/cjs/subscription-billing/service.js.map +1 -1
- package/dist/cjs/subscription-billing/types.js.map +1 -1
- package/dist/cjs/tenancy/features.js +131 -0
- package/dist/cjs/tenancy/features.js.map +1 -0
- package/dist/cjs/tenancy/provisioning.js +32 -8
- package/dist/cjs/tenancy/provisioning.js.map +1 -1
- package/dist/cjs/tenancy/settings.js +224 -0
- package/dist/cjs/tenancy/settings.js.map +1 -0
- package/dist/cjs/users/repository.js +143 -3
- package/dist/cjs/users/repository.js.map +1 -1
- package/dist/cjs/vault/repository.js +81 -0
- package/dist/cjs/vault/repository.js.map +1 -1
- package/dist/clients/ibge.d.ts +17 -0
- package/dist/clients/ibge.d.ts.map +1 -0
- package/dist/clients/ibge.js +98 -0
- package/dist/clients/ibge.js.map +1 -0
- package/dist/clients/repository.d.ts +196 -0
- package/dist/clients/repository.d.ts.map +1 -1
- package/dist/clients/repository.js +270 -24
- package/dist/clients/repository.js.map +1 -1
- package/dist/collection/branding.d.ts +137 -0
- package/dist/collection/branding.d.ts.map +1 -0
- package/dist/collection/branding.js +322 -0
- package/dist/collection/branding.js.map +1 -0
- package/dist/collection/channel-accounts.d.ts +57 -0
- package/dist/collection/channel-accounts.d.ts.map +1 -0
- package/dist/collection/channel-accounts.js +133 -0
- package/dist/collection/channel-accounts.js.map +1 -0
- package/dist/collection/channel.d.ts +24 -0
- package/dist/collection/channel.d.ts.map +1 -0
- package/dist/collection/channel.js +16 -0
- package/dist/collection/channel.js.map +1 -0
- package/dist/collection/clearance-store.d.ts +39 -0
- package/dist/collection/clearance-store.d.ts.map +1 -0
- package/dist/collection/clearance-store.js +69 -0
- package/dist/collection/clearance-store.js.map +1 -0
- package/dist/collection/communication-bridge.d.ts +66 -0
- package/dist/collection/communication-bridge.d.ts.map +1 -0
- package/dist/collection/communication-bridge.js +134 -0
- package/dist/collection/communication-bridge.js.map +1 -0
- package/dist/collection/communication-runtime.d.ts +132 -0
- package/dist/collection/communication-runtime.d.ts.map +1 -0
- package/dist/collection/communication-runtime.js +249 -0
- package/dist/collection/communication-runtime.js.map +1 -0
- package/dist/collection/consent-repository.d.ts +32 -0
- package/dist/collection/consent-repository.d.ts.map +1 -0
- package/dist/collection/consent-repository.js +79 -0
- package/dist/collection/consent-repository.js.map +1 -0
- package/dist/collection/copy.d.ts +50 -0
- package/dist/collection/copy.d.ts.map +1 -0
- package/dist/collection/copy.js +122 -0
- package/dist/collection/copy.js.map +1 -0
- package/dist/collection/delivery-callback.d.ts +49 -0
- package/dist/collection/delivery-callback.d.ts.map +1 -0
- package/dist/collection/delivery-callback.js +147 -0
- package/dist/collection/delivery-callback.js.map +1 -0
- package/dist/collection/email-layout.d.ts +45 -0
- package/dist/collection/email-layout.d.ts.map +1 -0
- package/dist/collection/email-layout.js +247 -0
- package/dist/collection/email-layout.js.map +1 -0
- package/dist/collection/engine.d.ts +200 -0
- package/dist/collection/engine.d.ts.map +1 -0
- package/dist/collection/engine.js +427 -0
- package/dist/collection/engine.js.map +1 -0
- package/dist/collection/format.d.ts +32 -0
- package/dist/collection/format.d.ts.map +1 -0
- package/dist/collection/format.js +70 -0
- package/dist/collection/format.js.map +1 -0
- package/dist/collection/payment-block.d.ts +24 -0
- package/dist/collection/payment-block.d.ts.map +1 -0
- package/dist/collection/payment-block.js +2 -0
- package/dist/collection/payment-block.js.map +1 -0
- package/dist/collection/policy.d.ts +78 -0
- package/dist/collection/policy.d.ts.map +1 -0
- package/dist/collection/policy.js +168 -0
- package/dist/collection/policy.js.map +1 -0
- package/dist/collection/repository.d.ts +129 -0
- package/dist/collection/repository.d.ts.map +1 -0
- package/dist/collection/repository.js +246 -0
- package/dist/collection/repository.js.map +1 -0
- package/dist/collection/subject.d.ts +66 -0
- package/dist/collection/subject.d.ts.map +1 -0
- package/dist/collection/subject.js +99 -0
- package/dist/collection/subject.js.map +1 -0
- package/dist/collection/template-catalog.d.ts +16 -0
- package/dist/collection/template-catalog.d.ts.map +1 -0
- package/dist/collection/template-catalog.js +162 -0
- package/dist/collection/template-catalog.js.map +1 -0
- package/dist/collection/template.d.ts +37 -0
- package/dist/collection/template.d.ts.map +1 -0
- package/dist/collection/template.js +73 -0
- package/dist/collection/template.js.map +1 -0
- package/dist/communication/adapters/email.d.ts +28 -0
- package/dist/communication/adapters/email.d.ts.map +1 -0
- package/dist/communication/adapters/email.js +129 -0
- package/dist/communication/adapters/email.js.map +1 -0
- package/dist/communication/adapters/sms.d.ts +95 -0
- package/dist/communication/adapters/sms.d.ts.map +1 -0
- package/dist/communication/adapters/sms.js +121 -0
- package/dist/communication/adapters/sms.js.map +1 -0
- package/dist/communication/adapters/whatsapp-language.d.ts +34 -0
- package/dist/communication/adapters/whatsapp-language.d.ts.map +1 -0
- package/dist/communication/adapters/whatsapp-language.js +36 -0
- package/dist/communication/adapters/whatsapp-language.js.map +1 -0
- package/dist/communication/adapters/whatsapp-templates.d.ts +18 -0
- package/dist/communication/adapters/whatsapp-templates.d.ts.map +1 -0
- package/dist/communication/adapters/whatsapp-templates.js +97 -0
- package/dist/communication/adapters/whatsapp-templates.js.map +1 -0
- package/dist/communication/adapters/whatsapp.d.ts +29 -0
- package/dist/communication/adapters/whatsapp.d.ts.map +1 -0
- package/dist/communication/adapters/whatsapp.js +210 -0
- package/dist/communication/adapters/whatsapp.js.map +1 -0
- package/dist/communication/audit.d.ts +105 -0
- package/dist/communication/audit.d.ts.map +1 -0
- package/dist/communication/audit.js +56 -0
- package/dist/communication/audit.js.map +1 -0
- package/dist/communication/capabilities.d.ts +88 -0
- package/dist/communication/capabilities.d.ts.map +1 -0
- package/dist/communication/capabilities.js +72 -0
- package/dist/communication/capabilities.js.map +1 -0
- package/dist/communication/channel.d.ts +125 -0
- package/dist/communication/channel.d.ts.map +1 -0
- package/dist/communication/channel.js +47 -0
- package/dist/communication/channel.js.map +1 -0
- package/dist/communication/claim.d.ts +368 -0
- package/dist/communication/claim.d.ts.map +1 -0
- package/dist/communication/claim.js +224 -0
- package/dist/communication/claim.js.map +1 -0
- package/dist/communication/clearance.d.ts +53 -0
- package/dist/communication/clearance.d.ts.map +1 -0
- package/dist/communication/clearance.js +15 -0
- package/dist/communication/clearance.js.map +1 -0
- package/dist/communication/consent.d.ts +65 -0
- package/dist/communication/consent.d.ts.map +1 -0
- package/dist/communication/consent.js +40 -0
- package/dist/communication/consent.js.map +1 -0
- package/dist/communication/context.d.ts +48 -0
- package/dist/communication/context.d.ts.map +1 -0
- package/dist/communication/context.js +41 -0
- package/dist/communication/context.js.map +1 -0
- package/dist/communication/credentials.d.ts +74 -0
- package/dist/communication/credentials.d.ts.map +1 -0
- package/dist/communication/credentials.js +115 -0
- package/dist/communication/credentials.js.map +1 -0
- package/dist/communication/dry-run-scenario.d.ts +37 -0
- package/dist/communication/dry-run-scenario.d.ts.map +1 -0
- package/dist/communication/dry-run-scenario.js +163 -0
- package/dist/communication/dry-run-scenario.js.map +1 -0
- package/dist/communication/dry-run.d.ts +40 -0
- package/dist/communication/dry-run.d.ts.map +1 -0
- package/dist/communication/dry-run.js +92 -0
- package/dist/communication/dry-run.js.map +1 -0
- package/dist/communication/engine.d.ts +163 -0
- package/dist/communication/engine.d.ts.map +1 -0
- package/dist/communication/engine.js +492 -0
- package/dist/communication/engine.js.map +1 -0
- package/dist/communication/graph.d.ts +38 -0
- package/dist/communication/graph.d.ts.map +1 -0
- package/dist/communication/graph.js +45 -0
- package/dist/communication/graph.js.map +1 -0
- package/dist/communication/idempotency.d.ts +33 -0
- package/dist/communication/idempotency.d.ts.map +1 -0
- package/dist/communication/idempotency.js +23 -0
- package/dist/communication/idempotency.js.map +1 -0
- package/dist/communication/identity.d.ts +127 -0
- package/dist/communication/identity.d.ts.map +1 -0
- package/dist/communication/identity.js +105 -0
- package/dist/communication/identity.js.map +1 -0
- package/dist/communication/index.d.ts +66 -0
- package/dist/communication/index.d.ts.map +1 -0
- package/dist/communication/index.js +42 -0
- package/dist/communication/index.js.map +1 -0
- package/dist/communication/onboarding.d.ts +223 -0
- package/dist/communication/onboarding.d.ts.map +1 -0
- package/dist/communication/onboarding.js +287 -0
- package/dist/communication/onboarding.js.map +1 -0
- package/dist/communication/policy.d.ts +115 -0
- package/dist/communication/policy.d.ts.map +1 -0
- package/dist/communication/policy.js +13 -0
- package/dist/communication/policy.js.map +1 -0
- package/dist/communication/routing.d.ts +99 -0
- package/dist/communication/routing.d.ts.map +1 -0
- package/dist/communication/routing.js +73 -0
- package/dist/communication/routing.js.map +1 -0
- package/dist/communication/sender-profile.d.ts +100 -0
- package/dist/communication/sender-profile.d.ts.map +1 -0
- package/dist/communication/sender-profile.js +123 -0
- package/dist/communication/sender-profile.js.map +1 -0
- package/dist/communication/status.d.ts +48 -0
- package/dist/communication/status.d.ts.map +1 -0
- package/dist/communication/status.js +79 -0
- package/dist/communication/status.js.map +1 -0
- package/dist/communication/stores/onboarding.d.ts +88 -0
- package/dist/communication/stores/onboarding.d.ts.map +1 -0
- package/dist/communication/stores/onboarding.js +127 -0
- package/dist/communication/stores/onboarding.js.map +1 -0
- package/dist/communication/stores/postgres.d.ts +81 -0
- package/dist/communication/stores/postgres.d.ts.map +1 -0
- package/dist/communication/stores/postgres.js +453 -0
- package/dist/communication/stores/postgres.js.map +1 -0
- package/dist/communication/stores/routing.d.ts +169 -0
- package/dist/communication/stores/routing.d.ts.map +1 -0
- package/dist/communication/stores/routing.js +324 -0
- package/dist/communication/stores/routing.js.map +1 -0
- package/dist/communication/stores/secrets.d.ts +89 -0
- package/dist/communication/stores/secrets.d.ts.map +1 -0
- package/dist/communication/stores/secrets.js +122 -0
- package/dist/communication/stores/secrets.js.map +1 -0
- package/dist/communication/template-provider.d.ts +85 -0
- package/dist/communication/template-provider.d.ts.map +1 -0
- package/dist/communication/template-provider.js +21 -0
- package/dist/communication/template-provider.js.map +1 -0
- package/dist/communication/template.d.ts +87 -0
- package/dist/communication/template.d.ts.map +1 -0
- package/dist/communication/template.js +59 -0
- package/dist/communication/template.js.map +1 -0
- package/dist/communication/webhook-subscription.d.ts +156 -0
- package/dist/communication/webhook-subscription.d.ts.map +1 -0
- package/dist/communication/webhook-subscription.js +252 -0
- package/dist/communication/webhook-subscription.js.map +1 -0
- package/dist/communication/webhook.d.ts +121 -0
- package/dist/communication/webhook.d.ts.map +1 -0
- package/dist/communication/webhook.js +283 -0
- package/dist/communication/webhook.js.map +1 -0
- package/dist/competence/business-days.d.ts +51 -0
- package/dist/competence/business-days.d.ts.map +1 -0
- package/dist/competence/business-days.js +145 -0
- package/dist/competence/business-days.js.map +1 -0
- package/dist/competence/catalog-validation.d.ts +86 -0
- package/dist/competence/catalog-validation.d.ts.map +1 -0
- package/dist/competence/catalog-validation.js +168 -0
- package/dist/competence/catalog-validation.js.map +1 -0
- package/dist/competence/obligation-preview.d.ts +103 -0
- package/dist/competence/obligation-preview.d.ts.map +1 -0
- package/dist/competence/obligation-preview.js +184 -0
- package/dist/competence/obligation-preview.js.map +1 -0
- package/dist/competence/repository.d.ts +285 -0
- package/dist/competence/repository.d.ts.map +1 -0
- package/dist/competence/repository.js +602 -0
- package/dist/competence/repository.js.map +1 -0
- package/dist/contacts/phone.d.ts +70 -0
- package/dist/contacts/phone.d.ts.map +1 -0
- package/dist/contacts/phone.js +186 -0
- package/dist/contacts/phone.js.map +1 -0
- package/dist/dashboard/pilot-panel.d.ts +100 -0
- package/dist/dashboard/pilot-panel.d.ts.map +1 -0
- package/dist/dashboard/pilot-panel.js +87 -0
- package/dist/dashboard/pilot-panel.js.map +1 -0
- package/dist/dashboard/repository.d.ts.map +1 -1
- package/dist/dashboard/repository.js +11 -1
- package/dist/dashboard/repository.js.map +1 -1
- package/dist/db/client.d.ts +45 -0
- package/dist/db/client.d.ts.map +1 -1
- package/dist/db/client.js +16 -11
- package/dist/db/client.js.map +1 -1
- package/dist/db/migrate.d.ts +36 -1
- package/dist/db/migrate.d.ts.map +1 -1
- package/dist/db/migrate.js +208 -35
- package/dist/db/migrate.js.map +1 -1
- package/dist/db/provision-e2e-identity.d.ts +2 -0
- package/dist/db/provision-e2e-identity.d.ts.map +1 -0
- package/dist/db/provision-e2e-identity.js +109 -0
- package/dist/db/provision-e2e-identity.js.map +1 -0
- package/dist/db/seed-catalog.d.ts +18 -0
- package/dist/db/seed-catalog.d.ts.map +1 -0
- package/dist/db/seed-catalog.js +45 -0
- package/dist/db/seed-catalog.js.map +1 -0
- package/dist/db/seed.js +16 -8
- package/dist/db/seed.js.map +1 -1
- package/dist/documents/repository.d.ts +97 -0
- package/dist/documents/repository.d.ts.map +1 -0
- package/dist/documents/repository.js +236 -0
- package/dist/documents/repository.js.map +1 -0
- package/dist/documents/requests.d.ts +73 -0
- package/dist/documents/requests.d.ts.map +1 -0
- package/dist/documents/requests.js +127 -0
- package/dist/documents/requests.js.map +1 -0
- package/dist/fiscal/applicability.d.ts +73 -0
- package/dist/fiscal/applicability.d.ts.map +1 -0
- package/dist/fiscal/applicability.js +160 -0
- package/dist/fiscal/applicability.js.map +1 -0
- package/dist/fiscal/conditions.d.ts +99 -0
- package/dist/fiscal/conditions.d.ts.map +1 -0
- package/dist/fiscal/conditions.js +190 -0
- package/dist/fiscal/conditions.js.map +1 -0
- package/dist/fiscal/contracts/nfse-adn-contract.d.ts +315 -0
- package/dist/fiscal/contracts/nfse-adn-contract.d.ts.map +1 -0
- package/dist/fiscal/contracts/nfse-adn-contract.js +386 -0
- package/dist/fiscal/contracts/nfse-adn-contract.js.map +1 -0
- package/dist/fiscal/contracts/nfse-adn-endpoint.d.ts +13 -0
- package/dist/fiscal/contracts/nfse-adn-endpoint.d.ts.map +1 -0
- package/dist/fiscal/contracts/nfse-adn-endpoint.js +103 -0
- package/dist/fiscal/contracts/nfse-adn-endpoint.js.map +1 -0
- package/dist/fiscal/contracts/nfse-adn-envelope.d.ts +77 -0
- package/dist/fiscal/contracts/nfse-adn-envelope.d.ts.map +1 -0
- package/dist/fiscal/contracts/nfse-adn-envelope.js +215 -0
- package/dist/fiscal/contracts/nfse-adn-envelope.js.map +1 -0
- package/dist/fiscal/coverage/model.d.ts +86 -0
- package/dist/fiscal/coverage/model.d.ts.map +1 -0
- package/dist/fiscal/coverage/model.js +120 -0
- package/dist/fiscal/coverage/model.js.map +1 -0
- package/dist/fiscal/coverage/requests.d.ts +70 -0
- package/dist/fiscal/coverage/requests.d.ts.map +1 -0
- package/dist/fiscal/coverage/requests.js +95 -0
- package/dist/fiscal/coverage/requests.js.map +1 -0
- package/dist/fiscal/credentials/material.d.ts +81 -0
- package/dist/fiscal/credentials/material.d.ts.map +1 -0
- package/dist/fiscal/credentials/material.js +164 -0
- package/dist/fiscal/credentials/material.js.map +1 -0
- package/dist/fiscal/credentials/readiness.d.ts +92 -0
- package/dist/fiscal/credentials/readiness.d.ts.map +1 -0
- package/dist/fiscal/credentials/readiness.js +159 -0
- package/dist/fiscal/credentials/readiness.js.map +1 -0
- package/dist/fiscal/eligibility.d.ts +106 -0
- package/dist/fiscal/eligibility.d.ts.map +1 -0
- package/dist/fiscal/eligibility.js +194 -0
- package/dist/fiscal/eligibility.js.map +1 -0
- package/dist/fiscal/ingestion/__fixtures__/nfse.d.ts +57 -0
- package/dist/fiscal/ingestion/__fixtures__/nfse.d.ts.map +1 -0
- package/dist/fiscal/ingestion/__fixtures__/nfse.js +121 -0
- package/dist/fiscal/ingestion/__fixtures__/nfse.js.map +1 -0
- package/dist/fiscal/ingestion/adn-transport.d.ts +123 -0
- package/dist/fiscal/ingestion/adn-transport.d.ts.map +1 -0
- package/dist/fiscal/ingestion/adn-transport.js +220 -0
- package/dist/fiscal/ingestion/adn-transport.js.map +1 -0
- package/dist/fiscal/ingestion/direction.d.ts +60 -0
- package/dist/fiscal/ingestion/direction.d.ts.map +1 -0
- package/dist/fiscal/ingestion/direction.js +32 -0
- package/dist/fiscal/ingestion/direction.js.map +1 -0
- package/dist/fiscal/ingestion/nfse-adn.d.ts +91 -0
- package/dist/fiscal/ingestion/nfse-adn.d.ts.map +1 -0
- package/dist/fiscal/ingestion/nfse-adn.js +222 -0
- package/dist/fiscal/ingestion/nfse-adn.js.map +1 -0
- package/dist/fiscal/ingestion/pipeline.d.ts +168 -0
- package/dist/fiscal/ingestion/pipeline.d.ts.map +1 -0
- package/dist/fiscal/ingestion/pipeline.js +699 -0
- package/dist/fiscal/ingestion/pipeline.js.map +1 -0
- package/dist/fiscal/ingestion/provider.d.ts +206 -0
- package/dist/fiscal/ingestion/provider.d.ts.map +1 -0
- package/dist/fiscal/ingestion/provider.js +47 -0
- package/dist/fiscal/ingestion/provider.js.map +1 -0
- package/dist/fiscal/ingestion/repository.d.ts +82 -0
- package/dist/fiscal/ingestion/repository.d.ts.map +1 -0
- package/dist/fiscal/ingestion/repository.js +127 -0
- package/dist/fiscal/ingestion/repository.js.map +1 -0
- package/dist/fiscal/ingestion/synthetic-provider.d.ts +92 -0
- package/dist/fiscal/ingestion/synthetic-provider.d.ts.map +1 -0
- package/dist/fiscal/ingestion/synthetic-provider.js +99 -0
- package/dist/fiscal/ingestion/synthetic-provider.js.map +1 -0
- package/dist/fiscal/ingestion/synthetic-transport-types.d.ts +19 -0
- package/dist/fiscal/ingestion/synthetic-transport-types.d.ts.map +1 -0
- package/dist/fiscal/ingestion/synthetic-transport-types.js +9 -0
- package/dist/fiscal/ingestion/synthetic-transport-types.js.map +1 -0
- package/dist/fiscal/ingestion/synthetic-transport.d.ts +55 -0
- package/dist/fiscal/ingestion/synthetic-transport.d.ts.map +1 -0
- package/dist/fiscal/ingestion/synthetic-transport.js +57 -0
- package/dist/fiscal/ingestion/synthetic-transport.js.map +1 -0
- package/dist/fiscal/ingestion/xml-reader.d.ts +55 -0
- package/dist/fiscal/ingestion/xml-reader.d.ts.map +1 -0
- package/dist/fiscal/ingestion/xml-reader.js +112 -0
- package/dist/fiscal/ingestion/xml-reader.js.map +1 -0
- package/dist/fiscal/repository.d.ts +220 -0
- package/dist/fiscal/repository.d.ts.map +1 -0
- package/dist/fiscal/repository.js +449 -0
- package/dist/fiscal/repository.js.map +1 -0
- package/dist/fiscal/sync/circuit.d.ts +86 -0
- package/dist/fiscal/sync/circuit.d.ts.map +1 -0
- package/dist/fiscal/sync/circuit.js +118 -0
- package/dist/fiscal/sync/circuit.js.map +1 -0
- package/dist/fiscal/sync/intervention.d.ts +81 -0
- package/dist/fiscal/sync/intervention.d.ts.map +1 -0
- package/dist/fiscal/sync/intervention.js +135 -0
- package/dist/fiscal/sync/intervention.js.map +1 -0
- package/dist/fiscal/sync/lease.d.ts +118 -0
- package/dist/fiscal/sync/lease.d.ts.map +1 -0
- package/dist/fiscal/sync/lease.js +139 -0
- package/dist/fiscal/sync/lease.js.map +1 -0
- package/dist/fiscal/sync/observability.d.ts +148 -0
- package/dist/fiscal/sync/observability.d.ts.map +1 -0
- package/dist/fiscal/sync/observability.js +239 -0
- package/dist/fiscal/sync/observability.js.map +1 -0
- package/dist/fiscal/sync/orchestrator.d.ts +132 -0
- package/dist/fiscal/sync/orchestrator.d.ts.map +1 -0
- package/dist/fiscal/sync/orchestrator.js +487 -0
- package/dist/fiscal/sync/orchestrator.js.map +1 -0
- package/dist/fiscal/sync/policy.d.ts +87 -0
- package/dist/fiscal/sync/policy.d.ts.map +1 -0
- package/dist/fiscal/sync/policy.js +136 -0
- package/dist/fiscal/sync/policy.js.map +1 -0
- package/dist/fiscal/sync/reprocess.d.ts +76 -0
- package/dist/fiscal/sync/reprocess.d.ts.map +1 -0
- package/dist/fiscal/sync/reprocess.js +237 -0
- package/dist/fiscal/sync/reprocess.js.map +1 -0
- package/dist/fiscal/sync/retry.d.ts +82 -0
- package/dist/fiscal/sync/retry.d.ts.map +1 -0
- package/dist/fiscal/sync/retry.js +176 -0
- package/dist/fiscal/sync/retry.js.map +1 -0
- package/dist/fiscal/sync/secret-boundary.d.ts +169 -0
- package/dist/fiscal/sync/secret-boundary.d.ts.map +1 -0
- package/dist/fiscal/sync/secret-boundary.js +116 -0
- package/dist/fiscal/sync/secret-boundary.js.map +1 -0
- package/dist/fiscal/transport/https.d.ts +86 -0
- package/dist/fiscal/transport/https.d.ts.map +1 -0
- package/dist/fiscal/transport/https.js +303 -0
- package/dist/fiscal/transport/https.js.map +1 -0
- package/dist/fiscal/transport/synthetic-tls.d.ts +80 -0
- package/dist/fiscal/transport/synthetic-tls.d.ts.map +1 -0
- package/dist/fiscal/transport/synthetic-tls.js +323 -0
- package/dist/fiscal/transport/synthetic-tls.js.map +1 -0
- package/dist/fiscal/transport/types.d.ts +134 -0
- package/dist/fiscal/transport/types.d.ts.map +1 -0
- package/dist/fiscal/transport/types.js +88 -0
- package/dist/fiscal/transport/types.js.map +1 -0
- package/dist/import/br-documents.d.ts +26 -0
- package/dist/import/br-documents.d.ts.map +1 -0
- package/dist/import/br-documents.js +78 -0
- package/dist/import/br-documents.js.map +1 -0
- package/dist/import/clients-import.d.ts +122 -4
- package/dist/import/clients-import.d.ts.map +1 -1
- package/dist/import/clients-import.js +341 -41
- package/dist/import/clients-import.js.map +1 -1
- package/dist/index.d.ts +217 -17
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +196 -11
- package/dist/index.js.map +1 -1
- package/dist/legal/documents.d.ts +12 -1
- package/dist/legal/documents.d.ts.map +1 -1
- package/dist/legal/documents.js +222 -16
- package/dist/legal/documents.js.map +1 -1
- package/dist/legal/index.d.ts +2 -2
- package/dist/legal/index.d.ts.map +1 -1
- package/dist/legal/index.js +1 -1
- package/dist/legal/index.js.map +1 -1
- package/dist/legal/types.d.ts +69 -3
- package/dist/legal/types.d.ts.map +1 -1
- package/dist/legal/types.js +1 -0
- package/dist/legal/types.js.map +1 -1
- package/dist/mail/auth-templates.d.ts +15 -0
- package/dist/mail/auth-templates.d.ts.map +1 -0
- package/dist/mail/auth-templates.js +26 -0
- package/dist/mail/auth-templates.js.map +1 -0
- package/dist/mail/dedup-store.d.ts +1 -24
- package/dist/mail/dedup-store.d.ts.map +1 -1
- package/dist/mail/dedup-store.js +9 -48
- package/dist/mail/dedup-store.js.map +1 -1
- package/dist/mail/index.d.ts +2 -1
- package/dist/mail/index.d.ts.map +1 -1
- package/dist/mail/index.js +13 -2
- package/dist/mail/index.js.map +1 -1
- package/dist/mail/provider.d.ts +2 -30
- package/dist/mail/provider.d.ts.map +1 -1
- package/dist/mail/provider.js +10 -246
- package/dist/mail/provider.js.map +1 -1
- package/dist/mail/resend.d.ts +2 -12
- package/dist/mail/resend.d.ts.map +1 -1
- package/dist/mail/resend.js +11 -17
- package/dist/mail/resend.js.map +1 -1
- package/dist/mail/sender-resolver.d.ts +1 -7
- package/dist/mail/sender-resolver.d.ts.map +1 -1
- package/dist/mail/sender-resolver.js +11 -10
- package/dist/mail/sender-resolver.js.map +1 -1
- package/dist/mail/template-renderer.d.ts +1 -9
- package/dist/mail/template-renderer.d.ts.map +1 -1
- package/dist/mail/template-renderer.js +10 -15
- package/dist/mail/template-renderer.js.map +1 -1
- package/dist/mail/transactional-outbound.d.ts +115 -0
- package/dist/mail/transactional-outbound.d.ts.map +1 -0
- package/dist/mail/transactional-outbound.js +113 -0
- package/dist/mail/transactional-outbound.js.map +1 -0
- package/dist/mail/types.d.ts +2 -142
- package/dist/mail/types.d.ts.map +1 -1
- package/dist/mail/types.js +1 -33
- package/dist/mail/types.js.map +1 -1
- package/dist/onboarding/persistence.d.ts +10 -1
- package/dist/onboarding/persistence.d.ts.map +1 -1
- package/dist/onboarding/persistence.js +4 -4
- package/dist/onboarding/persistence.js.map +1 -1
- package/dist/pilot/go-live-checklist.d.ts +41 -0
- package/dist/pilot/go-live-checklist.d.ts.map +1 -0
- package/dist/pilot/go-live-checklist.js +209 -0
- package/dist/pilot/go-live-checklist.js.map +1 -0
- package/dist/pilot/milestone.d.ts +56 -0
- package/dist/pilot/milestone.d.ts.map +1 -0
- package/dist/pilot/milestone.js +74 -0
- package/dist/pilot/milestone.js.map +1 -0
- package/dist/platform/capabilities.d.ts +88 -0
- package/dist/platform/capabilities.d.ts.map +1 -0
- package/dist/platform/capabilities.js +140 -0
- package/dist/platform/capabilities.js.map +1 -0
- package/dist/platform/job-contract.d.ts +232 -0
- package/dist/platform/job-contract.d.ts.map +1 -0
- package/dist/platform/job-contract.js +403 -0
- package/dist/platform/job-contract.js.map +1 -0
- package/dist/portal/provisioning.d.ts +58 -0
- package/dist/portal/provisioning.d.ts.map +1 -0
- package/dist/portal/provisioning.js +139 -0
- package/dist/portal/provisioning.js.map +1 -0
- package/dist/pricing-engine/canonical.d.ts +14 -0
- package/dist/pricing-engine/canonical.d.ts.map +1 -0
- package/dist/pricing-engine/canonical.js +39 -0
- package/dist/pricing-engine/canonical.js.map +1 -0
- package/dist/pricing-engine/errors.d.ts.map +1 -1
- package/dist/pricing-engine/errors.js +6 -1
- package/dist/pricing-engine/errors.js.map +1 -1
- package/dist/pricing-engine/index.d.ts +12 -2
- package/dist/pricing-engine/index.d.ts.map +1 -1
- package/dist/pricing-engine/index.js +6 -1
- package/dist/pricing-engine/index.js.map +1 -1
- package/dist/pricing-engine/pipeline.d.ts.map +1 -1
- package/dist/pricing-engine/pipeline.js +202 -28
- package/dist/pricing-engine/pipeline.js.map +1 -1
- package/dist/pricing-engine/shadow-adapter.d.ts +37 -0
- package/dist/pricing-engine/shadow-adapter.d.ts.map +1 -0
- package/dist/pricing-engine/shadow-adapter.js +75 -0
- package/dist/pricing-engine/shadow-adapter.js.map +1 -0
- package/dist/pricing-engine/shadow-diff.d.ts +26 -0
- package/dist/pricing-engine/shadow-diff.d.ts.map +1 -0
- package/dist/pricing-engine/shadow-diff.js +52 -0
- package/dist/pricing-engine/shadow-diff.js.map +1 -0
- package/dist/pricing-engine/shadow-facade.d.ts +42 -0
- package/dist/pricing-engine/shadow-facade.d.ts.map +1 -0
- package/dist/pricing-engine/shadow-facade.js +82 -0
- package/dist/pricing-engine/shadow-facade.js.map +1 -0
- package/dist/pricing-engine/shadow-legacy-types.d.ts +64 -0
- package/dist/pricing-engine/shadow-legacy-types.d.ts.map +1 -0
- package/dist/pricing-engine/shadow-legacy-types.js +18 -0
- package/dist/pricing-engine/shadow-legacy-types.js.map +1 -0
- package/dist/pricing-engine/shadow-metrics.d.ts +33 -0
- package/dist/pricing-engine/shadow-metrics.d.ts.map +1 -0
- package/dist/pricing-engine/shadow-metrics.js +31 -0
- package/dist/pricing-engine/shadow-metrics.js.map +1 -0
- package/dist/pricing-engine/shadow-normalizer.d.ts +17 -0
- package/dist/pricing-engine/shadow-normalizer.d.ts.map +1 -0
- package/dist/pricing-engine/shadow-normalizer.js +39 -0
- package/dist/pricing-engine/shadow-normalizer.js.map +1 -0
- package/dist/pricing-engine/types.d.ts +2 -0
- package/dist/pricing-engine/types.d.ts.map +1 -1
- package/dist/rbac/authorize.d.ts +12 -0
- package/dist/rbac/authorize.d.ts.map +1 -1
- package/dist/rbac/authorize.js +27 -0
- package/dist/rbac/authorize.js.map +1 -1
- package/dist/rbac/catalog.d.ts.map +1 -1
- package/dist/rbac/catalog.js +101 -1
- package/dist/rbac/catalog.js.map +1 -1
- package/dist/rbac/workload-provisioning.d.ts +66 -0
- package/dist/rbac/workload-provisioning.d.ts.map +1 -0
- package/dist/rbac/workload-provisioning.js +153 -0
- package/dist/rbac/workload-provisioning.js.map +1 -0
- package/dist/rbac/workload.d.ts +124 -0
- package/dist/rbac/workload.d.ts.map +1 -0
- package/dist/rbac/workload.js +184 -0
- package/dist/rbac/workload.js.map +1 -0
- package/dist/storage/checksum.d.ts +9 -0
- package/dist/storage/checksum.d.ts.map +1 -0
- package/dist/storage/checksum.js +12 -0
- package/dist/storage/checksum.js.map +1 -0
- package/dist/storage/key.d.ts +37 -0
- package/dist/storage/key.d.ts.map +1 -0
- package/dist/storage/key.js +67 -0
- package/dist/storage/key.js.map +1 -0
- package/dist/storage/local.d.ts +40 -0
- package/dist/storage/local.d.ts.map +1 -0
- package/dist/storage/local.js +96 -0
- package/dist/storage/local.js.map +1 -0
- package/dist/storage/r2.d.ts +43 -0
- package/dist/storage/r2.d.ts.map +1 -0
- package/dist/storage/r2.js +177 -0
- package/dist/storage/r2.js.map +1 -0
- package/dist/storage/registry.d.ts +23 -0
- package/dist/storage/registry.d.ts.map +1 -0
- package/dist/storage/registry.js +37 -0
- package/dist/storage/registry.js.map +1 -0
- package/dist/storage/types.d.ts +67 -0
- package/dist/storage/types.d.ts.map +1 -0
- package/dist/storage/types.js +45 -0
- package/dist/storage/types.js.map +1 -0
- package/dist/subscription-billing/index.d.ts +6 -5
- package/dist/subscription-billing/index.d.ts.map +1 -1
- package/dist/subscription-billing/index.js +3 -3
- package/dist/subscription-billing/index.js.map +1 -1
- package/dist/subscription-billing/provider/asaas.d.ts +14 -0
- package/dist/subscription-billing/provider/asaas.d.ts.map +1 -1
- package/dist/subscription-billing/provider/asaas.js +32 -7
- package/dist/subscription-billing/provider/asaas.js.map +1 -1
- package/dist/subscription-billing/provider/disabled.d.ts +9 -0
- package/dist/subscription-billing/provider/disabled.d.ts.map +1 -1
- package/dist/subscription-billing/provider/disabled.js +8 -0
- package/dist/subscription-billing/provider/disabled.js.map +1 -1
- package/dist/subscription-billing/provider/registry.d.ts +10 -0
- package/dist/subscription-billing/provider/registry.d.ts.map +1 -1
- package/dist/subscription-billing/provider/registry.js +17 -0
- package/dist/subscription-billing/provider/registry.js.map +1 -1
- package/dist/subscription-billing/service.d.ts +38 -1
- package/dist/subscription-billing/service.d.ts.map +1 -1
- package/dist/subscription-billing/service.js +147 -23
- package/dist/subscription-billing/service.js.map +1 -1
- package/dist/subscription-billing/types.d.ts +13 -0
- package/dist/subscription-billing/types.d.ts.map +1 -1
- package/dist/subscription-billing/types.js.map +1 -1
- package/dist/tenancy/features.d.ts +69 -0
- package/dist/tenancy/features.d.ts.map +1 -0
- package/dist/tenancy/features.js +123 -0
- package/dist/tenancy/features.js.map +1 -0
- package/dist/tenancy/provisioning.d.ts.map +1 -1
- package/dist/tenancy/provisioning.js +32 -8
- package/dist/tenancy/provisioning.js.map +1 -1
- package/dist/tenancy/settings.d.ts +63 -0
- package/dist/tenancy/settings.d.ts.map +1 -0
- package/dist/tenancy/settings.js +218 -0
- package/dist/tenancy/settings.js.map +1 -0
- package/dist/users/repository.d.ts +54 -1
- package/dist/users/repository.d.ts.map +1 -1
- package/dist/users/repository.js +142 -4
- package/dist/users/repository.js.map +1 -1
- package/dist/vault/repository.d.ts +67 -0
- package/dist/vault/repository.d.ts.map +1 -1
- package/dist/vault/repository.js +78 -0
- package/dist/vault/repository.js.map +1 -1
- package/package.json +20 -4
- package/src/db/migrations/0023_user_invite_activation.sql +15 -0
- package/src/db/migrations/0024_set_user_password_function.sql +32 -0
- package/src/db/migrations/0025_revoke_user_session_function.sql +28 -0
- package/src/db/migrations/0026_documents_and_competence.sql +353 -0
- package/src/db/migrations/0027_receivable_client_isolation.sql +58 -0
- package/src/db/migrations/0028_collection_engine.sql +94 -0
- package/src/db/migrations/0029_payment_rail.sql +107 -0
- package/src/db/migrations/0030_provider_account_uniqueness.sql +22 -0
- package/src/db/migrations/0031_provider_account_environment_scope.sql +21 -0
- package/src/db/migrations/0032_settlement_reversal.sql +76 -0
- package/src/db/migrations/0033_receivable_idempotency.sql +28 -0
- package/src/db/migrations/0034_payment_customer_reconcile.sql +30 -0
- package/src/db/migrations/0035_payment_account_environments.sql +61 -0
- package/src/db/migrations/0036_primary_backfill_under_force_rls.sql +41 -0
- package/src/db/migrations/0037_receivable_generation_source.sql +29 -0
- package/src/db/migrations/0038_notification_channels.sql +175 -0
- package/src/db/migrations/0039_communication_dispatch_claim.sql +193 -0
- package/src/db/migrations/0040_communication_unknown_outcome.sql +99 -0
- package/src/db/migrations/0041_channel_binding_routing.sql +146 -0
- package/src/db/migrations/0042_channel_route_read_isolation.sql +165 -0
- package/src/db/migrations/0043_workload_identity.sql +105 -0
- package/src/db/migrations/0044_channel_onboarding_session.sql +96 -0
- package/src/db/migrations/0045_role_write_scope.sql +122 -0
- package/src/db/migrations/0046_pilot_activation_model.sql +184 -0
- package/src/db/migrations/0047_recipient_clearance.sql +89 -0
- package/src/db/migrations/0048_item_type_note.sql +16 -0
- package/src/db/migrations/0049_national_fiscal_engine.sql +279 -0
- package/src/db/migrations/0050_fiscal_vocabulary_readonly.sql +29 -0
- package/src/db/migrations/0051_seed_rules_from_catalog.sql +72 -0
- package/src/db/migrations/0052_fiscal_rule_delete_scope.sql +57 -0
- package/src/db/migrations/0053_rule_validity_lower_bound.sql +44 -0
- package/src/db/migrations/0054_tenant_profile_and_rule_source.sql +89 -0
- package/src/db/migrations/0055_job_capability_contract.sql +300 -0
- package/src/db/migrations/0056_fiscal_document_ingestion.sql +337 -0
- package/src/db/migrations/0057_fiscal_pending_event_inbox.sql +228 -0
- package/src/db/migrations/0058_fiscal_operational_engine.sql +516 -0
- package/src/db/migrations/0059_fiscal_contract_version.sql +59 -0
- package/dist/cjs/mail/resend-client.js +0 -103
- package/dist/cjs/mail/resend-client.js.map +0 -1
- package/dist/mail/resend-client.d.ts +0 -16
- package/dist/mail/resend-client.d.ts.map +0 -1
- package/dist/mail/resend-client.js +0 -100
- package/dist/mail/resend-client.js.map +0 -1
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Condições de aplicabilidade — uma AST declarativa, tipada e interpretada.
|
|
4
|
+
*
|
|
5
|
+
* ## Por que não uma linguagem
|
|
6
|
+
*
|
|
7
|
+
* A tentação é guardar uma expressão e avaliá-la. Nada aqui é avaliado: não há
|
|
8
|
+
* `eval`, nem `Function`, nem SQL montado, nem código do usuário. A condição é
|
|
9
|
+
* um objeto JSON com formato fechado, validado na escrita e percorrido por um
|
|
10
|
+
* `switch` na leitura. O pior que uma condição malformada consegue fazer é ser
|
|
11
|
+
* recusada.
|
|
12
|
+
*
|
|
13
|
+
* ## Por que não uma floresta de `if`
|
|
14
|
+
*
|
|
15
|
+
* A alternativa seria `requires_employees`, `requires_icms`, `requires_iss`…
|
|
16
|
+
* uma coluna e um `if` por pergunta fiscal. Não escala: cada UF e cada segmento
|
|
17
|
+
* acrescenta perguntas, e o motor vira uma cascata que ninguém consegue ler nem
|
|
18
|
+
* testar. Aqui o motor sabe avaliar **operadores**; o catálogo declara **fatos**.
|
|
19
|
+
*
|
|
20
|
+
* ## O terceiro valor
|
|
21
|
+
*
|
|
22
|
+
* A avaliação não devolve booleano. Devolve `true`, `false` ou **`unknown`** —
|
|
23
|
+
* e `unknown` é o ponto inteiro desta fase. Um cliente sobre o qual ninguém
|
|
24
|
+
* disse se tem empregados não é "sem empregados": é desconhecido, e a decisão
|
|
25
|
+
* segura é não gerar nem declarar isento. Colapsar `unknown` em `false` é
|
|
26
|
+
* exatamente o defeito que a auditoria nacional encontrou.
|
|
27
|
+
*/
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.InvalidCondition = void 0;
|
|
30
|
+
exports.parseCondition = parseCondition;
|
|
31
|
+
exports.referencedAttributes = referencedAttributes;
|
|
32
|
+
exports.evaluate = evaluate;
|
|
33
|
+
exports.missingAttributes = missingAttributes;
|
|
34
|
+
const OPS = new Set(['always', 'eq', 'neq', 'in', 'not_in', 'exists', 'not_exists', 'and', 'or']);
|
|
35
|
+
class InvalidCondition extends Error {
|
|
36
|
+
constructor(message) {
|
|
37
|
+
super(message);
|
|
38
|
+
this.name = 'InvalidCondition';
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.InvalidCondition = InvalidCondition;
|
|
42
|
+
/**
|
|
43
|
+
* Valida a forma ANTES de gravar.
|
|
44
|
+
*
|
|
45
|
+
* Uma condição malformada gravada é uma regra que ninguém consegue avaliar, e
|
|
46
|
+
* o motor descobriria isso na madrugada do vencimento. Recusar na escrita é
|
|
47
|
+
* mais barato que descobrir na geração.
|
|
48
|
+
*
|
|
49
|
+
* `maxDepth` existe porque uma AST profunda o bastante estoura a pilha na
|
|
50
|
+
* avaliação, e a escrita é onde isso pode ser recusado com uma mensagem.
|
|
51
|
+
*/
|
|
52
|
+
function parseCondition(raw, depth = 0) {
|
|
53
|
+
if (depth > 12)
|
|
54
|
+
throw new InvalidCondition('condição aninhada demais (limite 12)');
|
|
55
|
+
if (typeof raw !== 'object' || raw === null || Array.isArray(raw)) {
|
|
56
|
+
throw new InvalidCondition('condição precisa ser um objeto');
|
|
57
|
+
}
|
|
58
|
+
const o = raw;
|
|
59
|
+
const op = o['op'];
|
|
60
|
+
if (typeof op !== 'string' || !OPS.has(op)) {
|
|
61
|
+
throw new InvalidCondition(`operador desconhecido: ${String(op)}`);
|
|
62
|
+
}
|
|
63
|
+
const attr = () => {
|
|
64
|
+
const a = o['attribute'];
|
|
65
|
+
if (typeof a !== 'string' || a.length === 0) {
|
|
66
|
+
throw new InvalidCondition(`${op} exige "attribute"`);
|
|
67
|
+
}
|
|
68
|
+
return a;
|
|
69
|
+
};
|
|
70
|
+
const scalar = () => {
|
|
71
|
+
const v = o['value'];
|
|
72
|
+
if (typeof v !== 'string' && typeof v !== 'boolean') {
|
|
73
|
+
throw new InvalidCondition(`${op} exige "value" texto ou booleano`);
|
|
74
|
+
}
|
|
75
|
+
return v;
|
|
76
|
+
};
|
|
77
|
+
const list = () => {
|
|
78
|
+
const v = o['values'];
|
|
79
|
+
if (!Array.isArray(v) || v.length === 0) {
|
|
80
|
+
throw new InvalidCondition(`${op} exige "values" não vazio`);
|
|
81
|
+
}
|
|
82
|
+
return v.map((x) => {
|
|
83
|
+
if (typeof x !== 'string' && typeof x !== 'boolean') {
|
|
84
|
+
throw new InvalidCondition(`${op} aceita apenas texto ou booleano em "values"`);
|
|
85
|
+
}
|
|
86
|
+
return x;
|
|
87
|
+
});
|
|
88
|
+
};
|
|
89
|
+
const children = () => {
|
|
90
|
+
const v = o['of'];
|
|
91
|
+
if (!Array.isArray(v) || v.length === 0) {
|
|
92
|
+
throw new InvalidCondition(`${op} exige "of" não vazio`);
|
|
93
|
+
}
|
|
94
|
+
return v.map((c) => parseCondition(c, depth + 1));
|
|
95
|
+
};
|
|
96
|
+
switch (op) {
|
|
97
|
+
case 'always':
|
|
98
|
+
return { op: 'always' };
|
|
99
|
+
case 'eq':
|
|
100
|
+
return { op: 'eq', attribute: attr(), value: scalar() };
|
|
101
|
+
case 'neq':
|
|
102
|
+
return { op: 'neq', attribute: attr(), value: scalar() };
|
|
103
|
+
case 'in':
|
|
104
|
+
return { op: 'in', attribute: attr(), values: list() };
|
|
105
|
+
case 'not_in':
|
|
106
|
+
return { op: 'not_in', attribute: attr(), values: list() };
|
|
107
|
+
case 'exists':
|
|
108
|
+
return { op: 'exists', attribute: attr() };
|
|
109
|
+
case 'not_exists':
|
|
110
|
+
return { op: 'not_exists', attribute: attr() };
|
|
111
|
+
case 'and':
|
|
112
|
+
return { op: 'and', of: children() };
|
|
113
|
+
default:
|
|
114
|
+
return { op: 'or', of: children() };
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
/** Atributos citados pela condição — o motor usa para explicar o que faltou. */
|
|
118
|
+
function referencedAttributes(c, into = new Set()) {
|
|
119
|
+
switch (c.op) {
|
|
120
|
+
case 'always':
|
|
121
|
+
break;
|
|
122
|
+
case 'and':
|
|
123
|
+
case 'or':
|
|
124
|
+
for (const child of c.of)
|
|
125
|
+
referencedAttributes(child, into);
|
|
126
|
+
break;
|
|
127
|
+
default:
|
|
128
|
+
into.add(c.attribute);
|
|
129
|
+
}
|
|
130
|
+
return into;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Avalia em lógica ternária.
|
|
134
|
+
*
|
|
135
|
+
* As regras de `and` e `or` são as de Kleene, e a escolha importa:
|
|
136
|
+
*
|
|
137
|
+
* - `and` com um `false` é `false` mesmo havendo desconhecidos — não adianta
|
|
138
|
+
* saber o resto, a regra já não se aplica;
|
|
139
|
+
* - `or` com um `true` é `true` pelo mesmo motivo;
|
|
140
|
+
* - fora esses casos, qualquer desconhecido torna o todo desconhecido.
|
|
141
|
+
*
|
|
142
|
+
* Sem isso, uma regra "Simples E tem empregados" avaliada para um cliente do
|
|
143
|
+
* Lucro Real sem informação de folha devolveria `unknown` e viraria pendência
|
|
144
|
+
* na mesa de alguém — quando a resposta já era `false` pelo regime.
|
|
145
|
+
*/
|
|
146
|
+
function evaluate(condition, profile) {
|
|
147
|
+
switch (condition.op) {
|
|
148
|
+
case 'always':
|
|
149
|
+
return true;
|
|
150
|
+
case 'exists':
|
|
151
|
+
return profile[condition.attribute] !== undefined;
|
|
152
|
+
case 'not_exists':
|
|
153
|
+
return profile[condition.attribute] === undefined;
|
|
154
|
+
case 'eq':
|
|
155
|
+
case 'neq': {
|
|
156
|
+
const v = profile[condition.attribute];
|
|
157
|
+
if (v === undefined)
|
|
158
|
+
return 'unknown';
|
|
159
|
+
const igual = v === condition.value;
|
|
160
|
+
return condition.op === 'eq' ? igual : !igual;
|
|
161
|
+
}
|
|
162
|
+
case 'in':
|
|
163
|
+
case 'not_in': {
|
|
164
|
+
const v = profile[condition.attribute];
|
|
165
|
+
if (v === undefined)
|
|
166
|
+
return 'unknown';
|
|
167
|
+
const dentro = condition.values.includes(v);
|
|
168
|
+
return condition.op === 'in' ? dentro : !dentro;
|
|
169
|
+
}
|
|
170
|
+
case 'and': {
|
|
171
|
+
let desconhecido = false;
|
|
172
|
+
for (const c of condition.of) {
|
|
173
|
+
const r = evaluate(c, profile);
|
|
174
|
+
if (r === false)
|
|
175
|
+
return false;
|
|
176
|
+
if (r === 'unknown')
|
|
177
|
+
desconhecido = true;
|
|
178
|
+
}
|
|
179
|
+
return desconhecido ? 'unknown' : true;
|
|
180
|
+
}
|
|
181
|
+
default: {
|
|
182
|
+
let desconhecido = false;
|
|
183
|
+
for (const c of condition.of) {
|
|
184
|
+
const r = evaluate(c, profile);
|
|
185
|
+
if (r === true)
|
|
186
|
+
return true;
|
|
187
|
+
if (r === 'unknown')
|
|
188
|
+
desconhecido = true;
|
|
189
|
+
}
|
|
190
|
+
return desconhecido ? 'unknown' : false;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
/** Atributos citados que o perfil não conhece — a explicação do `unknown`. */
|
|
195
|
+
function missingAttributes(condition, profile) {
|
|
196
|
+
return [...referencedAttributes(condition)].filter((a) => profile[a] === undefined).sort();
|
|
197
|
+
}
|
|
198
|
+
//# sourceMappingURL=conditions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conditions.js","sourceRoot":"","sources":["../../../src/fiscal/conditions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,390 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* O contrato oficial da NFS-e Nacional — ADN — como artefato versionado.
|
|
4
|
+
*
|
|
5
|
+
* ## Por que um módulo, e não comentários espalhados
|
|
6
|
+
*
|
|
7
|
+
* Até a Fase 2 o que sabíamos do ADN estava disperso em comentários de
|
|
8
|
+
* `nfse-adn.ts` e `adn-transport.ts`, misturado com o que apenas SUPÚNHAMOS. Um
|
|
9
|
+
* leitor não tinha como separar "o manual diz" de "assumimos por simetria com a
|
|
10
|
+
* NF-e" — e a segunda categoria é exatamente a que produz um parser que devolve
|
|
11
|
+
* lote vazio com sucesso aparente.
|
|
12
|
+
*
|
|
13
|
+
* Aqui cada afirmação carrega a fonte que a sustenta e, quando não há fonte, diz
|
|
14
|
+
* que não há. `evidence: 'official'` significa que existe um documento oficial
|
|
15
|
+
* publicado, com versão, data e sha256 registrados abaixo; `evidence:
|
|
16
|
+
* 'unverified'` significa que a afirmação é a melhor leitura disponível e NÃO
|
|
17
|
+
* foi conferida contra o serviço.
|
|
18
|
+
*
|
|
19
|
+
* A distinção não é documental: ela é executável. Um perfil de envelope com
|
|
20
|
+
* `verified: false` fecha o transporte real (`adn-transport.ts`), e é por isso
|
|
21
|
+
* que a Fase 3 termina com o motor pronto e parado em vez de pronto e chutando.
|
|
22
|
+
*
|
|
23
|
+
* ## O que foi medido nesta onda, e como
|
|
24
|
+
*
|
|
25
|
+
* Todo host do ADN — `adn.nfse.gov.br` e `adn.producaorestrita.nfse.gov.br` —
|
|
26
|
+
* exige TLS mútuo com certificado ICP-Brasil para TODOS os seus módulos,
|
|
27
|
+
* documentação inclusive. Medido em 2026-09-08 percorrendo as dezesseis URLs de
|
|
28
|
+
* Swagger publicadas em gov.br (oito módulos × dois ambientes): o handshake
|
|
29
|
+
* completa, o servidor envia `CertificateRequest` — 170 CAs aceitas em produção
|
|
30
|
+
* restrita, 5 em produção — e então encerra a conexão sem UM byte de HTTP.
|
|
31
|
+
* Não há caminho público para ler o envelope de resposta.
|
|
32
|
+
*
|
|
33
|
+
* Por isso o envelope permanece `unverified`, e por isso a Fase 3 não é a
|
|
34
|
+
* primeira conexão real: é a transformação do que ESTÁ publicado num contrato
|
|
35
|
+
* executável que se recusa a adivinhar o que não está.
|
|
36
|
+
*/
|
|
37
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
+
exports.ADN_REAL_TRANSPORT_ENABLED = exports.ADN_SYNTHETIC_ENVELOPE_PROFILE = exports.ADN_OFFICIAL_ENVELOPE_PROFILE = exports.NFSE_ADN_OFFICIAL_CODES = exports.NFSE_ADN_OPERATIONS = exports.NFSE_ADN_NSU_SERIES_IN_USE = exports.NFSE_ADN_NSU_SERIES = exports.NFSE_ADN_LIMITS = exports.NFSE_ADN_HOSTS = exports.NFSE_ADN_A1_RATIONALE = exports.NFSE_ADN_A1_REQUIREMENT = exports.NFSE_ADN_MTLS_REQUIREMENT = exports.NFSE_ADN_ENVELOPE_SHAPE_VERIFIED = exports.NFSE_ADN_PAYLOAD_SHAPE_VERIFIED = exports.NFSE_ADN_OFFICIAL_SOURCES = exports.NFSE_ADN_CONTRACT_VERSION = void 0;
|
|
39
|
+
exports.adnRealTransportBlockers = adnRealTransportBlockers;
|
|
40
|
+
/**
|
|
41
|
+
* A versão do contrato que este código implementa.
|
|
42
|
+
*
|
|
43
|
+
* Vai gravada em `fiscal_sync_run.contract_version`. O motivo é operacional e
|
|
44
|
+
* concreto: quando o governo alterar o leiaute — e ele já alterou duas vezes
|
|
45
|
+
* entre dez/2025 e fev/2026 —, a pergunta "qual parser processou este lote?"
|
|
46
|
+
* precisa ter resposta no dado, não na arqueologia do `git log`.
|
|
47
|
+
*/
|
|
48
|
+
exports.NFSE_ADN_CONTRACT_VERSION = 'nfse-adn:v1';
|
|
49
|
+
/**
|
|
50
|
+
* As fontes primárias. Somente gov.br / Portal Nacional NFS-e.
|
|
51
|
+
*
|
|
52
|
+
* Blog, fórum, artigo de fornecedor e repositório de terceiro ficaram de fora
|
|
53
|
+
* por decisão de fase, e não por desdém: nenhum deles é responsável pelo
|
|
54
|
+
* protocolo, e um deles CONTRADIZ o manual quanto ao papel do certificado.
|
|
55
|
+
* Pista serve para saber onde procurar; certificação, não.
|
|
56
|
+
*/
|
|
57
|
+
exports.NFSE_ADN_OFFICIAL_SOURCES = Object.freeze([
|
|
58
|
+
Object.freeze({
|
|
59
|
+
id: 'manual-contribuintes-adn',
|
|
60
|
+
title: 'Manual dos Contribuintes — Sistema Nacional NFS-e — Guia para utilização das API´s do ADN',
|
|
61
|
+
url: 'https://www.gov.br/nfse/pt-br/biblioteca/documentacao-tecnica/documentacao-atual/manual-contribuintes-apis-adn-sistema-nacional-nfse.pdf',
|
|
62
|
+
version: '1.0',
|
|
63
|
+
publishedAt: '2026-02-12',
|
|
64
|
+
sha256: '9ffc97d8b1be4c80a440b3569b0027df61265b9e75ef69437f21f9481a9a1d6d',
|
|
65
|
+
retrievedAt: '2026-09-08',
|
|
66
|
+
scope: 'Métodos do ADN para o contribuinte: GET /DFe/{NSU} e GET /NFSe/{ChaveAcesso}/Eventos; escopo por CNPJ Raiz do certificado.',
|
|
67
|
+
}),
|
|
68
|
+
Object.freeze({
|
|
69
|
+
id: 'manual-municipios-adn',
|
|
70
|
+
title: 'Manual dos Municípios Conveniados ao Sistema Nacional NFS-e — Guia para utilização das API´s do ADN',
|
|
71
|
+
url: 'https://www.gov.br/nfse/pt-br/biblioteca/documentacao-tecnica/documentacao-atual/manual-municipios-apis-adn-sistema-nacional-nfs-e-v1-2-out21025.pdf',
|
|
72
|
+
version: '1.0',
|
|
73
|
+
publishedAt: '2025-03-17',
|
|
74
|
+
sha256: '1e1463e68aa56dbd94e77c3597059b173b8c0a60b1234b3e8424cdcba033b067',
|
|
75
|
+
retrievedAt: '2026-09-08',
|
|
76
|
+
scope: 'Semântica dos quatro NSU, ordem crescente, teto de 50 por lote, ultNSU/maxNSU, espera de uma hora, e os três desfechos possíveis da distribuição.',
|
|
77
|
+
}),
|
|
78
|
+
Object.freeze({
|
|
79
|
+
id: 'anexo-iv-adn',
|
|
80
|
+
title: 'ANEXO_IV — ADN — SNNFSe (regras de negócio e códigos de erro do ADN)',
|
|
81
|
+
url: 'https://www.gov.br/nfse/pt-br/biblioteca/documentacao-tecnica/documentacao-atual/anexo_iv-adn-snnfse-v1-00-20251216.xlsx',
|
|
82
|
+
version: '1.00',
|
|
83
|
+
publishedAt: '2025-12-16',
|
|
84
|
+
sha256: 'fa778d0b6e58d62d90d72225b0495805108a4f4983ac77076044a21d8036302f',
|
|
85
|
+
retrievedAt: '2026-09-08',
|
|
86
|
+
scope: 'Códigos E1xxx (certificado, mensagem, área de dados) e E2xxx (distribuição), incluindo os do contribuinte: E2215, E2230, E2240, E2241.',
|
|
87
|
+
}),
|
|
88
|
+
Object.freeze({
|
|
89
|
+
id: 'esquemas-xsd-v1-01',
|
|
90
|
+
title: 'NFSe-ESQUEMAS_XSD-v1.01-20260209',
|
|
91
|
+
url: 'https://www.gov.br/nfse/pt-br/biblioteca/documentacao-tecnica/documentacao-atual/nfse-esquemas_xsd-v1-01-20260209.zip',
|
|
92
|
+
version: '1.01',
|
|
93
|
+
publishedAt: '2026-02-09',
|
|
94
|
+
sha256: 'e7935cbd9470527c6cc32984c1b2263e614183bf0139ce2733eaaed2de9a8072',
|
|
95
|
+
retrievedAt: '2026-09-08',
|
|
96
|
+
scope: 'Leiaute do CONTEÚDO: NFSe_v1.01, evento_v1.01, tiposComplexos, tiposEventos, tiposSimples. É a fonte do parser de documento e do mapa de eventos.',
|
|
97
|
+
}),
|
|
98
|
+
]);
|
|
99
|
+
/**
|
|
100
|
+
* ═══ A distinção que a Fase 3 existe para tornar precisa ═══════════════════
|
|
101
|
+
*
|
|
102
|
+
* `payloadShapeVerified` — o CONTEÚDO (o XML da NFS-e e do evento). Conferido
|
|
103
|
+
* contra o XSD oficial v1.01, cujo hash está acima. É `true`.
|
|
104
|
+
*
|
|
105
|
+
* `envelopeShapeVerified` — o ENVELOPE de transporte que embrulha esse conteúdo
|
|
106
|
+
* na resposta HTTP do ADN. NÃO existe em nenhum artefato alcançável sem
|
|
107
|
+
* certificado ICP-Brasil: o Swagger é servido pelo próprio host que exige TLS
|
|
108
|
+
* mútuo. É `false`.
|
|
109
|
+
*
|
|
110
|
+
* Uma constante só para os dois esconderia justamente a diferença que importa.
|
|
111
|
+
* O antigo `ADN_RESPONSE_SHAPE_VERIFIED` era essa constante única, e ela dizia
|
|
112
|
+
* `false` por causa do envelope — deixando o leitor concluir que também não
|
|
113
|
+
* sabíamos ler o documento, o que era falso e desnecessariamente pessimista.
|
|
114
|
+
*/
|
|
115
|
+
exports.NFSE_ADN_PAYLOAD_SHAPE_VERIFIED = true;
|
|
116
|
+
exports.NFSE_ADN_ENVELOPE_SHAPE_VERIFIED = false;
|
|
117
|
+
/**
|
|
118
|
+
* mTLS é exigência do PROTOCOLO neste endpoint — medido e documentado.
|
|
119
|
+
*
|
|
120
|
+
* Duas evidências independentes, e nenhuma delas é dedução:
|
|
121
|
+
*
|
|
122
|
+
* 1. O manual do contribuinte (v1.0, §1.1) fala do "CNPJ do certificado
|
|
123
|
+
* utilizado para ESTABELECER A CONEXÃO" e valida o CNPJ Raiz entre o
|
|
124
|
+
* parâmetro informado e esse certificado. Certificado que estabelece a
|
|
125
|
+
* conexão é certificado de cliente em TLS.
|
|
126
|
+
* 2. As dezesseis URLs oficiais de Swagger do ADN, nos dois ambientes, não
|
|
127
|
+
* devolvem um byte de HTTP sem certificado de cliente (medido 2026-09-08).
|
|
128
|
+
*
|
|
129
|
+
* O escopo desta afirmação é o HOST do ADN, e para nada além dele. A NFS-e
|
|
130
|
+
* nacional tem outros serviços — emissão pela Sefin, sistemas municipais
|
|
131
|
+
* próprios, Emissor Público Web com login gov.br — e generalizar um endpoint
|
|
132
|
+
* para todo o ecossistema seria o mesmo erro de método que a Fase 1 cometeu ao
|
|
133
|
+
* adivinhar código de evento por prefixo.
|
|
134
|
+
*/
|
|
135
|
+
exports.NFSE_ADN_MTLS_REQUIREMENT = 'required';
|
|
136
|
+
/**
|
|
137
|
+
* A1 continua REFUTADO como exigência de protocolo.
|
|
138
|
+
*
|
|
139
|
+
* O que as fontes oficiais exigem do certificado é: raiz ICP-Brasil (E1208),
|
|
140
|
+
* `KeyUsage` com Autenticação Cliente (E1200), extensão de CNPJ no `OtherName`
|
|
141
|
+
* OID 2.16.76.1.3.3 (E1209), cadeia e LCR válidas (E1205/E1206/E1207). Nada
|
|
142
|
+
* disso distingue A1 de A3 — um A3 em token satisfaz os cinco.
|
|
143
|
+
*
|
|
144
|
+
* A1 é PREFERÊNCIA DE AUTOMAÇÃO nossa: um worker sem pessoa presente não digita
|
|
145
|
+
* PIN de token. Registrar isso como preferência, e não como obrigação legal, é o
|
|
146
|
+
* que impede o produto de exigir do cliente um certificado que a norma não pede.
|
|
147
|
+
*/
|
|
148
|
+
exports.NFSE_ADN_A1_REQUIREMENT = 'refuted';
|
|
149
|
+
exports.NFSE_ADN_A1_RATIONALE = 'server_side_automation_preference';
|
|
150
|
+
/** Hosts oficiais, por ambiente. Nunca substituíveis um pelo outro. */
|
|
151
|
+
exports.NFSE_ADN_HOSTS = Object.freeze({
|
|
152
|
+
/** Produção RESTRITA: responde como o real sobre documento SEM valor fiscal. */
|
|
153
|
+
homologation: 'adn.producaorestrita.nfse.gov.br',
|
|
154
|
+
production: 'adn.nfse.gov.br',
|
|
155
|
+
});
|
|
156
|
+
/**
|
|
157
|
+
* Limites. Os oficiais vêm da norma; os defensivos são nossos e dizem que são.
|
|
158
|
+
*
|
|
159
|
+
* A separação existe porque um limite oficial ultrapassado é violação de norma —
|
|
160
|
+
* e o CNPJ bloqueado é o do CLIENTE —, enquanto um limite defensivo ultrapassado
|
|
161
|
+
* é só a nossa proteção agindo. Confundi-los faria alguém "afrouxar o limite"
|
|
162
|
+
* numa madrugada sem saber qual dos dois estava afrouxando.
|
|
163
|
+
*/
|
|
164
|
+
exports.NFSE_ADN_LIMITS = Object.freeze({
|
|
165
|
+
/** Manual dos Municípios §1.4.2.b: "Quantidade máxima de documentos no lote: 50". */
|
|
166
|
+
maxDocumentsPerBatch: { value: 50, evidence: 'official' },
|
|
167
|
+
/**
|
|
168
|
+
* Manual dos Municípios §1.4.2.b: espera mínima de UMA HORA depois de receber
|
|
169
|
+
* a indicação de que não há mais documentos.
|
|
170
|
+
*
|
|
171
|
+
* Isto corrige o comentário da Fase 1, que dizia que a NFS-e "não publica a
|
|
172
|
+
* regra de uma hora que a NF-e publica" e que adotávamos 3600s por simetria.
|
|
173
|
+
* Ela publica. A regra é dela, não emprestada.
|
|
174
|
+
*/
|
|
175
|
+
exhaustedWaitSeconds: { value: 3600, evidence: 'official' },
|
|
176
|
+
/**
|
|
177
|
+
* Teto de bytes da resposta HTTP. DEFENSIVO — a norma não fixa um.
|
|
178
|
+
*
|
|
179
|
+
* 16 MiB acomoda com folga 50 documentos comprimidos (uma NFS-e tem alguns KB)
|
|
180
|
+
* e impede que um servidor comprometido, um proxy hostil ou um defeito do lado
|
|
181
|
+
* de lá transformem uma sincronização em consumo ilimitado de memória.
|
|
182
|
+
*/
|
|
183
|
+
maxResponseBytes: { value: 16 * 1024 * 1024, evidence: 'unverified' },
|
|
184
|
+
/**
|
|
185
|
+
* Teto de bytes DESCOMPACTADOS por documento. DEFENSIVO.
|
|
186
|
+
*
|
|
187
|
+
* É o mesmo 8 MiB que `decodeFiscalXml` já impõe ao XML. Repeti-lo aqui não é
|
|
188
|
+
* duplicação: sem ele, uma bomba de descompressão estoura a memória ANTES de
|
|
189
|
+
* o leitor de XML ter a chance de recusar o tamanho.
|
|
190
|
+
*/
|
|
191
|
+
maxDecompressedBytesPerDocument: {
|
|
192
|
+
value: 8 * 1024 * 1024,
|
|
193
|
+
evidence: 'unverified',
|
|
194
|
+
},
|
|
195
|
+
/**
|
|
196
|
+
* Teto de bytes descompactados do lote inteiro. DEFENSIVO.
|
|
197
|
+
*
|
|
198
|
+
* 50 × 8 MiB seriam 400 MiB — o produto dos dois tetos anteriores não é um
|
|
199
|
+
* teto útil. 64 MiB é generoso para o caso real e finito para o hostil.
|
|
200
|
+
*/
|
|
201
|
+
maxDecompressedBytesPerBatch: {
|
|
202
|
+
value: 64 * 1024 * 1024,
|
|
203
|
+
evidence: 'unverified',
|
|
204
|
+
},
|
|
205
|
+
/** Teto de espera de uma requisição. DEFENSIVO — ver `FiscalTransportRequest`. */
|
|
206
|
+
requestTimeoutMs: { value: 30_000, evidence: 'unverified' },
|
|
207
|
+
});
|
|
208
|
+
/**
|
|
209
|
+
* As quatro séries de NSU do ADN — Manual dos Municípios §1.3.4.
|
|
210
|
+
*
|
|
211
|
+
* Confundi-las é o erro caro: cada uma numera um conjunto diferente de fatos, e
|
|
212
|
+
* usar o cursor de uma para consultar outra pularia documentos em silêncio.
|
|
213
|
+
* A nossa é a QUARTA, e apenas ela.
|
|
214
|
+
*/
|
|
215
|
+
exports.NFSE_ADN_NSU_SERIES = Object.freeze({
|
|
216
|
+
general: 'NSU Geral do ADN (por DF-e) — controle interno do ADN; NÃO é distribuição.',
|
|
217
|
+
municipalReception: 'NSU de Recepção/Backup (por Código de Município) — do município emissor.',
|
|
218
|
+
municipalDistribution: 'NSU de Distribuição (por Código de Município) — do município interessado.',
|
|
219
|
+
actorDistribution: 'NSU de Distribuição para os atores da NFS-e (por CPF/CNPJ) — Prestador, Tomador e Intermediário. É ESTA que o Office consome.',
|
|
220
|
+
});
|
|
221
|
+
/** A série que este adapter consome. Explícito para que nunca seja "a outra". */
|
|
222
|
+
exports.NFSE_ADN_NSU_SERIES_IN_USE = 'actorDistribution';
|
|
223
|
+
/**
|
|
224
|
+
* A matriz de contrato. Nada aqui é inferido em silêncio.
|
|
225
|
+
*
|
|
226
|
+
* Onde a fonte oficial não diz, o campo diz "não publicado" e o item entra em
|
|
227
|
+
* `unverified`. Um campo preenchido com a melhor suposição e sem marca seria
|
|
228
|
+
* indistinguível de um campo conferido — e essa indistinção é precisamente o
|
|
229
|
+
* defeito que a Fase 3 fecha.
|
|
230
|
+
*/
|
|
231
|
+
exports.NFSE_ADN_OPERATIONS = Object.freeze([
|
|
232
|
+
Object.freeze({
|
|
233
|
+
id: 'dfe-distribution',
|
|
234
|
+
method: 'GET',
|
|
235
|
+
path: '/DFe/{NSU}',
|
|
236
|
+
environments: ['homologation', 'production'],
|
|
237
|
+
authentication: 'TLS mútuo com certificado ICP-Brasil de pessoa jurídica; o certificado estabelece a conexão e identifica o solicitante.',
|
|
238
|
+
identityScope: 'CNPJ Raiz do certificado. O manual v1.0 acrescentou um parâmetro para consultar CNPJ diferente do certificado, validando a RAIZ entre os dois — o que autoriza filial da MESMA raiz, e nada além dela.',
|
|
239
|
+
requestFormat: 'Sem corpo. O NSU de continuação vai no caminho; `0` é o começo disponível.',
|
|
240
|
+
responseFormat: 'JSON (Manual dos Municípios §1.3.2: "As mensagens de comunicação com a API utilizarão o padrão JSON"), transportando DF-e cujo leiaute é XML assinado.',
|
|
241
|
+
cursorSemantics: 'Até 50 DF-e a partir do último NSU informado, em ordem CRESCENTE de NSU. O NSU é gerado por ordem cronológica de RECEPÇÃO pelo ADN, não de emissão. Documentos compartilhados pelo próprio solicitante não são distribuídos a ele.',
|
|
242
|
+
emptySemantics: 'Três desfechos publicados: rejeição com motivo; "nenhum documento localizado"; documento localizado. Para o contribuinte, "nenhum documento" é o código E2215 (a partir do NSU) ou E2230 (NSU pontual). Esgotamento é ultNSU === maxNSU, e obriga espera de 1h.',
|
|
243
|
+
errorShape: 'Códigos E1xxx/E2xxx do ANEXO_IV. O envelope JSON que os carrega NÃO está publicado fora do Swagger protegido por mTLS.',
|
|
244
|
+
rateLimitSemantics: 'Espera mínima de 1 hora após a indicação de esgotamento. A norma não publica cabeçalho de limite nem código HTTP de excesso para este endpoint.',
|
|
245
|
+
sourceId: 'manual-contribuintes-adn',
|
|
246
|
+
implemented: true,
|
|
247
|
+
unverified: Object.freeze([
|
|
248
|
+
'nomes e capitalização dos campos do envelope JSON',
|
|
249
|
+
'status HTTP associado a cada um dos três desfechos',
|
|
250
|
+
'codificação do conteúdo do documento (gzip+base64 é a forma usada pelo docZip da NF-e, não confirmada aqui)',
|
|
251
|
+
'nome do parâmetro de CNPJ de consulta acrescentado na v1.0',
|
|
252
|
+
]),
|
|
253
|
+
}),
|
|
254
|
+
Object.freeze({
|
|
255
|
+
id: 'nfse-events-by-key',
|
|
256
|
+
method: 'GET',
|
|
257
|
+
path: '/NFSe/{ChaveAcesso}/Eventos',
|
|
258
|
+
environments: ['homologation', 'production'],
|
|
259
|
+
authentication: 'TLS mútuo com certificado ICP-Brasil, idem.',
|
|
260
|
+
identityScope: 'A chave precisa referenciar o contribuinte solicitante; caso contrário E2241.',
|
|
261
|
+
requestFormat: 'Sem corpo. Chave de acesso de 53 posições no caminho.',
|
|
262
|
+
responseFormat: 'JSON com os eventos vinculados à chave; conteúdo XML por evento.',
|
|
263
|
+
cursorSemantics: 'Não tem cursor: é consulta pontual por chave.',
|
|
264
|
+
emptySemantics: 'E2240 — chave não localizada. E2241 — chave não referencia o solicitante.',
|
|
265
|
+
errorShape: 'Idem, códigos E2xxx do ANEXO_IV.',
|
|
266
|
+
rateLimitSemantics: 'Não publicada para esta operação.',
|
|
267
|
+
sourceId: 'manual-contribuintes-adn',
|
|
268
|
+
// Deliberadamente NÃO implementada nesta fase. O motor recebe os eventos
|
|
269
|
+
// pela própria distribuição por NSU — a série de atores distribui os eventos
|
|
270
|
+
// junto com os documentos (ANEXO_IV, aba de geração de NSU). Uma segunda
|
|
271
|
+
// porta para o mesmo fato só acrescentaria consumo contra o ambiente
|
|
272
|
+
// nacional sem trazer informação nova.
|
|
273
|
+
implemented: false,
|
|
274
|
+
unverified: Object.freeze(['envelope JSON', 'status HTTP por desfecho']),
|
|
275
|
+
}),
|
|
276
|
+
]);
|
|
277
|
+
exports.NFSE_ADN_OFFICIAL_CODES = Object.freeze(Object.fromEntries([
|
|
278
|
+
// ── Distribuição para os ATORES (o nosso caminho) ────────────────────
|
|
279
|
+
[
|
|
280
|
+
'E2215',
|
|
281
|
+
'Não existem DF-e para o contribuinte a partir do NSU informado',
|
|
282
|
+
'no_documents',
|
|
283
|
+
null,
|
|
284
|
+
],
|
|
285
|
+
['E2230', 'Não existe DF-e para o contribuinte com o NSU informado', 'no_documents', null],
|
|
286
|
+
['E2240', 'Chave de acesso não localizada', 'no_documents', null],
|
|
287
|
+
[
|
|
288
|
+
'E2241',
|
|
289
|
+
'Chave de acesso não referencia o contribuinte solicitante',
|
|
290
|
+
'error',
|
|
291
|
+
'not_allowed',
|
|
292
|
+
],
|
|
293
|
+
// ── Certificado de transmissão ───────────────────────────────────────
|
|
294
|
+
['E1200', 'Certificado de transmissão inválido', 'error', 'auth'],
|
|
295
|
+
['E1203', 'Certificado de transmissão expirado', 'error', 'auth'],
|
|
296
|
+
['E1205', 'Erro na cadeia de certificação', 'error', 'auth'],
|
|
297
|
+
['E1206', 'Erro de acesso à LCR', 'error', 'auth'],
|
|
298
|
+
['E1207', 'Certificado de transmissão revogado', 'error', 'auth'],
|
|
299
|
+
['E1208', 'Certificado não tem raiz ICP-Brasil', 'error', 'auth'],
|
|
300
|
+
['E1209', 'Certificado de transmissão sem CNPJ', 'error', 'auth'],
|
|
301
|
+
['E2000', 'Erro no certificado de transmissão', 'error', 'auth'],
|
|
302
|
+
// ── Autorização e cadastro ───────────────────────────────────────────
|
|
303
|
+
[
|
|
304
|
+
'E1262',
|
|
305
|
+
'CNPJ não autorizado a compartilhar DF-e pelo município conveniado',
|
|
306
|
+
'error',
|
|
307
|
+
'not_allowed',
|
|
308
|
+
],
|
|
309
|
+
['E2001', 'CNPJ não cadastrado para nenhum município conveniado', 'error', 'not_allowed'],
|
|
310
|
+
['E2301', 'CNPJ não cadastrado', 'error', 'not_allowed'],
|
|
311
|
+
// ── Serviço ──────────────────────────────────────────────────────────
|
|
312
|
+
['E1217', 'Serviço paralisado para manutenção', 'error', 'transient'],
|
|
313
|
+
// ── Mensagem e área de dados ─────────────────────────────────────────
|
|
314
|
+
['E1219', 'Número de documentos maior que o limite', 'error', 'invalid'],
|
|
315
|
+
['E1225', 'Falha na decodificação da base64 da área de dados', 'error', 'invalid'],
|
|
316
|
+
['E1226', 'Estrutura descompactada mal formada', 'error', 'invalid'],
|
|
317
|
+
['E1228', 'Prefixo de namespace não permitido', 'error', 'invalid'],
|
|
318
|
+
['E1229', 'XML fora de UTF-8', 'error', 'invalid'],
|
|
319
|
+
['E1235', 'Falha no esquema XML do DF-e', 'error', 'invalid'],
|
|
320
|
+
['E1242', 'Tipo de DF-e não tratado pelo Sistema Nacional NFS-e', 'error', 'invalid'],
|
|
321
|
+
['E1245', 'Certificado da assinatura do lote sem CNPJ', 'error', 'invalid'],
|
|
322
|
+
['E1246', 'Certificado da assinatura do lote — erro na cadeia', 'error', 'invalid'],
|
|
323
|
+
['E1250', 'Assinatura difere do calculado', 'error', 'invalid'],
|
|
324
|
+
].map(([code, meaning, outcome, errorClass]) => [
|
|
325
|
+
code,
|
|
326
|
+
Object.freeze({ code, meaning, outcome, errorClass }),
|
|
327
|
+
])));
|
|
328
|
+
/**
|
|
329
|
+
* O perfil OFICIAL — a melhor leitura disponível, e declaradamente não conferida.
|
|
330
|
+
*
|
|
331
|
+
* Os nomes vêm da descrição pública da API e da simetria com o `docZip` da
|
|
332
|
+
* NF-e. Estão aqui para que exista UM lugar onde corrigi-los no dia em que
|
|
333
|
+
* alguém vir a resposta — e para que o `verified: false` mantenha o transporte
|
|
334
|
+
* real fechado até esse dia.
|
|
335
|
+
*/
|
|
336
|
+
exports.ADN_OFFICIAL_ENVELOPE_PROFILE = Object.freeze({
|
|
337
|
+
id: 'nfse-adn:v1/official',
|
|
338
|
+
contractVersion: exports.NFSE_ADN_CONTRACT_VERSION,
|
|
339
|
+
verified: exports.NFSE_ADN_ENVELOPE_SHAPE_VERIFIED,
|
|
340
|
+
environments: Object.freeze(['homologation', 'production']),
|
|
341
|
+
batchField: 'LoteDFe',
|
|
342
|
+
itemNsuField: 'NSU',
|
|
343
|
+
itemContentField: 'ArquivoXml',
|
|
344
|
+
lastNsuField: 'UltimoNSU',
|
|
345
|
+
maxNsuField: 'MaximoNSU',
|
|
346
|
+
codeField: 'Codigo',
|
|
347
|
+
contentEncoding: 'gzip+base64',
|
|
348
|
+
});
|
|
349
|
+
/**
|
|
350
|
+
* O perfil SINTÉTICO — conferido, porque somos nós quem o define.
|
|
351
|
+
*
|
|
352
|
+
* Não há circularidade: ele não afirma nada sobre o ADN. Ele descreve o servidor
|
|
353
|
+
* de mentira que a suíte levanta, e `verified: true` aqui significa apenas "o
|
|
354
|
+
* parser e o servidor sintético concordam", que é uma afirmação verificável e
|
|
355
|
+
* verificada. `environments: ['synthetic']` impede que ele seja usado como
|
|
356
|
+
* atalho para abrir o transporte real.
|
|
357
|
+
*/
|
|
358
|
+
exports.ADN_SYNTHETIC_ENVELOPE_PROFILE = Object.freeze({
|
|
359
|
+
id: 'nfse-adn:v1/synthetic',
|
|
360
|
+
contractVersion: exports.NFSE_ADN_CONTRACT_VERSION,
|
|
361
|
+
verified: true,
|
|
362
|
+
environments: Object.freeze(['synthetic']),
|
|
363
|
+
batchField: 'LoteDFe',
|
|
364
|
+
itemNsuField: 'NSU',
|
|
365
|
+
itemContentField: 'ArquivoXml',
|
|
366
|
+
lastNsuField: 'UltimoNSU',
|
|
367
|
+
maxNsuField: 'MaximoNSU',
|
|
368
|
+
codeField: 'Codigo',
|
|
369
|
+
contentEncoding: 'gzip+base64',
|
|
370
|
+
});
|
|
371
|
+
/**
|
|
372
|
+
* O transporte real está ligado?
|
|
373
|
+
*
|
|
374
|
+
* Constante, e não variável de ambiente, por decisão de fase: uma variável de
|
|
375
|
+
* ambiente é ligável sem revisão, e a primeira conexão fiscal real do produto
|
|
376
|
+
* não deve poder acontecer por causa de uma linha num painel. Quando o portão
|
|
377
|
+
* humano da Fase 4 for aberto, isto vira um commit — revisável, revertível, e
|
|
378
|
+
* com o nome de quem o abriu.
|
|
379
|
+
*/
|
|
380
|
+
exports.ADN_REAL_TRANSPORT_ENABLED = false;
|
|
381
|
+
/** Motivos pelos quais o transporte real está fechado, para tela e trilha. */
|
|
382
|
+
function adnRealTransportBlockers(profile = exports.ADN_OFFICIAL_ENVELOPE_PROFILE) {
|
|
383
|
+
const razoes = [];
|
|
384
|
+
if (!exports.ADN_REAL_TRANSPORT_ENABLED)
|
|
385
|
+
razoes.push('ADN_REAL_TRANSPORT_DISABLED');
|
|
386
|
+
if (!profile.verified)
|
|
387
|
+
razoes.push('ADN_ENVELOPE_UNVERIFIED');
|
|
388
|
+
return Object.freeze(razoes);
|
|
389
|
+
}
|
|
390
|
+
//# sourceMappingURL=nfse-adn-contract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nfse-adn-contract.js","sourceRoot":"","sources":["../../../../src/fiscal/contracts/nfse-adn-contract.ts"],"names":[],"mappings":"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"}
|