@ttt-productions/ttt-core 0.7.17 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. package/dist/constants/scheduled-jobs.d.ts +0 -2
  2. package/dist/constants/scheduled-jobs.d.ts.map +1 -1
  3. package/dist/constants/scheduled-jobs.js +0 -6
  4. package/dist/constants/scheduled-jobs.js.map +1 -1
  5. package/dist/doc-schemas/audit.d.ts +105 -0
  6. package/dist/doc-schemas/audit.d.ts.map +1 -0
  7. package/dist/doc-schemas/audit.js +39 -0
  8. package/dist/doc-schemas/audit.js.map +1 -0
  9. package/dist/doc-schemas/commissions.d.ts +313 -0
  10. package/dist/doc-schemas/commissions.d.ts.map +1 -0
  11. package/dist/doc-schemas/commissions.js +80 -0
  12. package/dist/doc-schemas/commissions.js.map +1 -0
  13. package/dist/doc-schemas/content.d.ts +650 -0
  14. package/dist/doc-schemas/content.d.ts.map +1 -0
  15. package/dist/doc-schemas/content.js +182 -0
  16. package/dist/doc-schemas/content.js.map +1 -0
  17. package/dist/doc-schemas/index.d.ts +15 -0
  18. package/dist/doc-schemas/index.d.ts.map +1 -0
  19. package/dist/doc-schemas/index.js +20 -0
  20. package/dist/doc-schemas/index.js.map +1 -0
  21. package/dist/doc-schemas/messaging.d.ts +362 -0
  22. package/dist/doc-schemas/messaging.d.ts.map +1 -0
  23. package/dist/doc-schemas/messaging.js +62 -0
  24. package/dist/doc-schemas/messaging.js.map +1 -0
  25. package/dist/doc-schemas/moderation.d.ts +331 -0
  26. package/dist/doc-schemas/moderation.d.ts.map +1 -0
  27. package/dist/doc-schemas/moderation.js +70 -0
  28. package/dist/doc-schemas/moderation.js.map +1 -0
  29. package/dist/doc-schemas/notifications.d.ts +154 -0
  30. package/dist/doc-schemas/notifications.d.ts.map +1 -0
  31. package/dist/doc-schemas/notifications.js +42 -0
  32. package/dist/doc-schemas/notifications.js.map +1 -0
  33. package/dist/doc-schemas/operational.d.ts +48 -0
  34. package/dist/doc-schemas/operational.d.ts.map +1 -0
  35. package/dist/doc-schemas/operational.js +24 -0
  36. package/dist/doc-schemas/operational.js.map +1 -0
  37. package/dist/doc-schemas/publicUser.d.ts +31 -0
  38. package/dist/doc-schemas/publicUser.d.ts.map +1 -0
  39. package/dist/doc-schemas/publicUser.js +17 -0
  40. package/dist/doc-schemas/publicUser.js.map +1 -0
  41. package/dist/doc-schemas/registry.d.ts +12176 -0
  42. package/dist/doc-schemas/registry.d.ts.map +1 -0
  43. package/dist/doc-schemas/registry.js +125 -0
  44. package/dist/doc-schemas/registry.js.map +1 -0
  45. package/dist/doc-schemas/report-docs.d.ts +264 -0
  46. package/dist/doc-schemas/report-docs.d.ts.map +1 -0
  47. package/dist/doc-schemas/report-docs.js +92 -0
  48. package/dist/doc-schemas/report-docs.js.map +1 -0
  49. package/dist/doc-schemas/social.d.ts +201 -0
  50. package/dist/doc-schemas/social.d.ts.map +1 -0
  51. package/dist/doc-schemas/social.js +58 -0
  52. package/dist/doc-schemas/social.js.map +1 -0
  53. package/dist/doc-schemas/system.d.ts +19 -0
  54. package/dist/doc-schemas/system.d.ts.map +1 -0
  55. package/dist/doc-schemas/system.js +10 -0
  56. package/dist/doc-schemas/system.js.map +1 -0
  57. package/dist/doc-schemas/user.d.ts +296 -0
  58. package/dist/doc-schemas/user.d.ts.map +1 -0
  59. package/dist/doc-schemas/user.js +79 -0
  60. package/dist/doc-schemas/user.js.map +1 -0
  61. package/dist/doc-schemas/work-project.d.ts +320 -0
  62. package/dist/doc-schemas/work-project.d.ts.map +1 -0
  63. package/dist/doc-schemas/work-project.js +104 -0
  64. package/dist/doc-schemas/work-project.js.map +1 -0
  65. package/dist/media/atoms.d.ts +6 -6
  66. package/dist/media/domain-events.d.ts +172 -152
  67. package/dist/media/domain-events.d.ts.map +1 -1
  68. package/dist/media/domain-events.js +6 -4
  69. package/dist/media/domain-events.js.map +1 -1
  70. package/dist/media/pending-media.d.ts +1590 -1432
  71. package/dist/media/pending-media.d.ts.map +1 -1
  72. package/dist/media/start-upload.d.ts +2 -2
  73. package/dist/media/target-info.d.ts +27 -27
  74. package/dist/media/target-info.d.ts.map +1 -1
  75. package/dist/media/target-info.js +0 -5
  76. package/dist/media/target-info.js.map +1 -1
  77. package/dist/media/ttt-media-specs.d.ts.map +1 -1
  78. package/dist/media/ttt-media-specs.js +13 -4
  79. package/dist/media/ttt-media-specs.js.map +1 -1
  80. package/dist/paths/collection-refs.d.ts +2 -1
  81. package/dist/paths/collection-refs.d.ts.map +1 -1
  82. package/dist/paths/collection-refs.js +2 -1
  83. package/dist/paths/collection-refs.js.map +1 -1
  84. package/dist/paths/collections.d.ts +2 -3
  85. package/dist/paths/collections.d.ts.map +1 -1
  86. package/dist/paths/collections.js +2 -3
  87. package/dist/paths/collections.js.map +1 -1
  88. package/dist/paths/path-builders.d.ts +3 -2
  89. package/dist/paths/path-builders.d.ts.map +1 -1
  90. package/dist/paths/path-builders.js +5 -2
  91. package/dist/paths/path-builders.js.map +1 -1
  92. package/dist/schemas/admin-dispatch-actions.d.ts +4 -4
  93. package/dist/schemas/admin.d.ts +48 -49
  94. package/dist/schemas/admin.d.ts.map +1 -1
  95. package/dist/schemas/chat.d.ts +47 -17
  96. package/dist/schemas/chat.d.ts.map +1 -1
  97. package/dist/schemas/chat.js +4 -4
  98. package/dist/schemas/chat.js.map +1 -1
  99. package/dist/schemas/hall-library.d.ts +8 -8
  100. package/dist/schemas/notification.d.ts +35 -14
  101. package/dist/schemas/notification.d.ts.map +1 -1
  102. package/dist/schemas/notification.js +10 -0
  103. package/dist/schemas/notification.js.map +1 -1
  104. package/dist/schemas/social.d.ts +27 -18
  105. package/dist/schemas/social.d.ts.map +1 -1
  106. package/dist/schemas/social.js +9 -6
  107. package/dist/schemas/social.js.map +1 -1
  108. package/dist/schemas/users.d.ts +2 -2
  109. package/dist/schemas/utility.d.ts +18 -0
  110. package/dist/schemas/utility.d.ts.map +1 -1
  111. package/dist/schemas/utility.js +10 -0
  112. package/dist/schemas/utility.js.map +1 -1
  113. package/dist/schemas/work-project-management.d.ts +34 -34
  114. package/dist/types/admin.d.ts +1 -1
  115. package/dist/types/admin.d.ts.map +1 -1
  116. package/dist/types/audit.d.ts +1 -1
  117. package/dist/types/audit.d.ts.map +1 -1
  118. package/dist/types/commissions.d.ts +1 -83
  119. package/dist/types/commissions.d.ts.map +1 -1
  120. package/dist/types/content.d.ts +5 -176
  121. package/dist/types/content.d.ts.map +1 -1
  122. package/dist/types/content.js.map +1 -1
  123. package/dist/types/messaging.d.ts +1 -64
  124. package/dist/types/messaging.d.ts.map +1 -1
  125. package/dist/types/moderation.d.ts +1 -57
  126. package/dist/types/moderation.d.ts.map +1 -1
  127. package/dist/types/publicUser.d.ts +1 -10
  128. package/dist/types/publicUser.d.ts.map +1 -1
  129. package/dist/types/social.d.ts +4 -38
  130. package/dist/types/social.d.ts.map +1 -1
  131. package/dist/types/system.d.ts +1 -25
  132. package/dist/types/system.d.ts.map +1 -1
  133. package/dist/types/user.d.ts +1 -55
  134. package/dist/types/user.d.ts.map +1 -1
  135. package/dist/types/work-project.d.ts +7 -101
  136. package/dist/types/work-project.d.ts.map +1 -1
  137. package/dist/types/work-project.js +10 -1
  138. package/dist/types/work-project.js.map +1 -1
  139. package/dist/upload-variables/create-admin-audition-variables.d.ts +2 -2
  140. package/dist/upload-variables/create-commission-variables.d.ts +4 -4
  141. package/dist/upload-variables/create-work-project-audition-variables.d.ts +4 -4
  142. package/dist/upload-variables/square-streetz-post-variables.d.ts +6 -6
  143. package/dist/upload-variables/upload-work-asset-variables.d.ts +43 -4
  144. package/dist/upload-variables/upload-work-asset-variables.d.ts.map +1 -1
  145. package/package.json +7 -3
