@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
@@ -603,16 +603,77 @@ async function reverseSettlementForCharge(tx, chargeId, reason) {
603
603
  receivable: await getReceivable(tx, receivableId),
604
604
  };
605
605
  }
606
- async function cancelReceivable(tx, id) {
606
+ /**
607
+ * Cancela a obrigação, preservando o que já foi pago.
608
+ *
609
+ * ## Cancelar não é pagar, e não é estornar
610
+ *
611
+ * O que morre aqui é o **saldo em aberto**. O dinheiro que já entrou continua
612
+ * tendo entrado: os pagamentos não são tocados, e seguem somando em "Recebido".
613
+ * Transformar o saldo cancelado em recebimento inventaria receita; apagar o
614
+ * pagamento anterior apagaria dinheiro que existe na conta do escritório.
615
+ *
616
+ * ## Por que aceita pagamento parcial agora
617
+ *
618
+ * A versão anterior recusava qualquer recebível com pagamento — o que deixava
619
+ * sem saída exatamente o caso mais comum de cancelamento legítimo: cliente pagou
620
+ * parte, o serviço foi cancelado, e o resto não é mais devido. Sem esta operação,
621
+ * a única forma de tirar o saldo do painel seria fingir um pagamento ou apagar a
622
+ * linha no banco. As duas são piores.
623
+ *
624
+ * Recebível **totalmente pago** continua recusado: ali não há obrigação a
625
+ * cancelar, e desfazer dinheiro recebido é estorno — outra operação, com outras
626
+ * consequências contábeis.
627
+ */
628
+ async function cancelReceivable(tx, id, input) {
629
+ const motivo = input.reason?.trim() ?? '';
630
+ if (motivo.length < 3) {
631
+ throw new shared_1.ValidationError('Informe o motivo do cancelamento — ele fica na trilha de auditoria e é o que explica, depois, por que esta cobrança deixou de existir.');
632
+ }
607
633
  const current = await getReceivable(tx, id);
608
- if (current.amountPaid > 0) {
609
- throw new shared_1.ConflictError('Recebível com pagamento registrado não pode ser cancelado');
634
+ if (current.status === 'canceled') {
635
+ throw new shared_1.ConflictError('Este recebível está cancelado.');
636
+ }
637
+ if (current.outstandingAmount <= 0) {
638
+ // Sem saldo, não há obrigação a cancelar. Se houve pagamento, o caminho é
639
+ // estorno; se o valor era zero, não havia o que cobrar.
640
+ throw new shared_1.ConflictError('Não há saldo em aberto para cancelar. Um recebível quitado se desfaz por estorno do pagamento, não por cancelamento.');
641
+ }
642
+ // Fail-closed: cobrança viva no gateway não pode ficar órfã de obrigação.
643
+ //
644
+ // Cancelar só do lado de cá deixaria no provedor um boleto que o cliente ainda
645
+ // consegue pagar — e o escritório achando que cancelou. É o mesmo defeito que
646
+ // a auditoria encontrou no cancelamento de cobrança, com o dinheiro indo na
647
+ // direção contrária.
648
+ const [viva] = await tx `
649
+ SELECT count(*)::int AS n FROM charge
650
+ WHERE receivable_id = ${id}
651
+ AND deleted_at IS NULL
652
+ AND provider <> 'manual'
653
+ AND status NOT IN ('canceled', 'refunded')
654
+ `;
655
+ if ((viva?.n ?? 0) > 0) {
656
+ throw new shared_1.ConflictError('Este recebível tem cobrança emitida no provedor de pagamento. Cancele a cobrança primeiro — cancelar só aqui deixaria um boleto que o cliente ainda consegue pagar.', { code: 'RECEIVABLE_HAS_ACTIVE_EXTERNAL_CHARGE' });
610
657
  }
658
+ const canceledOutstanding = current.outstandingAmount;
659
+ const preservedPayments = current.amountPaid;
611
660
  await tx `
612
- UPDATE receivable SET status = 'canceled', updated_at = now(), version = version + 1
661
+ UPDATE receivable
662
+ SET status = 'canceled',
663
+ metadata = coalesce(metadata, '{}'::jsonb) || ${tx.json({
664
+ canceledReason: motivo,
665
+ canceledAt: new Date().toISOString(),
666
+ canceledBy: input.actorId ?? null,
667
+ canceledFromStatus: current.effectiveStatus,
668
+ canceledOutstanding,
669
+ preservedPayments,
670
+ })},
671
+ updated_at = now(),
672
+ version = version + 1
613
673
  WHERE id = ${id} AND deleted_at IS NULL
614
674
  `;
615
- return getReceivable(tx, id);
675
+ const atual = await getReceivable(tx, id);
676
+ return { ...atual, canceledOutstanding, preservedPayments };
616
677
  }
617
678
  /**
618
679
  * Materializa a transição para `overdue`.
@@ -636,17 +697,32 @@ async function markOverdueReceivables(tx) {
636
697
  }
637
698
  async function financialSummary(tx) {
638
699
  const [r] = await tx `
700
+ -- Cancelado sai da base de OBRIGAÇÃO, e o dinheiro já recebido fica.
701
+ --
702
+ -- A base exclui cancelados porque eles não são mais exigíveis: não entram em
703
+ -- "A receber", "Vencido" nem "A vencer". Mas o pagamento que já entrou
704
+ -- ENTROU — cancelar a obrigação não devolve dinheiro ao cliente, e tirá-lo
705
+ -- de "Recebido" faria o total do escritório encolher sozinho no dia em que
706
+ -- alguém cancelasse um recebível parcialmente pago.
707
+ --
708
+ -- Por isso "Recebido" é somado à parte, sobre todos os recebíveis vivos.
639
709
  WITH base AS (
640
710
  SELECT r.*, ${tx.unsafe(EFFECTIVE_STATUS_SQL)} AS eff,
641
711
  COALESCE((SELECT sum(p.amount) FROM payment p
642
712
  WHERE p.receivable_id = r.id AND p.status = 'confirmed'), 0) AS paid
643
713
  FROM receivable r WHERE r.deleted_at IS NULL AND r.status <> 'canceled'
714
+ ),
715
+ recebido AS (
716
+ SELECT COALESCE(sum(p.amount), 0) AS total
717
+ FROM payment p
718
+ JOIN receivable r ON r.id = p.receivable_id AND r.deleted_at IS NULL
719
+ WHERE p.status = 'confirmed'
644
720
  )
645
721
  SELECT
646
722
  COALESCE(sum(amount), 0) AS total_receivable,
647
723
  COALESCE(sum(amount - paid) FILTER (WHERE eff IN ('open','partially_paid','overdue')), 0) AS total_open,
648
724
  COALESCE(sum(amount - paid) FILTER (WHERE eff = 'overdue'), 0) AS total_overdue,
649
- COALESCE(sum(paid), 0) AS total_paid,
725
+ (SELECT total FROM recebido) AS total_paid,
650
726
  COALESCE(sum(amount - paid) FILTER (
651
727
  WHERE eff IN ('open','partially_paid')
652
728
  AND due_date BETWEEN CURRENT_DATE AND CURRENT_DATE + 7), 0) AS total_due_soon,
@@ -1 +1 @@
1
- {"version":3,"file":"ar-repository.js","sourceRoot":"","sources":["../../../src/billing/ar-repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ar-repository.js","sourceRoot":"","sources":["../../../src/billing/ar-repository.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AmbiguousProviderAccount = void 0;
3
4
  exports.getActiveProviderAccount = getActiveProviderAccount;
4
5
  exports.listProviderAccounts = listProviderAccounts;
5
6
  exports.getProviderAccountByEnvironment = getProviderAccountByEnvironment;
6
7
  exports.setPrimaryProviderAccount = setPrimaryProviderAccount;
8
+ exports.requireProviderAccountById = requireProviderAccountById;
7
9
  exports.getProviderAccountById = getProviderAccountById;
8
10
  exports.providerBaseUrl = providerBaseUrl;
9
11
  exports.resolveProviderForTenant = resolveProviderForTenant;
@@ -44,6 +46,15 @@ async function getActiveProviderAccount(tx) {
44
46
  FROM payment_provider_account
45
47
  WHERE status = 'active' AND is_primary
46
48
  `;
49
+ // O comentário acima prometia que duas contas fariam o erro aparecer. Não
50
+ // fazia: `rows[0]` escolhia a primeira em silêncio. A unicidade do índice é
51
+ // por (tenant, provider), então dois PROVEDORES primários — asaas e outro —
52
+ // cabem na mesma consulta, e a escolha voltaria a ser implícita.
53
+ //
54
+ // Uma promessa que o código não cumpre é pior que promessa nenhuma: alguém
55
+ // lê o comentário e para de verificar.
56
+ if (rows.length > 1)
57
+ throw new AmbiguousProviderAccount('primária', rows.length);
47
58
  return rows[0] ? toAccount(rows[0]) : null;
48
59
  }
49
60
  /** Todas as contas vivas do escritório — o laboratório e a operação. */
@@ -71,6 +82,11 @@ async function getProviderAccountByEnvironment(tx, environment) {
71
82
  FROM payment_provider_account
72
83
  WHERE status = 'active' AND environment = ${environment}
73
84
  `;
85
+ // Não há índice único por ambiente — duas contas `live` ativas são possíveis
86
+ // hoje. Escolher a primeira seria decidir por ordem de retorno para onde vai
87
+ // o dinheiro. Falhar aqui obriga alguém a resolver a duplicidade.
88
+ if (rows.length > 1)
89
+ throw new AmbiguousProviderAccount(environment, rows.length);
74
90
  return rows[0] ? toAccount(rows[0]) : null;
75
91
  }
76
92
  /**
@@ -101,6 +117,23 @@ async function setPrimaryProviderAccount(tx, id) {
101
117
  throw new shared_1.NotFoundError('Conta de pagamento não encontrada');
102
118
  return conta;
103
119
  }
120
+ /**
121
+ * Conta por id, obrigatória e utilizável.
122
+ *
123
+ * Fail-closed de propósito: quem pede por id sabe qual conta quer, e cair na
124
+ * primária porque aquela sumiu seria trocar a conta sem avisar — justamente o
125
+ * que esta fase existe para impedir.
126
+ */
127
+ async function requireProviderAccountById(tx, id) {
128
+ const conta = await getProviderAccountById(tx, id);
129
+ if (!conta) {
130
+ throw new shared_1.NotFoundError('A conta de pagamento que emitiu esta cobrança não existe mais.');
131
+ }
132
+ if (conta.status === 'revoked') {
133
+ throw new shared_1.ConflictError('A conta de pagamento que emitiu esta cobrança foi revogada — não dá para operar por ela.', { code: 'PROVIDER_ACCOUNT_REVOKED' });
134
+ }
135
+ return conta;
136
+ }
104
137
  /** Conta por id — usada pelo webhook, que descobre o tenant pela URL. */
105
138
  async function getProviderAccountById(tx, id) {
106
139
  const rows = await tx `
@@ -134,6 +167,20 @@ const BASE_URL = {
134
167
  function providerBaseUrl(provider, environment) {
135
168
  return BASE_URL[provider]?.[environment];
136
169
  }
170
+ /**
171
+ * Mais de uma conta elegível para o mesmo critério.
172
+ *
173
+ * Conflito e não erro de validação: o pedido está correto, quem está errado é o
174
+ * estado — há duas contas onde só pode haver uma. A saída é humana (revogar ou
175
+ * despromover uma), e por isso a mensagem diz o que fazer.
176
+ */
177
+ class AmbiguousProviderAccount extends shared_1.ConflictError {
178
+ constructor(criterio, quantas) {
179
+ super(`Há ${quantas} contas de pagamento ativas para "${criterio}" — o sistema não escolhe ` +
180
+ 'entre elas. Revogue ou despromova as que não devem operar antes de continuar.', { code: 'AMBIGUOUS_PROVIDER_ACCOUNT' });
181
+ }
182
+ }
183
+ exports.AmbiguousProviderAccount = AmbiguousProviderAccount;
137
184
  /**
138
185
  * Monta o adapter já apontado para a conta do tenant.
139
186
  *
@@ -142,9 +189,21 @@ function providerBaseUrl(provider, environment) {
142
189
  * variável de módulo.
143
190
  */
144
191
  async function resolveProviderForTenant(tx, keyring, tenantId, opts = {}) {
145
- const account = opts.account ?? (await getActiveProviderAccount(tx));
192
+ const account = opts.account ??
193
+ (opts.accountId
194
+ ? await requireProviderAccountById(tx, opts.accountId)
195
+ : opts.environment
196
+ ? await getProviderAccountByEnvironment(tx, opts.environment)
197
+ : await getActiveProviderAccount(tx));
146
198
  if (!account)
147
199
  return null;
200
+ // Coerência final, independente do caminho: se a operação declarou o
201
+ // ambiente, a conta resolvida tem de ser dele. Vale inclusive para
202
+ // `opts.account`, que vem pronto de fora e ninguém mais confere.
203
+ if (opts.environment && account.environment !== opts.environment) {
204
+ throw new shared_1.ConflictError(`A operação exige uma conta de pagamento "${opts.environment}", e a conta resolvida é ` +
205
+ `"${account.environment}". Nenhuma operação usa a conta do outro ambiente.`, { code: 'PROVIDER_ENVIRONMENT_MISMATCH' });
206
+ }
148
207
  // Antes de a credencial sair do Vault: uma aplicação que não é produção não
149
208
  // deve nem abrir conexão com a conta live — inclusive para receber webhook.
150
209
  (0, live_guard_js_1.assertLiveProviderAllowed)(account.environment, (0, live_guard_js_1.readLiveRuntime)(), 'resolve');
@@ -1 +1 @@
1
- {"version":3,"file":"provider-account.js","sourceRoot":"","sources":["../../../src/billing/provider-account.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider-account.js","sourceRoot":"","sources":["../../../src/billing/provider-account.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,8 @@ exports.markChargePaidByExternal = markChargePaidByExternal;
14
14
  exports.setChargeStatus = setChargeStatus;
15
15
  exports.billingSummary = billingSummary;
16
16
  exports.listOpenCharges = listOpenCharges;
17
+ exports.setFeeObligations = setFeeObligations;
18
+ exports.listFeeObligations = listFeeObligations;
17
19
  const shared_1 = require("@baruk/shared");
18
20
  function mapFee(r) {
19
21
  return {
@@ -32,6 +34,7 @@ function mapFee(r) {
32
34
  startsOn: r.starts_on ? r.starts_on.toISOString().slice(0, 10) : null,
33
35
  endsOn: r.ends_on ? r.ends_on.toISOString().slice(0, 10) : null,
34
36
  createdAt: r.created_at.toISOString(),
37
+ responsibleUserId: r.responsible_user_id ?? null,
35
38
  };
36
39
  }
37
40
  /**
@@ -51,20 +54,21 @@ function assertValidity(startsOn, endsOn) {
51
54
  const FEE_COLS_JOINED = `
52
55
  f.id, f.client_id, f.description, f.amount, f.periodicity, f.due_day, f.billing_method,
53
56
  f.discount, f.fine_percent, f.interest_percent, f.status, f.starts_on, f.ends_on, f.created_at,
54
- cl.display_name AS client_name
57
+ f.responsible_user_id, cl.display_name AS client_name
55
58
  `;
56
59
  async function createFeeAgreement(tx, input) {
57
60
  assertValidity(input.startsOn, input.endsOn);
58
61
  const rows = await tx `
59
62
  INSERT INTO fee_agreement (
60
63
  id, tenant_id, client_id, description, amount, periodicity, due_day,
61
- billing_method, discount, fine_percent, interest_percent, starts_on, ends_on, created_by
64
+ billing_method, discount, fine_percent, interest_percent, starts_on, ends_on,
65
+ responsible_user_id, created_by
62
66
  ) VALUES (
63
67
  ${(0, shared_1.uuidv7)()}, current_setting('app.current_tenant')::uuid, ${input.clientId},
64
68
  ${input.description ?? 'Honorários'}, ${input.amount}, ${input.periodicity ?? 'monthly'},
65
69
  ${input.dueDay ?? null}, ${input.billingMethod ?? 'pix'}, ${input.discount ?? 0},
66
70
  ${input.finePercent ?? 0}, ${input.interestPercent ?? 0}, ${input.startsOn ?? null},
67
- ${input.endsOn ?? null}, ${input.createdBy ?? null}
71
+ ${input.endsOn ?? null}, ${input.responsibleUserId ?? null}, ${input.createdBy ?? null}
68
72
  )
69
73
  RETURNING id
70
74
  `;
@@ -148,6 +152,7 @@ function mapCharge(r) {
148
152
  id: r.id,
149
153
  clientId: r.client_id,
150
154
  clientName: r.client_name ?? null,
155
+ providerAccountId: r.provider_account_id ?? null,
151
156
  receivableId: r.receivable_id ?? null,
152
157
  competence: r.competence ?? null,
153
158
  origin: recurring ? 'recurring' : 'one_off',
@@ -166,7 +171,7 @@ function mapCharge(r) {
166
171
  }
167
172
  const CHARGE_COLS = `
168
173
  id, client_id, fee_agreement_id, provider, external_id, method, amount,
169
- status, description, due_date, paid_at, metadata, created_at
174
+ status, description, due_date, paid_at, metadata, created_at, provider_account_id
170
175
  `;
171
176
  /**
172
177
  * Colunas da cobrança já acompanhadas do que a operação precisa ler.
@@ -177,7 +182,7 @@ const CHARGE_COLS = `
177
182
  */
178
183
  const CHARGE_COLS_JOINED = `
179
184
  c.id, c.client_id, c.fee_agreement_id, c.provider, c.external_id, c.method, c.amount,
180
- c.status, c.description, c.due_date, c.paid_at, c.metadata, c.created_at,
185
+ c.status, c.description, c.due_date, c.paid_at, c.metadata, c.created_at, c.provider_account_id,
181
186
  cl.display_name AS client_name,
182
187
  c.receivable_id,
183
188
  r.competence,
@@ -309,4 +314,45 @@ async function listOpenCharges(tx) {
309
314
  `;
310
315
  return rows.map(mapCharge);
311
316
  }
317
+ /**
318
+ * Quais obrigações um serviço contratado cobre.
319
+ *
320
+ * Relação N-para-N de verdade: um serviço de folha cobre eSocial, FGTS e a
321
+ * própria folha; e a mesma obrigação pode estar coberta por mais de um contrato
322
+ * ao longo do tempo. Por isso tabela de ligação, e não uma coluna.
323
+ *
324
+ * **A prévia de obrigações NÃO consome este vínculo hoje**, e isso é
325
+ * deliberado: quem decide a aplicabilidade continua sendo o regime mais a
326
+ * conferência humana do catálogo. Fazer o contrato mandar na geração mudaria a
327
+ * regra de aplicabilidade antes de existir a lista de serviços validada pelo
328
+ * escritório — seria inventar a regra em vez de descobri-la. O vínculo existe
329
+ * para ser preenchido e consultado; ligá-lo à geração é decisão de quem
330
+ * conhece a carteira.
331
+ */
332
+ async function setFeeObligations(tx, input) {
333
+ await tx `
334
+ DELETE FROM fee_agreement_obligation WHERE fee_agreement_id = ${input.feeAgreementId}
335
+ `;
336
+ let linked = 0;
337
+ for (const itemTypeId of input.itemTypeIds) {
338
+ const rows = await tx `
339
+ INSERT INTO fee_agreement_obligation (id, tenant_id, fee_agreement_id, item_type_id)
340
+ VALUES (${(0, shared_1.uuidv7)()}, current_setting('app.current_tenant')::uuid,
341
+ ${input.feeAgreementId}, ${itemTypeId})
342
+ ON CONFLICT DO NOTHING
343
+ RETURNING id
344
+ `;
345
+ if (rows[0])
346
+ linked++;
347
+ }
348
+ return { linked };
349
+ }
350
+ async function listFeeObligations(tx, feeAgreementId) {
351
+ const rows = await tx `
352
+ SELECT item_type_id FROM fee_agreement_obligation
353
+ WHERE fee_agreement_id = ${feeAgreementId}
354
+ ORDER BY created_at
355
+ `;
356
+ return rows.map((r) => r.item_type_id);
357
+ }
312
358
  //# sourceMappingURL=repository.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"repository.js","sourceRoot":"","sources":["../../../src/billing/repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repository.js","sourceRoot":"","sources":["../../../src/billing/repository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ufOfIbgeCode = ufOfIbgeCode;
4
+ exports.knownUfs = knownUfs;
5
+ exports.assertIbgeCoherent = assertIbgeCoherent;
6
+ const shared_1 = require("@baruk/shared");
7
+ /**
8
+ * Coerência do código IBGE do município — SEM catálogo de municípios.
9
+ *
10
+ * O problema real: a validação anterior era `^[0-9]{7}$` e só. Um operador
11
+ * podia digitar 3550308 para um cliente declarado em Goiás, e o motor fiscal
12
+ * passaria a casar esse cliente com regra municipal de São Paulo. Nada no
13
+ * sistema contradizia o dado.
14
+ *
15
+ * O que este módulo faz é o pedaço da verificação que NÃO depende de fonte
16
+ * externa: os dois primeiros dígitos de todo código de município são o código
17
+ * da UF, e essa tabela é fechada em 27 valores desde 1988. Com ela dá para
18
+ * recusar (a) prefixo que não é UF nenhuma e (b) município de um estado
19
+ * atribuído a cliente de outro — que é o erro de digitação e de copiar-colar
20
+ * que produz jurisdição errada.
21
+ *
22
+ * O que este módulo deliberadamente NÃO faz:
23
+ *
24
+ * - Não confere o dígito verificador. O algoritmo circula publicamente, mas
25
+ * não temos aqui a lista dos 5.570 códigos reais para provar que todos
26
+ * fecham por ele. Um falso negativo recusaria o cadastro de um município
27
+ * legítimo — pior que a dívida que estamos fechando, porque quebra a
28
+ * operação do escritório em vez de apenas deixar passar um dado errado.
29
+ * - Não afirma que o município existe. 5299999 tem prefixo de Goiás e passa
30
+ * daqui; só um catálogo oficial recusaria. Continua dívida documentada.
31
+ *
32
+ * Ou seja: o que passa daqui é COERENTE, não é VERIFICADO. A distinção está
33
+ * na mensagem de erro e no relatório da fase, e não deve ser apagada.
34
+ *
35
+ * ## O catálogo passou a existir — e esta função continua como está
36
+ *
37
+ * `clients/registry/ibge.ts` traz os 5.571 municípios oficiais, e com ele dá
38
+ * para responder "este código existe?". Ligá-lo AQUI seria endurecer uma
39
+ * validação de escrita que já governa cadastro gravado: um código legítimo que
40
+ * o dataset não tivesse — município novo, dataset defasado — passaria a
41
+ * bloquear a edição de um cliente que hoje funciona, e a falha apareceria como
42
+ * "não consigo salvar" sem ninguém saber por quê.
43
+ *
44
+ * O catálogo entra pelo caminho novo, onde ele PROPÕE em vez de recusar: a
45
+ * consulta oficial resolve o nome do município para um código, e um nome que
46
+ * ele não conhece vira uma pergunta na tela. Endurecer esta função é uma
47
+ * decisão separada, com migração de dados por trás.
48
+ */
49
+ /** Os 27 prefixos oficiais. Tabela fechada — não é fonte de dados externa. */
50
+ const UF_BY_PREFIX = Object.freeze({
51
+ '11': 'RO',
52
+ '12': 'AC',
53
+ '13': 'AM',
54
+ '14': 'RR',
55
+ '15': 'PA',
56
+ '16': 'AP',
57
+ '17': 'TO',
58
+ '21': 'MA',
59
+ '22': 'PI',
60
+ '23': 'CE',
61
+ '24': 'RN',
62
+ '25': 'PB',
63
+ '26': 'PE',
64
+ '27': 'AL',
65
+ '28': 'SE',
66
+ '29': 'BA',
67
+ '31': 'MG',
68
+ '32': 'ES',
69
+ '33': 'RJ',
70
+ '35': 'SP',
71
+ '41': 'PR',
72
+ '42': 'SC',
73
+ '43': 'RS',
74
+ '50': 'MS',
75
+ '51': 'MT',
76
+ '52': 'GO',
77
+ '53': 'DF',
78
+ });
79
+ /** A UF que o próprio código declara, ou `null` se o prefixo não é de UF alguma. */
80
+ function ufOfIbgeCode(code) {
81
+ const t = code?.trim();
82
+ if (!t || !/^[0-9]{7}$/.test(t))
83
+ return null;
84
+ return UF_BY_PREFIX[t.slice(0, 2)] ?? null;
85
+ }
86
+ /** Só para o teste de equivalência e para a tela: as UFs que o motor reconhece. */
87
+ function knownUfs() {
88
+ return Object.values(UF_BY_PREFIX).slice().sort();
89
+ }
90
+ /**
91
+ * Recusa o par (código, UF) quando ele se contradiz.
92
+ *
93
+ * Recebe o ESTADO RESULTANTE, nunca o corpo da requisição: num PATCH que muda
94
+ * só a UF, o código incoerente é o que já estava gravado. Validar o payload
95
+ * deixaria passar exatamente a metade dos casos.
96
+ *
97
+ * UF ausente não é contradição — é dado faltando, e o cliente pode ficar sem
98
+ * UF de propósito enquanto o escritório confere. O código sozinho já carrega a
99
+ * jurisdição estadual.
100
+ */
101
+ function assertIbgeCoherent(code, uf) {
102
+ if (!code)
103
+ return;
104
+ if (!/^[0-9]{7}$/.test(code)) {
105
+ throw new shared_1.ValidationError('Código IBGE do município tem 7 dígitos.', {
106
+ field: 'municipalityIbgeCode',
107
+ });
108
+ }
109
+ const declared = ufOfIbgeCode(code);
110
+ if (declared === null) {
111
+ throw new shared_1.ValidationError(`Código IBGE ${code} não começa com um código de UF válido — os dois primeiros dígitos identificam o estado.`, { field: 'municipalityIbgeCode' });
112
+ }
113
+ if (uf && declared !== uf) {
114
+ throw new shared_1.ValidationError(`Código IBGE ${code} é de município de ${declared}, mas o cliente está em ${uf}. Corrija o código ou a UF.`, { field: 'municipalityIbgeCode', declaredUf: declared, clientUf: uf });
115
+ }
116
+ }
117
+ //# sourceMappingURL=ibge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ibge.js","sourceRoot":"","sources":["../../../src/clients/ibge.ts"],"names":[],"mappings":";;AA6EA,oCAIC;AAGD,4BAEC;AAaD,gDAoBC;AAvHD,0CAAgD;AAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,8EAA8E;AAC9E,MAAM,YAAY,GAAqC,MAAM,CAAC,MAAM,CAAC;IACnE,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;CACX,CAAC,CAAC;AAEH,oFAAoF;AACpF,SAAgB,YAAY,CAAC,IAA+B;IAC1D,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC;IACvB,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7C,OAAO,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAC7C,CAAC;AAED,mFAAmF;AACnF,SAAgB,QAAQ;IACtB,OAAO,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;AACpD,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,kBAAkB,CAAC,IAAmB,EAAE,EAAiB;IACvE,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,wBAAe,CAAC,yCAAyC,EAAE;YACnE,KAAK,EAAE,sBAAsB;SAC9B,CAAC,CAAC;IACL,CAAC;IACD,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,MAAM,IAAI,wBAAe,CACvB,eAAe,IAAI,0FAA0F,EAC7G,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAClC,CAAC;IACJ,CAAC;IACD,IAAI,EAAE,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC;QAC1B,MAAM,IAAI,wBAAe,CACvB,eAAe,IAAI,sBAAsB,QAAQ,2BAA2B,EAAE,6BAA6B,EAC3G,EAAE,KAAK,EAAE,sBAAsB,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,CACtE,CAAC;IACJ,CAAC;AACH,CAAC"}