@jeffusion/bungee-core 5.15.2 → 5.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2024,6 +2024,11 @@ var ChatgptOauthPlugin = definePlugin(class {
2024
2024
  return context.method.toUpperCase() === "POST" && ["/v1/chat/completions", "/v1/responses", "/backend-api/codex/responses"].includes(path) ? { request: "json-write", response: path === "/backend-api/codex/responses" ? [] : ["json", "sse-json"] } : { request: "none" };
2025
2025
  }
2026
2026
  register(hooks) {
2027
+ hooks.onWebSocketHandshake.tap("chatgpt-oauth", (context) => {
2028
+ if (context.url.origin === "https://chatgpt.com" && context.url.pathname === "/v1/responses")
2029
+ context.url.pathname = "/backend-api/codex/responses";
2030
+ return context;
2031
+ });
2027
2032
  hooks.onBeforeRequest.tap({ name: "chatgpt-oauth", stage: -10 }, (context) => this.adapter.beforeRequest(context));
2028
2033
  hooks.onBeforeRequest.tap({ name: "chatgpt-oauth-outbound-reconciliation", stage: 1000 }, (context) => this.adapter.reconcileOutboundRequest(context));
2029
2034
  hooks.onRawResponse.tapPromise({ name: "chatgpt-oauth", stage: -10 }, (result, context) => this.adapter.rawResponse(result, context));
@@ -2035,4 +2040,4 @@ export {
2035
2040
  server_default as default
2036
2041
  };
2037
2042
 
2038
- //# debugId=150F9F921F3BE81B64756E2164756E21
2043
+ //# debugId=EC7D691FE690130864756E2164756E21
@@ -22,9 +22,9 @@
22
22
  "const CODEX_MODELS_URL = 'https://chatgpt.com/backend-api/codex/models';\nconst CODEX_ORIGINATOR = 'codex_cli_rs';\nconst DEFAULT_TTL_MS = 5 * 60 * 1000;\nconst DEFAULT_TIMEOUT_MS = 10_000;\nconst DEFAULT_MAX_BODY_BYTES = 256 * 1024;\nconst DEFAULT_MAX_MODELS = 256;\nconst DEFAULT_MAX_CACHE_ENTRIES = 32;\n\nexport type CodexModelsErrorKind =\n | 'invalid_identity'\n | 'aborted'\n | 'timeout'\n | 'network'\n | 'http'\n | 'invalid_content_type'\n | 'body_limit'\n | 'invalid_json'\n | 'invalid_structure';\n\nexport class CodexModelsError extends Error {\n readonly name = 'CodexModelsError';\n\n constructor(readonly kind: CodexModelsErrorKind, readonly status?: number) {\n super(status === undefined ? kind : `${kind}:${status}`);\n }\n}\n\nexport interface CodexModelDescriptor {\n readonly id: string;\n readonly source: 'static' | 'upstream';\n readonly sourceRef: string;\n readonly displayName?: string;\n readonly capabilities?: readonly string[];\n readonly metadata?: Readonly<Record<string, unknown>>;\n}\n\nexport interface CodexModelSource {\n readonly kind: 'static' | 'upstream';\n readonly sourceRef: string;\n load(signal?: AbortSignal): Promise<readonly CodexModelDescriptor[]>;\n}\n\nexport interface CodexModelIdentity {\n readonly accountId: string;\n readonly generation: number;\n /** Must be the real client version supplied by the caller. */\n readonly clientVersion: string;\n}\n\nexport interface CodexModelsRequestOptions {\n readonly etag?: string;\n}\n\nexport interface CodexModelsRequest {\n readonly url: string;\n readonly init: RequestInit;\n}\n\nexport type CodexModelsExecute = (request: CodexModelsRequest, signal: AbortSignal) => Promise<Response>;\n\nexport interface CodexModelSnapshot {\n readonly models: readonly CodexModelDescriptor[];\n readonly source: 'upstream';\n readonly etag?: string;\n readonly fetchedAt: number;\n readonly stale: false;\n}\n\nexport interface CodexModelSourceOptions {\n readonly identity: CodexModelIdentity;\n readonly execute: CodexModelsExecute;\n readonly cache?: CodexModelCache;\n readonly now?: () => number;\n readonly ttlMs?: number;\n readonly timeoutMs?: number;\n readonly maxBodyBytes?: number;\n readonly maxModels?: number;\n}\n\nfunction text(value: unknown, max = 512): value is string {\n return typeof value === 'string' && value.length > 0 && value.length <= max && value.trim() === value\n && !/[\\r\\n\\u0000]/.test(value);\n}\n\nfunction assertIdentity(identity: CodexModelIdentity): void {\n if (!text(identity.accountId) || !text(identity.clientVersion)\n || !Number.isSafeInteger(identity.generation) || identity.generation < 1) {\n throw new CodexModelsError('invalid_identity');\n }\n}\n\n/** Pure request builder. Credentials are deliberately supplied by the injected executor, not this interface. */\nexport function buildCodexModelsRequest(\n clientVersion: string,\n options: CodexModelsRequestOptions = {},\n): CodexModelsRequest {\n if (!text(clientVersion)) throw new CodexModelsError('invalid_identity');\n const headers = new Headers({ Accept: 'application/json', Originator: CODEX_ORIGINATOR });\n if (text(options.etag)) headers.set('If-None-Match', options.etag);\n return {\n url: `${CODEX_MODELS_URL}?client_version=${encodeURIComponent(clientVersion)}`,\n init: { method: 'GET', headers, redirect: 'manual' },\n };\n}\n\nfunction object(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null && !Array.isArray(value);\n}\n\nfunction optionalString(value: unknown): string | undefined {\n if (value === undefined || value === null) return undefined;\n if (!text(value)) throw new CodexModelsError('invalid_structure');\n return value;\n}\n\n/** Parses the official envelope without inventing OpenAI metadata. */\nexport function parseCodexModelsPayload(value: unknown, maxModels = DEFAULT_MAX_MODELS): readonly CodexModelDescriptor[] {\n if (!object(value) || !Array.isArray(value.models) || value.models.length > maxModels) {\n throw new CodexModelsError('invalid_structure');\n }\n\n const models: CodexModelDescriptor[] = [];\n for (const item of value.models) {\n if (!object(item) || !text(item.slug)) throw new CodexModelsError('invalid_structure');\n const visibility = item.visibility === undefined ? 'list' : item.visibility;\n const supportedInApi = item.supported_in_api === undefined ? false : item.supported_in_api;\n if (typeof visibility !== 'string' || typeof supportedInApi !== 'boolean') {\n throw new CodexModelsError('invalid_structure');\n }\n const displayName = optionalString(item.display_name);\n optionalString(item.minimal_client_version);\n if (visibility !== 'list' || supportedInApi !== true) continue;\n models.push({\n id: item.slug,\n source: 'upstream',\n sourceRef: CODEX_MODELS_URL,\n ...(displayName === undefined ? {} : { displayName }),\n metadata: item,\n });\n }\n return models;\n}\n\nexport function parseCodexModelsBody(\n body: string,\n maxBodyBytes = DEFAULT_MAX_BODY_BYTES,\n maxModels = DEFAULT_MAX_MODELS,\n): readonly CodexModelDescriptor[] {\n if (new TextEncoder().encode(body).byteLength > maxBodyBytes) throw new CodexModelsError('body_limit');\n let value: unknown;\n try {\n value = JSON.parse(body) as unknown;\n } catch {\n throw new CodexModelsError('invalid_json');\n }\n return parseCodexModelsPayload(value, maxModels);\n}\n\nexport function codexModelsCacheKey(identity: CodexModelIdentity): string {\n assertIdentity(identity);\n return [identity.accountId, identity.generation, identity.clientVersion, CODEX_ORIGINATOR]\n .map((part) => encodeURIComponent(String(part))).join('|');\n}\n\ninterface CacheEntry {\n readonly snapshot: CodexModelSnapshot;\n readonly expiresAt: number;\n readonly touchedAt: number;\n}\n\nexport class CodexModelCache {\n private readonly entries = new Map<string, CacheEntry>();\n private readonly epochs = new Map<string, number>();\n\n constructor(private readonly maxEntries = DEFAULT_MAX_CACHE_ENTRIES) {\n if (!Number.isSafeInteger(maxEntries) || maxEntries < 1 || maxEntries > DEFAULT_MAX_CACHE_ENTRIES) {\n throw new RangeError('invalid Codex model cache size');\n }\n }\n\n get(key: string): CacheEntry | undefined { return this.entries.get(key); }\n\n epoch(key: string): number { return this.epochs.get(key) ?? 0; }\n\n set(key: string, snapshot: CodexModelSnapshot, expiresAt: number, touchedAt: number, expectedEpoch = this.epoch(key)): boolean {\n if (this.epoch(key) !== expectedEpoch) return false;\n if (!this.entries.has(key) && this.entries.size >= this.maxEntries) {\n const oldest = [...this.entries.entries()].sort((a, b) => a[1].touchedAt - b[1].touchedAt)[0];\n if (oldest) this.entries.delete(oldest[0]);\n }\n this.entries.set(key, { snapshot, expiresAt, touchedAt });\n return true;\n }\n\n invalidate(key: string, etag?: string): boolean {\n const entry = this.entries.get(key);\n const invalidated = entry !== undefined && (etag === undefined || entry.snapshot.etag === etag);\n if (invalidated) this.entries.delete(key);\n this.epochs.set(key, this.epoch(key) + 1);\n return invalidated;\n }\n}\n\nfunction cancelResponseBody(response: Response): void {\n if (response.body !== null) void response.body.cancel().catch(() => undefined);\n}\n\nfunction isJsonContentType(response: Response): boolean {\n const contentType = response.headers.get('content-type')?.split(';', 1)[0].trim().toLowerCase();\n return contentType === 'application/json' || contentType?.endsWith('+json') === true;\n}\n\n/** Auxiliary models catalog fetch owned by this cache, not adapter rawResponse. */\nasync function readBoundedBody(response: Response, maxBodyBytes: number, timeoutMs: number, signal: AbortSignal): Promise<string> {\n if (signal.aborted) throw new CodexModelsError('aborted');\n if (response.body === null) return '';\n const reader = response.body.getReader();\n const decoder = new TextDecoder();\n const deadline = Date.now() + timeoutMs;\n let bytes = 0;\n let body = '';\n let releaseReader = true;\n try {\n for (;;) {\n const remaining = deadline - Date.now();\n if (remaining <= 0) throw new CodexModelsError('timeout');\n const part = await new Promise<Awaited<ReturnType<typeof reader.read>>>((resolve, reject) => {\n const timer = setTimeout(() => reject(new CodexModelsError('timeout')), remaining);\n const onAbort = () => reject(new CodexModelsError('aborted'));\n signal.addEventListener('abort', onAbort, { once: true });\n reader.read().then(resolve, reject).finally(() => {\n clearTimeout(timer);\n signal.removeEventListener('abort', onAbort);\n });\n });\n if (part.done) return body + decoder.decode();\n bytes += part.value.byteLength;\n if (bytes > maxBodyBytes) throw new CodexModelsError('body_limit');\n body += decoder.decode(part.value, { stream: true });\n }\n } catch (error) {\n releaseReader = false;\n void reader.cancel().catch(() => undefined);\n throw error;\n } finally {\n if (releaseReader) reader.releaseLock();\n }\n}\n\nasync function executeWithDeadline(\n execute: CodexModelsExecute,\n request: CodexModelsRequest,\n timeoutMs: number,\n parentSignal: AbortSignal,\n): Promise<Response> {\n if (parentSignal.aborted) throw new CodexModelsError('aborted');\n const controller = new AbortController();\n let rejectAbort: (() => void) | undefined;\n const abortPromise = new Promise<Response>((_, reject) => {\n rejectAbort = () => reject(new CodexModelsError('aborted'));\n });\n const onAbort = () => {\n controller.abort();\n rejectAbort?.();\n };\n parentSignal.addEventListener('abort', onAbort, { once: true });\n let timeoutHandle: ReturnType<typeof setTimeout> | undefined;\n let settled = false;\n const responsePromise = Promise.resolve().then(() => execute(request, controller.signal));\n responsePromise.then((response) => {\n if (settled) cancelResponseBody(response);\n }, () => undefined);\n try {\n const timeoutPromise = new Promise<Response>((_, reject) => {\n timeoutHandle = setTimeout(() => {\n controller.abort();\n reject(new CodexModelsError('timeout'));\n }, timeoutMs);\n });\n return await Promise.race([responsePromise, timeoutPromise, abortPromise]);\n } catch (error) {\n if (error instanceof CodexModelsError) throw error;\n if (parentSignal.aborted) throw new CodexModelsError('aborted');\n throw new CodexModelsError('network');\n } finally {\n settled = true;\n if (timeoutHandle !== undefined) clearTimeout(timeoutHandle);\n parentSignal.removeEventListener('abort', onAbort);\n }\n}\n\nexport class DynamicCodexModelSource implements CodexModelSource {\n readonly kind = 'upstream' as const;\n readonly sourceRef = CODEX_MODELS_URL;\n private readonly cache: CodexModelCache;\n private readonly now: () => number;\n private readonly ttlMs: number;\n private readonly timeoutMs: number;\n private readonly maxBodyBytes: number;\n private readonly maxModels: number;\n constructor(private readonly identity: CodexModelIdentity, private readonly options: Omit<CodexModelSourceOptions, 'identity'>) {\n assertIdentity(identity);\n this.cache = options.cache ?? new CodexModelCache();\n this.now = options.now ?? Date.now;\n this.ttlMs = Math.min(options.ttlMs ?? DEFAULT_TTL_MS, DEFAULT_TTL_MS);\n this.timeoutMs = options.timeoutMs ?? DEFAULT_TIMEOUT_MS;\n this.maxBodyBytes = Math.min(options.maxBodyBytes ?? DEFAULT_MAX_BODY_BYTES, DEFAULT_MAX_BODY_BYTES);\n this.maxModels = Math.min(options.maxModels ?? DEFAULT_MAX_MODELS, DEFAULT_MAX_MODELS);\n if (![this.ttlMs, this.timeoutMs, this.maxBodyBytes, this.maxModels].every((value) => Number.isFinite(value) && value > 0)) {\n throw new RangeError('invalid Codex model source limits');\n }\n }\n\n async load(signal?: AbortSignal): Promise<readonly CodexModelDescriptor[]> {\n return (await this.loadSnapshot(signal)).models;\n }\n\n async loadSnapshot(signal?: AbortSignal): Promise<CodexModelSnapshot> {\n if (signal?.aborted) throw new CodexModelsError('aborted');\n const key = codexModelsCacheKey(this.identity);\n const cached = this.cache.get(key);\n const now = this.now();\n if (cached !== undefined && cached.expiresAt > now) return cached.snapshot;\n\n const epoch = this.cache.epoch(key);\n const request = buildCodexModelsRequest(this.identity.clientVersion, { etag: cached?.snapshot.etag });\n try {\n const response = await executeWithDeadline(this.options.execute, request, this.timeoutMs, signal ?? new AbortController().signal);\n if (response.status === 304) {\n if (cached === undefined) {\n cancelResponseBody(response);\n throw new CodexModelsError('http', 304);\n }\n const snapshot: CodexModelSnapshot = { ...cached.snapshot, fetchedAt: now, stale: false };\n this.cache.set(key, snapshot, now + this.ttlMs, now, epoch);\n return snapshot;\n }\n if (!response.ok) {\n cancelResponseBody(response);\n if (response.status === 401 || response.status === 403) {\n this.cache.invalidate(key);\n throw new CodexModelsError('network', response.status);\n }\n throw new CodexModelsError('http', response.status);\n }\n if (!isJsonContentType(response)) {\n cancelResponseBody(response);\n throw new CodexModelsError('invalid_content_type');\n }\n const models = parseCodexModelsBody(await readBoundedBody(response, this.maxBodyBytes, this.timeoutMs, signal ?? new AbortController().signal), this.maxBodyBytes, this.maxModels);\n const etag = response.headers.get('etag') ?? undefined;\n const snapshot: CodexModelSnapshot = { models, source: 'upstream', ...(etag === undefined ? {} : { etag }), fetchedAt: now, stale: false };\n this.cache.set(key, snapshot, now + this.ttlMs, now, epoch);\n return snapshot;\n } catch (error) {\n if (error instanceof CodexModelsError) throw error;\n throw new CodexModelsError('network');\n }\n }\n\n invalidate(etag?: string): void {\n this.cache.invalidate(codexModelsCacheKey(this.identity), etag);\n }\n\n}\n\nexport function createCodexModelSource(options: CodexModelSourceOptions): DynamicCodexModelSource {\n return new DynamicCodexModelSource(options.identity, options);\n}\n\nexport class CodexModelCatalog {\n constructor(private readonly source: CodexModelSource) {}\n\n async list(signal?: AbortSignal): Promise<readonly CodexModelDescriptor[]> {\n const models = await this.source.load(signal);\n return models.map((model) => ({ ...model, source: this.source.kind, sourceRef: this.source.sourceRef }));\n }\n}\n",
23
23
  "/** Pinned Codex compatibility target used by both runtime and control requests. */\nexport const CODEX_COMPATIBILITY_VERSION = '0.153.3';\nexport const CODEX_MODELS_USER_AGENT = `codex_cli_rs/${CODEX_COMPATIBILITY_VERSION} (Mac OS 26.3.1; arm64) iTerm.app/3.6.9`;\nexport const CODEX_RESPONSES_USER_AGENT = 'codex-tui/0.154.0 (Mac OS 26.5.2; arm64) iTerm.app/3.6.11 (codex-tui; 0.154.0)';\nexport const CODEX_MODELS_ORIGINATOR = 'codex_cli_rs';\nexport const CODEX_RESPONSES_ORIGINATOR = 'codex-tui';\n",
24
24
  "import type { BodyHandle, MutableRequestContext, RawResponseContext } from '@jeffusion/bungee-core/plugin';\nimport type { RawResponseCompletion, RawResponseError, RawResponseResult } from '@jeffusion/bungee-core/plugin';\nimport { errorDiagnostic } from './error-diagnostics';\nimport {\n CodexProtocolError,\n CodexResponseProcessor,\n consumeCodexResponse,\n convertChatCompletionsRequestToCodex,\n isCodexResponsesLite,\n normalizeCodexResponsesRequest,\n parseCodexSSE,\n responsesToChatCompletion,\n streamIncludesUsage,\n type CodexSSEEvent,\n type JsonObject,\n} from './codex-protocol';\nimport { CodexModelsError, parseCodexModelsPayload } from './codex-models';\nimport {\n CODEX_COMPATIBILITY_VERSION,\n CODEX_MODELS_ORIGINATOR,\n CODEX_MODELS_USER_AGENT,\n CODEX_RESPONSES_ORIGINATOR,\n CODEX_RESPONSES_USER_AGENT,\n} from './constants';\n\nexport {\n CODEX_COMPATIBILITY_VERSION,\n CODEX_MODELS_USER_AGENT,\n CODEX_RESPONSES_USER_AGENT,\n} from './constants';\n\nexport const CHAT_COMPLETIONS_PATH = '/v1/chat/completions';\nexport const RESPONSES_PATH = '/v1/responses';\nexport const MODELS_PATH = '/v1/models';\nexport const CODEX_RESPONSES_PATH = '/backend-api/codex/responses';\nexport const CODEX_MODELS_PATH = '/backend-api/codex/models';\nconst MAX_PROFILE_HEADER_VALUE_BYTES = 8192;\nconst CHATGPT_ORIGIN = 'https://chatgpt.com';\nconst SIWC_ORIGIN = 'https://api.openai.com';\nconst CODEX_ROUTING_HINT_HEADER = 'X-Codex-Routing-Hint';\nconst SIWC_FORBIDDEN_FIELDS = [\n 'background', 'conversation', 'max_output_tokens', 'max_completion_tokens', 'max_tool_calls',\n 'metadata', 'moderation', 'multi_agent', 'prompt', 'prompt_cache_retention', 'safety_identifier',\n 'temperature', 'top_logprobs', 'top_p', 'truncation', 'user', 'previous_response_id',\n 'client_metadata', 'context_management', 'prompt_cache_options',\n];\n\ntype AdaptationTarget = 'chat' | 'responses' | 'models';\ntype AdaptedRequest = Readonly<{\n target: AdaptationTarget;\n stream: boolean;\n includeUsage: boolean;\n allowMissingContentType: boolean;\n siwc?: boolean;\n attemptId?: string;\n adaptedResponses: WeakSet<Response>;\n}>;\n\nfunction record(value: unknown): JsonObject {\n if (typeof value !== 'object' || value === null || Array.isArray(value)) {\n throw new CodexProtocolError('invalid_response', 'Request must be a JSON object');\n }\n return value as JsonObject;\n}\n\nfunction siwcTool(tool: unknown): JsonObject {\n const value = record(tool);\n if (value.type !== 'function' && value.type !== 'custom') {\n throw new CodexProtocolError('invalid_response', 'SIWC supports only function and custom tools');\n }\n const nested = value.type === 'function' ? value.function : value.custom;\n const definition = nested === undefined ? value : record(nested);\n if (typeof definition.name !== 'string' || !/^[A-Za-z0-9_-]{1,64}$/.test(definition.name)) {\n throw new CodexProtocolError('invalid_response', 'SIWC tool names must be 1-64 ASCII letters, digits, underscores or hyphens');\n }\n const normalized: JsonObject = { ...definition, type: value.type };\n if (value.type === 'custom' && normalized.format?.type === 'grammar' && normalized.format.grammar !== undefined) {\n const grammar = record(normalized.format.grammar);\n if (!['lark', 'regex'].includes(grammar.syntax) || typeof grammar.definition !== 'string') {\n throw new CodexProtocolError('invalid_response', 'SIWC custom tool grammar is invalid');\n }\n normalized.format = { type: 'grammar', syntax: grammar.syntax, definition: grammar.definition };\n }\n return normalized;\n}\n\nfunction normalizeSiwcRequest(input: JsonObject, target: 'chat' | 'responses'): JsonObject {\n if (input.previous_response_id !== undefined) {\n throw new CodexProtocolError('invalid_response', 'SIWC requires the full conversation in input; previous_response_id is unsupported');\n }\n if (input.tools !== undefined && !Array.isArray(input.tools)) {\n throw new CodexProtocolError('invalid_response', 'SIWC tools must be an array');\n }\n // Validate before conversion, which can otherwise preserve hosted tools.\n input.tools?.forEach(siwcTool);\n if (target === 'chat' && !Array.isArray(input.messages)) {\n throw new CodexProtocolError('invalid_response', 'Chat messages must be an array');\n }\n const out = target === 'chat' ? convertChatCompletionsRequestToCodex(input) : JSON.parse(JSON.stringify(input));\n out.store = false;\n out.stream = true;\n if (out.instructions === undefined || out.instructions === null) out.instructions = '';\n if (typeof out.instructions !== 'string') throw new CodexProtocolError('invalid_response', 'SIWC instructions must be text');\n if (typeof out.input === 'string') out.input = [{ type: 'message', role: 'user', content: [{ type: 'input_text', text: out.input }] }];\n if (out.input === undefined) out.input = [];\n if (!Array.isArray(out.input)) throw new CodexProtocolError('invalid_response', 'SIWC input must contain the full conversation as an array');\n const inputTypes = new Set(['message', 'function_call', 'function_call_output', 'custom_tool_call', 'custom_tool_call_output', 'reasoning', 'compaction']);\n for (const item of out.input) {\n const value = record(item);\n if (value.type === undefined && typeof value.role === 'string') value.type = 'message';\n if (!inputTypes.has(value.type)) throw new CodexProtocolError('invalid_response', 'SIWC input contains an unsupported item');\n if (value.type === 'message') {\n if (!['system', 'developer', 'user', 'assistant'].includes(value.role)) throw new CodexProtocolError('invalid_response', 'SIWC input contains an unsupported role');\n if (value.role === 'system') value.role = 'developer';\n }\n }\n if (Array.isArray(out.tools)) out.tools = out.tools.map(siwcTool);\n if (out.tool_choice !== undefined) {\n if (typeof out.tool_choice === 'string') {\n if (!['auto', 'none', 'required'].includes(out.tool_choice)) throw new CodexProtocolError('invalid_response', 'SIWC tool choice is unsupported');\n } else out.tool_choice = siwcTool(out.tool_choice);\n }\n for (const field of SIWC_FORBIDDEN_FIELDS) delete out[field];\n return out;\n}\n\nfunction setSiwcHeaders(context: MutableRequestContext, target: AdaptationTarget): void {\n for (const name of Object.keys(context.headers)) {\n if (/^(chatgpt-account-id|session-id|thread-id|version|x-codex-.*|x-openai-internal-codex-.*)$/i.test(name)) delete context.headers[name];\n }\n setHeader(context.headers, 'User-Agent', 'Bungee/5.11.0');\n setHeader(context.headers, 'Originator', 'Bungee');\n setHeader(context.headers, 'Accept', target === 'models' ? 'application/json' : 'text/event-stream');\n if (target !== 'models') setHeader(context.headers, 'Content-Type', 'application/json');\n}\n\nfunction parseSiwcModelsBody(payload: unknown): readonly { id: string }[] {\n if (typeof payload !== 'object' || payload === null || Array.isArray(payload)) throw new CodexModelsError('invalid_structure');\n const models = (payload as JsonObject).models;\n if (!Array.isArray(models) || models.length > 512) throw new CodexModelsError('invalid_structure');\n const text = (value: unknown) => typeof value === 'string' && value.length > 0 && value.length <= 512 && value === value.trim() && !/[\\r\\n\\0]/.test(value);\n const listed: { id: string }[] = [];\n for (const model of models) {\n if (!model || typeof model !== 'object' || Array.isArray(model) || !text(model.slug)\n || typeof model.visibility !== 'string' || (model.display_name !== undefined && !text(model.display_name))) throw new CodexModelsError('invalid_structure');\n if (model.visibility === 'list') listed.push({ id: model.slug });\n }\n return listed;\n}\n\nfunction validHeaderValue(value: unknown): value is string {\n return typeof value === 'string'\n && new TextEncoder().encode(value).byteLength <= MAX_PROFILE_HEADER_VALUE_BYTES\n && value.trim().length > 0\n && !/[\\r\\n\\0]/.test(value);\n}\n\nfunction validRoutingHintPart(value: unknown): value is string {\n return validHeaderValue(value) && !/[\\x00-\\x1F\\x7F;]/.test(value);\n}\n\nfunction setCodexRoutingHint(headers: Record<string, string>, body: unknown): void {\n for (const key of Object.keys(headers)) {\n if (key.toLowerCase() === CODEX_ROUTING_HINT_HEADER.toLowerCase()) delete headers[key];\n }\n if (typeof body !== 'object' || body === null || Array.isArray(body)) return;\n const requestBody = body as Record<string, unknown>;\n if (!validRoutingHintPart(requestBody.model)) return;\n const hint = requestBody.service_tier === 'priority'\n ? `model=${requestBody.model};tier=priority`\n : `model=${requestBody.model}`;\n if (validHeaderValue(hint)) setHeader(headers, CODEX_ROUTING_HINT_HEADER, hint);\n}\n\nfunction enforceCodexResponsesLite(context: MutableRequestContext): void {\n if (context.url.pathname !== CODEX_RESPONSES_PATH || !isCodexResponsesLite(context.body, context.headers)) return;\n if (typeof context.body === 'object' && context.body !== null && !Array.isArray(context.body)) {\n context.body = { ...context.body, parallel_tool_calls: false };\n }\n}\n\nfunction headerValue(headers: Record<string, string>, name: string): string | undefined {\n const lowerName = name.toLowerCase();\n const entry = Object.entries(headers).find(([key]) => key.toLowerCase() === lowerName);\n return entry && validHeaderValue(entry[1]) ? entry[1] : undefined;\n}\n\nfunction setHeader(headers: Record<string, string>, name: string, value: string): void {\n const lowerName = name.toLowerCase();\n for (const key of Object.keys(headers)) {\n if (key.toLowerCase() === lowerName) delete headers[key];\n }\n headers[lowerName] = value;\n}\n\nfunction responseHeaders(response: Response, contentType: string): Headers {\n const headers = new Headers();\n const retryAfter = response.headers.get('retry-after');\n if (retryAfter !== null) headers.set('retry-after', retryAfter);\n headers.set('content-type', contentType);\n return headers;\n}\n\nfunction errorBody(error?: RawResponseError, fallbackCode = 'upstream_error') {\n return { message: error?.message ?? 'Upstream response could not be adapted', type: error?.type ?? 'upstream_error', code: error?.code ?? fallbackCode };\n}\n\nfunction completionFromError(error: unknown, redact?: RawResponseContext['redactDiagnostic']): RawResponseCompletion {\n if (error instanceof CodexProtocolError) {\n if (error.kind === 'cancelled') return { status: 'cancelled' };\n if (error.kind === 'incomplete') return { status: 'incomplete', code: 'incomplete' };\n if (error.kind === 'unexpected_eof') return { status: 'failed', code: 'unexpected_eof' };\n return { status: 'failed', code: error.kind, ...(error.diagnostic ? {\n error: errorDiagnostic(error.diagnostic, error.diagnostic.source, error.message, redact),\n } : {}) };\n }\n if (error instanceof CodexModelsError) {\n return error.kind === 'aborted' ? { status: 'cancelled' } : { status: 'failed', code: error.kind };\n }\n const hostCode = (error as { code?: string })?.code;\n if (hostCode === 'body_consumer_cancelled') return { status: 'cancelled' };\n if (hostCode?.includes('too_large')) return { status: 'failed', code: 'body_limit' };\n if (hostCode === 'invalid_json_body' || hostCode?.startsWith('body_sse_')) return { status: 'failed', code: 'invalid_response' };\n return { status: 'failed', code: 'body_error', error: errorDiagnostic(error, 'transport', 'Upstream response body could not be read', redact) };\n}\n\nfunction bodyConsumer(signal: AbortSignal) {\n return { id: 'chatgpt-oauth', mandatory: true, signal } as const;\n}\n\nasync function readHttpError(context: RawResponseContext): Promise<RawResponseCompletion> {\n try {\n const signal = AbortSignal.any([context.signal, AbortSignal.timeout(1000)]);\n const body = await context.bodyHandle!.json(bodyConsumer(signal));\n const error = body && typeof body === 'object' ? (body as JsonObject).error : undefined;\n if (error && typeof error === 'object' && !Array.isArray(error)) {\n return { status: 'failed', code: 'upstream_http_error', error: errorDiagnostic(error, 'upstream', 'Upstream returned an HTTP error', context.redactDiagnostic) };\n }\n } catch {\n if (context.signal.aborted) return { status: 'cancelled' };\n // Malformed JSON and body limits must never expose the upstream body.\n }\n return { status: 'failed', code: 'upstream_http_error' };\n}\n\nfunction joinCompletion(\n upstream: Promise<RawResponseCompletion>,\n body: Promise<RawResponseCompletion>,\n signal?: AbortSignal,\n): Promise<RawResponseCompletion> {\n const safe = (promise: Promise<RawResponseCompletion>): Promise<RawResponseCompletion> =>\n promise.catch(() => ({ status: 'failed', code: 'upstream_completion' }));\n const wait = (promise: Promise<RawResponseCompletion>): Promise<RawResponseCompletion> => {\n const pending = safe(promise);\n if (signal === undefined) return pending;\n if (signal.aborted) return Promise.resolve({ status: 'cancelled' });\n return new Promise((resolve) => {\n let settled = false;\n const finish = (result: RawResponseCompletion) => {\n if (settled) return;\n settled = true;\n signal.removeEventListener('abort', onAbort);\n resolve(result);\n };\n const onAbort = () => finish({ status: 'cancelled' });\n signal.addEventListener('abort', onAbort, { once: true });\n pending.then(finish, () => finish({ status: 'failed', code: 'upstream_completion' }));\n });\n };\n return wait(body).then((bodyResult) => bodyResult.status === 'completed' ? wait(upstream) : bodyResult);\n}\n\nasync function discardBody(handle: BodyHandle, signal: AbortSignal): Promise<RawResponseCompletion> {\n try {\n const deadline = AbortSignal.any([signal, AbortSignal.timeout(1000)]);\n await handle.decoded(bodyConsumer(deadline));\n return { status: 'completed' };\n } catch (error) {\n if (signal.aborted) return { status: 'cancelled' };\n const code = (error as { code?: string })?.code;\n return { status: 'failed', code: code?.includes('too_large') ? 'body_limit' : 'body_error' };\n }\n}\n\nfunction isJsonContentType(response: Response): boolean {\n const contentType = response.headers.get('content-type')?.split(';', 1)[0].trim().toLowerCase();\n return contentType === 'application/json' || contentType?.endsWith('+json') === true;\n}\n\n\nfunction serialize(event: CodexSSEEvent): string {\n const envelope = event.envelope;\n if (envelope?.raw) return envelope.raw;\n const lines = (envelope?.comments ?? []).map(comment => `:${comment}`);\n if (envelope?.event !== undefined) lines.push(`event: ${envelope.event}`);\n if (envelope?.id !== undefined) lines.push(`id: ${envelope.id}`);\n if (envelope?.retry !== undefined) lines.push(`retry: ${envelope.retry}`);\n const data = event.type === 'done' ? '[DONE]' : envelope?.data ?? JSON.stringify(event.data);\n lines.push(...data.split('\\n').map(line => `data: ${line}`));\n return `${lines.join('\\n')}\\n\\n`;\n}\n\nfunction protocolStreamBody(\n handle: BodyHandle,\n target: Exclude<AdaptationTarget, 'models'>,\n includeUsage: boolean,\n signal: AbortSignal,\n redact?: RawResponseContext['redactDiagnostic'],\n preserveCustomTools = false,\n): { body: ReadableStream<Uint8Array>; completion: Promise<RawResponseCompletion> } {\n const protocolController = new AbortController();\n const onAbort = () => protocolController.abort(signal.reason ?? 'cancelled');\n if (signal.aborted) protocolController.abort(signal.reason ?? 'cancelled');\n else signal.addEventListener('abort', onAbort, { once: true });\n let resolveCompletion!: (result: RawResponseCompletion) => void;\n let settled = false;\n const settle = (result: RawResponseCompletion) => {\n if (settled) return;\n settled = true;\n resolveCompletion(result);\n };\n const completion = new Promise<RawResponseCompletion>((resolve) => { resolveCompletion = resolve; });\n const processor = new CodexResponseProcessor({ target, includeUsage, redactDiagnostic: redact, preserveCustomTools });\n let terminalOutcome: RawResponseCompletion | undefined;\n const events = parseCodexSSE(handle.events(bodyConsumer(protocolController.signal)), { signal: protocolController.signal });\n const iterator = (async function* (): AsyncGenerator<string> {\n try {\n for await (const event of events) {\n const output = processor.process(event);\n if (event.type === 'response.completed' || event.type === 'response.incomplete') {\n const final = processor.finish();\n terminalOutcome = final.terminal === 'completed'\n ? { status: 'completed' }\n : { status: 'incomplete', code: 'incomplete' };\n // A complete, validated protocol terminal is proof even if the client\n // closes the transport immediately after receiving this event.\n settle(terminalOutcome);\n }\n if (target === 'responses') yield serialize(event);\n else for (const chunk of output) yield `data: ${JSON.stringify(chunk)}\\n\\n`;\n }\n const final = processor.finish();\n const outcome = final.terminal === 'completed' ? { status: 'completed' as const } : { status: 'incomplete' as const, code: 'incomplete' };\n if (target === 'chat') yield 'data: [DONE]\\n\\n';\n settle(outcome);\n } catch (error) {\n const outcome = completionFromError(error, redact);\n settle(outcome.status === 'cancelled' ? terminalOutcome ?? outcome : outcome);\n if (outcome.status === 'failed' && outcome.error) {\n // A terminal error frame makes the reason observable to clients and the\n // response capture. Completion stays failed, even though HTTP is 200.\n const safe = errorBody(outcome.error, outcome.code);\n yield target === 'responses'\n ? `event: error\\ndata: ${JSON.stringify({ type: 'error', code: safe.code, message: safe.message, param: null, error: safe })}\\n\\n`\n : `data: ${JSON.stringify({ error: safe })}\\n\\n`;\n return;\n }\n throw error;\n } finally {\n signal.removeEventListener('abort', onAbort);\n }\n })()[Symbol.asyncIterator]();\n const body = new ReadableStream<Uint8Array>({\n async pull(controller) {\n try {\n const next = await iterator.next();\n if (next.done) controller.close();\n else if (next.value !== undefined) controller.enqueue(new TextEncoder().encode(next.value));\n } catch (error) {\n controller.error(error);\n }\n },\n cancel(reason) {\n settle(terminalOutcome ?? { status: 'cancelled' });\n protocolController.abort(reason ?? 'cancelled');\n void Promise.resolve(iterator.return?.(reason)).catch(() => undefined);\n },\n });\n return { body, completion };\n}\n\nexport class ChatgptOauthAdapter {\n private readonly requests = new Map<string, AdaptedRequest>();\n\n constructor() {}\n\n beforeRequest(context: MutableRequestContext): MutableRequestContext {\n const target = context.url.pathname === MODELS_PATH\n ? 'models'\n : context.url.pathname === CHAT_COMPLETIONS_PATH\n ? 'chat'\n : context.url.pathname === RESPONSES_PATH ? 'responses' : undefined;\n if (context.url.origin === SIWC_ORIGIN) {\n if (target === undefined) return context;\n const input = target === 'models' ? undefined : record(context.body);\n const stream = input?.stream === true;\n const includeUsage = input ? streamIncludesUsage(input) : false;\n context.body = input ? normalizeSiwcRequest(input, target as 'chat' | 'responses') : undefined;\n if (target !== 'models') context.url.pathname = RESPONSES_PATH;\n setSiwcHeaders(context, target);\n this.requests.set(context.requestId, Object.freeze({\n // SIWC Responses can return a valid SSE body without Content-Type.\n // The protocol parser still requires valid events and a terminal response.\n target, stream, includeUsage, siwc: true, allowMissingContentType: target !== 'models',\n adaptedResponses: new WeakSet<Response>(),\n }));\n return context;\n }\n if (context.url.pathname === CODEX_RESPONSES_PATH) {\n setCodexRoutingHint(context.headers, context.body);\n enforceCodexResponsesLite(context);\n return context;\n }\n if (target === undefined) return context;\n if (target === 'models') {\n context.body = undefined;\n context.url.pathname = CODEX_MODELS_PATH;\n context.url.search = `?client_version=${encodeURIComponent(CODEX_COMPATIBILITY_VERSION)}`;\n setHeader(context.headers, 'Accept', 'application/json');\n setHeader(context.headers, 'User-Agent', CODEX_MODELS_USER_AGENT);\n setHeader(context.headers, 'Originator', CODEX_MODELS_ORIGINATOR);\n this.requests.set(context.requestId, Object.freeze({\n target, stream: false, includeUsage: false, allowMissingContentType: false,\n adaptedResponses: new WeakSet<Response>(),\n }));\n return context;\n }\n const input = record(context.body);\n const stream = input.stream === true;\n const includeUsage = streamIncludesUsage(input);\n const promptCacheKey = validHeaderValue(input.prompt_cache_key) ? input.prompt_cache_key : undefined;\n const inboundSessionId = headerValue(context.headers, 'Session-Id');\n const sessionId = inboundSessionId ?? promptCacheKey;\n context.body = target === 'chat'\n ? convertChatCompletionsRequestToCodex(input)\n : normalizeCodexResponsesRequest(input);\n if (target === 'chat' && promptCacheKey !== undefined) context.body.prompt_cache_key = promptCacheKey;\n context.url.pathname = CODEX_RESPONSES_PATH;\n enforceCodexResponsesLite(context);\n setHeader(context.headers, 'Accept', 'text/event-stream');\n setHeader(context.headers, 'Content-Type', 'application/json');\n setHeader(context.headers, 'User-Agent', CODEX_RESPONSES_USER_AGENT);\n setHeader(context.headers, 'Originator', CODEX_RESPONSES_ORIGINATOR);\n setCodexRoutingHint(context.headers, context.body);\n for (const key of Object.keys(context.headers)) {\n if (key.toLowerCase() === 'session-id') delete context.headers[key];\n }\n if (sessionId !== undefined) setHeader(context.headers, 'Session-Id', sessionId);\n this.requests.set(context.requestId, Object.freeze({\n target,\n stream,\n includeUsage,\n allowMissingContentType: context.url.origin === CHATGPT_ORIGIN\n && context.url.pathname === CODEX_RESPONSES_PATH,\n adaptedResponses: new WeakSet<Response>(),\n }));\n return context;\n }\n\n reconcileOutboundRequest(context: MutableRequestContext): MutableRequestContext {\n if (context.url.origin === SIWC_ORIGIN) {\n if (context.url.pathname === RESPONSES_PATH) {\n context.body = normalizeSiwcRequest(record(context.body), 'responses');\n setSiwcHeaders(context, 'responses');\n } else if (context.url.pathname === MODELS_PATH) setSiwcHeaders(context, 'models');\n return context;\n }\n if (context.url.pathname === CODEX_RESPONSES_PATH) {\n setCodexRoutingHint(context.headers, context.body);\n enforceCodexResponsesLite(context);\n }\n return context;\n }\n\n async rawResponse(result: RawResponseResult, context: RawResponseContext): Promise<RawResponseResult> {\n const current = this.requests.get(context.requestId);\n if (current === undefined || current.adaptedResponses.has(result.response)) return result;\n current.adaptedResponses.add(result.response);\n const state = current.attemptId === undefined\n ? Object.freeze({ ...current, attemptId: context.attemptId })\n : current;\n if (state !== current && this.requests.get(context.requestId) === current) this.requests.set(context.requestId, state);\n const cleanup = () => { if (this.requests.get(context.requestId) === state) this.requests.delete(context.requestId); };\n const mark = (response: Response): Response => { current.adaptedResponses.add(response); return response; };\n const errorResponse = (status: number, completion: Promise<RawResponseCompletion>, error?: RawResponseError): RawResponseResult => {\n const response = mark(new Response(JSON.stringify({ error: errorBody(error) }), {\n status,\n statusText: result.response.statusText,\n headers: responseHeaders(result.response, 'application/json; charset=utf-8'),\n }));\n void completion.then(cleanup, cleanup);\n return { response, completion };\n };\n\n // The host owns wire reading, decompression, framing and JSON caching.\n // Adaptation requires that explicit shared view; there is no private reader fallback.\n if (!context.bodyHandle) {\n return errorResponse(502, Promise.resolve({ status: 'failed', code: 'body_view_missing' }));\n }\n\n if (!result.response.ok) {\n const failure = await readHttpError(context);\n return errorResponse(result.response.status, joinCompletion(result.completion, Promise.resolve(failure), context.signal), 'error' in failure ? failure.error : undefined);\n }\n\n if (state.target === 'models') {\n if (!isJsonContentType(result.response)) {\n const bodyCompletion = discardBody(context.bodyHandle, context.signal).then((outcome): RawResponseCompletion =>\n outcome.status === 'completed' ? { status: 'failed', code: 'invalid_content_type' } : outcome);\n return errorResponse(502, joinCompletion(result.completion, bodyCompletion, context.signal));\n }\n if (!result.response.body) {\n return errorResponse(502, joinCompletion(result.completion, Promise.resolve({ status: 'failed', code: 'invalid_response' }), context.signal));\n }\n try {\n const payload = await context.bodyHandle.json(bodyConsumer(context.signal));\n const models = state.siwc ? parseSiwcModelsBody(payload) : parseCodexModelsPayload(payload);\n const body = {\n object: 'list',\n data: models.map(({ id }) => ({ id, object: 'model', owned_by: 'openai' })),\n };\n const completion = joinCompletion(result.completion, Promise.resolve({ status: 'completed' as const }), context.signal);\n const response = mark(new Response(JSON.stringify(body), {\n status: result.response.status,\n statusText: result.response.statusText,\n headers: responseHeaders(result.response, 'application/json; charset=utf-8'),\n }));\n void completion.then(cleanup, cleanup);\n return { response, completion };\n } catch (error) {\n const failure = completionFromError(error, context.redactDiagnostic);\n return errorResponse(502, joinCompletion(result.completion, Promise.resolve(failure), context.signal), 'error' in failure ? failure.error : undefined);\n }\n }\n\n const contentType = result.response.headers.get('content-type');\n const hasEventStream = contentType?.split(';', 1)[0].trim().toLowerCase() === 'text/event-stream';\n const allowMissingContentType = state.allowMissingContentType && contentType === null;\n if ((!hasEventStream && !allowMissingContentType) || !result.response.body) {\n const bodyCompletion = !hasEventStream && !allowMissingContentType\n ? discardBody(context.bodyHandle, context.signal).then((outcome): RawResponseCompletion =>\n outcome.status === 'completed' ? { status: 'failed', code: 'invalid_content_type' } : outcome)\n : Promise.resolve({ status: 'failed' as const, code: 'invalid_response' });\n return errorResponse(502, joinCompletion(result.completion, bodyCompletion, context.signal));\n }\n if (state.stream) {\n const converted = protocolStreamBody(context.bodyHandle, state.target, state.includeUsage, context.signal, context.redactDiagnostic, state.siwc);\n // A validated terminal is proof before transport EOF. An already failed\n // upstream must still settle even if its body never reaches a terminal.\n const streamCompletion = Promise.race([\n converted.completion,\n result.completion.then(upstream => upstream.status === 'failed' ? upstream : converted.completion,\n () => ({ status: 'failed' as const, code: 'upstream_completion' })),\n ]);\n void streamCompletion.then(cleanup, cleanup);\n return {\n response: mark(new Response(converted.body, { status: result.response.status, statusText: result.response.statusText, headers: responseHeaders(result.response, 'text/event-stream') })),\n completion: streamCompletion,\n };\n }\n try {\n const stateResult = await consumeCodexResponse(context.bodyHandle.events(bodyConsumer(context.signal)), {\n signal: context.signal,\n request: { stream_options: { include_usage: state.includeUsage } },\n target: state.target,\n redactDiagnostic: context.redactDiagnostic,\n });\n const body = state.target === 'chat' ? responsesToChatCompletion(stateResult.response, state.siwc) : stateResult.response;\n const protocolCompletion: Promise<RawResponseCompletion> = Promise.resolve(\n stateResult.terminal === 'completed' ? { status: 'completed' } : { status: 'incomplete', code: 'incomplete' },\n );\n const nonStreamCompletion = joinCompletion(result.completion, protocolCompletion, context.signal);\n void nonStreamCompletion.then(cleanup, cleanup);\n return { response: mark(new Response(JSON.stringify(body), { status: result.response.status, statusText: result.response.statusText, headers: responseHeaders(result.response, 'application/json; charset=utf-8') })), completion: nonStreamCompletion };\n } catch (error) {\n const failure = completionFromError(error, context.redactDiagnostic);\n const failedCompletion = joinCompletion(result.completion, Promise.resolve(failure), context.signal);\n return errorResponse(502, failedCompletion, 'error' in failure ? failure.error : undefined);\n }\n }\n\n}\n",
25
- "import { businessRpc } from './rpc';\nimport type { Plugin } from '@jeffusion/bungee-core/plugin';\nimport type { PluginHooks, RawResponseContext } from '@jeffusion/bungee-core/plugin';\nimport { definePlugin } from '@jeffusion/bungee-core/plugin';\nimport { ChatgptOauthAdapter } from './adapter';\n\nfunction validAccountRef(value: unknown): value is string {\n return typeof value === 'string'\n && value.length >= 1\n && value.length <= 128\n && value.trim() === value;\n}\n\nexport const ChatgptOauthPlugin = definePlugin(\n class implements Plugin {\n static readonly controlRpcContract = businessRpc;\n static readonly name = 'chatgpt-oauth';\n static readonly version = '1.0.0';\n\n private readonly adapter: ChatgptOauthAdapter;\n\n constructor(config: Record<string, unknown> = {}) {\n if (config.accountRef !== undefined && !validAccountRef(config.accountRef)) {\n throw new Error('accountRef must be a trimmed non-empty string of at most 128 characters');\n }\n this.adapter = new ChatgptOauthAdapter();\n }\n\n bodyRequirements(context: import('@jeffusion/bungee-core/plugin').PluginBodyRequirementContext): import('@jeffusion/bungee-core/plugin').PluginBodyRequirements {\n const path = context.url.pathname;\n if (path === '/v1/models' && context.method.toUpperCase() === 'GET') return { request: 'none', response: ['json'] };\n return context.method.toUpperCase() === 'POST' && ['/v1/chat/completions', '/v1/responses', '/backend-api/codex/responses'].includes(path) ? { request: 'json-write', response: path === '/backend-api/codex/responses' ? [] : ['json', 'sse-json'] } : { request: 'none' };\n }\n\n register(hooks: PluginHooks): void {\n hooks.onBeforeRequest.tap(\n { name: 'chatgpt-oauth', stage: -10 },\n (context) => this.adapter.beforeRequest(context),\n );\n // Reconcile after the currently registered request-transform stages; higher stages/scopes may still run later.\n hooks.onBeforeRequest.tap(\n { name: 'chatgpt-oauth-outbound-reconciliation', stage: 1000 },\n (context) => this.adapter.reconcileOutboundRequest(context),\n );\n hooks.onRawResponse.tapPromise(\n { name: 'chatgpt-oauth', stage: -10 },\n (result, context: RawResponseContext) => this.adapter.rawResponse(result, context),\n );\n }\n },\n);\n\nexport default ChatgptOauthPlugin;\n"
25
+ "import { businessRpc } from './rpc';\nimport type { Plugin } from '@jeffusion/bungee-core/plugin';\nimport type { PluginHooks, RawResponseContext } from '@jeffusion/bungee-core/plugin';\nimport { definePlugin } from '@jeffusion/bungee-core/plugin';\nimport { ChatgptOauthAdapter } from './adapter';\n\nfunction validAccountRef(value: unknown): value is string {\n return typeof value === 'string'\n && value.length >= 1\n && value.length <= 128\n && value.trim() === value;\n}\n\nexport const ChatgptOauthPlugin = definePlugin(\n class implements Plugin {\n static readonly controlRpcContract = businessRpc;\n static readonly name = 'chatgpt-oauth';\n static readonly version = '1.0.0';\n\n private readonly adapter: ChatgptOauthAdapter;\n\n constructor(config: Record<string, unknown> = {}) {\n if (config.accountRef !== undefined && !validAccountRef(config.accountRef)) {\n throw new Error('accountRef must be a trimmed non-empty string of at most 128 characters');\n }\n this.adapter = new ChatgptOauthAdapter();\n }\n\n bodyRequirements(context: import('@jeffusion/bungee-core/plugin').PluginBodyRequirementContext): import('@jeffusion/bungee-core/plugin').PluginBodyRequirements {\n const path = context.url.pathname;\n if (path === '/v1/models' && context.method.toUpperCase() === 'GET') return { request: 'none', response: ['json'] };\n return context.method.toUpperCase() === 'POST' && ['/v1/chat/completions', '/v1/responses', '/backend-api/codex/responses'].includes(path) ? { request: 'json-write', response: path === '/backend-api/codex/responses' ? [] : ['json', 'sse-json'] } : { request: 'none' };\n }\n\n register(hooks: PluginHooks): void {\n hooks.onWebSocketHandshake.tap('chatgpt-oauth', context => {\n if (context.url.origin === 'https://chatgpt.com' && context.url.pathname === '/v1/responses')\n context.url.pathname = '/backend-api/codex/responses';\n return context;\n });\n hooks.onBeforeRequest.tap(\n { name: 'chatgpt-oauth', stage: -10 },\n (context) => this.adapter.beforeRequest(context),\n );\n // Reconcile after the currently registered request-transform stages; higher stages/scopes may still run later.\n hooks.onBeforeRequest.tap(\n { name: 'chatgpt-oauth-outbound-reconciliation', stage: 1000 },\n (context) => this.adapter.reconcileOutboundRequest(context),\n );\n hooks.onRawResponse.tapPromise(\n { name: 'chatgpt-oauth', stage: -10 },\n (result, context: RawResponseContext) => this.adapter.rawResponse(result, context),\n );\n }\n },\n);\n\nexport default ChatgptOauthPlugin;\n"
26
26
  ],
27
- "mappings": "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",
28
- "debugId": "150F9F921F3BE81B64756E2164756E21",
27
+ "mappings": "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",
28
+ "debugId": "EC7D691FE690130864756E2164756E21",
29
29
  "names": []
30
30
  }
