@beignet/cli 0.0.13 → 0.0.14

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/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # @beignet/cli
2
2
 
3
+ ## 0.0.14
4
+
5
+ ### Patch Changes
6
+
7
+ - edf5ddc: Add first-class entitlement primitives for product access checks, devtools-ready entitlement decision observation, and doctor checks for entitlement wiring drift. Generated billing slices expose a billing-backed entitlements port.
8
+ - d51a35f: Add the provider-neutral payments port, memory payments adapter, Stripe payments provider, Next.js payment webhook route helper, `beignet make payments`, and first-class payments devtools view.
9
+ - 2baeb36: Add payments production-readiness doctor diagnostics, including Stripe-vs-memory provider wiring checks, and generated-app conformance coverage for the payments slice.
10
+ - Updated dependencies [0b106c3]
11
+ - Updated dependencies [6828442]
12
+ - Updated dependencies [edf5ddc]
13
+ - Updated dependencies [bcd3864]
14
+ - Updated dependencies [d51a35f]
15
+ - Updated dependencies [655c101]
16
+ - Updated dependencies [bcd3864]
17
+ - @beignet/core@0.0.14
18
+
3
19
  ## 0.0.13
4
20
 
5
21
  ### Patch Changes
package/README.md CHANGED
@@ -169,6 +169,7 @@ beignet make factory <feature>/<name> [options]
169
169
  beignet make feature <name> [options]
170
170
  beignet make job <feature>/<name> [options]
171
171
  beignet make notification <feature>/<name> [options]
172
+ beignet make payments [options]
172
173
  beignet make listener <feature>/<name> --event <feature>/<event> [options]
173
174
  beignet make schedule <feature>/<name> [options]
174
175
  beignet make upload <feature>/<name> [options]
@@ -213,6 +214,7 @@ Options:
213
214
  --attempt 1 One-based provider attempt number for schedule runs.
214
215
  --source manual Provider or app source label for schedule runs.
215
216
  --with policy,events Add optional artifacts to `make feature`; also supports tasks, jobs, notifications, ui, uploads.
217
+ make payments Add `features/billing`, a payments webhook route, billing persistence, entitlement checks, and local memory payments provider wiring.
216
218
  --auth Add authorization metadata, policy wiring, policy tests, and use-case gate checks to `make resource`.
217
219
  --tenant Add tenant-scoped schemas, repository filters, and use-case tenant checks to `make resource`.
218
220
  --events Add created, updated, and deleted domain events to `make resource`.
@@ -822,6 +824,15 @@ Today it detects:
822
824
  - Feature seeds without a `db:seed` package script
823
825
  - Upload definitions without an upload route
824
826
  - Upload definitions without explicit size limits
827
+ - Billing slices without a payment webhook route
828
+ - Billing checkout contracts missing idempotency metadata or an
829
+ `idempotency-key` header
830
+ - Billing webhook use cases that reference `ctx.ports.idempotency` when
831
+ `AppPorts` does not declare an idempotency port
832
+ - Entitlement checks without an `AppPorts` entitlements declaration
833
+ - Billing entitlement modules that are not wired into infra or server providers
834
+ - Stripe payments configuration paired with local memory payments provider
835
+ wiring
825
836
  - Devtools routes that are explicitly enabled without authorization
826
837
  - Cron routes that do not use `CRON_SECRET`
827
838
  - Installed provider packages without expected environment configuration
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAGA,OAAO,EAIL,KAAK,cAAc,EAInB,KAAK,4BAA4B,EACjC,KAAK,cAAc,EAEpB,MAAM,eAAe,CAAC;AAoBvB,KAAK,UAAU,GAAG,cAAc,GAAG;IACjC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;CAClC,CAAC;AAk+CF,wBAAsB,IAAI,CACxB,MAAM,WAAwB,EAC9B,OAAO,GAAE,4BAA4B,CAAC,UAAU,CAAe,GAC9D,OAAO,CAAC,IAAI,CAAC,CAiBf"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAGA,OAAO,EAIL,KAAK,cAAc,EAInB,KAAK,4BAA4B,EACjC,KAAK,cAAc,EAEpB,MAAM,eAAe,CAAC;AAoBvB,KAAK,UAAU,GAAG,cAAc,GAAG;IACjC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;CAClC,CAAC;AAqgDF,wBAAsB,IAAI,CACxB,MAAM,WAAwB,EAC9B,OAAO,GAAE,4BAA4B,CAAC,UAAU,CAAe,GAC9D,OAAO,CAAC,IAAI,CAAC,CAiBf"}
package/dist/index.js CHANGED
@@ -702,6 +702,26 @@ const makeScheduleCommand = buildCommand({
702
702
  };
703
703
  },
