Something went wrong. Try again.
source dump of claude code forked from oppi.li/claude-code
Something went wrong. Try again.
1.7 kB · 58 lines
TypeScript
at main
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859import { getSettings_DEPRECATED } from '../../utils/settings/settings.js'import { type AnalyticsMetadata_I_VERIFIED_THIS_IS_NOT_CODE_OR_FILEPATHS, logEvent,} from '../analytics/index.js'import { getSessionsSinceLastShown, recordTipShown } from './tipHistory.js'import { getRelevantTips } from './tipRegistry.js'import type { Tip, TipContext } from './types.js'
export function selectTipWithLongestTimeSinceShown( availableTips: Tip[],): Tip | undefined { if (availableTips.length === 0) { return undefined }
if (availableTips.length === 1) { return availableTips[0] }
// Sort tips by sessions since last shown (descending) and take the first one // This is the tip that hasn't been shown for the longest time const tipsWithSessions = availableTips.map(tip => ({ tip, sessions: getSessionsSinceLastShown(tip.id), }))
tipsWithSessions.sort((a, b) => b.sessions - a.sessions) return tipsWithSessions[0]?.tip}
export async function getTipToShowOnSpinner( context?: TipContext,): Promise<Tip | undefined> { // Check if tips are disabled (default to true if not set) if (getSettings_DEPRECATED().spinnerTipsEnabled === false) { return undefined }
const tips = await getRelevantTips(context) if (tips.length === 0) { return undefined }
return selectTipWithLongestTimeSinceShown(tips)}
export function recordShownTip(tip: Tip): void { // Record in history recordTipShown(tip.id)
// Log event for analytics logEvent('tengu_tip_shown', { tipIdLength: tip.id as AnalyticsMetadata_I_VERIFIED_THIS_IS_NOT_CODE_OR_FILEPATHS, cooldownSessions: tip.cooldownSessions, })}