@@ -0,0 +1,182 @@
1
+ // Content Firestore document SCHEMAS — Tales/Tunes/Television sub-documents, the
2
+ // Threshold + Hall library item shapes, Hall library user preferences, and the
3
+ // `_config` singleton docs (futurePlans, rulesAndAgreements). Types are inferred via
4
+ // z.infer. The enum-key consts (HALL_WING_TYPE_KEYS / WORK_PROJECT_TYPE_KEYS) and the
5
+ // UI-only filter/view types remain in ../types/content.ts.
6
+ import { z } from 'zod';
7
+ import { HALL_WING_TYPE_KEYS, WORK_PROJECT_TYPE_KEYS } from '../types/content.js';
8
+ const contentStatusSchema = z.enum(['unpublished', 'pending_approval', 'published']);
9
+ export const ItemsKeySchema = z.enum(['tuneTracks', 'chapters', 'televisionEpisodes']);
10
+ // --- WorkProject content sub-docs ---
11
+ export const FullTaleSchema = z.object({
12
+ uid: z.string(),
13
+ title: z.string(),
14
+ description: z.string(),
15
+ createdOn: z.number(),
16
+ coverPhotoSquare: z.string().optional(),
17
+ coverPhotoPoster: z.string().optional(),
18
+ coverPhotoCinematic: z.string().optional(),
19
+ workGenres: z.array(z.string()).optional(),
20
+ });
21
+ export const FullChapterSchema = z.object({
22
+ uid: z.string(),
23
+ title: z.string(),
24
+ content: z.string(),
25
+ description: z.string(),
26
+ order: z.number(),
27
+ photoUrl: z.string().optional(),
28
+ status: contentStatusSchema,
29
+ createdOn: z.number(),
30
+ });
31
+ export const FullTuneSchema = z.object({
32
+ uid: z.string(),
33
+ title: z.string(),
34
+ description: z.string(),
35
+ coverPhotoSquare: z.string().optional(),
36
+ coverPhotoPoster: z.string().optional(),
37
+ coverPhotoCinematic: z.string().optional(),
38
+ workGenres: z.array(z.string()),
39
+ createdOn: z.number(),
40
+ });
41
+ export const FullTuneTrackSchema = z.object({
42
+ uid: z.string(),
43
+ title: z.string(),
44
+ description: z.string().optional(),
45
+ fileUrl: z.string().optional(),
46
+ mediaType: z.string().optional(),
47
+ order: z.number(),
48
+ photoUrl: z.string().optional(),
49
+ status: contentStatusSchema,
50
+ createdOn: z.number(),
51
+ });
52
+ export const FullTelevisionSchema = z.object({
53
+ uid: z.string(),
54
+ title: z.string(),
55
+ description: z.string(),
56
+ createdOn: z.number(),
57
+ coverPhotoSquare: z.string().optional(),
58
+ coverPhotoPoster: z.string().optional(),
59
+ coverPhotoCinematic: z.string().optional(),
60
+ workGenres: z.array(z.string()),
61
+ });
62
+ export const FullTelevisionEpisodeSchema = z.object({
63
+ uid: z.string(),
64
+ title: z.string(),
65
+ description: z.string().optional(),
66
+ videoUrl: z.string(),
67
+ mediaType: z.string().optional(),
68
+ order: z.number(),
69
+ photoUrl: z.string().optional(),
70
+ status: contentStatusSchema,
71
+ createdOn: z.number(),
72
+ });
73
+ // --- Threshold + Hall library items ---
74
+ export const ThresholdItemSchema = z.object({
75
+ thresholdItemId: z.string(),
76
+ hallItemId: z.string(),
77
+ workProjectId: z.string(),
78
+ workProjectType: z.enum(WORK_PROJECT_TYPE_KEYS),
79
+ itemId: z.string(),
80
+ itemsKey: ItemsKeySchema,
81
+ order: z.number(),
82
+ hallWingType: z.enum(HALL_WING_TYPE_KEYS),
83
+ submittedAt: z.number(),
84
+ reviewStatus: z.enum(['pending', 'needs_revision', 'approved']),
85
+ adminNotes: z.string().optional(),
86
+ reviewedAt: z.number().optional(),
87
+ reviewedBy: z.string().optional(),
88
+ });
89
+ export const PublishedHallItemSchema = z.object({
90
+ hallItemId: z.string(),
91
+ workProjectId: z.string(),
92
+ workProjectType: z.enum(WORK_PROJECT_TYPE_KEYS),
93
+ status: z.enum(['published', 'paused', 'banned']),
94
+ createdOn: z.number(),
95
+ publishedAt: z.number().optional(),
96
+ hallWingType: z.enum(HALL_WING_TYPE_KEYS),
97
+ title: z.string().optional(),
98
+ description: z.string().optional(),
99
+ coverPhotoSquare: z.string().optional(),
100
+ coverPhotoPoster: z.string().optional(),
101
+ coverPhotoCinematic: z.string().optional(),
102
+ workGenres: z.array(z.string()).optional(),
103
+ totalPledgePayments: z.number().optional(),
104
+ pledgePaymentCount: z.number().optional(),
105
+ viewCount: z.number().optional(),
106
+ followerCount: z.number().optional(),
107
+ hidden: z.boolean().optional(),
108
+ });
109
+ export const PublishedTuneTrackSchema = z.object({
110
+ uid: z.string(),
111
+ title: z.string(),
112
+ order: z.number(),
113
+ description: z.string().optional(),
114
+ fileUrl: z.string(),
115
+ photoUrl: z.string().optional(),
116
+ hidden: z.boolean().optional(),
117
+ });
118
+ export const PublishedChapterSchema = z.object({
119
+ uid: z.string(),
120
+ title: z.string(),
121
+ order: z.number(),
122
+ description: z.string().optional(),
123
+ content: z.string(),
124
+ photoUrl: z.string().optional(),
125
+ hidden: z.boolean().optional(),
126
+ });
127
+ export const PublishedTelevisionEpisodeSchema = z.object({
128
+ uid: z.string(),
129
+ title: z.string(),
130
+ order: z.number(),
131
+ description: z.string().optional(),
132
+ videoUrl: z.string(),
133
+ photoUrl: z.string().optional(),
134
+ hidden: z.boolean().optional(),
135
+ });
136
+ // --- Hall library user preferences ---
137
+ export const HallLibraryPreferencesSchema = z.object({
138
+ userId: z.string(),
139
+ hiddenItems: z.array(z.string()),
140
+ followedItems: z.array(z.string()),
141
+ bookmarkedItems: z.array(z.string()),
142
+ inProgressItems: z.array(z.string()),
143
+ recentlyViewed: z.array(z.object({ itemId: z.string(), viewedAt: z.number() })),
144
+ lastUpdated: z.number(),
145
+ });
146
+ // --- _config singleton docs ---
147
+ export const FuturePlanItemSchema = z.object({
148
+ id: z.string(),
149
+ title: z.string(),
150
+ description: z.string(),
151
+ order: z.number(),
152
+ videoUrl: z.string().optional(),
153
+ mediaType: z.enum(['video', 'image', 'audio', 'other']).optional(),
154
+ });
155
+ export const FuturePlansDocumentSchema = z.object({
156
+ lastUpdated: z.number(),
157
+ plans: z.array(FuturePlanItemSchema),
158
+ });
159
+ export const RuleGroupSchema = z.enum(['generic', 'workProjectType', 'hallWingType', 'workRealm', 'merchandising']);
160
+ export const RuleSubgroupSchema = z.enum(['Tales', 'Tunes', 'Television', 'entertainment', 'educational', 'newsPolitical']);
161
+ export const RuleSchema = z.object({
162
+ id: z.string(),
163
+ title: z.string(),
164
+ description: z.string(),
165
+ videoUrl: z.string().optional(),
166
+ group: RuleGroupSchema.optional(),
167
+ subgroup: RuleSubgroupSchema.optional(),
168
+ order: z.number(),
169
+ });
170
+ export const AgreementCategorySchema = z.object({
171
+ points: z.array(z.string()),
172
+ videoUrl: z.string().optional(),
173
+ });
174
+ export const RulesAndAgreementsSchema = z.object({
175
+ rules: z.array(RuleSchema),
176
+ agreements: z.object({
177
+ tales: AgreementCategorySchema.optional(),
178
+ tunes: AgreementCategorySchema.optional(),
179
+ television: AgreementCategorySchema.optional(),
180
+ }),
181
+ });
182
+ //# sourceMappingURL=content.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content.js","sourceRoot":"","sources":["../../src/doc-schemas/content.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,+EAA+E;AAC/E,qFAAqF;AACrF,sFAAsF;AACtF,2DAA2D;AAE3D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElF,MAAM,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,kBAAkB,EAAE,WAAW,CAAC,CAAC,CAAC;AAErF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,UAAU,EAAE,oBAAoB,CAAC,CAAC,CAAC;AAGvF,uCAAuC;AAEvC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACvC,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACvC,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1C,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC3C,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,MAAM,EAAE,mBAAmB;IAC3B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACvC,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACvC,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1C,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC/B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,MAAM,EAAE,mBAAmB;IAC3B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACvC,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACvC,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1C,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAChC,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,MAAM,EAAE,mBAAmB;IAC3B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC;AAGH,yCAAyC;AAEzC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE;IAC3B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IACzB,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC;IAC/C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,QAAQ,EAAE,cAAc;IACxB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;IACzC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC;IAC/D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IACzB,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC;IAC/C,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACjD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;IACzC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACvC,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACvC,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1C,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC1C,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1C,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC,MAAM,CAAC;IACvD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC;AAGH,wCAAwC;AAExC,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAChC,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClC,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACpC,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACpC,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC/E,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;CACxB,CAAC,CAAC;AAGH,iCAAiC;AAEjC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE;CACnE,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC;CACrC,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,iBAAiB,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC;AAGpH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC,CAAC;AAG5H,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,KAAK,EAAE,eAAe,CAAC,QAAQ,EAAE;IACjC,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,EAAE;IACvC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;CAClB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC3B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;IAC1B,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;QACnB,KAAK,EAAE,uBAAuB,CAAC,QAAQ,EAAE;QACzC,KAAK,EAAE,uBAAuB,CAAC,QAAQ,EAAE;QACzC,UAAU,EAAE,uBAAuB,CAAC,QAAQ,EAAE;KAC/C,CAAC;CACH,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ export * from './user.js';
2
+ export * from './publicUser.js';
3
+ export * from './work-project.js';
4
+ export * from './content.js';
5
+ export * from './social.js';
6
+ export * from './commissions.js';
7
+ export * from './messaging.js';
8
+ export * from './system.js';
9
+ export * from './moderation.js';
10
+ export * from './report-docs.js';
11
+ export * from './audit.js';
12
+ export * from './notifications.js';
13
+ export * from './operational.js';
14
+ export * from './registry.js';
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/doc-schemas/index.ts"],"names":[],"mappings":"AAMA,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC"}
@@ -0,0 +1,20 @@
1
+ // Barrel for the Firestore document SCHEMAS (Zod) and the collection registry.
2
+ // Exposed on the `@ttt-productions/ttt-core/doc-schemas` subpath. The schema registry
3
+ // (COLLECTION_SCHEMAS) is consumed by the schema-doc generator (ttt-packages) and the
4
+ // drift-check (ttt-prod). Document TYPES are inferred from these schemas and surface on
5
+ // the main barrel via ../types/*; this subpath is the home of the runtime schemas.
6
+ export * from './user.js';
7
+ export * from './publicUser.js';
8
+ export * from './work-project.js';
9
+ export * from './content.js';
10
+ export * from './social.js';
11
+ export * from './commissions.js';
12
+ export * from './messaging.js';
13
+ export * from './system.js';
14
+ export * from './moderation.js';
15
+ export * from './report-docs.js';
16
+ export * from './audit.js';
17
+ export * from './notifications.js';
18
+ export * from './operational.js';
19
+ export * from './registry.js';
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/doc-schemas/index.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,sFAAsF;AACtF,sFAAsF;AACtF,wFAAwF;AACxF,mFAAmF;AAEnF,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC"}
@@ -0,0 +1,362 @@
1
+ import { z } from 'zod';
2
+ export declare const GuildChatChannelSchema: z.ZodObject<{
3
+ guildChatChannelId: z.ZodString;
4
+ workProjectId: z.ZodString;
5
+ channelName: z.ZodString;
6
+ description: z.ZodOptional<z.ZodString>;
7
+ requiredGuildStandings: z.ZodArray<z.ZodString, "many">;
8
+ allowedUserIds: z.ZodArray<z.ZodString, "many">;
9
+ createdAt: z.ZodNumber;
10
+ createdBy: z.ZodString;
11
+ lastMessageAt: z.ZodOptional<z.ZodString>;
12
+ lastMessage: z.ZodOptional<z.ZodString>;
13
+ messageCount: z.ZodNumber;
14
+ isArchived: z.ZodBoolean;
15
+ }, "strip", z.ZodTypeAny, {
16
+ workProjectId: string;
17
+ createdAt: number;
18
+ createdBy: string;
19
+ guildChatChannelId: string;
20
+ channelName: string;
21
+ requiredGuildStandings: string[];
22
+ allowedUserIds: string[];
23
+ messageCount: number;
24
+ isArchived: boolean;
25
+ description?: string | undefined;
26
+ lastMessageAt?: string | undefined;
27
+ lastMessage?: string | undefined;
28
+ }, {
29
+ workProjectId: string;
30
+ createdAt: number;
31
+ createdBy: string;
32
+ guildChatChannelId: string;
33
+ channelName: string;
34
+ requiredGuildStandings: string[];
35
+ allowedUserIds: string[];
36
+ messageCount: number;
37
+ isArchived: boolean;
38
+ description?: string | undefined;
39
+ lastMessageAt?: string | undefined;
40
+ lastMessage?: string | undefined;
41
+ }>;
42
+ export type GuildChatChannel = z.infer<typeof GuildChatChannelSchema>;
43
+ export declare const GuildInviteConversationSchema: z.ZodObject<{
44
+ guildInviteId: z.ZodString;
45
+ workProjectId: z.ZodString;
46
+ relatedUserIds: z.ZodArray<z.ZodString, "many">;
47
+ workProjectTitle: z.ZodString;
48
+ workProject: z.ZodObject<{
49
+ workProjectId: z.ZodString;
50
+ workingTitle: z.ZodString;
51
+ type: z.ZodString;
52
+ workingDescription: z.ZodString;
53
+ }, "strip", z.ZodTypeAny, {
54
+ type: string;
55
+ workProjectId: string;
56
+ workingTitle: string;
57
+ workingDescription: string;
58
+ }, {
59
+ type: string;
60
+ workProjectId: string;
61
+ workingTitle: string;
62
+ workingDescription: string;
63
+ }>;
64
+ workSteward: z.ZodObject<{
65
+ uid: z.ZodString;
66
+ }, "strip", z.ZodTypeAny, {
67
+ uid: string;
68
+ }, {
69
+ uid: string;
70
+ }>;
71
+ sender: z.ZodObject<{
72
+ uid: z.ZodString;
73
+ }, "strip", z.ZodTypeAny, {
74
+ uid: string;
75
+ }, {
76
+ uid: string;
77
+ }>;
78
+ recipient: z.ZodObject<{
79
+ uid: z.ZodString;
80
+ }, "strip", z.ZodTypeAny, {
81
+ uid: string;
82
+ }, {
83
+ uid: string;
84
+ }>;
85
+ stakeSharesOffered: z.ZodNumber;
86
+ source: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
87
+ type: z.ZodLiteral<"standalone">;
88
+ }, "strict", z.ZodTypeAny, {
89
+ type: "standalone";
90
+ }, {
91
+ type: "standalone";
92
+ }>, z.ZodObject<{
93
+ type: z.ZodLiteral<"craftSkill">;
94
+ data: z.ZodObject<{
95
+ craftSkillId: z.ZodString;
96
+ craftSkillOwnerUserId: z.ZodString;
97
+ craftSkillName: z.ZodString;
98
+ }, "strict", z.ZodTypeAny, {
99
+ craftSkillId: string;
100
+ craftSkillName: string;
101
+ craftSkillOwnerUserId: string;
102
+ }, {
103
+ craftSkillId: string;
104
+ craftSkillName: string;
105
+ craftSkillOwnerUserId: string;
106
+ }>;
107
+ }, "strict", z.ZodTypeAny, {
108
+ type: "craftSkill";
109
+ data: {
110
+ craftSkillId: string;
111
+ craftSkillName: string;
112
+ craftSkillOwnerUserId: string;
113
+ };
114
+ }, {
115
+ type: "craftSkill";
116
+ data: {
117
+ craftSkillId: string;
118
+ craftSkillName: string;
119
+ craftSkillOwnerUserId: string;
120
+ };
121
+ }>, z.ZodObject<{
122
+ type: z.ZodLiteral<"commission">;
123
+ data: z.ZodObject<{
124
+ commissionListingId: z.ZodString;
125
+ commissionProposalId: z.ZodString;
126
+ commissionTitle: z.ZodString;
127
+ proposalArtisanUserId: z.ZodString;
128
+ postingStakeSharesOffered: z.ZodNumber;
129
+ }, "strict", z.ZodTypeAny, {
130
+ commissionListingId: string;
131
+ commissionProposalId: string;
132
+ commissionTitle: string;
133
+ proposalArtisanUserId: string;
134
+ postingStakeSharesOffered: number;
135
+ }, {
136
+ commissionListingId: string;
137
+ commissionProposalId: string;
138
+ commissionTitle: string;
139
+ proposalArtisanUserId: string;
140
+ postingStakeSharesOffered: number;
141
+ }>;
142
+ }, "strict", z.ZodTypeAny, {
143
+ type: "commission";
144
+ data: {
145
+ commissionListingId: string;
146
+ commissionProposalId: string;
147
+ commissionTitle: string;
148
+ proposalArtisanUserId: string;
149
+ postingStakeSharesOffered: number;
150
+ };
151
+ }, {
152
+ type: "commission";
153
+ data: {
154
+ commissionListingId: string;
155
+ commissionProposalId: string;
156
+ commissionTitle: string;
157
+ proposalArtisanUserId: string;
158
+ postingStakeSharesOffered: number;
159
+ };
160
+ }>, z.ZodObject<{
161
+ type: z.ZodLiteral<"audition">;
162
+ data: z.ZodObject<{
163
+ auditionId: z.ZodString;
164
+ auditionEntryId: z.ZodString;
165
+ auditionTitle: z.ZodString;
166
+ respondentUserId: z.ZodString;
167
+ postingStakeSharesOffered: z.ZodNumber;
168
+ }, "strict", z.ZodTypeAny, {
169
+ auditionId: string;
170
+ auditionEntryId: string;
171
+ postingStakeSharesOffered: number;
172
+ auditionTitle: string;
173
+ respondentUserId: string;
174
+ }, {
175
+ auditionId: string;
176
+ auditionEntryId: string;
177
+ postingStakeSharesOffered: number;
178
+ auditionTitle: string;
179
+ respondentUserId: string;
180
+ }>;
181
+ }, "strict", z.ZodTypeAny, {
182
+ type: "audition";
183
+ data: {
184
+ auditionId: string;
185
+ auditionEntryId: string;
186
+ postingStakeSharesOffered: number;
187
+ auditionTitle: string;
188
+ respondentUserId: string;
189
+ };
190
+ }, {
191
+ type: "audition";
192
+ data: {
193
+ auditionId: string;
194
+ auditionEntryId: string;
195
+ postingStakeSharesOffered: number;
196
+ auditionTitle: string;
197
+ respondentUserId: string;
198
+ };
199
+ }>]>;
200
+ status: z.ZodEnum<["pending", "accepted", "declined", "cancelled", "finalized", "error"]>;
201
+ createdAt: z.ZodNumber;
202
+ updatedAt: z.ZodNumber;
203
+ finalizedAt: z.ZodOptional<z.ZodNumber>;
204
+ senderConfirmed: z.ZodBoolean;
205
+ recipientConfirmed: z.ZodBoolean;
206
+ lastMessage: z.ZodOptional<z.ZodString>;
207
+ lastMessageAt: z.ZodOptional<z.ZodString>;
208
+ }, "strip", z.ZodTypeAny, {
209
+ status: "pending" | "accepted" | "declined" | "cancelled" | "finalized" | "error";
210
+ workProjectId: string;
211
+ createdAt: number;
212
+ workProject: {
213
+ type: string;
214
+ workProjectId: string;
215
+ workingTitle: string;
216
+ workingDescription: string;
217
+ };
218
+ guildInviteId: string;
219
+ stakeSharesOffered: number;
220
+ source: {
221
+ type: "standalone";
222
+ } | {
223
+ type: "craftSkill";
224
+ data: {
225
+ craftSkillId: string;
226
+ craftSkillName: string;
227
+ craftSkillOwnerUserId: string;
228
+ };
229
+ } | {
230
+ type: "commission";
231
+ data: {
232
+ commissionListingId: string;
233
+ commissionProposalId: string;
234
+ commissionTitle: string;
235
+ proposalArtisanUserId: string;
236
+ postingStakeSharesOffered: number;
237
+ };
238
+ } | {
239
+ type: "audition";
240
+ data: {
241
+ auditionId: string;
242
+ auditionEntryId: string;
243
+ postingStakeSharesOffered: number;
244
+ auditionTitle: string;
245
+ respondentUserId: string;
246
+ };
247
+ };
248
+ relatedUserIds: string[];
249
+ workProjectTitle: string;
250
+ workSteward: {
251
+ uid: string;
252
+ };
253
+ sender: {
254
+ uid: string;
255
+ };
256
+ recipient: {
257
+ uid: string;
258
+ };
259
+ updatedAt: number;
260
+ senderConfirmed: boolean;
261
+ recipientConfirmed: boolean;
262
+ lastMessageAt?: string | undefined;
263
+ lastMessage?: string | undefined;
264
+ finalizedAt?: number | undefined;
265
+ }, {
266
+ status: "pending" | "accepted" | "declined" | "cancelled" | "finalized" | "error";
267
+ workProjectId: string;
268
+ createdAt: number;
269
+ workProject: {
270
+ type: string;
271
+ workProjectId: string;
272
+ workingTitle: string;
273
+ workingDescription: string;
274
+ };
275
+ guildInviteId: string;
276
+ stakeSharesOffered: number;
277
+ source: {
278
+ type: "standalone";
279
+ } | {
280
+ type: "craftSkill";
281
+ data: {
282
+ craftSkillId: string;
283
+ craftSkillName: string;
284
+ craftSkillOwnerUserId: string;
285
+ };
286
+ } | {
287
+ type: "commission";
288
+ data: {
289
+ commissionListingId: string;
290
+ commissionProposalId: string;
291
+ commissionTitle: string;
292
+ proposalArtisanUserId: string;
293
+ postingStakeSharesOffered: number;
294
+ };
295
+ } | {
296
+ type: "audition";
297
+ data: {
298
+ auditionId: string;
299
+ auditionEntryId: string;
300
+ postingStakeSharesOffered: number;
301
+ auditionTitle: string;
302
+ respondentUserId: string;
303
+ };
304
+ };
305
+ relatedUserIds: string[];
306
+ workProjectTitle: string;
307
+ workSteward: {
308
+ uid: string;
309
+ };
310
+ sender: {
311
+ uid: string;
312
+ };
313
+ recipient: {
314
+ uid: string;
315
+ };
316
+ updatedAt: number;
317
+ senderConfirmed: boolean;
318
+ recipientConfirmed: boolean;
319
+ lastMessageAt?: string | undefined;
320
+ lastMessage?: string | undefined;
321
+ finalizedAt?: number | undefined;
322
+ }>;
323
+ export type GuildInviteConversation = z.infer<typeof GuildInviteConversationSchema>;
324
+ export declare const AdminDispatchSchema: z.ZodObject<{
325
+ adminDispatchId: z.ZodString;
326
+ userId: z.ZodString;
327
+ initiatorUserId: z.ZodString;
328
+ initiatedBy: z.ZodEnum<["user", "admin"]>;
329
+ subject: z.ZodString;
330
+ status: z.ZodEnum<["open", "user_reply", "admin_reply", "closed_resolved", "closed_unresolved"]>;
331
+ createdAt: z.ZodNumber;
332
+ lastUpdatedAt: z.ZodNumber;
333
+ readByAdmin: z.ZodBoolean;
334
+ readByUser: z.ZodBoolean;
335
+ closedBy: z.ZodOptional<z.ZodString>;
336
+ }, "strip", z.ZodTypeAny, {
337
+ status: "open" | "user_reply" | "admin_reply" | "closed_resolved" | "closed_unresolved";
338
+ userId: string;
339
+ createdAt: number;
340
+ lastUpdatedAt: number;
341
+ adminDispatchId: string;
342
+ initiatorUserId: string;
343
+ initiatedBy: "user" | "admin";
344
+ subject: string;
345
+ readByAdmin: boolean;
346
+ readByUser: boolean;
347
+ closedBy?: string | undefined;
348
+ }, {
349
+ status: "open" | "user_reply" | "admin_reply" | "closed_resolved" | "closed_unresolved";
350
+ userId: string;
351
+ createdAt: number;
352
+ lastUpdatedAt: number;
353
+ adminDispatchId: string;
354
+ initiatorUserId: string;
355
+ initiatedBy: "user" | "admin";
356
+ subject: string;
357
+ readByAdmin: boolean;
358
+ readByUser: boolean;
359
+ closedBy?: string | undefined;
360
+ }>;
361
+ export type AdminDispatch = z.infer<typeof AdminDispatchSchema>;
362
+ //# sourceMappingURL=messaging.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messaging.d.ts","sourceRoot":"","sources":["../../src/doc-schemas/messaging.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAejC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwBxC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAY9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
@@ -0,0 +1,62 @@
1
+ // Messaging parent-thread Firestore document SCHEMAS — guildChatChannels, the
2
+ // guildInviteConversations shell, and pendingAdminDispatches. Per-message body shapes
3
+ // live in @ttt-productions/chat-core (ChatMessageV1); ttt-core owns the thread docs.
4
+ // Types inferred via z.infer.
5
+ import { z } from 'zod';
6
+ import { InviteSourceSchema } from '../schemas/work-project-management.js';
7
+ const userRefSchema = z.object({ uid: z.string() });
8
+ export const GuildChatChannelSchema = z.object({
9
+ guildChatChannelId: z.string(),
10
+ workProjectId: z.string(),
11
+ channelName: z.string(),
12
+ description: z.string().optional(),
13
+ requiredGuildStandings: z.array(z.string()),
14
+ allowedUserIds: z.array(z.string()),
15
+ createdAt: z.number(),
16
+ // NOTE: createdBy here is a flat uid string (unlike the `{ uid }` object form on
17
+ // most other docs). Preserved as-is; flagged in the schema-registry recon.
18
+ createdBy: z.string(),
19
+ lastMessageAt: z.string().optional(),
20
+ lastMessage: z.string().optional(),
21
+ messageCount: z.number(),
22
+ isArchived: z.boolean(),
23
+ });
24
+ export const GuildInviteConversationSchema = z.object({
25
+ guildInviteId: z.string(),
26
+ workProjectId: z.string(),
27
+ relatedUserIds: z.array(z.string()),
28
+ workProjectTitle: z.string(),
29
+ workProject: z.object({
30
+ workProjectId: z.string(),
31
+ workingTitle: z.string(),
32
+ type: z.string(),
33
+ workingDescription: z.string(),
34
+ }),
35
+ workSteward: userRefSchema,
36
+ sender: userRefSchema,
37
+ recipient: userRefSchema,
38
+ stakeSharesOffered: z.number(),
39
+ source: InviteSourceSchema,
40
+ status: z.enum(['pending', 'accepted', 'declined', 'cancelled', 'finalized', 'error']),
41
+ createdAt: z.number(),
42
+ updatedAt: z.number(),
43
+ finalizedAt: z.number().optional(),
44
+ senderConfirmed: z.boolean(),
45
+ recipientConfirmed: z.boolean(),
46
+ lastMessage: z.string().optional(),
47
+ lastMessageAt: z.string().optional(),
48
+ });
49
+ export const AdminDispatchSchema = z.object({
50
+ adminDispatchId: z.string(),
51
+ userId: z.string(),
52
+ initiatorUserId: z.string(),
53
+ initiatedBy: z.enum(['user', 'admin']),
54
+ subject: z.string(),
55
+ status: z.enum(['open', 'user_reply', 'admin_reply', 'closed_resolved', 'closed_unresolved']),
56
+ createdAt: z.number(),
57
+ lastUpdatedAt: z.number(),
58
+ readByAdmin: z.boolean(),
59
+ readByUser: z.boolean(),
60
+ closedBy: z.string().optional(),
61
+ });
62
+ //# sourceMappingURL=messaging.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messaging.js","sourceRoot":"","sources":["../../src/doc-schemas/messaging.ts"],"names":[],"mappings":"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"}