@@ -19,14 +19,21 @@ interface ProviderModelsResponse {
1919
2020export const providerKeys = {
2121 all : [ 'provider-models' ] as const ,
22- models : ( provider : string ) => [ ...providerKeys . all , provider ] as const ,
22+ models : ( provider : string , workspaceId ?: string ) =>
23+ [ ...providerKeys . all , provider , workspaceId ?? '' ] as const ,
2324}
2425
2526async function fetchProviderModels (
2627 provider : ProviderName ,
27- signal ?: AbortSignal
28+ signal ?: AbortSignal ,
29+ workspaceId ?: string
2830) : Promise < ProviderModelsResponse > {
29- const response = await fetch ( providerEndpoints [ provider ] , { signal } )
31+ let url = providerEndpoints [ provider ]
32+ if ( provider === 'fireworks' && workspaceId ) {
33+ url = `${ url } ?workspaceId=${ encodeURIComponent ( workspaceId ) } `
34+ }
35+
36+ const response = await fetch ( url , { signal } )
3037
3138 if ( ! response . ok ) {
3239 logger . warn ( `Failed to fetch ${ provider } models` , {
@@ -46,10 +53,10 @@ async function fetchProviderModels(
4653 }
4754}
4855
49- export function useProviderModels ( provider : ProviderName ) {
56+ export function useProviderModels ( provider : ProviderName , workspaceId ?: string ) {
5057 return useQuery ( {
51- queryKey : providerKeys . models ( provider ) ,
52- queryFn : ( { signal } ) => fetchProviderModels ( provider , signal ) ,
58+ queryKey : providerKeys . models ( provider , workspaceId ) ,
59+ queryFn : ( { signal } ) => fetchProviderModels ( provider , signal , workspaceId ) ,
5360 staleTime : 5 * 60 * 1000 ,
5461 } )
5562}
0 commit comments