@growth-labs/cms 0.5.3 → 0.5.5

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 (76) hide show
  1. package/README.md +19 -1
  2. package/dist/integration/options.d.ts +19 -0
  3. package/dist/integration/options.d.ts.map +1 -1
  4. package/dist/integration/options.js +6 -0
  5. package/dist/integration/options.js.map +1 -1
  6. package/dist/providers/types.d.ts +0 -3
  7. package/dist/providers/types.d.ts.map +1 -1
  8. package/dist/routes/authors.d.ts.map +1 -1
  9. package/dist/routes/authors.js +33 -8
  10. package/dist/routes/authors.js.map +1 -1
  11. package/dist/routes/recovery-errors.d.ts +21 -0
  12. package/dist/routes/recovery-errors.d.ts.map +1 -0
  13. package/dist/routes/recovery-errors.js +53 -0
  14. package/dist/routes/recovery-errors.js.map +1 -0
  15. package/dist/routes/subscriptions.d.ts.map +1 -1
  16. package/dist/routes/subscriptions.js +11 -5
  17. package/dist/routes/subscriptions.js.map +1 -1
  18. package/dist/ui/client/mount.d.ts.map +1 -1
  19. package/dist/ui/client/mount.js +5 -2
  20. package/dist/ui/client/mount.js.map +1 -1
  21. package/dist/ui/components/ShareModal.d.ts +4 -1
  22. package/dist/ui/components/ShareModal.d.ts.map +1 -1
  23. package/dist/ui/components/ShareModal.js +39 -9
  24. package/dist/ui/components/ShareModal.js.map +1 -1
  25. package/dist/ui/components/SharePickers.d.ts +29 -2
  26. package/dist/ui/components/SharePickers.d.ts.map +1 -1
  27. package/dist/ui/components/SharePickers.js +33 -8
  28. package/dist/ui/components/SharePickers.js.map +1 -1
  29. package/dist/ui/screens/AuthorsScreen.d.ts.map +1 -1
  30. package/dist/ui/screens/AuthorsScreen.js +2 -1
  31. package/dist/ui/screens/AuthorsScreen.js.map +1 -1
  32. package/dist/ui/screens/ContentRoute.d.ts +3 -1
  33. package/dist/ui/screens/ContentRoute.d.ts.map +1 -1
  34. package/dist/ui/screens/ContentRoute.js +3 -3
  35. package/dist/ui/screens/ContentRoute.js.map +1 -1
  36. package/dist/ui/screens/EditorScreen.d.ts +2 -1
  37. package/dist/ui/screens/EditorScreen.d.ts.map +1 -1
  38. package/dist/ui/screens/EditorScreen.js +2 -2
  39. package/dist/ui/screens/EditorScreen.js.map +1 -1
  40. package/dist/ui/screens/LibraryScreen.d.ts +2 -1
  41. package/dist/ui/screens/LibraryScreen.d.ts.map +1 -1
  42. package/dist/ui/screens/LibraryScreen.js +2 -2
  43. package/dist/ui/screens/LibraryScreen.js.map +1 -1
  44. package/dist/ui/screens/SocialShareScreen.d.ts +3 -1
  45. package/dist/ui/screens/SocialShareScreen.d.ts.map +1 -1
  46. package/dist/ui/screens/SocialShareScreen.js +20 -8
  47. package/dist/ui/screens/SocialShareScreen.js.map +1 -1
  48. package/dist/ui/screens/author-recovery.d.ts +11 -0
  49. package/dist/ui/screens/author-recovery.d.ts.map +1 -0
  50. package/dist/ui/screens/author-recovery.js +18 -0
  51. package/dist/ui/screens/author-recovery.js.map +1 -0
  52. package/dist/ui/screens/registry.d.ts +3 -0
  53. package/dist/ui/screens/registry.d.ts.map +1 -1
  54. package/dist/ui/screens/registry.js +16 -13
  55. package/dist/ui/screens/registry.js.map +1 -1
  56. package/dist/ui/screens/social-share-data.d.ts +23 -2
  57. package/dist/ui/screens/social-share-data.d.ts.map +1 -1
  58. package/dist/ui/screens/social-share-data.js +57 -11
  59. package/dist/ui/screens/social-share-data.js.map +1 -1
  60. package/package.json +1 -1
  61. package/src/integration/options.ts +7 -0
  62. package/src/providers/types.ts +0 -3
  63. package/src/routes/authors.ts +41 -20
  64. package/src/routes/recovery-errors.ts +70 -0
  65. package/src/routes/subscriptions.ts +50 -30
  66. package/src/ui/client/mount.tsx +5 -2
  67. package/src/ui/components/ShareModal.tsx +102 -19
  68. package/src/ui/components/SharePickers.tsx +76 -27
  69. package/src/ui/screens/AuthorsScreen.tsx +7 -2
  70. package/src/ui/screens/ContentRoute.tsx +13 -3
  71. package/src/ui/screens/EditorScreen.tsx +7 -1
  72. package/src/ui/screens/LibraryScreen.tsx +3 -1
  73. package/src/ui/screens/SocialShareScreen.tsx +53 -6
  74. package/src/ui/screens/author-recovery.ts +32 -0
  75. package/src/ui/screens/registry.tsx +22 -12
  76. package/src/ui/screens/social-share-data.ts +92 -13
@@ -5,6 +5,7 @@ import type { ContentType } from '../../schema/types.js';
5
5
  */
6
6
  export declare const SHARE_MODES: readonly ["author-social", "owned-social", "youtube", "newsletter"];
7
7
  export type ShareMode = (typeof SHARE_MODES)[number];
8
+ export declare function requiresCanonicalAuthorRoster(mode: ShareMode, allowInlineAuthorCreation: boolean): boolean;
8
9
  /**
9
10
  * Social platform options.
10
11
  * SOURCE OF TRUTH: @growth-labs/analytics src/utils/social.ts SOCIAL_PLATFORMS
@@ -37,6 +38,27 @@ export interface AuthorRef {
37
38
  displayName?: string;
38
39
  create?: boolean;
39
40
  }
41
+ export interface CanonicalAuthorEntry {
42
+ id: string;
43
+ slug: string;
44
+ displayName: string;
45
+ }
46
+ export type CanonicalAuthorRosterStatus = {
47
+ blocked: false;
48
+ kind: 'not-required' | 'synchronized';
49
+ message: null;
50
+ } | {
51
+ blocked: true;
52
+ kind: 'loading' | 'missing-author' | 'out-of-sync' | 'unavailable';
53
+ message: string;
54
+ };
55
+ export declare function canonicalAuthorRosterStatus({ enabled, author, authors, loading, error, }: {
56
+ enabled: boolean;
57
+ author: AuthorRef;
58
+ authors: CanonicalAuthorEntry[];
59
+ loading: boolean;
60
+ error: string | null;
61
+ }): CanonicalAuthorRosterStatus;
40
62
  /** A reference to a social handle — existing by id/username or inline-created. */
