// Offline licence keys for Garage apps — layered on garage_auth. // // One key per entitlement, verified against the store's published JWKS. The // key is the gate; the ledger is the truth behind it. // // final ent = GarageEntitlements( // auth: auth, // projectSlug: "field-notes", // apiBaseUrl: "https://pay.imbenji.net/api", // ); // await ent.cached(); // boot, no network // await ent.refresh(); // when theres a connection // if (ent.has("pro-annual")) unlock(); library; export "src/garage_entitlements.dart" show GarageEntitlements, kGaragePortalBaseUrl, kGarageLicenceIssuer; export "src/models.dart" show GarageKey, GarageEntitlement, GarageProduct, EntitlementsError; export "src/key_cache.dart" show KeyCache, SecureKeyCache, MemoryKeyCache, CachedKeys;