MCPcopy Create free account
hub / github.com/freecodexyz/free-code / loadAudioNapi

Function loadAudioNapi

src/services/voice.ts:40–64  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

38let audioNapiPromise: Promise<AudioNapi> | null = null
39
40function loadAudioNapi(): Promise<AudioNapi> {
41 audioNapiPromise ??= (async () => {
42 const t0 = Date.now()
43 try {
44 const mod = (await import('audio-capture-napi')) as AudioNapi
45 // vendor/audio-capture-src/index.ts defers require(...node) until the
46 // first function call — trigger it here so timing reflects real cost.
47 mod.isNativeAudioAvailable()
48 audioNapi = mod
49 logForDebugging(
50 `[voice] audio-capture-napi loaded in ${Date.now() - t0}ms`,
51 )
52 return mod
53 } catch (error) {
54 const message =
55 error instanceof Error ? error.message : 'unknown load error'
56 audioNapi = unavailableAudioNapi
57 logForDebugging(
58 `[voice] audio-capture-napi unavailable, falling back: ${message}`,
59 )
60 return unavailableAudioNapi
61 }
62 })()
63 return audioNapiPromise
64}
65
66// ─── Constants ───────────────────────────────────────────────────────
67

Callers 4

checkVoiceDependenciesFunction · 0.85
startRecordingFunction · 0.85

Calls 1

logForDebuggingFunction · 0.85

Tested by

no test coverage detected