Added Usage page.
This commit is contained in:
@@ -39,7 +39,6 @@ export const PROVIDER_MODELS = {
|
||||
{ id: "deepseek-v3.2-chat", name: "DeepSeek V3.2 Chat" },
|
||||
{ id: "deepseek-v3.2-reasoner", name: "DeepSeek V3.2 Reasoner" },
|
||||
{ id: "minimax-m2", name: "MiniMax M2" },
|
||||
{ id: "glm-4.6", name: "GLM 4.6" },
|
||||
{ id: "glm-4.7", name: "GLM 4.7" },
|
||||
],
|
||||
ag: [ // Antigravity - special case: models call different backends
|
||||
@@ -70,7 +69,7 @@ export const PROVIDER_MODELS = {
|
||||
{ id: "grok-code-fast-1", name: "Grok Code Fast 1" },
|
||||
],
|
||||
kr: [ // Kiro AI
|
||||
{ id: "claude-opus-4.5", name: "Claude Opus 4.5" },
|
||||
// { id: "claude-opus-4.5", name: "Claude Opus 4.5" },
|
||||
{ id: "claude-sonnet-4.5", name: "Claude Sonnet 4.5" },
|
||||
{ id: "claude-haiku-4.5", name: "Claude Haiku 4.5" },
|
||||
],
|
||||
@@ -99,7 +98,6 @@ export const PROVIDER_MODELS = {
|
||||
],
|
||||
glm: [
|
||||
{ id: "glm-4.7", name: "GLM 4.7" },
|
||||
{ id: "glm-4.6", name: "GLM 4.6" },
|
||||
{ id: "glm-4.6v", name: "GLM 4.6V (Vision)" },
|
||||
],
|
||||
kimi: [
|
||||
|
||||
@@ -8,6 +8,9 @@ import { normalizeThinkingConfig } from "../services/provider.js";
|
||||
const requestRegistry = new Map();
|
||||
const responseRegistry = new Map();
|
||||
|
||||
// Track initialization state
|
||||
let initialized = false;
|
||||
|
||||
// Register translator
|
||||
export function register(from, to, requestFn, responseFn) {
|
||||
const key = `${from}:${to}`;
|
||||
@@ -19,8 +22,30 @@ export function register(from, to, requestFn, responseFn) {
|
||||
}
|
||||
}
|
||||
|
||||
// Lazy load translators (called once on first use)
|
||||
function ensureInitialized() {
|
||||
if (initialized) return;
|
||||
initialized = true;
|
||||
|
||||
// Request translators - sync require pattern for bundler
|
||||
require("./request/claude-to-openai.js");
|
||||
require("./request/openai-to-claude.js");
|
||||
require("./request/gemini-to-openai.js");
|
||||
require("./request/openai-to-gemini.js");
|
||||
require("./request/openai-responses.js");
|
||||
require("./request/openai-to-kiro.js");
|
||||
|
||||
// Response translators
|
||||
require("./response/claude-to-openai.js");
|
||||
require("./response/openai-to-claude.js");
|
||||
require("./response/gemini-to-openai.js");
|
||||
require("./response/openai-responses.js");
|
||||
require("./response/kiro-to-openai.js");
|
||||
}
|
||||
|
||||
// Translate request: source -> openai -> target
|
||||
export function translateRequest(sourceFormat, targetFormat, model, body, stream = true, credentials = null, provider = null) {
|
||||
ensureInitialized();
|
||||
let result = body;
|
||||
|
||||
// Normalize thinking config: remove if lastMessage is not user
|
||||
@@ -66,6 +91,7 @@ export function translateRequest(sourceFormat, targetFormat, model, body, stream
|
||||
|
||||
// Translate response chunk: target -> openai -> source
|
||||
export function translateResponse(targetFormat, sourceFormat, chunk, state) {
|
||||
ensureInitialized();
|
||||
// If same format, return as-is
|
||||
if (sourceFormat === targetFormat) {
|
||||
return [chunk];
|
||||
@@ -155,20 +181,7 @@ export function initState(sourceFormat) {
|
||||
return base;
|
||||
}
|
||||
|
||||
// Initialize all translators
|
||||
export async function initTranslators() {
|
||||
// Request translators
|
||||
await import("./request/claude-to-openai.js");
|
||||
await import("./request/openai-to-claude.js");
|
||||
await import("./request/gemini-to-openai.js");
|
||||
await import("./request/openai-to-gemini.js");
|
||||
await import("./request/openai-responses.js");
|
||||
await import("./request/openai-to-kiro.js");
|
||||
|
||||
// Response translators
|
||||
await import("./response/claude-to-openai.js");
|
||||
await import("./response/openai-to-claude.js");
|
||||
await import("./response/gemini-to-openai.js");
|
||||
await import("./response/openai-responses.js");
|
||||
await import("./response/kiro-to-openai.js");
|
||||
// Initialize all translators (kept for backward compatibility)
|
||||
export function initTranslators() {
|
||||
ensureInitialized();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user