@growth-labs/cms 0.5.2 → 0.5.4

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 (39) hide show
  1. package/README.md +10 -2
  2. package/dist/providers/null.d.ts.map +1 -1
  3. package/dist/providers/null.js +20 -3
  4. package/dist/providers/null.js.map +1 -1
  5. package/dist/providers/types.d.ts +93 -6
  6. package/dist/providers/types.d.ts.map +1 -1
  7. package/dist/providers/types.js +20 -1
  8. package/dist/providers/types.js.map +1 -1
  9. package/dist/routes/authz-matrix.d.ts.map +1 -1
  10. package/dist/routes/authz-matrix.js +4 -0
  11. package/dist/routes/authz-matrix.js.map +1 -1
  12. package/dist/routes/context.d.ts +1 -1
  13. package/dist/routes/context.d.ts.map +1 -1
  14. package/dist/routes/context.js.map +1 -1
  15. package/dist/routes/subscriptions.d.ts +9 -2
  16. package/dist/routes/subscriptions.d.ts.map +1 -1
  17. package/dist/routes/subscriptions.js +202 -21
  18. package/dist/routes/subscriptions.js.map +1 -1
  19. package/dist/ui/api/subscriptions.d.ts +1 -1
  20. package/dist/ui/api/subscriptions.d.ts.map +1 -1
  21. package/dist/ui/api/subscriptions.js +27 -5
  22. package/dist/ui/api/subscriptions.js.map +1 -1
  23. package/dist/ui/screens/SubscriptionsScreen.d.ts +44 -0
  24. package/dist/ui/screens/SubscriptionsScreen.d.ts.map +1 -1
  25. package/dist/ui/screens/SubscriptionsScreen.js +262 -54
  26. package/dist/ui/screens/SubscriptionsScreen.js.map +1 -1
  27. package/dist/ui/screens/subscriptions-data.d.ts +33 -0
  28. package/dist/ui/screens/subscriptions-data.d.ts.map +1 -0
  29. package/dist/ui/screens/subscriptions-data.js +143 -0
  30. package/dist/ui/screens/subscriptions-data.js.map +1 -0
  31. package/package.json +1 -1
  32. package/src/providers/null.ts +32 -3
  33. package/src/providers/types.ts +131 -4
  34. package/src/routes/authz-matrix.ts +4 -0
  35. package/src/routes/context.ts +3 -0
  36. package/src/routes/subscriptions.ts +269 -27
  37. package/src/ui/api/subscriptions.ts +27 -5
  38. package/src/ui/screens/SubscriptionsScreen.tsx +631 -116
  39. package/src/ui/screens/subscriptions-data.ts +193 -0
package/README.md CHANGED
@@ -143,6 +143,14 @@ unschedule/duplicate), `routes.authors` (list/create/get/update),
143
143
  init/part/complete/abort multipart flows for both podcast audio and video
144
144
  source uploads), and `routes.cron` (publish — gated by `requireAdmin`).
145
145
 
146
+ `routes.subscriptions` keeps paid members, exports, KPIs, plan mix, and paid
147
+ gift-order tracking separate from complimentary access administration. The
148
+ complimentary surface is explicit: list, grant, revoke, and retry-email
149
+ operations require `manage_complimentary_access`, validate browser-shaped
150
+ request and provider response bodies with Zod, and receive the trusted actor as
151
+ a server-derived argument. Browser payloads must not include actor/provenance
152
+ fields.
153
+
146
154
  The admin UI includes Social Share. Content selection fills destination URLs from
147
155
  the browser origin so URL inputs receive absolute links, and Author Social
148
156
  requires the selected author but does not require a social handle when the
@@ -275,14 +283,14 @@ const receipt = await publishOne(env.SITE_DB, {
275
283
  feedReconciler,
276
284
  searchReconciler,
277
285
  ],
278
- packageVersion: '0.5.0',
286
+ packageVersion: '0.5.3',
279
287
  })
280
288
 
281
289
  await rollbackPublication(env.SITE_DB, {
282
290
  contentId,
283
291
  targetRevisionId: priorRevisionId,
284
292
  surfaces: [sitemapReconciler, feedReconciler, searchReconciler],
285
- packageVersion: '0.5.0',
293
+ packageVersion: '0.5.3',
286
294
  })
