@ttt-productions/ttt-core 0.71.2 → 0.72.0

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.
@@ -9,7 +9,7 @@ export declare const NotificationDocSchema: z.ZodObject<{
9
9
  message: z.ZodString;
10
10
  count: z.ZodNumber;
11
11
  latestActorIds: z.ZodArray<z.ZodString>;
12
- targetPath: z.ZodString;
12
+ targetPath: z.ZodOptional<z.ZodString>;
13
13
  metadata: z.ZodRecord<z.ZodString, z.ZodUnknown>;
14
14
  seenAt: z.ZodNumber;
15
15
  activityGeneration: z.ZodOptional<z.ZodString>;
@@ -35,7 +35,7 @@ export declare const NotificationHistoryDocSchema: z.ZodObject<{
35
35
  message: z.ZodString;
36
36
  count: z.ZodNumber;
37
37
  latestActorIds: z.ZodArray<z.ZodString>;
38
- targetPath: z.ZodString;
38
+ targetPath: z.ZodOptional<z.ZodString>;
39
39
  metadata: z.ZodRecord<z.ZodString, z.ZodUnknown>;
40
40
  seenAt: z.ZodNumber;
41
41
  activityGeneration: z.ZodOptional<z.ZodString>;
@@ -1 +1 @@
1
- {"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../../src/doc-schemas/notifications.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;iBAoBhC,CAAC;AAMH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAYvC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;iBAQpC,CAAC"}
1
+ {"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../../src/doc-schemas/notifications.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;iBAsBhC,CAAC;AAMH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAYvC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;iBAQpC,CAAC"}
@@ -20,7 +20,9 @@ export const NotificationDocSchema = z.object({
20
20
  message: z.string(),
21
21
  count: z.number(),
22
22
  latestActorIds: z.array(z.string()),
23
- targetPath: z.string(),
23
+ // Absent on linkless types (no defaultTargetPath in the type config) — the
24
+ // tray renders a clear-only row for those.
25
+ targetPath: z.string().optional(),
24
26
  metadata: z.record(z.string(), z.unknown()),
25
27
  seenAt: z.number(),
26
28
  // Opaque per-generation token rotated on create / material re-light; the
@@ -1 +1 @@
1
- {"version":3,"file":"notifications.js","sourceRoot":"","sources":["../../src/doc-schemas/notifications.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,kFAAkF;AAClF,8EAA8E;AAC9E,mFAAmF;AACnF,wFAAwF;AACxF,wFAAwF;AACxF,2FAA2F;AAC3F,wFAAwF;AACxF,mFAAmF;AACnF,wBAAwB;AAExB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAErE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACnC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;IAC3C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,yEAAyE;IACzE,4EAA4E;IAC5E,qDAAqD;IACrD,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzC,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACvC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC;AAEH,qFAAqF;AACrF,oFAAoF;AACpF,kFAAkF;AAClF,wEAAwE;AACxE,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC/B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,0BAA0B,EAAE,CAAC,CAAC,MAAM,EAAE;IACtC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IACzB,gBAAgB,EAAE,qBAAqB;IACvC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,QAAQ,EAAE,wBAAwB;IAClC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;IAC3C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC"}
1
+ {"version":3,"file":"notifications.js","sourceRoot":"","sources":["../../src/doc-schemas/notifications.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,kFAAkF;AAClF,8EAA8E;AAC9E,mFAAmF;AACnF,wFAAwF;AACxF,wFAAwF;AACxF,2FAA2F;AAC3F,wFAAwF;AACxF,mFAAmF;AACnF,wBAAwB;AAExB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAErE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACnC,2EAA2E;IAC3E,2CAA2C;IAC3C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;IAC3C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,yEAAyE;IACzE,4EAA4E;IAC5E,qDAAqD;IACrD,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzC,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACvC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC;AAEH,qFAAqF;AACrF,oFAAoF;AACpF,kFAAkF;AAClF,wEAAwE;AACxE,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC/B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,0BAA0B,EAAE,CAAC,CAAC,MAAM,EAAE;IACtC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IACzB,gBAAgB,EAAE,qBAAqB;IACvC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,QAAQ,EAAE,wBAAwB;IAClC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;IAC3C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC"}
@@ -217,7 +217,7 @@ export declare const COLLECTION_SCHEMAS: {
217
217
  message: z.ZodString;
218
218
  count: z.ZodNumber;
219
219
  latestActorIds: z.ZodArray<z.ZodString>;
220
- targetPath: z.ZodString;
220
+ targetPath: z.ZodOptional<z.ZodString>;
221
221
  metadata: z.ZodRecord<z.ZodString, z.ZodUnknown>;
222
222
  seenAt: z.ZodNumber;
223
223
  activityGeneration: z.ZodOptional<z.ZodString>;
@@ -3536,7 +3536,7 @@ export declare const COLLECTION_SCHEMAS: {
3536
3536
  message: z.ZodString;
3537
3537
  count: z.ZodNumber;
3538
3538
  latestActorIds: z.ZodArray<z.ZodString>;
3539
- targetPath: z.ZodString;
3539
+ targetPath: z.ZodOptional<z.ZodString>;
3540
3540
  metadata: z.ZodRecord<z.ZodString, z.ZodUnknown>;
3541
3541
  seenAt: z.ZodNumber;
3542
3542
  activityGeneration: z.ZodOptional<z.ZodString>;
@@ -3554,7 +3554,7 @@ export declare const COLLECTION_SCHEMAS: {
3554
3554
  message: z.ZodString;
3555
3555
  count: z.ZodNumber;
3556
3556
  latestActorIds: z.ZodArray<z.ZodString>;
3557
- targetPath: z.ZodString;
3557
+ targetPath: z.ZodOptional<z.ZodString>;
3558
3558
  metadata: z.ZodRecord<z.ZodString, z.ZodUnknown>;
3559
3559
  seenAt: z.ZodNumber;
3560
3560
  activityGeneration: z.ZodOptional<z.ZodString>;
@@ -3580,7 +3580,7 @@ export declare const COLLECTION_SCHEMAS: {
3580
3580
  message: z.ZodString;
3581
3581
  count: z.ZodNumber;
3582
3582
  latestActorIds: z.ZodArray<z.ZodString>;
3583
- targetPath: z.ZodString;
3583
+ targetPath: z.ZodOptional<z.ZodString>;
3584
3584
  metadata: z.ZodRecord<z.ZodString, z.ZodUnknown>;
3585
3585
  seenAt: z.ZodNumber;
3586
3586
  activityGeneration: z.ZodOptional<z.ZodString>;
@@ -0,0 +1,3 @@
1
+ import type { NotificationSystemConfig } from '@ttt-productions/notification-core';
2
+ export declare const TTT_NOTIFICATION_CONFIG: NotificationSystemConfig;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/notifications/index.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAiBnF,eAAO,MAAM,uBAAuB,EAAE,wBA2LrC,CAAC"}
@@ -0,0 +1,223 @@
1
+ // The ONE TTT notification system config (frontend + backend).
2
+ //
3
+ // This is the single cross-boundary source for the notification type table:
4
+ // per-type copy (title/message patterns), navigation (defaultTargetPath), caps,
5
+ // icons, and the category collection paths. ttt-prod's frontend tray AND its
6
+ // Cloud Functions delivery engine both import THIS object — the previous twin
7
+ // configs (src/lib/notification-config.ts + functions/src/notifications/
8
+ // notification-config.ts) drifted apart and are replaced by it.
9
+ //
10
+ // Backend wrapping: the Cloud Functions side must spread in the one
11
+ // environment-specific field this shared object cannot carry —
12
+ // `timestampFromMillis` needs firebase-admin, which may never enter ttt-core's
13
+ // server-safe main graph:
14
+ //
15
+ // const config = { ...TTT_NOTIFICATION_CONFIG,
16
+ // timestampFromMillis: (ms) => admin.firestore.Timestamp.fromMillis(ms) };
17
+ //
18
+ // Category/delivery per type derive from NOTIFICATION_TYPE_CATALOG
19
+ // (../schemas/notification.js) so each type has exactly ONE authoritative row —
20
+ // never restate them here. A new notification type is added there first (VALUES,
21
+ // catalog, metadata union), then given its display entry here.
22
+ //
23
+ // LINKLESS types (`report_action_taken`, `admin_announcement`) declare NO
24
+ // `defaultTargetPath`: the written doc omits `targetPath` and the tray renders a
25
+ // clear-only row (X, no go-to arrow). Never point a type at '/' as a
26
+ // pseudo-target — a go-to arrow that lands on the homepage is a dead control
27
+ // (found live 2026-07-09 on the report-acted-on card).
28
+ import { NOTIFICATION_TYPE_CATALOG } from '../schemas/notification.js';
29
+ import { COLLECTIONS } from '../paths/collections.js';
30
+ const DAY_MS = 24 * 60 * 60 * 1000;
31
+ /** Category + delivery for one type, sourced from the canonical catalog. */
32
+ function catalogEntry(type) {
33
+ const { category, delivery } = NOTIFICATION_TYPE_CATALOG[type];
34
+ return { category, delivery };
35
+ }
36
+ // NOTE: `dedupKeyPattern` on each type below is LEGACY on the reliable/fanout
37
+ // delivery paths (their active-card key is the caller-supplied aggregationKey /
38
+ // aggregationKeyFor(job)); it remains live ONLY for the pendingNotifications
39
+ // batch processor and is required by the generic NotificationTypeConfig shape.
40
+ // Do not rely on it as the dedup source of truth.
41
+ export const TTT_NOTIFICATION_CONFIG = {
42
+ categories: {
43
+ user: {
44
+ activePath: COLLECTIONS.ACTIVE_USER_NOTIFICATIONS,
45
+ historyPath: (userId) => `${COLLECTIONS.USER_PROFILES}/${userId}/notificationHistory`,
46
+ audienceType: 'personal',
47
+ },
48
+ admin: {
49
+ activePath: COLLECTIONS.ACTIVE_ADMIN_NOTIFICATIONS,
50
+ historyPath: () => COLLECTIONS.ADMIN_NOTIFICATION_HISTORY,
51
+ audienceType: 'shared',
52
+ },
53
+ },
54
+ types: {
55
+ content_report: {
56
+ ...catalogEntry('content_report'),
57
+ dedupKeyPattern: (meta) => `report_${meta.reportedItemId}`,
58
+ titlePattern: (meta) => `Content Report: ${meta.reportedItemType}`,
59
+ messagePattern: (_meta, count) => `${count} user${count > 1 ? 's' : ''} reported this content`,
60
+ defaultTargetPath: '/admin',
61
+ countCap: 5000,
62
+ actorCap: 5,
63
+ icon: '🚩',
64
+ },
65
+ guild_invite: {
66
+ ...catalogEntry('guild_invite'),
67
+ dedupKeyPattern: (meta) => `invite_${meta.workProjectId}_${meta.guildInviteId}`,
68
+ // Title carries no work-title snapshot — the display surface resolves the current
69
+ // work name by `meta.workProjectId` (Display Identity Invariant).
70
+ titlePattern: () => 'Guild Invite',
71
+ messagePattern: () => 'You have been invited to collaborate',
72
+ defaultTargetPath: '/invites',
73
+ countCap: 100,
74
+ actorCap: 5,
75
+ icon: '📬',
76
+ },
77
+ admin_dispatch_reply: {
78
+ ...catalogEntry('admin_dispatch_reply'),
79
+ dedupKeyPattern: (meta) => `adminDispatchReply_${meta.adminDispatchId}`,
80
+ titlePattern: () => 'Admin Reply',
81
+ messagePattern: (meta) => meta.partyKind === 'workProject'
82
+ ? 'An admin has responded in a work correspondence thread'
83
+ : 'An admin has responded to your message',
84
+ // Work-party threads route to the Work's correspondence surface; user threads
85
+ // to the personal Messages tray. (`partyKind`/`workProjectId` come from the
86
+ // typed metadata — see NotificationMetadataByTypeSchema.)
87
+ defaultTargetPath: (meta) => meta.partyKind === 'workProject' && typeof meta.workProjectId === 'string'
88
+ ? `/work-projects/${meta.workProjectId}`
89
+ : '/messages',
90
+ countCap: 100,
91
+ actorCap: 1,
92
+ icon: '📩',
93
+ },
94
+ threshold_library_submission: {
95
+ ...catalogEntry('threshold_library_submission'),
96
+ dedupKeyPattern: (meta) => `thresholdLibrarySubmission_${meta.workProjectId}`,
97
+ titlePattern: () => 'Threshold Library Submission',
98
+ messagePattern: () => 'New content submitted for review',
99
+ defaultTargetPath: '/admin',
100
+ countCap: 100,
101
+ actorCap: 5,
102
+ icon: '📚',
103
+ },
104
+ // Author feedback for a review decision (only needs_revision is delivered — an
105
+ // approval reaches the author through the publish-side member fanout). Keyed
106
+ // per threshold item so a re-decision of the same item coalesces. The card
107
+ // surfaces the reviewer notes so the author knows what to fix.
108
+ threshold_library_reviewed: {
109
+ ...catalogEntry('threshold_library_reviewed'),
110
+ dedupKeyPattern: (meta) => `thresholdReviewed_${meta.thresholdItemId}`,
111
+ titlePattern: () => 'Library review update',
112
+ messagePattern: (meta) => typeof meta.adminNotes === 'string' && meta.adminNotes.trim().length > 0
113
+ ? `Your submission needs revision: ${meta.adminNotes}`
114
+ : 'Your submission needs revision before it can be published.',
115
+ defaultTargetPath: (meta) => `/work-projects/${meta.workProjectId}`,
116
+ countCap: 100,
117
+ actorCap: 1,
118
+ icon: '📝',
119
+ },
120
+ // Proposer feedback for a PUBLISHED change-request decision. Keyed per change
121
+ // request so a re-decision coalesces. The card surfaces the resolution reason
122
+ // (required on a deny, optional on an approve).
123
+ hall_content_change_request_resolved: {
124
+ ...catalogEntry('hall_content_change_request_resolved'),
125
+ dedupKeyPattern: (meta) => `hallChangeReq_${meta.changeRequestId}`,
126
+ titlePattern: () => 'Change request update',
127
+ messagePattern: (meta) => {
128
+ const reason = typeof meta.resolutionReason === 'string' && meta.resolutionReason.trim().length > 0
129
+ ? ` ${meta.resolutionReason}`
130
+ : '';
131
+ return meta.decision === 'approved'
132
+ ? `Your requested changes were approved.${reason}`
133
+ : `Your requested changes were denied.${reason}`;
134
+ },
135
+ defaultTargetPath: (meta) => `/work-projects/${meta.workProjectId}`,
136
+ countCap: 100,
137
+ actorCap: 1,
138
+ icon: '📝',
139
+ },
140
+ // Reporter feedback (DJ ruling 2026-07-06): fires ONLY when a report closes
141
+ // as a real case WITH action (root → `actioned`); never on dismissals.
142
+ // Generic copy is the PRIVACY CEILING — the card must never name the
143
+ // reported user, the reason, or the remedy (a bad-faith reporter must not
144
+ // be able to probe moderation outcomes), and it is LINKLESS (no
145
+ // defaultTargetPath → clear-only row). Keyed per report root → at most one
146
+ // card per report filed.
147
+ report_action_taken: {
148
+ ...catalogEntry('report_action_taken'),
149
+ dedupKeyPattern: (meta) => `reportActionTaken_${meta.reportId}`,
150
+ titlePattern: () => 'Report update',
151
+ messagePattern: () => 'A report you submitted had action taken.',
152
+ countCap: 1,
153
+ actorCap: 1,
154
+ icon: '🛡️',
155
+ },
156
+ // Admin broadcast. LINKLESS — the card IS the content (title + message);
157
+ // there is nowhere meaningful to navigate.
158
+ admin_announcement: {
159
+ ...catalogEntry('admin_announcement'),
160
+ dedupKeyPattern: (meta) => `announcement_${meta.title}`,
161
+ titlePattern: (meta) => `${meta.title}`,
162
+ messagePattern: (meta) => `${meta.message}`,
163
+ countCap: 100,
164
+ actorCap: 1,
165
+ icon: '📢',
166
+ },
167
+ followed_content_published: {
168
+ ...catalogEntry('followed_content_published'),
169
+ // Dedup keyed on the Work's hall item so a follower of both the Work AND
170
+ // its canon Realm gets ONE notification per release, and repeated
171
+ // sub-item publishes coalesce into a single "N new items" notification.
172
+ dedupKeyPattern: (meta) => `relpub_${meta.hallItemId}`,
173
+ titlePattern: (meta) => `New in ${meta.workTitle}`,
174
+ messagePattern: (meta, count) => count > 1 ? `${count} new items published` : `"${meta.hallItemTitle}" was published`,
175
+ defaultTargetPath: (meta) => `/hall-library/${meta.hallItemId}`,
176
+ countCap: 5000,
177
+ actorCap: 5,
178
+ icon: '📖',
179
+ },
180
+ // P7 Hall-publish MEMBER job ("your work was published!"). Type-scoped dedup
181
+ // (`mempub_`) so a member who ALSO follows the Work gets this member card AND
182
+ // the follower card as distinct notifications (different types → different
183
+ // active-doc ids). Targets the stable Work route, not the Hall route.
184
+ member_content_published: {
185
+ ...catalogEntry('member_content_published'),
186
+ dedupKeyPattern: (meta) => `mempub_${meta.hallItemId}`,
187
+ titlePattern: (meta) => `Your work "${meta.workTitle}" was published`,
188
+ messagePattern: (meta, count) => count > 1
189
+ ? `${count} of your items were published to the Hall Library`
190
+ : `"${meta.hallItemTitle}" is now in the Hall Library`,
191
+ defaultTargetPath: (meta) => `/work-projects/${meta.workProjectId}`,
192
+ countCap: 5000,
193
+ actorCap: 5,
194
+ icon: '🎉',
195
+ },
196
+ // P7 craft-skill publish → the artisan's followers. `staticRelight` (the
197
+ // engine's strategyForType sets it): count stays 1, copy is static, no count
198
+ // shown. Aggregation is per-artisan (`craftskill_<uid>`), reused across skill
199
+ // occurrences, so the card relights. R34: the job carries only `{ artisanUid }`
200
+ // (no `actorId`), so `latestActorIds` is always empty for this type — any actor
201
+ // avatar/name must resolve at render from `metadata.artisanUid`, NOT latestActorIds.
202
+ // Targets the stable artisan profile route.
203
+ followed_craft_skill_published: {
204
+ ...catalogEntry('followed_craft_skill_published'),
205
+ dedupKeyPattern: (meta) => `craftskill_${meta.artisanUid}`,
206
+ titlePattern: () => 'New craft skills',
207
+ messagePattern: () => 'An artisan you follow uploaded new craft skills',
208
+ defaultTargetPath: (meta) => `/profile/${meta.artisanUid}`,
209
+ countCap: 1,
210
+ actorCap: 1,
211
+ icon: '🎨',
212
+ },
213
+ },
214
+ batchIntervalMinutes: 10,
215
+ pendingCollectionPath: COLLECTIONS.PENDING_NOTIFICATIONS,
216
+ // Delivery ledger (notification redesign P1/P1b). `timestampFromMillis` is
217
+ // deliberately ABSENT here — Firestore native TTL needs a real Timestamp, which
218
+ // requires firebase-admin; the backend wrapper injects it (see header).
219
+ deliveriesCollectionPath: COLLECTIONS.NOTIFICATION_DELIVERIES,
220
+ deliveryTtlMs: 90 * DAY_MS,
221
+ maxDeliveryAttempts: 8,
222
+ };
223
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/notifications/index.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
1
  import { z } from 'zod';
2
- export declare const NOTIFICATION_TYPE_VALUES: readonly ["content_report", "guild_invite", "admin_dispatch_reply", "threshold_library_submission", "admin_announcement", "followed_content_published", "member_content_published", "followed_craft_skill_published", "report_action_taken"];
2
+ export declare const NOTIFICATION_TYPE_VALUES: readonly ["content_report", "guild_invite", "admin_dispatch_reply", "threshold_library_submission", "threshold_library_reviewed", "hall_content_change_request_resolved", "admin_announcement", "followed_content_published", "member_content_published", "followed_craft_skill_published", "report_action_taken"];
3
3
  export declare const NotificationTypeSchema: z.ZodEnum<{
4
4
  content_report: "content_report";
5
5
  guild_invite: "guild_invite";
6
6
  admin_dispatch_reply: "admin_dispatch_reply";
7
7
  threshold_library_submission: "threshold_library_submission";
8
+ threshold_library_reviewed: "threshold_library_reviewed";
9
+ hall_content_change_request_resolved: "hall_content_change_request_resolved";
8
10
  admin_announcement: "admin_announcement";
9
11
  followed_content_published: "followed_content_published";
10
12
  member_content_published: "member_content_published";
@@ -70,6 +72,29 @@ export declare const NotificationMetadataByTypeSchema: z.ZodDiscriminatedUnion<[
70
72
  thresholdItemId: z.ZodString;
71
73
  hallItemId: z.ZodString;
72
74
  workProjectId: z.ZodString;
75
+ }, z.core.$strict>, z.ZodObject<{
76
+ type: z.ZodLiteral<"threshold_library_reviewed">;
77
+ thresholdItemId: z.ZodString;
78
+ hallItemId: z.ZodString;
79
+ workProjectId: z.ZodString;
80
+ workProjectType: z.ZodEnum<{
81
+ Tales: "Tales";
82
+ Tunes: "Tunes";
83
+ Television: "Television";
84
+ }>;
85
+ itemId: z.ZodString;
86
+ decision: z.ZodLiteral<"needs_revision">;
87
+ adminNotes: z.ZodNullable<z.ZodString>;
88
+ }, z.core.$strict>, z.ZodObject<{
89
+ type: z.ZodLiteral<"hall_content_change_request_resolved">;
90
+ changeRequestId: z.ZodString;
91
+ hallItemId: z.ZodString;
92
+ workProjectId: z.ZodString;
93
+ decision: z.ZodEnum<{
94
+ approved: "approved";
95
+ denied: "denied";
96
+ }>;
97
+ resolutionReason: z.ZodNullable<z.ZodString>;
73
98
  }, z.core.$strict>, z.ZodObject<{
74
99
  type: z.ZodLiteral<"admin_announcement">;
75
100
  title: z.ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"notification.d.ts","sourceRoot":"","sources":["../../src/schemas/notification.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"notification.d.ts","sourceRoot":"","sources":["../../src/schemas/notification.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@
12
12
  // `notification.adminArchived` are added in ../types/audit.ts; their actor is
13
13
  // always an admin mode — `adminReview` / `adminOverride`).
14
14
  import { z } from 'zod';
15
- import { userIdSchema, workProjectIdSchema, guildInviteIdSchema, adminDispatchIdSchema, hallItemIdSchema, thresholdItemIdSchema, notificationFanoutJobIdSchema, titleSchema, } from './atoms.js';
15
+ import { userIdSchema, workProjectIdSchema, guildInviteIdSchema, adminDispatchIdSchema, hallItemIdSchema, thresholdItemIdSchema, changeRequestIdSchema, workProjectTypeSchema, notificationFanoutJobIdSchema, titleSchema, } from './atoms.js';
16
16
  // String shape atoms specific to notifications.
17
17
  const notificationMessageSchema = z.string().min(1).max(2000);
18
18
  const reportedItemTypeSchema = z.string().min(1).max(64);
@@ -28,6 +28,11 @@ export const NOTIFICATION_TYPE_VALUES = [
28
28
  'guild_invite',
29
29
  'admin_dispatch_reply',
30
30
  'threshold_library_submission',
31
+ // Author feedback for a Threshold Library review decision (only needs_revision is
32
+ // delivered today — an approval reaches the author via the publish member fanout).
33
+ 'threshold_library_reviewed',
34
+ // Proposer feedback for a PUBLISHED change-request decision (approve/deny).
35
+ 'hall_content_change_request_resolved',
31
36
  'admin_announcement',
32
37
  'followed_content_published',
33
38
  // chat-edge-rebuild P7 — the two new fanout triggers (NOTIFICATIONS_REDESIGN "Triggers").
@@ -61,6 +66,8 @@ export const NOTIFICATION_TYPE_CATALOG = {
61
66
  guild_invite: { category: 'user', delivery: 'queued', defaultChannels: ['inApp'] },
62
67
  admin_dispatch_reply: { category: 'user', delivery: 'realtime', defaultChannels: ['inApp'] },
63
68
  threshold_library_submission: { category: 'admin', delivery: 'queued', defaultChannels: ['inApp'] },
69
+ threshold_library_reviewed: { category: 'user', delivery: 'queued', defaultChannels: ['inApp'] },
70
+ hall_content_change_request_resolved: { category: 'user', delivery: 'queued', defaultChannels: ['inApp'] },
64
71
  admin_announcement: { category: 'user', delivery: 'queued', defaultChannels: ['inApp'] },
65
72
  followed_content_published: { category: 'user', delivery: 'queued', defaultChannels: ['inApp'] },
66
73
  member_content_published: { category: 'user', delivery: 'queued', defaultChannels: ['inApp'] },
@@ -103,6 +110,30 @@ export const NotificationMetadataByTypeSchema = z.discriminatedUnion('type', [
103
110
  hallItemId: hallItemIdSchema,
104
111
  workProjectId: workProjectIdSchema,
105
112
  }).strict(),
113
+ // Author feedback for a review decision. Mirrors what runReviewThresholdItem
114
+ // (ttt-prod) sends: only `needs_revision` is delivered today; `adminNotes` is
115
+ // the reviewer's note, sent as null when the reviewer left none.
116
+ z.object({
117
+ type: z.literal('threshold_library_reviewed'),
118
+ thresholdItemId: thresholdItemIdSchema,
119
+ hallItemId: hallItemIdSchema,
120
+ workProjectId: workProjectIdSchema,
121
+ workProjectType: workProjectTypeSchema,
122
+ itemId: z.string().min(1),
123
+ decision: z.literal('needs_revision'),
124
+ adminNotes: z.string().max(2000).nullable(),
125
+ }).strict(),
126
+ // Proposer feedback for a published change-request decision. Mirrors what
127
+ // runReviewHallContentChangeRequest (ttt-prod) sends: `resolutionReason` is
128
+ // required on a deny, optional on an approve — null when absent.
129
+ z.object({
130
+ type: z.literal('hall_content_change_request_resolved'),
131
+ changeRequestId: changeRequestIdSchema,
132
+ hallItemId: hallItemIdSchema,
133
+ workProjectId: workProjectIdSchema,
134
+ decision: z.enum(['approved', 'denied']),
135
+ resolutionReason: z.string().max(2000).nullable(),
136
+ }).strict(),
106
137
  z.object({
107
138
  type: z.literal('admin_announcement'),
108
139
  title: titleSchema,
@@ -1 +1 @@
1
- {"version":3,"file":"notification.js","sourceRoot":"","sources":["../../src/schemas/notification.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"notification.js","sourceRoot":"","sources":["../../src/schemas/notification.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ttt-productions/ttt-core",
3
- "version": "0.71.2",
3
+ "version": "0.72.0",
4
4
  "description": "Core types, Firestore path constants, and shared constants for TTT Productions",
5
5
  "repository": {
6
6
  "type": "git",
@@ -76,6 +76,10 @@
76
76
  "types": "./dist/doc-schemas/index.d.ts",
77
77
  "default": "./dist/doc-schemas/index.js"
78
78
  },
79
+ "./notifications": {
80
+ "types": "./dist/notifications/index.d.ts",
81
+ "default": "./dist/notifications/index.js"
82
+ },
79
83
  "./upload-variables": {
80
84
  "types": "./dist/upload-variables/index.d.ts",
81
85
  "default": "./dist/upload-variables/index.js"
@@ -101,7 +105,8 @@
101
105
  "@ttt-productions/chat-schemas": "^0.9.0",
102
106
  "@ttt-productions/edge-protocol-core": "^0.1.2",
103
107
  "@ttt-productions/media-schemas": "^0.14.0",
104
- "@ttt-productions/report-core": "^0.16.1",
108
+ "@ttt-productions/notification-core": "^0.14.3",
109
+ "@ttt-productions/report-core": "^0.16.2",
105
110
  "zod": "^4.4.3"
106
111
  },
107
112
  "devDependencies": {