@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.
Files changed (1047) hide show
  1. package/.baruk-provenance.json +10 -0
  2. package/CHANGELOG.md +127 -0
  3. package/dist/audit/repository.d.ts +33 -1
  4. package/dist/audit/repository.d.ts.map +1 -1
  5. package/dist/audit/repository.js +41 -7
  6. package/dist/audit/repository.js.map +1 -1
  7. package/dist/auth/password-reset.d.ts +30 -1
  8. package/dist/auth/password-reset.d.ts.map +1 -1
  9. package/dist/auth/password-reset.js +139 -11
  10. package/dist/auth/password-reset.js.map +1 -1
  11. package/dist/auth/service.d.ts +60 -2
  12. package/dist/auth/service.d.ts.map +1 -1
  13. package/dist/auth/service.js +121 -11
  14. package/dist/auth/service.js.map +1 -1
  15. package/dist/billing/ar-repository.d.ts +374 -0
  16. package/dist/billing/ar-repository.d.ts.map +1 -0
  17. package/dist/billing/ar-repository.js +783 -0
  18. package/dist/billing/ar-repository.js.map +1 -0
  19. package/dist/billing/auto-generation.d.ts +87 -0
  20. package/dist/billing/auto-generation.d.ts.map +1 -0
  21. package/dist/billing/auto-generation.js +181 -0
  22. package/dist/billing/auto-generation.js.map +1 -0
  23. package/dist/billing/live-guard.d.ts +64 -0
  24. package/dist/billing/live-guard.d.ts.map +1 -0
  25. package/dist/billing/live-guard.js +68 -0
  26. package/dist/billing/live-guard.js.map +1 -0
  27. package/dist/billing/payment-means-catalog.d.ts +17 -0
  28. package/dist/billing/payment-means-catalog.d.ts.map +1 -0
  29. package/dist/billing/payment-means-catalog.js +21 -0
  30. package/dist/billing/payment-means-catalog.js.map +1 -0
  31. package/dist/billing/payment-means.d.ts +38 -0
  32. package/dist/billing/payment-means.d.ts.map +1 -0
  33. package/dist/billing/payment-means.js +29 -0
  34. package/dist/billing/payment-means.js.map +1 -0
  35. package/dist/billing/payment-rail.d.ts +118 -0
  36. package/dist/billing/payment-rail.d.ts.map +1 -0
  37. package/dist/billing/payment-rail.js +295 -0
  38. package/dist/billing/payment-rail.js.map +1 -0
  39. package/dist/billing/provider/asaas.d.ts +46 -1
  40. package/dist/billing/provider/asaas.d.ts.map +1 -1
  41. package/dist/billing/provider/asaas.js +194 -14
  42. package/dist/billing/provider/asaas.js.map +1 -1
  43. package/dist/billing/provider/manual.js +1 -1
  44. package/dist/billing/provider/manual.js.map +1 -1
  45. package/dist/billing/provider/types.d.ts +115 -8
  46. package/dist/billing/provider/types.d.ts.map +1 -1
  47. package/dist/billing/provider-account.d.ts +127 -0
  48. package/dist/billing/provider-account.d.ts.map +1 -0
  49. package/dist/billing/provider-account.js +217 -0
  50. package/dist/billing/provider-account.js.map +1 -0
  51. package/dist/billing/provider-onboarding.d.ts +67 -0
  52. package/dist/billing/provider-onboarding.d.ts.map +1 -0
  53. package/dist/billing/provider-onboarding.js +234 -0
  54. package/dist/billing/provider-onboarding.js.map +1 -0
  55. package/dist/billing/receivable.d.ts +5 -1
  56. package/dist/billing/receivable.d.ts.map +1 -1
  57. package/dist/billing/reconcile.d.ts +58 -0
  58. package/dist/billing/reconcile.d.ts.map +1 -0
  59. package/dist/billing/reconcile.js +138 -0
  60. package/dist/billing/reconcile.js.map +1 -0
  61. package/dist/billing/repository.d.ts +134 -1
  62. package/dist/billing/repository.d.ts.map +1 -1
  63. package/dist/billing/repository.js +193 -20
  64. package/dist/billing/repository.js.map +1 -1
  65. package/dist/cjs/audit/repository.js +41 -7
  66. package/dist/cjs/audit/repository.js.map +1 -1
  67. package/dist/cjs/auth/password-reset.js +141 -11
  68. package/dist/cjs/auth/password-reset.js.map +1 -1
  69. package/dist/cjs/auth/service.js +121 -10
  70. package/dist/cjs/auth/service.js.map +1 -1
  71. package/dist/cjs/billing/ar-repository.js +804 -0
  72. package/dist/cjs/billing/ar-repository.js.map +1 -0
  73. package/dist/cjs/billing/auto-generation.js +186 -0
  74. package/dist/cjs/billing/auto-generation.js.map +1 -0
  75. package/dist/cjs/billing/live-guard.js +72 -0
  76. package/dist/cjs/billing/live-guard.js.map +1 -0
  77. package/dist/cjs/billing/payment-means-catalog.js +25 -0
  78. package/dist/cjs/billing/payment-means-catalog.js.map +1 -0
  79. package/dist/cjs/billing/payment-means.js +33 -0
  80. package/dist/cjs/billing/payment-means.js.map +1 -0
  81. package/dist/cjs/billing/payment-rail.js +301 -0
  82. package/dist/cjs/billing/payment-rail.js.map +1 -0
  83. package/dist/cjs/billing/provider/asaas.js +194 -14
  84. package/dist/cjs/billing/provider/asaas.js.map +1 -1
  85. package/dist/cjs/billing/provider/manual.js +1 -1
  86. package/dist/cjs/billing/provider/manual.js.map +1 -1
  87. package/dist/cjs/billing/provider-account.js +229 -0
  88. package/dist/cjs/billing/provider-account.js.map +1 -0
  89. package/dist/cjs/billing/provider-onboarding.js +239 -0
  90. package/dist/cjs/billing/provider-onboarding.js.map +1 -0
  91. package/dist/cjs/billing/reconcile.js +143 -0
  92. package/dist/cjs/billing/reconcile.js.map +1 -0
  93. package/dist/cjs/billing/repository.js +197 -19
  94. package/dist/cjs/billing/repository.js.map +1 -1
  95. package/dist/cjs/clients/ibge.js +103 -0
  96. package/dist/cjs/clients/ibge.js.map +1 -0
  97. package/dist/cjs/clients/repository.js +276 -23
  98. package/dist/cjs/clients/repository.js.map +1 -1
  99. package/dist/cjs/collection/branding.js +330 -0
  100. package/dist/cjs/collection/branding.js.map +1 -0
  101. package/dist/cjs/collection/channel-accounts.js +137 -0
  102. package/dist/cjs/collection/channel-accounts.js.map +1 -0
  103. package/dist/cjs/collection/channel.js +17 -0
  104. package/dist/cjs/collection/channel.js.map +1 -0
  105. package/dist/cjs/collection/clearance-store.js +74 -0
  106. package/dist/cjs/collection/clearance-store.js.map +1 -0
  107. package/dist/cjs/collection/communication-bridge.js +140 -0
  108. package/dist/cjs/collection/communication-bridge.js.map +1 -0
  109. package/dist/cjs/collection/communication-runtime.js +256 -0
  110. package/dist/cjs/collection/communication-runtime.js.map +1 -0
  111. package/dist/cjs/collection/consent-repository.js +84 -0
  112. package/dist/cjs/collection/consent-repository.js.map +1 -0
  113. package/dist/cjs/collection/copy.js +125 -0
  114. package/dist/cjs/collection/copy.js.map +1 -0
  115. package/dist/cjs/collection/delivery-callback.js +151 -0
  116. package/dist/cjs/collection/delivery-callback.js.map +1 -0
  117. package/dist/cjs/collection/email-layout.js +252 -0
  118. package/dist/cjs/collection/email-layout.js.map +1 -0
  119. package/dist/cjs/collection/engine.js +434 -0
  120. package/dist/cjs/collection/engine.js.map +1 -0
  121. package/dist/cjs/collection/format.js +76 -0
  122. package/dist/cjs/collection/format.js.map +1 -0
  123. package/dist/cjs/collection/payment-block.js +3 -0
  124. package/dist/cjs/collection/payment-block.js.map +1 -0
  125. package/dist/cjs/collection/policy.js +175 -0
  126. package/dist/cjs/collection/policy.js.map +1 -0
  127. package/dist/cjs/collection/repository.js +260 -0
  128. package/dist/cjs/collection/repository.js.map +1 -0
  129. package/dist/cjs/collection/subject.js +104 -0
  130. package/dist/cjs/collection/subject.js.map +1 -0
  131. package/dist/cjs/collection/template-catalog.js +165 -0
  132. package/dist/cjs/collection/template-catalog.js.map +1 -0
  133. package/dist/cjs/collection/template.js +78 -0
  134. package/dist/cjs/collection/template.js.map +1 -0
  135. package/dist/cjs/communication/adapters/email.js +132 -0
  136. package/dist/cjs/communication/adapters/email.js.map +1 -0
  137. package/dist/cjs/communication/adapters/sms.js +127 -0
  138. package/dist/cjs/communication/adapters/sms.js.map +1 -0
  139. package/dist/cjs/communication/adapters/whatsapp-language.js +39 -0
  140. package/dist/cjs/communication/adapters/whatsapp-language.js.map +1 -0
  141. package/dist/cjs/communication/adapters/whatsapp-templates.js +100 -0
  142. package/dist/cjs/communication/adapters/whatsapp-templates.js.map +1 -0
  143. package/dist/cjs/communication/adapters/whatsapp.js +213 -0
  144. package/dist/cjs/communication/adapters/whatsapp.js.map +1 -0
  145. package/dist/cjs/communication/audit.js +61 -0
  146. package/dist/cjs/communication/audit.js.map +1 -0
  147. package/dist/cjs/communication/capabilities.js +76 -0
  148. package/dist/cjs/communication/capabilities.js.map +1 -0
  149. package/dist/cjs/communication/channel.js +53 -0
  150. package/dist/cjs/communication/channel.js.map +1 -0
  151. package/dist/cjs/communication/claim.js +228 -0
  152. package/dist/cjs/communication/claim.js.map +1 -0
  153. package/dist/cjs/communication/clearance.js +18 -0
  154. package/dist/cjs/communication/clearance.js.map +1 -0
  155. package/dist/cjs/communication/consent.js +43 -0
  156. package/dist/cjs/communication/consent.js.map +1 -0
  157. package/dist/cjs/communication/context.js +45 -0
  158. package/dist/cjs/communication/context.js.map +1 -0
  159. package/dist/cjs/communication/credentials.js +121 -0
  160. package/dist/cjs/communication/credentials.js.map +1 -0
  161. package/dist/cjs/communication/dry-run-scenario.js +166 -0
  162. package/dist/cjs/communication/dry-run-scenario.js.map +1 -0
  163. package/dist/cjs/communication/dry-run.js +97 -0
  164. package/dist/cjs/communication/dry-run.js.map +1 -0
  165. package/dist/cjs/communication/engine.js +495 -0
  166. package/dist/cjs/communication/engine.js.map +1 -0
  167. package/dist/cjs/communication/graph.js +50 -0
  168. package/dist/cjs/communication/graph.js.map +1 -0
  169. package/dist/cjs/communication/idempotency.js +26 -0
  170. package/dist/cjs/communication/idempotency.js.map +1 -0
  171. package/dist/cjs/communication/identity.js +110 -0
  172. package/dist/cjs/communication/identity.js.map +1 -0
  173. package/dist/cjs/communication/index.js +135 -0
  174. package/dist/cjs/communication/index.js.map +1 -0
  175. package/dist/cjs/communication/onboarding.js +297 -0
  176. package/dist/cjs/communication/onboarding.js.map +1 -0
  177. package/dist/cjs/communication/policy.js +16 -0
  178. package/dist/cjs/communication/policy.js.map +1 -0
  179. package/dist/cjs/communication/routing.js +77 -0
  180. package/dist/cjs/communication/routing.js.map +1 -0
  181. package/dist/cjs/communication/sender-profile.js +128 -0
  182. package/dist/cjs/communication/sender-profile.js.map +1 -0
  183. package/dist/cjs/communication/status.js +86 -0
  184. package/dist/cjs/communication/status.js.map +1 -0
  185. package/dist/cjs/communication/stores/onboarding.js +135 -0
  186. package/dist/cjs/communication/stores/onboarding.js.map +1 -0
  187. package/dist/cjs/communication/stores/postgres.js +458 -0
  188. package/dist/cjs/communication/stores/postgres.js.map +1 -0
  189. package/dist/cjs/communication/stores/routing.js +334 -0
  190. package/dist/cjs/communication/stores/routing.js.map +1 -0
  191. package/dist/cjs/communication/stores/secrets.js +126 -0
  192. package/dist/cjs/communication/stores/secrets.js.map +1 -0
  193. package/dist/cjs/communication/template-provider.js +22 -0
  194. package/dist/cjs/communication/template-provider.js.map +1 -0
  195. package/dist/cjs/communication/template.js +63 -0
  196. package/dist/cjs/communication/template.js.map +1 -0
  197. package/dist/cjs/communication/webhook-subscription.js +258 -0
  198. package/dist/cjs/communication/webhook-subscription.js.map +1 -0
  199. package/dist/cjs/communication/webhook.js +292 -0
  200. package/dist/cjs/communication/webhook.js.map +1 -0
  201. package/dist/cjs/competence/business-days.js +155 -0
  202. package/dist/cjs/competence/business-days.js.map +1 -0
  203. package/dist/cjs/competence/catalog-validation.js +174 -0
  204. package/dist/cjs/competence/catalog-validation.js.map +1 -0
  205. package/dist/cjs/competence/obligation-preview.js +190 -0
  206. package/dist/cjs/competence/obligation-preview.js.map +1 -0
  207. package/dist/cjs/competence/repository.js +622 -0
  208. package/dist/cjs/competence/repository.js.map +1 -0
  209. package/dist/cjs/contacts/phone.js +192 -0
  210. package/dist/cjs/contacts/phone.js.map +1 -0
  211. package/dist/cjs/dashboard/pilot-panel.js +90 -0
  212. package/dist/cjs/dashboard/pilot-panel.js.map +1 -0
  213. package/dist/cjs/dashboard/repository.js +11 -1
  214. package/dist/cjs/dashboard/repository.js.map +1 -1
  215. package/dist/cjs/db/client.js +17 -11
  216. package/dist/cjs/db/client.js.map +1 -1
  217. package/dist/cjs/db/provision-e2e-identity.js +111 -0
  218. package/dist/cjs/db/provision-e2e-identity.js.map +1 -0
  219. package/dist/cjs/db/seed-catalog.js +48 -0
  220. package/dist/cjs/db/seed-catalog.js.map +1 -0
  221. package/dist/cjs/db/seed.js +15 -7
  222. package/dist/cjs/db/seed.js.map +1 -1
  223. package/dist/cjs/documents/repository.js +244 -0
  224. package/dist/cjs/documents/repository.js.map +1 -0
  225. package/dist/cjs/documents/requests.js +136 -0
  226. package/dist/cjs/documents/requests.js.map +1 -0
  227. package/dist/cjs/fiscal/applicability.js +164 -0
  228. package/dist/cjs/fiscal/applicability.js.map +1 -0
  229. package/dist/cjs/fiscal/conditions.js +198 -0
  230. package/dist/cjs/fiscal/conditions.js.map +1 -0
  231. package/dist/cjs/fiscal/contracts/nfse-adn-contract.js +390 -0
  232. package/dist/cjs/fiscal/contracts/nfse-adn-contract.js.map +1 -0
  233. package/dist/cjs/fiscal/contracts/nfse-adn-endpoint.js +108 -0
  234. package/dist/cjs/fiscal/contracts/nfse-adn-endpoint.js.map +1 -0
  235. package/dist/cjs/fiscal/contracts/nfse-adn-envelope.js +220 -0
  236. package/dist/cjs/fiscal/contracts/nfse-adn-envelope.js.map +1 -0
  237. package/dist/cjs/fiscal/coverage/model.js +127 -0
  238. package/dist/cjs/fiscal/coverage/model.js.map +1 -0
  239. package/dist/cjs/fiscal/coverage/requests.js +99 -0
  240. package/dist/cjs/fiscal/coverage/requests.js.map +1 -0
  241. package/dist/cjs/fiscal/credentials/material.js +168 -0
  242. package/dist/cjs/fiscal/credentials/material.js.map +1 -0
  243. package/dist/cjs/fiscal/credentials/readiness.js +163 -0
  244. package/dist/cjs/fiscal/credentials/readiness.js.map +1 -0
  245. package/dist/cjs/fiscal/eligibility.js +199 -0
  246. package/dist/cjs/fiscal/eligibility.js.map +1 -0
  247. package/dist/cjs/fiscal/ingestion/__fixtures__/nfse.js +128 -0
  248. package/dist/cjs/fiscal/ingestion/__fixtures__/nfse.js.map +1 -0
  249. package/dist/cjs/fiscal/ingestion/adn-transport.js +229 -0
  250. package/dist/cjs/fiscal/ingestion/adn-transport.js.map +1 -0
  251. package/dist/cjs/fiscal/ingestion/direction.js +36 -0
  252. package/dist/cjs/fiscal/ingestion/direction.js.map +1 -0
  253. package/dist/cjs/fiscal/ingestion/nfse-adn.js +228 -0
  254. package/dist/cjs/fiscal/ingestion/nfse-adn.js.map +1 -0
  255. package/dist/cjs/fiscal/ingestion/pipeline.js +704 -0
  256. package/dist/cjs/fiscal/ingestion/pipeline.js.map +1 -0
  257. package/dist/cjs/fiscal/ingestion/provider.js +51 -0
  258. package/dist/cjs/fiscal/ingestion/provider.js.map +1 -0
  259. package/dist/cjs/fiscal/ingestion/repository.js +132 -0
  260. package/dist/cjs/fiscal/ingestion/repository.js.map +1 -0
  261. package/dist/cjs/fiscal/ingestion/synthetic-provider.js +103 -0
  262. package/dist/cjs/fiscal/ingestion/synthetic-provider.js.map +1 -0
  263. package/dist/cjs/fiscal/ingestion/synthetic-transport-types.js +13 -0
  264. package/dist/cjs/fiscal/ingestion/synthetic-transport-types.js.map +1 -0
  265. package/dist/cjs/fiscal/ingestion/synthetic-transport.js +61 -0
  266. package/dist/cjs/fiscal/ingestion/synthetic-transport.js.map +1 -0
  267. package/dist/cjs/fiscal/ingestion/xml-reader.js +121 -0
  268. package/dist/cjs/fiscal/ingestion/xml-reader.js.map +1 -0
  269. package/dist/cjs/fiscal/repository.js +470 -0
  270. package/dist/cjs/fiscal/repository.js.map +1 -0
  271. package/dist/cjs/fiscal/sync/circuit.js +124 -0
  272. package/dist/cjs/fiscal/sync/circuit.js.map +1 -0
  273. package/dist/cjs/fiscal/sync/intervention.js +140 -0
  274. package/dist/cjs/fiscal/sync/intervention.js.map +1 -0
  275. package/dist/cjs/fiscal/sync/lease.js +146 -0
  276. package/dist/cjs/fiscal/sync/lease.js.map +1 -0
  277. package/dist/cjs/fiscal/sync/observability.js +244 -0
  278. package/dist/cjs/fiscal/sync/observability.js.map +1 -0
  279. package/dist/cjs/fiscal/sync/orchestrator.js +490 -0
  280. package/dist/cjs/fiscal/sync/orchestrator.js.map +1 -0
  281. package/dist/cjs/fiscal/sync/policy.js +143 -0
  282. package/dist/cjs/fiscal/sync/policy.js.map +1 -0
  283. package/dist/cjs/fiscal/sync/reprocess.js +241 -0
  284. package/dist/cjs/fiscal/sync/reprocess.js.map +1 -0
  285. package/dist/cjs/fiscal/sync/retry.js +183 -0
  286. package/dist/cjs/fiscal/sync/retry.js.map +1 -0
  287. package/dist/cjs/fiscal/sync/secret-boundary.js +123 -0
  288. package/dist/cjs/fiscal/sync/secret-boundary.js.map +1 -0
  289. package/dist/cjs/fiscal/transport/https.js +309 -0
  290. package/dist/cjs/fiscal/transport/https.js.map +1 -0
  291. package/dist/cjs/fiscal/transport/synthetic-tls.js +328 -0
  292. package/dist/cjs/fiscal/transport/synthetic-tls.js.map +1 -0
  293. package/dist/cjs/fiscal/transport/types.js +93 -0
  294. package/dist/cjs/fiscal/transport/types.js.map +1 -0
  295. package/dist/cjs/import/br-documents.js +85 -0
  296. package/dist/cjs/import/br-documents.js.map +1 -0
  297. package/dist/cjs/import/clients-import.js +347 -40
  298. package/dist/cjs/import/clients-import.js.map +1 -1
  299. package/dist/cjs/index.js +711 -39
  300. package/dist/cjs/index.js.map +1 -1
  301. package/dist/cjs/legal/documents.js +224 -17
  302. package/dist/cjs/legal/documents.js.map +1 -1
  303. package/dist/cjs/legal/index.js +3 -1
  304. package/dist/cjs/legal/index.js.map +1 -1
  305. package/dist/cjs/legal/types.js +1 -0
  306. package/dist/cjs/legal/types.js.map +1 -1
  307. package/dist/cjs/mail/auth-templates.js +29 -0
  308. package/dist/cjs/mail/auth-templates.js.map +1 -0
  309. package/dist/cjs/mail/dedup-store.js +12 -51
  310. package/dist/cjs/mail/dedup-store.js.map +1 -1
  311. package/dist/cjs/mail/index.js +16 -4
  312. package/dist/cjs/mail/index.js.map +1 -1
  313. package/dist/cjs/mail/provider.js +12 -247
  314. package/dist/cjs/mail/provider.js.map +1 -1
  315. package/dist/cjs/mail/resend.js +14 -18
  316. package/dist/cjs/mail/resend.js.map +1 -1
  317. package/dist/cjs/mail/sender-resolver.js +12 -11
  318. package/dist/cjs/mail/sender-resolver.js.map +1 -1
  319. package/dist/cjs/mail/template-renderer.js +11 -16
  320. package/dist/cjs/mail/template-renderer.js.map +1 -1
  321. package/dist/cjs/mail/transactional-outbound.js +117 -0
  322. package/dist/cjs/mail/transactional-outbound.js.map +1 -0
  323. package/dist/cjs/mail/types.js +8 -35
  324. package/dist/cjs/mail/types.js.map +1 -1
  325. package/dist/cjs/onboarding/persistence.js +4 -4
  326. package/dist/cjs/onboarding/persistence.js.map +1 -1
  327. package/dist/cjs/pilot/go-live-checklist.js +212 -0
  328. package/dist/cjs/pilot/go-live-checklist.js.map +1 -0
  329. package/dist/cjs/pilot/milestone.js +79 -0
  330. package/dist/cjs/pilot/milestone.js.map +1 -0
  331. package/dist/cjs/platform/capabilities.js +144 -0
  332. package/dist/cjs/platform/capabilities.js.map +1 -0
  333. package/dist/cjs/platform/job-contract.js +411 -0
  334. package/dist/cjs/platform/job-contract.js.map +1 -0
  335. package/dist/cjs/portal/provisioning.js +144 -0
  336. package/dist/cjs/portal/provisioning.js.map +1 -0
  337. package/dist/cjs/pricing-engine/canonical.js +42 -0
  338. package/dist/cjs/pricing-engine/canonical.js.map +1 -0
  339. package/dist/cjs/pricing-engine/errors.js +6 -1
  340. package/dist/cjs/pricing-engine/errors.js.map +1 -1
  341. package/dist/cjs/pricing-engine/index.js +12 -1
  342. package/dist/cjs/pricing-engine/index.js.map +1 -1
  343. package/dist/cjs/pricing-engine/pipeline.js +200 -26
  344. package/dist/cjs/pricing-engine/pipeline.js.map +1 -1
  345. package/dist/cjs/pricing-engine/shadow-adapter.js +79 -0
  346. package/dist/cjs/pricing-engine/shadow-adapter.js.map +1 -0
  347. package/dist/cjs/pricing-engine/shadow-diff.js +55 -0
  348. package/dist/cjs/pricing-engine/shadow-diff.js.map +1 -0
  349. package/dist/cjs/pricing-engine/shadow-facade.js +85 -0
  350. package/dist/cjs/pricing-engine/shadow-facade.js.map +1 -0
  351. package/dist/cjs/pricing-engine/shadow-legacy-types.js +19 -0
  352. package/dist/cjs/pricing-engine/shadow-legacy-types.js.map +1 -0
  353. package/dist/cjs/pricing-engine/shadow-metrics.js +34 -0
  354. package/dist/cjs/pricing-engine/shadow-metrics.js.map +1 -0
  355. package/dist/cjs/pricing-engine/shadow-normalizer.js +42 -0
  356. package/dist/cjs/pricing-engine/shadow-normalizer.js.map +1 -0
  357. package/dist/cjs/rbac/authorize.js +28 -0
  358. package/dist/cjs/rbac/authorize.js.map +1 -1
  359. package/dist/cjs/rbac/catalog.js +101 -1
  360. package/dist/cjs/rbac/catalog.js.map +1 -1
  361. package/dist/cjs/rbac/workload-provisioning.js +160 -0
  362. package/dist/cjs/rbac/workload-provisioning.js.map +1 -0
  363. package/dist/cjs/rbac/workload.js +191 -0
  364. package/dist/cjs/rbac/workload.js.map +1 -0
  365. package/dist/cjs/storage/checksum.js +15 -0
  366. package/dist/cjs/storage/checksum.js.map +1 -0
  367. package/dist/cjs/storage/key.js +72 -0
  368. package/dist/cjs/storage/key.js.map +1 -0
  369. package/dist/cjs/storage/local.js +100 -0
  370. package/dist/cjs/storage/local.js.map +1 -0
  371. package/dist/cjs/storage/r2.js +181 -0
  372. package/dist/cjs/storage/r2.js.map +1 -0
  373. package/dist/cjs/storage/registry.js +41 -0
  374. package/dist/cjs/storage/registry.js.map +1 -0
  375. package/dist/cjs/storage/types.js +50 -0
  376. package/dist/cjs/storage/types.js.map +1 -0
  377. package/dist/cjs/subscription-billing/index.js +2 -1
  378. package/dist/cjs/subscription-billing/index.js.map +1 -1
  379. package/dist/cjs/subscription-billing/provider/asaas.js +32 -7
  380. package/dist/cjs/subscription-billing/provider/asaas.js.map +1 -1
  381. package/dist/cjs/subscription-billing/provider/disabled.js +8 -0
  382. package/dist/cjs/subscription-billing/provider/disabled.js.map +1 -1
  383. package/dist/cjs/subscription-billing/provider/registry.js +17 -0
  384. package/dist/cjs/subscription-billing/provider/registry.js.map +1 -1
  385. package/dist/cjs/subscription-billing/service.js +208 -83
  386. package/dist/cjs/subscription-billing/service.js.map +1 -1
  387. package/dist/cjs/subscription-billing/types.js.map +1 -1
  388. package/dist/cjs/tenancy/features.js +131 -0
  389. package/dist/cjs/tenancy/features.js.map +1 -0
  390. package/dist/cjs/tenancy/provisioning.js +32 -8
  391. package/dist/cjs/tenancy/provisioning.js.map +1 -1
  392. package/dist/cjs/tenancy/settings.js +224 -0
  393. package/dist/cjs/tenancy/settings.js.map +1 -0
  394. package/dist/cjs/users/repository.js +143 -3
  395. package/dist/cjs/users/repository.js.map +1 -1
  396. package/dist/cjs/vault/repository.js +81 -0
  397. package/dist/cjs/vault/repository.js.map +1 -1
  398. package/dist/clients/ibge.d.ts +17 -0
  399. package/dist/clients/ibge.d.ts.map +1 -0
  400. package/dist/clients/ibge.js +98 -0
  401. package/dist/clients/ibge.js.map +1 -0
  402. package/dist/clients/repository.d.ts +196 -0
  403. package/dist/clients/repository.d.ts.map +1 -1
  404. package/dist/clients/repository.js +270 -24
  405. package/dist/clients/repository.js.map +1 -1
  406. package/dist/collection/branding.d.ts +137 -0
  407. package/dist/collection/branding.d.ts.map +1 -0
  408. package/dist/collection/branding.js +322 -0
  409. package/dist/collection/branding.js.map +1 -0
  410. package/dist/collection/channel-accounts.d.ts +57 -0
  411. package/dist/collection/channel-accounts.d.ts.map +1 -0
  412. package/dist/collection/channel-accounts.js +133 -0
  413. package/dist/collection/channel-accounts.js.map +1 -0
  414. package/dist/collection/channel.d.ts +24 -0
  415. package/dist/collection/channel.d.ts.map +1 -0
  416. package/dist/collection/channel.js +16 -0
  417. package/dist/collection/channel.js.map +1 -0
  418. package/dist/collection/clearance-store.d.ts +39 -0
  419. package/dist/collection/clearance-store.d.ts.map +1 -0
  420. package/dist/collection/clearance-store.js +69 -0
  421. package/dist/collection/clearance-store.js.map +1 -0
  422. package/dist/collection/communication-bridge.d.ts +66 -0
  423. package/dist/collection/communication-bridge.d.ts.map +1 -0
  424. package/dist/collection/communication-bridge.js +134 -0
  425. package/dist/collection/communication-bridge.js.map +1 -0
  426. package/dist/collection/communication-runtime.d.ts +132 -0
  427. package/dist/collection/communication-runtime.d.ts.map +1 -0
  428. package/dist/collection/communication-runtime.js +249 -0
  429. package/dist/collection/communication-runtime.js.map +1 -0
  430. package/dist/collection/consent-repository.d.ts +32 -0
  431. package/dist/collection/consent-repository.d.ts.map +1 -0
  432. package/dist/collection/consent-repository.js +79 -0
  433. package/dist/collection/consent-repository.js.map +1 -0
  434. package/dist/collection/copy.d.ts +50 -0
  435. package/dist/collection/copy.d.ts.map +1 -0
  436. package/dist/collection/copy.js +122 -0
  437. package/dist/collection/copy.js.map +1 -0
  438. package/dist/collection/delivery-callback.d.ts +49 -0
  439. package/dist/collection/delivery-callback.d.ts.map +1 -0
  440. package/dist/collection/delivery-callback.js +147 -0
  441. package/dist/collection/delivery-callback.js.map +1 -0
  442. package/dist/collection/email-layout.d.ts +45 -0
  443. package/dist/collection/email-layout.d.ts.map +1 -0
  444. package/dist/collection/email-layout.js +247 -0
  445. package/dist/collection/email-layout.js.map +1 -0
  446. package/dist/collection/engine.d.ts +200 -0
  447. package/dist/collection/engine.d.ts.map +1 -0
  448. package/dist/collection/engine.js +427 -0
  449. package/dist/collection/engine.js.map +1 -0
  450. package/dist/collection/format.d.ts +32 -0
  451. package/dist/collection/format.d.ts.map +1 -0
  452. package/dist/collection/format.js +70 -0
  453. package/dist/collection/format.js.map +1 -0
  454. package/dist/collection/payment-block.d.ts +24 -0
  455. package/dist/collection/payment-block.d.ts.map +1 -0
  456. package/dist/collection/payment-block.js +2 -0
  457. package/dist/collection/payment-block.js.map +1 -0
  458. package/dist/collection/policy.d.ts +78 -0
  459. package/dist/collection/policy.d.ts.map +1 -0
  460. package/dist/collection/policy.js +168 -0
  461. package/dist/collection/policy.js.map +1 -0
  462. package/dist/collection/repository.d.ts +129 -0
  463. package/dist/collection/repository.d.ts.map +1 -0
  464. package/dist/collection/repository.js +246 -0
  465. package/dist/collection/repository.js.map +1 -0
  466. package/dist/collection/subject.d.ts +66 -0
  467. package/dist/collection/subject.d.ts.map +1 -0
  468. package/dist/collection/subject.js +99 -0
  469. package/dist/collection/subject.js.map +1 -0
  470. package/dist/collection/template-catalog.d.ts +16 -0
  471. package/dist/collection/template-catalog.d.ts.map +1 -0
  472. package/dist/collection/template-catalog.js +162 -0
  473. package/dist/collection/template-catalog.js.map +1 -0
  474. package/dist/collection/template.d.ts +37 -0
  475. package/dist/collection/template.d.ts.map +1 -0
  476. package/dist/collection/template.js +73 -0
  477. package/dist/collection/template.js.map +1 -0
  478. package/dist/communication/adapters/email.d.ts +28 -0
  479. package/dist/communication/adapters/email.d.ts.map +1 -0
  480. package/dist/communication/adapters/email.js +129 -0
  481. package/dist/communication/adapters/email.js.map +1 -0
  482. package/dist/communication/adapters/sms.d.ts +95 -0
  483. package/dist/communication/adapters/sms.d.ts.map +1 -0
  484. package/dist/communication/adapters/sms.js +121 -0
  485. package/dist/communication/adapters/sms.js.map +1 -0
  486. package/dist/communication/adapters/whatsapp-language.d.ts +34 -0
  487. package/dist/communication/adapters/whatsapp-language.d.ts.map +1 -0
  488. package/dist/communication/adapters/whatsapp-language.js +36 -0
  489. package/dist/communication/adapters/whatsapp-language.js.map +1 -0
  490. package/dist/communication/adapters/whatsapp-templates.d.ts +18 -0
  491. package/dist/communication/adapters/whatsapp-templates.d.ts.map +1 -0
  492. package/dist/communication/adapters/whatsapp-templates.js +97 -0
  493. package/dist/communication/adapters/whatsapp-templates.js.map +1 -0
  494. package/dist/communication/adapters/whatsapp.d.ts +29 -0
  495. package/dist/communication/adapters/whatsapp.d.ts.map +1 -0
  496. package/dist/communication/adapters/whatsapp.js +210 -0
  497. package/dist/communication/adapters/whatsapp.js.map +1 -0
  498. package/dist/communication/audit.d.ts +105 -0
  499. package/dist/communication/audit.d.ts.map +1 -0
  500. package/dist/communication/audit.js +56 -0
  501. package/dist/communication/audit.js.map +1 -0
  502. package/dist/communication/capabilities.d.ts +88 -0
  503. package/dist/communication/capabilities.d.ts.map +1 -0
  504. package/dist/communication/capabilities.js +72 -0
  505. package/dist/communication/capabilities.js.map +1 -0
  506. package/dist/communication/channel.d.ts +125 -0
  507. package/dist/communication/channel.d.ts.map +1 -0
  508. package/dist/communication/channel.js +47 -0
  509. package/dist/communication/channel.js.map +1 -0
  510. package/dist/communication/claim.d.ts +368 -0
  511. package/dist/communication/claim.d.ts.map +1 -0
  512. package/dist/communication/claim.js +224 -0
  513. package/dist/communication/claim.js.map +1 -0
  514. package/dist/communication/clearance.d.ts +53 -0
  515. package/dist/communication/clearance.d.ts.map +1 -0
  516. package/dist/communication/clearance.js +15 -0
  517. package/dist/communication/clearance.js.map +1 -0
  518. package/dist/communication/consent.d.ts +65 -0
  519. package/dist/communication/consent.d.ts.map +1 -0
  520. package/dist/communication/consent.js +40 -0
  521. package/dist/communication/consent.js.map +1 -0
  522. package/dist/communication/context.d.ts +48 -0
  523. package/dist/communication/context.d.ts.map +1 -0
  524. package/dist/communication/context.js +41 -0
  525. package/dist/communication/context.js.map +1 -0
  526. package/dist/communication/credentials.d.ts +74 -0
  527. package/dist/communication/credentials.d.ts.map +1 -0
  528. package/dist/communication/credentials.js +115 -0
  529. package/dist/communication/credentials.js.map +1 -0
  530. package/dist/communication/dry-run-scenario.d.ts +37 -0
  531. package/dist/communication/dry-run-scenario.d.ts.map +1 -0
  532. package/dist/communication/dry-run-scenario.js +163 -0
  533. package/dist/communication/dry-run-scenario.js.map +1 -0
  534. package/dist/communication/dry-run.d.ts +40 -0
  535. package/dist/communication/dry-run.d.ts.map +1 -0
  536. package/dist/communication/dry-run.js +92 -0
  537. package/dist/communication/dry-run.js.map +1 -0
  538. package/dist/communication/engine.d.ts +163 -0
  539. package/dist/communication/engine.d.ts.map +1 -0
  540. package/dist/communication/engine.js +492 -0
  541. package/dist/communication/engine.js.map +1 -0
  542. package/dist/communication/graph.d.ts +38 -0
  543. package/dist/communication/graph.d.ts.map +1 -0
  544. package/dist/communication/graph.js +45 -0
  545. package/dist/communication/graph.js.map +1 -0
  546. package/dist/communication/idempotency.d.ts +33 -0
  547. package/dist/communication/idempotency.d.ts.map +1 -0
  548. package/dist/communication/idempotency.js +23 -0
  549. package/dist/communication/idempotency.js.map +1 -0
  550. package/dist/communication/identity.d.ts +127 -0
  551. package/dist/communication/identity.d.ts.map +1 -0
  552. package/dist/communication/identity.js +105 -0
  553. package/dist/communication/identity.js.map +1 -0
  554. package/dist/communication/index.d.ts +66 -0
  555. package/dist/communication/index.d.ts.map +1 -0
  556. package/dist/communication/index.js +42 -0
  557. package/dist/communication/index.js.map +1 -0
  558. package/dist/communication/onboarding.d.ts +223 -0
  559. package/dist/communication/onboarding.d.ts.map +1 -0
  560. package/dist/communication/onboarding.js +287 -0
  561. package/dist/communication/onboarding.js.map +1 -0
  562. package/dist/communication/policy.d.ts +115 -0
  563. package/dist/communication/policy.d.ts.map +1 -0
  564. package/dist/communication/policy.js +13 -0
  565. package/dist/communication/policy.js.map +1 -0
  566. package/dist/communication/routing.d.ts +99 -0
  567. package/dist/communication/routing.d.ts.map +1 -0
  568. package/dist/communication/routing.js +73 -0
  569. package/dist/communication/routing.js.map +1 -0
  570. package/dist/communication/sender-profile.d.ts +100 -0
  571. package/dist/communication/sender-profile.d.ts.map +1 -0
  572. package/dist/communication/sender-profile.js +123 -0
  573. package/dist/communication/sender-profile.js.map +1 -0
  574. package/dist/communication/status.d.ts +48 -0
  575. package/dist/communication/status.d.ts.map +1 -0
  576. package/dist/communication/status.js +79 -0
  577. package/dist/communication/status.js.map +1 -0
  578. package/dist/communication/stores/onboarding.d.ts +88 -0
  579. package/dist/communication/stores/onboarding.d.ts.map +1 -0
  580. package/dist/communication/stores/onboarding.js +127 -0
  581. package/dist/communication/stores/onboarding.js.map +1 -0
  582. package/dist/communication/stores/postgres.d.ts +81 -0
  583. package/dist/communication/stores/postgres.d.ts.map +1 -0
  584. package/dist/communication/stores/postgres.js +453 -0
  585. package/dist/communication/stores/postgres.js.map +1 -0
  586. package/dist/communication/stores/routing.d.ts +169 -0
  587. package/dist/communication/stores/routing.d.ts.map +1 -0
  588. package/dist/communication/stores/routing.js +324 -0
  589. package/dist/communication/stores/routing.js.map +1 -0
  590. package/dist/communication/stores/secrets.d.ts +89 -0
  591. package/dist/communication/stores/secrets.d.ts.map +1 -0
  592. package/dist/communication/stores/secrets.js +122 -0
  593. package/dist/communication/stores/secrets.js.map +1 -0
  594. package/dist/communication/template-provider.d.ts +85 -0
  595. package/dist/communication/template-provider.d.ts.map +1 -0
  596. package/dist/communication/template-provider.js +21 -0
  597. package/dist/communication/template-provider.js.map +1 -0
  598. package/dist/communication/template.d.ts +87 -0
  599. package/dist/communication/template.d.ts.map +1 -0
  600. package/dist/communication/template.js +59 -0
  601. package/dist/communication/template.js.map +1 -0
  602. package/dist/communication/webhook-subscription.d.ts +156 -0
  603. package/dist/communication/webhook-subscription.d.ts.map +1 -0
  604. package/dist/communication/webhook-subscription.js +252 -0
  605. package/dist/communication/webhook-subscription.js.map +1 -0
  606. package/dist/communication/webhook.d.ts +121 -0
  607. package/dist/communication/webhook.d.ts.map +1 -0
  608. package/dist/communication/webhook.js +283 -0
  609. package/dist/communication/webhook.js.map +1 -0
  610. package/dist/competence/business-days.d.ts +51 -0
  611. package/dist/competence/business-days.d.ts.map +1 -0
  612. package/dist/competence/business-days.js +145 -0
  613. package/dist/competence/business-days.js.map +1 -0
  614. package/dist/competence/catalog-validation.d.ts +86 -0
  615. package/dist/competence/catalog-validation.d.ts.map +1 -0
  616. package/dist/competence/catalog-validation.js +168 -0
  617. package/dist/competence/catalog-validation.js.map +1 -0
  618. package/dist/competence/obligation-preview.d.ts +103 -0
  619. package/dist/competence/obligation-preview.d.ts.map +1 -0
  620. package/dist/competence/obligation-preview.js +184 -0
  621. package/dist/competence/obligation-preview.js.map +1 -0
  622. package/dist/competence/repository.d.ts +285 -0
  623. package/dist/competence/repository.d.ts.map +1 -0
  624. package/dist/competence/repository.js +602 -0
  625. package/dist/competence/repository.js.map +1 -0
  626. package/dist/contacts/phone.d.ts +70 -0
  627. package/dist/contacts/phone.d.ts.map +1 -0
  628. package/dist/contacts/phone.js +186 -0
  629. package/dist/contacts/phone.js.map +1 -0
  630. package/dist/dashboard/pilot-panel.d.ts +100 -0
  631. package/dist/dashboard/pilot-panel.d.ts.map +1 -0
  632. package/dist/dashboard/pilot-panel.js +87 -0
  633. package/dist/dashboard/pilot-panel.js.map +1 -0
  634. package/dist/dashboard/repository.d.ts.map +1 -1
  635. package/dist/dashboard/repository.js +11 -1
  636. package/dist/dashboard/repository.js.map +1 -1
  637. package/dist/db/client.d.ts +45 -0
  638. package/dist/db/client.d.ts.map +1 -1
  639. package/dist/db/client.js +16 -11
  640. package/dist/db/client.js.map +1 -1
  641. package/dist/db/migrate.d.ts +36 -1
  642. package/dist/db/migrate.d.ts.map +1 -1
  643. package/dist/db/migrate.js +208 -35
  644. package/dist/db/migrate.js.map +1 -1
  645. package/dist/db/provision-e2e-identity.d.ts +2 -0
  646. package/dist/db/provision-e2e-identity.d.ts.map +1 -0
  647. package/dist/db/provision-e2e-identity.js +109 -0
  648. package/dist/db/provision-e2e-identity.js.map +1 -0
  649. package/dist/db/seed-catalog.d.ts +18 -0
  650. package/dist/db/seed-catalog.d.ts.map +1 -0
  651. package/dist/db/seed-catalog.js +45 -0
  652. package/dist/db/seed-catalog.js.map +1 -0
  653. package/dist/db/seed.js +16 -8
  654. package/dist/db/seed.js.map +1 -1
  655. package/dist/documents/repository.d.ts +97 -0
  656. package/dist/documents/repository.d.ts.map +1 -0
  657. package/dist/documents/repository.js +236 -0
  658. package/dist/documents/repository.js.map +1 -0
  659. package/dist/documents/requests.d.ts +73 -0
  660. package/dist/documents/requests.d.ts.map +1 -0
  661. package/dist/documents/requests.js +127 -0
  662. package/dist/documents/requests.js.map +1 -0
  663. package/dist/fiscal/applicability.d.ts +73 -0
  664. package/dist/fiscal/applicability.d.ts.map +1 -0
  665. package/dist/fiscal/applicability.js +160 -0
  666. package/dist/fiscal/applicability.js.map +1 -0
  667. package/dist/fiscal/conditions.d.ts +99 -0
  668. package/dist/fiscal/conditions.d.ts.map +1 -0
  669. package/dist/fiscal/conditions.js +190 -0
  670. package/dist/fiscal/conditions.js.map +1 -0
  671. package/dist/fiscal/contracts/nfse-adn-contract.d.ts +315 -0
  672. package/dist/fiscal/contracts/nfse-adn-contract.d.ts.map +1 -0
  673. package/dist/fiscal/contracts/nfse-adn-contract.js +386 -0
  674. package/dist/fiscal/contracts/nfse-adn-contract.js.map +1 -0
  675. package/dist/fiscal/contracts/nfse-adn-endpoint.d.ts +13 -0
  676. package/dist/fiscal/contracts/nfse-adn-endpoint.d.ts.map +1 -0
  677. package/dist/fiscal/contracts/nfse-adn-endpoint.js +103 -0
  678. package/dist/fiscal/contracts/nfse-adn-endpoint.js.map +1 -0
  679. package/dist/fiscal/contracts/nfse-adn-envelope.d.ts +77 -0
  680. package/dist/fiscal/contracts/nfse-adn-envelope.d.ts.map +1 -0
  681. package/dist/fiscal/contracts/nfse-adn-envelope.js +215 -0
  682. package/dist/fiscal/contracts/nfse-adn-envelope.js.map +1 -0
  683. package/dist/fiscal/coverage/model.d.ts +86 -0
  684. package/dist/fiscal/coverage/model.d.ts.map +1 -0
  685. package/dist/fiscal/coverage/model.js +120 -0
  686. package/dist/fiscal/coverage/model.js.map +1 -0
  687. package/dist/fiscal/coverage/requests.d.ts +70 -0
  688. package/dist/fiscal/coverage/requests.d.ts.map +1 -0
  689. package/dist/fiscal/coverage/requests.js +95 -0
  690. package/dist/fiscal/coverage/requests.js.map +1 -0
  691. package/dist/fiscal/credentials/material.d.ts +81 -0
  692. package/dist/fiscal/credentials/material.d.ts.map +1 -0
  693. package/dist/fiscal/credentials/material.js +164 -0
  694. package/dist/fiscal/credentials/material.js.map +1 -0
  695. package/dist/fiscal/credentials/readiness.d.ts +92 -0
  696. package/dist/fiscal/credentials/readiness.d.ts.map +1 -0
  697. package/dist/fiscal/credentials/readiness.js +159 -0
  698. package/dist/fiscal/credentials/readiness.js.map +1 -0
  699. package/dist/fiscal/eligibility.d.ts +106 -0
  700. package/dist/fiscal/eligibility.d.ts.map +1 -0
  701. package/dist/fiscal/eligibility.js +194 -0
  702. package/dist/fiscal/eligibility.js.map +1 -0
  703. package/dist/fiscal/ingestion/__fixtures__/nfse.d.ts +57 -0
  704. package/dist/fiscal/ingestion/__fixtures__/nfse.d.ts.map +1 -0
  705. package/dist/fiscal/ingestion/__fixtures__/nfse.js +121 -0
  706. package/dist/fiscal/ingestion/__fixtures__/nfse.js.map +1 -0
  707. package/dist/fiscal/ingestion/adn-transport.d.ts +123 -0
  708. package/dist/fiscal/ingestion/adn-transport.d.ts.map +1 -0
  709. package/dist/fiscal/ingestion/adn-transport.js +220 -0
  710. package/dist/fiscal/ingestion/adn-transport.js.map +1 -0
  711. package/dist/fiscal/ingestion/direction.d.ts +60 -0
  712. package/dist/fiscal/ingestion/direction.d.ts.map +1 -0
  713. package/dist/fiscal/ingestion/direction.js +32 -0
  714. package/dist/fiscal/ingestion/direction.js.map +1 -0
  715. package/dist/fiscal/ingestion/nfse-adn.d.ts +91 -0
  716. package/dist/fiscal/ingestion/nfse-adn.d.ts.map +1 -0
  717. package/dist/fiscal/ingestion/nfse-adn.js +222 -0
  718. package/dist/fiscal/ingestion/nfse-adn.js.map +1 -0
  719. package/dist/fiscal/ingestion/pipeline.d.ts +168 -0
  720. package/dist/fiscal/ingestion/pipeline.d.ts.map +1 -0
  721. package/dist/fiscal/ingestion/pipeline.js +699 -0
  722. package/dist/fiscal/ingestion/pipeline.js.map +1 -0
  723. package/dist/fiscal/ingestion/provider.d.ts +206 -0
  724. package/dist/fiscal/ingestion/provider.d.ts.map +1 -0
  725. package/dist/fiscal/ingestion/provider.js +47 -0
  726. package/dist/fiscal/ingestion/provider.js.map +1 -0
  727. package/dist/fiscal/ingestion/repository.d.ts +82 -0
  728. package/dist/fiscal/ingestion/repository.d.ts.map +1 -0
  729. package/dist/fiscal/ingestion/repository.js +127 -0
  730. package/dist/fiscal/ingestion/repository.js.map +1 -0
  731. package/dist/fiscal/ingestion/synthetic-provider.d.ts +92 -0
  732. package/dist/fiscal/ingestion/synthetic-provider.d.ts.map +1 -0
  733. package/dist/fiscal/ingestion/synthetic-provider.js +99 -0
  734. package/dist/fiscal/ingestion/synthetic-provider.js.map +1 -0
  735. package/dist/fiscal/ingestion/synthetic-transport-types.d.ts +19 -0
  736. package/dist/fiscal/ingestion/synthetic-transport-types.d.ts.map +1 -0
  737. package/dist/fiscal/ingestion/synthetic-transport-types.js +9 -0
  738. package/dist/fiscal/ingestion/synthetic-transport-types.js.map +1 -0
  739. package/dist/fiscal/ingestion/synthetic-transport.d.ts +55 -0
  740. package/dist/fiscal/ingestion/synthetic-transport.d.ts.map +1 -0
  741. package/dist/fiscal/ingestion/synthetic-transport.js +57 -0
  742. package/dist/fiscal/ingestion/synthetic-transport.js.map +1 -0
  743. package/dist/fiscal/ingestion/xml-reader.d.ts +55 -0
  744. package/dist/fiscal/ingestion/xml-reader.d.ts.map +1 -0
  745. package/dist/fiscal/ingestion/xml-reader.js +112 -0
  746. package/dist/fiscal/ingestion/xml-reader.js.map +1 -0
  747. package/dist/fiscal/repository.d.ts +220 -0
  748. package/dist/fiscal/repository.d.ts.map +1 -0
  749. package/dist/fiscal/repository.js +449 -0
  750. package/dist/fiscal/repository.js.map +1 -0
  751. package/dist/fiscal/sync/circuit.d.ts +86 -0
  752. package/dist/fiscal/sync/circuit.d.ts.map +1 -0
  753. package/dist/fiscal/sync/circuit.js +118 -0
  754. package/dist/fiscal/sync/circuit.js.map +1 -0
  755. package/dist/fiscal/sync/intervention.d.ts +81 -0
  756. package/dist/fiscal/sync/intervention.d.ts.map +1 -0
  757. package/dist/fiscal/sync/intervention.js +135 -0
  758. package/dist/fiscal/sync/intervention.js.map +1 -0
  759. package/dist/fiscal/sync/lease.d.ts +118 -0
  760. package/dist/fiscal/sync/lease.d.ts.map +1 -0
  761. package/dist/fiscal/sync/lease.js +139 -0
  762. package/dist/fiscal/sync/lease.js.map +1 -0
  763. package/dist/fiscal/sync/observability.d.ts +148 -0
  764. package/dist/fiscal/sync/observability.d.ts.map +1 -0
  765. package/dist/fiscal/sync/observability.js +239 -0
  766. package/dist/fiscal/sync/observability.js.map +1 -0
  767. package/dist/fiscal/sync/orchestrator.d.ts +132 -0
  768. package/dist/fiscal/sync/orchestrator.d.ts.map +1 -0
  769. package/dist/fiscal/sync/orchestrator.js +487 -0
  770. package/dist/fiscal/sync/orchestrator.js.map +1 -0
  771. package/dist/fiscal/sync/policy.d.ts +87 -0
  772. package/dist/fiscal/sync/policy.d.ts.map +1 -0
  773. package/dist/fiscal/sync/policy.js +136 -0
  774. package/dist/fiscal/sync/policy.js.map +1 -0
  775. package/dist/fiscal/sync/reprocess.d.ts +76 -0
  776. package/dist/fiscal/sync/reprocess.d.ts.map +1 -0
  777. package/dist/fiscal/sync/reprocess.js +237 -0
  778. package/dist/fiscal/sync/reprocess.js.map +1 -0
  779. package/dist/fiscal/sync/retry.d.ts +82 -0
  780. package/dist/fiscal/sync/retry.d.ts.map +1 -0
  781. package/dist/fiscal/sync/retry.js +176 -0
  782. package/dist/fiscal/sync/retry.js.map +1 -0
  783. package/dist/fiscal/sync/secret-boundary.d.ts +169 -0
  784. package/dist/fiscal/sync/secret-boundary.d.ts.map +1 -0
  785. package/dist/fiscal/sync/secret-boundary.js +116 -0
  786. package/dist/fiscal/sync/secret-boundary.js.map +1 -0
  787. package/dist/fiscal/transport/https.d.ts +86 -0
  788. package/dist/fiscal/transport/https.d.ts.map +1 -0
  789. package/dist/fiscal/transport/https.js +303 -0
  790. package/dist/fiscal/transport/https.js.map +1 -0
  791. package/dist/fiscal/transport/synthetic-tls.d.ts +80 -0
  792. package/dist/fiscal/transport/synthetic-tls.d.ts.map +1 -0
  793. package/dist/fiscal/transport/synthetic-tls.js +323 -0
  794. package/dist/fiscal/transport/synthetic-tls.js.map +1 -0
  795. package/dist/fiscal/transport/types.d.ts +134 -0
  796. package/dist/fiscal/transport/types.d.ts.map +1 -0
  797. package/dist/fiscal/transport/types.js +88 -0
  798. package/dist/fiscal/transport/types.js.map +1 -0
  799. package/dist/import/br-documents.d.ts +26 -0
  800. package/dist/import/br-documents.d.ts.map +1 -0
  801. package/dist/import/br-documents.js +78 -0
  802. package/dist/import/br-documents.js.map +1 -0
  803. package/dist/import/clients-import.d.ts +122 -4
  804. package/dist/import/clients-import.d.ts.map +1 -1
  805. package/dist/import/clients-import.js +341 -41
  806. package/dist/import/clients-import.js.map +1 -1
  807. package/dist/index.d.ts +217 -17
  808. package/dist/index.d.ts.map +1 -1
  809. package/dist/index.js +196 -11
  810. package/dist/index.js.map +1 -1
  811. package/dist/legal/documents.d.ts +12 -1
  812. package/dist/legal/documents.d.ts.map +1 -1
  813. package/dist/legal/documents.js +222 -16
  814. package/dist/legal/documents.js.map +1 -1
  815. package/dist/legal/index.d.ts +2 -2
  816. package/dist/legal/index.d.ts.map +1 -1
  817. package/dist/legal/index.js +1 -1
  818. package/dist/legal/index.js.map +1 -1
  819. package/dist/legal/types.d.ts +69 -3
  820. package/dist/legal/types.d.ts.map +1 -1
  821. package/dist/legal/types.js +1 -0
  822. package/dist/legal/types.js.map +1 -1
  823. package/dist/mail/auth-templates.d.ts +15 -0
  824. package/dist/mail/auth-templates.d.ts.map +1 -0
  825. package/dist/mail/auth-templates.js +26 -0
  826. package/dist/mail/auth-templates.js.map +1 -0
  827. package/dist/mail/dedup-store.d.ts +1 -24
  828. package/dist/mail/dedup-store.d.ts.map +1 -1
  829. package/dist/mail/dedup-store.js +9 -48
  830. package/dist/mail/dedup-store.js.map +1 -1
  831. package/dist/mail/index.d.ts +2 -1
  832. package/dist/mail/index.d.ts.map +1 -1
  833. package/dist/mail/index.js +13 -2
  834. package/dist/mail/index.js.map +1 -1
  835. package/dist/mail/provider.d.ts +2 -30
  836. package/dist/mail/provider.d.ts.map +1 -1
  837. package/dist/mail/provider.js +10 -246
  838. package/dist/mail/provider.js.map +1 -1
  839. package/dist/mail/resend.d.ts +2 -12
  840. package/dist/mail/resend.d.ts.map +1 -1
  841. package/dist/mail/resend.js +11 -17
  842. package/dist/mail/resend.js.map +1 -1
  843. package/dist/mail/sender-resolver.d.ts +1 -7
  844. package/dist/mail/sender-resolver.d.ts.map +1 -1
  845. package/dist/mail/sender-resolver.js +11 -10
  846. package/dist/mail/sender-resolver.js.map +1 -1
  847. package/dist/mail/template-renderer.d.ts +1 -9
  848. package/dist/mail/template-renderer.d.ts.map +1 -1
  849. package/dist/mail/template-renderer.js +10 -15
  850. package/dist/mail/template-renderer.js.map +1 -1
  851. package/dist/mail/transactional-outbound.d.ts +115 -0
  852. package/dist/mail/transactional-outbound.d.ts.map +1 -0
  853. package/dist/mail/transactional-outbound.js +113 -0
  854. package/dist/mail/transactional-outbound.js.map +1 -0
  855. package/dist/mail/types.d.ts +2 -142
  856. package/dist/mail/types.d.ts.map +1 -1
  857. package/dist/mail/types.js +1 -33
  858. package/dist/mail/types.js.map +1 -1
  859. package/dist/onboarding/persistence.d.ts +10 -1
  860. package/dist/onboarding/persistence.d.ts.map +1 -1
  861. package/dist/onboarding/persistence.js +4 -4
  862. package/dist/onboarding/persistence.js.map +1 -1
  863. package/dist/pilot/go-live-checklist.d.ts +41 -0
  864. package/dist/pilot/go-live-checklist.d.ts.map +1 -0
  865. package/dist/pilot/go-live-checklist.js +209 -0
  866. package/dist/pilot/go-live-checklist.js.map +1 -0
  867. package/dist/pilot/milestone.d.ts +56 -0
  868. package/dist/pilot/milestone.d.ts.map +1 -0
  869. package/dist/pilot/milestone.js +74 -0
  870. package/dist/pilot/milestone.js.map +1 -0
  871. package/dist/platform/capabilities.d.ts +88 -0
  872. package/dist/platform/capabilities.d.ts.map +1 -0
  873. package/dist/platform/capabilities.js +140 -0
  874. package/dist/platform/capabilities.js.map +1 -0
  875. package/dist/platform/job-contract.d.ts +232 -0
  876. package/dist/platform/job-contract.d.ts.map +1 -0
  877. package/dist/platform/job-contract.js +403 -0
  878. package/dist/platform/job-contract.js.map +1 -0
  879. package/dist/portal/provisioning.d.ts +58 -0
  880. package/dist/portal/provisioning.d.ts.map +1 -0
  881. package/dist/portal/provisioning.js +139 -0
  882. package/dist/portal/provisioning.js.map +1 -0
  883. package/dist/pricing-engine/canonical.d.ts +14 -0
  884. package/dist/pricing-engine/canonical.d.ts.map +1 -0
  885. package/dist/pricing-engine/canonical.js +39 -0
  886. package/dist/pricing-engine/canonical.js.map +1 -0
  887. package/dist/pricing-engine/errors.d.ts.map +1 -1
  888. package/dist/pricing-engine/errors.js +6 -1
  889. package/dist/pricing-engine/errors.js.map +1 -1
  890. package/dist/pricing-engine/index.d.ts +12 -2
  891. package/dist/pricing-engine/index.d.ts.map +1 -1
  892. package/dist/pricing-engine/index.js +6 -1
  893. package/dist/pricing-engine/index.js.map +1 -1
  894. package/dist/pricing-engine/pipeline.d.ts.map +1 -1
  895. package/dist/pricing-engine/pipeline.js +202 -28
  896. package/dist/pricing-engine/pipeline.js.map +1 -1
  897. package/dist/pricing-engine/shadow-adapter.d.ts +37 -0
  898. package/dist/pricing-engine/shadow-adapter.d.ts.map +1 -0
  899. package/dist/pricing-engine/shadow-adapter.js +75 -0
  900. package/dist/pricing-engine/shadow-adapter.js.map +1 -0
  901. package/dist/pricing-engine/shadow-diff.d.ts +26 -0
  902. package/dist/pricing-engine/shadow-diff.d.ts.map +1 -0
  903. package/dist/pricing-engine/shadow-diff.js +52 -0
  904. package/dist/pricing-engine/shadow-diff.js.map +1 -0
  905. package/dist/pricing-engine/shadow-facade.d.ts +42 -0
  906. package/dist/pricing-engine/shadow-facade.d.ts.map +1 -0
  907. package/dist/pricing-engine/shadow-facade.js +82 -0
  908. package/dist/pricing-engine/shadow-facade.js.map +1 -0
  909. package/dist/pricing-engine/shadow-legacy-types.d.ts +64 -0
  910. package/dist/pricing-engine/shadow-legacy-types.d.ts.map +1 -0
  911. package/dist/pricing-engine/shadow-legacy-types.js +18 -0
  912. package/dist/pricing-engine/shadow-legacy-types.js.map +1 -0
  913. package/dist/pricing-engine/shadow-metrics.d.ts +33 -0
  914. package/dist/pricing-engine/shadow-metrics.d.ts.map +1 -0
  915. package/dist/pricing-engine/shadow-metrics.js +31 -0
  916. package/dist/pricing-engine/shadow-metrics.js.map +1 -0
  917. package/dist/pricing-engine/shadow-normalizer.d.ts +17 -0
  918. package/dist/pricing-engine/shadow-normalizer.d.ts.map +1 -0
  919. package/dist/pricing-engine/shadow-normalizer.js +39 -0
  920. package/dist/pricing-engine/shadow-normalizer.js.map +1 -0
  921. package/dist/pricing-engine/types.d.ts +2 -0
  922. package/dist/pricing-engine/types.d.ts.map +1 -1
  923. package/dist/rbac/authorize.d.ts +12 -0
  924. package/dist/rbac/authorize.d.ts.map +1 -1
  925. package/dist/rbac/authorize.js +27 -0
  926. package/dist/rbac/authorize.js.map +1 -1
  927. package/dist/rbac/catalog.d.ts.map +1 -1
  928. package/dist/rbac/catalog.js +101 -1
  929. package/dist/rbac/catalog.js.map +1 -1
  930. package/dist/rbac/workload-provisioning.d.ts +66 -0
  931. package/dist/rbac/workload-provisioning.d.ts.map +1 -0
  932. package/dist/rbac/workload-provisioning.js +153 -0
  933. package/dist/rbac/workload-provisioning.js.map +1 -0
  934. package/dist/rbac/workload.d.ts +124 -0
  935. package/dist/rbac/workload.d.ts.map +1 -0
  936. package/dist/rbac/workload.js +184 -0
  937. package/dist/rbac/workload.js.map +1 -0
  938. package/dist/storage/checksum.d.ts +9 -0
  939. package/dist/storage/checksum.d.ts.map +1 -0
  940. package/dist/storage/checksum.js +12 -0
  941. package/dist/storage/checksum.js.map +1 -0
  942. package/dist/storage/key.d.ts +37 -0
  943. package/dist/storage/key.d.ts.map +1 -0
  944. package/dist/storage/key.js +67 -0
  945. package/dist/storage/key.js.map +1 -0
  946. package/dist/storage/local.d.ts +40 -0
  947. package/dist/storage/local.d.ts.map +1 -0
  948. package/dist/storage/local.js +96 -0
  949. package/dist/storage/local.js.map +1 -0
  950. package/dist/storage/r2.d.ts +43 -0
  951. package/dist/storage/r2.d.ts.map +1 -0
  952. package/dist/storage/r2.js +177 -0
  953. package/dist/storage/r2.js.map +1 -0
  954. package/dist/storage/registry.d.ts +23 -0
  955. package/dist/storage/registry.d.ts.map +1 -0
  956. package/dist/storage/registry.js +37 -0
  957. package/dist/storage/registry.js.map +1 -0
  958. package/dist/storage/types.d.ts +67 -0
  959. package/dist/storage/types.d.ts.map +1 -0
  960. package/dist/storage/types.js +45 -0
  961. package/dist/storage/types.js.map +1 -0
  962. package/dist/subscription-billing/index.d.ts +6 -5
  963. package/dist/subscription-billing/index.d.ts.map +1 -1
  964. package/dist/subscription-billing/index.js +3 -3
  965. package/dist/subscription-billing/index.js.map +1 -1
  966. package/dist/subscription-billing/provider/asaas.d.ts +14 -0
  967. package/dist/subscription-billing/provider/asaas.d.ts.map +1 -1
  968. package/dist/subscription-billing/provider/asaas.js +32 -7
  969. package/dist/subscription-billing/provider/asaas.js.map +1 -1
  970. package/dist/subscription-billing/provider/disabled.d.ts +9 -0
  971. package/dist/subscription-billing/provider/disabled.d.ts.map +1 -1
  972. package/dist/subscription-billing/provider/disabled.js +8 -0
  973. package/dist/subscription-billing/provider/disabled.js.map +1 -1
  974. package/dist/subscription-billing/provider/registry.d.ts +10 -0
  975. package/dist/subscription-billing/provider/registry.d.ts.map +1 -1
  976. package/dist/subscription-billing/provider/registry.js +17 -0
  977. package/dist/subscription-billing/provider/registry.js.map +1 -1
  978. package/dist/subscription-billing/service.d.ts +38 -1
  979. package/dist/subscription-billing/service.d.ts.map +1 -1
  980. package/dist/subscription-billing/service.js +147 -23
  981. package/dist/subscription-billing/service.js.map +1 -1
  982. package/dist/subscription-billing/types.d.ts +13 -0
  983. package/dist/subscription-billing/types.d.ts.map +1 -1
  984. package/dist/subscription-billing/types.js.map +1 -1
  985. package/dist/tenancy/features.d.ts +69 -0
  986. package/dist/tenancy/features.d.ts.map +1 -0
  987. package/dist/tenancy/features.js +123 -0
  988. package/dist/tenancy/features.js.map +1 -0
  989. package/dist/tenancy/provisioning.d.ts.map +1 -1
  990. package/dist/tenancy/provisioning.js +32 -8
  991. package/dist/tenancy/provisioning.js.map +1 -1
  992. package/dist/tenancy/settings.d.ts +63 -0
  993. package/dist/tenancy/settings.d.ts.map +1 -0
  994. package/dist/tenancy/settings.js +218 -0
  995. package/dist/tenancy/settings.js.map +1 -0
  996. package/dist/users/repository.d.ts +54 -1
  997. package/dist/users/repository.d.ts.map +1 -1
  998. package/dist/users/repository.js +142 -4
  999. package/dist/users/repository.js.map +1 -1
  1000. package/dist/vault/repository.d.ts +67 -0
  1001. package/dist/vault/repository.d.ts.map +1 -1
  1002. package/dist/vault/repository.js +78 -0
  1003. package/dist/vault/repository.js.map +1 -1
  1004. package/package.json +20 -4
  1005. package/src/db/migrations/0023_user_invite_activation.sql +15 -0
  1006. package/src/db/migrations/0024_set_user_password_function.sql +32 -0
  1007. package/src/db/migrations/0025_revoke_user_session_function.sql +28 -0
  1008. package/src/db/migrations/0026_documents_and_competence.sql +353 -0
  1009. package/src/db/migrations/0027_receivable_client_isolation.sql +58 -0
  1010. package/src/db/migrations/0028_collection_engine.sql +94 -0
  1011. package/src/db/migrations/0029_payment_rail.sql +107 -0
  1012. package/src/db/migrations/0030_provider_account_uniqueness.sql +22 -0
  1013. package/src/db/migrations/0031_provider_account_environment_scope.sql +21 -0
  1014. package/src/db/migrations/0032_settlement_reversal.sql +76 -0
  1015. package/src/db/migrations/0033_receivable_idempotency.sql +28 -0
  1016. package/src/db/migrations/0034_payment_customer_reconcile.sql +30 -0
  1017. package/src/db/migrations/0035_payment_account_environments.sql +61 -0
  1018. package/src/db/migrations/0036_primary_backfill_under_force_rls.sql +41 -0
  1019. package/src/db/migrations/0037_receivable_generation_source.sql +29 -0
  1020. package/src/db/migrations/0038_notification_channels.sql +175 -0
  1021. package/src/db/migrations/0039_communication_dispatch_claim.sql +193 -0
  1022. package/src/db/migrations/0040_communication_unknown_outcome.sql +99 -0
  1023. package/src/db/migrations/0041_channel_binding_routing.sql +146 -0
  1024. package/src/db/migrations/0042_channel_route_read_isolation.sql +165 -0
  1025. package/src/db/migrations/0043_workload_identity.sql +105 -0
  1026. package/src/db/migrations/0044_channel_onboarding_session.sql +96 -0
  1027. package/src/db/migrations/0045_role_write_scope.sql +122 -0
  1028. package/src/db/migrations/0046_pilot_activation_model.sql +184 -0
  1029. package/src/db/migrations/0047_recipient_clearance.sql +89 -0
  1030. package/src/db/migrations/0048_item_type_note.sql +16 -0
  1031. package/src/db/migrations/0049_national_fiscal_engine.sql +279 -0
  1032. package/src/db/migrations/0050_fiscal_vocabulary_readonly.sql +29 -0
  1033. package/src/db/migrations/0051_seed_rules_from_catalog.sql +72 -0
  1034. package/src/db/migrations/0052_fiscal_rule_delete_scope.sql +57 -0
  1035. package/src/db/migrations/0053_rule_validity_lower_bound.sql +44 -0
  1036. package/src/db/migrations/0054_tenant_profile_and_rule_source.sql +89 -0
  1037. package/src/db/migrations/0055_job_capability_contract.sql +300 -0
  1038. package/src/db/migrations/0056_fiscal_document_ingestion.sql +337 -0
  1039. package/src/db/migrations/0057_fiscal_pending_event_inbox.sql +228 -0
  1040. package/src/db/migrations/0058_fiscal_operational_engine.sql +516 -0
  1041. package/src/db/migrations/0059_fiscal_contract_version.sql +59 -0
  1042. package/dist/cjs/mail/resend-client.js +0 -103
  1043. package/dist/cjs/mail/resend-client.js.map +0 -1
  1044. package/dist/mail/resend-client.d.ts +0 -16
  1045. package/dist/mail/resend-client.d.ts.map +0 -1
  1046. package/dist/mail/resend-client.js +0 -100
  1047. 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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"}