287
295
  ```
288
296
 
@@ -1 +1 @@
1
- {"version":3,"file":"null.d.ts","sourceRoot":"","sources":["../../src/providers/null.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,qBAAqB,EACrB,MAAM,YAAY,CAAA;AAInB,eAAO,MAAM,aAAa,EAAE,iBAgD3B,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,qBAkD/B,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,gBAO1B,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,WAIxB,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,cAIxB,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,gBAc1B,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,YAO3B,CAAA"}
1
+ {"version":3,"file":"null.d.ts","sourceRoot":"","sources":["../../src/providers/null.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,qBAAqB,EACrB,MAAM,YAAY,CAAA;AAKnB,eAAO,MAAM,aAAa,EAAE,iBAgD3B,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,qBA8E/B,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,gBAO1B,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,WAIxB,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,cAIxB,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,gBAc1B,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,YAO3B,CAAA"}
@@ -1,4 +1,5 @@
1
1
  import { scoreDraft } from '../engine/seo.js';
2
+ import { ProviderHttpError } from './types.js';
2
3
  const empty = (data) => ({ status: 'empty', data });
3
4
  export const nullAnalytics = {
4
5
  async getKpis() {
@@ -65,9 +66,6 @@ export const nullSubscriptions = {
65
66
  async exportMembers() {
66
67
  return empty('');
67
68
  },
68
- async createGift() {
69
- return empty({ id: '' });
70
- },
71
69
  async detectDuplicates() {
72
70
  return empty({
73
71
  billingConflicts: [],
@@ -99,6 +97,25 @@ export const nullSubscriptions = {
99
97
  summary: { redeemed: 0, pendingClaim: 0 },
100
98
  });
101
99
  },
100
+ async listComplimentaryAccess(query) {
101
+ return empty({
102
+ rows: [],
103
+ total: 0,
104
+ page: query.page,
105
+ pageSize: query.pageSize,
106
+ totalPages: 0,
107
+ summary: { active: 0, revoked: 0, failedEmail: 0, unknownEmail: 0, notAttempted: 0 },
108
+ });
109
+ },
110
+ async grantComplimentaryAccess() {
111
+ throw new ProviderHttpError(501, 'complimentary_provider_unavailable', 'Complimentary access provider not configured');
112
+ },
113
+ async revokeComplimentaryAccess() {
114
+ throw new ProviderHttpError(501, 'complimentary_provider_unavailable', 'Complimentary access provider not configured');
115
+ },
116
+ async retryComplimentaryAccessEmail() {
117
+ throw new ProviderHttpError(501, 'complimentary_provider_unavailable', 'Complimentary access provider not configured');
118
+ },
102
119
  };
103
120
  export const nullIdentity = {
104
121
  async getSubject() {
@@ -1 +1 @@
1
- {"version":3,"file":"null.js","sourceRoot":"","sources":["../../src/providers/null.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"null.js","sourceRoot":"","sources":["../../src/providers/null.ts"],"names":[],"mappings":"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"}
@@ -167,6 +167,91 @@ export interface GiftOrdersPage {
167
167
  pendingClaim: number;
168
168
  };
169
169
  }
170
+ export interface ProviderHttpErrorBody {
171
+ error: string;
172
+ code: string;
173
+ nextEligibleAt?: number | null;
174
+ }
175
+ export declare class ProviderHttpError extends Error {
176
+ readonly status: number;
177
+ readonly code: string;
178
+ readonly nextEligibleAt: number | null;
179
+ constructor(status: number, code: string, message: string, nextEligibleAt?: number | null);
180
+ toBody(): ProviderHttpErrorBody;
181
+ }
182
+ export type ComplimentaryDeliveryStatus = 'pending' | 'sending' | 'sent' | 'failed' | 'unknown';
183
+ export type ComplimentaryEmailStatus = ComplimentaryDeliveryStatus | 'not_attempted';
184
+ export type ComplimentaryEntitlementStatusFilter = 'active' | 'revoked' | 'all';
185
+ export declare const MAX_COMPLIMENTARY_UNIX_SECONDS = 253402300799;
186
+ export interface ComplimentaryEntitlementRow {
187
+ id: string;
188
+ email: string;
189
+ grantReason: string;
190
+ grantedAt: number;
191
+ revokedAt: number | null;
192
+ revokeReason: string | null;
193
+ emailStatus: ComplimentaryEmailStatus;
194
+ emailAttemptCount: number;
195
+ emailRetryable: boolean;
196
+ emailNextEligibleAt: number | null;
197
+ }
198
+ export interface ComplimentaryAccessQuery {
199
+ q?: string;
200
+ status: ComplimentaryEntitlementStatusFilter;
201
+ page: number;
202
+ pageSize: number;
203
+ }
204
+ export interface ComplimentaryAccessPage {
205
+ rows: ComplimentaryEntitlementRow[];
206
+ total: number;
207
+ page: number;
208
+ pageSize: number;
209
+ totalPages: number;
210
+ summary: {
211
+ active: number;
212
+ revoked: number;
213
+ failedEmail: number;
214
+ unknownEmail: number;
215
+ notAttempted: number;
216
+ };
217
+ }
218
+ export interface TrustedActor {
219
+ subject: string;
220
+ }
221
+ export interface ComplimentaryGrantInput {
222
+ email: string;
223
+ reason: string;
224
+ }
225
+ export interface ComplimentaryGrantResult {
226
+ outcome: 'created' | 'already_active';
227
+ entitlement: ComplimentaryEntitlementRow;
228
+ email: {
229
+ status: ComplimentaryEmailStatus;
230
+ retryable: boolean;
231
+ nextEligibleAt: number | null;
232
+ };
233
+ }
234
+ export interface ComplimentaryRevokeInput {
235
+ entitlementId: string;
236
+ reason: string;
237
+ }
238
+ export interface ComplimentaryRevokeResult {
239
+ outcome: 'revoked' | 'already_revoked';
240
+ entitlement: ComplimentaryEntitlementRow;
241
+ }
242
+ export interface ComplimentaryEmailRetryInput {
243
+ entitlementId: string;
244
+ reason: string;
245
+ }
246
+ export interface ComplimentaryEmailRetryResult {
247
+ outcome: 'queued' | 'sent' | 'failed' | 'unknown' | 'throttled' | 'conflict';
248
+ entitlement: ComplimentaryEntitlementRow;
249
+ email: {
250
+ status: ComplimentaryEmailStatus;
251
+ retryable: boolean;
252
+ nextEligibleAt: number | null;
253
+ };
254
+ }
170
255
  export interface SubscriptionsProvider {
171
256
  listMembers(filter: Record<string, string | undefined>, page: number): Promise<ProviderResult<SubscriptionMember[]>>;
172
257
  getKpis(): Promise<ProviderResult<Record<string, number | null>>>;
@@ -176,12 +261,6 @@ export interface SubscriptionsProvider {
176
261
  }>>>;
177
262
  resolvePlanName(variantId: string): string;
178
263
  exportMembers(fmt: 'csv' | 'json'): Promise<ProviderResult<string>>;
179
- createGift(input: {
180
- email: string;
181
- planVariantId: string;
182
- }): Promise<ProviderResult<{
183
- id: string;
184
- }>>;
185
264
  /**
186
265
  * Detect accounts that collide on billing email or canonical (gmail-folded)
187
266
  * email — READ-only. Legacy: GET /admin/api/duplicate-accounts.
@@ -198,6 +277,14 @@ export interface SubscriptionsProvider {
198
277
  * Legacy: GET /admin/api/gifts.
199
278
  */
200
279
  listGifts(query: GiftOrdersQuery): Promise<ProviderResult<GiftOrdersPage>>;
280
+ /** List current and historical complimentary access records. */
281
+ listComplimentaryAccess(query: ComplimentaryAccessQuery): Promise<ProviderResult<ComplimentaryAccessPage>>;
282
+ /** Grant complimentary access; the trusted actor is route-derived, never client-provided. */
283
+ grantComplimentaryAccess(input: ComplimentaryGrantInput, actor: TrustedActor): Promise<ProviderResult<ComplimentaryGrantResult>>;
284
+ /** Revoke complimentary access; idempotent for already-revoked entitlements. */
285
+ revokeComplimentaryAccess(input: ComplimentaryRevokeInput, actor: TrustedActor): Promise<ProviderResult<ComplimentaryRevokeResult>>;
286
+ /** Retry the stored recipient's complimentary-access email; recipient email is not accepted. */
287
+ retryComplimentaryAccessEmail(input: ComplimentaryEmailRetryInput, actor: TrustedActor): Promise<ProviderResult<ComplimentaryEmailRetryResult>>;
201
288
  }
202
289
  /** Thin identity seam — the CMS never mints identity (spec §3.3/§12). */
203
290
  export interface IdentityProvider {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/providers/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/providers/types.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,21 @@
1
- export {};
1
+ export class ProviderHttpError extends Error {
2
+ status;
3
+ code;
4
+ nextEligibleAt;
5
+ constructor(status, code, message, nextEligibleAt = null) {
6
+ super(message);
7
+ this.name = 'ProviderHttpError';
8
+ this.status = status;
9
+ this.code = code;
10
+ this.nextEligibleAt = nextEligibleAt;
11
+ }
12
+ toBody() {
13
+ return {
14
+ error: this.message,
15
+ code: this.code,
16
+ ...(this.nextEligibleAt === null ? {} : { nextEligibleAt: this.nextEligibleAt }),
17
+ };
18
+ }
19
+ }
20
+ export const MAX_COMPLIMENTARY_UNIX_SECONDS = 253_402_300_799;
2
21
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/providers/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/providers/types.ts"],"names":[],"mappings":"AA8LA,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAClC,MAAM,CAAQ;IACd,IAAI,CAAQ;IACZ,cAAc,CAAe;IAEtC,YAAY,MAAc,EAAE,IAAY,EAAE,OAAe,EAAE,iBAAgC,IAAI;QAC9F,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAA;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;IACrC,CAAC;IAED,MAAM;QACL,OAAO;YACN,KAAK,EAAE,IAAI,CAAC,OAAO;YACnB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,GAAG,CAAC,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC;SAChF,CAAA;IACF,CAAC;CACD;AAKD,MAAM,CAAC,MAAM,8BAA8B,GAAG,eAAe,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"authz-matrix.d.ts","sourceRoot":"","sources":["../../src/routes/authz-matrix.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAKrE,YAAY,EAAE,UAAU,EAAE,CAAA;AAuB1B,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,CAuBtE,CAAA;AAMD,8EAA8E;AAC9E,wBAAgB,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAE/D;AAMD,MAAM,WAAW,uBAAuB;IACvC,oDAAoD;IACpD,YAAY,EAAE,MAAM,CAAA;IACpB,qDAAqD;IACrD,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;CAC9B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAC9B,IAAI,EAAE,OAAO,EACb,SAAS,EAAE,uBAAuB,EAClC,GAAG,EAAE,UAAU,GACb,OAAO,CAmBT;AAMD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,SAAS,GAAG,eAAe,GAAG,UAAU,GAAG,OAAO,GAAG,OAAO,CAAA;AAElG;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CACtC,IAAI,EAAE,OAAO,EACb,SAAS,EAAE,uBAAuB,EAClC,MAAM,EAAE,aAAa,GACnB,OAAO,CAoBT;AAMD,MAAM,WAAW,iBAAiB;IACjC,iFAAiF;IACjF,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAA;IACrF,iDAAiD;IACjD,WAAW,EAAE,MAAM,CAAA;IACnB,uGAAuG;IACvG,UAAU,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAA;CACrE;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,GAAG;IAC5D,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAA;IACnD,WAAW,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAA;CACzE,CAqBA"}
1
+ {"version":3,"file":"authz-matrix.d.ts","sourceRoot":"","sources":["../../src/routes/authz-matrix.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAKrE,YAAY,EAAE,UAAU,EAAE,CAAA;AAwB1B,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,CA0BtE,CAAA;AAMD,8EAA8E;AAC9E,wBAAgB,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAE/D;AAMD,MAAM,WAAW,uBAAuB;IACvC,oDAAoD;IACpD,YAAY,EAAE,MAAM,CAAA;IACpB,qDAAqD;IACrD,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;CAC9B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAC9B,IAAI,EAAE,OAAO,EACb,SAAS,EAAE,uBAAuB,EAClC,GAAG,EAAE,UAAU,GACb,OAAO,CAmBT;AAMD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,SAAS,GAAG,eAAe,GAAG,UAAU,GAAG,OAAO,GAAG,OAAO,CAAA;AAElG;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CACtC,IAAI,EAAE,OAAO,EACb,SAAS,EAAE,uBAAuB,EAClC,MAAM,EAAE,aAAa,GACnB,OAAO,CAoBT;AAMD,MAAM,WAAW,iBAAiB;IACjC,iFAAiF;IACjF,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAA;IACrF,iDAAiD;IACjD,WAAW,EAAE,MAAM,CAAA;IACnB,uGAAuG;IACvG,UAAU,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAA;CACrE;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,GAAG;IAC5D,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAA;IACnD,WAAW,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAA;CACzE,CAqBA"}
@@ -35,6 +35,7 @@ import { json } from './context.js';
35
35
  // publish_others_draft, edit_own_draft (+ media_pipeline; producer too).
36
36
  // senior_editor + owner (NOT editor): manage_team (members/invites),
37
37
  // manage_api_keys, manage_webhooks, export_subscribers (PII).
38
+ // owner + senior_editor + editor: manage_complimentary_access.
38
39
  // owner ONLY: manage_settings — workspace settings PATCH + the privileged
39
40
  // LemonSqueezy entitlement sync (importLsEntitlements). Matches the 448e815
40
41
  // gate (requireRole('manage_settings')).
@@ -61,6 +62,9 @@ export const CAPABILITY_MATRIX = {
61
62
  // Subscriber-PII export: owner + senior_editor only (NOT editor). Editors keep
62
63
  // full editorial but never touch subscriber email lists.
63
64
  export_subscribers: new Set(['owner', 'senior_editor']),
65
+ // Complimentary access is an editorial admin action by explicit operator
66
+ // decision; it is not subscriber-PII export or owner-only settings.
67
+ manage_complimentary_access: new Set(['owner', 'senior_editor', 'editor']),
64
68
  };
65
69
  // ---------------------------------------------------------------------------
66
70
  // roleCan — pure predicate
@@ -1 +1 @@
1
- {"version":3,"file":"authz-matrix.js","sourceRoot":"","sources":["../../src/routes/authz-matrix.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authz-matrix.js","sourceRoot":"","sources":["../../src/routes/authz-matrix.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ export type { CmsRole };
6
6
  * Defined here so the Authz interface can reference them without a circular
7
7
  * import — authz-matrix.ts re-exports this type from context.ts.
8
8
  */
9
- export type Capability = 'publish_article' | 'publish_video' | 'edit_own_draft' | 'publish_others_draft' | 'submit_for_review' | 'media_pipeline' | 'manage_team' | 'manage_settings' | 'manage_api_keys' | 'manage_webhooks' | 'export_subscribers';
9
+ export type Capability = 'publish_article' | 'publish_video' | 'edit_own_draft' | 'publish_others_draft' | 'submit_for_review' | 'media_pipeline' | 'manage_team' | 'manage_settings' | 'manage_api_keys' | 'manage_webhooks' | 'export_subscribers' | 'manage_complimentary_access';
10
10
  export interface CmsUser {
11
11
  subject: string;
12
12
  email: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/routes/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/routes/context.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAEjD,YAAY,EAAE,OAAO,EAAE,CAAA;AAEvB;;;;GAIG;AACH,MAAM,MAAM,UAAU,GACnB,iBAAiB,GACjB,eAAe,GACf,gBAAgB,GAChB,sBAAsB,GACtB,mBAAmB,GACnB,gBAAgB,GAChB,aAAa,GACb,iBAAiB,GACjB,iBAAiB,GACjB,iBAAiB,GAGjB,oBAAoB,GAGpB,6BAA6B,CAAA;AAEhC,MAAM,WAAW,OAAO;IACvB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,IAAI,EAAE,OAAO,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACpB;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC9B,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;IAC7F,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACtB,QAAQ,CAAC,aAAa,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CAC3D;AAED,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACvC;AAED,MAAM,WAAW,YAAY;IAC5B,GAAG,CACF,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,WAAW,GAAG,eAAe,GAAG,cAAc,GAAG,MAAM,GAAG,IAAI,EACrE,OAAO,CAAC,EAAE;QACT,YAAY,CAAC,EAAE;YAAE,WAAW,CAAC,EAAE,MAAM,CAAC;YAAC,YAAY,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;QAC9D,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KACvC,GACC,OAAO,CAAC,OAAO,CAAC,CAAA;IACnB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7C,IAAI,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAA;IAChD,qBAAqB,CAAC,CACrB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;QACT,YAAY,CAAC,EAAE;YAAE,WAAW,CAAC,EAAE,MAAM,CAAC;YAAC,YAAY,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;QAC9D,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KACvC,GACC,OAAO,CAAC,iBAAiB,CAAC,CAAA;IAC7B,qBAAqB,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,iBAAiB,CAAA;CACxE;AAED;;;;;;GAMG;AACH,MAAM,WAAW,KAAK;IACrB,mEAAmE;IACnE,YAAY,CAAC,GAAG,EAAE,YAAY,GAAG,QAAQ,GAAG,IAAI,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAA;IAC3E,oEAAoE;IACpE,gBAAgB,CAAC,GAAG,EAAE,YAAY,GAAG,QAAQ,GAAG,IAAI,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAA;IAC/E,oFAAoF;IACpF,OAAO,CAAC,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,OAAO,GAAG,IAAI,CAAA;IACrE,gGAAgG;IAChG,WAAW,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,YAAY,GAAG,QAAQ,GAAG,IAAI,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAA;CAC5F;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC5B,sDAAsD;IACtD,OAAO,EAAE,OAAO,CAAA;IAChB,wDAAwD;IACxD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;IAC1C,6BAA6B;IAC7B,EAAE,EAAE,UAAU,CAAA;IACd,yEAAyE;IACzE,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC7B;AAED,wBAAgB,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,SAAM,GAAG,QAAQ,CAK1D;AAED,0EAA0E;AAC1E,wBAAgB,SAAS,CAAC,GAAG,EAAE,YAAY,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,QAAQ,CAAA;CAAE,CAIjF"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/routes/context.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,wDAAwD;AACxD,6EAA6E;AAC7E,6EAA6E;AAC7E,6DAA6D;AAC7D,6EAA6E;AAC7E,wDAAwD;AACxD,EAAE;AACF,6EAA6E;AAC7E,4EAA4E;AAC5E,kFAAkF;AAClF,sDAAsD;AA2HtD,MAAM,UAAU,IAAI,CAAC,IAAa,EAAE,MAAM,GAAG,GAAG;IAC/C,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;QACzC,MAAM;QACN,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;KAC/C,CAAC,CAAA;AACH,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,SAAS,CAAC,GAAiB;IAC1C,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAA;IACxB,IAAI,CAAC,EAAE;QAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,GAAG,CAAC,EAAE,CAAA;IAC7D,OAAO,EAAE,EAAE,EAAE,CAAA;AACd,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/routes/context.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,wDAAwD;AACxD,6EAA6E;AAC7E,6EAA6E;AAC7E,6DAA6D;AAC7D,6EAA6E;AAC7E,wDAAwD;AACxD,EAAE;AACF,6EAA6E;AAC7E,4EAA4E;AAC5E,kFAAkF;AAClF,sDAAsD;AA8HtD,MAAM,UAAU,IAAI,CAAC,IAAa,EAAE,MAAM,GAAG,GAAG;IAC/C,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;QACzC,MAAM;QACN,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;KAC/C,CAAC,CAAA;AACH,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,SAAS,CAAC,GAAiB;IAC1C,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAA;IACxB,IAAI,CAAC,EAAE;QAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,GAAG,CAAC,EAAE,CAAA;IAC7D,OAAO,EAAE,EAAE,EAAE,CAAA;AACd,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { CmsProviders } from '../providers/types.js';
1
+ import { type CmsProviders } from '../providers/types.js';
2
2
  import type { Authz, RouteContext } from './context.js';
3
3
  export interface SubscriptionsRouteConfig {
4
4
  authz: Authz;
@@ -9,11 +9,18 @@ export interface SubscriptionsRouteHandlers {
9
9
  kpis(ctx: RouteContext): Promise<Response>;
10
10
  planMix(ctx: RouteContext): Promise<Response>;
11
11
  exportMembers(ctx: RouteContext): Promise<Response>;
12
- gift(ctx: RouteContext): Promise<Response>;
13
12
  /** READ — duplicate-account conflict groups (billing + canonical email). */
14
13
  detectDuplicates(ctx: RouteContext): Promise<Response>;
15
14
  /** READ — paginated gift-order claim/delivery tracking. */
16
15
  listGifts(ctx: RouteContext): Promise<Response>;
16
+ /** READ — paginated current + historical complimentary access audit. */
17
+ listComplimentaryAccess(ctx: RouteContext): Promise<Response>;
18
+ /** WRITE — grant complimentary access. */
19
+ grantComplimentaryAccess(ctx: RouteContext): Promise<Response>;
20
+ /** WRITE — revoke complimentary access. */
21
+ revokeComplimentaryAccess(ctx: RouteContext): Promise<Response>;
22
+ /** WRITE — retry the stored recipient's delivery email. */
23
+ retryComplimentaryAccessEmail(ctx: RouteContext): Promise<Response>;
17
24
  /** WRITE (privileged) — trigger the LemonSqueezy entitlement sync. */
18
25
  importLsEntitlements(ctx: RouteContext): Promise<Response>;
19
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"subscriptions.d.ts","sourceRoot":"","sources":["../../src/routes/subscriptions.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,KAAK,EAAE,KAAK,EAAc,YAAY,EAAE,MAAM,cAAc,CAAA;AAGnE,MAAM,WAAW,wBAAwB;IACxC,KAAK,EAAE,KAAK,CAAA;IACZ,SAAS,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;CACjC;AAED,MAAM,WAAW,0BAA0B;IAC1C,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC7C,IAAI,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC1C,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC7C,aAAa,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IACnD,IAAI,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC1C,4EAA4E;IAC5E,gBAAgB,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IACtD,2DAA2D;IAC3D,SAAS,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC/C,sEAAsE;IACtE,oBAAoB,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;CAC1D;AAED,wBAAgB,yBAAyB,CACxC,MAAM,EAAE,wBAAwB,GAC9B,0BAA0B,CA4H5B"}
1
+ {"version":3,"file":"subscriptions.d.ts","sourceRoot":"","sources":["../../src/routes/subscriptions.ts"],"names":[],"mappings":"AAqBA,OAAO,EACN,KAAK,YAAY,EASjB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,KAAK,EAAE,KAAK,EAAc,YAAY,EAAE,MAAM,cAAc,CAAA;AAGnE,MAAM,WAAW,wBAAwB;IACxC,KAAK,EAAE,KAAK,CAAA;IACZ,SAAS,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;CACjC;AAED,MAAM,WAAW,0BAA0B;IAC1C,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC7C,IAAI,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC1C,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC7C,aAAa,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IACnD,4EAA4E;IAC5E,gBAAgB,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IACtD,2DAA2D;IAC3D,SAAS,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC/C,wEAAwE;IACxE,uBAAuB,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC7D,0CAA0C;IAC1C,wBAAwB,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC9D,2CAA2C;IAC3C,yBAAyB,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC/D,2DAA2D;IAC3D,6BAA6B,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IACnE,sEAAsE;IACtE,oBAAoB,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;CAC1D;AA6KD,wBAAgB,yBAAyB,CACxC,MAAM,EAAE,wBAAwB,GAC9B,0BAA0B,CA8K5B"}