mono/packages/kbot/ref/utils/authPortable.ts
2026-04-01 01:05:48 +02:00

20 lines
674 B
TypeScript

import { execa } from 'execa'
import { getMacOsKeychainStorageServiceName } from 'src/utils/secureStorage/macOsKeychainHelpers.js'
export async function maybeRemoveApiKeyFromMacOSKeychainThrows(): Promise<void> {
if (process.platform === 'darwin') {
const storageServiceName = getMacOsKeychainStorageServiceName()
const result = await execa(
`security delete-generic-password -a $USER -s "${storageServiceName}"`,
{ shell: true, reject: false },
)
if (result.exitCode !== 0) {
throw new Error('Failed to delete keychain entry')
}
}
}
export function normalizeApiKeyForConfig(apiKey: string): string {
return apiKey.slice(-20)
}