Fix cloud

This commit is contained in:
decolua
2026-01-29 18:07:28 +07:00
parent 239377143e
commit c7219d0ac9
13 changed files with 40 additions and 33 deletions

View File

@@ -3,7 +3,7 @@ import { FORMATS } from "../formats.js";
import { adjustMaxTokens } from "../helpers/maxTokensHelper.js";
// Convert Claude request to OpenAI format
function claudeToOpenAIRequest(model, body, stream) {
export function claudeToOpenAIRequest(model, body, stream) {
const result = {
model: model,
messages: [],

View File

@@ -3,7 +3,7 @@ import { FORMATS } from "../formats.js";
import { adjustMaxTokens } from "../helpers/maxTokensHelper.js";
// Convert Gemini request to OpenAI format
function geminiToOpenAIRequest(model, body, stream) {
export function geminiToOpenAIRequest(model, body, stream) {
const result = {
model: model,
messages: [],

View File

@@ -10,7 +10,7 @@ import { FORMATS } from "../formats.js";
/**
* Convert OpenAI Responses API request to OpenAI Chat Completions format
*/
function openaiResponsesToOpenAIRequest(model, body, stream, credentials) {
export function openaiResponsesToOpenAIRequest(model, body, stream, credentials) {
if (!body.input) return body;
const result = { ...body };
@@ -134,7 +134,7 @@ function openaiResponsesToOpenAIRequest(model, body, stream, credentials) {
/**
* Convert OpenAI Chat Completions to OpenAI Responses API format
*/
function openaiToOpenAIResponsesRequest(model, body, stream, credentials) {
export function openaiToOpenAIResponsesRequest(model, body, stream, credentials) {
const result = {
model,
input: [],

View File

@@ -7,7 +7,7 @@ import { adjustMaxTokens } from "../helpers/maxTokensHelper.js";
const CLAUDE_OAUTH_TOOL_PREFIX = "proxy_";
// Convert OpenAI request to Claude format
function openaiToClaudeRequest(model, body, stream) {
export function openaiToClaudeRequest(model, body, stream) {
// Tool name mapping for Claude OAuth (capitalizedName → originalName)
const toolNameMap = new Map();
const result = {

View File

@@ -191,12 +191,12 @@ function openaiToGeminiBase(model, body, stream) {
}
// OpenAI -> Gemini (standard API)
function openaiToGeminiRequest(model, body, stream) {
export function openaiToGeminiRequest(model, body, stream) {
return openaiToGeminiBase(model, body, stream);
}
// OpenAI -> Gemini CLI (Cloud Code Assist)
function openaiToGeminiCLIRequest(model, body, stream) {
export function openaiToGeminiCLIRequest(model, body, stream) {
const gemini = openaiToGeminiBase(model, body, stream);
const isClaude = model.toLowerCase().includes("claude");
@@ -386,7 +386,7 @@ function wrapInCloudCodeEnvelopeForClaude(model, claudeRequest, credentials = nu
}
// OpenAI -> Antigravity (Sandbox Cloud Code with wrapper)
function openaiToAntigravityRequest(model, body, stream, credentials = null) {
export function openaiToAntigravityRequest(model, body, stream, credentials = null) {
const isClaude = model.toLowerCase().includes("claude");
if (isClaude) {

View File

@@ -230,7 +230,7 @@ function convertMessages(messages, tools, model) {
/**
* Build Kiro payload from OpenAI format
*/
function buildKiroPayload(model, body, stream, credentials) {
export function buildKiroPayload(model, body, stream, credentials) {
const messages = body.messages || [];
const tools = body.tools || [];
const maxTokens = 32000;
@@ -278,5 +278,3 @@ function buildKiroPayload(model, body, stream, credentials) {
}
register(FORMATS.OPENAI, FORMATS.KIRO, buildKiroPayload, null);
export { buildKiroPayload };

View File

@@ -17,7 +17,7 @@ function createChunk(state, delta, finishReason = null) {
}
// Convert Claude stream chunk to OpenAI format
function claudeToOpenAIResponse(chunk, state) {
export function claudeToOpenAIResponse(chunk, state) {
if (!chunk) return null;
const results = [];

View File

@@ -2,7 +2,7 @@ import { register } from "../index.js";
import { FORMATS } from "../formats.js";
// Convert Gemini response chunk to OpenAI format
function geminiToOpenAIResponse(chunk, state) {
export function geminiToOpenAIResponse(chunk, state) {
if (!chunk) return null;
// Handle Antigravity wrapper

View File

@@ -9,7 +9,7 @@ import { FORMATS } from "../formats.js";
* Parse Kiro SSE event and convert to OpenAI format
* Kiro events: assistantResponseEvent, codeEvent, supplementaryWebLinksEvent, etc.
*/
function convertKiroToOpenAI(chunk, state) {
export function convertKiroToOpenAI(chunk, state) {
if (!chunk) return null;
@@ -181,5 +181,3 @@ function convertKiroToOpenAI(chunk, state) {
// Register translator
register(FORMATS.KIRO, FORMATS.OPENAI, null, convertKiroToOpenAI);
export { convertKiroToOpenAI };

View File

@@ -9,7 +9,7 @@ import { FORMATS } from "../formats.js";
* Translate OpenAI chunk to Responses API events
* @returns {Array} Array of events with { event, data } structure
*/
function openaiToOpenAIResponsesResponse(chunk, state) {
export function openaiToOpenAIResponsesResponse(chunk, state) {
if (!chunk) {
return flushEvents(state);
}
@@ -359,7 +359,7 @@ function flushEvents(state) {
* Translate OpenAI Responses API chunk to OpenAI Chat Completions format
* This is for when Codex returns data and we need to send it to an OpenAI-compatible client
*/
function openaiResponsesToOpenAIResponse(chunk, state) {
export function openaiResponsesToOpenAIResponse(chunk, state) {
if (!chunk) {
// Flush: send final chunk with finish_reason
if (!state.finishReasonSent && state.started) {

View File

@@ -26,7 +26,7 @@ function stopTextBlock(state, results) {
}
// Convert OpenAI stream chunk to Claude format
function openaiToClaudeResponse(chunk, state) {
export function openaiToClaudeResponse(chunk, state) {
if (!chunk || !chunk.choices?.[0]) return null;
const results = [];