41
63
  export interface HandleRef {
42
64
  id?: string;
@@ -147,7 +169,6 @@ export interface AuthorSocialBatchPayload {
147
169
  kind: 'author-social';
148
170
  destinationUrl: string;
149
171
  platform: string;
150
- campaign: string;
151
172
  placement?: string;
152
173
  boostMode?: string;
153
174
  promoCode?: string;
@@ -298,7 +319,7 @@ export declare function toPlainText(output: ShareOutput): string;
298
319
  * given mode. The React form renders only these inputs; the request builders
299
320
  * read only these fields.
300
321
  *
301
- * 'author-social' → campaign, platform, author, destinationUrl, advanced
322
+ * 'author-social' → platform, author, destinationUrl, advanced
302
323
  * 'owned-social' → campaign, platform, handle, (optional author), destinationUrl, advanced
303
324
  * 'youtube' → youtubeVideoId, placements, (optional handle/author), destinationUrl (NO campaign)
304
325
  * 'newsletter' → issue, (optional author/handle), destinationUrl (NO campaign/platform/boostMode)
@@ -1 +1 @@
1
- {"version":3,"file":"social-share-data.d.ts","sourceRoot":"","sources":["../../../src/ui/screens/social-share-data.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"social-share-data.d.ts","sourceRoot":"","sources":["../../../src/ui/screens/social-share-data.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,9 @@
15
15
  * `batchCreateSchema` discriminated union in share-links-batch.ts.
16
16
  */
17
17
  export const SHARE_MODES = ['author-social', 'owned-social', 'youtube', 'newsletter'];
18
+ export function requiresCanonicalAuthorRoster(mode, allowInlineAuthorCreation) {
19
+ return mode === 'author-social' && !allowInlineAuthorCreation;
20
+ }
18
21
  /**
19
22
  * Social platform options.
20
23
  * SOURCE OF TRUTH: @growth-labs/analytics src/utils/social.ts SOCIAL_PLATFORMS
@@ -62,6 +65,45 @@ export const YOUTUBE_BUNDLE_PLACEMENTS = ['description', 'comment', 'bio'];
62
65
  * SOURCE OF TRUTH: @growth-labs/analytics src/utils/social.ts SocialBoostMode
63
66
  */
64
67
  export const BOOST_MODES = ['none', 'paid_direct', 'boosted_existing'];
68
+ export function canonicalAuthorRosterStatus({ enabled, author, authors, loading, error, }) {
69
+ if (!enabled)
70
+ return { blocked: false, kind: 'not-required', message: null };
71
+ const id = author.id?.trim() ?? '';
72
+ const slug = author.slug?.trim().toLowerCase() ?? '';
73
+ const identity = id || slug;
74
+ if (!identity) {
75
+ return {
76
+ blocked: true,
77
+ kind: 'missing-author',
78
+ message: 'No canonical author is linked to this content. Add or publish the author in the Authors screen, then retry.',
79
+ };
80
+ }
81
+ if (loading) {
82
+ return {
83
+ blocked: true,
84
+ kind: 'loading',
85
+ message: `Checking the synchronized author roster for canonical author ${identity}.`,
86
+ };
87
+ }
88
+ if (error) {
89
+ return {
90
+ blocked: true,
91
+ kind: 'unavailable',
92
+ message: `The author roster could not be verified for canonical author ${identity}. Refresh and retry; sharing is blocked until synchronization can be proven.`,
93
+ };
94
+ }
95
+ const synchronized = id !== ''
96
+ ? authors.some((candidate) => candidate.id === id)
97
+ : authors.some((candidate) => candidate.slug.trim().toLowerCase() === slug);
98
+ if (!synchronized) {
99
+ return {
100
+ blocked: true,
101
+ kind: 'out-of-sync',
102
+ message: `Author roster out of sync for canonical author ${identity}. Publish or synchronize that author in the Authors screen, refresh, and retry.`,
103
+ };
104
+ }
105
+ return { blocked: false, kind: 'synchronized', message: null };
106
+ }
65
107
  // ---------------------------------------------------------------------------
66
108
  // initShareForm
67
109
  // ---------------------------------------------------------------------------
@@ -73,9 +115,7 @@ export const BOOST_MODES = ['none', 'paid_direct', 'boosted_existing'];
73
115
  * `platform` to 'youtube'; all other fields default to empty/false/none.
74
116
  */
75
117
  export function initShareForm(mode, prefill) {
76
- const defaultCampaign = mode === 'author-social' || mode === 'owned-social'
77
- ? prefill?.campaign?.trim() || prefill?.contentSlug?.trim() || ''
78
- : '';
118
+ const defaultCampaign = mode === 'owned-social' ? prefill?.campaign?.trim() || prefill?.contentSlug?.trim() || '' : '';
79
119
  const base = {
80
120
  mode,
81
121
  destinationUrl: prefill?.destinationUrl ?? '',
@@ -136,21 +176,25 @@ export function shareFormReducer(state, action) {
136
176
  mode,
137
177
  // Mode-specific resets
138
178
  platform: mode === 'youtube' ? 'youtube' : mode === 'newsletter' ? '' : '',
139
- campaign: mode === 'youtube' || mode === 'newsletter' ? '' : state.campaign,
179
+ campaign: mode === 'owned-social'
180
+ ? state.campaign || state.contentSlug
181
+ : mode === 'author-social'
182
+ ? ''
183
+ : '',
140
184
  placements: mode === 'youtube' ? [...YOUTUBE_BUNDLE_PLACEMENTS] : [],
141
185
  youtubeVideoId: mode === 'youtube' ? state.youtubeVideoId : '',
142
186
  issue: mode === 'newsletter' ? state.issue : '',
143
187
  };
144
188
  }
145
189
  case 'prefill-content': {
146
- const shouldDefaultCampaign = (state.mode === 'author-social' || state.mode === 'owned-social') && !state.campaign.trim();
190
+ const shouldDefaultCampaign = state.mode === 'owned-social' && !state.campaign.trim();
147
191
  return {
148
192
  ...state,
149
193
  destinationUrl: action.destinationUrl,
150
194
  contentSlug: action.contentSlug,
151
195
  contentType: action.contentType,
152
196
  campaign: shouldDefaultCampaign ? action.contentSlug : state.campaign,
153
- ...(action.author ? { author: action.author } : {}),
197
+ author: action.author ?? {},
154
198
  };
155
199
  }
156
200
  case 'set-field':
@@ -221,14 +265,16 @@ export function buildBatchPayloadFrom(state) {
221
265
  };
222
266
  switch (state.mode) {
223
267
  case 'author-social': {
224
- if (!state.campaign.trim()) {
225
- return { ok: false, error: 'Campaign is required for author-social.' };
268
+ if (!refHasContent(state.author)) {
269
+ return {
270
+ ok: false,
271
+ error: 'A canonical author is required for Author Social. Select a synchronized author.',
272
+ };
226
273
  }
227
274
  const payload = {
228
275
  kind: 'author-social',
229
276
  ...shared,
230
277
  platform: state.platform,
231
- campaign: state.campaign.trim(),
232
278
  ...(state.placement && state.placement !== 'unknown' ? { placement: state.placement } : {}),
233
279
  ...(state.boostMode && state.boostMode !== 'none' ? { boostMode: state.boostMode } : {}),
234
280
  ...(nonEmpty(state.promoCode) ? { promoCode: state.promoCode } : {}),
@@ -398,7 +444,7 @@ export function toPlainText(output) {
398
444
  * given mode. The React form renders only these inputs; the request builders
399
445
  * read only these fields.
400
446
  *
401
- * 'author-social' → campaign, platform, author, destinationUrl, advanced
447
+ * 'author-social' → platform, author, destinationUrl, advanced
402
448
  * 'owned-social' → campaign, platform, handle, (optional author), destinationUrl, advanced
403
449
  * 'youtube' → youtubeVideoId, placements, (optional handle/author), destinationUrl (NO campaign)
404
450
  * 'newsletter' → issue, (optional author/handle), destinationUrl (NO campaign/platform/boostMode)
@@ -407,7 +453,7 @@ export function relevantFields(mode) {
407
453
  const shared = ['destinationUrl', 'contentSlug', 'contentType', 'property', 'sourcePath'];
408
454
  switch (mode) {
409
455
  case 'author-social':
410
- return [...shared, 'campaign', 'platform', 'author', 'placement', 'boostMode', 'promoCode'];
456
+ return [...shared, 'platform', 'author', 'placement', 'boostMode', 'promoCode'];
411
457
  case 'owned-social':
412
458
  return [
413
459
  ...shared,
@@ -1 +1 @@
1
- {"version":3,"file":"social-share-data.js","sourceRoot":"","sources":["../../../src/ui/screens/social-share-data.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"social-share-data.js","sourceRoot":"","sources":["../../../src/ui/screens/social-share-data.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@growth-labs/cms",
3
- "version": "0.5.3",
3
+ "version": "0.5.5",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "growth-labs-cms-migrations": "./dist/cli/migrations.js"
@@ -16,6 +16,12 @@ const themeSchema = z
16
16
  })
17
17
  .default({})
18
18
 
19
+ const socialSharingSchema = z
20
+ .object({
21
+ allowInlineAuthorCreation: z.boolean().default(true),
22
+ })
23
+ .default({})
24
+
19
25
  export const cmsIntegrationOptionsSchema = z
20
26
  .object({
21
27
  workspaces: z.array(workspaceSchema).min(1, 'at least one workspace is required'),
@@ -23,6 +29,7 @@ export const cmsIntegrationOptionsSchema = z
23
29
  adminBasePath: z.string().default('/admin'),
24
30
  searchEnabled: z.boolean().default(true),
25
31
  theme: themeSchema,
32
+ socialSharing: socialSharingSchema,
26
33
  })
27
34
  .transform((o) => ({ ...o, activeWorkspaceId: o.activeWorkspaceId ?? o.workspaces[0].id }))
28
35
 
@@ -217,13 +217,10 @@ export const MAX_COMPLIMENTARY_UNIX_SECONDS = 253_402_300_799
217
217
 
218
218
  export interface ComplimentaryEntitlementRow {
219
219
  id: string
220
- userId: string
221
220
  email: string
222
221
  grantReason: string
223
222
  grantedAt: number
224
- grantedBySubject: string
225
223
  revokedAt: number | null
226
- revokedBySubject: string | null
227
224
  revokeReason: string | null
228
225
  emailStatus: ComplimentaryEmailStatus
229
226
  emailAttemptCount: number
@@ -10,6 +10,7 @@ import { slugify } from '../engine/slug.js'
10
10
  import type { CmsRouteConfig } from './config.js'
11
11
  import { resolveConfig } from './config.js'
12
12
  import { json, type RouteContext, requireId } from './context.js'
13
+ import { translateAuthorWriteError } from './recovery-errors.js'
13
14
 
14
15
  // --- publisher-authors.ts helpers (extract) -------------------------------
15
16
 
@@ -184,21 +185,31 @@ export function createAuthorRoutes(config: CmsRouteConfig): AuthorRouteHandlers
184
185
  if (existingId) return json({ error: 'Author id already exists' }, 409)
185
186
 
186
187
  const social = serializeSocialInput(parsed.data.social ?? null)
187
- await ctx.db
188
- .prepare(
189
- `INSERT INTO authors (id, name, slug, bio, avatar, email, social, created_at, updated_at)
188
+ try {
189
+ await ctx.db
190
+ .prepare(
191
+ `INSERT INTO authors (id, name, slug, bio, avatar, email, social, created_at, updated_at)
190
192
  VALUES (?, ?, ?, ?, ?, ?, ?, unixepoch(), unixepoch())`,
191
- )
192
- .bind(
193
- id,
194
- parsed.data.name.trim(),
195
- slug,
196
- normalizeNullable(parsed.data.bio),
197
- normalizeNullable(parsed.data.avatar),
198
- normalizeNullable(parsed.data.email),
199
- social,
200
- )
201
- .run()
193
+ )
194
+ .bind(
195
+ id,
196
+ parsed.data.name.trim(),
197
+ slug,
198
+ normalizeNullable(parsed.data.bio),
199
+ normalizeNullable(parsed.data.avatar),
200
+ normalizeNullable(parsed.data.email),
201
+ social,
202
+ )
203
+ .run()
204
+ } catch (error) {
205
+ const recovery = translateAuthorWriteError({
206
+ error,
207
+ operation: 'create',
208
+ author: { id, slug },
209
+ })
210
+ if (recovery) return json(recovery.body, recovery.status)
211
+ throw error
212
+ }
202
213
 
203
214
  return json({ id, slug }, 201)
204
215
  },
@@ -267,14 +278,24 @@ export function createAuthorRoutes(config: CmsRouteConfig): AuthorRouteHandlers
267
278
  ? serializeSocialInput(parsed.data.social ?? null)
268
279
  : existing.social
269
280
 
270
- await ctx.db
271
- .prepare(
272
- `UPDATE authors
281
+ try {
282
+ await ctx.db
283
+ .prepare(
284
+ `UPDATE authors
273
285
  SET name = ?, slug = ?, bio = ?, avatar = ?, email = ?, social = ?, updated_at = unixepoch()
274
286
  WHERE id = ?`,
275
- )
276
- .bind(nextName, nextSlug, nextBio, nextAvatar, nextEmail, nextSocial, id)
277
- .run()
287
+ )
288
+ .bind(nextName, nextSlug, nextBio, nextAvatar, nextEmail, nextSocial, id)
289
+ .run()
290
+ } catch (error) {
291
+ const recovery = translateAuthorWriteError({
292
+ error,
293
+ operation: 'update',
294
+ author: { id, slug: nextSlug },
295
+ })
296
+ if (recovery) return json(recovery.body, recovery.status)
297
+ throw error
298
+ }
278
299
 
279
300
  return json({ id, slug: nextSlug })
280
301
  },
@@ -0,0 +1,70 @@
1
+ export const AUTHOR_RECOVERY_CLASSES = [
2
+ 'AUTHOR_SYNC_IDENTITY_CONFLICT',
3
+ 'AUTHOR_SYNC_NON_CANONICAL',
4
+ 'AUTHOR_SYNC_IMMUTABLE_ID',
5
+ 'AUTHOR_SHARE_CAMPAIGN_INVARIANT',
6
+ ] as const
7
+
8
+ export type AuthorRecoveryClass = (typeof AUTHOR_RECOVERY_CLASSES)[number]
9
+
10
+ export interface AuthorRecoveryIdentity {
11
+ id: string
12
+ slug: string
13
+ }
14
+
15
+ export interface AuthorRecoveryBody {
16
+ error: string
17
+ errorClass: AuthorRecoveryClass
18
+ author: AuthorRecoveryIdentity
19
+ }
20
+
21
+ export function classifyAuthorRecoveryError(error: unknown): AuthorRecoveryClass | null {
22
+ const messages = collectErrorMessages(error)
23
+ for (const errorClass of AUTHOR_RECOVERY_CLASSES) {
24
+ if (messages.some((message) => message.includes(errorClass))) return errorClass
25
+ }
26
+ return null
27
+ }
28
+
29
+ export function translateAuthorWriteError(input: {
30
+ error: unknown
31
+ operation: 'create' | 'update'
32
+ author: AuthorRecoveryIdentity
33
+ }): { status: number; body: AuthorRecoveryBody } | null {
34
+ const errorClass = classifyAuthorRecoveryError(input.error)
35
+ if (!errorClass) return null
36
+
37
+ const body: AuthorRecoveryBody = {
38
+ error: `${errorClass}: canonical author synchronization failed (author id: ${input.author.id}; slug: ${input.author.slug})`,
39
+ errorClass,
40
+ author: input.author,
41
+ }
42
+ console.error('GL_CMS_AUTHOR_SYNC_FAILURE', {
43
+ event: 'author_sync_failure',
44
+ errorClass,
45
+ operation: input.operation,
46
+ authorId: input.author.id,
47
+ authorSlug: input.author.slug,
48
+ })
49
+ return {
50
+ status: errorClass === 'AUTHOR_SYNC_NON_CANONICAL' ? 422 : 409,
51
+ body,
52
+ }
53
+ }
54
+
55
+ function collectErrorMessages(error: unknown): string[] {
56
+ const messages: string[] = []
57
+ let current: unknown = error
58
+ const seen = new Set<unknown>()
59
+ while (current && !seen.has(current)) {
60
+ seen.add(current)
61
+ if (current instanceof Error) {
62
+ messages.push(current.message)
63
+ current = current.cause
64
+ } else {
65
+ messages.push(String(current))
66
+ break
67
+ }
68
+ }
69
+ return messages
70
+ }
@@ -65,25 +65,34 @@ const emailStatusSchema = z.union([deliveryStatusSchema, z.literal('not_attempte
65
65
  const statusFilterSchema = z.enum(['active', 'revoked', 'all'])
66
66
  const unixSecondsSchema = z.number().int().nonnegative().max(MAX_COMPLIMENTARY_UNIX_SECONDS)
67
67
 
68
- const entitlementRowSchema = z
69
- .object({
70
- id: z.string().uuid(),
71
- userId: z.string().min(1),
72
- email: z.string().email(),
73
- grantReason: z.string().min(1),
74
- grantedAt: unixSecondsSchema,
75
- grantedBySubject: z.string().min(1),
76
- revokedAt: unixSecondsSchema.nullable(),
77
- revokedBySubject: z.string().min(1).nullable(),
78
- revokeReason: z.string().min(1).nullable(),
79
- emailStatus: emailStatusSchema,
80
- emailAttemptCount: z.number().int().nonnegative(),
81
- emailRetryable: z.boolean(),
82
- emailNextEligibleAt: unixSecondsSchema.nullable(),
83
- })
84
- .strict()
68
+ function stripInternalEntitlementIdentifiers(value: unknown): unknown {
69
+ if (typeof value !== 'object' || value === null || Array.isArray(value)) return value
70
+ const publicValue = { ...value } as Record<string, unknown>
71
+ delete publicValue.userId
72
+ delete publicValue.grantedBySubject
73
+ delete publicValue.revokedBySubject
74
+ return publicValue
75
+ }
85
76
 
86
- const complimentaryPageSchema: z.ZodType<ComplimentaryAccessPage> = z
77
+ const entitlementRowSchema = z.preprocess(
78
+ stripInternalEntitlementIdentifiers,
79
+ z
80
+ .object({
81
+ id: z.string().uuid(),
82
+ email: z.string().email(),
83
+ grantReason: z.string().min(1),
84
+ grantedAt: unixSecondsSchema,
85
+ revokedAt: unixSecondsSchema.nullable(),
86
+ revokeReason: z.string().min(1).nullable(),
87
+ emailStatus: emailStatusSchema,
88
+ emailAttemptCount: z.number().int().nonnegative(),
89
+ emailRetryable: z.boolean(),
90
+ emailNextEligibleAt: unixSecondsSchema.nullable(),
91
+ })
92
+ .strict(),
93
+ )
94
+
95
+ const complimentaryPageSchema: z.ZodType<ComplimentaryAccessPage, z.ZodTypeDef, unknown> = z
87
96
  .object({
88
97
  rows: z.array(entitlementRowSchema),
89
98
  total: z.number().int().nonnegative(),
@@ -110,7 +119,7 @@ const emailResultSchema = z
110
119
  })
111
120
  .strict()
112
121
 
113
- const complimentaryGrantResultSchema: z.ZodType<ComplimentaryGrantResult> = z
122
+ const complimentaryGrantResultSchema: z.ZodType<ComplimentaryGrantResult, z.ZodTypeDef, unknown> = z
114
123
  .object({
115
124
  outcome: z.enum(['created', 'already_active']),
116
125
  entitlement: entitlementRowSchema,
@@ -118,14 +127,19 @@ const complimentaryGrantResultSchema: z.ZodType<ComplimentaryGrantResult> = z
118
127
  })
119
128
  .strict()
120
129
 
121
- const complimentaryRevokeResultSchema: z.ZodType<ComplimentaryRevokeResult> = z
122
- .object({
123
- outcome: z.enum(['revoked', 'already_revoked']),
124
- entitlement: entitlementRowSchema,
125
- })
126
- .strict()
127
-
128
- const complimentaryRetryResultSchema: z.ZodType<ComplimentaryEmailRetryResult> = z
130
+ const complimentaryRevokeResultSchema: z.ZodType<ComplimentaryRevokeResult, z.ZodTypeDef, unknown> =
131
+ z
132
+ .object({
133
+ outcome: z.enum(['revoked', 'already_revoked']),
134
+ entitlement: entitlementRowSchema,
135
+ })
136
+ .strict()
137
+
138
+ const complimentaryRetryResultSchema: z.ZodType<
139
+ ComplimentaryEmailRetryResult,
140
+ z.ZodTypeDef,
141
+ unknown
142
+ > = z
129
143
  .object({
130
144
  outcome: z.enum(['queued', 'sent', 'failed', 'unknown', 'throttled', 'conflict']),
131
145
  entitlement: entitlementRowSchema,
@@ -152,8 +166,14 @@ const entitlementActionSchema = z
152
166
  })
153
167
  .strict()
154
168
 
155
- function providerResultSchema<T>(data: z.ZodType<T>): z.ZodType<ProviderResult<T>> {
156
- return z.object({ status: providerStatusSchema, data }).strict() as z.ZodType<ProviderResult<T>>
169
+ function providerResultSchema<T>(
170
+ data: z.ZodType<T, z.ZodTypeDef, unknown>,
171
+ ): z.ZodType<ProviderResult<T>, z.ZodTypeDef, unknown> {
172
+ return z.object({ status: providerStatusSchema, data }).strict() as z.ZodType<
173
+ ProviderResult<T>,
174
+ z.ZodTypeDef,
175
+ unknown
176
+ >
157
177
  }
158
178
 
159
179
  function parsePositiveInteger(value: string | null, fallback: number): number {
@@ -197,7 +217,7 @@ async function trustedActor(config: SubscriptionsRouteConfig, ctx: RouteContext)
197
217
 
198
218
  async function providerJson<T>(
199
219
  call: () => Promise<ProviderResult<T>>,
200
- schema: z.ZodType<ProviderResult<T>>,
220
+ schema: z.ZodType<ProviderResult<T>, z.ZodTypeDef, unknown>,
201
221
  ): Promise<Response> {
202
222
  try {
203
223
  const result = await call()
@@ -2,7 +2,7 @@ import { config } from 'virtual:growth-labs/cms/config'
2
2
  import { createRoot } from 'react-dom/client'
3
3
  import type { CmsUser } from '../../routes/context.js'
4
4
  import { CmsApp } from '../components/CmsApp.js'
5
- import { cmsScreens } from '../screens/registry.js'
5
+ import { createCmsScreens } from '../screens/registry.js'
6
6
  import { initialWorkspaceState } from '../workspace-context.js'
7
7
  import { type MeResponseSummary, resolveBootState } from './boot-state.js'
8
8
  import '../styles/broadsheet.css'
@@ -35,7 +35,10 @@ export async function mount(elementId = 'masthead-root') {
35
35
  : null
36
36
 
37
37
  const initial = initialWorkspaceState(config.workspaces, config.activeWorkspaceId, user)
38
- createRoot(el).render(<CmsApp initial={initial} screens={cmsScreens} boot={boot} />)
38
+ const screens = createCmsScreens({
39
+ allowInlineAuthorCreation: config.socialSharing.allowInlineAuthorCreation,
40
+ })
41
+ createRoot(el).render(<CmsApp initial={initial} screens={screens} boot={boot} />)
39
42
  }
40
43
 
41
44
  void mount()