xonecode 0.5.1 → 0.8.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/apps/web/dist/assets/{index-BB3SamhR.css → index-Boak51UP.css} +1 -1
- package/apps/web/dist/assets/index-Cg28x6nG.js +477 -0
- package/apps/web/dist/assets/{php-D_2--9WK.js → php-Cu6F_QCJ.js} +1 -1
- package/apps/web/dist/assets/{ruby-DSHSDbk1.js → ruby-BiqQPoC6.js} +1 -1
- package/apps/web/dist/index.html +2 -2
- package/dist/agent/{cloudstudioClient.js → cloudstudio/cloudstudioClient.js} +10 -0
- package/dist/agent/cloudstudio/cloudstudioClient.js.map +1 -0
- package/dist/agent/{cloudstudioMcp.js → cloudstudio/cloudstudioMcp.js} +5 -5
- package/dist/agent/cloudstudio/cloudstudioMcp.js.map +1 -0
- package/dist/agent/{descarga.js → cloudstudio/descarga.js} +17 -7
- package/dist/agent/cloudstudio/descarga.js.map +1 -0
- package/dist/agent/cloudstudio/manifiesto.js.map +1 -0
- package/dist/agent/cloudstudio/ramaActiva.js +11 -0
- package/dist/agent/cloudstudio/ramaActiva.js.map +1 -0
- package/dist/agent/{subida.js → cloudstudio/subida.js} +16 -7
- package/dist/agent/cloudstudio/subida.js.map +1 -0
- package/dist/agent/{zip.js → cloudstudio/zip.js} +1 -1
- package/dist/agent/cloudstudio/zip.js.map +1 -0
- package/dist/agent/{authEnDisco.js → config/authEnDisco.js} +3 -3
- package/dist/agent/config/authEnDisco.js.map +1 -0
- package/dist/agent/{catalogoModelos.js → config/catalogoModelos.js} +47 -1
- package/dist/agent/config/catalogoModelos.js.map +1 -0
- package/dist/agent/{configEnDisco.js → config/configEnDisco.js} +6 -6
- package/dist/agent/config/configEnDisco.js.map +1 -0
- package/dist/agent/{crearProyecto.js → config/crearProyecto.js} +2 -2
- package/dist/agent/config/crearProyecto.js.map +1 -0
- package/dist/agent/config/entorno.js.map +1 -0
- package/dist/agent/config/gemini.js.map +1 -0
- package/dist/agent/config/modelos.js +235 -0
- package/dist/agent/config/modelos.js.map +1 -0
- package/dist/agent/{modelosDeMotor.js → config/modelosDeMotor.js} +1 -1
- package/dist/agent/config/modelosDeMotor.js.map +1 -0
- package/dist/agent/config/mudanzaEnDisco.js +121 -0
- package/dist/agent/config/mudanzaEnDisco.js.map +1 -0
- package/dist/agent/{persona.js → config/persona.js} +1 -1
- package/dist/agent/config/persona.js.map +1 -0
- package/dist/agent/config/selectorEnMaquina.js +45 -0
- package/dist/agent/config/selectorEnMaquina.js.map +1 -0
- package/dist/agent/{settingsEnDisco.js → config/settingsEnDisco.js} +37 -2
- package/dist/agent/config/settingsEnDisco.js.map +1 -0
- package/dist/agent/{versionEnDisco.js → config/versionEnDisco.js} +8 -4
- package/dist/agent/config/versionEnDisco.js.map +1 -0
- package/dist/agent/dispositivos/arranqueDeEmulador.js +146 -0
- package/dist/agent/dispositivos/arranqueDeEmulador.js.map +1 -0
- package/dist/agent/{dispositivosEnMaquina.js → dispositivos/dispositivosEnMaquina.js} +93 -6
- package/dist/agent/dispositivos/dispositivosEnMaquina.js.map +1 -0
- package/dist/agent/dispositivos/hotswap.js.map +1 -0
- package/dist/agent/dispositivos/instalacionEnMaquina.js.map +1 -0
- package/dist/agent/dispositivos/juezVisual.js +152 -0
- package/dist/agent/dispositivos/juezVisual.js.map +1 -0
- package/dist/agent/{lanzamientoEnMaquina.js → dispositivos/lanzamientoEnMaquina.js} +1 -1
- package/dist/agent/dispositivos/lanzamientoEnMaquina.js.map +1 -0
- package/dist/agent/{paqueteDelProyecto.js → dispositivos/paqueteDelProyecto.js} +5 -5
- package/dist/agent/dispositivos/paqueteDelProyecto.js.map +1 -0
- package/dist/agent/dispositivos/procesosEnMaquina.js.map +1 -0
- package/dist/agent/dispositivos/sensorDeArranque.js +154 -0
- package/dist/agent/dispositivos/sensorDeArranque.js.map +1 -0
- package/dist/agent/exportarPdf.js +140 -0
- package/dist/agent/exportarPdf.js.map +1 -0
- package/dist/agent/{arbolDeProyecto.js → grafo/arbolDeProyecto.js} +2 -2
- package/dist/agent/grafo/arbolDeProyecto.js.map +1 -0
- package/dist/agent/{artefactosEnDisco.js → grafo/artefactosEnDisco.js} +2 -2
- package/dist/agent/grafo/artefactosEnDisco.js.map +1 -0
- package/dist/agent/{busquedaRegex.js → grafo/busquedaRegex.js} +41 -1
- package/dist/agent/grafo/busquedaRegex.js.map +1 -0
- package/dist/agent/grafo/criticaVisual.js +115 -0
- package/dist/agent/grafo/criticaVisual.js.map +1 -0
- package/dist/agent/grafo/excluirTools.js +82 -0
- package/dist/agent/grafo/excluirTools.js.map +1 -0
- package/dist/agent/{memoriaDeProyecto.js → grafo/memoriaDeProyecto.js} +1 -1
- package/dist/agent/grafo/memoriaDeProyecto.js.map +1 -0
- package/dist/agent/grafo/navegacionXone.js +231 -0
- package/dist/agent/grafo/navegacionXone.js.map +1 -0
- package/dist/agent/{perfiles.js → grafo/perfiles.js} +96 -10
- package/dist/agent/grafo/perfiles.js.map +1 -0
- package/dist/agent/{proyecto.js → grafo/proyecto.js} +274 -24
- package/dist/agent/grafo/proyecto.js.map +1 -0
- package/dist/agent/grafo/skills.js +425 -0
- package/dist/agent/grafo/skills.js.map +1 -0
- package/dist/agent/grafo/xoneAgent.js +566 -0
- package/dist/agent/grafo/xoneAgent.js.map +1 -0
- package/dist/agent/navegacion/estilosEnDisco.js +110 -0
- package/dist/agent/navegacion/estilosEnDisco.js.map +1 -0
- package/dist/agent/navegacion/hechosEnDisco.js +26 -0
- package/dist/agent/navegacion/hechosEnDisco.js.map +1 -0
- package/dist/agent/navegacion/indiceEnDisco.js +36 -0
- package/dist/agent/navegacion/indiceEnDisco.js.map +1 -0
- package/dist/agent/navegacion/modeloDeProyecto.js +228 -0
- package/dist/agent/navegacion/modeloDeProyecto.js.map +1 -0
- package/dist/agent/raizDelPaquete.js +56 -0
- package/dist/agent/raizDelPaquete.js.map +1 -0
- package/dist/agent/{checkpointer.js → sesiones/checkpointer.js} +1 -1
- package/dist/agent/sesiones/checkpointer.js.map +1 -0
- package/dist/agent/sesiones/git.js.map +1 -0
- package/dist/agent/{gitSync.js → sesiones/gitSync.js} +3 -3
- package/dist/agent/sesiones/gitSync.js.map +1 -0
- package/dist/agent/{sesionGit.js → sesiones/sesionGit.js} +2 -2
- package/dist/agent/sesiones/sesionGit.js.map +1 -0
- package/dist/agent/subagentes/agentesEnDisco.js +818 -0
- package/dist/agent/subagentes/agentesEnDisco.js.map +1 -0
- package/dist/agent/subagentes/consumoExterno.js.map +1 -0
- package/dist/agent/subagentes/escrituraDeCodex.js.map +1 -0
- package/dist/agent/{escrituraDeOpencode.js → subagentes/escrituraDeOpencode.js} +1 -1
- package/dist/agent/subagentes/escrituraDeOpencode.js.map +1 -0
- package/dist/agent/{escrituraExterna.js → subagentes/escrituraExterna.js} +59 -6
- package/dist/agent/subagentes/escrituraExterna.js.map +1 -0
- package/dist/agent/subagentes/pluginDeSkills.js +99 -0
- package/dist/agent/subagentes/pluginDeSkills.js.map +1 -0
- package/dist/agent/subagentes/subagenteCodex.js.map +1 -0
- package/dist/agent/{subagenteExterno.js → subagentes/subagenteExterno.js} +48 -0
- package/dist/agent/subagentes/subagenteExterno.js.map +1 -0
- package/dist/agent/{subagenteOpencode.js → subagentes/subagenteOpencode.js} +53 -1
- package/dist/agent/subagentes/subagenteOpencode.js.map +1 -0
- package/dist/agent/{aumentador.js → tareas/aumentador.js} +2 -2
- package/dist/agent/tareas/aumentador.js.map +1 -0
- package/dist/agent/{juezDeTarea.js → tareas/juezDeTarea.js} +6 -6
- package/dist/agent/tareas/juezDeTarea.js.map +1 -0
- package/dist/agent/{tareasEnDisco.js → tareas/tareasEnDisco.js} +53 -4
- package/dist/agent/tareas/tareasEnDisco.js.map +1 -0
- package/dist/agent/{diagnosticoDeTools.js → turno/diagnosticoDeTools.js} +5 -1
- package/dist/agent/turno/diagnosticoDeTools.js.map +1 -0
- package/dist/agent/{guionizado.js → turno/guionizado.js} +1 -1
- package/dist/agent/turno/guionizado.js.map +1 -0
- package/dist/agent/turno/informeDeTraza.js +245 -0
- package/dist/agent/turno/informeDeTraza.js.map +1 -0
- package/dist/agent/turno/inspectorDePrompt.js +205 -0
- package/dist/agent/turno/inspectorDePrompt.js.map +1 -0
- package/dist/agent/{instantanea.js → turno/instantanea.js} +7 -2
- package/dist/agent/turno/instantanea.js.map +1 -0
- package/dist/agent/{interrupts.js → turno/interrupts.js} +2 -2
- package/dist/agent/turno/interrupts.js.map +1 -0
- package/dist/agent/turno/mensajes.js.map +1 -0
- package/dist/agent/turno/normalizar.js.map +1 -0
- package/dist/agent/{puente.js → turno/puente.js} +71 -4
- package/dist/agent/turno/puente.js.map +1 -0
- package/dist/agent/turno/resumenDeContexto.js +260 -0
- package/dist/agent/turno/resumenDeContexto.js.map +1 -0
- package/dist/agent/{resumenDeTool.js → turno/resumenDeTool.js} +33 -0
- package/dist/agent/turno/resumenDeTool.js.map +1 -0
- package/dist/agent/turno/rubrica.js +91 -0
- package/dist/agent/turno/rubrica.js.map +1 -0
- package/dist/agent/turno/textoDeTool.js.map +1 -0
- package/dist/agent/{turnoReal.js → turno/turnoReal.js} +210 -25
- package/dist/agent/turno/turnoReal.js.map +1 -0
- package/dist/agent/turno/verificador.js.map +1 -0
- package/dist/cli/config.js +1 -1
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/consola.js +72 -9
- package/dist/cli/consola.js.map +1 -1
- package/dist/cli/describe.js +2 -2
- package/dist/cli/describe.js.map +1 -1
- package/dist/cli/doctor.js +1 -1
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/fuentesDeDisco.js +29 -0
- package/dist/cli/fuentesDeDisco.js.map +1 -0
- package/dist/cli/main.js +87 -31
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/run.js +40 -10
- package/dist/cli/run.js.map +1 -1
- package/dist/cli/traza.js +48 -0
- package/dist/cli/traza.js.map +1 -0
- package/dist/cli/tui/correrTui.js +4 -4
- package/dist/cli/tui/correrTui.js.map +1 -1
- package/dist/cli/verify.js +1 -1
- package/dist/cli/verify.js.map +1 -1
- package/dist/core/actos.js +1 -1
- package/dist/core/adjuntos.js +2 -2
- package/dist/core/agentes.js +247 -7
- package/dist/core/agentes.js.map +1 -1
- package/dist/core/artefactos.js +4 -4
- package/dist/core/config.js +1 -1
- package/dist/core/contextos.js +12 -1
- package/dist/core/contextos.js.map +1 -1
- package/dist/core/descargas.js +1 -1
- package/dist/core/dispositivos.js +53 -3
- package/dist/core/dispositivos.js.map +1 -1
- package/dist/core/esfuerzo.js +141 -0
- package/dist/core/esfuerzo.js.map +1 -0
- package/dist/core/esqueleto.js +1 -1
- package/dist/core/estilos.js +78 -0
- package/dist/core/estilos.js.map +1 -0
- package/dist/core/exportacion.js +140 -0
- package/dist/core/exportacion.js.map +1 -0
- package/dist/core/hechosDelProyecto.js +87 -0
- package/dist/core/hechosDelProyecto.js.map +1 -0
- package/dist/core/logDeDispositivo.js +143 -0
- package/dist/core/logDeDispositivo.js.map +1 -0
- package/dist/core/modelos.js +48 -3
- package/dist/core/modelos.js.map +1 -1
- package/dist/core/mudanzaDeWorkspace.js +93 -0
- package/dist/core/mudanzaDeWorkspace.js.map +1 -0
- package/dist/core/navegacion.js +134 -0
- package/dist/core/navegacion.js.map +1 -0
- package/dist/core/notify.js +5 -0
- package/dist/core/notify.js.map +1 -1
- package/dist/core/planDeSubida.js +1 -1
- package/dist/core/planes.js +70 -0
- package/dist/core/planes.js.map +1 -0
- package/dist/core/ports.js +4 -0
- package/dist/core/ports.js.map +1 -1
- package/dist/core/rubrica.js +90 -0
- package/dist/core/rubrica.js.map +1 -0
- package/dist/core/selectorDeCarpeta.js +87 -0
- package/dist/core/selectorDeCarpeta.js.map +1 -0
- package/dist/core/settings.js +56 -7
- package/dist/core/settings.js.map +1 -1
- package/dist/core/shellDeAgente.js +144 -0
- package/dist/core/shellDeAgente.js.map +1 -0
- package/dist/core/skills.js +158 -0
- package/dist/core/skills.js.map +1 -0
- package/dist/core/topeAgotado.js +69 -0
- package/dist/core/topeAgotado.js.map +1 -0
- package/dist/core/zipDeSkill.js +107 -0
- package/dist/core/zipDeSkill.js.map +1 -0
- package/dist/web/servidor/arranque.js +853 -54
- package/dist/web/servidor/arranque.js.map +1 -1
- package/dist/web/servidor/corredorDeTareas.js +3 -3
- package/dist/web/servidor/corredorDeTareas.js.map +1 -1
- package/dist/web/servidor/sesiones.js +34 -6
- package/dist/web/servidor/sesiones.js.map +1 -1
- package/dist/web/servidor/transporte.js +1 -1
- package/dist/web/servidor/transporte.js.map +1 -1
- package/dist/web/servidor/vestibulo.js +62 -13
- package/dist/web/servidor/vestibulo.js.map +1 -1
- package/package.json +7 -4
- package/skills/archify/SKILL.md +25 -2
- package/skills/artifacts-builder/SKILL.md +23 -0
- package/skills/xone-hotswap/SKILL.md +96 -0
- package/skills/xone-hotswap/scripts/xone-arrancar-android +202 -0
- package/skills/xone-hotswap/scripts/xone-arrancar-ios +85 -0
- package/skills/xone-hotswap/scripts/xone-captura-android +93 -0
- package/skills/xone-hotswap/scripts/xone-desplegar-android +439 -0
- package/skills/xone-hotswap/scripts/xone-hotswap +201 -0
- package/skills/xone-hotswap/scripts/xone-log-android +102 -0
- package/skills/xone-hotswap/scripts/xone-reiniciar-android +132 -0
- package/skills/xone-plan-builder/SKILL.md +22 -4
- package/skills/xone-spec-builder/SKILL.md +37 -7
- package/apps/web/dist/assets/index-CFYAoHdw.js +0 -477
- package/dist/agent/agentesEnDisco.js +0 -539
- package/dist/agent/agentesEnDisco.js.map +0 -1
- package/dist/agent/arbolDeProyecto.js.map +0 -1
- package/dist/agent/artefactosEnDisco.js.map +0 -1
- package/dist/agent/aumentador.js.map +0 -1
- package/dist/agent/authEnDisco.js.map +0 -1
- package/dist/agent/busquedaRegex.js.map +0 -1
- package/dist/agent/catalogoModelos.js.map +0 -1
- package/dist/agent/checkpointer.js.map +0 -1
- package/dist/agent/cloudstudioClient.js.map +0 -1
- package/dist/agent/cloudstudioMcp.js.map +0 -1
- package/dist/agent/configEnDisco.js.map +0 -1
- package/dist/agent/consumoExterno.js.map +0 -1
- package/dist/agent/crearProyecto.js.map +0 -1
- package/dist/agent/descarga.js.map +0 -1
- package/dist/agent/diagnosticoDeTools.js.map +0 -1
- package/dist/agent/dispositivosEnMaquina.js.map +0 -1
- package/dist/agent/entorno.js.map +0 -1
- package/dist/agent/escrituraDeCodex.js.map +0 -1
- package/dist/agent/escrituraDeOpencode.js.map +0 -1
- package/dist/agent/escrituraExterna.js.map +0 -1
- package/dist/agent/gemini.js.map +0 -1
- package/dist/agent/git.js.map +0 -1
- package/dist/agent/gitSync.js.map +0 -1
- package/dist/agent/guionizado.js.map +0 -1
- package/dist/agent/hotswap.js.map +0 -1
- package/dist/agent/instalacionEnMaquina.js.map +0 -1
- package/dist/agent/instantanea.js.map +0 -1
- package/dist/agent/interrupts.js.map +0 -1
- package/dist/agent/juezDeTarea.js.map +0 -1
- package/dist/agent/lanzamientoEnMaquina.js.map +0 -1
- package/dist/agent/manifiesto.js.map +0 -1
- package/dist/agent/memoriaDeProyecto.js.map +0 -1
- package/dist/agent/mensajes.js.map +0 -1
- package/dist/agent/modelos.js +0 -130
- package/dist/agent/modelos.js.map +0 -1
- package/dist/agent/modelosDeMotor.js.map +0 -1
- package/dist/agent/normalizar.js.map +0 -1
- package/dist/agent/paqueteDelProyecto.js.map +0 -1
- package/dist/agent/perfiles.js.map +0 -1
- package/dist/agent/persona.js.map +0 -1
- package/dist/agent/procesosEnMaquina.js.map +0 -1
- package/dist/agent/proyecto.js.map +0 -1
- package/dist/agent/puente.js.map +0 -1
- package/dist/agent/resumenDeContexto.js +0 -30
- package/dist/agent/resumenDeContexto.js.map +0 -1
- package/dist/agent/resumenDeTool.js.map +0 -1
- package/dist/agent/sesionGit.js.map +0 -1
- package/dist/agent/settingsEnDisco.js.map +0 -1
- package/dist/agent/skills.js +0 -65
- package/dist/agent/skills.js.map +0 -1
- package/dist/agent/subagenteCodex.js.map +0 -1
- package/dist/agent/subagenteExterno.js.map +0 -1
- package/dist/agent/subagenteOpencode.js.map +0 -1
- package/dist/agent/subida.js.map +0 -1
- package/dist/agent/tareasEnDisco.js.map +0 -1
- package/dist/agent/textoDeTool.js.map +0 -1
- package/dist/agent/turnoReal.js.map +0 -1
- package/dist/agent/verificador.js.map +0 -1
- package/dist/agent/versionEnDisco.js.map +0 -1
- package/dist/agent/xoneAgent.js +0 -347
- package/dist/agent/xoneAgent.js.map +0 -1
- package/dist/agent/zip.js.map +0 -1
- /package/dist/agent/{manifiesto.js → cloudstudio/manifiesto.js} +0 -0
- /package/dist/agent/{entorno.js → config/entorno.js} +0 -0
- /package/dist/agent/{gemini.js → config/gemini.js} +0 -0
- /package/dist/agent/{hotswap.js → dispositivos/hotswap.js} +0 -0
- /package/dist/agent/{instalacionEnMaquina.js → dispositivos/instalacionEnMaquina.js} +0 -0
- /package/dist/agent/{procesosEnMaquina.js → dispositivos/procesosEnMaquina.js} +0 -0
- /package/dist/agent/{git.js → sesiones/git.js} +0 -0
- /package/dist/agent/{consumoExterno.js → subagentes/consumoExterno.js} +0 -0
- /package/dist/agent/{escrituraDeCodex.js → subagentes/escrituraDeCodex.js} +0 -0
- /package/dist/agent/{subagenteCodex.js → subagentes/subagenteCodex.js} +0 -0
- /package/dist/agent/{mensajes.js → turno/mensajes.js} +0 -0
- /package/dist/agent/{normalizar.js → turno/normalizar.js} +0 -0
- /package/dist/agent/{textoDeTool.js → turno/textoDeTool.js} +0 -0
- /package/dist/agent/{verificador.js → turno/verificador.js} +0 -0
package/dist/core/agentes.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Los subagentes como DATOS: qué es uno, cómo se lee de un fichero y cómo se compone su
|
|
3
|
-
* prompt. TypeScript puro — leer el disco es cosa de `agent/agentesEnDisco.ts`.
|
|
3
|
+
* prompt. TypeScript puro — leer el disco es cosa de `agent/subagentes/agentesEnDisco.ts`.
|
|
4
4
|
*
|
|
5
|
-
* Hasta ahora los cuatro especialistas (`agent/perfiles.ts`) vivían a fuego en un
|
|
5
|
+
* Hasta ahora los cuatro especialistas (`agent/grafo/perfiles.ts`) vivían a fuego en un
|
|
6
6
|
* `Record`, y su prompt lo componía `xoneAgent.ts#promptDe` con un `nombre === "planner"`
|
|
7
7
|
* dentro. Eso ya estaba señalado como provisional ahí mismo («los prompts pasan a ficheros
|
|
8
8
|
* `.md` en la fase 9»); esto es esa fase, y con ella los cuatro dejan de ser un caso
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
* editando un `.md` convertiría el invariante en una preferencia; es el mismo principio por
|
|
16
16
|
* el que los avisos de honestidad son código y no prompt (`core/bitacora.ts`).
|
|
17
17
|
*/
|
|
18
|
+
import { esEsfuerzo } from "./esfuerzo.js";
|
|
18
19
|
export const MOTORES = ["modelo", "claude-code", "codex", "opencode"];
|
|
19
20
|
/**
|
|
20
21
|
* Las reglas del dominio, iguales para todos y NO editables desde el fichero.
|
|
@@ -23,12 +24,76 @@ export const MOTORES = ["modelo", "claude-code", "codex", "opencode"];
|
|
|
23
24
|
* colores en un solo sitio: cuatro copias de esto es como se acaba con una que se queda
|
|
24
25
|
* vieja. Y un agente que el usuario escriba mañana las hereda sin tener que copiarlas.
|
|
25
26
|
*/
|
|
27
|
+
/**
|
|
28
|
+
* Dónde está cada cosa en un proyecto XOne.
|
|
29
|
+
*
|
|
30
|
+
* **No son reglas, es un mapa**, y por eso va aparte de `REGLAS_XONE`: aquello dice lo que no
|
|
31
|
+
* se puede hacer y esto dice dónde mirar. Existe porque el gasto medido de este harness no son
|
|
32
|
+
* los ficheros que se leen —181 líneas de XML en una medida real, del orden de 2-3k tokens de
|
|
33
|
+
* 39k— sino **los viajes que hacen falta para averiguar dónde mirar**: cada uno reenvía el
|
|
34
|
+
* prompt entero y cuesta miles de tokens. Cuatro líneas que hacen certero el primer `grep`
|
|
35
|
+
* salen baratas comparadas con una lectura exploratoria de más.
|
|
36
|
+
*
|
|
37
|
+
* Lo ve el orquestador **y** cada especialista: desde que el orquestador contesta lo que puede
|
|
38
|
+
* en vez de delegarlo todo, él es quien más lo necesita, y dejarlo solo en `promptDeAgente`
|
|
39
|
+
* habría sido escribirlo para quien ya no hace ese trabajo.
|
|
40
|
+
*
|
|
41
|
+
* Comprobado contra el esqueleto y contra un proyecto real antes de escribirlo: `app.xml` lleva
|
|
42
|
+
* `<entry-point>`, `<login-coll>`, `<style url>` e `<include file>`, y las colecciones son
|
|
43
|
+
* `<coll>` en `.xne`, una por fichero salvo `mappings.xne`, que agrupa varias. Un mapa
|
|
44
|
+
* inventado sería exactamente el bug mudo que este producto existe para evitar.
|
|
45
|
+
*/
|
|
46
|
+
export const MAPA_DEL_PROYECTO = [
|
|
47
|
+
"DÓNDE ESTÁ CADA COSA en un proyecto XOne:",
|
|
48
|
+
"- `app.xml` es el índice: `<entry-point>` nombra la colección de arranque, `<login-coll>` la",
|
|
49
|
+
" del login, `<style url=>` la hoja de estilos e `<include file=>` los scripts.",
|
|
50
|
+
"- Una colección es un `<coll name=...>` dentro de un `.xne`: normalmente uno por colección,",
|
|
51
|
+
" y `mappings.xne` puede agrupar varias.",
|
|
52
|
+
"- `app.ini` es configuración (conexión, versión), no interfaz.",
|
|
53
|
+
].join("\n");
|
|
26
54
|
export const REGLAS_XONE = [
|
|
27
55
|
"REGLAS DE XONE, no negociables:",
|
|
28
56
|
"- No es desarrollo web: no existen DOM, React, Vue, ni `async/await` en el runtime.",
|
|
29
57
|
"- La fuente de una colección es su `.xne`. Los `.xml` los genera Studio y no se tocan.",
|
|
30
58
|
"- No inventes atributos XML, funciones ni propiedades CSS: XOne ignora lo desconocido",
|
|
31
59
|
" en silencio, así que un invento no da error — da un bug mudo.",
|
|
60
|
+
/**
|
|
61
|
+
* **El motor de JavaScript en Android es Rhino**, y eso no es una curiosidad: un error de
|
|
62
|
+
* sintaxis en UN fichero incluido **para la app entera al arrancar** (`LoadAppActivity`,
|
|
63
|
+
* «Error loading initial config»), no rompe solo la función donde está. Así que un descuido
|
|
64
|
+
* que en un navegador sería un aviso, aquí es una app que no abre.
|
|
65
|
+
*
|
|
66
|
+
* Tres se midieron el 18-09-2026 sobre un proyecto real: una llamada sin `;` (Rhino no
|
|
67
|
+
* aplica ASI donde un navegador sí), una coma sobrante en un objeto, y **una `var` declarada
|
|
68
|
+
* dos veces en la misma función** — esta última la introdujo el propio agente «arreglando» la
|
|
69
|
+
* primera, y por eso está escrita: arreglar sin conocer el motor es cambiar un error por otro.
|
|
70
|
+
*
|
|
71
|
+
* **El resto es la matriz del 19-09-2026, y está medida EJECUTANDO en el aparato** —emulador
|
|
72
|
+
* con `com.xone.android.framework` 5.0.2.2dev, por el canal hotswap (`runScript`)—, no
|
|
73
|
+
* deducida de la versión. Decía «(ES5)» a secas, y eso era impreciso en las DOS direcciones:
|
|
74
|
+
* de menos, porque acepta media docena de cosas de ES2015; y de más, porque lo que no acepta
|
|
75
|
+
* lo rechaza **al PARSEAR**, o sea que el script entero queda mudo — ni error, ni traza.
|
|
76
|
+
*
|
|
77
|
+
* **Va la lista ENTERA y no solo las frecuentes**, aunque alargue unas líneas que el propio
|
|
78
|
+
* comentario de arriba quiere cortas. El motivo es que una lista incompleta es peor que
|
|
79
|
+
* ninguna: el modelo se fía de ella, y lo omitido no falla ruidosamente sino en silencio y
|
|
80
|
+
* para toda la app. Y la mitad de «SÍ puedes» no es relleno — sin ella, un modelo al que se
|
|
81
|
+
* le dice «ES5» evita `let` y las arrow functions, que funcionan, y peor: «arregla» código
|
|
82
|
+
* bueno, que es exactamente el fallo que ya introdujo una vez.
|
|
83
|
+
*
|
|
84
|
+
* **Lo que sigue sin decir, a propósito**: que no se pueda usar `let`. Estaba escrito así
|
|
85
|
+
* desde el 18-09 por prudencia —el proyecto donde se midió lo usa y arranca— y la medida del
|
|
86
|
+
* 19 lo confirma: `let`, `const`, arrow functions, destructuring y `for...of` los acepta.
|
|
87
|
+
*/
|
|
88
|
+
"- El motor JS en Android es Rhino 1.7.13: un error de sintaxis en un fichero incluido para",
|
|
89
|
+
" la app ENTERA al arrancar. Termina cada sentencia con `;` (no se aplica ASI), sin comas",
|
|
90
|
+
" sobrantes, y no declares dos veces la misma `var` en una función.",
|
|
91
|
+
"- SÍ acepta: let, const, arrow functions, destructuring, for...of, { m(){} }.",
|
|
92
|
+
"- NO acepta, y el script queda MUDO (falla al parsear, sin dar error): template literals",
|
|
93
|
+
" `${}`, class, spread y rest (...), parámetros por defecto (a=1), function*, async/await,",
|
|
94
|
+
" **, ?., ??, propiedad abreviada ({ a }) y clave computada ({ [k]: v }).",
|
|
95
|
+
"- Existen pero valen undefined: Map, Set, WeakMap, Array.prototype.includes. Sí están",
|
|
96
|
+
" Object.assign/keys, Array.isArray/find/forEach, String.includes/startsWith/trim, JSON.",
|
|
32
97
|
].join("\n");
|
|
33
98
|
/**
|
|
34
99
|
* El prompt completo de un subagente: sus reglas, su descripción y sus instrucciones.
|
|
@@ -42,15 +107,28 @@ export function promptDeAgente(agente, skills) {
|
|
|
42
107
|
return [
|
|
43
108
|
REGLAS_XONE,
|
|
44
109
|
"",
|
|
110
|
+
MAPA_DEL_PROYECTO,
|
|
111
|
+
"",
|
|
45
112
|
agente.descripcion,
|
|
46
113
|
...(agente.instrucciones.trim() === "" ? [] : ["", agente.instrucciones.trim()]),
|
|
47
114
|
"",
|
|
48
115
|
// Las skills que tiene, y las que NO. El aviso es la misma disciplina de siempre: un
|
|
49
116
|
// doble nunca se disfraza, y una skill declarada en el `.md` que no está en el catálogo
|
|
50
117
|
// haría que el modelo intentara cargarla y fallara sin saber por qué. Se dice.
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
118
|
+
/**
|
|
119
|
+
* **Las que TIENE no se nombran aquí, y es deliberado.**
|
|
120
|
+
*
|
|
121
|
+
* `SkillsMiddleware` de deepagents ya añade al mensaje de sistema una sección entera —«##
|
|
122
|
+
* Skills System»— con cada skill, su descripción, su ruta y su propia regla de *progressive
|
|
123
|
+
* disclosure*: «you know they exist, but you only read the full instructions **when
|
|
124
|
+
* needed**». Repetirlo aquí era duplicarlo, y como nuestra línea decía «cárgalas antes de
|
|
125
|
+
* responder», era además CONTRADECIRLO — con el resultado medido de que el consultor cargaba
|
|
126
|
+
* sus tres skills para contestar «¿cuántas colecciones tiene mi proyecto?».
|
|
127
|
+
*
|
|
128
|
+
* Lo que sí se dice desde código es lo que la librería no puede saber: las que el `.md`
|
|
129
|
+
* declara y NO están en el catálogo. Eso no es duplicado, es el aviso de honestidad de
|
|
130
|
+
* siempre — sin él, el agente intenta cargar algo que no existe y no entiende por qué falla.
|
|
131
|
+
*/
|
|
54
132
|
...(skills === undefined || skills.faltan.length === 0
|
|
55
133
|
? []
|
|
56
134
|
: [`AVISO: te faltan estas skills y no las tienes: ${skills.faltan.join(", ")}.`]),
|
|
@@ -73,8 +151,30 @@ export function promptDeAgente(agente, skills) {
|
|
|
73
151
|
* `doc/` sería inventar la intención de una escritura, que es justo lo que ninguna
|
|
74
152
|
* guarda de este repo hace.
|
|
75
153
|
*/
|
|
154
|
+
/**
|
|
155
|
+
* **Cómo QUEREMOS que lea, que es distinto de qué hace la tool.**
|
|
156
|
+
*
|
|
157
|
+
* La descripción de `read_file` la pone deepagents y se actualiza con ella (ver
|
|
158
|
+
* `xoneAgent.ts#DESCRIPCIONES_FICHEROS`); esto es política nuestra, medida: una ida y
|
|
159
|
+
* vuelta al modelo cuesta del orden de cuatro mil tokens y unas líneas de más unos
|
|
160
|
+
* cientos, así que trocear un fichero en rodajas pequeñas sale trece veces más caro que
|
|
161
|
+
* leerlo de una. Y `limit` se PIDE porque omitirlo deja el valor del esquema, que es
|
|
162
|
+
* mucho menor.
|
|
163
|
+
*
|
|
164
|
+
* Solo para los de motor `modelo`: un hijo de Claude Code o de Codex lee con SUS tools,
|
|
165
|
+
* que no tienen estos parámetros, y decirle esto le describiría una tool que no tiene.
|
|
166
|
+
*/
|
|
76
167
|
...(agente.motor === "modelo"
|
|
77
|
-
? [
|
|
168
|
+
? [
|
|
169
|
+
"LECTURAS: lee SOLO los ficheros que hagan falta para responder a lo que te han " +
|
|
170
|
+
"preguntado, y los que una búsqueda te haya señalado. No abras uno «por si acaso»: cada " +
|
|
171
|
+
"fichero que lees se queda en el contexto de TODAS las llamadas siguientes. Para el " +
|
|
172
|
+
"reconocimiento inicial usa `offset=0, limit=50`, y pide más solo si ese trozo no basta. " +
|
|
173
|
+
"Tras un `grep`, lee alrededor de la línea que te ha dado (`offset` = esa línea menos 5), " +
|
|
174
|
+
"nunca desde el principio. No releas la misma ruta y el mismo rango. Y cuando necesites " +
|
|
175
|
+
"varios ficheros o varias búsquedas independientes, pídelos en el MISMO mensaje: cuestan " +
|
|
176
|
+
"una sola llamada en vez de una por cada uno.",
|
|
177
|
+
]
|
|
78
178
|
: [
|
|
79
179
|
"RUTAS: trabajas sobre la carpeta del proyecto directamente, así que una ruta que " +
|
|
80
180
|
"empiece por «/» es la raíz del SISTEMA y está fuera del proyecto. Escribe las rutas " +
|
|
@@ -94,6 +194,134 @@ export function repartirSkills(agente, disponibles) {
|
|
|
94
194
|
faltan: agente.skills.filter((s) => !disponibles.has(s)),
|
|
95
195
|
};
|
|
96
196
|
}
|
|
197
|
+
/**
|
|
198
|
+
* La forma que tiene que tener el nombre de un subagente: un slug.
|
|
199
|
+
*
|
|
200
|
+
* Minúsculas, dígitos y guiones sencillos, empezando y acabando en letra o dígito. Es la
|
|
201
|
+
* convención del `.md` que ya conoce quien viene de Claude Code, y esquiva dos cosas medidas:
|
|
202
|
+
* un nombre con bytes ≥ 0x80 dispara la cita en octal de `core.quotePath` (la trampa que
|
|
203
|
+
* `cambiosPendientes` tiene que apagar a mano), y una mayúscula hace que el mismo agente sea
|
|
204
|
+
* dos ficheros distintos según el sistema de ficheros — en APFS `Docs.md` y `docs.md` son el
|
|
205
|
+
* mismo, en ext4 no.
|
|
206
|
+
*/
|
|
207
|
+
const FORMA_DEL_NOMBRE = /^[a-z0-9]+(-[a-z0-9]+)*$/;
|
|
208
|
+
/**
|
|
209
|
+
* Por qué ese nombre no vale, o `undefined` si vale. El molde de `motivoDeClaveInaceptable`
|
|
210
|
+
* y `motivoDeEndpointInaceptable`: una sola función, y el motivo en la voz de quien lo lee.
|
|
211
|
+
*
|
|
212
|
+
* **Se aplica al GUARDAR y no al cargar** (`leerCarpetaDeAgentes` solo lo DICE): rechazar al
|
|
213
|
+
* cargar haría desaparecer un agente que funciona, que es lo contrario de lo que hace el
|
|
214
|
+
* resto de este módulo. Guardar es el único momento en que hay alguien delante que lo puede
|
|
215
|
+
* arreglar — y desde que el nombre de un subagente propio se puede cambiar, tiene con qué.
|
|
216
|
+
*/
|
|
217
|
+
export function motivoDeNombreInaceptable(nombre) {
|
|
218
|
+
if (nombre.trim() === "")
|
|
219
|
+
return "no puede estar vacío";
|
|
220
|
+
if (nombre !== nombre.trim())
|
|
221
|
+
return "no puede empezar ni acabar con espacios";
|
|
222
|
+
if (nombre !== nombre.toLowerCase())
|
|
223
|
+
return "no puede llevar mayúsculas: va todo en minúsculas";
|
|
224
|
+
if (!FORMA_DEL_NOMBRE.test(nombre)) {
|
|
225
|
+
return "solo vale minúsculas, dígitos y guiones sencillos (ni espacios, ni acentos, ni guion al principio o al final)";
|
|
226
|
+
}
|
|
227
|
+
return undefined;
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* El nombre que SÍ valdría, para poder ofrecerlo. `undefined` si no se puede proponer nada.
|
|
231
|
+
*
|
|
232
|
+
* Existe para que el aviso sea accionable: «renómbralo a `documentador`» se arregla, y «el
|
|
233
|
+
* nombre no vale» hay que adivinarlo. Los acentos se descomponen con NFD y se les quita la
|
|
234
|
+
* marca —así `diseñador` sale `disenador` y no `dise-ador`—, que es la diferencia entre una
|
|
235
|
+
* propuesta que el usuario acepta y una que tiene que corregir.
|
|
236
|
+
*
|
|
237
|
+
* Y se COMPRUEBA con la misma función antes de devolverlo: una propuesta que no valdría sería
|
|
238
|
+
* peor que no proponer nada.
|
|
239
|
+
*/
|
|
240
|
+
export function nombreSugerido(nombre) {
|
|
241
|
+
const slug = nombre
|
|
242
|
+
.normalize("NFD")
|
|
243
|
+
.replace(/[\u0300-\u036f]/g, "")
|
|
244
|
+
.toLowerCase()
|
|
245
|
+
.replace(/[^a-z0-9]+/g, "-")
|
|
246
|
+
.replace(/^-+|-+$/g, "");
|
|
247
|
+
return slug !== "" && motivoDeNombreInaceptable(slug) === undefined ? slug : undefined;
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* Un agente ya cargado: el fichero, más de QUIÉN es.
|
|
251
|
+
*
|
|
252
|
+
* `semilla` no sale del `.md` —no hay forma de escribirlo ahí, y está bien: sería un campo
|
|
253
|
+
* que el usuario podría mentir— sino de comparar lo que hay en disco con lo que sembramos
|
|
254
|
+
* nosotros (`agentesEnDisco.ts#marcarSemilla`). Por eso vive en un tipo aparte de `Agente`,
|
|
255
|
+
* que es lo que `leerAgente` devuelve de un fichero.
|
|
256
|
+
*
|
|
257
|
+
* TRES estados y no un booleano, porque la pantalla hace tres cosas distintas con ellos y
|
|
258
|
+
* un `{deSerie, modificado}` admitiría la combinación imposible «no es de serie pero está
|
|
259
|
+
* modificado»:
|
|
260
|
+
*
|
|
261
|
+
* | valor | qué es | qué se puede hacer con él |
|
|
262
|
+
* |---|---|---|
|
|
263
|
+
* | ausente | un subagente del usuario | borrarlo |
|
|
264
|
+
* | `"intacta"` | de serie, tal como lo entregamos | nada: no hay nada que restaurar |
|
|
265
|
+
* | `"modificada"` | de serie, con el prompt afinado | restaurar el de serie (pisa lo suyo) |
|
|
266
|
+
*
|
|
267
|
+
* Y un de serie NO se borra: ver `restaurarAgente`. Borrarlo no devolvía el de serie —la
|
|
268
|
+
* marca recuerda que se entregó y no se resiembra—, así que era perderlo para siempre.
|
|
269
|
+
*/
|
|
270
|
+
/**
|
|
271
|
+
* La ficha con la que el ORQUESTADOR conoce a un especialista: su descripción más lo que
|
|
272
|
+
* SABE HACER y lo que DEVUELVE.
|
|
273
|
+
*
|
|
274
|
+
* **Por qué hace falta, medido en la librería.** deepagents arma la lista de especialistas con
|
|
275
|
+
* `- ${name}: ${description}` y nada más
|
|
276
|
+
* (`getTaskToolDescription`/`subagentDescriptions.push`), bajo un encabezado que promete
|
|
277
|
+
* «Available agent types **and the tools they have access to**» — una promesa que su cuerpo no
|
|
278
|
+
* cumple. O sea que lo único que el orquestador sabe de su equipo es una frase en prosa: no
|
|
279
|
+
* sabe quién escribe, quién alcanza la máquina ni qué devuelve cada uno. Y con eso no se puede
|
|
280
|
+
* ENGRANAR nada: componer un pipeline exige conocer las capacidades y qué entra y sale de cada
|
|
281
|
+
* pieza.
|
|
282
|
+
*
|
|
283
|
+
* **Se DERIVA de lo que el `.md` ya declara**, nunca se escribe a mano. Así un subagente del
|
|
284
|
+
* usuario trae su ficha solo y no hay una segunda lista que se quede vieja — que es el fallo
|
|
285
|
+
* que este repo ya tiene anotado para la regla de los diagramas, la única escrita a pelo.
|
|
286
|
+
*
|
|
287
|
+
* Y la frase del usuario va DELANTE y entera: es lo que él quiso decir, y esto solo la
|
|
288
|
+
* completa con lo que el código sabe y él no tiene por qué repetir.
|
|
289
|
+
*/
|
|
290
|
+
export function fichaDeAgente(agente) {
|
|
291
|
+
const capacidades = [];
|
|
292
|
+
/**
|
|
293
|
+
* **Quien EJECUTA es su propio caso, y confundirlo con «escribe» miente dos veces.**
|
|
294
|
+
* `montajeDeFicheros` le da `TOOLS_CON_EJECUCION`, que no lleva `write_file` ni `edit_file`
|
|
295
|
+
* —así que con las tools de fichero no escribe nada—, y **no recibe `permissions`** (la
|
|
296
|
+
* librería lanza al combinarlos con un backend ejecutable), así que lo que su shell toque no
|
|
297
|
+
* pasa por ninguna aprobación. Derivarlo de `soloLectura: false` decía lo contrario en las
|
|
298
|
+
* dos mitades, y la segunda en la dirección peligrosa: prometía una barrera que no existe.
|
|
299
|
+
*/
|
|
300
|
+
if (agente.ejecucion === true) {
|
|
301
|
+
capacidades.push("ejecuta comandos en esta máquina, así que alcanza el disco sin pasar por la aprobación", "no edita ficheros con las tools de fichero: no las tiene");
|
|
302
|
+
}
|
|
303
|
+
else if (agente.soloLectura) {
|
|
304
|
+
capacidades.push("solo LEE el proyecto");
|
|
305
|
+
}
|
|
306
|
+
else {
|
|
307
|
+
capacidades.push("ESCRIBE ficheros del proyecto, y cada escritura pasa por aprobación");
|
|
308
|
+
}
|
|
309
|
+
if (agente.motor !== "modelo")
|
|
310
|
+
capacidades.push(`corre en ${agente.motor}`);
|
|
311
|
+
/**
|
|
312
|
+
* Qué DEVUELVE, que es la mitad que falta para encadenar. Derivado de lo mismo: quien solo
|
|
313
|
+
* lee devuelve hechos; quien escribe devuelve cambios; quien ejecuta devuelve lo que MIDIÓ,
|
|
314
|
+
* que no es lo mismo que lo que cree.
|
|
315
|
+
*/
|
|
316
|
+
const devuelve = agente.ejecucion === true
|
|
317
|
+
? "devuelve lo que midió en la máquina"
|
|
318
|
+
: agente.soloLectura
|
|
319
|
+
? "devuelve hechos y análisis, sin tocar nada"
|
|
320
|
+
: "devuelve los ficheros que cambió";
|
|
321
|
+
const frase = agente.descripcion.trim();
|
|
322
|
+
const conPunto = /[.!?]$/.test(frase) ? frase : `${frase}.`;
|
|
323
|
+
return `${conPunto} [${capacidades.join("; ")}; ${devuelve}]`;
|
|
324
|
+
}
|
|
97
325
|
function esMotor(v) {
|
|
98
326
|
return MOTORES.includes(v);
|
|
99
327
|
}
|
|
@@ -180,7 +408,7 @@ export function leerAgente(nombre, contenido, origen) {
|
|
|
180
408
|
* es el sandbox, es el `approvalPolicy`. Con `read-only` + `on-request` el sandbox sigue
|
|
181
409
|
* siendo la denegación del sistema operativo y cada escritura llega como una petición que
|
|
182
410
|
* xonecode contesta, con las mismas guardas de ruta y la misma
|
|
183
|
-
* `PoliticaDeEscrituraExterna` que el otro motor (`agent/escrituraDeCodex.ts`).
|
|
411
|
+
* `PoliticaDeEscrituraExterna` que el otro motor (`agent/subagentes/escrituraDeCodex.ts`).
|
|
184
412
|
*/
|
|
185
413
|
return {
|
|
186
414
|
agente: {
|
|
@@ -192,6 +420,16 @@ export function leerAgente(nombre, contenido, origen) {
|
|
|
192
420
|
// puede acabar concediendo escritura por ser una cadena verdadera en JavaScript —
|
|
193
421
|
// es la misma trampa que `compartido` con el `"false"` de CloudStudio.
|
|
194
422
|
soloLectura,
|
|
423
|
+
// Misma regla y misma trampa que `soloLectura`, y por eso se lee igual. Solo se emite
|
|
424
|
+
// cuando es cierto: un `ejecucion: false` en todos los `.md` sería ruido que además
|
|
425
|
+
// invita a cambiarlo a mano sin saber lo que abre.
|
|
426
|
+
...((campos["ejecucion"] ?? "").trim() === "true" ? { ejecucion: true } : {}),
|
|
427
|
+
// Contra el vocabulario y no contra `string`: lo que se escriba aquí acaba siendo un
|
|
428
|
+
// parámetro de una API, así que un `esfuerzo: mucho` se DESCARTA en silencio —el
|
|
429
|
+
// subagente corre sin él— en vez de viajar y dar un 400 a mitad de turno.
|
|
430
|
+
...(esEsfuerzo((campos["esfuerzo"] ?? "").trim())
|
|
431
|
+
? { esfuerzo: (campos["esfuerzo"] ?? "").trim() }
|
|
432
|
+
: {}),
|
|
195
433
|
skills: leerLista(campos["skills"]),
|
|
196
434
|
instrucciones,
|
|
197
435
|
origen,
|
|
@@ -219,7 +457,9 @@ export function escribirAgente(agente) {
|
|
|
219
457
|
`descripcion: ${agente.descripcion}`,
|
|
220
458
|
`motor: ${agente.motor}`,
|
|
221
459
|
...(agente.modelo === undefined ? [] : [`modelo: ${agente.modelo}`]),
|
|
460
|
+
...(agente.esfuerzo === undefined ? [] : [`esfuerzo: ${agente.esfuerzo}`]),
|
|
222
461
|
`soloLectura: ${agente.soloLectura}`,
|
|
462
|
+
...(agente.ejecucion === true ? ["ejecucion: true"] : []),
|
|
223
463
|
`skills: [${agente.skills.join(", ")}]`,
|
|
224
464
|
];
|
|
225
465
|
return `---\n${campos.join("\n")}\n---\n${agente.instrucciones}`;
|
package/dist/core/agentes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentes.js","sourceRoot":"","sources":["../../src/core/agentes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;
|
|
1
|
+
{"version":3,"file":"agentes.js","sourceRoot":"","sources":["../../src/core/agentes.ts"],"names":[],"mappings":"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"}
|
package/dist/core/artefactos.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Los ARTEFACTOS de una sesión: lo que el agente produce y **no es del proyecto**.
|
|
3
3
|
*
|
|
4
4
|
* Un diagrama de `archify`, un panel de `artifacts-builder`, la captura que el
|
|
5
|
-
* `
|
|
5
|
+
* `device-controller`
|
|
6
6
|
* traerá del móvil el día que hable con él. Son salidas de la conversación, no código de la
|
|
7
7
|
* app: nacen de una pregunta, se miran una vez y no tienen por qué sobrevivir al proyecto.
|
|
8
8
|
*
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* cloud, **subía a CloudStudio**. Un diagrama dentro de la app del cliente.
|
|
16
16
|
*
|
|
17
17
|
* La carpeta virtual `/artefactos/` lo corta de raíz, y es la misma pieza que ya monta
|
|
18
|
-
* `/skills/`: otra raíz colgada del `CompositeBackend` (`agent/proyecto.ts`). Cuatro cosas
|
|
18
|
+
* `/skills/`: otra raíz colgada del `CompositeBackend` (`agent/grafo/proyecto.ts`). Cuatro cosas
|
|
19
19
|
* salen de ahí sin escribir una línea de más, porque cuelga de `.xonecode/`: no entra en el
|
|
20
20
|
* árbol del proyecto, no sube a CloudStudio, no aparece en Revisión y no engorda
|
|
21
21
|
* `.git/objects` (`sacarXonecodeDelIndice`).
|
|
@@ -49,7 +49,7 @@ export const RUTA_ARTEFACTOS = "/artefactos/";
|
|
|
49
49
|
* ¿Es esta ruta la de un artefacto, sin lugar a dudas?
|
|
50
50
|
*
|
|
51
51
|
* Se usa para DOS cosas y una de ellas es una decisión de seguridad: una escritura aquí no
|
|
52
|
-
* pide aprobación humana (ver `agent/turnoReal.ts`), así que esto no puede ser un
|
|
52
|
+
* pide aprobación humana (ver `agent/turno/turnoReal.ts`), así que esto no puede ser un
|
|
53
53
|
* `startsWith` a secas. Un `/artefactos/../app.xml` que colara por aquí sería una escritura
|
|
54
54
|
* al proyecto aprobada sola.
|
|
55
55
|
*
|
|
@@ -86,7 +86,7 @@ export function esRutaDeArtefacto(ruta) {
|
|
|
86
86
|
* app del cliente**.
|
|
87
87
|
*
|
|
88
88
|
* Es la misma clase de regla que las vistas aplanadas: se aplica en el BACKEND
|
|
89
|
-
* (`agent/proyecto.ts#sinArtefactosEnElProyecto`) y no en un prompt, porque un permiso solo
|
|
89
|
+
* (`agent/grafo/proyecto.ts#sinArtefactosEnElProyecto`) y no en un prompt, porque un permiso solo
|
|
90
90
|
* protege a quien lo choca. Aquí vive solo la regla, que es datos puros.
|
|
91
91
|
*
|
|
92
92
|
* **Se mira el PRIMER segmento y nada más**, y eso acota el falso positivo a propósito: un
|
package/dist/core/config.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* La validación PURA de los dos ficheros de configuración: sin tocar disco (eso es cosa
|
|
3
|
-
* de `agent/configEnDisco.ts`) y sin importar nada de langchain — la frontera de `core/`
|
|
3
|
+
* de `agent/config/configEnDisco.ts`) y sin importar nada de langchain — la frontera de `core/`
|
|
4
4
|
* está probada en `imports.test.ts`.
|
|
5
5
|
*
|
|
6
6
|
* Dos ficheros con dos ciclos de vida distintos, como opencode:
|
package/dist/core/contextos.js
CHANGED
|
@@ -26,7 +26,7 @@ const TOPES = {
|
|
|
26
26
|
// igual que `gpt-4.1` va antes que `gpt-4` aquí abajo.
|
|
27
27
|
//
|
|
28
28
|
// La tabla sigue siendo el último recurso: el catálogo vivo de Anthropic ya devuelve
|
|
29
|
-
// `max_input_tokens` (`agent/catalogoModelos.ts`), que es la verdad para el modelo
|
|
29
|
+
// `max_input_tokens` (`agent/config/catalogoModelos.ts`), que es la verdad para el modelo
|
|
30
30
|
// concreto; lo que todavía no está es ese valor llegando a la barra, que hoy resuelve
|
|
31
31
|
// por aquí.
|
|
32
32
|
anthropic: [
|
|
@@ -41,6 +41,17 @@ const TOPES = {
|
|
|
41
41
|
["claude", 200_000],
|
|
42
42
|
],
|
|
43
43
|
gemini: [["gemini", 1_000_000]],
|
|
44
|
+
/**
|
|
45
|
+
* DeepSeek publica 1M de contexto para los dos modelos que ofrece hoy (`deepseek-flash` y
|
|
46
|
+
* `deepseek-v4-pro`), así que un solo prefijo los cubre y también los alias antiguos que
|
|
47
|
+
* siguen aceptando (`deepseek-v4-flash`).
|
|
48
|
+
*
|
|
49
|
+
* La cifra sale de su tabla de precios, no de la memoria de nadie: el tope de contexto es
|
|
50
|
+
* lo que decide el porcentaje de la barra, y uno inventado es una mentira con forma de
|
|
51
|
+
* cifra. Su tope de SALIDA (384K) no entra aquí a propósito: `construirCompatibleOpenAi`
|
|
52
|
+
* no pasa `maxTokens`, así que una tabla con ese dato no la leería nadie.
|
|
53
|
+
*/
|
|
54
|
+
deepseek: [["deepseek", 1_000_000]],
|
|
44
55
|
openai: [
|
|
45
56
|
["gpt-4.1", 1_000_000],
|
|
46
57
|
["gpt-4o", 128_000],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contextos.js","sourceRoot":"","sources":["../../src/core/contextos.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,mFAAmF;AACnF,MAAM,KAAK,GAAuE;IAChF,uFAAuF;IACvF,sFAAsF;IACtF,iFAAiF;IACjF,yFAAyF;IACzF,sFAAsF;IACtF,uFAAuF;IACvF,uDAAuD;IACvD,EAAE;IACF,qFAAqF;IACrF,
|
|
1
|
+
{"version":3,"file":"contextos.js","sourceRoot":"","sources":["../../src/core/contextos.ts"],"names":[],"mappings":"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"}
|
package/dist/core/descargas.js
CHANGED
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
* fichero que escribió la sesión.
|
|
21
21
|
*
|
|
22
22
|
* Este módulo es `core/`: los nombres, dónde va la carpeta y la barrera. Quién la monta es
|
|
23
|
-
* de `agent/` (`agent/proyecto.ts#backendConDescargas`).
|
|
23
|
+
* de `agent/` (`agent/grafo/proyecto.ts#backendConDescargas`).
|
|
24
24
|
*/
|
|
25
25
|
import { dirname, join } from "node:path";
|
|
26
26
|
/**
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* de Android e iOS, y los dispositivos y simuladores a los que se llega.
|
|
4
4
|
*
|
|
5
5
|
* Aquí viven los TIPOS y los parsers PUROS —texto de una herramienta → datos—; quien lanza
|
|
6
|
-
* las herramientas es `agent/dispositivosEnMaquina.ts`. Separarlo así es lo que permite
|
|
6
|
+
* las herramientas es `agent/dispositivos/dispositivosEnMaquina.ts`. Separarlo así es lo que permite
|
|
7
7
|
* probar cada formato contra una salida real sin que `npm test` necesite ni adb ni Xcode.
|
|
8
8
|
*
|
|
9
9
|
* Tres estados por herramienta y no un booleano: «no encontrada», «falló» (con el motivo) y
|
|
@@ -132,8 +132,9 @@ export function recetaDeEmuladorAndroid(plataforma, estado) {
|
|
|
132
132
|
},
|
|
133
133
|
// Arrancar un emulador es un proceso de vida larga y otra capacidad; hoy no está
|
|
134
134
|
// cableado, así que se da el comando en vez de prometer un botón.
|
|
135
|
-
despues: "
|
|
136
|
-
"
|
|
135
|
+
despues: "Con el AVD creado aparece abajo, en «Simuladores y emuladores», con su botón de " +
|
|
136
|
+
"«Arrancar»: se lanza desde aquí y la fila se pone en verde cuando el aparato responde. " +
|
|
137
|
+
"A mano sería `emulator -avd pixel8`, que es lo mismo que hace ese botón.",
|
|
137
138
|
};
|
|
138
139
|
}
|
|
139
140
|
/**
|
|
@@ -284,6 +285,55 @@ export function parsearAvds(texto) {
|
|
|
284
285
|
.map((l) => l.trim())
|
|
285
286
|
.filter((l) => l !== "" && !/^(INFO|WARNING|ERROR)\b/.test(l));
|
|
286
287
|
}
|
|
288
|
+
/**
|
|
289
|
+
* El motivo de una verificación fallida, dicho sin vocabulario de máquina.
|
|
290
|
+
*
|
|
291
|
+
* Lo que devuelve `adb` viene con el SERIAL dentro —«adb: device 'emulator-5554' not found»— y
|
|
292
|
+
* eso acaba en una fila que se llama `pixel8`: el serial es un puerto que cambia entre
|
|
293
|
+
* arranques, es lo que esta interfaz esconde a propósito en todas partes, y encima deja al
|
|
294
|
+
* usuario leyendo dos nombres del mismo aparato. Se sustituye por el nombre que se le enseña.
|
|
295
|
+
*
|
|
296
|
+
* Y el caso de «no está» se DICE en vez de traducirse palabra por palabra: «not found» de adb
|
|
297
|
+
* significa que el aparato ya no aparece en su lista, o sea que se apagó o se desenchufó desde
|
|
298
|
+
* la última medida. Eso es lo accionable —la lista está vieja, vuelve a mirar— y es lo que
|
|
299
|
+
* explica por qué la fila decía «arrancado» mientras la verificación dice que no.
|
|
300
|
+
*/
|
|
301
|
+
export function motivoDeVerificacion(crudo, dispositivo) {
|
|
302
|
+
const sinSerial = crudo.split(dispositivo.id).join(dispositivo.nombre);
|
|
303
|
+
if (/\bnot found\b|\bdevice offline\b|\bno devices?\b/i.test(crudo)) {
|
|
304
|
+
return `ya no está: se apagó o se desenchufó desde la última medida`;
|
|
305
|
+
}
|
|
306
|
+
return sinSerial;
|
|
307
|
+
}
|
|
308
|
+
/**
|
|
309
|
+
* `adb -s <serial> emu avd name`: el nombre del AVD que hay detrás de un emulador en marcha.
|
|
310
|
+
*
|
|
311
|
+
* Forma MEDIDA con `pixel8` arrancado — son DOS líneas, el nombre y el acuse de la consola:
|
|
312
|
+
*
|
|
313
|
+
* pixel8
|
|
314
|
+
* OK
|
|
315
|
+
*
|
|
316
|
+
* Se usa la consola del emulador y no `getprop ro.boot.qemu.avd_name` (que contesta lo mismo,
|
|
317
|
+
* medido) porque `getprop` lee una propiedad de la IMAGEN y podría no estar en un emulador de
|
|
318
|
+
* terceros, mientras que la consola es el emulador mismo contestando.
|
|
319
|
+
*
|
|
320
|
+
* Fail-closed: `undefined` ante cualquier cosa que no sea un nombre de AVD. El nombre es una
|
|
321
|
+
* carpeta de `~/.android/avd`, así que no lleva espacios ni barras; y el `OK` del acuse se
|
|
322
|
+
* descarta explícitamente porque llegar a tomarlo por nombre sería emparejar por una cadena
|
|
323
|
+
* que no existe, o sea el mismo fallo de antes con otra forma.
|
|
324
|
+
*/
|
|
325
|
+
export function nombreDeAvdDeConsola(texto) {
|
|
326
|
+
for (const linea of texto.split(/\r?\n/)) {
|
|
327
|
+
const l = linea.trim();
|
|
328
|
+
if (l === "" || l === "OK" || /^(KO|error)\b/i.test(l))
|
|
329
|
+
continue;
|
|
330
|
+
// Misma clase que acepta el arranque (`agent/dispositivos/arranqueDeEmulador.ts`), guion
|
|
331
|
+
// inicial incluido: ahí un nombre que empiece por `-` lo tomaría `emulator` por bandera, y
|
|
332
|
+
// dos reglas distintas para el mismo nombre es como se acaba colando por el lado flojo.
|
|
333
|
+
return /^[A-Za-z0-9._][A-Za-z0-9._-]*$/.test(l) ? l : undefined;
|
|
334
|
+
}
|
|
335
|
+
return undefined;
|
|
336
|
+
}
|
|
287
337
|
/**
|
|
288
338
|
* `xcrun simctl list -j devices available`. Forma MEDIDA en esta máquina (Xcode con iOS 26):
|
|
289
339
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispositivos.js","sourceRoot":"","sources":["../../src/core/dispositivos.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dispositivos.js","sourceRoot":"","sources":["../../src/core/dispositivos.ts"],"names":[],"mappings":"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"}
|