@ttt-productions/ttt-core 0.13.0 → 0.14.1

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 (125) hide show
  1. package/dist/constants/app-mode.d.ts +68 -0
  2. package/dist/constants/app-mode.d.ts.map +1 -0
  3. package/dist/constants/app-mode.js +109 -0
  4. package/dist/constants/app-mode.js.map +1 -0
  5. package/dist/constants/business-admin.d.ts +4 -4
  6. package/dist/constants/business-admin.d.ts.map +1 -1
  7. package/dist/constants/business-admin.js +5 -4
  8. package/dist/constants/business-admin.js.map +1 -1
  9. package/dist/constants/business-content.d.ts +2 -2
  10. package/dist/constants/business-content.d.ts.map +1 -1
  11. package/dist/constants/business-content.js +3 -2
  12. package/dist/constants/business-content.js.map +1 -1
  13. package/dist/constants/business-platform.d.ts +5 -4
  14. package/dist/constants/business-platform.d.ts.map +1 -1
  15. package/dist/constants/business-platform.js +5 -4
  16. package/dist/constants/business-platform.js.map +1 -1
  17. package/dist/constants/business-user.d.ts +6 -2
  18. package/dist/constants/business-user.d.ts.map +1 -1
  19. package/dist/constants/business-user.js +8 -2
  20. package/dist/constants/business-user.js.map +1 -1
  21. package/dist/constants/business-work-project.d.ts +12 -12
  22. package/dist/constants/business-work-project.d.ts.map +1 -1
  23. package/dist/constants/business-work-project.js +13 -12
  24. package/dist/constants/business-work-project.js.map +1 -1
  25. package/dist/constants/index.d.ts +1 -0
  26. package/dist/constants/index.d.ts.map +1 -1
  27. package/dist/constants/index.js +1 -0
  28. package/dist/constants/index.js.map +1 -1
  29. package/dist/constants/pagination.d.ts +2 -2
  30. package/dist/constants/pagination.d.ts.map +1 -1
  31. package/dist/constants/pagination.js +3 -2
  32. package/dist/constants/pagination.js.map +1 -1
  33. package/dist/doc-schemas/commissions.d.ts +5 -5
  34. package/dist/doc-schemas/commissions.js +4 -4
  35. package/dist/doc-schemas/commissions.js.map +1 -1
  36. package/dist/doc-schemas/content.d.ts +22 -22
  37. package/dist/doc-schemas/content.js +22 -22
  38. package/dist/doc-schemas/content.js.map +1 -1
  39. package/dist/doc-schemas/index.d.ts +1 -0
  40. package/dist/doc-schemas/index.d.ts.map +1 -1
  41. package/dist/doc-schemas/index.js +1 -0
  42. package/dist/doc-schemas/index.js.map +1 -1
  43. package/dist/doc-schemas/media-assets.d.ts +148 -0
  44. package/dist/doc-schemas/media-assets.d.ts.map +1 -0
  45. package/dist/doc-schemas/media-assets.js +76 -0
  46. package/dist/doc-schemas/media-assets.js.map +1 -0
  47. package/dist/doc-schemas/messaging.d.ts +1 -1
  48. package/dist/doc-schemas/moderation.d.ts +0 -1
  49. package/dist/doc-schemas/moderation.d.ts.map +1 -1
  50. package/dist/doc-schemas/moderation.js +2 -1
  51. package/dist/doc-schemas/moderation.js.map +1 -1
  52. package/dist/doc-schemas/payments.d.ts +1 -1
  53. package/dist/doc-schemas/publicUser.d.ts +1 -3
  54. package/dist/doc-schemas/publicUser.d.ts.map +1 -1
  55. package/dist/doc-schemas/publicUser.js +3 -3
  56. package/dist/doc-schemas/publicUser.js.map +1 -1
  57. package/dist/doc-schemas/registry.d.ts +122 -37
  58. package/dist/doc-schemas/registry.d.ts.map +1 -1
  59. package/dist/doc-schemas/registry.js +2 -0
  60. package/dist/doc-schemas/registry.js.map +1 -1
  61. package/dist/doc-schemas/social.d.ts +1 -1
  62. package/dist/doc-schemas/social.js +1 -1
  63. package/dist/doc-schemas/social.js.map +1 -1
  64. package/dist/doc-schemas/system.d.ts +1 -0
  65. package/dist/doc-schemas/system.d.ts.map +1 -1
  66. package/dist/doc-schemas/system.js +5 -0
  67. package/dist/doc-schemas/system.js.map +1 -1
  68. package/dist/doc-schemas/user.d.ts +5 -6
  69. package/dist/doc-schemas/user.d.ts.map +1 -1
  70. package/dist/doc-schemas/user.js +10 -6
  71. package/dist/doc-schemas/user.js.map +1 -1
  72. package/dist/doc-schemas/work-project.d.ts +2 -2
  73. package/dist/doc-schemas/work-project.js +2 -2
  74. package/dist/doc-schemas/work-project.js.map +1 -1
  75. package/dist/media/hall-library-target-fields.d.ts +8 -8
  76. package/dist/media/hall-library-target-fields.d.ts.map +1 -1
  77. package/dist/media/hall-library-target-fields.js +10 -9
  78. package/dist/media/hall-library-target-fields.js.map +1 -1
  79. package/dist/media/index.d.ts +1 -0
  80. package/dist/media/index.d.ts.map +1 -1
  81. package/dist/media/index.js +1 -0
  82. package/dist/media/index.js.map +1 -1
  83. package/dist/media/media-asset-url.d.ts +32 -0
  84. package/dist/media/media-asset-url.d.ts.map +1 -0
  85. package/dist/media/media-asset-url.js +42 -0
  86. package/dist/media/media-asset-url.js.map +1 -0
  87. package/dist/media/ttt-media-specs.d.ts.map +1 -1
  88. package/dist/media/ttt-media-specs.js +118 -53
  89. package/dist/media/ttt-media-specs.js.map +1 -1
  90. package/dist/paths/collections.d.ts +1 -0
  91. package/dist/paths/collections.d.ts.map +1 -1
  92. package/dist/paths/collections.js +1 -0
  93. package/dist/paths/collections.js.map +1 -1
  94. package/dist/paths/path-builders.d.ts +1 -0
  95. package/dist/paths/path-builders.d.ts.map +1 -1
  96. package/dist/paths/path-builders.js +1 -0
  97. package/dist/paths/path-builders.js.map +1 -1
  98. package/dist/schemas/admin.d.ts +1 -0
  99. package/dist/schemas/admin.d.ts.map +1 -1
  100. package/dist/schemas/admin.js +2 -0
  101. package/dist/schemas/admin.js.map +1 -1
  102. package/dist/schemas/chat.d.ts +3 -3
  103. package/dist/schemas/users.d.ts +2 -0
  104. package/dist/schemas/users.d.ts.map +1 -1
  105. package/dist/schemas/users.js +5 -0
  106. package/dist/schemas/users.js.map +1 -1
  107. package/dist/schemas/work-project-management.d.ts +1 -5
  108. package/dist/schemas/work-project-management.d.ts.map +1 -1
  109. package/dist/schemas/work-project-management.js +3 -5
  110. package/dist/schemas/work-project-management.js.map +1 -1
  111. package/dist/types/audit.d.ts +1 -1
  112. package/dist/types/audit.d.ts.map +1 -1
  113. package/dist/types/social.d.ts +3 -3
  114. package/dist/types/social.d.ts.map +1 -1
  115. package/dist/upload-variables/update-chapter-media-variables.d.ts +1 -1
  116. package/dist/upload-variables/update-chapter-media-variables.js +1 -1
  117. package/dist/upload-variables/update-chapter-media-variables.js.map +1 -1
  118. package/dist/upload-variables/update-episode-media-variables.d.ts +2 -2
  119. package/dist/upload-variables/update-episode-media-variables.js +1 -1
  120. package/dist/upload-variables/update-episode-media-variables.js.map +1 -1
  121. package/dist/upload-variables/update-track-media-variables.d.ts +2 -2
  122. package/dist/upload-variables/update-track-media-variables.js +1 -1
  123. package/dist/upload-variables/update-track-media-variables.js.map +1 -1
  124. package/dist/upload-variables/upload-work-asset-variables.d.ts +2 -2
  125. package/package.json +5 -5
