@baruk/core 0.4.2 → 0.6.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 (576) hide show
  1. package/.baruk-provenance.json +4 -4
  2. package/CHANGELOG.md +42 -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/service.d.ts +21 -0
  8. package/dist/auth/service.d.ts.map +1 -1
  9. package/dist/auth/service.js +46 -1
  10. package/dist/auth/service.js.map +1 -1
  11. package/dist/billing/ar-repository.d.ts +41 -1
  12. package/dist/billing/ar-repository.d.ts.map +1 -1
  13. package/dist/billing/ar-repository.js +82 -6
  14. package/dist/billing/ar-repository.js.map +1 -1
  15. package/dist/billing/provider-account.d.ts +38 -0
  16. package/dist/billing/provider-account.d.ts.map +1 -1
  17. package/dist/billing/provider-account.js +58 -2
  18. package/dist/billing/provider-account.js.map +1 -1
  19. package/dist/billing/repository.d.ts +44 -0
  20. package/dist/billing/repository.d.ts.map +1 -1
  21. package/dist/billing/repository.js +49 -5
  22. package/dist/billing/repository.js.map +1 -1
  23. package/dist/cjs/audit/repository.js +41 -7
  24. package/dist/cjs/audit/repository.js.map +1 -1
  25. package/dist/cjs/auth/service.js +46 -1
  26. package/dist/cjs/auth/service.js.map +1 -1
  27. package/dist/cjs/billing/ar-repository.js +82 -6
  28. package/dist/cjs/billing/ar-repository.js.map +1 -1
  29. package/dist/cjs/billing/provider-account.js +60 -1
  30. package/dist/cjs/billing/provider-account.js.map +1 -1
  31. package/dist/cjs/billing/repository.js +51 -5
  32. package/dist/cjs/billing/repository.js.map +1 -1
  33. package/dist/cjs/clients/ibge.js +117 -0
  34. package/dist/cjs/clients/ibge.js.map +1 -0
  35. package/dist/cjs/clients/registry/http.js +157 -0
  36. package/dist/cjs/clients/registry/http.js.map +1 -0
  37. package/dist/cjs/clients/registry/ibge-municipios.js +28 -0
  38. package/dist/cjs/clients/registry/ibge-municipios.js.map +1 -0
  39. package/dist/cjs/clients/registry/ibge.js +63 -0
  40. package/dist/cjs/clients/registry/ibge.js.map +1 -0
  41. package/dist/cjs/clients/registry/lookup.js +191 -0
  42. package/dist/cjs/clients/registry/lookup.js.map +1 -0
  43. package/dist/cjs/clients/registry/provider.js +34 -0
  44. package/dist/cjs/clients/registry/provider.js.map +1 -0
  45. package/dist/cjs/clients/registry/resolve.js +47 -0
  46. package/dist/cjs/clients/registry/resolve.js.map +1 -0
  47. package/dist/cjs/clients/registry/serpro.js +149 -0
  48. package/dist/cjs/clients/registry/serpro.js.map +1 -0
  49. package/dist/cjs/clients/registry/service.js +230 -0
  50. package/dist/cjs/clients/registry/service.js.map +1 -0
  51. package/dist/cjs/clients/registry/synthetic.js +165 -0
  52. package/dist/cjs/clients/registry/synthetic.js.map +1 -0
  53. package/dist/cjs/clients/repository.js +190 -9
  54. package/dist/cjs/clients/repository.js.map +1 -1
  55. package/dist/cjs/collection/branding.js +190 -0
  56. package/dist/cjs/collection/branding.js.map +1 -1
  57. package/dist/cjs/collection/clearance-store.js +74 -0
  58. package/dist/cjs/collection/clearance-store.js.map +1 -0
  59. package/dist/cjs/collection/communication-runtime.js +65 -2
  60. package/dist/cjs/collection/communication-runtime.js.map +1 -1
  61. package/dist/cjs/collection/engine.js +20 -0
  62. package/dist/cjs/collection/engine.js.map +1 -1
  63. package/dist/cjs/collection/policy.js +29 -1
  64. package/dist/cjs/collection/policy.js.map +1 -1
  65. package/dist/cjs/communication/clearance.js +18 -0
  66. package/dist/cjs/communication/clearance.js.map +1 -0
  67. package/dist/cjs/communication/dry-run-scenario.js +5 -0
  68. package/dist/cjs/communication/dry-run-scenario.js.map +1 -1
  69. package/dist/cjs/communication/engine.js +12 -0
  70. package/dist/cjs/communication/engine.js.map +1 -1
  71. package/dist/cjs/communication/policy.js.map +1 -1
  72. package/dist/cjs/competence/business-days.js +155 -0
  73. package/dist/cjs/competence/business-days.js.map +1 -0
  74. package/dist/cjs/competence/catalog-validation.js +174 -0
  75. package/dist/cjs/competence/catalog-validation.js.map +1 -0
  76. package/dist/cjs/competence/obligation-preview.js +190 -0
  77. package/dist/cjs/competence/obligation-preview.js.map +1 -0
  78. package/dist/cjs/competence/repository.js +330 -17
  79. package/dist/cjs/competence/repository.js.map +1 -1
  80. package/dist/cjs/dashboard/pilot-panel.js +90 -0
  81. package/dist/cjs/dashboard/pilot-panel.js.map +1 -0
  82. package/dist/cjs/dashboard/repository.js +11 -1
  83. package/dist/cjs/dashboard/repository.js.map +1 -1
  84. package/dist/cjs/db/client.js +17 -11
  85. package/dist/cjs/db/client.js.map +1 -1
  86. package/dist/cjs/db/provision-e2e-identity.js +116 -0
  87. package/dist/cjs/db/provision-e2e-identity.js.map +1 -0
  88. package/dist/cjs/fiscal/applicability.js +164 -0
  89. package/dist/cjs/fiscal/applicability.js.map +1 -0
  90. package/dist/cjs/fiscal/collection/authorization.js +186 -0
  91. package/dist/cjs/fiscal/collection/authorization.js.map +1 -0
  92. package/dist/cjs/fiscal/collection/competence.js +97 -0
  93. package/dist/cjs/fiscal/collection/competence.js.map +1 -0
  94. package/dist/cjs/fiscal/collection/first-contact.js +204 -0
  95. package/dist/cjs/fiscal/collection/first-contact.js.map +1 -0
  96. package/dist/cjs/fiscal/collection/plan.js +122 -0
  97. package/dist/cjs/fiscal/collection/plan.js.map +1 -0
  98. package/dist/cjs/fiscal/conditions.js +198 -0
  99. package/dist/cjs/fiscal/conditions.js.map +1 -0
  100. package/dist/cjs/fiscal/contracts/nfse-adn-contract.js +390 -0
  101. package/dist/cjs/fiscal/contracts/nfse-adn-contract.js.map +1 -0
  102. package/dist/cjs/fiscal/contracts/nfse-adn-endpoint.js +108 -0
  103. package/dist/cjs/fiscal/contracts/nfse-adn-endpoint.js.map +1 -0
  104. package/dist/cjs/fiscal/contracts/nfse-adn-envelope.js +220 -0
  105. package/dist/cjs/fiscal/contracts/nfse-adn-envelope.js.map +1 -0
  106. package/dist/cjs/fiscal/coverage/model.js +137 -0
  107. package/dist/cjs/fiscal/coverage/model.js.map +1 -0
  108. package/dist/cjs/fiscal/coverage/requests.js +99 -0
  109. package/dist/cjs/fiscal/coverage/requests.js.map +1 -0
  110. package/dist/cjs/fiscal/credentials/inspect.js +182 -0
  111. package/dist/cjs/fiscal/credentials/inspect.js.map +1 -0
  112. package/dist/cjs/fiscal/credentials/material.js +168 -0
  113. package/dist/cjs/fiscal/credentials/material.js.map +1 -0
  114. package/dist/cjs/fiscal/credentials/onboarding.js +266 -0
  115. package/dist/cjs/fiscal/credentials/onboarding.js.map +1 -0
  116. package/dist/cjs/fiscal/credentials/readiness.js +190 -0
  117. package/dist/cjs/fiscal/credentials/readiness.js.map +1 -0
  118. package/dist/cjs/fiscal/eligibility.js +199 -0
  119. package/dist/cjs/fiscal/eligibility.js.map +1 -0
  120. package/dist/cjs/fiscal/enrollment.js +134 -0
  121. package/dist/cjs/fiscal/enrollment.js.map +1 -0
  122. package/dist/cjs/fiscal/ingestion/__fixtures__/nfse.js +128 -0
  123. package/dist/cjs/fiscal/ingestion/__fixtures__/nfse.js.map +1 -0
  124. package/dist/cjs/fiscal/ingestion/adn-transport.js +229 -0
  125. package/dist/cjs/fiscal/ingestion/adn-transport.js.map +1 -0
  126. package/dist/cjs/fiscal/ingestion/direction.js +36 -0
  127. package/dist/cjs/fiscal/ingestion/direction.js.map +1 -0
  128. package/dist/cjs/fiscal/ingestion/nfse-adn.js +228 -0
  129. package/dist/cjs/fiscal/ingestion/nfse-adn.js.map +1 -0
  130. package/dist/cjs/fiscal/ingestion/pipeline.js +704 -0
  131. package/dist/cjs/fiscal/ingestion/pipeline.js.map +1 -0
  132. package/dist/cjs/fiscal/ingestion/provider.js +51 -0
  133. package/dist/cjs/fiscal/ingestion/provider.js.map +1 -0
  134. package/dist/cjs/fiscal/ingestion/repository.js +132 -0
  135. package/dist/cjs/fiscal/ingestion/repository.js.map +1 -0
  136. package/dist/cjs/fiscal/ingestion/synthetic-provider.js +103 -0
  137. package/dist/cjs/fiscal/ingestion/synthetic-provider.js.map +1 -0
  138. package/dist/cjs/fiscal/ingestion/synthetic-transport-types.js +13 -0
  139. package/dist/cjs/fiscal/ingestion/synthetic-transport-types.js.map +1 -0
  140. package/dist/cjs/fiscal/ingestion/synthetic-transport.js +61 -0
  141. package/dist/cjs/fiscal/ingestion/synthetic-transport.js.map +1 -0
  142. package/dist/cjs/fiscal/ingestion/xml-reader.js +121 -0
  143. package/dist/cjs/fiscal/ingestion/xml-reader.js.map +1 -0
  144. package/dist/cjs/fiscal/repository.js +470 -0
  145. package/dist/cjs/fiscal/repository.js.map +1 -0
  146. package/dist/cjs/fiscal/sync/circuit.js +124 -0
  147. package/dist/cjs/fiscal/sync/circuit.js.map +1 -0
  148. package/dist/cjs/fiscal/sync/intervention.js +140 -0
  149. package/dist/cjs/fiscal/sync/intervention.js.map +1 -0
  150. package/dist/cjs/fiscal/sync/lease.js +146 -0
  151. package/dist/cjs/fiscal/sync/lease.js.map +1 -0
  152. package/dist/cjs/fiscal/sync/observability.js +244 -0
  153. package/dist/cjs/fiscal/sync/observability.js.map +1 -0
  154. package/dist/cjs/fiscal/sync/orchestrator.js +490 -0
  155. package/dist/cjs/fiscal/sync/orchestrator.js.map +1 -0
  156. package/dist/cjs/fiscal/sync/policy.js +143 -0
  157. package/dist/cjs/fiscal/sync/policy.js.map +1 -0
  158. package/dist/cjs/fiscal/sync/reprocess.js +241 -0
  159. package/dist/cjs/fiscal/sync/reprocess.js.map +1 -0
  160. package/dist/cjs/fiscal/sync/retry.js +183 -0
  161. package/dist/cjs/fiscal/sync/retry.js.map +1 -0
  162. package/dist/cjs/fiscal/sync/secret-boundary.js +123 -0
  163. package/dist/cjs/fiscal/sync/secret-boundary.js.map +1 -0
  164. package/dist/cjs/fiscal/transport/https.js +309 -0
  165. package/dist/cjs/fiscal/transport/https.js.map +1 -0
  166. package/dist/cjs/fiscal/transport/synthetic-tls.js +380 -0
  167. package/dist/cjs/fiscal/transport/synthetic-tls.js.map +1 -0
  168. package/dist/cjs/fiscal/transport/types.js +93 -0
  169. package/dist/cjs/fiscal/transport/types.js.map +1 -0
  170. package/dist/cjs/import/br-documents.js +85 -0
  171. package/dist/cjs/import/br-documents.js.map +1 -0
  172. package/dist/cjs/import/clients-import.js +347 -40
  173. package/dist/cjs/import/clients-import.js.map +1 -1
  174. package/dist/cjs/index.js +461 -73
  175. package/dist/cjs/index.js.map +1 -1
  176. package/dist/cjs/legal/documents.js +164 -19
  177. package/dist/cjs/legal/documents.js.map +1 -1
  178. package/dist/cjs/legal/index.js +3 -1
  179. package/dist/cjs/legal/index.js.map +1 -1
  180. package/dist/cjs/legal/types.js.map +1 -1
  181. package/dist/cjs/onboarding/persistence.js +4 -4
  182. package/dist/cjs/onboarding/persistence.js.map +1 -1
  183. package/dist/cjs/pilot/go-live-checklist.js +212 -0
  184. package/dist/cjs/pilot/go-live-checklist.js.map +1 -0
  185. package/dist/cjs/pilot/milestone.js +79 -0
  186. package/dist/cjs/pilot/milestone.js.map +1 -0
  187. package/dist/cjs/platform/capabilities.js +173 -0
  188. package/dist/cjs/platform/capabilities.js.map +1 -0
  189. package/dist/cjs/platform/job-contract.js +411 -0
  190. package/dist/cjs/platform/job-contract.js.map +1 -0
  191. package/dist/cjs/rbac/catalog.js +110 -0
  192. package/dist/cjs/rbac/catalog.js.map +1 -1
  193. package/dist/cjs/subscription-billing/index.js +9 -1
  194. package/dist/cjs/subscription-billing/index.js.map +1 -1
  195. package/dist/cjs/subscription-billing/platform-exemption.js +121 -0
  196. package/dist/cjs/subscription-billing/platform-exemption.js.map +1 -0
  197. package/dist/cjs/subscription-billing/service.js +246 -78
  198. package/dist/cjs/subscription-billing/service.js.map +1 -1
  199. package/dist/cjs/tenancy/features.js +131 -0
  200. package/dist/cjs/tenancy/features.js.map +1 -0
  201. package/dist/cjs/tenancy/settings.js +224 -0
  202. package/dist/cjs/tenancy/settings.js.map +1 -0
  203. package/dist/cjs/users/repository.js +24 -1
  204. package/dist/cjs/users/repository.js.map +1 -1
  205. package/dist/cjs/vault/repository.js +92 -5
  206. package/dist/cjs/vault/repository.js.map +1 -1
  207. package/dist/clients/ibge.d.ts +17 -0
  208. package/dist/clients/ibge.d.ts.map +1 -0
  209. package/dist/clients/ibge.js +112 -0
  210. package/dist/clients/ibge.js.map +1 -0
  211. package/dist/clients/registry/http.d.ts +61 -0
  212. package/dist/clients/registry/http.d.ts.map +1 -0
  213. package/dist/clients/registry/http.js +151 -0
  214. package/dist/clients/registry/http.js.map +1 -0
  215. package/dist/clients/registry/ibge-municipios.d.ts +25 -0
  216. package/dist/clients/registry/ibge-municipios.d.ts.map +1 -0
  217. package/dist/clients/registry/ibge-municipios.js +25 -0
  218. package/dist/clients/registry/ibge-municipios.js.map +1 -0
  219. package/dist/clients/registry/ibge.d.ts +62 -0
  220. package/dist/clients/registry/ibge.d.ts.map +1 -0
  221. package/dist/clients/registry/ibge.js +57 -0
  222. package/dist/clients/registry/ibge.js.map +1 -0
  223. package/dist/clients/registry/lookup.d.ts +94 -0
  224. package/dist/clients/registry/lookup.d.ts.map +1 -0
  225. package/dist/clients/registry/lookup.js +184 -0
  226. package/dist/clients/registry/lookup.js.map +1 -0
  227. package/dist/clients/registry/provider.d.ts +124 -0
  228. package/dist/clients/registry/provider.d.ts.map +1 -0
  229. package/dist/clients/registry/provider.js +39 -0
  230. package/dist/clients/registry/provider.js.map +1 -0
  231. package/dist/clients/registry/resolve.d.ts +36 -0
  232. package/dist/clients/registry/resolve.d.ts.map +1 -0
  233. package/dist/clients/registry/resolve.js +44 -0
  234. package/dist/clients/registry/resolve.js.map +1 -0
  235. package/dist/clients/registry/serpro.d.ts +57 -0
  236. package/dist/clients/registry/serpro.d.ts.map +1 -0
  237. package/dist/clients/registry/serpro.js +143 -0
  238. package/dist/clients/registry/serpro.js.map +1 -0
  239. package/dist/clients/registry/service.d.ts +59 -0
  240. package/dist/clients/registry/service.d.ts.map +1 -0
  241. package/dist/clients/registry/service.js +225 -0
  242. package/dist/clients/registry/service.js.map +1 -0
  243. package/dist/clients/registry/synthetic.d.ts +30 -0
  244. package/dist/clients/registry/synthetic.d.ts.map +1 -0
  245. package/dist/clients/registry/synthetic.js +161 -0
  246. package/dist/clients/registry/synthetic.js.map +1 -0
  247. package/dist/clients/repository.d.ts +158 -0
  248. package/dist/clients/repository.d.ts.map +1 -1
  249. package/dist/clients/repository.js +186 -9
  250. package/dist/clients/repository.js.map +1 -1
  251. package/dist/collection/branding.d.ts +65 -0
  252. package/dist/collection/branding.d.ts.map +1 -1
  253. package/dist/collection/branding.js +186 -0
  254. package/dist/collection/branding.js.map +1 -1
  255. package/dist/collection/clearance-store.d.ts +39 -0
  256. package/dist/collection/clearance-store.d.ts.map +1 -0
  257. package/dist/collection/clearance-store.js +69 -0
  258. package/dist/collection/clearance-store.js.map +1 -0
  259. package/dist/collection/communication-runtime.d.ts +37 -0
  260. package/dist/collection/communication-runtime.d.ts.map +1 -1
  261. package/dist/collection/communication-runtime.js +63 -1
  262. package/dist/collection/communication-runtime.js.map +1 -1
  263. package/dist/collection/engine.d.ts +23 -0
  264. package/dist/collection/engine.d.ts.map +1 -1
  265. package/dist/collection/engine.js +20 -0
  266. package/dist/collection/engine.js.map +1 -1
  267. package/dist/collection/policy.d.ts +25 -0
  268. package/dist/collection/policy.d.ts.map +1 -1
  269. package/dist/collection/policy.js +27 -0
  270. package/dist/collection/policy.js.map +1 -1
  271. package/dist/communication/clearance.d.ts +53 -0
  272. package/dist/communication/clearance.d.ts.map +1 -0
  273. package/dist/communication/clearance.js +15 -0
  274. package/dist/communication/clearance.js.map +1 -0
  275. package/dist/communication/dry-run-scenario.d.ts.map +1 -1
  276. package/dist/communication/dry-run-scenario.js +5 -0
  277. package/dist/communication/dry-run-scenario.js.map +1 -1
  278. package/dist/communication/engine.d.ts +10 -0
  279. package/dist/communication/engine.d.ts.map +1 -1
  280. package/dist/communication/engine.js +12 -0
  281. package/dist/communication/engine.js.map +1 -1
  282. package/dist/communication/policy.d.ts +16 -0
  283. package/dist/communication/policy.d.ts.map +1 -1
  284. package/dist/communication/policy.js.map +1 -1
  285. package/dist/competence/business-days.d.ts +51 -0
  286. package/dist/competence/business-days.d.ts.map +1 -0
  287. package/dist/competence/business-days.js +145 -0
  288. package/dist/competence/business-days.js.map +1 -0
  289. package/dist/competence/catalog-validation.d.ts +86 -0
  290. package/dist/competence/catalog-validation.d.ts.map +1 -0
  291. package/dist/competence/catalog-validation.js +168 -0
  292. package/dist/competence/catalog-validation.js.map +1 -0
  293. package/dist/competence/obligation-preview.d.ts +103 -0
  294. package/dist/competence/obligation-preview.d.ts.map +1 -0
  295. package/dist/competence/obligation-preview.js +184 -0
  296. package/dist/competence/obligation-preview.js.map +1 -0
  297. package/dist/competence/repository.d.ts +139 -1
  298. package/dist/competence/repository.d.ts.map +1 -1
  299. package/dist/competence/repository.js +325 -17
  300. package/dist/competence/repository.js.map +1 -1
  301. package/dist/dashboard/pilot-panel.d.ts +100 -0
  302. package/dist/dashboard/pilot-panel.d.ts.map +1 -0
  303. package/dist/dashboard/pilot-panel.js +87 -0
  304. package/dist/dashboard/pilot-panel.js.map +1 -0
  305. package/dist/dashboard/repository.d.ts.map +1 -1
  306. package/dist/dashboard/repository.js +11 -1
  307. package/dist/dashboard/repository.js.map +1 -1
  308. package/dist/db/client.d.ts +45 -0
  309. package/dist/db/client.d.ts.map +1 -1
  310. package/dist/db/client.js +16 -11
  311. package/dist/db/client.js.map +1 -1
  312. package/dist/db/migrate.d.ts +36 -1
  313. package/dist/db/migrate.d.ts.map +1 -1
  314. package/dist/db/migrate.js +199 -32
  315. package/dist/db/migrate.js.map +1 -1
  316. package/dist/db/provision-e2e-identity.d.ts +2 -0
  317. package/dist/db/provision-e2e-identity.d.ts.map +1 -0
  318. package/dist/db/provision-e2e-identity.js +114 -0
  319. package/dist/db/provision-e2e-identity.js.map +1 -0
  320. package/dist/fiscal/applicability.d.ts +73 -0
  321. package/dist/fiscal/applicability.d.ts.map +1 -0
  322. package/dist/fiscal/applicability.js +160 -0
  323. package/dist/fiscal/applicability.js.map +1 -0
  324. package/dist/fiscal/collection/authorization.d.ts +152 -0
  325. package/dist/fiscal/collection/authorization.d.ts.map +1 -0
  326. package/dist/fiscal/collection/authorization.js +178 -0
  327. package/dist/fiscal/collection/authorization.js.map +1 -0
  328. package/dist/fiscal/collection/competence.d.ts +66 -0
  329. package/dist/fiscal/collection/competence.d.ts.map +1 -0
  330. package/dist/fiscal/collection/competence.js +90 -0
  331. package/dist/fiscal/collection/competence.js.map +1 -0
  332. package/dist/fiscal/collection/first-contact.d.ts +103 -0
  333. package/dist/fiscal/collection/first-contact.d.ts.map +1 -0
  334. package/dist/fiscal/collection/first-contact.js +201 -0
  335. package/dist/fiscal/collection/first-contact.js.map +1 -0
  336. package/dist/fiscal/collection/plan.d.ts +74 -0
  337. package/dist/fiscal/collection/plan.d.ts.map +1 -0
  338. package/dist/fiscal/collection/plan.js +119 -0
  339. package/dist/fiscal/collection/plan.js.map +1 -0
  340. package/dist/fiscal/conditions.d.ts +99 -0
  341. package/dist/fiscal/conditions.d.ts.map +1 -0
  342. package/dist/fiscal/conditions.js +190 -0
  343. package/dist/fiscal/conditions.js.map +1 -0
  344. package/dist/fiscal/contracts/nfse-adn-contract.d.ts +315 -0
  345. package/dist/fiscal/contracts/nfse-adn-contract.d.ts.map +1 -0
  346. package/dist/fiscal/contracts/nfse-adn-contract.js +386 -0
  347. package/dist/fiscal/contracts/nfse-adn-contract.js.map +1 -0
  348. package/dist/fiscal/contracts/nfse-adn-endpoint.d.ts +13 -0
  349. package/dist/fiscal/contracts/nfse-adn-endpoint.d.ts.map +1 -0
  350. package/dist/fiscal/contracts/nfse-adn-endpoint.js +103 -0
  351. package/dist/fiscal/contracts/nfse-adn-endpoint.js.map +1 -0
  352. package/dist/fiscal/contracts/nfse-adn-envelope.d.ts +77 -0
  353. package/dist/fiscal/contracts/nfse-adn-envelope.d.ts.map +1 -0
  354. package/dist/fiscal/contracts/nfse-adn-envelope.js +215 -0
  355. package/dist/fiscal/contracts/nfse-adn-envelope.js.map +1 -0
  356. package/dist/fiscal/coverage/model.d.ts +114 -0
  357. package/dist/fiscal/coverage/model.d.ts.map +1 -0
  358. package/dist/fiscal/coverage/model.js +130 -0
  359. package/dist/fiscal/coverage/model.js.map +1 -0
  360. package/dist/fiscal/coverage/requests.d.ts +70 -0
  361. package/dist/fiscal/coverage/requests.d.ts.map +1 -0
  362. package/dist/fiscal/coverage/requests.js +95 -0
  363. package/dist/fiscal/coverage/requests.js.map +1 -0
  364. package/dist/fiscal/credentials/inspect.d.ts +114 -0
  365. package/dist/fiscal/credentials/inspect.d.ts.map +1 -0
  366. package/dist/fiscal/credentials/inspect.js +178 -0
  367. package/dist/fiscal/credentials/inspect.js.map +1 -0
  368. package/dist/fiscal/credentials/material.d.ts +81 -0
  369. package/dist/fiscal/credentials/material.d.ts.map +1 -0
  370. package/dist/fiscal/credentials/material.js +164 -0
  371. package/dist/fiscal/credentials/material.js.map +1 -0
  372. package/dist/fiscal/credentials/onboarding.d.ts +119 -0
  373. package/dist/fiscal/credentials/onboarding.d.ts.map +1 -0
  374. package/dist/fiscal/credentials/onboarding.js +259 -0
  375. package/dist/fiscal/credentials/onboarding.js.map +1 -0
  376. package/dist/fiscal/credentials/readiness.d.ts +119 -0
  377. package/dist/fiscal/credentials/readiness.d.ts.map +1 -0
  378. package/dist/fiscal/credentials/readiness.js +186 -0
  379. package/dist/fiscal/credentials/readiness.js.map +1 -0
  380. package/dist/fiscal/eligibility.d.ts +106 -0
  381. package/dist/fiscal/eligibility.d.ts.map +1 -0
  382. package/dist/fiscal/eligibility.js +194 -0
  383. package/dist/fiscal/eligibility.js.map +1 -0
  384. package/dist/fiscal/enrollment.d.ts +91 -0
  385. package/dist/fiscal/enrollment.d.ts.map +1 -0
  386. package/dist/fiscal/enrollment.js +126 -0
  387. package/dist/fiscal/enrollment.js.map +1 -0
  388. package/dist/fiscal/ingestion/__fixtures__/nfse.d.ts +57 -0
  389. package/dist/fiscal/ingestion/__fixtures__/nfse.d.ts.map +1 -0
  390. package/dist/fiscal/ingestion/__fixtures__/nfse.js +121 -0
  391. package/dist/fiscal/ingestion/__fixtures__/nfse.js.map +1 -0
  392. package/dist/fiscal/ingestion/adn-transport.d.ts +123 -0
  393. package/dist/fiscal/ingestion/adn-transport.d.ts.map +1 -0
  394. package/dist/fiscal/ingestion/adn-transport.js +220 -0
  395. package/dist/fiscal/ingestion/adn-transport.js.map +1 -0
  396. package/dist/fiscal/ingestion/direction.d.ts +60 -0
  397. package/dist/fiscal/ingestion/direction.d.ts.map +1 -0
  398. package/dist/fiscal/ingestion/direction.js +32 -0
  399. package/dist/fiscal/ingestion/direction.js.map +1 -0
  400. package/dist/fiscal/ingestion/nfse-adn.d.ts +91 -0
  401. package/dist/fiscal/ingestion/nfse-adn.d.ts.map +1 -0
  402. package/dist/fiscal/ingestion/nfse-adn.js +222 -0
  403. package/dist/fiscal/ingestion/nfse-adn.js.map +1 -0
  404. package/dist/fiscal/ingestion/pipeline.d.ts +168 -0
  405. package/dist/fiscal/ingestion/pipeline.d.ts.map +1 -0
  406. package/dist/fiscal/ingestion/pipeline.js +699 -0
  407. package/dist/fiscal/ingestion/pipeline.js.map +1 -0
  408. package/dist/fiscal/ingestion/provider.d.ts +206 -0
  409. package/dist/fiscal/ingestion/provider.d.ts.map +1 -0
  410. package/dist/fiscal/ingestion/provider.js +47 -0
  411. package/dist/fiscal/ingestion/provider.js.map +1 -0
  412. package/dist/fiscal/ingestion/repository.d.ts +82 -0
  413. package/dist/fiscal/ingestion/repository.d.ts.map +1 -0
  414. package/dist/fiscal/ingestion/repository.js +127 -0
  415. package/dist/fiscal/ingestion/repository.js.map +1 -0
  416. package/dist/fiscal/ingestion/synthetic-provider.d.ts +92 -0
  417. package/dist/fiscal/ingestion/synthetic-provider.d.ts.map +1 -0
  418. package/dist/fiscal/ingestion/synthetic-provider.js +99 -0
  419. package/dist/fiscal/ingestion/synthetic-provider.js.map +1 -0
  420. package/dist/fiscal/ingestion/synthetic-transport-types.d.ts +19 -0
  421. package/dist/fiscal/ingestion/synthetic-transport-types.d.ts.map +1 -0
  422. package/dist/fiscal/ingestion/synthetic-transport-types.js +9 -0
  423. package/dist/fiscal/ingestion/synthetic-transport-types.js.map +1 -0
  424. package/dist/fiscal/ingestion/synthetic-transport.d.ts +55 -0
  425. package/dist/fiscal/ingestion/synthetic-transport.d.ts.map +1 -0
  426. package/dist/fiscal/ingestion/synthetic-transport.js +57 -0
  427. package/dist/fiscal/ingestion/synthetic-transport.js.map +1 -0
  428. package/dist/fiscal/ingestion/xml-reader.d.ts +55 -0
  429. package/dist/fiscal/ingestion/xml-reader.d.ts.map +1 -0
  430. package/dist/fiscal/ingestion/xml-reader.js +112 -0
  431. package/dist/fiscal/ingestion/xml-reader.js.map +1 -0
  432. package/dist/fiscal/repository.d.ts +220 -0
  433. package/dist/fiscal/repository.d.ts.map +1 -0
  434. package/dist/fiscal/repository.js +449 -0
  435. package/dist/fiscal/repository.js.map +1 -0
  436. package/dist/fiscal/sync/circuit.d.ts +86 -0
  437. package/dist/fiscal/sync/circuit.d.ts.map +1 -0
  438. package/dist/fiscal/sync/circuit.js +118 -0
  439. package/dist/fiscal/sync/circuit.js.map +1 -0
  440. package/dist/fiscal/sync/intervention.d.ts +81 -0
  441. package/dist/fiscal/sync/intervention.d.ts.map +1 -0
  442. package/dist/fiscal/sync/intervention.js +135 -0
  443. package/dist/fiscal/sync/intervention.js.map +1 -0
  444. package/dist/fiscal/sync/lease.d.ts +118 -0
  445. package/dist/fiscal/sync/lease.d.ts.map +1 -0
  446. package/dist/fiscal/sync/lease.js +139 -0
  447. package/dist/fiscal/sync/lease.js.map +1 -0
  448. package/dist/fiscal/sync/observability.d.ts +148 -0
  449. package/dist/fiscal/sync/observability.d.ts.map +1 -0
  450. package/dist/fiscal/sync/observability.js +239 -0
  451. package/dist/fiscal/sync/observability.js.map +1 -0
  452. package/dist/fiscal/sync/orchestrator.d.ts +132 -0
  453. package/dist/fiscal/sync/orchestrator.d.ts.map +1 -0
  454. package/dist/fiscal/sync/orchestrator.js +487 -0
  455. package/dist/fiscal/sync/orchestrator.js.map +1 -0
  456. package/dist/fiscal/sync/policy.d.ts +87 -0
  457. package/dist/fiscal/sync/policy.d.ts.map +1 -0
  458. package/dist/fiscal/sync/policy.js +136 -0
  459. package/dist/fiscal/sync/policy.js.map +1 -0
  460. package/dist/fiscal/sync/reprocess.d.ts +76 -0
  461. package/dist/fiscal/sync/reprocess.d.ts.map +1 -0
  462. package/dist/fiscal/sync/reprocess.js +237 -0
  463. package/dist/fiscal/sync/reprocess.js.map +1 -0
  464. package/dist/fiscal/sync/retry.d.ts +82 -0
  465. package/dist/fiscal/sync/retry.d.ts.map +1 -0
  466. package/dist/fiscal/sync/retry.js +176 -0
  467. package/dist/fiscal/sync/retry.js.map +1 -0
  468. package/dist/fiscal/sync/secret-boundary.d.ts +169 -0
  469. package/dist/fiscal/sync/secret-boundary.d.ts.map +1 -0
  470. package/dist/fiscal/sync/secret-boundary.js +116 -0
  471. package/dist/fiscal/sync/secret-boundary.js.map +1 -0
  472. package/dist/fiscal/transport/https.d.ts +86 -0
  473. package/dist/fiscal/transport/https.d.ts.map +1 -0
  474. package/dist/fiscal/transport/https.js +303 -0
  475. package/dist/fiscal/transport/https.js.map +1 -0
  476. package/dist/fiscal/transport/synthetic-tls.d.ts +99 -0
  477. package/dist/fiscal/transport/synthetic-tls.d.ts.map +1 -0
  478. package/dist/fiscal/transport/synthetic-tls.js +374 -0
  479. package/dist/fiscal/transport/synthetic-tls.js.map +1 -0
  480. package/dist/fiscal/transport/types.d.ts +134 -0
  481. package/dist/fiscal/transport/types.d.ts.map +1 -0
  482. package/dist/fiscal/transport/types.js +88 -0
  483. package/dist/fiscal/transport/types.js.map +1 -0
  484. package/dist/import/br-documents.d.ts +26 -0
  485. package/dist/import/br-documents.d.ts.map +1 -0
  486. package/dist/import/br-documents.js +78 -0
  487. package/dist/import/br-documents.js.map +1 -0
  488. package/dist/import/clients-import.d.ts +122 -4
  489. package/dist/import/clients-import.d.ts.map +1 -1
  490. package/dist/import/clients-import.js +341 -41
  491. package/dist/import/clients-import.js.map +1 -1
  492. package/dist/index.d.ts +145 -13
  493. package/dist/index.d.ts.map +1 -1
  494. package/dist/index.js +120 -7
  495. package/dist/index.js.map +1 -1
  496. package/dist/legal/documents.d.ts +12 -1
  497. package/dist/legal/documents.d.ts.map +1 -1
  498. package/dist/legal/documents.js +162 -18
  499. package/dist/legal/documents.js.map +1 -1
  500. package/dist/legal/index.d.ts +2 -2
  501. package/dist/legal/index.d.ts.map +1 -1
  502. package/dist/legal/index.js +1 -1
  503. package/dist/legal/index.js.map +1 -1
  504. package/dist/legal/types.d.ts +114 -2
  505. package/dist/legal/types.d.ts.map +1 -1
  506. package/dist/legal/types.js.map +1 -1
  507. package/dist/onboarding/persistence.d.ts +10 -1
  508. package/dist/onboarding/persistence.d.ts.map +1 -1
  509. package/dist/onboarding/persistence.js +4 -4
  510. package/dist/onboarding/persistence.js.map +1 -1
  511. package/dist/pilot/go-live-checklist.d.ts +41 -0
  512. package/dist/pilot/go-live-checklist.d.ts.map +1 -0
  513. package/dist/pilot/go-live-checklist.js +209 -0
  514. package/dist/pilot/go-live-checklist.js.map +1 -0
  515. package/dist/pilot/milestone.d.ts +56 -0
  516. package/dist/pilot/milestone.d.ts.map +1 -0
  517. package/dist/pilot/milestone.js +74 -0
  518. package/dist/pilot/milestone.js.map +1 -0
  519. package/dist/platform/capabilities.d.ts +88 -0
  520. package/dist/platform/capabilities.d.ts.map +1 -0
  521. package/dist/platform/capabilities.js +169 -0
  522. package/dist/platform/capabilities.js.map +1 -0
  523. package/dist/platform/job-contract.d.ts +232 -0
  524. package/dist/platform/job-contract.d.ts.map +1 -0
  525. package/dist/platform/job-contract.js +403 -0
  526. package/dist/platform/job-contract.js.map +1 -0
  527. package/dist/rbac/catalog.d.ts.map +1 -1
  528. package/dist/rbac/catalog.js +110 -0
  529. package/dist/rbac/catalog.js.map +1 -1
  530. package/dist/subscription-billing/index.d.ts +8 -5
  531. package/dist/subscription-billing/index.d.ts.map +1 -1
  532. package/dist/subscription-billing/index.js +4 -3
  533. package/dist/subscription-billing/index.js.map +1 -1
  534. package/dist/subscription-billing/platform-exemption.d.ts +89 -0
  535. package/dist/subscription-billing/platform-exemption.d.ts.map +1 -0
  536. package/dist/subscription-billing/platform-exemption.js +113 -0
  537. package/dist/subscription-billing/platform-exemption.js.map +1 -0
  538. package/dist/subscription-billing/service.d.ts +74 -0
  539. package/dist/subscription-billing/service.d.ts.map +1 -1
  540. package/dist/subscription-billing/service.js +182 -16
  541. package/dist/subscription-billing/service.js.map +1 -1
  542. package/dist/tenancy/features.d.ts +69 -0
  543. package/dist/tenancy/features.d.ts.map +1 -0
  544. package/dist/tenancy/features.js +123 -0
  545. package/dist/tenancy/features.js.map +1 -0
  546. package/dist/tenancy/settings.d.ts +63 -0
  547. package/dist/tenancy/settings.d.ts.map +1 -0
  548. package/dist/tenancy/settings.js +218 -0
  549. package/dist/tenancy/settings.js.map +1 -0
  550. package/dist/users/repository.d.ts +16 -1
  551. package/dist/users/repository.d.ts.map +1 -1
  552. package/dist/users/repository.js +24 -1
  553. package/dist/users/repository.js.map +1 -1
  554. package/dist/vault/repository.d.ts +69 -1
  555. package/dist/vault/repository.d.ts.map +1 -1
  556. package/dist/vault/repository.js +88 -5
  557. package/dist/vault/repository.js.map +1 -1
  558. package/package.json +10 -2
  559. package/src/db/migrations/0045_role_write_scope.sql +122 -0
  560. package/src/db/migrations/0046_pilot_activation_model.sql +184 -0
  561. package/src/db/migrations/0047_recipient_clearance.sql +89 -0
  562. package/src/db/migrations/0048_item_type_note.sql +16 -0
  563. package/src/db/migrations/0049_national_fiscal_engine.sql +279 -0
  564. package/src/db/migrations/0050_fiscal_vocabulary_readonly.sql +29 -0
  565. package/src/db/migrations/0051_seed_rules_from_catalog.sql +72 -0
  566. package/src/db/migrations/0052_fiscal_rule_delete_scope.sql +57 -0
  567. package/src/db/migrations/0053_rule_validity_lower_bound.sql +44 -0
  568. package/src/db/migrations/0054_tenant_profile_and_rule_source.sql +89 -0
  569. package/src/db/migrations/0055_job_capability_contract.sql +300 -0
  570. package/src/db/migrations/0056_fiscal_document_ingestion.sql +337 -0
  571. package/src/db/migrations/0057_fiscal_pending_event_inbox.sql +228 -0
  572. package/src/db/migrations/0058_fiscal_operational_engine.sql +516 -0
  573. package/src/db/migrations/0059_fiscal_contract_version.sql +59 -0
  574. package/src/db/migrations/0060_fiscal_credential_vault_and_run_authorization.sql +321 -0
  575. package/src/db/migrations/0061_client_official_registry_provenance.sql +193 -0
  576. package/src/db/migrations/0062_first_contact_and_capability_truth.sql +119 -0
