@noodleseed/one 0.47.0 → 0.49.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 (270) hide show
  1. package/dist/commands/archive-ops.js +1 -1
  2. package/dist/commands/archive-ops.js.map +1 -1
  3. package/dist/commands/assistant-ops.d.ts.map +1 -1
  4. package/dist/commands/assistant-ops.js +65 -1
  5. package/dist/commands/assistant-ops.js.map +1 -1
  6. package/dist/commands/billing-admission-output.d.ts +16 -0
  7. package/dist/commands/billing-admission-output.d.ts.map +1 -0
  8. package/dist/commands/billing-admission-output.js +40 -0
  9. package/dist/commands/billing-admission-output.js.map +1 -0
  10. package/dist/commands/billing-enforcement-activation-args.d.ts +40 -0
  11. package/dist/commands/billing-enforcement-activation-args.d.ts.map +1 -0
  12. package/dist/commands/billing-enforcement-activation-args.js +125 -0
  13. package/dist/commands/billing-enforcement-activation-args.js.map +1 -0
  14. package/dist/commands/billing-enforcement-activation-files.d.ts +11 -0
  15. package/dist/commands/billing-enforcement-activation-files.d.ts.map +1 -0
  16. package/dist/commands/billing-enforcement-activation-files.js +54 -0
  17. package/dist/commands/billing-enforcement-activation-files.js.map +1 -0
  18. package/dist/commands/billing-enforcement-activation-ops.d.ts +2 -0
  19. package/dist/commands/billing-enforcement-activation-ops.d.ts.map +1 -0
  20. package/dist/commands/billing-enforcement-activation-ops.js +283 -0
  21. package/dist/commands/billing-enforcement-activation-ops.js.map +1 -0
  22. package/dist/commands/billing-enforcement-ops.d.ts.map +1 -1
  23. package/dist/commands/billing-enforcement-ops.js +5 -1
  24. package/dist/commands/billing-enforcement-ops.js.map +1 -1
  25. package/dist/commands/billing-read-ops.d.ts.map +1 -1
  26. package/dist/commands/billing-read-ops.js +15 -3
  27. package/dist/commands/billing-read-ops.js.map +1 -1
  28. package/dist/commands/billing-read-view.d.ts +40 -1
  29. package/dist/commands/billing-read-view.d.ts.map +1 -1
  30. package/dist/commands/billing-read-view.js +50 -0
  31. package/dist/commands/billing-read-view.js.map +1 -1
  32. package/dist/commands/catalog-data-resources.d.ts.map +1 -1
  33. package/dist/commands/catalog-data-resources.js +15 -4
  34. package/dist/commands/catalog-data-resources.js.map +1 -1
  35. package/dist/commands/deploy-ops.d.ts +1 -0
  36. package/dist/commands/deploy-ops.d.ts.map +1 -1
  37. package/dist/commands/deploy-ops.js +5 -0
  38. package/dist/commands/deploy-ops.js.map +1 -1
  39. package/dist/commands/deploy-status-ops.js +1 -1
  40. package/dist/commands/deploy-status-ops.js.map +1 -1
  41. package/dist/commands/mcp-apps-chatgpt.js +4 -4
  42. package/dist/commands/mcp-apps-chatgpt.js.map +1 -1
  43. package/dist/commands/shared.d.ts.map +1 -1
  44. package/dist/commands/shared.js +13 -0
  45. package/dist/commands/shared.js.map +1 -1
  46. package/dist/deploy.d.ts +1 -0
  47. package/dist/deploy.d.ts.map +1 -1
  48. package/dist/deploy.js +5 -1
  49. package/dist/deploy.js.map +1 -1
  50. package/node_modules/@noodle-borg/agent-kit/dist/generated/example-files.js +1 -1
  51. package/node_modules/@noodle-borg/agent-kit/dist/generated/example-files.js.map +1 -1
  52. package/node_modules/@noodle-borg/agent-kit/dist/skill-authoring-refs.js +1 -1
  53. package/node_modules/@noodle-borg/agent-kit/dist/skill-authoring-refs.js.map +1 -1
  54. package/node_modules/@noodle-borg/agent-kit/dist/skill-embedded-assistant-ref.d.ts.map +1 -1
  55. package/node_modules/@noodle-borg/agent-kit/dist/skill-embedded-assistant-ref.js +9 -1
  56. package/node_modules/@noodle-borg/agent-kit/dist/skill-embedded-assistant-ref.js.map +1 -1
  57. package/node_modules/@noodle-borg/agent-kit/package.json +1 -1
  58. package/node_modules/@noodle-borg/protocol/dist/mapping.d.ts.map +1 -1
  59. package/node_modules/@noodle-borg/protocol/dist/mapping.js +42 -1
  60. package/node_modules/@noodle-borg/protocol/dist/mapping.js.map +1 -1
  61. package/node_modules/@noodle-borg/protocol/dist/sdk-server.d.ts.map +1 -1
  62. package/node_modules/@noodle-borg/protocol/dist/sdk-server.js +94 -4
  63. package/node_modules/@noodle-borg/protocol/dist/sdk-server.js.map +1 -1
  64. package/node_modules/@noodle-borg/protocol/dist/tool-interaction.d.ts +7 -3
  65. package/node_modules/@noodle-borg/protocol/dist/tool-interaction.d.ts.map +1 -1
  66. package/node_modules/@noodle-borg/protocol/dist/tool-interaction.js +59 -4
  67. package/node_modules/@noodle-borg/protocol/dist/tool-interaction.js.map +1 -1
  68. package/node_modules/@noodle-borg/protocol/dist/widget/action-wiring-bootstrap.d.ts +3 -0
  69. package/node_modules/@noodle-borg/protocol/dist/widget/action-wiring-bootstrap.d.ts.map +1 -0
  70. package/node_modules/@noodle-borg/protocol/dist/widget/action-wiring-bootstrap.js +17 -0
  71. package/node_modules/@noodle-borg/protocol/dist/widget/action-wiring-bootstrap.js.map +1 -0
  72. package/node_modules/@noodle-borg/protocol/dist/widget/bootstrap.d.ts.map +1 -1
  73. package/node_modules/@noodle-borg/protocol/dist/widget/bootstrap.js +8 -16
  74. package/node_modules/@noodle-borg/protocol/dist/widget/bootstrap.js.map +1 -1
  75. package/node_modules/@noodle-borg/protocol/dist/widget/interaction-bootstrap.d.ts +3 -0
  76. package/node_modules/@noodle-borg/protocol/dist/widget/interaction-bootstrap.d.ts.map +1 -0
  77. package/node_modules/@noodle-borg/protocol/dist/widget/interaction-bootstrap.js +177 -0
  78. package/node_modules/@noodle-borg/protocol/dist/widget/interaction-bootstrap.js.map +1 -0
  79. package/node_modules/@noodle-borg/runtime/dist/result.d.ts +3 -1
  80. package/node_modules/@noodle-borg/runtime/dist/result.d.ts.map +1 -1
  81. package/node_modules/@noodle-borg/runtime/dist/result.js.map +1 -1
  82. package/node_modules/@noodle-borg/runtime/dist/tool-dispatch.d.ts +10 -0
  83. package/node_modules/@noodle-borg/runtime/dist/tool-dispatch.d.ts.map +1 -1
  84. package/node_modules/@noodle-borg/runtime/dist/tool-dispatch.js +26 -1
  85. package/node_modules/@noodle-borg/runtime/dist/tool-dispatch.js.map +1 -1
  86. package/node_modules/@noodle-borg/service/dist/billing/authoritative-admission.d.ts +46 -0
  87. package/node_modules/@noodle-borg/service/dist/billing/authoritative-admission.d.ts.map +1 -0
  88. package/node_modules/@noodle-borg/service/dist/billing/authoritative-admission.js +111 -0
  89. package/node_modules/@noodle-borg/service/dist/billing/authoritative-admission.js.map +1 -0
  90. package/node_modules/@noodle-borg/service/dist/billing/commercial-enforcement-projection.d.ts +80 -0
  91. package/node_modules/@noodle-borg/service/dist/billing/commercial-enforcement-projection.d.ts.map +1 -0
  92. package/node_modules/@noodle-borg/service/dist/billing/commercial-enforcement-projection.js +2 -0
  93. package/node_modules/@noodle-borg/service/dist/billing/commercial-enforcement-projection.js.map +1 -0
  94. package/node_modules/@noodle-borg/service/dist/billing/commercial-entitlements.d.ts +18 -0
  95. package/node_modules/@noodle-borg/service/dist/billing/commercial-entitlements.d.ts.map +1 -0
  96. package/node_modules/@noodle-borg/service/dist/billing/commercial-entitlements.js +51 -0
  97. package/node_modules/@noodle-borg/service/dist/billing/commercial-entitlements.js.map +1 -0
  98. package/node_modules/@noodle-borg/service/dist/billing/enforcement-activation-support.d.ts +34 -0
  99. package/node_modules/@noodle-borg/service/dist/billing/enforcement-activation-support.d.ts.map +1 -0
  100. package/node_modules/@noodle-borg/service/dist/billing/enforcement-activation-support.js +125 -0
  101. package/node_modules/@noodle-borg/service/dist/billing/enforcement-activation-support.js.map +1 -0
  102. package/node_modules/@noodle-borg/service/dist/billing/enforcement-activation.d.ts +265 -0
  103. package/node_modules/@noodle-borg/service/dist/billing/enforcement-activation.d.ts.map +1 -0
  104. package/node_modules/@noodle-borg/service/dist/billing/enforcement-activation.js +340 -0
  105. package/node_modules/@noodle-borg/service/dist/billing/enforcement-activation.js.map +1 -0
  106. package/node_modules/@noodle-borg/service/dist/billing/enforcement-profile.d.ts +1 -1
  107. package/node_modules/@noodle-borg/service/dist/billing/integration.d.ts +15 -3
  108. package/node_modules/@noodle-borg/service/dist/billing/integration.d.ts.map +1 -1
  109. package/node_modules/@noodle-borg/service/dist/billing/integration.js +56 -3
  110. package/node_modules/@noodle-borg/service/dist/billing/integration.js.map +1 -1
  111. package/node_modules/@noodle-borg/service/dist/billing/postgres-authoritative-authority.d.ts +20 -0
  112. package/node_modules/@noodle-borg/service/dist/billing/postgres-authoritative-authority.d.ts.map +1 -0
  113. package/node_modules/@noodle-borg/service/dist/billing/postgres-authoritative-authority.js +121 -0
  114. package/node_modules/@noodle-borg/service/dist/billing/postgres-authoritative-authority.js.map +1 -0
  115. package/node_modules/@noodle-borg/service/dist/billing/postgres-commercial-enforcement-apps.d.ts +10 -0
  116. package/node_modules/@noodle-borg/service/dist/billing/postgres-commercial-enforcement-apps.d.ts.map +1 -0
  117. package/node_modules/@noodle-borg/service/dist/billing/postgres-commercial-enforcement-apps.js +33 -0
  118. package/node_modules/@noodle-borg/service/dist/billing/postgres-commercial-enforcement-apps.js.map +1 -0
  119. package/node_modules/@noodle-borg/service/dist/billing/postgres-commercial-enforcement-counters.d.ts +25 -0
  120. package/node_modules/@noodle-borg/service/dist/billing/postgres-commercial-enforcement-counters.d.ts.map +1 -0
  121. package/node_modules/@noodle-borg/service/dist/billing/postgres-commercial-enforcement-counters.js +248 -0
  122. package/node_modules/@noodle-borg/service/dist/billing/postgres-commercial-enforcement-counters.js.map +1 -0
  123. package/node_modules/@noodle-borg/service/dist/billing/postgres-commercial-enforcement-projection.d.ts +17 -0
  124. package/node_modules/@noodle-borg/service/dist/billing/postgres-commercial-enforcement-projection.d.ts.map +1 -0
  125. package/node_modules/@noodle-borg/service/dist/billing/postgres-commercial-enforcement-projection.js +278 -0
  126. package/node_modules/@noodle-borg/service/dist/billing/postgres-commercial-enforcement-projection.js.map +1 -0
  127. package/node_modules/@noodle-borg/service/dist/billing/postgres-commercial-enforcement-transaction.d.ts +7 -0
  128. package/node_modules/@noodle-borg/service/dist/billing/postgres-commercial-enforcement-transaction.d.ts.map +1 -0
  129. package/node_modules/@noodle-borg/service/dist/billing/postgres-commercial-enforcement-transaction.js +63 -0
  130. package/node_modules/@noodle-borg/service/dist/billing/postgres-commercial-enforcement-transaction.js.map +1 -0
  131. package/node_modules/@noodle-borg/service/dist/billing/postgres-enforcement-activation-locks.d.ts +6 -0
  132. package/node_modules/@noodle-borg/service/dist/billing/postgres-enforcement-activation-locks.d.ts.map +1 -0
  133. package/node_modules/@noodle-borg/service/dist/billing/postgres-enforcement-activation-locks.js +89 -0
  134. package/node_modules/@noodle-borg/service/dist/billing/postgres-enforcement-activation-locks.js.map +1 -0
  135. package/node_modules/@noodle-borg/service/dist/billing/postgres-enforcement-activation-preflight.d.ts +13 -0
  136. package/node_modules/@noodle-borg/service/dist/billing/postgres-enforcement-activation-preflight.d.ts.map +1 -0
  137. package/node_modules/@noodle-borg/service/dist/billing/postgres-enforcement-activation-preflight.js +193 -0
  138. package/node_modules/@noodle-borg/service/dist/billing/postgres-enforcement-activation-preflight.js.map +1 -0
  139. package/node_modules/@noodle-borg/service/dist/billing/postgres-enforcement-activation-schema.d.ts +4 -0
  140. package/node_modules/@noodle-borg/service/dist/billing/postgres-enforcement-activation-schema.d.ts.map +1 -0
  141. package/node_modules/@noodle-borg/service/dist/billing/postgres-enforcement-activation-schema.js +119 -0
  142. package/node_modules/@noodle-borg/service/dist/billing/postgres-enforcement-activation-schema.js.map +1 -0
  143. package/node_modules/@noodle-borg/service/dist/billing/postgres-enforcement-activation-support.d.ts +65 -0
  144. package/node_modules/@noodle-borg/service/dist/billing/postgres-enforcement-activation-support.d.ts.map +1 -0
  145. package/node_modules/@noodle-borg/service/dist/billing/postgres-enforcement-activation-support.js +159 -0
  146. package/node_modules/@noodle-borg/service/dist/billing/postgres-enforcement-activation-support.js.map +1 -0
  147. package/node_modules/@noodle-borg/service/dist/billing/postgres-enforcement-activation.d.ts +31 -0
  148. package/node_modules/@noodle-borg/service/dist/billing/postgres-enforcement-activation.d.ts.map +1 -0
  149. package/node_modules/@noodle-borg/service/dist/billing/postgres-enforcement-activation.js +247 -0
  150. package/node_modules/@noodle-borg/service/dist/billing/postgres-enforcement-activation.js.map +1 -0
  151. package/node_modules/@noodle-borg/service/dist/billing/postgres-enforcement-profile-schema.d.ts.map +1 -1
  152. package/node_modules/@noodle-borg/service/dist/billing/postgres-enforcement-profile-schema.js +40 -0
  153. package/node_modules/@noodle-borg/service/dist/billing/postgres-enforcement-profile-schema.js.map +1 -1
  154. package/node_modules/@noodle-borg/service/dist/billing/postgres-enforcement-profile.d.ts +1 -0
  155. package/node_modules/@noodle-borg/service/dist/billing/postgres-enforcement-profile.d.ts.map +1 -1
  156. package/node_modules/@noodle-borg/service/dist/billing/postgres-enforcement-profile.js +45 -22
  157. package/node_modules/@noodle-borg/service/dist/billing/postgres-enforcement-profile.js.map +1 -1
  158. package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-admission-ledger.d.ts +33 -0
  159. package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-admission-ledger.d.ts.map +1 -0
  160. package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-admission-ledger.js +158 -0
  161. package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-admission-ledger.js.map +1 -0
  162. package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-admission.d.ts +18 -0
  163. package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-admission.d.ts.map +1 -0
  164. package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-admission.js +326 -0
  165. package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-admission.js.map +1 -0
  166. package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-epochs.d.ts +2 -0
  167. package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-epochs.d.ts.map +1 -1
  168. package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-epochs.js +10 -5
  169. package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-epochs.js.map +1 -1
  170. package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-live-validation.js +3 -3
  171. package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-live-validation.js.map +1 -1
  172. package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-readiness.d.ts +3 -1
  173. package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-readiness.d.ts.map +1 -1
  174. package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-readiness.js +8 -2
  175. package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-readiness.js.map +1 -1
  176. package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-reconciliation.js +4 -4
  177. package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-reconciliation.js.map +1 -1
  178. package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-runtime.d.ts +2 -2
  179. package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-runtime.d.ts.map +1 -1
  180. package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-runtime.js.map +1 -1
  181. package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-scheduler-store.js +1 -1
  182. package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-schema.d.ts.map +1 -1
  183. package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-schema.js +27 -1
  184. package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-schema.js.map +1 -1
  185. package/node_modules/@noodle-borg/service/dist/billing/postgres-production-app-admission.d.ts +33 -0
  186. package/node_modules/@noodle-borg/service/dist/billing/postgres-production-app-admission.d.ts.map +1 -0
  187. package/node_modules/@noodle-borg/service/dist/billing/postgres-production-app-admission.js +272 -0
  188. package/node_modules/@noodle-borg/service/dist/billing/postgres-production-app-admission.js.map +1 -0
  189. package/node_modules/@noodle-borg/service/dist/billing/postgres-schema.d.ts.map +1 -1
  190. package/node_modules/@noodle-borg/service/dist/billing/postgres-schema.js +2 -0
  191. package/node_modules/@noodle-borg/service/dist/billing/postgres-schema.js.map +1 -1
  192. package/node_modules/@noodle-borg/service/dist/billing/read-contract.d.ts +174 -28
  193. package/node_modules/@noodle-borg/service/dist/billing/read-contract.d.ts.map +1 -1
  194. package/node_modules/@noodle-borg/service/dist/billing/read-contract.js +51 -6
  195. package/node_modules/@noodle-borg/service/dist/billing/read-contract.js.map +1 -1
  196. package/node_modules/@noodle-borg/service/dist/billing-public.d.ts +3 -0
  197. package/node_modules/@noodle-borg/service/dist/billing-public.d.ts.map +1 -1
  198. package/node_modules/@noodle-borg/service/dist/billing-public.js +3 -0
  199. package/node_modules/@noodle-borg/service/dist/billing-public.js.map +1 -1
  200. package/node_modules/@noodle-borg/service/dist/http-util.d.ts +11 -0
  201. package/node_modules/@noodle-borg/service/dist/http-util.d.ts.map +1 -1
  202. package/node_modules/@noodle-borg/service/dist/http-util.js +41 -1
  203. package/node_modules/@noodle-borg/service/dist/http-util.js.map +1 -1
  204. package/node_modules/@noodle-borg/service/dist/options.d.ts +14 -2
  205. package/node_modules/@noodle-borg/service/dist/options.d.ts.map +1 -1
  206. package/node_modules/@noodle-borg/service/dist/persistence-options.d.ts.map +1 -1
  207. package/node_modules/@noodle-borg/service/dist/persistence-options.js +9 -0
  208. package/node_modules/@noodle-borg/service/dist/persistence-options.js.map +1 -1
  209. package/node_modules/@noodle-borg/service/dist/registry.d.ts +2 -0
  210. package/node_modules/@noodle-borg/service/dist/registry.d.ts.map +1 -1
  211. package/node_modules/@noodle-borg/service/dist/registry.js +10 -0
  212. package/node_modules/@noodle-borg/service/dist/registry.js.map +1 -1
  213. package/node_modules/@noodle-borg/service/dist/routes/archive.d.ts.map +1 -1
  214. package/node_modules/@noodle-borg/service/dist/routes/archive.js +18 -1
  215. package/node_modules/@noodle-borg/service/dist/routes/archive.js.map +1 -1
  216. package/node_modules/@noodle-borg/service/dist/routes/assistant-dispatch.d.ts.map +1 -1
  217. package/node_modules/@noodle-borg/service/dist/routes/assistant-dispatch.js +10 -1
  218. package/node_modules/@noodle-borg/service/dist/routes/assistant-dispatch.js.map +1 -1
  219. package/node_modules/@noodle-borg/service/dist/routes/assistant.d.ts +2 -0
  220. package/node_modules/@noodle-borg/service/dist/routes/assistant.d.ts.map +1 -1
  221. package/node_modules/@noodle-borg/service/dist/routes/assistant.js +85 -0
  222. package/node_modules/@noodle-borg/service/dist/routes/assistant.js.map +1 -1
  223. package/node_modules/@noodle-borg/service/dist/routes/billing-enforcement-activation.d.ts +15 -0
  224. package/node_modules/@noodle-borg/service/dist/routes/billing-enforcement-activation.d.ts.map +1 -0
  225. package/node_modules/@noodle-borg/service/dist/routes/billing-enforcement-activation.js +197 -0
  226. package/node_modules/@noodle-borg/service/dist/routes/billing-enforcement-activation.js.map +1 -0
  227. package/node_modules/@noodle-borg/service/dist/routes/billing-production-app-response.d.ts +15 -0
  228. package/node_modules/@noodle-borg/service/dist/routes/billing-production-app-response.d.ts.map +1 -0
  229. package/node_modules/@noodle-borg/service/dist/routes/billing-production-app-response.js +33 -0
  230. package/node_modules/@noodle-borg/service/dist/routes/billing-production-app-response.js.map +1 -0
  231. package/node_modules/@noodle-borg/service/dist/routes/billing-read.d.ts +2 -0
  232. package/node_modules/@noodle-borg/service/dist/routes/billing-read.d.ts.map +1 -1
  233. package/node_modules/@noodle-borg/service/dist/routes/billing-read.js +203 -41
  234. package/node_modules/@noodle-borg/service/dist/routes/billing-read.js.map +1 -1
  235. package/node_modules/@noodle-borg/service/dist/routes/commercial-dispatch.d.ts +4 -0
  236. package/node_modules/@noodle-borg/service/dist/routes/commercial-dispatch.d.ts.map +1 -1
  237. package/node_modules/@noodle-borg/service/dist/routes/commercial-dispatch.js +25 -0
  238. package/node_modules/@noodle-borg/service/dist/routes/commercial-dispatch.js.map +1 -1
  239. package/node_modules/@noodle-borg/service/dist/routes/commercial-service-deps.d.ts +1 -0
  240. package/node_modules/@noodle-borg/service/dist/routes/commercial-service-deps.d.ts.map +1 -1
  241. package/node_modules/@noodle-borg/service/dist/routes/commercial-service-deps.js +9 -1
  242. package/node_modules/@noodle-borg/service/dist/routes/commercial-service-deps.js.map +1 -1
  243. package/node_modules/@noodle-borg/service/dist/routes/control-plane.d.ts.map +1 -1
  244. package/node_modules/@noodle-borg/service/dist/routes/control-plane.js +22 -6
  245. package/node_modules/@noodle-borg/service/dist/routes/control-plane.js.map +1 -1
  246. package/node_modules/@noodle-borg/service/dist/routes/rollback.d.ts.map +1 -1
  247. package/node_modules/@noodle-borg/service/dist/routes/rollback.js +19 -1
  248. package/node_modules/@noodle-borg/service/dist/routes/rollback.js.map +1 -1
  249. package/node_modules/@noodle-borg/service/dist/serve.d.ts.map +1 -1
  250. package/node_modules/@noodle-borg/service/dist/serve.js +41 -1
  251. package/node_modules/@noodle-borg/service/dist/serve.js.map +1 -1
  252. package/node_modules/@noodle-borg/service/dist/service.d.ts.map +1 -1
  253. package/node_modules/@noodle-borg/service/dist/service.js +6 -3
  254. package/node_modules/@noodle-borg/service/dist/service.js.map +1 -1
  255. package/node_modules/@noodle-borg/service/dist/store/cloudsql-pool.js +3 -3
  256. package/node_modules/@noodle-borg/service/dist/store/cloudsql-pool.js.map +1 -1
  257. package/node_modules/@noodle-borg/service/dist/store/postgres-apps.d.ts +5 -7
  258. package/node_modules/@noodle-borg/service/dist/store/postgres-apps.d.ts.map +1 -1
  259. package/node_modules/@noodle-borg/service/dist/store/postgres-apps.js +71 -0
  260. package/node_modules/@noodle-borg/service/dist/store/postgres-apps.js.map +1 -1
  261. package/node_modules/@noodle-borg/service/dist/store/postgres-github-runs.d.ts.map +1 -1
  262. package/node_modules/@noodle-borg/service/dist/store/postgres-github-runs.js +7 -0
  263. package/node_modules/@noodle-borg/service/dist/store/postgres-github-runs.js.map +1 -1
  264. package/node_modules/@noodle-borg/service/dist/store/postgres-schema.d.ts.map +1 -1
  265. package/node_modules/@noodle-borg/service/dist/store/postgres-schema.js +5 -0
  266. package/node_modules/@noodle-borg/service/dist/store/postgres-schema.js.map +1 -1
  267. package/node_modules/@noodle-borg/service/dist/store/postgres.d.ts.map +1 -1
  268. package/node_modules/@noodle-borg/service/dist/store/postgres.js +29 -34
  269. package/node_modules/@noodle-borg/service/dist/store/postgres.js.map +1 -1
  270. package/package.json +1 -1
