jansathi-community-schema 0.50.1 → 0.50.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.
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/social-score/rules.d.ts.map +1 -1
- package/dist/social-score/rules.js +6 -2
- package/dist/social-score/rules.js.map +1 -1
- package/dist/social-score/wire.d.ts +37 -0
- package/dist/social-score/wire.d.ts.map +1 -1
- package/dist/social-score/wire.js +24 -0
- package/dist/social-score/wire.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -37,7 +37,7 @@ export { type ReportContentBody, type ReportContentKind, type ReportRecordWire,
|
|
|
37
37
|
export { type CreateRepostBody, type CreateRepostResponse, createRepostBodySchema, createRepostResponseSchema, } from './repost.js';
|
|
38
38
|
export { type BlockedUsersListResponse, type BlockedUserWire, blockedUsersListResponseSchema, blockedUserWireSchema, COMMUNITY_SETTINGS_DEFAULTS, type CommunitySettingsWire, communitySettingsWireSchema, type UpdateCommunitySettingsBody, updateCommunitySettingsBodySchema, } from './settings.js';
|
|
39
39
|
export { type ToggleFollowResponse, toggleFollowResponseSchema, type ViewerSocialState, viewerSocialStateSchema, } from './social.js';
|
|
40
|
-
export { LEADER_ELIGIBILITY_SCORE, type LeaderboardEntry, leaderboardEntrySchema, MENTEE_MILESTONE_SCORE, type MilestoneProgress, milestoneLevel, milestoneProgress, type PublicScoreSummary, publicScoreSummarySchema, QUALIFYING_UPVOTES, QUALIFYING_UPVOTES_COMMENT, type RecentScoreEvent, recentScoreEventSchema, SCORE_CATEGORY_I18N, SCORE_CATEGORY_ORDER, SCORE_CATEGORY_VALUES, SCORE_KIND_VALUES, SCORE_RULE_CATALOG, SCORE_RULES, type ScoreBreakdown, type ScoreByCategory, type ScoreCap, type ScoreCategory, type ScoreCategoryI18n, type ScoreKind, type ScoreRule, type ScoreRuleGroup, type ScoreRuleRef, SOCIAL_SCORE_MILESTONES, SOCIAL_SCORE_TIER_NAMES, SOCIAL_SCORE_TIERS, type SocialScoreTier, type SocialScoreTierName, scoreBreakdownSchema, scoreByCategorySchema, scoreCategorySchema, scoreKindSchema, tierFromSocialScore, } from './social-score/index.js';
|
|
40
|
+
export { LEADER_ELIGIBILITY_SCORE, LEADERBOARD_SCOPE_VALUES, type LeaderboardEntry, type LeaderboardResponse, type LeaderboardScope, leaderboardEntrySchema, leaderboardResponseSchema, leaderboardScopeSchema, MENTEE_MILESTONE_SCORE, type MilestoneProgress, milestoneLevel, milestoneProgress, type PublicScoreSummary, publicScoreSummarySchema, QUALIFYING_UPVOTES, QUALIFYING_UPVOTES_COMMENT, type RecentScoreEvent, recentScoreEventSchema, SCORE_CATEGORY_I18N, SCORE_CATEGORY_ORDER, SCORE_CATEGORY_VALUES, SCORE_KIND_VALUES, SCORE_RULE_CATALOG, SCORE_RULES, type ScoreBreakdown, type ScoreByCategory, type ScoreCap, type ScoreCategory, type ScoreCategoryI18n, type ScoreKind, type ScoreRule, type ScoreRuleGroup, type ScoreRuleRef, SOCIAL_SCORE_MILESTONES, SOCIAL_SCORE_TIER_NAMES, SOCIAL_SCORE_TIERS, type SocialScoreTier, type SocialScoreTierName, scoreBreakdownSchema, scoreByCategorySchema, scoreCategorySchema, scoreKindSchema, tierFromSocialScore, } from './social-score/index.js';
|
|
41
41
|
export { COMPLAINT_CATEGORY_OPTIONS, COMPLAINT_CATEGORY_VALUES, type ComplaintCategory, type CreateSuggestionsComplaintsBody, complaintCategorySchema, createSuggestionsComplaintsBodySchema, SUGGESTION_CATEGORY_OPTIONS, SUGGESTION_CATEGORY_VALUES, SUGGESTIONS_COMPLAINTS_CATEGORY_VALUES, SUGGESTIONS_COMPLAINTS_CREATE_FIELDS, SUGGESTIONS_COMPLAINTS_CREATE_STEP_ORDER, SUGGESTIONS_COMPLAINTS_DESCRIPTION_MAX_CHARS, SUGGESTIONS_COMPLAINTS_MAX_IMAGES, SUGGESTIONS_COMPLAINTS_MAX_VIDEO_LINKS, SUGGESTIONS_COMPLAINTS_SUGGESTION_DESCRIPTION_MIN_CHARS, SUGGESTIONS_COMPLAINTS_TITLE_MAX_CHARS, SUGGESTIONS_COMPLAINTS_TITLE_MIN_CHARS, SUGGESTIONS_COMPLAINTS_TYPE_OPTIONS, SUGGESTIONS_COMPLAINTS_TYPE_VALUES, type SuggestionCategory, type SuggestionsComplaintsCreateStepKey, type SuggestionsComplaintsDraft, type SuggestionsComplaintsType, suggestionCategorySchema, suggestionsComplaintsBodyObjectSchema, suggestionsComplaintsStepValid, suggestionsComplaintsTypeSchema, type UploadedMediaPath, uploadedMediaPathSchema, } from './suggestions-complaints.js';
|
|
42
42
|
export { type CurrentUsernameState, currentUsernameStateSchema, type UpdateUsernameBody, type UpdateUsernameResponse, USERNAME_MAX_LENGTH, USERNAME_MIN_LENGTH, USERNAME_PATTERN, USERNAME_UNAVAILABLE_REASONS, type Username, type UsernameAvailabilityResponse, type UsernameUnavailableReason, updateUsernameBodySchema, updateUsernameResponseSchema, usernameAvailabilityResponseSchema, usernameSchema, usernameUnavailableReasonSchema, } from './username.js';
|
|
43
43
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EACL,KAAK,mBAAmB,EACxB,yBAAyB,GAC1B,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,0BAA0B,EAC1B,uBAAuB,EACvB,KAAK,iBAAiB,EACtB,uBAAuB,GACxB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,KAAK,wBAAwB,EAC7B,wBAAwB,EACxB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,8BAA8B,EAC9B,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,yBAAyB,EACzB,6BAA6B,EAC7B,8BAA8B,EAC9B,qBAAqB,EACrB,kCAAkC,EAClC,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,+BAA+B,EAC/B,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,KAAK,4BAA4B,EACjC,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,2BAA2B,EAChC,uBAAuB,EACvB,2BAA2B,EAC3B,gCAAgC,EAChC,0BAA0B,EAC1B,2BAA2B,EAC3B,mBAAmB,EACnB,wBAAwB,EACxB,2BAA2B,EAC3B,+BAA+B,EAC/B,kCAAkC,EAClC,yBAAyB,EACzB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,4BAA4B,EAC5B,mBAAmB,EACnB,yBAAyB,EACzB,iCAAiC,EACjC,KAAK,YAAY,EACjB,kBAAkB,EAClB,KAAK,qBAAqB,EAC1B,2BAA2B,EAC3B,mCAAmC,EACnC,KAAK,yBAAyB,EAC9B,+BAA+B,EAC/B,KAAK,wBAAwB,EAC7B,KAAK,6BAA6B,EAClC,8BAA8B,EAC9B,mCAAmC,EACnC,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,yBAAyB,EACzB,0BAA0B,EAC1B,KAAK,mBAAmB,EACxB,yBAAyB,GAC1B,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,EACrB,+BAA+B,EAC/B,sCAAsC,EACtC,sCAAsC,EACtC,oCAAoC,EACpC,8BAA8B,EAC9B,kBAAkB,EAClB,2BAA2B,EAC3B,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,oCAAoC,EACpC,uCAAuC,EACvC,2CAA2C,EAC3C,kCAAkC,EAClC,kCAAkC,EAClC,6BAA6B,EAC7B,8BAA8B,EAC9B,yBAAyB,EACzB,uBAAuB,EACvB,2BAA2B,EAC3B,gCAAgC,EAChC,8BAA8B,EAC9B,yBAAyB,EACzB,2BAA2B,EAC3B,sBAAsB,EACtB,4CAA4C,EAC5C,4CAA4C,EAC5C,uCAAuC,EACvC,uCAAuC,EACvC,0BAA0B,EAC1B,4BAA4B,EAC5B,4BAA4B,EAC5B,oBAAoB,EACpB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,wBAAwB,EACxB,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,EACvB,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,eAAe,EACf,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,iBAAiB,EACjB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,GACvB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,8BAA8B,EACnC,6BAA6B,EAC7B,oCAAoC,EACpC,KAAK,yBAAyB,EAC9B,6BAA6B,EAC7B,4BAA4B,EAC5B,6BAA6B,EAC7B,4BAA4B,EAC5B,kCAAkC,EAClC,6BAA6B,EAC7B,4BAA4B,EAC5B,kCAAkC,EAClC,2CAA2C,EAC3C,0BAA0B,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,yBAAyB,EAC9B,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC7B,KAAK,6BAA6B,EAClC,KAAK,iCAAiC,EACtC,KAAK,+BAA+B,EACpC,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,6BAA6B,EAClC,KAAK,sBAAsB,EAC3B,+BAA+B,EAC/B,4BAA4B,EAC5B,0BAA0B,EAC1B,0BAA0B,EAC1B,+BAA+B,EAC/B,8BAA8B,EAC9B,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,EACzB,8BAA8B,EAC9B,mCAAmC,EACnC,uCAAuC,EACvC,qCAAqC,EACrC,wBAAwB,EACxB,8BAA8B,EAC9B,mCAAmC,EACnC,4BAA4B,EAC5B,KAAK,8BAA8B,EACnC,KAAK,gCAAgC,EACrC,oCAAoC,EACpC,sCAAsC,EACtC,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,EACjC,4BAA4B,EAC5B,kCAAkC,EAClC,KAAK,sBAAsB,EAC3B,KAAK,6BAA6B,EAClC,4BAA4B,EAC5B,mCAAmC,GACpC,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,KAAK,oBAAoB,EACzB,0BAA0B,EAC1B,4BAA4B,EAC5B,2BAA2B,EAC3B,6BAA6B,EAC7B,yBAAyB,EACzB,6BAA6B,EAC7B,iCAAiC,EACjC,+BAA+B,EAC/B,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,wBAAwB,EACxB,6BAA6B,EAC7B,4BAA4B,EAC5B,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,qBAAqB,EACrB,yBAAyB,EACzB,iBAAiB,EACjB,qBAAqB,EACrB,KAAK,sBAAsB,EAC3B,4BAA4B,EAC5B,WAAW,EACX,KAAK,SAAS,EACd,eAAe,GAChB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,mBAAmB,EACnB,KAAK,WAAW,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,QAAQ,EACb,cAAc,EACd,sBAAsB,EACtB,KAAK,cAAc,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,EACvB,KAAK,eAAe,EACpB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,wBAAwB,EACxB,8BAA8B,EAC9B,KAAK,uBAAuB,EAC5B,6BAA6B,EAC7B,0BAA0B,EAC1B,yBAAyB,EACzB,2BAA2B,EAC3B,0BAA0B,EAC1B,4BAA4B,EAC5B,4BAA4B,EAC5B,2BAA2B,EAC3B,sBAAsB,EACtB,qBAAqB,EACrB,6BAA6B,EAC7B,mBAAmB,EACnB,uBAAuB,EACvB,2BAA2B,EAC3B,2BAA2B,EAC3B,kBAAkB,EAClB,uBAAuB,EACvB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,iCAAiC,EACjC,6BAA6B,EAC7B,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,0BAA0B,EAC/B,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,uBAAuB,EAC5B,sBAAsB,EACtB,uBAAuB,EACvB,yBAAyB,EACzB,gCAAgC,EAChC,uBAAuB,EACvB,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,6BAA6B,EAC7B,KAAK,wBAAwB,EAC7B,8BAA8B,GAC/B,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,4BAA4B,EAC5B,yBAAyB,EACzB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,EACtB,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,cAAc,EACd,qBAAqB,EACrB,kBAAkB,EAClB,0BAA0B,EAC1B,wBAAwB,EACxB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,wBAAwB,EACxB,sCAAsC,EACtC,oCAAoC,EACpC,KAAK,6BAA6B,EAClC,KAAK,6BAA6B,EAClC,KAAK,6BAA6B,EAClC,KAAK,2BAA2B,EAChC,gCAAgC,EAChC,mCAAmC,EACnC,mCAAmC,EACnC,0CAA0C,EAC1C,mCAAmC,EACnC,iCAAiC,EACjC,gCAAgC,GACjC,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,KAAK,mBAAmB,EACxB,yBAAyB,EACzB,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC9B,KAAK,eAAe,EACpB,wBAAwB,EACxB,+BAA+B,EAC/B,qBAAqB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,kBAAkB,EACvB,8BAA8B,EAC9B,qBAAqB,EACrB,eAAe,EACf,wBAAwB,EACxB,KAAK,eAAe,EACpB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,wBAAwB,EACxB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,KAAK,yBAAyB,EAC9B,+BAA+B,EAC/B,2BAA2B,EAC3B,qCAAqC,EACrC,kCAAkC,EAClC,wBAAwB,EACxB,4BAA4B,EAC5B,gCAAgC,EAChC,gCAAgC,EAChC,qBAAqB,EACrB,2BAA2B,EAC3B,0BAA0B,EAC1B,0BAA0B,EAC1B,uBAAuB,EACvB,sBAAsB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,KAAK,SAAS,EACd,KAAK,SAAS,EACd,eAAe,EACf,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,4BAA4B,EAC5B,+BAA+B,EAC/B,KAAK,4BAA4B,EACjC,kCAAkC,EAClC,4BAA4B,EAC5B,2BAA2B,EAC3B,4BAA4B,EAC5B,mCAAmC,EACnC,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EACrB,uBAAuB,EACvB,0BAA0B,EAC1B,yBAAyB,EACzB,0BAA0B,EAC1B,8BAA8B,EAC9B,2BAA2B,EAC3B,+BAA+B,EAC/B,2BAA2B,EAC3B,6BAA6B,EAC7B,sBAAsB,EACtB,iCAAiC,EACjC,KAAK,6BAA6B,GACnC,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,kBAAkB,EAClB,2BAA2B,EAC3B,uBAAuB,EACvB,oBAAoB,EACpB,8BAA8B,EAC9B,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,qBAAqB,EACrB,oBAAoB,EACpB,2BAA2B,EAC3B,KAAK,YAAY,EACjB,kBAAkB,GACnB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,uBAAuB,EACvB,oBAAoB,EACpB,KAAK,kBAAkB,EACvB,wBAAwB,EACxB,KAAK,cAAc,EACnB,oBAAoB,EACpB,KAAK,cAAc,EACnB,oBAAoB,GACrB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,wBAAwB,EACxB,uBAAuB,EACvB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,cAAc,EACnB,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,8BAA8B,EAC9B,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,eAAe,EACpB,8BAA8B,EAC9B,qBAAqB,EACrB,2BAA2B,EAC3B,KAAK,qBAAqB,EAC1B,2BAA2B,EAC3B,KAAK,2BAA2B,EAChC,iCAAiC,GAClC,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,KAAK,oBAAoB,EACzB,0BAA0B,EAC1B,KAAK,iBAAiB,EACtB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,EACtB,sBAAsB,EACtB,KAAK,iBAAiB,EACtB,cAAc,EACd,iBAAiB,EACjB,KAAK,kBAAkB,EACvB,wBAAwB,EAExB,kBAAkB,EAClB,0BAA0B,EAE1B,KAAK,gBAAgB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,EAEpB,qBAAqB,EAErB,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,YAAY,EAEjB,uBAAuB,EAEvB,uBAAuB,EACvB,kBAAkB,EAClB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,KAAK,iBAAiB,EACtB,KAAK,+BAA+B,EACpC,uBAAuB,EACvB,qCAAqC,EACrC,2BAA2B,EAC3B,0BAA0B,EAC1B,sCAAsC,EACtC,oCAAoC,EACpC,wCAAwC,EACxC,4CAA4C,EAC5C,iCAAiC,EACjC,sCAAsC,EACtC,uDAAuD,EACvD,sCAAsC,EACtC,sCAAsC,EACtC,mCAAmC,EACnC,kCAAkC,EAClC,KAAK,kBAAkB,EACvB,KAAK,kCAAkC,EACvC,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,wBAAwB,EACxB,qCAAqC,EACrC,8BAA8B,EAC9B,+BAA+B,EAC/B,KAAK,iBAAiB,EACtB,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACL,KAAK,oBAAoB,EACzB,0BAA0B,EAC1B,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,4BAA4B,EAC5B,KAAK,QAAQ,EACb,KAAK,4BAA4B,EACjC,KAAK,yBAAyB,EAC9B,wBAAwB,EACxB,4BAA4B,EAC5B,kCAAkC,EAClC,cAAc,EACd,+BAA+B,GAChC,MAAM,eAAe,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -62,7 +62,7 @@ export { blockedUsersListResponseSchema, blockedUserWireSchema, COMMUNITY_SETTIN
|
|
|
62
62
|
export { toggleFollowResponseSchema, viewerSocialStateSchema, } from './social.js';
|
|
63
63
|
// ─── Social score (modular SSOT: kinds / categories / milestones /
|
|
64
64
|
// rules / tiers / wire) ───────────────────────────────────────────────
|
|
65
|
-
export { LEADER_ELIGIBILITY_SCORE, leaderboardEntrySchema, MENTEE_MILESTONE_SCORE, milestoneLevel, milestoneProgress, publicScoreSummarySchema,
|
|
65
|
+
export { LEADER_ELIGIBILITY_SCORE, LEADERBOARD_SCOPE_VALUES, leaderboardEntrySchema, leaderboardResponseSchema, leaderboardScopeSchema, MENTEE_MILESTONE_SCORE, milestoneLevel, milestoneProgress, publicScoreSummarySchema,
|
|
66
66
|
// rules + constants + display catalog
|
|
67
67
|
QUALIFYING_UPVOTES, QUALIFYING_UPVOTES_COMMENT, recentScoreEventSchema, SCORE_CATEGORY_I18N, SCORE_CATEGORY_ORDER,
|
|
68
68
|
// categories
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * community-schema — Shared Zod schemas + TypeScript types for the\n * Jansathi hyperlocal community feature (feed, posts, engagement,\n * social graph, groups, settings).\n *\n * Single source of truth consumed by reform-backend and every product\n * frontend. The schemas mirror MongoDB / Mongoose document shapes\n * 1:1 so the same Zod validation runs at the controller boundary on\n * the backend and in the form handlers on the client.\n *\n * Cascade-upward visibility semantics: a viewer whose feed level is L\n * sees posts at L and every BROADER level matching their area lineage.\n * See `./enums.ts#VISIBILITY_LEVEL_VALUES` for the level rank table.\n *\n * @module community-schema\n */\n\n// ─── Area lineage snapshot ─────────────────────────────────────────────────\nexport {\n type AreaLineageSnapshot,\n areaLineageSnapshotSchema,\n} from './area.js';\n\n// ─── Comment ───────────────────────────────────────────────────────────────\nexport {\n type CommunityCommentWire,\n type CreateCommentBody,\n communityCommentWireSchema,\n createCommentBodySchema,\n type UpdateCommentBody,\n updateCommentBodySchema,\n} from './comment.js';\n\n// ─── Communities ───────────────────────────────────────────────────────────\nexport {\n type AddOfficialModeratorBody,\n AREA_PICKER_LEVEL_VALUES,\n type AreaPickerItem,\n type AreaPickerLevel,\n type AreaPickerQuery,\n type AreaPickerResponse,\n addOfficialModeratorBodySchema,\n areaPickerItemSchema,\n areaPickerLevelSchema,\n areaPickerQuerySchema,\n areaPickerResponseSchema,\n COMMUNITY_CATEGORY_VALUES,\n COMMUNITY_DESIGNATION_PRESETS,\n COMMUNITY_DISCOVER_SORT_VALUES,\n COMMUNITY_KIND_VALUES,\n COMMUNITY_MEMBERSHIP_STATUS_VALUES,\n COMMUNITY_REACH_VALUES,\n COMMUNITY_ROLE_VALUES,\n COMMUNITY_TAG_VALUES,\n COMMUNITY_TYPE_VALUES,\n COMMUNITY_VERIFIED_SCOPE_VALUES,\n type CommunityCategory,\n type CommunityCenterCoords,\n type CommunityDesignation,\n type CommunityDesignationPreset,\n type CommunityDiscoverSort,\n type CommunityKind,\n type CommunityListQuery,\n type CommunityListResponse,\n type CommunityMembershipStatus,\n type CommunityMembersListResponse,\n type CommunityMemberWire,\n type CommunityReach,\n type CommunityRole,\n type CommunityTag,\n type CommunityType,\n type CommunityVerifiedScope,\n type CommunityWire,\n type CreateCommunityBody,\n type CreateOfficialCommunityBody,\n communityCategorySchema,\n communityCenterCoordsSchema,\n communityDesignationPresetSchema,\n communityDesignationSchema,\n communityDiscoverSortSchema,\n communityKindSchema,\n communityListQuerySchema,\n communityListResponseSchema,\n communityMembershipStatusSchema,\n communityMembersListResponseSchema,\n communityMemberWireSchema,\n communityReachSchema,\n communityRoleSchema,\n communityTagSchema,\n communityTypeSchema,\n communityVerifiedScopeSchema,\n communityWireSchema,\n createCommunityBodySchema,\n createOfficialCommunityBodySchema,\n type HidePostBody,\n hidePostBodySchema,\n type JoinCommunityResponse,\n joinCommunityResponseSchema,\n OFFICIAL_COMMUNITY_AREA_KIND_VALUES,\n type OfficialCommunityAreaKind,\n officialCommunityAreaKindSchema,\n type SetMemberDesignationBody,\n type SetOfficialRepresentativeBody,\n setMemberDesignationBodySchema,\n setOfficialRepresentativeBodySchema,\n type UpdateCommunityBody,\n type UpdateMemberRoleBody,\n updateCommunityBodySchema,\n updateMemberRoleBodySchema,\n type VerifyCommunityBody,\n verifyCommunityBodySchema,\n} from './community.js';\n\n// ─── Constants ─────────────────────────────────────────────────────────────\nexport {\n COMMENT_MAX_BODY_CHARS,\n COMMENTS_PAGE_SIZE,\n COMMUNITIES_PAGE_SIZE,\n COMMUNITY_DESCRIPTION_MAX_CHARS,\n COMMUNITY_DESIGNATION_CUSTOM_MAX_CHARS,\n COMMUNITY_DESIGNATION_CUSTOM_MIN_CHARS,\n COMMUNITY_DESIGNATION_CUSTOM_PATTERN,\n COMMUNITY_HYPERLOCAL_RADIUS_KM,\n COMMUNITY_MAX_TAGS,\n COMMUNITY_MEMBERS_PAGE_SIZE,\n COMMUNITY_NAME_MAX_CHARS,\n COMMUNITY_NAME_MIN_CHARS,\n COMMUNITY_SLUG_MAX_CHARS,\n COMMUNITY_SLUG_MIN_CHARS,\n COMMUNITY_SLUG_PATTERN,\n CROWDFUNDING_BANK_LINK_DEADLINE_DAYS,\n CROWDFUNDING_BENEFICIARY_NAME_MAX_CHARS,\n CROWDFUNDING_BENEFICIARY_RELATION_MAX_CHARS,\n CROWDFUNDING_DESCRIPTION_MAX_CHARS,\n CROWDFUNDING_DESCRIPTION_MIN_CHARS,\n CROWDFUNDING_MAX_DONATION_INR,\n CROWDFUNDING_MAX_DURATION_DAYS,\n CROWDFUNDING_MAX_GOAL_INR,\n CROWDFUNDING_MAX_IMAGES,\n CROWDFUNDING_MAX_PROOF_DOCS,\n CROWDFUNDING_MAX_SUPPORTING_DOCS,\n CROWDFUNDING_MIN_DURATION_DAYS,\n CROWDFUNDING_MIN_GOAL_INR,\n CROWDFUNDING_MIN_PROOF_DOCS,\n CROWDFUNDING_PAGE_SIZE,\n CROWDFUNDING_PROOF_DOC_DESCRIPTION_MAX_CHARS,\n CROWDFUNDING_PROOF_DOC_DESCRIPTION_MIN_CHARS,\n CROWDFUNDING_REJECTION_REASON_MAX_CHARS,\n CROWDFUNDING_REJECTION_REASON_MIN_CHARS,\n CROWDFUNDING_TERMS_VERSION,\n CROWDFUNDING_TITLE_MAX_CHARS,\n CROWDFUNDING_TITLE_MIN_CHARS,\n EDIT_GRACE_WINDOW_MS,\n FEED_PAGE_SIZE,\n GROUP_MAX_MEMBERS,\n GROUP_NAME_MAX_CHARS,\n GROUP_NAME_MIN_CHARS,\n PEOPLE_PAGE_SIZE,\n POLL_DURATION_PRESETS_MS,\n POLL_MAX_DURATION_MS,\n POLL_MAX_OPTIONS,\n POLL_MIN_DURATION_MS,\n POLL_MIN_OPTIONS,\n POLL_OPTION_MAX_CHARS,\n POLL_OPTION_MIN_CHARS,\n POLL_QUESTION_MAX_CHARS,\n POLL_QUESTION_MIN_CHARS,\n POLLS_PAGE_SIZE,\n POST_MAX_BODY_CHARS,\n POST_MAX_IMAGE_BYTES,\n POST_MAX_IMAGES,\n POST_MAX_VIDEO_BYTES,\n POST_MAX_VIDEO_SECONDS,\n POST_MAX_VIDEOS,\n PROFILE_MAX_BIO_CHARS,\n REPLIES_PRELOAD_COUNT,\n} from './constants.js';\n// ─── Create-composer config (shared types) ────────────────────────────────────\nexport {\n buildFieldOptions,\n type CreateFieldConfig,\n type CreateFieldOption,\n} from './create-form-config.js';\n// ─── Crowdfunding ──────────────────────────────────────────────────────────\nexport {\n type ApproveCrowdfundingBody,\n type AttestCrowdfundingDonationBody,\n approveCrowdfundingBodySchema,\n attestCrowdfundingDonationBodySchema,\n type CommunityCrowdfundingWire,\n CROWDFUNDING_AUDIENCE_OPTIONS,\n CROWDFUNDING_AUDIENCE_VALUES,\n CROWDFUNDING_CATEGORY_OPTIONS,\n CROWDFUNDING_CATEGORY_VALUES,\n CROWDFUNDING_DONATION_STATE_VALUES,\n CROWDFUNDING_ORG_KIND_OPTIONS,\n CROWDFUNDING_ORG_KIND_VALUES,\n CROWDFUNDING_PROOF_DOC_TYPE_VALUES,\n CROWDFUNDING_RAZORPAY_ACCOUNT_STATUS_VALUES,\n CROWDFUNDING_STATUS_VALUES,\n type CreateCrowdfundingBody,\n type CrowdfundingAudience,\n type CrowdfundingCategory,\n type CrowdfundingDonationState,\n type CrowdfundingDonationWire,\n type CrowdfundingFeedItem,\n type CrowdfundingOrgKind,\n type CrowdfundingPayment,\n type CrowdfundingProofDocType,\n type CrowdfundingProofDocumentWire,\n type CrowdfundingRazorpayAccountStatus,\n type CrowdfundingRazorpayAccountWire,\n type CrowdfundingStatus,\n type CrowdfundingVerification,\n type CrowdfundingVerificationStage,\n type CrowdfundingVisibility,\n communityCrowdfundingWireSchema,\n createCrowdfundingBodySchema,\n crowdfundingAudienceSchema,\n crowdfundingCategorySchema,\n crowdfundingDonationStateSchema,\n crowdfundingDonationWireSchema,\n crowdfundingFeedItemSchema,\n crowdfundingOrgKindSchema,\n crowdfundingPaymentSchema,\n crowdfundingProofDocTypeSchema,\n crowdfundingProofDocumentWireSchema,\n crowdfundingRazorpayAccountStatusSchema,\n crowdfundingRazorpayAccountWireSchema,\n crowdfundingStatusSchema,\n crowdfundingVerificationSchema,\n crowdfundingVerificationStageSchema,\n crowdfundingVisibilitySchema,\n type ListCrowdfundingDonationsQuery,\n type ListMyCrowdfundingDonationsQuery,\n listCrowdfundingDonationsQuerySchema,\n listMyCrowdfundingDonationsQuerySchema,\n type RejectCrowdfundingBody,\n type RequestRerunCrowdfundingBody,\n rejectCrowdfundingBodySchema,\n requestRerunCrowdfundingBodySchema,\n type UpdateCrowdfundingBody,\n type UploadCrowdfundingReceiptBody,\n updateCrowdfundingBodySchema,\n uploadCrowdfundingReceiptBodySchema,\n} from './crowdfunding.js';\n// ─── Donate Item (create) ────────────────────────────────────────────────────\nexport {\n type CreateDonateItemBody,\n createDonateItemBodySchema,\n DONATE_ITEM_CATEGORY_OPTIONS,\n DONATE_ITEM_CATEGORY_VALUES,\n DONATE_ITEM_CONDITION_OPTIONS,\n DONATE_ITEM_CREATE_FIELDS,\n DONATE_ITEM_CREATE_STEP_ORDER,\n DONATE_ITEM_DESCRIPTION_MAX_CHARS,\n DONATE_ITEM_MAX_ESTIMATED_WORTH,\n DONATE_ITEM_MAX_PHOTOS,\n DONATE_ITEM_NAME_MAX_CHARS,\n DONATE_ITEM_NAME_MIN_CHARS,\n type DonateItemCategory,\n type DonateItemCreateStepKey,\n type DonateItemDraft,\n type DonateItemPickupAddress,\n type DonateItemPickupCoords,\n donateItemCategorySchema,\n donateItemPickupAddressSchema,\n donateItemPickupCoordsSchema,\n donateItemStepValid,\n} from './donate-item.js';\n// ─── Engagement (vote + reactions + bookmark) ─────────────────────────────\nexport {\n type SetReactionBody,\n type SetReactionResponse,\n type SetVoteBody,\n type SetVoteResponse,\n setReactionBodySchema,\n setReactionResponseSchema,\n setVoteBodySchema,\n setVoteResponseSchema,\n type ToggleBookmarkResponse,\n toggleBookmarkResponseSchema,\n VOTE_VALUES,\n type VoteValue,\n voteValueSchema,\n} from './engagement.js';\n// ─── Enums ─────────────────────────────────────────────────────────────────\nexport {\n CONTENT_KIND_VALUES,\n type ContentKind,\n contentKindSchema,\n FEED_SORT_VALUES,\n type FeedSort,\n feedSortSchema,\n PROFILE_PRIVACY_VALUES,\n type ProfilePrivacy,\n profilePrivacySchema,\n REACTION_TYPE_VALUES,\n REPORT_REASON_VALUES,\n REPORT_STATUS_VALUES,\n type ReactionType,\n type ReportReason,\n type ReportStatus,\n reactionTypeSchema,\n reportReasonSchema,\n reportStatusSchema,\n VISIBILITY_LEVEL_RANK,\n VISIBILITY_LEVEL_VALUES,\n type VisibilityLevel,\n visibilityLevelSchema,\n} from './enums.js';\n// ─── Event (\"Organise an Event\") ─────────────────────────────────────────────\nexport {\n type CommunityEventWire,\n type CreateCommunityEventBody,\n communityEventWireSchema,\n createCommunityEventBodySchema,\n type DecideEventAttendeeBody,\n decideEventAttendeeBodySchema,\n EVENT_AGE_AUDIENCE_OPTIONS,\n EVENT_AGE_AUDIENCE_VALUES,\n EVENT_APPROVAL_MODE_OPTIONS,\n EVENT_APPROVAL_MODE_VALUES,\n EVENT_ATTENDEE_STATUS_VALUES,\n EVENT_AUDIENCE_LEVEL_OPTIONS,\n EVENT_AUDIENCE_LEVEL_VALUES,\n EVENT_CATEGORY_OPTIONS,\n EVENT_CATEGORY_VALUES,\n EVENT_CONTACT_PHONE_MAX_CHARS,\n EVENT_CREATE_FIELDS,\n EVENT_CREATE_STEP_ORDER,\n EVENT_DESCRIPTION_MAX_CHARS,\n EVENT_DESCRIPTION_MIN_CHARS,\n EVENT_MAX_CAPACITY,\n EVENT_MAX_ENTRY_FEE_INR,\n EVENT_MAX_IMAGES,\n EVENT_MIN_CAPACITY,\n EVENT_MODE_OPTIONS,\n EVENT_MODE_VALUES,\n EVENT_STATUS_VALUES,\n EVENT_TITLE_MAX_CHARS,\n EVENT_TITLE_MIN_CHARS,\n EVENT_VIEWER_ATTEND_STATUS_VALUES,\n EVENT_WHAT_TO_BRING_MAX_CHARS,\n type EventAgeAudience,\n type EventApprovalMode,\n type EventAttendeeStatus,\n type EventAttendeesListResponse,\n type EventAttendeeWire,\n type EventAudienceLevel,\n type EventCategory,\n type EventCreateStepKey,\n type EventDraft,\n type EventFeedItem,\n type EventLocation,\n type EventMode,\n type EventStatus,\n type EventViewerAttendStatus,\n eventAgeAudienceSchema,\n eventApprovalModeSchema,\n eventAttendeeStatusSchema,\n eventAttendeesListResponseSchema,\n eventAttendeeWireSchema,\n eventAudienceLevelSchema,\n eventCategorySchema,\n eventFeedItemSchema,\n eventLocationSchema,\n eventModeSchema,\n eventStatusSchema,\n eventStepValid,\n eventViewerAttendStatusSchema,\n type UpdateCommunityEventBody,\n updateCommunityEventBodySchema,\n} from './event.js';\n// ─── Feed (polymorphic union) ──────────────────────────────────────────────\nexport {\n DONATE_ITEM_CONDITION_VALUES,\n DONATE_ITEM_STATUS_VALUES,\n type DonateItemCondition,\n type DonateItemFeedItem,\n type DonateItemStatus,\n donateAuditAtSchema,\n donateAuditByAtSchema,\n donateDonatedToSchema,\n donateItemConditionSchema,\n donateItemFeedItemSchema,\n donateItemStatusSchema,\n type FeedItem,\n type FeedQueryParams,\n type FeedResponse,\n feedItemSchema,\n feedQueryParamsSchema,\n feedResponseSchema,\n LOST_FOUND_CATEGORY_VALUES,\n LOST_FOUND_STATUS_VALUES,\n type LostFoundCategory,\n type LostFoundFeedItem,\n type LostFoundLocation,\n type LostFoundStatus,\n type LostFoundTimeRange,\n lostFoundCategorySchema,\n lostFoundFeedItemSchema,\n lostFoundLocationSchema,\n lostFoundStatusSchema,\n lostFoundTimeRangeSchema,\n SUGGESTIONS_COMPLAINTS_PRIORITY_VALUES,\n SUGGESTIONS_COMPLAINTS_STATUS_VALUES,\n type SuggestionsComplaintsFeedItem,\n type SuggestionsComplaintsLocation,\n type SuggestionsComplaintsPriority,\n type SuggestionsComplaintsStatus,\n suggestionsComplaintsAudioSchema,\n suggestionsComplaintsFeedItemSchema,\n suggestionsComplaintsLocationSchema,\n suggestionsComplaintsOfficerResponseSchema,\n suggestionsComplaintsPrioritySchema,\n suggestionsComplaintsStatusSchema,\n suggestionsComplaintsVideoSchema,\n} from './feed.js';\n// ─── Groups ────────────────────────────────────────────────────────────────\nexport {\n type AddGroupMembersBody,\n addGroupMembersBodySchema,\n type CommunityGroupWire,\n type CommunityGroupWithMembers,\n type CreateGroupBody,\n communityGroupWireSchema,\n communityGroupWithMembersSchema,\n createGroupBodySchema,\n type GroupMembersListResponse,\n type GroupMemberWire,\n type GroupRole,\n type GroupsListResponse,\n groupMembersListResponseSchema,\n groupMemberWireSchema,\n groupRoleSchema,\n groupsListResponseSchema,\n type UpdateGroupBody,\n updateGroupBodySchema,\n} from './group.js';\n// ─── Link preview (auto-extracted URL embed) ──────────────────────────────\nexport {\n LINK_PREVIEW_KIND_VALUES,\n type LinkPreview,\n type LinkPreviewKind,\n linkPreviewKindSchema,\n linkPreviewSchema,\n} from './link-preview.js';\n// ─── Lost & Found (create) ───────────────────────────────────────────────────\nexport {\n type CreateLostFoundReportBody,\n createLostFoundReportBodySchema,\n LOST_FOUND_CATEGORY_OPTIONS,\n LOST_FOUND_COLLECTION_POINT_MAX_CHARS,\n LOST_FOUND_CONTACT_PHONE_MAX_CHARS,\n LOST_FOUND_CREATE_FIELDS,\n LOST_FOUND_CREATE_STEP_ORDER,\n LOST_FOUND_DESCRIPTION_MAX_CHARS,\n LOST_FOUND_DESCRIPTION_MIN_CHARS,\n LOST_FOUND_MAX_IMAGES,\n LOST_FOUND_REWARD_MAX_CHARS,\n LOST_FOUND_TITLE_MAX_CHARS,\n LOST_FOUND_TITLE_MIN_CHARS,\n LOST_FOUND_TYPE_OPTIONS,\n LOST_FOUND_TYPE_VALUES,\n type LostFoundCreateStepKey,\n type LostFoundDraft,\n type LostFoundType,\n lostFoundStepValid,\n lostFoundTypeSchema,\n} from './lost-found.js';\n// ─── Media ─────────────────────────────────────────────────────────────────\nexport {\n type PostImage,\n type PostVideo,\n postImageSchema,\n postVideoSchema,\n} from './media.js';\n// ─── Notifications ─────────────────────────────────────────────────────────\nexport {\n type ListNotificationsQuery,\n type ListNotificationsResponse,\n listNotificationsQuerySchema,\n listNotificationsResponseSchema,\n type MarkAllNotificationsReadBody,\n markAllNotificationsReadBodySchema,\n NOTIFICATION_CATEGORY_VALUES,\n NOTIFICATION_CHANNEL_VALUES,\n NOTIFICATION_PRIORITY_VALUES,\n NOTIFICATION_SOURCE_REF_KIND_VALUES,\n type NotificationActor,\n type NotificationCategory,\n type NotificationChannel,\n type NotificationPriority,\n type NotificationReadAllEvent,\n type NotificationReadEvent,\n type NotificationSourceRef,\n type NotificationSourceRefKind,\n type NotificationUnreadCount,\n type NotificationWire,\n notificationActorSchema,\n notificationCategorySchema,\n notificationChannelSchema,\n notificationPrioritySchema,\n notificationReadAllEventSchema,\n notificationReadEventSchema,\n notificationSourceRefKindSchema,\n notificationSourceRefSchema,\n notificationUnreadCountSchema,\n notificationWireSchema,\n REFORM_NOTIFICATION_SOCKET_EVENTS,\n type ReformNotificationSocketEvent,\n} from './notification.js';\n// ─── Poll ──────────────────────────────────────────────────────────────────\nexport {\n type CastVoteBody,\n type CommunityPollFeedItem,\n type CommunityPollWire,\n type CreatePollBody,\n castVoteBodySchema,\n communityPollFeedItemSchema,\n communityPollWireSchema,\n createPollBodySchema,\n POLL_RESULTS_VISIBILITY_VALUES,\n type PollOptionInput,\n type PollOptionWire,\n type PollResultsVisibility,\n pollOptionInputSchema,\n pollOptionWireSchema,\n pollResultsVisibilitySchema,\n type VoteResponse,\n voteResponseSchema,\n} from './poll.js';\n// ─── Post ──────────────────────────────────────────────────────────────────\nexport {\n type CommunityPostWire,\n type CreatePostBody,\n communityPostWireSchema,\n createPostBodySchema,\n type PostAuthorSnapshot,\n postAuthorSnapshotSchema,\n type RepostedSource,\n repostedSourceSchema,\n type UpdatePostBody,\n updatePostBodySchema,\n} from './post.js';\n// ─── Profile + People list ─────────────────────────────────────────────────\nexport {\n PEOPLE_LIST_FILTER_DEFAULT,\n PEOPLE_LIST_FILTER_VALUES,\n type PeopleListFilter,\n type PeopleListItem,\n type PeopleListResponse,\n type PeopleQueryParams,\n type ProfileMutuals,\n type PublicProfileWire,\n peopleListFilterSchema,\n peopleListItemSchema,\n peopleListResponseSchema,\n peopleQueryParamsSchema,\n profileMutualsSchema,\n publicProfileWireSchema,\n} from './profile.js';\n// ─── Reports (moderation) ──────────────────────────────────────────────────\nexport {\n type ReportContentBody,\n type ReportContentKind,\n type ReportRecordWire,\n type ReportSubmissionResponse,\n type ReportUserBody,\n reportContentBodySchema,\n reportContentKindSchema,\n reportRecordWireSchema,\n reportSubmissionResponseSchema,\n reportUserBodySchema,\n} from './report.js';\n// ─── Repost (quote / amplify) ──────────────────────────────────────────────\nexport {\n type CreateRepostBody,\n type CreateRepostResponse,\n createRepostBodySchema,\n createRepostResponseSchema,\n} from './repost.js';\n// ─── Settings ──────────────────────────────────────────────────────────────\nexport {\n type BlockedUsersListResponse,\n type BlockedUserWire,\n blockedUsersListResponseSchema,\n blockedUserWireSchema,\n COMMUNITY_SETTINGS_DEFAULTS,\n type CommunitySettingsWire,\n communitySettingsWireSchema,\n type UpdateCommunitySettingsBody,\n updateCommunitySettingsBodySchema,\n} from './settings.js';\n// ─── Social (follow) ───────────────────────────────────────────────────────\nexport {\n type ToggleFollowResponse,\n toggleFollowResponseSchema,\n type ViewerSocialState,\n viewerSocialStateSchema,\n} from './social.js';\n// ─── Social score (modular SSOT: kinds / categories / milestones /\n// rules / tiers / wire) ───────────────────────────────────────────────\nexport {\n LEADER_ELIGIBILITY_SCORE,\n type LeaderboardEntry,\n leaderboardEntrySchema,\n MENTEE_MILESTONE_SCORE,\n type MilestoneProgress,\n milestoneLevel,\n milestoneProgress,\n type PublicScoreSummary,\n publicScoreSummarySchema,\n // rules + constants + display catalog\n QUALIFYING_UPVOTES,\n QUALIFYING_UPVOTES_COMMENT,\n // wire contracts\n type RecentScoreEvent,\n recentScoreEventSchema,\n SCORE_CATEGORY_I18N,\n SCORE_CATEGORY_ORDER,\n // categories\n SCORE_CATEGORY_VALUES,\n // kinds\n SCORE_KIND_VALUES,\n SCORE_RULE_CATALOG,\n SCORE_RULES,\n type ScoreBreakdown,\n type ScoreByCategory,\n type ScoreCap,\n type ScoreCategory,\n type ScoreCategoryI18n,\n type ScoreKind,\n type ScoreRule,\n type ScoreRuleGroup,\n type ScoreRuleRef,\n // milestones\n SOCIAL_SCORE_MILESTONES,\n // tiers (legacy compat)\n SOCIAL_SCORE_TIER_NAMES,\n SOCIAL_SCORE_TIERS,\n type SocialScoreTier,\n type SocialScoreTierName,\n scoreBreakdownSchema,\n scoreByCategorySchema,\n scoreCategorySchema,\n scoreKindSchema,\n tierFromSocialScore,\n} from './social-score/index.js';\n\n// ─── Suggestions & Complaints (create) ──────────────────────────────────────\nexport {\n COMPLAINT_CATEGORY_OPTIONS,\n COMPLAINT_CATEGORY_VALUES,\n type ComplaintCategory,\n type CreateSuggestionsComplaintsBody,\n complaintCategorySchema,\n createSuggestionsComplaintsBodySchema,\n SUGGESTION_CATEGORY_OPTIONS,\n SUGGESTION_CATEGORY_VALUES,\n SUGGESTIONS_COMPLAINTS_CATEGORY_VALUES,\n SUGGESTIONS_COMPLAINTS_CREATE_FIELDS,\n SUGGESTIONS_COMPLAINTS_CREATE_STEP_ORDER,\n SUGGESTIONS_COMPLAINTS_DESCRIPTION_MAX_CHARS,\n SUGGESTIONS_COMPLAINTS_MAX_IMAGES,\n SUGGESTIONS_COMPLAINTS_MAX_VIDEO_LINKS,\n SUGGESTIONS_COMPLAINTS_SUGGESTION_DESCRIPTION_MIN_CHARS,\n SUGGESTIONS_COMPLAINTS_TITLE_MAX_CHARS,\n SUGGESTIONS_COMPLAINTS_TITLE_MIN_CHARS,\n SUGGESTIONS_COMPLAINTS_TYPE_OPTIONS,\n SUGGESTIONS_COMPLAINTS_TYPE_VALUES,\n type SuggestionCategory,\n type SuggestionsComplaintsCreateStepKey,\n type SuggestionsComplaintsDraft,\n type SuggestionsComplaintsType,\n suggestionCategorySchema,\n suggestionsComplaintsBodyObjectSchema,\n suggestionsComplaintsStepValid,\n suggestionsComplaintsTypeSchema,\n type UploadedMediaPath,\n uploadedMediaPathSchema,\n} from './suggestions-complaints.js';\n\n// ─── Username (URL handle + change / availability) ────────────────────────\nexport {\n type CurrentUsernameState,\n currentUsernameStateSchema,\n type UpdateUsernameBody,\n type UpdateUsernameResponse,\n USERNAME_MAX_LENGTH,\n USERNAME_MIN_LENGTH,\n USERNAME_PATTERN,\n USERNAME_UNAVAILABLE_REASONS,\n type Username,\n type UsernameAvailabilityResponse,\n type UsernameUnavailableReason,\n updateUsernameBodySchema,\n updateUsernameResponseSchema,\n usernameAvailabilityResponseSchema,\n usernameSchema,\n usernameUnavailableReasonSchema,\n} from './username.js';\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * community-schema — Shared Zod schemas + TypeScript types for the\n * Jansathi hyperlocal community feature (feed, posts, engagement,\n * social graph, groups, settings).\n *\n * Single source of truth consumed by reform-backend and every product\n * frontend. The schemas mirror MongoDB / Mongoose document shapes\n * 1:1 so the same Zod validation runs at the controller boundary on\n * the backend and in the form handlers on the client.\n *\n * Cascade-upward visibility semantics: a viewer whose feed level is L\n * sees posts at L and every BROADER level matching their area lineage.\n * See `./enums.ts#VISIBILITY_LEVEL_VALUES` for the level rank table.\n *\n * @module community-schema\n */\n\n// ─── Area lineage snapshot ─────────────────────────────────────────────────\nexport {\n type AreaLineageSnapshot,\n areaLineageSnapshotSchema,\n} from './area.js';\n\n// ─── Comment ───────────────────────────────────────────────────────────────\nexport {\n type CommunityCommentWire,\n type CreateCommentBody,\n communityCommentWireSchema,\n createCommentBodySchema,\n type UpdateCommentBody,\n updateCommentBodySchema,\n} from './comment.js';\n\n// ─── Communities ───────────────────────────────────────────────────────────\nexport {\n type AddOfficialModeratorBody,\n AREA_PICKER_LEVEL_VALUES,\n type AreaPickerItem,\n type AreaPickerLevel,\n type AreaPickerQuery,\n type AreaPickerResponse,\n addOfficialModeratorBodySchema,\n areaPickerItemSchema,\n areaPickerLevelSchema,\n areaPickerQuerySchema,\n areaPickerResponseSchema,\n COMMUNITY_CATEGORY_VALUES,\n COMMUNITY_DESIGNATION_PRESETS,\n COMMUNITY_DISCOVER_SORT_VALUES,\n COMMUNITY_KIND_VALUES,\n COMMUNITY_MEMBERSHIP_STATUS_VALUES,\n COMMUNITY_REACH_VALUES,\n COMMUNITY_ROLE_VALUES,\n COMMUNITY_TAG_VALUES,\n COMMUNITY_TYPE_VALUES,\n COMMUNITY_VERIFIED_SCOPE_VALUES,\n type CommunityCategory,\n type CommunityCenterCoords,\n type CommunityDesignation,\n type CommunityDesignationPreset,\n type CommunityDiscoverSort,\n type CommunityKind,\n type CommunityListQuery,\n type CommunityListResponse,\n type CommunityMembershipStatus,\n type CommunityMembersListResponse,\n type CommunityMemberWire,\n type CommunityReach,\n type CommunityRole,\n type CommunityTag,\n type CommunityType,\n type CommunityVerifiedScope,\n type CommunityWire,\n type CreateCommunityBody,\n type CreateOfficialCommunityBody,\n communityCategorySchema,\n communityCenterCoordsSchema,\n communityDesignationPresetSchema,\n communityDesignationSchema,\n communityDiscoverSortSchema,\n communityKindSchema,\n communityListQuerySchema,\n communityListResponseSchema,\n communityMembershipStatusSchema,\n communityMembersListResponseSchema,\n communityMemberWireSchema,\n communityReachSchema,\n communityRoleSchema,\n communityTagSchema,\n communityTypeSchema,\n communityVerifiedScopeSchema,\n communityWireSchema,\n createCommunityBodySchema,\n createOfficialCommunityBodySchema,\n type HidePostBody,\n hidePostBodySchema,\n type JoinCommunityResponse,\n joinCommunityResponseSchema,\n OFFICIAL_COMMUNITY_AREA_KIND_VALUES,\n type OfficialCommunityAreaKind,\n officialCommunityAreaKindSchema,\n type SetMemberDesignationBody,\n type SetOfficialRepresentativeBody,\n setMemberDesignationBodySchema,\n setOfficialRepresentativeBodySchema,\n type UpdateCommunityBody,\n type UpdateMemberRoleBody,\n updateCommunityBodySchema,\n updateMemberRoleBodySchema,\n type VerifyCommunityBody,\n verifyCommunityBodySchema,\n} from './community.js';\n\n// ─── Constants ─────────────────────────────────────────────────────────────\nexport {\n COMMENT_MAX_BODY_CHARS,\n COMMENTS_PAGE_SIZE,\n COMMUNITIES_PAGE_SIZE,\n COMMUNITY_DESCRIPTION_MAX_CHARS,\n COMMUNITY_DESIGNATION_CUSTOM_MAX_CHARS,\n COMMUNITY_DESIGNATION_CUSTOM_MIN_CHARS,\n COMMUNITY_DESIGNATION_CUSTOM_PATTERN,\n COMMUNITY_HYPERLOCAL_RADIUS_KM,\n COMMUNITY_MAX_TAGS,\n COMMUNITY_MEMBERS_PAGE_SIZE,\n COMMUNITY_NAME_MAX_CHARS,\n COMMUNITY_NAME_MIN_CHARS,\n COMMUNITY_SLUG_MAX_CHARS,\n COMMUNITY_SLUG_MIN_CHARS,\n COMMUNITY_SLUG_PATTERN,\n CROWDFUNDING_BANK_LINK_DEADLINE_DAYS,\n CROWDFUNDING_BENEFICIARY_NAME_MAX_CHARS,\n CROWDFUNDING_BENEFICIARY_RELATION_MAX_CHARS,\n CROWDFUNDING_DESCRIPTION_MAX_CHARS,\n CROWDFUNDING_DESCRIPTION_MIN_CHARS,\n CROWDFUNDING_MAX_DONATION_INR,\n CROWDFUNDING_MAX_DURATION_DAYS,\n CROWDFUNDING_MAX_GOAL_INR,\n CROWDFUNDING_MAX_IMAGES,\n CROWDFUNDING_MAX_PROOF_DOCS,\n CROWDFUNDING_MAX_SUPPORTING_DOCS,\n CROWDFUNDING_MIN_DURATION_DAYS,\n CROWDFUNDING_MIN_GOAL_INR,\n CROWDFUNDING_MIN_PROOF_DOCS,\n CROWDFUNDING_PAGE_SIZE,\n CROWDFUNDING_PROOF_DOC_DESCRIPTION_MAX_CHARS,\n CROWDFUNDING_PROOF_DOC_DESCRIPTION_MIN_CHARS,\n CROWDFUNDING_REJECTION_REASON_MAX_CHARS,\n CROWDFUNDING_REJECTION_REASON_MIN_CHARS,\n CROWDFUNDING_TERMS_VERSION,\n CROWDFUNDING_TITLE_MAX_CHARS,\n CROWDFUNDING_TITLE_MIN_CHARS,\n EDIT_GRACE_WINDOW_MS,\n FEED_PAGE_SIZE,\n GROUP_MAX_MEMBERS,\n GROUP_NAME_MAX_CHARS,\n GROUP_NAME_MIN_CHARS,\n PEOPLE_PAGE_SIZE,\n POLL_DURATION_PRESETS_MS,\n POLL_MAX_DURATION_MS,\n POLL_MAX_OPTIONS,\n POLL_MIN_DURATION_MS,\n POLL_MIN_OPTIONS,\n POLL_OPTION_MAX_CHARS,\n POLL_OPTION_MIN_CHARS,\n POLL_QUESTION_MAX_CHARS,\n POLL_QUESTION_MIN_CHARS,\n POLLS_PAGE_SIZE,\n POST_MAX_BODY_CHARS,\n POST_MAX_IMAGE_BYTES,\n POST_MAX_IMAGES,\n POST_MAX_VIDEO_BYTES,\n POST_MAX_VIDEO_SECONDS,\n POST_MAX_VIDEOS,\n PROFILE_MAX_BIO_CHARS,\n REPLIES_PRELOAD_COUNT,\n} from './constants.js';\n// ─── Create-composer config (shared types) ────────────────────────────────────\nexport {\n buildFieldOptions,\n type CreateFieldConfig,\n type CreateFieldOption,\n} from './create-form-config.js';\n// ─── Crowdfunding ──────────────────────────────────────────────────────────\nexport {\n type ApproveCrowdfundingBody,\n type AttestCrowdfundingDonationBody,\n approveCrowdfundingBodySchema,\n attestCrowdfundingDonationBodySchema,\n type CommunityCrowdfundingWire,\n CROWDFUNDING_AUDIENCE_OPTIONS,\n CROWDFUNDING_AUDIENCE_VALUES,\n CROWDFUNDING_CATEGORY_OPTIONS,\n CROWDFUNDING_CATEGORY_VALUES,\n CROWDFUNDING_DONATION_STATE_VALUES,\n CROWDFUNDING_ORG_KIND_OPTIONS,\n CROWDFUNDING_ORG_KIND_VALUES,\n CROWDFUNDING_PROOF_DOC_TYPE_VALUES,\n CROWDFUNDING_RAZORPAY_ACCOUNT_STATUS_VALUES,\n CROWDFUNDING_STATUS_VALUES,\n type CreateCrowdfundingBody,\n type CrowdfundingAudience,\n type CrowdfundingCategory,\n type CrowdfundingDonationState,\n type CrowdfundingDonationWire,\n type CrowdfundingFeedItem,\n type CrowdfundingOrgKind,\n type CrowdfundingPayment,\n type CrowdfundingProofDocType,\n type CrowdfundingProofDocumentWire,\n type CrowdfundingRazorpayAccountStatus,\n type CrowdfundingRazorpayAccountWire,\n type CrowdfundingStatus,\n type CrowdfundingVerification,\n type CrowdfundingVerificationStage,\n type CrowdfundingVisibility,\n communityCrowdfundingWireSchema,\n createCrowdfundingBodySchema,\n crowdfundingAudienceSchema,\n crowdfundingCategorySchema,\n crowdfundingDonationStateSchema,\n crowdfundingDonationWireSchema,\n crowdfundingFeedItemSchema,\n crowdfundingOrgKindSchema,\n crowdfundingPaymentSchema,\n crowdfundingProofDocTypeSchema,\n crowdfundingProofDocumentWireSchema,\n crowdfundingRazorpayAccountStatusSchema,\n crowdfundingRazorpayAccountWireSchema,\n crowdfundingStatusSchema,\n crowdfundingVerificationSchema,\n crowdfundingVerificationStageSchema,\n crowdfundingVisibilitySchema,\n type ListCrowdfundingDonationsQuery,\n type ListMyCrowdfundingDonationsQuery,\n listCrowdfundingDonationsQuerySchema,\n listMyCrowdfundingDonationsQuerySchema,\n type RejectCrowdfundingBody,\n type RequestRerunCrowdfundingBody,\n rejectCrowdfundingBodySchema,\n requestRerunCrowdfundingBodySchema,\n type UpdateCrowdfundingBody,\n type UploadCrowdfundingReceiptBody,\n updateCrowdfundingBodySchema,\n uploadCrowdfundingReceiptBodySchema,\n} from './crowdfunding.js';\n// ─── Donate Item (create) ────────────────────────────────────────────────────\nexport {\n type CreateDonateItemBody,\n createDonateItemBodySchema,\n DONATE_ITEM_CATEGORY_OPTIONS,\n DONATE_ITEM_CATEGORY_VALUES,\n DONATE_ITEM_CONDITION_OPTIONS,\n DONATE_ITEM_CREATE_FIELDS,\n DONATE_ITEM_CREATE_STEP_ORDER,\n DONATE_ITEM_DESCRIPTION_MAX_CHARS,\n DONATE_ITEM_MAX_ESTIMATED_WORTH,\n DONATE_ITEM_MAX_PHOTOS,\n DONATE_ITEM_NAME_MAX_CHARS,\n DONATE_ITEM_NAME_MIN_CHARS,\n type DonateItemCategory,\n type DonateItemCreateStepKey,\n type DonateItemDraft,\n type DonateItemPickupAddress,\n type DonateItemPickupCoords,\n donateItemCategorySchema,\n donateItemPickupAddressSchema,\n donateItemPickupCoordsSchema,\n donateItemStepValid,\n} from './donate-item.js';\n// ─── Engagement (vote + reactions + bookmark) ─────────────────────────────\nexport {\n type SetReactionBody,\n type SetReactionResponse,\n type SetVoteBody,\n type SetVoteResponse,\n setReactionBodySchema,\n setReactionResponseSchema,\n setVoteBodySchema,\n setVoteResponseSchema,\n type ToggleBookmarkResponse,\n toggleBookmarkResponseSchema,\n VOTE_VALUES,\n type VoteValue,\n voteValueSchema,\n} from './engagement.js';\n// ─── Enums ─────────────────────────────────────────────────────────────────\nexport {\n CONTENT_KIND_VALUES,\n type ContentKind,\n contentKindSchema,\n FEED_SORT_VALUES,\n type FeedSort,\n feedSortSchema,\n PROFILE_PRIVACY_VALUES,\n type ProfilePrivacy,\n profilePrivacySchema,\n REACTION_TYPE_VALUES,\n REPORT_REASON_VALUES,\n REPORT_STATUS_VALUES,\n type ReactionType,\n type ReportReason,\n type ReportStatus,\n reactionTypeSchema,\n reportReasonSchema,\n reportStatusSchema,\n VISIBILITY_LEVEL_RANK,\n VISIBILITY_LEVEL_VALUES,\n type VisibilityLevel,\n visibilityLevelSchema,\n} from './enums.js';\n// ─── Event (\"Organise an Event\") ─────────────────────────────────────────────\nexport {\n type CommunityEventWire,\n type CreateCommunityEventBody,\n communityEventWireSchema,\n createCommunityEventBodySchema,\n type DecideEventAttendeeBody,\n decideEventAttendeeBodySchema,\n EVENT_AGE_AUDIENCE_OPTIONS,\n EVENT_AGE_AUDIENCE_VALUES,\n EVENT_APPROVAL_MODE_OPTIONS,\n EVENT_APPROVAL_MODE_VALUES,\n EVENT_ATTENDEE_STATUS_VALUES,\n EVENT_AUDIENCE_LEVEL_OPTIONS,\n EVENT_AUDIENCE_LEVEL_VALUES,\n EVENT_CATEGORY_OPTIONS,\n EVENT_CATEGORY_VALUES,\n EVENT_CONTACT_PHONE_MAX_CHARS,\n EVENT_CREATE_FIELDS,\n EVENT_CREATE_STEP_ORDER,\n EVENT_DESCRIPTION_MAX_CHARS,\n EVENT_DESCRIPTION_MIN_CHARS,\n EVENT_MAX_CAPACITY,\n EVENT_MAX_ENTRY_FEE_INR,\n EVENT_MAX_IMAGES,\n EVENT_MIN_CAPACITY,\n EVENT_MODE_OPTIONS,\n EVENT_MODE_VALUES,\n EVENT_STATUS_VALUES,\n EVENT_TITLE_MAX_CHARS,\n EVENT_TITLE_MIN_CHARS,\n EVENT_VIEWER_ATTEND_STATUS_VALUES,\n EVENT_WHAT_TO_BRING_MAX_CHARS,\n type EventAgeAudience,\n type EventApprovalMode,\n type EventAttendeeStatus,\n type EventAttendeesListResponse,\n type EventAttendeeWire,\n type EventAudienceLevel,\n type EventCategory,\n type EventCreateStepKey,\n type EventDraft,\n type EventFeedItem,\n type EventLocation,\n type EventMode,\n type EventStatus,\n type EventViewerAttendStatus,\n eventAgeAudienceSchema,\n eventApprovalModeSchema,\n eventAttendeeStatusSchema,\n eventAttendeesListResponseSchema,\n eventAttendeeWireSchema,\n eventAudienceLevelSchema,\n eventCategorySchema,\n eventFeedItemSchema,\n eventLocationSchema,\n eventModeSchema,\n eventStatusSchema,\n eventStepValid,\n eventViewerAttendStatusSchema,\n type UpdateCommunityEventBody,\n updateCommunityEventBodySchema,\n} from './event.js';\n// ─── Feed (polymorphic union) ──────────────────────────────────────────────\nexport {\n DONATE_ITEM_CONDITION_VALUES,\n DONATE_ITEM_STATUS_VALUES,\n type DonateItemCondition,\n type DonateItemFeedItem,\n type DonateItemStatus,\n donateAuditAtSchema,\n donateAuditByAtSchema,\n donateDonatedToSchema,\n donateItemConditionSchema,\n donateItemFeedItemSchema,\n donateItemStatusSchema,\n type FeedItem,\n type FeedQueryParams,\n type FeedResponse,\n feedItemSchema,\n feedQueryParamsSchema,\n feedResponseSchema,\n LOST_FOUND_CATEGORY_VALUES,\n LOST_FOUND_STATUS_VALUES,\n type LostFoundCategory,\n type LostFoundFeedItem,\n type LostFoundLocation,\n type LostFoundStatus,\n type LostFoundTimeRange,\n lostFoundCategorySchema,\n lostFoundFeedItemSchema,\n lostFoundLocationSchema,\n lostFoundStatusSchema,\n lostFoundTimeRangeSchema,\n SUGGESTIONS_COMPLAINTS_PRIORITY_VALUES,\n SUGGESTIONS_COMPLAINTS_STATUS_VALUES,\n type SuggestionsComplaintsFeedItem,\n type SuggestionsComplaintsLocation,\n type SuggestionsComplaintsPriority,\n type SuggestionsComplaintsStatus,\n suggestionsComplaintsAudioSchema,\n suggestionsComplaintsFeedItemSchema,\n suggestionsComplaintsLocationSchema,\n suggestionsComplaintsOfficerResponseSchema,\n suggestionsComplaintsPrioritySchema,\n suggestionsComplaintsStatusSchema,\n suggestionsComplaintsVideoSchema,\n} from './feed.js';\n// ─── Groups ────────────────────────────────────────────────────────────────\nexport {\n type AddGroupMembersBody,\n addGroupMembersBodySchema,\n type CommunityGroupWire,\n type CommunityGroupWithMembers,\n type CreateGroupBody,\n communityGroupWireSchema,\n communityGroupWithMembersSchema,\n createGroupBodySchema,\n type GroupMembersListResponse,\n type GroupMemberWire,\n type GroupRole,\n type GroupsListResponse,\n groupMembersListResponseSchema,\n groupMemberWireSchema,\n groupRoleSchema,\n groupsListResponseSchema,\n type UpdateGroupBody,\n updateGroupBodySchema,\n} from './group.js';\n// ─── Link preview (auto-extracted URL embed) ──────────────────────────────\nexport {\n LINK_PREVIEW_KIND_VALUES,\n type LinkPreview,\n type LinkPreviewKind,\n linkPreviewKindSchema,\n linkPreviewSchema,\n} from './link-preview.js';\n// ─── Lost & Found (create) ───────────────────────────────────────────────────\nexport {\n type CreateLostFoundReportBody,\n createLostFoundReportBodySchema,\n LOST_FOUND_CATEGORY_OPTIONS,\n LOST_FOUND_COLLECTION_POINT_MAX_CHARS,\n LOST_FOUND_CONTACT_PHONE_MAX_CHARS,\n LOST_FOUND_CREATE_FIELDS,\n LOST_FOUND_CREATE_STEP_ORDER,\n LOST_FOUND_DESCRIPTION_MAX_CHARS,\n LOST_FOUND_DESCRIPTION_MIN_CHARS,\n LOST_FOUND_MAX_IMAGES,\n LOST_FOUND_REWARD_MAX_CHARS,\n LOST_FOUND_TITLE_MAX_CHARS,\n LOST_FOUND_TITLE_MIN_CHARS,\n LOST_FOUND_TYPE_OPTIONS,\n LOST_FOUND_TYPE_VALUES,\n type LostFoundCreateStepKey,\n type LostFoundDraft,\n type LostFoundType,\n lostFoundStepValid,\n lostFoundTypeSchema,\n} from './lost-found.js';\n// ─── Media ─────────────────────────────────────────────────────────────────\nexport {\n type PostImage,\n type PostVideo,\n postImageSchema,\n postVideoSchema,\n} from './media.js';\n// ─── Notifications ─────────────────────────────────────────────────────────\nexport {\n type ListNotificationsQuery,\n type ListNotificationsResponse,\n listNotificationsQuerySchema,\n listNotificationsResponseSchema,\n type MarkAllNotificationsReadBody,\n markAllNotificationsReadBodySchema,\n NOTIFICATION_CATEGORY_VALUES,\n NOTIFICATION_CHANNEL_VALUES,\n NOTIFICATION_PRIORITY_VALUES,\n NOTIFICATION_SOURCE_REF_KIND_VALUES,\n type NotificationActor,\n type NotificationCategory,\n type NotificationChannel,\n type NotificationPriority,\n type NotificationReadAllEvent,\n type NotificationReadEvent,\n type NotificationSourceRef,\n type NotificationSourceRefKind,\n type NotificationUnreadCount,\n type NotificationWire,\n notificationActorSchema,\n notificationCategorySchema,\n notificationChannelSchema,\n notificationPrioritySchema,\n notificationReadAllEventSchema,\n notificationReadEventSchema,\n notificationSourceRefKindSchema,\n notificationSourceRefSchema,\n notificationUnreadCountSchema,\n notificationWireSchema,\n REFORM_NOTIFICATION_SOCKET_EVENTS,\n type ReformNotificationSocketEvent,\n} from './notification.js';\n// ─── Poll ──────────────────────────────────────────────────────────────────\nexport {\n type CastVoteBody,\n type CommunityPollFeedItem,\n type CommunityPollWire,\n type CreatePollBody,\n castVoteBodySchema,\n communityPollFeedItemSchema,\n communityPollWireSchema,\n createPollBodySchema,\n POLL_RESULTS_VISIBILITY_VALUES,\n type PollOptionInput,\n type PollOptionWire,\n type PollResultsVisibility,\n pollOptionInputSchema,\n pollOptionWireSchema,\n pollResultsVisibilitySchema,\n type VoteResponse,\n voteResponseSchema,\n} from './poll.js';\n// ─── Post ──────────────────────────────────────────────────────────────────\nexport {\n type CommunityPostWire,\n type CreatePostBody,\n communityPostWireSchema,\n createPostBodySchema,\n type PostAuthorSnapshot,\n postAuthorSnapshotSchema,\n type RepostedSource,\n repostedSourceSchema,\n type UpdatePostBody,\n updatePostBodySchema,\n} from './post.js';\n// ─── Profile + People list ─────────────────────────────────────────────────\nexport {\n PEOPLE_LIST_FILTER_DEFAULT,\n PEOPLE_LIST_FILTER_VALUES,\n type PeopleListFilter,\n type PeopleListItem,\n type PeopleListResponse,\n type PeopleQueryParams,\n type ProfileMutuals,\n type PublicProfileWire,\n peopleListFilterSchema,\n peopleListItemSchema,\n peopleListResponseSchema,\n peopleQueryParamsSchema,\n profileMutualsSchema,\n publicProfileWireSchema,\n} from './profile.js';\n// ─── Reports (moderation) ──────────────────────────────────────────────────\nexport {\n type ReportContentBody,\n type ReportContentKind,\n type ReportRecordWire,\n type ReportSubmissionResponse,\n type ReportUserBody,\n reportContentBodySchema,\n reportContentKindSchema,\n reportRecordWireSchema,\n reportSubmissionResponseSchema,\n reportUserBodySchema,\n} from './report.js';\n// ─── Repost (quote / amplify) ──────────────────────────────────────────────\nexport {\n type CreateRepostBody,\n type CreateRepostResponse,\n createRepostBodySchema,\n createRepostResponseSchema,\n} from './repost.js';\n// ─── Settings ──────────────────────────────────────────────────────────────\nexport {\n type BlockedUsersListResponse,\n type BlockedUserWire,\n blockedUsersListResponseSchema,\n blockedUserWireSchema,\n COMMUNITY_SETTINGS_DEFAULTS,\n type CommunitySettingsWire,\n communitySettingsWireSchema,\n type UpdateCommunitySettingsBody,\n updateCommunitySettingsBodySchema,\n} from './settings.js';\n// ─── Social (follow) ───────────────────────────────────────────────────────\nexport {\n type ToggleFollowResponse,\n toggleFollowResponseSchema,\n type ViewerSocialState,\n viewerSocialStateSchema,\n} from './social.js';\n// ─── Social score (modular SSOT: kinds / categories / milestones /\n// rules / tiers / wire) ───────────────────────────────────────────────\nexport {\n LEADER_ELIGIBILITY_SCORE,\n LEADERBOARD_SCOPE_VALUES,\n type LeaderboardEntry,\n type LeaderboardResponse,\n type LeaderboardScope,\n leaderboardEntrySchema,\n leaderboardResponseSchema,\n leaderboardScopeSchema,\n MENTEE_MILESTONE_SCORE,\n type MilestoneProgress,\n milestoneLevel,\n milestoneProgress,\n type PublicScoreSummary,\n publicScoreSummarySchema,\n // rules + constants + display catalog\n QUALIFYING_UPVOTES,\n QUALIFYING_UPVOTES_COMMENT,\n // wire contracts\n type RecentScoreEvent,\n recentScoreEventSchema,\n SCORE_CATEGORY_I18N,\n SCORE_CATEGORY_ORDER,\n // categories\n SCORE_CATEGORY_VALUES,\n // kinds\n SCORE_KIND_VALUES,\n SCORE_RULE_CATALOG,\n SCORE_RULES,\n type ScoreBreakdown,\n type ScoreByCategory,\n type ScoreCap,\n type ScoreCategory,\n type ScoreCategoryI18n,\n type ScoreKind,\n type ScoreRule,\n type ScoreRuleGroup,\n type ScoreRuleRef,\n // milestones\n SOCIAL_SCORE_MILESTONES,\n // tiers (legacy compat)\n SOCIAL_SCORE_TIER_NAMES,\n SOCIAL_SCORE_TIERS,\n type SocialScoreTier,\n type SocialScoreTierName,\n scoreBreakdownSchema,\n scoreByCategorySchema,\n scoreCategorySchema,\n scoreKindSchema,\n tierFromSocialScore,\n} from './social-score/index.js';\n\n// ─── Suggestions & Complaints (create) ──────────────────────────────────────\nexport {\n COMPLAINT_CATEGORY_OPTIONS,\n COMPLAINT_CATEGORY_VALUES,\n type ComplaintCategory,\n type CreateSuggestionsComplaintsBody,\n complaintCategorySchema,\n createSuggestionsComplaintsBodySchema,\n SUGGESTION_CATEGORY_OPTIONS,\n SUGGESTION_CATEGORY_VALUES,\n SUGGESTIONS_COMPLAINTS_CATEGORY_VALUES,\n SUGGESTIONS_COMPLAINTS_CREATE_FIELDS,\n SUGGESTIONS_COMPLAINTS_CREATE_STEP_ORDER,\n SUGGESTIONS_COMPLAINTS_DESCRIPTION_MAX_CHARS,\n SUGGESTIONS_COMPLAINTS_MAX_IMAGES,\n SUGGESTIONS_COMPLAINTS_MAX_VIDEO_LINKS,\n SUGGESTIONS_COMPLAINTS_SUGGESTION_DESCRIPTION_MIN_CHARS,\n SUGGESTIONS_COMPLAINTS_TITLE_MAX_CHARS,\n SUGGESTIONS_COMPLAINTS_TITLE_MIN_CHARS,\n SUGGESTIONS_COMPLAINTS_TYPE_OPTIONS,\n SUGGESTIONS_COMPLAINTS_TYPE_VALUES,\n type SuggestionCategory,\n type SuggestionsComplaintsCreateStepKey,\n type SuggestionsComplaintsDraft,\n type SuggestionsComplaintsType,\n suggestionCategorySchema,\n suggestionsComplaintsBodyObjectSchema,\n suggestionsComplaintsStepValid,\n suggestionsComplaintsTypeSchema,\n type UploadedMediaPath,\n uploadedMediaPathSchema,\n} from './suggestions-complaints.js';\n\n// ─── Username (URL handle + change / availability) ────────────────────────\nexport {\n type CurrentUsernameState,\n currentUsernameStateSchema,\n type UpdateUsernameBody,\n type UpdateUsernameResponse,\n USERNAME_MAX_LENGTH,\n USERNAME_MIN_LENGTH,\n USERNAME_PATTERN,\n USERNAME_UNAVAILABLE_REASONS,\n type Username,\n type UsernameAvailabilityResponse,\n type UsernameUnavailableReason,\n updateUsernameBodySchema,\n updateUsernameResponseSchema,\n usernameAvailabilityResponseSchema,\n usernameSchema,\n usernameUnavailableReasonSchema,\n} from './username.js';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../src/social-score/rules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAI5C;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAE5C;;;GAGG;AACH,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAE1C;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAI7C,MAAM,MAAM,QAAQ,GAChB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,iBAAiB,CAAA;CAAE,GAC3B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnC,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,aAAa,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,aAAa,EAAE,OAAO,CAAC;IACvB,qEAAqE;IACrE,KAAK,EAAE,MAAM,CAAC;IACd;;;;;OAKG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../src/social-score/rules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAI5C;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAE5C;;;GAGG;AACH,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAE1C;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAI7C,MAAM,MAAM,QAAQ,GAChB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,iBAAiB,CAAA;CAAE,GAC3B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnC,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,aAAa,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,aAAa,EAAE,OAAO,CAAC;IACvB,qEAAqE;IACrE,KAAK,EAAE,MAAM,CAAC;IACd;;;;;OAKG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,CA4QpD,CAAC;AASF,MAAM,WAAW,YAAY;IAC3B,mEAAmE;IACnE,QAAQ,EAAE,MAAM,CAAC;IACjB,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,aAAa,CAAC;IACxB,gEAAgE;IAChE,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,YAAY,EAAE,CAAC;CACvB;AAaD;;;;;GAKG;AACH,wBAAgB,iBAAiB,IAAI,cAAc,EAAE,CAiBpD;AAED,eAAO,MAAM,kBAAkB,EAAE,cAAc,EAAwB,CAAC"}
|
|
@@ -203,8 +203,12 @@ export const SCORE_RULES = {
|
|
|
203
203
|
},
|
|
204
204
|
poll_voted: {
|
|
205
205
|
category: 'engagement',
|
|
206
|
-
points:
|
|
207
|
-
cap
|
|
206
|
+
points: 10,
|
|
207
|
+
// No cap — democratic participation is unbounded; a member may vote
|
|
208
|
+
// on as many polls as they like. Farming a SINGLE poll is impossible
|
|
209
|
+
// anyway: the award is keyed on the vote-instance id and an unvote
|
|
210
|
+
// reverses it, so vote/unvote/re-vote always nets to "10 while
|
|
211
|
+
// currently voted, 0 otherwise".
|
|
208
212
|
verifierGated: false,
|
|
209
213
|
label: 'Poll vote',
|
|
210
214
|
catalogKey: 'rulePollVoted',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules.js","sourceRoot":"","sources":["../../src/social-score/rules.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Social-score RULES — the single source of truth for every point\n * award across the platform.\n *\n * Why this lives in the schema package\n * ────────────────────────────────────\n * The backend emitter reads `SCORE_RULES[kind]` for the weight,\n * category and cap; it NEVER hardcodes a point value. The frontend\n * \"How you earn points\" reference renders from `SCORE_RULE_CATALOG`.\n * Shipping both from one package means a weight change and the user-\n * facing guidance can't drift across a deploy — bump the package, both\n * consumers pick up the new values on `npm install`.\n *\n * What's in a rule\n * ────────────────\n * category — which breakdown bucket the points roll into.\n * points — base award per emission.\n * cap — optional anti-gaming bound:\n * • `once` — first emission per (user, kind).\n * • `once-per-source` — at most once per (user, kind,\n * sourceRef).\n * • `daily, max: N` — at most N awarding emissions per\n * UTC day; excess still records an event (audit /\n * replay) but awards 0.\n * • undefined → no cap.\n * verifierGated — when true the action MUST be independently verified\n * before emitting (belt-and-braces guard at the rule\n * level so a wiring mistake can't leak points).\n *\n * @module community-schema/social-score/rules\n */\n\nimport type { ScoreCategory } from './categories.js';\nimport type { ScoreKind } from './kinds.js';\n\n// ─── Anti-gaming constants ─────────────────────────────────────────────────\n\n/**\n * Net-upvote bar a piece of community content must clear before its\n * author is awarded a one-time \"qualified\" point bundle. The vote\n * service maintains a denormalised signed `score` (upvotes − downvotes)\n * on every content doc; the engagement hook fires the award the first\n * time that `score` crosses this threshold upward.\n */\nexport const QUALIFYING_UPVOTES = 20;\n\n/**\n * Lower net-upvote bar for COMMENTS — a comment is a smaller unit of\n * contribution than a top-level post, so it qualifies its author at a\n * gentler threshold. Separate constant so the two bars move\n * independently.\n */\nexport const QUALIFYING_UPVOTES_COMMENT = 5;\n\n/**\n * Score a recruited volunteer must reach for the leader who added them\n * to earn the mentoring milestone bonus.\n */\nexport const MENTEE_MILESTONE_SCORE = 500;\n\n/**\n * Minimum total social score an applicant must hold to QUALIFY for a\n * leader role on merit. A manager/superadmin can still approve a\n * sub-threshold applicant (discretionary override) — this gate only\n * blocks a *leader* approving a peer who hasn't earned it.\n */\nexport const LEADER_ELIGIBILITY_SCORE = 1000;\n\n// ─── Rule shape ─────────────────────────────────────────────────────────────\n\nexport type ScoreCap =\n | { kind: 'once' }\n | { kind: 'once-per-source' }\n | { kind: 'daily'; max: number };\n\nexport interface ScoreRule {\n category: ScoreCategory;\n points: number;\n cap?: ScoreCap;\n verifierGated: boolean;\n /** Human-facing fallback label rendered on the breakdown history. */\n label: string;\n /**\n * i18n key (socialScore namespace) for the \"How you earn points\"\n * catalog row. Every awarding rule carries one so the catalog is\n * DERIVED from this table (see `buildScoreCatalog`) and can never\n * drift out of sync with what actually earns points.\n */\n catalogKey: string;\n /** Show a \"New\" chip on the catalog row. */\n isNew?: boolean;\n /**\n * Exclude this rule from the user-facing catalog while STILL awarding\n * points (e.g. an internal/automatic award). Default: shown.\n */\n catalogHidden?: boolean;\n}\n\nexport const SCORE_RULES: Record<ScoreKind, ScoreRule> = {\n // ─── Profile ──────────────────────────────────────────────────────────\n udp_approved: {\n category: 'profile',\n points: 100,\n cap: { kind: 'once' },\n verifierGated: true,\n label: 'Profile verified',\n catalogKey: 'ruleProfileComplete',\n },\n\n // ─── Civic contribution ───────────────────────────────────────────────\n crowdfunding_donation_verified: {\n category: 'civic',\n points: 25,\n cap: { kind: 'daily', max: 10 },\n verifierGated: true,\n label: 'Verified donation',\n catalogKey: 'ruleDonateFundraiser',\n },\n crowdfunding_campaign_succeeded: {\n category: 'civic',\n points: 100,\n cap: { kind: 'once-per-source' },\n verifierGated: true,\n label: 'Campaign succeeded',\n catalogKey: 'ruleFundraiserSucceeded',\n },\n item_donated: {\n category: 'civic',\n // Awarded to the DONOR when their item completes the journey to a\n // recipient (terminal DONATED state). The social worth is the\n // completed handover, not upvotes — so this is NOT upvote-gated.\n points: 10,\n cap: { kind: 'daily', max: 5 },\n verifierGated: true,\n label: 'Item donated',\n catalogKey: 'ruleDonate',\n },\n lost_found_resolved: {\n category: 'civic',\n // Resolution is creator-driven (the report owner approves a\n // claim) — no third-party signal. The daily cap throttles mass-\n // create + self-approve farming via a colluding \"claimant\". The\n // unique idempotency index on (userId, kind, sourceId) still\n // enforces once-per-report (no double-counting on toggle).\n points: 50,\n cap: { kind: 'daily', max: 3 },\n verifierGated: false,\n label: 'Lost & found resolved',\n catalogKey: 'ruleLostFoundResolved',\n },\n suggestions_complaints_submitted: {\n category: 'civic',\n points: 10,\n cap: { kind: 'daily', max: 3 },\n verifierGated: false,\n label: 'Suggestions & complaints report',\n catalogKey: 'ruleSubmitReport',\n },\n suggestions_complaints_resolved: {\n category: 'civic',\n points: 75,\n cap: { kind: 'once-per-source' },\n verifierGated: true,\n label: 'Suggestions & complaints resolved',\n catalogKey: 'ruleReportResolved',\n },\n // A lender rated a returned item well (overall >= 4★). Daily-capped to\n // throttle farming; idempotent per borrow-request via the source id.\n resource_returned_well: {\n category: 'civic',\n points: 15,\n cap: { kind: 'daily', max: 5 },\n verifierGated: false,\n label: 'Returned a borrowed item well',\n catalogKey: 'ruleReturnResource',\n },\n\n // ─── Civic — volunteer work helping OTHER users ───────────────────────\n // Credited to the VOLUNTEER (the actor), not the donation owner, when\n // they physically deliver a collected donation to the centre\n // (AT_CENTER transition). Gated by that verified transition, so no\n // separate verifierGated flag is needed; once-per-source = one award\n // per donation moved.\n item_pickup_to_center: {\n category: 'civic',\n points: 50,\n cap: { kind: 'once-per-source' },\n verifierGated: false,\n label: 'Delivered a donation to the centre',\n catalogKey: 'ruleDeliver',\n },\n // Credited to the VOLUNTEER who starts someone else's detailed\n // profile in survey/fill mode. once-per-source keyed on the target\n // profile so re-opening the same profile doesn't re-award.\n udp_initiated: {\n category: 'civic',\n points: 10,\n cap: { kind: 'once-per-source' },\n verifierGated: false,\n label: 'Started a profile for someone',\n catalogKey: 'ruleUdpStart',\n },\n // Credited to the VOLUNTEER who submits a completed profile they\n // filled for someone else (PENDING_APPROVAL transition in fill mode).\n udp_completed: {\n category: 'civic',\n points: 20,\n cap: { kind: 'once-per-source' },\n verifierGated: false,\n label: 'Completed a profile for someone',\n catalogKey: 'ruleUdpFinish',\n },\n // Credited to the VERIFIER (leader/official) who approves a detailed\n // profile. Distinct from `udp_approved`, which credits the profile\n // OWNER. once-per-source keyed on the approved profile.\n udp_verified: {\n category: 'civic',\n points: 10,\n cap: { kind: 'once-per-source' },\n verifierGated: true,\n label: 'Verified a profile',\n catalogKey: 'ruleUdpVerify',\n },\n\n // ─── Engagement ───────────────────────────────────────────────────────\n event_organized: {\n category: 'engagement',\n // Awarded at event creation (no attendance signal yet — that\n // would need an event-completion flow). Daily cap of 2 throttles\n // mass-create farming; per-source uniqueness still enforced by\n // the idempotency index so editing an event isn't a second emit.\n points: 50,\n cap: { kind: 'daily', max: 2 },\n verifierGated: false,\n label: 'Event organized',\n catalogKey: 'ruleEventOrganized',\n },\n poll_created: {\n category: 'engagement',\n points: 10,\n cap: { kind: 'daily', max: 3 },\n verifierGated: false,\n label: 'Poll created',\n catalogKey: 'rulePollCreated',\n },\n poll_voted: {\n category: 'engagement',\n points: 2,\n cap: { kind: 'daily', max: 10 },\n verifierGated: false,\n label: 'Poll vote',\n catalogKey: 'rulePollVoted',\n },\n\n // ─── Engagement — content the community upvoted past the bar ──────────\n // These fire ONCE per content item, the first time its net vote\n // `score` crosses QUALIFYING_UPVOTES upward (see engagement.service\n // setVote hook). Awarded to the content's author. Anti-farming is\n // structural: you can't earn by self-posting — the community has to\n // actually upvote you. once-per-source keyed on the content id.\n post_qualified: {\n category: 'engagement',\n points: 5,\n cap: { kind: 'once-per-source' },\n verifierGated: false,\n label: 'Post the community backed',\n catalogKey: 'rulePostBacked',\n },\n poll_qualified: {\n category: 'engagement',\n points: 5,\n cap: { kind: 'once-per-source' },\n verifierGated: false,\n label: 'Poll the community backed',\n catalogKey: 'rulePollBacked',\n },\n crowdfunding_qualified: {\n category: 'civic',\n points: 5,\n cap: { kind: 'once-per-source' },\n verifierGated: false,\n label: 'Fundraiser the community backed',\n catalogKey: 'ruleFundraiserBacked',\n },\n suggestions_complaints_qualified: {\n category: 'civic',\n points: 7,\n cap: { kind: 'once-per-source' },\n verifierGated: false,\n label: 'Suggestion/complaint the community backed',\n catalogKey: 'ruleSuggestionBacked',\n },\n // A comment the community upvoted past QUALIFYING_UPVOTES_COMMENT (5).\n // Smaller unit than a post, lower bar, awarded to the comment author\n // once per comment.\n comment_qualified: {\n category: 'engagement',\n points: 5,\n cap: { kind: 'once-per-source' },\n verifierGated: false,\n label: 'Comment the community backed',\n catalogKey: 'ruleCommentBacked',\n isNew: true,\n },\n\n // ─── Leadership ───────────────────────────────────────────────────────\n // Fires when a user's reform role is elevated through any of the\n // application flows (volunteer-application approval, leader\n // promotion). The label stays generic so the breakdown page reads\n // sensibly regardless of which level was actually granted; the\n // metadata field on the event row carries the specific role.\n reform_role_granted: {\n category: 'leadership',\n points: 200,\n cap: { kind: 'once-per-source' },\n verifierGated: true,\n label: 'Volunteer role granted',\n catalogKey: 'ruleVolunteer',\n },\n // Promotion to a LEADER role. Distinct from `reform_role_granted`\n // (volunteer, 200) so the two milestones carry their own weight and\n // breakdown line. Eligibility (>= LEADER_ELIGIBILITY_SCORE) is\n // enforced in the leader-application flow, not here.\n leader_role_granted: {\n category: 'leadership',\n points: 500,\n cap: { kind: 'once-per-source' },\n verifierGated: true,\n label: 'Leader role granted',\n catalogKey: 'ruleLeader',\n },\n // Credited to the LEADER each time a new volunteer is added in their\n // area. once-per-source keyed on the recruited volunteer's user id —\n // one award per person recruited.\n leader_added_volunteer: {\n category: 'leadership',\n points: 10,\n cap: { kind: 'once-per-source' },\n verifierGated: false,\n label: 'Recruited a volunteer',\n catalogKey: 'ruleRecruit',\n },\n // Credited to the recruiting LEADER when a volunteer they added\n // reaches MENTEE_MILESTONE_SCORE. Fired by the cross-user milestone\n // check in the emitter. once-per-source keyed on the mentee's user\n // id — one bonus per mentee who crosses the bar.\n leader_mentee_reached_milestone: {\n category: 'leadership',\n points: 100,\n cap: { kind: 'once-per-source' },\n verifierGated: false,\n label: 'Mentored a rising volunteer',\n catalogKey: 'ruleMentee',\n },\n official_community_run: {\n category: 'leadership',\n points: 100,\n cap: { kind: 'once-per-source' },\n verifierGated: true,\n label: 'Official community',\n catalogKey: 'ruleOfficialCommunity',\n },\n};\n\n// ─── Display catalog (\"How you earn points\") ────────────────────────────────\n// DERIVED from SCORE_RULES (see `buildScoreCatalog`) so the user-facing\n// \"How you earn points\" surface lists EVERY rule that actually awards\n// points — it can never silently omit an earning path. Labels are i18n\n// KEYS (resolved in the `socialScore` namespace); point figures are\n// numbers-as-data derived straight from each rule's `points`.\n\nexport interface ScoreRuleRef {\n /** i18n key (socialScore namespace) for the action description. */\n labelKey: string;\n /** Display reward derived from the rule, e.g. \"+5\". */\n points: string;\n /** Marks a freshly-added rule with a \"New\" chip. */\n isNew?: boolean;\n}\n\nexport interface ScoreRuleGroup {\n category: ScoreCategory;\n /** i18n key (socialScore namespace) for the section heading. */\n groupKey: string;\n rules: ScoreRuleRef[];\n}\n\n/** Display order of the catalog sections (Profile, Community, Civic, Leadership). */\nconst CATALOG_GROUP_ORDER: ScoreCategory[] = ['profile', 'engagement', 'civic', 'leadership'];\n\n/** Category → section-heading i18n key. */\nconst CATEGORY_GROUP_KEY: Record<ScoreCategory, string> = {\n profile: 'grpProfile',\n engagement: 'grpCommunity',\n civic: 'grpCivic',\n leadership: 'grpLeadership',\n};\n\n/**\n * Build the \"How you earn points\" catalog by projecting SCORE_RULES into\n * display sections. Every non-hidden rule becomes a row under its\n * category, so the catalog is guaranteed to stay in lockstep with the\n * award table — add a rule and it appears automatically.\n */\nexport function buildScoreCatalog(): ScoreRuleGroup[] {\n const groups: ScoreRuleGroup[] = [];\n for (const category of CATALOG_GROUP_ORDER) {\n const rules: ScoreRuleRef[] = [];\n for (const rule of Object.values(SCORE_RULES)) {\n if (rule.category !== category || rule.catalogHidden) continue;\n rules.push({\n labelKey: rule.catalogKey,\n points: `+${rule.points}`,\n ...(rule.isNew ? { isNew: true } : {}),\n });\n }\n if (rules.length > 0) {\n groups.push({ category, groupKey: CATEGORY_GROUP_KEY[category], rules });\n }\n }\n return groups;\n}\n\nexport const SCORE_RULE_CATALOG: ScoreRuleGroup[] = buildScoreCatalog();\n"]}
|
|
1
|
+
{"version":3,"file":"rules.js","sourceRoot":"","sources":["../../src/social-score/rules.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Social-score RULES — the single source of truth for every point\n * award across the platform.\n *\n * Why this lives in the schema package\n * ────────────────────────────────────\n * The backend emitter reads `SCORE_RULES[kind]` for the weight,\n * category and cap; it NEVER hardcodes a point value. The frontend\n * \"How you earn points\" reference renders from `SCORE_RULE_CATALOG`.\n * Shipping both from one package means a weight change and the user-\n * facing guidance can't drift across a deploy — bump the package, both\n * consumers pick up the new values on `npm install`.\n *\n * What's in a rule\n * ────────────────\n * category — which breakdown bucket the points roll into.\n * points — base award per emission.\n * cap — optional anti-gaming bound:\n * • `once` — first emission per (user, kind).\n * • `once-per-source` — at most once per (user, kind,\n * sourceRef).\n * • `daily, max: N` — at most N awarding emissions per\n * UTC day; excess still records an event (audit /\n * replay) but awards 0.\n * • undefined → no cap.\n * verifierGated — when true the action MUST be independently verified\n * before emitting (belt-and-braces guard at the rule\n * level so a wiring mistake can't leak points).\n *\n * @module community-schema/social-score/rules\n */\n\nimport type { ScoreCategory } from './categories.js';\nimport type { ScoreKind } from './kinds.js';\n\n// ─── Anti-gaming constants ─────────────────────────────────────────────────\n\n/**\n * Net-upvote bar a piece of community content must clear before its\n * author is awarded a one-time \"qualified\" point bundle. The vote\n * service maintains a denormalised signed `score` (upvotes − downvotes)\n * on every content doc; the engagement hook fires the award the first\n * time that `score` crosses this threshold upward.\n */\nexport const QUALIFYING_UPVOTES = 20;\n\n/**\n * Lower net-upvote bar for COMMENTS — a comment is a smaller unit of\n * contribution than a top-level post, so it qualifies its author at a\n * gentler threshold. Separate constant so the two bars move\n * independently.\n */\nexport const QUALIFYING_UPVOTES_COMMENT = 5;\n\n/**\n * Score a recruited volunteer must reach for the leader who added them\n * to earn the mentoring milestone bonus.\n */\nexport const MENTEE_MILESTONE_SCORE = 500;\n\n/**\n * Minimum total social score an applicant must hold to QUALIFY for a\n * leader role on merit. A manager/superadmin can still approve a\n * sub-threshold applicant (discretionary override) — this gate only\n * blocks a *leader* approving a peer who hasn't earned it.\n */\nexport const LEADER_ELIGIBILITY_SCORE = 1000;\n\n// ─── Rule shape ─────────────────────────────────────────────────────────────\n\nexport type ScoreCap =\n | { kind: 'once' }\n | { kind: 'once-per-source' }\n | { kind: 'daily'; max: number };\n\nexport interface ScoreRule {\n category: ScoreCategory;\n points: number;\n cap?: ScoreCap;\n verifierGated: boolean;\n /** Human-facing fallback label rendered on the breakdown history. */\n label: string;\n /**\n * i18n key (socialScore namespace) for the \"How you earn points\"\n * catalog row. Every awarding rule carries one so the catalog is\n * DERIVED from this table (see `buildScoreCatalog`) and can never\n * drift out of sync with what actually earns points.\n */\n catalogKey: string;\n /** Show a \"New\" chip on the catalog row. */\n isNew?: boolean;\n /**\n * Exclude this rule from the user-facing catalog while STILL awarding\n * points (e.g. an internal/automatic award). Default: shown.\n */\n catalogHidden?: boolean;\n}\n\nexport const SCORE_RULES: Record<ScoreKind, ScoreRule> = {\n // ─── Profile ──────────────────────────────────────────────────────────\n udp_approved: {\n category: 'profile',\n points: 100,\n cap: { kind: 'once' },\n verifierGated: true,\n label: 'Profile verified',\n catalogKey: 'ruleProfileComplete',\n },\n\n // ─── Civic contribution ───────────────────────────────────────────────\n crowdfunding_donation_verified: {\n category: 'civic',\n points: 25,\n cap: { kind: 'daily', max: 10 },\n verifierGated: true,\n label: 'Verified donation',\n catalogKey: 'ruleDonateFundraiser',\n },\n crowdfunding_campaign_succeeded: {\n category: 'civic',\n points: 100,\n cap: { kind: 'once-per-source' },\n verifierGated: true,\n label: 'Campaign succeeded',\n catalogKey: 'ruleFundraiserSucceeded',\n },\n item_donated: {\n category: 'civic',\n // Awarded to the DONOR when their item completes the journey to a\n // recipient (terminal DONATED state). The social worth is the\n // completed handover, not upvotes — so this is NOT upvote-gated.\n points: 10,\n cap: { kind: 'daily', max: 5 },\n verifierGated: true,\n label: 'Item donated',\n catalogKey: 'ruleDonate',\n },\n lost_found_resolved: {\n category: 'civic',\n // Resolution is creator-driven (the report owner approves a\n // claim) — no third-party signal. The daily cap throttles mass-\n // create + self-approve farming via a colluding \"claimant\". The\n // unique idempotency index on (userId, kind, sourceId) still\n // enforces once-per-report (no double-counting on toggle).\n points: 50,\n cap: { kind: 'daily', max: 3 },\n verifierGated: false,\n label: 'Lost & found resolved',\n catalogKey: 'ruleLostFoundResolved',\n },\n suggestions_complaints_submitted: {\n category: 'civic',\n points: 10,\n cap: { kind: 'daily', max: 3 },\n verifierGated: false,\n label: 'Suggestions & complaints report',\n catalogKey: 'ruleSubmitReport',\n },\n suggestions_complaints_resolved: {\n category: 'civic',\n points: 75,\n cap: { kind: 'once-per-source' },\n verifierGated: true,\n label: 'Suggestions & complaints resolved',\n catalogKey: 'ruleReportResolved',\n },\n // A lender rated a returned item well (overall >= 4★). Daily-capped to\n // throttle farming; idempotent per borrow-request via the source id.\n resource_returned_well: {\n category: 'civic',\n points: 15,\n cap: { kind: 'daily', max: 5 },\n verifierGated: false,\n label: 'Returned a borrowed item well',\n catalogKey: 'ruleReturnResource',\n },\n\n // ─── Civic — volunteer work helping OTHER users ───────────────────────\n // Credited to the VOLUNTEER (the actor), not the donation owner, when\n // they physically deliver a collected donation to the centre\n // (AT_CENTER transition). Gated by that verified transition, so no\n // separate verifierGated flag is needed; once-per-source = one award\n // per donation moved.\n item_pickup_to_center: {\n category: 'civic',\n points: 50,\n cap: { kind: 'once-per-source' },\n verifierGated: false,\n label: 'Delivered a donation to the centre',\n catalogKey: 'ruleDeliver',\n },\n // Credited to the VOLUNTEER who starts someone else's detailed\n // profile in survey/fill mode. once-per-source keyed on the target\n // profile so re-opening the same profile doesn't re-award.\n udp_initiated: {\n category: 'civic',\n points: 10,\n cap: { kind: 'once-per-source' },\n verifierGated: false,\n label: 'Started a profile for someone',\n catalogKey: 'ruleUdpStart',\n },\n // Credited to the VOLUNTEER who submits a completed profile they\n // filled for someone else (PENDING_APPROVAL transition in fill mode).\n udp_completed: {\n category: 'civic',\n points: 20,\n cap: { kind: 'once-per-source' },\n verifierGated: false,\n label: 'Completed a profile for someone',\n catalogKey: 'ruleUdpFinish',\n },\n // Credited to the VERIFIER (leader/official) who approves a detailed\n // profile. Distinct from `udp_approved`, which credits the profile\n // OWNER. once-per-source keyed on the approved profile.\n udp_verified: {\n category: 'civic',\n points: 10,\n cap: { kind: 'once-per-source' },\n verifierGated: true,\n label: 'Verified a profile',\n catalogKey: 'ruleUdpVerify',\n },\n\n // ─── Engagement ───────────────────────────────────────────────────────\n event_organized: {\n category: 'engagement',\n // Awarded at event creation (no attendance signal yet — that\n // would need an event-completion flow). Daily cap of 2 throttles\n // mass-create farming; per-source uniqueness still enforced by\n // the idempotency index so editing an event isn't a second emit.\n points: 50,\n cap: { kind: 'daily', max: 2 },\n verifierGated: false,\n label: 'Event organized',\n catalogKey: 'ruleEventOrganized',\n },\n poll_created: {\n category: 'engagement',\n points: 10,\n cap: { kind: 'daily', max: 3 },\n verifierGated: false,\n label: 'Poll created',\n catalogKey: 'rulePollCreated',\n },\n poll_voted: {\n category: 'engagement',\n points: 10,\n // No cap — democratic participation is unbounded; a member may vote\n // on as many polls as they like. Farming a SINGLE poll is impossible\n // anyway: the award is keyed on the vote-instance id and an unvote\n // reverses it, so vote/unvote/re-vote always nets to \"10 while\n // currently voted, 0 otherwise\".\n verifierGated: false,\n label: 'Poll vote',\n catalogKey: 'rulePollVoted',\n },\n\n // ─── Engagement — content the community upvoted past the bar ──────────\n // These fire ONCE per content item, the first time its net vote\n // `score` crosses QUALIFYING_UPVOTES upward (see engagement.service\n // setVote hook). Awarded to the content's author. Anti-farming is\n // structural: you can't earn by self-posting — the community has to\n // actually upvote you. once-per-source keyed on the content id.\n post_qualified: {\n category: 'engagement',\n points: 5,\n cap: { kind: 'once-per-source' },\n verifierGated: false,\n label: 'Post the community backed',\n catalogKey: 'rulePostBacked',\n },\n poll_qualified: {\n category: 'engagement',\n points: 5,\n cap: { kind: 'once-per-source' },\n verifierGated: false,\n label: 'Poll the community backed',\n catalogKey: 'rulePollBacked',\n },\n crowdfunding_qualified: {\n category: 'civic',\n points: 5,\n cap: { kind: 'once-per-source' },\n verifierGated: false,\n label: 'Fundraiser the community backed',\n catalogKey: 'ruleFundraiserBacked',\n },\n suggestions_complaints_qualified: {\n category: 'civic',\n points: 7,\n cap: { kind: 'once-per-source' },\n verifierGated: false,\n label: 'Suggestion/complaint the community backed',\n catalogKey: 'ruleSuggestionBacked',\n },\n // A comment the community upvoted past QUALIFYING_UPVOTES_COMMENT (5).\n // Smaller unit than a post, lower bar, awarded to the comment author\n // once per comment.\n comment_qualified: {\n category: 'engagement',\n points: 5,\n cap: { kind: 'once-per-source' },\n verifierGated: false,\n label: 'Comment the community backed',\n catalogKey: 'ruleCommentBacked',\n isNew: true,\n },\n\n // ─── Leadership ───────────────────────────────────────────────────────\n // Fires when a user's reform role is elevated through any of the\n // application flows (volunteer-application approval, leader\n // promotion). The label stays generic so the breakdown page reads\n // sensibly regardless of which level was actually granted; the\n // metadata field on the event row carries the specific role.\n reform_role_granted: {\n category: 'leadership',\n points: 200,\n cap: { kind: 'once-per-source' },\n verifierGated: true,\n label: 'Volunteer role granted',\n catalogKey: 'ruleVolunteer',\n },\n // Promotion to a LEADER role. Distinct from `reform_role_granted`\n // (volunteer, 200) so the two milestones carry their own weight and\n // breakdown line. Eligibility (>= LEADER_ELIGIBILITY_SCORE) is\n // enforced in the leader-application flow, not here.\n leader_role_granted: {\n category: 'leadership',\n points: 500,\n cap: { kind: 'once-per-source' },\n verifierGated: true,\n label: 'Leader role granted',\n catalogKey: 'ruleLeader',\n },\n // Credited to the LEADER each time a new volunteer is added in their\n // area. once-per-source keyed on the recruited volunteer's user id —\n // one award per person recruited.\n leader_added_volunteer: {\n category: 'leadership',\n points: 10,\n cap: { kind: 'once-per-source' },\n verifierGated: false,\n label: 'Recruited a volunteer',\n catalogKey: 'ruleRecruit',\n },\n // Credited to the recruiting LEADER when a volunteer they added\n // reaches MENTEE_MILESTONE_SCORE. Fired by the cross-user milestone\n // check in the emitter. once-per-source keyed on the mentee's user\n // id — one bonus per mentee who crosses the bar.\n leader_mentee_reached_milestone: {\n category: 'leadership',\n points: 100,\n cap: { kind: 'once-per-source' },\n verifierGated: false,\n label: 'Mentored a rising volunteer',\n catalogKey: 'ruleMentee',\n },\n official_community_run: {\n category: 'leadership',\n points: 100,\n cap: { kind: 'once-per-source' },\n verifierGated: true,\n label: 'Official community',\n catalogKey: 'ruleOfficialCommunity',\n },\n};\n\n// ─── Display catalog (\"How you earn points\") ────────────────────────────────\n// DERIVED from SCORE_RULES (see `buildScoreCatalog`) so the user-facing\n// \"How you earn points\" surface lists EVERY rule that actually awards\n// points — it can never silently omit an earning path. Labels are i18n\n// KEYS (resolved in the `socialScore` namespace); point figures are\n// numbers-as-data derived straight from each rule's `points`.\n\nexport interface ScoreRuleRef {\n /** i18n key (socialScore namespace) for the action description. */\n labelKey: string;\n /** Display reward derived from the rule, e.g. \"+5\". */\n points: string;\n /** Marks a freshly-added rule with a \"New\" chip. */\n isNew?: boolean;\n}\n\nexport interface ScoreRuleGroup {\n category: ScoreCategory;\n /** i18n key (socialScore namespace) for the section heading. */\n groupKey: string;\n rules: ScoreRuleRef[];\n}\n\n/** Display order of the catalog sections (Profile, Community, Civic, Leadership). */\nconst CATALOG_GROUP_ORDER: ScoreCategory[] = ['profile', 'engagement', 'civic', 'leadership'];\n\n/** Category → section-heading i18n key. */\nconst CATEGORY_GROUP_KEY: Record<ScoreCategory, string> = {\n profile: 'grpProfile',\n engagement: 'grpCommunity',\n civic: 'grpCivic',\n leadership: 'grpLeadership',\n};\n\n/**\n * Build the \"How you earn points\" catalog by projecting SCORE_RULES into\n * display sections. Every non-hidden rule becomes a row under its\n * category, so the catalog is guaranteed to stay in lockstep with the\n * award table — add a rule and it appears automatically.\n */\nexport function buildScoreCatalog(): ScoreRuleGroup[] {\n const groups: ScoreRuleGroup[] = [];\n for (const category of CATALOG_GROUP_ORDER) {\n const rules: ScoreRuleRef[] = [];\n for (const rule of Object.values(SCORE_RULES)) {\n if (rule.category !== category || rule.catalogHidden) continue;\n rules.push({\n labelKey: rule.catalogKey,\n points: `+${rule.points}`,\n ...(rule.isNew ? { isNew: true } : {}),\n });\n }\n if (rules.length > 0) {\n groups.push({ category, groupKey: CATEGORY_GROUP_KEY[category], rules });\n }\n }\n return groups;\n}\n\nexport const SCORE_RULE_CATALOG: ScoreRuleGroup[] = buildScoreCatalog();\n"]}
|
|
@@ -132,4 +132,41 @@ export declare const leaderboardEntrySchema: z.ZodObject<{
|
|
|
132
132
|
avatarUrl: z.ZodNullable<z.ZodString>;
|
|
133
133
|
}, z.core.$strip>;
|
|
134
134
|
export type LeaderboardEntry = z.infer<typeof leaderboardEntrySchema>;
|
|
135
|
+
/**
|
|
136
|
+
* Area scope level for the leaderboard. The board SELF-RESOLVES the area
|
|
137
|
+
* from the signed-in user's residence lineage, so the client sends only
|
|
138
|
+
* the level. `country` backs the "National" tab; the platform-wide
|
|
139
|
+
* "Global" board carries no scope (null on the response).
|
|
140
|
+
*/
|
|
141
|
+
export declare const LEADERBOARD_SCOPE_VALUES: readonly ["locality", "district", "state", "country"];
|
|
142
|
+
export type LeaderboardScope = (typeof LEADERBOARD_SCOPE_VALUES)[number];
|
|
143
|
+
export declare const leaderboardScopeSchema: z.ZodEnum<{
|
|
144
|
+
district: "district";
|
|
145
|
+
state: "state";
|
|
146
|
+
country: "country";
|
|
147
|
+
locality: "locality";
|
|
148
|
+
}>;
|
|
149
|
+
/** The full leaderboard API response envelope. */
|
|
150
|
+
export declare const leaderboardResponseSchema: z.ZodObject<{
|
|
151
|
+
items: z.ZodArray<z.ZodObject<{
|
|
152
|
+
userId: z.ZodString;
|
|
153
|
+
totalScore: z.ZodNumber;
|
|
154
|
+
tier: z.ZodString;
|
|
155
|
+
rank: z.ZodNumber;
|
|
156
|
+
displayName: z.ZodString;
|
|
157
|
+
username: z.ZodNullable<z.ZodString>;
|
|
158
|
+
avatarUrl: z.ZodNullable<z.ZodString>;
|
|
159
|
+
}, z.core.$strip>>;
|
|
160
|
+
scope: z.ZodNullable<z.ZodEnum<{
|
|
161
|
+
district: "district";
|
|
162
|
+
state: "state";
|
|
163
|
+
country: "country";
|
|
164
|
+
locality: "locality";
|
|
165
|
+
}>>;
|
|
166
|
+
scopeAreaName: z.ZodNullable<z.ZodString>;
|
|
167
|
+
viewerRank: z.ZodNullable<z.ZodNumber>;
|
|
168
|
+
viewerScore: z.ZodNumber;
|
|
169
|
+
unavailable: z.ZodBoolean;
|
|
170
|
+
}, z.core.$strip>;
|
|
171
|
+
export type LeaderboardResponse = z.infer<typeof leaderboardResponseSchema>;
|
|
135
172
|
//# sourceMappingURL=wire.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../../src/social-score/wire.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,uEAAuE;AACvE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAOjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,kEAAkE;AAClE,eAAO,MAAM,qBAAqB;;;;;iBAKhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAK/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,yEAAyE;AACzE,eAAO,MAAM,wBAAwB;;;;iBAInC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,2DAA2D;AAC3D,eAAO,MAAM,sBAAsB;;;;;;;;iBAQjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../../src/social-score/wire.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,uEAAuE;AACvE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAOjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,kEAAkE;AAClE,eAAO,MAAM,qBAAqB;;;;;iBAKhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAK/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,yEAAyE;AACzE,eAAO,MAAM,wBAAwB;;;;iBAInC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,2DAA2D;AAC3D,eAAO,MAAM,sBAAsB;;;;;;;;iBAQjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,uDAAwD,CAAC;AAC9F,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AACzE,eAAO,MAAM,sBAAsB;;;;;EAAmC,CAAC;AAEvE,kDAAkD;AAClD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;iBAcpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
|
|
@@ -57,4 +57,28 @@ export const leaderboardEntrySchema = z.object({
|
|
|
57
57
|
username: z.string().nullable(),
|
|
58
58
|
avatarUrl: z.string().nullable(),
|
|
59
59
|
});
|
|
60
|
+
/**
|
|
61
|
+
* Area scope level for the leaderboard. The board SELF-RESOLVES the area
|
|
62
|
+
* from the signed-in user's residence lineage, so the client sends only
|
|
63
|
+
* the level. `country` backs the "National" tab; the platform-wide
|
|
64
|
+
* "Global" board carries no scope (null on the response).
|
|
65
|
+
*/
|
|
66
|
+
export const LEADERBOARD_SCOPE_VALUES = ['locality', 'district', 'state', 'country'];
|
|
67
|
+
export const leaderboardScopeSchema = z.enum(LEADERBOARD_SCOPE_VALUES);
|
|
68
|
+
/** The full leaderboard API response envelope. */
|
|
69
|
+
export const leaderboardResponseSchema = z.object({
|
|
70
|
+
items: z.array(leaderboardEntrySchema),
|
|
71
|
+
/** Scope applied, or null for the platform-wide ("Global") board. */
|
|
72
|
+
scope: leaderboardScopeSchema.nullable(),
|
|
73
|
+
/** Display name of the scoped area (e.g. "Patna"), null for Global. */
|
|
74
|
+
scopeAreaName: z.string().nullable(),
|
|
75
|
+
/** The viewer's own rank within this scope; null when unranked (0 pts). */
|
|
76
|
+
viewerRank: z.number().nullable(),
|
|
77
|
+
/** The viewer's own total score. */
|
|
78
|
+
viewerScore: z.number(),
|
|
79
|
+
/** True when a scope was requested but the viewer has no area at that
|
|
80
|
+
* level yet (e.g. address not filled in) — prompt them instead of
|
|
81
|
+
* silently falling back to Global. */
|
|
82
|
+
unavailable: z.boolean(),
|
|
83
|
+
});
|
|
60
84
|
//# sourceMappingURL=wire.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wire.js","sourceRoot":"","sources":["../../src/social-score/wire.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,uEAAuE;AACvE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,IAAI,EAAE,eAAe;IACrB,QAAQ,EAAE,mBAAmB;IAC7B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IACzB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,0BAA0B;IAC1B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;CACvB,CAAC,CAAC;AAGH,kEAAkE;AAClE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;CACvB,CAAC,CAAC;AAGH;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,UAAU,EAAE,qBAAqB;IACjC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC;CACxC,CAAC,CAAC;AAGH,yEAAyE;AACzE,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CACjB,CAAC,CAAC;AAGH,2DAA2D;AAC3D,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC","sourcesContent":["/**\n * Social-score WIRE contracts — the JSON shapes the social-score API\n * returns. Defined as Zod schemas so the backend read service can type\n * (and optionally validate) its responses and every frontend infers the\n * exact same shape from one place. Timestamps are ISO strings (the\n * over-the-wire form); the backend serialises Dates before sending.\n *\n * `tier` is a plain string here (not the tier enum) because it is a\n * legacy compat field the UI no longer renders by name — see\n * `./tiers.ts`. Keeping it loose avoids coupling the wire contract to\n * the soon-to-retire tier slugs.\n *\n * @module community-schema/social-score/wire\n */\n\nimport { z } from 'zod';\nimport { scoreCategorySchema } from './categories.js';\nimport { scoreKindSchema } from './kinds.js';\n\n/** One row of the recent-activity history on the breakdown surface. */\nexport const recentScoreEventSchema = z.object({\n kind: scoreKindSchema,\n category: scoreCategorySchema,\n pointsAwarded: z.number(),\n label: z.string(),\n /** ISO-8601 timestamp. */\n occurredAt: z.string(),\n});\nexport type RecentScoreEvent = z.infer<typeof recentScoreEventSchema>;\n\n/** Per-category point totals — every bucket is always present. */\nexport const scoreByCategorySchema = z.object({\n profile: z.number(),\n civic: z.number(),\n engagement: z.number(),\n leadership: z.number(),\n});\nexport type ScoreByCategory = z.infer<typeof scoreByCategorySchema>;\n\n/**\n * The signed-in user's own breakdown — total, per-category split, the\n * legacy tier slug, and the most recent awarding events.\n */\nexport const scoreBreakdownSchema = z.object({\n total: z.number(),\n byCategory: scoreByCategorySchema,\n tier: z.string(),\n recent: z.array(recentScoreEventSchema),\n});\nexport type ScoreBreakdown = z.infer<typeof scoreBreakdownSchema>;\n\n/** Public summary shown on author bylines — total + legacy tier slug. */\nexport const publicScoreSummarySchema = z.object({\n userId: z.string(),\n totalScore: z.number(),\n tier: z.string(),\n});\nexport type PublicScoreSummary = z.infer<typeof publicScoreSummarySchema>;\n\n/** One leaderboard row (top-N, optionally area-scoped). */\nexport const leaderboardEntrySchema = z.object({\n userId: z.string(),\n totalScore: z.number(),\n tier: z.string(),\n rank: z.number(),\n displayName: z.string(),\n username: z.string().nullable(),\n avatarUrl: z.string().nullable(),\n});\nexport type LeaderboardEntry = z.infer<typeof leaderboardEntrySchema>;\n"]}
|
|
1
|
+
{"version":3,"file":"wire.js","sourceRoot":"","sources":["../../src/social-score/wire.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,uEAAuE;AACvE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,IAAI,EAAE,eAAe;IACrB,QAAQ,EAAE,mBAAmB;IAC7B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IACzB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,0BAA0B;IAC1B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;CACvB,CAAC,CAAC;AAGH,kEAAkE;AAClE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;CACvB,CAAC,CAAC;AAGH;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,UAAU,EAAE,qBAAqB;IACjC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC;CACxC,CAAC,CAAC;AAGH,yEAAyE;AACzE,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CACjB,CAAC,CAAC;AAGH,2DAA2D;AAC3D,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAGH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,CAAU,CAAC;AAE9F,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;AAEvE,kDAAkD;AAClD,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC;IACtC,qEAAqE;IACrE,KAAK,EAAE,sBAAsB,CAAC,QAAQ,EAAE;IACxC,uEAAuE;IACvE,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,2EAA2E;IAC3E,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,oCAAoC;IACpC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB;;2CAEuC;IACvC,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE;CACzB,CAAC,CAAC","sourcesContent":["/**\n * Social-score WIRE contracts — the JSON shapes the social-score API\n * returns. Defined as Zod schemas so the backend read service can type\n * (and optionally validate) its responses and every frontend infers the\n * exact same shape from one place. Timestamps are ISO strings (the\n * over-the-wire form); the backend serialises Dates before sending.\n *\n * `tier` is a plain string here (not the tier enum) because it is a\n * legacy compat field the UI no longer renders by name — see\n * `./tiers.ts`. Keeping it loose avoids coupling the wire contract to\n * the soon-to-retire tier slugs.\n *\n * @module community-schema/social-score/wire\n */\n\nimport { z } from 'zod';\nimport { scoreCategorySchema } from './categories.js';\nimport { scoreKindSchema } from './kinds.js';\n\n/** One row of the recent-activity history on the breakdown surface. */\nexport const recentScoreEventSchema = z.object({\n kind: scoreKindSchema,\n category: scoreCategorySchema,\n pointsAwarded: z.number(),\n label: z.string(),\n /** ISO-8601 timestamp. */\n occurredAt: z.string(),\n});\nexport type RecentScoreEvent = z.infer<typeof recentScoreEventSchema>;\n\n/** Per-category point totals — every bucket is always present. */\nexport const scoreByCategorySchema = z.object({\n profile: z.number(),\n civic: z.number(),\n engagement: z.number(),\n leadership: z.number(),\n});\nexport type ScoreByCategory = z.infer<typeof scoreByCategorySchema>;\n\n/**\n * The signed-in user's own breakdown — total, per-category split, the\n * legacy tier slug, and the most recent awarding events.\n */\nexport const scoreBreakdownSchema = z.object({\n total: z.number(),\n byCategory: scoreByCategorySchema,\n tier: z.string(),\n recent: z.array(recentScoreEventSchema),\n});\nexport type ScoreBreakdown = z.infer<typeof scoreBreakdownSchema>;\n\n/** Public summary shown on author bylines — total + legacy tier slug. */\nexport const publicScoreSummarySchema = z.object({\n userId: z.string(),\n totalScore: z.number(),\n tier: z.string(),\n});\nexport type PublicScoreSummary = z.infer<typeof publicScoreSummarySchema>;\n\n/** One leaderboard row (top-N, optionally area-scoped). */\nexport const leaderboardEntrySchema = z.object({\n userId: z.string(),\n totalScore: z.number(),\n tier: z.string(),\n rank: z.number(),\n displayName: z.string(),\n username: z.string().nullable(),\n avatarUrl: z.string().nullable(),\n});\nexport type LeaderboardEntry = z.infer<typeof leaderboardEntrySchema>;\n\n/**\n * Area scope level for the leaderboard. The board SELF-RESOLVES the area\n * from the signed-in user's residence lineage, so the client sends only\n * the level. `country` backs the \"National\" tab; the platform-wide\n * \"Global\" board carries no scope (null on the response).\n */\nexport const LEADERBOARD_SCOPE_VALUES = ['locality', 'district', 'state', 'country'] as const;\nexport type LeaderboardScope = (typeof LEADERBOARD_SCOPE_VALUES)[number];\nexport const leaderboardScopeSchema = z.enum(LEADERBOARD_SCOPE_VALUES);\n\n/** The full leaderboard API response envelope. */\nexport const leaderboardResponseSchema = z.object({\n items: z.array(leaderboardEntrySchema),\n /** Scope applied, or null for the platform-wide (\"Global\") board. */\n scope: leaderboardScopeSchema.nullable(),\n /** Display name of the scoped area (e.g. \"Patna\"), null for Global. */\n scopeAreaName: z.string().nullable(),\n /** The viewer's own rank within this scope; null when unranked (0 pts). */\n viewerRank: z.number().nullable(),\n /** The viewer's own total score. */\n viewerScore: z.number(),\n /** True when a scope was requested but the viewer has no area at that\n * level yet (e.g. address not filled in) — prompt them instead of\n * silently falling back to Global. */\n unavailable: z.boolean(),\n});\nexport type LeaderboardResponse = z.infer<typeof leaderboardResponseSchema>;\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "jansathi-community-schema",
|
|
3
|
-
"version": "0.50.
|
|
3
|
+
"version": "0.50.3",
|
|
4
4
|
"description": "Shared Zod schemas + TypeScript types for the Jansathi hyperlocal community feature (feed, posts, engagement, social graph, groups, communities).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|