@@ -0,0 +1,230 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LOOKUP_CIRCUIT_OPEN_MS = exports.LOOKUP_CIRCUIT_THRESHOLD = exports.LOOKUP_CACHE_TTL_MS = exports.LOOKUP_QUOTA_WINDOW_MS = exports.LOOKUP_QUOTA_LIMIT = void 0;
4
+ exports.resetLookupCircuits = resetLookupCircuits;
5
+ exports.lookupCompanyRegistry = lookupCompanyRegistry;
6
+ const shared_1 = require("@baruk/shared");
7
+ const audit_js_1 = require("../../audit/audit.js");
8
+ const ibge_js_1 = require("./ibge.js");
9
+ const lookup_js_1 = require("./lookup.js");
10
+ const provider_js_1 = require("./provider.js");
11
+ /**
12
+ * A consulta com as três defesas que o provedor não dá.
13
+ *
14
+ * Nenhuma delas é sobre a rede estar lenta. As três são sobre o que uma
15
+ * consulta barata e repetível permite fazer:
16
+ *
17
+ * **Cota** — um CNPJ tem 14 dígitos e o dígito verificador reduz o espaço a
18
+ * ~10^12, mas uma varredura por faixa é perfeitamente viável. Sem teto, a
19
+ * primeira conta comprometida vira um raspador do cadastro nacional financiado
20
+ * pelo contrato do escritório. O teto é por TENANT, não por usuário: quem varre
21
+ * cria usuários.
22
+ *
23
+ * **Cache** — a mesma tela consultada duas vezes em cinco minutos não pode
24
+ * gastar duas requisições de um contrato pago. E o cache é só de SUCESSO:
25
+ * cachear uma indisponibilidade de um minuto a deixaria colada no CNPJ pelo
26
+ * resto do TTL, e o operador veria "provedor fora do ar" com o provedor no ar.
27
+ *
28
+ * **Disjuntor** — mesma política do motor fiscal (três falhas seguidas, espera
29
+ * que dobra), mas em memória de processo, e é uma escolha, não um esquecimento:
30
+ * a consulta de CNPJ é interativa. Alguém está olhando a tela. Persistir o
31
+ * estado faria uma queda de dez minutos do provedor manter a tela recusando
32
+ * depois que ele voltou, e o operador não tem como saber que a recusa é nossa.
33
+ */
34
+ /** Teto de consultas por tenant na janela. */
35
+ exports.LOOKUP_QUOTA_LIMIT = 120;
36
+ exports.LOOKUP_QUOTA_WINDOW_MS = 60 * 60_000;
37
+ /** Quanto tempo um retrato bem-sucedido responde sem tocar a rede. */
38
+ exports.LOOKUP_CACHE_TTL_MS = 15 * 60_000;
39
+ /** Falhas seguidas que abrem o disjuntor — mesma régua do motor fiscal. */
40
+ exports.LOOKUP_CIRCUIT_THRESHOLD = 3;
41
+ exports.LOOKUP_CIRCUIT_OPEN_MS = 2 * 60_000;
42
+ /**
43
+ * Estado por (processo, provedor). Um `Map` de módulo, e não um campo de
44
+ * instância: o serviço é chamado por função, sem objeto de longa vida onde
45
+ * pendurar isso.
46
+ */
47
+ const circuits = new Map();
48
+ /** Só para os testes: um disjuntor herdado entre casos esconderia o defeito. */
49
+ function resetLookupCircuits() {
50
+ circuits.clear();
51
+ }
52
+ function circuitAllows(provider, now) {
53
+ const c = circuits.get(provider);
54
+ return !c || c.openUntil <= now;
55
+ }
56
+ function circuitRecord(provider, ok, now) {
57
+ if (ok) {
58
+ circuits.delete(provider);
59
+ return;
60
+ }
61
+ const c = circuits.get(provider) ?? { failures: 0, openUntil: 0 };
62
+ c.failures += 1;
63
+ if (c.failures >= exports.LOOKUP_CIRCUIT_THRESHOLD) {
64
+ // O expoente conta as falhas ALÉM do limite, como no motor fiscal: sem
65
+ // isso a terceira falha já pediria a espera de uma décima segunda.
66
+ const excedente = Math.min(c.failures - exports.LOOKUP_CIRCUIT_THRESHOLD, 4);
67
+ c.openUntil = now + exports.LOOKUP_CIRCUIT_OPEN_MS * 2 ** excedente;
68
+ }
69
+ circuits.set(provider, c);
70
+ }
71
+ /**
72
+ * Falhas que contam contra o PROVEDOR.
73
+ *
74
+ * Um CNPJ que não existe é resposta correta de um provedor saudável — contá-la
75
+ * abriria o disjuntor para o escritório inteiro porque alguém digitou errado
76
+ * três vezes. `invalid_document` sequer chega à rede.
77
+ */
78
+ function countsAgainstProvider(reason) {
79
+ return reason === 'provider_unavailable' || reason === 'unexpected_payload';
80
+ }
81
+ async function quotaUsed(tx, since) {
82
+ const [row] = await tx `
83
+ SELECT count(*)::text AS n FROM client_registry_lookup
84
+ WHERE created_at >= ${since}
85
+ `;
86
+ return Number(row?.n ?? '0');
87
+ }
88
+ async function cached(tx, documento, provider, since) {
89
+ const [row] = await tx `
90
+ SELECT payload FROM client_registry_lookup
91
+ WHERE document_digits = ${documento} AND provider = ${provider}
92
+ AND outcome = 'ok' AND created_at >= ${since}
93
+ ORDER BY created_at DESC
94
+ LIMIT 1
95
+ `;
96
+ return row?.payload ?? null;
97
+ }
98
+ async function recordLookup(tx, input) {
99
+ await tx `
100
+ INSERT INTO client_registry_lookup (
101
+ id, tenant_id, document_digits, provider, outcome, failure_reason, payload, requested_by
102
+ ) VALUES (
103
+ ${(0, shared_1.uuidv7)()}, ${input.tenantId}, ${input.documento}, ${input.provider},
104
+ ${input.outcome}, ${input.reason ?? null},
105
+ ${input.payload ? tx.json(input.payload) : null}, ${input.actorId}
106
+ )
107
+ `;
108
+ }
109
+ function montar(record, provider, current, served) {
110
+ const ibge = (0, ibge_js_1.resolveMunicipality)(record.address.municipality ?? '', record.address.uf);
111
+ return {
112
+ status: 'ok',
113
+ provider: provider.name,
114
+ official: provider.official,
115
+ record,
116
+ ibge,
117
+ proposals: (0, lookup_js_1.buildProposals)(record, current, ibge),
118
+ served,
119
+ };
120
+ }
121
+ /**
122
+ * Consulta o CNPJ com cota, cache, disjuntor e trilha — e NÃO grava cadastro.
123
+ *
124
+ * O que ela devolve são propostas. Aplicá-las é outro ato, com outra assinatura
125
+ * e outra permissão: quem pode consultar não necessariamente pode alterar o
126
+ * cadastro de um cliente.
127
+ */
128
+ async function lookupCompanyRegistry(tx, provider, req) {
129
+ const agora = req.now ?? new Date();
130
+ const ms = agora.getTime();
131
+ const documento = (0, provider_js_1.cnpjDigits)(req.cnpj);
132
+ const current = req.current ?? {};
133
+ const recusar = async (reason, opts = { registra: true }) => {
134
+ if (opts.registra) {
135
+ await recordLookup(tx, {
136
+ tenantId: req.tenantId,
137
+ documento,
138
+ provider: provider.name,
139
+ outcome: 'failed',
140
+ reason,
141
+ actorId: req.actorId,
142
+ });
143
+ }
144
+ await (0, audit_js_1.appendAudit)(tx, {
145
+ actorId: req.actorId,
146
+ action: 'cnpj_lookup_failed',
147
+ resourceType: 'client_registry_lookup',
148
+ resourceId: null,
149
+ // O documento inteiro NÃO entra na trilha: ele identifica uma empresa, e
150
+ // a trilha é lida por gente que não precisa saber por quem se perguntou.
151
+ // O sufixo basta para casar dois eventos da mesma consulta.
152
+ metadata: { provider: provider.name, reason, documentTail: documento.slice(-6) },
153
+ });
154
+ return {
155
+ status: 'failed',
156
+ provider: provider.name,
157
+ official: provider.official,
158
+ reason,
159
+ proposals: [],
160
+ served: 'network',
161
+ };
162
+ };
163
+ // Documento inválido nem chega à contagem: reprovar aqui não gasta cota nem
164
+ // toca o provedor, e um dígito errado não pode consumir o orçamento de quem
165
+ // digitou certo depois.
166
+ if (!(0, provider_js_1.isValidCnpj)(documento))
167
+ return recusar('invalid_document', { registra: false });
168
+ const usadas = await quotaUsed(tx, new Date(ms - exports.LOOKUP_QUOTA_WINDOW_MS));
169
+ if (usadas >= exports.LOOKUP_QUOTA_LIMIT)
170
+ return recusar('quota_exceeded', { registra: false });
171
+ const doCache = await cached(tx, documento, provider.name, new Date(ms - exports.LOOKUP_CACHE_TTL_MS));
172
+ if (doCache) {
173
+ await (0, audit_js_1.appendAudit)(tx, {
174
+ actorId: req.actorId,
175
+ action: 'cnpj_lookup_success',
176
+ resourceType: 'client_registry_lookup',
177
+ resourceId: null,
178
+ metadata: { provider: provider.name, served: 'cache', documentTail: documento.slice(-6) },
179
+ });
180
+ return montar(doCache, provider, current, 'cache');
181
+ }
182
+ if (!circuitAllows(provider.name, ms))
183
+ return recusar('circuit_open', { registra: false });
184
+ await (0, audit_js_1.appendAudit)(tx, {
185
+ actorId: req.actorId,
186
+ action: 'cnpj_lookup_requested',
187
+ resourceType: 'client_registry_lookup',
188
+ resourceId: null,
189
+ metadata: { provider: provider.name, documentTail: documento.slice(-6) },
190
+ });
191
+ let resultado;
192
+ try {
193
+ resultado = await provider.lookup(documento);
194
+ }
195
+ catch {
196
+ // Nenhuma exceção de provedor atravessa com a sua mensagem: um cliente HTTP
197
+ // cita a URL, e URL de provedor pode carregar credencial no query string.
198
+ circuitRecord(provider.name, false, ms);
199
+ return recusar('provider_unavailable');
200
+ }
201
+ if (resultado.status === 'failed') {
202
+ if (countsAgainstProvider(resultado.reason))
203
+ circuitRecord(provider.name, false, ms);
204
+ return recusar(resultado.reason);
205
+ }
206
+ circuitRecord(provider.name, true, ms);
207
+ await recordLookup(tx, {
208
+ tenantId: req.tenantId,
209
+ documento,
210
+ provider: provider.name,
211
+ outcome: 'ok',
212
+ payload: resultado.record,
213
+ actorId: req.actorId,
214
+ });
215
+ await (0, audit_js_1.appendAudit)(tx, {
216
+ actorId: req.actorId,
217
+ action: 'cnpj_lookup_success',
218
+ resourceType: 'client_registry_lookup',
219
+ resourceId: null,
220
+ metadata: {
221
+ provider: provider.name,
222
+ official: provider.official,
223
+ served: 'network',
224
+ registrationStatus: resultado.record.registrationStatus,
225
+ documentTail: documento.slice(-6),
226
+ },
227
+ });
228
+ return montar(resultado.record, provider, current, 'network');
229
+ }
230
+ //# sourceMappingURL=service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../src/clients/registry/service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,165 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SYNTHETIC_CNPJ = void 0;
4
+ exports.syntheticCompanyRegistry = syntheticCompanyRegistry;
5
+ const provider_js_1 = require("./provider.js");
6
+ /**
7
+ * Um provedor de mentira, para provar o produto sem contrato.
8
+ *
9
+ * ## Por que ele é `official: false`, e por que isso importa
10
+ *
11
+ * Todo retrato que ele devolve entra no banco carimbado como NÃO oficial. Sem
12
+ * esse carimbo, um dado sintético usado num ambiente de demonstração ficaria
13
+ * indistinguível de um dado da Receita — e a etiqueta de proveniência, que
14
+ * existe justamente para dizer o quanto se confia num campo, viraria decoração.
15
+ *
16
+ * ## Os cenários vivem no número
17
+ *
18
+ * Cada CNPJ da tabela abaixo É um caso de teste: empresa baixada, sem nome
19
+ * fantasia, sem e-mail, Simples que a fonte não informou, município que o IBGE
20
+ * não conhece. Espalhar isso por mocks locais faria cada teste inventar a sua
21
+ * própria versão de "empresa inapta" — e duas versões divergentes de um mesmo
22
+ * conceito é como um bug passa entre elas.
23
+ */
24
+ const BASE = {
25
+ cnpj: '',
26
+ legalName: 'EMPRESA SINTETICA LTDA',
27
+ tradeName: 'SINTETICA',
28
+ registrationStatus: 'ATIVA',
29
+ openedOn: '2015-03-10',
30
+ legalNature: '206-2 - Sociedade Empresária Limitada',
31
+ size: 'ME',
32
+ primaryActivity: { code: '4712100', description: 'Comércio varejista de mercadorias em geral' },
33
+ secondaryActivities: [],
34
+ address: {
35
+ street: 'Rua das Provas',
36
+ number: '100',
37
+ complement: null,
38
+ district: 'Setor Central',
39
+ zipCode: '74000-000',
40
+ municipality: 'Goiânia',
41
+ uf: 'GO',
42
+ },
43
+ phone: '(62) 3000-0000',
44
+ email: 'contato@sintetica.example',
45
+ shareCapital: 50000,
46
+ simplesOptant: true,
47
+ meiOptant: false,
48
+ };
49
+ /** Cenários felizes: o CNPJ escolhe qual retrato volta. */
50
+ const RETRATOS = {
51
+ // Ativa, completa, optante do Simples — o caso comum.
52
+ '11222333000181': {},
53
+ // Gêmeas da anterior, e existem por uma razão de teste: o cache é por
54
+ // (tenant, documento), então um caso que precisa MESMO tocar a rede não pode
55
+ // reusar um CNPJ que outro caso já consultou.
56
+ '30000000000152': { tradeName: 'SINTETICA II' },
57
+ '30000000000233': { tradeName: 'SINTETICA III' },
58
+ // Sem nome fantasia: a tela não pode mostrar "undefined" nem cair para a
59
+ // razão social sem dizer que caiu.
60
+ '11444777000161': { tradeName: null, legalName: 'COMERCIO SEM FANTASIA LTDA' },
61
+ // Sem e-mail e sem telefone: os dois campos que o escritório mais preenche à
62
+ // mão, e que a fonte oficial mais frequentemente não tem.
63
+ '19131243000197': { email: null, phone: null },
64
+ // Baixada — não é erro de consulta. A empresa existe e está encerrada, e o
65
+ // cadastro não pode tratar isso como "não encontrado".
66
+ '34028316000103': { registrationStatus: 'BAIXADA', tradeName: 'ENCERRADA' },
67
+ // Inapta: opera, mas com pendência. Distinta de baixada.
68
+ '33000167000101': { registrationStatus: 'INAPTA' },
69
+ // Vários CNAEs secundários: a tela precisa caber mais de um.
70
+ '60746948000112': {
71
+ secondaryActivities: [
72
+ { code: '4711302', description: 'Comércio varejista de mercadorias em geral' },
73
+ { code: '5620104', description: 'Fornecimento de alimentos preparados' },
74
+ { code: '8299799', description: 'Outras atividades de serviços prestados' },
75
+ ],
76
+ },
77
+ // MEI. `simplesOptant` também é true: todo MEI é do Simples, e uma fonte que
78
+ // dissesse MEI sem dizer Simples estaria incompleta, não negando.
79
+ '45283163000167': { meiOptant: true, simplesOptant: true, size: 'MEI' },
80
+ // NÃO optante do Simples. Isto é a fonte DIZENDO "não" — e continua não
81
+ // dizendo nada sobre Real ou Presumido. Ver `NON_SIMPLES_TAX_REGIME_NOT_INFERRED`.
82
+ '47960950000121': { simplesOptant: false, size: 'DEMAIS' },
83
+ // A fonte SILENCIOU sobre o regime. `null` não é `false`: aqui o produto tem
84
+ // de dizer "não informado", nunca "não é do Simples".
85
+ '07526557000100': { simplesOptant: null, meiOptant: null },
86
+ // Município que o IBGE não resolve pelo nome que a fonte usou. O código não
87
+ // pode ser adivinhado — a tela pergunta.
88
+ '02558157000162': {
89
+ address: { ...BASE.address, municipality: 'Vila Que Nao Existe', uf: 'GO' },
90
+ },
91
+ // Município ambíguo sem UF confiável: "Bom Jesus" existe em cinco estados.
92
+ '61695227000193': {
93
+ address: { ...BASE.address, municipality: 'Bom Jesus', uf: null },
94
+ },
95
+ };
96
+ /** Cenários de falha: o CNPJ escolhe qual defeito o provedor apresenta. */
97
+ const FALHAS = {
98
+ '00000000000191': 'not_found',
99
+ '15436940000103': 'rate_limited',
100
+ '92660406000119': 'provider_unavailable',
101
+ '76535764000143': 'timeout',
102
+ '05570714000159': 'garbage',
103
+ };
104
+ function syntheticCompanyRegistry(options = {}) {
105
+ return {
106
+ name: 'synthetic',
107
+ official: false,
108
+ async lookup(input) {
109
+ const cnpj = (0, provider_js_1.cnpjDigits)(input);
110
+ const source = 'synthetic';
111
+ const recusa = (reason) => ({
112
+ status: 'failed',
113
+ reason,
114
+ source,
115
+ });
116
+ options.onCall?.(cnpj);
117
+ if (options.force)
118
+ return recusa(options.force);
119
+ if (!(0, provider_js_1.isValidCnpj)(cnpj))
120
+ return recusa('invalid_document');
121
+ const falha = FALHAS[cnpj];
122
+ if (falha === 'timeout') {
123
+ // Uma exceção CRUA, como a rede produz. O serviço tem de classificá-la
124
+ // sozinho: um provedor real não devolve `{status:'failed'}` educado
125
+ // quando o socket morre.
126
+ throw new Error('ETIMEDOUT synthetic://registry');
127
+ }
128
+ if (falha === 'garbage')
129
+ return recusa('unexpected_payload');
130
+ if (falha)
131
+ return recusa(falha);
132
+ const patch = RETRATOS[cnpj];
133
+ if (!patch)
134
+ return recusa('not_found');
135
+ return {
136
+ status: 'ok',
137
+ record: { ...BASE, ...patch, cnpj },
138
+ source,
139
+ fetchedAt: new Date().toISOString(),
140
+ };
141
+ },
142
+ };
143
+ }
144
+ /** Os CNPJs sintéticos, nomeados — para o teste citar o caso, não o número. */
145
+ exports.SYNTHETIC_CNPJ = {
146
+ ativaCompleta: '11222333000181',
147
+ ativaSemCache: '30000000000152',
148
+ ativaSemCache2: '30000000000233',
149
+ semNomeFantasia: '11444777000161',
150
+ semContato: '19131243000197',
151
+ baixada: '34028316000103',
152
+ inapta: '33000167000101',
153
+ variosCnae: '60746948000112',
154
+ mei: '45283163000167',
155
+ naoOptanteSimples: '47960950000121',
156
+ regimeNaoInformado: '07526557000100',
157
+ municipioDesconhecido: '02558157000162',
158
+ municipioAmbiguo: '61695227000193',
159
+ naoEncontrada: '00000000000191',
160
+ limiteExcedido: '15436940000103',
161
+ provedorForaDoAr: '92660406000119',
162
+ tempoEsgotado: '76535764000143',
163
+ respostaIlegivel: '05570714000159',
164
+ };
165
+ //# sourceMappingURL=synthetic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"synthetic.js","sourceRoot":"","sources":["../../../../src/clients/registry/synthetic.ts"],"names":[],"mappings":"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"}