@@ -2,26 +2,6 @@ import { ModelProviderName } from "@helicone-package/cost/models/providers";
22import { ProviderKey , ProviderKeysStore } from "../db/ProviderKeysStore" ;
33import { getFromKVCacheOnly , storeInCache } from "../util/cache/secureCache" ;
44
5- /**
6- * Creates a sentinel key to cache when no keys exist for a provider.
7- * Prevents repeated DB lookups for providers without keys.
8- */
9- function nullProviderKey (
10- orgId : string ,
11- providerName : ModelProviderName
12- ) : ProviderKey {
13- return {
14- provider : providerName ,
15- org_id : orgId ,
16- decrypted_provider_key : "" ,
17- auth_type : "key" ,
18- byok_enabled : false ,
19- config : null ,
20- decrypted_provider_secret_key : null ,
21- cuid : null ,
22- } ;
23- }
24-
255export class ProviderKeysManager {
266 providerKeysFromCache : Map < string , Promise < ProviderKey [ ] | null > > = new Map ( ) ;
277 constructor (
@@ -78,17 +58,14 @@ export class ProviderKeysManager {
7858 providerModelId : string ,
7959 keyCuid ?: string
8060 ) : ProviderKey | null {
81- // Filter out null sentinel keys (empty decrypted_provider_key)
82- const validKeys = keys . filter ( ( key ) => key . decrypted_provider_key !== "" ) ;
83-
8461 if ( keyCuid ) {
85- const cuidKey = validKeys . filter ( ( key ) => key . cuid === keyCuid ) ;
62+ const cuidKey = keys . filter ( ( key ) => key . cuid === keyCuid ) ;
8663 if ( cuidKey . length === 0 ) {
8764 return null ;
8865 }
8966 return cuidKey [ 0 ] ;
9067 }
91- let filteredKeys = validKeys . filter ( ( key ) => key . provider === provider ) ;
68+ let filteredKeys = keys . filter ( ( key ) => key . provider === provider ) ;
9269
9370 // For Azure OpenAI, filter by heliconeModelId
9471 filteredKeys = filteredKeys . filter ( ( key ) => {
@@ -160,32 +137,7 @@ export class ProviderKeysManager {
160137 keyCuid
161138 ) ;
162139
163- if ( ! keys ) {
164- const existingKeys = await getFromKVCacheOnly (
165- `provider_keys_${ orgId } ` ,
166- this . env ,
167- 43200 // 12 hours
168- ) ;
169- if ( existingKeys ) {
170- const existingKeysData = JSON . parse ( existingKeys ) as ProviderKey [ ] ;
171- existingKeysData . push ( nullProviderKey ( orgId , provider ) ) ;
172-
173- await storeInCache (
174- `provider_keys_${ orgId } ` ,
175- JSON . stringify ( existingKeysData ) ,
176- this . env ,
177- 43200 // 12 hours
178- ) ;
179- } else {
180- await storeInCache (
181- `provider_keys_${ orgId } ` ,
182- JSON . stringify ( [ nullProviderKey ( orgId , provider ) ] ) ,
183- this . env ,
184- 43200 // 12 hours
185- ) ;
186- }
187- return null ;
188- }
140+ if ( ! keys ) return null ;
189141
190142 const existingKeys = await getFromKVCacheOnly (
191143 `provider_keys_${ orgId } ` ,
@@ -195,7 +147,6 @@ export class ProviderKeysManager {
195147 if ( existingKeys ) {
196148 const existingKeysData = JSON . parse ( existingKeys ) as ProviderKey [ ] ;
197149 existingKeysData . push ( ...keys ) ;
198-
199150 await storeInCache (
200151 `provider_keys_${ orgId } ` ,
201152 JSON . stringify ( existingKeysData ) ,
0 commit comments