@ttt-productions/ttt-core 0.78.1 → 0.78.3

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 (84) hide show
  1. package/dist/constants/admin-labels.d.ts +3 -0
  2. package/dist/constants/admin-labels.d.ts.map +1 -1
  3. package/dist/constants/admin-labels.js +15 -0
  4. package/dist/constants/admin-labels.js.map +1 -1
  5. package/dist/constants/business-admin.d.ts +3 -0
  6. package/dist/constants/business-admin.d.ts.map +1 -1
  7. package/dist/constants/business-admin.js +3 -0
  8. package/dist/constants/business-admin.js.map +1 -1
  9. package/dist/constants/business-content.d.ts +40 -2
  10. package/dist/constants/business-content.d.ts.map +1 -1
  11. package/dist/constants/business-content.js +52 -9
  12. package/dist/constants/business-content.js.map +1 -1
  13. package/dist/doc-schemas/chat-sync.d.ts +1 -1
  14. package/dist/doc-schemas/media-activation-jobs.d.ts +1 -1
  15. package/dist/doc-schemas/media-assets.d.ts +7 -7
  16. package/dist/doc-schemas/moderation.d.ts +2 -2
  17. package/dist/doc-schemas/ncii/requests.d.ts +1 -1
  18. package/dist/doc-schemas/notifications.d.ts +9 -9
  19. package/dist/doc-schemas/notifications.d.ts.map +1 -1
  20. package/dist/doc-schemas/notifications.js +14 -38
  21. package/dist/doc-schemas/notifications.js.map +1 -1
  22. package/dist/doc-schemas/registry.d.ts +13 -13
  23. package/dist/doc-schemas/registry.d.ts.map +1 -1
  24. package/dist/doc-schemas/registry.js +3 -0
  25. package/dist/doc-schemas/registry.js.map +1 -1
  26. package/dist/doc-schemas/safety/case.d.ts +20 -0
  27. package/dist/doc-schemas/safety/case.d.ts.map +1 -1
  28. package/dist/doc-schemas/safety/case.js +13 -1
  29. package/dist/doc-schemas/safety/case.js.map +1 -1
  30. package/dist/doc-schemas/safety/evidence.d.ts +12 -4
  31. package/dist/doc-schemas/safety/evidence.d.ts.map +1 -1
  32. package/dist/doc-schemas/safety/evidence.js +18 -4
  33. package/dist/doc-schemas/safety/evidence.js.map +1 -1
  34. package/dist/doc-schemas/safety/foundation.d.ts +2 -2
  35. package/dist/doc-schemas/safety/holds.d.ts +1 -1
  36. package/dist/doc-schemas/social.d.ts +3 -3
  37. package/dist/media/atoms.d.ts +2 -2
  38. package/dist/media/target-info.d.ts +1 -3
  39. package/dist/media/target-info.d.ts.map +1 -1
  40. package/dist/media/target-info.js +14 -2
  41. package/dist/media/target-info.js.map +1 -1
  42. package/dist/paths/collections.d.ts +1 -0
  43. package/dist/paths/collections.d.ts.map +1 -1
  44. package/dist/paths/collections.js +2 -0
  45. package/dist/paths/collections.js.map +1 -1
  46. package/dist/paths/path-builders.d.ts +14 -0
  47. package/dist/paths/path-builders.d.ts.map +1 -1
  48. package/dist/paths/path-builders.js +29 -0
  49. package/dist/paths/path-builders.js.map +1 -1
  50. package/dist/safety/active-safety-case-alert.d.ts +33 -0
  51. package/dist/safety/active-safety-case-alert.d.ts.map +1 -0
  52. package/dist/safety/active-safety-case-alert.js +49 -0
  53. package/dist/safety/active-safety-case-alert.js.map +1 -0
  54. package/dist/safety/index.d.ts +3 -0
  55. package/dist/safety/index.d.ts.map +1 -0
  56. package/dist/safety/index.js +6 -0
  57. package/dist/safety/index.js.map +1 -0
  58. package/dist/safety/resource-keys.d.ts +60 -0
  59. package/dist/safety/resource-keys.d.ts.map +1 -0
  60. package/dist/safety/resource-keys.js +122 -0
  61. package/dist/safety/resource-keys.js.map +1 -0
  62. package/dist/schemas/admin-dispatch-actions.d.ts +4 -0
  63. package/dist/schemas/admin-dispatch-actions.d.ts.map +1 -1
  64. package/dist/schemas/admin-dispatch-actions.js +5 -0
  65. package/dist/schemas/admin-dispatch-actions.js.map +1 -1
  66. package/dist/schemas/admin.d.ts +80 -0
  67. package/dist/schemas/admin.d.ts.map +1 -1
  68. package/dist/schemas/admin.js +72 -1
  69. package/dist/schemas/admin.js.map +1 -1
  70. package/dist/schemas/chat.d.ts +45 -0
  71. package/dist/schemas/chat.d.ts.map +1 -1
  72. package/dist/schemas/chat.js +34 -1
  73. package/dist/schemas/chat.js.map +1 -1
  74. package/dist/schemas/safety.d.ts +67 -0
  75. package/dist/schemas/safety.d.ts.map +1 -1
  76. package/dist/schemas/safety.js +63 -0
  77. package/dist/schemas/safety.js.map +1 -1
  78. package/dist/schemas/social.d.ts +2 -2
  79. package/dist/schemas/utility.d.ts +4 -0
  80. package/dist/schemas/utility.d.ts.map +1 -1
  81. package/dist/schemas/utility.js +5 -0
  82. package/dist/schemas/utility.js.map +1 -1
  83. package/dist/upload-variables/square-streetz-post-variables.d.ts +1 -1
  84. package/package.json +9 -5
@@ -1,10 +1,13 @@
1
1
  import type { UserAccountStatus } from '../doc-schemas/user.js';
2
2
  import type { ReportDisposition } from '../doc-schemas/safety/foundation.js';
