@baruk/core 0.4.2 → 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 +4 -4
- package/CHANGELOG.md +42 -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/service.d.ts +21 -0
- package/dist/auth/service.d.ts.map +1 -1
- package/dist/auth/service.js +46 -1
- package/dist/auth/service.js.map +1 -1
- package/dist/billing/ar-repository.d.ts +41 -1
- package/dist/billing/ar-repository.d.ts.map +1 -1
- package/dist/billing/ar-repository.js +82 -6
- package/dist/billing/ar-repository.js.map +1 -1
- package/dist/billing/provider-account.d.ts +38 -0
- package/dist/billing/provider-account.d.ts.map +1 -1
- package/dist/billing/provider-account.js +58 -2
- package/dist/billing/provider-account.js.map +1 -1
- package/dist/billing/repository.d.ts +44 -0
- package/dist/billing/repository.d.ts.map +1 -1
- package/dist/billing/repository.js +49 -5
- 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/service.js +46 -1
- package/dist/cjs/auth/service.js.map +1 -1
- package/dist/cjs/billing/ar-repository.js +82 -6
- package/dist/cjs/billing/ar-repository.js.map +1 -1
- package/dist/cjs/billing/provider-account.js +60 -1
- package/dist/cjs/billing/provider-account.js.map +1 -1
- package/dist/cjs/billing/repository.js +51 -5
- 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 +186 -9
- package/dist/cjs/clients/repository.js.map +1 -1
- package/dist/cjs/collection/branding.js +190 -0
- package/dist/cjs/collection/branding.js.map +1 -1
- package/dist/cjs/collection/clearance-store.js +74 -0
- package/dist/cjs/collection/clearance-store.js.map +1 -0
- package/dist/cjs/collection/communication-runtime.js +65 -2
- package/dist/cjs/collection/communication-runtime.js.map +1 -1
- package/dist/cjs/collection/engine.js +20 -0
- package/dist/cjs/collection/engine.js.map +1 -1
- package/dist/cjs/collection/policy.js +29 -1
- package/dist/cjs/collection/policy.js.map +1 -1
- package/dist/cjs/communication/clearance.js +18 -0
- package/dist/cjs/communication/clearance.js.map +1 -0
- package/dist/cjs/communication/dry-run-scenario.js +5 -0
- package/dist/cjs/communication/dry-run-scenario.js.map +1 -1
- package/dist/cjs/communication/engine.js +12 -0
- package/dist/cjs/communication/engine.js.map +1 -1
- package/dist/cjs/communication/policy.js.map +1 -1
- 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 +330 -17
- package/dist/cjs/competence/repository.js.map +1 -1
- 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/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 +316 -11
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/legal/documents.js +100 -15
- 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.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/rbac/catalog.js +34 -0
- package/dist/cjs/rbac/catalog.js.map +1 -1
- package/dist/cjs/subscription-billing/index.js +2 -1
- package/dist/cjs/subscription-billing/index.js.map +1 -1
- package/dist/cjs/subscription-billing/service.js +153 -77
- package/dist/cjs/subscription-billing/service.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/settings.js +224 -0
- package/dist/cjs/tenancy/settings.js.map +1 -0
- package/dist/cjs/users/repository.js +24 -1
- package/dist/cjs/users/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 +154 -0
- package/dist/clients/repository.d.ts.map +1 -1
- package/dist/clients/repository.js +182 -9
- package/dist/clients/repository.js.map +1 -1
- package/dist/collection/branding.d.ts +65 -0
- package/dist/collection/branding.d.ts.map +1 -1
- package/dist/collection/branding.js +186 -0
- package/dist/collection/branding.js.map +1 -1
- 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-runtime.d.ts +37 -0
- package/dist/collection/communication-runtime.d.ts.map +1 -1
- package/dist/collection/communication-runtime.js +63 -1
- package/dist/collection/communication-runtime.js.map +1 -1
- package/dist/collection/engine.d.ts +23 -0
- package/dist/collection/engine.d.ts.map +1 -1
- package/dist/collection/engine.js +20 -0
- package/dist/collection/engine.js.map +1 -1
- package/dist/collection/policy.d.ts +25 -0
- package/dist/collection/policy.d.ts.map +1 -1
- package/dist/collection/policy.js +27 -0
- package/dist/collection/policy.js.map +1 -1
- 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/dry-run-scenario.d.ts.map +1 -1
- package/dist/communication/dry-run-scenario.js +5 -0
- package/dist/communication/dry-run-scenario.js.map +1 -1
- package/dist/communication/engine.d.ts +10 -0
- package/dist/communication/engine.d.ts.map +1 -1
- package/dist/communication/engine.js +12 -0
- package/dist/communication/engine.js.map +1 -1
- package/dist/communication/policy.d.ts +16 -0
- package/dist/communication/policy.d.ts.map +1 -1
- package/dist/communication/policy.js.map +1 -1
- 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 +139 -1
- package/dist/competence/repository.d.ts.map +1 -1
- package/dist/competence/repository.js +325 -17
- package/dist/competence/repository.js.map +1 -1
- 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 +199 -32
- 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/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 +115 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +100 -7
- 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 +98 -14
- package/dist/legal/documents.js.map +1 -1
- package/dist/legal/index.d.ts +1 -1
- 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 +37 -2
- package/dist/legal/types.d.ts.map +1 -1
- package/dist/legal/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/rbac/catalog.d.ts.map +1 -1
- package/dist/rbac/catalog.js +34 -0
- package/dist/rbac/catalog.js.map +1 -1
- 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/service.d.ts +21 -0
- package/dist/subscription-billing/service.d.ts.map +1 -1
- package/dist/subscription-billing/service.js +90 -15
- package/dist/subscription-billing/service.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/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 +16 -1
- package/dist/users/repository.d.ts.map +1 -1
- package/dist/users/repository.js +24 -1
- package/dist/users/repository.js.map +1 -1
- package/package.json +9 -2
- 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
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import { computeDueDate, getCompetence, listRecurringItemTypes } from './repository.js';
|
|
2
|
+
import { listCatalogValidations } from './catalog-validation.js';
|
|
3
|
+
import { decideApplicability } from '../fiscal/applicability.js';
|
|
4
|
+
import { loadClientJurisdiction, loadFiscalProfile, resolveRule } from '../fiscal/repository.js';
|
|
5
|
+
export async function previewInstancesForCompetence(tx, input) {
|
|
6
|
+
const competence = await getCompetence(tx, input.competenceId);
|
|
7
|
+
const types = await listRecurringItemTypes(tx, { activeOnly: true });
|
|
8
|
+
const validations = new Map((await listCatalogValidations(tx)).map((v) => [v.itemTypeId, v]));
|
|
9
|
+
const [cliente] = await tx `
|
|
10
|
+
SELECT municipality, state_uf FROM client WHERE id = ${competence.clientId}
|
|
11
|
+
`;
|
|
12
|
+
const municipality = cliente?.municipality ?? null;
|
|
13
|
+
const stateUf = cliente?.state_uf ?? null;
|
|
14
|
+
// Perfil e jurisdição são lidos UMA vez, fora do laço. Dentro dele seriam
|
|
15
|
+
// duas consultas por item do catálogo — dezessete hoje, e o catálogo cresce.
|
|
16
|
+
const jurisdiction = await loadClientJurisdiction(tx, competence.clientId);
|
|
17
|
+
const profile = await loadFiscalProfile(tx, competence.clientId);
|
|
18
|
+
// A competência é o que decide a vigência, e não "hoje": reprocessar um mês
|
|
19
|
+
// antigo precisa usar a regra que valia NAQUELE mês.
|
|
20
|
+
const referenceDate = `${competence.label}-01`;
|
|
21
|
+
const existentes = new Set((await tx `
|
|
22
|
+
SELECT item_type_id FROM recurring_instance
|
|
23
|
+
WHERE competence_id = ${competence.id} AND deleted_at IS NULL
|
|
24
|
+
`).map((r) => r.item_type_id));
|
|
25
|
+
const items = [];
|
|
26
|
+
let pendenteDeConferencia = false;
|
|
27
|
+
for (const type of types) {
|
|
28
|
+
const base = {
|
|
29
|
+
itemTypeId: type.id,
|
|
30
|
+
key: type.key,
|
|
31
|
+
label: type.label,
|
|
32
|
+
nature: type.nature,
|
|
33
|
+
sphere: type.sphere,
|
|
34
|
+
};
|
|
35
|
+
const skip = (skipReason) => ({
|
|
36
|
+
...base,
|
|
37
|
+
dueDate: null,
|
|
38
|
+
outcome: 'skip',
|
|
39
|
+
skipReason,
|
|
40
|
+
});
|
|
41
|
+
const aplicaAoRegime = type.appliesToRegime.length === 0 ||
|
|
42
|
+
(input.regime != null && type.appliesToRegime.includes(input.regime));
|
|
43
|
+
if (!aplicaAoRegime) {
|
|
44
|
+
items.push(skip('regime'));
|
|
45
|
+
continue;
|
|
46
|
+
}
|
|
47
|
+
const v = validations.get(type.id);
|
|
48
|
+
if (v?.status === 'not_applicable') {
|
|
49
|
+
items.push(skip('nao_aplicavel'));
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
if (v?.status === 'disabled') {
|
|
53
|
+
items.push(skip('desativado'));
|
|
54
|
+
continue;
|
|
55
|
+
}
|
|
56
|
+
if (!v || v.status === 'pending_validation') {
|
|
57
|
+
pendenteDeConferencia = true;
|
|
58
|
+
items.push(skip('nao_conferido'));
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
if (v.dependsOnLocality && !stateUf && !municipality) {
|
|
62
|
+
items.push(skip('sem_localidade'));
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
65
|
+
// ── O motor nacional ────────────────────────────────────────────────
|
|
66
|
+
//
|
|
67
|
+
// Consultado DEPOIS das checagens locais e antes de computar a data. A
|
|
68
|
+
// ordem importa: se o catálogo do escritório já disse "não atendemos",
|
|
69
|
+
// perguntar ao motor sobre jurisdição seria trabalho para descartar.
|
|
70
|
+
//
|
|
71
|
+
// Quando existe regra, é ela que manda — inclusive no vencimento. A
|
|
72
|
+
// `due_rule` do tipo de item passa a ser o que sempre foi de fato: o
|
|
73
|
+
// padrão de quem ainda não tem regra cadastrada para a sua jurisdição.
|
|
74
|
+
const decisao = decideApplicability({
|
|
75
|
+
rule: await resolveRule(tx, {
|
|
76
|
+
itemTypeId: type.id,
|
|
77
|
+
jurisdiction,
|
|
78
|
+
referenceDate,
|
|
79
|
+
}),
|
|
80
|
+
profile,
|
|
81
|
+
clientJurisdiction: jurisdiction,
|
|
82
|
+
referenceDate,
|
|
83
|
+
});
|
|
84
|
+
if (decisao.outcome !== 'APPLICABLE') {
|
|
85
|
+
items.push({
|
|
86
|
+
...skip('motor_nacional'),
|
|
87
|
+
applicability: decisao.outcome,
|
|
88
|
+
applicabilityReason: decisao.reason,
|
|
89
|
+
...(decisao.evidence.missingAttributes.length > 0
|
|
90
|
+
? { missingAttributes: decisao.evidence.missingAttributes }
|
|
91
|
+
: {}),
|
|
92
|
+
...(decisao.evidence.ruleId ? { fiscalRuleId: decisao.evidence.ruleId } : {}),
|
|
93
|
+
});
|
|
94
|
+
continue;
|
|
95
|
+
}
|
|
96
|
+
const regra = decisao.evidence;
|
|
97
|
+
const dueDate = computeDueDate(competence.label, type.dueRule);
|
|
98
|
+
if (dueDate === null) {
|
|
99
|
+
items.push(skip('sem_vencimento'));
|
|
100
|
+
continue;
|
|
101
|
+
}
|
|
102
|
+
items.push({
|
|
103
|
+
...base,
|
|
104
|
+
dueDate,
|
|
105
|
+
outcome: existentes.has(type.id) ? 'existing' : 'create',
|
|
106
|
+
applicability: 'APPLICABLE',
|
|
107
|
+
applicabilityReason: decisao.reason,
|
|
108
|
+
...(regra.ruleId ? { fiscalRuleId: regra.ruleId } : {}),
|
|
109
|
+
...(regra.ruleVersion !== null ? { fiscalRuleVersion: regra.ruleVersion } : {}),
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
return {
|
|
113
|
+
competenceId: competence.id,
|
|
114
|
+
competenceLabel: competence.label,
|
|
115
|
+
clientId: competence.clientId,
|
|
116
|
+
regime: input.regime ?? null,
|
|
117
|
+
locality: { municipality, stateUf },
|
|
118
|
+
items,
|
|
119
|
+
counts: {
|
|
120
|
+
create: items.filter((i) => i.outcome === 'create').length,
|
|
121
|
+
existing: items.filter((i) => i.outcome === 'existing').length,
|
|
122
|
+
skip: items.filter((i) => i.outcome === 'skip').length,
|
|
123
|
+
},
|
|
124
|
+
catalogFullyValidated: !pendenteDeConferencia,
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
export class PreviewMismatch extends Error {
|
|
128
|
+
constructor(message) {
|
|
129
|
+
super(message);
|
|
130
|
+
this.name = 'PreviewMismatch';
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Gera exatamente o que a prévia mostrou.
|
|
135
|
+
*
|
|
136
|
+
* `approvedItemTypeIds` é a lista que o operador aprovou na tela. A geração
|
|
137
|
+
* recusa qualquer id que não esteja marcado como `create` na prévia recalculada
|
|
138
|
+
* — se o mundo mudou entre a conferência e a aprovação, o certo é falhar e
|
|
139
|
+
* pedir nova conferência, não gerar algo que ninguém viu.
|
|
140
|
+
*
|
|
141
|
+
* A idempotência continua vindo do índice único `(tenant, cliente, competência,
|
|
142
|
+
* tipo)` com `ON CONFLICT DO NOTHING`: aprovar duas vezes cria uma vez.
|
|
143
|
+
*/
|
|
144
|
+
export async function generateFromPreview(tx, input) {
|
|
145
|
+
const preview = await previewInstancesForCompetence(tx, {
|
|
146
|
+
competenceId: input.competenceId,
|
|
147
|
+
regime: input.regime,
|
|
148
|
+
});
|
|
149
|
+
const criaveis = new Map(preview.items.filter((i) => i.outcome === 'create').map((i) => [i.itemTypeId, i]));
|
|
150
|
+
const jaExistiam = new Set(preview.items.filter((i) => i.outcome === 'existing').map((i) => i.itemTypeId));
|
|
151
|
+
let alreadyExisted = 0;
|
|
152
|
+
const aCriar = [];
|
|
153
|
+
for (const id of input.approvedItemTypeIds) {
|
|
154
|
+
if (jaExistiam.has(id)) {
|
|
155
|
+
alreadyExisted++;
|
|
156
|
+
continue;
|
|
157
|
+
}
|
|
158
|
+
const item = criaveis.get(id);
|
|
159
|
+
if (!item) {
|
|
160
|
+
throw new PreviewMismatch(`O item ${id} não está entre os que podem ser gerados nesta competência. Refaça a conferência.`);
|
|
161
|
+
}
|
|
162
|
+
aCriar.push(item);
|
|
163
|
+
}
|
|
164
|
+
let created = 0;
|
|
165
|
+
for (const item of aCriar) {
|
|
166
|
+
const rows = await tx `
|
|
167
|
+
INSERT INTO recurring_instance
|
|
168
|
+
(id, tenant_id, client_id, competence_id, item_type_id, label, nature, due_date)
|
|
169
|
+
VALUES (
|
|
170
|
+
gen_random_uuid(), current_setting('app.current_tenant')::uuid,
|
|
171
|
+
${preview.clientId}, ${preview.competenceId}, ${item.itemTypeId},
|
|
172
|
+
${item.label}, ${item.nature}, ${item.dueDate}
|
|
173
|
+
)
|
|
174
|
+
ON CONFLICT DO NOTHING
|
|
175
|
+
RETURNING id
|
|
176
|
+
`;
|
|
177
|
+
if (rows[0])
|
|
178
|
+
created++;
|
|
179
|
+
else
|
|
180
|
+
alreadyExisted++;
|
|
181
|
+
}
|
|
182
|
+
return { created, alreadyExisted };
|
|
183
|
+
}
|
|
184
|
+
//# sourceMappingURL=obligation-preview.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"obligation-preview.js","sourceRoot":"","sources":["../../src/competence/obligation-preview.ts"],"names":[],"mappings":"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"}
|
|
@@ -76,6 +76,10 @@ export interface RecurringItemTypeRecord {
|
|
|
76
76
|
appliesToRegime: string[];
|
|
77
77
|
requiresDocument: boolean;
|
|
78
78
|
active: boolean;
|
|
79
|
+
/** Observação para quem confere. Vem do catálogo da vertical. */
|
|
80
|
+
note: string | null;
|
|
81
|
+
/** Agrupamento do catálogo (folha, fiscal, contábil…). */
|
|
82
|
+
category: string | null;
|
|
79
83
|
}
|
|
80
84
|
/**
|
|
81
85
|
* Lista o catálogo efetivo: override do tenant vence o template do sistema
|
|
@@ -129,10 +133,31 @@ export declare function generateInstancesForCompetence(tx: Tx, input: {
|
|
|
129
133
|
/**
|
|
130
134
|
* Aplica a regra de vencimento sobre a competência.
|
|
131
135
|
*
|
|
132
|
-
* Hoje entende `{kind:'day_of_next_month', day:N}` e `{kind:'day_of_month', day:N}`.
|
|
133
136
|
* Regra desconhecida devolve `null` em vez de chutar uma data — um vencimento
|
|
134
137
|
* inventado é pior que vencimento ausente, porque o alerta dispararia no dia
|
|
135
138
|
* errado e o usuário confiaria nele.
|
|
139
|
+
*
|
|
140
|
+
* ## Formas aceitas
|
|
141
|
+
*
|
|
142
|
+
* | `kind` | Campos | Significado |
|
|
143
|
+
* |---------------------------|-------------------|------------------------------------------------------|
|
|
144
|
+
* | `day_of_month` | `day` 1–28 | Dia N da própria competência |
|
|
145
|
+
* | `day_of_next_month` | `day` 1–28 | Dia N do mês seguinte |
|
|
146
|
+
* | `day_after_months` | `day` 1–28, `months` | Dia N, M meses depois (generaliza os dois acima) |
|
|
147
|
+
* | `last_business_day_after` | `months` | Último dia útil do mês M meses depois |
|
|
148
|
+
* | `nth_business_day_after` | `nth`, `months` | N-ésimo dia útil do mês M meses depois |
|
|
149
|
+
* | `fixed_annual` | `month`, `day` | Data fixa do ano SEGUINTE ao da competência |
|
|
150
|
+
* | `last_business_day_annual`| `month` | Último dia útil de um mês do ano seguinte |
|
|
151
|
+
*
|
|
152
|
+
* `adjust` move o resultado para um dia útil: `'previous'` (antecipa — é o padrão
|
|
153
|
+
* do recolhimento fiscal brasileiro), `'next'`, ou `'none'`.
|
|
154
|
+
*
|
|
155
|
+
* **`adjust` ausente significa `'none'`, deliberadamente.** As duas formas
|
|
156
|
+
* originais (`day_of_month`, `day_of_next_month`) foram criadas sem noção de dia
|
|
157
|
+
* útil e há regras gravadas em produção que dependem do resultado exato. Ligar o
|
|
158
|
+
* ajuste por padrão mudaria silenciosamente o vencimento de instâncias que já
|
|
159
|
+
* existem. Quem quer o comportamento fiscal pede por ele — e o catálogo de
|
|
160
|
+
* `@baruk/contabil` pede.
|
|
136
161
|
*/
|
|
137
162
|
export declare function computeDueDate(competenceLabel: string, rule: Record<string, unknown>): string | null;
|
|
138
163
|
export declare function listInstances(tx: Tx, filter?: {
|
|
@@ -140,6 +165,119 @@ export declare function listInstances(tx: Tx, filter?: {
|
|
|
140
165
|
clientId?: string;
|
|
141
166
|
status?: string;
|
|
142
167
|
}): Promise<RecurringInstanceRecord[]>;
|
|
168
|
+
export interface BulkOpenResult {
|
|
169
|
+
clientsProcessed: number;
|
|
170
|
+
competencesOpened: number;
|
|
171
|
+
competencesExisting: number;
|
|
172
|
+
itemsCreated: number;
|
|
173
|
+
itemsSkipped: number;
|
|
174
|
+
/** Clientes que falharam, com o motivo — a falha de um não derruba os outros. */
|
|
175
|
+
failures: {
|
|
176
|
+
clientId: string;
|
|
177
|
+
reason: string;
|
|
178
|
+
}[];
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Abre a competência do mês para a carteira inteira e gera os itens.
|
|
182
|
+
*
|
|
183
|
+
* É a ação que abre o mês de um escritório. Sem ela, "abrir competência" é uma
|
|
184
|
+
* operação por cliente — o que funciona na demonstração com três clientes e é
|
|
185
|
+
* impraticável com trezentos: ninguém vai clicar trezentas vezes todo dia 1º.
|
|
186
|
+
*
|
|
187
|
+
* Idempotente nas duas camadas: `openCompetence` faz `ON CONFLICT DO NOTHING`, e
|
|
188
|
+
* a geração é protegida pelo índice único `(tenant, client, competence, tipo)`.
|
|
189
|
+
* Rodar duas vezes no mesmo mês não duplica nada.
|
|
190
|
+
*
|
|
191
|
+
* O regime de cada cliente é resolvido por `resolveRegime` — injetado, porque
|
|
192
|
+
* quem sabe ler regime tributário é a vertical, e o Core não a conhece.
|
|
193
|
+
*
|
|
194
|
+
* Falha de um cliente não aborta o lote. Abortar deixaria o escritório com o mês
|
|
195
|
+
* meio aberto e sem saber onde parou; aqui ele vê o que passou e o que não.
|
|
196
|
+
*/
|
|
197
|
+
export declare function bulkOpenCompetence(tx: Tx, input: {
|
|
198
|
+
label: string;
|
|
199
|
+
/** Ausente = todos os clientes ativos do tenant. */
|
|
200
|
+
clientIds?: string[];
|
|
201
|
+
resolveRegime?: (clientId: string) => Promise<string | null>;
|
|
202
|
+
}): Promise<BulkOpenResult>;
|
|
203
|
+
/**
|
|
204
|
+
* A visão operacional do escritório: o que vence, de quem, e com quem está.
|
|
205
|
+
*
|
|
206
|
+
* `listInstances` responde "o que tem nesta competência" — serve à ficha de UM
|
|
207
|
+
* cliente. Não serve à pergunta que abre o dia de um escritório com 300 clientes:
|
|
208
|
+
* *o que vence esta semana?* Essa atravessa clientes e competências, e precisa do
|
|
209
|
+
* nome do cliente junto, senão a tela mostra uma lista de rótulos sem dono.
|
|
210
|
+
*
|
|
211
|
+
* Tenant-scoped por RLS como todo o resto. O JOIN com `client` é interno ao
|
|
212
|
+
* tenant por construção (FK composta), e `deleted_at IS NULL` no cliente evita
|
|
213
|
+
* que a carteira higienizada reapareça aqui.
|
|
214
|
+
*/
|
|
215
|
+
export interface OfficeObligationRow extends RecurringInstanceRecord {
|
|
216
|
+
clientName: string;
|
|
217
|
+
competenceLabel: string;
|
|
218
|
+
sphere: string | null;
|
|
219
|
+
category: string | null;
|
|
220
|
+
requiresDocument: boolean;
|
|
221
|
+
responsibleName: string | null;
|
|
222
|
+
}
|
|
223
|
+
export declare function listOfficeObligations(tx: Tx, filter?: {
|
|
224
|
+
dueFrom?: string | null;
|
|
225
|
+
dueTo?: string | null;
|
|
226
|
+
status?: string | null;
|
|
227
|
+
nature?: ItemNature | null;
|
|
228
|
+
clientId?: string | null;
|
|
229
|
+
responsibleUserId?: string | null;
|
|
230
|
+
/** `true` = só o que ainda não foi concluído. */
|
|
231
|
+
openOnly?: boolean;
|
|
232
|
+
limit?: number;
|
|
233
|
+
offset?: number;
|
|
234
|
+
}): Promise<{
|
|
235
|
+
items: OfficeObligationRow[];
|
|
236
|
+
total: number;
|
|
237
|
+
}>;
|
|
238
|
+
/**
|
|
239
|
+
* Define o responsável por um item.
|
|
240
|
+
*
|
|
241
|
+
* Existe porque não existia: a rota de compliance legada gravava
|
|
242
|
+
* `responsibleUserId = auth.userId` sem aceitar o campo, então a obrigação era
|
|
243
|
+
* sempre de quem a criou. Um escritório distribui trabalho; sem isto, "de quem é
|
|
244
|
+
* esta DAS?" não tem resposta no produto.
|
|
245
|
+
*
|
|
246
|
+
* `null` desatribui — deixar sem dono é um estado legítimo, e sem essa
|
|
247
|
+
* distinção um campo esvaziado na tela seria indistinguível de "não mexi nele".
|
|
248
|
+
*/
|
|
249
|
+
export declare function assignInstance(tx: Tx, input: {
|
|
250
|
+
id: string;
|
|
251
|
+
responsibleUserId: string | null;
|
|
252
|
+
}): Promise<RecurringInstanceRecord>;
|
|
253
|
+
/**
|
|
254
|
+
* Reabre um item concluído.
|
|
255
|
+
*
|
|
256
|
+
* Marcar como entregue é a ação mais fácil de errar na tela — uma linha ao lado
|
|
257
|
+
* da outra, um clique. Sem reabrir, o erro vira permanente e o operador aprende
|
|
258
|
+
* a não confiar no botão.
|
|
259
|
+
*/
|
|
260
|
+
export declare function reopenInstance(tx: Tx, id: string): Promise<RecurringInstanceRecord>;
|
|
261
|
+
/**
|
|
262
|
+
* Fecha a obrigação quando TODOS os documentos que ela pedia foram validados.
|
|
263
|
+
*
|
|
264
|
+
* Este é o elo que faltava no ciclo. `document_request.recurring_instance_id`
|
|
265
|
+
* existe no schema desde a 0026 e nunca era preenchido, então validar um
|
|
266
|
+
* documento não dizia nada à obrigação que o pediu: o operador entregava a
|
|
267
|
+
* DAS, validava a nota fiscal, e ainda precisava lembrar de marcar a obrigação
|
|
268
|
+
* à mão — numa lista onde esquecer é o resultado provável.
|
|
269
|
+
*
|
|
270
|
+
* **Todos**, não "algum". Uma obrigação pode pedir três documentos; concluir no
|
|
271
|
+
* primeiro validado marcaria como entregue algo que ainda falta. Pedido
|
|
272
|
+
* `canceled` não conta como pendência — foi retirado de propósito.
|
|
273
|
+
*
|
|
274
|
+
* Devolve a instância quando concluiu, `null` quando ainda há pendência. `null`
|
|
275
|
+
* é resposta normal, não erro.
|
|
276
|
+
*/
|
|
277
|
+
export declare function completeInstanceIfDocumentsSettled(tx: Tx, input: {
|
|
278
|
+
instanceId: string;
|
|
279
|
+
completedBy: string;
|
|
280
|
+
}): Promise<RecurringInstanceRecord | null>;
|
|
143
281
|
export declare function completeInstance(tx: Tx, input: {
|
|
144
282
|
id: string;
|
|
145
283
|
completedBy: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../src/competence/repository.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../src/competence/repository.ts"],"names":[],"mappings":"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"}
|