@ttt-productions/ttt-core 0.14.2 → 0.14.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.
- package/dist/doc-schemas/chat-sync.d.ts +173 -0
- package/dist/doc-schemas/chat-sync.d.ts.map +1 -0
- package/dist/doc-schemas/chat-sync.js +130 -0
- package/dist/doc-schemas/chat-sync.js.map +1 -0
- package/dist/doc-schemas/index.d.ts +2 -0
- package/dist/doc-schemas/index.d.ts.map +1 -1
- package/dist/doc-schemas/index.js +2 -0
- package/dist/doc-schemas/index.js.map +1 -1
- package/dist/doc-schemas/media-assets.d.ts +2 -2
- package/dist/doc-schemas/messaging.d.ts +1 -0
- package/dist/doc-schemas/messaging.d.ts.map +1 -1
- package/dist/doc-schemas/messaging.js +4 -0
- package/dist/doc-schemas/messaging.js.map +1 -1
- package/dist/doc-schemas/notification-ledger.d.ts +78 -0
- package/dist/doc-schemas/notification-ledger.d.ts.map +1 -0
- package/dist/doc-schemas/notification-ledger.js +63 -0
- package/dist/doc-schemas/notification-ledger.js.map +1 -0
- package/dist/doc-schemas/notifications.d.ts +4 -0
- package/dist/doc-schemas/notifications.d.ts.map +1 -1
- package/dist/doc-schemas/notifications.js +5 -0
- package/dist/doc-schemas/notifications.js.map +1 -1
- package/dist/doc-schemas/registry.d.ts +245 -1
- package/dist/doc-schemas/registry.d.ts.map +1 -1
- package/dist/doc-schemas/registry.js +13 -0
- package/dist/doc-schemas/registry.js.map +1 -1
- package/dist/doc-schemas/system.d.ts +1 -0
- package/dist/doc-schemas/system.d.ts.map +1 -1
- package/dist/doc-schemas/system.js +4 -0
- package/dist/doc-schemas/system.js.map +1 -1
- package/dist/doc-schemas/user.d.ts +6 -0
- package/dist/doc-schemas/user.d.ts.map +1 -1
- package/dist/doc-schemas/user.js +7 -0
- package/dist/doc-schemas/user.js.map +1 -1
- package/dist/doc-schemas/work-project.d.ts +1 -0
- package/dist/doc-schemas/work-project.d.ts.map +1 -1
- package/dist/doc-schemas/work-project.js +9 -0
- package/dist/doc-schemas/work-project.js.map +1 -1
- package/dist/ids/chat-ids.d.ts +67 -0
- package/dist/ids/chat-ids.d.ts.map +1 -0
- package/dist/ids/chat-ids.js +119 -0
- package/dist/ids/chat-ids.js.map +1 -0
- package/dist/ids/index.d.ts +2 -0
- package/dist/ids/index.d.ts.map +1 -0
- package/dist/ids/index.js +2 -0
- package/dist/ids/index.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/paths/collections.d.ts +9 -0
- package/dist/paths/collections.d.ts.map +1 -1
- package/dist/paths/collections.js +12 -0
- package/dist/paths/collections.js.map +1 -1
- package/dist/paths/path-builders.d.ts +9 -0
- package/dist/paths/path-builders.d.ts.map +1 -1
- package/dist/paths/path-builders.js +11 -0
- package/dist/paths/path-builders.js.map +1 -1
- package/dist/types/audit.d.ts +1 -1
- package/dist/types/audit.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const ChatChannelAuthProjectionSchema: z.ZodObject<{
|
|
3
|
+
channelRefScope: z.ZodEnum<{
|
|
4
|
+
channel: "channel";
|
|
5
|
+
invite: "invite";
|
|
6
|
+
}>;
|
|
7
|
+
workProjectId: z.ZodNullable<z.ZodString>;
|
|
8
|
+
guildChatChannelId: z.ZodNullable<z.ZodString>;
|
|
9
|
+
guildInviteId: z.ZodNullable<z.ZodString>;
|
|
10
|
+
uid: z.ZodString;
|
|
11
|
+
channelKey: z.ZodString;
|
|
12
|
+
channelAuthState: z.ZodEnum<{
|
|
13
|
+
authorized: "authorized";
|
|
14
|
+
removed: "removed";
|
|
15
|
+
}>;
|
|
16
|
+
channelAuthVersion: z.ZodNumber;
|
|
17
|
+
inputFingerprint: z.ZodString;
|
|
18
|
+
updatedAt: z.ZodNumber;
|
|
19
|
+
}, z.core.$strip>;
|
|
20
|
+
export type ChatChannelAuthProjection = z.infer<typeof ChatChannelAuthProjectionSchema>;
|
|
21
|
+
export declare const ChatScopeDegradedSchema: z.ZodObject<{
|
|
22
|
+
scopeKey: z.ZodString;
|
|
23
|
+
scopeKind: z.ZodEnum<{
|
|
24
|
+
channel: "channel";
|
|
25
|
+
memberInWork: "memberInWork";
|
|
26
|
+
}>;
|
|
27
|
+
workProjectId: z.ZodNullable<z.ZodString>;
|
|
28
|
+
guildChatChannelId: z.ZodNullable<z.ZodString>;
|
|
29
|
+
guildInviteId: z.ZodNullable<z.ZodString>;
|
|
30
|
+
uid: z.ZodNullable<z.ZodString>;
|
|
31
|
+
unresolvedCauseCount: z.ZodNumber;
|
|
32
|
+
updatedAt: z.ZodNumber;
|
|
33
|
+
}, z.core.$strip>;
|
|
34
|
+
export type ChatScopeDegraded = z.infer<typeof ChatScopeDegradedSchema>;
|
|
35
|
+
export declare const ChatScopeDegradedCauseSchema: z.ZodObject<{
|
|
36
|
+
causeId: z.ZodString;
|
|
37
|
+
kind: z.ZodEnum<{
|
|
38
|
+
syncEvent: "syncEvent";
|
|
39
|
+
fanoutJob: "fanoutJob";
|
|
40
|
+
}>;
|
|
41
|
+
ref: z.ZodString;
|
|
42
|
+
deadLetteredAt: z.ZodNumber;
|
|
43
|
+
}, z.core.$strip>;
|
|
44
|
+
export type ChatScopeDegradedCause = z.infer<typeof ChatScopeDegradedCauseSchema>;
|
|
45
|
+
export declare const ChatSyncEventSchema: z.ZodObject<{
|
|
46
|
+
eventId: z.ZodString;
|
|
47
|
+
targetDo: z.ZodString;
|
|
48
|
+
kind: z.ZodEnum<{
|
|
49
|
+
config: "config";
|
|
50
|
+
channelAuth: "channelAuth";
|
|
51
|
+
accountAccess: "accountAccess";
|
|
52
|
+
attachmentFlip: "attachmentFlip";
|
|
53
|
+
serverMessage: "serverMessage";
|
|
54
|
+
}>;
|
|
55
|
+
version: z.ZodNumber;
|
|
56
|
+
payload: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
57
|
+
tombstone: z.ZodOptional<z.ZodBoolean>;
|
|
58
|
+
payloadHash: z.ZodString;
|
|
59
|
+
status: z.ZodEnum<{
|
|
60
|
+
pending: "pending";
|
|
61
|
+
delivered: "delivered";
|
|
62
|
+
deadLetter: "deadLetter";
|
|
63
|
+
}>;
|
|
64
|
+
attemptCount: z.ZodNumber;
|
|
65
|
+
nextAttemptAt: z.ZodNumber;
|
|
66
|
+
lastError: z.ZodNullable<z.ZodString>;
|
|
67
|
+
createdAt: z.ZodNumber;
|
|
68
|
+
deliveredResult: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
69
|
+
deliveredAt: z.ZodNullable<z.ZodNumber>;
|
|
70
|
+
deadLetteredAt: z.ZodNullable<z.ZodNumber>;
|
|
71
|
+
expireAt: z.ZodOptional<z.ZodUnknown>;
|
|
72
|
+
}, z.core.$strip>;
|
|
73
|
+
export type ChatSyncEvent = z.infer<typeof ChatSyncEventSchema>;
|
|
74
|
+
export declare const ChatSyncFanoutJobSchema: z.ZodObject<{
|
|
75
|
+
jobId: z.ZodString;
|
|
76
|
+
selectorKind: z.ZodEnum<{
|
|
77
|
+
channelMembers: "channelMembers";
|
|
78
|
+
workChannelsForUser: "workChannelsForUser";
|
|
79
|
+
policyEditAffectedUsers: "policyEditAffectedUsers";
|
|
80
|
+
}>;
|
|
81
|
+
selectorArgs: z.ZodObject<{
|
|
82
|
+
workProjectId: z.ZodOptional<z.ZodString>;
|
|
83
|
+
channelKey: z.ZodOptional<z.ZodString>;
|
|
84
|
+
uid: z.ZodOptional<z.ZodString>;
|
|
85
|
+
}, z.core.$strip>;
|
|
86
|
+
causeVersion: z.ZodNumber;
|
|
87
|
+
cursor: z.ZodObject<{
|
|
88
|
+
pageIndex: z.ZodNumber;
|
|
89
|
+
lastDocId: z.ZodNullable<z.ZodString>;
|
|
90
|
+
}, z.core.$strip>;
|
|
91
|
+
revision: z.ZodNumber;
|
|
92
|
+
status: z.ZodEnum<{
|
|
93
|
+
pending: "pending";
|
|
94
|
+
complete: "complete";
|
|
95
|
+
deadLetter: "deadLetter";
|
|
96
|
+
}>;
|
|
97
|
+
attemptCount: z.ZodNumber;
|
|
98
|
+
nextAttemptAt: z.ZodNumber;
|
|
99
|
+
lastError: z.ZodNullable<z.ZodString>;
|
|
100
|
+
createdAt: z.ZodNumber;
|
|
101
|
+
completedAt: z.ZodNullable<z.ZodNumber>;
|
|
102
|
+
deadLetteredAt: z.ZodNullable<z.ZodNumber>;
|
|
103
|
+
expireAt: z.ZodOptional<z.ZodUnknown>;
|
|
104
|
+
}, z.core.$strip>;
|
|
105
|
+
export type ChatSyncFanoutJob = z.infer<typeof ChatSyncFanoutJobSchema>;
|
|
106
|
+
export declare const ChatMessageOutboxSchema: z.ZodObject<{
|
|
107
|
+
commandId: z.ZodString;
|
|
108
|
+
kind: z.ZodEnum<{
|
|
109
|
+
userMsg: "userMsg";
|
|
110
|
+
systemMsg: "systemMsg";
|
|
111
|
+
attachmentPlaceholder: "attachmentPlaceholder";
|
|
112
|
+
}>;
|
|
113
|
+
threadRef: z.ZodString;
|
|
114
|
+
payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
115
|
+
payloadVersion: z.ZodNumber;
|
|
116
|
+
status: z.ZodEnum<{
|
|
117
|
+
pending: "pending";
|
|
118
|
+
deadLetter: "deadLetter";
|
|
119
|
+
applied: "applied";
|
|
120
|
+
}>;
|
|
121
|
+
attemptCount: z.ZodNumber;
|
|
122
|
+
nextAttemptAt: z.ZodNumber;
|
|
123
|
+
lastError: z.ZodNullable<z.ZodString>;
|
|
124
|
+
createdAt: z.ZodNumber;
|
|
125
|
+
appliedAt: z.ZodNullable<z.ZodNumber>;
|
|
126
|
+
deadLetteredAt: z.ZodNullable<z.ZodNumber>;
|
|
127
|
+
expireAt: z.ZodOptional<z.ZodUnknown>;
|
|
128
|
+
}, z.core.$strip>;
|
|
129
|
+
export type ChatMessageOutbox = z.infer<typeof ChatMessageOutboxSchema>;
|
|
130
|
+
export declare const ChatAdminActionCommandSchema: z.ZodObject<{
|
|
131
|
+
requestId: z.ZodString;
|
|
132
|
+
actorUid: z.ZodString;
|
|
133
|
+
actorMode: z.ZodEnum<{
|
|
134
|
+
adminReview: "adminReview";
|
|
135
|
+
adminOverride: "adminOverride";
|
|
136
|
+
}>;
|
|
137
|
+
systemRole: z.ZodEnum<{
|
|
138
|
+
admin: "admin";
|
|
139
|
+
jrAdmin: "jrAdmin";
|
|
140
|
+
}>;
|
|
141
|
+
channelRef: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
142
|
+
messageSeq: z.ZodNumber;
|
|
143
|
+
action: z.ZodEnum<{
|
|
144
|
+
hide: "hide";
|
|
145
|
+
delete: "delete";
|
|
146
|
+
}>;
|
|
147
|
+
caseId: z.ZodString;
|
|
148
|
+
reason: z.ZodString;
|
|
149
|
+
expectedMessageRevision: z.ZodNumber;
|
|
150
|
+
payloadHash: z.ZodString;
|
|
151
|
+
state: z.ZodEnum<{
|
|
152
|
+
failed: "failed";
|
|
153
|
+
deadLetter: "deadLetter";
|
|
154
|
+
applied: "applied";
|
|
155
|
+
queued: "queued";
|
|
156
|
+
delivering: "delivering";
|
|
157
|
+
}>;
|
|
158
|
+
attemptCount: z.ZodNumber;
|
|
159
|
+
nextAttemptAt: z.ZodNumber;
|
|
160
|
+
lastError: z.ZodNullable<z.ZodString>;
|
|
161
|
+
result: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
162
|
+
doRevisionId: z.ZodNullable<z.ZodString>;
|
|
163
|
+
terminalFailureGeneration: z.ZodNumber;
|
|
164
|
+
createdAt: z.ZodNumber;
|
|
165
|
+
appliedAt: z.ZodNullable<z.ZodNumber>;
|
|
166
|
+
failedAt: z.ZodNullable<z.ZodNumber>;
|
|
167
|
+
deadLetteredAt: z.ZodNullable<z.ZodNumber>;
|
|
168
|
+
reconciled: z.ZodBoolean;
|
|
169
|
+
reconciledAt: z.ZodNullable<z.ZodNumber>;
|
|
170
|
+
expireAt: z.ZodOptional<z.ZodUnknown>;
|
|
171
|
+
}, z.core.$strip>;
|
|
172
|
+
export type ChatAdminActionCommand = z.infer<typeof ChatAdminActionCommandSchema>;
|
|
173
|
+
//# sourceMappingURL=chat-sync.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat-sync.d.ts","sourceRoot":"","sources":["../../src/doc-schemas/chat-sync.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;iBAW1C,CAAC;AACH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAIxF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;iBAUlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,4BAA4B;;;;;;;;iBAKvC,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAGlF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAiB9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAGhE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmBlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAGxE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;iBAclC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAKxE,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA0BvC,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
// Chat realtime SYNC / projection / command Firestore schemas (chat-edge-rebuild P1).
|
|
2
|
+
// Frozen field lists come from IMPLEMENTATION_MATRIX.md "Chat sync / projection /
|
|
3
|
+
// commands (Firestore side)". All of these collections are Admin-SDK-only
|
|
4
|
+
// (`allow read, write: if false`). Per the TTT timestamp convention every time
|
|
5
|
+
// field is epoch-ms `number`; the SINGLE exception is the native-TTL `expireAt`,
|
|
6
|
+
// which is a real Firestore `Timestamp` (modeled as `unknown` so the drift-check
|
|
7
|
+
// does not false-flag a Timestamp object against `z.number()`).
|
|
8
|
+
import { z } from 'zod';
|
|
9
|
+
/** Native-TTL field — a real Firestore Timestamp (NOT epoch-ms). Absent until the terminal that sets TTL. */
|
|
10
|
+
const expireAtField = z.unknown().optional();
|
|
11
|
+
// ── chatChannelAuthProjections/{authPairKey} ────────────────────────────────
|
|
12
|
+
// Per-(user, channel) authorization FACT. Absent ⇒ removed/deny (fail-closed).
|
|
13
|
+
export const ChatChannelAuthProjectionSchema = z.object({
|
|
14
|
+
channelRefScope: z.enum(['channel', 'invite']),
|
|
15
|
+
workProjectId: z.string().nullable(),
|
|
16
|
+
guildChatChannelId: z.string().nullable(),
|
|
17
|
+
guildInviteId: z.string().nullable(),
|
|
18
|
+
uid: z.string(),
|
|
19
|
+
channelKey: z.string(),
|
|
20
|
+
channelAuthState: z.enum(['authorized', 'removed']),
|
|
21
|
+
channelAuthVersion: z.number(),
|
|
22
|
+
inputFingerprint: z.string(),
|
|
23
|
+
updatedAt: z.number(),
|
|
24
|
+
});
|
|
25
|
+
// ── chatScopeDegraded/{scopeKey} (+ causes/{causeId}) ───────────────────────
|
|
26
|
+
// Exists IFF unresolvedCauseCount > 0. Grant mints fail closed while it exists.
|
|
27
|
+
export const ChatScopeDegradedSchema = z.object({
|
|
28
|
+
scopeKey: z.string(),
|
|
29
|
+
scopeKind: z.enum(['channel', 'memberInWork']),
|
|
30
|
+
// channel scope carries the channelRef tuple; memberInWork carries {uid, workProjectId}.
|
|
31
|
+
workProjectId: z.string().nullable(),
|
|
32
|
+
guildChatChannelId: z.string().nullable(),
|
|
33
|
+
guildInviteId: z.string().nullable(),
|
|
34
|
+
uid: z.string().nullable(),
|
|
35
|
+
unresolvedCauseCount: z.number(),
|
|
36
|
+
updatedAt: z.number(),
|
|
37
|
+
});
|
|
38
|
+
export const ChatScopeDegradedCauseSchema = z.object({
|
|
39
|
+
causeId: z.string(),
|
|
40
|
+
kind: z.enum(['syncEvent', 'fanoutJob']),
|
|
41
|
+
ref: z.string(),
|
|
42
|
+
deadLetteredAt: z.number(),
|
|
43
|
+
});
|
|
44
|
+
// ── chatSyncEvents/{eventId} ────────────────────────────────────────────────
|
|
45
|
+
export const ChatSyncEventSchema = z.object({
|
|
46
|
+
eventId: z.string(),
|
|
47
|
+
targetDo: z.string(),
|
|
48
|
+
kind: z.enum(['channelAuth', 'accountAccess', 'config', 'attachmentFlip', 'serverMessage']),
|
|
49
|
+
version: z.number(),
|
|
50
|
+
payload: z.record(z.string(), z.unknown()).nullable(),
|
|
51
|
+
tombstone: z.boolean().optional(),
|
|
52
|
+
payloadHash: z.string(),
|
|
53
|
+
status: z.enum(['pending', 'delivered', 'deadLetter']),
|
|
54
|
+
attemptCount: z.number(),
|
|
55
|
+
nextAttemptAt: z.number(),
|
|
56
|
+
lastError: z.string().nullable(),
|
|
57
|
+
createdAt: z.number(),
|
|
58
|
+
deliveredResult: z.record(z.string(), z.unknown()).nullable(),
|
|
59
|
+
deliveredAt: z.number().nullable(),
|
|
60
|
+
deadLetteredAt: z.number().nullable(),
|
|
61
|
+
expireAt: expireAtField,
|
|
62
|
+
});
|
|
63
|
+
// ── chatSyncFanoutJobs/{jobId} ──────────────────────────────────────────────
|
|
64
|
+
export const ChatSyncFanoutJobSchema = z.object({
|
|
65
|
+
jobId: z.string(),
|
|
66
|
+
selectorKind: z.enum(['channelMembers', 'workChannelsForUser', 'policyEditAffectedUsers']),
|
|
67
|
+
selectorArgs: z.object({
|
|
68
|
+
workProjectId: z.string().optional(),
|
|
69
|
+
channelKey: z.string().optional(),
|
|
70
|
+
uid: z.string().optional(),
|
|
71
|
+
}),
|
|
72
|
+
causeVersion: z.number(),
|
|
73
|
+
cursor: z.object({ pageIndex: z.number(), lastDocId: z.string().nullable() }),
|
|
74
|
+
revision: z.number(),
|
|
75
|
+
status: z.enum(['pending', 'complete', 'deadLetter']),
|
|
76
|
+
attemptCount: z.number(),
|
|
77
|
+
nextAttemptAt: z.number(),
|
|
78
|
+
lastError: z.string().nullable(),
|
|
79
|
+
createdAt: z.number(),
|
|
80
|
+
completedAt: z.number().nullable(),
|
|
81
|
+
deadLetteredAt: z.number().nullable(),
|
|
82
|
+
expireAt: expireAtField,
|
|
83
|
+
});
|
|
84
|
+
// ── chatMessageOutbox/{commandId} ───────────────────────────────────────────
|
|
85
|
+
export const ChatMessageOutboxSchema = z.object({
|
|
86
|
+
commandId: z.string(),
|
|
87
|
+
kind: z.enum(['userMsg', 'systemMsg', 'attachmentPlaceholder']),
|
|
88
|
+
threadRef: z.string(),
|
|
89
|
+
payload: z.record(z.string(), z.unknown()),
|
|
90
|
+
payloadVersion: z.number(),
|
|
91
|
+
status: z.enum(['pending', 'applied', 'deadLetter']),
|
|
92
|
+
attemptCount: z.number(),
|
|
93
|
+
nextAttemptAt: z.number(),
|
|
94
|
+
lastError: z.string().nullable(),
|
|
95
|
+
createdAt: z.number(),
|
|
96
|
+
appliedAt: z.number().nullable(),
|
|
97
|
+
deadLetteredAt: z.number().nullable(),
|
|
98
|
+
expireAt: expireAtField,
|
|
99
|
+
});
|
|
100
|
+
// ── chatAdminActionCommands/{requestId} ─────────────────────────────────────
|
|
101
|
+
// `requestId` IS the doc id + DO dedup key. `delivering` is NOT a lease (it sets
|
|
102
|
+
// nextAttemptAt = now + DELIVERY_TIMEOUT). terminalFailureGeneration default 0.
|
|
103
|
+
export const ChatAdminActionCommandSchema = z.object({
|
|
104
|
+
requestId: z.string(),
|
|
105
|
+
actorUid: z.string(),
|
|
106
|
+
actorMode: z.enum(['adminReview', 'adminOverride']),
|
|
107
|
+
systemRole: z.enum(['admin', 'jrAdmin']),
|
|
108
|
+
channelRef: z.record(z.string(), z.unknown()),
|
|
109
|
+
messageSeq: z.number(),
|
|
110
|
+
action: z.enum(['hide', 'delete']),
|
|
111
|
+
caseId: z.string(),
|
|
112
|
+
reason: z.string(),
|
|
113
|
+
expectedMessageRevision: z.number(),
|
|
114
|
+
payloadHash: z.string(),
|
|
115
|
+
state: z.enum(['queued', 'delivering', 'applied', 'failed', 'deadLetter']),
|
|
116
|
+
attemptCount: z.number(),
|
|
117
|
+
nextAttemptAt: z.number(),
|
|
118
|
+
lastError: z.string().nullable(),
|
|
119
|
+
result: z.record(z.string(), z.unknown()).nullable(),
|
|
120
|
+
doRevisionId: z.string().nullable(),
|
|
121
|
+
terminalFailureGeneration: z.number(),
|
|
122
|
+
createdAt: z.number(),
|
|
123
|
+
appliedAt: z.number().nullable(),
|
|
124
|
+
failedAt: z.number().nullable(),
|
|
125
|
+
deadLetteredAt: z.number().nullable(),
|
|
126
|
+
reconciled: z.boolean(),
|
|
127
|
+
reconciledAt: z.number().nullable(),
|
|
128
|
+
expireAt: expireAtField,
|
|
129
|
+
});
|
|
130
|
+
//# sourceMappingURL=chat-sync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat-sync.js","sourceRoot":"","sources":["../../src/doc-schemas/chat-sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,8 @@ export * from './moderation.js';
|
|
|
14
14
|
export * from './report-docs.js';
|
|
15
15
|
export * from './audit.js';
|
|
16
16
|
export * from './notifications.js';
|
|
17
|
+
export * from './notification-ledger.js';
|
|
18
|
+
export * from './chat-sync.js';
|
|
17
19
|
export * from './operational.js';
|
|
18
20
|
export * from './registry.js';
|
|
19
21
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/doc-schemas/index.ts"],"names":[],"mappings":"AAMA,cAAc,WAAW,CAAC;AAC1B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/doc-schemas/index.ts"],"names":[],"mappings":"AAMA,cAAc,WAAW,CAAC;AAC1B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC"}
|
|
@@ -19,6 +19,8 @@ export * from './moderation.js';
|
|
|
19
19
|
export * from './report-docs.js';
|
|
20
20
|
export * from './audit.js';
|
|
21
21
|
export * from './notifications.js';
|
|
22
|
+
export * from './notification-ledger.js';
|
|
23
|
+
export * from './chat-sync.js';
|
|
22
24
|
export * from './operational.js';
|
|
23
25
|
export * from './registry.js';
|
|
24
26
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/doc-schemas/index.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,sFAAsF;AACtF,sFAAsF;AACtF,wFAAwF;AACxF,mFAAmF;AAEnF,cAAc,WAAW,CAAC;AAC1B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/doc-schemas/index.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,sFAAsF;AACtF,sFAAsF;AACtF,wFAAwF;AACxF,mFAAmF;AAEnF,cAAc,WAAW,CAAC;AAC1B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC"}
|
|
@@ -59,8 +59,8 @@ export type RealmPromotionStatus = z.infer<typeof RealmPromotionStatusSchema>;
|
|
|
59
59
|
/** Whether the canonical serving record has been applied to the DO authority. */
|
|
60
60
|
export declare const MediaAuthoritySyncStateSchema: z.ZodEnum<{
|
|
61
61
|
pending: "pending";
|
|
62
|
-
applied: "applied";
|
|
63
62
|
deadLetter: "deadLetter";
|
|
63
|
+
applied: "applied";
|
|
64
64
|
}>;
|
|
65
65
|
export type MediaAuthoritySyncState = z.infer<typeof MediaAuthoritySyncStateSchema>;
|
|
66
66
|
/** Whether the asset is referenced by a visible owner doc. Orthogonal to the
|
|
@@ -252,8 +252,8 @@ export declare const MediaAssetSchema: z.ZodObject<{
|
|
|
252
252
|
authorityPayloadHash: z.ZodOptional<z.ZodString>;
|
|
253
253
|
authoritySyncState: z.ZodOptional<z.ZodEnum<{
|
|
254
254
|
pending: "pending";
|
|
255
|
-
applied: "applied";
|
|
256
255
|
deadLetter: "deadLetter";
|
|
256
|
+
applied: "applied";
|
|
257
257
|
}>>;
|
|
258
258
|
publicationState: z.ZodOptional<z.ZodEnum<{
|
|
259
259
|
unpublished: "unpublished";
|
|
@@ -12,6 +12,7 @@ export declare const GuildChatChannelSchema: z.ZodObject<{
|
|
|
12
12
|
lastMessage: z.ZodOptional<z.ZodString>;
|
|
13
13
|
messageCount: z.ZodNumber;
|
|
14
14
|
isArchived: z.ZodBoolean;
|
|
15
|
+
configVersion: z.ZodOptional<z.ZodNumber>;
|
|
15
16
|
}, z.core.$strip>;
|
|
16
17
|
export type GuildChatChannel = z.infer<typeof GuildChatChannelSchema>;
|
|
17
18
|
export declare const GuildInviteConversationSchema: z.ZodObject<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messaging.d.ts","sourceRoot":"","sources":["../../src/doc-schemas/messaging.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,sBAAsB
|
|
1
|
+
{"version":3,"file":"messaging.d.ts","sourceRoot":"","sources":["../../src/doc-schemas/messaging.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;iBAmBjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAQtE,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAwBxC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;iBAY9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAQhE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAgB9B,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
|
|
@@ -21,6 +21,10 @@ export const GuildChatChannelSchema = z.object({
|
|
|
21
21
|
lastMessage: z.string().optional(),
|
|
22
22
|
messageCount: z.number(),
|
|
23
23
|
isArchived: z.boolean(),
|
|
24
|
+
// Monotonic config version for the chat-realtime sync layer (Contract B). Bumped by
|
|
25
|
+
// each channel create / edit / archive / delete in the authoritative txn; the
|
|
26
|
+
// `config` chatSyncEvents + channel-scoped fanout key on it. Absent ⇒ 0.
|
|
27
|
+
configVersion: z.number().optional(),
|
|
24
28
|
});
|
|
25
29
|
// The guildInviteConversations/{guildInviteId} doc as actually written by inviteUserToGuild
|
|
26
30
|
// (and mutated by the accept/decline/finalize/cancel callables). This is the single source of
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messaging.js","sourceRoot":"","sources":["../../src/doc-schemas/messaging.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,sFAAsF;AACtF,qFAAqF;AACrF,8BAA8B;AAE9B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAE3E,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAEpD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC9B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IACzB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,sBAAsB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC3C,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACnC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,iFAAiF;IACjF,2EAA2E;IAC3E,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE;
|
|
1
|
+
{"version":3,"file":"messaging.js","sourceRoot":"","sources":["../../src/doc-schemas/messaging.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/** The materialization payload carried on every delivery row. */
|
|
3
|
+
export declare const NotificationDeliveryPayloadSchema: z.ZodObject<{
|
|
4
|
+
actorId: z.ZodString;
|
|
5
|
+
metadata: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
6
|
+
occurrenceAt: z.ZodNumber;
|
|
7
|
+
}, z.core.$strip>;
|
|
8
|
+
export declare const NotificationDeliverySchema: z.ZodObject<{
|
|
9
|
+
deliveryId: z.ZodString;
|
|
10
|
+
state: z.ZodEnum<{
|
|
11
|
+
deadLetter: "deadLetter";
|
|
12
|
+
queued: "queued";
|
|
13
|
+
materialized: "materialized";
|
|
14
|
+
}>;
|
|
15
|
+
notificationType: z.ZodString;
|
|
16
|
+
eventId: z.ZodString;
|
|
17
|
+
recipientUid: z.ZodNullable<z.ZodString>;
|
|
18
|
+
aggregationKey: z.ZodString;
|
|
19
|
+
strategy: z.ZodEnum<{
|
|
20
|
+
increment: "increment";
|
|
21
|
+
staticRelight: "staticRelight";
|
|
22
|
+
}>;
|
|
23
|
+
payload: z.ZodObject<{
|
|
24
|
+
actorId: z.ZodString;
|
|
25
|
+
metadata: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
26
|
+
occurrenceAt: z.ZodNumber;
|
|
27
|
+
}, z.core.$strip>;
|
|
28
|
+
payloadVersion: z.ZodNumber;
|
|
29
|
+
materializationClass: z.ZodEnum<{
|
|
30
|
+
directQueued: "directQueued";
|
|
31
|
+
realtimeFallback: "realtimeFallback";
|
|
32
|
+
fanoutOrphan: "fanoutOrphan";
|
|
33
|
+
retry: "retry";
|
|
34
|
+
}>;
|
|
35
|
+
createdAt: z.ZodNumber;
|
|
36
|
+
attemptCount: z.ZodNumber;
|
|
37
|
+
nextAttemptAt: z.ZodNumber;
|
|
38
|
+
lastError: z.ZodNullable<z.ZodString>;
|
|
39
|
+
materializedAt: z.ZodNullable<z.ZodNumber>;
|
|
40
|
+
deadLetteredAt: z.ZodNullable<z.ZodNumber>;
|
|
41
|
+
expireAt: z.ZodOptional<z.ZodUnknown>;
|
|
42
|
+
}, z.core.$strip>;
|
|
43
|
+
export type NotificationDelivery = z.infer<typeof NotificationDeliverySchema>;
|
|
44
|
+
export declare const NotificationFanoutPhaseSchema: z.ZodObject<{
|
|
45
|
+
selector: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
46
|
+
cursor: z.ZodNullable<z.ZodUnknown>;
|
|
47
|
+
done: z.ZodBoolean;
|
|
48
|
+
}, z.core.$strip>;
|
|
49
|
+
export declare const NotificationFanoutJobSchema: z.ZodObject<{
|
|
50
|
+
jobId: z.ZodString;
|
|
51
|
+
schemaVersion: z.ZodNumber;
|
|
52
|
+
notificationType: z.ZodString;
|
|
53
|
+
eventId: z.ZodString;
|
|
54
|
+
priority: z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<1>, z.ZodLiteral<2>]>;
|
|
55
|
+
payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
56
|
+
phases: z.ZodArray<z.ZodObject<{
|
|
57
|
+
selector: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
58
|
+
cursor: z.ZodNullable<z.ZodUnknown>;
|
|
59
|
+
done: z.ZodBoolean;
|
|
60
|
+
}, z.core.$strip>>;
|
|
61
|
+
phaseIndex: z.ZodNumber;
|
|
62
|
+
revision: z.ZodNumber;
|
|
63
|
+
status: z.ZodEnum<{
|
|
64
|
+
pending: "pending";
|
|
65
|
+
complete: "complete";
|
|
66
|
+
deadLetter: "deadLetter";
|
|
67
|
+
}>;
|
|
68
|
+
attemptCount: z.ZodNumber;
|
|
69
|
+
nextAttemptAt: z.ZodNumber;
|
|
70
|
+
lastError: z.ZodNullable<z.ZodString>;
|
|
71
|
+
createdAt: z.ZodNumber;
|
|
72
|
+
updatedAt: z.ZodNumber;
|
|
73
|
+
completedAt: z.ZodNullable<z.ZodNumber>;
|
|
74
|
+
deadLetteredAt: z.ZodNullable<z.ZodNumber>;
|
|
75
|
+
expireAt: z.ZodOptional<z.ZodUnknown>;
|
|
76
|
+
}, z.core.$strip>;
|
|
77
|
+
export type NotificationFanoutJob = z.infer<typeof NotificationFanoutJobSchema>;
|
|
78
|
+
//# sourceMappingURL=notification-ledger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notification-ledger.d.ts","sourceRoot":"","sources":["../../src/doc-schemas/notification-ledger.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,iEAAiE;AACjE,eAAO,MAAM,iCAAiC;;;;iBAI5C,CAAC;AAKH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAkBrC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAI9E,eAAO,MAAM,6BAA6B;;;;iBAIxC,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmBtC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
// Notification redesign ledger Firestore schemas (chat-edge-rebuild P1).
|
|
2
|
+
// Frozen field lists from IMPLEMENTATION_MATRIX.md "Notifications". Admin-SDK-only.
|
|
3
|
+
// `expireAt` is the only Firestore `Timestamp` field (native TTL); every other
|
|
4
|
+
// time field is epoch-ms `number`.
|
|
5
|
+
import { z } from 'zod';
|
|
6
|
+
/** Native-TTL Timestamp (set only at the resolved-success terminal). */
|
|
7
|
+
const expireAtField = z.unknown().optional();
|
|
8
|
+
/** The materialization payload carried on every delivery row. */
|
|
9
|
+
export const NotificationDeliveryPayloadSchema = z.object({
|
|
10
|
+
actorId: z.string(),
|
|
11
|
+
metadata: z.record(z.string(), z.unknown()),
|
|
12
|
+
occurrenceAt: z.number(),
|
|
13
|
+
});
|
|
14
|
+
// ── notificationDeliveries/{deliveryId} ─────────────────────────────────────
|
|
15
|
+
// BOTH the recipient ledger AND the occurrence ledger. Shared-admin rows set
|
|
16
|
+
// recipientUid=null (the deliveryId hash uses the literal 'shared').
|
|
17
|
+
export const NotificationDeliverySchema = z.object({
|
|
18
|
+
deliveryId: z.string(),
|
|
19
|
+
state: z.enum(['queued', 'materialized', 'deadLetter']),
|
|
20
|
+
notificationType: z.string(),
|
|
21
|
+
eventId: z.string(),
|
|
22
|
+
recipientUid: z.string().nullable(),
|
|
23
|
+
aggregationKey: z.string(),
|
|
24
|
+
strategy: z.enum(['increment', 'staticRelight']),
|
|
25
|
+
payload: NotificationDeliveryPayloadSchema,
|
|
26
|
+
payloadVersion: z.number(),
|
|
27
|
+
materializationClass: z.enum(['directQueued', 'realtimeFallback', 'fanoutOrphan', 'retry']),
|
|
28
|
+
createdAt: z.number(),
|
|
29
|
+
attemptCount: z.number(),
|
|
30
|
+
nextAttemptAt: z.number(),
|
|
31
|
+
lastError: z.string().nullable(),
|
|
32
|
+
materializedAt: z.number().nullable(),
|
|
33
|
+
deadLetteredAt: z.number().nullable(),
|
|
34
|
+
expireAt: expireAtField,
|
|
35
|
+
});
|
|
36
|
+
// ── notificationFanoutJobs/{jobId} ──────────────────────────────────────────
|
|
37
|
+
// jobId = `${eventId}:${notificationType}`. No `running` state (no leases).
|
|
38
|
+
export const NotificationFanoutPhaseSchema = z.object({
|
|
39
|
+
selector: z.record(z.string(), z.unknown()),
|
|
40
|
+
cursor: z.unknown().nullable(),
|
|
41
|
+
done: z.boolean(),
|
|
42
|
+
});
|
|
43
|
+
export const NotificationFanoutJobSchema = z.object({
|
|
44
|
+
jobId: z.string(),
|
|
45
|
+
schemaVersion: z.number(),
|
|
46
|
+
notificationType: z.string(),
|
|
47
|
+
eventId: z.string(),
|
|
48
|
+
priority: z.union([z.literal(0), z.literal(1), z.literal(2)]),
|
|
49
|
+
payload: z.record(z.string(), z.unknown()),
|
|
50
|
+
phases: z.array(NotificationFanoutPhaseSchema),
|
|
51
|
+
phaseIndex: z.number(),
|
|
52
|
+
revision: z.number(),
|
|
53
|
+
status: z.enum(['pending', 'complete', 'deadLetter']),
|
|
54
|
+
attemptCount: z.number(),
|
|
55
|
+
nextAttemptAt: z.number(),
|
|
56
|
+
lastError: z.string().nullable(),
|
|
57
|
+
createdAt: z.number(),
|
|
58
|
+
updatedAt: z.number(),
|
|
59
|
+
completedAt: z.number().nullable(),
|
|
60
|
+
deadLetteredAt: z.number().nullable(),
|
|
61
|
+
expireAt: expireAtField,
|
|
62
|
+
});
|
|
63
|
+
//# sourceMappingURL=notification-ledger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notification-ledger.js","sourceRoot":"","sources":["../../src/doc-schemas/notification-ledger.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,8 @@ export declare const NotificationDocSchema: z.ZodObject<{
|
|
|
12
12
|
targetPath: z.ZodString;
|
|
13
13
|
metadata: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
14
14
|
seenAt: z.ZodNumber;
|
|
15
|
+
activityGeneration: z.ZodOptional<z.ZodString>;
|
|
16
|
+
seenAtGeneration: z.ZodOptional<z.ZodString>;
|
|
15
17
|
createdAt: z.ZodNumber;
|
|
16
18
|
updatedAt: z.ZodNumber;
|
|
17
19
|
}, z.core.$strip>;
|
|
@@ -32,6 +34,8 @@ export declare const NotificationHistoryDocSchema: z.ZodObject<{
|
|
|
32
34
|
targetPath: z.ZodString;
|
|
33
35
|
metadata: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
34
36
|
seenAt: z.ZodNumber;
|
|
37
|
+
activityGeneration: z.ZodOptional<z.ZodString>;
|
|
38
|
+
seenAtGeneration: z.ZodOptional<z.ZodString>;
|
|
35
39
|
createdAt: z.ZodNumber;
|
|
36
40
|
updatedAt: z.ZodNumber;
|
|
37
41
|
archival: z.ZodObject<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../../src/doc-schemas/notifications.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,qBAAqB
|
|
1
|
+
{"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../../src/doc-schemas/notifications.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;iBAoBhC,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;iBAG7B,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;iBAIvC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;iBAQpC,CAAC;AAKH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;iBAenC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAK1E,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAazC,CAAC;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC"}
|
|
@@ -19,6 +19,11 @@ export const NotificationDocSchema = z.object({
|
|
|
19
19
|
targetPath: z.string(),
|
|
20
20
|
metadata: z.record(z.string(), z.unknown()),
|
|
21
21
|
seenAt: z.number(),
|
|
22
|
+
// Opaque per-generation token rotated on create / material re-light; the
|
|
23
|
+
// SEEN/ARCHIVE precondition (notification redesign). Optional on the legacy
|
|
24
|
+
// doc shape; the ledger materializer always sets it.
|
|
25
|
+
activityGeneration: z.string().optional(),
|
|
26
|
+
seenAtGeneration: z.string().optional(),
|
|
22
27
|
createdAt: z.number(),
|
|
23
28
|
updatedAt: z.number(),
|
|
24
29
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notifications.js","sourceRoot":"","sources":["../../src/doc-schemas/notifications.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"notifications.js","sourceRoot":"","sources":["../../src/doc-schemas/notifications.ts"],"names":[],"mappings":"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"}
|