3
3
  import type { BroadcastAudienceSelector } from '../schemas/notification.js';
4
+ import type { DeadLetterCollection } from '../schemas/admin.js';
4
5
  /** Moderation status labels (user-management view, status badges). */
5
6
  export declare const USER_ACCOUNT_STATUS_LABELS: Record<UserAccountStatus, string>;
6
7
  /** Broadcast audience selector labels (announcement composer). */
7
8
  export declare const BROADCAST_AUDIENCE_KIND_LABELS: Record<BroadcastAudienceSelector['kind'], string>;
9
+ /** Human labels for the dead-letter replay ledgers (Ops Repairs dead-letter table). */
10
+ export declare const DEAD_LETTER_COLLECTION_LABELS: Record<DeadLetterCollection, string>;
8
11
  /** Operator-settable report dispositions with their console copy. 'undetermined' is the
9
12
  * initial state, never a settable target, so it carries no option entry. */
10
13
  export declare const REPORT_DISPOSITION_OPTIONS: readonly {
@@ -1 +1 @@
1
- {"version":3,"file":"admin-labels.d.ts","sourceRoot":"","sources":["../../src/constants/admin-labels.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAE5E,sEAAsE;AACtE,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAIxE,CAAC;AAEF,kEAAkE;AAClE,eAAO,MAAM,8BAA8B,EAAE,MAAM,CAAC,yBAAyB,CAAC,MAAM,CAAC,EAAE,MAAM,CAM5F,CAAC;AAEF;4EAC4E;AAC5E,eAAO,MAAM,0BAA0B,EAAE,SAAS;IAChD,KAAK,EAAE,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB,EAiBA,CAAC"}
1
+ {"version":3,"file":"admin-labels.d.ts","sourceRoot":"","sources":["../../src/constants/admin-labels.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,sEAAsE;AACtE,eAAO,MAAM,0BAA0B,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAIxE,CAAC;AAEF,kEAAkE;AAClE,eAAO,MAAM,8BAA8B,EAAE,MAAM,CAAC,yBAAyB,CAAC,MAAM,CAAC,EAAE,MAAM,CAM5F,CAAC;AAEF,uFAAuF;AACvF,eAAO,MAAM,6BAA6B,EAAE,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAa9E,CAAC;AAEF;4EAC4E;AAC5E,eAAO,MAAM,0BAA0B,EAAE,SAAS;IAChD,KAAK,EAAE,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB,EAiBA,CAAC"}
@@ -19,6 +19,21 @@ export const BROADCAST_AUDIENCE_KIND_LABELS = {
19
19
  workMembers: "A Work's guild members",
20
20
  realmMembers: "A Realm's members",
21
21
  };
22
+ /** Human labels for the dead-letter replay ledgers (Ops Repairs dead-letter table). */
23
+ export const DEAD_LETTER_COLLECTION_LABELS = {
24
+ chatSyncEvents: 'Chat sync event',
25
+ chatAdminActionCommands: 'Chat moderation command',
26
+ notificationDeliveries: 'Notification delivery',
27
+ chatMessageOutbox: 'Chat message publish',
28
+ chatSyncFanoutJobs: 'Chat access fanout',
29
+ mediaAssets: 'Media authority sync',
30
+ quarantineSagaJobs: 'Quarantine saga',
31
+ nciiRemovalJobs: 'NCII removal',
32
+ safetyEvidenceJobs: 'Safety evidence job',
33
+ accountActionCommands: 'Account safety action',
34
+ activeReportGroups: 'Report edge sync',
35
+ hallSubItemEdgeSync: 'Hall sub-item edge sync',
36
+ };
22
37
  /** Operator-settable report dispositions with their console copy. 'undetermined' is the
23
38
  * initial state, never a settable target, so it carries no option entry. */
24
39
  export const REPORT_DISPOSITION_OPTIONS = [
@@ -1 +1 @@
1
- {"version":3,"file":"admin-labels.js","sourceRoot":"","sources":["../../src/constants/admin-labels.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,8EAA8E;AAC9E,gFAAgF;AAChF,2EAA2E;AAC3E,6EAA6E;AAC7E,6DAA6D;AAC7D,+EAA+E;AAM/E,sEAAsE;AACtE,MAAM,CAAC,MAAM,0BAA0B,GAAsC;IAC3E,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;CACjB,CAAC;AAEF,kEAAkE;AAClE,MAAM,CAAC,MAAM,8BAA8B,GAAsD;IAC/F,cAAc,EAAE,kBAAkB;IAClC,WAAW,EAAE,sBAAsB;IACnC,YAAY,EAAE,6BAA6B;IAC3C,WAAW,EAAE,wBAAwB;IACrC,YAAY,EAAE,mBAAmB;CAClC,CAAC;AAEF;4EAC4E;AAC5E,MAAM,CAAC,MAAM,0BAA0B,GAIjC;IACJ;QACE,KAAK,EAAE,gBAAgB;QACvB,KAAK,EAAE,yBAAyB;QAChC,WAAW,EACT,8FAA8F;KACjG;IACD;QACE,KAAK,EAAE,aAAa;QACpB,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE,iFAAiF;KAC/F;IACD;QACE,KAAK,EAAE,8BAA8B;QACrC,KAAK,EAAE,6BAA6B;QACpC,WAAW,EAAE,qEAAqE;KACnF;CACF,CAAC"}
1
+ {"version":3,"file":"admin-labels.js","sourceRoot":"","sources":["../../src/constants/admin-labels.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,8EAA8E;AAC9E,gFAAgF;AAChF,2EAA2E;AAC3E,6EAA6E;AAC7E,6DAA6D;AAC7D,+EAA+E;AAO/E,sEAAsE;AACtE,MAAM,CAAC,MAAM,0BAA0B,GAAsC;IAC3E,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;CACjB,CAAC;AAEF,kEAAkE;AAClE,MAAM,CAAC,MAAM,8BAA8B,GAAsD;IAC/F,cAAc,EAAE,kBAAkB;IAClC,WAAW,EAAE,sBAAsB;IACnC,YAAY,EAAE,6BAA6B;IAC3C,WAAW,EAAE,wBAAwB;IACrC,YAAY,EAAE,mBAAmB;CAClC,CAAC;AAEF,uFAAuF;AACvF,MAAM,CAAC,MAAM,6BAA6B,GAAyC;IACjF,cAAc,EAAE,iBAAiB;IACjC,uBAAuB,EAAE,yBAAyB;IAClD,sBAAsB,EAAE,uBAAuB;IAC/C,iBAAiB,EAAE,sBAAsB;IACzC,kBAAkB,EAAE,oBAAoB;IACxC,WAAW,EAAE,sBAAsB;IACnC,kBAAkB,EAAE,iBAAiB;IACrC,eAAe,EAAE,cAAc;IAC/B,kBAAkB,EAAE,qBAAqB;IACzC,qBAAqB,EAAE,uBAAuB;IAC9C,kBAAkB,EAAE,kBAAkB;IACtC,mBAAmB,EAAE,yBAAyB;CAC/C,CAAC;AAEF;4EAC4E;AAC5E,MAAM,CAAC,MAAM,0BAA0B,GAIjC;IACJ;QACE,KAAK,EAAE,gBAAgB;QACvB,KAAK,EAAE,yBAAyB;QAChC,WAAW,EACT,8FAA8F;KACjG;IACD;QACE,KAAK,EAAE,aAAa;QACpB,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE,iFAAiF;KAC/F;IACD;QACE,KAAK,EAAE,8BAA8B;QACrC,KAAK,EAAE,6BAA6B;QACpC,WAAW,EAAE,qEAAqE;KACnF;CACF,CAAC"}
@@ -64,6 +64,9 @@ export declare const MAX_REPORT_NARRATIVE_LENGTH = 4000;
64
64
  export declare const MAX_REPORT_COMMENT_LENGTH = 1000;
65
65
  /** Minimum operator rationale/reason length on safety-console staged actions. */
66
66
  export declare const MIN_SAFETY_RATIONALE_LENGTH = 10;
67
+ /** Operator reason on an admin chat-moderation action (adminModerateChatMessage /
68
+ * adminReadChannelContext). ONE owner for both callables' `reason` bound. */
69
+ export declare const MAX_CHAT_MODERATION_REASON_LENGTH = 1000;
67
70
  /** Broadcast explicitUids selector audience cap (schema + composer both derive). */
68
71
  export declare const MAX_BROADCAST_EXPLICIT_UIDS = 2000;
69
72
  export declare const STEP_UP_ENROLL_REQUIRED = "OPERATOR_STEP_UP_ENROLL_REQUIRED";
@@ -1 +1 @@
1
- {"version":3,"file":"business-admin.d.ts","sourceRoot":"","sources":["../../src/constants/business-admin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"business-admin.d.ts","sourceRoot":"","sources":["../../src/constants/business-admin.ts"],"names":[],"mappings":"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"}
@@ -72,6 +72,9 @@ export const MAX_REPORT_NARRATIVE_LENGTH = 4000;
72
72
  export const MAX_REPORT_COMMENT_LENGTH = 1000;
73
73
  /** Minimum operator rationale/reason length on safety-console staged actions. */
74
74
  export const MIN_SAFETY_RATIONALE_LENGTH = 10;
75
+ /** Operator reason on an admin chat-moderation action (adminModerateChatMessage /
76
+ * adminReadChannelContext). ONE owner for both callables' `reason` bound. */
77
+ export const MAX_CHAT_MODERATION_REASON_LENGTH = 1000;
75
78
  /** Broadcast explicitUids selector audience cap (schema + composer both derive). */
76
79
  export const MAX_BROADCAST_EXPLICIT_UIDS = 2000;
77
80
  // --- Operator step-up sentinel error codes ---
@@ -1 +1 @@
1
- {"version":3,"file":"business-admin.js","sourceRoot":"","sources":["../../src/constants/business-admin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"business-admin.js","sourceRoot":"","sources":["../../src/constants/business-admin.ts"],"names":[],"mappings":"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"}
@@ -8,13 +8,51 @@ export declare const MAX_SAVED_PROPOSAL_ARTISANS = 5;
8
8
  export declare const MAX_COMMISSION_TITLE_LENGTH = 150;
9
9
  /** Maximum length for a commission description / cover letter. */
10
10
  export declare const MAX_COMMISSION_DESCRIPTION_LENGTH = 400;
11
+ /**
12
+ * Neutral placeholder written into a single cleared text field by the moderation
13
+ * text-clear remedy. Canonical wording — the backend `runModerationClearText`
14
+ * core writes exactly this string; a wording change is a single edit here.
15
+ */
16
+ export declare const MODERATION_CLEAR_PLACEHOLDER = "Removed by moderation \u2014 awaiting an update by the steward.";
17
+ /**
18
+ * CANONICAL clearable text-field map for the per-field moderation TEXT-CLEAR remedy.
19
+ * Cross-boundary single owner: the admin field-picker offers this set per surface and
20
+ * the backend clear runner validates + normalizes caller-supplied fields against it.
21
+ * Keys are surfaces; values are the exact document field names (NOT display labels)
22
+ * recorded verbatim in `moderationClearedFields`. Covers every clearable surface —
23
+ * workProject/workRealm shell metadata, hall parent details (tale/tune/television),
24
+ * and hall sub-items (chapter/track/episode).
25
+ */
26
+ export declare const MODERATION_CLEARABLE_TEXT_FIELDS: {
27
+ readonly workProject: readonly ["workingTitle", "workingDescription"];
28
+ readonly workRealm: readonly ["workingTitle", "workingDescription"];
29
+ readonly tale: readonly ["title", "description"];
30
+ readonly tune: readonly ["title", "description"];
31
+ readonly television: readonly ["title", "description"];
32
+ readonly chapter: readonly ["title", "content"];
33
+ readonly tuneTrack: readonly ["title", "description"];
34
+ readonly televisionEpisode: readonly ["title", "description"];
35
+ };
36
+ /** A surface whose text fields the moderation clear remedy can neutralize. */
37
+ export type ModerationClearableSurface = keyof typeof MODERATION_CLEARABLE_TEXT_FIELDS;
38
+ /**
39
+ * The DISTINCT clearable text-field NAMES across the whole hall content family (tale/tune/
40
+ * television detail → title/description; chapter → title/content; track/episode →
41
+ * title/description). DERIVED from the canonical MODERATION_CLEARABLE_TEXT_FIELDS map — the
42
+ * union of every hall surface's fields — so the `clearHallContentText` callable's field-enum
43
+ * (`HallClearFieldSchema`) never restates the `title`/`description`/`content` literals. Index
44
+ * access on the map's readonly tuples preserves the literal types, so this stays a typed
45
+ * `readonly ['title','description','content']` a `z.enum(...)` can consume directly.
46
+ */
47
+ export declare const HALL_CLEARABLE_TEXT_FIELD_NAMES: readonly ["title", "description", "content"];
11
48
  /**
12
49
  * The raw doc field names each published hall-content surface exposes as changeable TEXT.
13
50
  * Cross-boundary: the member "Update details" field picker offers this set per surface and
14
51
  * the change-request submit runner validates against it. Detail surfaces (tale/tune/
15
52
  * television) live on the hall parent doc; sub-item surfaces on the published chapter/
16
- * track/episode doc. Mirrors the hall surfaces of the backend moderation text-clear
17
- * allowlist (functions moderationClearText.ts) keep the two in lockstep.
53
+ * track/episode doc. This is the HALL-SURFACE SUBSET of the canonical
54
+ * MODERATION_CLEARABLE_TEXT_FIELDS above (it excludes the `workProject` shell) every
55
+ * tuple is projected from that one owner, so the two can never drift.
18
56
  */
19
57
  export declare const HALL_CONTENT_TEXT_FIELDS: {
20
58
  readonly tale: readonly ["title", "description"];
@@ -1 +1 @@
1
- {"version":3,"file":"business-content.d.ts","sourceRoot":"","sources":["../../src/constants/business-content.ts"],"names":[],"mappings":"AAWA,gGAAgG;AAChG,eAAO,MAAM,qCAAqC,MAAM,CAAC;AAIzD,8EAA8E;AAC9E,eAAO,MAAM,uBAAuB,QAAkD,CAAC;AAEvF,iEAAiE;AACjE,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAE7C,6CAA6C;AAC7C,eAAO,MAAM,2BAA2B,MAAgC,CAAC;AAEzE,kEAAkE;AAClE,eAAO,MAAM,iCAAiC,MAAM,CAAC;AAIrD;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;CASiB,CAAC;AAEvD;;;kEAGkE;AAClE,eAAO,MAAM,2BAA2B;;;;;;CAMG,CAAC;AAE5C;2FAC2F;AAC3F,eAAO,MAAM,qCAAqC,OAAO,CAAC;AAI1D;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,6BAA6B,QAEiC,CAAC;AAE5E,eAAO,MAAM,8BAA8B,QAMO,CAAC;AAInD;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB;;;;;CAKO,CAAC;AAI5C,4CAA4C;AAC5C,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAE7C;;4EAE4E;AAC5E,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAC9C,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAE9C,kDAAkD;AAClD,eAAO,MAAM,+BAA+B,OAAO,CAAC;AAEpD;;;;;GAKG;AACH,eAAO,MAAM,iCAAiC,SAAU,CAAC;AAIzD,+CAA+C;AAC/C,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC,yEAAyE;AACzE,eAAO,MAAM,YAAY,IAAI,CAAC;AAE9B,8EAA8E;AAC9E,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAI7C,iDAAiD;AACjD,eAAO,MAAM,+BAA+B,MAAM,CAAC;AAEnD,kDAAkD;AAClD,eAAO,MAAM,iCAAiC,MAAM,CAAC;AAErD,kFAAkF;AAClF,eAAO,MAAM,6BAA6B,MAAM,CAAC"}
1
+ {"version":3,"file":"business-content.d.ts","sourceRoot":"","sources":["../../src/constants/business-content.ts"],"names":[],"mappings":"AAWA,gGAAgG;AAChG,eAAO,MAAM,qCAAqC,MAAM,CAAC;AAIzD,8EAA8E;AAC9E,eAAO,MAAM,uBAAuB,QAAkD,CAAC;AAEvF,iEAAiE;AACjE,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAE7C,6CAA6C;AAC7C,eAAO,MAAM,2BAA2B,MAAgC,CAAC;AAEzE,kEAAkE;AAClE,eAAO,MAAM,iCAAiC,MAAM,CAAC;AAIrD;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,oEACqB,CAAC;AAE/D;;;;;;;;GAQG;AACH,eAAO,MAAM,gCAAgC;;;;;;;;;CAYS,CAAC;AAEvD,8EAA8E;AAC9E,MAAM,MAAM,0BAA0B,GAAG,MAAM,OAAO,gCAAgC,CAAC;AAEvF;;;;;;;;GAQG;AACH,eAAO,MAAM,+BAA+B,8CAIlC,CAAC;AAEX;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;CASiB,CAAC;AAEvD;;;kEAGkE;AAClE,eAAO,MAAM,2BAA2B;;;;;;CAMG,CAAC;AAE5C;2FAC2F;AAC3F,eAAO,MAAM,qCAAqC,OAAO,CAAC;AAI1D;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,6BAA6B,QAEiC,CAAC;AAE5E,eAAO,MAAM,8BAA8B,QAMO,CAAC;AAInD;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB;;;;;CAKO,CAAC;AAI5C,4CAA4C;AAC5C,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAE7C;;4EAE4E;AAC5E,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAC9C,eAAO,MAAM,4BAA4B,IAAI,CAAC;AAE9C,kDAAkD;AAClD,eAAO,MAAM,+BAA+B,OAAO,CAAC;AAEpD;;;;;GAKG;AACH,eAAO,MAAM,iCAAiC,SAAU,CAAC;AAIzD,+CAA+C;AAC/C,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC,yEAAyE;AACzE,eAAO,MAAM,YAAY,IAAI,CAAC;AAE9B,8EAA8E;AAC9E,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAI7C,iDAAiD;AACjD,eAAO,MAAM,+BAA+B,MAAM,CAAC;AAEnD,kDAAkD;AAClD,eAAO,MAAM,iCAAiC,MAAM,CAAC;AAErD,kFAAkF;AAClF,eAAO,MAAM,6BAA6B,MAAM,CAAC"}
@@ -13,24 +13,67 @@ export const MAX_SAVED_PROPOSAL_ARTISANS = 5;
13
13
  export const MAX_COMMISSION_TITLE_LENGTH = MAX_WORK_PROJECT_TITLE_LENGTH;
14
14
  /** Maximum length for a commission description / cover letter. */
15
15
  export const MAX_COMMISSION_DESCRIPTION_LENGTH = 400;
16
- // --- Published hall-content text fields (change requests + moderation text-clear) ---
16
+ // --- Moderation text-clear + published hall-content text fields ---
17
17
  /**
18
- * The raw doc field names each published hall-content surface exposes as changeable TEXT.
19
- * Cross-boundary: the member "Update details" field picker offers this set per surface and
20
- * the change-request submit runner validates against it. Detail surfaces (tale/tune/
21
- * television) live on the hall parent doc; sub-item surfaces on the published chapter/
22
- * track/episode doc. Mirrors the hall surfaces of the backend moderation text-clear
23
- * allowlist (functions moderationClearText.ts) — keep the two in lockstep.
18
+ * Neutral placeholder written into a single cleared text field by the moderation
19
+ * text-clear remedy. Canonical wording the backend `runModerationClearText`
20
+ * core writes exactly this string; a wording change is a single edit here.
24
21
  */
25
- export const HALL_CONTENT_TEXT_FIELDS = {
22
+ export const MODERATION_CLEAR_PLACEHOLDER = 'Removed by moderation — awaiting an update by the steward.';
23
+ /**
24
+ * CANONICAL clearable text-field map for the per-field moderation TEXT-CLEAR remedy.
25
+ * Cross-boundary single owner: the admin field-picker offers this set per surface and
26
+ * the backend clear runner validates + normalizes caller-supplied fields against it.
27
+ * Keys are surfaces; values are the exact document field names (NOT display labels)
28
+ * recorded verbatim in `moderationClearedFields`. Covers every clearable surface —
29
+ * workProject/workRealm shell metadata, hall parent details (tale/tune/television),
30
+ * and hall sub-items (chapter/track/episode).
31
+ */
32
+ export const MODERATION_CLEARABLE_TEXT_FIELDS = {
33
+ // workProject + workRealm shell metadata
34
+ workProject: ['workingTitle', 'workingDescription'],
35
+ workRealm: ['workingTitle', 'workingDescription'],
36
+ // hall content parent details
26
37
  tale: ['title', 'description'],
27
38
  tune: ['title', 'description'],
28
39
  television: ['title', 'description'],
40
+ // hall content sub-items
29
41
  chapter: ['title', 'content'],
30
42
  tuneTrack: ['title', 'description'],
31
43
  televisionEpisode: ['title', 'description'],
44
+ };
45
+ /**
46
+ * The DISTINCT clearable text-field NAMES across the whole hall content family (tale/tune/
47
+ * television detail → title/description; chapter → title/content; track/episode →
48
+ * title/description). DERIVED from the canonical MODERATION_CLEARABLE_TEXT_FIELDS map — the
49
+ * union of every hall surface's fields — so the `clearHallContentText` callable's field-enum
50
+ * (`HallClearFieldSchema`) never restates the `title`/`description`/`content` literals. Index
51
+ * access on the map's readonly tuples preserves the literal types, so this stays a typed
52
+ * `readonly ['title','description','content']` a `z.enum(...)` can consume directly.
53
+ */
54
+ export const HALL_CLEARABLE_TEXT_FIELD_NAMES = [
55
+ MODERATION_CLEARABLE_TEXT_FIELDS.tale[0], // title
56
+ MODERATION_CLEARABLE_TEXT_FIELDS.tale[1], // description
57
+ MODERATION_CLEARABLE_TEXT_FIELDS.chapter[1], // content
58
+ ];
59
+ /**
60
+ * The raw doc field names each published hall-content surface exposes as changeable TEXT.
61
+ * Cross-boundary: the member "Update details" field picker offers this set per surface and
62
+ * the change-request submit runner validates against it. Detail surfaces (tale/tune/
63
+ * television) live on the hall parent doc; sub-item surfaces on the published chapter/
64
+ * track/episode doc. This is the HALL-SURFACE SUBSET of the canonical
65
+ * MODERATION_CLEARABLE_TEXT_FIELDS above (it excludes the `workProject` shell) — every
66
+ * tuple is projected from that one owner, so the two can never drift.
67
+ */
68
+ export const HALL_CONTENT_TEXT_FIELDS = {
69
+ tale: MODERATION_CLEARABLE_TEXT_FIELDS.tale,
70
+ tune: MODERATION_CLEARABLE_TEXT_FIELDS.tune,
71
+ television: MODERATION_CLEARABLE_TEXT_FIELDS.television,
72
+ chapter: MODERATION_CLEARABLE_TEXT_FIELDS.chapter,
73
+ tuneTrack: MODERATION_CLEARABLE_TEXT_FIELDS.tuneTrack,
74
+ televisionEpisode: MODERATION_CLEARABLE_TEXT_FIELDS.televisionEpisode,
32
75
  // Realm grain (R1, 2026-07-12): targets the `workRealms/{id}` doc directly.
33
- workRealm: ['workingTitle', 'workingDescription'],
76
+ workRealm: MODERATION_CLEARABLE_TEXT_FIELDS.workRealm,
34
77
  };
35
78
  /** Per-field max lengths for proposed hall-content text. DERIVED from the owning
36
79
  * constants — never independent numbers — so the change-request pipeline can never
@@ -1 +1 @@
1
- {"version":3,"file":"business-content.js","sourceRoot":"","sources":["../../src/constants/business-content.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"business-content.js","sourceRoot":"","sources":["../../src/constants/business-content.ts"],"names":[],"mappings":"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"}
@@ -141,8 +141,8 @@ export declare const ChatAdminActionCommandSchema: z.ZodObject<{
141
141
  channelRef: z.ZodRecord<z.ZodString, z.ZodUnknown>;
142
142
  messageSeq: z.ZodNumber;
143
143
  action: z.ZodEnum<{
144
- hide: "hide";
145
144
  delete: "delete";
145
+ hide: "hide";
146
146
  }>;
147
147
  caseId: z.ZodString;
148
148
  reason: z.ZodString;
@@ -54,12 +54,12 @@ export declare const MediaActivationJobSchema: z.ZodObject<{
54
54
  adminOnly: "adminOnly";
55
55
  }>;
56
56
  ownerType: z.ZodEnum<{
57
+ workProject: "workProject";
57
58
  audition: "audition";
58
59
  hallItem: "hallItem";
59
60
  craftSkill: "craftSkill";
60
61
  commissionListing: "commissionListing";
61
62
  commissionProposal: "commissionProposal";
62
- workProject: "workProject";
63
63
  auditionEntry: "auditionEntry";
64
64
  userProfile: "userProfile";
65
65
  squareStreetzPost: "squareStreetzPost";
@@ -20,12 +20,12 @@ export type MediaServingStatus = z.infer<typeof MediaServingStatusSchema>;
20
20
  * publishing to the Hall (or future realm promotion) creates a NEW asset
21
21
  * owned by the destination surface. */
22
22
  export declare const MediaAssetOwnerTypeSchema: z.ZodEnum<{
23
+ workProject: "workProject";
23
24
  audition: "audition";
24
25
  hallItem: "hallItem";
25
26
  craftSkill: "craftSkill";
26
27
  commissionListing: "commissionListing";
27
28
  commissionProposal: "commissionProposal";
28
- workProject: "workProject";
29
29
  auditionEntry: "auditionEntry";
30
30
  userProfile: "userProfile";
31
31
  squareStreetzPost: "squareStreetzPost";
@@ -107,12 +107,12 @@ export declare const MediaOriginLineageV1Schema: z.ZodObject<{
107
107
  evidence_copy: "evidence_copy";
108
108
  }>;
109
109
  createdFromOwnerType: z.ZodOptional<z.ZodEnum<{
110
+ workProject: "workProject";
110
111
  audition: "audition";
111
112
  hallItem: "hallItem";
112
113
  craftSkill: "craftSkill";
113
114
  commissionListing: "commissionListing";
114
115
  commissionProposal: "commissionProposal";
115
- workProject: "workProject";
116
116
  auditionEntry: "auditionEntry";
117
117
  userProfile: "userProfile";
118
118
  squareStreetzPost: "squareStreetzPost";
@@ -124,12 +124,12 @@ export declare const MediaOriginLineageV1Schema: z.ZodObject<{
124
124
  createdFromOwnerId: z.ZodOptional<z.ZodString>;
125
125
  copyActorUid: z.ZodOptional<z.ZodString>;
126
126
  currentOwnerType: z.ZodEnum<{
127
+ workProject: "workProject";
127
128
  audition: "audition";
128
129
  hallItem: "hallItem";
129
130
  craftSkill: "craftSkill";
130
131
  commissionListing: "commissionListing";
131
132
  commissionProposal: "commissionProposal";
132
- workProject: "workProject";
133
133
  auditionEntry: "auditionEntry";
134
134
  userProfile: "userProfile";
135
135
  squareStreetzPost: "squareStreetzPost";
@@ -266,12 +266,12 @@ export declare const MediaServingAuthorityRecordSchema: z.ZodObject<{
266
266
  adminOnly: "adminOnly";
267
267
  }>;
268
268
  ownerType: z.ZodEnum<{
269
+ workProject: "workProject";
269
270
  audition: "audition";
270
271
  hallItem: "hallItem";
271
272
  craftSkill: "craftSkill";
272
273
  commissionListing: "commissionListing";
273
274
  commissionProposal: "commissionProposal";
274
- workProject: "workProject";
275
275
  auditionEntry: "auditionEntry";
276
276
  userProfile: "userProfile";
277
277
  squareStreetzPost: "squareStreetzPost";
@@ -339,12 +339,12 @@ export declare const MediaAssetSchema: z.ZodObject<{
339
339
  "ncii-evidence": "ncii-evidence";
340
340
  }>;
341
341
  ownerType: z.ZodEnum<{
342
+ workProject: "workProject";
342
343
  audition: "audition";
343
344
  hallItem: "hallItem";
344
345
  craftSkill: "craftSkill";
345
346
  commissionListing: "commissionListing";
346
347
  commissionProposal: "commissionProposal";
347
- workProject: "workProject";
348
348
  auditionEntry: "auditionEntry";
349
349
  userProfile: "userProfile";
350
350
  squareStreetzPost: "squareStreetzPost";
@@ -414,12 +414,12 @@ export declare const MediaAssetSchema: z.ZodObject<{
414
414
  evidence_copy: "evidence_copy";
415
415
  }>;
416
416
  createdFromOwnerType: z.ZodOptional<z.ZodEnum<{
417
+ workProject: "workProject";
417
418
  audition: "audition";
418
419
  hallItem: "hallItem";
419
420
  craftSkill: "craftSkill";
420
421
  commissionListing: "commissionListing";
421
422
  commissionProposal: "commissionProposal";
422
- workProject: "workProject";
423
423
  auditionEntry: "auditionEntry";
424
424
  userProfile: "userProfile";
425
425
  squareStreetzPost: "squareStreetzPost";
@@ -431,12 +431,12 @@ export declare const MediaAssetSchema: z.ZodObject<{
431
431
  createdFromOwnerId: z.ZodOptional<z.ZodString>;
432
432
  copyActorUid: z.ZodOptional<z.ZodString>;
433
433
  currentOwnerType: z.ZodEnum<{
434
+ workProject: "workProject";
434
435
  audition: "audition";
435
436
  hallItem: "hallItem";
436
437
  craftSkill: "craftSkill";
437
438
  commissionListing: "commissionListing";
438
439
  commissionProposal: "commissionProposal";
439
- workProject: "workProject";
440
440
  auditionEntry: "auditionEntry";
441
441
  userProfile: "userProfile";
442
442
  squareStreetzPost: "squareStreetzPost";
@@ -130,9 +130,9 @@ export declare const ModerationCascadeStatusSchema: z.ZodEnum<{
130
130
  export type ModerationCascadeStatus = z.infer<typeof ModerationCascadeStatusSchema>;
131
131
  export declare const ModerationCascadeChangedEntityTypeSchema: z.ZodEnum<{
132
132
  workRealm: "workRealm";
133
+ workProject: "workProject";
133
134
  mediaAsset: "mediaAsset";
134
135
  hallItem: "hallItem";
135
- workProject: "workProject";
136
136
  subItemProjection: "subItemProjection";
137
137
  }>;
138
138
  export type ModerationCascadeChangedEntityType = z.infer<typeof ModerationCascadeChangedEntityTypeSchema>;
@@ -169,9 +169,9 @@ export declare const ModerationCascadeChangedDocSchema: z.ZodObject<{
169
169
  docPath: z.ZodString;
170
170
  entityType: z.ZodEnum<{
171
171
  workRealm: "workRealm";
172
+ workProject: "workProject";
172
173
  mediaAsset: "mediaAsset";
173
174
  hallItem: "hallItem";
174
- workProject: "workProject";
175
175
  subItemProjection: "subItemProjection";
176
176
  }>;
177
177
  fieldPath: z.ZodString;
@@ -11,6 +11,7 @@ export declare const TakeItDownRequestRootV1Schema: z.ZodObject<{
11
11
  targetLocatorSummary: z.ZodObject<{
12
12
  kind: z.ZodEnum<{
13
13
  workRealm: "workRealm";
14
+ workProject: "workProject";
14
15
  username: "username";
15
16
  audition: "audition";
16
17
  mediaAsset: "mediaAsset";
@@ -20,7 +21,6 @@ export declare const TakeItDownRequestRootV1Schema: z.ZodObject<{
20
21
  craftSkill: "craftSkill";
21
22
  commissionListing: "commissionListing";
22
23
  commissionProposal: "commissionProposal";
23
- workProject: "workProject";
24
24
  workAsset: "workAsset";
25
25
  auditionEntry: "auditionEntry";
26
26
  guildInviteMessage: "guildInviteMessage";
@@ -17,6 +17,15 @@ export declare const NotificationDocSchema: z.ZodObject<{
17
17
  createdAt: z.ZodNumber;
18
18
  updatedAt: z.ZodNumber;
19
19
  }, z.core.$strip>;
20
+ export declare const PendingNotificationSchema: z.ZodObject<{
21
+ id: z.ZodString;
22
+ type: z.ZodString;
23
+ category: z.ZodString;
24
+ targetUserId: z.ZodNullable<z.ZodString>;
25
+ actorId: z.ZodString;
26
+ metadata: z.ZodRecord<z.ZodString, z.ZodUnknown>;
27
+ createdAt: z.ZodNumber;
28
+ }, z.core.$strip>;
20
29
  export declare const NotificationHistoryDocSchema: z.ZodObject<{
21
30
  archiveOccurrenceId: z.ZodString;
22
31
  requestId: z.ZodString;
@@ -47,13 +56,4 @@ export declare const NotificationHistoryDocSchema: z.ZodObject<{
47
56
  expireAt: z.ZodCustom<import("./firestore-primitives.js").FirestoreTimestampLike, import("./firestore-primitives.js").FirestoreTimestampLike>;
48
57
  handledBy: z.ZodOptional<z.ZodString>;
49
58
  }, z.core.$strip>;
50
- export declare const PendingNotificationSchema: z.ZodObject<{
51
- id: z.ZodString;
52
- type: z.ZodString;
53
- category: z.ZodString;
54
- targetUserId: z.ZodNullable<z.ZodString>;
55
- actorId: z.ZodString;
56
- metadata: z.ZodRecord<z.ZodString, z.ZodUnknown>;
57
- createdAt: z.ZodNumber;
58
- }, z.core.$strip>;
59
59
  //# sourceMappingURL=notifications.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../../src/doc-schemas/notifications.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;iBAsBhC,CAAC;AAMH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAYvC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;iBAQpC,CAAC"}
1
+ {"version":3,"file":"notifications.d.ts","sourceRoot":"","sources":["../../src/doc-schemas/notifications.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;iBAA4B,CAAC;AAC/D,eAAO,MAAM,yBAAyB;;;;;;;;iBAAgC,CAAC;AAMvE,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAYvC,CAAC"}
@@ -2,37 +2,22 @@
2
2
  // activeUserNotifications/{id} + activeAdminNotifications/{id} (NotificationDoc),
3
3
  // adminNotificationHistory/{id} + userProfiles/{uid}/notificationHistory/{id}
4
4
  // (the archived-history wrapper), pendingNotifications/{id} (PendingNotification).
5
- // NotificationDoc/PendingNotification TYPES live in @ttt-productions/notification-core;
6
- // the history doc has no consumer-facing package type (the server archive helper builds
7
- // it as an untyped wrapper), so NotificationHistoryDocSchema below is its canonical shape.
8
- // These schemas mirror the package's shapes by hand there is currently no parity test
9
- // enforcing that they stay in sync; a drift here would go unnoticed until it broke
10
- // something at runtime.
5
+ //
6
+ // @ttt-productions/notification-core OWNS the generic NotificationDoc and
7
+ // PendingNotification shapes AND their schemas; ttt-core composes those schemas
8
+ // here (single owner no hand-mirroring, so drift is impossible). The history
9
+ // doc has no consumer-facing package type (the server archive helper builds it as
10
+ // an untyped wrapper), so NotificationHistoryDocSchema below is its canonical
11
+ // shape and stays owned by ttt-core.
11
12
  import { z } from 'zod';
13
+ import { NotificationDocSchema as NotificationDocSchemaBase, PendingNotificationSchema as PendingNotificationSchemaBase, } from '@ttt-productions/notification-core';
12
14
  import { FirestoreTimestampSchema } from './firestore-primitives.js';
13
- export const NotificationDocSchema = z.object({
14
- id: z.string(),
15
- type: z.string(),
16
- dedupKey: z.string(),
17
- category: z.string(),
18
- targetUserId: z.string().nullable(),
19
- title: z.string(),
20
- message: z.string(),
21
- count: z.number(),
22
- latestActorIds: z.array(z.string()),
23
- // Absent on linkless types (no defaultTargetPath in the type config) — the
24
- // tray renders a clear-only row for those.
25
- targetPath: z.string().optional(),
26
- metadata: z.record(z.string(), z.unknown()),
27
- seenAt: z.number(),
28
- // Opaque per-generation token rotated on create / material re-light; the
29
- // SEEN/ARCHIVE precondition (notification redesign). Optional on the legacy
30
- // doc shape; the ledger materializer always sets it.
31
- activityGeneration: z.string().optional(),
32
- seenAtGeneration: z.string().optional(),
33
- createdAt: z.number(),
34
- updatedAt: z.number(),
35
- });
15
+ // TTT stores the generic shapes verbatim (no TTT-specific field refinements), so
16
+ // these re-export notification-core's canonical schemas under ttt-core's stable
17
+ // registry names. If TTT ever refines a field, compose via `.extend`/`.merge` on
18
+ // the base schema rather than re-declaring it here.
19
+ export const NotificationDocSchema = NotificationDocSchemaBase;
20
+ export const PendingNotificationSchema = PendingNotificationSchemaBase;
36
21
  // Archived history doc = the wrapper persisted by notification-core's server archive
37
22
  // helper (server/observed-generation.ts): the full active notification nested under
38
23
  // `archivedSnapshot`, plus archive metadata and a native-TTL `expireAt` Timestamp
@@ -50,13 +35,4 @@ export const NotificationHistoryDocSchema = z.object({
50
35
  expireAt: FirestoreTimestampSchema,
51
36
  handledBy: z.string().optional(),
52
37
  });
53
- export const PendingNotificationSchema = z.object({
54
- id: z.string(),
55
- type: z.string(),
56
- category: z.string(),
57
- targetUserId: z.string().nullable(),
58
- actorId: z.string(),
59
- metadata: z.record(z.string(), z.unknown()),
60
- createdAt: z.number(),
61
- });
62
38
  //# sourceMappingURL=notifications.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"notifications.js","sourceRoot":"","sources":["../../src/doc-schemas/notifications.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,kFAAkF;AAClF,8EAA8E;AAC9E,mFAAmF;AACnF,wFAAwF;AACxF,wFAAwF;AACxF,2FAA2F;AAC3F,wFAAwF;AACxF,mFAAmF;AACnF,wBAAwB;AAExB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAErE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACnC,2EAA2E;IAC3E,2CAA2C;IAC3C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;IAC3C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,yEAAyE;IACzE,4EAA4E;IAC5E,qDAAqD;IACrD,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzC,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACvC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC;AAEH,qFAAqF;AACrF,oFAAoF;AACpF,kFAAkF;AAClF,wEAAwE;AACxE,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC/B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,0BAA0B,EAAE,CAAC,CAAC,MAAM,EAAE;IACtC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IACzB,gBAAgB,EAAE,qBAAqB;IACvC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,QAAQ,EAAE,wBAAwB;IAClC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;IAC3C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC"}
1
+ {"version":3,"file":"notifications.js","sourceRoot":"","sources":["../../src/doc-schemas/notifications.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,kFAAkF;AAClF,8EAA8E;AAC9E,mFAAmF;AACnF,EAAE;AACF,0EAA0E;AAC1E,gFAAgF;AAChF,+EAA+E;AAC/E,kFAAkF;AAClF,8EAA8E;AAC9E,qCAAqC;AAErC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,qBAAqB,IAAI,yBAAyB,EAClD,yBAAyB,IAAI,6BAA6B,GAC3D,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAErE,iFAAiF;AACjF,gFAAgF;AAChF,iFAAiF;AACjF,oDAAoD;AACpD,MAAM,CAAC,MAAM,qBAAqB,GAAG,yBAAyB,CAAC;AAC/D,MAAM,CAAC,MAAM,yBAAyB,GAAG,6BAA6B,CAAC;AAEvE,qFAAqF;AACrF,oFAAoF;AACpF,kFAAkF;AAClF,wEAAwE;AACxE,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC/B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,0BAA0B,EAAE,CAAC,CAAC,MAAM,EAAE;IACtC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IACzB,gBAAgB,EAAE,qBAAqB;IACvC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,QAAQ,EAAE,wBAAwB;IAClC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC"}