import { resolveCliBackendConfig, resolveCliBackendLiveTest } from "../src/agents/cli-backends.js"; const provider = process.argv[2]?.trim().toLowerCase(); if (!provider) { console.error("usage: node scripts/print-cli-backend-live-metadata.ts "); process.exit(1); } async function loadFallbackBackend(id: string) { switch (id) { case "claude-cli": { const mod = await import("../extensions/anthropic/cli-backend.ts"); return mod.buildAnthropicCliBackend(); } case "codex-cli": { const mod = await import("../extensions/openai/cli-backend.ts"); return mod.buildOpenAICodexCliBackend(); } case "google-gemini-cli": { const mod = await import("../extensions/google/cli-backend.ts"); return mod.buildGoogleGeminiCliBackend(); } default: return null; } } const resolved = resolveCliBackendConfig(provider); const liveTest = resolveCliBackendLiveTest(provider); const fallbackBackend = !resolved || !liveTest?.defaultModelRef ? await loadFallbackBackend(provider) : null; const backendConfig = resolved?.config ?? fallbackBackend?.config; const backendLiveTest = liveTest ?? (fallbackBackend ? { defaultModelRef: fallbackBackend.liveTest?.defaultModelRef, defaultImageProbe: fallbackBackend.liveTest?.defaultImageProbe === true, defaultMcpProbe: fallbackBackend.liveTest?.defaultMcpProbe === true, dockerNpmPackage: fallbackBackend.liveTest?.docker?.npmPackage, dockerBinaryName: fallbackBackend.liveTest?.docker?.binaryName, } : null); process.stdout.write( JSON.stringify( { provider, command: backendConfig?.command, args: backendConfig?.args, clearEnv: backendConfig?.clearEnv ?? [], imageArg: backendConfig?.imageArg, imageMode: backendConfig?.imageMode, systemPromptWhen: backendConfig?.systemPromptWhen ?? "never", bundleMcp: resolved?.bundleMcp === true || fallbackBackend?.bundleMcp === true, bundleMcpMode: resolved?.bundleMcpMode ?? fallbackBackend?.bundleMcpMode, defaultModelRef: backendLiveTest?.defaultModelRef, defaultImageProbe: backendLiveTest?.defaultImageProbe === true, defaultMcpProbe: backendLiveTest?.defaultMcpProbe === true, dockerNpmPackage: backendLiveTest?.dockerNpmPackage, dockerBinaryName: backendLiveTest?.dockerBinaryName, }, null, 2, ), );