@@ -0,0 +1,247 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ import { insertAuditEvent } from '@noodle-borg/module-audit';
3
+ import { BILLING_AUTHORITATIVE_ADMISSION_CONTRACT_VERSION, BillingEnforcementActivationConflictError, BillingEnforcementActivationMutationResultSchema, BillingEnforcementActivationPreviewSchema, billingEnforcementActivationApprovalChecksum, billingEnforcementActivationRequestFingerprint, billingEnforcementActivationSuccessAudit, normalizeActivationServiceUrl, parseBillingEnforcementActivateRequest, parseBillingEnforcementRollbackRequest, } from './enforcement-activation.js';
4
+ import { BILLING_ENFORCEMENT_ACTIVATION_LOCK_TIMEOUT_MS, validateActivationLockTimeout, withBillingEnforcementActivationTransaction, } from './postgres-enforcement-activation-locks.js';
5
+ import { assertActivationConfiguration, assertExpectedInactiveState, assertValidationEpochBindings, findOperation, hashIdempotencyKey, insertOperation, normalizeActor, replayOperation, requireActivationState, requireActiveAuthoritativeEpoch, requirePreparedValidationEpoch, rollbackQuietly, stateRowToStatus, toIso, validateAdmissionContractVersion, validateReleaseSha, writeSuccessAudit, } from './postgres-enforcement-activation-support.js';
6
+ import { readBillingMeterTransactionTime } from './postgres-meter-clock.js';
7
+ /** PostgreSQL-only protected lifecycle. The callback performs readiness checks on this store's transaction. */
8
+ export class PostgresBillingEnforcementActivationStore {
9
+ successAuditMode = 'transactional';
10
+ #pool;
11
+ #currentReleaseSha;
12
+ #admissionContractVersion;
13
+ #preflight;
14
+ #lockTimeoutMs;
15
+ #id;
16
+ constructor(pool, options) {
17
+ this.#pool = pool;
18
+ this.#currentReleaseSha = validateReleaseSha(options.currentReleaseSha);
19
+ this.#admissionContractVersion = validateAdmissionContractVersion(options.admissionContractVersion ?? BILLING_AUTHORITATIVE_ADMISSION_CONTRACT_VERSION);
20
+ this.#preflight = options.preflight;
21
+ this.#lockTimeoutMs = validateActivationLockTimeout(options.lockTimeoutMs ?? BILLING_ENFORCEMENT_ACTIVATION_LOCK_TIMEOUT_MS);
22
+ this.#id = options.id ?? randomUUID;
23
+ }
24
+ async getActivationStatus() {
25
+ const client = await this.#pool.connect();
26
+ try {
27
+ await client.query('BEGIN ISOLATION LEVEL REPEATABLE READ READ ONLY');
28
+ const state = await requireActivationState(client, false);
29
+ const status = stateRowToStatus(state);
30
+ await client.query('COMMIT');
31
+ return status;
32
+ }
33
+ catch (error) {
34
+ await rollbackQuietly(client);
35
+ throw error;
36
+ }
37
+ finally {
38
+ client.release();
39
+ }
40
+ }
41
+ async previewActivation(input) {
42
+ const approval = input.approval;
43
+ const client = await this.#pool.connect();
44
+ try {
45
+ await client.query('BEGIN ISOLATION LEVEL REPEATABLE READ READ ONLY');
46
+ const checkedAt = await readBillingMeterTransactionTime(client);
47
+ const preview = BillingEnforcementActivationPreviewSchema.parse(await this.#preflight({ client, approval, checkedAt }));
48
+ await client.query('COMMIT');
49
+ return preview;
50
+ }
51
+ catch (error) {
52
+ await rollbackQuietly(client);
53
+ throw error;
54
+ }
55
+ finally {
56
+ client.release();
57
+ }
58
+ }
59
+ activateEnforcement(input) {
60
+ const request = parseBillingEnforcementActivateRequest(input.request);
61
+ const actor = normalizeActor(input.actor);
62
+ const service = normalizeActivationServiceUrl(input.service);
63
+ return this.#activate({ request, actor, service });
64
+ }
65
+ rollbackEnforcement(input) {
66
+ const request = parseBillingEnforcementRollbackRequest(input.request);
67
+ const actor = normalizeActor(input.actor);
68
+ const service = normalizeActivationServiceUrl(input.service);
69
+ return this.#rollback({ request, actor, service });
70
+ }
71
+ async #activate(input) {
72
+ const action = 'activate';
73
+ const fingerprint = billingEnforcementActivationRequestFingerprint({ action, ...input });
74
+ const idempotencyHash = hashIdempotencyKey(input.request.idempotencyKey);
75
+ return withBillingEnforcementActivationTransaction(this.#pool, this.#lockTimeoutMs, async (client) => {
76
+ const replay = await findOperation(client, idempotencyHash);
77
+ if (replay !== undefined) {
78
+ const result = replayOperation(replay, action, fingerprint);
79
+ await writeSuccessAudit(client, result, input.actor);
80
+ return result;
81
+ }
82
+ assertActivationConfiguration(input.request.approval, {
83
+ service: input.service,
84
+ releaseSha: this.#currentReleaseSha,
85
+ });
86
+ const state = await requireActivationState(client, true);
87
+ assertExpectedInactiveState(state, input.request.approval);
88
+ const validationEpoch = await requirePreparedValidationEpoch(client, input.request.approval.expectedValidationEpochId);
89
+ assertValidationEpochBindings(validationEpoch, {
90
+ releaseSha: this.#currentReleaseSha,
91
+ admissionContractVersion: this.#admissionContractVersion,
92
+ });
93
+ const checkedAt = await readBillingMeterTransactionTime(client);
94
+ const preview = BillingEnforcementActivationPreviewSchema.parse(await this.#preflight({
95
+ client,
96
+ approval: input.request.approval,
97
+ checkedAt,
98
+ }));
99
+ if (!preview.ready) {
100
+ throw new BillingEnforcementActivationConflictError('activation_preflight_blocked', 'billing enforcement activation prerequisites are blocked');
101
+ }
102
+ if (preview.previewChecksum !== input.request.expectedPreviewChecksum) {
103
+ throw new BillingEnforcementActivationConflictError('activation_preview_changed', 'billing enforcement activation preview changed; review a fresh preview');
104
+ }
105
+ const approvalChecksum = billingEnforcementActivationApprovalChecksum(input.request.approval);
106
+ if (preview.approvalChecksum !== approvalChecksum) {
107
+ throw new BillingEnforcementActivationConflictError('activation_preview_changed', 'billing enforcement activation approval no longer matches its preview');
108
+ }
109
+ const activatedAt = checkedAt;
110
+ const activeEpochId = `bmea_${this.#id()}`;
111
+ const generation = state.generation + 1;
112
+ await client.query(`UPDATE billing_meter_epochs
113
+ SET state = 'retired', retired_at = $2
114
+ WHERE id = $1 AND purpose = 'validation' AND state = 'prepared'`, [validationEpoch.id, activatedAt]);
115
+ await client.query(`INSERT INTO billing_meter_epochs
116
+ (id, schema_version, purpose, state, key_generation, release_sha,
117
+ retry_identity_version, writer_contract_version, admission_contract_version,
118
+ prepared_at, activated_at)
119
+ VALUES ($1, 1, 'authoritative', 'active', $2, $3, $4, $5, $6, $7, $7)`, [
120
+ activeEpochId,
121
+ validationEpoch.key_generation,
122
+ this.#currentReleaseSha,
123
+ validationEpoch.retry_identity_version,
124
+ validationEpoch.writer_contract_version,
125
+ this.#admissionContractVersion,
126
+ activatedAt,
127
+ ]);
128
+ const stateUpdate = await client.query(`UPDATE billing_enforcement_activation_state
129
+ SET state = 'active', generation = $1, active_epoch_id = $2, last_epoch_id = $2,
130
+ activated_at = $3, rolled_back_at = NULL,
131
+ activation_service_release_sha = $4, admission_contract_version = $5,
132
+ approval_checksum = $6, updated_at = $3
133
+ WHERE singleton = true AND state = $7 AND generation = $8`, [
134
+ generation,
135
+ activeEpochId,
136
+ activatedAt,
137
+ this.#currentReleaseSha,
138
+ this.#admissionContractVersion,
139
+ approvalChecksum,
140
+ input.request.approval.expectedState,
141
+ input.request.approval.expectedGeneration,
142
+ ]);
143
+ if (stateUpdate.rowCount !== 1) {
144
+ throw new BillingEnforcementActivationConflictError('activation_state_conflict', 'billing enforcement activation state changed concurrently');
145
+ }
146
+ const result = BillingEnforcementActivationMutationResultSchema.parse({
147
+ schemaVersion: 1,
148
+ action,
149
+ state: 'active',
150
+ generation,
151
+ replayed: false,
152
+ cohortSealId: state.cohort_seal_id,
153
+ activeEpochId,
154
+ lastEpochId: activeEpochId,
155
+ retiredValidationEpochId: validationEpoch.id,
156
+ activatedAt,
157
+ rolledBackAt: null,
158
+ activationServiceReleaseSha: this.#currentReleaseSha,
159
+ admissionContractVersion: this.#admissionContractVersion,
160
+ approvalChecksum,
161
+ previewChecksum: preview.previewChecksum,
162
+ });
163
+ await insertOperation(client, {
164
+ result,
165
+ idempotencyHash,
166
+ fingerprint,
167
+ actor: input.actor,
168
+ service: input.service,
169
+ reason: input.request.reason,
170
+ validationEpochId: validationEpoch.id,
171
+ createdAt: activatedAt,
172
+ operationId: `beao_${this.#id()}`,
173
+ });
174
+ await insertAuditEvent(client, billingEnforcementActivationSuccessAudit(result, input.actor), {
175
+ now: () => new Date(activatedAt),
176
+ });
177
+ return result;
178
+ });
179
+ }
180
+ async #rollback(input) {
181
+ const action = 'rollback';
182
+ const fingerprint = billingEnforcementActivationRequestFingerprint({ action, ...input });
183
+ const idempotencyHash = hashIdempotencyKey(input.request.idempotencyKey);
184
+ return withBillingEnforcementActivationTransaction(this.#pool, this.#lockTimeoutMs, async (client) => {
185
+ const replay = await findOperation(client, idempotencyHash);
186
+ if (replay !== undefined) {
187
+ const result = replayOperation(replay, action, fingerprint);
188
+ await writeSuccessAudit(client, result, input.actor);
189
+ return result;
190
+ }
191
+ const state = await requireActivationState(client, true);
192
+ if (state.state !== input.request.expectedState ||
193
+ state.generation !== input.request.expectedGeneration ||
194
+ state.active_epoch_id !== input.request.expectedEpochId ||
195
+ state.last_epoch_id !== input.request.expectedEpochId ||
196
+ state.activated_at === null ||
197
+ state.activation_service_release_sha === null ||
198
+ state.admission_contract_version === null ||
199
+ state.approval_checksum === null) {
200
+ throw new BillingEnforcementActivationConflictError('activation_state_conflict', 'billing enforcement rollback target is not the current active generation');
201
+ }
202
+ const epoch = await requireActiveAuthoritativeEpoch(client, input.request.expectedEpochId);
203
+ const rolledBackAt = await readBillingMeterTransactionTime(client);
204
+ await client.query(`UPDATE billing_meter_epochs SET state = 'retired', retired_at = $2
205
+ WHERE id = $1 AND purpose = 'authoritative' AND state = 'active'`, [epoch.id, rolledBackAt]);
206
+ const stateUpdate = await client.query(`UPDATE billing_enforcement_activation_state
207
+ SET state = 'rolled_back', active_epoch_id = NULL, rolled_back_at = $2, updated_at = $2
208
+ WHERE singleton = true AND state = 'active' AND generation = $3 AND active_epoch_id = $1`, [epoch.id, rolledBackAt, state.generation]);
209
+ if (stateUpdate.rowCount !== 1) {
210
+ throw new BillingEnforcementActivationConflictError('activation_state_conflict', 'billing enforcement activation state changed concurrently');
211
+ }
212
+ const result = BillingEnforcementActivationMutationResultSchema.parse({
213
+ schemaVersion: 1,
214
+ action,
215
+ state: 'rolled_back',
216
+ generation: state.generation,
217
+ replayed: false,
218
+ cohortSealId: state.cohort_seal_id,
219
+ activeEpochId: null,
220
+ lastEpochId: epoch.id,
221
+ retiredValidationEpochId: null,
222
+ activatedAt: toIso(state.activated_at),
223
+ rolledBackAt,
224
+ activationServiceReleaseSha: state.activation_service_release_sha,
225
+ admissionContractVersion: state.admission_contract_version,
226
+ approvalChecksum: state.approval_checksum,
227
+ previewChecksum: null,
228
+ });
229
+ await insertOperation(client, {
230
+ result,
231
+ idempotencyHash,
232
+ fingerprint,
233
+ actor: input.actor,
234
+ service: input.service,
235
+ reason: input.request.reason,
236
+ validationEpochId: null,
237
+ createdAt: rolledBackAt,
238
+ operationId: `beao_${this.#id()}`,
239
+ });
240
+ await insertAuditEvent(client, billingEnforcementActivationSuccessAudit(result, input.actor), {
241
+ now: () => new Date(rolledBackAt),
242
+ });
243
+ return result;
244
+ });
245
+ }
246
+ }
247
+ //# sourceMappingURL=postgres-enforcement-activation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postgres-enforcement-activation.js","sourceRoot":"","sources":["../../src/billing/postgres-enforcement-activation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAG7D,OAAO,EACL,gDAAgD,EAGhD,yCAAyC,EAEzC,gDAAgD,EAGhD,yCAAyC,EAIzC,4CAA4C,EAC5C,8CAA8C,EAC9C,wCAAwC,EACxC,6BAA6B,EAC7B,sCAAsC,EACtC,sCAAsC,GACvC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,8CAA8C,EAC9C,6BAA6B,EAC7B,2CAA2C,GAC5C,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACL,6BAA6B,EAC7B,2BAA2B,EAC3B,6BAA6B,EAC7B,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,+BAA+B,EAC/B,8BAA8B,EAC9B,eAAe,EACf,gBAAgB,EAChB,KAAK,EACL,gCAAgC,EAChC,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAC;AAU5E,+GAA+G;AAC/G,MAAM,OAAO,yCAAyC;IAG3C,gBAAgB,GAAG,eAAwB,CAAC;IAC5C,KAAK,CAAO;IACZ,kBAAkB,CAAS;IAC3B,yBAAyB,CAAS;IAClC,UAAU,CAAwC;IAClD,cAAc,CAAS;IACvB,GAAG,CAAe;IAE3B,YAAY,IAAU,EAAE,OAAyD;QAC/E,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACxE,IAAI,CAAC,yBAAyB,GAAG,gCAAgC,CAC/D,OAAO,CAAC,wBAAwB,IAAI,gDAAgD,CACrF,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;QACpC,IAAI,CAAC,cAAc,GAAG,6BAA6B,CACjD,OAAO,CAAC,aAAa,IAAI,8CAA8C,CACxE,CAAC;QACF,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,EAAE,IAAI,UAAU,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QAC1C,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACtE,MAAM,KAAK,GAAG,MAAM,sBAAsB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC1D,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACvC,MAAM,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC;YAC9B,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,KAEvB;QACC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAChC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QAC1C,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACtE,MAAM,SAAS,GAAG,MAAM,+BAA+B,CAAC,MAAM,CAAC,CAAC;YAChE,MAAM,OAAO,GAAG,yCAAyC,CAAC,KAAK,CAC7D,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CACvD,CAAC;YACF,MAAM,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC;YAC9B,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAED,mBAAmB,CAAC,KAInB;QACC,MAAM,OAAO,GAAG,sCAAsC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtE,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,6BAA6B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,mBAAmB,CAAC,KAInB;QACC,MAAM,OAAO,GAAG,sCAAsC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACtE,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,6BAA6B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAIf;QACC,MAAM,MAAM,GAAG,UAAmB,CAAC;QACnC,MAAM,WAAW,GAAG,8CAA8C,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;QACzF,MAAM,eAAe,GAAG,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACzE,OAAO,2CAA2C,CAChD,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,cAAc,EACnB,KAAK,EAAE,MAAM,EAAE,EAAE;YACf,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YAC5D,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;gBAC5D,MAAM,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBACrD,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,6BAA6B,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE;gBACpD,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,UAAU,EAAE,IAAI,CAAC,kBAAkB;aACpC,CAAC,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACzD,2BAA2B,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC3D,MAAM,eAAe,GAAG,MAAM,8BAA8B,CAC1D,MAAM,EACN,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CACjD,CAAC;YACF,6BAA6B,CAAC,eAAe,EAAE;gBAC7C,UAAU,EAAE,IAAI,CAAC,kBAAkB;gBACnC,wBAAwB,EAAE,IAAI,CAAC,yBAAyB;aACzD,CAAC,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,+BAA+B,CAAC,MAAM,CAAC,CAAC;YAChE,MAAM,OAAO,GAAG,yCAAyC,CAAC,KAAK,CAC7D,MAAM,IAAI,CAAC,UAAU,CAAC;gBACpB,MAAM;gBACN,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ;gBAChC,SAAS;aACV,CAAC,CACH,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACnB,MAAM,IAAI,yCAAyC,CACjD,8BAA8B,EAC9B,0DAA0D,CAC3D,CAAC;YACJ,CAAC;YACD,IAAI,OAAO,CAAC,eAAe,KAAK,KAAK,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC;gBACtE,MAAM,IAAI,yCAAyC,CACjD,4BAA4B,EAC5B,wEAAwE,CACzE,CAAC;YACJ,CAAC;YACD,MAAM,gBAAgB,GAAG,4CAA4C,CACnE,KAAK,CAAC,OAAO,CAAC,QAAQ,CACvB,CAAC;YACF,IAAI,OAAO,CAAC,gBAAgB,KAAK,gBAAgB,EAAE,CAAC;gBAClD,MAAM,IAAI,yCAAyC,CACjD,4BAA4B,EAC5B,uEAAuE,CACxE,CAAC;YACJ,CAAC;YAED,MAAM,WAAW,GAAG,SAAS,CAAC;YAC9B,MAAM,aAAa,GAAG,QAAQ,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAC3C,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC;YACxC,MAAM,MAAM,CAAC,KAAK,CAChB;;yEAE+D,EAC/D,CAAC,eAAe,CAAC,EAAE,EAAE,WAAW,CAAC,CAClC,CAAC;YACF,MAAM,MAAM,CAAC,KAAK,CAChB;;;;+EAIqE,EACrE;gBACE,aAAa;gBACb,eAAe,CAAC,cAAc;gBAC9B,IAAI,CAAC,kBAAkB;gBACvB,eAAe,CAAC,sBAAsB;gBACtC,eAAe,CAAC,uBAAuB;gBACvC,IAAI,CAAC,yBAAyB;gBAC9B,WAAW;aACZ,CACF,CAAC;YACF,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,KAAK,CACpC;;;;;mEAKyD,EACzD;gBACE,UAAU;gBACV,aAAa;gBACb,WAAW;gBACX,IAAI,CAAC,kBAAkB;gBACvB,IAAI,CAAC,yBAAyB;gBAC9B,gBAAgB;gBAChB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa;gBACpC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;aAC1C,CACF,CAAC;YACF,IAAI,WAAW,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC/B,MAAM,IAAI,yCAAyC,CACjD,2BAA2B,EAC3B,2DAA2D,CAC5D,CAAC;YACJ,CAAC;YACD,MAAM,MAAM,GAAG,gDAAgD,CAAC,KAAK,CAAC;gBACpE,aAAa,EAAE,CAAC;gBAChB,MAAM;gBACN,KAAK,EAAE,QAAQ;gBACf,UAAU;gBACV,QAAQ,EAAE,KAAK;gBACf,YAAY,EAAE,KAAK,CAAC,cAAc;gBAClC,aAAa;gBACb,WAAW,EAAE,aAAa;gBAC1B,wBAAwB,EAAE,eAAe,CAAC,EAAE;gBAC5C,WAAW;gBACX,YAAY,EAAE,IAAI;gBAClB,2BAA2B,EAAE,IAAI,CAAC,kBAAkB;gBACpD,wBAAwB,EAAE,IAAI,CAAC,yBAAyB;gBACxD,gBAAgB;gBAChB,eAAe,EAAE,OAAO,CAAC,eAAe;aACzC,CAAC,CAAC;YACH,MAAM,eAAe,CAAC,MAAM,EAAE;gBAC5B,MAAM;gBACN,eAAe;gBACf,WAAW;gBACX,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM;gBAC5B,iBAAiB,EAAE,eAAe,CAAC,EAAE;gBACrC,SAAS,EAAE,WAAW;gBACtB,WAAW,EAAE,QAAQ,IAAI,CAAC,GAAG,EAAE,EAAE;aAClC,CAAC,CAAC;YACH,MAAM,gBAAgB,CACpB,MAAM,EACN,wCAAwC,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,EAC7D;gBACE,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC;aACjC,CACF,CAAC;YACF,OAAO,MAAM,CAAC;QAChB,CAAC,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAIf;QACC,MAAM,MAAM,GAAG,UAAmB,CAAC;QACnC,MAAM,WAAW,GAAG,8CAA8C,CAAC,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;QACzF,MAAM,eAAe,GAAG,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACzE,OAAO,2CAA2C,CAChD,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,cAAc,EACnB,KAAK,EAAE,MAAM,EAAE,EAAE;YACf,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YAC5D,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;gBAC5D,MAAM,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBACrD,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACzD,IACE,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,CAAC,aAAa;gBAC3C,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,OAAO,CAAC,kBAAkB;gBACrD,KAAK,CAAC,eAAe,KAAK,KAAK,CAAC,OAAO,CAAC,eAAe;gBACvD,KAAK,CAAC,aAAa,KAAK,KAAK,CAAC,OAAO,CAAC,eAAe;gBACrD,KAAK,CAAC,YAAY,KAAK,IAAI;gBAC3B,KAAK,CAAC,8BAA8B,KAAK,IAAI;gBAC7C,KAAK,CAAC,0BAA0B,KAAK,IAAI;gBACzC,KAAK,CAAC,iBAAiB,KAAK,IAAI,EAChC,CAAC;gBACD,MAAM,IAAI,yCAAyC,CACjD,2BAA2B,EAC3B,0EAA0E,CAC3E,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,+BAA+B,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAC3F,MAAM,YAAY,GAAG,MAAM,+BAA+B,CAAC,MAAM,CAAC,CAAC;YACnE,MAAM,MAAM,CAAC,KAAK,CAChB;0EACgE,EAChE,CAAC,KAAK,CAAC,EAAE,EAAE,YAAY,CAAC,CACzB,CAAC;YACF,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,KAAK,CACpC;;kGAEwF,EACxF,CAAC,KAAK,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,CAC3C,CAAC;YACF,IAAI,WAAW,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC/B,MAAM,IAAI,yCAAyC,CACjD,2BAA2B,EAC3B,2DAA2D,CAC5D,CAAC;YACJ,CAAC;YACD,MAAM,MAAM,GAAG,gDAAgD,CAAC,KAAK,CAAC;gBACpE,aAAa,EAAE,CAAC;gBAChB,MAAM;gBACN,KAAK,EAAE,aAAa;gBACpB,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,QAAQ,EAAE,KAAK;gBACf,YAAY,EAAE,KAAK,CAAC,cAAc;gBAClC,aAAa,EAAE,IAAI;gBACnB,WAAW,EAAE,KAAK,CAAC,EAAE;gBACrB,wBAAwB,EAAE,IAAI;gBAC9B,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC;gBACtC,YAAY;gBACZ,2BAA2B,EAAE,KAAK,CAAC,8BAA8B;gBACjE,wBAAwB,EAAE,KAAK,CAAC,0BAA0B;gBAC1D,gBAAgB,EAAE,KAAK,CAAC,iBAAiB;gBACzC,eAAe,EAAE,IAAI;aACtB,CAAC,CAAC;YACH,MAAM,eAAe,CAAC,MAAM,EAAE;gBAC5B,MAAM;gBACN,eAAe;gBACf,WAAW;gBACX,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM;gBAC5B,iBAAiB,EAAE,IAAI;gBACvB,SAAS,EAAE,YAAY;gBACvB,WAAW,EAAE,QAAQ,IAAI,CAAC,GAAG,EAAE,EAAE;aAClC,CAAC,CAAC;YACH,MAAM,gBAAgB,CACpB,MAAM,EACN,wCAAwC,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,EAC7D;gBACE,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;aAClC,CACF,CAAC;YACF,OAAO,MAAM,CAAC;QAChB,CAAC,CACF,CAAC;IACJ,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"postgres-enforcement-profile-schema.d.ts","sourceRoot":"","sources":["../../src/billing/postgres-enforcement-profile-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAE/B,qGAAqG;AACrG,wBAAsB,qCAAqC,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAwGrF"}
1
+ {"version":3,"file":"postgres-enforcement-profile-schema.d.ts","sourceRoot":"","sources":["../../src/billing/postgres-enforcement-profile-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAE/B,qGAAqG;AACrG,wBAAsB,qCAAqC,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAgJrF"}
@@ -42,6 +42,46 @@ export async function ensureBillingEnforcementProfileSchema(pool) {
42
42
  REFERENCES billing_account_enforcement_profiles(billing_account_id, version)
43
43
  ON DELETE RESTRICT
44
44
  )
45
+ `);
46
+ await pool.query(`
47
+ CREATE OR REPLACE FUNCTION reject_billing_enforcement_profile_mutation()
48
+ RETURNS trigger LANGUAGE plpgsql AS $$
49
+ BEGIN
50
+ RAISE EXCEPTION 'billing enforcement profiles are append-only' USING ERRCODE = '55000';
51
+ END
52
+ $$
53
+ `);
54
+ await pool.query(`
55
+ DO $billing_enforcement_profile_immutability$
56
+ BEGIN
57
+ IF NOT EXISTS (
58
+ SELECT 1 FROM pg_trigger
59
+ WHERE tgname = 'billing_enforcement_profiles_append_only'
60
+ AND tgrelid = 'billing_account_enforcement_profiles'::regclass
61
+ AND NOT tgisinternal
62
+ ) THEN
63
+ CREATE TRIGGER billing_enforcement_profiles_append_only
64
+ BEFORE UPDATE OR DELETE ON billing_account_enforcement_profiles
65
+ FOR EACH ROW EXECUTE FUNCTION reject_billing_enforcement_profile_mutation();
66
+ END IF;
67
+ END
68
+ $billing_enforcement_profile_immutability$
69
+ `);
70
+ await pool.query(`
71
+ DO $billing_enforcement_profile_pointer_immutability$
72
+ BEGIN
73
+ IF NOT EXISTS (
74
+ SELECT 1 FROM pg_trigger
75
+ WHERE tgname = 'billing_enforcement_profile_pointers_append_only'
76
+ AND tgrelid = 'billing_account_active_enforcement_profiles'::regclass
77
+ AND NOT tgisinternal
78
+ ) THEN
79
+ CREATE TRIGGER billing_enforcement_profile_pointers_append_only
80
+ BEFORE UPDATE OR DELETE ON billing_account_active_enforcement_profiles
81
+ FOR EACH ROW EXECUTE FUNCTION reject_billing_enforcement_profile_mutation();
82
+ END IF;
83
+ END
84
+ $billing_enforcement_profile_pointer_immutability$
45
85
  `);
46
86
  await pool.query(`
47
87
  CREATE TABLE IF NOT EXISTS billing_enforcement_cohort_operations (
@@ -1 +1 @@
1
- {"version":3,"file":"postgres-enforcement-profile-schema.js","sourceRoot":"","sources":["../../src/billing/postgres-enforcement-profile-schema.ts"],"names":[],"mappings":"AAEA,qGAAqG;AACrG,MAAM,CAAC,KAAK,UAAU,qCAAqC,CAAC,IAAU;IACpE,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;GAehB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;GAiBhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;GAQhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;GAchB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;GAgBhB,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"postgres-enforcement-profile-schema.js","sourceRoot":"","sources":["../../src/billing/postgres-enforcement-profile-schema.ts"],"names":[],"mappings":"AAEA,qGAAqG;AACrG,MAAM,CAAC,KAAK,UAAU,qCAAqC,CAAC,IAAU;IACpE,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;GAehB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;GAiBhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;GAQhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;GAOhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;GAehB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;GAehB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;GAchB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;GAgBhB,CAAC,CAAC;AACL,CAAC"}
@@ -15,4 +15,5 @@ export declare function sealEnforcementCohortRow(pool: Pool, input: {
15
15
  */
16
16
  export declare function ensurePostSealBillingAccountEnforcementProfileTx(client: PoolClient, billingAccountId: string): Promise<BillingAccountEnforcementProfileRecord | undefined>;
17
17
  export declare function requireBillingAccountEnforcementProfileIfSealedTx(client: PoolClient, billingAccountId: string): Promise<void>;
18
+ export declare function readEnforcementCohortStatusTx(queryable: Pool | PoolClient): Promise<BillingEnforcementCohortStatusResponse>;
18
19
  //# sourceMappingURL=postgres-enforcement-profile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"postgres-enforcement-profile.d.ts","sourceRoot":"","sources":["../../src/billing/postgres-enforcement-profile.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAkB,MAAM,IAAI,CAAC;AAC3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAEL,KAAK,sCAAsC,EAE3C,KAAK,mCAAmC,EACxC,KAAK,oCAAoC,EAEzC,KAAK,sCAAsC,EAM5C,MAAM,0BAA0B,CAAC;AAKlC,eAAO,MAAM,6CAA6C,uDACJ,CAAC;AA6BvD,wBAAsB,6BAA6B,CACjD,IAAI,EAAE,IAAI,GACT,OAAO,CAAC,sCAAsC,CAAC,CAajD;AAED,wBAAgB,4CAA4C,CAC1D,IAAI,EAAE,IAAI,EACV,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,sCAAsC,GAAG,SAAS,CAAC,CAK7D;AAED,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,IAAI,EACV,KAAK,EAAE;IACL,QAAQ,CAAC,OAAO,EAAE,mCAAmC,CAAC;IACtD,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,GACA,OAAO,CAAC,oCAAoC,CAAC,CA4H/C;AAED;;;GAGG;AACH,wBAAsB,gDAAgD,CACpE,MAAM,EAAE,UAAU,EAClB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,sCAAsC,GAAG,SAAS,CAAC,CAsB7D;AAED,wBAAsB,iDAAiD,CACrE,MAAM,EAAE,UAAU,EAClB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,IAAI,CAAC,CAOf"}
1
+ {"version":3,"file":"postgres-enforcement-profile.d.ts","sourceRoot":"","sources":["../../src/billing/postgres-enforcement-profile.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAkB,MAAM,IAAI,CAAC;AAC3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAEL,KAAK,sCAAsC,EAE3C,KAAK,mCAAmC,EACxC,KAAK,oCAAoC,EAEzC,KAAK,sCAAsC,EAM5C,MAAM,0BAA0B,CAAC;AAKlC,eAAO,MAAM,6CAA6C,uDACJ,CAAC;AA6BvD,wBAAsB,6BAA6B,CACjD,IAAI,EAAE,IAAI,GACT,OAAO,CAAC,sCAAsC,CAAC,CAajD;AAED,wBAAgB,4CAA4C,CAC1D,IAAI,EAAE,IAAI,EACV,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,sCAAsC,GAAG,SAAS,CAAC,CAK7D;AAED,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,IAAI,EACV,KAAK,EAAE;IACL,QAAQ,CAAC,OAAO,EAAE,mCAAmC,CAAC;IACtD,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,GACA,OAAO,CAAC,oCAAoC,CAAC,CA4H/C;AAED;;;GAGG;AACH,wBAAsB,gDAAgD,CACpE,MAAM,EAAE,UAAU,EAClB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,sCAAsC,GAAG,SAAS,CAAC,CAsB7D;AAED,wBAAsB,iDAAiD,CACrE,MAAM,EAAE,UAAU,EAClB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,IAAI,CAAC,CAOf;AAED,wBAAsB,6BAA6B,CACjD,SAAS,EAAE,IAAI,GAAG,UAAU,GAC3B,OAAO,CAAC,sCAAsC,CAAC,CA2DjD"}
@@ -9,7 +9,7 @@ export async function getEnforcementCohortStatusRow(pool) {
9
9
  const client = await pool.connect();
10
10
  try {
11
11
  await client.query('BEGIN ISOLATION LEVEL REPEATABLE READ READ ONLY');
12
- const response = await readEnforcementCohortStatus(client);
12
+ const response = await readEnforcementCohortStatusTx(client);
13
13
  await client.query('COMMIT');
14
14
  return response;
15
15
  }
@@ -92,7 +92,7 @@ export async function sealEnforcementCohortRow(pool, input) {
92
92
  SELECT billing_account_id, version
93
93
  FROM billing_account_enforcement_profiles
94
94
  WHERE cohort_seal_id = $1`, [sealId]);
95
- const status = await readEnforcementCohortStatus(client);
95
+ const status = await readEnforcementCohortStatusTx(client);
96
96
  if (status.state !== 'sealed' ||
97
97
  status.sealId !== sealId ||
98
98
  status.billingAccountCount !== profiles.rowCount ||
@@ -158,22 +158,40 @@ export async function requireBillingAccountEnforcementProfileIfSealedTx(client,
158
158
  throw new Error('default billing account is incomplete');
159
159
  }
160
160
  }
161
- async function readEnforcementCohortStatus(queryable) {
161
+ export async function readEnforcementCohortStatusTx(queryable) {
162
162
  const seal = await findSeal(queryable);
163
163
  const counts = await queryable.query(`
164
164
  SELECT
165
- count(account.id)::text AS billing_account_count,
166
- count(profile.billing_account_id)::text AS profiled_account_count,
167
- count(*) FILTER (WHERE profile.mode = 'legacy_internal_exempt')::text
165
+ count(account_id)::text AS billing_account_count,
166
+ count(valid_mode)::text AS profiled_account_count,
167
+ count(*) FILTER (WHERE valid_mode = 'legacy_internal_exempt')::text
168
168
  AS legacy_internal_exempt_account_count,
169
- count(*) FILTER (WHERE profile.mode = 'enforced')::text AS enforced_account_count,
170
- count(*) FILTER (WHERE profile.billing_account_id IS NULL)::text AS unprofiled_account_count
171
- FROM billing_accounts AS account
172
- LEFT JOIN billing_account_active_enforcement_profiles AS active
173
- ON active.billing_account_id = account.id
174
- LEFT JOIN billing_account_enforcement_profiles AS profile
175
- ON profile.billing_account_id = active.billing_account_id
176
- AND profile.version = active.profile_version
169
+ count(*) FILTER (WHERE valid_mode = 'enforced')::text AS enforced_account_count,
170
+ count(*) FILTER (WHERE valid_mode IS NULL)::text AS unprofiled_account_count
171
+ FROM (
172
+ SELECT account.id AS account_id,
173
+ CASE
174
+ WHEN profile.cohort_seal_id = seal.id AND (
175
+ (
176
+ profile.mode = 'legacy_internal_exempt' AND
177
+ profile.source = 'legacy_cohort_seal' AND
178
+ profile.effective_from = seal.sealed_at
179
+ ) OR (
180
+ profile.mode = 'enforced' AND
181
+ profile.source = 'post_seal_account' AND
182
+ profile.effective_from >= seal.sealed_at
183
+ )
184
+ ) THEN profile.mode
185
+ ELSE NULL
186
+ END AS valid_mode
187
+ FROM billing_accounts AS account
188
+ LEFT JOIN billing_account_active_enforcement_profiles AS active
189
+ ON active.billing_account_id = account.id
190
+ LEFT JOIN billing_account_enforcement_profiles AS profile
191
+ ON profile.billing_account_id = active.billing_account_id
192
+ AND profile.version = active.profile_version
193
+ LEFT JOIN billing_enforcement_cohort_seals AS seal ON seal.singleton = true
194
+ ) AS classified_accounts
177
195
  `);
178
196
  const attributionBlockerCount = await countAttributionBlockers(queryable);
179
197
  const row = counts.rows[0];
@@ -215,14 +233,19 @@ async function countAttributionBlockers(queryable) {
215
233
  JOIN orgs AS org ON org.slug = link.org_slug
216
234
  WHERE org.slug <> 'local'
217
235
  AND link.active
218
- AND NOT EXISTS (
219
- SELECT 1
220
- FROM billing_account_active_snapshots AS active
221
- JOIN billing_entitlement_snapshots AS snapshot
222
- ON snapshot.billing_account_id = active.billing_account_id
223
- AND snapshot.id = active.snapshot_id
224
- WHERE active.billing_account_id = link.billing_account_id
225
- AND snapshot.verification_status = 'verified'
236
+ AND (
237
+ NOT EXISTS (
238
+ SELECT 1 FROM billing_accounts AS account
239
+ WHERE account.id = link.billing_account_id AND account.state = 'active'
240
+ ) OR NOT EXISTS (
241
+ SELECT 1
242
+ FROM billing_account_active_snapshots AS active
243
+ JOIN billing_entitlement_snapshots AS snapshot
244
+ ON snapshot.billing_account_id = active.billing_account_id
245
+ AND snapshot.id = active.snapshot_id
246
+ WHERE active.billing_account_id = link.billing_account_id
247
+ AND snapshot.verification_status = 'verified'
248
+ )
226
249
  )
227
250
  ) AS blockers
228
251
  `);
@@ -1 +1 @@
1
- {"version":3,"file":"postgres-enforcement-profile.js","sourceRoot":"","sources":["../../src/billing/postgres-enforcement-profile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"postgres-enforcement-profile.js","sourceRoot":"","sources":["../../src/billing/postgres-enforcement-profile.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import type { PoolClient } from 'pg';
2
+ import { type BillingAuthoritativeAdmissionInput } from './authoritative-admission.js';
3
+ interface AuthoritativeLedgerAttribution {
4
+ readonly billing_account_id: string;
5
+ readonly link_version: number;
6
+ readonly snapshot_id: string;
7
+ readonly snapshot_version: number;
8
+ }
9
+ export declare function lockAuthoritativeDedupeIdentity(client: PoolClient, epochId: string, input: BillingAuthoritativeAdmissionInput): Promise<void>;
10
+ export declare function findAuthoritativeDuplicate(client: PoolClient, input: {
11
+ readonly epochId: string;
12
+ readonly input: BillingAuthoritativeAdmissionInput;
13
+ }): Promise<{
14
+ readonly classification: 'included' | 'overage';
15
+ readonly resetAt: string;
16
+ } | undefined>;
17
+ export declare function readAuthoritativeIncludedCalls(client: PoolClient, input: {
18
+ readonly epochId: string;
19
+ readonly billingAccountId: string;
20
+ readonly windowStart: string;
21
+ readonly windowEnd: string;
22
+ }): Promise<number>;
23
+ export declare function recordAuthoritativeAdmission(client: PoolClient, input: {
24
+ readonly epochId: string;
25
+ readonly input: BillingAuthoritativeAdmissionInput;
26
+ readonly attribution: AuthoritativeLedgerAttribution;
27
+ readonly classification: 'included' | 'overage';
28
+ readonly recordedAt: string;
29
+ readonly windowStart: string;
30
+ readonly windowEnd: string;
31
+ }): Promise<void>;
32
+ export {};
33
+ //# sourceMappingURL=postgres-meter-admission-ledger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postgres-meter-admission-ledger.d.ts","sourceRoot":"","sources":["../../src/billing/postgres-meter-admission-ledger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AACrC,OAAO,EACL,KAAK,kCAAkC,EAGxC,MAAM,8BAA8B,CAAC;AAOtC,UAAU,8BAA8B;IACtC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC;AASD,wBAAsB,+BAA+B,CACnD,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,kCAAkC,GACxC,OAAO,CAAC,IAAI,CAAC,CAMf;AAED,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE;IACL,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,kCAAkC,CAAC;CACpD,GACA,OAAO,CACR;IAAE,QAAQ,CAAC,cAAc,EAAE,UAAU,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAC1F,CAuBA;AAUD,wBAAsB,8BAA8B,CAClD,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE;IACL,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,GACA,OAAO,CAAC,MAAM,CAAC,CAejB;AAED,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE;IACL,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,kCAAkC,CAAC;IACnD,QAAQ,CAAC,WAAW,EAAE,8BAA8B,CAAC;IACrD,QAAQ,CAAC,cAAc,EAAE,UAAU,GAAG,SAAS,CAAC;IAChD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,GACA,OAAO,CAAC,IAAI,CAAC,CA6Ef"}