MCPcopy Index your code
hub / github.com/CodebuffAI/codebuff / calculateFingerprint

Function calculateFingerprint

cli/src/utils/fingerprint.ts:163–216  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

161 * Tries enhanced fingerprinting first, falls back to legacy if it fails.
162 */
163export async function calculateFingerprint(): Promise<string> {
164 try {
165 const fingerprint = await calculateEnhancedFingerprint()
166 logger.debug(
167 {
168 fingerprintType: 'enhanced_cli',
169 fingerprintId: fingerprint.substring(0, 20) + '...',
170 },
171 'Enhanced CLI fingerprint generated successfully',
172 )
173 trackEvent(AnalyticsEvent.FINGERPRINT_GENERATED, {
174 fingerprintType: 'enhanced_cli',
175 success: true,
176 })
177 return fingerprint
178 } catch (enhancedError) {
179 logger.info(
180 {
181 errorMessage:
182 enhancedError instanceof Error ? enhancedError.message : String(enhancedError),
183 fingerprintType: 'enhanced_failed_fallback',
184 },
185 'Enhanced CLI fingerprinting failed, using legacy fallback',
186 )
187
188 try {
189 const fingerprint = calculateLegacyFingerprint()
190 logger.debug(
191 {
192 fingerprintType: 'legacy_fallback',
193 fingerprintId: fingerprint,
194 },
195 'Legacy fingerprint generated successfully as fallback',
196 )
197 trackEvent(AnalyticsEvent.FINGERPRINT_GENERATED, {
198 fingerprintType: 'legacy',
199 success: true,
200 fallbackReason:
201 enhancedError instanceof Error ? enhancedError.message : 'unknown',
202 })
203 return fingerprint
204 } catch (legacyError) {
205 logger.error(
206 {
207 errorMessage:
208 legacyError instanceof Error ? legacyError.message : String(legacyError),
209 fingerprintType: 'failed',
210 },
211 'Both enhanced and legacy fingerprint generation failed',
212 )
213 throw new Error('Fingerprint generation failed')
214 }
215 }
216}
217
218/**
219 * Synchronous fingerprint generation (legacy only).

Callers 2

generateEnhancedFunction · 0.90
getFingerprintIdFunction · 0.85

Calls 3

trackEventFunction · 0.90

Tested by

no test coverage detected