@commonpub/server 2.88.0 → 2.90.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 (183) hide show
  1. package/dist/admin/admin.d.ts +9 -0
  2. package/dist/admin/admin.d.ts.map +1 -1
  3. package/dist/admin/admin.js +50 -13
  4. package/dist/admin/admin.js.map +1 -1
  5. package/dist/content/content.d.ts +0 -5
  6. package/dist/content/content.d.ts.map +1 -1
  7. package/dist/content/content.js +118 -122
  8. package/dist/content/content.js.map +1 -1
  9. package/dist/content/index.d.ts +1 -1
  10. package/dist/content/index.d.ts.map +1 -1
  11. package/dist/content/index.js +1 -1
  12. package/dist/content/index.js.map +1 -1
  13. package/dist/contest/contest.d.ts +7 -300
  14. package/dist/contest/contest.d.ts.map +1 -1
  15. package/dist/contest/contest.js +99 -882
  16. package/dist/contest/contest.js.map +1 -1
  17. package/dist/contest/entries.d.ts +41 -0
  18. package/dist/contest/entries.d.ts.map +1 -0
  19. package/dist/contest/entries.js +285 -0
  20. package/dist/contest/entries.js.map +1 -0
  21. package/dist/contest/export.d.ts +20 -0
  22. package/dist/contest/export.d.ts.map +1 -0
  23. package/dist/contest/export.js +131 -0
  24. package/dist/contest/export.js.map +1 -0
  25. package/dist/contest/index.d.ts +12 -3
  26. package/dist/contest/index.d.ts.map +1 -1
  27. package/dist/contest/index.js +9 -2
  28. package/dist/contest/index.js.map +1 -1
  29. package/dist/contest/judges.js +9 -8
  30. package/dist/contest/judges.js.map +1 -1
  31. package/dist/contest/judging.d.ts +38 -0
  32. package/dist/contest/judging.d.ts.map +1 -0
  33. package/dist/contest/judging.js +274 -0
  34. package/dist/contest/judging.js.map +1 -0
  35. package/dist/contest/read.d.ts +44 -0
  36. package/dist/contest/read.d.ts.map +1 -0
  37. package/dist/contest/read.js +164 -0
  38. package/dist/contest/read.js.map +1 -0
  39. package/dist/contest/stages.d.ts +28 -0
  40. package/dist/contest/stages.d.ts.map +1 -0
  41. package/dist/contest/stages.js +52 -0
  42. package/dist/contest/stages.js.map +1 -0
  43. package/dist/contest/stakeholders.d.ts +32 -7
  44. package/dist/contest/stakeholders.d.ts.map +1 -1
  45. package/dist/contest/stakeholders.js +55 -14
  46. package/dist/contest/stakeholders.js.map +1 -1
  47. package/dist/contest/submissions.d.ts +90 -0
  48. package/dist/contest/submissions.d.ts.map +1 -0
  49. package/dist/contest/submissions.js +275 -0
  50. package/dist/contest/submissions.js.map +1 -0
  51. package/dist/contest/types.d.ts +197 -0
  52. package/dist/contest/types.d.ts.map +1 -0
  53. package/dist/contest/types.js +2 -0
  54. package/dist/contest/types.js.map +1 -0
  55. package/dist/contest/validation.d.ts +32 -0
  56. package/dist/contest/validation.d.ts.map +1 -0
  57. package/dist/contest/validation.js +132 -0
  58. package/dist/contest/validation.js.map +1 -0
  59. package/dist/docs/docs.d.ts +9 -3
  60. package/dist/docs/docs.d.ts.map +1 -1
  61. package/dist/docs/docs.js +16 -6
  62. package/dist/docs/docs.js.map +1 -1
  63. package/dist/events/events.d.ts.map +1 -1
  64. package/dist/events/events.js +12 -6
  65. package/dist/events/events.js.map +1 -1
  66. package/dist/federation/activityDedup.d.ts +14 -0
  67. package/dist/federation/activityDedup.d.ts.map +1 -0
  68. package/dist/federation/activityDedup.js +34 -0
  69. package/dist/federation/activityDedup.js.map +1 -0
  70. package/dist/federation/assertPublicHost.d.ts +14 -0
  71. package/dist/federation/assertPublicHost.d.ts.map +1 -0
  72. package/dist/federation/assertPublicHost.js +62 -0
  73. package/dist/federation/assertPublicHost.js.map +1 -0
  74. package/dist/federation/delivery.d.ts.map +1 -1
  75. package/dist/federation/delivery.js +37 -51
  76. package/dist/federation/delivery.js.map +1 -1
  77. package/dist/federation/federation.d.ts.map +1 -1
  78. package/dist/federation/federation.js +11 -7
  79. package/dist/federation/federation.js.map +1 -1
  80. package/dist/federation/hubMirroring.d.ts.map +1 -1
  81. package/dist/federation/hubMirroring.js +85 -66
  82. package/dist/federation/hubMirroring.js.map +1 -1
  83. package/dist/federation/inboxHandlers.d.ts.map +1 -1
  84. package/dist/federation/inboxHandlers.js +84 -73
  85. package/dist/federation/inboxHandlers.js.map +1 -1
  86. package/dist/federation/inboxParsing.d.ts +28 -0
  87. package/dist/federation/inboxParsing.d.ts.map +1 -0
  88. package/dist/federation/inboxParsing.js +71 -0
  89. package/dist/federation/inboxParsing.js.map +1 -0
  90. package/dist/federation/index.d.ts +2 -0
  91. package/dist/federation/index.d.ts.map +1 -1
  92. package/dist/federation/index.js +2 -0
  93. package/dist/federation/index.js.map +1 -1
  94. package/dist/federation/mastodonLogin.d.ts.map +1 -1
  95. package/dist/federation/mastodonLogin.js +19 -0
  96. package/dist/federation/mastodonLogin.js.map +1 -1
  97. package/dist/federation/outboxQueries.js +1 -1
  98. package/dist/federation/outboxQueries.js.map +1 -1
  99. package/dist/federation/timeline.d.ts +11 -0
  100. package/dist/federation/timeline.d.ts.map +1 -1
  101. package/dist/federation/timeline.js +101 -69
  102. package/dist/federation/timeline.js.map +1 -1
  103. package/dist/hub/hub.d.ts.map +1 -1
  104. package/dist/hub/hub.js +41 -3
  105. package/dist/hub/hub.js.map +1 -1
  106. package/dist/hub/index.d.ts +1 -1
  107. package/dist/hub/index.d.ts.map +1 -1
  108. package/dist/hub/index.js +1 -1
  109. package/dist/hub/index.js.map +1 -1
  110. package/dist/hub/members.d.ts +19 -0
  111. package/dist/hub/members.d.ts.map +1 -1
  112. package/dist/hub/members.js +158 -13
  113. package/dist/hub/members.js.map +1 -1
  114. package/dist/hub/moderation.d.ts +1 -1
  115. package/dist/hub/moderation.d.ts.map +1 -1
  116. package/dist/hub/moderation.js +25 -11
  117. package/dist/hub/moderation.js.map +1 -1
  118. package/dist/hub/posts.d.ts.map +1 -1
  119. package/dist/hub/posts.js +18 -10
  120. package/dist/hub/posts.js.map +1 -1
  121. package/dist/hub/resources.js +2 -2
  122. package/dist/hub/resources.js.map +1 -1
  123. package/dist/identity/mastodonFactory.d.ts.map +1 -1
  124. package/dist/identity/mastodonFactory.js +7 -0
  125. package/dist/identity/mastodonFactory.js.map +1 -1
  126. package/dist/index.d.ts +8 -8
  127. package/dist/index.d.ts.map +1 -1
  128. package/dist/index.js +6 -6
  129. package/dist/index.js.map +1 -1
  130. package/dist/learning/learning.d.ts.map +1 -1
  131. package/dist/learning/learning.js +42 -22
  132. package/dist/learning/learning.js.map +1 -1
  133. package/dist/messaging/messaging.d.ts.map +1 -1
  134. package/dist/messaging/messaging.js +3 -3
  135. package/dist/messaging/messaging.js.map +1 -1
  136. package/dist/notification/notification.d.ts.map +1 -1
  137. package/dist/notification/notification.js +4 -2
  138. package/dist/notification/notification.js.map +1 -1
  139. package/dist/product/product.d.ts.map +1 -1
  140. package/dist/product/product.js +75 -37
  141. package/dist/product/product.js.map +1 -1
  142. package/dist/profile/index.d.ts +2 -1
  143. package/dist/profile/index.d.ts.map +1 -1
  144. package/dist/profile/index.js +1 -1
  145. package/dist/profile/index.js.map +1 -1
  146. package/dist/profile/profile.d.ts +24 -2
  147. package/dist/profile/profile.d.ts.map +1 -1
  148. package/dist/profile/profile.js +34 -8
  149. package/dist/profile/profile.js.map +1 -1
  150. package/dist/query.d.ts +18 -2
  151. package/dist/query.d.ts.map +1 -1
  152. package/dist/query.js +24 -6
  153. package/dist/query.js.map +1 -1
  154. package/dist/rbac/admin.d.ts +43 -0
  155. package/dist/rbac/admin.d.ts.map +1 -0
  156. package/dist/rbac/admin.js +172 -0
  157. package/dist/rbac/admin.js.map +1 -0
  158. package/dist/rbac/index.d.ts +4 -0
  159. package/dist/rbac/index.d.ts.map +1 -1
  160. package/dist/rbac/index.js +2 -0
  161. package/dist/rbac/index.js.map +1 -1
  162. package/dist/rbac/seed.d.ts +30 -0
  163. package/dist/rbac/seed.d.ts.map +1 -0
  164. package/dist/rbac/seed.js +75 -0
  165. package/dist/rbac/seed.js.map +1 -0
  166. package/dist/search/contentSearch.d.ts +1 -1
  167. package/dist/search/contentSearch.d.ts.map +1 -1
  168. package/dist/search/contentSearch.js +22 -12
  169. package/dist/search/contentSearch.js.map +1 -1
  170. package/dist/social/social.d.ts +4 -2
  171. package/dist/social/social.d.ts.map +1 -1
  172. package/dist/social/social.js +25 -8
  173. package/dist/social/social.js.map +1 -1
  174. package/dist/types.d.ts +3 -0
  175. package/dist/types.d.ts.map +1 -1
  176. package/dist/video/video.d.ts +3 -0
  177. package/dist/video/video.d.ts.map +1 -1
  178. package/dist/video/video.js +17 -13
  179. package/dist/video/video.js.map +1 -1
  180. package/dist/voting/voting.d.ts.map +1 -1
  181. package/dist/voting/voting.js +39 -1
  182. package/dist/voting/voting.js.map +1 -1
  183. package/package.json +9 -7