@@ -0,0 +1,68 @@
1
+ export type AppMode = 'charter' | 'full';
2
+ /** The deployed mode. Changing this constant (and publishing) IS the flip. */
3
+ export declare const APP_MODE: AppMode;
4
+ /** Pick the active value for a mode-varied limit. */
5
+ export declare const byMode: <T>(charter: T, full: T) => T;
6
+ /** Upstash-style sliding-window duration, e.g. '1 h'. */
7
+ export type RateLimitWindow = `${number} ${'ms' | 's' | 'm' | 'h' | 'd'}`;
8
+ export interface RateLimitValue {
9
+ maxRequests: number;
10
+ window: RateLimitWindow;
11
+ }
12
+ export interface TttLimits {
13
+ mode: AppMode;
14
+ user: {
15
+ maxCraftSkills: number;
16
+ maxOwnedWorkProjects: number;
17
+ maxAssociatedWorkProjects: number;
18
+ };
19
+ workProject: {
20
+ maxGuildSize: number;
21
+ maxWorkAssets: number;
22
+ maxWorkProjectAuditions: number;
23
+ maxCommissionListings: number;
24
+ maxChapters: number;
25
+ maxTuneTracks: number;
26
+ maxTelevisionEpisodes: number;
27
+ };
28
+ hall: {
29
+ maxSubmitBatch: number;
30
+ };
31
+ batches: {
32
+ trendingFeedProcessLimit: number;
33
+ maxFeedbackSubmitters: number;
34
+ };
35
+ /** Values for the backend rate limiters. Prefixes/factory stay in functions. */
36
+ rateLimits: {
37
+ UPLOAD: RateLimitValue;
38
+ VOTE: RateLimitValue;
39
+ MODERATION: RateLimitValue;
40
+ SENSITIVE_ACTION: RateLimitValue;
41
+ DISPLAY_NAME_CHECK: RateLimitValue;
42
+ CHAT_MESSAGE: RateLimitValue;
43
+ ADMIN_TASK: RateLimitValue;
44
+ APPEAL_REVIEW: RateLimitValue;
45
+ BAN_ACTION: RateLimitValue;
46
+ SHARE_TRANSFER: RateLimitValue;
47
+ CONTENT_REPORT: RateLimitValue;
48
+ SHORT_LINK_CLICK: RateLimitValue;
49
+ FOLLOW: RateLimitValue;
50
+ MENTION_HISTORY: RateLimitValue;
51
+ ADMIN_MESSAGE_READ: RateLimitValue;
52
+ NOTIFICATION_BROADCAST: RateLimitValue;
53
+ NOTIFICATION_ARCHIVE: RateLimitValue;
54
+ NOTIFICATION_MARK_SEEN: RateLimitValue;
55
+ FEEDBACK: RateLimitValue;
56
+ SHORT_LINK_CREATE: RateLimitValue;
57
+ INVITE_ACTION: RateLimitValue;
58
+ LIBRARY_SUBMISSION: RateLimitValue;
59
+ CHANNEL_CREATE: RateLimitValue;
60
+ CHECKOUT_CREATE: RateLimitValue;
61
+ };
62
+ }
63
+ export declare const CHARTER_LIMITS: TttLimits;
64
+ export declare const FULL_LIMITS: TttLimits;
65
+ /** The resolved limit set for the deployed mode. Import THIS (or the alias
66
+ * constants that re-export from it), never CHARTER_/FULL_ directly. */
67
+ export declare const ACTIVE_LIMITS: TttLimits;
68
+ //# sourceMappingURL=app-mode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-mode.d.ts","sourceRoot":"","sources":["../../src/constants/app-mode.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAEzC,8EAA8E;AAC9E,eAAO,MAAM,QAAQ,EAAE,OAAmB,CAAC;AAE3C,qDAAqD;AACrD,eAAO,MAAM,MAAM,GAAI,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,KAAG,CACM,CAAC;AAEvD,yDAAyD;AACzD,MAAM,MAAM,eAAe,GAAG,GAAG,MAAM,IAAI,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC;AAE1E,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC;CACzB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE;QACJ,cAAc,EAAE,MAAM,CAAC;QACvB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,yBAAyB,EAAE,MAAM,CAAC;KACnC,CAAC;IACF,WAAW,EAAE;QACX,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,uBAAuB,EAAE,MAAM,CAAC;QAChC,qBAAqB,EAAE,MAAM,CAAC;QAC9B,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;QACtB,qBAAqB,EAAE,MAAM,CAAC;KAC/B,CAAC;IACF,IAAI,EAAE;QACJ,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,OAAO,EAAE;QACP,wBAAwB,EAAE,MAAM,CAAC;QACjC,qBAAqB,EAAE,MAAM,CAAC;KAC/B,CAAC;IACF,gFAAgF;IAChF,UAAU,EAAE;QACV,MAAM,EAAE,cAAc,CAAC;QACvB,IAAI,EAAE,cAAc,CAAC;QACrB,UAAU,EAAE,cAAc,CAAC;QAC3B,gBAAgB,EAAE,cAAc,CAAC;QACjC,kBAAkB,EAAE,cAAc,CAAC;QACnC,YAAY,EAAE,cAAc,CAAC;QAC7B,UAAU,EAAE,cAAc,CAAC;QAC3B,aAAa,EAAE,cAAc,CAAC;QAC9B,UAAU,EAAE,cAAc,CAAC;QAC3B,cAAc,EAAE,cAAc,CAAC;QAC/B,cAAc,EAAE,cAAc,CAAC;QAC/B,gBAAgB,EAAE,cAAc,CAAC;QACjC,MAAM,EAAE,cAAc,CAAC;QACvB,eAAe,EAAE,cAAc,CAAC;QAChC,kBAAkB,EAAE,cAAc,CAAC;QACnC,sBAAsB,EAAE,cAAc,CAAC;QACvC,oBAAoB,EAAE,cAAc,CAAC;QACrC,sBAAsB,EAAE,cAAc,CAAC;QACvC,QAAQ,EAAE,cAAc,CAAC;QACzB,iBAAiB,EAAE,cAAc,CAAC;QAClC,aAAa,EAAE,cAAc,CAAC;QAC9B,kBAAkB,EAAE,cAAc,CAAC;QACnC,cAAc,EAAE,cAAc,CAAC;QAC/B,eAAe,EAAE,cAAc,CAAC;KACjC,CAAC;CACH;AAED,eAAO,MAAM,cAAc,EAAE,SA8C5B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,SA4CzB,CAAC;AAEF;uEACuE;AACvE,eAAO,MAAM,aAAa,EAAE,SAA+C,CAAC"}
@@ -0,0 +1,109 @@
1
+ // App mode + the charter/full limit sets — the single published constant that
2
+ // drives the whole app's cost posture. The flip to full-live is: change
3
+ // APP_MODE → publish ttt-core → install in ttt-prod (root + functions) →
4
+ // deploy. There is NO runtime mode flag and NO console toggle.
5
+ // See ttt-prod docs/design/charter-season-and-app-mode.md.
6
+ //
7
+ // Only real cost/abuse drivers vary by mode: media specs (ttt-media-specs.ts),
8
+ // rate-limit values, count caps, batch sizes. Text-length limits and payment
9
+ // min/max are deliberately mode-invariant.
10
+ /** The deployed mode. Changing this constant (and publishing) IS the flip. */
11
+ export const APP_MODE = 'charter';
12
+ /** Pick the active value for a mode-varied limit. */
13
+ export const byMode = (charter, full) => APP_MODE === 'charter' ? charter : full;
14
+ export const CHARTER_LIMITS = {
15
+ mode: 'charter',
16
+ user: {
17
+ maxCraftSkills: 8,
18
+ maxOwnedWorkProjects: 3,
19
+ maxAssociatedWorkProjects: 10,
20
+ },
21
+ workProject: {
22
+ maxGuildSize: 25,
23
+ maxWorkAssets: 5,
24
+ maxWorkProjectAuditions: 3,
25
+ maxCommissionListings: 3,
26
+ maxChapters: 5,
27
+ maxTuneTracks: 5,
28
+ maxTelevisionEpisodes: 3,
29
+ },
30
+ hall: { maxSubmitBatch: 10 },
31
+ batches: { trendingFeedProcessLimit: 250, maxFeedbackSubmitters: 25 },
32
+ rateLimits: {
33
+ // Uploads are charged ONCE per upload (in startUpload); the processor-side
34
+ // check is a non-charging guard.
35
+ UPLOAD: { maxRequests: 15, window: '1 h' },
36
+ VOTE: { maxRequests: 100, window: '1 h' },
37
+ MODERATION: { maxRequests: 50, window: '1 h' },
38
+ SENSITIVE_ACTION: { maxRequests: 5, window: '1 h' },
39
+ DISPLAY_NAME_CHECK: { maxRequests: 20, window: '1 h' },
40
+ CHAT_MESSAGE: { maxRequests: 125, window: '1 h' },
41
+ ADMIN_TASK: { maxRequests: 60, window: '1 h' },
42
+ APPEAL_REVIEW: { maxRequests: 30, window: '1 h' },
43
+ BAN_ACTION: { maxRequests: 20, window: '1 h' },
44
+ SHARE_TRANSFER: { maxRequests: 10, window: '1 h' },
45
+ CONTENT_REPORT: { maxRequests: 5, window: '1 h' },
46
+ SHORT_LINK_CLICK: { maxRequests: 60, window: '1 h' },
47
+ FOLLOW: { maxRequests: 20, window: '1 m' },
48
+ MENTION_HISTORY: { maxRequests: 120, window: '1 h' },
49
+ ADMIN_MESSAGE_READ: { maxRequests: 60, window: '1 h' },
50
+ NOTIFICATION_BROADCAST: { maxRequests: 10, window: '1 h' },
51
+ NOTIFICATION_ARCHIVE: { maxRequests: 120, window: '1 h' },
52
+ NOTIFICATION_MARK_SEEN: { maxRequests: 120, window: '1 h' },
53
+ FEEDBACK: { maxRequests: 10, window: '1 h' },
54
+ SHORT_LINK_CREATE: { maxRequests: 30, window: '1 h' },
55
+ INVITE_ACTION: { maxRequests: 30, window: '1 h' },
56
+ LIBRARY_SUBMISSION: { maxRequests: 10, window: '1 h' },
57
+ CHANNEL_CREATE: { maxRequests: 5, window: '1 h' },
58
+ CHECKOUT_CREATE: { maxRequests: 5, window: '1 h' },
59
+ },
60
+ };
61
+ export const FULL_LIMITS = {
62
+ mode: 'full',
63
+ user: {
64
+ maxCraftSkills: 24,
65
+ maxOwnedWorkProjects: 25,
66
+ maxAssociatedWorkProjects: 100,
67
+ },
68
+ workProject: {
69
+ maxGuildSize: 250,
70
+ maxWorkAssets: 25,
71
+ maxWorkProjectAuditions: 10,
72
+ maxCommissionListings: 10,
73
+ maxChapters: 50,
74
+ maxTuneTracks: 50,
75
+ maxTelevisionEpisodes: 25,
76
+ },
77
+ hall: { maxSubmitBatch: 50 },
78
+ batches: { trendingFeedProcessLimit: 1000, maxFeedbackSubmitters: 100 },
79
+ rateLimits: {
80
+ UPLOAD: { maxRequests: 30, window: '1 h' },
81
+ VOTE: { maxRequests: 200, window: '1 h' },
82
+ MODERATION: { maxRequests: 50, window: '1 h' },
83
+ SENSITIVE_ACTION: { maxRequests: 5, window: '1 h' },
84
+ DISPLAY_NAME_CHECK: { maxRequests: 20, window: '1 h' },
85
+ CHAT_MESSAGE: { maxRequests: 150, window: '1 h' },
86
+ ADMIN_TASK: { maxRequests: 60, window: '1 h' },
87
+ APPEAL_REVIEW: { maxRequests: 30, window: '1 h' },
88
+ BAN_ACTION: { maxRequests: 20, window: '1 h' },
89
+ SHARE_TRANSFER: { maxRequests: 10, window: '1 h' },
90
+ CONTENT_REPORT: { maxRequests: 20, window: '1 h' },
91
+ SHORT_LINK_CLICK: { maxRequests: 60, window: '1 h' },
92
+ FOLLOW: { maxRequests: 60, window: '1 m' },
93
+ MENTION_HISTORY: { maxRequests: 120, window: '1 h' },
94
+ ADMIN_MESSAGE_READ: { maxRequests: 60, window: '1 h' },
95
+ NOTIFICATION_BROADCAST: { maxRequests: 10, window: '1 h' },
96
+ NOTIFICATION_ARCHIVE: { maxRequests: 120, window: '1 h' },
97
+ NOTIFICATION_MARK_SEEN: { maxRequests: 120, window: '1 h' },
98
+ FEEDBACK: { maxRequests: 10, window: '1 h' },
99
+ SHORT_LINK_CREATE: { maxRequests: 30, window: '1 h' },
100
+ INVITE_ACTION: { maxRequests: 60, window: '1 h' },
101
+ LIBRARY_SUBMISSION: { maxRequests: 20, window: '1 h' },
102
+ CHANNEL_CREATE: { maxRequests: 20, window: '1 h' },
103
+ CHECKOUT_CREATE: { maxRequests: 20, window: '1 h' },
104
+ },
105
+ };
106
+ /** The resolved limit set for the deployed mode. Import THIS (or the alias
107
+ * constants that re-export from it), never CHARTER_/FULL_ directly. */
108
+ export const ACTIVE_LIMITS = byMode(CHARTER_LIMITS, FULL_LIMITS);
109
+ //# sourceMappingURL=app-mode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-mode.js","sourceRoot":"","sources":["../../src/constants/app-mode.ts"],"names":[],"mappings":"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"}
@@ -19,8 +19,8 @@ export declare const MAX_ADMIN_DISPATCH_INITIAL_TEXT_LENGTH = 1000;
19
19
  export declare const MAX_APPEAL_MESSAGE_LENGTH = 1000;
