Download src/server/services/openaiOfficialProvider.ts from chenbhao/codev: direct link, hf CLI and curl.
- Browser
- Download file 2.52 kB
-
https://huggingface.co/chenbhao/codev/resolve/main/src/server/services/openaiOfficialProvider.ts
- Command line
-
hf download hf://chenbhao/codev/src/server/services/openaiOfficialProvider.ts
-
curl -L -o openaiOfficialProvider.ts https://huggingface.co/chenbhao/codev/resolve/main/src/server/services/openaiOfficialProvider.ts
2.52 kB
| import { OPENAI_CODEX_API_ENDPOINT } from '../../services/openaiAuth/client.js' | |
| import { | |
| OPENAI_CODEX_MODEL_CATALOG, | |
| OPENAI_DEFAULT_HAIKU_MODEL, | |
| OPENAI_DEFAULT_MAIN_MODEL, | |
| OPENAI_DEFAULT_SONNET_MODEL, | |
| getOpenAICodexContextWindowForModel, | |
| } from '../../services/openaiAuth/models.js' | |
| import { MODEL_CONTEXT_WINDOWS_ENV_KEY } from '../../utils/model/modelContextWindows.js' | |
| import { getHahaOpenAIOAuthFilePath } from './hahaOpenAIOAuthService.js' | |
| import type { SavedProvider } from '../types/provider.js' | |
| export const OPENAI_OFFICIAL_PROVIDER_ID = 'openai-official' | |
| export const OPENAI_OFFICIAL_PROVIDER_NAME = 'ChatGPT Official' | |
| export const OPENAI_OAUTH_PROVIDER_ENV_KEY = 'CC_HAHA_OPENAI_OAUTH_PROVIDER' | |
| export const OPENAI_CODEX_OAUTH_FILE_ENV_KEY = 'OPENAI_CODEX_OAUTH_FILE' | |
| export function isOpenAIOfficialProviderId( | |
| id: string | null | undefined, | |
| ): boolean { | |
| return id === OPENAI_OFFICIAL_PROVIDER_ID | |
| } | |
| const openAIModels: SavedProvider['models'] = { | |
| main: OPENAI_DEFAULT_MAIN_MODEL, | |
| haiku: OPENAI_DEFAULT_HAIKU_MODEL, | |
| sonnet: OPENAI_DEFAULT_SONNET_MODEL, | |
| opus: OPENAI_DEFAULT_MAIN_MODEL, | |
| } | |
| const modelContextWindows = Object.fromEntries( | |
| OPENAI_CODEX_MODEL_CATALOG.map( | |
| ({ value }) => | |
| [value, getOpenAICodexContextWindowForModel(value)] as const, | |
| ) | |
| .filter((entry): entry is readonly [string, number] => entry[1] !== null), | |
| ) | |
| export const OPENAI_OFFICIAL_PROVIDER: SavedProvider = { | |
| id: OPENAI_OFFICIAL_PROVIDER_ID, | |
| presetId: OPENAI_OFFICIAL_PROVIDER_ID, | |
| name: OPENAI_OFFICIAL_PROVIDER_NAME, | |
| apiKey: '', | |
| authStrategy: 'dual_dummy', | |
| baseUrl: new URL('/backend-api/codex', OPENAI_CODEX_API_ENDPOINT) | |
| .toString() | |
| .replace(/\/+$/, ''), | |
| apiFormat: 'openai_responses', | |
| runtimeKind: 'openai_oauth', | |
| models: openAIModels, | |
| modelContextWindows, | |
| } | |
| export function buildOpenAIOfficialRuntimeEnv(): Record<string, string> { | |
| const modelContextWindows = OPENAI_OFFICIAL_PROVIDER.modelContextWindows ?? {} | |
| return { | |
| [OPENAI_OAUTH_PROVIDER_ENV_KEY]: '1', | |
| [OPENAI_CODEX_OAUTH_FILE_ENV_KEY]: getHahaOpenAIOAuthFilePath(), | |
| ...(Object.keys(modelContextWindows).length > 0 && { | |
| [MODEL_CONTEXT_WINDOWS_ENV_KEY]: JSON.stringify(modelContextWindows), | |
| }), | |
| ANTHROPIC_MODEL: OPENAI_OFFICIAL_PROVIDER.models.main, | |
| ANTHROPIC_DEFAULT_HAIKU_MODEL: OPENAI_OFFICIAL_PROVIDER.models.haiku, | |
| ANTHROPIC_DEFAULT_SONNET_MODEL: OPENAI_OFFICIAL_PROVIDER.models.sonnet, | |
| ANTHROPIC_DEFAULT_OPUS_MODEL: OPENAI_OFFICIAL_PROVIDER.models.opus, | |
| } | |
| } | |