@@ -0,0 +1,132 @@
1
+ import { createHash } from 'node:crypto';
2
+ // Pure submission-form validation + partition. No DB access — exhaustively
3
+ // unit-testable. The DB writers (recordPrivateAndAgreements, submitStageArtifact,
4
+ // submitContestProposal) live in submissions.ts and consume these.
5
+ /** Truthy markers an `agreement`/`checkbox` value is "accepted/checked". */
6
+ const ACCEPTANCE_VALUES = new Set(['true', 'on', '1', 'yes', 'accepted', 'checked']);
7
+ const EMAIL_RE = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
8
+ /** A field whose value is personal data — stored in the private table, not the artifact. */
9
+ function isPiiField(f) {
10
+ return f.type === 'address' || f.pii === true;
11
+ }
12
+ /** sha-256 hex of an agreement's terms text (integrity check vs the snapshot). */
13
+ export function hashTerms(terms) {
14
+ return createHash('sha256').update(terms, 'utf8').digest('hex');
15
+ }
16
+ /**
17
+ * Validate an entrant's submission values against a stage template AND partition
18
+ * them into artifact / PII / agreements. Pure + exhaustively testable. Domain
19
+ * checks, not just shape: unknown keys rejected (no smuggling values outside the
20
+ * template), required fields non-blank, `url`/`email`/`number`/`select`/`date`/
21
+ * `address` validated for their kind, agreements must be accepted when required.
22
+ * PII (`pii`/`address`) and agreement fields are kept OUT of `artifact`.
23
+ */
24
+ export function validateSubmissionFields(template, values) {
25
+ const byKey = new Map(template.map((f) => [f.key, f]));
26
+ for (const key of Object.keys(values)) {
27
+ if (!byKey.has(key))
28
+ return { ok: false, error: `Unknown field: ${key}` };
29
+ if (typeof values[key] !== 'string')
30
+ return { ok: false, error: `Invalid value for ${key}` };
31
+ if (values[key].length > 4000)
32
+ return { ok: false, error: `${byKey.get(key).label} is too long (max 4000 characters)` };
33
+ }
34
+ const artifact = {};
35
+ const pii = {};
36
+ const agreements = [];
37
+ for (const field of template) {
38
+ const value = (values[field.key] ?? '').trim();
39
+ // Agreements are consent, not data — recorded separately, never in the artifact.
40
+ if (field.type === 'agreement') {
41
+ const mustAccept = field.mustAccept !== false; // default true
42
+ const accepted = ACCEPTANCE_VALUES.has(value.toLowerCase());
43
+ if ((field.required || mustAccept) && !accepted) {
44
+ return { ok: false, error: `You must accept: ${field.label}` };
45
+ }
46
+ if (accepted) {
47
+ agreements.push({
48
+ fieldKey: field.key,
49
+ label: field.label,
50
+ terms: field.terms ?? '',
51
+ termsFormat: field.termsFormat ?? 'markdown',
52
+ });
53
+ }
54
+ continue;
55
+ }
56
+ // Checkbox: a normalized boolean. A required checkbox must be checked.
57
+ if (field.type === 'checkbox') {
58
+ const checked = ACCEPTANCE_VALUES.has(value.toLowerCase());
59
+ if (field.required && !checked)
60
+ return { ok: false, error: `${field.label} must be checked` };
61
+ (isPiiField(field) ? pii : artifact)[field.key] = checked ? 'true' : 'false';
62
+ continue;
63
+ }
64
+ if (!value) {
65
+ if (field.required)
66
+ return { ok: false, error: `${field.label} is required` };
67
+ continue; // optional + blank ⇒ omit
68
+ }
69
+ switch (field.type) {
70
+ case 'url': {
71
+ // Scheme allow-list FIRST (https?:// only), then structural URL parse.
72
+ if (!/^https?:\/\//i.test(value))
73
+ return { ok: false, error: `${field.label} must be an http(s) URL` };
74
+ try {
75
+ if (!new URL(value).hostname)
76
+ return { ok: false, error: `${field.label} must be a valid URL` };
77
+ }
78
+ catch {
79
+ return { ok: false, error: `${field.label} must be a valid URL` };
80
+ }
81
+ break;
82
+ }
83
+ case 'email':
84
+ if (!EMAIL_RE.test(value))
85
+ return { ok: false, error: `${field.label} must be a valid email address` };
86
+ break;
87
+ case 'number':
88
+ if (!Number.isFinite(Number(value)))
89
+ return { ok: false, error: `${field.label} must be a number` };
90
+ break;
91
+ case 'date':
92
+ if (!/^\d{4}-\d{2}-\d{2}$/.test(value) || Number.isNaN(Date.parse(value))) {
93
+ return { ok: false, error: `${field.label} must be a valid date` };
94
+ }
95
+ break;
96
+ case 'select': {
97
+ const allowed = new Set((field.options ?? []).map((o) => o.value));
98
+ if (!allowed.has(value))
99
+ return { ok: false, error: `${field.label}: choose one of the listed options` };
100
+ break;
101
+ }
102
+ case 'address': {
103
+ let parsed;
104
+ try {
105
+ parsed = JSON.parse(value);
106
+ }
107
+ catch {
108
+ return { ok: false, error: `${field.label} is not a valid address` };
109
+ }
110
+ if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
111
+ return { ok: false, error: `${field.label} is not a valid address` };
112
+ }
113
+ break;
114
+ }
115
+ // text / textarea: no extra domain check.
116
+ }
117
+ (isPiiField(field) ? pii : artifact)[field.key] = value;
118
+ }
119
+ return { ok: true, result: { artifact, pii, agreements } };
120
+ }
121
+ /**
122
+ * Back-compat artifact-only validator (the original per-stage-artifact contract).
123
+ * Delegates to `validateSubmissionFields` and returns just the public artifact —
124
+ * PII/agreement fields, if any, are partitioned out and handled by the caller.
125
+ */
126
+ export function validateStageArtifactFields(template, fields) {
127
+ const r = validateSubmissionFields(template, fields);
128
+ if (!r.ok)
129
+ return r;
130
+ return { ok: true, fields: r.result.artifact };
131
+ }
132
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/contest/validation.ts"],"names":[],"mappings":"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"}
@@ -41,8 +41,12 @@ export declare function createDocsVersion(db: DB, siteId: string, ownerId: strin
41
41
  }): Promise<typeof docsVersions.$inferSelect>;
