( args: Parameters<typeof getAnthropicClient>[0], )
| 84 | } |
| 85 | |
| 86 | export async function getInferenceClient( |
| 87 | args: Parameters<typeof getAnthropicClient>[0], |
| 88 | ): Promise<InferenceClient> { |
| 89 | if (isOpenAICompatByokActive()) { |
| 90 | const apiKey = getDirectApiKeyEnvValue() |
| 91 | const baseURL = getOpenAICompatBaseUrl() |
| 92 | if (apiKey && baseURL) { |
| 93 | return new OpenAICompatInferenceClient({ |
| 94 | baseURL, |
| 95 | headers: getOpenAICompatByokHeaders(apiKey), |
| 96 | useNCodeManagedModelRouting: false, |
| 97 | wsV2Transport: null, |
| 98 | ...(args.fetchOverride ? { fetch: args.fetchOverride } : {}), |
| 99 | }) |
| 100 | } |
| 101 | } |
| 102 | |
| 103 | if (getAPIProvider() === 'firstParty') { |
| 104 | const managedModelBaseURL = getNCodeManagedModelBaseUrl(args.model) |
| 105 | const configuredCompatBaseURL = |
| 106 | getNoumenaBaseUrl() ?? getLegacyOpenAICompatBaseUrl() |
| 107 | const baseURL = managedModelBaseURL ?? configuredCompatBaseURL |
| 108 | if (baseURL) { |
| 109 | const headers = await getFirstPartyRequestHeaders( |
| 110 | args.apiKey |
| 111 | ? { |
| 112 | apiKey: args.apiKey, |
| 113 | includeApiKeyHeader: true, |
| 114 | } |
| 115 | : {}, |
| 116 | ) |
| 117 | const fetch = getWrappedClientFetch(args.fetchOverride, args.source) |
| 118 | return new OpenAICompatInferenceClient({ |
| 119 | baseURL, |
| 120 | headers, |
| 121 | ...(fetch ? { fetch } : {}), |
| 122 | }) |
| 123 | } |
| 124 | } |
| 125 | |
| 126 | return new AnthropicInferenceClient(await getAnthropicClient(args)) |
| 127 | } |
no test coverage detected