20
20
  /** Maximum length for a feedback suggestion. */
21
21
  export declare const MAX_FEEDBACK_SUGGESTION_LENGTH = 100;
22
- /** Maximum number of distinct submitters tracked per feedback suggestion. */
23
- export declare const MAX_FEEDBACK_SUBMITTERS = 100;
22
+ /** Maximum number of distinct submitters tracked per feedback suggestion. Mode-varied. */
23
+ export declare const MAX_FEEDBACK_SUBMITTERS: number;
24
24
  /**
25
25
  * Canonical list of feedback types accepted by `submitFeedback`. Used both
26
26
  * for runtime validation in the schema (`SubmitFeedbackInputSchema`) and
@@ -31,8 +31,8 @@ export declare const MAX_FEEDBACK_SUBMITTERS = 100;
31
31
  export declare const FEEDBACK_TYPES: readonly ["tradeProfessionSuggestions", "craftSkillTagSuggestions", "talesWorkGenreSuggestions", "tunesWorkGenreSuggestions", "televisionWorkGenreSuggestions"];
32
32
  /** Union of canonical feedback types. */
33
33
  export type FeedbackType = (typeof FEEDBACK_TYPES)[number];
34
- /** Maximum number of items submitted in a single hallLibrary-review submission. */
35
- export declare const MAX_HALL_LIBRARY_SUBMIT_BATCH = 50;
34
+ /** Maximum number of items submitted in a single hallLibrary-review submission. Mode-varied. */
35
+ export declare const MAX_HALL_LIBRARY_SUBMIT_BATCH: number;
36
36
  /** Admin task lifecycle statuses. */
