refactor(open-sse): registry consolidation + DRY media/oauth/adhoc cleanup

- Single-source registry: oauth clientId/tokenUrl, usage URLs, image/embed
  configs, search defaultModel, codex fixedPort, google token url derive.
- Remove 29 unused OmniRoute providers (registry 100→71); media intact.
- De-adhoc: codex literals → registry format/oauth flags; reasoningInject,
  image/embed openrouter headers + xai bodyFields config-driven.
- Add REGISTRY_TEMPLATE.js + expand PROVIDER_DEFAULTS/schema JSDoc.
- Baselines updated; PROVIDERS 62 + alias 90 byte-for-byte, golden snapshots.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
decolua
2026-06-14 13:15:48 +07:00
parent 9105dd0e25
commit bb9e9aa91f
166 changed files with 3089 additions and 3067 deletions

View File

@@ -12,6 +12,7 @@ import {
KIRO_AGENTIC_SYSTEM_PROMPT,
resolveDefaultProfileArn
} from "../../config/kiroConstants.js";
import { parseDataUri } from "../helpers/imageHelper.js";
/** Render a single tool call as a readable text line. */
function toolCallToText(name, input) {
@@ -289,11 +290,10 @@ function convertMessages(messages, tools, model) {
} else if (c.type === "image_url") {
// OpenAI format: image_url.url with data URI
const url = c.image_url?.url || "";
const base64Match = url.match(/^data:([^;]+);base64,(.+)$/);
if (base64Match) {
const mediaType = base64Match[1];
const format = mediaType.split("/")[1] || mediaType;
pendingImages.push({ format, source: { bytes: base64Match[2] } });
const parsed = parseDataUri(url);
if (parsed) {
const format = parsed.mimeType.split("/")[1] || parsed.mimeType;
pendingImages.push({ format, source: { bytes: parsed.base64 } });
} else if (url.startsWith("http://") || url.startsWith("https://")) {
// Kiro only supports base64 — fallback to URL text
textParts.push(`[Image: ${url}]`);