| import { getAdapter } from "../driver.js"; |
| import { parseJson, stringifyJson } from "../helpers/jsonCol.js"; |
| import { makeKv } from "../helpers/kvStore.js"; |
|
|
| const aliasKv = makeKv("modelAliases"); |
| const customKv = makeKv("customModels"); |
| const mitmKv = makeKv("mitmAlias"); |
|
|
| |
| export async function getModelAliases() { |
| return await aliasKv.getAll(); |
| } |
|
|
| export async function setModelAlias(alias, model) { |
| await aliasKv.set(alias, model); |
| } |
|
|
| export async function deleteModelAlias(alias) { |
| await aliasKv.remove(alias); |
| } |
|
|
| |
| function customKey(providerAlias, id, type) { |
| return `${providerAlias}|${id}|${type}`; |
| } |
|
|
| export async function getCustomModels() { |
| const all = await customKv.getAll(); |
| return Object.values(all); |
| } |
|
|
| |
| export async function addCustomModel({ providerAlias, id, type = "llm", name }) { |
| const k = customKey(providerAlias, id, type); |
| const db = await getAdapter(); |
| let added = false; |
| db.transaction(() => { |
| const row = db.get(`SELECT 1 FROM kv WHERE scope = 'customModels' AND key = ?`, [k]); |
| if (row) return; |
| const value = stringifyJson({ providerAlias, id, type, name: name || id }); |
| db.run(`INSERT INTO kv(scope, key, value) VALUES('customModels', ?, ?)`, [k, value]); |
| added = true; |
| }); |
| return added; |
| } |
|
|
| export async function deleteCustomModel({ providerAlias, id, type = "llm" }) { |
| await customKv.remove(customKey(providerAlias, id, type)); |
| } |
|
|
| |
| export async function getMitmAlias(toolName) { |
| if (toolName) { |
| const v = await mitmKv.get(toolName); |
| return v || {}; |
| } |
| return await mitmKv.getAll(); |
| } |
|
|
| export async function setMitmAliasAll(toolName, mappings) { |
| await mitmKv.set(toolName, mappings || {}); |
| } |
|
|