import { resolveAuthStorePath } from "./path-resolve.js" ;
import type { AuthProfileStore } from "./types.js" ;
const runtimeAuthStoreSnapshots = new Map<string, AuthProfileStore>();
function resolveRuntimeStoreKey(agentDir?: string): string {
return resolveAuthStorePath(agentDir);
}
function cloneAuthProfileStore(store: AuthProfileStore): AuthProfileStore {
return structuredClone(store);
}
export function getRuntimeAuthProfileStoreSnapshot(
agentDir?: string,
): AuthProfileStore | undefined {
const store = runtimeAuthStoreSnapshots.get(resolveRuntimeStoreKey(agentDir));
return store ? cloneAuthProfileStore(store) : undefined;
}
export function hasRuntimeAuthProfileStoreSnapshot(agentDir?: string): boolean {
return runtimeAuthStoreSnapshots.has(resolveRuntimeStoreKey(agentDir));
}
export function hasAnyRuntimeAuthProfileStoreSource(agentDir?: string): boolean {
const requestedStore = getRuntimeAuthProfileStoreSnapshot(agentDir);
if (requestedStore && Object.keys(requestedStore.profiles).length > 0 ) {
return true ;
}
if (!agentDir) {
return false ;
}
const mainStore = getRuntimeAuthProfileStoreSnapshot();
return Boolean (mainStore && Object.keys(mainStore.profiles).length > 0 );
}
export function replaceRuntimeAuthProfileStoreSnapshots(
entries: Array<{ agentDir?: string; store: AuthProfileStore }>,
): void {
runtimeAuthStoreSnapshots.clear();
for (const entry of entries) {
runtimeAuthStoreSnapshots.set(
resolveRuntimeStoreKey(entry.agentDir),
cloneAuthProfileStore(entry.store),
);
}
}
export function clearRuntimeAuthProfileStoreSnapshots(): void {
runtimeAuthStoreSnapshots.clear();
}
export function setRuntimeAuthProfileStoreSnapshot(
store: AuthProfileStore,
agentDir?: string,
): void {
runtimeAuthStoreSnapshots.set(resolveRuntimeStoreKey(agentDir), cloneAuthProfileStore(store));
}
Messung V0.5 in Prozent C=100 H=95 G=97
¤ Dauer der Verarbeitung: 0.13 Sekunden
(vorverarbeitet am 2026-06-07)
¤
*© Formatika GbR, Deutschland