@baruk/core 0.3.0 → 0.4.2

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 (708) hide show
  1. package/.baruk-provenance.json +10 -0
  2. package/CHANGELOG.md +97 -0
  3. package/README.md +9 -2
  4. package/dist/auth/password-reset.d.ts +30 -1
  5. package/dist/auth/password-reset.d.ts.map +1 -1
  6. package/dist/auth/password-reset.js +139 -11
  7. package/dist/auth/password-reset.js.map +1 -1
  8. package/dist/auth/service.d.ts +39 -2
  9. package/dist/auth/service.d.ts.map +1 -1
  10. package/dist/auth/service.js +75 -10
  11. package/dist/auth/service.js.map +1 -1
  12. package/dist/billing/ar-repository.d.ts +334 -0
  13. package/dist/billing/ar-repository.d.ts.map +1 -0
  14. package/dist/billing/ar-repository.js +707 -0
  15. package/dist/billing/ar-repository.js.map +1 -0
  16. package/dist/billing/auto-generation.d.ts +87 -0
  17. package/dist/billing/auto-generation.d.ts.map +1 -0
  18. package/dist/billing/auto-generation.js +181 -0
  19. package/dist/billing/auto-generation.js.map +1 -0
  20. package/dist/billing/live-guard.d.ts +64 -0
  21. package/dist/billing/live-guard.d.ts.map +1 -0
  22. package/dist/billing/live-guard.js +68 -0
  23. package/dist/billing/live-guard.js.map +1 -0
  24. package/dist/billing/payment-means-catalog.d.ts +17 -0
  25. package/dist/billing/payment-means-catalog.d.ts.map +1 -0
  26. package/dist/billing/payment-means-catalog.js +21 -0
  27. package/dist/billing/payment-means-catalog.js.map +1 -0
  28. package/dist/billing/payment-means.d.ts +38 -0
  29. package/dist/billing/payment-means.d.ts.map +1 -0
  30. package/dist/billing/payment-means.js +29 -0
  31. package/dist/billing/payment-means.js.map +1 -0
  32. package/dist/billing/payment-rail.d.ts +118 -0
  33. package/dist/billing/payment-rail.d.ts.map +1 -0
  34. package/dist/billing/payment-rail.js +295 -0
  35. package/dist/billing/payment-rail.js.map +1 -0
  36. package/dist/billing/provider/asaas.d.ts +46 -1
  37. package/dist/billing/provider/asaas.d.ts.map +1 -1
  38. package/dist/billing/provider/asaas.js +194 -14
  39. package/dist/billing/provider/asaas.js.map +1 -1
  40. package/dist/billing/provider/manual.js +1 -1
  41. package/dist/billing/provider/manual.js.map +1 -1
  42. package/dist/billing/provider/types.d.ts +115 -8
  43. package/dist/billing/provider/types.d.ts.map +1 -1
  44. package/dist/billing/provider-account.d.ts +89 -0
  45. package/dist/billing/provider-account.d.ts.map +1 -0
  46. package/dist/billing/provider-account.js +161 -0
  47. package/dist/billing/provider-account.js.map +1 -0
  48. package/dist/billing/provider-onboarding.d.ts +67 -0
  49. package/dist/billing/provider-onboarding.d.ts.map +1 -0
  50. package/dist/billing/provider-onboarding.js +234 -0
  51. package/dist/billing/provider-onboarding.js.map +1 -0
  52. package/dist/billing/receivable.d.ts +5 -1
  53. package/dist/billing/receivable.d.ts.map +1 -1
  54. package/dist/billing/reconcile.d.ts +58 -0
  55. package/dist/billing/reconcile.d.ts.map +1 -0
  56. package/dist/billing/reconcile.js +138 -0
  57. package/dist/billing/reconcile.js.map +1 -0
  58. package/dist/billing/repository.d.ts +90 -1
  59. package/dist/billing/repository.d.ts.map +1 -1
  60. package/dist/billing/repository.js +148 -19
  61. package/dist/billing/repository.js.map +1 -1
  62. package/dist/cjs/auth/password-reset.js +141 -11
  63. package/dist/cjs/auth/password-reset.js.map +1 -1
  64. package/dist/cjs/auth/service.js +75 -9
  65. package/dist/cjs/auth/service.js.map +1 -1
  66. package/dist/cjs/billing/ar-repository.js +728 -0
  67. package/dist/cjs/billing/ar-repository.js.map +1 -0
  68. package/dist/cjs/billing/auto-generation.js +186 -0
  69. package/dist/cjs/billing/auto-generation.js.map +1 -0
  70. package/dist/cjs/billing/live-guard.js +72 -0
  71. package/dist/cjs/billing/live-guard.js.map +1 -0
  72. package/dist/cjs/billing/payment-means-catalog.js +25 -0
  73. package/dist/cjs/billing/payment-means-catalog.js.map +1 -0
  74. package/dist/cjs/billing/payment-means.js +33 -0
  75. package/dist/cjs/billing/payment-means.js.map +1 -0
  76. package/dist/cjs/billing/payment-rail.js +301 -0
  77. package/dist/cjs/billing/payment-rail.js.map +1 -0
  78. package/dist/cjs/billing/provider/asaas.js +194 -14
  79. package/dist/cjs/billing/provider/asaas.js.map +1 -1
  80. package/dist/cjs/billing/provider/manual.js +1 -1
  81. package/dist/cjs/billing/provider/manual.js.map +1 -1
  82. package/dist/cjs/billing/provider-account.js +170 -0
  83. package/dist/cjs/billing/provider-account.js.map +1 -0
  84. package/dist/cjs/billing/provider-onboarding.js +239 -0
  85. package/dist/cjs/billing/provider-onboarding.js.map +1 -0
  86. package/dist/cjs/billing/reconcile.js +143 -0
  87. package/dist/cjs/billing/reconcile.js.map +1 -0
  88. package/dist/cjs/billing/repository.js +150 -18
  89. package/dist/cjs/billing/repository.js.map +1 -1
  90. package/dist/cjs/clients/repository.js +96 -20
  91. package/dist/cjs/clients/repository.js.map +1 -1
  92. package/dist/cjs/collection/branding.js +140 -0
  93. package/dist/cjs/collection/branding.js.map +1 -0
  94. package/dist/cjs/collection/channel-accounts.js +137 -0
  95. package/dist/cjs/collection/channel-accounts.js.map +1 -0
  96. package/dist/cjs/collection/channel.js +17 -0
  97. package/dist/cjs/collection/channel.js.map +1 -0
  98. package/dist/cjs/collection/communication-bridge.js +140 -0
  99. package/dist/cjs/collection/communication-bridge.js.map +1 -0
  100. package/dist/cjs/collection/communication-runtime.js +193 -0
  101. package/dist/cjs/collection/communication-runtime.js.map +1 -0
  102. package/dist/cjs/collection/consent-repository.js +84 -0
  103. package/dist/cjs/collection/consent-repository.js.map +1 -0
  104. package/dist/cjs/collection/copy.js +125 -0
  105. package/dist/cjs/collection/copy.js.map +1 -0
  106. package/dist/cjs/collection/delivery-callback.js +151 -0
  107. package/dist/cjs/collection/delivery-callback.js.map +1 -0
  108. package/dist/cjs/collection/email-layout.js +252 -0
  109. package/dist/cjs/collection/email-layout.js.map +1 -0
  110. package/dist/cjs/collection/engine.js +414 -0
  111. package/dist/cjs/collection/engine.js.map +1 -0
  112. package/dist/cjs/collection/format.js +76 -0
  113. package/dist/cjs/collection/format.js.map +1 -0
  114. package/dist/cjs/collection/payment-block.js +3 -0
  115. package/dist/cjs/collection/payment-block.js.map +1 -0
  116. package/dist/cjs/collection/policy.js +147 -0
  117. package/dist/cjs/collection/policy.js.map +1 -0
  118. package/dist/cjs/collection/repository.js +260 -0
  119. package/dist/cjs/collection/repository.js.map +1 -0
  120. package/dist/cjs/collection/subject.js +104 -0
  121. package/dist/cjs/collection/subject.js.map +1 -0
  122. package/dist/cjs/collection/template-catalog.js +165 -0
  123. package/dist/cjs/collection/template-catalog.js.map +1 -0
  124. package/dist/cjs/collection/template.js +78 -0
  125. package/dist/cjs/collection/template.js.map +1 -0
  126. package/dist/cjs/communication/adapters/email.js +132 -0
  127. package/dist/cjs/communication/adapters/email.js.map +1 -0
  128. package/dist/cjs/communication/adapters/sms.js +127 -0
  129. package/dist/cjs/communication/adapters/sms.js.map +1 -0
  130. package/dist/cjs/communication/adapters/whatsapp-language.js +39 -0
  131. package/dist/cjs/communication/adapters/whatsapp-language.js.map +1 -0
  132. package/dist/cjs/communication/adapters/whatsapp-templates.js +100 -0
  133. package/dist/cjs/communication/adapters/whatsapp-templates.js.map +1 -0
  134. package/dist/cjs/communication/adapters/whatsapp.js +213 -0
  135. package/dist/cjs/communication/adapters/whatsapp.js.map +1 -0
  136. package/dist/cjs/communication/audit.js +61 -0
  137. package/dist/cjs/communication/audit.js.map +1 -0
  138. package/dist/cjs/communication/capabilities.js +76 -0
  139. package/dist/cjs/communication/capabilities.js.map +1 -0
  140. package/dist/cjs/communication/channel.js +53 -0
  141. package/dist/cjs/communication/channel.js.map +1 -0
  142. package/dist/cjs/communication/claim.js +228 -0
  143. package/dist/cjs/communication/claim.js.map +1 -0
  144. package/dist/cjs/communication/consent.js +43 -0
  145. package/dist/cjs/communication/consent.js.map +1 -0
  146. package/dist/cjs/communication/context.js +45 -0
  147. package/dist/cjs/communication/context.js.map +1 -0
  148. package/dist/cjs/communication/credentials.js +121 -0
  149. package/dist/cjs/communication/credentials.js.map +1 -0
  150. package/dist/cjs/communication/dry-run-scenario.js +161 -0
  151. package/dist/cjs/communication/dry-run-scenario.js.map +1 -0
  152. package/dist/cjs/communication/dry-run.js +97 -0
  153. package/dist/cjs/communication/dry-run.js.map +1 -0
  154. package/dist/cjs/communication/engine.js +483 -0
  155. package/dist/cjs/communication/engine.js.map +1 -0
  156. package/dist/cjs/communication/graph.js +50 -0
  157. package/dist/cjs/communication/graph.js.map +1 -0
  158. package/dist/cjs/communication/idempotency.js +26 -0
  159. package/dist/cjs/communication/idempotency.js.map +1 -0
  160. package/dist/cjs/communication/identity.js +110 -0
  161. package/dist/cjs/communication/identity.js.map +1 -0
  162. package/dist/cjs/communication/index.js +135 -0
  163. package/dist/cjs/communication/index.js.map +1 -0
  164. package/dist/cjs/communication/onboarding.js +297 -0
  165. package/dist/cjs/communication/onboarding.js.map +1 -0
  166. package/dist/cjs/communication/policy.js +16 -0
  167. package/dist/cjs/communication/policy.js.map +1 -0
  168. package/dist/cjs/communication/routing.js +77 -0
  169. package/dist/cjs/communication/routing.js.map +1 -0
  170. package/dist/cjs/communication/sender-profile.js +128 -0
  171. package/dist/cjs/communication/sender-profile.js.map +1 -0
  172. package/dist/cjs/communication/status.js +86 -0
  173. package/dist/cjs/communication/status.js.map +1 -0
  174. package/dist/cjs/communication/stores/onboarding.js +135 -0
  175. package/dist/cjs/communication/stores/onboarding.js.map +1 -0
  176. package/dist/cjs/communication/stores/postgres.js +458 -0
  177. package/dist/cjs/communication/stores/postgres.js.map +1 -0
  178. package/dist/cjs/communication/stores/routing.js +334 -0
  179. package/dist/cjs/communication/stores/routing.js.map +1 -0
  180. package/dist/cjs/communication/stores/secrets.js +126 -0
  181. package/dist/cjs/communication/stores/secrets.js.map +1 -0
  182. package/dist/cjs/communication/template-provider.js +22 -0
  183. package/dist/cjs/communication/template-provider.js.map +1 -0
  184. package/dist/cjs/communication/template.js +63 -0
  185. package/dist/cjs/communication/template.js.map +1 -0
  186. package/dist/cjs/communication/webhook-subscription.js +258 -0
  187. package/dist/cjs/communication/webhook-subscription.js.map +1 -0
  188. package/dist/cjs/communication/webhook.js +292 -0
  189. package/dist/cjs/communication/webhook.js.map +1 -0
  190. package/dist/cjs/competence/repository.js +309 -0
  191. package/dist/cjs/competence/repository.js.map +1 -0
  192. package/dist/cjs/contacts/phone.js +192 -0
  193. package/dist/cjs/contacts/phone.js.map +1 -0
  194. package/dist/cjs/db/seed-catalog.js +48 -0
  195. package/dist/cjs/db/seed-catalog.js.map +1 -0
  196. package/dist/cjs/db/seed.js +15 -7
  197. package/dist/cjs/db/seed.js.map +1 -1
  198. package/dist/cjs/documents/repository.js +244 -0
  199. package/dist/cjs/documents/repository.js.map +1 -0
  200. package/dist/cjs/documents/requests.js +136 -0
  201. package/dist/cjs/documents/requests.js.map +1 -0
  202. package/dist/cjs/index.js +427 -48
  203. package/dist/cjs/index.js.map +1 -1
  204. package/dist/cjs/legal/company.js +36 -0
  205. package/dist/cjs/legal/company.js.map +1 -0
  206. package/dist/cjs/legal/documents.js +671 -0
  207. package/dist/cjs/legal/documents.js.map +1 -0
  208. package/dist/cjs/legal/index.js +15 -0
  209. package/dist/cjs/legal/index.js.map +1 -0
  210. package/dist/cjs/legal/types.js +34 -0
  211. package/dist/cjs/legal/types.js.map +1 -0
  212. package/dist/cjs/mail/auth-templates.js +29 -0
  213. package/dist/cjs/mail/auth-templates.js.map +1 -0
  214. package/dist/cjs/mail/dedup-store.js +12 -51
  215. package/dist/cjs/mail/dedup-store.js.map +1 -1
  216. package/dist/cjs/mail/index.js +16 -4
  217. package/dist/cjs/mail/index.js.map +1 -1
  218. package/dist/cjs/mail/provider.js +12 -247
  219. package/dist/cjs/mail/provider.js.map +1 -1
  220. package/dist/cjs/mail/resend.js +14 -18
  221. package/dist/cjs/mail/resend.js.map +1 -1
  222. package/dist/cjs/mail/sender-resolver.js +12 -11
  223. package/dist/cjs/mail/sender-resolver.js.map +1 -1
  224. package/dist/cjs/mail/template-renderer.js +11 -16
  225. package/dist/cjs/mail/template-renderer.js.map +1 -1
  226. package/dist/cjs/mail/transactional-outbound.js +117 -0
  227. package/dist/cjs/mail/transactional-outbound.js.map +1 -0
  228. package/dist/cjs/mail/types.js +8 -35
  229. package/dist/cjs/mail/types.js.map +1 -1
  230. package/dist/cjs/portal/provisioning.js +144 -0
  231. package/dist/cjs/portal/provisioning.js.map +1 -0
  232. package/dist/cjs/pricing-engine/canonical.js +42 -0
  233. package/dist/cjs/pricing-engine/canonical.js.map +1 -0
  234. package/dist/cjs/pricing-engine/errors.js +6 -1
  235. package/dist/cjs/pricing-engine/errors.js.map +1 -1
  236. package/dist/cjs/pricing-engine/index.js +12 -1
  237. package/dist/cjs/pricing-engine/index.js.map +1 -1
  238. package/dist/cjs/pricing-engine/pipeline.js +200 -26
  239. package/dist/cjs/pricing-engine/pipeline.js.map +1 -1
  240. package/dist/cjs/pricing-engine/shadow-adapter.js +79 -0
  241. package/dist/cjs/pricing-engine/shadow-adapter.js.map +1 -0
  242. package/dist/cjs/pricing-engine/shadow-diff.js +55 -0
  243. package/dist/cjs/pricing-engine/shadow-diff.js.map +1 -0
  244. package/dist/cjs/pricing-engine/shadow-facade.js +85 -0
  245. package/dist/cjs/pricing-engine/shadow-facade.js.map +1 -0
  246. package/dist/cjs/pricing-engine/shadow-legacy-types.js +19 -0
  247. package/dist/cjs/pricing-engine/shadow-legacy-types.js.map +1 -0
  248. package/dist/cjs/pricing-engine/shadow-metrics.js +34 -0
  249. package/dist/cjs/pricing-engine/shadow-metrics.js.map +1 -0
  250. package/dist/cjs/pricing-engine/shadow-normalizer.js +42 -0
  251. package/dist/cjs/pricing-engine/shadow-normalizer.js.map +1 -0
  252. package/dist/cjs/rbac/authorize.js +28 -0
  253. package/dist/cjs/rbac/authorize.js.map +1 -1
  254. package/dist/cjs/rbac/catalog.js +67 -1
  255. package/dist/cjs/rbac/catalog.js.map +1 -1
  256. package/dist/cjs/rbac/workload-provisioning.js +160 -0
  257. package/dist/cjs/rbac/workload-provisioning.js.map +1 -0
  258. package/dist/cjs/rbac/workload.js +191 -0
  259. package/dist/cjs/rbac/workload.js.map +1 -0
  260. package/dist/cjs/storage/checksum.js +15 -0
  261. package/dist/cjs/storage/checksum.js.map +1 -0
  262. package/dist/cjs/storage/key.js +72 -0
  263. package/dist/cjs/storage/key.js.map +1 -0
  264. package/dist/cjs/storage/local.js +100 -0
  265. package/dist/cjs/storage/local.js.map +1 -0
  266. package/dist/cjs/storage/r2.js +181 -0
  267. package/dist/cjs/storage/r2.js.map +1 -0
  268. package/dist/cjs/storage/registry.js +41 -0
  269. package/dist/cjs/storage/registry.js.map +1 -0
  270. package/dist/cjs/storage/types.js +50 -0
  271. package/dist/cjs/storage/types.js.map +1 -0
  272. package/dist/cjs/subscription-billing/provider/asaas.js +32 -7
  273. package/dist/cjs/subscription-billing/provider/asaas.js.map +1 -1
  274. package/dist/cjs/subscription-billing/provider/disabled.js +8 -0
  275. package/dist/cjs/subscription-billing/provider/disabled.js.map +1 -1
  276. package/dist/cjs/subscription-billing/provider/registry.js +17 -0
  277. package/dist/cjs/subscription-billing/provider/registry.js.map +1 -1
  278. package/dist/cjs/subscription-billing/service.js +57 -8
  279. package/dist/cjs/subscription-billing/service.js.map +1 -1
  280. package/dist/cjs/subscription-billing/types.js.map +1 -1
  281. package/dist/cjs/tenancy/provisioning.js +32 -8
  282. package/dist/cjs/tenancy/provisioning.js.map +1 -1
  283. package/dist/cjs/users/repository.js +119 -2
  284. package/dist/cjs/users/repository.js.map +1 -1
  285. package/dist/cjs/vault/repository.js +81 -0
  286. package/dist/cjs/vault/repository.js.map +1 -1
  287. package/dist/clients/repository.d.ts +42 -0
  288. package/dist/clients/repository.d.ts.map +1 -1
  289. package/dist/clients/repository.js +94 -21
  290. package/dist/clients/repository.js.map +1 -1
  291. package/dist/collection/branding.d.ts +72 -0
  292. package/dist/collection/branding.d.ts.map +1 -0
  293. package/dist/collection/branding.js +136 -0
  294. package/dist/collection/branding.js.map +1 -0
  295. package/dist/collection/channel-accounts.d.ts +57 -0
  296. package/dist/collection/channel-accounts.d.ts.map +1 -0
  297. package/dist/collection/channel-accounts.js +133 -0
  298. package/dist/collection/channel-accounts.js.map +1 -0
  299. package/dist/collection/channel.d.ts +24 -0
  300. package/dist/collection/channel.d.ts.map +1 -0
  301. package/dist/collection/channel.js +16 -0
  302. package/dist/collection/channel.js.map +1 -0
  303. package/dist/collection/communication-bridge.d.ts +66 -0
  304. package/dist/collection/communication-bridge.d.ts.map +1 -0
  305. package/dist/collection/communication-bridge.js +134 -0
  306. package/dist/collection/communication-bridge.js.map +1 -0
  307. package/dist/collection/communication-runtime.d.ts +95 -0
  308. package/dist/collection/communication-runtime.d.ts.map +1 -0
  309. package/dist/collection/communication-runtime.js +187 -0
  310. package/dist/collection/communication-runtime.js.map +1 -0
  311. package/dist/collection/consent-repository.d.ts +32 -0
  312. package/dist/collection/consent-repository.d.ts.map +1 -0
  313. package/dist/collection/consent-repository.js +79 -0
  314. package/dist/collection/consent-repository.js.map +1 -0
  315. package/dist/collection/copy.d.ts +50 -0
  316. package/dist/collection/copy.d.ts.map +1 -0
  317. package/dist/collection/copy.js +122 -0
  318. package/dist/collection/copy.js.map +1 -0
  319. package/dist/collection/delivery-callback.d.ts +49 -0
  320. package/dist/collection/delivery-callback.d.ts.map +1 -0
  321. package/dist/collection/delivery-callback.js +147 -0
  322. package/dist/collection/delivery-callback.js.map +1 -0
  323. package/dist/collection/email-layout.d.ts +45 -0
  324. package/dist/collection/email-layout.d.ts.map +1 -0
  325. package/dist/collection/email-layout.js +247 -0
  326. package/dist/collection/email-layout.js.map +1 -0
  327. package/dist/collection/engine.d.ts +177 -0
  328. package/dist/collection/engine.d.ts.map +1 -0
  329. package/dist/collection/engine.js +407 -0
  330. package/dist/collection/engine.js.map +1 -0
  331. package/dist/collection/format.d.ts +32 -0
  332. package/dist/collection/format.d.ts.map +1 -0
  333. package/dist/collection/format.js +70 -0
  334. package/dist/collection/format.js.map +1 -0
  335. package/dist/collection/payment-block.d.ts +24 -0
  336. package/dist/collection/payment-block.d.ts.map +1 -0
  337. package/dist/collection/payment-block.js +2 -0
  338. package/dist/collection/payment-block.js.map +1 -0
  339. package/dist/collection/policy.d.ts +53 -0
  340. package/dist/collection/policy.d.ts.map +1 -0
  341. package/dist/collection/policy.js +141 -0
  342. package/dist/collection/policy.js.map +1 -0
  343. package/dist/collection/repository.d.ts +129 -0
  344. package/dist/collection/repository.d.ts.map +1 -0
  345. package/dist/collection/repository.js +246 -0
  346. package/dist/collection/repository.js.map +1 -0
  347. package/dist/collection/subject.d.ts +66 -0
  348. package/dist/collection/subject.d.ts.map +1 -0
  349. package/dist/collection/subject.js +99 -0
  350. package/dist/collection/subject.js.map +1 -0
  351. package/dist/collection/template-catalog.d.ts +16 -0
  352. package/dist/collection/template-catalog.d.ts.map +1 -0
  353. package/dist/collection/template-catalog.js +162 -0
  354. package/dist/collection/template-catalog.js.map +1 -0
  355. package/dist/collection/template.d.ts +37 -0
  356. package/dist/collection/template.d.ts.map +1 -0
  357. package/dist/collection/template.js +73 -0
  358. package/dist/collection/template.js.map +1 -0
  359. package/dist/communication/adapters/email.d.ts +28 -0
  360. package/dist/communication/adapters/email.d.ts.map +1 -0
  361. package/dist/communication/adapters/email.js +129 -0
  362. package/dist/communication/adapters/email.js.map +1 -0
  363. package/dist/communication/adapters/sms.d.ts +95 -0
  364. package/dist/communication/adapters/sms.d.ts.map +1 -0
  365. package/dist/communication/adapters/sms.js +121 -0
  366. package/dist/communication/adapters/sms.js.map +1 -0
  367. package/dist/communication/adapters/whatsapp-language.d.ts +34 -0
  368. package/dist/communication/adapters/whatsapp-language.d.ts.map +1 -0
  369. package/dist/communication/adapters/whatsapp-language.js +36 -0
  370. package/dist/communication/adapters/whatsapp-language.js.map +1 -0
  371. package/dist/communication/adapters/whatsapp-templates.d.ts +18 -0
  372. package/dist/communication/adapters/whatsapp-templates.d.ts.map +1 -0
  373. package/dist/communication/adapters/whatsapp-templates.js +97 -0
  374. package/dist/communication/adapters/whatsapp-templates.js.map +1 -0
  375. package/dist/communication/adapters/whatsapp.d.ts +29 -0
  376. package/dist/communication/adapters/whatsapp.d.ts.map +1 -0
  377. package/dist/communication/adapters/whatsapp.js +210 -0
  378. package/dist/communication/adapters/whatsapp.js.map +1 -0
  379. package/dist/communication/audit.d.ts +105 -0
  380. package/dist/communication/audit.d.ts.map +1 -0
  381. package/dist/communication/audit.js +56 -0
  382. package/dist/communication/audit.js.map +1 -0
  383. package/dist/communication/capabilities.d.ts +88 -0
  384. package/dist/communication/capabilities.d.ts.map +1 -0
  385. package/dist/communication/capabilities.js +72 -0
  386. package/dist/communication/capabilities.js.map +1 -0
  387. package/dist/communication/channel.d.ts +125 -0
  388. package/dist/communication/channel.d.ts.map +1 -0
  389. package/dist/communication/channel.js +47 -0
  390. package/dist/communication/channel.js.map +1 -0
  391. package/dist/communication/claim.d.ts +368 -0
  392. package/dist/communication/claim.d.ts.map +1 -0
  393. package/dist/communication/claim.js +224 -0
  394. package/dist/communication/claim.js.map +1 -0
  395. package/dist/communication/consent.d.ts +65 -0
  396. package/dist/communication/consent.d.ts.map +1 -0
  397. package/dist/communication/consent.js +40 -0
  398. package/dist/communication/consent.js.map +1 -0
  399. package/dist/communication/context.d.ts +48 -0
  400. package/dist/communication/context.d.ts.map +1 -0
  401. package/dist/communication/context.js +41 -0
  402. package/dist/communication/context.js.map +1 -0
  403. package/dist/communication/credentials.d.ts +74 -0
  404. package/dist/communication/credentials.d.ts.map +1 -0
  405. package/dist/communication/credentials.js +115 -0
  406. package/dist/communication/credentials.js.map +1 -0
  407. package/dist/communication/dry-run-scenario.d.ts +37 -0
  408. package/dist/communication/dry-run-scenario.d.ts.map +1 -0
  409. package/dist/communication/dry-run-scenario.js +158 -0
  410. package/dist/communication/dry-run-scenario.js.map +1 -0
  411. package/dist/communication/dry-run.d.ts +40 -0
  412. package/dist/communication/dry-run.d.ts.map +1 -0
  413. package/dist/communication/dry-run.js +92 -0
  414. package/dist/communication/dry-run.js.map +1 -0
  415. package/dist/communication/engine.d.ts +153 -0
  416. package/dist/communication/engine.d.ts.map +1 -0
  417. package/dist/communication/engine.js +480 -0
  418. package/dist/communication/engine.js.map +1 -0
  419. package/dist/communication/graph.d.ts +38 -0
  420. package/dist/communication/graph.d.ts.map +1 -0
  421. package/dist/communication/graph.js +45 -0
  422. package/dist/communication/graph.js.map +1 -0
  423. package/dist/communication/idempotency.d.ts +33 -0
  424. package/dist/communication/idempotency.d.ts.map +1 -0
  425. package/dist/communication/idempotency.js +23 -0
  426. package/dist/communication/idempotency.js.map +1 -0
  427. package/dist/communication/identity.d.ts +127 -0
  428. package/dist/communication/identity.d.ts.map +1 -0
  429. package/dist/communication/identity.js +105 -0
  430. package/dist/communication/identity.js.map +1 -0
  431. package/dist/communication/index.d.ts +66 -0
  432. package/dist/communication/index.d.ts.map +1 -0
  433. package/dist/communication/index.js +42 -0
  434. package/dist/communication/index.js.map +1 -0
  435. package/dist/communication/onboarding.d.ts +223 -0
  436. package/dist/communication/onboarding.d.ts.map +1 -0
  437. package/dist/communication/onboarding.js +287 -0
  438. package/dist/communication/onboarding.js.map +1 -0
  439. package/dist/communication/policy.d.ts +99 -0
  440. package/dist/communication/policy.d.ts.map +1 -0
  441. package/dist/communication/policy.js +13 -0
  442. package/dist/communication/policy.js.map +1 -0
  443. package/dist/communication/routing.d.ts +99 -0
  444. package/dist/communication/routing.d.ts.map +1 -0
  445. package/dist/communication/routing.js +73 -0
  446. package/dist/communication/routing.js.map +1 -0
  447. package/dist/communication/sender-profile.d.ts +100 -0
  448. package/dist/communication/sender-profile.d.ts.map +1 -0
  449. package/dist/communication/sender-profile.js +123 -0
  450. package/dist/communication/sender-profile.js.map +1 -0
  451. package/dist/communication/status.d.ts +48 -0
  452. package/dist/communication/status.d.ts.map +1 -0
  453. package/dist/communication/status.js +79 -0
  454. package/dist/communication/status.js.map +1 -0
  455. package/dist/communication/stores/onboarding.d.ts +88 -0
  456. package/dist/communication/stores/onboarding.d.ts.map +1 -0
  457. package/dist/communication/stores/onboarding.js +127 -0
  458. package/dist/communication/stores/onboarding.js.map +1 -0
  459. package/dist/communication/stores/postgres.d.ts +81 -0
  460. package/dist/communication/stores/postgres.d.ts.map +1 -0
  461. package/dist/communication/stores/postgres.js +453 -0
  462. package/dist/communication/stores/postgres.js.map +1 -0
  463. package/dist/communication/stores/routing.d.ts +169 -0
  464. package/dist/communication/stores/routing.d.ts.map +1 -0
  465. package/dist/communication/stores/routing.js +324 -0
  466. package/dist/communication/stores/routing.js.map +1 -0
  467. package/dist/communication/stores/secrets.d.ts +89 -0
  468. package/dist/communication/stores/secrets.d.ts.map +1 -0
  469. package/dist/communication/stores/secrets.js +122 -0
  470. package/dist/communication/stores/secrets.js.map +1 -0
  471. package/dist/communication/template-provider.d.ts +85 -0
  472. package/dist/communication/template-provider.d.ts.map +1 -0
  473. package/dist/communication/template-provider.js +21 -0
  474. package/dist/communication/template-provider.js.map +1 -0
  475. package/dist/communication/template.d.ts +87 -0
  476. package/dist/communication/template.d.ts.map +1 -0
  477. package/dist/communication/template.js +59 -0
  478. package/dist/communication/template.js.map +1 -0
  479. package/dist/communication/webhook-subscription.d.ts +156 -0
  480. package/dist/communication/webhook-subscription.d.ts.map +1 -0
  481. package/dist/communication/webhook-subscription.js +252 -0
  482. package/dist/communication/webhook-subscription.js.map +1 -0
  483. package/dist/communication/webhook.d.ts +121 -0
  484. package/dist/communication/webhook.d.ts.map +1 -0
  485. package/dist/communication/webhook.js +283 -0
  486. package/dist/communication/webhook.js.map +1 -0
  487. package/dist/competence/repository.d.ts +147 -0
  488. package/dist/competence/repository.d.ts.map +1 -0
  489. package/dist/competence/repository.js +294 -0
  490. package/dist/competence/repository.js.map +1 -0
  491. package/dist/contacts/phone.d.ts +70 -0
  492. package/dist/contacts/phone.d.ts.map +1 -0
  493. package/dist/contacts/phone.js +186 -0
  494. package/dist/contacts/phone.js.map +1 -0
  495. package/dist/db/migrate.js +17 -11
  496. package/dist/db/migrate.js.map +1 -1
  497. package/dist/db/seed-catalog.d.ts +18 -0
  498. package/dist/db/seed-catalog.d.ts.map +1 -0
  499. package/dist/db/seed-catalog.js +45 -0
  500. package/dist/db/seed-catalog.js.map +1 -0
  501. package/dist/db/seed.js +16 -8
  502. package/dist/db/seed.js.map +1 -1
  503. package/dist/documents/repository.d.ts +97 -0
  504. package/dist/documents/repository.d.ts.map +1 -0
  505. package/dist/documents/repository.js +236 -0
  506. package/dist/documents/repository.js.map +1 -0
  507. package/dist/documents/requests.d.ts +73 -0
  508. package/dist/documents/requests.d.ts.map +1 -0
  509. package/dist/documents/requests.js +127 -0
  510. package/dist/documents/requests.js.map +1 -0
  511. package/dist/index.d.ts +113 -13
  512. package/dist/index.d.ts.map +1 -1
  513. package/dist/index.js +104 -8
  514. package/dist/index.js.map +1 -1
  515. package/dist/legal/company.d.ts +32 -0
  516. package/dist/legal/company.d.ts.map +1 -0
  517. package/dist/legal/company.js +33 -0
  518. package/dist/legal/company.js.map +1 -0
  519. package/dist/legal/documents.d.ts +30 -0
  520. package/dist/legal/documents.d.ts.map +1 -0
  521. package/dist/legal/documents.js +666 -0
  522. package/dist/legal/documents.js.map +1 -0
  523. package/dist/legal/index.d.ts +5 -0
  524. package/dist/legal/index.d.ts.map +1 -0
  525. package/dist/legal/index.js +4 -0
  526. package/dist/legal/index.js.map +1 -0
  527. package/dist/legal/types.d.ts +145 -0
  528. package/dist/legal/types.d.ts.map +1 -0
  529. package/dist/legal/types.js +31 -0
  530. package/dist/legal/types.js.map +1 -0
  531. package/dist/mail/auth-templates.d.ts +15 -0
  532. package/dist/mail/auth-templates.d.ts.map +1 -0
  533. package/dist/mail/auth-templates.js +26 -0
  534. package/dist/mail/auth-templates.js.map +1 -0
  535. package/dist/mail/dedup-store.d.ts +1 -24
  536. package/dist/mail/dedup-store.d.ts.map +1 -1
  537. package/dist/mail/dedup-store.js +9 -48
  538. package/dist/mail/dedup-store.js.map +1 -1
  539. package/dist/mail/index.d.ts +2 -1
  540. package/dist/mail/index.d.ts.map +1 -1
  541. package/dist/mail/index.js +13 -2
  542. package/dist/mail/index.js.map +1 -1
  543. package/dist/mail/provider.d.ts +2 -30
  544. package/dist/mail/provider.d.ts.map +1 -1
  545. package/dist/mail/provider.js +10 -246
  546. package/dist/mail/provider.js.map +1 -1
  547. package/dist/mail/resend.d.ts +2 -12
  548. package/dist/mail/resend.d.ts.map +1 -1
  549. package/dist/mail/resend.js +11 -17
  550. package/dist/mail/resend.js.map +1 -1
  551. package/dist/mail/sender-resolver.d.ts +1 -7
  552. package/dist/mail/sender-resolver.d.ts.map +1 -1
  553. package/dist/mail/sender-resolver.js +11 -10
  554. package/dist/mail/sender-resolver.js.map +1 -1
  555. package/dist/mail/template-renderer.d.ts +1 -9
  556. package/dist/mail/template-renderer.d.ts.map +1 -1
  557. package/dist/mail/template-renderer.js +10 -15
  558. package/dist/mail/template-renderer.js.map +1 -1
  559. package/dist/mail/transactional-outbound.d.ts +115 -0
  560. package/dist/mail/transactional-outbound.d.ts.map +1 -0
  561. package/dist/mail/transactional-outbound.js +113 -0
  562. package/dist/mail/transactional-outbound.js.map +1 -0
  563. package/dist/mail/types.d.ts +2 -142
  564. package/dist/mail/types.d.ts.map +1 -1
  565. package/dist/mail/types.js +1 -33
  566. package/dist/mail/types.js.map +1 -1
  567. package/dist/portal/provisioning.d.ts +58 -0
  568. package/dist/portal/provisioning.d.ts.map +1 -0
  569. package/dist/portal/provisioning.js +139 -0
  570. package/dist/portal/provisioning.js.map +1 -0
  571. package/dist/pricing-engine/canonical.d.ts +14 -0
  572. package/dist/pricing-engine/canonical.d.ts.map +1 -0
  573. package/dist/pricing-engine/canonical.js +39 -0
  574. package/dist/pricing-engine/canonical.js.map +1 -0
  575. package/dist/pricing-engine/errors.d.ts.map +1 -1
  576. package/dist/pricing-engine/errors.js +6 -1
  577. package/dist/pricing-engine/errors.js.map +1 -1
  578. package/dist/pricing-engine/index.d.ts +12 -2
  579. package/dist/pricing-engine/index.d.ts.map +1 -1
  580. package/dist/pricing-engine/index.js +6 -1
  581. package/dist/pricing-engine/index.js.map +1 -1
  582. package/dist/pricing-engine/pipeline.d.ts.map +1 -1
  583. package/dist/pricing-engine/pipeline.js +202 -28
  584. package/dist/pricing-engine/pipeline.js.map +1 -1
  585. package/dist/pricing-engine/shadow-adapter.d.ts +37 -0
  586. package/dist/pricing-engine/shadow-adapter.d.ts.map +1 -0
  587. package/dist/pricing-engine/shadow-adapter.js +75 -0
  588. package/dist/pricing-engine/shadow-adapter.js.map +1 -0
  589. package/dist/pricing-engine/shadow-diff.d.ts +26 -0
  590. package/dist/pricing-engine/shadow-diff.d.ts.map +1 -0
  591. package/dist/pricing-engine/shadow-diff.js +52 -0
  592. package/dist/pricing-engine/shadow-diff.js.map +1 -0
  593. package/dist/pricing-engine/shadow-facade.d.ts +42 -0
  594. package/dist/pricing-engine/shadow-facade.d.ts.map +1 -0
  595. package/dist/pricing-engine/shadow-facade.js +82 -0
  596. package/dist/pricing-engine/shadow-facade.js.map +1 -0
  597. package/dist/pricing-engine/shadow-legacy-types.d.ts +64 -0
  598. package/dist/pricing-engine/shadow-legacy-types.d.ts.map +1 -0
  599. package/dist/pricing-engine/shadow-legacy-types.js +18 -0
  600. package/dist/pricing-engine/shadow-legacy-types.js.map +1 -0
  601. package/dist/pricing-engine/shadow-metrics.d.ts +33 -0
  602. package/dist/pricing-engine/shadow-metrics.d.ts.map +1 -0
  603. package/dist/pricing-engine/shadow-metrics.js +31 -0
  604. package/dist/pricing-engine/shadow-metrics.js.map +1 -0
  605. package/dist/pricing-engine/shadow-normalizer.d.ts +17 -0
  606. package/dist/pricing-engine/shadow-normalizer.d.ts.map +1 -0
  607. package/dist/pricing-engine/shadow-normalizer.js +39 -0
  608. package/dist/pricing-engine/shadow-normalizer.js.map +1 -0
  609. package/dist/pricing-engine/types.d.ts +2 -0
  610. package/dist/pricing-engine/types.d.ts.map +1 -1
  611. package/dist/rbac/authorize.d.ts +12 -0
  612. package/dist/rbac/authorize.d.ts.map +1 -1
  613. package/dist/rbac/authorize.js +27 -0
  614. package/dist/rbac/authorize.js.map +1 -1
  615. package/dist/rbac/catalog.d.ts.map +1 -1
  616. package/dist/rbac/catalog.js +67 -1
  617. package/dist/rbac/catalog.js.map +1 -1
  618. package/dist/rbac/workload-provisioning.d.ts +66 -0
  619. package/dist/rbac/workload-provisioning.d.ts.map +1 -0
  620. package/dist/rbac/workload-provisioning.js +153 -0
  621. package/dist/rbac/workload-provisioning.js.map +1 -0
  622. package/dist/rbac/workload.d.ts +124 -0
  623. package/dist/rbac/workload.d.ts.map +1 -0
  624. package/dist/rbac/workload.js +184 -0
  625. package/dist/rbac/workload.js.map +1 -0
  626. package/dist/storage/checksum.d.ts +9 -0
  627. package/dist/storage/checksum.d.ts.map +1 -0
  628. package/dist/storage/checksum.js +12 -0
  629. package/dist/storage/checksum.js.map +1 -0
  630. package/dist/storage/key.d.ts +37 -0
  631. package/dist/storage/key.d.ts.map +1 -0
  632. package/dist/storage/key.js +67 -0
  633. package/dist/storage/key.js.map +1 -0
  634. package/dist/storage/local.d.ts +40 -0
  635. package/dist/storage/local.d.ts.map +1 -0
  636. package/dist/storage/local.js +96 -0
  637. package/dist/storage/local.js.map +1 -0
  638. package/dist/storage/r2.d.ts +43 -0
  639. package/dist/storage/r2.d.ts.map +1 -0
  640. package/dist/storage/r2.js +177 -0
  641. package/dist/storage/r2.js.map +1 -0
  642. package/dist/storage/registry.d.ts +23 -0
  643. package/dist/storage/registry.d.ts.map +1 -0
  644. package/dist/storage/registry.js +37 -0
  645. package/dist/storage/registry.js.map +1 -0
  646. package/dist/storage/types.d.ts +67 -0
  647. package/dist/storage/types.d.ts.map +1 -0
  648. package/dist/storage/types.js +45 -0
  649. package/dist/storage/types.js.map +1 -0
  650. package/dist/subscription-billing/provider/asaas.d.ts +14 -0
  651. package/dist/subscription-billing/provider/asaas.d.ts.map +1 -1
  652. package/dist/subscription-billing/provider/asaas.js +32 -7
  653. package/dist/subscription-billing/provider/asaas.js.map +1 -1
  654. package/dist/subscription-billing/provider/disabled.d.ts +9 -0
  655. package/dist/subscription-billing/provider/disabled.d.ts.map +1 -1
  656. package/dist/subscription-billing/provider/disabled.js +8 -0
  657. package/dist/subscription-billing/provider/disabled.js.map +1 -1
  658. package/dist/subscription-billing/provider/registry.d.ts +10 -0
  659. package/dist/subscription-billing/provider/registry.d.ts.map +1 -1
  660. package/dist/subscription-billing/provider/registry.js +17 -0
  661. package/dist/subscription-billing/provider/registry.js.map +1 -1
  662. package/dist/subscription-billing/service.d.ts +17 -1
  663. package/dist/subscription-billing/service.d.ts.map +1 -1
  664. package/dist/subscription-billing/service.js +57 -8
  665. package/dist/subscription-billing/service.js.map +1 -1
  666. package/dist/subscription-billing/types.d.ts +13 -0
  667. package/dist/subscription-billing/types.d.ts.map +1 -1
  668. package/dist/subscription-billing/types.js.map +1 -1
  669. package/dist/tenancy/provisioning.d.ts.map +1 -1
  670. package/dist/tenancy/provisioning.js +32 -8
  671. package/dist/tenancy/provisioning.js.map +1 -1
  672. package/dist/users/repository.d.ts +38 -0
  673. package/dist/users/repository.d.ts.map +1 -1
  674. package/dist/users/repository.js +118 -3
  675. package/dist/users/repository.js.map +1 -1
  676. package/dist/vault/repository.d.ts +67 -0
  677. package/dist/vault/repository.d.ts.map +1 -1
  678. package/dist/vault/repository.js +78 -0
  679. package/dist/vault/repository.js.map +1 -1
  680. package/package.json +19 -4
  681. package/src/db/migrations/0023_user_invite_activation.sql +15 -0
  682. package/src/db/migrations/0024_set_user_password_function.sql +32 -0
  683. package/src/db/migrations/0025_revoke_user_session_function.sql +28 -0
  684. package/src/db/migrations/0026_documents_and_competence.sql +353 -0
  685. package/src/db/migrations/0027_receivable_client_isolation.sql +58 -0
  686. package/src/db/migrations/0028_collection_engine.sql +94 -0
  687. package/src/db/migrations/0029_payment_rail.sql +107 -0
  688. package/src/db/migrations/0030_provider_account_uniqueness.sql +22 -0
  689. package/src/db/migrations/0031_provider_account_environment_scope.sql +21 -0
  690. package/src/db/migrations/0032_settlement_reversal.sql +76 -0
  691. package/src/db/migrations/0033_receivable_idempotency.sql +28 -0
  692. package/src/db/migrations/0034_payment_customer_reconcile.sql +30 -0
  693. package/src/db/migrations/0035_payment_account_environments.sql +61 -0
  694. package/src/db/migrations/0036_primary_backfill_under_force_rls.sql +41 -0
  695. package/src/db/migrations/0037_receivable_generation_source.sql +29 -0
  696. package/src/db/migrations/0038_notification_channels.sql +175 -0
  697. package/src/db/migrations/0039_communication_dispatch_claim.sql +193 -0
  698. package/src/db/migrations/0040_communication_unknown_outcome.sql +99 -0
  699. package/src/db/migrations/0041_channel_binding_routing.sql +146 -0
  700. package/src/db/migrations/0042_channel_route_read_isolation.sql +165 -0
  701. package/src/db/migrations/0043_workload_identity.sql +105 -0
  702. package/src/db/migrations/0044_channel_onboarding_session.sql +96 -0
  703. package/dist/cjs/mail/resend-client.js +0 -103
  704. package/dist/cjs/mail/resend-client.js.map +0 -1
  705. package/dist/mail/resend-client.d.ts +0 -16
  706. package/dist/mail/resend-client.d.ts.map +0 -1
  707. package/dist/mail/resend-client.js +0 -100
  708. package/dist/mail/resend-client.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ar-repository.js","sourceRoot":"","sources":["../../../src/billing/ar-repository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,186 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.competenceFor = competenceFor;
