Skip to content
← Public packages

@kentcdodds/groupme

GroupMe REST API helpers for listing groups, reading messages, ranking activity, and preparing relevance-filtered digests for Kody agents.

src/filter-relevant-messages.ts

23 lines · 909 B · TypeScript
import { filterRelevantMessages } from './domain.ts'
import type {
	GroupMeNormalizedMessage,
	GroupMeRelevanceProfile,
} from './types.ts'

/**
 * Apply a relevance profile to already-normalized GroupMe messages.
 * @returns Filtered messages with input and relevant counts.
 * @example
 * import filterRelevantMessages from 'kody:@kentcdodds/groupme/filter-relevant-messages'
 * const result = await filterRelevantMessages({ messages: [...], relevance: { keywords: ['rehearsal', 'call time'] } })
 * // => { inputCount: 80, relevantCount: 12, messages: [...] }
 */
export default async function filterRelevantMessagesEntrypoint(params: {
	messages: GroupMeNormalizedMessage[]
	relevance?: GroupMeRelevanceProfile
}) {
	if (!Array.isArray(params.messages)) {
		throw new Error('params.messages must be an array of normalized messages.')
	}
	return filterRelevantMessages(params.messages, params.relevance)
}