// connect.js — „Verbinden" (v4): IDEs/Agenten anbinden, Verbindung testen, Bild/Vision-Flow. import { api } from "../core/api.js"; import { $, esc, icon } from "../core/ui.js"; let S = null; let lastSig = ""; window.mcCopyVal = btn => { const i = btn.previousElementSibling; navigator.clipboard?.writeText(i.value); const o = btn.textContent; btn.textContent = "Kopiert!"; setTimeout(() => (btn.textContent = o), 1200); }; window.mcCopyCode = btn => { const code = btn.parentElement.querySelector("code"); navigator.clipboard?.writeText(code.textContent); const o = btn.textContent; btn.textContent = "Kopiert!"; setTimeout(() => (btn.textContent = o), 1200); }; window.cnGo = v => document.querySelector(`.nav-item[data-view="${v}"]`)?.click(); function baseUrl() { return `${location.protocol}//${location.hostname}:8080/v1`; } function models() { return S?.models || []; } // Fertige opencode.json fuer einen OpenAI-kompatiblen Provider auf llama-swap. function openCodeConfig(url, ids) { const list = ids.length ? ids : ["coder"]; const modelMap = list.map(id => ` "${id}": { "name": "${id}" }`).join(",\n"); return `{ "$schema": "https://opencode.ai/config.json", "provider": { "llama-swap": { "npm": "@ai-sdk/openai-compatible", "name": "Bosgame (llama-swap)", "options": { "baseURL": "${url}", "apiKey": "local" }, "models": { ${modelMap} } } } }`; } function field(label, value) { return `
${esc(snippet)}