24 lines
766 B
TypeScript
24 lines
766 B
TypeScript
// Lazy-load electron-store (ESM module) from the main process only.
|
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
let providerStore: any = null;
|
|
|
|
export async function getClawXProviderStore() {
|
|
if (!providerStore) {
|
|
const Store = (await import('electron-store')).default;
|
|
providerStore = new Store({
|
|
name: 'clawx-providers',
|
|
defaults: {
|
|
schemaVersion: 0,
|
|
providers: {} as Record<string, unknown>,
|
|
providerAccounts: {} as Record<string, unknown>,
|
|
apiKeys: {} as Record<string, string>,
|
|
providerSecrets: {} as Record<string, unknown>,
|
|
defaultProvider: null as string | null,
|
|
defaultProviderAccountId: null as string | null,
|
|
},
|
|
});
|
|
}
|
|
|
|
return providerStore;
|
|
}
|