42
42
  export declare function setDefaultVersion(db: DB, versionId: string, ownerId: string): Promise<boolean>;
43
43
  export declare function deleteDocsVersion(db: DB, versionId: string, ownerId: string): Promise<boolean>;
44
- export declare function listDocsPages(db: DB, versionId: string): Promise<Array<typeof docsPages.$inferSelect>>;
45
- export declare function getDocsPage(db: DB, versionId: string, pagePath: string): Promise<typeof docsPages.$inferSelect | null>;
44
+ export declare function listDocsPages(db: DB, versionId: string, opts?: {
45
+ publishedOnly?: boolean;
46
+ }): Promise<Array<typeof docsPages.$inferSelect>>;
47
+ export declare function getDocsPage(db: DB, versionId: string, pagePath: string, opts?: {
48
+ publishedOnly?: boolean;
49
+ }): Promise<typeof docsPages.$inferSelect | null>;
46
50
  export declare function createDocsPage(db: DB, ownerId: string, input: {
47
51
  versionId: string;
48
52
  title: string;
@@ -67,7 +71,9 @@ export declare function updateDocsPage(db: DB, pageId: string, ownerId: string,
67
71
  export declare function duplicateDocsPage(db: DB, pageId: string, ownerId: string): Promise<typeof docsPages.$inferSelect>;
68
72
  export declare function deleteDocsPage(db: DB, pageId: string, ownerId: string): Promise<boolean>;
69
73
  export declare function reorderDocsPages(db: DB, versionId: string, ownerId: string, pageIds: string[]): Promise<boolean>;
70
- export declare function searchDocsPages(db: DB, siteId: string, versionId: string, query: string, language?: string): Promise<Array<{
74
+ export declare function searchDocsPages(db: DB, siteId: string, versionId: string, query: string, language?: string, opts?: {
75
+ publishedOnly?: boolean;
76
+ }): Promise<Array<{
71
77
  id: string;
72
78
  title: string;
73
79
  slug: string;
@@ -1 +1 @@
1
- {"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/docs/docs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/docs/docs.ts"],"names":[],"mappings":"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"}
package/dist/docs/docs.js CHANGED
@@ -24,7 +24,7 @@ export async function listDocsSites(db, filters = {}) {
24
24
  .from(docsSites)
25
25
  .innerJoin(users, eq(docsSites.ownerId, users.id))
26
26
  .where(where)
27
- .orderBy(desc(docsSites.createdAt))
27
+ .orderBy(desc(docsSites.createdAt), desc(docsSites.id))
28
28
  .limit(limit)
29
29
  .offset(offset),
30
30
  countRows(db, docsSites, where),
@@ -202,15 +202,21 @@ export async function deleteDocsVersion(db, versionId, ownerId) {
202
202
  return true;
203
203
  }
204
204
  // --- Page CRUD ---
205
- export async function listDocsPages(db, versionId) {
205
+ export async function listDocsPages(db, versionId, opts = {}) {
206
+ const conditions = [eq(docsPages.versionId, versionId)];
207
+ // Public callers pass publishedOnly to hide draft/archived pages. Admin/editor
208
+ // callers omit it (default false) so the docs editor still sees all statuses.
209
+ if (opts.publishedOnly) {
210
+ conditions.push(eq(docsPages.status, 'published'));
211
+ }
206
212
  return db
207
213
  .select()
208
214
  .from(docsPages)
209
- .where(eq(docsPages.versionId, versionId))
215
+ .where(and(...conditions))
210
216
  .orderBy(asc(docsPages.sortOrder));
211
217
  }
212
- export async function getDocsPage(db, versionId, pagePath) {
213
- const allPages = await listDocsPages(db, versionId);
218
+ export async function getDocsPage(db, versionId, pagePath, opts = {}) {
219
+ const allPages = await listDocsPages(db, versionId, opts);
214
220
  const pagesAsDocsPage = allPages.map((p) => ({
215
221
  id: p.id,
216
222
  versionId: p.versionId,
@@ -394,7 +400,7 @@ const VALID_FTS_LANGUAGES = new Set([
394
400
  'portuguese', 'romanian', 'russian', 'serbian', 'spanish', 'swedish',
395
401
  'tamil', 'turkish', 'yiddish',
396
402
  ]);
397
- export async function searchDocsPages(db, siteId, versionId, query, language = 'english') {
403
+ export async function searchDocsPages(db, siteId, versionId, query, language = 'english', opts = {}) {
398
404
  if (!query.trim())
399
405
  return [];
400
406
  const ftsLang = VALID_FTS_LANGUAGES.has(language) ? language : 'english';
@@ -409,6 +415,9 @@ export async function searchDocsPages(db, siteId, versionId, query, language = '
409
415
  if (!tsQuery)
410
416
  return [];
411
417
  const langLiteral = sql.raw(`'${ftsLang}'`);
418
+ // Public callers pass publishedOnly to keep draft/archived pages out of search
419
+ // results. Admin/editor callers omit it so the editor's search sees all pages.
420
+ const statusFilter = opts.publishedOnly ? sql `AND dp.status = 'published'` : sql ``;
412
421
  // docsPages.content is jsonb. `content::text` produces the literal JSON
413
422
  // representation, which pollutes search with keys like "paragraph",
414
423
  // "html", bracket/brace chars, and shows raw JSON in ts_headline snippets.
@@ -464,6 +473,7 @@ export async function searchDocsPages(db, siteId, versionId, query, language = '
464
473
  ) extracted ON true
465
474
  WHERE dp.version_id = ${versionId}
466
475
  AND dv.site_id = ${siteId}
476
+ ${statusFilter}
467
477
  AND to_tsvector(${langLiteral}, dp.title || ' ' || extracted.text_content) @@ to_tsquery(${langLiteral}, ${tsQuery})
468
478
  LIMIT 20
469
479
  `);
@@ -1 +1 @@
1
- {"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/docs/docs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"docs.js","sourceRoot":"","sources":["../../src/docs/docs.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/events/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/events/events.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAGtC,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,GAAG,WAAW,CAAC;AACvF,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAC1D,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,YAAY,GAAG,WAAW,GAAG,UAAU,CAAC;AAEpF,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,WAAY,SAAQ,aAAa;IAChD,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,cAAc,CAAC;IACvB,YAAY,EAAE,IAAI,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,wBAAsB,UAAU,CAC9B,EAAE,EAAE,EAAE,EACN,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC;IAAE,KAAK,EAAE,aAAa,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CA8CpD;AAED,wBAAsB,cAAc,CAClC,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CA2B7B;AAED,wBAAsB,WAAW,CAC/B,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,WAAW,CAAC,CA4BtB;AAED,wBAAsB,WAAW,CAC/B,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,gBAAgB,EACtB,OAAO,UAAQ,GACd,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CA2B7B;AAED,wBAAsB,WAAW,CAC/B,EAAE,EAAE,EAAE,EACN,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,OAAO,UAAQ,GACd,OAAO,CAAC,OAAO,CAAC,CAYlB;AAID,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,EAAE,EACN,OAAO,EAAE,MAAM,EACf,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,cAAc,CAAA;CAAO,GACtE,OAAO,CAAC;IAAE,KAAK,EAAE,YAAY,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAyCnD;AAED,wBAAsB,SAAS,CAC7B,EAAE,EAAE,EAAE,EACN,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,cAAc,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA2DvE;AAED,wBAAsB,UAAU,CAC9B,EAAE,EAAE,EAAE,EACN,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA+CpD;AAED,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,EAAE,EACN,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAQhC"}
@@ -1,6 +1,6 @@
1
1
  import { eq, and, desc, asc, gte, sql, or } from 'drizzle-orm';
2
2
  import { events, eventAttendees, users } from '@commonpub/schema';
3
- import { normalizePagination, countRows } from '../query.js';
3
+ import { normalizePagination, countRows, ensureUniqueSlugFor } from '../query.js';
4
4
  export async function listEvents(db, filters = {}) {
5
5
  const conditions = [];
6
6
  if (filters.status) {
@@ -26,8 +26,9 @@ export async function listEvents(db, filters = {}) {
26
26
  const where = conditions.length > 0 ? and(...conditions) : undefined;
27
27
  const { limit, offset } = normalizePagination(filters);
28
28
  const [rows, total] = await Promise.all([
29
- db.select().from(events).where(where).orderBy(asc(events.startDate)).limit(limit).offset(offset),
30
- countRows(db, events, where),
29
+ db.select().from(events).where(where).orderBy(asc(events.startDate), desc(events.id)).limit(limit).offset(offset),
30
+ // COUNT(*) only on the first page; deep load-more pages skip it (`-1` = "not computed").
31
+ offset === 0 ? countRows(db, events, where) : Promise.resolve(-1),
31
32
  ]);
32
33
  return {
33
34
  items: rows.map(mapEventListItem),
@@ -62,11 +63,15 @@ export async function getEventBySlug(db, slug) {
62
63
  };
63
64
  }
64
65
  export async function createEvent(db, input) {
66
+ // events.slug is UNIQUE. The route derives the slug from the title, so two
67
+ // same-titled events would collide and surface as an unhandled 500. De-dup
68
+ // the slug here (appends a timestamp suffix on collision).
69
+ const slug = await ensureUniqueSlugFor(db, events, events.slug, events.id, input.slug, 'event');
65
70
  const [row] = await db
66
71
  .insert(events)
67
72
  .values({
68
73
  title: input.title,
69
- slug: input.slug,
74
+ slug,
70
75
  description: input.description ?? null,
71
76
  coverImage: input.coverImage ?? null,
72
77
  status: 'published',
@@ -158,10 +163,11 @@ export async function listEventAttendees(db, eventId, opts = {}) {
158
163
  .from(eventAttendees)
159
164
  .innerJoin(users, eq(eventAttendees.userId, users.id))
160
165
  .where(where)
161
- .orderBy(desc(eventAttendees.registeredAt))
166
+ .orderBy(desc(eventAttendees.registeredAt), desc(eventAttendees.id))
162
167
  .limit(limit)
163
168
  .offset(offset),
164
- countRows(db, eventAttendees, where),
169
+ // COUNT(*) only on the first page; deep load-more pages skip it (`-1` = "not computed").
170
+ offset === 0 ? countRows(db, eventAttendees, where) : Promise.resolve(-1),
165
171
  ]);
166
172
  return {
167
173
  items: rows.map(({ attendee, user }) => ({
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/events/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/events/events.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { DB } from '../types.js';
2
+ /**
3
+ * Atomically claim an activity id as "processed".
4
+ *
5
+ * Returns `true` if this call inserted the row (first time this id is seen —
6
+ * the caller SHOULD process the activity), or `false` if the id was already
7
+ * present (a replay — the caller SHOULD short-circuit without re-dispatching).
8
+ *
9
+ * Uses `INSERT ... ON CONFLICT DO NOTHING RETURNING` so the claim is a single
10
+ * atomic statement: concurrent deliveries of the same id race on the primary
11
+ * key and exactly one wins the insert.
12
+ */
13
+ export declare function recordActivitySeen(db: DB, activityId: string): Promise<boolean>;
14
+ //# sourceMappingURL=activityDedup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activityDedup.d.ts","sourceRoot":"","sources":["../../src/federation/activityDedup.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAEtC;;;;;;;;;;GAUG;AACH,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOrF"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Inbox replay dedup (audit session 204).
3
+ *
4
+ * Federated inbox handlers carry side effects (reply commentCount + 1, onAccept
5
+ * backfill, like counters). A remote instance — or an attacker replaying a
6
+ * captured, validly-signed activity — could redeliver the same `activity.id`
7
+ * and double-apply those effects. We record each processed activity id in the
8
+ * `processed_activities` table and short-circuit on the second delivery.
9
+ *
10
+ * `recordActivitySeen` MUST be called only AFTER signature verification + actor
11
+ * binding succeed, so an unverified caller can't seed the table with attacker-
12
+ * chosen ids (which would let them suppress a future legitimate activity).
13
+ */
14
+ import { processedActivities } from '@commonpub/schema';
15
+ /**
16
+ * Atomically claim an activity id as "processed".
17
+ *
18
+ * Returns `true` if this call inserted the row (first time this id is seen —
19
+ * the caller SHOULD process the activity), or `false` if the id was already
20
+ * present (a replay — the caller SHOULD short-circuit without re-dispatching).
21
+ *
22
+ * Uses `INSERT ... ON CONFLICT DO NOTHING RETURNING` so the claim is a single
23
+ * atomic statement: concurrent deliveries of the same id race on the primary
24
+ * key and exactly one wins the insert.
25
+ */
26
+ export async function recordActivitySeen(db, activityId) {
27
+ const inserted = await db
28
+ .insert(processedActivities)
29
+ .values({ activityId })
30
+ .onConflictDoNothing({ target: processedActivities.activityId })
31
+ .returning({ activityId: processedActivities.activityId });
32
+ return inserted.length > 0;
33
+ }
34
+ //# sourceMappingURL=activityDedup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activityDedup.js","sourceRoot":"","sources":["../../src/federation/activityDedup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAGxD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,EAAM,EAAE,UAAkB;IACjE,MAAM,QAAQ,GAAG,MAAM,EAAE;SACtB,MAAM,CAAC,mBAAmB,CAAC;SAC3B,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC;SACtB,mBAAmB,CAAC,EAAE,MAAM,EAAE,mBAAmB,CAAC,UAAU,EAAE,CAAC;SAC/D,SAAS,CAAC,EAAE,UAAU,EAAE,mBAAmB,CAAC,UAAU,EAAE,CAAC,CAAC;IAC7D,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;AAC7B,CAAC"}
@@ -0,0 +1,14 @@
1
+ /** Thrown when a user-supplied host resolves to a private/reserved address. */
2
+ export declare class PrivateHostError extends Error {
3
+ constructor(host: string);
4
+ }
5
+ /**
6
+ * Resolve `host` (all A/AAAA records) and throw `PrivateHostError` if ANY
7
+ * resolved address is private/reserved. Fail-closed: a resolution failure
8
+ * also throws (we will not contact a host we cannot vet).
9
+ *
10
+ * Call this immediately before constructing a megalodon client for a host
11
+ * that originated from user input.
12
+ */
13
+ export declare function assertPublicHost(host: string): Promise<void>;
14
+ //# sourceMappingURL=assertPublicHost.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assertPublicHost.d.ts","sourceRoot":"","sources":["../../src/federation/assertPublicHost.ts"],"names":[],"mappings":"AA4BA,+EAA+E;AAC/E,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,IAAI,EAAE,MAAM;CAIzB;AAED;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBlE"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * DNS-rebind SSRF guard for user-supplied Mastodon hosts.
3
+ *
4
+ * megalodon constructs its own axios instance and does NOT route through
5
+ * the SSRF-pinned undici dispatcher in `@commonpub/protocol`'s `safeFetch`.
6
+ * `isValidHost` (mastodonLogin.ts) already rejects IP *literals* and the
7
+ * obvious string-encoding bypasses via `isPrivateUrl` (session 204), but a
8
+ * public *hostname* whose A/AAAA record resolves to a private/loopback/
9
+ * link-local/metadata address would still drive megalodon's axios at an
10
+ * internal target.
11
+ *
12
+ * `assertPublicHost` closes that residual: before we hand a user-supplied
13
+ * host to `generator(...)`/`detector(...)`, we resolve it ourselves (all
14
+ * addresses) and reject if ANY resolved address is private/reserved per the
15
+ * canonical `isPrivateIp` classifier (covers 169.254.169.254 metadata,
16
+ * 127/8, 10/8, 172.16/12, 192.168/16, ::1, fc00::/7, fe80::/10, etc.).
17
+ *
18
+ * TOCTOU residual: this is a check-then-connect. The resolver can return a
19
+ * public address here and a private one when megalodon's axios connects a
20
+ * moment later (DNS rebinding). A complete fix requires pinning megalodon
21
+ * onto a custom axios transport that resolves once and connects to the
22
+ * validated address (mirroring protocol's `pinnedLookup` dispatcher) — that
23
+ * is out of scope for this change and tracked separately. This guard
24
+ * collapses the trivial single-resolution attack and is defence-in-depth.
25
+ */
26
+ import dns from 'node:dns';
27
+ import { isPrivateIp } from '@commonpub/protocol';
28
+ /** Thrown when a user-supplied host resolves to a private/reserved address. */
29
+ export class PrivateHostError extends Error {
30
+ constructor(host) {
31
+ super(`Host resolves to a private or reserved address: ${host}`);
32
+ this.name = 'PrivateHostError';
33
+ }
34
+ }
35
+ /**
36
+ * Resolve `host` (all A/AAAA records) and throw `PrivateHostError` if ANY
37
+ * resolved address is private/reserved. Fail-closed: a resolution failure
38
+ * also throws (we will not contact a host we cannot vet).
39
+ *
40
+ * Call this immediately before constructing a megalodon client for a host
41
+ * that originated from user input.
42
+ */
43
+ export async function assertPublicHost(host) {
44
+ let addresses;
45
+ try {
46
+ addresses = await dns.promises.lookup(host, { all: true, verbatim: true });
47
+ }
48
+ catch {
49
+ // Unresolvable / lookup error — treat as unsafe rather than letting
50
+ // megalodon attempt its own resolution unguarded.
51
+ throw new PrivateHostError(host);
52
+ }
53
+ if (addresses.length === 0) {
54
+ throw new PrivateHostError(host);
55
+ }
56
+ for (const a of addresses) {
57
+ if (isPrivateIp(a.address)) {
58
+ throw new PrivateHostError(host);
59
+ }
60
+ }
61
+ }
62
+ //# sourceMappingURL=assertPublicHost.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assertPublicHost.js","sourceRoot":"","sources":["../../src/federation/assertPublicHost.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,GAAG,MAAM,UAAU,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,+EAA+E;AAC/E,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC,YAAY,IAAY;QACtB,KAAK,CAAC,mDAAmD,IAAI,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAY;IACjD,IAAI,SAA8B,CAAC;IACnC,IAAI,CAAC;QACH,SAAS,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7E,CAAC;IAAC,MAAM,CAAC;QACP,oEAAoE;QACpE,kDAAkD;QAClD,MAAM,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,IAAI,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"delivery.d.ts","sourceRoot":"","sources":["../../src/federation/delivery.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AA4BtC,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,EAAE,EAAE,EAAE,EACN,MAAM,EAAE,MAAM,EACd,eAAe,CAAC,EAAE,MAAM,GAAG,eAAe,GACzC,OAAO,CAAC,cAAc,CAAC,CA6DzB;AAqbD;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAC9C,EAAE,EAAE,EAAE,EACN,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,CAAC,CAgBjB"}
1
+ {"version":3,"file":"delivery.d.ts","sourceRoot":"","sources":["../../src/federation/delivery.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AA4BtC,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,EAAE,EAAE,EAAE,EACN,MAAM,EAAE,MAAM,EACd,eAAe,CAAC,EAAE,MAAM,GAAG,eAAe,GACzC,OAAO,CAAC,cAAc,CAAC,CA6DzB;AAwbD;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAC9C,EAAE,EAAE,EAAE,EACN,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,CAAC,CAgBjB"}