xonecode 0.9.0 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/THIRD_PARTY_NOTICES.md +56 -0
- package/apps/web/dist/assets/index-BAyybSz-.css +1 -0
- package/apps/web/dist/assets/index-BNCMVjWv.js +485 -0
- package/apps/web/dist/assets/{php-DjRQ1K-w.js → php-DPbDT8rX.js} +1 -1
- package/apps/web/dist/assets/{ruby-BcLyZ3qi.js → ruby-Bfvws9R8.js} +1 -1
- package/apps/web/dist/index.html +2 -2
- package/apps/web/dist/openui/visor.css +1 -0
- package/apps/web/dist/openui/visor.js +9113 -0
- package/dist/agent/exportarPdf.js +5 -1
- package/dist/agent/exportarPdf.js.map +1 -1
- package/dist/agent/grafo/arbolDeProyecto.js +66 -1
- package/dist/agent/grafo/arbolDeProyecto.js.map +1 -1
- package/dist/agent/grafo/memoriaDeProyecto.js +3 -2
- package/dist/agent/grafo/memoriaDeProyecto.js.map +1 -1
- package/dist/agent/grafo/navegacionXone.js +8 -3
- package/dist/agent/grafo/navegacionXone.js.map +1 -1
- package/dist/agent/grafo/proyecto.js +31 -15
- package/dist/agent/grafo/proyecto.js.map +1 -1
- package/dist/agent/grafo/unirSecciones.js +128 -0
- package/dist/agent/grafo/unirSecciones.js.map +1 -0
- package/dist/agent/grafo/xoneAgent.js +7 -0
- package/dist/agent/grafo/xoneAgent.js.map +1 -1
- package/dist/agent/motores/trueforge/capacidades.js +42 -1
- package/dist/agent/motores/trueforge/capacidades.js.map +1 -1
- package/dist/agent/motores/trueforge/eventosTrueforge.js +52 -7
- package/dist/agent/motores/trueforge/eventosTrueforge.js.map +1 -1
- package/dist/agent/motores/trueforge/modeloLangchain.js +5 -2
- package/dist/agent/motores/trueforge/modeloLangchain.js.map +1 -1
- package/dist/agent/motores/trueforge/sesionTrueforge.js +19 -2
- package/dist/agent/motores/trueforge/sesionTrueforge.js.map +1 -1
- package/dist/agent/motores/trueforge/toolsDeFichero.js +3 -2
- package/dist/agent/motores/trueforge/toolsDeFichero.js.map +1 -1
- package/dist/agent/motores/trueforge/trueforge.js +1 -1
- package/dist/agent/motores/trueforge/trueforge.js.map +1 -1
- package/dist/agent/navegacion/indiceEnDisco.js +10 -1
- package/dist/agent/navegacion/indiceEnDisco.js.map +1 -1
- package/dist/agent/planesEnDisco.js +64 -0
- package/dist/agent/planesEnDisco.js.map +1 -0
- package/dist/agent/sesiones/modeloDelCambio.js +70 -0
- package/dist/agent/sesiones/modeloDelCambio.js.map +1 -0
- package/dist/agent/sesiones/sesionGit.js +14 -0
- package/dist/agent/sesiones/sesionGit.js.map +1 -1
- package/dist/agent/subagentes/agentesEnDisco.js +95 -5
- package/dist/agent/subagentes/agentesEnDisco.js.map +1 -1
- package/dist/agent/subagentes/escrituraExterna.js +8 -2
- package/dist/agent/subagentes/escrituraExterna.js.map +1 -1
- package/dist/agent/subagentes/subagenteCodex.js +1 -1
- package/dist/agent/subagentes/subagenteCodex.js.map +1 -1
- package/dist/agent/subagentes/subagenteExterno.js +1 -1
- package/dist/agent/subagentes/subagenteExterno.js.map +1 -1
- package/dist/agent/subagentes/subagenteOpencode.js +1 -1
- package/dist/agent/subagentes/subagenteOpencode.js.map +1 -1
- package/dist/agent/turno/puente.js +17 -1
- package/dist/agent/turno/puente.js.map +1 -1
- package/dist/agent/turno/resumenDeContexto.js +17 -4
- package/dist/agent/turno/resumenDeContexto.js.map +1 -1
- package/dist/agent/turno/turnoReal.js +16 -2
- package/dist/agent/turno/turnoReal.js.map +1 -1
- package/dist/cli/tui/transcript.js +4 -0
- package/dist/cli/tui/transcript.js.map +1 -1
- package/dist/core/actos.js.map +1 -1
- package/dist/core/agentes.js +17 -0
- package/dist/core/agentes.js.map +1 -1
- package/dist/core/artefactos.js +22 -0
- package/dist/core/artefactos.js.map +1 -1
- package/dist/core/diffDeColecciones.js +84 -0
- package/dist/core/diffDeColecciones.js.map +1 -0
- package/dist/core/exportacion.js +6 -1
- package/dist/core/exportacion.js.map +1 -1
- package/dist/core/fotoDeColecciones.js +48 -0
- package/dist/core/fotoDeColecciones.js.map +1 -0
- package/dist/core/imagenesDeDocumento.js +88 -0
- package/dist/core/imagenesDeDocumento.js.map +1 -0
- package/dist/core/memoria.js +24 -0
- package/dist/core/memoria.js.map +1 -0
- package/dist/core/navegacion.js.map +1 -1
- package/dist/core/notify.js +23 -5
- package/dist/core/notify.js.map +1 -1
- package/dist/core/ports.js.map +1 -1
- package/dist/core/serieDeEscrituras.js +13 -0
- package/dist/core/serieDeEscrituras.js.map +1 -1
- package/dist/core/settings.js +17 -1
- package/dist/core/settings.js.map +1 -1
- package/dist/core/tareasDelPlan.js +103 -0
- package/dist/core/tareasDelPlan.js.map +1 -0
- package/dist/core/trazaDeErrores.js +42 -9
- package/dist/core/trazaDeErrores.js.map +1 -1
- package/dist/core/turno.js +34 -4
- package/dist/core/turno.js.map +1 -1
- package/dist/web/servidor/arranque.js +197 -1
- package/dist/web/servidor/arranque.js.map +1 -1
- package/dist/web/servidor/pielWeb.js +63 -4
- package/dist/web/servidor/pielWeb.js.map +1 -1
- package/dist/web/servidor/transporte.js.map +1 -1
- package/dist/web/servidor/visorOpenui.js +63 -0
- package/dist/web/servidor/visorOpenui.js.map +1 -0
- package/package.json +1 -1
- package/skills/openui-builder/SKILL.md +48 -0
- package/apps/web/dist/assets/index-CtfT1BjI.css +0 -1
- package/apps/web/dist/assets/index-DqcZ7_Rx.js +0 -478
|
@@ -52,6 +52,14 @@ consumoAcumulado) {
|
|
|
52
52
|
let pensamiento = "";
|
|
53
53
|
let parcialPensado = false;
|
|
54
54
|
let ultimoPensado = 0;
|
|
55
|
+
/** Lo último que se VOLCÓ del razonamiento, para no perder la cola que cayó dentro de la
|
|
56
|
+
* ventana de 80 ms: se vuelca en `empujar`, como el resumen. */
|
|
57
|
+
let volcadoPensado = "";
|
|
58
|
+
/** De quién es el razonamiento a medias. Otro origen empieza OTRO acto: el de dos
|
|
59
|
+
* especialistas seguidos no es un párrafo. */
|
|
60
|
+
let origenPensado;
|
|
61
|
+
const mismoOrigen = (a, b) => JSON.stringify(a ?? null) === JSON.stringify(b ?? null);
|
|
62
|
+
const actoDePensado = (texto) => origenPensado === undefined ? { tipo: "razonamiento", texto } : { tipo: "razonamiento", texto, origen: origenPensado };
|
|
55
63
|
/** Y para el resumen de contexto, que es un acto `sistema` de clase `resumen`. Su
|
|
56
64
|
* colchón se VUELCA entero antes del acto siguiente (`empujar`): con la ventana de 80 ms
|
|
57
65
|
* el último trozo se podía quedar fuera, y aquí eso es el final del resumen. */
|
|
@@ -71,6 +79,9 @@ consumoAcumulado) {
|
|
|
71
79
|
escucha(acto);
|
|
72
80
|
};
|
|
73
81
|
const empujar = (acto) => {
|
|
82
|
+
if (parcialPensado && pensamiento !== volcadoPensado)
|
|
83
|
+
sustituir(actoDePensado(pensamiento));
|
|
84
|
+
volcadoPensado = "";
|
|
74
85
|
if (parcialResumido && resumido !== volcadoResumido) {
|
|
75
86
|
sustituir({ tipo: "sistema", texto: resumido, clase: "resumen" });
|
|
76
87
|
}
|
|
@@ -147,7 +158,20 @@ consumoAcumulado) {
|
|
|
147
158
|
const gastado = delta.modelo.entrada + delta.modelo.salida + delta.externo.entrada + delta.externo.salida > 0;
|
|
148
159
|
return gastado ? { consumo: delta } : {};
|
|
149
160
|
};
|
|
161
|
+
/**
|
|
162
|
+
* Quién pidió leer la memoria en el turno en curso (`Piel.memoriaPedida?`). Se vacía al
|
|
163
|
+
* estamparlo en el `fin`, que es una vez por TURNO aunque el motor pase por varias rondas.
|
|
164
|
+
* `undefined` = no se ha pedido; una lista vacía = se pidió sin origen que conste.
|
|
165
|
+
*/
|
|
166
|
+
let memoria;
|
|
167
|
+
const claveDeOrigen = (o) => (o.rol === "orquestador" ? "o" : `e:${o.nombre ?? ""}`);
|
|
150
168
|
const piel = {
|
|
169
|
+
memoriaPedida(origen) {
|
|
170
|
+
const lista = memoria ?? [];
|
|
171
|
+
if (origen !== undefined && !lista.some((o) => claveDeOrigen(o) === claveDeOrigen(origen)))
|
|
172
|
+
lista.push(origen);
|
|
173
|
+
memoria = lista;
|
|
174
|
+
},
|
|
151
175
|
token(texto) {
|
|
152
176
|
// A DIFERENCIA del store de la TUI (`cli/tui/store.ts:74-87`), aquí NO se parte por
|
|
153
177
|
// `\n`: la TUI pinta líneas en un terminal y necesita una por fila, pero la web
|
|
@@ -171,17 +195,25 @@ consumoAcumulado) {
|
|
|
171
195
|
ultimoParcial = t;
|
|
172
196
|
sustituir({ tipo: "asistente", texto: colchon });
|
|
173
197
|
},
|
|
174
|
-
razonamiento(texto) {
|
|
198
|
+
razonamiento(texto, origen) {
|
|
175
199
|
// Mismo trato que los tokens de la respuesta —parcial que se sustituye, con su
|
|
176
200
|
// ventana de 80 ms— pero en su propio acto: lo que el modelo PIENSA no es lo que
|
|
177
201
|
// dice, y el transcript tiene que poder distinguirlo.
|
|
202
|
+
if (parcialPensado && !mismoOrigen(origen, origenPensado)) {
|
|
203
|
+
// Otro que piensa: lo de antes se cierra ENTERO y lo suyo empieza acto propio.
|
|
204
|
+
if (pensamiento !== volcadoPensado)
|
|
205
|
+
sustituir(actoDePensado(pensamiento));
|
|
206
|
+
parcialPensado = false;
|
|
207
|
+
}
|
|
178
208
|
if (!parcialPensado) {
|
|
179
209
|
cerrarFase();
|
|
180
210
|
// El orden importa: `empujar` limpia los colchones (cualquier acto nuevo cierra lo
|
|
181
211
|
// que hubiera a medias), así que el bloque nuevo se asigna DESPUÉS. Al revés se
|
|
182
212
|
// perdía el primer trozo y el pensamiento empezaba a contar desde el segundo.
|
|
183
|
-
|
|
213
|
+
origenPensado = origen;
|
|
214
|
+
empujar(actoDePensado(texto));
|
|
184
215
|
pensamiento = texto;
|
|
216
|
+
volcadoPensado = texto;
|
|
185
217
|
parcialPensado = true;
|
|
186
218
|
ultimoPensado = ahora();
|
|
187
219
|
return;
|
|
@@ -191,7 +223,8 @@ consumoAcumulado) {
|
|
|
191
223
|
if (t - ultimoPensado < MS_ENTRE_PARCIALES)
|
|
192
224
|
return;
|
|
193
225
|
ultimoPensado = t;
|
|
194
|
-
|
|
226
|
+
volcadoPensado = pensamiento;
|
|
227
|
+
sustituir(actoDePensado(pensamiento));
|
|
195
228
|
},
|
|
196
229
|
resumen(texto) {
|
|
197
230
|
// Mismo trato que el razonamiento —parcial que se sustituye, con su ventana—, pero el
|
|
@@ -270,6 +303,30 @@ consumoAcumulado) {
|
|
|
270
303
|
...(a.mime === undefined ? {} : { mime: a.mime }),
|
|
271
304
|
});
|
|
272
305
|
},
|
|
306
|
+
verificacion(v) {
|
|
307
|
+
// Acto PROPIO y campo a campo —lista blanca, como el artefacto—: lo que no se nombra
|
|
308
|
+
// aquí no llega al cable ni al `.jsonl`. El hallazgo es del simulador (código, fichero
|
|
309
|
+
// relativo, línea y mensaje), nunca contenido de un fichero.
|
|
310
|
+
cerrarFase();
|
|
311
|
+
empujar({
|
|
312
|
+
tipo: "verificacion",
|
|
313
|
+
verde: v.verde,
|
|
314
|
+
errores: v.errores,
|
|
315
|
+
avisos: v.avisos,
|
|
316
|
+
...(v.hallazgos === undefined
|
|
317
|
+
? {}
|
|
318
|
+
: {
|
|
319
|
+
hallazgos: v.hallazgos.map((h) => ({
|
|
320
|
+
code: h.code,
|
|
321
|
+
severidad: h.severidad,
|
|
322
|
+
mensaje: h.mensaje,
|
|
323
|
+
...(h.fichero === undefined ? {} : { fichero: h.fichero }),
|
|
324
|
+
...(h.linea === undefined ? {} : { linea: h.linea }),
|
|
325
|
+
})),
|
|
326
|
+
}),
|
|
327
|
+
...(v.preexistentes === undefined ? {} : { preexistentes: v.preexistentes }),
|
|
328
|
+
});
|
|
329
|
+
},
|
|
273
330
|
consulta(c) {
|
|
274
331
|
// Acto propio, con las opciones como DATO: el cliente pinta un botón por opción, y la
|
|
275
332
|
// pregunta sigue pendiente mientras no llegue un acto de usuario detrás.
|
|
@@ -291,7 +348,9 @@ consumoAcumulado) {
|
|
|
291
348
|
},
|
|
292
349
|
fin(ms) {
|
|
293
350
|
cerrarFase();
|
|
294
|
-
|
|
351
|
+
const pedida = memoria;
|
|
352
|
+
memoria = undefined;
|
|
353
|
+
empujar({ tipo: "fin", ms, ...deltaDelTurno(), ...(pedida === undefined ? {} : { memoria: { por: pedida } }) });
|
|
295
354
|
},
|
|
296
355
|
fase(texto, fase) {
|
|
297
356
|
// Sustituye la activa sin emitir acto por ella: igual que el store, dos `fase()`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pielWeb.js","sourceRoot":"","sources":["../../../src/web/servidor/pielWeb.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"pielWeb.js","sourceRoot":"","sources":["../../../src/web/servidor/pielWeb.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transporte.js","sourceRoot":"","sources":["../../../src/web/servidor/transporte.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transporte.js","sourceRoot":"","sources":["../../../src/web/servidor/transporte.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* El DOCUMENTO de un artefacto `.openui`: el visor (renderer + librería de componentes, que el
|
|
3
|
+
* build de `apps/web` deja en `dist/openui/`) y el programa, en UNA página autocontenida.
|
|
4
|
+
*
|
|
5
|
+
* **Todo va dentro, y no por comodidad.** El iframe de un artefacto tiene un origen opaco
|
|
6
|
+
* (`sandbox="allow-scripts"` sin `allow-same-origin`), y una petición suya al servidor sale con
|
|
7
|
+
* `Origin: null` y recibe un 403 (`servidor.ts`). Un `<script src>` al visor no llegaría nunca.
|
|
8
|
+
*
|
|
9
|
+
* **La CSP es más estricta que la de un artefacto HTML**, y se puede: un HTML de una skill carga
|
|
10
|
+
* tipografías y Mermaid de un CDN, y por eso aquel no cierra la red; esto no carga NADA de fuera,
|
|
11
|
+
* así que se cierra entera. Corta también lo que la librería de componentes trae dentro sin que
|
|
12
|
+
* nadie lo pida —una imagen de relleno de `picsum.photos`, los favicons de Google en una cita—:
|
|
13
|
+
* medido en el bundle, sin esta cabecera saldrían de la máquina al pintar.
|
|
14
|
+
*
|
|
15
|
+
* Puro: quien lee el disco pasa el visor ya leído, y un test prueba el documento sin build.
|
|
16
|
+
*/
|
|
17
|
+
/** La política del documento de un `.openui`: aislado como un artefacto y SIN red. */
|
|
18
|
+
export const CSP_DE_OPENUI = [
|
|
19
|
+
"sandbox allow-scripts",
|
|
20
|
+
"default-src 'none'",
|
|
21
|
+
"script-src 'unsafe-inline'",
|
|
22
|
+
"style-src 'unsafe-inline'",
|
|
23
|
+
"img-src data:",
|
|
24
|
+
"font-src data:",
|
|
25
|
+
"connect-src 'none'",
|
|
26
|
+
"base-uri 'none'",
|
|
27
|
+
"form-action 'none'",
|
|
28
|
+
].join("; ");
|
|
29
|
+
/** ¿Este artefacto es un programa de OpenUI? Por la extensión, como todo mime de artefacto. */
|
|
30
|
+
export function esArtefactoOpenui(nombre) {
|
|
31
|
+
return nombre.toLowerCase().endsWith(".openui");
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Lo que no puede aparecer tal cual dentro de un `<script>` o un `<style>` sin cerrarlo antes
|
|
35
|
+
* de tiempo. En JavaScript `<\/script` es la misma cadena y la misma expresión regular; en CSS,
|
|
36
|
+
* `<\/style` dentro de una cadena también.
|
|
37
|
+
*/
|
|
38
|
+
function sinCierre(texto, etiqueta) {
|
|
39
|
+
return texto.replace(new RegExp(`</${etiqueta}`, "gi"), `<\\/${etiqueta}`);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* El documento entero. El programa viaja como JSON dentro de un `<script type="application/json">`
|
|
43
|
+
* —que el navegador NO ejecuta— con el `<` escapado, así que un programa que contenga
|
|
44
|
+
* `</script>` no puede salirse de su sitio: lo lee el visor con `JSON.parse`, nunca se inyecta.
|
|
45
|
+
*/
|
|
46
|
+
export function documentoDeOpenui(programa, visor, titulo) {
|
|
47
|
+
const datos = JSON.stringify(programa).replace(/</g, "\\u003c");
|
|
48
|
+
const tituloSeguro = titulo.replace(/[<>&"]/g, (c) => ({ "<": "<", ">": ">", "&": "&", '"': """ })[c]);
|
|
49
|
+
return [
|
|
50
|
+
"<!doctype html>",
|
|
51
|
+
'<html lang="es"><head><meta charset="utf-8">',
|
|
52
|
+
'<meta name="viewport" content="width=device-width, initial-scale=1">',
|
|
53
|
+
`<title>${tituloSeguro}</title>`,
|
|
54
|
+
`<style>${sinCierre(visor.css, "style")}</style>`,
|
|
55
|
+
"<style>body{margin:0;padding:16px;background:#fff}.xonecode-openui-errores{margin:0 0 12px;padding:8px 12px;border-left:3px solid #b42318;background:#fef3f2;font:13px/1.5 system-ui}.xonecode-openui-errores ul{margin:4px 0 0;padding-left:18px}</style>",
|
|
56
|
+
"</head><body>",
|
|
57
|
+
'<div id="xonecode-raiz"></div>',
|
|
58
|
+
`<script type="application/json" id="xonecode-programa">${datos}</script>`,
|
|
59
|
+
`<script>${sinCierre(visor.js, "script")}</script>`,
|
|
60
|
+
"</body></html>",
|
|
61
|
+
].join("\n");
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=visorOpenui.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"visorOpenui.js","sourceRoot":"","sources":["../../../src/web/servidor/visorOpenui.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,sFAAsF;AACtF,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,uBAAuB;IACvB,oBAAoB;IACpB,4BAA4B;IAC5B,2BAA2B;IAC3B,eAAe;IACf,gBAAgB;IAChB,oBAAoB;IACpB,iBAAiB;IACjB,oBAAoB;CACrB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,+FAA+F;AAC/F,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAClD,CAAC;AAED;;;;GAIG;AACH,SAAS,SAAS,CAAC,KAAa,EAAE,QAA4B;IAC5D,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,QAAQ,EAAE,EAAE,IAAI,CAAC,EAAE,OAAO,QAAQ,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAgB,EAAE,KAAkC,EAAE,MAAc;IACpG,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAChE,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;IACvH,OAAO;QACL,iBAAiB;QACjB,8CAA8C;QAC9C,sEAAsE;QACtE,UAAU,YAAY,UAAU;QAChC,UAAU,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,UAAU;QACjD,4PAA4P;QAC5P,eAAe;QACf,gCAAgC;QAChC,0DAA0D,KAAK,WAAW;QAC1E,WAAW,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,QAAQ,CAAC,WAAW;QACnD,gBAAgB;KACjB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: openui-builder
|
|
3
|
+
description: "Build a data artifact in OpenUI Lang —a table, a report or a dashboard— that the console renders with its own component library. Much cheaper to write than an HTML page. Use it for pieces that lay out data; for diagrams, or for a piece with its own analysis or style, use artifacts-builder."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# OpenUI builder
|
|
7
|
+
|
|
8
|
+
## Antes de nada: qué necesitas y dónde va
|
|
9
|
+
|
|
10
|
+
- **Hace falta la tool `get_openui_instructions`**, que enseña el lenguaje y su catálogo de
|
|
11
|
+
componentes. Se monta en el ESPECIALISTA que tiene esta skill, en el motor de xonecode.
|
|
12
|
+
- **Si repartes el trabajo** (eres el orquestador): que tú no la veas no significa que no
|
|
13
|
+
exista. No decidas el formato en el encargo; delega en quien tenga esta skill y déjale elegir.
|
|
14
|
+
- **Si vas a escribir el artefacto y no la tienes** (corres en otro motor): no escribas OpenUI
|
|
15
|
+
—sin ella te inventarías la sintaxis, y un componente inventado no se pinta—. Usa
|
|
16
|
+
`artifacts-builder`.
|
|
17
|
+
- **El programa va en un FICHERO**, `/artefactos/<nombre>.openui`, con `write_file`. No en tu
|
|
18
|
+
respuesta: tu respuesta la lee el orquestador, no una persona. Como artefacto se anuncia y se ve
|
|
19
|
+
en la pestaña Artefactos. Puedes dejarlo con su valla ` ```openui ` o sin ella.
|
|
20
|
+
- **Se ve en un iframe SIN RED**: nada de `Query()` ni `Mutation()`, nada de imágenes de fuera, y
|
|
21
|
+
las acciones (`@ToAssistant`, `@OpenUrl`, botones) no hacen nada. **Hornea los datos literales.**
|
|
22
|
+
|
|
23
|
+
## Cuándo OpenUI y cuándo HTML
|
|
24
|
+
|
|
25
|
+
Escribir OpenUI cuesta varias veces menos que el mismo artefacto en HTML, porque describes QUÉ
|
|
26
|
+
componentes van y la librería los pinta. El precio es que no eliges cómo se ven.
|
|
27
|
+
|
|
28
|
+
- **OpenUI**: tablas (con búsqueda, orden y paginación), informes con resumen y lista, paneles de
|
|
29
|
+
KPIs y gráficos sobre unos datos que ya tienes.
|
|
30
|
+
- **`artifacts-builder` (HTML)**: diagramas, piezas donde el análisis ES el contenido, o donde el
|
|
31
|
+
estilo importa.
|
|
32
|
+
|
|
33
|
+
## Lo que falla, y cómo evitarlo
|
|
34
|
+
|
|
35
|
+
Salió de medir el mismo encargo en los dos formatos:
|
|
36
|
+
|
|
37
|
+
- **Los argumentos son POSICIONALES.** `Card([hijos], "card", "row", "m")`: uno corrido desplaza a
|
|
38
|
+
todos los de detrás, y el programa se pinta a medias con un aviso de errores encima. Repasa el
|
|
39
|
+
orden de cada llamada contra su firma.
|
|
40
|
+
- **`Tabs` solo para vistas ALTERNATIVAS de lo mismo**, nunca para lo principal: el visor abre en
|
|
41
|
+
la ÚLTIMA pestaña, y lo que dejes en las otras no se ve al abrir. Un informe con los errores en
|
|
42
|
+
una pestaña y la info en otra abre enseñando la info.
|
|
43
|
+
- **No inventes categorías que los datos no traen.** Llamar «huérfana» o «aislada» a una colección
|
|
44
|
+
sin referencias es falso: el índice no ve todas las formas de llegar a ella.
|
|
45
|
+
- **No sumes ni apiles lo que se contiene.** En un consumo de tokens la caché va DENTRO de la
|
|
46
|
+
entrada: apilarlas en una barra la cuenta dos veces.
|
|
47
|
+
- **Calcula con las funciones de la librería** (`@Sum`, `@Count`, `@Avg`…) sobre los datos, en vez
|
|
48
|
+
de escribir a mano un total que puede no cuadrar.
|