@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,125 @@
1
+ export const BILLING_ENFORCEMENT_ACTIVATION_EVIDENCE_MAX_AGE_MS = Object.freeze({
2
+ trafficFleetConvergence: 60 * 60 * 1_000,
3
+ planVolumeCapacity: 24 * 60 * 60 * 1_000,
4
+ nonproductionFailClosedDrill: 24 * 60 * 60 * 1_000,
5
+ protectedProductionApproval: 60 * 60 * 1_000,
6
+ });
7
+ export const BILLING_ENFORCEMENT_ACTIVATION_EFFECTS = Object.freeze({
8
+ profileScope: 'enforced',
9
+ commercialScope: 'free_v1',
10
+ paidPlans: false,
11
+ startsFreshAuthoritativeEpochAtZero: true,
12
+ productionAppEnforcement: true,
13
+ legacyInternalExemptBypass: true,
14
+ stripe: false,
15
+ migrationGrants: false,
16
+ invoiceEvidence: false,
17
+ });
18
+ export function validateActivationStatus(status, context) {
19
+ const hasProvenance = status.lastEpochId !== null &&
20
+ status.activatedAt !== null &&
21
+ status.activationServiceReleaseSha !== null &&
22
+ status.admissionContractVersion !== null &&
23
+ status.approvalChecksum !== null;
24
+ if (status.state === 'not_activated') {
25
+ if (status.generation !== 0 ||
26
+ status.activeEpochId !== null ||
27
+ status.lastEpochId !== null ||
28
+ status.activatedAt !== null ||
29
+ status.rolledBackAt !== null ||
30
+ status.activationServiceReleaseSha !== null ||
31
+ status.admissionContractVersion !== null ||
32
+ status.approvalChecksum !== null) {
33
+ context.addIssue({
34
+ code: 'custom',
35
+ path: ['state'],
36
+ message: 'not-activated state cannot contain activation history',
37
+ });
38
+ }
39
+ return;
40
+ }
41
+ if (status.generation < 1 || !hasProvenance) {
42
+ context.addIssue({
43
+ code: 'custom',
44
+ path: ['generation'],
45
+ message: 'activated state requires complete provenance',
46
+ });
47
+ }
48
+ if (status.state === 'active' &&
49
+ (status.activeEpochId === null ||
50
+ status.activeEpochId !== status.lastEpochId ||
51
+ status.rolledBackAt !== null)) {
52
+ context.addIssue({
53
+ code: 'custom',
54
+ path: ['activeEpochId'],
55
+ message: 'active state is invalid',
56
+ });
57
+ }
58
+ if (status.state === 'rolled_back' &&
59
+ (status.activeEpochId !== null || status.rolledBackAt === null)) {
60
+ context.addIssue({
61
+ code: 'custom',
62
+ path: ['rolledBackAt'],
63
+ message: 'rolled-back state is invalid',
64
+ });
65
+ }
66
+ if (status.rolledBackAt !== null &&
67
+ status.activatedAt !== null &&
68
+ Date.parse(status.rolledBackAt) < Date.parse(status.activatedAt)) {
69
+ context.addIssue({
70
+ code: 'custom',
71
+ path: ['rolledBackAt'],
72
+ message: 'rollback cannot predate activation',
73
+ });
74
+ }
75
+ }
76
+ export function normalizeActivationSignals(signals) {
77
+ for (const [label, value] of [
78
+ ['unprofiled account count', signals.unprofiledAccountCount],
79
+ ['activation generation', signals.activationGeneration],
80
+ ['supported admission contract', signals.supportedAdmissionContractVersion],
81
+ ['invalid enforced entitlement account count', signals.invalidEnforcedEntitlementAccountCount],
82
+ ['non-Free enforced account count', signals.nonFreeEnforcedAccountCount],
83
+ ['enforced over-capacity account count', signals.enforcedOverCapacityAccountCount],
84
+ [
85
+ 'legacy exempt over-capacity account count',
86
+ signals.legacyInternalExemptOverCapacityAccountCount,
87
+ ],
88
+ ]) {
89
+ if (!Number.isSafeInteger(value) || value < 0)
90
+ throw new Error(`${label} must be non-negative`);
91
+ }
92
+ return { ...signals };
93
+ }
94
+ export function activationEvidenceIsCurrent(approval, checkedAt) {
95
+ const checkedAtMs = Date.parse(checkedAt);
96
+ const evidence = [
97
+ [
98
+ approval.evidence.trafficFleetConvergence.verifiedAt,
99
+ BILLING_ENFORCEMENT_ACTIVATION_EVIDENCE_MAX_AGE_MS.trafficFleetConvergence,
100
+ ],
101
+ [
102
+ approval.evidence.planVolumeCapacity.approvedAt,
103
+ BILLING_ENFORCEMENT_ACTIVATION_EVIDENCE_MAX_AGE_MS.planVolumeCapacity,
104
+ ],
105
+ [
106
+ approval.evidence.nonproductionFailClosedDrill.verifiedAt,
107
+ BILLING_ENFORCEMENT_ACTIVATION_EVIDENCE_MAX_AGE_MS.nonproductionFailClosedDrill,
108
+ ],
109
+ [
110
+ approval.evidence.protectedProductionApproval.approvedAt,
111
+ BILLING_ENFORCEMENT_ACTIVATION_EVIDENCE_MAX_AGE_MS.protectedProductionApproval,
112
+ ],
113
+ ];
114
+ return evidence.every(([instant, maxAgeMs]) => {
115
+ const ageMs = checkedAtMs - Date.parse(instant);
116
+ return ageMs >= 0 && ageMs <= maxAgeMs;
117
+ });
118
+ }
119
+ export function hasActivationControlCharacters(value) {
120
+ return [...value].some((character) => {
121
+ const code = character.charCodeAt(0);
122
+ return code <= 0x1f || code === 0x7f;
123
+ });
124
+ }
125
+ //# sourceMappingURL=enforcement-activation-support.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enforcement-activation-support.js","sourceRoot":"","sources":["../../src/billing/enforcement-activation-support.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,265 @@
1
+ import type { AuditEventInput } from '@noodle-borg/module';
2
+ import type { PoolClient } from 'pg';
3
+ import { z } from 'zod';
4
+ import type { ControlPlaneIdentity } from '../auth/deploy-gate.js';
5
+ import { BILLING_ENFORCEMENT_ACTIVATION_EVIDENCE_MAX_AGE_MS } from './enforcement-activation-support.js';
6
+ export declare const BILLING_ENFORCEMENT_ACTIVATION_SCHEMA_VERSION: 1;
7
+ export declare const BILLING_AUTHORITATIVE_ADMISSION_CONTRACT_VERSION: 1;
8
+ export declare const BILLING_ENFORCEMENT_COMMERCIAL_SCOPE: "free_v1";
9
+ export declare const BILLING_ENFORCEMENT_PAID_PLANS: false;
10
+ export { BILLING_ENFORCEMENT_ACTIVATION_EVIDENCE_MAX_AGE_MS };
11
+ export declare const BillingEnforcementActivationApprovalSchema: z.ZodObject<{
12
+ schemaVersion: z.ZodLiteral<1>;
13
+ targetEnvironment: z.ZodLiteral<"production">;
14
+ commercialScope: z.ZodLiteral<"free_v1">;
15
+ paidPlans: z.ZodLiteral<false>;
16
+ service: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
17
+ expectedState: z.ZodEnum<{
18
+ not_activated: "not_activated";
19
+ rolled_back: "rolled_back";
20
+ }>;
21
+ expectedGeneration: z.ZodNumber;
22
+ expectedCohortSealId: z.ZodString;
23
+ expectedValidationEpochId: z.ZodString;
24
+ expectedServiceReleaseSha: z.ZodString;
25
+ evidence: z.ZodObject<{
26
+ trafficFleetConvergence: z.ZodObject<{
27
+ serviceReleaseSha: z.ZodString;
28
+ verifiedAt: z.ZodPipe<z.ZodISODateTime, z.ZodTransform<string, string>>;
29
+ checksum: z.ZodString;
30
+ }, z.core.$strict>;
31
+ planVolumeCapacity: z.ZodObject<{
32
+ serviceReleaseSha: z.ZodString;
33
+ topology: z.ZodLiteral<"production">;
34
+ approvedAt: z.ZodPipe<z.ZodISODateTime, z.ZodTransform<string, string>>;
35
+ checksum: z.ZodString;
36
+ }, z.core.$strict>;
37
+ nonproductionFailClosedDrill: z.ZodObject<{
38
+ serviceReleaseSha: z.ZodString;
39
+ environment: z.ZodLiteral<"staging">;
40
+ verifiedAt: z.ZodPipe<z.ZodISODateTime, z.ZodTransform<string, string>>;
41
+ checksum: z.ZodString;
42
+ }, z.core.$strict>;
43
+ protectedProductionApproval: z.ZodObject<{
44
+ serviceReleaseSha: z.ZodString;
45
+ systemReleaseId: z.ZodString;
46
+ approvedAt: z.ZodPipe<z.ZodISODateTime, z.ZodTransform<string, string>>;
47
+ checksum: z.ZodString;
48
+ }, z.core.$strict>;
49
+ }, z.core.$strict>;
50
+ }, z.core.$strict>;
51
+ export type BillingEnforcementActivationApproval = z.infer<typeof BillingEnforcementActivationApprovalSchema>;
52
+ export declare const BillingEnforcementActivationStatusSchema: z.ZodObject<{
53
+ schemaVersion: z.ZodLiteral<1>;
54
+ state: z.ZodEnum<{
55
+ active: "active";
56
+ not_activated: "not_activated";
57
+ rolled_back: "rolled_back";
58
+ }>;
59
+ generation: z.ZodNumber;
60
+ cohortSealId: z.ZodString;
61
+ activeEpochId: z.ZodUnion<readonly [z.ZodString, z.ZodNull]>;
62
+ lastEpochId: z.ZodUnion<readonly [z.ZodString, z.ZodNull]>;
63
+ activatedAt: z.ZodUnion<readonly [z.ZodPipe<z.ZodISODateTime, z.ZodTransform<string, string>>, z.ZodNull]>;
64
+ rolledBackAt: z.ZodUnion<readonly [z.ZodPipe<z.ZodISODateTime, z.ZodTransform<string, string>>, z.ZodNull]>;
65
+ activationServiceReleaseSha: z.ZodUnion<readonly [z.ZodString, z.ZodNull]>;
66
+ admissionContractVersion: z.ZodUnion<readonly [z.ZodNumber, z.ZodNull]>;
67
+ approvalChecksum: z.ZodUnion<readonly [z.ZodString, z.ZodNull]>;
68
+ }, z.core.$strict>;
69
+ export type BillingEnforcementActivationStatus = z.infer<typeof BillingEnforcementActivationStatusSchema>;
70
+ export declare const BILLING_ENFORCEMENT_ACTIVATION_BLOCKER_CODES: readonly ["cohort_not_sealed", "cohort_seal_mismatch", "billing_attribution_incomplete", "unprofiled_billing_accounts", "activation_state_mismatch", "activation_generation_mismatch", "active_epoch_exists", "prepared_validation_epoch_mismatch", "service_origin_mismatch", "service_release_mismatch", "admission_contract_mismatch", "approval_evidence_not_current", "technical_readiness_blocked", "production_preflight_unavailable", "invalid_enforced_entitlements", "enforced_account_not_free_v1", "enforced_account_over_capacity"];
71
+ export declare const BillingEnforcementActivationPreviewSchema: z.ZodObject<{
72
+ schemaVersion: z.ZodLiteral<1>;
73
+ ready: z.ZodBoolean;
74
+ commercialScope: z.ZodLiteral<"free_v1">;
75
+ paidPlans: z.ZodLiteral<false>;
76
+ checkedAt: z.ZodPipe<z.ZodISODateTime, z.ZodTransform<string, string>>;
77
+ approvalChecksum: z.ZodString;
78
+ previewChecksum: z.ZodString;
79
+ blockers: z.ZodArray<z.ZodObject<{
80
+ code: z.ZodEnum<{
81
+ cohort_not_sealed: "cohort_not_sealed";
82
+ cohort_seal_mismatch: "cohort_seal_mismatch";
83
+ billing_attribution_incomplete: "billing_attribution_incomplete";
84
+ unprofiled_billing_accounts: "unprofiled_billing_accounts";
85
+ activation_state_mismatch: "activation_state_mismatch";
86
+ activation_generation_mismatch: "activation_generation_mismatch";
87
+ active_epoch_exists: "active_epoch_exists";
88
+ prepared_validation_epoch_mismatch: "prepared_validation_epoch_mismatch";
89
+ service_origin_mismatch: "service_origin_mismatch";
90
+ service_release_mismatch: "service_release_mismatch";
91
+ admission_contract_mismatch: "admission_contract_mismatch";
92
+ approval_evidence_not_current: "approval_evidence_not_current";
93
+ technical_readiness_blocked: "technical_readiness_blocked";
94
+ production_preflight_unavailable: "production_preflight_unavailable";
95
+ invalid_enforced_entitlements: "invalid_enforced_entitlements";
96
+ enforced_account_not_free_v1: "enforced_account_not_free_v1";
97
+ enforced_account_over_capacity: "enforced_account_over_capacity";
98
+ }>;
99
+ }, z.core.$strict>>;
100
+ effects: z.ZodObject<{
101
+ profileScope: z.ZodLiteral<"enforced">;
102
+ commercialScope: z.ZodLiteral<"free_v1">;
103
+ paidPlans: z.ZodLiteral<false>;
104
+ startsFreshAuthoritativeEpochAtZero: z.ZodLiteral<true>;
105
+ productionAppEnforcement: z.ZodLiteral<true>;
106
+ legacyInternalExemptBypass: z.ZodLiteral<true>;
107
+ stripe: z.ZodLiteral<false>;
108
+ migrationGrants: z.ZodLiteral<false>;
109
+ invoiceEvidence: z.ZodLiteral<false>;
110
+ }, z.core.$strict>;
111
+ }, z.core.$strict>;
112
+ export type BillingEnforcementActivationPreview = z.infer<typeof BillingEnforcementActivationPreviewSchema>;
113
+ export interface BillingEnforcementActivationSignals {
114
+ readonly cohortState: 'unsealed' | 'sealed';
115
+ readonly cohortSealId: string | null;
116
+ readonly billingAttributionComplete: boolean;
117
+ readonly unprofiledAccountCount: number;
118
+ readonly activationState: 'not_activated' | 'active' | 'rolled_back';
119
+ readonly activationGeneration: number;
120
+ readonly activeEpochId: string | null;
121
+ readonly preparedValidationEpochId: string | null;
122
+ readonly preparedValidationEpochReleaseSha: string | null;
123
+ readonly preparedValidationEpochAdmissionContractVersion: number | null;
124
+ readonly currentServiceOrigin: string;
125
+ readonly currentServiceReleaseSha: string;
126
+ readonly supportedAdmissionContractVersion: number;
127
+ readonly technicalReadiness: 'ready' | 'blocked' | 'unavailable';
128
+ readonly invalidEnforcedEntitlementAccountCount: number;
129
+ readonly nonFreeEnforcedAccountCount: number;
130
+ readonly enforcedOverCapacityAccountCount: number;
131
+ readonly legacyInternalExemptOverCapacityAccountCount: number;
132
+ }
133
+ export declare function billingEnforcementActivationApprovalChecksum(value: unknown): string;
134
+ export declare function buildBillingEnforcementActivationPreview(input: {
135
+ readonly approval: BillingEnforcementActivationApproval;
136
+ readonly checkedAt: string;
137
+ readonly signals: BillingEnforcementActivationSignals;
138
+ }): BillingEnforcementActivationPreview;
139
+ declare const activateRequestSchema: z.ZodObject<{
140
+ schemaVersion: z.ZodLiteral<1>;
141
+ approval: z.ZodObject<{
142
+ schemaVersion: z.ZodLiteral<1>;
143
+ targetEnvironment: z.ZodLiteral<"production">;
144
+ commercialScope: z.ZodLiteral<"free_v1">;
145
+ paidPlans: z.ZodLiteral<false>;
146
+ service: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
147
+ expectedState: z.ZodEnum<{
148
+ not_activated: "not_activated";
149
+ rolled_back: "rolled_back";
150
+ }>;
151
+ expectedGeneration: z.ZodNumber;
152
+ expectedCohortSealId: z.ZodString;
153
+ expectedValidationEpochId: z.ZodString;
154
+ expectedServiceReleaseSha: z.ZodString;
155
+ evidence: z.ZodObject<{
156
+ trafficFleetConvergence: z.ZodObject<{
157
+ serviceReleaseSha: z.ZodString;
158
+ verifiedAt: z.ZodPipe<z.ZodISODateTime, z.ZodTransform<string, string>>;
159
+ checksum: z.ZodString;
160
+ }, z.core.$strict>;
161
+ planVolumeCapacity: z.ZodObject<{
162
+ serviceReleaseSha: z.ZodString;
163
+ topology: z.ZodLiteral<"production">;
164
+ approvedAt: z.ZodPipe<z.ZodISODateTime, z.ZodTransform<string, string>>;
165
+ checksum: z.ZodString;
166
+ }, z.core.$strict>;
167
+ nonproductionFailClosedDrill: z.ZodObject<{
168
+ serviceReleaseSha: z.ZodString;
169
+ environment: z.ZodLiteral<"staging">;
170
+ verifiedAt: z.ZodPipe<z.ZodISODateTime, z.ZodTransform<string, string>>;
171
+ checksum: z.ZodString;
172
+ }, z.core.$strict>;
173
+ protectedProductionApproval: z.ZodObject<{
174
+ serviceReleaseSha: z.ZodString;
175
+ systemReleaseId: z.ZodString;
176
+ approvedAt: z.ZodPipe<z.ZodISODateTime, z.ZodTransform<string, string>>;
177
+ checksum: z.ZodString;
178
+ }, z.core.$strict>;
179
+ }, z.core.$strict>;
180
+ }, z.core.$strict>;
181
+ expectedPreviewChecksum: z.ZodString;
182
+ reason: z.ZodString;
183
+ idempotencyKey: z.ZodString;
184
+ confirmed: z.ZodLiteral<true>;
185
+ }, z.core.$strict>;
186
+ declare const rollbackRequestSchema: z.ZodObject<{
187
+ schemaVersion: z.ZodLiteral<1>;
188
+ expectedState: z.ZodLiteral<"active">;
189
+ expectedGeneration: z.ZodNumber;
190
+ expectedEpochId: z.ZodString;
191
+ reason: z.ZodString;
192
+ idempotencyKey: z.ZodString;
193
+ confirmed: z.ZodLiteral<true>;
194
+ }, z.core.$strict>;
195
+ export type BillingEnforcementActivateRequest = z.infer<typeof activateRequestSchema>;
196
+ export type BillingEnforcementRollbackRequest = z.infer<typeof rollbackRequestSchema>;
197
+ export declare function parseBillingEnforcementActivateRequest(value: unknown): BillingEnforcementActivateRequest;
198
+ export declare function parseBillingEnforcementRollbackRequest(value: unknown): BillingEnforcementRollbackRequest;
199
+ export declare const BillingEnforcementActivationMutationResultSchema: z.ZodObject<{
200
+ schemaVersion: z.ZodLiteral<1>;
201
+ action: z.ZodEnum<{
202
+ activate: "activate";
203
+ rollback: "rollback";
204
+ }>;
205
+ state: z.ZodEnum<{
206
+ active: "active";
207
+ rolled_back: "rolled_back";
208
+ }>;
209
+ generation: z.ZodNumber;
210
+ replayed: z.ZodBoolean;
211
+ cohortSealId: z.ZodString;
212
+ activeEpochId: z.ZodUnion<readonly [z.ZodString, z.ZodNull]>;
213
+ lastEpochId: z.ZodString;
214
+ retiredValidationEpochId: z.ZodUnion<readonly [z.ZodString, z.ZodNull]>;
215
+ activatedAt: z.ZodPipe<z.ZodISODateTime, z.ZodTransform<string, string>>;
216
+ rolledBackAt: z.ZodUnion<readonly [z.ZodPipe<z.ZodISODateTime, z.ZodTransform<string, string>>, z.ZodNull]>;
217
+ activationServiceReleaseSha: z.ZodString;
218
+ admissionContractVersion: z.ZodNumber;
219
+ approvalChecksum: z.ZodString;
220
+ previewChecksum: z.ZodUnion<readonly [z.ZodString, z.ZodNull]>;
221
+ }, z.core.$strict>;
222
+ export type BillingEnforcementActivationMutationResult = z.infer<typeof BillingEnforcementActivationMutationResultSchema>;
223
+ export type BillingEnforcementActivationPreflight = (input: {
224
+ readonly client: PoolClient;
225
+ readonly approval: BillingEnforcementActivationApproval;
226
+ readonly checkedAt: string;
227
+ }) => Promise<BillingEnforcementActivationPreview>;
228
+ export interface BillingEnforcementActivationStore {
229
+ /** PostgreSQL stores commit canonical success audits with the lifecycle mutation. */
230
+ readonly successAuditMode?: 'transactional';
231
+ getActivationStatus(): Promise<BillingEnforcementActivationStatus>;
232
+ previewActivation(input: {
233
+ readonly approval: BillingEnforcementActivationApproval;
234
+ }): Promise<BillingEnforcementActivationPreview>;
235
+ activateEnforcement(input: {
236
+ readonly request: BillingEnforcementActivateRequest;
237
+ readonly actor: ControlPlaneIdentity;
238
+ readonly service: string;
239
+ }): Promise<BillingEnforcementActivationMutationResult>;
240
+ rollbackEnforcement(input: {
241
+ readonly request: BillingEnforcementRollbackRequest;
242
+ readonly actor: ControlPlaneIdentity;
243
+ readonly service: string;
244
+ }): Promise<BillingEnforcementActivationMutationResult>;
245
+ }
246
+ export type BillingEnforcementActivationConflictCode = 'idempotency_key_conflict' | 'activation_state_conflict' | 'activation_epoch_conflict' | 'activation_preflight_blocked' | 'activation_preview_changed' | 'activation_configuration_unavailable' | 'activation_lock_timeout' | 'serialization_conflict';
247
+ export declare class BillingEnforcementActivationConflictError extends Error {
248
+ readonly code: BillingEnforcementActivationConflictCode;
249
+ constructor(code: BillingEnforcementActivationConflictCode, message: string);
250
+ }
251
+ type FingerprintInput = {
252
+ readonly action: 'activate';
253
+ readonly request: BillingEnforcementActivateRequest;
254
+ readonly actor: Pick<ControlPlaneIdentity, 'subject' | 'email'>;
255
+ readonly service: string;
256
+ } | {
257
+ readonly action: 'rollback';
258
+ readonly request: BillingEnforcementRollbackRequest;
259
+ readonly actor: Pick<ControlPlaneIdentity, 'subject' | 'email'>;
260
+ readonly service: string;
261
+ };
262
+ export declare function billingEnforcementActivationRequestFingerprint(input: FingerprintInput): string;
263
+ export declare function billingEnforcementActivationSuccessAudit(result: BillingEnforcementActivationMutationResult, actor: Pick<ControlPlaneIdentity, 'subject' | 'email'>): AuditEventInput;
264
+ export declare function normalizeActivationServiceUrl(value: string): string;
265
+ //# sourceMappingURL=enforcement-activation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enforcement-activation.d.ts","sourceRoot":"","sources":["../../src/billing/enforcement-activation.ts"],"names":[],"mappings":"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"}