@noodleseed/one 0.46.0 → 0.48.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.
- package/dist/commands/assistant-ops.d.ts.map +1 -1
- package/dist/commands/assistant-ops.js +65 -1
- package/dist/commands/assistant-ops.js.map +1 -1
- package/dist/commands/auth-ops.d.ts.map +1 -1
- package/dist/commands/auth-ops.js +28 -4
- package/dist/commands/auth-ops.js.map +1 -1
- package/dist/commands/billing-enforcement-ops.d.ts +2 -0
- package/dist/commands/billing-enforcement-ops.d.ts.map +1 -0
- package/dist/commands/billing-enforcement-ops.js +312 -0
- package/dist/commands/billing-enforcement-ops.js.map +1 -0
- package/dist/commands/billing-metering-ops.d.ts +2 -0
- package/dist/commands/billing-metering-ops.d.ts.map +1 -0
- package/dist/commands/billing-metering-ops.js +128 -0
- package/dist/commands/billing-metering-ops.js.map +1 -0
- package/dist/commands/billing-metering-validation-ops.d.ts +2 -0
- package/dist/commands/billing-metering-validation-ops.d.ts.map +1 -0
- package/dist/commands/billing-metering-validation-ops.js +186 -0
- package/dist/commands/billing-metering-validation-ops.js.map +1 -0
- package/dist/commands/billing-ops.d.ts.map +1 -1
- package/dist/commands/billing-ops.js +6 -0
- package/dist/commands/billing-ops.js.map +1 -1
- package/dist/commands/catalog-data-resources.d.ts.map +1 -1
- package/dist/commands/catalog-data-resources.js +25 -4
- package/dist/commands/catalog-data-resources.js.map +1 -1
- package/dist/commands/catalog-render.d.ts.map +1 -1
- package/dist/commands/catalog-render.js +7 -5
- package/dist/commands/catalog-render.js.map +1 -1
- package/dist/commands/deploy-ops.d.ts.map +1 -1
- package/dist/commands/deploy-ops.js +10 -1
- package/dist/commands/deploy-ops.js.map +1 -1
- package/dist/commands/deploy-output.d.ts.map +1 -1
- package/dist/commands/deploy-output.js +4 -0
- package/dist/commands/deploy-output.js.map +1 -1
- package/dist/commands/deploy-version-resolution.d.ts +1 -0
- package/dist/commands/deploy-version-resolution.d.ts.map +1 -1
- package/dist/commands/deploy-version-resolution.js +8 -0
- package/dist/commands/deploy-version-resolution.js.map +1 -1
- package/dist/commands/mcp-apps-chatgpt.d.ts +7 -0
- package/dist/commands/mcp-apps-chatgpt.d.ts.map +1 -0
- package/dist/commands/mcp-apps-chatgpt.js +143 -0
- package/dist/commands/mcp-apps-chatgpt.js.map +1 -0
- package/dist/commands/mcp-apps.d.ts.map +1 -1
- package/dist/commands/mcp-apps.js +2 -114
- package/dist/commands/mcp-apps.js.map +1 -1
- package/dist/deploy-payload-size.d.ts +3 -0
- package/dist/deploy-payload-size.d.ts.map +1 -0
- package/dist/deploy-payload-size.js +29 -0
- package/dist/deploy-payload-size.js.map +1 -0
- package/dist/deploy.d.ts.map +1 -1
- package/dist/deploy.js +19 -8
- package/dist/deploy.js.map +1 -1
- package/dist/sdk-version-skew.d.ts +3 -0
- package/dist/sdk-version-skew.d.ts.map +1 -0
- package/dist/sdk-version-skew.js +34 -0
- package/dist/sdk-version-skew.js.map +1 -0
- package/node_modules/@noodle-borg/agent-kit/dist/generated/example-files.js +3 -3
- package/node_modules/@noodle-borg/agent-kit/dist/generated/example-files.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/skill-authoring-refs.js +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/skill-authoring-refs.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/skill-content.js +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/skill-content.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/skill-embedded-assistant-ref.d.ts.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/dist/skill-embedded-assistant-ref.js +10 -2
- package/node_modules/@noodle-borg/agent-kit/dist/skill-embedded-assistant-ref.js.map +1 -1
- package/node_modules/@noodle-borg/agent-kit/package.json +1 -1
- package/node_modules/@noodle-borg/authoring/dist/server.d.ts +5 -0
- package/node_modules/@noodle-borg/authoring/dist/server.d.ts.map +1 -1
- package/node_modules/@noodle-borg/authoring/dist/server.js +1 -0
- package/node_modules/@noodle-borg/authoring/dist/server.js.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/artifact/types.d.ts +7 -1
- package/node_modules/@noodle-borg/compiler/dist/artifact/types.d.ts.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/artifact/types.js +4 -1
- package/node_modules/@noodle-borg/compiler/dist/artifact/types.js.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/compile.d.ts.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/compile.js +3 -0
- package/node_modules/@noodle-borg/compiler/dist/compile.js.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/manifest/schema.d.ts +12 -0
- package/node_modules/@noodle-borg/compiler/dist/manifest/schema.d.ts.map +1 -1
- package/node_modules/@noodle-borg/compiler/dist/manifest/schema.js +7 -0
- package/node_modules/@noodle-borg/compiler/dist/manifest/schema.js.map +1 -1
- package/node_modules/@noodle-borg/protocol/dist/mapping.d.ts.map +1 -1
- package/node_modules/@noodle-borg/protocol/dist/mapping.js +40 -1
- package/node_modules/@noodle-borg/protocol/dist/mapping.js.map +1 -1
- package/node_modules/@noodle-borg/protocol/dist/sdk-server.d.ts.map +1 -1
- package/node_modules/@noodle-borg/protocol/dist/sdk-server.js +109 -1
- package/node_modules/@noodle-borg/protocol/dist/sdk-server.js.map +1 -1
- package/node_modules/@noodle-borg/protocol/dist/tool-interaction.d.ts +10 -3
- package/node_modules/@noodle-borg/protocol/dist/tool-interaction.d.ts.map +1 -1
- package/node_modules/@noodle-borg/protocol/dist/tool-interaction.js +69 -5
- package/node_modules/@noodle-borg/protocol/dist/tool-interaction.js.map +1 -1
- package/node_modules/@noodle-borg/protocol/dist/widget/action-wiring-bootstrap.d.ts +3 -0
- package/node_modules/@noodle-borg/protocol/dist/widget/action-wiring-bootstrap.d.ts.map +1 -0
- package/node_modules/@noodle-borg/protocol/dist/widget/action-wiring-bootstrap.js +17 -0
- package/node_modules/@noodle-borg/protocol/dist/widget/action-wiring-bootstrap.js.map +1 -0
- package/node_modules/@noodle-borg/protocol/dist/widget/bootstrap.d.ts.map +1 -1
- package/node_modules/@noodle-borg/protocol/dist/widget/bootstrap.js +8 -16
- package/node_modules/@noodle-borg/protocol/dist/widget/bootstrap.js.map +1 -1
- package/node_modules/@noodle-borg/protocol/dist/widget/interaction-bootstrap.d.ts +3 -0
- package/node_modules/@noodle-borg/protocol/dist/widget/interaction-bootstrap.d.ts.map +1 -0
- package/node_modules/@noodle-borg/protocol/dist/widget/interaction-bootstrap.js +177 -0
- package/node_modules/@noodle-borg/protocol/dist/widget/interaction-bootstrap.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/enforcement-profile.d.ts +96 -0
- package/node_modules/@noodle-borg/service/dist/billing/enforcement-profile.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/enforcement-profile.js +198 -0
- package/node_modules/@noodle-borg/service/dist/billing/enforcement-profile.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/integration.d.ts +25 -2
- package/node_modules/@noodle-borg/service/dist/billing/integration.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/billing/integration.js +51 -5
- package/node_modules/@noodle-borg/service/dist/billing/integration.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/billing/meter-capacity.d.ts +77 -0
- package/node_modules/@noodle-borg/service/dist/billing/meter-capacity.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/meter-capacity.js +202 -0
- package/node_modules/@noodle-borg/service/dist/billing/meter-capacity.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/meter-live-validation-contract.d.ts +8 -0
- package/node_modules/@noodle-borg/service/dist/billing/meter-live-validation-contract.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/meter-live-validation-contract.js +93 -0
- package/node_modules/@noodle-borg/service/dist/billing/meter-live-validation-contract.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/meter-live-validation.d.ts +76 -0
- package/node_modules/@noodle-borg/service/dist/billing/meter-live-validation.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/meter-live-validation.js +233 -0
- package/node_modules/@noodle-borg/service/dist/billing/meter-live-validation.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/meter-readiness-health.d.ts +89 -0
- package/node_modules/@noodle-borg/service/dist/billing/meter-readiness-health.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/meter-readiness-health.js +191 -0
- package/node_modules/@noodle-borg/service/dist/billing/meter-readiness-health.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/meter-readiness.d.ts +99 -0
- package/node_modules/@noodle-borg/service/dist/billing/meter-readiness.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/meter-readiness.js +136 -0
- package/node_modules/@noodle-borg/service/dist/billing/meter-readiness.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/meter-runtime-config.d.ts +9 -0
- package/node_modules/@noodle-borg/service/dist/billing/meter-runtime-config.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/meter-runtime-config.js +24 -0
- package/node_modules/@noodle-borg/service/dist/billing/meter-runtime-config.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/meter-validation-epoch.d.ts +75 -0
- package/node_modules/@noodle-borg/service/dist/billing/meter-validation-epoch.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/meter-validation-epoch.js +127 -0
- package/node_modules/@noodle-borg/service/dist/billing/meter-validation-epoch.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-enforcement-profile-schema.d.ts +4 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-enforcement-profile-schema.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-enforcement-profile-schema.js +107 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-enforcement-profile-schema.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-enforcement-profile.d.ts +18 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-enforcement-profile.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-enforcement-profile.js +341 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-enforcement-profile.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-clock.d.ts +3 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-clock.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-clock.js +9 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-clock.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-epoch-fixtures.d.ts +13 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-epoch-fixtures.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-epoch-fixtures.js +102 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-epoch-fixtures.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-epochs.d.ts +41 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-epochs.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-epochs.js +289 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-epochs.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-evidence-retention.d.ts +16 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-evidence-retention.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-evidence-retention.js +126 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-evidence-retention.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-live-validation.d.ts +33 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-live-validation.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-live-validation.js +436 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-live-validation.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-maintenance.d.ts +26 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-maintenance.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-maintenance.js +146 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-maintenance.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-partition.d.ts +8 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-partition.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-partition.js +42 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-partition.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-prepare-preflight.d.ts +8 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-prepare-preflight.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-prepare-preflight.js +44 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-prepare-preflight.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-readiness-live.d.ts +13 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-readiness-live.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-readiness-live.js +189 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-readiness-live.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-readiness.d.ts +18 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-readiness.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-readiness.js +342 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-readiness.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-reconciliation.d.ts +27 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-reconciliation.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-reconciliation.js +304 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-reconciliation.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-retention.d.ts +22 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-retention.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-retention.js +224 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-retention.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-runtime.d.ts +33 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-runtime.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-runtime.js +173 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-runtime.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-scheduler-schema.d.ts +7 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-scheduler-schema.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-scheduler-schema.js +50 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-scheduler-schema.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-scheduler-store.d.ts +34 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-scheduler-store.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-scheduler-store.js +157 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-scheduler-store.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-scheduler.d.ts +56 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-scheduler.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-scheduler.js +264 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-scheduler.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-schema.d.ts +6 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-schema.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-schema.js +414 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-schema.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-validation.d.ts +43 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-validation.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-validation.js +321 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-validation.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-window-lock.d.ts +10 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-window-lock.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-window-lock.js +13 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-window-lock.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-window-schema.d.ts +6 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-window-schema.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-window-schema.js +248 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-window-schema.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-writer-compaction.d.ts +29 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-writer-compaction.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-writer-compaction.js +240 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-writer-compaction.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-writer-health-schema.d.ts +4 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-writer-health-schema.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-writer-health-schema.js +140 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-writer-health-schema.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-migration.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/billing/postgres-migration.js +4 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-migration.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/billing/postgres-schema.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/billing/postgres-schema.js +6 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres-schema.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/billing/postgres.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/billing/postgres.js +3 -0
- package/node_modules/@noodle-borg/service/dist/billing/postgres.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/billing/service-meter-runtime.d.ts +7 -0
- package/node_modules/@noodle-borg/service/dist/billing/service-meter-runtime.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/service-meter-runtime.js +19 -0
- package/node_modules/@noodle-borg/service/dist/billing/service-meter-runtime.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/shadow-meter.d.ts +9 -4
- package/node_modules/@noodle-borg/service/dist/billing/shadow-meter.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/billing/shadow-meter.js +34 -95
- package/node_modules/@noodle-borg/service/dist/billing/shadow-meter.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/billing/usage-identity.d.ts +14 -0
- package/node_modules/@noodle-borg/service/dist/billing/usage-identity.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/usage-identity.js +87 -0
- package/node_modules/@noodle-borg/service/dist/billing/usage-identity.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/usage-observer.d.ts +6 -0
- package/node_modules/@noodle-borg/service/dist/billing/usage-observer.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing/usage-observer.js +26 -0
- package/node_modules/@noodle-borg/service/dist/billing/usage-observer.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing-public.d.ts +16 -0
- package/node_modules/@noodle-borg/service/dist/billing-public.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/billing-public.js +15 -0
- package/node_modules/@noodle-borg/service/dist/billing-public.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/customer-verifier.d.ts +1 -0
- package/node_modules/@noodle-borg/service/dist/customer-verifier.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/customer-verifier.js +15 -0
- package/node_modules/@noodle-borg/service/dist/customer-verifier.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/http-util.d.ts +13 -0
- package/node_modules/@noodle-borg/service/dist/http-util.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/http-util.js +42 -2
- package/node_modules/@noodle-borg/service/dist/http-util.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/index.d.ts +2 -7
- package/node_modules/@noodle-borg/service/dist/index.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/index.js +1 -6
- package/node_modules/@noodle-borg/service/dist/index.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/main.js +3 -0
- package/node_modules/@noodle-borg/service/dist/main.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/options.d.ts +18 -0
- package/node_modules/@noodle-borg/service/dist/options.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/persistence-options.d.ts +4 -0
- package/node_modules/@noodle-borg/service/dist/persistence-options.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/persistence-options.js +22 -0
- package/node_modules/@noodle-borg/service/dist/persistence-options.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/assistant-dispatch.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/assistant-dispatch.js +10 -1
- package/node_modules/@noodle-borg/service/dist/routes/assistant-dispatch.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/assistant.d.ts +2 -0
- package/node_modules/@noodle-borg/service/dist/routes/assistant.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/assistant.js +85 -0
- package/node_modules/@noodle-borg/service/dist/routes/assistant.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/billing-enforcement-cohort.d.ts +17 -0
- package/node_modules/@noodle-borg/service/dist/routes/billing-enforcement-cohort.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/billing-enforcement-cohort.js +145 -0
- package/node_modules/@noodle-borg/service/dist/routes/billing-enforcement-cohort.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/billing-meter-readiness.d.ts +15 -0
- package/node_modules/@noodle-borg/service/dist/routes/billing-meter-readiness.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/billing-meter-readiness.js +78 -0
- package/node_modules/@noodle-borg/service/dist/routes/billing-meter-readiness.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/billing-meter-validation.d.ts +15 -0
- package/node_modules/@noodle-borg/service/dist/routes/billing-meter-validation.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/billing-meter-validation.js +108 -0
- package/node_modules/@noodle-borg/service/dist/routes/billing-meter-validation.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/commercial-dispatch.d.ts +6 -0
- package/node_modules/@noodle-borg/service/dist/routes/commercial-dispatch.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/commercial-dispatch.js +99 -0
- package/node_modules/@noodle-borg/service/dist/routes/commercial-dispatch.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/routes/commercial-service-deps.d.ts +25 -0
- package/node_modules/@noodle-borg/service/dist/routes/commercial-service-deps.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/commercial-service-deps.js +35 -0
- package/node_modules/@noodle-borg/service/dist/routes/commercial-service-deps.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/routes/control-plane.js +3 -3
- package/node_modules/@noodle-borg/service/dist/routes/control-plane.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/serve-options.d.ts +93 -0
- package/node_modules/@noodle-borg/service/dist/serve-options.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/serve-options.js +2 -0
- package/node_modules/@noodle-borg/service/dist/serve-options.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/serve.d.ts +2 -92
- package/node_modules/@noodle-borg/service/dist/serve.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/serve.js +64 -59
- package/node_modules/@noodle-borg/service/dist/serve.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/service-resource-cleanup.d.ts +22 -0
- package/node_modules/@noodle-borg/service/dist/service-resource-cleanup.d.ts.map +1 -0
- package/node_modules/@noodle-borg/service/dist/service-resource-cleanup.js +51 -0
- package/node_modules/@noodle-borg/service/dist/service-resource-cleanup.js.map +1 -0
- package/node_modules/@noodle-borg/service/dist/service.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/service.js +10 -21
- package/node_modules/@noodle-borg/service/dist/service.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store/cloudsql-pool.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store/cloudsql-pool.js +7 -1
- package/node_modules/@noodle-borg/service/dist/store/cloudsql-pool.js.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store/postgres-billing.d.ts +6 -2
- package/node_modules/@noodle-borg/service/dist/store/postgres-billing.d.ts.map +1 -1
- package/node_modules/@noodle-borg/service/dist/store/postgres-billing.js +11 -1
- package/node_modules/@noodle-borg/service/dist/store/postgres-billing.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { Pool, PoolClient } from 'pg';
|
|
2
|
+
export declare const BILLING_METER_WRITER_CLEAN_SESSION_RETENTION_DAYS: 7;
|
|
3
|
+
export declare const BILLING_METER_WRITER_UNCLEAN_SESSION_STALE_DAYS = 30;
|
|
4
|
+
export interface BillingMeterWriterCompactionResult {
|
|
5
|
+
readonly sessionsCompacted: number;
|
|
6
|
+
readonly baselinesFolded: number;
|
|
7
|
+
readonly cleanSessionsCompacted: number;
|
|
8
|
+
readonly uncleanSessionsCompacted: number;
|
|
9
|
+
}
|
|
10
|
+
export interface BillingMeterWriterCompactionOptions {
|
|
11
|
+
readonly limit?: number;
|
|
12
|
+
readonly lockTimeoutMs?: number;
|
|
13
|
+
readonly statementTimeoutMs?: number;
|
|
14
|
+
}
|
|
15
|
+
export interface BillingMeterWriterCompactionOnClientOptions {
|
|
16
|
+
readonly decisionAt: string;
|
|
17
|
+
readonly limit?: number;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Fold eligible writer-session evidence into per-epoch deltas, then prune the detailed rows atomically.
|
|
21
|
+
* Receipt references always win: a session is not eligible until every detailed receipt is gone.
|
|
22
|
+
*/
|
|
23
|
+
export declare function compactBillingMeterWriterSessions(pool: Pool, options?: BillingMeterWriterCompactionOptions): Promise<BillingMeterWriterCompactionResult>;
|
|
24
|
+
/**
|
|
25
|
+
* Fold and prune eligible sessions inside a transaction owned by the caller.
|
|
26
|
+
* The caller supplies its database decision timestamp so maintenance decisions share one cutoff.
|
|
27
|
+
*/
|
|
28
|
+
export declare function compactBillingMeterWriterSessionsOnClient(client: PoolClient, options: BillingMeterWriterCompactionOnClientOptions): Promise<BillingMeterWriterCompactionResult>;
|
|
29
|
+
//# sourceMappingURL=postgres-meter-writer-compaction.d.ts.map
|
package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-writer-compaction.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postgres-meter-writer-compaction.d.ts","sourceRoot":"","sources":["../../src/billing/postgres-meter-writer-compaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAK3C,eAAO,MAAM,iDAAiD,GACxB,CAAC;AACvC,eAAO,MAAM,+CAA+C,KAAK,CAAC;AAMlE,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC;CAC3C;AAED,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,2CAA2C;IAC1D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAOD;;;GAGG;AACH,wBAAsB,iCAAiC,CACrD,IAAI,EAAE,IAAI,EACV,OAAO,GAAE,mCAAwC,GAChD,OAAO,CAAC,kCAAkC,CAAC,CAsC7C;AAED;;;GAGG;AACH,wBAAsB,yCAAyC,CAC7D,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,2CAA2C,GACnD,OAAO,CAAC,kCAAkC,CAAC,CAoD7C"}
|
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
import { BILLING_METER_RECEIPT_RETENTION_DAYS } from './meter-readiness.js';
|
|
2
|
+
import { readBillingMeterTransactionTime } from './postgres-meter-clock.js';
|
|
3
|
+
import { normalizeBillingUsageInstant } from './usage-window.js';
|
|
4
|
+
export const BILLING_METER_WRITER_CLEAN_SESSION_RETENTION_DAYS = BILLING_METER_RECEIPT_RETENTION_DAYS;
|
|
5
|
+
export const BILLING_METER_WRITER_UNCLEAN_SESSION_STALE_DAYS = 30;
|
|
6
|
+
const DEFAULT_COMPACTION_LIMIT = 100;
|
|
7
|
+
const DEFAULT_LOCK_TIMEOUT_MS = 1_000;
|
|
8
|
+
const DEFAULT_STATEMENT_TIMEOUT_MS = 5_000;
|
|
9
|
+
/**
|
|
10
|
+
* Fold eligible writer-session evidence into per-epoch deltas, then prune the detailed rows atomically.
|
|
11
|
+
* Receipt references always win: a session is not eligible until every detailed receipt is gone.
|
|
12
|
+
*/
|
|
13
|
+
export async function compactBillingMeterWriterSessions(pool, options = {}) {
|
|
14
|
+
const limit = boundedInteger('billing meter writer compaction limit', options.limit ?? DEFAULT_COMPACTION_LIMIT, 1, 1_000);
|
|
15
|
+
const lockTimeoutMs = boundedInteger('billing meter writer compaction lock timeout', options.lockTimeoutMs ?? DEFAULT_LOCK_TIMEOUT_MS, 1, 30_000);
|
|
16
|
+
const statementTimeoutMs = boundedInteger('billing meter writer compaction statement timeout', options.statementTimeoutMs ?? DEFAULT_STATEMENT_TIMEOUT_MS, 1, 30_000);
|
|
17
|
+
const client = await pool.connect();
|
|
18
|
+
try {
|
|
19
|
+
await client.query('BEGIN');
|
|
20
|
+
await client.query(`SELECT set_config('lock_timeout', $1, true), set_config('statement_timeout', $2, true)`, [`${lockTimeoutMs}ms`, `${statementTimeoutMs}ms`]);
|
|
21
|
+
const result = await compactBillingMeterWriterSessionsOnClient(client, {
|
|
22
|
+
decisionAt: await readBillingMeterTransactionTime(client),
|
|
23
|
+
limit,
|
|
24
|
+
});
|
|
25
|
+
await client.query('COMMIT');
|
|
26
|
+
return result;
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
await rollbackQuietly(client);
|
|
30
|
+
throw error;
|
|
31
|
+
}
|
|
32
|
+
finally {
|
|
33
|
+
client.release();
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Fold and prune eligible sessions inside a transaction owned by the caller.
|
|
38
|
+
* The caller supplies its database decision timestamp so maintenance decisions share one cutoff.
|
|
39
|
+
*/
|
|
40
|
+
export async function compactBillingMeterWriterSessionsOnClient(client, options) {
|
|
41
|
+
const decisionAt = normalizeBillingUsageInstant('billing meter writer compaction decision timestamp', options.decisionAt);
|
|
42
|
+
const limit = boundedInteger('billing meter writer compaction limit', options.limit ?? DEFAULT_COMPACTION_LIMIT, 1, 1_000);
|
|
43
|
+
const eligible = await selectEligibleWriterSessions(client, decisionAt, limit);
|
|
44
|
+
let baselinesFolded = 0;
|
|
45
|
+
let cleanSessionsCompacted = 0;
|
|
46
|
+
let uncleanSessionsCompacted = 0;
|
|
47
|
+
for (const session of eligible) {
|
|
48
|
+
const baselines = await client.query(`SELECT epoch_id
|
|
49
|
+
FROM billing_meter_writer_epoch_baselines
|
|
50
|
+
WHERE session_id = $1
|
|
51
|
+
ORDER BY attachment_sequence
|
|
52
|
+
FOR UPDATE`, [session.session_id]);
|
|
53
|
+
for (const [index, baseline] of baselines.rows.entries()) {
|
|
54
|
+
const nextEpochId = baselines.rows[index + 1]?.epoch_id ?? null;
|
|
55
|
+
await foldWriterSessionBaseline(client, {
|
|
56
|
+
epochId: baseline.epoch_id,
|
|
57
|
+
nextEpochId,
|
|
58
|
+
sessionId: session.session_id,
|
|
59
|
+
compactedAt: decisionAt,
|
|
60
|
+
uncleanStop: !session.clean_stop && nextEpochId === null,
|
|
61
|
+
});
|
|
62
|
+
baselinesFolded += 1;
|
|
63
|
+
}
|
|
64
|
+
await client.query('DELETE FROM billing_meter_writer_epoch_baselines WHERE session_id = $1', [
|
|
65
|
+
session.session_id,
|
|
66
|
+
]);
|
|
67
|
+
const deleted = await client.query('DELETE FROM billing_meter_writer_sessions WHERE session_id = $1', [session.session_id]);
|
|
68
|
+
if (deleted.rowCount !== 1)
|
|
69
|
+
throw new Error('billing meter writer session disappeared');
|
|
70
|
+
if (session.clean_stop)
|
|
71
|
+
cleanSessionsCompacted += 1;
|
|
72
|
+
else
|
|
73
|
+
uncleanSessionsCompacted += 1;
|
|
74
|
+
}
|
|
75
|
+
return {
|
|
76
|
+
sessionsCompacted: eligible.length,
|
|
77
|
+
baselinesFolded,
|
|
78
|
+
cleanSessionsCompacted,
|
|
79
|
+
uncleanSessionsCompacted,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
async function selectEligibleWriterSessions(client, now, limit) {
|
|
83
|
+
const result = await client.query(`SELECT session.session_id, session.clean_stop
|
|
84
|
+
FROM billing_meter_writer_sessions AS session
|
|
85
|
+
WHERE (
|
|
86
|
+
(
|
|
87
|
+
session.clean_stop AND session.closed_at IS NOT NULL AND
|
|
88
|
+
session.closed_at <=
|
|
89
|
+
$1::timestamptz - interval '${BILLING_METER_WRITER_CLEAN_SESSION_RETENTION_DAYS} days'
|
|
90
|
+
) OR (
|
|
91
|
+
NOT session.clean_stop AND session.closed_at IS NULL AND
|
|
92
|
+
session.last_heartbeat_at <=
|
|
93
|
+
$1::timestamptz - interval '${BILLING_METER_WRITER_UNCLEAN_SESSION_STALE_DAYS} days'
|
|
94
|
+
)
|
|
95
|
+
)
|
|
96
|
+
AND NOT EXISTS (
|
|
97
|
+
SELECT 1 FROM billing_meter_usage_events AS event
|
|
98
|
+
WHERE event.writer_session_id = session.session_id
|
|
99
|
+
)
|
|
100
|
+
AND NOT EXISTS (
|
|
101
|
+
SELECT 1
|
|
102
|
+
FROM billing_meter_epochs AS epoch
|
|
103
|
+
WHERE epoch.state = 'prepared'
|
|
104
|
+
AND NOT EXISTS (
|
|
105
|
+
SELECT 1
|
|
106
|
+
FROM billing_meter_writer_epoch_baselines AS baseline
|
|
107
|
+
WHERE baseline.epoch_id = epoch.id
|
|
108
|
+
AND baseline.session_id = session.session_id
|
|
109
|
+
)
|
|
110
|
+
AND (
|
|
111
|
+
session.started_at >= epoch.prepared_at OR
|
|
112
|
+
session.last_heartbeat_at >= epoch.prepared_at OR
|
|
113
|
+
session.closed_at >= epoch.prepared_at
|
|
114
|
+
)
|
|
115
|
+
)
|
|
116
|
+
AND NOT EXISTS (
|
|
117
|
+
SELECT 1
|
|
118
|
+
FROM billing_meter_writer_epoch_baselines AS baseline
|
|
119
|
+
JOIN billing_meter_epochs AS epoch ON epoch.id = baseline.epoch_id
|
|
120
|
+
WHERE baseline.session_id = session.session_id
|
|
121
|
+
AND baseline.armed_at IS NULL
|
|
122
|
+
AND epoch.state = 'prepared'
|
|
123
|
+
)
|
|
124
|
+
ORDER BY COALESCE(session.closed_at, session.last_heartbeat_at), session.session_id
|
|
125
|
+
LIMIT $2
|
|
126
|
+
FOR UPDATE OF session SKIP LOCKED`, [now, limit]);
|
|
127
|
+
return result.rows;
|
|
128
|
+
}
|
|
129
|
+
async function foldWriterSessionBaseline(client, input) {
|
|
130
|
+
const folded = await client.query(`INSERT INTO billing_meter_writer_epoch_rollups
|
|
131
|
+
(epoch_id, schema_version, compacted_sessions, unclean_stop_count,
|
|
132
|
+
observed_calls_delta, attempted_writes_delta, recorded_writes_delta,
|
|
133
|
+
duplicate_writes_delta, final_failures_delta, no_epoch_skips_delta,
|
|
134
|
+
circuit_open_skips_delta, saturation_skips_delta, derivation_failures_delta,
|
|
135
|
+
epoch_identity_failures_delta, timeout_unknown_outcomes_delta, in_flight_writes,
|
|
136
|
+
first_compacted_at, last_compacted_at)
|
|
137
|
+
SELECT baseline.epoch_id, 1, 1, CASE WHEN $3::boolean THEN 1 ELSE 0 END,
|
|
138
|
+
COALESCE(endpoint.observed_calls, session.observed_calls) - baseline.observed_calls,
|
|
139
|
+
COALESCE(endpoint.attempted_writes, session.attempted_writes) -
|
|
140
|
+
baseline.attempted_writes,
|
|
141
|
+
COALESCE(endpoint.recorded_writes, session.recorded_writes) -
|
|
142
|
+
baseline.recorded_writes,
|
|
143
|
+
COALESCE(endpoint.duplicate_writes, session.duplicate_writes) -
|
|
144
|
+
baseline.duplicate_writes,
|
|
145
|
+
COALESCE(endpoint.final_failures, session.final_failures) - baseline.final_failures,
|
|
146
|
+
COALESCE(endpoint.no_epoch_skips, session.no_epoch_skips) - baseline.no_epoch_skips,
|
|
147
|
+
COALESCE(endpoint.circuit_open_skips, session.circuit_open_skips) -
|
|
148
|
+
baseline.circuit_open_skips,
|
|
149
|
+
COALESCE(endpoint.saturation_skips, session.saturation_skips) -
|
|
150
|
+
baseline.saturation_skips,
|
|
151
|
+
COALESCE(endpoint.derivation_failures, session.derivation_failures) -
|
|
152
|
+
baseline.derivation_failures,
|
|
153
|
+
COALESCE(endpoint.epoch_identity_failures, session.epoch_identity_failures) -
|
|
154
|
+
baseline.epoch_identity_failures,
|
|
155
|
+
COALESCE(endpoint.timeout_unknown_outcomes, session.timeout_unknown_outcomes) -
|
|
156
|
+
baseline.timeout_unknown_outcomes,
|
|
157
|
+
COALESCE(endpoint.in_flight_writes, session.in_flight_writes), $4, $4
|
|
158
|
+
FROM billing_meter_writer_epoch_baselines AS baseline
|
|
159
|
+
JOIN billing_meter_writer_sessions AS session ON session.session_id = baseline.session_id
|
|
160
|
+
LEFT JOIN billing_meter_writer_epoch_baselines AS endpoint
|
|
161
|
+
ON endpoint.epoch_id = $5 AND endpoint.session_id = baseline.session_id
|
|
162
|
+
WHERE baseline.epoch_id = $1 AND baseline.session_id = $2
|
|
163
|
+
AND ($5::text IS NULL OR endpoint.epoch_id IS NOT NULL)
|
|
164
|
+
AND COALESCE(endpoint.observed_calls, session.observed_calls) >= baseline.observed_calls
|
|
165
|
+
AND COALESCE(endpoint.attempted_writes, session.attempted_writes) >=
|
|
166
|
+
baseline.attempted_writes
|
|
167
|
+
AND COALESCE(endpoint.recorded_writes, session.recorded_writes) >=
|
|
168
|
+
baseline.recorded_writes
|
|
169
|
+
AND COALESCE(endpoint.duplicate_writes, session.duplicate_writes) >=
|
|
170
|
+
baseline.duplicate_writes
|
|
171
|
+
AND COALESCE(endpoint.final_failures, session.final_failures) >= baseline.final_failures
|
|
172
|
+
AND COALESCE(endpoint.no_epoch_skips, session.no_epoch_skips) >= baseline.no_epoch_skips
|
|
173
|
+
AND COALESCE(endpoint.circuit_open_skips, session.circuit_open_skips) >=
|
|
174
|
+
baseline.circuit_open_skips
|
|
175
|
+
AND COALESCE(endpoint.saturation_skips, session.saturation_skips) >=
|
|
176
|
+
baseline.saturation_skips
|
|
177
|
+
AND COALESCE(endpoint.derivation_failures, session.derivation_failures) >=
|
|
178
|
+
baseline.derivation_failures
|
|
179
|
+
AND COALESCE(endpoint.epoch_identity_failures, session.epoch_identity_failures) >=
|
|
180
|
+
baseline.epoch_identity_failures
|
|
181
|
+
AND COALESCE(endpoint.timeout_unknown_outcomes, session.timeout_unknown_outcomes) >=
|
|
182
|
+
baseline.timeout_unknown_outcomes
|
|
183
|
+
ON CONFLICT (epoch_id) DO UPDATE SET
|
|
184
|
+
compacted_sessions = billing_meter_writer_epoch_rollups.compacted_sessions + 1,
|
|
185
|
+
unclean_stop_count = billing_meter_writer_epoch_rollups.unclean_stop_count +
|
|
186
|
+
EXCLUDED.unclean_stop_count,
|
|
187
|
+
observed_calls_delta = billing_meter_writer_epoch_rollups.observed_calls_delta +
|
|
188
|
+
EXCLUDED.observed_calls_delta,
|
|
189
|
+
attempted_writes_delta = billing_meter_writer_epoch_rollups.attempted_writes_delta +
|
|
190
|
+
EXCLUDED.attempted_writes_delta,
|
|
191
|
+
recorded_writes_delta = billing_meter_writer_epoch_rollups.recorded_writes_delta +
|
|
192
|
+
EXCLUDED.recorded_writes_delta,
|
|
193
|
+
duplicate_writes_delta = billing_meter_writer_epoch_rollups.duplicate_writes_delta +
|
|
194
|
+
EXCLUDED.duplicate_writes_delta,
|
|
195
|
+
final_failures_delta = billing_meter_writer_epoch_rollups.final_failures_delta +
|
|
196
|
+
EXCLUDED.final_failures_delta,
|
|
197
|
+
no_epoch_skips_delta = billing_meter_writer_epoch_rollups.no_epoch_skips_delta +
|
|
198
|
+
EXCLUDED.no_epoch_skips_delta,
|
|
199
|
+
circuit_open_skips_delta = billing_meter_writer_epoch_rollups.circuit_open_skips_delta +
|
|
200
|
+
EXCLUDED.circuit_open_skips_delta,
|
|
201
|
+
saturation_skips_delta = billing_meter_writer_epoch_rollups.saturation_skips_delta +
|
|
202
|
+
EXCLUDED.saturation_skips_delta,
|
|
203
|
+
derivation_failures_delta = billing_meter_writer_epoch_rollups.derivation_failures_delta +
|
|
204
|
+
EXCLUDED.derivation_failures_delta,
|
|
205
|
+
epoch_identity_failures_delta =
|
|
206
|
+
billing_meter_writer_epoch_rollups.epoch_identity_failures_delta +
|
|
207
|
+
EXCLUDED.epoch_identity_failures_delta,
|
|
208
|
+
timeout_unknown_outcomes_delta =
|
|
209
|
+
billing_meter_writer_epoch_rollups.timeout_unknown_outcomes_delta +
|
|
210
|
+
EXCLUDED.timeout_unknown_outcomes_delta,
|
|
211
|
+
in_flight_writes = billing_meter_writer_epoch_rollups.in_flight_writes +
|
|
212
|
+
EXCLUDED.in_flight_writes,
|
|
213
|
+
first_compacted_at = LEAST(
|
|
214
|
+
billing_meter_writer_epoch_rollups.first_compacted_at,
|
|
215
|
+
EXCLUDED.first_compacted_at
|
|
216
|
+
),
|
|
217
|
+
last_compacted_at = GREATEST(
|
|
218
|
+
billing_meter_writer_epoch_rollups.last_compacted_at,
|
|
219
|
+
EXCLUDED.last_compacted_at
|
|
220
|
+
)
|
|
221
|
+
RETURNING 1`, [input.epochId, input.sessionId, input.uncleanStop, input.compactedAt, input.nextEpochId]);
|
|
222
|
+
if (folded.rowCount !== 1) {
|
|
223
|
+
throw new Error('billing meter writer counters regressed below their epoch baseline');
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
function boundedInteger(name, value, minimum, maximum) {
|
|
227
|
+
if (!Number.isSafeInteger(value) || value < minimum || value > maximum) {
|
|
228
|
+
throw new Error(`${name} must be between ${minimum} and ${maximum}`);
|
|
229
|
+
}
|
|
230
|
+
return value;
|
|
231
|
+
}
|
|
232
|
+
async function rollbackQuietly(client) {
|
|
233
|
+
try {
|
|
234
|
+
await client.query('ROLLBACK');
|
|
235
|
+
}
|
|
236
|
+
catch {
|
|
237
|
+
// Preserve the original transaction failure.
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
//# sourceMappingURL=postgres-meter-writer-compaction.js.map
|
package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-writer-compaction.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postgres-meter-writer-compaction.js","sourceRoot":"","sources":["../../src/billing/postgres-meter-writer-compaction.ts"],"names":[],"mappings":"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"}
|
package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-writer-health-schema.d.ts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Pool } from 'pg';
|
|
2
|
+
/** Additive live-validation writer health schema. It does not prepare or activate a meter epoch. */
|
|
3
|
+
export declare function ensureBillingMeterWriterHealthSchema(pool: Pool): Promise<void>;
|
|
4
|
+
//# sourceMappingURL=postgres-meter-writer-health-schema.d.ts.map
|
package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-writer-health-schema.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postgres-meter-writer-health-schema.d.ts","sourceRoot":"","sources":["../../src/billing/postgres-meter-writer-health-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAE/B,oGAAoG;AACpG,wBAAsB,oCAAoC,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAyIpF"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/** Additive live-validation writer health schema. It does not prepare or activate a meter epoch. */
|
|
2
|
+
export async function ensureBillingMeterWriterHealthSchema(pool) {
|
|
3
|
+
await pool.query(`
|
|
4
|
+
CREATE TABLE IF NOT EXISTS billing_meter_writer_sessions (
|
|
5
|
+
session_id text PRIMARY KEY,
|
|
6
|
+
schema_version integer NOT NULL DEFAULT 1 CHECK (schema_version = 1),
|
|
7
|
+
release_sha text NOT NULL CHECK (release_sha ~ '^[0-9a-f]{40}$'),
|
|
8
|
+
key_generation text NOT NULL CHECK (key_generation ~ '^[0-9a-f]{64}$'),
|
|
9
|
+
retry_identity_version integer NOT NULL CHECK (retry_identity_version > 0),
|
|
10
|
+
writer_contract_version integer NOT NULL CHECK (writer_contract_version > 0),
|
|
11
|
+
started_at timestamptz NOT NULL,
|
|
12
|
+
last_heartbeat_at timestamptz NOT NULL,
|
|
13
|
+
closed_at timestamptz,
|
|
14
|
+
clean_stop boolean NOT NULL DEFAULT false,
|
|
15
|
+
report_version bigint NOT NULL DEFAULT 0 CHECK (report_version >= 0),
|
|
16
|
+
observed_calls bigint NOT NULL DEFAULT 0 CHECK (observed_calls >= 0),
|
|
17
|
+
attempted_writes bigint NOT NULL DEFAULT 0 CHECK (attempted_writes >= 0),
|
|
18
|
+
recorded_writes bigint NOT NULL DEFAULT 0 CHECK (recorded_writes >= 0),
|
|
19
|
+
duplicate_writes bigint NOT NULL DEFAULT 0 CHECK (duplicate_writes >= 0),
|
|
20
|
+
final_failures bigint NOT NULL DEFAULT 0 CHECK (final_failures >= 0),
|
|
21
|
+
no_epoch_skips bigint NOT NULL DEFAULT 0 CHECK (no_epoch_skips >= 0),
|
|
22
|
+
circuit_open_skips bigint NOT NULL DEFAULT 0 CHECK (circuit_open_skips >= 0),
|
|
23
|
+
saturation_skips bigint NOT NULL DEFAULT 0 CHECK (saturation_skips >= 0),
|
|
24
|
+
derivation_failures bigint NOT NULL DEFAULT 0 CHECK (derivation_failures >= 0),
|
|
25
|
+
epoch_identity_failures bigint NOT NULL DEFAULT 0 CHECK (epoch_identity_failures >= 0),
|
|
26
|
+
timeout_unknown_outcomes bigint NOT NULL DEFAULT 0 CHECK (timeout_unknown_outcomes >= 0),
|
|
27
|
+
in_flight_writes bigint NOT NULL DEFAULT 0 CHECK (in_flight_writes >= 0),
|
|
28
|
+
CHECK (
|
|
29
|
+
(closed_at IS NULL AND NOT clean_stop) OR
|
|
30
|
+
(closed_at IS NOT NULL AND clean_stop AND in_flight_writes = 0)
|
|
31
|
+
)
|
|
32
|
+
)
|
|
33
|
+
`);
|
|
34
|
+
await pool.query(`
|
|
35
|
+
CREATE INDEX IF NOT EXISTS billing_meter_writer_sessions_heartbeat_idx
|
|
36
|
+
ON billing_meter_writer_sessions (last_heartbeat_at DESC)
|
|
37
|
+
WHERE closed_at IS NULL
|
|
38
|
+
`);
|
|
39
|
+
await pool.query(`
|
|
40
|
+
CREATE INDEX IF NOT EXISTS billing_meter_writer_sessions_closed_idx
|
|
41
|
+
ON billing_meter_writer_sessions (closed_at)
|
|
42
|
+
WHERE clean_stop
|
|
43
|
+
`);
|
|
44
|
+
await pool.query(`
|
|
45
|
+
CREATE TABLE IF NOT EXISTS billing_meter_writer_epoch_baselines (
|
|
46
|
+
attachment_sequence bigint GENERATED ALWAYS AS IDENTITY,
|
|
47
|
+
epoch_id text NOT NULL REFERENCES billing_meter_epochs(id) ON DELETE RESTRICT,
|
|
48
|
+
session_id text NOT NULL REFERENCES billing_meter_writer_sessions(session_id)
|
|
49
|
+
ON DELETE RESTRICT,
|
|
50
|
+
attached_at timestamptz NOT NULL,
|
|
51
|
+
report_version bigint NOT NULL CHECK (report_version >= 0),
|
|
52
|
+
observed_calls bigint NOT NULL CHECK (observed_calls >= 0),
|
|
53
|
+
attempted_writes bigint NOT NULL CHECK (attempted_writes >= 0),
|
|
54
|
+
recorded_writes bigint NOT NULL CHECK (recorded_writes >= 0),
|
|
55
|
+
duplicate_writes bigint NOT NULL CHECK (duplicate_writes >= 0),
|
|
56
|
+
final_failures bigint NOT NULL CHECK (final_failures >= 0),
|
|
57
|
+
no_epoch_skips bigint NOT NULL CHECK (no_epoch_skips >= 0),
|
|
58
|
+
circuit_open_skips bigint NOT NULL CHECK (circuit_open_skips >= 0),
|
|
59
|
+
saturation_skips bigint NOT NULL CHECK (saturation_skips >= 0),
|
|
60
|
+
derivation_failures bigint NOT NULL CHECK (derivation_failures >= 0),
|
|
61
|
+
epoch_identity_failures bigint NOT NULL CHECK (epoch_identity_failures >= 0),
|
|
62
|
+
timeout_unknown_outcomes bigint NOT NULL CHECK (timeout_unknown_outcomes >= 0),
|
|
63
|
+
in_flight_writes bigint NOT NULL CHECK (in_flight_writes >= 0),
|
|
64
|
+
armed_at timestamptz,
|
|
65
|
+
PRIMARY KEY (epoch_id, session_id)
|
|
66
|
+
)
|
|
67
|
+
`);
|
|
68
|
+
await pool.query(`
|
|
69
|
+
ALTER TABLE billing_meter_writer_epoch_baselines
|
|
70
|
+
ADD COLUMN IF NOT EXISTS attachment_sequence bigint GENERATED ALWAYS AS IDENTITY,
|
|
71
|
+
ADD COLUMN IF NOT EXISTS armed_at timestamptz
|
|
72
|
+
`);
|
|
73
|
+
await pool.query(`
|
|
74
|
+
CREATE UNIQUE INDEX IF NOT EXISTS billing_meter_writer_epoch_baselines_sequence_idx
|
|
75
|
+
ON billing_meter_writer_epoch_baselines (attachment_sequence)
|
|
76
|
+
`);
|
|
77
|
+
await pool.query(`
|
|
78
|
+
CREATE TABLE IF NOT EXISTS billing_meter_writer_epoch_rollups (
|
|
79
|
+
epoch_id text PRIMARY KEY
|
|
80
|
+
REFERENCES billing_meter_epochs(id) ON DELETE RESTRICT,
|
|
81
|
+
schema_version integer NOT NULL DEFAULT 1 CHECK (schema_version = 1),
|
|
82
|
+
compacted_sessions bigint NOT NULL DEFAULT 0 CHECK (compacted_sessions >= 0),
|
|
83
|
+
unclean_stop_count bigint NOT NULL DEFAULT 0 CHECK (unclean_stop_count >= 0),
|
|
84
|
+
observed_calls_delta bigint NOT NULL DEFAULT 0 CHECK (observed_calls_delta >= 0),
|
|
85
|
+
attempted_writes_delta bigint NOT NULL DEFAULT 0 CHECK (attempted_writes_delta >= 0),
|
|
86
|
+
recorded_writes_delta bigint NOT NULL DEFAULT 0 CHECK (recorded_writes_delta >= 0),
|
|
87
|
+
duplicate_writes_delta bigint NOT NULL DEFAULT 0 CHECK (duplicate_writes_delta >= 0),
|
|
88
|
+
final_failures_delta bigint NOT NULL DEFAULT 0 CHECK (final_failures_delta >= 0),
|
|
89
|
+
no_epoch_skips_delta bigint NOT NULL DEFAULT 0 CHECK (no_epoch_skips_delta >= 0),
|
|
90
|
+
circuit_open_skips_delta bigint NOT NULL DEFAULT 0 CHECK (circuit_open_skips_delta >= 0),
|
|
91
|
+
saturation_skips_delta bigint NOT NULL DEFAULT 0 CHECK (saturation_skips_delta >= 0),
|
|
92
|
+
derivation_failures_delta bigint NOT NULL DEFAULT 0 CHECK (derivation_failures_delta >= 0),
|
|
93
|
+
epoch_identity_failures_delta bigint NOT NULL DEFAULT 0
|
|
94
|
+
CHECK (epoch_identity_failures_delta >= 0),
|
|
95
|
+
timeout_unknown_outcomes_delta bigint NOT NULL DEFAULT 0
|
|
96
|
+
CHECK (timeout_unknown_outcomes_delta >= 0),
|
|
97
|
+
in_flight_writes bigint NOT NULL DEFAULT 0 CHECK (in_flight_writes >= 0),
|
|
98
|
+
first_compacted_at timestamptz NOT NULL,
|
|
99
|
+
last_compacted_at timestamptz NOT NULL,
|
|
100
|
+
CHECK (last_compacted_at >= first_compacted_at)
|
|
101
|
+
)
|
|
102
|
+
`);
|
|
103
|
+
await pool.query(`
|
|
104
|
+
ALTER TABLE billing_meter_usage_events
|
|
105
|
+
ADD COLUMN IF NOT EXISTS writer_session_id text
|
|
106
|
+
`);
|
|
107
|
+
await pool.query(`
|
|
108
|
+
CREATE INDEX IF NOT EXISTS billing_meter_usage_events_epoch_writer_idx
|
|
109
|
+
ON billing_meter_usage_events (epoch_id, writer_session_id, recorded_at DESC)
|
|
110
|
+
WHERE writer_session_id IS NOT NULL
|
|
111
|
+
`);
|
|
112
|
+
await pool.query(`
|
|
113
|
+
DO $billing_meter_writer_health$
|
|
114
|
+
BEGIN
|
|
115
|
+
IF NOT EXISTS (
|
|
116
|
+
SELECT 1 FROM pg_constraint
|
|
117
|
+
WHERE conname = 'billing_meter_usage_events_writer_session_fk'
|
|
118
|
+
AND conrelid = 'billing_meter_usage_events'::regclass
|
|
119
|
+
) THEN
|
|
120
|
+
ALTER TABLE billing_meter_usage_events
|
|
121
|
+
ADD CONSTRAINT billing_meter_usage_events_writer_session_fk
|
|
122
|
+
FOREIGN KEY (writer_session_id)
|
|
123
|
+
REFERENCES billing_meter_writer_sessions(session_id) ON DELETE RESTRICT;
|
|
124
|
+
END IF;
|
|
125
|
+
IF NOT EXISTS (
|
|
126
|
+
SELECT 1 FROM pg_constraint
|
|
127
|
+
WHERE conname = 'billing_meter_usage_events_writer_baseline_fk'
|
|
128
|
+
AND conrelid = 'billing_meter_usage_events'::regclass
|
|
129
|
+
) THEN
|
|
130
|
+
ALTER TABLE billing_meter_usage_events
|
|
131
|
+
ADD CONSTRAINT billing_meter_usage_events_writer_baseline_fk
|
|
132
|
+
FOREIGN KEY (epoch_id, writer_session_id)
|
|
133
|
+
REFERENCES billing_meter_writer_epoch_baselines(epoch_id, session_id)
|
|
134
|
+
ON DELETE RESTRICT;
|
|
135
|
+
END IF;
|
|
136
|
+
END
|
|
137
|
+
$billing_meter_writer_health$
|
|
138
|
+
`);
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=postgres-meter-writer-health-schema.js.map
|
package/node_modules/@noodle-borg/service/dist/billing/postgres-meter-writer-health-schema.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postgres-meter-writer-health-schema.js","sourceRoot":"","sources":["../../src/billing/postgres-meter-writer-health-schema.ts"],"names":[],"mappings":"AAEA,oGAAoG;AACpG,MAAM,CAAC,KAAK,UAAU,oCAAoC,CAAC,IAAU;IACnE,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;GAIhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;GAIhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;GAuBhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;GAIhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;GAGhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;GAyBhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;GAGhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;GAIhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BhB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgres-migration.d.ts","sourceRoot":"","sources":["../../src/billing/postgres-migration.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAc,MAAM,IAAI,CAAC;AAC3C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAMnE,OAAO,EACL,KAAK,kCAAkC,EACvC,KAAK,iCAAiC,EAOvC,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"postgres-migration.d.ts","sourceRoot":"","sources":["../../src/billing/postgres-migration.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAc,MAAM,IAAI,CAAC;AAC3C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAMnE,OAAO,EACL,KAAK,kCAAkC,EACvC,KAAK,iCAAiC,EAOvC,MAAM,sBAAsB,CAAC;AAyD9B,wBAAsB,gCAAgC,CACpD,IAAI,EAAE,IAAI,EACV,KAAK,EAAE;IACL,QAAQ,CAAC,OAAO,EAAE,kCAAkC,CAAC;IACrD,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,EACD,GAAG,EAAE,MAAM,IAAI,GACd,OAAO,CAAC,iCAAiC,CAAC,CAgQ5C"}
|
|
@@ -21,6 +21,10 @@ const TABLE_LOCKS = [
|
|
|
21
21
|
'billing_account_active_snapshots',
|
|
22
22
|
'org_billing_home_accounts',
|
|
23
23
|
'org_billing_links',
|
|
24
|
+
'billing_enforcement_cohort_seals',
|
|
25
|
+
'billing_account_enforcement_profiles',
|
|
26
|
+
'billing_account_active_enforcement_profiles',
|
|
27
|
+
'billing_enforcement_cohort_operations',
|
|
24
28
|
'billing_legacy_migration_preparations',
|
|
25
29
|
'billing_legacy_migration_accounts',
|
|
26
30
|
'billing_legacy_migration_organizations',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgres-migration.js","sourceRoot":"","sources":["../../src/billing/postgres-migration.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"postgres-migration.js","sourceRoot":"","sources":["../../src/billing/postgres-migration.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgres-schema.d.ts","sourceRoot":"","sources":["../../src/billing/postgres-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"postgres-schema.d.ts","sourceRoot":"","sources":["../../src/billing/postgres-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAO/B,2FAA2F;AAC3F,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAoSnE"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { FREE_PLAN_VERSION } from './model.js';
|
|
2
|
+
import { ensureBillingEnforcementProfileSchema } from './postgres-enforcement-profile-schema.js';
|
|
3
|
+
import { ensureAuthoritativeMeterSchema } from './postgres-meter-schema.js';
|
|
4
|
+
import { ensureBillingMeterWriterHealthSchema } from './postgres-meter-writer-health-schema.js';
|
|
2
5
|
import { planVersionRowToRecord } from './postgres-records.js';
|
|
3
6
|
/** Additive BA-1 schema. No existing organization is linked or otherwise migrated here. */
|
|
4
7
|
export async function ensureBillingSchema(pool) {
|
|
@@ -196,6 +199,9 @@ export async function ensureBillingSchema(pool) {
|
|
|
196
199
|
PRIMARY KEY (billing_account_id, org_slug, window_start)
|
|
197
200
|
)
|
|
198
201
|
`);
|
|
202
|
+
await ensureAuthoritativeMeterSchema(pool);
|
|
203
|
+
await ensureBillingMeterWriterHealthSchema(pool);
|
|
204
|
+
await ensureBillingEnforcementProfileSchema(pool);
|
|
199
205
|
await pool.query(`
|
|
200
206
|
CREATE TABLE IF NOT EXISTS billing_legacy_migration_preparations (
|
|
201
207
|
id text PRIMARY KEY,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgres-schema.js","sourceRoot":"","sources":["../../src/billing/postgres-schema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"postgres-schema.js","sourceRoot":"","sources":["../../src/billing/postgres-schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,qCAAqC,EAAE,MAAM,0CAA0C,CAAC;AACjG,OAAO,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,oCAAoC,EAAE,MAAM,0CAA0C,CAAC;AAChG,OAAO,EAAuB,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAEpF,2FAA2F;AAC3F,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAAU;IAClD,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;GAWhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;GAOhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;GAOhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;GAUhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;GAGhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;GAGhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;GAqBhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;GAkBhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;GAOhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;GAWhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;GAehB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;GAGhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;GAKhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;GAyBhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;GAIhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;GAGhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;GAWhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;GAYhB,CAAC,CAAC;IACH,MAAM,8BAA8B,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,oCAAoC,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,qCAAqC,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;GAiBhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;;GAYhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;GAGhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;;;GAWhB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;GAShB,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,KAAK,CAAC;;;;;;;;;GAShB,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,KAAK,CACd;;;iCAG6B,EAC7B;QACE,iBAAiB,CAAC,EAAE;QACpB,iBAAiB,CAAC,QAAQ;QAC1B,iBAAiB,CAAC,OAAO;QACzB,iBAAiB,CAAC,aAAa;QAC/B,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,YAAY,CAAC;QAC9C,iBAAiB,CAAC,eAAe;QACjC,iBAAiB,CAAC,SAAS;KAC5B,CACF,CAAC;IACF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAC/B,mDAAmD,EACnD,CAAC,iBAAiB,CAAC,EAAE,CAAC,CACvB,CAAC;IACF,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5E,IACE,aAAa,KAAK,SAAS;QAC3B,aAAa,CAAC,eAAe,KAAK,iBAAiB,CAAC,eAAe,EACnE,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;IAClG,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../src/billing/postgres.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAE3C,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EAEvB,KAAK,yBAAyB,EAI9B,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EAGvB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../src/billing/postgres.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { validateSlug } from '../store/validate.js';
|
|
2
2
|
import { createDefaultFreeBillingRecords, GOOGLE_CONTROL_PLANE_ISSUER, normalizeBillingEmail, normalizeBillingIdentity, validateBillingAccountId, validateBillingLinkReason, } from './model.js';
|
|
3
|
+
import { ensurePostSealBillingAccountEnforcementProfileTx, requireBillingAccountEnforcementProfileIfSealedTx, } from './postgres-enforcement-profile.js';
|
|
3
4
|
import { accountRowToRecord, entitlementSnapshotRowToRecord, memberRowToRecord, orgBillingLinkRowToRecord, planVersionRowToRecord, validateScalarId, } from './postgres-records.js';
|
|
4
5
|
export function ensureDefaultBillingAccountRow(pool, input, now) {
|
|
5
6
|
return withBillingTransaction(pool, (client) => ensureDefaultBillingAccountTx(client, input, now()));
|
|
@@ -26,6 +27,7 @@ async function ensureDefaultBillingAccountAfterSerializationTx(client, input, cr
|
|
|
26
27
|
if (updated.rows[0]?.role !== 'owner' || activeSnapshot === undefined) {
|
|
27
28
|
throw new Error('default billing account is incomplete');
|
|
28
29
|
}
|
|
30
|
+
await requireBillingAccountEnforcementProfileIfSealedTx(client, existing.id);
|
|
29
31
|
return existing;
|
|
30
32
|
}
|
|
31
33
|
const created = createDefaultFreeBillingRecords({
|
|
@@ -44,6 +46,7 @@ async function ensureDefaultBillingAccountAfterSerializationTx(client, input, cr
|
|
|
44
46
|
created.account.state,
|
|
45
47
|
created.account.createdAt,
|
|
46
48
|
]);
|
|
49
|
+
await ensurePostSealBillingAccountEnforcementProfileTx(client, created.account.id);
|
|
47
50
|
await client.query(`INSERT INTO billing_account_members
|
|
48
51
|
(billing_account_id, identity_issuer, subject, email, role, created_at)
|
|
49
52
|
VALUES ($1, $2, $3, $4, $5, $6)`, [
|