@@ -278,6 +278,31 @@
278
278
  }
279
279
  }
280
280
  },
281
+ {
282
+ "pathname": "/backend-api/codex/responses",
283
+ "methods": [
284
+ "GET"
285
+ ],
286
+ "outboundHeaders": {
287
+ "passthrough": [
288
+ "Version",
289
+ "X-Codex-Beta-Features",
290
+ "X-Codex-Turn-Metadata",
291
+ "X-Client-Request-Id",
292
+ "X-Codex-Window-Id",
293
+ "Thread-Id",
294
+ "Session-Id",
295
+ "X-Codex-Routing-Hint",
296
+ "X-OpenAI-Internal-Codex-Responses-Lite",
297
+ "OpenAI-Beta",
298
+ "Origin"
299
+ ],
300
+ "set": {
301
+ "User-Agent": "codex-tui/0.154.0 (Mac OS 26.5.2; arm64) iTerm.app/3.6.11 (codex-tui; 0.154.0)",
302
+ "Originator": "codex-tui"
303
+ }
304
+ }
305
+ },
281
306
  {
282
307
  "pathname": "/backend-api/codex/models",
283
308
  "methods": [
@@ -324,6 +349,22 @@
324
349
  }
325
350
  }
326
351
  },
352
+ {
353
+ "pathname": "/v1/responses",
354
+ "methods": [
355
+ "GET"
356
+ ],
357
+ "outboundHeaders": {
358
+ "passthrough": [
359
+ "OpenAI-Beta",
360
+ "Origin"
361
+ ],
362
+ "set": {
363
+ "User-Agent": "Bungee/5.11.0",
364
+ "Originator": "Bungee"
365
+ }
366
+ }
367
+ },
327
368
  {
328
369
  "pathname": "/v1/models",
329
370
  "methods": [