@graphty/graphty-element / ai / ApiKeyManager
Class: ApiKeyManager ​
Defined in: graphty-element/src/ai/keys/ApiKeyManager.ts:66
Manages API keys for LLM providers. Supports both session-only and persistent encrypted storage. Uses encrypt-storage package for AES encryption when persistence is enabled.
Persistence restores itself: a manager constructed after a reload finds the keys an earlier page persisted (with the built-in key, or with a custom key from the same tab) and turns persistence back on. A host calls enablePersistence(), disablePersistence() and setKey() and nothing else.
Constructors ​
Constructor ​
new ApiKeyManager(
options?):ApiKeyManager
Defined in: graphty-element/src/ai/keys/ApiKeyManager.ts:78
Create a key manager and restore any keys a previous page persisted.
Parameters ​
options? ​
ApiKeyManagerOptions = {}
Where persisted keys live
Returns ​
ApiKeyManager
Methods ​
clear() ​
clear():
void
Defined in: graphty-element/src/ai/keys/ApiKeyManager.ts:232
Clear all keys, in memory and in storage. Persistence stays on, so it is still on after a reload.
Returns ​
void
disablePersistence() ​
disablePersistence(
clearStorage?):void
Defined in: graphty-element/src/ai/keys/ApiKeyManager.ts:131
Disable persistent storage. With clearStorage false the stored keys stay where they are: the next page load restores them, and turns persistence back on, if they were saved with the built-in encryption key. Keys saved with a custom key wait for enablePersistence with it.
Parameters ​
clearStorage? ​
boolean = true
Whether to clear stored keys from storage (default: true)
Returns ​
void
enablePersistence() ​
enablePersistence(
config?):void
Defined in: graphty-element/src/ai/keys/ApiKeyManager.ts:96
Enable persistent storage for API keys with AES encryption. Keys already in memory are saved, and keys already in storage under the same encryption key are loaded.
Parameters ​
config? ​
PersistenceConfig = {}
Persistence configuration (default: built-in encryption key)
Returns ​
void
Throws ​
Error if encryption key is empty or too short (minimum 10 characters)
getConfiguredProviders() ​
getConfiguredProviders():
ProviderType[]
Defined in: graphty-element/src/ai/keys/ApiKeyManager.ts:225
Get a list of providers that have keys configured.
Returns ​
Array of provider types with keys
getDefaultProvider() ​
getDefaultProvider():
ProviderType|null
Defined in: graphty-element/src/ai/keys/ApiKeyManager.ts:205
Get the provider the reader chose as their default.
Returns ​
ProviderType | null
The default provider, or null if none was chosen
getKey() ​
getKey(
provider):string|undefined
Defined in: graphty-element/src/ai/keys/ApiKeyManager.ts:175
Get the API key for a provider.
Parameters ​
provider ​
The provider type
Returns ​
string | undefined
The API key or undefined if not set
hasKey() ​
hasKey(
provider):boolean
Defined in: graphty-element/src/ai/keys/ApiKeyManager.ts:184
Check if a key is set for a provider.
Parameters ​
provider ​
The provider type
Returns ​
boolean
True if a key is set
isPersistenceEnabled() ​
isPersistenceEnabled():
boolean
Defined in: graphty-element/src/ai/keys/ApiKeyManager.ts:146
Check if persistence is enabled.
Returns ​
boolean
True if persistence is enabled
removeKey() ​
removeKey(
provider):void
Defined in: graphty-element/src/ai/keys/ApiKeyManager.ts:192
Remove the API key for a provider.
Parameters ​
provider ​
The provider type
Returns ​
void
setDefaultProvider() ​
setDefaultProvider(
provider):void
Defined in: graphty-element/src/ai/keys/ApiKeyManager.ts:213
Choose the reader's default provider. It is persisted with the keys when persistence is on.
Parameters ​
provider ​
ProviderType | null
The provider, or null to clear the choice
Returns ​
void
setKey() ​
setKey(
provider,key):void
Defined in: graphty-element/src/ai/keys/ApiKeyManager.ts:156
Set an API key for a provider.
Parameters ​
provider ​
The provider type
key ​
string
The API key
Returns ​
void
Throws ​
Error if key is empty or whitespace-only
toString() ​
toString():
string
Defined in: graphty-element/src/ai/keys/ApiKeyManager.ts:241
Custom toString to avoid exposing keys.
Returns ​
string
String representation without sensitive data