4
+ exports.previewAutoGeneration = previewAutoGeneration;
5
+ exports.runAutoGeneration = runAutoGeneration;
6
+ const audit_js_1 = require("../audit/audit.js");
7
+ const ar_repository_js_1 = require("./ar-repository.js");
8
+ /**
9
+ * Geração automática dos recebíveis recorrentes.
10
+ *
11
+ * O escritório não deve depender de alguém lembrar de apertar um botão todo mês
12
+ * para que os honorários virem dívida cobrável. Este módulo é o gatilho
13
+ * automático — e nada além do gatilho: quem gera é
14
+ * `generateReceivablesForCompetence`, exatamente o mesmo motor que a ação
15
+ * "Gerar competência manualmente" chama.
16
+ *
17
+ * Isso é deliberado e não negociável. Duas implementações da mesma regra
18
+ * divergiriam no primeiro caso de borda, e a divergência apareceria como dois
19
+ * valores diferentes para a mesma dívida do mesmo cliente. Aqui só existem duas
20
+ * coisas que o manual não tem: QUAL competência processar (o manual pergunta ao
21
+ * operador; o automático deriva do calendário) e a marca de procedência.
22
+ *
23
+ * Fronteira dura com o provider: nada neste arquivo fala com gateway de
24
+ * pagamento. Gerar recebível é registrar que o cliente DEVE; emitir cobrança é
25
+ * outro passo, com outras grades (`live-guard.ts`). Um não implica o outro, e é
26
+ * por isso que a automação pode ser ligada com a emissão live desligada.
27
+ */
28
+ // ── Competência a partir do calendário ───────────────────────────────────────
29
+ const ISO_DATE_RE = /^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$/;
30
+ /**
31
+ * A competência que o automático processa em `today`: a CORRENTE, e só ela.
32
+ *
33
+ * Deliberadamente míope. A alternativa — varrer para trás procurando
34
+ * competências não geradas — transformaria a primeira execução do scheduler num
35
+ * backfill: dezenas de meses de dívida nascendo de uma vez para clientes que
36
+ * nunca foram cobrados por eles, cada um já vencido, cada um disparando a régua
37
+ * inteira no mesmo dia. Backfill histórico é operação separada, explícita e
38
+ * autorizada — nunca efeito colateral de ligar um cron.
39
+ *
40
+ * A recuperação de falha continua existindo, dentro do mês: o job roda todo dia
41
+ * e é idempotente, então cair na terça e voltar na quarta não perde nada.
42
+ */
43
+ function competenceFor(today) {
44
+ if (!ISO_DATE_RE.test(today)) {
45
+ throw new Error('Data de referência deve estar no formato YYYY-MM-DD');
46
+ }
47
+ return today.slice(0, 7);
48
+ }
49
+ const isoDay = (d) => (d ? d.toISOString().slice(0, 10) : null);
50
+ /**
51
+ * Read-only por construção: só um SELECT, nenhuma escrita, nenhum lock.
52
+ *
53
+ * Tenant-scoped por RLS, como todo o resto do core — rodar isto exige
54
+ * `withContext`, e o que ele enxerga é o recorte de um tenant só.
55
+ */
56
+ async function previewAutoGeneration(tx, today) {
57
+ const competence = competenceFor(today);
58
+ (0, ar_repository_js_1.assertCompetence)(competence);
59
+ const fees = await tx `
60
+ SELECT f.id, f.periodicity, f.status, f.due_day, f.starts_on, f.ends_on,
61
+ EXISTS (
62
+ SELECT 1 FROM receivable r
63
+ WHERE r.fee_agreement_id = f.id
64
+ AND r.competence = ${competence}
65
+ AND r.deleted_at IS NULL
66
+ ) AS has_receivable
67
+ FROM fee_agreement f
68
+ WHERE f.deleted_at IS NULL
69
+ `;
70
+ const preview = {
71
+ competence,
72
+ agreements: fees.length,
73
+ eligible: 0,
74
+ wouldCreate: 0,
75
+ wouldSkipExisting: 0,
76
+ wouldSkipSuspended: 0,
77
+ wouldSkipCanceled: 0,
78
+ wouldSkipOutOfTerm: 0,
79
+ wouldSkipOffCycle: 0,
80
+ wouldCreateAlreadyOverdue: 0,
81
+ };
82
+ for (const fee of fees) {
83
+ const verdict = (0, ar_repository_js_1.classifyFeeForCompetence)({
84
+ periodicity: fee.periodicity,
85
+ status: fee.status,
86
+ startsOn: isoDay(fee.starts_on),
87
+ endsOn: isoDay(fee.ends_on),
88
+ }, competence);
89
+ switch (verdict) {
90
+ case 'eligible':
91
+ preview.eligible += 1;
92
+ if (fee.has_receivable) {
93
+ preview.wouldSkipExisting += 1;
94
+ }
95
+ else {
96
+ preview.wouldCreate += 1;
97
+ if ((0, ar_repository_js_1.dueDateFor)(competence, fee.due_day) < today) {
98
+ preview.wouldCreateAlreadyOverdue += 1;
99
+ }
100
+ }
101
+ break;
102
+ case 'suspended':
103
+ preview.wouldSkipSuspended += 1;
104
+ break;
105
+ case 'canceled':
106
+ preview.wouldSkipCanceled += 1;
107
+ break;
108
+ case 'before_term':
109
+ case 'after_term':
110
+ preview.wouldSkipOutOfTerm += 1;
111
+ break;
112
+ default:
113
+ preview.wouldSkipOffCycle += 1;
114
+ break;
115
+ }
116
+ }
117
+ return preview;
118
+ }
119
+ /**
120
+ * Chave do advisory lock: uma por (tenant, competência).
121
+ *
122
+ * `hashtext` do Postgres, não um hash nosso, porque a chave precisa ser a mesma
123
+ * em qualquer processo — e um hash em JS ficaria refém da versão do runtime que
124
+ * cada instância está rodando.
125
+ */
126
+ async function tryLock(tx, competence) {
127
+ const rows = await tx `
128
+ SELECT pg_try_advisory_xact_lock(
129
+ hashtext('auto-receivable-generation'),
130
+ hashtext(current_setting('app.current_tenant', true) || ':' || ${competence})
131
+ ) AS locked
132
+ `;
133
+ return rows[0]?.locked === true;
134
+ }
135
+ /**
136
+ * Gera a competência corrente do tenant, marcando a procedência e auditando.
137
+ *
138
+ * Três camadas contra duplicidade, nesta ordem de confiança:
139
+ *
140
+ * 1. O índice único parcial `(tenant, fee_agreement, competence)` — a garantia
141
+ * REAL. Vale contra tudo: dois crons, retry, redeploy, manual concorrente,
142
+ * e contra qualquer caminho de código que ainda nem foi escrito.
143
+ * 2. O `ON CONFLICT DO NOTHING` no INSERT, que transforma a violação em "pular"
144
+ * em vez de derrubar o lote inteiro por causa de um acordo.
145
+ * 3. O advisory lock daqui, que é só economia: evita que duas instâncias
146
+ * percorram os mesmos acordos para descobrir, uma a uma, que não há nada a
147
+ * fazer. Se ele falhasse por completo, o resultado continuaria correto.
148
+ *
149
+ * A ordem importa para quem for mexer nisto depois: nunca troque (1) por (3). Um
150
+ * lock protege contra concorrência que ele consegue observar; a constraint
151
+ * protege contra a que ninguém previu.
152
+ */
153
+ async function runAutoGeneration(tx, today) {
154
+ const competence = competenceFor(today);
155
+ if (!(await tryLock(tx, competence))) {
156
+ return { competence, created: [], skipped: 0, notApplicable: 0, ran: false };
157
+ }
158
+ const result = await (0, ar_repository_js_1.generateReceivablesForCompetence)(tx, {
159
+ competence,
160
+ source: 'automatic',
161
+ // Sem `createdBy`: não houve usuário. Quem responde pela linha é o
162
+ // `actor_type = 'automation'` da trilha, não um humano escolhido a esmo —
163
+ // atribuir isto ao último admin que logou seria falsificar a autoria.
164
+ createdBy: null,
165
+ });
166
+ // Auditar inclusive o lote vazio. "O cron rodou e não criou nada" e "o cron
167
+ // não rodou" produzem o mesmo estado no banco e exigem investigações opostas;
168
+ // sem esta linha, não há como distinguir os dois depois do fato.
169
+ await (0, audit_js_1.appendAudit)(tx, {
170
+ actorType: 'automation',
171
+ actorId: null,
172
+ action: 'receivables_generated_automatically',
173
+ resourceType: 'receivable',
174
+ metadata: {
175
+ competence,
176
+ created: result.created.length,
177
+ skipped: result.skipped,
178
+ notApplicable: result.notApplicable,
179
+ // Ids, não valores nem nomes: a trilha precisa permitir chegar à linha,
180
+ // não reproduzir a dívida dentro dela.
181
+ receivableIds: result.created.map((r) => r.id),
182
+ },
183
+ });
184
+ return { ...result, ran: true };
185
+ }
186
+ //# sourceMappingURL=auto-generation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-generation.js","sourceRoot":"","sources":["../../../src/billing/auto-generation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.readLiveRuntime = readLiveRuntime;
4
+ exports.assertLiveProviderAllowed = assertLiveProviderAllowed;
5
+ const shared_1 = require("@baruk/shared");
6
+ /**
7
+ * Lê o runtime a partir do ambiente do processo.
8
+ *
9
+ * `BARUK_APP_ENV` existe separado de `NODE_ENV` porque os dois respondem
10
+ * perguntas diferentes: `NODE_ENV=production` é o modo de build de QUALQUER
11
+ * deploy — inclusive homologação, inclusive um cron. Sem a distinção, o guard
12
+ * aprovaria live num ambiente de homologação, que é o caso que ele existe para
13
+ * barrar.
14
+ *
15
+ * Por isso não há mais fallback para `NODE_ENV`. Ele existia e era uma porta
16
+ * aberta: os dois cron jobs financeiros rodam com `NODE_ENV=production` e SEM
17
+ * `BARUK_APP_ENV`, então herdavam autoridade de produção por omissão — bastava
18
+ * alguém ligar o modo live para que cobrança real passasse por uma grade que
19
+ * ninguém configurou.
20
+ *
21
+ * Quem não declara não ganha permissão: ausência vira `unknown`, e `unknown`
22
+ * não é `production`. Configuração desconhecida bloqueia; nunca autoriza.
23
+ */
24
+ function readLiveRuntime(env = process.env) {
25
+ return {
26
+ appEnv: env.BARUK_APP_ENV?.trim() || 'unknown',
27
+ // `VITEST` é posto pelo próprio runner. Depender só de `NODE_ENV=test`
28
+ // deixaria passar uma suíte rodada sem essa variável — e o custo do engano
29
+ // aqui é cobrança real emitida por um teste.
30
+ isTestRunner: env.NODE_ENV === 'test' || Boolean(env.VITEST) || Boolean(env.JEST_WORKER_ID),
31
+ liveChargesDisabled: isTruthy(env.BARUK_LIVE_CHARGES_DISABLED),
32
+ liveChargeAllowScope: env.BARUK_LIVE_CHARGE_ALLOW_SCOPE?.trim() || null,
33
+ };
34
+ }
35
+ function isTruthy(v) {
36
+ return v === '1' || v?.toLowerCase() === 'true';
37
+ }
38
+ /**
39
+ * Esta aplicação pode falar com esta conta, para esta ação?
40
+ *
41
+ * `resolve` cobre qualquer uso do adapter — inclusive receber webhook, que uma
42
+ * aplicação de homologação não deve processar de uma conta live. `charge` é mais
43
+ * estrito: soma a chave geral, porque pausar emissão nova não pode significar
44
+ * parar de reconhecer o dinheiro que já entrou.
45
+ */
46
+ function assertLiveProviderAllowed(environment, runtime, action, scope) {
47
+ if (environment !== 'live')
48
+ return;
49
+ if (runtime.isTestRunner) {
50
+ throw new shared_1.ValidationError('Teste automatizado não opera conta de pagamento em produção. ' +
51
+ 'Use uma conta `sandbox` no cenário.');
52
+ }
53
+ if (runtime.appEnv !== 'production') {
54
+ throw new shared_1.ValidationError(`Esta aplicação está declarada como "${runtime.appEnv}" e não pode usar a conta de ` +
55
+ 'pagamento em produção. Conta `live` só opera em ambiente de produção.');
56
+ }
57
+ if (action === 'charge' && runtime.liveChargesDisabled) {
58
+ // Exceção nomeada: a chave geral continua ARMADA, e exatamente uma operação
59
+ // passa. Vem DEPOIS das checagens de ambiente e de test runner de propósito
60
+ // — nomear um escopo não pode comprar autoridade que a aplicação não tem.
61
+ // Comparação estrita e sem default: escopo vazio dos dois lados não casa,
62
+ // senão "não configurado" viraria "tudo liberado".
63
+ if (runtime.liveChargeAllowScope && scope && scope === runtime.liveChargeAllowScope) {
64
+ return;
65
+ }
66
+ // Conflito, não erro de validação: não há nada errado com o pedido — a
67
+ // emissão está pausada por decisão operacional, e volta quando for religada.
68
+ throw new shared_1.ConflictError('A emissão de cobranças em produção está temporariamente pausada. ' +
69
+ 'Consultas, pagamentos e baixas seguem funcionando normalmente.', { code: 'LIVE_CHARGES_DISABLED' });
70
+ }
71
+ }
72
+ //# sourceMappingURL=live-guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live-guard.js","sourceRoot":"","sources":["../../../src/billing/live-guard.ts"],"names":[],"mappings":";;AAwDA,0CAUC;AAgBD,8DAuCC;AAzHD,0CAA+D;AAsC/D;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAgB,eAAe,CAAC,MAAyB,OAAO,CAAC,GAAG;IAClE,OAAO;QACL,MAAM,EAAE,GAAG,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,SAAS;QAC9C,uEAAuE;QACvE,2EAA2E;QAC3E,6CAA6C;QAC7C,YAAY,EAAE,GAAG,CAAC,QAAQ,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;QAC3F,mBAAmB,EAAE,QAAQ,CAAC,GAAG,CAAC,2BAA2B,CAAC;QAC9D,oBAAoB,EAAE,GAAG,CAAC,6BAA6B,EAAE,IAAI,EAAE,IAAI,IAAI;KACxE,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,CAAqB;IACrC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,WAAW,EAAE,KAAK,MAAM,CAAC;AAClD,CAAC;AAID;;;;;;;GAOG;AACH,SAAgB,yBAAyB,CACvC,WAAmB,EACnB,OAAoB,EACpB,MAAuB,EACvB,KAAqB;IAErB,IAAI,WAAW,KAAK,MAAM;QAAE,OAAO;IAEnC,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACzB,MAAM,IAAI,wBAAe,CACvB,+DAA+D;YAC7D,qCAAqC,CACxC,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;QACpC,MAAM,IAAI,wBAAe,CACvB,uCAAuC,OAAO,CAAC,MAAM,+BAA+B;YAClF,uEAAuE,CAC1E,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;QACvD,4EAA4E;QAC5E,4EAA4E;QAC5E,0EAA0E;QAC1E,0EAA0E;QAC1E,mDAAmD;QACnD,IAAI,OAAO,CAAC,oBAAoB,IAAI,KAAK,IAAI,KAAK,KAAK,OAAO,CAAC,oBAAoB,EAAE,CAAC;YACpF,OAAO;QACT,CAAC;QACD,uEAAuE;QACvE,6EAA6E;QAC7E,MAAM,IAAI,sBAAa,CACrB,mEAAmE;YACjE,gEAAgE,EAClE,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAClC,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.availableMeansOf = availableMeansOf;
4
+ exports.meanLabel = meanLabel;
5
+ function availableMeansOf(instructions) {
6
+ if (!instructions)
7
+ return [];
8
+ const has = (k) => Boolean(instructions[k]);
9
+ const means = [];
10
+ if (has('pixPayload') || has('pixQrCodeImage'))
11
+ means.push('pix');
12
+ // `bankSlipUrl` é o nome do Asaas e `boletoUrl` o nome do contrato interno.
13
+ // Cobranças emitidas antes da normalização guardaram o primeiro; ignorá-lo
14
+ // faria o boleto sumir da tela para quem já tem um.
15
+ if (has('boletoUrl') || has('bankSlipUrl') || has('identificationField'))
16
+ means.push('boleto');
17
+ if (has('invoiceUrl'))
18
+ means.push('link');
19
+ return means;
20
+ }
21
+ const LABEL = { pix: 'PIX', boleto: 'Boleto', link: 'Link' };
22
+ function meanLabel(m) {
23
+ return LABEL[m];
24
+ }
25
+ //# sourceMappingURL=payment-means-catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payment-means-catalog.js","sourceRoot":"","sources":["../../../src/billing/payment-means-catalog.ts"],"names":[],"mappings":";;AAeA,4CAWC;AAID,8BAEC;AAjBD,SAAgB,gBAAgB,CAAC,YAA4C;IAC3E,IAAI,CAAC,YAAY;QAAE,OAAO,EAAE,CAAC;IAC7B,MAAM,GAAG,GAAG,CAAC,CAAS,EAAW,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAkB,EAAE,CAAC;IAChC,IAAI,GAAG,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,gBAAgB,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClE,4EAA4E;IAC5E,2EAA2E;IAC3E,oDAAoD;IACpD,IAAI,GAAG,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,qBAAqB,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/F,IAAI,GAAG,CAAC,YAAY,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1C,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,KAAK,GAAgC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAE1F,SAAgB,SAAS,CAAC,CAAc;IACtC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.paymentMeansOfCharge = paymentMeansOfCharge;
4
+ exports.paymentMeansForReceivable = paymentMeansForReceivable;
5
+ const payment_rail_js_1 = require("./payment-rail.js");
6
+ /**
7
+ * Converte as instruções que o gateway devolveu no bloco agnóstico de canal.
8
+ *
9
+ * Devolve `null` quando não há **nenhum** meio de pagamento: um bloco vazio
10
+ * renderizaria um "Pagar agora" que não paga, o que é pior que não mostrar nada.
11
+ */
12
+ function paymentMeansOfCharge(charge, opts) {
13
+ const i = charge.instructions;
14
+ const block = {
15
+ url: i.invoiceUrl,
16
+ pixPayload: i.pixPayload,
17
+ // URL pública em vez do base64, pela razão registrada em `PaymentMeansOptions`.
18
+ pixQrCodeImage: i.pixQrCodeImage
19
+ ? `${opts.publicApiBase}/v1/billing/charges/${opts.tenantId}/${charge.id}/pix-qr.png`
20
+ : undefined,
21
+ boletoUrl: i.boletoUrl,
22
+ identificationField: i.identificationField,
23
+ };
24
+ return Object.values(block).some(Boolean) ? block : null;
25
+ }
26
+ /** Meios de pagamento da cobrança VIVA de um recebível, se houver alguma. */
27
+ async function paymentMeansForReceivable(tx, receivableId, opts) {
28
+ const charge = await (0, payment_rail_js_1.findActiveCharge)(tx, receivableId);
29
+ if (!charge)
30
+ return null;
31
+ return paymentMeansOfCharge(charge, opts);
32
+ }
33
+ //# sourceMappingURL=payment-means.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payment-means.js","sourceRoot":"","sources":["../../../src/billing/payment-means.ts"],"names":[],"mappings":";;AAqCA,oDAgBC;AAGD,8DAQC;AA9DD,uDAAyE;AA6BzE;;;;;GAKG;AACH,SAAgB,oBAAoB,CAClC,MAAkD,EAClD,IAAyB;IAEzB,MAAM,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC;IAC9B,MAAM,KAAK,GAAiB;QAC1B,GAAG,EAAE,CAAC,CAAC,UAAU;QACjB,UAAU,EAAE,CAAC,CAAC,UAAU;QACxB,gFAAgF;QAChF,cAAc,EAAE,CAAC,CAAC,cAAc;YAC9B,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,uBAAuB,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,EAAE,aAAa;YACrF,CAAC,CAAC,SAAS;QACb,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,mBAAmB,EAAE,CAAC,CAAC,mBAAmB;KAC3C,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3D,CAAC;AAED,6EAA6E;AACtE,KAAK,UAAU,yBAAyB,CAC7C,EAAM,EACN,YAAoB,EACpB,IAAyB;IAEzB,MAAM,MAAM,GAAG,MAAM,IAAA,kCAAgB,EAAC,EAAE,EAAE,YAAY,CAAC,CAAC;IACxD,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,OAAO,oBAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC5C,CAAC"}