mirror of
https://github.com/getcompanion-ai/co-mono.git
synced 2026-04-16 04:01:56 +00:00
Implement unified storage architecture
- Replace fragmented storage backends with single IndexedDBStorageBackend - Create multi-store StorageBackend interface (storeName parameter) - Remove old backends: IndexedDBBackend, LocalStorageBackend, SessionIndexedDBBackend, WebExtensionStorageBackend - Remove old repositories: ProviderKeysRepository, SessionRepository, SettingsRepository - Simplify AppStorage to directly expose storage methods (getSetting/setSetting, getProviderKey/setProviderKey) - Create SessionsRepository for session-specific operations - Update all consumers to use new simplified API - Update example app to use new storage architecture - Benefits: 10GB+ quota (vs 10MB chrome.storage), single database, consistent API
This commit is contained in:
parent
b3cce7b400
commit
bbbc232c7c
19 changed files with 421 additions and 998 deletions
|
|
@ -9,14 +9,14 @@ import type { AgentRunConfig, AgentTransport } from "./types.js";
|
|||
export class ProviderTransport implements AgentTransport {
|
||||
async *run(messages: Message[], userMessage: Message, cfg: AgentRunConfig, signal?: AbortSignal) {
|
||||
// Get API key from storage
|
||||
const apiKey = await getAppStorage().providerKeys.getKey(cfg.model.provider);
|
||||
const apiKey = await getAppStorage().getProviderKey(cfg.model.provider);
|
||||
if (!apiKey) {
|
||||
throw new Error("no-api-key");
|
||||
}
|
||||
|
||||
// Check if CORS proxy is enabled
|
||||
const proxyEnabled = await getAppStorage().settings.get<boolean>("proxy.enabled");
|
||||
const proxyUrl = await getAppStorage().settings.get<string>("proxy.url");
|
||||
const proxyEnabled = await getAppStorage().getSetting<boolean>("proxy.enabled");
|
||||
const proxyUrl = await getAppStorage().getSetting<string>("proxy.url");
|
||||
|
||||
// Clone model and modify baseUrl if proxy is enabled
|
||||
let model = cfg.model;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue