import { api } from "../lib/api.js"; import { on } from "../lib/bus.js"; class DebugPanel extends HTMLElement { constructor() { super(); this.attachShadow({ mode: "open" }); this.shadowRoot.innerHTML = `
Detalle (click en cualquier burbuja)
INTENT
STATE
`; } connectedCallback() { const out = this.shadowRoot.getElementById("out"); const intentEl = this.shadowRoot.getElementById("intent"); const stateEl = this.shadowRoot.getElementById("state"); this._unsub = on("ui:selectedMessage", async ({ message }) => { if (!message) { out.textContent = "—"; intentEl.textContent = "—"; stateEl.textContent = "—"; return; } const base = { message }; if (message.run_id) { try { const run = await api.runById(message.run_id); base.run = run; const intent = run?.llm_output?.intent || "—"; const state = run?.llm_output?.next_state || "—"; intentEl.textContent = intent; stateEl.textContent = state; } catch (e) { base.run_error = String(e?.message || e); intentEl.textContent = "—"; stateEl.textContent = "—"; } } else { intentEl.textContent = "—"; stateEl.textContent = "—"; } out.textContent = JSON.stringify(base, null, 2); }); } disconnectedCallback() { this._unsub?.(); } } customElements.define("debug-panel", DebugPanel);