@ttt-productions/ttt-core 0.79.70 → 0.79.72
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/operational.d.ts +10 -3
- package/dist/doc-schemas/operational.d.ts.map +1 -1
- package/dist/doc-schemas/operational.js +10 -2
- package/dist/doc-schemas/operational.js.map +1 -1
- package/dist/doc-schemas/registry.d.ts +2 -3
- package/dist/doc-schemas/registry.d.ts.map +1 -1
- package/dist/doc-schemas/safety/case.d.ts +0 -1
- package/dist/doc-schemas/safety/case.d.ts.map +1 -1
- package/dist/doc-schemas/safety/case.js +0 -1
- package/dist/doc-schemas/safety/case.js.map +1 -1
- package/dist/doc-schemas/safety/monitors.d.ts +0 -2
- package/dist/doc-schemas/safety/monitors.d.ts.map +1 -1
- package/dist/doc-schemas/safety/monitors.js +0 -1
- package/dist/doc-schemas/safety/monitors.js.map +1 -1
- package/dist/schemas/safety.d.ts +0 -56
- package/dist/schemas/safety.d.ts.map +1 -1
- package/dist/types/admin-ops.d.ts +0 -2
- package/dist/types/admin-ops.d.ts.map +1 -1
- package/dist/types/admin-ops.js.map +1 -1
- package/package.json +2 -2
|
@@ -60,19 +60,25 @@ export declare const StatusReconcileQueueAuthEffectSchema: z.ZodEnum<{
|
|
|
60
60
|
registeredMemberClaim: "registeredMemberClaim";
|
|
61
61
|
}>;
|
|
62
62
|
export type StatusReconcileQueueAuthEffect = z.infer<typeof StatusReconcileQueueAuthEffectSchema>;
|
|
63
|
-
/**
|
|
63
|
+
/**
|
|
64
|
+
* A status change's Auth effect, owed until it lands. Written in the SAME transaction as the status
|
|
65
|
+
* change (so a committed status always has its entry), removed once the Auth effect lands. `writeId`
|
|
66
|
+
* names the status change that wrote it: a removal compares it, so finishing an older change never
|
|
67
|
+
* removes the entry a newer change wrote. The drain converges the account on its canonical status.
|
|
68
|
+
*/
|
|
64
69
|
export declare const StatusReconcileQueueAccountStatusEntrySchema: z.ZodObject<{
|
|
70
|
+
reason: z.ZodLiteral<"statusChangePending">;
|
|
65
71
|
authEffect: z.ZodOptional<z.ZodLiteral<"accountStatus">>;
|
|
66
72
|
targetStatus: z.ZodEnum<{
|
|
67
73
|
banned: "banned";
|
|
68
74
|
active: "active";
|
|
69
75
|
suspended: "suspended";
|
|
70
76
|
}>;
|
|
77
|
+
writeId: z.ZodString;
|
|
71
78
|
uid: z.ZodString;
|
|
72
79
|
enqueuedAt: z.ZodNumber;
|
|
73
80
|
lastAttemptAt: z.ZodOptional<z.ZodNumber>;
|
|
74
81
|
attemptCount: z.ZodNumber;
|
|
75
|
-
reason: z.ZodLiteral<"postCommitAuthEffectFailed">;
|
|
76
82
|
}, z.core.$strip>;
|
|
77
83
|
export type StatusReconcileQueueAccountStatusEntry = z.infer<typeof StatusReconcileQueueAccountStatusEntrySchema>;
|
|
78
84
|
/** A failed `docsAccepted` claim write. Strict: it carries no status, so no `targetStatus`. */
|
|
@@ -106,17 +112,18 @@ export declare const StatusReconcileQueueRegisteredMemberClaimEntrySchema: z.Zod
|
|
|
106
112
|
}, z.core.$strict>;
|
|
107
113
|
export type StatusReconcileQueueRegisteredMemberClaimEntry = z.infer<typeof StatusReconcileQueueRegisteredMemberClaimEntrySchema>;
|
|
108
114
|
export declare const StatusReconcileQueueEntrySchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
115
|
+
reason: z.ZodLiteral<"statusChangePending">;
|
|
109
116
|
authEffect: z.ZodOptional<z.ZodLiteral<"accountStatus">>;
|
|
110
117
|
targetStatus: z.ZodEnum<{
|
|
111
118
|
banned: "banned";
|
|
112
119
|
active: "active";
|
|
113
120
|
suspended: "suspended";
|
|
114
121
|
}>;
|
|
122
|
+
writeId: z.ZodString;
|
|
115
123
|
uid: z.ZodString;
|
|
116
124
|
enqueuedAt: z.ZodNumber;
|
|
117
125
|
lastAttemptAt: z.ZodOptional<z.ZodNumber>;
|
|
118
126
|
attemptCount: z.ZodNumber;
|
|
119
|
-
reason: z.ZodLiteral<"postCommitAuthEffectFailed">;
|
|
120
127
|
}, z.core.$strip>, z.ZodObject<{
|
|
121
128
|
authEffect: z.ZodLiteral<"publicDocumentsAcceptedClaim">;
|
|
122
129
|
uid: z.ZodString;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operational.d.ts","sourceRoot":"","sources":["../../src/doc-schemas/operational.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,yBAAyB;;;iBAGpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAK5E,eAAO,MAAM,uBAAuB;;;;iBASlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAIxE,eAAO,MAAM,0BAA0B;;;;;;;;;;;iBAWrC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAK9E,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;iBAe1B,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"operational.d.ts","sourceRoot":"","sources":["../../src/doc-schemas/operational.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,yBAAyB;;;iBAGpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAK5E,eAAO,MAAM,uBAAuB;;;;iBASlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAIxE,eAAO,MAAM,0BAA0B;;;;;;;;;;;iBAWrC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAK9E,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;iBAe1B,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAUxD;;;;;;;GAOG;AACH,eAAO,MAAM,mCAAmC,oGAKtC,CAAC;AACX,eAAO,MAAM,oCAAoC;;;;;EAA8C,CAAC;AAChG,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oCAAoC,CAAC,CAAC;AAUlG;;;;;GAKG;AACH,eAAO,MAAM,4CAA4C;;;;;;;;;;;;;iBAMvD,CAAC;AACH,MAAM,MAAM,sCAAsC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4CAA4C,CAAC,CAAC;AAElH,+FAA+F;AAC/F,eAAO,MAAM,2DAA2D;;;;;;;kBAK7D,CAAC;AACZ,MAAM,MAAM,qDAAqD,GAAG,CAAC,CAAC,KAAK,CACzE,OAAO,2DAA2D,CACnE,CAAC;AAEF,qEAAqE;AACrE,eAAO,MAAM,0CAA0C;;;;;;;kBAK5C,CAAC;AACZ,MAAM,MAAM,oCAAoC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0CAA0C,CAAC,CAAC;AAE9G,4EAA4E;AAC5E,eAAO,MAAM,oDAAoD;;;;;;;kBAKtD,CAAC;AACZ,MAAM,MAAM,8CAA8C,GAAG,CAAC,CAAC,KAAK,CAClE,OAAO,oDAAoD,CAC5D,CAAC;AAEF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAK1C,CAAC;AACH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAIxF,eAAO,MAAM,mBAAmB;;;iBAG9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAKhE,eAAO,MAAM,oBAAoB;;;;;;;iBAK/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
|
|
@@ -56,7 +56,8 @@ export const ShortLinkSchema = z.object({
|
|
|
56
56
|
clicks: z.number(),
|
|
57
57
|
});
|
|
58
58
|
// statusReconcileQueue/{uid} — backend-only retry queue for post-commit Auth-effect reconciliation.
|
|
59
|
-
//
|
|
59
|
+
// A status change writes its entry in the status transaction itself; the other effects are written
|
|
60
|
+
// when a change committed to Firestore but its follow-on Auth effect failed. The drain
|
|
60
61
|
// re-converges every Auth-side mirror of the uid from its canonical docs and deletes the entry on
|
|
61
62
|
// success. Keyed by the affected uid (doc id == uid; one entry per uid, whichever effect queued
|
|
62
63
|
// it); Admin-SDK-only. Timestamps are epoch-millis numbers (this repo never uses Firestore
|
|
@@ -83,11 +84,18 @@ const statusReconcileQueueEntryBase = {
|
|
|
83
84
|
attemptCount: z.number(),
|
|
84
85
|
reason: z.literal('postCommitAuthEffectFailed'),
|
|
85
86
|
};
|
|
86
|
-
/**
|
|
87
|
+
/**
|
|
88
|
+
* A status change's Auth effect, owed until it lands. Written in the SAME transaction as the status
|
|
89
|
+
* change (so a committed status always has its entry), removed once the Auth effect lands. `writeId`
|
|
90
|
+
* names the status change that wrote it: a removal compares it, so finishing an older change never
|
|
91
|
+
* removes the entry a newer change wrote. The drain converges the account on its canonical status.
|
|
92
|
+
*/
|
|
87
93
|
export const StatusReconcileQueueAccountStatusEntrySchema = z.object({
|
|
88
94
|
...statusReconcileQueueEntryBase,
|
|
95
|
+
reason: z.literal('statusChangePending'),
|
|
89
96
|
authEffect: z.literal('accountStatus').optional(),
|
|
90
97
|
targetStatus: UserAccountStatusSchema,
|
|
98
|
+
writeId: z.string(),
|
|
91
99
|
});
|
|
92
100
|
/** A failed `docsAccepted` claim write. Strict: it carries no status, so no `targetStatus`. */
|
|
93
101
|
export const StatusReconcileQueuePublicDocumentsAcceptedClaimEntrySchema = z
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operational.js","sourceRoot":"","sources":["../../src/doc-schemas/operational.ts"],"names":[],"mappings":"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","sourcesContent":["// Operational / utility Firestore document SCHEMAS — small backend-written docs that aren't\n// part of a feature domain. Reverse-engineered from their backend write sites. Types via z.infer.\n\nimport { z } from 'zod';\nimport { UserAccountStatusSchema } from './user.js';\nimport { ShortLinkTargetTypeSchema } from '../schemas/atoms.js';\n\n// reservedDisplayNames/{displayNameUppercase} — uniqueness claim written in the registerUser\n// transaction; existence == name taken. (functions/src/users/registerUser.ts)\nexport const ReservedDisplayNameSchema = z.object({\n userId: z.string(),\n displayName: z.string(),\n});\nexport type ReservedDisplayName = z.infer<typeof ReservedDisplayNameSchema>;\n\n// reservedRealmNames/{workingTitleUppercase} — platform-wide Realm-name uniqueness claim, written\n// in the createWorkRealm transaction (existence == name taken). Mirrors reservedDisplayNames; key is\n// the UPPERCASE realm working title. (legal-convo [BUILD]: realm names unique platform-wide.)\nexport const ReservedRealmNameSchema = z.object({\n workRealmId: z.string(),\n workingTitle: z.string(),\n // RETIRED name (DJ ruling 2026-07-12, option B): set true when a moderation\n // force-retitle removes this name — the name is dead platform-wide FOREVER; no\n // realm (including the original owner) can ever claim it again, and no rename\n // path releases the reservation. Ordinary renames release un-retired\n // reservations normally. Backend-only-writable.\n retired: z.boolean().optional(),\n});\nexport type ReservedRealmName = z.infer<typeof ReservedRealmNameSchema>;\n\n// stakeShareAuditEvents/{eventId} — Firestore-trigger audit of guildmate stake-share changes.\n// (functions/src/audit/runWorkProjectGuildmateUserStakeShareAudit.ts)\nexport const StakeShareAuditEventSchema = z.object({\n eventId: z.string(),\n subtype: z.string(),\n reason: z.string(),\n workProjectId: z.string(),\n guildmateUserUid: z.string(),\n guildmateUserPath: z.string(),\n beforeStakeShares: z.number().nullable(),\n afterStakeShares: z.number().nullable(),\n createdAt: z.number(),\n source: z.string(),\n});\nexport type StakeShareAuditEvent = z.infer<typeof StakeShareAuditEventSchema>;\n\n// shortLinks/{shortId} — short link to a share target (an audition, an audition entry, a\n// commission listing, or a whole Hall entry), with a click counter. Written once by\n// `createShortLink` and never deleted. `type` is the create input's target type.\nexport const ShortLinkSchema = z.object({\n shortId: z.string(),\n shortUrl: z.string(),\n destinationUrl: z.string(),\n type: ShortLinkTargetTypeSchema,\n // The ids of what the link points at, one field per target kind, null where it does not apply.\n metadata: z.object({\n auditionId: z.string().nullable(),\n auditionEntryId: z.string().nullable(),\n commissionListingId: z.string().nullable(),\n hallItemId: z.string().nullable(),\n }),\n createdAt: z.number(),\n createdBy: z.string(),\n clicks: z.number(),\n});\nexport type ShortLink = z.infer<typeof ShortLinkSchema>;\n\n// statusReconcileQueue/{uid} — backend-only retry queue for post-commit Auth-effect reconciliation.\n// Written when a change committed to Firestore but its follow-on Auth effect failed; the drain\n// re-converges every Auth-side mirror of the uid from its canonical docs and deletes the entry on\n// success. Keyed by the affected uid (doc id == uid; one entry per uid, whichever effect queued\n// it); Admin-SDK-only. Timestamps are epoch-millis numbers (this repo never uses Firestore\n// Timestamps).\n\n/**\n * Which post-commit Auth effect failed and queued the uid:\n * - `accountStatus` — the status claim / `disabled` flag / token revocation after a status change;\n * - `publicDocumentsAcceptedClaim` — the `docsAccepted` claim after a public-document acceptance;\n * - `adminClaims` — the admin-role claims after an admin-roster change;\n * - `registeredMemberClaim` — the registered-member claim after a registration completed.\n * An entry without `authEffect` predates the field and is an `accountStatus` entry.\n */\nexport const STATUS_RECONCILE_QUEUE_AUTH_EFFECTS = [\n 'accountStatus',\n 'publicDocumentsAcceptedClaim',\n 'adminClaims',\n 'registeredMemberClaim',\n] as const;\nexport const StatusReconcileQueueAuthEffectSchema = z.enum(STATUS_RECONCILE_QUEUE_AUTH_EFFECTS);\nexport type StatusReconcileQueueAuthEffect = z.infer<typeof StatusReconcileQueueAuthEffectSchema>;\n\nconst statusReconcileQueueEntryBase = {\n uid: z.string(),\n enqueuedAt: z.number(),\n lastAttemptAt: z.number().optional(),\n attemptCount: z.number(),\n reason: z.literal('postCommitAuthEffectFailed'),\n};\n\n/** A failed status effect: the drain drives the account toward `targetStatus`. */\nexport const StatusReconcileQueueAccountStatusEntrySchema = z.object({\n ...statusReconcileQueueEntryBase,\n authEffect: z.literal('accountStatus' satisfies StatusReconcileQueueAuthEffect).optional(),\n targetStatus: UserAccountStatusSchema,\n});\nexport type StatusReconcileQueueAccountStatusEntry = z.infer<typeof StatusReconcileQueueAccountStatusEntrySchema>;\n\n/** A failed `docsAccepted` claim write. Strict: it carries no status, so no `targetStatus`. */\nexport const StatusReconcileQueuePublicDocumentsAcceptedClaimEntrySchema = z\n .object({\n ...statusReconcileQueueEntryBase,\n authEffect: z.literal('publicDocumentsAcceptedClaim' satisfies StatusReconcileQueueAuthEffect),\n })\n .strict();\nexport type StatusReconcileQueuePublicDocumentsAcceptedClaimEntry = z.infer<\n typeof StatusReconcileQueuePublicDocumentsAcceptedClaimEntrySchema\n>;\n\n/** A failed admin-role claim write. Strict: it carries no status. */\nexport const StatusReconcileQueueAdminClaimsEntrySchema = z\n .object({\n ...statusReconcileQueueEntryBase,\n authEffect: z.literal('adminClaims' satisfies StatusReconcileQueueAuthEffect),\n })\n .strict();\nexport type StatusReconcileQueueAdminClaimsEntry = z.infer<typeof StatusReconcileQueueAdminClaimsEntrySchema>;\n\n/** A failed registered-member claim write. Strict: it carries no status. */\nexport const StatusReconcileQueueRegisteredMemberClaimEntrySchema = z\n .object({\n ...statusReconcileQueueEntryBase,\n authEffect: z.literal('registeredMemberClaim' satisfies StatusReconcileQueueAuthEffect),\n })\n .strict();\nexport type StatusReconcileQueueRegisteredMemberClaimEntry = z.infer<\n typeof StatusReconcileQueueRegisteredMemberClaimEntrySchema\n>;\n\nexport const StatusReconcileQueueEntrySchema = z.discriminatedUnion('authEffect', [\n StatusReconcileQueueAccountStatusEntrySchema,\n StatusReconcileQueuePublicDocumentsAcceptedClaimEntrySchema,\n StatusReconcileQueueAdminClaimsEntrySchema,\n StatusReconcileQueueRegisteredMemberClaimEntrySchema,\n]);\nexport type StatusReconcileQueueEntry = z.infer<typeof StatusReconcileQueueEntrySchema>;\n\n// feedbackAliases/{aliasId} — Console-managed map collapsing a synonym suggestion onto a canonical\n// one; read by submitFeedback, no callable writes it. (firestore.rules §3F / submitFeedback.ts)\nexport const FeedbackAliasSchema = z.object({\n canonicalId: z.string(),\n originalType: z.string(),\n});\nexport type FeedbackAlias = z.infer<typeof FeedbackAliasSchema>;\n\n// feedbackSubmissions/{feedbackType}/userSuggestions/{suggestionId} — an aggregated user\n// suggestion with its deduped submitter list + count. The path nests the feedbackSubmissions +\n// userSuggestions registry segments. (functions/src/utility/submitFeedback.ts)\nexport const UserSuggestionSchema = z.object({\n suggestionText: z.string(),\n count: z.number(),\n submittedBy: z.array(z.object({ userId: z.string() })),\n lastSubmitted: z.number(),\n});\nexport type UserSuggestion = z.infer<typeof UserSuggestionSchema>;\n"]}
|
|
1
|
+
{"version":3,"file":"operational.js","sourceRoot":"","sources":["../../src/doc-schemas/operational.ts"],"names":[],"mappings":"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","sourcesContent":["// Operational / utility Firestore document SCHEMAS — small backend-written docs that aren't\n// part of a feature domain. Reverse-engineered from their backend write sites. Types via z.infer.\n\nimport { z } from 'zod';\nimport { UserAccountStatusSchema } from './user.js';\nimport { ShortLinkTargetTypeSchema } from '../schemas/atoms.js';\n\n// reservedDisplayNames/{displayNameUppercase} — uniqueness claim written in the registerUser\n// transaction; existence == name taken. (functions/src/users/registerUser.ts)\nexport const ReservedDisplayNameSchema = z.object({\n userId: z.string(),\n displayName: z.string(),\n});\nexport type ReservedDisplayName = z.infer<typeof ReservedDisplayNameSchema>;\n\n// reservedRealmNames/{workingTitleUppercase} — platform-wide Realm-name uniqueness claim, written\n// in the createWorkRealm transaction (existence == name taken). Mirrors reservedDisplayNames; key is\n// the UPPERCASE realm working title. (legal-convo [BUILD]: realm names unique platform-wide.)\nexport const ReservedRealmNameSchema = z.object({\n workRealmId: z.string(),\n workingTitle: z.string(),\n // RETIRED name (DJ ruling 2026-07-12, option B): set true when a moderation\n // force-retitle removes this name — the name is dead platform-wide FOREVER; no\n // realm (including the original owner) can ever claim it again, and no rename\n // path releases the reservation. Ordinary renames release un-retired\n // reservations normally. Backend-only-writable.\n retired: z.boolean().optional(),\n});\nexport type ReservedRealmName = z.infer<typeof ReservedRealmNameSchema>;\n\n// stakeShareAuditEvents/{eventId} — Firestore-trigger audit of guildmate stake-share changes.\n// (functions/src/audit/runWorkProjectGuildmateUserStakeShareAudit.ts)\nexport const StakeShareAuditEventSchema = z.object({\n eventId: z.string(),\n subtype: z.string(),\n reason: z.string(),\n workProjectId: z.string(),\n guildmateUserUid: z.string(),\n guildmateUserPath: z.string(),\n beforeStakeShares: z.number().nullable(),\n afterStakeShares: z.number().nullable(),\n createdAt: z.number(),\n source: z.string(),\n});\nexport type StakeShareAuditEvent = z.infer<typeof StakeShareAuditEventSchema>;\n\n// shortLinks/{shortId} — short link to a share target (an audition, an audition entry, a\n// commission listing, or a whole Hall entry), with a click counter. Written once by\n// `createShortLink` and never deleted. `type` is the create input's target type.\nexport const ShortLinkSchema = z.object({\n shortId: z.string(),\n shortUrl: z.string(),\n destinationUrl: z.string(),\n type: ShortLinkTargetTypeSchema,\n // The ids of what the link points at, one field per target kind, null where it does not apply.\n metadata: z.object({\n auditionId: z.string().nullable(),\n auditionEntryId: z.string().nullable(),\n commissionListingId: z.string().nullable(),\n hallItemId: z.string().nullable(),\n }),\n createdAt: z.number(),\n createdBy: z.string(),\n clicks: z.number(),\n});\nexport type ShortLink = z.infer<typeof ShortLinkSchema>;\n\n// statusReconcileQueue/{uid} — backend-only retry queue for post-commit Auth-effect reconciliation.\n// A status change writes its entry in the status transaction itself; the other effects are written\n// when a change committed to Firestore but its follow-on Auth effect failed. The drain\n// re-converges every Auth-side mirror of the uid from its canonical docs and deletes the entry on\n// success. Keyed by the affected uid (doc id == uid; one entry per uid, whichever effect queued\n// it); Admin-SDK-only. Timestamps are epoch-millis numbers (this repo never uses Firestore\n// Timestamps).\n\n/**\n * Which post-commit Auth effect failed and queued the uid:\n * - `accountStatus` — the status claim / `disabled` flag / token revocation after a status change;\n * - `publicDocumentsAcceptedClaim` — the `docsAccepted` claim after a public-document acceptance;\n * - `adminClaims` — the admin-role claims after an admin-roster change;\n * - `registeredMemberClaim` — the registered-member claim after a registration completed.\n * An entry without `authEffect` predates the field and is an `accountStatus` entry.\n */\nexport const STATUS_RECONCILE_QUEUE_AUTH_EFFECTS = [\n 'accountStatus',\n 'publicDocumentsAcceptedClaim',\n 'adminClaims',\n 'registeredMemberClaim',\n] as const;\nexport const StatusReconcileQueueAuthEffectSchema = z.enum(STATUS_RECONCILE_QUEUE_AUTH_EFFECTS);\nexport type StatusReconcileQueueAuthEffect = z.infer<typeof StatusReconcileQueueAuthEffectSchema>;\n\nconst statusReconcileQueueEntryBase = {\n uid: z.string(),\n enqueuedAt: z.number(),\n lastAttemptAt: z.number().optional(),\n attemptCount: z.number(),\n reason: z.literal('postCommitAuthEffectFailed'),\n};\n\n/**\n * A status change's Auth effect, owed until it lands. Written in the SAME transaction as the status\n * change (so a committed status always has its entry), removed once the Auth effect lands. `writeId`\n * names the status change that wrote it: a removal compares it, so finishing an older change never\n * removes the entry a newer change wrote. The drain converges the account on its canonical status.\n */\nexport const StatusReconcileQueueAccountStatusEntrySchema = z.object({\n ...statusReconcileQueueEntryBase,\n reason: z.literal('statusChangePending'),\n authEffect: z.literal('accountStatus' satisfies StatusReconcileQueueAuthEffect).optional(),\n targetStatus: UserAccountStatusSchema,\n writeId: z.string(),\n});\nexport type StatusReconcileQueueAccountStatusEntry = z.infer<typeof StatusReconcileQueueAccountStatusEntrySchema>;\n\n/** A failed `docsAccepted` claim write. Strict: it carries no status, so no `targetStatus`. */\nexport const StatusReconcileQueuePublicDocumentsAcceptedClaimEntrySchema = z\n .object({\n ...statusReconcileQueueEntryBase,\n authEffect: z.literal('publicDocumentsAcceptedClaim' satisfies StatusReconcileQueueAuthEffect),\n })\n .strict();\nexport type StatusReconcileQueuePublicDocumentsAcceptedClaimEntry = z.infer<\n typeof StatusReconcileQueuePublicDocumentsAcceptedClaimEntrySchema\n>;\n\n/** A failed admin-role claim write. Strict: it carries no status. */\nexport const StatusReconcileQueueAdminClaimsEntrySchema = z\n .object({\n ...statusReconcileQueueEntryBase,\n authEffect: z.literal('adminClaims' satisfies StatusReconcileQueueAuthEffect),\n })\n .strict();\nexport type StatusReconcileQueueAdminClaimsEntry = z.infer<typeof StatusReconcileQueueAdminClaimsEntrySchema>;\n\n/** A failed registered-member claim write. Strict: it carries no status. */\nexport const StatusReconcileQueueRegisteredMemberClaimEntrySchema = z\n .object({\n ...statusReconcileQueueEntryBase,\n authEffect: z.literal('registeredMemberClaim' satisfies StatusReconcileQueueAuthEffect),\n })\n .strict();\nexport type StatusReconcileQueueRegisteredMemberClaimEntry = z.infer<\n typeof StatusReconcileQueueRegisteredMemberClaimEntrySchema\n>;\n\nexport const StatusReconcileQueueEntrySchema = z.discriminatedUnion('authEffect', [\n StatusReconcileQueueAccountStatusEntrySchema,\n StatusReconcileQueuePublicDocumentsAcceptedClaimEntrySchema,\n StatusReconcileQueueAdminClaimsEntrySchema,\n StatusReconcileQueueRegisteredMemberClaimEntrySchema,\n]);\nexport type StatusReconcileQueueEntry = z.infer<typeof StatusReconcileQueueEntrySchema>;\n\n// feedbackAliases/{aliasId} — Console-managed map collapsing a synonym suggestion onto a canonical\n// one; read by submitFeedback, no callable writes it. (firestore.rules §3F / submitFeedback.ts)\nexport const FeedbackAliasSchema = z.object({\n canonicalId: z.string(),\n originalType: z.string(),\n});\nexport type FeedbackAlias = z.infer<typeof FeedbackAliasSchema>;\n\n// feedbackSubmissions/{feedbackType}/userSuggestions/{suggestionId} — an aggregated user\n// suggestion with its deduped submitter list + count. The path nests the feedbackSubmissions +\n// userSuggestions registry segments. (functions/src/utility/submitFeedback.ts)\nexport const UserSuggestionSchema = z.object({\n suggestionText: z.string(),\n count: z.number(),\n submittedBy: z.array(z.object({ userId: z.string() })),\n lastSubmitted: z.number(),\n});\nexport type UserSuggestion = z.infer<typeof UserSuggestionSchema>;\n"]}
|
|
@@ -5046,17 +5046,18 @@ export declare const COLLECTION_SCHEMAS: {
|
|
|
5046
5046
|
lastSubmitted: z.ZodNumber;
|
|
5047
5047
|
}, z.core.$strip>;
|
|
5048
5048
|
readonly 'statusReconcileQueue/{uid}': z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
5049
|
+
reason: z.ZodLiteral<"statusChangePending">;
|
|
5049
5050
|
authEffect: z.ZodOptional<z.ZodLiteral<"accountStatus">>;
|
|
5050
5051
|
targetStatus: z.ZodEnum<{
|
|
5051
5052
|
banned: "banned";
|
|
5052
5053
|
active: "active";
|
|
5053
5054
|
suspended: "suspended";
|
|
5054
5055
|
}>;
|
|
5056
|
+
writeId: z.ZodString;
|
|
5055
5057
|
uid: z.ZodString;
|
|
5056
5058
|
enqueuedAt: z.ZodNumber;
|
|
5057
5059
|
lastAttemptAt: z.ZodOptional<z.ZodNumber>;
|
|
5058
5060
|
attemptCount: z.ZodNumber;
|
|
5059
|
-
reason: z.ZodLiteral<"postCommitAuthEffectFailed">;
|
|
5060
5061
|
}, z.core.$strip>, z.ZodObject<{
|
|
5061
5062
|
authEffect: z.ZodLiteral<"publicDocumentsAcceptedClaim">;
|
|
5062
5063
|
uid: z.ZodString;
|
|
@@ -5418,7 +5419,6 @@ export declare const COLLECTION_SCHEMAS: {
|
|
|
5418
5419
|
notRequired: "notRequired";
|
|
5419
5420
|
correctedNoApparentViolation: "correctedNoApparentViolation";
|
|
5420
5421
|
}>;
|
|
5421
|
-
reviewDueAt: z.ZodNumber;
|
|
5422
5422
|
actualKnowledgeAt: z.ZodOptional<z.ZodNumber>;
|
|
5423
5423
|
reportState: z.ZodOptional<z.ZodEnum<{
|
|
5424
5424
|
completed: "completed";
|
|
@@ -6294,7 +6294,6 @@ export declare const COLLECTION_SCHEMAS: {
|
|
|
6294
6294
|
caseId: z.ZodOptional<z.ZodString>;
|
|
6295
6295
|
requestId: z.ZodOptional<z.ZodString>;
|
|
6296
6296
|
monitorKind: z.ZodEnum<{
|
|
6297
|
-
reviewDue: "reviewDue";
|
|
6298
6297
|
photoDnaContract: "photoDnaContract";
|
|
6299
6298
|
actualKnowledgeUnreported: "actualKnowledgeUnreported";
|
|
6300
6299
|
ncmecRetry: "ncmecRetry";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/doc-schemas/registry.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAqN7B,eAAO,MAAM,kBAAkB
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/doc-schemas/registry.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAqN7B,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuQkB,CAAC;AAElD,MAAM,MAAM,wBAAwB,GAAG,MAAM,OAAO,kBAAkB,CAAC;AAEvE;;;;;;;;;GASG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;CAmBiC,CAAC;AAEvE;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EAOvC,CAAC"}
|
|
@@ -220,7 +220,6 @@ export declare const ChildSafetyCaseListV1Schema: z.ZodObject<{
|
|
|
220
220
|
notRequired: "notRequired";
|
|
221
221
|
correctedNoApparentViolation: "correctedNoApparentViolation";
|
|
222
222
|
}>;
|
|
223
|
-
reviewDueAt: z.ZodNumber;
|
|
224
223
|
actualKnowledgeAt: z.ZodOptional<z.ZodNumber>;
|
|
225
224
|
reportState: z.ZodOptional<z.ZodEnum<{
|
|
226
225
|
completed: "completed";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"case.d.ts","sourceRoot":"","sources":["../../../src/doc-schemas/safety/case.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"case.d.ts","sourceRoot":"","sources":["../../../src/doc-schemas/safety/case.ts"],"names":[],"mappings":"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"}
|
|
@@ -178,7 +178,6 @@ export const ChildSafetyCaseListV1Schema = z.object({
|
|
|
178
178
|
ncmecStatus: NcmecSubmissionStateSchema, // §A9 NcmecSubmissionState (no `notRequired`)
|
|
179
179
|
accountActionStatus: ChildSafetyAccountActionStatusSchema,
|
|
180
180
|
reportDisposition: ReportDispositionSchema, // §A9 case-level reporting determination
|
|
181
|
-
reviewDueAt: z.number(),
|
|
182
181
|
actualKnowledgeAt: z.number().optional(),
|
|
183
182
|
reportState: ChildSafetyReportStateSchema.optional(), // derived list-projection only
|
|
184
183
|
submissionCompletedAt: z.number().optional(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"case.js","sourceRoot":"","sources":["../../../src/doc-schemas/safety/case.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,EAAE;AACF,gEAAgE;AAChE,4EAA4E;AAC5E,6EAA6E;AAC7E,+EAA+E;AAC/E,oEAAoE;AACpE,yDAAyD;AACzD,EAAE;AACF,+EAA+E;AAC/E,8EAA8E;AAC9E,qDAAqD;AACrD,8CAA8C;AAC9C,EAAE;AACF,sEAAsE;AACtE,2EAA2E;AAC3E,kEAAkE;AAClE,8CAA8C;AAC9C,EAAE;AACF,8EAA8E;AAC9E,4EAA4E;AAC5E,wEAAwE;AAExE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,uBAAuB,EACvB,iCAAiC,EACjC,iCAAiC,EACjC,mCAAmC,EACnC,0BAA0B,EAC1B,yBAAyB,EACzB,qBAAqB,EACrB,8BAA8B,GAE/B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,wCAAwC,EAAE,MAAM,gDAAgD,CAAC;AAC1G,OAAO,EAAE,wBAAwB,EAA2B,MAAM,oBAAoB,CAAC;AAEvF,8EAA8E;AAC9E,8EAA8E;AAC9E,wDAAwD;AACxD,8EAA8E;AAE9E,kDAAkD;AAClD,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,IAAI,CAAC;IACnD,cAAc;IACd,YAAY;IACZ,qBAAqB;IACrB,YAAY;IACZ,kBAAkB;IAClB,cAAc;IACd,qBAAqB;CACtB,CAAC,CAAC;AAGH;yDACyD;AACzD,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,IAAI,CAAC;IAChD,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,WAAW;CACZ,CAAC,CAAC;AAGH;;;;;;;;;;6BAU6B;AAC7B,8EAA8E;AAC9E,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAG7D,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,IAAI,CAAC;IAChD,KAAK;IACL,SAAS;IACT,WAAW;IACX,WAAW;IACX,YAAY;IACZ,QAAQ;IACR,uBAAuB;CACxB,CAAC,CAAC;AAGH;;;yEAGyE;AACzE,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,CAAC,IAAI,CAAC;IACxD,eAAe;IACf,eAAe;IACf,cAAc;IACd,oBAAoB;IACpB,WAAW;CACZ,CAAC,CAAC;AAGH;;0CAE0C;AAC1C,MAAM,CAAC,MAAM,oCAAoC,GAAG,CAAC,CAAC,IAAI,CAAC;IACzD,yBAAyB;IACzB,yBAAyB;IACzB,SAAS;IACT,UAAU;CACX,CAAC,CAAC;AAGH;;oEAEoE;AACpE,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,IAAI,CAAC;IACjD,kCAAkC;IAClC,sBAAsB;IACtB,WAAW;CACZ,CAAC,CAAC;AAGH;4EAC4E;AAC5E,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,IAAI,CAAC;IAClD,YAAY;IACZ,eAAe;IACf,mBAAmB;IACnB,cAAc;IACd,YAAY;CACb,CAAC,CAAC;AAGH,sCAAsC;AACtC,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,IAAI,CAAC;IACjD,UAAU;IACV,WAAW;IACX,aAAa;IACb,cAAc;CACf,CAAC,CAAC;AAGH;6CAC6C;AAC7C,MAAM,CAAC,MAAM,0CAA0C,GAAG,CAAC,CAAC,IAAI,CAAC;IAC/D,SAAS;IACT,cAAc;IACd,UAAU;CACX,CAAC,CAAC;AAKH,sCAAsC;AACtC,MAAM,CAAC,MAAM,sCAAsC,GAAG,CAAC,CAAC,IAAI,CAAC;IAC3D,MAAM;IACN,OAAO;IACP,SAAS;IACT,cAAc;IACd,KAAK;CACN,CAAC,CAAC;AAKH,oCAAoC;AACpC,MAAM,CAAC,MAAM,oCAAoC,GAAG,CAAC,CAAC,IAAI,CAAC;IACzD,SAAS;IACT,cAAc;IACd,YAAY;CACb,CAAC,CAAC;AAKH;yFACyF;AACzF,MAAM,CAAC,MAAM,uCAAuC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;AAKhF;mFACmF;AACnF,MAAM,CAAC,MAAM,yCAAyC,GAAG,CAAC,CAAC,IAAI,CAAC;IAC9D,oBAAoB;CACrB,CAAC,CAAC;AAKH,wDAAwD;AACxD,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAKtF,gCAAgC;AAChC,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,CAAC,IAAI,CAAC;IACtD,SAAS;IACT,eAAe;IACf,YAAY;IACZ,eAAe;IACf,YAAY;CACb,CAAC,CAAC;AAGH,8EAA8E;AAC9E,gFAAgF;AAChF,8EAA8E;AAE9E,4EAA4E;AAC5E,MAAM,CAAC,MAAM,oCAAoC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,UAAU,EAAE,2BAA2B;IACvC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;CACrB,CAAC,CAAC,MAAM,EAAE,CAAC;AAKZ,8EAA8E;AAC9E,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE;IAChC,aAAa,EAAE,8BAA8B;IAC7C,mBAAmB,EAAE,oCAAoC;IACzD,UAAU,EAAE,2BAA2B;IACvC,kBAAkB,EAAE,mCAAmC;IACvD,WAAW,EAAE,0BAA0B,EAAE,8CAA8C;IACvF,mBAAmB,EAAE,oCAAoC;IACzD,iBAAiB,EAAE,uBAAuB,EAAE,yCAAyC;IACrF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACxC,WAAW,EAAE,4BAA4B,CAAC,QAAQ,EAAE,EAAE,+BAA+B;IACrF,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5C,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IACzB,gGAAgG;IAChG,oGAAoG;IACpG,oGAAoG;IACpG,oGAAoG;IACpG,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACrD,0FAA0F;IAC1F,oEAAoE;IACpE,8FAA8F;IAC9F,6FAA6F;IAC7F,2EAA2E;IAC3E,wBAAwB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChD,6FAA6F;IAC7F,8FAA8F;IAC9F,8FAA8F;IAC9F,4FAA4F;IAC5F,4FAA4F;IAC5F,2FAA2F;IAC3F,yFAAyF;IACzF,sFAAsF;IACtF,4CAA4C;IAC5C,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;IACzC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC,MAAM,EAAE,CAAC;AAGZ,8EAA8E;AAC9E,+EAA+E;AAC/E,iFAAiF;AACjF,8EAA8E;AAE9E,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrC,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE;IACjC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACxC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC/C,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACxC,0FAA0F;IAC1F,0FAA0F;IAC1F,0FAA0F;IAC1F,wFAAwF;IACxF,8FAA8F;IAC9F,qFAAqF;IACrF,oFAAoF;IACpF,qBAAqB;IACrB,kBAAkB,EAAE,qBAAqB,CAAC,QAAQ,EAAE;IACpD,sFAAsF;IACtF,4EAA4E;IAC5E,wBAAwB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChD,uFAAuF;IACvF,gGAAgG;IAChG,4EAA4E;IAC5E,gGAAgG;IAChG,gGAAgG;IAChG,gGAAgG;IAChG,6FAA6F;IAC7F,8FAA8F;IAC9F,mGAAmG;IACnG,iGAAiG;IACjG,gGAAgG;IAChG,yFAAyF;IACzF,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC;QACtB,WAAW,EAAE,8BAA8B,CAAC,QAAQ,EAAE;QACtD,QAAQ,EAAE,8BAA8B,CAAC,QAAQ,EAAE;QACnD,WAAW,EAAE,wBAAwB,CAAC,QAAQ,EAAE;KACjD,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QACpC,IAAI,+BAA+B,CAAC,IAAI,CAAC,WAAW,CAAC;YAAE,OAAO;QAC9D,KAAK,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,UAAU,CAAU,EAAE,CAAC;YACvD,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACtD,GAAG,CAAC,QAAQ,CAAC;oBACX,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,GAAG,CAAC;oBACX,OAAO,EAAE,0EAA0E;iBACpF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC,QAAQ,EAAE;CACd,CAAC,CAAC,MAAM,EAAE,CAAC;AAGZ,8EAA8E;AAC9E,iDAAiD;AACjD,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,UAAU,+BAA+B,CAAC,WAA2C;IACzF,OAAO,WAAW,EAAE,KAAK,KAAK,MAAM,CAAC;AACvC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CACtC,QAA2D,EAC3D,WAA2C;IAE3C,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,EAAsC,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;IACtG,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IAChD,IAAI,CAAC,+BAA+B,CAAC,WAAW,CAAC;QAAE,OAAO,SAAS,CAAC;IACpE,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IAClD,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAC5C,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC,MAAM,CAAC;IACvD,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B,WAAW,EAAE,8BAA8B;IAC3C,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtC,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1C,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3C,QAAQ,EAAE,8BAA8B,CAAC,QAAQ,EAAE;IACnD,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACxC,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACvC,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACxC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;IACpC,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,OAAe,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IACzG,MAAM,IAAI,GAAG;QACX,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,qBAAqB,EAAE,SAAS,EAAE,sBAAsB,EAAE;QAC3H,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,SAAS,EAAE,mBAAmB,EAAE;KAC5G,CAAC;IACX,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACpC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACtC,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,MAAM,KAAK,SAAS;gBAAE,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,kDAAkD,CAAC,CAAC;YAChG,IAAI,QAAQ,KAAK,SAAS;gBAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,+CAA+C,CAAC,CAAC;YACjG,IAAI,SAAS,KAAK,SAAS;gBAAE,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,uCAAuC,CAAC,CAAC;YAC3F,SAAS;QACX,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,SAAS;YAAE,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,yCAAyC,CAAC,CAAC;QAChH,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,SAAS;YAAE,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,4CAA4C,CAAC,CAAC;QACnH,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,QAAQ,KAAK,SAAS;YAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,wCAAwC,CAAC,CAAC;QACrH,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS;YAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,8BAA8B,CAAC,CAAC;QAC5G,IAAI,SAAS,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS;YAAE,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,sCAAsC,CAAC,CAAC;IACtH,CAAC;AACH,CAAC,CAAC,CAAC;AAGH,8EAA8E;AAC9E,kDAAkD;AAClD,8EAA8E;AAE9E,kEAAkE;AAClE,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IACtD,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,2BAA2B;IACjC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACtC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACtC,CAAC,CAAC,MAAM,EAAE,CAAC;AAGZ;0EAC0E;AAC1E,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,IAAI,EAAE,6BAA6B;IACnC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;IAC1B,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACvC,wBAAwB,EAAE,CAAC,CAAC,MAAM,EAAE;IACpC,yFAAyF;IACzF,oFAAoF;IACpF,OAAO,EAAE,yBAAyB,CAAC,QAAQ,EAAE;CAC9C,CAAC,CAAC,MAAM,EAAE,CAAC;AAGZ;yCACyC;AACzC,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IACtD,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACjC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;CACf,CAAC,CAAC,MAAM,EAAE,CAAC;AAGZ;+EAC+E;AAC/E,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IACrD,IAAI,EAAE,4BAA4B;IAClC,kBAAkB,EAAE,0CAA0C;IAC9D,cAAc,EAAE,sCAAsC;IACtD,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC5B,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;IAC1B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC,MAAM,EAAE,CAAC;AAGZ,8EAA8E;AAC9E,MAAM,CAAC,MAAM,qCAAqC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5D,IAAI,EAAE,4BAA4B;IAClC,kBAAkB,EAAE,0CAA0C;IAC9D,cAAc,EAAE,sCAAsC;IACtD,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC5B,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;IAC1B,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;CACf,CAAC,CAAC,MAAM,EAAE,CAAC;AAKZ,uEAAuE;AACvE,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,CAAC,MAAM,CAAC;IACzD,IAAI,EAAE,oCAAoC;IAC1C,KAAK,EAAE,0BAA0B,EAAE,2BAA2B;IAC9D,iBAAiB,EAAE,uCAAuC,CAAC,QAAQ,EAAE;IACrE,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5C,mBAAmB,EAAE,yCAAyC,CAAC,QAAQ,EAAE;IACzE,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAChD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACtC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC,MAAM,EAAE,CAAC;AAKZ,qFAAqF;AACrF,MAAM,CAAC,MAAM,sCAAsC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7D,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACtC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACzC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACjC,aAAa,EAAE,mCAAmC;CACnD,CAAC,CAAC,MAAM,EAAE,CAAC;AAKZ,kEAAkE;AAClE,MAAM,CAAC,MAAM,oCAAoC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3D,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,iCAAiC;IACvC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC,MAAM,EAAE,CAAC;AAKZ,8EAA8E;AAC9E,gFAAgF;AAChF,iFAAiF;AACjF,6EAA6E;AAC7E,mFAAmF;AACnF,8DAA8D;AAC9D,gFAAgF;AAChF,8EAA8E;AAE9E,mGAAmG;AACnG,4FAA4F;AAC5F,oCAAoC;AACpC,MAAM,uCAAuC,GAAG,CAAC,CAAC,MAAM,CAAC;IACvD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC5B,WAAW,EAAE,uBAAuB;IACpC,qBAAqB,EAAE,iCAAiC;IACxD,iGAAiG;IACjG,mGAAmG;IACnG,wDAAwD;IACxD,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,2BAA2B,CAAC;CAC1E,CAAC,CAAC,MAAM,EAAE,CAAC;AACZ,MAAM,CAAC,MAAM,iCAAiC,GAAG,uCAAuC;KACrF,WAAW,CAAC,iCAAiC,CAAC;KAC9C,WAAW,CAAC,mCAAmC,CAAC,CAAC;AAGpD,+FAA+F;AAC/F,sGAAsG;AACtG,iGAAiG;AACjG,sGAAsG;AACtG,MAAM,CAAC,MAAM,uCAAuC,GAAG,uCAAuC,CAAC,MAAM,CAAC;IACpG,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,wCAAwC,CAAC;CAClE,CAAC;KACC,WAAW,CAAC,iCAAiC,CAAC;KAC9C,WAAW,CAAC,mCAAmC,CAAC,CAAC","sourcesContent":["// Trust & Safety — the child-safety CASE spine (Appendix A §A1b, §A9).\n//\n// The split-projection case model: a reviewer list/metadata doc\n// (`childSafetyCaseList/{caseId}` — NO content, NO reporter identity) and a\n// restricted root (`childSafetyCases/{caseId}` — adds the evidence manifest,\n// the internal reason, and the lease/fencing fields). Append-only detail lives\n// in subcollections (NEVER arrays), each enforced by writing to the\n// subcollection so there is no parent array to overflow.\n//\n// Every shape here is transcribed verbatim from the frozen Trust & Safety spec\n// (Appendix A §A1b + the §A9 state-transition rules) — no invented values, no\n// placeholders; the durable design owner is ttt-prod\n// docs/design/csam-detection-and-response.md.\n//\n// SHARED enums come from ./foundation.js (the single source for every\n// cross-cluster enum); they are NEVER redefined here. This cluster IMPORTS\n// ReportDispositionSchema, ReportDispositionReasonCodeSchema, and\n// NcmecSubmissionStateSchema from foundation.\n//\n// Collection note: this cluster introduces NEW Firestore collections; the app\n// leg (orchestrator) wires collections.ts / path-builders.ts / registry.ts.\n// The merge/alias/correlation cluster (§A2) lives in ./case-aliases.js.\n\nimport { z } from 'zod';\nimport {\n ReportDispositionSchema,\n ReportDispositionReasonCodeSchema,\n refineReportDispositionReasonCode,\n refineReportDispositionEvidenceRefs,\n NcmecSubmissionStateSchema,\n SafetyCaseClosureV1Schema,\n TargetLocatorV1Schema,\n SafetyCrossoverLegStatusSchema,\n type SafetyCrossoverLegStatus,\n} from './foundation.js';\nimport { MAX_MANIFEST_NCMEC_RECEIPTS } from './evidence.js';\nimport { LEGAL_REPORTING_DISPOSITION_CONFIRMATION } from '../../constants/safety-confirmation-phrases.js';\nimport { SweepRollingCursorSchema, type SweepRollingCursor } from '../sweep-cursor.js';\n\n// ===========================================================================\n// Cluster-local enums (§A1b + §A9). These are case-spine-specific value sets,\n// NOT cross-cluster; they live here, not in foundation.\n// ===========================================================================\n\n/** Incident classification on the case (§A1b). */\nexport const ChildSafetyIncidentClassSchema = z.enum([\n 'apparentCsam',\n 'enticement',\n 'minorSexTrafficking',\n 'sextortion',\n 'csamSolicitation',\n 'imminentCsea',\n 'nonReportableSafety',\n]);\nexport type ChildSafetyIncidentClass = z.infer<typeof ChildSafetyIncidentClassSchema>;\n\n/** Source-signal kind (shared by the case `sourceSignalSummary` projection and\n * the `…/sourceSignals/{signalId}` append-only rows). */\nexport const ChildSafetySignalKindSchema = z.enum([\n 'hashMatch',\n 'report',\n 'aiFlag',\n 'manual',\n 'copyMatch',\n]);\nexport type ChildSafetySignalKind = z.infer<typeof ChildSafetySignalKindSchema>;\n\n/** §A9 workStatus FSM: new → triaged → reporting → actioning → operationallyResolved.\n * `operationallyResolved` NEVER deletes the case (preservation continues).\n *\n * [R12] close-lifecycle states: clicking **Close** (after the strict-closable gate passes)\n * applies the staged actions and moves the case to `processing` — it STAYS pinned/in-queue,\n * it is NEVER cleared on the click. The WORKER (quarantine saga / NCII removal / edge\n * serving-deny) flips the case to the terminal `operationallyResolved` ONLY on VERIFIED\n * completion (which clears the time-sensitive pin via onSafetyCaseClosed). If the saga\n * exhausts its retries (dead-letter), the case moves to `failed` — kept pinned, surfaced in\n * the Safety Console failed-jobs view, with a Restart that re-arms the job. Both are explicit\n * values (never derived). */\n/** The two safety-case lanes: a child-safety (CSAM) case and an NCII case. */\nexport const SafetyCaseLaneSchema = z.enum(['csam', 'ncii']);\nexport type SafetyCaseLane = z.infer<typeof SafetyCaseLaneSchema>;\n\nexport const ChildSafetyWorkStatusSchema = z.enum([\n 'new',\n 'triaged',\n 'reporting',\n 'actioning',\n 'processing',\n 'failed',\n 'operationallyResolved',\n]);\nexport type ChildSafetyWorkStatus = z.infer<typeof ChildSafetyWorkStatusSchema>;\n\n/** §A9 preservationStatus FSM: preReportHold → statutoryHold → extendedHold? →\n * dispositionPending → destroyed. `statutoryHold` is set only at verified\n * completion; deletion is eligible only when every hold ref is released AND a\n * reviewed disposition job runs (no auto-delete at exactly one year). */\nexport const ChildSafetyPreservationStatusSchema = z.enum([\n 'preReportHold',\n 'statutoryHold',\n 'extendedHold',\n 'dispositionPending',\n 'destroyed',\n]);\nexport type ChildSafetyPreservationStatus = z.infer<typeof ChildSafetyPreservationStatusSchema>;\n\n/** §A9 accountActionStatus — the closure projection over `accountActionCommands`\n * (Finding-H5). A report-required case may not operationally close while\n * `pending`/`operatorDecisionPending`. */\nexport const ChildSafetyAccountActionStatusSchema = z.enum([\n 'noAccountActionRequired',\n 'operatorDecisionPending',\n 'pending',\n 'resolved',\n]);\nexport type ChildSafetyAccountActionStatus = z.infer<typeof ChildSafetyAccountActionStatusSchema>;\n\n/** §A1b reportState — derived list-projection of (reportDisposition + latest\n * submission.state) for admin-list rendering ONLY; NOT the source of truth for\n * whether a report is required (that is reportDisposition, §A9). */\nexport const ChildSafetyReportStateSchema = z.enum([\n 'reportAsSoonAsReasonablyPossible',\n 'submissionInProgress',\n 'completed',\n]);\nexport type ChildSafetyReportState = z.infer<typeof ChildSafetyReportStateSchema>;\n\n/** §A1b decisions[].kind — the append-only decision-log kind. `caseClosed` [EUAS-008]\n * is the terminal close decision carrying the structured closure record. */\nexport const ChildSafetyDecisionKindSchema = z.enum([\n 'workStatus',\n 'accountAction',\n 'reportDisposition',\n 'reasonUpdate',\n 'caseClosed',\n]);\nexport type ChildSafetyDecisionKind = z.infer<typeof ChildSafetyDecisionKindSchema>;\n\n/** §A1b accounts[].role on a case. */\nexport const ChildSafetyAccountRoleSchema = z.enum([\n 'uploader',\n 'requester',\n 'distributor',\n 'questionable',\n]);\nexport type ChildSafetyAccountRole = z.infer<typeof ChildSafetyAccountRoleSchema>;\n\n/** §A1b accounts[].subjectDisposition (per-account; distinct from the case-level\n * `reportDisposition`/ReportDisposition). */\nexport const ChildSafetyAccountSubjectDispositionSchema = z.enum([\n 'subject',\n 'questionable',\n 'excluded',\n]);\nexport type ChildSafetyAccountSubjectDisposition = z.infer<\n typeof ChildSafetyAccountSubjectDispositionSchema\n>;\n\n/** §A1b accounts[].platformAction. */\nexport const ChildSafetyAccountPlatformActionSchema = z.enum([\n 'none',\n 'watch',\n 'suspend',\n 'safetyLocked',\n 'ban',\n]);\nexport type ChildSafetyAccountPlatformAction = z.infer<\n typeof ChildSafetyAccountPlatformActionSchema\n>;\n\n/** §A1b ncmecSubmissions[].kind. */\nexport const ChildSafetyNcmecSubmissionKindSchema = z.enum([\n 'initial',\n 'supplemental',\n 'correction',\n]);\nexport type ChildSafetyNcmecSubmissionKind = z.infer<\n typeof ChildSafetyNcmecSubmissionKindSchema\n>;\n\n/** §A1b ncmecSubmissions[].completionChannel — launch = MANUAL portal only (the automated ispws API\n * is a post-launch feature, not built; the speculative live-API client was removed). */\nexport const ChildSafetyNcmecCompletionChannelSchema = z.enum(['manualPortal']);\nexport type ChildSafetyNcmecCompletionChannel = z.infer<\n typeof ChildSafetyNcmecCompletionChannelSchema\n>;\n\n/** §A1b ncmecSubmissions[].completionProofType — manual portal only at launch (no API /finish\n * reportDoneResponse; the proof is the operator-recorded portal confirmation). */\nexport const ChildSafetyNcmecCompletionProofTypeSchema = z.enum([\n 'portalConfirmation',\n]);\nexport type ChildSafetyNcmecCompletionProofType = z.infer<\n typeof ChildSafetyNcmecCompletionProofTypeSchema\n>;\n\n/** §A1b ncmecSubmissions/{id}/files[].fileInfoState. */\nexport const ChildSafetyNcmecFileInfoStateSchema = z.enum(['pending', 'sent', 'ack']);\nexport type ChildSafetyNcmecFileInfoState = z.infer<\n typeof ChildSafetyNcmecFileInfoStateSchema\n>;\n\n/** §A1b legalProcess[].kind. */\nexport const ChildSafetyLegalProcessKindSchema = z.enum([\n 'leWatch',\n 'leDataRequest',\n 'leShutdown',\n 'leDestruction',\n 'disclosure',\n]);\nexport type ChildSafetyLegalProcessKind = z.infer<typeof ChildSafetyLegalProcessKindSchema>;\n\n// ===========================================================================\n// §A1b — sourceSignalSummary (embedded privacy-safe projection on the list doc)\n// ===========================================================================\n\n/** Embedded latest-signal summary on `childSafetyCaseList` — NO content. */\nexport const ChildSafetySourceSignalSummarySchema = z.object({\n count: z.number(),\n latestKind: ChildSafetySignalKindSchema,\n latestAt: z.number(),\n}).strict();\nexport type ChildSafetySourceSignalSummary = z.infer<\n typeof ChildSafetySourceSignalSummarySchema\n>;\n\n// ===========================================================================\n// §A1b — childSafetyCaseList/{caseId} (reviewer list/metadata; NO content, NO\n// reporter identity)\n// ===========================================================================\n\nexport const ChildSafetyCaseListV1Schema = z.object({\n schemaVersion: z.literal(1),\n caseId: z.string().min(1),\n revision: z.number(),\n canonicalIncidentKey: z.string(),\n incidentClass: ChildSafetyIncidentClassSchema,\n sourceSignalSummary: ChildSafetySourceSignalSummarySchema,\n workStatus: ChildSafetyWorkStatusSchema,\n preservationStatus: ChildSafetyPreservationStatusSchema,\n ncmecStatus: NcmecSubmissionStateSchema, // §A9 NcmecSubmissionState (no `notRequired`)\n accountActionStatus: ChildSafetyAccountActionStatusSchema,\n reportDisposition: ReportDispositionSchema, // §A9 case-level reporting determination\n reviewDueAt: z.number(),\n actualKnowledgeAt: z.number().optional(),\n reportState: ChildSafetyReportStateSchema.optional(), // derived list-projection only\n submissionCompletedAt: z.number().optional(),\n preserveUntil: z.number().optional(),\n openHoldCount: z.number(),\n // Cross-links to other cases that claimed the same owning alias (a rare operator NCII-crossover\n // re-scan collision). arrayUnion'd on both cases in the intake transaction that detected the claim;\n // the console renders these as plain links on the case view. The original alias owner is kept — the\n // colliding case never `tx.create`-throws (see childSafetyOwningAliases intake). Additive/optional.\n relatedCaseIds: z.array(z.string().min(1)).optional(),\n // [H-04 V1] Set to true when a protected-reason chat report's Worker context could not be\n // resolved at intake (text-only / Worker-down). The case is still a\n // fully-valid protected case; context resolution is retried async. Absent = false (no pending\n // context). Cleared once context is attached. Surfaced in the safety console so the reviewer\n // knows to trigger a manual re-fetch if the async retry hasn't landed yet.\n contextResolutionPending: z.boolean().optional(),\n // Test-list drill lane (DJ ruling 2026-07-28): true ⇔ every validated PhotoDNA match on this\n // case matched ONLY Microsoft's published TEST hash list (the detector echoes listId \"Test\"),\n // never a production list. A drill case is reviewable and closeable through the normal guided\n // flow but carries NO reporting obligation: the converge path sets no actualKnowledgeAt, no\n // reportRequired, enqueues no NCMEC submission, and arms no report-clock monitors — and the\n // `notRequired` disposition invariant exempts it (a test-image match is definitionally not\n // CSAM; auto-filing a CyberTipline report over it would be wrong). CLEARED (deleted) the\n // moment a real-list match joins the case — real evidence instantly restores the full\n // obligation machinery. Absent = real case.\n testListDrill: z.literal(true).optional(),\n createdAt: z.number(),\n updatedAt: z.number(),\n}).strict();\nexport type ChildSafetyCaseListV1 = z.infer<typeof ChildSafetyCaseListV1Schema>;\n\n// ===========================================================================\n// §A1b — childSafetyCases/{caseId} (restricted root; childSafetyReviewer only;\n// adds the evidence manifest, the internal reason, and the lease/fencing fields)\n// ===========================================================================\n\nexport const ChildSafetyCaseV1Schema = z.object({\n schemaVersion: z.literal(1),\n caseId: z.string().min(1),\n evidenceManifestId: z.string().min(1),\n currentReasonInternal: z.string(),\n leaseOwner: z.string().min(1).optional(),\n leaseExpiresAt: z.number().optional(),\n fencingOwnerToken: z.string().min(1).optional(),\n fencingGeneration: z.number().optional(),\n // [H-04 V1] Immutable channel/message locator stored at case open when the Worker context\n // could not be resolved at intake. This is the AUTHORITATIVE source-of-truth locator that\n // the best-effort async re-fetch (and the operator's manual re-fetch) use to retrieve the\n // message text/sender. NEVER updated after creation — if context resolves, the resolved\n // context is ATTACHED to the case; this field stays unchanged as the permanent intake record.\n // Uses TargetLocatorV1 (a `guildChatMessage` / `guildInviteMessage` kind); absent on\n // media-resolved cases that went through the normal protected path with a published\n // Conversation File.\n chatMessageLocator: TargetLocatorV1Schema.optional(),\n // [H-04 V1] Mirror of the list-doc field — kept in sync so the restricted root can be\n // independently queried/checked without a join against childSafetyCaseList.\n contextResolutionPending: z.boolean().optional(),\n // The case-level ROLLUP of the possible-minor crossover's two post-commit side effects\n // (serving deny + PhotoDNA), present only on a crossover child-safety case. The per-asset state\n // lives on `childSafetyCaseCrossoverItems/{mediaAssetId}`; each leg here is\n // `rollupCrossoverLegStatus` of that leg across the case's items and the registration progress,\n // so a scheduled pass finds a case with outstanding work by one query on a leg and then resumes\n // registration and lists its item rows. `itemsCursor` is the progress of registering the case's\n // items across bounded transactions: absent before the first page, `inLap` while more remain\n // after `afterKey`, `done` once every item is registered. Until it is `done` the unregistered\n // items still owe both legs, so each leg is `pending` or `failed` — never `done` or absent — and a\n // stalled registration keeps the case findable (BACKEND-302). Once it is `done`, a leg is absent\n // when no item has it (an external, no-media target has nothing to deny or scan). A leg failure\n // never rolls back the committed assessment and the NCII removal clock is never touched.\n crossoverLegs: z.object({\n servingDeny: SafetyCrossoverLegStatusSchema.optional(),\n photoDna: SafetyCrossoverLegStatusSchema.optional(),\n itemsCursor: SweepRollingCursorSchema.optional(),\n }).strict().superRefine((legs, ctx) => {\n if (isCrossoverItemRegistrationDone(legs.itemsCursor)) return;\n for (const leg of ['servingDeny', 'photoDna'] as const) {\n if (legs[leg] !== 'pending' && legs[leg] !== 'failed') {\n ctx.addIssue({\n code: 'custom',\n path: [leg],\n message: 'a leg stays pending or failed until every item of the case is registered',\n });\n }\n }\n }).optional(),\n}).strict();\nexport type ChildSafetyCaseV1 = z.infer<typeof ChildSafetyCaseV1Schema>;\n\n// ===========================================================================\n// Possible-minor crossover — per-asset leg state\n// ===========================================================================\n\n/**\n * Whether every item of a crossover case is registered: true only when the registration cursor's\n * lap reached the end of the case's items. Absent (not started) and `inLap` both mean items may\n * still owe their legs.\n */\nexport function isCrossoverItemRegistrationDone(itemsCursor: SweepRollingCursor | undefined): boolean {\n return itemsCursor?.state === 'done';\n}\n\n/**\n * The case-level status of one crossover leg across a case's items: `failed` when any registered\n * item's leg failed; else `pending` while registration is unfinished (the unregistered items still\n * owe the leg) or any item's leg is pending; else `done` when any completed; `undefined` when every\n * item is registered and none has the leg. The ONE rollup rule — the writer of\n * `ChildSafetyCaseV1.crossoverLegs`, the reconciler, and the console read the same answer.\n */\nexport function rollupCrossoverLegStatus(\n statuses: readonly (SafetyCrossoverLegStatus | undefined)[],\n itemsCursor: SweepRollingCursor | undefined,\n): SafetyCrossoverLegStatus | undefined {\n const present = statuses.filter((status): status is SafetyCrossoverLegStatus => status !== undefined);\n if (present.includes('failed')) return 'failed';\n if (!isCrossoverItemRegistrationDone(itemsCursor)) return 'pending';\n if (present.includes('pending')) return 'pending';\n if (present.includes('done')) return 'done';\n return undefined;\n}\n\n/**\n * `childSafetyCases/{caseId}/childSafetyCaseCrossoverItems/{mediaAssetId}` — one row per asset the\n * possible-minor assessment acts on: the leg state of that asset's serving deny and PhotoDNA scan.\n * The case's `crossoverLegs` is the rollup of these rows. `servingDeny` is always present (every\n * item has a deny leg); `photoDna` is absent when the asset has no origin lineage to scan. A leg's\n * `…At` stamp is present exactly when the leg is `done` (`servingDeniedAt`, `photoDnaScannedAt`);\n * `…FailedAt` is present whenever the leg is `failed` and may stay after a later success;\n * `…LastError` is an error NAME (never raw bytes or PII) and only accompanies a failure stamp.\n */\nexport const ChildSafetyCrossoverItemV1Schema = z.object({\n schemaVersion: z.literal(1),\n caseId: z.string().min(1),\n mediaAssetId: z.string().min(1),\n servingDeny: SafetyCrossoverLegStatusSchema,\n servingDeniedAt: z.number().optional(),\n servingDenyFailedAt: z.number().optional(),\n servingDenyLastError: z.string().optional(),\n photoDna: SafetyCrossoverLegStatusSchema.optional(),\n photoDnaScannedAt: z.number().optional(),\n photoDnaFailedAt: z.number().optional(),\n photoDnaLastError: z.string().optional(),\n createdAt: z.number(),\n updatedAt: z.number(),\n}).strict().superRefine((item, ctx) => {\n const issue = (path: string, message: string) => ctx.addIssue({ code: 'custom', path: [path], message });\n const legs = [\n { status: item.servingDeny, doneAt: 'servingDeniedAt', failedAt: 'servingDenyFailedAt', lastError: 'servingDenyLastError' },\n { status: item.photoDna, doneAt: 'photoDnaScannedAt', failedAt: 'photoDnaFailedAt', lastError: 'photoDnaLastError' },\n ] as const;\n for (const leg of legs) {\n const doneAt = item[leg.doneAt];\n const failedAt = item[leg.failedAt];\n const lastError = item[leg.lastError];\n if (leg.status === undefined) {\n if (doneAt !== undefined) issue(leg.doneAt, 'a leg that never applied has no completion stamp');\n if (failedAt !== undefined) issue(leg.failedAt, 'a leg that never applied has no failure stamp');\n if (lastError !== undefined) issue(leg.lastError, 'a leg that never applied has no error');\n continue;\n }\n if (leg.status === 'done' && doneAt === undefined) issue(leg.doneAt, 'a done leg carries its completion stamp');\n if (leg.status !== 'done' && doneAt !== undefined) issue(leg.doneAt, 'only a done leg carries a completion stamp');\n if (leg.status === 'failed' && failedAt === undefined) issue(leg.failedAt, 'a failed leg carries its failure stamp');\n if (leg.status === 'pending' && failedAt !== undefined) issue(leg.failedAt, 'a pending leg has not failed');\n if (lastError !== undefined && failedAt === undefined) issue(leg.lastError, 'an error accompanies a failure stamp');\n }\n});\nexport type ChildSafetyCrossoverItemV1 = z.infer<typeof ChildSafetyCrossoverItemV1Schema>;\n\n// ===========================================================================\n// §A1b subcollections (append-only, NEVER arrays)\n// ===========================================================================\n\n/** …/sourceSignals/{signalId} — append-only source-signal row. */\nexport const ChildSafetySourceSignalV1Schema = z.object({\n at: z.number(),\n kind: ChildSafetySignalKindSchema,\n detector: z.string().min(1).optional(),\n sourceRef: z.string(),\n actorId: z.string().min(1).optional(),\n}).strict();\nexport type ChildSafetySourceSignalV1 = z.infer<typeof ChildSafetySourceSignalV1Schema>;\n\n/** …/decisions/{decisionId} — append-only decision-log row. The actual\n * viewed-evidence ids live in …/decisions/{decisionId}/views/{viewId}. */\nexport const ChildSafetyDecisionV1Schema = z.object({\n at: z.number(),\n actorId: z.string().min(1),\n kind: ChildSafetyDecisionKindSchema,\n from: z.string(),\n to: z.string(),\n reasonInternal: z.string(),\n reasonUserFacing: z.string().optional(),\n evidenceItemsViewedCount: z.number(),\n // [EUAS-008] present only on a `caseClosed` row — the structured operator closure record\n // (outcome / summary / note + actor / timestamp) persisted when the case is closed.\n closure: SafetyCaseClosureV1Schema.optional(),\n}).strict();\nexport type ChildSafetyDecisionV1 = z.infer<typeof ChildSafetyDecisionV1Schema>;\n\n/** …/decisions/{decisionId}/views/{viewId} — the actual viewed-evidence ids\n * (kept off the decision row itself). */\nexport const ChildSafetyDecisionViewV1Schema = z.object({\n evidenceItemId: z.string().min(1),\n at: z.number(),\n}).strict();\nexport type ChildSafetyDecisionViewV1 = z.infer<typeof ChildSafetyDecisionViewV1Schema>;\n\n/** …/accounts/{uid} — per-account case record. The per-account\n * `subjectDisposition` is distinct from the case-level `reportDisposition`. */\nexport const ChildSafetyCaseAccountV1Schema = z.object({\n role: ChildSafetyAccountRoleSchema,\n subjectDisposition: ChildSafetyAccountSubjectDispositionSchema,\n platformAction: ChildSafetyAccountPlatformActionSchema,\n reasonUserFacing: z.string(),\n reasonInternal: z.string(),\n updatedAt: z.number(),\n}).strict();\nexport type ChildSafetyCaseAccountV1 = z.infer<typeof ChildSafetyCaseAccountV1Schema>;\n\n/** …/accounts/{uid}/history/{historyId} — append-only per-account history. */\nexport const ChildSafetyCaseAccountHistoryV1Schema = z.object({\n role: ChildSafetyAccountRoleSchema,\n subjectDisposition: ChildSafetyAccountSubjectDispositionSchema,\n platformAction: ChildSafetyAccountPlatformActionSchema,\n reasonUserFacing: z.string(),\n reasonInternal: z.string(),\n at: z.number(),\n}).strict();\nexport type ChildSafetyCaseAccountHistoryV1 = z.infer<\n typeof ChildSafetyCaseAccountHistoryV1Schema\n>;\n\n/** …/ncmecSubmissions/{submissionId} — one NCMEC submission record. */\nexport const ChildSafetyNcmecSubmissionV1Schema = z.object({\n kind: ChildSafetyNcmecSubmissionKindSchema,\n state: NcmecSubmissionStateSchema, // §A9 NcmecSubmissionState\n completionChannel: ChildSafetyNcmecCompletionChannelSchema.optional(),\n submissionCompletedAt: z.number().optional(),\n completionProofType: ChildSafetyNcmecCompletionProofTypeSchema.optional(),\n completionProofRef: z.string().min(1).optional(),\n reportId: z.string().min(1).optional(),\n responseCode: z.number().optional(),\n}).strict();\nexport type ChildSafetyNcmecSubmissionV1 = z.infer<\n typeof ChildSafetyNcmecSubmissionV1Schema\n>;\n\n/** …/ncmecSubmissions/{submissionId}/files/{fileId} — per-evidence-item file row. */\nexport const ChildSafetyNcmecSubmissionFileV1Schema = z.object({\n localEvidenceItemId: z.string().min(1),\n ncmecFileId: z.string().min(1).optional(),\n md5: z.string().min(1).optional(),\n fileInfoState: ChildSafetyNcmecFileInfoStateSchema,\n}).strict();\nexport type ChildSafetyNcmecSubmissionFileV1 = z.infer<\n typeof ChildSafetyNcmecSubmissionFileV1Schema\n>;\n\n/** …/legalProcess/{eventId} — append-only legal-process event. */\nexport const ChildSafetyLegalProcessEventV1Schema = z.object({\n at: z.number(),\n kind: ChildSafetyLegalProcessKindSchema,\n verifiedBy: z.string().min(1),\n instruction: z.string(),\n handedOver: z.boolean().optional(),\n}).strict();\nexport type ChildSafetyLegalProcessEventV1 = z.infer<\n typeof ChildSafetyLegalProcessEventV1Schema\n>;\n\n// ===========================================================================\n// §A9 — setReportDisposition privileged-command input (NON-DOC embedded shape).\n// Authority = `legalDispositionAuthority` (§A11 matrix); requires fresh two-step\n// reauth. Appends to …/decisions/{decisionId} with kind:'reportDisposition'.\n// `evidenceRefs` is an array capped at MAX; it MAY be empty EXCEPT for disposition\n// 'reportRequired', which requires ≥1 (enforced by the shared\n// refineReportDispositionEvidenceRefs cross-field rule, not a field-level min).\n// ===========================================================================\n\n// The base object shape (kept as a ZodObject so the callable input can `.extend` it); the exported\n// schema below adds the TWO canonical cross-field refinements (disposition↔reason pairing +\n// reportRequired⇒evidence-present).\nconst SetReportDispositionInputV1ObjectSchema = z.object({\n caseId: z.string().min(1),\n expectedRevision: z.number(),\n disposition: ReportDispositionSchema,\n dispositionReasonCode: ReportDispositionReasonCodeSchema,\n // MAX derives from the ONE receipts cap (evidence.ts) — the callable + admin.ts use the same. No\n // field-level min: the reportRequired⇒non-empty rule lives in the shared cross-field refinement so\n // every other disposition may legally leave this empty.\n evidenceRefs: z.array(z.string().min(1)).max(MAX_MANIFEST_NCMEC_RECEIPTS),\n}).strict();\nexport const SetReportDispositionInputV1Schema = SetReportDispositionInputV1ObjectSchema\n .superRefine(refineReportDispositionReasonCode)\n .superRefine(refineReportDispositionEvidenceRefs);\nexport type SetReportDispositionInputV1 = z.infer<typeof SetReportDispositionInputV1Schema>;\n\n// The PRIVILEGED CALLABLE input (`setReportDisposition`) — extends the embedded shape with the\n// interim explicit typed confirmation (stands in for the passkey two-step until [H-17]), then applies\n// the SAME shared cross-field refinements. evidenceRefs is inherited from the base (MAX-bounded,\n// empty allowed except when disposition is 'reportRequired'). Lives beside the base shape it extends.\nexport const SetReportDispositionCallableInputSchema = SetReportDispositionInputV1ObjectSchema.extend({\n confirmation: z.literal(LEGAL_REPORTING_DISPOSITION_CONFIRMATION),\n})\n .superRefine(refineReportDispositionReasonCode)\n .superRefine(refineReportDispositionEvidenceRefs);\nexport type SetReportDispositionCallableInput = z.infer<typeof SetReportDispositionCallableInputSchema>;\n"]}
|
|
1
|
+
{"version":3,"file":"case.js","sourceRoot":"","sources":["../../../src/doc-schemas/safety/case.ts"],"names":[],"mappings":"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","sourcesContent":["// Trust & Safety — the child-safety CASE spine (Appendix A §A1b, §A9).\n//\n// The split-projection case model: a reviewer list/metadata doc\n// (`childSafetyCaseList/{caseId}` — NO content, NO reporter identity) and a\n// restricted root (`childSafetyCases/{caseId}` — adds the evidence manifest,\n// the internal reason, and the lease/fencing fields). Append-only detail lives\n// in subcollections (NEVER arrays), each enforced by writing to the\n// subcollection so there is no parent array to overflow.\n//\n// Every shape here is transcribed verbatim from the frozen Trust & Safety spec\n// (Appendix A §A1b + the §A9 state-transition rules) — no invented values, no\n// placeholders; the durable design owner is ttt-prod\n// docs/design/csam-detection-and-response.md.\n//\n// SHARED enums come from ./foundation.js (the single source for every\n// cross-cluster enum); they are NEVER redefined here. This cluster IMPORTS\n// ReportDispositionSchema, ReportDispositionReasonCodeSchema, and\n// NcmecSubmissionStateSchema from foundation.\n//\n// Collection note: this cluster introduces NEW Firestore collections; the app\n// leg (orchestrator) wires collections.ts / path-builders.ts / registry.ts.\n// The merge/alias/correlation cluster (§A2) lives in ./case-aliases.js.\n\nimport { z } from 'zod';\nimport {\n ReportDispositionSchema,\n ReportDispositionReasonCodeSchema,\n refineReportDispositionReasonCode,\n refineReportDispositionEvidenceRefs,\n NcmecSubmissionStateSchema,\n SafetyCaseClosureV1Schema,\n TargetLocatorV1Schema,\n SafetyCrossoverLegStatusSchema,\n type SafetyCrossoverLegStatus,\n} from './foundation.js';\nimport { MAX_MANIFEST_NCMEC_RECEIPTS } from './evidence.js';\nimport { LEGAL_REPORTING_DISPOSITION_CONFIRMATION } from '../../constants/safety-confirmation-phrases.js';\nimport { SweepRollingCursorSchema, type SweepRollingCursor } from '../sweep-cursor.js';\n\n// ===========================================================================\n// Cluster-local enums (§A1b + §A9). These are case-spine-specific value sets,\n// NOT cross-cluster; they live here, not in foundation.\n// ===========================================================================\n\n/** Incident classification on the case (§A1b). */\nexport const ChildSafetyIncidentClassSchema = z.enum([\n 'apparentCsam',\n 'enticement',\n 'minorSexTrafficking',\n 'sextortion',\n 'csamSolicitation',\n 'imminentCsea',\n 'nonReportableSafety',\n]);\nexport type ChildSafetyIncidentClass = z.infer<typeof ChildSafetyIncidentClassSchema>;\n\n/** Source-signal kind (shared by the case `sourceSignalSummary` projection and\n * the `…/sourceSignals/{signalId}` append-only rows). */\nexport const ChildSafetySignalKindSchema = z.enum([\n 'hashMatch',\n 'report',\n 'aiFlag',\n 'manual',\n 'copyMatch',\n]);\nexport type ChildSafetySignalKind = z.infer<typeof ChildSafetySignalKindSchema>;\n\n/** §A9 workStatus FSM: new → triaged → reporting → actioning → operationallyResolved.\n * `operationallyResolved` NEVER deletes the case (preservation continues).\n *\n * [R12] close-lifecycle states: clicking **Close** (after the strict-closable gate passes)\n * applies the staged actions and moves the case to `processing` — it STAYS pinned/in-queue,\n * it is NEVER cleared on the click. The WORKER (quarantine saga / NCII removal / edge\n * serving-deny) flips the case to the terminal `operationallyResolved` ONLY on VERIFIED\n * completion (which clears the time-sensitive pin via onSafetyCaseClosed). If the saga\n * exhausts its retries (dead-letter), the case moves to `failed` — kept pinned, surfaced in\n * the Safety Console failed-jobs view, with a Restart that re-arms the job. Both are explicit\n * values (never derived). */\n/** The two safety-case lanes: a child-safety (CSAM) case and an NCII case. */\nexport const SafetyCaseLaneSchema = z.enum(['csam', 'ncii']);\nexport type SafetyCaseLane = z.infer<typeof SafetyCaseLaneSchema>;\n\nexport const ChildSafetyWorkStatusSchema = z.enum([\n 'new',\n 'triaged',\n 'reporting',\n 'actioning',\n 'processing',\n 'failed',\n 'operationallyResolved',\n]);\nexport type ChildSafetyWorkStatus = z.infer<typeof ChildSafetyWorkStatusSchema>;\n\n/** §A9 preservationStatus FSM: preReportHold → statutoryHold → extendedHold? →\n * dispositionPending → destroyed. `statutoryHold` is set only at verified\n * completion; deletion is eligible only when every hold ref is released AND a\n * reviewed disposition job runs (no auto-delete at exactly one year). */\nexport const ChildSafetyPreservationStatusSchema = z.enum([\n 'preReportHold',\n 'statutoryHold',\n 'extendedHold',\n 'dispositionPending',\n 'destroyed',\n]);\nexport type ChildSafetyPreservationStatus = z.infer<typeof ChildSafetyPreservationStatusSchema>;\n\n/** §A9 accountActionStatus — the closure projection over `accountActionCommands`\n * (Finding-H5). A report-required case may not operationally close while\n * `pending`/`operatorDecisionPending`. */\nexport const ChildSafetyAccountActionStatusSchema = z.enum([\n 'noAccountActionRequired',\n 'operatorDecisionPending',\n 'pending',\n 'resolved',\n]);\nexport type ChildSafetyAccountActionStatus = z.infer<typeof ChildSafetyAccountActionStatusSchema>;\n\n/** §A1b reportState — derived list-projection of (reportDisposition + latest\n * submission.state) for admin-list rendering ONLY; NOT the source of truth for\n * whether a report is required (that is reportDisposition, §A9). */\nexport const ChildSafetyReportStateSchema = z.enum([\n 'reportAsSoonAsReasonablyPossible',\n 'submissionInProgress',\n 'completed',\n]);\nexport type ChildSafetyReportState = z.infer<typeof ChildSafetyReportStateSchema>;\n\n/** §A1b decisions[].kind — the append-only decision-log kind. `caseClosed` [EUAS-008]\n * is the terminal close decision carrying the structured closure record. */\nexport const ChildSafetyDecisionKindSchema = z.enum([\n 'workStatus',\n 'accountAction',\n 'reportDisposition',\n 'reasonUpdate',\n 'caseClosed',\n]);\nexport type ChildSafetyDecisionKind = z.infer<typeof ChildSafetyDecisionKindSchema>;\n\n/** §A1b accounts[].role on a case. */\nexport const ChildSafetyAccountRoleSchema = z.enum([\n 'uploader',\n 'requester',\n 'distributor',\n 'questionable',\n]);\nexport type ChildSafetyAccountRole = z.infer<typeof ChildSafetyAccountRoleSchema>;\n\n/** §A1b accounts[].subjectDisposition (per-account; distinct from the case-level\n * `reportDisposition`/ReportDisposition). */\nexport const ChildSafetyAccountSubjectDispositionSchema = z.enum([\n 'subject',\n 'questionable',\n 'excluded',\n]);\nexport type ChildSafetyAccountSubjectDisposition = z.infer<\n typeof ChildSafetyAccountSubjectDispositionSchema\n>;\n\n/** §A1b accounts[].platformAction. */\nexport const ChildSafetyAccountPlatformActionSchema = z.enum([\n 'none',\n 'watch',\n 'suspend',\n 'safetyLocked',\n 'ban',\n]);\nexport type ChildSafetyAccountPlatformAction = z.infer<\n typeof ChildSafetyAccountPlatformActionSchema\n>;\n\n/** §A1b ncmecSubmissions[].kind. */\nexport const ChildSafetyNcmecSubmissionKindSchema = z.enum([\n 'initial',\n 'supplemental',\n 'correction',\n]);\nexport type ChildSafetyNcmecSubmissionKind = z.infer<\n typeof ChildSafetyNcmecSubmissionKindSchema\n>;\n\n/** §A1b ncmecSubmissions[].completionChannel — launch = MANUAL portal only (the automated ispws API\n * is a post-launch feature, not built; the speculative live-API client was removed). */\nexport const ChildSafetyNcmecCompletionChannelSchema = z.enum(['manualPortal']);\nexport type ChildSafetyNcmecCompletionChannel = z.infer<\n typeof ChildSafetyNcmecCompletionChannelSchema\n>;\n\n/** §A1b ncmecSubmissions[].completionProofType — manual portal only at launch (no API /finish\n * reportDoneResponse; the proof is the operator-recorded portal confirmation). */\nexport const ChildSafetyNcmecCompletionProofTypeSchema = z.enum([\n 'portalConfirmation',\n]);\nexport type ChildSafetyNcmecCompletionProofType = z.infer<\n typeof ChildSafetyNcmecCompletionProofTypeSchema\n>;\n\n/** §A1b ncmecSubmissions/{id}/files[].fileInfoState. */\nexport const ChildSafetyNcmecFileInfoStateSchema = z.enum(['pending', 'sent', 'ack']);\nexport type ChildSafetyNcmecFileInfoState = z.infer<\n typeof ChildSafetyNcmecFileInfoStateSchema\n>;\n\n/** §A1b legalProcess[].kind. */\nexport const ChildSafetyLegalProcessKindSchema = z.enum([\n 'leWatch',\n 'leDataRequest',\n 'leShutdown',\n 'leDestruction',\n 'disclosure',\n]);\nexport type ChildSafetyLegalProcessKind = z.infer<typeof ChildSafetyLegalProcessKindSchema>;\n\n// ===========================================================================\n// §A1b — sourceSignalSummary (embedded privacy-safe projection on the list doc)\n// ===========================================================================\n\n/** Embedded latest-signal summary on `childSafetyCaseList` — NO content. */\nexport const ChildSafetySourceSignalSummarySchema = z.object({\n count: z.number(),\n latestKind: ChildSafetySignalKindSchema,\n latestAt: z.number(),\n}).strict();\nexport type ChildSafetySourceSignalSummary = z.infer<\n typeof ChildSafetySourceSignalSummarySchema\n>;\n\n// ===========================================================================\n// §A1b — childSafetyCaseList/{caseId} (reviewer list/metadata; NO content, NO\n// reporter identity)\n// ===========================================================================\n\nexport const ChildSafetyCaseListV1Schema = z.object({\n schemaVersion: z.literal(1),\n caseId: z.string().min(1),\n revision: z.number(),\n canonicalIncidentKey: z.string(),\n incidentClass: ChildSafetyIncidentClassSchema,\n sourceSignalSummary: ChildSafetySourceSignalSummarySchema,\n workStatus: ChildSafetyWorkStatusSchema,\n preservationStatus: ChildSafetyPreservationStatusSchema,\n ncmecStatus: NcmecSubmissionStateSchema, // §A9 NcmecSubmissionState (no `notRequired`)\n accountActionStatus: ChildSafetyAccountActionStatusSchema,\n reportDisposition: ReportDispositionSchema, // §A9 case-level reporting determination\n actualKnowledgeAt: z.number().optional(),\n reportState: ChildSafetyReportStateSchema.optional(), // derived list-projection only\n submissionCompletedAt: z.number().optional(),\n preserveUntil: z.number().optional(),\n openHoldCount: z.number(),\n // Cross-links to other cases that claimed the same owning alias (a rare operator NCII-crossover\n // re-scan collision). arrayUnion'd on both cases in the intake transaction that detected the claim;\n // the console renders these as plain links on the case view. The original alias owner is kept — the\n // colliding case never `tx.create`-throws (see childSafetyOwningAliases intake). Additive/optional.\n relatedCaseIds: z.array(z.string().min(1)).optional(),\n // [H-04 V1] Set to true when a protected-reason chat report's Worker context could not be\n // resolved at intake (text-only / Worker-down). The case is still a\n // fully-valid protected case; context resolution is retried async. Absent = false (no pending\n // context). Cleared once context is attached. Surfaced in the safety console so the reviewer\n // knows to trigger a manual re-fetch if the async retry hasn't landed yet.\n contextResolutionPending: z.boolean().optional(),\n // Test-list drill lane (DJ ruling 2026-07-28): true ⇔ every validated PhotoDNA match on this\n // case matched ONLY Microsoft's published TEST hash list (the detector echoes listId \"Test\"),\n // never a production list. A drill case is reviewable and closeable through the normal guided\n // flow but carries NO reporting obligation: the converge path sets no actualKnowledgeAt, no\n // reportRequired, enqueues no NCMEC submission, and arms no report-clock monitors — and the\n // `notRequired` disposition invariant exempts it (a test-image match is definitionally not\n // CSAM; auto-filing a CyberTipline report over it would be wrong). CLEARED (deleted) the\n // moment a real-list match joins the case — real evidence instantly restores the full\n // obligation machinery. Absent = real case.\n testListDrill: z.literal(true).optional(),\n createdAt: z.number(),\n updatedAt: z.number(),\n}).strict();\nexport type ChildSafetyCaseListV1 = z.infer<typeof ChildSafetyCaseListV1Schema>;\n\n// ===========================================================================\n// §A1b — childSafetyCases/{caseId} (restricted root; childSafetyReviewer only;\n// adds the evidence manifest, the internal reason, and the lease/fencing fields)\n// ===========================================================================\n\nexport const ChildSafetyCaseV1Schema = z.object({\n schemaVersion: z.literal(1),\n caseId: z.string().min(1),\n evidenceManifestId: z.string().min(1),\n currentReasonInternal: z.string(),\n leaseOwner: z.string().min(1).optional(),\n leaseExpiresAt: z.number().optional(),\n fencingOwnerToken: z.string().min(1).optional(),\n fencingGeneration: z.number().optional(),\n // [H-04 V1] Immutable channel/message locator stored at case open when the Worker context\n // could not be resolved at intake. This is the AUTHORITATIVE source-of-truth locator that\n // the best-effort async re-fetch (and the operator's manual re-fetch) use to retrieve the\n // message text/sender. NEVER updated after creation — if context resolves, the resolved\n // context is ATTACHED to the case; this field stays unchanged as the permanent intake record.\n // Uses TargetLocatorV1 (a `guildChatMessage` / `guildInviteMessage` kind); absent on\n // media-resolved cases that went through the normal protected path with a published\n // Conversation File.\n chatMessageLocator: TargetLocatorV1Schema.optional(),\n // [H-04 V1] Mirror of the list-doc field — kept in sync so the restricted root can be\n // independently queried/checked without a join against childSafetyCaseList.\n contextResolutionPending: z.boolean().optional(),\n // The case-level ROLLUP of the possible-minor crossover's two post-commit side effects\n // (serving deny + PhotoDNA), present only on a crossover child-safety case. The per-asset state\n // lives on `childSafetyCaseCrossoverItems/{mediaAssetId}`; each leg here is\n // `rollupCrossoverLegStatus` of that leg across the case's items and the registration progress,\n // so a scheduled pass finds a case with outstanding work by one query on a leg and then resumes\n // registration and lists its item rows. `itemsCursor` is the progress of registering the case's\n // items across bounded transactions: absent before the first page, `inLap` while more remain\n // after `afterKey`, `done` once every item is registered. Until it is `done` the unregistered\n // items still owe both legs, so each leg is `pending` or `failed` — never `done` or absent — and a\n // stalled registration keeps the case findable (BACKEND-302). Once it is `done`, a leg is absent\n // when no item has it (an external, no-media target has nothing to deny or scan). A leg failure\n // never rolls back the committed assessment and the NCII removal clock is never touched.\n crossoverLegs: z.object({\n servingDeny: SafetyCrossoverLegStatusSchema.optional(),\n photoDna: SafetyCrossoverLegStatusSchema.optional(),\n itemsCursor: SweepRollingCursorSchema.optional(),\n }).strict().superRefine((legs, ctx) => {\n if (isCrossoverItemRegistrationDone(legs.itemsCursor)) return;\n for (const leg of ['servingDeny', 'photoDna'] as const) {\n if (legs[leg] !== 'pending' && legs[leg] !== 'failed') {\n ctx.addIssue({\n code: 'custom',\n path: [leg],\n message: 'a leg stays pending or failed until every item of the case is registered',\n });\n }\n }\n }).optional(),\n}).strict();\nexport type ChildSafetyCaseV1 = z.infer<typeof ChildSafetyCaseV1Schema>;\n\n// ===========================================================================\n// Possible-minor crossover — per-asset leg state\n// ===========================================================================\n\n/**\n * Whether every item of a crossover case is registered: true only when the registration cursor's\n * lap reached the end of the case's items. Absent (not started) and `inLap` both mean items may\n * still owe their legs.\n */\nexport function isCrossoverItemRegistrationDone(itemsCursor: SweepRollingCursor | undefined): boolean {\n return itemsCursor?.state === 'done';\n}\n\n/**\n * The case-level status of one crossover leg across a case's items: `failed` when any registered\n * item's leg failed; else `pending` while registration is unfinished (the unregistered items still\n * owe the leg) or any item's leg is pending; else `done` when any completed; `undefined` when every\n * item is registered and none has the leg. The ONE rollup rule — the writer of\n * `ChildSafetyCaseV1.crossoverLegs`, the reconciler, and the console read the same answer.\n */\nexport function rollupCrossoverLegStatus(\n statuses: readonly (SafetyCrossoverLegStatus | undefined)[],\n itemsCursor: SweepRollingCursor | undefined,\n): SafetyCrossoverLegStatus | undefined {\n const present = statuses.filter((status): status is SafetyCrossoverLegStatus => status !== undefined);\n if (present.includes('failed')) return 'failed';\n if (!isCrossoverItemRegistrationDone(itemsCursor)) return 'pending';\n if (present.includes('pending')) return 'pending';\n if (present.includes('done')) return 'done';\n return undefined;\n}\n\n/**\n * `childSafetyCases/{caseId}/childSafetyCaseCrossoverItems/{mediaAssetId}` — one row per asset the\n * possible-minor assessment acts on: the leg state of that asset's serving deny and PhotoDNA scan.\n * The case's `crossoverLegs` is the rollup of these rows. `servingDeny` is always present (every\n * item has a deny leg); `photoDna` is absent when the asset has no origin lineage to scan. A leg's\n * `…At` stamp is present exactly when the leg is `done` (`servingDeniedAt`, `photoDnaScannedAt`);\n * `…FailedAt` is present whenever the leg is `failed` and may stay after a later success;\n * `…LastError` is an error NAME (never raw bytes or PII) and only accompanies a failure stamp.\n */\nexport const ChildSafetyCrossoverItemV1Schema = z.object({\n schemaVersion: z.literal(1),\n caseId: z.string().min(1),\n mediaAssetId: z.string().min(1),\n servingDeny: SafetyCrossoverLegStatusSchema,\n servingDeniedAt: z.number().optional(),\n servingDenyFailedAt: z.number().optional(),\n servingDenyLastError: z.string().optional(),\n photoDna: SafetyCrossoverLegStatusSchema.optional(),\n photoDnaScannedAt: z.number().optional(),\n photoDnaFailedAt: z.number().optional(),\n photoDnaLastError: z.string().optional(),\n createdAt: z.number(),\n updatedAt: z.number(),\n}).strict().superRefine((item, ctx) => {\n const issue = (path: string, message: string) => ctx.addIssue({ code: 'custom', path: [path], message });\n const legs = [\n { status: item.servingDeny, doneAt: 'servingDeniedAt', failedAt: 'servingDenyFailedAt', lastError: 'servingDenyLastError' },\n { status: item.photoDna, doneAt: 'photoDnaScannedAt', failedAt: 'photoDnaFailedAt', lastError: 'photoDnaLastError' },\n ] as const;\n for (const leg of legs) {\n const doneAt = item[leg.doneAt];\n const failedAt = item[leg.failedAt];\n const lastError = item[leg.lastError];\n if (leg.status === undefined) {\n if (doneAt !== undefined) issue(leg.doneAt, 'a leg that never applied has no completion stamp');\n if (failedAt !== undefined) issue(leg.failedAt, 'a leg that never applied has no failure stamp');\n if (lastError !== undefined) issue(leg.lastError, 'a leg that never applied has no error');\n continue;\n }\n if (leg.status === 'done' && doneAt === undefined) issue(leg.doneAt, 'a done leg carries its completion stamp');\n if (leg.status !== 'done' && doneAt !== undefined) issue(leg.doneAt, 'only a done leg carries a completion stamp');\n if (leg.status === 'failed' && failedAt === undefined) issue(leg.failedAt, 'a failed leg carries its failure stamp');\n if (leg.status === 'pending' && failedAt !== undefined) issue(leg.failedAt, 'a pending leg has not failed');\n if (lastError !== undefined && failedAt === undefined) issue(leg.lastError, 'an error accompanies a failure stamp');\n }\n});\nexport type ChildSafetyCrossoverItemV1 = z.infer<typeof ChildSafetyCrossoverItemV1Schema>;\n\n// ===========================================================================\n// §A1b subcollections (append-only, NEVER arrays)\n// ===========================================================================\n\n/** …/sourceSignals/{signalId} — append-only source-signal row. */\nexport const ChildSafetySourceSignalV1Schema = z.object({\n at: z.number(),\n kind: ChildSafetySignalKindSchema,\n detector: z.string().min(1).optional(),\n sourceRef: z.string(),\n actorId: z.string().min(1).optional(),\n}).strict();\nexport type ChildSafetySourceSignalV1 = z.infer<typeof ChildSafetySourceSignalV1Schema>;\n\n/** …/decisions/{decisionId} — append-only decision-log row. The actual\n * viewed-evidence ids live in …/decisions/{decisionId}/views/{viewId}. */\nexport const ChildSafetyDecisionV1Schema = z.object({\n at: z.number(),\n actorId: z.string().min(1),\n kind: ChildSafetyDecisionKindSchema,\n from: z.string(),\n to: z.string(),\n reasonInternal: z.string(),\n reasonUserFacing: z.string().optional(),\n evidenceItemsViewedCount: z.number(),\n // [EUAS-008] present only on a `caseClosed` row — the structured operator closure record\n // (outcome / summary / note + actor / timestamp) persisted when the case is closed.\n closure: SafetyCaseClosureV1Schema.optional(),\n}).strict();\nexport type ChildSafetyDecisionV1 = z.infer<typeof ChildSafetyDecisionV1Schema>;\n\n/** …/decisions/{decisionId}/views/{viewId} — the actual viewed-evidence ids\n * (kept off the decision row itself). */\nexport const ChildSafetyDecisionViewV1Schema = z.object({\n evidenceItemId: z.string().min(1),\n at: z.number(),\n}).strict();\nexport type ChildSafetyDecisionViewV1 = z.infer<typeof ChildSafetyDecisionViewV1Schema>;\n\n/** …/accounts/{uid} — per-account case record. The per-account\n * `subjectDisposition` is distinct from the case-level `reportDisposition`. */\nexport const ChildSafetyCaseAccountV1Schema = z.object({\n role: ChildSafetyAccountRoleSchema,\n subjectDisposition: ChildSafetyAccountSubjectDispositionSchema,\n platformAction: ChildSafetyAccountPlatformActionSchema,\n reasonUserFacing: z.string(),\n reasonInternal: z.string(),\n updatedAt: z.number(),\n}).strict();\nexport type ChildSafetyCaseAccountV1 = z.infer<typeof ChildSafetyCaseAccountV1Schema>;\n\n/** …/accounts/{uid}/history/{historyId} — append-only per-account history. */\nexport const ChildSafetyCaseAccountHistoryV1Schema = z.object({\n role: ChildSafetyAccountRoleSchema,\n subjectDisposition: ChildSafetyAccountSubjectDispositionSchema,\n platformAction: ChildSafetyAccountPlatformActionSchema,\n reasonUserFacing: z.string(),\n reasonInternal: z.string(),\n at: z.number(),\n}).strict();\nexport type ChildSafetyCaseAccountHistoryV1 = z.infer<\n typeof ChildSafetyCaseAccountHistoryV1Schema\n>;\n\n/** …/ncmecSubmissions/{submissionId} — one NCMEC submission record. */\nexport const ChildSafetyNcmecSubmissionV1Schema = z.object({\n kind: ChildSafetyNcmecSubmissionKindSchema,\n state: NcmecSubmissionStateSchema, // §A9 NcmecSubmissionState\n completionChannel: ChildSafetyNcmecCompletionChannelSchema.optional(),\n submissionCompletedAt: z.number().optional(),\n completionProofType: ChildSafetyNcmecCompletionProofTypeSchema.optional(),\n completionProofRef: z.string().min(1).optional(),\n reportId: z.string().min(1).optional(),\n responseCode: z.number().optional(),\n}).strict();\nexport type ChildSafetyNcmecSubmissionV1 = z.infer<\n typeof ChildSafetyNcmecSubmissionV1Schema\n>;\n\n/** …/ncmecSubmissions/{submissionId}/files/{fileId} — per-evidence-item file row. */\nexport const ChildSafetyNcmecSubmissionFileV1Schema = z.object({\n localEvidenceItemId: z.string().min(1),\n ncmecFileId: z.string().min(1).optional(),\n md5: z.string().min(1).optional(),\n fileInfoState: ChildSafetyNcmecFileInfoStateSchema,\n}).strict();\nexport type ChildSafetyNcmecSubmissionFileV1 = z.infer<\n typeof ChildSafetyNcmecSubmissionFileV1Schema\n>;\n\n/** …/legalProcess/{eventId} — append-only legal-process event. */\nexport const ChildSafetyLegalProcessEventV1Schema = z.object({\n at: z.number(),\n kind: ChildSafetyLegalProcessKindSchema,\n verifiedBy: z.string().min(1),\n instruction: z.string(),\n handedOver: z.boolean().optional(),\n}).strict();\nexport type ChildSafetyLegalProcessEventV1 = z.infer<\n typeof ChildSafetyLegalProcessEventV1Schema\n>;\n\n// ===========================================================================\n// §A9 — setReportDisposition privileged-command input (NON-DOC embedded shape).\n// Authority = `legalDispositionAuthority` (§A11 matrix); requires fresh two-step\n// reauth. Appends to …/decisions/{decisionId} with kind:'reportDisposition'.\n// `evidenceRefs` is an array capped at MAX; it MAY be empty EXCEPT for disposition\n// 'reportRequired', which requires ≥1 (enforced by the shared\n// refineReportDispositionEvidenceRefs cross-field rule, not a field-level min).\n// ===========================================================================\n\n// The base object shape (kept as a ZodObject so the callable input can `.extend` it); the exported\n// schema below adds the TWO canonical cross-field refinements (disposition↔reason pairing +\n// reportRequired⇒evidence-present).\nconst SetReportDispositionInputV1ObjectSchema = z.object({\n caseId: z.string().min(1),\n expectedRevision: z.number(),\n disposition: ReportDispositionSchema,\n dispositionReasonCode: ReportDispositionReasonCodeSchema,\n // MAX derives from the ONE receipts cap (evidence.ts) — the callable + admin.ts use the same. No\n // field-level min: the reportRequired⇒non-empty rule lives in the shared cross-field refinement so\n // every other disposition may legally leave this empty.\n evidenceRefs: z.array(z.string().min(1)).max(MAX_MANIFEST_NCMEC_RECEIPTS),\n}).strict();\nexport const SetReportDispositionInputV1Schema = SetReportDispositionInputV1ObjectSchema\n .superRefine(refineReportDispositionReasonCode)\n .superRefine(refineReportDispositionEvidenceRefs);\nexport type SetReportDispositionInputV1 = z.infer<typeof SetReportDispositionInputV1Schema>;\n\n// The PRIVILEGED CALLABLE input (`setReportDisposition`) — extends the embedded shape with the\n// interim explicit typed confirmation (stands in for the passkey two-step until [H-17]), then applies\n// the SAME shared cross-field refinements. evidenceRefs is inherited from the base (MAX-bounded,\n// empty allowed except when disposition is 'reportRequired'). Lives beside the base shape it extends.\nexport const SetReportDispositionCallableInputSchema = SetReportDispositionInputV1ObjectSchema.extend({\n confirmation: z.literal(LEGAL_REPORTING_DISPOSITION_CONFIRMATION),\n})\n .superRefine(refineReportDispositionReasonCode)\n .superRefine(refineReportDispositionEvidenceRefs);\nexport type SetReportDispositionCallableInput = z.infer<typeof SetReportDispositionCallableInputSchema>;\n"]}
|
|
@@ -6,7 +6,6 @@ import { z } from 'zod';
|
|
|
6
6
|
* headline clock. Clocks + the urgent tab attach ONLY to PhotoDNA-hash detections
|
|
7
7
|
* and cases reported as CSAM or NCII. */
|
|
8
8
|
export declare const SafetySlaMonitorKindSchema: z.ZodEnum<{
|
|
9
|
-
reviewDue: "reviewDue";
|
|
10
9
|
photoDnaContract: "photoDnaContract";
|
|
11
10
|
actualKnowledgeUnreported: "actualKnowledgeUnreported";
|
|
12
11
|
ncmecRetry: "ncmecRetry";
|
|
@@ -41,7 +40,6 @@ export declare const SafetySlaMonitorV1Schema: z.ZodObject<{
|
|
|
41
40
|
caseId: z.ZodOptional<z.ZodString>;
|
|
42
41
|
requestId: z.ZodOptional<z.ZodString>;
|
|
43
42
|
monitorKind: z.ZodEnum<{
|
|
44
|
-
reviewDue: "reviewDue";
|
|
45
43
|
photoDnaContract: "photoDnaContract";
|
|
46
44
|
actualKnowledgeUnreported: "actualKnowledgeUnreported";
|
|
47
45
|
ncmecRetry: "ncmecRetry";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monitors.d.ts","sourceRoot":"","sources":["../../../src/doc-schemas/safety/monitors.ts"],"names":[],"mappings":"AA4BA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB;;;;;yCAKyC;AACzC,eAAO,MAAM,0BAA0B
|
|
1
|
+
{"version":3,"file":"monitors.d.ts","sourceRoot":"","sources":["../../../src/doc-schemas/safety/monitors.ts"],"names":[],"mappings":"AA4BA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AASxB;;;;;yCAKyC;AACzC,eAAO,MAAM,0BAA0B;;;;;;;;EAQrC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E;2BAC2B;AAC3B,eAAO,MAAM,2BAA2B;;;EAAqC,CAAC;AAC9E,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,gCAAgC;AAChC,eAAO,MAAM,4BAA4B;;;;EAA2C,CAAC;AACrF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF;;;;;yEAKyE;AACzE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAc1B,CAAC;AACZ,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAU1E,eAAO,MAAM,8BAA8B;;;;kBAIhC,CAAC;AACZ,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC"}
|
|
@@ -39,7 +39,6 @@ import { z } from 'zod';
|
|
|
39
39
|
* headline clock. Clocks + the urgent tab attach ONLY to PhotoDNA-hash detections
|
|
40
40
|
* and cases reported as CSAM or NCII. */
|
|
41
41
|
export const SafetySlaMonitorKindSchema = z.enum([
|
|
42
|
-
'reviewDue',
|
|
43
42
|
'photoDnaContract',
|
|
44
43
|
'actualKnowledgeUnreported',
|
|
45
44
|
'ncmecRetry',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monitors.js","sourceRoot":"","sources":["../../../src/doc-schemas/safety/monitors.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,0DAA0D;AAC1D,EAAE;AACF,kFAAkF;AAClF,uFAAuF;AACvF,0DAA0D;AAC1D,+EAA+E;AAC/E,6EAA6E;AAC7E,iFAAiF;AACjF,gFAAgF;AAChF,iDAAiD;AACjD,EAAE;AACF,+EAA+E;AAC/E,oFAAoF;AACpF,4EAA4E;AAC5E,mCAAmC;AACnC,kEAAkE;AAClE,EAAE;AACF,6EAA6E;AAC7E,iDAAiD;AACjD,EAAE;AACF,wEAAwE;AACxE,uEAAuE;AACvE,gFAAgF;AAChF,+EAA+E;AAC/E,kFAAkF;AAClF,qBAAqB;AAErB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,8EAA8E;AAC9E,iDAAiD;AACjD,yFAAyF;AACzF,4EAA4E;AAC5E,mCAAmC;AACnC,8EAA8E;AAE9E;;;;;yCAKyC;AACzC,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,IAAI,CAAC;IAC/C,
|
|
1
|
+
{"version":3,"file":"monitors.js","sourceRoot":"","sources":["../../../src/doc-schemas/safety/monitors.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,0DAA0D;AAC1D,EAAE;AACF,kFAAkF;AAClF,uFAAuF;AACvF,0DAA0D;AAC1D,+EAA+E;AAC/E,6EAA6E;AAC7E,iFAAiF;AACjF,gFAAgF;AAChF,iDAAiD;AACjD,EAAE;AACF,+EAA+E;AAC/E,oFAAoF;AACpF,4EAA4E;AAC5E,mCAAmC;AACnC,kEAAkE;AAClE,EAAE;AACF,6EAA6E;AAC7E,iDAAiD;AACjD,EAAE;AACF,wEAAwE;AACxE,uEAAuE;AACvE,gFAAgF;AAChF,+EAA+E;AAC/E,kFAAkF;AAClF,qBAAqB;AAErB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,8EAA8E;AAC9E,iDAAiD;AACjD,yFAAyF;AACzF,4EAA4E;AAC5E,mCAAmC;AACnC,8EAA8E;AAE9E;;;;;yCAKyC;AACzC,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,IAAI,CAAC;IAC/C,kBAAkB;IAClB,2BAA2B;IAC3B,YAAY;IACZ,iBAAiB;IACjB,eAAe;IACf,sBAAsB;IACtB,qBAAqB;CACtB,CAAC,CAAC;AAGH;2BAC2B;AAC3B,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC;AAG9E,gCAAgC;AAChC,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;AAGrF;;;;;yEAKyE;AACzE,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACpC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,mDAAmD;IAC5F,WAAW,EAAE,0BAA0B;IACvC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE;IAC3B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,YAAY,EAAE,2BAA2B,CAAC,QAAQ,EAAE,EAAE,gCAAgC;IACtF,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,gFAAgF;IACjI,MAAM,EAAE,4BAA4B;IACpC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACvC,CAAC,CAAC,MAAM,EAAE,CAAC;AAGZ,8EAA8E;AAC9E,0EAA0E;AAC1E,qEAAqE;AACrE,kFAAkF;AAClF,gFAAgF;AAChF,oCAAoC;AACpC,8EAA8E;AAE9E,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IACrD,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE;CAC/B,CAAC,CAAC,MAAM,EAAE,CAAC","sourcesContent":["// Trust & Safety — per-obligation SLA monitors + the global dead-man heartbeat\n// (Appendix A §A8, Finding-M1 / Finding-H4 / Finding-H2).\n//\n// One monitor ROW per distinct obligation (the single `safetySlaMonitor/{caseId}`\n// is removed). Most rows are case-scoped — `safetySlaMonitors/{caseId}__{monitorKind}`\n// — but the NCII removal deadline is REQUEST-scoped [H4]:\n// `safetySlaMonitors/{requestId}__nciiRemovalDeadline`, because each statutory\n// request owns its own 48h obligation and a monitor can never be resolved by\n// finishing a DIFFERENT linked request. ONE schema covers both shapes (`caseId?`\n// and `requestId?` both optional). Arming or resolving one row MUST NOT read or\n// write another row (no cross-monitor coupling).\n//\n// Every shape here is transcribed verbatim from the frozen Trust & Safety spec\n// (Appendix A §A8) — no invented values, no placeholders; the durable design owners\n// are ttt-prod docs/design/csam-detection-and-response.md and (for the [H4]\n// request-scoped removal deadline)\n// docs/design/nonconsensual-intimate-imagery-and-take-it-down.md.\n//\n// No cross-cluster foundation enums are consumed here; the monitor enums are\n// §A8-specific value sets and live in this file.\n//\n// Collection note: this cluster introduces ONE NEW Firestore collection\n// (`safetySlaMonitors`, two doc-id shapes) plus ONE singleton document\n// (`safetyMonitorHeartbeat/global`). Wiring collections.ts / path-builders.ts /\n// registry.ts is deferred to the app leg (the orchestrator binds the schemas +\n// path builders there); the composite + singleton doc-id shapes are documented on\n// each schema below.\n\nimport { z } from 'zod';\n\n// ===========================================================================\n// A8 — safetySlaMonitors/{caseId}__{monitorKind}\n// AND the request-scoped variant safetySlaMonitors/{requestId}__nciiRemovalDeadline\n// One row per distinct obligation. Each fires the external (Sentry / Cloud-\n// Monitoring) alarm independently.\n// ===========================================================================\n\n/** The distinct obligation kinds. The two FIXED (non-operator-configurable)\n * headline urgent-tab countdowns are `photoDnaContract` (the CSAM 72h match-\n * reporting clock) and `nciiRemovalDeadline` (the NCII 48h statutory removal\n * clock). The rest are internal operational alarms on a CSAM/NCII case, never the\n * headline clock. Clocks + the urgent tab attach ONLY to PhotoDNA-hash detections\n * and cases reported as CSAM or NCII. */\nexport const SafetySlaMonitorKindSchema = z.enum([\n 'photoDnaContract',\n 'actualKnowledgeUnreported',\n 'ncmecRetry',\n 'quarantineStall',\n 'evidenceStall',\n 'accountActionPending',\n 'nciiRemovalDeadline',\n]);\nexport type SafetySlaMonitorKind = z.infer<typeof SafetySlaMonitorKindSchema>;\n\n/** [H2] nciiRemovalDeadline only: `provisional` on first facial-completeness,\n * `binding` once valid. */\nexport const SafetySlaMonitorStageSchema = z.enum(['provisional', 'binding']);\nexport type SafetySlaMonitorStage = z.infer<typeof SafetySlaMonitorStageSchema>;\n\n/** Monitor lifecycle status. */\nexport const SafetySlaMonitorStatusSchema = z.enum(['armed', 'overdue', 'resolved']);\nexport type SafetySlaMonitorStatus = z.infer<typeof SafetySlaMonitorStatusSchema>;\n\n/** `safetySlaMonitors/{caseId}__{monitorKind}` — per-obligation SLA monitor.\n * The `nciiRemovalDeadline` row is REQUEST-scoped [H4]: its doc id is the\n * composite `{requestId}__nciiRemovalDeadline` and it carries `requestId` (not\n * `caseId`). ONE schema covers both shapes — `caseId?` and `requestId?` are both\n * optional. The case `nciiCases/{caseId}.nciiRemovalDeadlineAt` is a\n * NON-authoritative projection of the minimum active request monitor. */\nexport const SafetySlaMonitorV1Schema = z.object({\n schemaVersion: z.literal(1),\n caseId: z.string().min(1).optional(),\n requestId: z.string().min(1).optional(), // nciiRemovalDeadline rows are request-scoped [H4]\n monitorKind: SafetySlaMonitorKindSchema,\n armedAt: z.number(),\n deadlineAt: z.number(),\n escalationLevel: z.number(),\n lastFiredAt: z.number().optional(),\n monitorStage: SafetySlaMonitorStageSchema.optional(), // [H2] nciiRemovalDeadline only\n basisSubmissionId: z.string().min(1).optional(), // [H2] the immutable TakeItDownSubmissionV1 whose receivedAt pins this deadline\n status: SafetySlaMonitorStatusSchema,\n resolvedAt: z.number().optional(),\n resolutionBasis: z.string().optional(),\n}).strict();\nexport type SafetySlaMonitorV1 = z.infer<typeof SafetySlaMonitorV1Schema>;\n\n// ===========================================================================\n// A8 — safetyMonitorHeartbeat/global (global dead-man monitor; SINGLETON)\n// The scheduled monitor sweep stamps `lastRunAt`; a missed heartbeat\n// (now − lastRunAt > expectedIntervalMs) self-alarms out-of-band. Removes the old\n// per-case `heartbeatAt` — the heartbeat is GLOBAL, not per-case. Doc id is the\n// fixed singleton literal `global`.\n// ===========================================================================\n\nexport const SafetyMonitorHeartbeatV1Schema = z.object({\n schemaVersion: z.literal(1),\n lastRunAt: z.number(),\n expectedIntervalMs: z.number(),\n}).strict();\nexport type SafetyMonitorHeartbeatV1 = z.infer<typeof SafetyMonitorHeartbeatV1Schema>;\n"]}
|
package/dist/schemas/safety.d.ts
CHANGED
|
@@ -169,7 +169,6 @@ export declare const ChildSafetyCaseConsoleRowSchema: z.ZodObject<{
|
|
|
169
169
|
notRequired: "notRequired";
|
|
170
170
|
correctedNoApparentViolation: "correctedNoApparentViolation";
|
|
171
171
|
}>;
|
|
172
|
-
reviewDueAt: z.ZodNumber;
|
|
173
172
|
actualKnowledgeAt: z.ZodOptional<z.ZodNumber>;
|
|
174
173
|
reportState: z.ZodOptional<z.ZodEnum<{
|
|
175
174
|
completed: "completed";
|
|
@@ -190,7 +189,6 @@ export declare const ChildSafetyCaseConsoleRowSchema: z.ZodObject<{
|
|
|
190
189
|
caseId: z.ZodOptional<z.ZodString>;
|
|
191
190
|
requestId: z.ZodOptional<z.ZodString>;
|
|
192
191
|
monitorKind: z.ZodEnum<{
|
|
193
|
-
reviewDue: "reviewDue";
|
|
194
192
|
photoDnaContract: "photoDnaContract";
|
|
195
193
|
actualKnowledgeUnreported: "actualKnowledgeUnreported";
|
|
196
194
|
ncmecRetry: "ncmecRetry";
|
|
@@ -396,7 +394,6 @@ export declare const NciiCaseConsoleRowSchema: z.ZodObject<{
|
|
|
396
394
|
caseId: z.ZodOptional<z.ZodString>;
|
|
397
395
|
requestId: z.ZodOptional<z.ZodString>;
|
|
398
396
|
monitorKind: z.ZodEnum<{
|
|
399
|
-
reviewDue: "reviewDue";
|
|
400
397
|
photoDnaContract: "photoDnaContract";
|
|
401
398
|
actualKnowledgeUnreported: "actualKnowledgeUnreported";
|
|
402
399
|
ncmecRetry: "ncmecRetry";
|
|
@@ -491,7 +488,6 @@ export declare const TakeItDownRequestConsoleRowSchema: z.ZodObject<{
|
|
|
491
488
|
caseId: z.ZodOptional<z.ZodString>;
|
|
492
489
|
requestId: z.ZodOptional<z.ZodString>;
|
|
493
490
|
monitorKind: z.ZodEnum<{
|
|
494
|
-
reviewDue: "reviewDue";
|
|
495
491
|
photoDnaContract: "photoDnaContract";
|
|
496
492
|
actualKnowledgeUnreported: "actualKnowledgeUnreported";
|
|
497
493
|
ncmecRetry: "ncmecRetry";
|
|
@@ -541,7 +537,6 @@ export declare const SafetyCaseConsoleUrgentEntrySchema: z.ZodObject<{
|
|
|
541
537
|
caseId: z.ZodOptional<z.ZodString>;
|
|
542
538
|
requestId: z.ZodOptional<z.ZodString>;
|
|
543
539
|
monitorKind: z.ZodEnum<{
|
|
544
|
-
reviewDue: "reviewDue";
|
|
545
540
|
photoDnaContract: "photoDnaContract";
|
|
546
541
|
actualKnowledgeUnreported: "actualKnowledgeUnreported";
|
|
547
542
|
ncmecRetry: "ncmecRetry";
|
|
@@ -630,7 +625,6 @@ export declare const GetSafetyCaseConsoleResultSchema: z.ZodObject<{
|
|
|
630
625
|
notRequired: "notRequired";
|
|
631
626
|
correctedNoApparentViolation: "correctedNoApparentViolation";
|
|
632
627
|
}>;
|
|
633
|
-
reviewDueAt: z.ZodNumber;
|
|
634
628
|
actualKnowledgeAt: z.ZodOptional<z.ZodNumber>;
|
|
635
629
|
reportState: z.ZodOptional<z.ZodEnum<{
|
|
636
630
|
completed: "completed";
|
|
@@ -651,7 +645,6 @@ export declare const GetSafetyCaseConsoleResultSchema: z.ZodObject<{
|
|
|
651
645
|
caseId: z.ZodOptional<z.ZodString>;
|
|
652
646
|
requestId: z.ZodOptional<z.ZodString>;
|
|
653
647
|
monitorKind: z.ZodEnum<{
|
|
654
|
-
reviewDue: "reviewDue";
|
|
655
648
|
photoDnaContract: "photoDnaContract";
|
|
656
649
|
actualKnowledgeUnreported: "actualKnowledgeUnreported";
|
|
657
650
|
ncmecRetry: "ncmecRetry";
|
|
@@ -855,7 +848,6 @@ export declare const GetSafetyCaseConsoleResultSchema: z.ZodObject<{
|
|
|
855
848
|
caseId: z.ZodOptional<z.ZodString>;
|
|
856
849
|
requestId: z.ZodOptional<z.ZodString>;
|
|
857
850
|
monitorKind: z.ZodEnum<{
|
|
858
|
-
reviewDue: "reviewDue";
|
|
859
851
|
photoDnaContract: "photoDnaContract";
|
|
860
852
|
actualKnowledgeUnreported: "actualKnowledgeUnreported";
|
|
861
853
|
ncmecRetry: "ncmecRetry";
|
|
@@ -945,7 +937,6 @@ export declare const GetSafetyCaseConsoleResultSchema: z.ZodObject<{
|
|
|
945
937
|
caseId: z.ZodOptional<z.ZodString>;
|
|
946
938
|
requestId: z.ZodOptional<z.ZodString>;
|
|
947
939
|
monitorKind: z.ZodEnum<{
|
|
948
|
-
reviewDue: "reviewDue";
|
|
949
940
|
photoDnaContract: "photoDnaContract";
|
|
950
941
|
actualKnowledgeUnreported: "actualKnowledgeUnreported";
|
|
951
942
|
ncmecRetry: "ncmecRetry";
|
|
@@ -1009,7 +1000,6 @@ export declare const GetSafetyCaseConsoleResultSchema: z.ZodObject<{
|
|
|
1009
1000
|
caseId: z.ZodOptional<z.ZodString>;
|
|
1010
1001
|
requestId: z.ZodOptional<z.ZodString>;
|
|
1011
1002
|
monitorKind: z.ZodEnum<{
|
|
1012
|
-
reviewDue: "reviewDue";
|
|
1013
1003
|
photoDnaContract: "photoDnaContract";
|
|
1014
1004
|
actualKnowledgeUnreported: "actualKnowledgeUnreported";
|
|
1015
1005
|
ncmecRetry: "ncmecRetry";
|
|
@@ -1105,7 +1095,6 @@ export declare const SafetyCaseConsoleRowChangeSchema: z.ZodDiscriminatedUnion<[
|
|
|
1105
1095
|
notRequired: "notRequired";
|
|
1106
1096
|
correctedNoApparentViolation: "correctedNoApparentViolation";
|
|
1107
1097
|
}>;
|
|
1108
|
-
reviewDueAt: z.ZodNumber;
|
|
1109
1098
|
actualKnowledgeAt: z.ZodOptional<z.ZodNumber>;
|
|
1110
1099
|
reportState: z.ZodOptional<z.ZodEnum<{
|
|
1111
1100
|
completed: "completed";
|
|
@@ -1126,7 +1115,6 @@ export declare const SafetyCaseConsoleRowChangeSchema: z.ZodDiscriminatedUnion<[
|
|
|
1126
1115
|
caseId: z.ZodOptional<z.ZodString>;
|
|
1127
1116
|
requestId: z.ZodOptional<z.ZodString>;
|
|
1128
1117
|
monitorKind: z.ZodEnum<{
|
|
1129
|
-
reviewDue: "reviewDue";
|
|
1130
1118
|
photoDnaContract: "photoDnaContract";
|
|
1131
1119
|
actualKnowledgeUnreported: "actualKnowledgeUnreported";
|
|
1132
1120
|
ncmecRetry: "ncmecRetry";
|
|
@@ -1333,7 +1321,6 @@ export declare const SafetyCaseConsoleRowChangeSchema: z.ZodDiscriminatedUnion<[
|
|
|
1333
1321
|
caseId: z.ZodOptional<z.ZodString>;
|
|
1334
1322
|
requestId: z.ZodOptional<z.ZodString>;
|
|
1335
1323
|
monitorKind: z.ZodEnum<{
|
|
1336
|
-
reviewDue: "reviewDue";
|
|
1337
1324
|
photoDnaContract: "photoDnaContract";
|
|
1338
1325
|
actualKnowledgeUnreported: "actualKnowledgeUnreported";
|
|
1339
1326
|
ncmecRetry: "ncmecRetry";
|
|
@@ -1426,7 +1413,6 @@ export declare const SafetyCaseConsoleRowChangeSchema: z.ZodDiscriminatedUnion<[
|
|
|
1426
1413
|
caseId: z.ZodOptional<z.ZodString>;
|
|
1427
1414
|
requestId: z.ZodOptional<z.ZodString>;
|
|
1428
1415
|
monitorKind: z.ZodEnum<{
|
|
1429
|
-
reviewDue: "reviewDue";
|
|
1430
1416
|
photoDnaContract: "photoDnaContract";
|
|
1431
1417
|
actualKnowledgeUnreported: "actualKnowledgeUnreported";
|
|
1432
1418
|
ncmecRetry: "ncmecRetry";
|
|
@@ -1522,7 +1508,6 @@ export declare const SafetyCaseConsolePatchSchema: z.ZodObject<{
|
|
|
1522
1508
|
notRequired: "notRequired";
|
|
1523
1509
|
correctedNoApparentViolation: "correctedNoApparentViolation";
|
|
1524
1510
|
}>;
|
|
1525
|
-
reviewDueAt: z.ZodNumber;
|
|
1526
1511
|
actualKnowledgeAt: z.ZodOptional<z.ZodNumber>;
|
|
1527
1512
|
reportState: z.ZodOptional<z.ZodEnum<{
|
|
1528
1513
|
completed: "completed";
|
|
@@ -1543,7 +1528,6 @@ export declare const SafetyCaseConsolePatchSchema: z.ZodObject<{
|
|
|
1543
1528
|
caseId: z.ZodOptional<z.ZodString>;
|
|
1544
1529
|
requestId: z.ZodOptional<z.ZodString>;
|
|
1545
1530
|
monitorKind: z.ZodEnum<{
|
|
1546
|
-
reviewDue: "reviewDue";
|
|
1547
1531
|
photoDnaContract: "photoDnaContract";
|
|
1548
1532
|
actualKnowledgeUnreported: "actualKnowledgeUnreported";
|
|
1549
1533
|
ncmecRetry: "ncmecRetry";
|
|
@@ -1750,7 +1734,6 @@ export declare const SafetyCaseConsolePatchSchema: z.ZodObject<{
|
|
|
1750
1734
|
caseId: z.ZodOptional<z.ZodString>;
|
|
1751
1735
|
requestId: z.ZodOptional<z.ZodString>;
|
|
1752
1736
|
monitorKind: z.ZodEnum<{
|
|
1753
|
-
reviewDue: "reviewDue";
|
|
1754
1737
|
photoDnaContract: "photoDnaContract";
|
|
1755
1738
|
actualKnowledgeUnreported: "actualKnowledgeUnreported";
|
|
1756
1739
|
ncmecRetry: "ncmecRetry";
|
|
@@ -1843,7 +1826,6 @@ export declare const SafetyCaseConsolePatchSchema: z.ZodObject<{
|
|
|
1843
1826
|
caseId: z.ZodOptional<z.ZodString>;
|
|
1844
1827
|
requestId: z.ZodOptional<z.ZodString>;
|
|
1845
1828
|
monitorKind: z.ZodEnum<{
|
|
1846
|
-
reviewDue: "reviewDue";
|
|
1847
1829
|
photoDnaContract: "photoDnaContract";
|
|
1848
1830
|
actualKnowledgeUnreported: "actualKnowledgeUnreported";
|
|
1849
1831
|
ncmecRetry: "ncmecRetry";
|
|
@@ -1887,7 +1869,6 @@ export declare const SafetyCaseConsolePatchSchema: z.ZodObject<{
|
|
|
1887
1869
|
caseId: z.ZodOptional<z.ZodString>;
|
|
1888
1870
|
requestId: z.ZodOptional<z.ZodString>;
|
|
1889
1871
|
monitorKind: z.ZodEnum<{
|
|
1890
|
-
reviewDue: "reviewDue";
|
|
1891
1872
|
photoDnaContract: "photoDnaContract";
|
|
1892
1873
|
actualKnowledgeUnreported: "actualKnowledgeUnreported";
|
|
1893
1874
|
ncmecRetry: "ncmecRetry";
|
|
@@ -1991,7 +1972,6 @@ export declare const DecideTakeItDownValidityResultSchema: z.ZodObject<{
|
|
|
1991
1972
|
notRequired: "notRequired";
|
|
1992
1973
|
correctedNoApparentViolation: "correctedNoApparentViolation";
|
|
1993
1974
|
}>;
|
|
1994
|
-
reviewDueAt: z.ZodNumber;
|
|
1995
1975
|
actualKnowledgeAt: z.ZodOptional<z.ZodNumber>;
|
|
1996
1976
|
reportState: z.ZodOptional<z.ZodEnum<{
|
|
1997
1977
|
completed: "completed";
|
|
@@ -2012,7 +1992,6 @@ export declare const DecideTakeItDownValidityResultSchema: z.ZodObject<{
|
|
|
2012
1992
|
caseId: z.ZodOptional<z.ZodString>;
|
|
2013
1993
|
requestId: z.ZodOptional<z.ZodString>;
|
|
2014
1994
|
monitorKind: z.ZodEnum<{
|
|
2015
|
-
reviewDue: "reviewDue";
|
|
2016
1995
|
photoDnaContract: "photoDnaContract";
|
|
2017
1996
|
actualKnowledgeUnreported: "actualKnowledgeUnreported";
|
|
2018
1997
|
ncmecRetry: "ncmecRetry";
|
|
@@ -2219,7 +2198,6 @@ export declare const DecideTakeItDownValidityResultSchema: z.ZodObject<{
|
|
|
2219
2198
|
caseId: z.ZodOptional<z.ZodString>;
|
|
2220
2199
|
requestId: z.ZodOptional<z.ZodString>;
|
|
2221
2200
|
monitorKind: z.ZodEnum<{
|
|
2222
|
-
reviewDue: "reviewDue";
|
|
2223
2201
|
photoDnaContract: "photoDnaContract";
|
|
2224
2202
|
actualKnowledgeUnreported: "actualKnowledgeUnreported";
|
|
2225
2203
|
ncmecRetry: "ncmecRetry";
|
|
@@ -2312,7 +2290,6 @@ export declare const DecideTakeItDownValidityResultSchema: z.ZodObject<{
|
|
|
2312
2290
|
caseId: z.ZodOptional<z.ZodString>;
|
|
2313
2291
|
requestId: z.ZodOptional<z.ZodString>;
|
|
2314
2292
|
monitorKind: z.ZodEnum<{
|
|
2315
|
-
reviewDue: "reviewDue";
|
|
2316
2293
|
photoDnaContract: "photoDnaContract";
|
|
2317
2294
|
actualKnowledgeUnreported: "actualKnowledgeUnreported";
|
|
2318
2295
|
ncmecRetry: "ncmecRetry";
|
|
@@ -2356,7 +2333,6 @@ export declare const DecideTakeItDownValidityResultSchema: z.ZodObject<{
|
|
|
2356
2333
|
caseId: z.ZodOptional<z.ZodString>;
|
|
2357
2334
|
requestId: z.ZodOptional<z.ZodString>;
|
|
2358
2335
|
monitorKind: z.ZodEnum<{
|
|
2359
|
-
reviewDue: "reviewDue";
|
|
2360
2336
|
photoDnaContract: "photoDnaContract";
|
|
2361
2337
|
actualKnowledgeUnreported: "actualKnowledgeUnreported";
|
|
2362
2338
|
ncmecRetry: "ncmecRetry";
|
|
@@ -2467,7 +2443,6 @@ export declare const SetNciiMinorAssessmentResultSchema: z.ZodObject<{
|
|
|
2467
2443
|
notRequired: "notRequired";
|
|
2468
2444
|
correctedNoApparentViolation: "correctedNoApparentViolation";
|
|
2469
2445
|
}>;
|
|
2470
|
-
reviewDueAt: z.ZodNumber;
|
|
2471
2446
|
actualKnowledgeAt: z.ZodOptional<z.ZodNumber>;
|
|
2472
2447
|
reportState: z.ZodOptional<z.ZodEnum<{
|
|
2473
2448
|
completed: "completed";
|
|
@@ -2488,7 +2463,6 @@ export declare const SetNciiMinorAssessmentResultSchema: z.ZodObject<{
|
|
|
2488
2463
|
caseId: z.ZodOptional<z.ZodString>;
|
|
2489
2464
|
requestId: z.ZodOptional<z.ZodString>;
|
|
2490
2465
|
monitorKind: z.ZodEnum<{
|
|
2491
|
-
reviewDue: "reviewDue";
|
|
2492
2466
|
photoDnaContract: "photoDnaContract";
|
|
2493
2467
|
actualKnowledgeUnreported: "actualKnowledgeUnreported";
|
|
2494
2468
|
ncmecRetry: "ncmecRetry";
|
|
@@ -2695,7 +2669,6 @@ export declare const SetNciiMinorAssessmentResultSchema: z.ZodObject<{
|
|
|
2695
2669
|
caseId: z.ZodOptional<z.ZodString>;
|
|
2696
2670
|
requestId: z.ZodOptional<z.ZodString>;
|
|
2697
2671
|
monitorKind: z.ZodEnum<{
|
|
2698
|
-
reviewDue: "reviewDue";
|
|
2699
2672
|
photoDnaContract: "photoDnaContract";
|
|
2700
2673
|
actualKnowledgeUnreported: "actualKnowledgeUnreported";
|
|
2701
2674
|
ncmecRetry: "ncmecRetry";
|
|
@@ -2788,7 +2761,6 @@ export declare const SetNciiMinorAssessmentResultSchema: z.ZodObject<{
|
|
|
2788
2761
|
caseId: z.ZodOptional<z.ZodString>;
|
|
2789
2762
|
requestId: z.ZodOptional<z.ZodString>;
|
|
2790
2763
|
monitorKind: z.ZodEnum<{
|
|
2791
|
-
reviewDue: "reviewDue";
|
|
2792
2764
|
photoDnaContract: "photoDnaContract";
|
|
2793
2765
|
actualKnowledgeUnreported: "actualKnowledgeUnreported";
|
|
2794
2766
|
ncmecRetry: "ncmecRetry";
|
|
@@ -2832,7 +2804,6 @@ export declare const SetNciiMinorAssessmentResultSchema: z.ZodObject<{
|
|
|
2832
2804
|
caseId: z.ZodOptional<z.ZodString>;
|
|
2833
2805
|
requestId: z.ZodOptional<z.ZodString>;
|
|
2834
2806
|
monitorKind: z.ZodEnum<{
|
|
2835
|
-
reviewDue: "reviewDue";
|
|
2836
2807
|
photoDnaContract: "photoDnaContract";
|
|
2837
2808
|
actualKnowledgeUnreported: "actualKnowledgeUnreported";
|
|
2838
2809
|
ncmecRetry: "ncmecRetry";
|
|
@@ -2930,7 +2901,6 @@ export declare const RefetchProtectedCaseContextResultSchema: z.ZodObject<{
|
|
|
2930
2901
|
notRequired: "notRequired";
|
|
2931
2902
|
correctedNoApparentViolation: "correctedNoApparentViolation";
|
|
2932
2903
|
}>;
|
|
2933
|
-
reviewDueAt: z.ZodNumber;
|
|
2934
2904
|
actualKnowledgeAt: z.ZodOptional<z.ZodNumber>;
|
|
2935
2905
|
reportState: z.ZodOptional<z.ZodEnum<{
|
|
2936
2906
|
completed: "completed";
|
|
@@ -2951,7 +2921,6 @@ export declare const RefetchProtectedCaseContextResultSchema: z.ZodObject<{
|
|
|
2951
2921
|
caseId: z.ZodOptional<z.ZodString>;
|
|
2952
2922
|
requestId: z.ZodOptional<z.ZodString>;
|
|
2953
2923
|
monitorKind: z.ZodEnum<{
|
|
2954
|
-
reviewDue: "reviewDue";
|
|
2955
2924
|
photoDnaContract: "photoDnaContract";
|
|
2956
2925
|
actualKnowledgeUnreported: "actualKnowledgeUnreported";
|
|
2957
2926
|
ncmecRetry: "ncmecRetry";
|
|
@@ -3158,7 +3127,6 @@ export declare const RefetchProtectedCaseContextResultSchema: z.ZodObject<{
|
|
|
3158
3127
|
caseId: z.ZodOptional<z.ZodString>;
|
|
3159
3128
|
requestId: z.ZodOptional<z.ZodString>;
|
|
3160
3129
|
monitorKind: z.ZodEnum<{
|
|
3161
|
-
reviewDue: "reviewDue";
|
|
3162
3130
|
photoDnaContract: "photoDnaContract";
|
|
3163
3131
|
actualKnowledgeUnreported: "actualKnowledgeUnreported";
|
|
3164
3132
|
ncmecRetry: "ncmecRetry";
|
|
@@ -3251,7 +3219,6 @@ export declare const RefetchProtectedCaseContextResultSchema: z.ZodObject<{
|
|
|
3251
3219
|
caseId: z.ZodOptional<z.ZodString>;
|
|
3252
3220
|
requestId: z.ZodOptional<z.ZodString>;
|
|
3253
3221
|
monitorKind: z.ZodEnum<{
|
|
3254
|
-
reviewDue: "reviewDue";
|
|
3255
3222
|
photoDnaContract: "photoDnaContract";
|
|
3256
3223
|
actualKnowledgeUnreported: "actualKnowledgeUnreported";
|
|
3257
3224
|
ncmecRetry: "ncmecRetry";
|
|
@@ -3295,7 +3262,6 @@ export declare const RefetchProtectedCaseContextResultSchema: z.ZodObject<{
|
|
|
3295
3262
|
caseId: z.ZodOptional<z.ZodString>;
|
|
3296
3263
|
requestId: z.ZodOptional<z.ZodString>;
|
|
3297
3264
|
monitorKind: z.ZodEnum<{
|
|
3298
|
-
reviewDue: "reviewDue";
|
|
3299
3265
|
photoDnaContract: "photoDnaContract";
|
|
3300
3266
|
actualKnowledgeUnreported: "actualKnowledgeUnreported";
|
|
3301
3267
|
ncmecRetry: "ncmecRetry";
|
|
@@ -3393,7 +3359,6 @@ export declare const MarkNcmecPortalCompleteResultSchema: z.ZodObject<{
|
|
|
3393
3359
|
notRequired: "notRequired";
|
|
3394
3360
|
correctedNoApparentViolation: "correctedNoApparentViolation";
|
|
3395
3361
|
}>;
|
|
3396
|
-
reviewDueAt: z.ZodNumber;
|
|
3397
3362
|
actualKnowledgeAt: z.ZodOptional<z.ZodNumber>;
|
|
3398
3363
|
reportState: z.ZodOptional<z.ZodEnum<{
|
|
3399
3364
|
completed: "completed";
|
|
@@ -3414,7 +3379,6 @@ export declare const MarkNcmecPortalCompleteResultSchema: z.ZodObject<{
|
|
|
3414
3379
|
caseId: z.ZodOptional<z.ZodString>;
|
|
3415
3380
|
requestId: z.ZodOptional<z.ZodString>;
|
|
3416
3381
|
monitorKind: z.ZodEnum<{
|
|
3417
|
-
reviewDue: "reviewDue";
|
|
3418
3382
|
photoDnaContract: "photoDnaContract";
|
|
3419
3383
|
actualKnowledgeUnreported: "actualKnowledgeUnreported";
|
|
3420
3384
|
ncmecRetry: "ncmecRetry";
|
|
@@ -3621,7 +3585,6 @@ export declare const MarkNcmecPortalCompleteResultSchema: z.ZodObject<{
|
|
|
3621
3585
|
caseId: z.ZodOptional<z.ZodString>;
|
|
3622
3586
|
requestId: z.ZodOptional<z.ZodString>;
|
|
3623
3587
|
monitorKind: z.ZodEnum<{
|
|
3624
|
-
reviewDue: "reviewDue";
|
|
3625
3588
|
photoDnaContract: "photoDnaContract";
|
|
3626
3589
|
actualKnowledgeUnreported: "actualKnowledgeUnreported";
|
|
3627
3590
|
ncmecRetry: "ncmecRetry";
|
|
@@ -3714,7 +3677,6 @@ export declare const MarkNcmecPortalCompleteResultSchema: z.ZodObject<{
|
|
|
3714
3677
|
caseId: z.ZodOptional<z.ZodString>;
|
|
3715
3678
|
requestId: z.ZodOptional<z.ZodString>;
|
|
3716
3679
|
monitorKind: z.ZodEnum<{
|
|
3717
|
-
reviewDue: "reviewDue";
|
|
3718
3680
|
photoDnaContract: "photoDnaContract";
|
|
3719
3681
|
actualKnowledgeUnreported: "actualKnowledgeUnreported";
|
|
3720
3682
|
ncmecRetry: "ncmecRetry";
|
|
@@ -3758,7 +3720,6 @@ export declare const MarkNcmecPortalCompleteResultSchema: z.ZodObject<{
|
|
|
3758
3720
|
caseId: z.ZodOptional<z.ZodString>;
|
|
3759
3721
|
requestId: z.ZodOptional<z.ZodString>;
|
|
3760
3722
|
monitorKind: z.ZodEnum<{
|
|
3761
|
-
reviewDue: "reviewDue";
|
|
3762
3723
|
photoDnaContract: "photoDnaContract";
|
|
3763
3724
|
actualKnowledgeUnreported: "actualKnowledgeUnreported";
|
|
3764
3725
|
ncmecRetry: "ncmecRetry";
|
|
@@ -3855,7 +3816,6 @@ export declare const ReopenSafetyCaseResultSchema: z.ZodObject<{
|
|
|
3855
3816
|
notRequired: "notRequired";
|
|
3856
3817
|
correctedNoApparentViolation: "correctedNoApparentViolation";
|
|
3857
3818
|
}>;
|
|
3858
|
-
reviewDueAt: z.ZodNumber;
|
|
3859
3819
|
actualKnowledgeAt: z.ZodOptional<z.ZodNumber>;
|
|
3860
3820
|
reportState: z.ZodOptional<z.ZodEnum<{
|
|
3861
3821
|
completed: "completed";
|
|
@@ -3876,7 +3836,6 @@ export declare const ReopenSafetyCaseResultSchema: z.ZodObject<{
|
|
|
3876
3836
|
caseId: z.ZodOptional<z.ZodString>;
|
|
3877
3837
|
requestId: z.ZodOptional<z.ZodString>;
|
|
3878
3838
|
monitorKind: z.ZodEnum<{
|
|
3879
|
-
reviewDue: "reviewDue";
|
|
3880
3839
|
photoDnaContract: "photoDnaContract";
|
|
3881
3840
|
actualKnowledgeUnreported: "actualKnowledgeUnreported";
|
|
3882
3841
|
ncmecRetry: "ncmecRetry";
|
|
@@ -4083,7 +4042,6 @@ export declare const ReopenSafetyCaseResultSchema: z.ZodObject<{
|
|
|
4083
4042
|
caseId: z.ZodOptional<z.ZodString>;
|
|
4084
4043
|
requestId: z.ZodOptional<z.ZodString>;
|
|
4085
4044
|
monitorKind: z.ZodEnum<{
|
|
4086
|
-
reviewDue: "reviewDue";
|
|
4087
4045
|
photoDnaContract: "photoDnaContract";
|
|
4088
4046
|
actualKnowledgeUnreported: "actualKnowledgeUnreported";
|
|
4089
4047
|
ncmecRetry: "ncmecRetry";
|
|
@@ -4176,7 +4134,6 @@ export declare const ReopenSafetyCaseResultSchema: z.ZodObject<{
|
|
|
4176
4134
|
caseId: z.ZodOptional<z.ZodString>;
|
|
4177
4135
|
requestId: z.ZodOptional<z.ZodString>;
|
|
4178
4136
|
monitorKind: z.ZodEnum<{
|
|
4179
|
-
reviewDue: "reviewDue";
|
|
4180
4137
|
photoDnaContract: "photoDnaContract";
|
|
4181
4138
|
actualKnowledgeUnreported: "actualKnowledgeUnreported";
|
|
4182
4139
|
ncmecRetry: "ncmecRetry";
|
|
@@ -4220,7 +4177,6 @@ export declare const ReopenSafetyCaseResultSchema: z.ZodObject<{
|
|
|
4220
4177
|
caseId: z.ZodOptional<z.ZodString>;
|
|
4221
4178
|
requestId: z.ZodOptional<z.ZodString>;
|
|
4222
4179
|
monitorKind: z.ZodEnum<{
|
|
4223
|
-
reviewDue: "reviewDue";
|
|
4224
4180
|
photoDnaContract: "photoDnaContract";
|
|
4225
4181
|
actualKnowledgeUnreported: "actualKnowledgeUnreported";
|
|
4226
4182
|
ncmecRetry: "ncmecRetry";
|
|
@@ -4328,7 +4284,6 @@ export declare const AdminReplayDeadLetterResultSchema: z.ZodDiscriminatedUnion<
|
|
|
4328
4284
|
notRequired: "notRequired";
|
|
4329
4285
|
correctedNoApparentViolation: "correctedNoApparentViolation";
|
|
4330
4286
|
}>;
|
|
4331
|
-
reviewDueAt: z.ZodNumber;
|
|
4332
4287
|
actualKnowledgeAt: z.ZodOptional<z.ZodNumber>;
|
|
4333
4288
|
reportState: z.ZodOptional<z.ZodEnum<{
|
|
4334
4289
|
completed: "completed";
|
|
@@ -4349,7 +4304,6 @@ export declare const AdminReplayDeadLetterResultSchema: z.ZodDiscriminatedUnion<
|
|
|
4349
4304
|
caseId: z.ZodOptional<z.ZodString>;
|
|
4350
4305
|
requestId: z.ZodOptional<z.ZodString>;
|
|
4351
4306
|
monitorKind: z.ZodEnum<{
|
|
4352
|
-
reviewDue: "reviewDue";
|
|
4353
4307
|
photoDnaContract: "photoDnaContract";
|
|
4354
4308
|
actualKnowledgeUnreported: "actualKnowledgeUnreported";
|
|
4355
4309
|
ncmecRetry: "ncmecRetry";
|
|
@@ -4556,7 +4510,6 @@ export declare const AdminReplayDeadLetterResultSchema: z.ZodDiscriminatedUnion<
|
|
|
4556
4510
|
caseId: z.ZodOptional<z.ZodString>;
|
|
4557
4511
|
requestId: z.ZodOptional<z.ZodString>;
|
|
4558
4512
|
monitorKind: z.ZodEnum<{
|
|
4559
|
-
reviewDue: "reviewDue";
|
|
4560
4513
|
photoDnaContract: "photoDnaContract";
|
|
4561
4514
|
actualKnowledgeUnreported: "actualKnowledgeUnreported";
|
|
4562
4515
|
ncmecRetry: "ncmecRetry";
|
|
@@ -4649,7 +4602,6 @@ export declare const AdminReplayDeadLetterResultSchema: z.ZodDiscriminatedUnion<
|
|
|
4649
4602
|
caseId: z.ZodOptional<z.ZodString>;
|
|
4650
4603
|
requestId: z.ZodOptional<z.ZodString>;
|
|
4651
4604
|
monitorKind: z.ZodEnum<{
|
|
4652
|
-
reviewDue: "reviewDue";
|
|
4653
4605
|
photoDnaContract: "photoDnaContract";
|
|
4654
4606
|
actualKnowledgeUnreported: "actualKnowledgeUnreported";
|
|
4655
4607
|
ncmecRetry: "ncmecRetry";
|
|
@@ -4693,7 +4645,6 @@ export declare const AdminReplayDeadLetterResultSchema: z.ZodDiscriminatedUnion<
|
|
|
4693
4645
|
caseId: z.ZodOptional<z.ZodString>;
|
|
4694
4646
|
requestId: z.ZodOptional<z.ZodString>;
|
|
4695
4647
|
monitorKind: z.ZodEnum<{
|
|
4696
|
-
reviewDue: "reviewDue";
|
|
4697
4648
|
photoDnaContract: "photoDnaContract";
|
|
4698
4649
|
actualKnowledgeUnreported: "actualKnowledgeUnreported";
|
|
4699
4650
|
ncmecRetry: "ncmecRetry";
|
|
@@ -4806,7 +4757,6 @@ export declare const AdminReplayDeadLetterResultSchema: z.ZodDiscriminatedUnion<
|
|
|
4806
4757
|
notRequired: "notRequired";
|
|
4807
4758
|
correctedNoApparentViolation: "correctedNoApparentViolation";
|
|
4808
4759
|
}>;
|
|
4809
|
-
reviewDueAt: z.ZodNumber;
|
|
4810
4760
|
actualKnowledgeAt: z.ZodOptional<z.ZodNumber>;
|
|
4811
4761
|
reportState: z.ZodOptional<z.ZodEnum<{
|
|
4812
4762
|
completed: "completed";
|
|
@@ -4827,7 +4777,6 @@ export declare const AdminReplayDeadLetterResultSchema: z.ZodDiscriminatedUnion<
|
|
|
4827
4777
|
caseId: z.ZodOptional<z.ZodString>;
|
|
4828
4778
|
requestId: z.ZodOptional<z.ZodString>;
|
|
4829
4779
|
monitorKind: z.ZodEnum<{
|
|
4830
|
-
reviewDue: "reviewDue";
|
|
4831
4780
|
photoDnaContract: "photoDnaContract";
|
|
4832
4781
|
actualKnowledgeUnreported: "actualKnowledgeUnreported";
|
|
4833
4782
|
ncmecRetry: "ncmecRetry";
|
|
@@ -5034,7 +4983,6 @@ export declare const AdminReplayDeadLetterResultSchema: z.ZodDiscriminatedUnion<
|
|
|
5034
4983
|
caseId: z.ZodOptional<z.ZodString>;
|
|
5035
4984
|
requestId: z.ZodOptional<z.ZodString>;
|
|
5036
4985
|
monitorKind: z.ZodEnum<{
|
|
5037
|
-
reviewDue: "reviewDue";
|
|
5038
4986
|
photoDnaContract: "photoDnaContract";
|
|
5039
4987
|
actualKnowledgeUnreported: "actualKnowledgeUnreported";
|
|
5040
4988
|
ncmecRetry: "ncmecRetry";
|
|
@@ -5127,7 +5075,6 @@ export declare const AdminReplayDeadLetterResultSchema: z.ZodDiscriminatedUnion<
|
|
|
5127
5075
|
caseId: z.ZodOptional<z.ZodString>;
|
|
5128
5076
|
requestId: z.ZodOptional<z.ZodString>;
|
|
5129
5077
|
monitorKind: z.ZodEnum<{
|
|
5130
|
-
reviewDue: "reviewDue";
|
|
5131
5078
|
photoDnaContract: "photoDnaContract";
|
|
5132
5079
|
actualKnowledgeUnreported: "actualKnowledgeUnreported";
|
|
5133
5080
|
ncmecRetry: "ncmecRetry";
|
|
@@ -5171,7 +5118,6 @@ export declare const AdminReplayDeadLetterResultSchema: z.ZodDiscriminatedUnion<
|
|
|
5171
5118
|
caseId: z.ZodOptional<z.ZodString>;
|
|
5172
5119
|
requestId: z.ZodOptional<z.ZodString>;
|
|
5173
5120
|
monitorKind: z.ZodEnum<{
|
|
5174
|
-
reviewDue: "reviewDue";
|
|
5175
5121
|
photoDnaContract: "photoDnaContract";
|
|
5176
5122
|
actualKnowledgeUnreported: "actualKnowledgeUnreported";
|
|
5177
5123
|
ncmecRetry: "ncmecRetry";
|
|
@@ -5453,7 +5399,6 @@ export declare const RetainedChildSafetyCaseRowSchema: z.ZodObject<{
|
|
|
5453
5399
|
notRequired: "notRequired";
|
|
5454
5400
|
correctedNoApparentViolation: "correctedNoApparentViolation";
|
|
5455
5401
|
}>;
|
|
5456
|
-
reviewDueAt: z.ZodNumber;
|
|
5457
5402
|
actualKnowledgeAt: z.ZodOptional<z.ZodNumber>;
|
|
5458
5403
|
reportState: z.ZodOptional<z.ZodEnum<{
|
|
5459
5404
|
completed: "completed";
|
|
@@ -5545,7 +5490,6 @@ export declare const ListRetainedChildSafetyCasesResultSchema: z.ZodObject<{
|
|
|
5545
5490
|
notRequired: "notRequired";
|
|
5546
5491
|
correctedNoApparentViolation: "correctedNoApparentViolation";
|
|
5547
5492
|
}>;
|
|
5548
|
-
reviewDueAt: z.ZodNumber;
|
|
5549
5493
|
actualKnowledgeAt: z.ZodOptional<z.ZodNumber>;
|
|
5550
5494
|
reportState: z.ZodOptional<z.ZodEnum<{
|
|
5551
5495
|
completed: "completed";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safety.d.ts","sourceRoot":"","sources":["../../src/schemas/safety.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"safety.d.ts","sourceRoot":"","sources":["../../src/schemas/safety.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,8 +16,6 @@ export interface OpsSafetyClocks {
|
|
|
16
16
|
activeNciiCases: number;
|
|
17
17
|
/** Open statutory TAKE IT DOWN requests (`takeItDownRequests`). */
|
|
18
18
|
activeTakeItDownRequests: number;
|
|
19
|
-
/** Earliest armed `reviewDue` monitor deadline across all lanes (epoch ms). */
|
|
20
|
-
earliestReviewDueAt?: number;
|
|
21
19
|
/** Earliest armed CSAM `photoDnaContract` (72h match-reporting) deadline (epoch ms). */
|
|
22
20
|
earliestPhotoDnaContractAt?: number;
|
|
23
21
|
/** Earliest armed NCII / TAKE IT DOWN `nciiRemovalDeadline` (48h statutory removal) deadline
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-ops.d.ts","sourceRoot":"","sources":["../../src/types/admin-ops.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAEpE;;;;qBAIqB;AACrB,MAAM,WAAW,eAAe;IAC9B,2FAA2F;IAC3F,aAAa,EAAE,MAAM,CAAC;IACtB,qFAAqF;IACrF,eAAe,EAAE,MAAM,CAAC;IACxB,qCAAqC;IACrC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,uBAAuB;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,mEAAmE;IACnE,wBAAwB,EAAE,MAAM,CAAC;IACjC
|
|
1
|
+
{"version":3,"file":"admin-ops.d.ts","sourceRoot":"","sources":["../../src/types/admin-ops.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAEpE;;;;qBAIqB;AACrB,MAAM,WAAW,eAAe;IAC9B,2FAA2F;IAC3F,aAAa,EAAE,MAAM,CAAC;IACtB,qFAAqF;IACrF,eAAe,EAAE,MAAM,CAAC;IACxB,qCAAqC;IACrC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,uBAAuB;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,mEAAmE;IACnE,wBAAwB,EAAE,MAAM,CAAC;IACjC,wFAAwF;IACxF,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC;sBACkB;IAClB,6BAA6B,CAAC,EAAE,MAAM,CAAC;CACxC;AAED;+FAC+F;AAC/F,MAAM,WAAW,kBAAkB;IACjC,gFAAgF;IAChF,eAAe,EAAE,MAAM,CAAC;IACxB,kEAAkE;IAClE,sBAAsB,EAAE,MAAM,CAAC;IAC/B,kEAAkE;IAClE,kBAAkB,EAAE,MAAM,CAAC;IAC3B,8FAA8F;IAC9F,gBAAgB,EAAE,MAAM,CAAC;IACzB;;;qGAGiG;IACjG,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC;;2FAEuF;IACvF,2BAA2B,CAAC,EAAE,OAAO,CAAC;CACvC;AAED,2EAA2E;AAC3E,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/D;;+FAE2F;IAC3F,UAAU,EAAE;QACV,cAAc,EAAE,MAAM,CAAC;QACvB,8EAA8E;QAC9E,cAAc,EAAE,MAAM,CAAC;QACvB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB;sEAC8D;QAC9D,cAAc,EAAE,MAAM,CAAC;QACvB,qDAAqD;QACrD,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,4CAA4C;IAC5C,cAAc,EAAE,MAAM,CAAC;IACvB,uFAAuF;IACvF,qBAAqB,EAAE,MAAM,CAAC;IAC9B,yEAAyE;IACzE,sBAAsB,EAAE,MAAM,CAAC;IAC/B,sFAAsF;IACtF,MAAM,EAAE,mBAAmB,CAAC;IAC5B;wDACoD;IACpD,YAAY,CAAC,EAAE,eAAe,CAAC;IAC/B,iFAAiF;IACjF,eAAe,CAAC,EAAE,kBAAkB,CAAC;CACtC;AAED;;+CAE+C;AAC/C,MAAM,WAAW,aAAa;IAC5B,+GAA+G;IAC/G,UAAU,EAAE,wBAAwB,CAAC;IACrC,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,oDAAoD;AACpD,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,aAAa,EAAE,CAAC;IACtB,gFAAgF;IAChF,SAAS,EAAE,OAAO,CAAC;CACpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-ops.js","sourceRoot":"","sources":["../../src/types/admin-ops.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,gFAAgF;AAChF,kFAAkF;AAClF,8EAA8E;AAC9E,iFAAiF","sourcesContent":["// Admin ops-dashboard callable return shapes — cross-boundary contracts (backend\n// builds them, frontend renders them), so they live HERE per the Cross-Boundary\n// Type Invariant. Consolidated 2026-07-13 from the former \"intentional LOCAL DTO\"\n// in functions/src/admin/getOpsStatus.ts + its structurally-matching frontend\n// re-declaration (publish-avoidance rationale — auto-reject; ARCH-102 extended).\n\nimport type { PledgePaymentTotals } from './payments.js';\nimport type { FlatDeadLetterCollection } from '../schemas/admin.js';\n\n/** Trust & Safety SLA-clock + active-case snapshot for the Mission Control landing (§A8).\n * Counts are point-in-time; the per-lane earliest-deadline epochs (ms) are handed over raw so\n * the countdown ticks CLIENT-side — the server holds no live timer. All fields optional so an\n * older client still type-checks; the earliest-* epochs are additionally absent when a lane has\n * no armed clock. */\nexport interface OpsSafetyClocks {\n /** `safetySlaMonitors` rows with status == 'armed' (an obligation clock still running). */\n armedMonitors: number;\n /** `safetySlaMonitors` rows with status == 'overdue' (a breached SLA obligation). */\n overdueMonitors: number;\n /** Open CSAM (childSafety) cases. */\n activeChildSafetyCases: number;\n /** Open NCII cases. */\n activeNciiCases: number;\n /** Open statutory TAKE IT DOWN requests (`takeItDownRequests`). */\n activeTakeItDownRequests: number;\n /** Earliest armed
|
|
1
|
+
{"version":3,"file":"admin-ops.js","sourceRoot":"","sources":["../../src/types/admin-ops.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,gFAAgF;AAChF,kFAAkF;AAClF,8EAA8E;AAC9E,iFAAiF","sourcesContent":["// Admin ops-dashboard callable return shapes — cross-boundary contracts (backend\n// builds them, frontend renders them), so they live HERE per the Cross-Boundary\n// Type Invariant. Consolidated 2026-07-13 from the former \"intentional LOCAL DTO\"\n// in functions/src/admin/getOpsStatus.ts + its structurally-matching frontend\n// re-declaration (publish-avoidance rationale — auto-reject; ARCH-102 extended).\n\nimport type { PledgePaymentTotals } from './payments.js';\nimport type { FlatDeadLetterCollection } from '../schemas/admin.js';\n\n/** Trust & Safety SLA-clock + active-case snapshot for the Mission Control landing (§A8).\n * Counts are point-in-time; the per-lane earliest-deadline epochs (ms) are handed over raw so\n * the countdown ticks CLIENT-side — the server holds no live timer. All fields optional so an\n * older client still type-checks; the earliest-* epochs are additionally absent when a lane has\n * no armed clock. */\nexport interface OpsSafetyClocks {\n /** `safetySlaMonitors` rows with status == 'armed' (an obligation clock still running). */\n armedMonitors: number;\n /** `safetySlaMonitors` rows with status == 'overdue' (a breached SLA obligation). */\n overdueMonitors: number;\n /** Open CSAM (childSafety) cases. */\n activeChildSafetyCases: number;\n /** Open NCII cases. */\n activeNciiCases: number;\n /** Open statutory TAKE IT DOWN requests (`takeItDownRequests`). */\n activeTakeItDownRequests: number;\n /** Earliest armed CSAM `photoDnaContract` (72h match-reporting) deadline (epoch ms). */\n earliestPhotoDnaContractAt?: number;\n /** Earliest armed NCII / TAKE IT DOWN `nciiRemovalDeadline` (48h statutory removal) deadline\n * (epoch ms). */\n earliestNciiRemovalDeadlineAt?: number;\n}\n\n/** Backend-machinery health for the Mission Control landing: dead-letter depth, stuck async\n * lanes, failed media, and the global safety-sweep dead-man heartbeat. Numbers/epochs only. */\nexport interface OpsBrokenMachinery {\n /** Total parked dead-letter rows across every ledger (see `getDeadLetters`). */\n deadLetterTotal: number;\n /** Dead-lettered chat-sync fanout jobs (`chatSyncFanoutJobs`). */\n deadLetteredFanoutJobs: number;\n /** Stuck hall-sub-item edge-sync rows (`hallSubItemEdgeSync`). */\n stuckEdgeSyncCount: number;\n /** Uncleared failed pendingMedia (mirrors `media.failed`, surfaced in the machinery lane). */\n failedMediaCount: number;\n /** `safetyMonitorHeartbeat/global.lastRunAt` (epoch ms) of the scheduled monitor sweep.\n * Absent if the heartbeat has never stamped. Display only — do NOT judge staleness from this\n * client-side: use `safetyMonitorHeartbeatStale`, which the backend derives from the SAME\n * threshold its dead-man checker alarms on (ARCH-102: one declaration, enforcement derives). */\n safetyMonitorHeartbeatLastRunAt?: number;\n /** True when the sweep's heartbeat is older than the backend's own dead-man threshold — i.e. the\n * scheduled safety monitors may not be running. Derived server-side so the operator chip and the\n * real alarm can never disagree. Absent when an older backend does not project it. */\n safetyMonitorHeartbeatStale?: boolean;\n}\n\n/** The `getOpsStatus` callable's return shape (read-only ops snapshot). */\nexport interface OpsStatus {\n generatedAt: number;\n /** pendingMedia processing pipeline depth + uncleared failures. */\n media: { pending: number; processing: number; failed: number };\n /** Unclaimed admin work-queue tasks by type — `status == 'pending'`, so a checked-out or\n * work-later task is not counted. `opsAnomalies` is the combined stake-share + pledge-ledger +\n * pledge-payment-repair integrity lane. This is the one count every queue badge reads. */\n adminQueue: {\n libraryReviews: number;\n /** Published-Hall text change requests (`hallContentChangeRequest` tasks). */\n changeRequests: number;\n reports: number;\n appeals: number;\n dispatches: number;\n opsAnomalies: number;\n /** Refund work: supporters' refund requests (`pledgeRefundRequested` tasks) and approved refunds\n * Stripe reported as failed (`pledgeRefundFailed` tasks). */\n refundRequests: number;\n /** Stripe disputes (`pledgeDisputeOpened` tasks). */\n disputes: number;\n };\n /** userProfiles created in the last 24h. */\n signupsLast24h: number;\n /** auditEvents with result == 'failure' in the last 24h (failed sensitive actions). */\n actionFailuresLast24h: number;\n /** auditEvents of type 'payment.pledgePaymentFailed' in the last 24h. */\n paymentFailuresLast24h: number;\n /** All-time pledge totals (live Firestore aggregation over pledgePayments; cents). */\n pledge: PledgePaymentTotals;\n /** Trust & Safety SLA-clock + active-case snapshot (§A8). Additive — an older backend that\n * does not project it omits the block entirely. */\n safetyClocks?: OpsSafetyClocks;\n /** Backend-machinery health snapshot. Additive — omitted by an older backend. */\n brokenMachinery?: OpsBrokenMachinery;\n}\n\n/** One parked row in the `getDeadLetters` operator view — a normalized projection\n * over the heterogeneous ledger shapes (the callable maps each ledger's own\n * status/error/timestamp fields onto this). */\nexport interface DeadLetterRow {\n /** `getDeadLetters` lists flat ledgers only; nested Hall edge-sync rows use their structured replay target. */\n collection: FlatDeadLetterCollection;\n /** Flat document id within `collection`. */\n docId: string;\n deadLetteredAt: number | null;\n lastError: string | null;\n attemptCount: number | null;\n}\n\n/** The `getDeadLetters` callable's return shape. */\nexport interface GetDeadLettersResult {\n generatedAt: number;\n rows: DeadLetterRow[];\n /** True when any ledger hit the row cap — more parked rows exist than shown. */\n truncated: boolean;\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ttt-productions/ttt-core",
|
|
3
|
-
"version": "0.79.
|
|
3
|
+
"version": "0.79.72",
|
|
4
4
|
"description": "Core types, Firestore path constants, and shared constants for TTT Productions",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -118,7 +118,7 @@
|
|
|
118
118
|
"@ttt-productions/edge-protocol-core": "^0.1.12",
|
|
119
119
|
"@ttt-productions/input-format-core": "^0.1.1",
|
|
120
120
|
"@ttt-productions/media-schemas": "^0.14.9",
|
|
121
|
-
"@ttt-productions/notification-core": "^0.15.
|
|
121
|
+
"@ttt-productions/notification-core": "^0.15.12",
|
|
122
122
|
"@ttt-productions/report-core": "^0.16.14",
|
|
123
123
|
"zod": "^4.4.3"
|
|
124
124
|
},
|