Files
Keysat 0ae59f3550 Add multi-tenant cloud mode: self-serve purchase, credit metering, core-decoupling
Introduces RECAP_MODE=multi alongside single-mode self-host:
- Tenant auth + accounts (magic-link via System SMTP), per-tenant credit pool,
  anonymous trial minting with per-IP/-64 caps
- Self-serve Pro/Max purchase: inline Lightning (BTCPay) + card (Zaprite),
  prepaid 30-day periods, expiry-reminder emails
- Core-decoupling: relay owns cloud tier/expiry keyed by Recaps user-id
- SQLite (better-sqlite3) schema for multi-mode; filesystem unchanged for single
- StartOS actions/versions through 0.2.155
2026-06-13 14:25:05 -05:00

18 lines
1.1 KiB
TypeScript

import { VersionInfo } from '@start9labs/start-sdk'
export const v_0_2_56 = VersionInfo.of({
version: '0.2.56:0',
releaseNotes: {
en_US:
'Buy relay credits in-app via Lightning.\n\n' +
'• New "Buy more →" button next to the credit-balance pill in the AI Providers settings block. Opens a modal styled to match the existing license-purchase flow.\n\n' +
'• Pick a bundle (1, 5, 10, or 20 credits — pricing operator-set on the relay side), modal opens the BTCPay checkout in a new tab. Once the invoice settles, the modal updates the balance pill and shows a confirmation toast — usually within a few seconds for Lightning payments.\n\n' +
'• Purchased credits never expire. They\'re consumed only after your tier\'s comped allotment runs out, so monthly comped credits keep coming as usual.\n\n' +
'• Requires the operator to wire BTCPay on the relay side (v0.2.14+ of the relay). When BTCPay isn\'t configured the "Buy more →" still appears but the modal surfaces a "contact the operator" message.',
},
migrations: {
up: async ({ effects }) => {},
down: async ({ effects }) => {},
},
})