37
37
  export declare const ADMIN_TASK_STATUS: {
38
38
  readonly PENDING: "pending";
@@ -1 +1 @@
1
- {"version":3,"file":"business-admin.d.ts","sourceRoot":"","sources":["../../src/constants/business-admin.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,aAAa;;;;;CAKhB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAEnF,eAAO,MAAM,oBAAoB;;;;;CAKvB,CAAC;AAIX,yDAAyD;AACzD,eAAO,MAAM,iCAAiC,MAAM,CAAC;AAErD,qEAAqE;AACrE,eAAO,MAAM,sCAAsC,OAAO,CAAC;AAI3D,6DAA6D;AAC7D,eAAO,MAAM,yBAAyB,OAAO,CAAC;AAE9C,gDAAgD;AAChD,eAAO,MAAM,8BAA8B,MAAM,CAAC;AAElD,6EAA6E;AAC7E,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAE3C;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,iKAMjB,CAAC;AAEX,yCAAyC;AACzC,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D,mFAAmF;AACnF,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAIhD,qCAAqC;AACrC,eAAO,MAAM,iBAAiB;;;;;CAKpB,CAAC"}
1
+ {"version":3,"file":"business-admin.d.ts","sourceRoot":"","sources":["../../src/constants/business-admin.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,aAAa;;;;;CAKhB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAEnF,eAAO,MAAM,oBAAoB;;;;;CAKvB,CAAC;AAIX,yDAAyD;AACzD,eAAO,MAAM,iCAAiC,MAAM,CAAC;AAErD,qEAAqE;AACrE,eAAO,MAAM,sCAAsC,OAAO,CAAC;AAI3D,6DAA6D;AAC7D,eAAO,MAAM,yBAAyB,OAAO,CAAC;AAE9C,gDAAgD;AAChD,eAAO,MAAM,8BAA8B,MAAM,CAAC;AAElD,0FAA0F;AAC1F,eAAO,MAAM,uBAAuB,QAA8C,CAAC;AAEnF;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,iKAMjB,CAAC;AAEX,yCAAyC;AACzC,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D,gGAAgG;AAChG,eAAO,MAAM,6BAA6B,QAAoC,CAAC;AAI/E,qCAAqC;AACrC,eAAO,MAAM,iBAAiB;;;;;CAKpB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  // Admin + content-moderation business-rule constants — task priority, dispatches,
2
2
  // the moderation/feedback workflow, and admin-task lifecycle.
3
+ import { ACTIVE_LIMITS } from './app-mode.js';
3
4
  // --- Admin Task Priority System ---
4
5
  export const TASK_PRIORITY = {
5
6
  CRITICAL: 4,
@@ -23,8 +24,8 @@ export const MAX_ADMIN_DISPATCH_INITIAL_TEXT_LENGTH = 1000;
23
24
  export const MAX_APPEAL_MESSAGE_LENGTH = 1000;
24
25
  /** Maximum length for a feedback suggestion. */
25
26
  export const MAX_FEEDBACK_SUGGESTION_LENGTH = 100;
26
- /** Maximum number of distinct submitters tracked per feedback suggestion. */
27
- export const MAX_FEEDBACK_SUBMITTERS = 100;
27
+ /** Maximum number of distinct submitters tracked per feedback suggestion. Mode-varied. */
28
+ export const MAX_FEEDBACK_SUBMITTERS = ACTIVE_LIMITS.batches.maxFeedbackSubmitters;
28
29
  /**
29
30
  * Canonical list of feedback types accepted by `submitFeedback`. Used both
30
31
  * for runtime validation in the schema (`SubmitFeedbackInputSchema`) and
@@ -39,8 +40,8 @@ export const FEEDBACK_TYPES = [
39
40
  'tunesWorkGenreSuggestions',
40
41
  'televisionWorkGenreSuggestions',
41
42
  ];
42
- /** Maximum number of items submitted in a single hallLibrary-review submission. */
43
- export const MAX_HALL_LIBRARY_SUBMIT_BATCH = 50;
43
+ /** Maximum number of items submitted in a single hallLibrary-review submission. Mode-varied. */
44
+ export const MAX_HALL_LIBRARY_SUBMIT_BATCH = ACTIVE_LIMITS.hall.maxSubmitBatch;
44
45
  // --- Admin Tasks ---
45
46
  /** Admin task lifecycle statuses. */
46
47
  export const ADMIN_TASK_STATUS = {
@@ -1 +1 @@
1
- {"version":3,"file":"business-admin.js","sourceRoot":"","sources":["../../src/constants/business-admin.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,8DAA8D;AAE9D,qCAAqC;AAErC,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,CAAC;IACP,MAAM,EAAE,CAAC;IACT,GAAG,EAAE,CAAC;CACE,CAAC;AAIX,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,CAAC,EAAE,UAAU;IACb,CAAC,EAAE,MAAM;IACT,CAAC,EAAE,QAAQ;IACX,CAAC,EAAE,KAAK;CACA,CAAC;AAEX,2BAA2B;AAE3B,yDAAyD;AACzD,MAAM,CAAC,MAAM,iCAAiC,GAAG,GAAG,CAAC;AAErD,qEAAqE;AACrE,MAAM,CAAC,MAAM,sCAAsC,GAAG,IAAI,CAAC;AAE3D,sCAAsC;AAEtC,6DAA6D;AAC7D,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC;AAE9C,gDAAgD;AAChD,MAAM,CAAC,MAAM,8BAA8B,GAAG,GAAG,CAAC;AAElD,6EAA6E;AAC7E,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAE3C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,4BAA4B;IAC5B,0BAA0B;IAC1B,2BAA2B;IAC3B,2BAA2B;IAC3B,gCAAgC;CACxB,CAAC;AAKX,mFAAmF;AACnF,MAAM,CAAC,MAAM,6BAA6B,GAAG,EAAE,CAAC;AAEhD,sBAAsB;AAEtB,qCAAqC;AACrC,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,OAAO,EAAE,SAAS;IAClB,WAAW,EAAE,YAAY;IACzB,UAAU,EAAE,WAAW;IACvB,SAAS,EAAE,WAAW;CACd,CAAC"}
1
+ {"version":3,"file":"business-admin.js","sourceRoot":"","sources":["../../src/constants/business-admin.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,8DAA8D;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,qCAAqC;AAErC,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,CAAC;IACP,MAAM,EAAE,CAAC;IACT,GAAG,EAAE,CAAC;CACE,CAAC;AAIX,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,CAAC,EAAE,UAAU;IACb,CAAC,EAAE,MAAM;IACT,CAAC,EAAE,QAAQ;IACX,CAAC,EAAE,KAAK;CACA,CAAC;AAEX,2BAA2B;AAE3B,yDAAyD;AACzD,MAAM,CAAC,MAAM,iCAAiC,GAAG,GAAG,CAAC;AAErD,qEAAqE;AACrE,MAAM,CAAC,MAAM,sCAAsC,GAAG,IAAI,CAAC;AAE3D,sCAAsC;AAEtC,6DAA6D;AAC7D,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC;AAE9C,gDAAgD;AAChD,MAAM,CAAC,MAAM,8BAA8B,GAAG,GAAG,CAAC;AAElD,0FAA0F;AAC1F,MAAM,CAAC,MAAM,uBAAuB,GAAG,aAAa,CAAC,OAAO,CAAC,qBAAqB,CAAC;AAEnF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,4BAA4B;IAC5B,0BAA0B;IAC1B,2BAA2B;IAC3B,2BAA2B;IAC3B,gCAAgC;CACxB,CAAC;AAKX,gGAAgG;AAChG,MAAM,CAAC,MAAM,6BAA6B,GAAG,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC;AAE/E,sBAAsB;AAEtB,qCAAqC;AACrC,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,OAAO,EAAE,SAAS;IAClB,WAAW,EAAE,YAAY;IACzB,UAAU,EAAE,WAAW;IACvB,SAAS,EAAE,WAAW;CACd,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /** The maximum character length for a SquareStreetz post created on behalf of a workProject. */
2
2
  export declare const MAX_SQUARE_STREETZ_DESCRIPTION_LENGTH = 150;
3
- /** Maximum number of open commissions a workProject can have. */
4
- export declare const MAX_COMMISSION_LISTINGS = 5;
3
+ /** Maximum number of open commissions a workProject can have. Mode-varied. */
4
+ export declare const MAX_COMMISSION_LISTINGS: number;
5
5
  /** Maximum number of proposal artisans saved to a commission. */
6
6
  export declare const MAX_SAVED_PROPOSAL_ARTISANS = 5;
7
7
  /** Maximum length for a commission title. */
@@ -1 +1 @@
1
- {"version":3,"file":"business-content.d.ts","sourceRoot":"","sources":["../../src/constants/business-content.ts"],"names":[],"mappings":"AAIA,gGAAgG;AAChG,eAAO,MAAM,qCAAqC,MAAM,CAAC;AAIzD,iEAAiE;AACjE,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC,iEAAiE;AACjE,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAE7C,6CAA6C;AAC7C,eAAO,MAAM,2BAA2B,MAAgC,CAAC;AAEzE,kEAAkE;AAClE,eAAO,MAAM,iCAAiC,MAAM,CAAC;AAIrD,4CAA4C;AAC5C,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAE7C,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":"AAKA,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,4CAA4C;AAC5C,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAE7C,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,11 +1,12 @@
1
1
  // Content-surface business-rule constants — commissions, auditions, the social
2
2
  // feed, and messaging.
3
3
  import { MAX_WORK_PROJECT_TITLE_LENGTH } from "./business-work-project.js";
4
+ import { ACTIVE_LIMITS } from './app-mode.js';
4
5
  /** The maximum character length for a SquareStreetz post created on behalf of a workProject. */
5
6
  export const MAX_SQUARE_STREETZ_DESCRIPTION_LENGTH = 150;
6
7
  // --- Commission Board & Proposals ---
7
- /** Maximum number of open commissions a workProject can have. */
8
- export const MAX_COMMISSION_LISTINGS = 5;
8
+ /** Maximum number of open commissions a workProject can have. Mode-varied. */
9
+ export const MAX_COMMISSION_LISTINGS = ACTIVE_LIMITS.workProject.maxCommissionListings;
9
10
  /** Maximum number of proposal artisans saved to a commission. */
10
11
  export const MAX_SAVED_PROPOSAL_ARTISANS = 5;
11
12
  /** Maximum length for a commission title. */
@@ -1 +1 @@
1
- {"version":3,"file":"business-content.js","sourceRoot":"","sources":["../../src/constants/business-content.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,uBAAuB;AACvB,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAE3E,gGAAgG;AAChG,MAAM,CAAC,MAAM,qCAAqC,GAAG,GAAG,CAAC;AAEzD,uCAAuC;AAEvC,iEAAiE;AACjE,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAEzC,iEAAiE;AACjE,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAE7C,6CAA6C;AAC7C,MAAM,CAAC,MAAM,2BAA2B,GAAG,6BAA6B,CAAC;AAEzE,kEAAkE;AAClE,MAAM,CAAC,MAAM,iCAAiC,GAAG,GAAG,CAAC;AAErD,oBAAoB;AAEpB,4CAA4C;AAC5C,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,CAAC;AAE7C,kDAAkD;AAClD,MAAM,CAAC,MAAM,+BAA+B,GAAG,IAAI,CAAC;AAEpD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,OAAO,CAAC;AAEzD,sCAAsC;AAEtC,+CAA+C;AAC/C,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC;AAEnC,yEAAyE;AACzE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC;AAE9B,8EAA8E;AAC9E,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,CAAC;AAE7C,6BAA6B;AAE7B,iDAAiD;AACjD,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAG,CAAC;AAEnD,kDAAkD;AAClD,MAAM,CAAC,MAAM,iCAAiC,GAAG,GAAG,CAAC;AAErD,kFAAkF;AAClF,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAG,CAAC"}
1
+ {"version":3,"file":"business-content.js","sourceRoot":"","sources":["../../src/constants/business-content.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,uBAAuB;AACvB,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,gGAAgG;AAChG,MAAM,CAAC,MAAM,qCAAqC,GAAG,GAAG,CAAC;AAEzD,uCAAuC;AAEvC,8EAA8E;AAC9E,MAAM,CAAC,MAAM,uBAAuB,GAAG,aAAa,CAAC,WAAW,CAAC,qBAAqB,CAAC;AAEvF,iEAAiE;AACjE,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAE7C,6CAA6C;AAC7C,MAAM,CAAC,MAAM,2BAA2B,GAAG,6BAA6B,CAAC;AAEzE,kEAAkE;AAClE,MAAM,CAAC,MAAM,iCAAiC,GAAG,GAAG,CAAC;AAErD,oBAAoB;AAEpB,4CAA4C;AAC5C,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,CAAC;AAE7C,kDAAkD;AAClD,MAAM,CAAC,MAAM,+BAA+B,GAAG,IAAI,CAAC;AAEpD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,OAAO,CAAC;AAEzD,sCAAsC;AAEtC,+CAA+C;AAC/C,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC;AAEnC,yEAAyE;AACzE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC;AAE9B,8EAA8E;AAC9E,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,CAAC;AAE7C,6BAA6B;AAE7B,iDAAiD;AACjD,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAG,CAAC;AAEnD,kDAAkD;AAClD,MAAM,CAAC,MAAM,iCAAiC,GAAG,GAAG,CAAC;AAErD,kFAAkF;AAClF,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAG,CAAC"}
@@ -8,11 +8,12 @@ export declare const SHORT_LINK_CHARS = "ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnpq
8
8
  export declare const FIRESTORE_BATCH_LIMIT = 500;
9
9
  /**
10
10
  * Minimum pledgePayment amount accepted by the Stripe checkout flow, in cents
11
- * (USD). 50¢ is Stripe's hard floor for a card charge. Promoted out of the Zod
12
- * schema so the webhook can re-assert it server-side against the Stripe-confirmed
13
- * amount, independent of the client input bound.
11
+ * (USD). $2.50 is the platform's business floor (DJ, 2026-06-11) above
12
+ * Stripe's 50¢ technical card-charge floor. Promoted out of the Zod schema so
13
+ * the webhook can re-assert it server-side against the Stripe-confirmed
14
+ * amount, independent of the client input bound. Mode-invariant by design.
14
15
  */
15
- export declare const MIN_PLEDGE_PAYMENT_AMOUNT_CENTS = 50;
16
+ export declare const MIN_PLEDGE_PAYMENT_AMOUNT_CENTS = 250;
16
17
  /**
17
18
  * Maximum pledgePayment amount accepted by the Stripe checkout flow, in cents
18
19
  * (USD). $500,000.00. Well below Stripe's hard per-charge ceiling, but
@@ -1 +1 @@
1
- {"version":3,"file":"business-platform.d.ts","sourceRoot":"","sources":["../../src/constants/business-platform.ts"],"names":[],"mappings":"AAKA,sDAAsD;AACtD,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC,wFAAwF;AACxF,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC,uFAAuF;AACvF,eAAO,MAAM,gBAAgB,6DAA6D,CAAC;AAI3F,4DAA4D;AAC5D,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAIzC;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B,KAAK,CAAC;AAElD;;;;;;GAMG;AACH,eAAO,MAAM,+BAA+B,WAAa,CAAC"}
1
+ {"version":3,"file":"business-platform.d.ts","sourceRoot":"","sources":["../../src/constants/business-platform.ts"],"names":[],"mappings":"AAKA,sDAAsD;AACtD,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC,wFAAwF;AACxF,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC,uFAAuF;AACvF,eAAO,MAAM,gBAAgB,6DAA6D,CAAC;AAI3F,4DAA4D;AAC5D,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAIzC;;;;;;GAMG;AACH,eAAO,MAAM,+BAA+B,MAAM,CAAC;AAEnD;;;;;;GAMG;AACH,eAAO,MAAM,+BAA+B,WAAa,CAAC"}
@@ -13,11 +13,12 @@ export const FIRESTORE_BATCH_LIMIT = 500;
13
13
  // --- Payments ---
14
14
  /**
15
15
  * Minimum pledgePayment amount accepted by the Stripe checkout flow, in cents
16
- * (USD). 50¢ is Stripe's hard floor for a card charge. Promoted out of the Zod
17
- * schema so the webhook can re-assert it server-side against the Stripe-confirmed
18
- * amount, independent of the client input bound.
16
+ * (USD). $2.50 is the platform's business floor (DJ, 2026-06-11) above
17
+ * Stripe's 50¢ technical card-charge floor. Promoted out of the Zod schema so
18
+ * the webhook can re-assert it server-side against the Stripe-confirmed
19
+ * amount, independent of the client input bound. Mode-invariant by design.
19
20
  */
20
- export const MIN_PLEDGE_PAYMENT_AMOUNT_CENTS = 50;
21
+ export const MIN_PLEDGE_PAYMENT_AMOUNT_CENTS = 250;
21
22
  /**
22
23
  * Maximum pledgePayment amount accepted by the Stripe checkout flow, in cents
23
24
  * (USD). $500,000.00. Well below Stripe's hard per-charge ceiling, but
@@ -1 +1 @@
1
- {"version":3,"file":"business-platform.js","sourceRoot":"","sources":["../../src/constants/business-platform.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,8BAA8B;AAE9B,sBAAsB;AAEtB,sDAAsD;AACtD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAEnC,wFAAwF;AACxF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAEzC,uFAAuF;AACvF,MAAM,CAAC,MAAM,gBAAgB,GAAG,0DAA0D,CAAC;AAE3F,2BAA2B;AAE3B,4DAA4D;AAC5D,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAEzC,mBAAmB;AAEnB;;;;;GAKG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,EAAE,CAAC;AAElD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,UAAU,CAAC"}
1
+ {"version":3,"file":"business-platform.js","sourceRoot":"","sources":["../../src/constants/business-platform.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,8BAA8B;AAE9B,sBAAsB;AAEtB,sDAAsD;AACtD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAEnC,wFAAwF;AACxF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAEzC,uFAAuF;AACvF,MAAM,CAAC,MAAM,gBAAgB,GAAG,0DAA0D,CAAC;AAE3F,2BAA2B;AAE3B,4DAA4D;AAC5D,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAEzC,mBAAmB;AAEnB;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAG,CAAC;AAEnD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,UAAU,CAAC"}
@@ -4,8 +4,12 @@ export declare const USERNAME_MIN_LENGTH = 3;
4
4
  export declare const USERNAME_MAX_LENGTH = 20;
5
5
  /** Allowed characters in a user display name: letters and numbers only. */
6
6
  export declare const USERNAME_REGEX: RegExp;
7
- /** Maximum number of craft-skills a user can upload to their profile. */
8
- export declare const CRAFT_SKILL_LIMIT = 8;
7
+ /** Maximum number of craft-skills a user can upload to their profile. Mode-varied. */
8
+ export declare const CRAFT_SKILL_LIMIT: number;
9
+ /** Maximum number of work projects an artisan can own (steward) at once. */
10
+ export declare const MAX_OWNED_WORK_PROJECTS: number;
11
+ /** Maximum number of active guild memberships a user can hold at once. */
12
+ export declare const MAX_ASSOCIATED_WORK_PROJECTS: number;
9
13
  /** Maximum number of tags allowed per craftSkill. */
10
14
  export declare const MAX_CRAFT_SKILL_TAGS = 5;
11
15
  /** Maximum number of recent mentions kept in the user's mention-history hook. */
@@ -1 +1 @@
1
- {"version":3,"file":"business-user.d.ts","sourceRoot":"","sources":["../../src/constants/business-user.ts"],"names":[],"mappings":"AAKA,0DAA0D;AAC1D,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC,0DAA0D;AAC1D,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAEtC,2EAA2E;AAC3E,eAAO,MAAM,cAAc,QAAmB,CAAC;AAI/C,yEAAyE;AACzE,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC,qDAAqD;AACrD,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAItC,iFAAiF;AACjF,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAIpC,6DAA6D;AAC7D,eAAO,MAAM,mBAAmB,IAAI,CAAC"}
1
+ {"version":3,"file":"business-user.d.ts","sourceRoot":"","sources":["../../src/constants/business-user.ts"],"names":[],"mappings":"AAKA,0DAA0D;AAC1D,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC,0DAA0D;AAC1D,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAEtC,2EAA2E;AAC3E,eAAO,MAAM,cAAc,QAAmB,CAAC;AAM/C,sFAAsF;AACtF,eAAO,MAAM,iBAAiB,QAAoC,CAAC;AAInE,4EAA4E;AAC5E,eAAO,MAAM,uBAAuB,QAA0C,CAAC;AAE/E,0EAA0E;AAC1E,eAAO,MAAM,4BAA4B,QAA+C,CAAC;AAEzF,qDAAqD;AACrD,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAItC,iFAAiF;AACjF,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAIpC,6DAA6D;AAC7D,eAAO,MAAM,mBAAmB,IAAI,CAAC"}
@@ -7,9 +7,15 @@ export const USERNAME_MIN_LENGTH = 3;
7
7
  export const USERNAME_MAX_LENGTH = 20;
8
8
  /** Allowed characters in a user display name: letters and numbers only. */
9
9
  export const USERNAME_REGEX = /^[a-zA-Z0-9]+$/;
10
+ import { ACTIVE_LIMITS } from './app-mode.js';
10
11
  // --- User Profile Craft Skills ---
11
- /** Maximum number of craft-skills a user can upload to their profile. */
12
- export const CRAFT_SKILL_LIMIT = 8;
12
+ /** Maximum number of craft-skills a user can upload to their profile. Mode-varied. */
13
+ export const CRAFT_SKILL_LIMIT = ACTIVE_LIMITS.user.maxCraftSkills;
14
+ // --- Work-project participation caps (mode-varied, server-enforced) ---
15
+ /** Maximum number of work projects an artisan can own (steward) at once. */
16
+ export const MAX_OWNED_WORK_PROJECTS = ACTIVE_LIMITS.user.maxOwnedWorkProjects;
17
+ /** Maximum number of active guild memberships a user can hold at once. */
18
+ export const MAX_ASSOCIATED_WORK_PROJECTS = ACTIVE_LIMITS.user.maxAssociatedWorkProjects;
13
19
  /** Maximum number of tags allowed per craftSkill. */
14
20
  export const MAX_CRAFT_SKILL_TAGS = 5;
15
21
  // --- Mention History ---
@@ -1 +1 @@
1
- {"version":3,"file":"business-user.js","sourceRoot":"","sources":["../../src/constants/business-user.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,+BAA+B;AAE/B,6BAA6B;AAE7B,0DAA0D;AAC1D,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAErC,0DAA0D;AAC1D,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAEtC,2EAA2E;AAC3E,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAgB,CAAC;AAE/C,oCAAoC;AAEpC,yEAAyE;AACzE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAEnC,qDAAqD;AACrD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAEtC,0BAA0B;AAE1B,iFAAiF;AACjF,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAEpC,iBAAiB;AAEjB,6DAA6D;AAC7D,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"business-user.js","sourceRoot":"","sources":["../../src/constants/business-user.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,+BAA+B;AAE/B,6BAA6B;AAE7B,0DAA0D;AAC1D,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAErC,0DAA0D;AAC1D,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAEtC,2EAA2E;AAC3E,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAgB,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,oCAAoC;AAEpC,sFAAsF;AACtF,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC;AAEnE,yEAAyE;AAEzE,4EAA4E;AAC5E,MAAM,CAAC,MAAM,uBAAuB,GAAG,aAAa,CAAC,IAAI,CAAC,oBAAoB,CAAC;AAE/E,0EAA0E;AAC1E,MAAM,CAAC,MAAM,4BAA4B,GAAG,aAAa,CAAC,IAAI,CAAC,yBAAyB,CAAC;AAEzF,qDAAqD;AACrD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAEtC,0BAA0B;AAE1B,iFAAiF;AACjF,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAEpC,iBAAiB;AAEjB,6DAA6D;AAC7D,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC"}
@@ -1,5 +1,7 @@
1
1
  /** The absolute maximum number of stakes a workProject can have. */
2
2
  export declare const MAX_WORK_PROJECT_STAKE_SHARES = 1000;
3
+ /** Maximum number of active guildmates per work project. Mode-varied. */
4
+ export declare const MAX_GUILD_SIZE: number;
3
5
  /**
4
6
  * Stake shares minted to the realm's founding-Work holder when a Work is
5
7
  * created into an EXISTING public realm. Counts toward MAX_WORK_PROJECT_STAKE_SHARES.
@@ -9,34 +11,32 @@ export declare const EXISTING_REALM_STAKE_SHARES = 75;
9
11
  export declare const MAX_WORK_PROJECT_TITLE_LENGTH = 150;
10
12
  /** Maximum length for a workProject description. */
11
13
  export declare const MAX_WORK_PROJECT_DESCRIPTION_LENGTH = 300;
12
- /** Maximum number of files attached to a workProject. */
13
- export declare const MAX_WORK_ASSETS = 5;
14
- /** Maximum file size for workProject file attachments, in bytes (5MB). */
15
- export declare const MAX_WORK_ASSET_FILE_SIZE: number;
14
+ /** Maximum number of files attached to a workProject. Mode-varied. */
15
+ export declare const MAX_WORK_ASSETS: number;
16
16
  /** Allowed characters in titles: letters, numbers, spaces. */
17
17
  export declare const TITLE_PATTERN: RegExp;
18
- /** Maximum number of auditions a single workProject can have open at once. */
19
- export declare const MAX_WORK_PROJECT_AUDITIONS = 3;
18
+ /** Maximum number of auditions a single workProject can have open at once. Mode-varied. */
19
+ export declare const MAX_WORK_PROJECT_AUDITIONS: number;
20
20
  export declare const MAX_TALE_TITLE_LENGTH = 150;
21
21
  export declare const MAX_TALE_DESCRIPTION_LENGTH = 300;
22
22
  export declare const MAX_TUNE_TITLE_LENGTH = 150;
23
23
  export declare const MAX_TUNE_DESCRIPTION_LENGTH = 300;
24
24
  export declare const MAX_TELEVISION_TITLE_LENGTH = 150;
25
25
  export declare const MAX_TELEVISION_DESCRIPTION_LENGTH = 300;
26
- /** Maximum number of chapters a Tale can have. */
27
- export declare const MAX_CHAPTERS = 10;
26
+ /** Maximum number of chapters a Tale can have. Mode-varied. */
27
+ export declare const MAX_CHAPTERS: number;
28
28
  /** Maximum length for a chapter title. */
29
29
  export declare const MAX_CHAPTER_TITLE_LENGTH = 150;
30
30
  /** Maximum length for chapter body content. */
31
31
  export declare const MAX_CHAPTER_CONTENT_LENGTH = 2500;
32
- /** Maximum number of tracks a Tunes workProject can have. */
33
- export declare const MAX_TUNE_TRACKS = 10;
32
+ /** Maximum number of tracks a Tunes workProject can have. Mode-varied. */
33
+ export declare const MAX_TUNE_TRACKS: number;
34
34
  /** Maximum length for a track title. */
35
35
  export declare const MAX_TUNE_TRACK_TITLE_LENGTH = 150;
36
36
  /** Maximum length for a track description. */
37
37
  export declare const MAX_TUNE_TRACK_DESCRIPTION_LENGTH = 300;
38
- /** Maximum number of episodes a Television workProject can have. */
39
- export declare const MAX_TELEVISION_EPISODES = 10;
38
+ /** Maximum number of episodes a Television workProject can have. Mode-varied. */
39
+ export declare const MAX_TELEVISION_EPISODES: number;
40
40
  /** Maximum length for an episode title. */
41
41
  export declare const MAX_TELEVISION_EPISODE_TITLE_LENGTH = 150;
42
42
  /** Maximum length for an episode description. */
@@ -1 +1 @@
1
- {"version":3,"file":"business-work-project.d.ts","sourceRoot":"","sources":["../../src/constants/business-work-project.ts"],"names":[],"mappings":"AAEA,oEAAoE;AACpE,eAAO,MAAM,6BAA6B,OAAO,CAAC;AAElD;;;GAGG;AACH,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAI9C,8CAA8C;AAC9C,eAAO,MAAM,6BAA6B,MAAM,CAAC;AAEjD,oDAAoD;AACpD,eAAO,MAAM,mCAAmC,MAAM,CAAC;AAEvD,yDAAyD;AACzD,eAAO,MAAM,eAAe,IAAI,CAAC;AAEjC,0EAA0E;AAC1E,eAAO,MAAM,wBAAwB,QAAkB,CAAC;AAExD,8DAA8D;AAC9D,eAAO,MAAM,aAAa,QAAoB,CAAC;AAE/C,8EAA8E;AAC9E,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAK5C,eAAO,MAAM,qBAAqB,MAAgC,CAAC;AACnE,eAAO,MAAM,2BAA2B,MAAsC,CAAC;AAE/E,eAAO,MAAM,qBAAqB,MAAgC,CAAC;AACnE,eAAO,MAAM,2BAA2B,MAAsC,CAAC;AAE/E,eAAO,MAAM,2BAA2B,MAAgC,CAAC;AACzE,eAAO,MAAM,iCAAiC,MAAsC,CAAC;AAErF,kDAAkD;AAClD,eAAO,MAAM,YAAY,KAAK,CAAC;AAE/B,0CAA0C;AAC1C,eAAO,MAAM,wBAAwB,MAAgC,CAAC;AAEtE,+CAA+C;AAC/C,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAE/C,6DAA6D;AAC7D,eAAO,MAAM,eAAe,KAAK,CAAC;AAElC,wCAAwC;AACxC,eAAO,MAAM,2BAA2B,MAAgC,CAAC;AAEzE,8CAA8C;AAC9C,eAAO,MAAM,iCAAiC,MAAsC,CAAC;AAErF,oEAAoE;AACpE,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAE1C,2CAA2C;AAC3C,eAAO,MAAM,mCAAmC,MAAgC,CAAC;AAEjF,iDAAiD;AACjD,eAAO,MAAM,yCAAyC,MAAsC,CAAC"}
1
+ {"version":3,"file":"business-work-project.d.ts","sourceRoot":"","sources":["../../src/constants/business-work-project.ts"],"names":[],"mappings":"AAGA,oEAAoE;AACpE,eAAO,MAAM,6BAA6B,OAAO,CAAC;AAElD,yEAAyE;AACzE,eAAO,MAAM,cAAc,QAAyC,CAAC;AAErE;;;GAGG;AACH,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAI9C,8CAA8C;AAC9C,eAAO,MAAM,6BAA6B,MAAM,CAAC;AAEjD,oDAAoD;AACpD,eAAO,MAAM,mCAAmC,MAAM,CAAC;AAEvD,sEAAsE;AACtE,eAAO,MAAM,eAAe,QAA0C,CAAC;AAEvE,8DAA8D;AAC9D,eAAO,MAAM,aAAa,QAAoB,CAAC;AAE/C,2FAA2F;AAC3F,eAAO,MAAM,0BAA0B,QAAoD,CAAC;AAK5F,eAAO,MAAM,qBAAqB,MAAgC,CAAC;AACnE,eAAO,MAAM,2BAA2B,MAAsC,CAAC;AAE/E,eAAO,MAAM,qBAAqB,MAAgC,CAAC;AACnE,eAAO,MAAM,2BAA2B,MAAsC,CAAC;AAE/E,eAAO,MAAM,2BAA2B,MAAgC,CAAC;AACzE,eAAO,MAAM,iCAAiC,MAAsC,CAAC;AAErF,+DAA+D;AAC/D,eAAO,MAAM,YAAY,QAAwC,CAAC;AAElE,0CAA0C;AAC1C,eAAO,MAAM,wBAAwB,MAAgC,CAAC;AAEtE,+CAA+C;AAC/C,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAE/C,0EAA0E;AAC1E,eAAO,MAAM,eAAe,QAA0C,CAAC;AAEvE,wCAAwC;AACxC,eAAO,MAAM,2BAA2B,MAAgC,CAAC;AAEzE,8CAA8C;AAC9C,eAAO,MAAM,iCAAiC,MAAsC,CAAC;AAErF,iFAAiF;AACjF,eAAO,MAAM,uBAAuB,QAAkD,CAAC;AAEvF,2CAA2C;AAC3C,eAAO,MAAM,mCAAmC,MAAgC,CAAC;AAEjF,iDAAiD;AACjD,eAAO,MAAM,yCAAyC,MAAsC,CAAC"}
@@ -1,6 +1,9 @@
1
1
  // WorkProject + subtype (Tales / Tunes / Television) business-rule constants.
2
+ import { ACTIVE_LIMITS } from './app-mode.js';
2
3
  /** The absolute maximum number of stakes a workProject can have. */
3
4
  export const MAX_WORK_PROJECT_STAKE_SHARES = 1000;
5
+ /** Maximum number of active guildmates per work project. Mode-varied. */
6
+ export const MAX_GUILD_SIZE = ACTIVE_LIMITS.workProject.maxGuildSize;
4
7
  /**
5
8
  * Stake shares minted to the realm's founding-Work holder when a Work is
6
9
  * created into an EXISTING public realm. Counts toward MAX_WORK_PROJECT_STAKE_SHARES.
@@ -11,14 +14,12 @@ export const EXISTING_REALM_STAKE_SHARES = 75;
11
14
  export const MAX_WORK_PROJECT_TITLE_LENGTH = 150;
12
15
  /** Maximum length for a workProject description. */
13
16
  export const MAX_WORK_PROJECT_DESCRIPTION_LENGTH = 300;
14
- /** Maximum number of files attached to a workProject. */
15
- export const MAX_WORK_ASSETS = 5;
16
- /** Maximum file size for workProject file attachments, in bytes (5MB). */
17
- export const MAX_WORK_ASSET_FILE_SIZE = 5 * 1024 * 1024;
17
+ /** Maximum number of files attached to a workProject. Mode-varied. */
18
+ export const MAX_WORK_ASSETS = ACTIVE_LIMITS.workProject.maxWorkAssets;
18
19
  /** Allowed characters in titles: letters, numbers, spaces. */
19
20
  export const TITLE_PATTERN = /^[a-zA-Z0-9 ]+$/;
20
- /** Maximum number of auditions a single workProject can have open at once. */
21
- export const MAX_WORK_PROJECT_AUDITIONS = 3;
21
+ /** Maximum number of auditions a single workProject can have open at once. Mode-varied. */
22
+ export const MAX_WORK_PROJECT_AUDITIONS = ACTIVE_LIMITS.workProject.maxWorkProjectAuditions;
22
23
  // --- WorkProject Subtypes (Tales / Tunes / Television) ---
23
24
  // Length aliases — kept as named exports so call sites read clearly.
24
25
  export const MAX_TALE_TITLE_LENGTH = MAX_WORK_PROJECT_TITLE_LENGTH;
@@ -27,20 +28,20 @@ export const MAX_TUNE_TITLE_LENGTH = MAX_WORK_PROJECT_TITLE_LENGTH;
27
28
  export const MAX_TUNE_DESCRIPTION_LENGTH = MAX_WORK_PROJECT_DESCRIPTION_LENGTH;
28
29
  export const MAX_TELEVISION_TITLE_LENGTH = MAX_WORK_PROJECT_TITLE_LENGTH;
29
30
  export const MAX_TELEVISION_DESCRIPTION_LENGTH = MAX_WORK_PROJECT_DESCRIPTION_LENGTH;
30
- /** Maximum number of chapters a Tale can have. */
31
- export const MAX_CHAPTERS = 10;
31
+ /** Maximum number of chapters a Tale can have. Mode-varied. */
32
+ export const MAX_CHAPTERS = ACTIVE_LIMITS.workProject.maxChapters;
32
33
  /** Maximum length for a chapter title. */
33
34
  export const MAX_CHAPTER_TITLE_LENGTH = MAX_WORK_PROJECT_TITLE_LENGTH;
34
35
  /** Maximum length for chapter body content. */
35
36
  export const MAX_CHAPTER_CONTENT_LENGTH = 2500;
36
- /** Maximum number of tracks a Tunes workProject can have. */
37
- export const MAX_TUNE_TRACKS = 10;
37
+ /** Maximum number of tracks a Tunes workProject can have. Mode-varied. */
38
+ export const MAX_TUNE_TRACKS = ACTIVE_LIMITS.workProject.maxTuneTracks;
38
39
  /** Maximum length for a track title. */
39
40
  export const MAX_TUNE_TRACK_TITLE_LENGTH = MAX_WORK_PROJECT_TITLE_LENGTH;
40
41
  /** Maximum length for a track description. */
41
42
  export const MAX_TUNE_TRACK_DESCRIPTION_LENGTH = MAX_WORK_PROJECT_DESCRIPTION_LENGTH;
42
- /** Maximum number of episodes a Television workProject can have. */
43
- export const MAX_TELEVISION_EPISODES = 10;
43
+ /** Maximum number of episodes a Television workProject can have. Mode-varied. */
44
+ export const MAX_TELEVISION_EPISODES = ACTIVE_LIMITS.workProject.maxTelevisionEpisodes;
44
45
  /** Maximum length for an episode title. */
45
46
  export const MAX_TELEVISION_EPISODE_TITLE_LENGTH = MAX_WORK_PROJECT_TITLE_LENGTH;
46
47
  /** Maximum length for an episode description. */
@@ -1 +1 @@
1
- {"version":3,"file":"business-work-project.js","sourceRoot":"","sources":["../../src/constants/business-work-project.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAE9E,oEAAoE;AACpE,MAAM,CAAC,MAAM,6BAA6B,GAAG,IAAI,CAAC;AAElD;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,CAAC;AAE9C,4CAA4C;AAE5C,8CAA8C;AAC9C,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAG,CAAC;AAEjD,oDAAoD;AACpD,MAAM,CAAC,MAAM,mCAAmC,GAAG,GAAG,CAAC;AAEvD,yDAAyD;AACzD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC;AAEjC,0EAA0E;AAC1E,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAExD,8DAA8D;AAC9D,MAAM,CAAC,MAAM,aAAa,GAAG,iBAAiB,CAAC;AAE/C,8EAA8E;AAC9E,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC;AAE5C,4DAA4D;AAC5D,qEAAqE;AAErE,MAAM,CAAC,MAAM,qBAAqB,GAAG,6BAA6B,CAAC;AACnE,MAAM,CAAC,MAAM,2BAA2B,GAAG,mCAAmC,CAAC;AAE/E,MAAM,CAAC,MAAM,qBAAqB,GAAG,6BAA6B,CAAC;AACnE,MAAM,CAAC,MAAM,2BAA2B,GAAG,mCAAmC,CAAC;AAE/E,MAAM,CAAC,MAAM,2BAA2B,GAAG,6BAA6B,CAAC;AACzE,MAAM,CAAC,MAAM,iCAAiC,GAAG,mCAAmC,CAAC;AAErF,kDAAkD;AAClD,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,CAAC;AAE/B,0CAA0C;AAC1C,MAAM,CAAC,MAAM,wBAAwB,GAAG,6BAA6B,CAAC;AAEtE,+CAA+C;AAC/C,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,CAAC;AAE/C,6DAA6D;AAC7D,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC;AAElC,wCAAwC;AACxC,MAAM,CAAC,MAAM,2BAA2B,GAAG,6BAA6B,CAAC;AAEzE,8CAA8C;AAC9C,MAAM,CAAC,MAAM,iCAAiC,GAAG,mCAAmC,CAAC;AAErF,oEAAoE;AACpE,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAE1C,2CAA2C;AAC3C,MAAM,CAAC,MAAM,mCAAmC,GAAG,6BAA6B,CAAC;AAEjF,iDAAiD;AACjD,MAAM,CAAC,MAAM,yCAAyC,GAAG,mCAAmC,CAAC"}
1
+ {"version":3,"file":"business-work-project.js","sourceRoot":"","sources":["../../src/constants/business-work-project.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,oEAAoE;AACpE,MAAM,CAAC,MAAM,6BAA6B,GAAG,IAAI,CAAC;AAElD,yEAAyE;AACzE,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAC,WAAW,CAAC,YAAY,CAAC;AAErE;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,CAAC;AAE9C,4CAA4C;AAE5C,8CAA8C;AAC9C,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAG,CAAC;AAEjD,oDAAoD;AACpD,MAAM,CAAC,MAAM,mCAAmC,GAAG,GAAG,CAAC;AAEvD,sEAAsE;AACtE,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAAC,WAAW,CAAC,aAAa,CAAC;AAEvE,8DAA8D;AAC9D,MAAM,CAAC,MAAM,aAAa,GAAG,iBAAiB,CAAC;AAE/C,2FAA2F;AAC3F,MAAM,CAAC,MAAM,0BAA0B,GAAG,aAAa,CAAC,WAAW,CAAC,uBAAuB,CAAC;AAE5F,4DAA4D;AAC5D,qEAAqE;AAErE,MAAM,CAAC,MAAM,qBAAqB,GAAG,6BAA6B,CAAC;AACnE,MAAM,CAAC,MAAM,2BAA2B,GAAG,mCAAmC,CAAC;AAE/E,MAAM,CAAC,MAAM,qBAAqB,GAAG,6BAA6B,CAAC;AACnE,MAAM,CAAC,MAAM,2BAA2B,GAAG,mCAAmC,CAAC;AAE/E,MAAM,CAAC,MAAM,2BAA2B,GAAG,6BAA6B,CAAC;AACzE,MAAM,CAAC,MAAM,iCAAiC,GAAG,mCAAmC,CAAC;AAErF,+DAA+D;AAC/D,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC;AAElE,0CAA0C;AAC1C,MAAM,CAAC,MAAM,wBAAwB,GAAG,6BAA6B,CAAC;AAEtE,+CAA+C;AAC/C,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,CAAC;AAE/C,0EAA0E;AAC1E,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAAC,WAAW,CAAC,aAAa,CAAC;AAEvE,wCAAwC;AACxC,MAAM,CAAC,MAAM,2BAA2B,GAAG,6BAA6B,CAAC;AAEzE,8CAA8C;AAC9C,MAAM,CAAC,MAAM,iCAAiC,GAAG,mCAAmC,CAAC;AAErF,iFAAiF;AACjF,MAAM,CAAC,MAAM,uBAAuB,GAAG,aAAa,CAAC,WAAW,CAAC,qBAAqB,CAAC;AAEvF,2CAA2C;AAC3C,MAAM,CAAC,MAAM,mCAAmC,GAAG,6BAA6B,CAAC;AAEjF,iDAAiD;AACjD,MAAM,CAAC,MAAM,yCAAyC,GAAG,mCAAmC,CAAC"}
@@ -1,3 +1,4 @@
1
+ export * from './app-mode.js';
1
2
  export * from './business.js';
2
3
  export * from './chat.js';
3
4
  export * from './moderation.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC"}
@@ -1,3 +1,4 @@
1
+ export * from './app-mode.js';
1
2
  export * from './business.js';
2
3
  export * from './chat.js';
3
4
  export * from './moderation.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC"}
@@ -25,8 +25,8 @@ export declare const POSTS_PER_PAGE = 20;
25
25
  export declare const VIOLATIONS_PER_PAGE = 5;
26
26
  /** Page size for the craft-skills list hook. */
27
27
  export declare const CRAFT_SKILL_MEDIA_PER_PAGE = 12;
28
- /** Maximum number of recent posts the trending-feed scheduled commission processes per run. */
29
- export declare const TRENDING_FEED_PROCESS_LIMIT = 500;
28
+ /** Maximum number of recent posts the trending-feed scheduled commission processes per run. Mode-varied. */
29
+ export declare const TRENDING_FEED_PROCESS_LIMIT: number;
30
30
  /** HallLibrary page-level UX values (page size, recency window, search debounce, per-item tag cap). */
31
31
  export declare const HALL_LIBRARY_PAGE_CONSTANTS: {
32
32
  readonly ITEMS_PER_PAGE: 20;
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../src/constants/pagination.ts"],"names":[],"mappings":"AAEA,0DAA0D;AAC1D,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC,eAAO,MAAM,sCAAsC,IAAI,CAAC;AACxD,eAAO,MAAM,+BAA+B,IAAI,CAAC;AACjD,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAChD,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAC/C,eAAO,MAAM,kCAAkC,IAAI,CAAC;AACpD,eAAO,MAAM,uCAAuC,IAAI,CAAC;AACzD,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAC5C,eAAO,MAAM,kCAAkC,IAAI,CAAC;AACpD,eAAO,MAAM,gCAAgC,IAAI,CAAC;AAClD,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAChD,eAAO,MAAM,qCAAqC,KAAK,CAAC;AAIxD,mDAAmD;AACnD,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C,yDAAyD;AACzD,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC,wDAAwD;AACxD,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC,0CAA0C;AAC1C,eAAO,MAAM,cAAc,KAAK,CAAC;AAEjC,qDAAqD;AACrD,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC,gDAAgD;AAChD,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAE7C,+FAA+F;AAC/F,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAI/C,uGAAuG;AACvG,eAAO,MAAM,2BAA2B;;;;;CAK9B,CAAC"}
1
+ {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../src/constants/pagination.ts"],"names":[],"mappings":"AAGA,0DAA0D;AAC1D,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC,eAAO,MAAM,sCAAsC,IAAI,CAAC;AACxD,eAAO,MAAM,+BAA+B,IAAI,CAAC;AACjD,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAChD,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAC/C,eAAO,MAAM,kCAAkC,IAAI,CAAC;AACpD,eAAO,MAAM,uCAAuC,IAAI,CAAC;AACzD,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAC5C,eAAO,MAAM,kCAAkC,IAAI,CAAC;AACpD,eAAO,MAAM,gCAAgC,IAAI,CAAC;AAClD,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAChD,eAAO,MAAM,qCAAqC,KAAK,CAAC;AAIxD,mDAAmD;AACnD,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C,yDAAyD;AACzD,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC,wDAAwD;AACxD,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC,0CAA0C;AAC1C,eAAO,MAAM,cAAc,KAAK,CAAC;AAEjC,qDAAqD;AACrD,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC,gDAAgD;AAChD,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAE7C,4GAA4G;AAC5G,eAAO,MAAM,2BAA2B,QAAiD,CAAC;AAI1F,uGAAuG;AACvG,eAAO,MAAM,2BAA2B;;;;;CAK9B,CAAC"}
@@ -1,4 +1,5 @@
1
1
  // Pagination page sizes and hallLibrary UX constants.
2
+ import { ACTIVE_LIMITS } from './app-mode.js';
2
3
  /** Default pagination size when no other size applies. */
3
4
  export const ITEMS_PER_PAGE_GENERAL = 5;
4
5
  export const ITEMS_PER_PAGE_MESSAGES = 5;
@@ -27,8 +28,8 @@ export const POSTS_PER_PAGE = 20;
27
28
  export const VIOLATIONS_PER_PAGE = 5;
28
29
  /** Page size for the craft-skills list hook. */
29
30
  export const CRAFT_SKILL_MEDIA_PER_PAGE = 12;
30
- /** Maximum number of recent posts the trending-feed scheduled commission processes per run. */
31
- export const TRENDING_FEED_PROCESS_LIMIT = 500;
31
+ /** Maximum number of recent posts the trending-feed scheduled commission processes per run. Mode-varied. */
32
+ export const TRENDING_FEED_PROCESS_LIMIT = ACTIVE_LIMITS.batches.trendingFeedProcessLimit;
32
33
  // --- HallLibrary UX constants ---
33
34
  /** HallLibrary page-level UX values (page size, recency window, search debounce, per-item tag cap). */
34
35
  export const HALL_LIBRARY_PAGE_CONSTANTS = {
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../src/constants/pagination.ts"],"names":[],"mappings":"AAAA,sDAAsD;AAEtD,0DAA0D;AAC1D,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAExC,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AACzC,MAAM,CAAC,MAAM,sCAAsC,GAAG,CAAC,CAAC;AACxD,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC;AACjD,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC;AAChD,MAAM,CAAC,MAAM,4BAA4B,GAAG,EAAE,CAAC;AAC/C,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,CAAC;AACpD,MAAM,CAAC,MAAM,uCAAuC,GAAG,CAAC,CAAC;AACzD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AACzC,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC;AAC5C,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,CAAC;AACpD,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC;AAClD,MAAM,CAAC,MAAM,6BAA6B,GAAG,EAAE,CAAC;AAChD,MAAM,CAAC,MAAM,qCAAqC,GAAG,EAAE,CAAC;AAExD,mCAAmC;AAEnC,mDAAmD;AACnD,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAE3C,yDAAyD;AACzD,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAEnC,wDAAwD;AACxD,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAEpC,0CAA0C;AAC1C,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC;AAEjC,qDAAqD;AACrD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAErC,gDAAgD;AAChD,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,CAAC;AAE7C,+FAA+F;AAC/F,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,CAAC;AAE/C,mCAAmC;AAEnC,uGAAuG;AACvG,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,cAAc,EAAE,EAAE;IAClB,gBAAgB,EAAE,EAAE;IACpB,iBAAiB,EAAE,EAAE;IACrB,kBAAkB,EAAE,GAAG;CACf,CAAC"}
1
+ {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../src/constants/pagination.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,0DAA0D;AAC1D,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAExC,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AACzC,MAAM,CAAC,MAAM,sCAAsC,GAAG,CAAC,CAAC;AACxD,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC;AACjD,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC;AAChD,MAAM,CAAC,MAAM,4BAA4B,GAAG,EAAE,CAAC;AAC/C,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,CAAC;AACpD,MAAM,CAAC,MAAM,uCAAuC,GAAG,CAAC,CAAC;AACzD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AACzC,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC;AAC5C,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,CAAC;AACpD,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC;AAClD,MAAM,CAAC,MAAM,6BAA6B,GAAG,EAAE,CAAC;AAChD,MAAM,CAAC,MAAM,qCAAqC,GAAG,EAAE,CAAC;AAExD,mCAAmC;AAEnC,mDAAmD;AACnD,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAE3C,yDAAyD;AACzD,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAEnC,wDAAwD;AACxD,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAEpC,0CAA0C;AAC1C,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC;AAEjC,qDAAqD;AACrD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAErC,gDAAgD;AAChD,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,CAAC;AAE7C,4GAA4G;AAC5G,MAAM,CAAC,MAAM,2BAA2B,GAAG,aAAa,CAAC,OAAO,CAAC,wBAAwB,CAAC;AAE1F,mCAAmC;AAEnC,uGAAuG;AACvG,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,cAAc,EAAE,EAAE;IAClB,gBAAgB,EAAE,EAAE;IACpB,iBAAiB,EAAE,EAAE;IACrB,kBAAkB,EAAE,GAAG;CACf,CAAC"}