@ttt-productions/ttt-core 0.79.89 → 0.79.91
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/constants/admin-claims.d.ts +14 -0
- package/dist/constants/admin-claims.d.ts.map +1 -0
- package/dist/constants/admin-claims.js +14 -0
- package/dist/constants/admin-claims.js.map +1 -0
- package/dist/constants/index.d.ts +1 -0
- package/dist/constants/index.d.ts.map +1 -1
- package/dist/constants/index.js +1 -0
- package/dist/constants/index.js.map +1 -1
- package/dist/doc-schemas/registry.d.ts +9 -13
- package/dist/doc-schemas/registry.d.ts.map +1 -1
- package/dist/doc-schemas/registry.js +30 -39
- package/dist/doc-schemas/registry.js.map +1 -1
- package/dist/media/upload-tray-display.d.ts +2 -0
- package/dist/media/upload-tray-display.d.ts.map +1 -1
- package/dist/media/upload-tray-display.js +5 -0
- package/dist/media/upload-tray-display.js.map +1 -1
- package/dist/paths/collections.d.ts +0 -3
- package/dist/paths/collections.d.ts.map +1 -1
- package/dist/paths/collections.js +2 -10
- package/dist/paths/collections.js.map +1 -1
- package/dist/paths/path-builders.d.ts +0 -2
- package/dist/paths/path-builders.d.ts.map +1 -1
- package/dist/paths/path-builders.js +2 -7
- package/dist/paths/path-builders.js.map +1 -1
- package/dist/schemas/uploads.d.ts.map +1 -1
- package/dist/schemas/uploads.js +2 -1
- package/dist/schemas/uploads.js.map +1 -1
- package/package.json +1 -1
|
@@ -100,7 +100,6 @@ export declare const COLLECTIONS: {
|
|
|
100
100
|
export declare const USER_SUBCOLLECTIONS: {
|
|
101
101
|
readonly PROFILE_CRAFT_SKILLS: "profileCraftSkills";
|
|
102
102
|
readonly PRIVATE_DATA: "privateData";
|
|
103
|
-
readonly USER_METADATA: "userMetadata";
|
|
104
103
|
readonly USER_LIKES: "userLikes";
|
|
105
104
|
readonly MENTION_HISTORY: "mentionHistory";
|
|
106
105
|
readonly AUDITION_VOTES: "auditionVotes";
|
|
@@ -188,7 +187,6 @@ export declare const NESTED_SUBCOLLECTIONS: {
|
|
|
188
187
|
readonly CHILD_SAFETY_CASE_CROSSOVER_ITEMS: "childSafetyCaseCrossoverItems";
|
|
189
188
|
readonly CHILD_SAFETY_NCMEC_SUBMISSIONS: "ncmecSubmissions";
|
|
190
189
|
readonly CHILD_SAFETY_NCMEC_SUBMISSION_FILES: "ncmecSubmissionFiles";
|
|
191
|
-
readonly NCMEC_SUBMISSION_ATTEMPTS: "ncmecSubmissionAttempts";
|
|
192
190
|
readonly CHILD_SAFETY_LEGAL_PROCESS: "legalProcess";
|
|
193
191
|
readonly NCMEC_PORTAL_RECEIPT_ARTIFACTS: "portalReceiptArtifacts";
|
|
194
192
|
readonly NCMEC_PORTAL_CORRECTIONS: "ncmecPortalCorrections";
|
|
@@ -225,7 +223,6 @@ export declare const SPECIAL_DOCS: {
|
|
|
225
223
|
readonly SYSTEM_VIDEO_SLOTS: "systemVideoSlots";
|
|
226
224
|
readonly SYSTEM_UID_SLOTS: "systemUidSlots";
|
|
227
225
|
readonly FUTURE_PLANS: "futurePlans";
|
|
228
|
-
readonly NOTIFICATION_SETTINGS: "notificationSettings";
|
|
229
226
|
readonly HALL_LIBRARY_PREFERENCES: "hallLibraryPreferences";
|
|
230
227
|
readonly PROFANITY_LIST: "profanityList";
|
|
231
228
|
readonly RESERVED_USERNAMES: "reservedUsernames";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collections.d.ts","sourceRoot":"","sources":["../../src/paths/collections.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"collections.d.ts","sourceRoot":"","sources":["../../src/paths/collections.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiKd,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;;;;;CAQtB,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;CAY9B,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,yBAAyB;;CAK5B,CAAC;AAEX;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,wBAAwB;;;;CAI3B,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAC/B,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,OAAO,wBAAwB,CAAC,CAAC;AAE3E,uEAAuE;AACvE,eAAO,MAAM,oCAAoC,EAAE,MAAM,CAAC,eAAe,EAAE,qBAAqB,CAI/F,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,+BAA+B,EAAE,MAAM,CAAC,eAAe,EAAE,eAAe,CAIpF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0IxB,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4Df,CAAC"}
|
|
@@ -37,8 +37,7 @@ export const COLLECTIONS = {
|
|
|
37
37
|
GUILD_INVITE_CONVERSATIONS: 'guildInviteConversations',
|
|
38
38
|
STAKE_SHARE_AUDIT_EVENTS: 'stakeShareAuditEvents',
|
|
39
39
|
MODERATION_CASCADE_MANIFESTS: 'moderationCascadeManifests',
|
|
40
|
-
// Backend-only append-only audit ledger (audit-core shape; auditEvents/{eventId}).
|
|
41
|
-
// rules-only name written through a literal until the constant landed here.
|
|
40
|
+
// Backend-only append-only audit ledger (audit-core shape; auditEvents/{eventId}).
|
|
42
41
|
AUDIT_EVENTS: 'auditEvents',
|
|
43
42
|
// Notification system
|
|
44
43
|
ACTIVE_USER_NOTIFICATIONS: 'activeUserNotifications',
|
|
@@ -152,7 +151,6 @@ export const COLLECTIONS = {
|
|
|
152
151
|
export const USER_SUBCOLLECTIONS = {
|
|
153
152
|
PROFILE_CRAFT_SKILLS: 'profileCraftSkills',
|
|
154
153
|
PRIVATE_DATA: 'privateData',
|
|
155
|
-
USER_METADATA: 'userMetadata',
|
|
156
154
|
USER_LIKES: 'userLikes',
|
|
157
155
|
MENTION_HISTORY: 'mentionHistory',
|
|
158
156
|
AUDITION_VOTES: 'auditionVotes',
|
|
@@ -287,10 +285,6 @@ export const NESTED_SUBCOLLECTIONS = {
|
|
|
287
285
|
CHILD_SAFETY_CASE_CROSSOVER_ITEMS: 'childSafetyCaseCrossoverItems',
|
|
288
286
|
CHILD_SAFETY_NCMEC_SUBMISSIONS: 'ncmecSubmissions',
|
|
289
287
|
CHILD_SAFETY_NCMEC_SUBMISSION_FILES: 'ncmecSubmissionFiles',
|
|
290
|
-
// Per-submission NCMEC transmission attempts
|
|
291
|
-
// (childSafetyCases/{caseId}/ncmecSubmissions/{submissionId}/ncmecSubmissionAttempts/{attemptId}).
|
|
292
|
-
// Rules-only until now — registered here so the segment has a single owner.
|
|
293
|
-
NCMEC_SUBMISSION_ATTEMPTS: 'ncmecSubmissionAttempts',
|
|
294
288
|
CHILD_SAFETY_LEGAL_PROCESS: 'legalProcess',
|
|
295
289
|
// Immutable portal-filed NCMEC artifacts recorded on the case by the two step-up-gated
|
|
296
290
|
// operator callables — the receipt artifact that gates `markNcmecPortalComplete`
|
|
@@ -360,9 +354,7 @@ export const SPECIAL_DOCS = {
|
|
|
360
354
|
SYSTEM_VIDEO_SLOTS: 'systemVideoSlots',
|
|
361
355
|
SYSTEM_UID_SLOTS: 'systemUidSlots',
|
|
362
356
|
FUTURE_PLANS: 'futurePlans',
|
|
363
|
-
|
|
364
|
-
// Hall viewing-state doc id under userProfiles/{uid}/privateData/ (hall-viewing-experience
|
|
365
|
-
// Area 2, ruled 2026-07-04). Mirrors the NOTIFICATION_SETTINGS fixed-id privateData pattern.
|
|
357
|
+
// The Hall viewing-state doc id under userProfiles/{uid}/privateData/.
|
|
366
358
|
HALL_LIBRARY_PREFERENCES: 'hallLibraryPreferences',
|
|
367
359
|
PROFANITY_LIST: 'profanityList',
|
|
368
360
|
RESERVED_USERNAMES: 'reservedUsernames',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collections.js","sourceRoot":"","sources":["../../src/paths/collections.ts"],"names":[],"mappings":"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","sourcesContent":["// Firestore collection name constants — canonical source of truth\n// Changes to these values require database migration.\n\nimport type { WorkProjectType } from '../types/content.js';\nimport type { HallSubItemType } from '../doc-schemas/content.js';\n\n/**\n * TOP-LEVEL COLLECTIONS\n */\nexport const COLLECTIONS = {\n // Core entities\n USER_PROFILES: 'userProfiles',\n PUBLIC_USERS: 'publicUsers',\n ALL_WORK_PROJECTS: 'allWorkProjects',\n PUBLIC_WORK_PROJECTS: 'publicWorkProjects',\n WORK_REALMS: 'workRealms',\n\n // Content & Social\n SQUARE_STREETZ_FEED: 'squareStreetzFeed',\n THRESHOLD_ITEMS: 'thresholdItems',\n HALL_ITEMS: 'hallItems',\n HALL_CONTENT_CHANGE_REQUESTS: 'hallContentChangeRequests',\n COMMISSION_LISTINGS: 'commissionListings',\n AUDITION_BOARD: 'auditionBoard',\n FOLLOW_EDGES: 'followEdges',\n FOLLOW_COUNTERS: 'followCounters',\n\n // System & Utility\n RESERVED_DISPLAY_NAMES: 'reservedDisplayNames',\n RESERVED_REALM_NAMES: 'reservedRealmNames',\n ACCOUNT_DELETION_REQUESTS: 'accountDeletionRequests',\n CONTENT_REPORTS: 'contentReports',\n PENDING_MEDIA: 'pendingMedia',\n PENDING_MEDIA_ARCHIVE: 'pendingMediaArchive',\n MEDIA_ASSETS: 'mediaAssets',\n MEDIA_ACTIVATION_JOBS: 'mediaActivationJobs',\n MEDIA_COPY_INTENTS: 'mediaCopyIntents',\n PENDING_ADMIN_DISPATCHES: 'pendingAdminDispatches',\n ACTIVE_REPORT_GROUPS: 'activeReportGroups',\n CONTENT_VIOLATIONS: 'contentViolations',\n ADMIN_TASKS: 'adminTasks',\n SHORT_LINKS: 'shortLinks',\n GUILD_INVITE_CONVERSATIONS: 'guildInviteConversations',\n STAKE_SHARE_AUDIT_EVENTS: 'stakeShareAuditEvents',\n MODERATION_CASCADE_MANIFESTS: 'moderationCascadeManifests',\n // Backend-only append-only audit ledger (audit-core shape; auditEvents/{eventId}). Was a\n // rules-only name written through a literal until the constant landed here.\n AUDIT_EVENTS: 'auditEvents',\n\n // Notification system\n ACTIVE_USER_NOTIFICATIONS: 'activeUserNotifications',\n ACTIVE_ADMIN_NOTIFICATIONS: 'activeAdminNotifications',\n ADMIN_NOTIFICATION_HISTORY: 'adminNotificationHistory',\n PENDING_NOTIFICATIONS: 'pendingNotifications',\n\n // Notification redesign — delivery ledger + unified fanout engine (Admin-SDK-only).\n NOTIFICATION_DELIVERIES: 'notificationDeliveries',\n NOTIFICATION_FANOUT_JOBS: 'notificationFanoutJobs',\n // Server-owned \"archive all\" jobs (one per user+category+requestId; CF-only, never\n // client-readable — the client learns state through getArchiveAllStatus).\n NOTIFICATION_ARCHIVE_ALL_JOBS: 'notificationArchiveAllJobs',\n\n // Chat realtime sync / projection / command collections (Admin-SDK-only).\n CHAT_CHANNEL_AUTH_PROJECTIONS: 'chatChannelAuthProjections',\n CHAT_SCOPE_DEGRADED: 'chatScopeDegraded',\n CHAT_SYNC_EVENTS: 'chatSyncEvents',\n CHAT_SYNC_FANOUT_JOBS: 'chatSyncFanoutJobs',\n CHAT_MESSAGE_OUTBOX: 'chatMessageOutbox',\n CHAT_ADMIN_ACTION_COMMANDS: 'chatAdminActionCommands',\n CHAT_HISTORY_ANONYMIZATION_JOBS: 'chatHistoryAnonymizationJobs',\n CHAT_PARKED_DELIVERIES: 'chatParkedDeliveries',\n\n // Square Streetz announcement outbox (Admin-SDK-only): durable jobs enqueued in the\n // announcing domain's transaction and drained by the outbox trigger worker. Job ids\n // are deterministic so a replayed transaction collides instead of duplicating —\n // ALWAYS derive them via buildSquareAnnouncementJobId (doc-schemas/square-announcement-jobs.ts).\n SQUARE_ANNOUNCEMENT_JOBS: 'squareAnnouncementJobs',\n\n // Feedback & Metadata\n FEEDBACK_SUBMISSIONS: 'feedbackSubmissions',\n CRAFT_SKILLS_BY_TAG: 'craftSkillsByTag',\n SYSTEM_DATA: '_systemData',\n APP_CONFIG: '_appConfig',\n // Server-only singleton bucket (BACKEND-108 — least-privileged reader). Docs whose ONLY\n // readers are Cloud Functions (Admin SDK) live here, never in the public `_appConfig` or\n // the signed-in `_systemData` bucket. Firestore rules deny all client reads/writes on\n // `_serverData`. Its docs are the `_serverData/…` entries of COLLECTION_SCHEMAS.\n SERVER_DATA: '_serverData',\n\n // Payments & pledge ledger\n PLEDGE_PAYMENTS: 'pledgePayments',\n PLEDGE_PAYMENT_PROVIDER_REFS: 'pledgePaymentProviderRefs',\n PROCESSED_STRIPE_EVENTS: 'processedStripeEvents',\n PLEDGE_PAYMENT_LEDGER_EVENTS: 'pledgePaymentLedgerEvents',\n PAYMENT_WEBHOOK_QUARANTINE: 'paymentWebhookQuarantine',\n // Running-totals singleton (pledgePaymentTotals/current) — auth-readable, server-only writes.\n PLEDGE_PAYMENT_TOTALS: 'pledgePaymentTotals',\n // User-initiated pledge refund requests (post-launch handler; keyed by requestId). No Stripe ids\n // here — those stay on pledgePaymentProviderRefs. Server-only writes.\n PLEDGE_REFUND_REQUESTS: 'pledgeRefundRequests',\n\n // Trust & Safety — child-safety case spine (§A1b, §A2)\n CHILD_SAFETY_CASE_LIST: 'childSafetyCaseList',\n CHILD_SAFETY_CASES: 'childSafetyCases',\n CHILD_SAFETY_OWNING_ALIASES: 'childSafetyOwningAliases',\n\n // Trust & Safety — time-sensitive admin-tray \"case needs work\" pins (admin-readable\n // projection; the 5th notification-tray tab reads it, the Safety Case Console owns detail).\n ACTIVE_SAFETY_CASE_ALERTS: 'activeSafetyCaseAlerts',\n\n // Trust & Safety — holds + resource commands (§A3)\n SAFETY_HOLD_REFS: 'safetyHoldRefs',\n SAFETY_HOLD_RESOURCES: 'safetyHoldResources',\n SAFETY_RESOURCE_COMMANDS: 'safetyResourceCommands',\n\n // Trust & Safety — evidence + provenance (§A4, §A6)\n SAFETY_EVIDENCE_MANIFESTS: 'safetyEvidenceManifests',\n SAFETY_EVIDENCE_JOBS: 'safetyEvidenceJobs',\n EVENT_PROVENANCE: 'eventProvenance',\n\n // Trust & Safety — sagas + closure (§A5)\n QUARANTINE_SAGA_JOBS: 'quarantineSagaJobs',\n NCMEC_SUBMISSION_JOBS: 'ncmecSubmissionJobs',\n ACCOUNT_ACTION_COMMANDS: 'accountActionCommands',\n\n // Trust & Safety — SLA monitors + heartbeat (§A8)\n SAFETY_SLA_MONITORS: 'safetySlaMonitors',\n SAFETY_MONITOR_HEARTBEAT: 'safetyMonitorHeartbeat',\n\n // Trust & Safety — age attestation nonces (§A7)\n AGE_ATTESTATION_NONCES: 'ageAttestationNonces',\n\n // Trust & Safety — NCII / TAKE IT DOWN (§A11)\n NCII_ALLEGATIONS: 'nciiAllegations',\n TAKE_IT_DOWN_REQUESTS: 'takeItDownRequests',\n NCII_CASES: 'nciiCases',\n NCII_TEMPORARY_HOLDS: 'nciiTemporaryHolds',\n NCII_REMOVAL_JOBS: 'nciiRemovalJobs',\n // [H-01] durable operator-visible inventory of NCII-evidence objects RETAINED but never recorded\n // as evidence (orphan / oversized / spoof / unknown-reference). Never auto-deleted.\n NCII_RETAINED_EVIDENCE_INVENTORY: 'nciiRetainedEvidenceInventory',\n // [H-01] app-only dead-letter sink for NCII retained-evidence inventory rows that could not be\n // written to the primary nciiRetainedEvidenceInventory collection (e.g. write failure during\n // the onNciiEvidenceUploaded trigger). Never auto-deleted; operator-visible for manual triage.\n NCII_INVENTORY_DEAD_LETTER: 'nciiInventoryDeadLetter',\n\n // Backend-only retry queue for post-commit auth-effect reconciliation: when an account-status\n // change committed to Firestore but the follow-on Auth effect (custom-claim / disable) failed,\n // a queue entry keyed by uid drives a retry loop toward the target status. Admin-SDK-only.\n STATUS_RECONCILE_QUEUE: 'statusReconcileQueue',\n\n // Trust & Safety — [H-08] per-operator TOTP step-up state (secret + active grant window),\n // keyed by uid. Cloud-Functions-only: the secret is returned to the client exactly once by\n // the enroll callable and is NEVER readable through Firestore.\n OPERATOR_STEP_UP: 'operatorStepUp',\n\n\n // Durable per-sweep cadence/cursor state for the scheduled user sweeps, keyed by the sweep\n // name (orphanRegistrationCleanup, reconcileAccountStatus). Wall-clock stamps that survive a\n // container recycle, so a \"~once/day\" or \"~once/week\" pass fires on real elapsed time instead\n // of an in-memory counter. Admin-SDK-only.\n SWEEP_STATE: 'sweepState',\n\n // Versioned public documents (Terms, Privacy, Rules & Agreements, Future Plans, DMCA,\n // Take It Down copy). `publicDocuments/{documentId}` is a field-less container whose\n // `publicDocumentVersions` subcollection holds the immutable published versions; the one\n // private working copy per document and the release records are top-level. All three are\n // backend-written; the public reads the `_appConfig/{documentId}` current projection.\n PUBLIC_DOCUMENTS: 'publicDocuments',\n PUBLIC_DOCUMENT_DRAFTS: 'publicDocumentDrafts',\n PUBLIC_DOCUMENT_RELEASES: 'publicDocumentReleases',\n} as const;\n\n/**\n * USER PROFILE SUBCOLLECTIONS\n * Nested under userProfiles/{userId}/\n */\nexport const USER_SUBCOLLECTIONS = {\n PROFILE_CRAFT_SKILLS: 'profileCraftSkills',\n PRIVATE_DATA: 'privateData',\n USER_METADATA: 'userMetadata',\n USER_LIKES: 'userLikes',\n MENTION_HISTORY: 'mentionHistory',\n AUDITION_VOTES: 'auditionVotes',\n // Archived personal notification history (userProfiles/{uid}/notificationHistory/{id}).\n NOTIFICATION_HISTORY: 'notificationHistory',\n} as const;\n\n/**\n * WORKPROJECT SUBCOLLECTIONS\n * Nested under allWorkProjects/{workProjectId}/\n */\nexport const WORK_PROJECT_SUBCOLLECTIONS = {\n WORK_PROJECT_TALES: 'workProjectTales',\n WORK_PROJECT_TUNES: 'workProjectTunes',\n WORK_PROJECT_TELEVISION: 'workProjectTelevision',\n GUILDMATE_USERS: 'guildmateUsers',\n PUBLIC_GUILDMATE_USERS: 'publicGuildmateUsers',\n WORK_FILE_FOLDERS: 'workFileFolders',\n GUILD_CHAT_CHANNELS: 'guildChatChannels',\n // The Work's single hall-entry reservation (allWorkProjects/{id}/hallSubmissionReservation/\n // reservation): claimed create-only inside the first threshold submit's transaction so a\n // project can only ever own ONE hall item.\n HALL_SUBMISSION_RESERVATION: 'hallSubmissionReservation',\n} as const;\n\n/**\n * WORKREALM SUBCOLLECTIONS\n * Nested under workRealms/{workRealmId}/\n */\nexport const WORK_REALM_SUBCOLLECTIONS = {\n // The Realm steward's folders for the realm shared-file pool. The FILES themselves are\n // never docs here — a shared file stays a `workFile` under its owning Work and carries\n // `realmFileFolderId` on its mediaAssets doc.\n REALM_FILE_FOLDERS: 'realmFileFolders',\n} as const;\n\n/**\n * HALL ITEM SUBCOLLECTIONS\n * Nested under hallItems/{hallItemId}/ — the PUBLISHED sub-item projections\n * (chapters/tracks/episodes copied out of the Work at publish time by\n * runPublishApprovedHallLibraryItem).\n *\n * The segment is an INDEPENDENT compound-camelCase collection name (ARCH-104) — it is\n * NOT any transformation of `WorkProjectType`. Map a work type to its segment through\n * HALL_ITEM_SUBCOLLECTION_BY_WORK_TYPE; `workProjectType.toLowerCase()` is not merely\n * discouraged, it produces a segment that DOES NOT EXIST ('tales', 'tunes',\n * 'television'), so the resulting path silently reads/writes an empty collection.\n */\nexport const HALL_ITEM_SUBCOLLECTIONS = {\n TALES: 'hallItemTales',\n TUNES: 'hallItemTunes',\n TELEVISION: 'hallItemTelevision',\n} as const;\n\nexport type HallItemSubcollection =\n (typeof HALL_ITEM_SUBCOLLECTIONS)[keyof typeof HALL_ITEM_SUBCOLLECTIONS];\n\n/** WorkProjectType → published hall sub-item subcollection segment. */\nexport const HALL_ITEM_SUBCOLLECTION_BY_WORK_TYPE: Record<WorkProjectType, HallItemSubcollection> = {\n Tales: HALL_ITEM_SUBCOLLECTIONS.TALES,\n Tunes: HALL_ITEM_SUBCOLLECTIONS.TUNES,\n Television: HALL_ITEM_SUBCOLLECTIONS.TELEVISION,\n};\n\n/**\n * WorkProjectType → the Hall sub-item kind a notification or Streetz payload carries for it.\n * The values are typed against the canonical HallSubItemType rather than read off its schema, so\n * this dependency-free paths module never pulls zod in at runtime.\n */\nexport const HALL_SUB_ITEM_TYPE_BY_WORK_TYPE: Record<WorkProjectType, HallSubItemType> = {\n Tales: 'chapter',\n Tunes: 'track',\n Television: 'episode',\n};\n\n/**\n * DEEPLY NESTED SUBCOLLECTIONS\n * Third level and beyond\n */\nexport const NESTED_SUBCOLLECTIONS = {\n // Content subcollections\n TALE_CHAPTERS: 'taleChapters',\n TUNE_TRACKS: 'tuneTracks',\n TELEVISION_EPISODES: 'televisionEpisodes',\n\n // Work-project file folders (S7): files nested under each folder.\n WORK_FILES: 'workFiles',\n\n // Communication — guild channel + invite messages are REALTIME-ONLY (chat Worker\n // Durable Object, never Firestore); only admin-support conversationMessages persist here.\n CONVERSATION_MESSAGES: 'conversationMessages',\n\n // Conversation Files — the flat per-conversation file list. Nested under the\n // conversation's NATURAL Firestore parent, so the same subcollection segment serves\n // both supported scopes:\n // guildInviteConversations/{guildInviteId}/conversationFiles/{conversationFileId}\n // pendingAdminDispatches/{adminDispatchId}/conversationFiles/{conversationFileId}\n // Guild chat channels deliberately have NO conversationFiles subcollection.\n CONVERSATION_FILES: 'conversationFiles',\n\n // Per-person read markers of an admin-support thread, one per member-side reader:\n // pendingAdminDispatches/{adminDispatchId}/dispatchReadMarkers/{uid}\n DISPATCH_READ_MARKERS: 'dispatchReadMarkers',\n\n // SquareStreetz & Social\n SOCIAL_POSTS: 'socialPosts',\n ACTIVE_POSTS: 'activePosts',\n TRENDING_POSTS: 'trendingPosts',\n\n // Commissions & Auditions\n COMMISSION_PROPOSALS: 'commissionProposals',\n AUDITION_ENTRIES: 'auditionEntries',\n\n // User history\n LIKE_HISTORY: 'likeHistory',\n SQUARE_STREETZ_LIKES: 'squareStreetzLikes',\n\n // Craft Skills & Feedback\n TAGGED_CRAFT_SKILLS: 'taggedCraftSkills',\n USER_SUGGESTIONS: 'userSuggestions',\n\n // Moderation\n CHANGED_DOCS: 'changedDocs',\n\n // Trust & Safety — report spine (§A1): the public, reporter-identity-free projection\n // is a deterministic child of the protected report root\n // (contentReports/{reportId}/publicProjection/{reportId}).\n REPORT_PUBLIC_PROJECTION: 'publicProjection',\n // Per-report idempotency markers under a report group\n // (activeReportGroups/{groupKey}/reportGroupCountedReports/{reportId}): the group's\n // totalReports increment is gated on the marker's ABSENCE, so a redelivered create event\n // never double-counts. Backend-only.\n REPORT_GROUP_COUNTED_REPORTS: 'reportGroupCountedReports',\n // Restricted reporter/requester PII subcollection, shared by the report spine\n // (contentReports/{reportId}/privateDetails/{snapshot,narrative}) and TAKE IT DOWN\n // (takeItDownRequests/{requestId}/privateDetails/requester). ONE shared compound value\n // serves both parents — never split per parent. Admin-read-only / server-only.\n PRIVATE: 'privateDetails',\n\n // Chat degraded-scope causes\n // (chatScopeDegraded/{scopeKey}/chatScopeDegradedCauses/{causeId}).\n CHAT_SCOPE_DEGRADED_CAUSES: 'chatScopeDegradedCauses',\n // Anonymization affected-chunk set (chatHistoryAnonymizationJobs/{jobId}/affectedChunks/{chunkOrdinal}).\n CHAT_ANONYMIZATION_AFFECTED_CHUNKS: 'affectedChunks',\n\n // Trust & Safety — child-safety case append-only detail (NEVER arrays).\n CHILD_SAFETY_SOURCE_SIGNALS: 'sourceSignals',\n CHILD_SAFETY_DECISIONS: 'childSafetyDecisions',\n CHILD_SAFETY_DECISION_VIEWS: 'childSafetyDecisionViews',\n CHILD_SAFETY_CASE_ACCOUNTS: 'childSafetyCaseAccounts',\n CHILD_SAFETY_CASE_ACCOUNT_HISTORY: 'childSafetyCaseAccountHistory',\n // Per-asset leg state of the possible-minor crossover (childSafetyCases/{caseId}/childSafetyCaseCrossoverItems/{mediaAssetId}).\n CHILD_SAFETY_CASE_CROSSOVER_ITEMS: 'childSafetyCaseCrossoverItems',\n CHILD_SAFETY_NCMEC_SUBMISSIONS: 'ncmecSubmissions',\n CHILD_SAFETY_NCMEC_SUBMISSION_FILES: 'ncmecSubmissionFiles',\n // Per-submission NCMEC transmission attempts\n // (childSafetyCases/{caseId}/ncmecSubmissions/{submissionId}/ncmecSubmissionAttempts/{attemptId}).\n // Rules-only until now — registered here so the segment has a single owner.\n NCMEC_SUBMISSION_ATTEMPTS: 'ncmecSubmissionAttempts',\n CHILD_SAFETY_LEGAL_PROCESS: 'legalProcess',\n // Immutable portal-filed NCMEC artifacts recorded on the case by the two step-up-gated\n // operator callables — the receipt artifact that gates `markNcmecPortalComplete`\n // (childSafetyCases/{caseId}/portalReceiptArtifacts/{artifactId}) and the correction record\n // that gates the corrected-no-apparent-violation disposition\n // (childSafetyCases/{caseId}/ncmecPortalCorrections/{correctionId}). Admin-SDK-only; both\n // segments were app-local literals until now.\n NCMEC_PORTAL_RECEIPT_ARTIFACTS: 'portalReceiptArtifacts',\n NCMEC_PORTAL_CORRECTIONS: 'ncmecPortalCorrections',\n // The single immutable completion-proof record bound to one NCMEC submission\n // (childSafetyCases/{caseId}/ncmecSubmissions/{submissionId}/ncmecCompletionProof/record).\n // A submission can never reach `completed` without this record existing — it is written\n // create-if-absent in the SAME transaction as the state transition.\n NCMEC_COMPLETION_PROOF: 'ncmecCompletionProof',\n\n // Trust & Safety — resource-command subcollections (§A3).\n SAFETY_RESOURCE_COMMAND_AUTHORIZED_REQUESTS: 'authorizedRequests',\n SAFETY_RESOURCE_COMMAND_BYPASS_REFS: 'bypassRefs',\n\n // Trust & Safety — evidence-job subcollections (§A4).\n SAFETY_EVIDENCE_JOB_ITEMS: 'safetyEvidenceJobItems',\n SAFETY_EVIDENCE_JOB_DISPOSITION: 'safetyEvidenceJobDisposition',\n\n // Trust & Safety — quarantine-saga subcollection (§A5).\n QUARANTINE_SAGA_RELATED_ASSETS: 'relatedAssets',\n\n // Trust & Safety — TAKE IT DOWN request subcollections (§A11). The restricted\n // requester-PII subcollection uses the shared `PRIVATE` constant above.\n TAKE_IT_DOWN_SUBMISSIONS: 'takeItDownSubmissions',\n TAKE_IT_DOWN_VALIDITY_DECISIONS: 'validityDecisions',\n TAKE_IT_DOWN_ACTIONS: 'takeItDownActions',\n TAKE_IT_DOWN_EVIDENCE: 'takeItDownEvidence',\n // The deletion-verification record the retention sweep keeps for each evidence object it removes\n // (…/takeItDownEvidenceDisposition/{evidenceId}). Its own subcollection, mirroring\n // `safetyEvidenceJobDisposition`, so `takeItDownActions` holds action rows only. Backend-only.\n TAKE_IT_DOWN_EVIDENCE_DISPOSITION: 'takeItDownEvidenceDisposition',\n // The RESTRICTED operator rationale row bound to one validity decision\n // (…/validityDecisions/{decisionId}/takeItDownValidityRationale/record) — the row the\n // decision's rationaleRef and the action's detailRef point at. Backend-only.\n TAKE_IT_DOWN_VALIDITY_RATIONALE: 'takeItDownValidityRationale',\n\n // Trust & Safety — NCII case subcollections (§A11).\n NCII_CASE_ALLEGATION_LINKS: 'allegationLinks',\n NCII_CASE_REQUEST_LINKS: 'requestLinks',\n NCII_CASE_REMOVAL_ACTIONS: 'removalActions',\n NCII_CASE_BLOCKED_HASHES: 'blockedHashes',\n // Append-only NCII case closure/reopen events (nciiCases/{caseId}/closureEvents/{eventId}).\n NCII_CASE_CLOSURE_EVENTS: 'closureEvents',\n\n // Trust & Safety — NCII removal-job targets (§A11).\n NCII_REMOVAL_TARGETS: 'nciiRemovalTargets',\n\n // Feedback lists under the server-only `_serverData/feedbackLists` container doc\n // (BACKEND-108): the alias map and the denylist submitFeedback consults via the Admin\n // SDK. Moved out of the top-level `feedbackAliases` / `feedbackDenylist` collections,\n // which were anonymously readable with no client reader.\n FEEDBACK_ALIASES: 'feedbackAliases',\n FEEDBACK_DENYLIST: 'feedbackDenylist',\n\n // Immutable published versions of one public document\n // (publicDocuments/{documentId}/publicDocumentVersions/{versionId}).\n PUBLIC_DOCUMENT_VERSIONS: 'publicDocumentVersions',\n} as const;\n\n/**\n * SPECIAL DOCUMENT PATHS\n * Static document IDs for singleton documents\n */\nexport const SPECIAL_DOCS = {\n ADMIN_LIST: 'adminList',\n APP_CONFIG: 'app',\n // Charter→full app-mode marker doc (_systemData/appMode) that recordAppModeFlip writes.\n APP_MODE: 'appMode',\n // The admin-managed system slots: video slots (_systemData/systemVideoSlots, signed-in) and\n // account slots (_appConfig/systemUidSlots, public).\n SYSTEM_VIDEO_SLOTS: 'systemVideoSlots',\n SYSTEM_UID_SLOTS: 'systemUidSlots',\n FUTURE_PLANS: 'futurePlans',\n NOTIFICATION_SETTINGS: 'notificationSettings',\n // Hall viewing-state doc id under userProfiles/{uid}/privateData/ (hall-viewing-experience\n // Area 2, ruled 2026-07-04). Mirrors the NOTIFICATION_SETTINGS fixed-id privateData pattern.\n HALL_LIBRARY_PREFERENCES: 'hallLibraryPreferences',\n PROFANITY_LIST: 'profanityList',\n RESERVED_USERNAMES: 'reservedUsernames',\n BLOCKED_FRANCHISE_NAMES: 'blockedFranchiseNames',\n RULES_AND_AGREEMENTS: 'rulesAndAgreements',\n // Editable content-page singletons under _appConfig (content-pages Firestore\n // migration, DJ ruling 2026-07-06): the ONLY source for /terms, /privacy, and\n // the /take-it-down page copy — no hardcoded fallbacks anywhere.\n TERMS_PAGE: 'termsOfService',\n PRIVACY_PAGE: 'privacyPolicy',\n TAKE_IT_DOWN_PAGE_COPY: 'takeItDownPageCopy',\n // The /dmca page's current projection (_appConfig/dmcaPolicy). Each of these page ids is\n // also that document's PublicDocumentId (constants/public-documents.ts).\n DMCA_POLICY: 'dmcaPolicy',\n // Also the doc id of the pledge running-totals singleton (pledgePaymentTotals/summary).\n SUMMARY: 'summary',\n\n // Trust & Safety — singleton global SLA-monitor heartbeat (safetyMonitorHeartbeat/global).\n SAFETY_MONITOR_HEARTBEAT_GLOBAL: 'global',\n\n // Trust & Safety — _serverData (server-only) singletons (§A7, §A11). Moved out of the\n // public _appConfig bucket: their only readers are Cloud Functions (BACKEND-108).\n AGE_POLICY: 'agePolicy',\n NCII_POLICY: 'nciiPolicy',\n PRIVILEGED_REVIEWER_SECURITY: 'privilegedReviewerSecurity',\n\n // _serverData container doc for the two submitFeedback lists. It holds no fields — it\n // exists only as the parent of the feedbackAliases / feedbackDenylist subcollections,\n // which moved out of the anonymously-readable top-level collections (BACKEND-108).\n FEEDBACK_LISTS: 'feedbackLists',\n\n // Trust & Safety — fixed-id TAKE IT DOWN request subdocs (§A11).\n TAKE_IT_DOWN_REQUESTER: 'requester', // takeItDownRequests/{requestId}/privateDetails/requester\n\n // The fixed doc id of a one-per-parent singleton row: the NCMEC completion proof\n // (…/ncmecCompletionProof/record) and the TAKE IT DOWN validity rationale\n // (…/takeItDownValidityRationale/record). ONE shared value serves both — never split.\n RECORD: 'record',\n\n // The Work's single hall-entry reservation doc (…/hallSubmissionReservation/reservation).\n HALL_SUBMISSION_RESERVATION: 'reservation',\n\n // Trust & Safety — fixed-id report-spine private subdocs (§A1).\n REPORT_SNAPSHOT: 'snapshot', // contentReports/{reportId}/privateDetails/snapshot\n REPORT_NARRATIVE: 'narrative', // contentReports/{reportId}/privateDetails/narrative\n // contentReports/{reportId}/privateDetails/narrativeEscalation — the NEW narrative typed\n // when an EXISTING ordinary report is escalated into a protected case (the original\n // narrative doc already exists, so a re-create would collide).\n REPORT_NARRATIVE_ESCALATION: 'narrativeEscalation',\n} as const;\n"]}
|
|
1
|
+
{"version":3,"file":"collections.js","sourceRoot":"","sources":["../../src/paths/collections.ts"],"names":[],"mappings":"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","sourcesContent":["// Firestore collection name constants — canonical source of truth\n// Changes to these values require database migration.\n\nimport type { WorkProjectType } from '../types/content.js';\nimport type { HallSubItemType } from '../doc-schemas/content.js';\n\n/**\n * TOP-LEVEL COLLECTIONS\n */\nexport const COLLECTIONS = {\n // Core entities\n USER_PROFILES: 'userProfiles',\n PUBLIC_USERS: 'publicUsers',\n ALL_WORK_PROJECTS: 'allWorkProjects',\n PUBLIC_WORK_PROJECTS: 'publicWorkProjects',\n WORK_REALMS: 'workRealms',\n\n // Content & Social\n SQUARE_STREETZ_FEED: 'squareStreetzFeed',\n THRESHOLD_ITEMS: 'thresholdItems',\n HALL_ITEMS: 'hallItems',\n HALL_CONTENT_CHANGE_REQUESTS: 'hallContentChangeRequests',\n COMMISSION_LISTINGS: 'commissionListings',\n AUDITION_BOARD: 'auditionBoard',\n FOLLOW_EDGES: 'followEdges',\n FOLLOW_COUNTERS: 'followCounters',\n\n // System & Utility\n RESERVED_DISPLAY_NAMES: 'reservedDisplayNames',\n RESERVED_REALM_NAMES: 'reservedRealmNames',\n ACCOUNT_DELETION_REQUESTS: 'accountDeletionRequests',\n CONTENT_REPORTS: 'contentReports',\n PENDING_MEDIA: 'pendingMedia',\n PENDING_MEDIA_ARCHIVE: 'pendingMediaArchive',\n MEDIA_ASSETS: 'mediaAssets',\n MEDIA_ACTIVATION_JOBS: 'mediaActivationJobs',\n MEDIA_COPY_INTENTS: 'mediaCopyIntents',\n PENDING_ADMIN_DISPATCHES: 'pendingAdminDispatches',\n ACTIVE_REPORT_GROUPS: 'activeReportGroups',\n CONTENT_VIOLATIONS: 'contentViolations',\n ADMIN_TASKS: 'adminTasks',\n SHORT_LINKS: 'shortLinks',\n GUILD_INVITE_CONVERSATIONS: 'guildInviteConversations',\n STAKE_SHARE_AUDIT_EVENTS: 'stakeShareAuditEvents',\n MODERATION_CASCADE_MANIFESTS: 'moderationCascadeManifests',\n // Backend-only append-only audit ledger (audit-core shape; auditEvents/{eventId}).\n AUDIT_EVENTS: 'auditEvents',\n\n // Notification system\n ACTIVE_USER_NOTIFICATIONS: 'activeUserNotifications',\n ACTIVE_ADMIN_NOTIFICATIONS: 'activeAdminNotifications',\n ADMIN_NOTIFICATION_HISTORY: 'adminNotificationHistory',\n PENDING_NOTIFICATIONS: 'pendingNotifications',\n\n // Notification redesign — delivery ledger + unified fanout engine (Admin-SDK-only).\n NOTIFICATION_DELIVERIES: 'notificationDeliveries',\n NOTIFICATION_FANOUT_JOBS: 'notificationFanoutJobs',\n // Server-owned \"archive all\" jobs (one per user+category+requestId; CF-only, never\n // client-readable — the client learns state through getArchiveAllStatus).\n NOTIFICATION_ARCHIVE_ALL_JOBS: 'notificationArchiveAllJobs',\n\n // Chat realtime sync / projection / command collections (Admin-SDK-only).\n CHAT_CHANNEL_AUTH_PROJECTIONS: 'chatChannelAuthProjections',\n CHAT_SCOPE_DEGRADED: 'chatScopeDegraded',\n CHAT_SYNC_EVENTS: 'chatSyncEvents',\n CHAT_SYNC_FANOUT_JOBS: 'chatSyncFanoutJobs',\n CHAT_MESSAGE_OUTBOX: 'chatMessageOutbox',\n CHAT_ADMIN_ACTION_COMMANDS: 'chatAdminActionCommands',\n CHAT_HISTORY_ANONYMIZATION_JOBS: 'chatHistoryAnonymizationJobs',\n CHAT_PARKED_DELIVERIES: 'chatParkedDeliveries',\n\n // Square Streetz announcement outbox (Admin-SDK-only): durable jobs enqueued in the\n // announcing domain's transaction and drained by the outbox trigger worker. Job ids\n // are deterministic so a replayed transaction collides instead of duplicating —\n // ALWAYS derive them via buildSquareAnnouncementJobId (doc-schemas/square-announcement-jobs.ts).\n SQUARE_ANNOUNCEMENT_JOBS: 'squareAnnouncementJobs',\n\n // Feedback & Metadata\n FEEDBACK_SUBMISSIONS: 'feedbackSubmissions',\n CRAFT_SKILLS_BY_TAG: 'craftSkillsByTag',\n SYSTEM_DATA: '_systemData',\n APP_CONFIG: '_appConfig',\n // Server-only singleton bucket (BACKEND-108 — least-privileged reader). Docs whose ONLY\n // readers are Cloud Functions (Admin SDK) live here, never in the public `_appConfig` or\n // the signed-in `_systemData` bucket. Firestore rules deny all client reads/writes on\n // `_serverData`. Its docs are the `_serverData/…` entries of COLLECTION_SCHEMAS.\n SERVER_DATA: '_serverData',\n\n // Payments & pledge ledger\n PLEDGE_PAYMENTS: 'pledgePayments',\n PLEDGE_PAYMENT_PROVIDER_REFS: 'pledgePaymentProviderRefs',\n PROCESSED_STRIPE_EVENTS: 'processedStripeEvents',\n PLEDGE_PAYMENT_LEDGER_EVENTS: 'pledgePaymentLedgerEvents',\n PAYMENT_WEBHOOK_QUARANTINE: 'paymentWebhookQuarantine',\n // Running-totals singleton (pledgePaymentTotals/current) — auth-readable, server-only writes.\n PLEDGE_PAYMENT_TOTALS: 'pledgePaymentTotals',\n // User-initiated pledge refund requests (post-launch handler; keyed by requestId). No Stripe ids\n // here — those stay on pledgePaymentProviderRefs. Server-only writes.\n PLEDGE_REFUND_REQUESTS: 'pledgeRefundRequests',\n\n // Trust & Safety — child-safety case spine (§A1b, §A2)\n CHILD_SAFETY_CASE_LIST: 'childSafetyCaseList',\n CHILD_SAFETY_CASES: 'childSafetyCases',\n CHILD_SAFETY_OWNING_ALIASES: 'childSafetyOwningAliases',\n\n // Trust & Safety — time-sensitive admin-tray \"case needs work\" pins (admin-readable\n // projection; the 5th notification-tray tab reads it, the Safety Case Console owns detail).\n ACTIVE_SAFETY_CASE_ALERTS: 'activeSafetyCaseAlerts',\n\n // Trust & Safety — holds + resource commands (§A3)\n SAFETY_HOLD_REFS: 'safetyHoldRefs',\n SAFETY_HOLD_RESOURCES: 'safetyHoldResources',\n SAFETY_RESOURCE_COMMANDS: 'safetyResourceCommands',\n\n // Trust & Safety — evidence + provenance (§A4, §A6)\n SAFETY_EVIDENCE_MANIFESTS: 'safetyEvidenceManifests',\n SAFETY_EVIDENCE_JOBS: 'safetyEvidenceJobs',\n EVENT_PROVENANCE: 'eventProvenance',\n\n // Trust & Safety — sagas + closure (§A5)\n QUARANTINE_SAGA_JOBS: 'quarantineSagaJobs',\n NCMEC_SUBMISSION_JOBS: 'ncmecSubmissionJobs',\n ACCOUNT_ACTION_COMMANDS: 'accountActionCommands',\n\n // Trust & Safety — SLA monitors + heartbeat (§A8)\n SAFETY_SLA_MONITORS: 'safetySlaMonitors',\n SAFETY_MONITOR_HEARTBEAT: 'safetyMonitorHeartbeat',\n\n // Trust & Safety — age attestation nonces (§A7)\n AGE_ATTESTATION_NONCES: 'ageAttestationNonces',\n\n // Trust & Safety — NCII / TAKE IT DOWN (§A11)\n NCII_ALLEGATIONS: 'nciiAllegations',\n TAKE_IT_DOWN_REQUESTS: 'takeItDownRequests',\n NCII_CASES: 'nciiCases',\n NCII_TEMPORARY_HOLDS: 'nciiTemporaryHolds',\n NCII_REMOVAL_JOBS: 'nciiRemovalJobs',\n // [H-01] durable operator-visible inventory of NCII-evidence objects RETAINED but never recorded\n // as evidence (orphan / oversized / spoof / unknown-reference). Never auto-deleted.\n NCII_RETAINED_EVIDENCE_INVENTORY: 'nciiRetainedEvidenceInventory',\n // [H-01] app-only dead-letter sink for NCII retained-evidence inventory rows that could not be\n // written to the primary nciiRetainedEvidenceInventory collection (e.g. write failure during\n // the onNciiEvidenceUploaded trigger). Never auto-deleted; operator-visible for manual triage.\n NCII_INVENTORY_DEAD_LETTER: 'nciiInventoryDeadLetter',\n\n // Backend-only retry queue for post-commit auth-effect reconciliation: when an account-status\n // change committed to Firestore but the follow-on Auth effect (custom-claim / disable) failed,\n // a queue entry keyed by uid drives a retry loop toward the target status. Admin-SDK-only.\n STATUS_RECONCILE_QUEUE: 'statusReconcileQueue',\n\n // Trust & Safety — [H-08] per-operator TOTP step-up state (secret + active grant window),\n // keyed by uid. Cloud-Functions-only: the secret is returned to the client exactly once by\n // the enroll callable and is NEVER readable through Firestore.\n OPERATOR_STEP_UP: 'operatorStepUp',\n\n\n // Durable per-sweep cadence/cursor state for the scheduled user sweeps, keyed by the sweep\n // name (orphanRegistrationCleanup, reconcileAccountStatus). Wall-clock stamps that survive a\n // container recycle, so a \"~once/day\" or \"~once/week\" pass fires on real elapsed time instead\n // of an in-memory counter. Admin-SDK-only.\n SWEEP_STATE: 'sweepState',\n\n // Versioned public documents (Terms, Privacy, Rules & Agreements, Future Plans, DMCA,\n // Take It Down copy). `publicDocuments/{documentId}` is a field-less container whose\n // `publicDocumentVersions` subcollection holds the immutable published versions; the one\n // private working copy per document and the release records are top-level. All three are\n // backend-written; the public reads the `_appConfig/{documentId}` current projection.\n PUBLIC_DOCUMENTS: 'publicDocuments',\n PUBLIC_DOCUMENT_DRAFTS: 'publicDocumentDrafts',\n PUBLIC_DOCUMENT_RELEASES: 'publicDocumentReleases',\n} as const;\n\n/**\n * USER PROFILE SUBCOLLECTIONS\n * Nested under userProfiles/{userId}/\n */\nexport const USER_SUBCOLLECTIONS = {\n PROFILE_CRAFT_SKILLS: 'profileCraftSkills',\n PRIVATE_DATA: 'privateData',\n USER_LIKES: 'userLikes',\n MENTION_HISTORY: 'mentionHistory',\n AUDITION_VOTES: 'auditionVotes',\n // Archived personal notification history (userProfiles/{uid}/notificationHistory/{id}).\n NOTIFICATION_HISTORY: 'notificationHistory',\n} as const;\n\n/**\n * WORKPROJECT SUBCOLLECTIONS\n * Nested under allWorkProjects/{workProjectId}/\n */\nexport const WORK_PROJECT_SUBCOLLECTIONS = {\n WORK_PROJECT_TALES: 'workProjectTales',\n WORK_PROJECT_TUNES: 'workProjectTunes',\n WORK_PROJECT_TELEVISION: 'workProjectTelevision',\n GUILDMATE_USERS: 'guildmateUsers',\n PUBLIC_GUILDMATE_USERS: 'publicGuildmateUsers',\n WORK_FILE_FOLDERS: 'workFileFolders',\n GUILD_CHAT_CHANNELS: 'guildChatChannels',\n // The Work's single hall-entry reservation (allWorkProjects/{id}/hallSubmissionReservation/\n // reservation): claimed create-only inside the first threshold submit's transaction so a\n // project can only ever own ONE hall item.\n HALL_SUBMISSION_RESERVATION: 'hallSubmissionReservation',\n} as const;\n\n/**\n * WORKREALM SUBCOLLECTIONS\n * Nested under workRealms/{workRealmId}/\n */\nexport const WORK_REALM_SUBCOLLECTIONS = {\n // The Realm steward's folders for the realm shared-file pool. The FILES themselves are\n // never docs here — a shared file stays a `workFile` under its owning Work and carries\n // `realmFileFolderId` on its mediaAssets doc.\n REALM_FILE_FOLDERS: 'realmFileFolders',\n} as const;\n\n/**\n * HALL ITEM SUBCOLLECTIONS\n * Nested under hallItems/{hallItemId}/ — the PUBLISHED sub-item projections\n * (chapters/tracks/episodes copied out of the Work at publish time by\n * runPublishApprovedHallLibraryItem).\n *\n * The segment is an INDEPENDENT compound-camelCase collection name (ARCH-104) — it is\n * NOT any transformation of `WorkProjectType`. Map a work type to its segment through\n * HALL_ITEM_SUBCOLLECTION_BY_WORK_TYPE; `workProjectType.toLowerCase()` is not merely\n * discouraged, it produces a segment that DOES NOT EXIST ('tales', 'tunes',\n * 'television'), so the resulting path silently reads/writes an empty collection.\n */\nexport const HALL_ITEM_SUBCOLLECTIONS = {\n TALES: 'hallItemTales',\n TUNES: 'hallItemTunes',\n TELEVISION: 'hallItemTelevision',\n} as const;\n\nexport type HallItemSubcollection =\n (typeof HALL_ITEM_SUBCOLLECTIONS)[keyof typeof HALL_ITEM_SUBCOLLECTIONS];\n\n/** WorkProjectType → published hall sub-item subcollection segment. */\nexport const HALL_ITEM_SUBCOLLECTION_BY_WORK_TYPE: Record<WorkProjectType, HallItemSubcollection> = {\n Tales: HALL_ITEM_SUBCOLLECTIONS.TALES,\n Tunes: HALL_ITEM_SUBCOLLECTIONS.TUNES,\n Television: HALL_ITEM_SUBCOLLECTIONS.TELEVISION,\n};\n\n/**\n * WorkProjectType → the Hall sub-item kind a notification or Streetz payload carries for it.\n * The values are typed against the canonical HallSubItemType rather than read off its schema, so\n * this dependency-free paths module never pulls zod in at runtime.\n */\nexport const HALL_SUB_ITEM_TYPE_BY_WORK_TYPE: Record<WorkProjectType, HallSubItemType> = {\n Tales: 'chapter',\n Tunes: 'track',\n Television: 'episode',\n};\n\n/**\n * DEEPLY NESTED SUBCOLLECTIONS\n * Third level and beyond\n */\nexport const NESTED_SUBCOLLECTIONS = {\n // Content subcollections\n TALE_CHAPTERS: 'taleChapters',\n TUNE_TRACKS: 'tuneTracks',\n TELEVISION_EPISODES: 'televisionEpisodes',\n\n // Work-project file folders (S7): files nested under each folder.\n WORK_FILES: 'workFiles',\n\n // Communication — guild channel + invite messages are REALTIME-ONLY (chat Worker\n // Durable Object, never Firestore); only admin-support conversationMessages persist here.\n CONVERSATION_MESSAGES: 'conversationMessages',\n\n // Conversation Files — the flat per-conversation file list. Nested under the\n // conversation's NATURAL Firestore parent, so the same subcollection segment serves\n // both supported scopes:\n // guildInviteConversations/{guildInviteId}/conversationFiles/{conversationFileId}\n // pendingAdminDispatches/{adminDispatchId}/conversationFiles/{conversationFileId}\n // Guild chat channels deliberately have NO conversationFiles subcollection.\n CONVERSATION_FILES: 'conversationFiles',\n\n // Per-person read markers of an admin-support thread, one per member-side reader:\n // pendingAdminDispatches/{adminDispatchId}/dispatchReadMarkers/{uid}\n DISPATCH_READ_MARKERS: 'dispatchReadMarkers',\n\n // SquareStreetz & Social\n SOCIAL_POSTS: 'socialPosts',\n ACTIVE_POSTS: 'activePosts',\n TRENDING_POSTS: 'trendingPosts',\n\n // Commissions & Auditions\n COMMISSION_PROPOSALS: 'commissionProposals',\n AUDITION_ENTRIES: 'auditionEntries',\n\n // User history\n LIKE_HISTORY: 'likeHistory',\n SQUARE_STREETZ_LIKES: 'squareStreetzLikes',\n\n // Craft Skills & Feedback\n TAGGED_CRAFT_SKILLS: 'taggedCraftSkills',\n USER_SUGGESTIONS: 'userSuggestions',\n\n // Moderation\n CHANGED_DOCS: 'changedDocs',\n\n // Trust & Safety — report spine (§A1): the public, reporter-identity-free projection\n // is a deterministic child of the protected report root\n // (contentReports/{reportId}/publicProjection/{reportId}).\n REPORT_PUBLIC_PROJECTION: 'publicProjection',\n // Per-report idempotency markers under a report group\n // (activeReportGroups/{groupKey}/reportGroupCountedReports/{reportId}): the group's\n // totalReports increment is gated on the marker's ABSENCE, so a redelivered create event\n // never double-counts. Backend-only.\n REPORT_GROUP_COUNTED_REPORTS: 'reportGroupCountedReports',\n // Restricted reporter/requester PII subcollection, shared by the report spine\n // (contentReports/{reportId}/privateDetails/{snapshot,narrative}) and TAKE IT DOWN\n // (takeItDownRequests/{requestId}/privateDetails/requester). ONE shared compound value\n // serves both parents — never split per parent. Admin-read-only / server-only.\n PRIVATE: 'privateDetails',\n\n // Chat degraded-scope causes\n // (chatScopeDegraded/{scopeKey}/chatScopeDegradedCauses/{causeId}).\n CHAT_SCOPE_DEGRADED_CAUSES: 'chatScopeDegradedCauses',\n // Anonymization affected-chunk set (chatHistoryAnonymizationJobs/{jobId}/affectedChunks/{chunkOrdinal}).\n CHAT_ANONYMIZATION_AFFECTED_CHUNKS: 'affectedChunks',\n\n // Trust & Safety — child-safety case append-only detail (NEVER arrays).\n CHILD_SAFETY_SOURCE_SIGNALS: 'sourceSignals',\n CHILD_SAFETY_DECISIONS: 'childSafetyDecisions',\n CHILD_SAFETY_DECISION_VIEWS: 'childSafetyDecisionViews',\n CHILD_SAFETY_CASE_ACCOUNTS: 'childSafetyCaseAccounts',\n CHILD_SAFETY_CASE_ACCOUNT_HISTORY: 'childSafetyCaseAccountHistory',\n // Per-asset leg state of the possible-minor crossover (childSafetyCases/{caseId}/childSafetyCaseCrossoverItems/{mediaAssetId}).\n CHILD_SAFETY_CASE_CROSSOVER_ITEMS: 'childSafetyCaseCrossoverItems',\n CHILD_SAFETY_NCMEC_SUBMISSIONS: 'ncmecSubmissions',\n CHILD_SAFETY_NCMEC_SUBMISSION_FILES: 'ncmecSubmissionFiles',\n CHILD_SAFETY_LEGAL_PROCESS: 'legalProcess',\n // Immutable portal-filed NCMEC artifacts recorded on the case by the two step-up-gated\n // operator callables — the receipt artifact that gates `markNcmecPortalComplete`\n // (childSafetyCases/{caseId}/portalReceiptArtifacts/{artifactId}) and the correction record\n // that gates the corrected-no-apparent-violation disposition\n // (childSafetyCases/{caseId}/ncmecPortalCorrections/{correctionId}). Admin-SDK-only; both\n // segments were app-local literals until now.\n NCMEC_PORTAL_RECEIPT_ARTIFACTS: 'portalReceiptArtifacts',\n NCMEC_PORTAL_CORRECTIONS: 'ncmecPortalCorrections',\n // The single immutable completion-proof record bound to one NCMEC submission\n // (childSafetyCases/{caseId}/ncmecSubmissions/{submissionId}/ncmecCompletionProof/record).\n // A submission can never reach `completed` without this record existing — it is written\n // create-if-absent in the SAME transaction as the state transition.\n NCMEC_COMPLETION_PROOF: 'ncmecCompletionProof',\n\n // Trust & Safety — resource-command subcollections (§A3).\n SAFETY_RESOURCE_COMMAND_AUTHORIZED_REQUESTS: 'authorizedRequests',\n SAFETY_RESOURCE_COMMAND_BYPASS_REFS: 'bypassRefs',\n\n // Trust & Safety — evidence-job subcollections (§A4).\n SAFETY_EVIDENCE_JOB_ITEMS: 'safetyEvidenceJobItems',\n SAFETY_EVIDENCE_JOB_DISPOSITION: 'safetyEvidenceJobDisposition',\n\n // Trust & Safety — quarantine-saga subcollection (§A5).\n QUARANTINE_SAGA_RELATED_ASSETS: 'relatedAssets',\n\n // Trust & Safety — TAKE IT DOWN request subcollections (§A11). The restricted\n // requester-PII subcollection uses the shared `PRIVATE` constant above.\n TAKE_IT_DOWN_SUBMISSIONS: 'takeItDownSubmissions',\n TAKE_IT_DOWN_VALIDITY_DECISIONS: 'validityDecisions',\n TAKE_IT_DOWN_ACTIONS: 'takeItDownActions',\n TAKE_IT_DOWN_EVIDENCE: 'takeItDownEvidence',\n // The deletion-verification record the retention sweep keeps for each evidence object it removes\n // (…/takeItDownEvidenceDisposition/{evidenceId}). Its own subcollection, mirroring\n // `safetyEvidenceJobDisposition`, so `takeItDownActions` holds action rows only. Backend-only.\n TAKE_IT_DOWN_EVIDENCE_DISPOSITION: 'takeItDownEvidenceDisposition',\n // The RESTRICTED operator rationale row bound to one validity decision\n // (…/validityDecisions/{decisionId}/takeItDownValidityRationale/record) — the row the\n // decision's rationaleRef and the action's detailRef point at. Backend-only.\n TAKE_IT_DOWN_VALIDITY_RATIONALE: 'takeItDownValidityRationale',\n\n // Trust & Safety — NCII case subcollections (§A11).\n NCII_CASE_ALLEGATION_LINKS: 'allegationLinks',\n NCII_CASE_REQUEST_LINKS: 'requestLinks',\n NCII_CASE_REMOVAL_ACTIONS: 'removalActions',\n NCII_CASE_BLOCKED_HASHES: 'blockedHashes',\n // Append-only NCII case closure/reopen events (nciiCases/{caseId}/closureEvents/{eventId}).\n NCII_CASE_CLOSURE_EVENTS: 'closureEvents',\n\n // Trust & Safety — NCII removal-job targets (§A11).\n NCII_REMOVAL_TARGETS: 'nciiRemovalTargets',\n\n // Feedback lists under the server-only `_serverData/feedbackLists` container doc\n // (BACKEND-108): the alias map and the denylist submitFeedback consults via the Admin\n // SDK. Moved out of the top-level `feedbackAliases` / `feedbackDenylist` collections,\n // which were anonymously readable with no client reader.\n FEEDBACK_ALIASES: 'feedbackAliases',\n FEEDBACK_DENYLIST: 'feedbackDenylist',\n\n // Immutable published versions of one public document\n // (publicDocuments/{documentId}/publicDocumentVersions/{versionId}).\n PUBLIC_DOCUMENT_VERSIONS: 'publicDocumentVersions',\n} as const;\n\n/**\n * SPECIAL DOCUMENT PATHS\n * Static document IDs for singleton documents\n */\nexport const SPECIAL_DOCS = {\n ADMIN_LIST: 'adminList',\n APP_CONFIG: 'app',\n // Charter→full app-mode marker doc (_systemData/appMode) that recordAppModeFlip writes.\n APP_MODE: 'appMode',\n // The admin-managed system slots: video slots (_systemData/systemVideoSlots, signed-in) and\n // account slots (_appConfig/systemUidSlots, public).\n SYSTEM_VIDEO_SLOTS: 'systemVideoSlots',\n SYSTEM_UID_SLOTS: 'systemUidSlots',\n FUTURE_PLANS: 'futurePlans',\n // The Hall viewing-state doc id under userProfiles/{uid}/privateData/.\n HALL_LIBRARY_PREFERENCES: 'hallLibraryPreferences',\n PROFANITY_LIST: 'profanityList',\n RESERVED_USERNAMES: 'reservedUsernames',\n BLOCKED_FRANCHISE_NAMES: 'blockedFranchiseNames',\n RULES_AND_AGREEMENTS: 'rulesAndAgreements',\n // Editable content-page singletons under _appConfig (content-pages Firestore\n // migration, DJ ruling 2026-07-06): the ONLY source for /terms, /privacy, and\n // the /take-it-down page copy — no hardcoded fallbacks anywhere.\n TERMS_PAGE: 'termsOfService',\n PRIVACY_PAGE: 'privacyPolicy',\n TAKE_IT_DOWN_PAGE_COPY: 'takeItDownPageCopy',\n // The /dmca page's current projection (_appConfig/dmcaPolicy). Each of these page ids is\n // also that document's PublicDocumentId (constants/public-documents.ts).\n DMCA_POLICY: 'dmcaPolicy',\n // Also the doc id of the pledge running-totals singleton (pledgePaymentTotals/summary).\n SUMMARY: 'summary',\n\n // Trust & Safety — singleton global SLA-monitor heartbeat (safetyMonitorHeartbeat/global).\n SAFETY_MONITOR_HEARTBEAT_GLOBAL: 'global',\n\n // Trust & Safety — _serverData (server-only) singletons (§A7, §A11). Moved out of the\n // public _appConfig bucket: their only readers are Cloud Functions (BACKEND-108).\n AGE_POLICY: 'agePolicy',\n NCII_POLICY: 'nciiPolicy',\n PRIVILEGED_REVIEWER_SECURITY: 'privilegedReviewerSecurity',\n\n // _serverData container doc for the two submitFeedback lists. It holds no fields — it\n // exists only as the parent of the feedbackAliases / feedbackDenylist subcollections,\n // which moved out of the anonymously-readable top-level collections (BACKEND-108).\n FEEDBACK_LISTS: 'feedbackLists',\n\n // Trust & Safety — fixed-id TAKE IT DOWN request subdocs (§A11).\n TAKE_IT_DOWN_REQUESTER: 'requester', // takeItDownRequests/{requestId}/privateDetails/requester\n\n // The fixed doc id of a one-per-parent singleton row: the NCMEC completion proof\n // (…/ncmecCompletionProof/record) and the TAKE IT DOWN validity rationale\n // (…/takeItDownValidityRationale/record). ONE shared value serves both — never split.\n RECORD: 'record',\n\n // The Work's single hall-entry reservation doc (…/hallSubmissionReservation/reservation).\n HALL_SUBMISSION_RESERVATION: 'reservation',\n\n // Trust & Safety — fixed-id report-spine private subdocs (§A1).\n REPORT_SNAPSHOT: 'snapshot', // contentReports/{reportId}/privateDetails/snapshot\n REPORT_NARRATIVE: 'narrative', // contentReports/{reportId}/privateDetails/narrative\n // contentReports/{reportId}/privateDetails/narrativeEscalation — the NEW narrative typed\n // when an EXISTING ordinary report is escalated into a protected case (the original\n // narrative doc already exists, so a re-create would collide).\n REPORT_NARRATIVE_ESCALATION: 'narrativeEscalation',\n} as const;\n"]}
|
|
@@ -12,7 +12,6 @@ export declare const PATH_BUILDERS: {
|
|
|
12
12
|
readonly userMentionHistoryEntry: (userId: string, entryId: string) => [string, string, string, string];
|
|
13
13
|
readonly userCraftSkill: (userId: string, craftSkillId: string) => [string, string, string, string];
|
|
14
14
|
readonly userPrivateData: (userId: string) => [string, string, string, string];
|
|
15
|
-
readonly userMetadata: (userId: string) => [string, string, string, string];
|
|
16
15
|
readonly hallLibraryPreferences: (userId: string) => [string, string, string, string];
|
|
17
16
|
readonly followEdge: (followerUid: string, targetType: FollowableTargetType, targetId: string) => [string, string];
|
|
18
17
|
readonly followCounter: (targetType: FollowableTargetType, targetId: string) => [string, string];
|
|
@@ -138,7 +137,6 @@ export declare const PATH_BUILDERS: {
|
|
|
138
137
|
readonly childSafetyCaseAccountHistory: (caseId: string, uid: string, historyId: string) => [string, string, string, string, string, string];
|
|
139
138
|
readonly childSafetyNcmecSubmission: (caseId: string, submissionId: string) => [string, string, string, string];
|
|
140
139
|
readonly childSafetyNcmecSubmissionFile: (caseId: string, submissionId: string, fileId: string) => [string, string, string, string, string, string];
|
|
141
|
-
readonly childSafetyNcmecSubmissionAttempt: (caseId: string, submissionId: string, attemptId: string) => [string, string, string, string, string, string];
|
|
142
140
|
readonly childSafetyNcmecCompletionProof: (caseId: string, submissionId: string) => [string, string, string, string, string, string];
|
|
143
141
|
readonly childSafetyLegalProcessEvent: (caseId: string, eventId: string) => [string, string, string, string];
|
|
144
142
|
readonly childSafetyPortalReceiptArtifact: (caseId: string, artifactId: string) => [string, string, string, string];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path-builders.d.ts","sourceRoot":"","sources":["../../src/paths/path-builders.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"path-builders.d.ts","sourceRoot":"","sources":["../../src/paths/path-builders.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,10 +20,8 @@ export const PATH_BUILDERS = {
|
|
|
20
20
|
userMentionHistoryEntry: (userId, entryId) => [COLLECTIONS.USER_PROFILES, userId, USER_SUBCOLLECTIONS.MENTION_HISTORY, entryId],
|
|
21
21
|
userCraftSkill: (userId, craftSkillId) => [COLLECTIONS.USER_PROFILES, userId, USER_SUBCOLLECTIONS.PROFILE_CRAFT_SKILLS, craftSkillId],
|
|
22
22
|
userPrivateData: (userId) => [COLLECTIONS.USER_PROFILES, userId, USER_SUBCOLLECTIONS.PRIVATE_DATA, userId],
|
|
23
|
-
|
|
24
|
-
//
|
|
25
|
-
// userProfiles/{uid}/privateData/hallLibraryPreferences. Fixed-id privateData subdoc,
|
|
26
|
-
// same shape as userMetadata above.
|
|
23
|
+
// Per-user Hall viewing-state doc: userProfiles/{uid}/privateData/hallLibraryPreferences, a
|
|
24
|
+
// fixed-id privateData subdoc.
|
|
27
25
|
hallLibraryPreferences: (userId) => [COLLECTIONS.USER_PROFILES, userId, USER_SUBCOLLECTIONS.PRIVATE_DATA, SPECIAL_DOCS.HALL_LIBRARY_PREFERENCES],
|
|
28
26
|
// Generic follow edge: top-level `followEdges/{followerUid__targetType__targetId}`.
|
|
29
27
|
// Deterministic ID = O(1) follow-status check + dedupe; a composite index on
|
|
@@ -229,9 +227,6 @@ export const PATH_BUILDERS = {
|
|
|
229
227
|
childSafetyCaseAccountHistory: (caseId, uid, historyId) => [COLLECTIONS.CHILD_SAFETY_CASES, caseId, NESTED_SUBCOLLECTIONS.CHILD_SAFETY_CASE_ACCOUNTS, uid, NESTED_SUBCOLLECTIONS.CHILD_SAFETY_CASE_ACCOUNT_HISTORY, historyId],
|
|
230
228
|
childSafetyNcmecSubmission: (caseId, submissionId) => [COLLECTIONS.CHILD_SAFETY_CASES, caseId, NESTED_SUBCOLLECTIONS.CHILD_SAFETY_NCMEC_SUBMISSIONS, submissionId],
|
|
231
229
|
childSafetyNcmecSubmissionFile: (caseId, submissionId, fileId) => [COLLECTIONS.CHILD_SAFETY_CASES, caseId, NESTED_SUBCOLLECTIONS.CHILD_SAFETY_NCMEC_SUBMISSIONS, submissionId, NESTED_SUBCOLLECTIONS.CHILD_SAFETY_NCMEC_SUBMISSION_FILES, fileId],
|
|
232
|
-
// Per-submission NCMEC transmission attempt. Previously a `firestore.rules`-only segment
|
|
233
|
-
// with no ttt-core constant; the segment now has a single owner (NCMEC_SUBMISSION_ATTEMPTS).
|
|
234
|
-
childSafetyNcmecSubmissionAttempt: (caseId, submissionId, attemptId) => [COLLECTIONS.CHILD_SAFETY_CASES, caseId, NESTED_SUBCOLLECTIONS.CHILD_SAFETY_NCMEC_SUBMISSIONS, submissionId, NESTED_SUBCOLLECTIONS.NCMEC_SUBMISSION_ATTEMPTS, attemptId],
|
|
235
230
|
// The submission's single immutable completion-proof record. Fixed doc id — one proof per
|
|
236
231
|
// submission, written create-if-absent in the same transaction that marks the submission
|
|
237
232
|
// `completed`, so `completed` and its bound proof can never diverge.
|