704
704
  });
705
+ const makePaymentsCommand = buildCommand({
706
+ docs: {
707
+ brief: "Generate a payments-backed billing slice.",
708
+ },
709
+ parameters: {
710
+ flags: makeFlagParameters,
711
+ },
712
+ loader: async () => {
713
+ const { makePayments } = await import("./make.js");
714
+ return async function runMakePayments(flags) {
715
+ const result = await makePayments({
716
+ force: Boolean(flags.force),
717
+ dryRun: Boolean(flags.dryRun),
718
+ });
719
+ writeOutput(this, flags.json
720
+ ? JSON.stringify(result, null, 2)
721
+ : makePaymentsNextSteps(result));
722
+ };
723
+ },
724
+ });
705
725
  const makeRoutes = buildRouteMap({
706
726
  docs: {
707
727
  brief: "Generate Beignet app files.",
@@ -714,6 +734,7 @@ const makeRoutes = buildRouteMap({
714
734
  feature: makeFeatureCommand,
715
735
  job: simpleMakeCommand("makeJob", "Generate a feature job.", makeJobNextSteps),
716
736
  notification: simpleMakeCommand("makeNotification", "Generate a feature notification.", makeNotificationNextSteps),
737
+ payments: makePaymentsCommand,
717
738
  listener: makeListenerCommand,
718
739
  policy: simpleMakeCommand("makePolicy", "Generate an authorization policy.", makePolicyNextSteps),
719
740
  port: simpleMakeCommand("makePort", "Generate an application port.", makePortNextSteps),
@@ -993,6 +1014,14 @@ function makeNotificationNextSteps(result) {
993
1014
  "Send the notification through ctx.ports.notifications so delivery can run inline in tests and through jobs in production.",
994
1015
  ]);
995
1016
  }
1017
+ function makePaymentsNextSteps(result) {
1018
+ return makeNextSteps(result, "billing slice", [
1019
+ "Set BILLING_TEAM_PRICE_ID in .env.local to the provider price ID for your team plan.",
1020
+ "Run beignet db generate and beignet db migrate so billing_accounts exists before handling webhooks.",
1021
+ "Use createMemoryPaymentsProvider() for local development, then swap server/providers.ts to stripePaymentsProvider when STRIPE_SECRET_KEY and STRIPE_WEBHOOK_SECRET are configured.",
1022
+ "Run your app's test, lint, and typecheck commands, then beignet lint and beignet doctor.",
1023
+ ]);
1024
+ }
996
1025
  function makeListenerNextSteps(result) {
997
1026
  return makeNextSteps(result, "listener", [
998
1027
  "Replace the starter handler with the event reaction.",
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/inspect.js CHANGED
@@ -1215,6 +1215,8 @@ async function inspectProductionReadiness(targetDir, files, config, convention)
1215
1215
  }
1216
1216
  }
1217
1217
  const providerEntries = await readProviderListEntries(targetDir, files, config, sourceCache);
1218
+ const stripeMemoryProviderMismatch = await hasStripeMemoryProviderMismatch(targetDir, sourceCache, configFiles, installedPackages, providerEntries);
1219
+ diagnostics.push(...(await inspectEntitlementsProductionReadiness(targetDir, files, config, sourceCache)), ...(await inspectPaymentsProductionReadiness(targetDir, files, config, sourceCache, installedPackages, stripeMemoryProviderMismatch)));
1218
1220
  for (const provider of providerDoctorRules) {
1219
1221
  if (!installedPackages.has(provider.packageName))
1220
1222
  continue;
@@ -1268,6 +1270,98 @@ async function inspectProductionReadiness(targetDir, files, config, convention)
1268
1270
  }
1269
1271
  return diagnostics;
1270
1272
  }
1273
+ async function inspectEntitlementsProductionReadiness(targetDir, files, config, sourceCache) {
1274
+ if (!(await usesEntitlementChecks(targetDir, files, sourceCache)) ||
1275
+ (await appPortsIncludesPort(targetDir, files, config, sourceCache, "entitlements"))) {
1276
+ return [];
1277
+ }
1278
+ return [
1279
+ {
1280
+ severity: "warning",
1281
+ code: "BEIGNET_ENTITLEMENTS_PORT_MISSING",
1282
+ file: config.paths.ports,
1283
+ message: "This app checks entitlements, but AppPorts does not declare an entitlements port. Add entitlements: EntitlementsPort; and wire a provider-backed entitlement resolver before deploying paid feature gates.",
1284
+ },
1285
+ ];
1286
+ }
1287
+ async function inspectPaymentsProductionReadiness(targetDir, files, config, sourceCache, installedPackages, stripeMemoryProviderMismatch) {
1288
+ if (!(hasBillingOrPaymentsFeature(files, config) ||
1289
+ installedPackages.has("@beignet/provider-payments-stripe"))) {
1290
+ return [];
1291
+ }
1292
+ const diagnostics = [];
1293
+ if (stripeMemoryProviderMismatch) {
1294
+ diagnostics.push({
1295
+ severity: "warning",
1296
+ code: "BEIGNET_PAYMENTS_STRIPE_MEMORY_PROVIDER",
1297
+ file: serverProviderFiles(files, config)[0] ?? config.paths.server,
1298
+ message: "@beignet/provider-payments-stripe is installed and Stripe env/config is present, but server/providers.ts still registers memory payments. Register stripePaymentsProvider before deploying Stripe-backed billing, or remove the Stripe provider/config until the app is ready to switch.",
1299
+ });
1300
+ }
1301
+ if (!(await hasPaymentWebhookRoute(targetDir, files, config, sourceCache))) {
1302
+ diagnostics.push({
1303
+ severity: "warning",
1304
+ code: "BEIGNET_PAYMENTS_WEBHOOK_ROUTE_MISSING",
1305
+ file: directoryPath(config.paths.routes),
1306
+ message: "This app appears to use payments, but no route calls createPaymentWebhookRoute(...). Expose payment webhooks under app/api/webhooks/payments/route.ts or an equivalent configured route so provider events can update billing state.",
1307
+ });
1308
+ }
1309
+ const billingContractsFile = `${directoryPath(config.paths.features)}/billing/contracts.ts`;
1310
+ if (files.includes(billingContractsFile)) {
1311
+ const source = await readCachedSource(targetDir, billingContractsFile, sourceCache);
1312
+ const checkoutContract = exportedConstInitializer(source, "createCheckoutSession");
1313
+ if (checkoutContract &&
1314
+ !(/\bidempotency\s*:/.test(checkoutContract) &&
1315
+ /["']idempotency-key["']/.test(checkoutContract))) {
1316
+ diagnostics.push({
1317
+ severity: "warning",
1318
+ code: "BEIGNET_BILLING_CHECKOUT_IDEMPOTENCY_MISSING",
1319
+ file: billingContractsFile,
1320
+ contract: "createCheckoutSession",
1321
+ message: "The billing checkout contract appears to create payment sessions without idempotency metadata and an idempotency-key header. Mark checkout as idempotent so retries do not create duplicate payment sessions.",
1322
+ });
1323
+ }
1324
+ }
1325
+ const billingUseCasesFile = `${directoryPath(config.paths.features)}/billing/use-cases/index.ts`;
1326
+ if (files.includes(billingUseCasesFile)) {
1327
+ const source = await readCachedSource(targetDir, billingUseCasesFile, sourceCache);
1328
+ if (/\bctx\.ports\.idempotency\b/.test(source) &&
1329
+ !(await appPortsIncludesIdempotency(targetDir, files, config, sourceCache))) {
1330
+ diagnostics.push({
1331
+ severity: "warning",
1332
+ code: "BEIGNET_BILLING_IDEMPOTENCY_PORT_MISSING",
1333
+ file: config.paths.ports,
1334
+ message: "Billing use cases reference ctx.ports.idempotency, but AppPorts does not declare an idempotency port. Add idempotency to AppPorts and provider wiring, or remove the stale billing workflow dependency.",
1335
+ });
1336
+ }
1337
+ }
1338
+ const billingEntitlementsFile = `${directoryPath(config.paths.features)}/billing/entitlements.ts`;
1339
+ if (files.includes(billingEntitlementsFile) &&
1340
+ !(await hasBillingEntitlementsProviderWiring(targetDir, files, config, sourceCache))) {
1341
+ diagnostics.push({
1342
+ severity: "warning",
1343
+ code: "BEIGNET_BILLING_ENTITLEMENTS_PROVIDER_MISSING",
1344
+ file: path.dirname(config.paths.infrastructurePorts),
1345
+ message: "features/billing/entitlements.ts exists, but no infra or server provider appears to call createBillingEntitlements(...). Wire the billing-backed entitlements port into AppPorts so paid feature gates use app billing state.",
1346
+ });
1347
+ }
1348
+ return diagnostics;
1349
+ }
1350
+ async function hasStripeMemoryProviderMismatch(targetDir, sourceCache, configFiles, installedPackages, providerEntries) {
1351
+ if (!installedPackages.has("@beignet/provider-payments-stripe")) {
1352
+ return false;
1353
+ }
1354
+ if (findProviderEntryIndex(providerEntries, ["stripePaymentsProvider"]) >= 0) {
1355
+ return false;
1356
+ }
1357
+ if (findProviderEntryIndex(providerEntries, [
1358
+ "createMemoryPaymentsProvider",
1359
+ "createMemoryPayments",
1360
+ ]) < 0) {
1361
+ return false;
1362
+ }
1363
+ return anyFileMatches(targetDir, configFiles, /\bSTRIPE_(?:SECRET_KEY|WEBHOOK_SECRET)\b/, sourceCache);
1364
+ }
1271
1365
  // Local-dev ranges such as the generated-app conformance vendoring point each
1272
1366
  // @beignet/* package at a different path on purpose, so they are exempt from
1273
1367
  // the declared-range comparison. Their installed versions still participate in
@@ -1380,9 +1474,14 @@ async function inspectProviderRegistrationDrift(targetDir, files, config, conven
1380
1474
  const providerFiles = serverProviderFiles(files, config);
1381
1475
  const sourceCache = new Map();
1382
1476
  const providerEntries = await readProviderListEntries(targetDir, files, config, sourceCache);
1477
+ const stripeMemoryProviderMismatch = await hasStripeMemoryProviderMismatch(targetDir, sourceCache, operationalConfigFiles(files, config), installedPackages, providerEntries);
1383
1478
  for (const provider of providerDoctorRules) {
1384
1479
  if (!installedPackages.has(provider.packageName))
1385
1480
  continue;
1481
+ if (provider.packageName === "@beignet/provider-payments-stripe" &&
1482
+ stripeMemoryProviderMismatch) {
1483
+ continue;
1484
+ }
1386
1485
  if (provider.variants !== undefined) {
1387
1486
  if (detectedProviderVariants(provider.variants, providerEntries).length > 0) {
1388
1487
  continue;
@@ -1671,6 +1770,81 @@ function hasBetterAuthRoute(files, config) {
1671
1770
  const routesPath = directoryPath(config.paths.routes);
1672
1771
  return files.some((file) => file.startsWith(`${routesPath}/auth/`) && file.endsWith("/route.ts"));
1673
1772
  }
1773
+ function hasBillingOrPaymentsFeature(files, config) {
1774
+ const featuresPath = directoryPath(config.paths.features);
1775
+ return files.some((file) => file.startsWith(`${featuresPath}/billing/`) ||
1776
+ file.startsWith(`${featuresPath}/payments/`));
1777
+ }
1778
+ async function hasPaymentWebhookRoute(targetDir, files, config, sourceCache) {
1779
+ const routesPath = directoryPath(config.paths.routes);
1780
+ const routeFiles = files.filter((file) => file.startsWith(`${routesPath}/`) && file.endsWith("/route.ts"));
1781
+ for (const file of routeFiles) {
1782
+ const source = await readCachedSource(targetDir, file, sourceCache);
1783
+ if (containsCallExpression(source, "createPaymentWebhookRoute")) {
1784
+ return true;
1785
+ }
1786
+ }
1787
+ return false;
1788
+ }
1789
+ async function appPortsIncludesIdempotency(targetDir, files, config, sourceCache) {
1790
+ return appPortsIncludesPort(targetDir, files, config, sourceCache, "idempotency");
1791
+ }
1792
+ async function appPortsIncludesPort(targetDir, files, config, sourceCache, portName) {
1793
+ if (!files.includes(config.paths.ports))
1794
+ return false;
1795
+ const source = await readCachedSource(targetDir, config.paths.ports, sourceCache);
1796
+ const declarationStart = source.search(/\bexport\s+type\s+AppPorts\b/);
1797
+ if (declarationStart < 0)
1798
+ return false;
1799
+ const bodyStart = source.indexOf("{", declarationStart);
1800
+ if (bodyStart < 0)
1801
+ return false;
1802
+ const body = balancedObjectSource(source, bodyStart);
1803
+ return (body !== undefined &&
1804
+ new RegExp(`\\b${escapeRegExp(portName)}\\s*:`).test(body));
1805
+ }
1806
+ async function usesEntitlementChecks(targetDir, files, sourceCache) {
1807
+ for (const file of files) {
1808
+ if (!/\.(?:ts|tsx|mts|cts)$/.test(file))
1809
+ continue;
1810
+ if (isTestSourceFile(file))
1811
+ continue;
1812
+ const source = await readCachedSource(targetDir, file, sourceCache);
1813
+ if (/\brequireEntitlement\s*\(/.test(source) ||
1814
+ /\bctx\.ports\.entitlements\b/.test(source)) {
1815
+ return true;
1816
+ }
1817
+ }
1818
+ return false;
1819
+ }
1820
+ async function hasBillingEntitlementsProviderWiring(targetDir, files, config, sourceCache) {
1821
+ const infraPath = path.dirname(config.paths.infrastructurePorts);
1822
+ const serverPath = path.dirname(config.paths.server);
1823
+ const candidateFiles = files.filter((file) => /\.(?:ts|tsx|mts|cts)$/.test(file) &&
1824
+ !isTestSourceFile(file) &&
1825
+ (file.startsWith(`${infraPath}/`) || file.startsWith(`${serverPath}/`)));
1826
+ for (const file of candidateFiles) {
1827
+ const source = await readCachedSource(targetDir, file, sourceCache);
1828
+ if (containsCallExpression(source, "createBillingEntitlements")) {
1829
+ return true;
1830
+ }
1831
+ }
1832
+ return false;
1833
+ }
1834
+ function isTestSourceFile(file) {
1835
+ return (/(?:^|\/)tests\//.test(file) ||
1836
+ /\.(?:test|spec)\.(?:ts|tsx|mts|cts)$/.test(file));
1837
+ }
1838
+ function exportedConstInitializer(source, exportName) {
1839
+ const declaration = new RegExp(`\\bexport\\s+const\\s+${escapeRegExp(exportName)}\\s*=`).exec(source);
1840
+ if (declaration?.index === undefined)
1841
+ return undefined;
1842
+ const start = declaration.index;
1843
+ const nextExport = /\n\s*export\s+(?:const|function|type|interface|class)\s+/g;
1844
+ nextExport.lastIndex = start + declaration[0].length;
1845
+ const next = nextExport.exec(source);
1846
+ return source.slice(start, next?.index ?? source.length);
1847
+ }
1674
1848
  function featureNameFromContractFile(file, config) {
1675
1849
  const featuresPath = directoryPath(config.paths.features);
1676
1850
  const match = new RegExp(`^${escapeRegExp(featuresPath)}/([^/]+)/contracts\\.ts$`).exec(file);