MCPcopy Create free account
hub / github.com/ChatLab/ChatLab / computeFriendScore

Function computeFriendScore

packages/core/src/query/contact-scoring.ts:124–144  ·  view source on GitHub ↗
(components: FriendScoreComponents)

Source from the content-addressed store, hash-verified

122}
123
124export function computeFriendScore(components: FriendScoreComponents): ContactScoringResult {
125 const privateMessageScore = clamp01(components.privateMessageScore)
126 const privateRegularityScore = clamp01(components.privateRegularityScore)
127 const commonGroupScore = clamp01(components.commonGroupScore)
128 const score =
129 FRIEND_SCORE_WEIGHTS.privateMessage * privateMessageScore +
130 FRIEND_SCORE_WEIGHTS.privateRegularity * privateRegularityScore +
131 FRIEND_SCORE_WEIGHTS.commonGroup * commonGroupScore
132
133 return {
134 score,
135 scoreBreakdown: {
136 privateMessageScore,
137 privateRegularityScore,
138 commonGroupScore,
139 privateMessageCount: components.privateMessageCount,
140 activePrivateMonths: components.activePrivateMonths,
141 commonGroupCount: components.commonGroupCount,
142 },
143 }
144}
145
146export function computeFriendScores<T extends FriendScoreInput>(items: readonly T[]): Map<T, ContactScoringResult> {
147 const messageScores = rankPercentiles(items, (item) => Math.log1p(nonNegative(item.privateMessageCount)))

Callers 1

computeFriendScoresFunction · 0.85

Calls 1

clamp01Function · 0.85

Tested by

no test coverage detected