moves keystore interface

This commit is contained in:
nai-degen
2023-09-10 19:07:56 -05:00
parent 5d3433268f
commit 21af866fd9
6 changed files with 17 additions and 11 deletions
@@ -1,8 +1,9 @@
import crypto from "crypto";
import { Key, KeyProvider, KeyStore } from "..";
import { Key, KeyProvider } from "..";
import { config } from "../../../config";
import { logger } from "../../../logger";
import type { AnthropicModelFamily } from "../../models";
import { KeyStore } from "../stores";
import { AnthropicKeyChecker } from "./checker";
// https://docs.anthropic.com/claude/reference/selecting-a-model
-6
View File
@@ -65,12 +65,6 @@ export interface KeyProvider<T extends Key = Key> {
recheck(): void;
}
export interface KeyStore<T extends Pick<Key, "key">> {
load(): Promise<T[]>;
add(key: T): void;
update(key: T): void;
}
export let keyPool: KeyPool;
export async function init() {
keyPool = new KeyPool();
+2 -1
View File
@@ -3,10 +3,11 @@ round-robin access to keys. Keys are stored in the OPENAI_KEY environment
variable as a comma-separated list of keys. */
import crypto from "crypto";
import http from "http";
import { Key, KeyProvider, Model, KeyStore } from "../index";
import { Key, KeyProvider, Model } from "../index";
import { config } from "../../../config";
import { logger } from "../../../logger";
import { OpenAIKeyChecker } from "./checker";
import { KeyStore } from "../stores";
import { getOpenAIModelFamily, OpenAIModelFamily } from "../../models";
export type OpenAIModel =
+2 -1
View File
@@ -1,5 +1,6 @@
import type firebase from "firebase-admin";
import { AIService, Key, KeyStore } from "..";
import { KeyStore } from ".";
import { AIService, Key } from "..";
import { getFirebaseApp } from "../../../config";
export class FirebaseKeyStore<K extends Pick<Key, "key">>
@@ -1,2 +1,10 @@
import { Key } from "..";
export { FirebaseKeyStore } from "./firebase";
export { MemoryKeyStore } from "./memory";
export interface KeyStore<T extends Pick<Key, "key">> {
load(): Promise<T[]>;
add(key: T): void;
update(key: T): void;
}
+3 -2
View File
@@ -1,4 +1,5 @@
import { APIFormat, Key, KeyStore } from "..";
import { KeyStore } from ".";
import { APIFormat, Key } from "..";
export class MemoryKeyStore<K extends Pick<Key, "key">> implements KeyStore<K> {
private env: string;
@@ -26,7 +27,7 @@ export class MemoryKeyStore<K extends Pick<Key, "key">> implements KeyStore<K> {
bareKeys = [
...new Set(process.env[this.env]?.split(",").map((k) => k.trim())),
];
return bareKeys.map((key) => ({ key } as K));
return bareKeys.map((key) => ({ key } as K)); // TODO: remove assertion
}
public add(_key: K) {}