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.
Files changed (315) hide show
  1. package/apps/web/dist/assets/{index-BB3SamhR.css → index-Boak51UP.css} +1 -1
  2. package/apps/web/dist/assets/index-Cg28x6nG.js +477 -0
  3. package/apps/web/dist/assets/{php-D_2--9WK.js → php-Cu6F_QCJ.js} +1 -1
  4. package/apps/web/dist/assets/{ruby-DSHSDbk1.js → ruby-BiqQPoC6.js} +1 -1
  5. package/apps/web/dist/index.html +2 -2
  6. package/dist/agent/{cloudstudioClient.js → cloudstudio/cloudstudioClient.js} +10 -0
  7. package/dist/agent/cloudstudio/cloudstudioClient.js.map +1 -0
  8. package/dist/agent/{cloudstudioMcp.js → cloudstudio/cloudstudioMcp.js} +5 -5
  9. package/dist/agent/cloudstudio/cloudstudioMcp.js.map +1 -0
  10. package/dist/agent/{descarga.js → cloudstudio/descarga.js} +17 -7
  11. package/dist/agent/cloudstudio/descarga.js.map +1 -0
  12. package/dist/agent/cloudstudio/manifiesto.js.map +1 -0
  13. package/dist/agent/cloudstudio/ramaActiva.js +11 -0
  14. package/dist/agent/cloudstudio/ramaActiva.js.map +1 -0
  15. package/dist/agent/{subida.js → cloudstudio/subida.js} +16 -7
  16. package/dist/agent/cloudstudio/subida.js.map +1 -0
  17. package/dist/agent/{zip.js → cloudstudio/zip.js} +1 -1
  18. package/dist/agent/cloudstudio/zip.js.map +1 -0
  19. package/dist/agent/{authEnDisco.js → config/authEnDisco.js} +3 -3
  20. package/dist/agent/config/authEnDisco.js.map +1 -0
  21. package/dist/agent/{catalogoModelos.js → config/catalogoModelos.js} +47 -1
  22. package/dist/agent/config/catalogoModelos.js.map +1 -0
  23. package/dist/agent/{configEnDisco.js → config/configEnDisco.js} +6 -6
  24. package/dist/agent/config/configEnDisco.js.map +1 -0
  25. package/dist/agent/{crearProyecto.js → config/crearProyecto.js} +2 -2
  26. package/dist/agent/config/crearProyecto.js.map +1 -0
  27. package/dist/agent/config/entorno.js.map +1 -0
  28. package/dist/agent/config/gemini.js.map +1 -0
  29. package/dist/agent/config/modelos.js +235 -0
  30. package/dist/agent/config/modelos.js.map +1 -0
  31. package/dist/agent/{modelosDeMotor.js → config/modelosDeMotor.js} +1 -1
  32. package/dist/agent/config/modelosDeMotor.js.map +1 -0
  33. package/dist/agent/config/mudanzaEnDisco.js +121 -0
  34. package/dist/agent/config/mudanzaEnDisco.js.map +1 -0
  35. package/dist/agent/{persona.js → config/persona.js} +1 -1
  36. package/dist/agent/config/persona.js.map +1 -0
  37. package/dist/agent/config/selectorEnMaquina.js +45 -0
  38. package/dist/agent/config/selectorEnMaquina.js.map +1 -0
  39. package/dist/agent/{settingsEnDisco.js → config/settingsEnDisco.js} +37 -2
  40. package/dist/agent/config/settingsEnDisco.js.map +1 -0
  41. package/dist/agent/{versionEnDisco.js → config/versionEnDisco.js} +8 -4
  42. package/dist/agent/config/versionEnDisco.js.map +1 -0
  43. package/dist/agent/dispositivos/arranqueDeEmulador.js +146 -0
  44. package/dist/agent/dispositivos/arranqueDeEmulador.js.map +1 -0
  45. package/dist/agent/{dispositivosEnMaquina.js → dispositivos/dispositivosEnMaquina.js} +93 -6
  46. package/dist/agent/dispositivos/dispositivosEnMaquina.js.map +1 -0
  47. package/dist/agent/dispositivos/hotswap.js.map +1 -0
  48. package/dist/agent/dispositivos/instalacionEnMaquina.js.map +1 -0
  49. package/dist/agent/dispositivos/juezVisual.js +152 -0
  50. package/dist/agent/dispositivos/juezVisual.js.map +1 -0
  51. package/dist/agent/{lanzamientoEnMaquina.js → dispositivos/lanzamientoEnMaquina.js} +1 -1
  52. package/dist/agent/dispositivos/lanzamientoEnMaquina.js.map +1 -0
  53. package/dist/agent/{paqueteDelProyecto.js → dispositivos/paqueteDelProyecto.js} +5 -5
  54. package/dist/agent/dispositivos/paqueteDelProyecto.js.map +1 -0
  55. package/dist/agent/dispositivos/procesosEnMaquina.js.map +1 -0
  56. package/dist/agent/dispositivos/sensorDeArranque.js +154 -0
  57. package/dist/agent/dispositivos/sensorDeArranque.js.map +1 -0
  58. package/dist/agent/exportarPdf.js +140 -0
  59. package/dist/agent/exportarPdf.js.map +1 -0
  60. package/dist/agent/{arbolDeProyecto.js → grafo/arbolDeProyecto.js} +2 -2
  61. package/dist/agent/grafo/arbolDeProyecto.js.map +1 -0
  62. package/dist/agent/{artefactosEnDisco.js → grafo/artefactosEnDisco.js} +2 -2
  63. package/dist/agent/grafo/artefactosEnDisco.js.map +1 -0
  64. package/dist/agent/{busquedaRegex.js → grafo/busquedaRegex.js} +41 -1
  65. package/dist/agent/grafo/busquedaRegex.js.map +1 -0
  66. package/dist/agent/grafo/criticaVisual.js +115 -0
  67. package/dist/agent/grafo/criticaVisual.js.map +1 -0
  68. package/dist/agent/grafo/excluirTools.js +82 -0
  69. package/dist/agent/grafo/excluirTools.js.map +1 -0
  70. package/dist/agent/{memoriaDeProyecto.js → grafo/memoriaDeProyecto.js} +1 -1
  71. package/dist/agent/grafo/memoriaDeProyecto.js.map +1 -0
  72. package/dist/agent/grafo/navegacionXone.js +231 -0
  73. package/dist/agent/grafo/navegacionXone.js.map +1 -0
  74. package/dist/agent/{perfiles.js → grafo/perfiles.js} +96 -10
  75. package/dist/agent/grafo/perfiles.js.map +1 -0
  76. package/dist/agent/{proyecto.js → grafo/proyecto.js} +274 -24
  77. package/dist/agent/grafo/proyecto.js.map +1 -0
  78. package/dist/agent/grafo/skills.js +425 -0
  79. package/dist/agent/grafo/skills.js.map +1 -0
  80. package/dist/agent/grafo/xoneAgent.js +566 -0
  81. package/dist/agent/grafo/xoneAgent.js.map +1 -0
  82. package/dist/agent/navegacion/estilosEnDisco.js +110 -0
  83. package/dist/agent/navegacion/estilosEnDisco.js.map +1 -0
  84. package/dist/agent/navegacion/hechosEnDisco.js +26 -0
  85. package/dist/agent/navegacion/hechosEnDisco.js.map +1 -0
  86. package/dist/agent/navegacion/indiceEnDisco.js +36 -0
  87. package/dist/agent/navegacion/indiceEnDisco.js.map +1 -0
  88. package/dist/agent/navegacion/modeloDeProyecto.js +228 -0
  89. package/dist/agent/navegacion/modeloDeProyecto.js.map +1 -0
  90. package/dist/agent/raizDelPaquete.js +56 -0
  91. package/dist/agent/raizDelPaquete.js.map +1 -0
  92. package/dist/agent/{checkpointer.js → sesiones/checkpointer.js} +1 -1
  93. package/dist/agent/sesiones/checkpointer.js.map +1 -0
  94. package/dist/agent/sesiones/git.js.map +1 -0
  95. package/dist/agent/{gitSync.js → sesiones/gitSync.js} +3 -3
  96. package/dist/agent/sesiones/gitSync.js.map +1 -0
  97. package/dist/agent/{sesionGit.js → sesiones/sesionGit.js} +2 -2
  98. package/dist/agent/sesiones/sesionGit.js.map +1 -0
  99. package/dist/agent/subagentes/agentesEnDisco.js +818 -0
  100. package/dist/agent/subagentes/agentesEnDisco.js.map +1 -0
  101. package/dist/agent/subagentes/consumoExterno.js.map +1 -0
  102. package/dist/agent/subagentes/escrituraDeCodex.js.map +1 -0
  103. package/dist/agent/{escrituraDeOpencode.js → subagentes/escrituraDeOpencode.js} +1 -1
  104. package/dist/agent/subagentes/escrituraDeOpencode.js.map +1 -0
  105. package/dist/agent/{escrituraExterna.js → subagentes/escrituraExterna.js} +59 -6
  106. package/dist/agent/subagentes/escrituraExterna.js.map +1 -0
  107. package/dist/agent/subagentes/pluginDeSkills.js +99 -0
  108. package/dist/agent/subagentes/pluginDeSkills.js.map +1 -0
  109. package/dist/agent/subagentes/subagenteCodex.js.map +1 -0
  110. package/dist/agent/{subagenteExterno.js → subagentes/subagenteExterno.js} +48 -0
  111. package/dist/agent/subagentes/subagenteExterno.js.map +1 -0
  112. package/dist/agent/{subagenteOpencode.js → subagentes/subagenteOpencode.js} +53 -1
  113. package/dist/agent/subagentes/subagenteOpencode.js.map +1 -0
  114. package/dist/agent/{aumentador.js → tareas/aumentador.js} +2 -2
  115. package/dist/agent/tareas/aumentador.js.map +1 -0
  116. package/dist/agent/{juezDeTarea.js → tareas/juezDeTarea.js} +6 -6
  117. package/dist/agent/tareas/juezDeTarea.js.map +1 -0
  118. package/dist/agent/{tareasEnDisco.js → tareas/tareasEnDisco.js} +53 -4
  119. package/dist/agent/tareas/tareasEnDisco.js.map +1 -0
  120. package/dist/agent/{diagnosticoDeTools.js → turno/diagnosticoDeTools.js} +5 -1
  121. package/dist/agent/turno/diagnosticoDeTools.js.map +1 -0
  122. package/dist/agent/{guionizado.js → turno/guionizado.js} +1 -1
  123. package/dist/agent/turno/guionizado.js.map +1 -0
  124. package/dist/agent/turno/informeDeTraza.js +245 -0
  125. package/dist/agent/turno/informeDeTraza.js.map +1 -0
  126. package/dist/agent/turno/inspectorDePrompt.js +205 -0
  127. package/dist/agent/turno/inspectorDePrompt.js.map +1 -0
  128. package/dist/agent/{instantanea.js → turno/instantanea.js} +7 -2
  129. package/dist/agent/turno/instantanea.js.map +1 -0
  130. package/dist/agent/{interrupts.js → turno/interrupts.js} +2 -2
  131. package/dist/agent/turno/interrupts.js.map +1 -0
  132. package/dist/agent/turno/mensajes.js.map +1 -0
  133. package/dist/agent/turno/normalizar.js.map +1 -0
  134. package/dist/agent/{puente.js → turno/puente.js} +71 -4
  135. package/dist/agent/turno/puente.js.map +1 -0
  136. package/dist/agent/turno/resumenDeContexto.js +260 -0
  137. package/dist/agent/turno/resumenDeContexto.js.map +1 -0
  138. package/dist/agent/{resumenDeTool.js → turno/resumenDeTool.js} +33 -0
  139. package/dist/agent/turno/resumenDeTool.js.map +1 -0
  140. package/dist/agent/turno/rubrica.js +91 -0
  141. package/dist/agent/turno/rubrica.js.map +1 -0
  142. package/dist/agent/turno/textoDeTool.js.map +1 -0
  143. package/dist/agent/{turnoReal.js → turno/turnoReal.js} +210 -25
  144. package/dist/agent/turno/turnoReal.js.map +1 -0
  145. package/dist/agent/turno/verificador.js.map +1 -0
  146. package/dist/cli/config.js +1 -1
  147. package/dist/cli/config.js.map +1 -1
  148. package/dist/cli/consola.js +72 -9
  149. package/dist/cli/consola.js.map +1 -1
  150. package/dist/cli/describe.js +2 -2
  151. package/dist/cli/describe.js.map +1 -1
  152. package/dist/cli/doctor.js +1 -1
  153. package/dist/cli/doctor.js.map +1 -1
  154. package/dist/cli/fuentesDeDisco.js +29 -0
  155. package/dist/cli/fuentesDeDisco.js.map +1 -0
  156. package/dist/cli/main.js +87 -31
  157. package/dist/cli/main.js.map +1 -1
  158. package/dist/cli/run.js +40 -10
  159. package/dist/cli/run.js.map +1 -1
  160. package/dist/cli/traza.js +48 -0
  161. package/dist/cli/traza.js.map +1 -0
  162. package/dist/cli/tui/correrTui.js +4 -4
  163. package/dist/cli/tui/correrTui.js.map +1 -1
  164. package/dist/cli/verify.js +1 -1
  165. package/dist/cli/verify.js.map +1 -1
  166. package/dist/core/actos.js +1 -1
  167. package/dist/core/adjuntos.js +2 -2
  168. package/dist/core/agentes.js +247 -7
  169. package/dist/core/agentes.js.map +1 -1
  170. package/dist/core/artefactos.js +4 -4
  171. package/dist/core/config.js +1 -1
  172. package/dist/core/contextos.js +12 -1
  173. package/dist/core/contextos.js.map +1 -1
  174. package/dist/core/descargas.js +1 -1
  175. package/dist/core/dispositivos.js +53 -3
  176. package/dist/core/dispositivos.js.map +1 -1
  177. package/dist/core/esfuerzo.js +141 -0
  178. package/dist/core/esfuerzo.js.map +1 -0
  179. package/dist/core/esqueleto.js +1 -1
  180. package/dist/core/estilos.js +78 -0
  181. package/dist/core/estilos.js.map +1 -0
  182. package/dist/core/exportacion.js +140 -0
  183. package/dist/core/exportacion.js.map +1 -0
  184. package/dist/core/hechosDelProyecto.js +87 -0
  185. package/dist/core/hechosDelProyecto.js.map +1 -0
  186. package/dist/core/logDeDispositivo.js +143 -0
  187. package/dist/core/logDeDispositivo.js.map +1 -0
  188. package/dist/core/modelos.js +48 -3
  189. package/dist/core/modelos.js.map +1 -1
  190. package/dist/core/mudanzaDeWorkspace.js +93 -0
  191. package/dist/core/mudanzaDeWorkspace.js.map +1 -0
  192. package/dist/core/navegacion.js +134 -0
  193. package/dist/core/navegacion.js.map +1 -0
  194. package/dist/core/notify.js +5 -0
  195. package/dist/core/notify.js.map +1 -1
  196. package/dist/core/planDeSubida.js +1 -1
  197. package/dist/core/planes.js +70 -0
  198. package/dist/core/planes.js.map +1 -0
  199. package/dist/core/ports.js +4 -0
  200. package/dist/core/ports.js.map +1 -1
  201. package/dist/core/rubrica.js +90 -0
  202. package/dist/core/rubrica.js.map +1 -0
  203. package/dist/core/selectorDeCarpeta.js +87 -0
  204. package/dist/core/selectorDeCarpeta.js.map +1 -0
  205. package/dist/core/settings.js +56 -7
  206. package/dist/core/settings.js.map +1 -1
  207. package/dist/core/shellDeAgente.js +144 -0
  208. package/dist/core/shellDeAgente.js.map +1 -0
  209. package/dist/core/skills.js +158 -0
  210. package/dist/core/skills.js.map +1 -0
  211. package/dist/core/topeAgotado.js +69 -0
  212. package/dist/core/topeAgotado.js.map +1 -0
  213. package/dist/core/zipDeSkill.js +107 -0
  214. package/dist/core/zipDeSkill.js.map +1 -0
  215. package/dist/web/servidor/arranque.js +853 -54
  216. package/dist/web/servidor/arranque.js.map +1 -1
  217. package/dist/web/servidor/corredorDeTareas.js +3 -3
  218. package/dist/web/servidor/corredorDeTareas.js.map +1 -1
  219. package/dist/web/servidor/sesiones.js +34 -6
  220. package/dist/web/servidor/sesiones.js.map +1 -1
  221. package/dist/web/servidor/transporte.js +1 -1
  222. package/dist/web/servidor/transporte.js.map +1 -1
  223. package/dist/web/servidor/vestibulo.js +62 -13
  224. package/dist/web/servidor/vestibulo.js.map +1 -1
  225. package/package.json +7 -4
  226. package/skills/archify/SKILL.md +25 -2
  227. package/skills/artifacts-builder/SKILL.md +23 -0
  228. package/skills/xone-hotswap/SKILL.md +96 -0
  229. package/skills/xone-hotswap/scripts/xone-arrancar-android +202 -0
  230. package/skills/xone-hotswap/scripts/xone-arrancar-ios +85 -0
  231. package/skills/xone-hotswap/scripts/xone-captura-android +93 -0
  232. package/skills/xone-hotswap/scripts/xone-desplegar-android +439 -0
  233. package/skills/xone-hotswap/scripts/xone-hotswap +201 -0
  234. package/skills/xone-hotswap/scripts/xone-log-android +102 -0
  235. package/skills/xone-hotswap/scripts/xone-reiniciar-android +132 -0
  236. package/skills/xone-plan-builder/SKILL.md +22 -4
  237. package/skills/xone-spec-builder/SKILL.md +37 -7
  238. package/apps/web/dist/assets/index-CFYAoHdw.js +0 -477
  239. package/dist/agent/agentesEnDisco.js +0 -539
  240. package/dist/agent/agentesEnDisco.js.map +0 -1
  241. package/dist/agent/arbolDeProyecto.js.map +0 -1
  242. package/dist/agent/artefactosEnDisco.js.map +0 -1
  243. package/dist/agent/aumentador.js.map +0 -1
  244. package/dist/agent/authEnDisco.js.map +0 -1
  245. package/dist/agent/busquedaRegex.js.map +0 -1
  246. package/dist/agent/catalogoModelos.js.map +0 -1
  247. package/dist/agent/checkpointer.js.map +0 -1
  248. package/dist/agent/cloudstudioClient.js.map +0 -1
  249. package/dist/agent/cloudstudioMcp.js.map +0 -1
  250. package/dist/agent/configEnDisco.js.map +0 -1
  251. package/dist/agent/consumoExterno.js.map +0 -1
  252. package/dist/agent/crearProyecto.js.map +0 -1
  253. package/dist/agent/descarga.js.map +0 -1
  254. package/dist/agent/diagnosticoDeTools.js.map +0 -1
  255. package/dist/agent/dispositivosEnMaquina.js.map +0 -1
  256. package/dist/agent/entorno.js.map +0 -1
  257. package/dist/agent/escrituraDeCodex.js.map +0 -1
  258. package/dist/agent/escrituraDeOpencode.js.map +0 -1
  259. package/dist/agent/escrituraExterna.js.map +0 -1
  260. package/dist/agent/gemini.js.map +0 -1
  261. package/dist/agent/git.js.map +0 -1
  262. package/dist/agent/gitSync.js.map +0 -1
  263. package/dist/agent/guionizado.js.map +0 -1
  264. package/dist/agent/hotswap.js.map +0 -1
  265. package/dist/agent/instalacionEnMaquina.js.map +0 -1
  266. package/dist/agent/instantanea.js.map +0 -1
  267. package/dist/agent/interrupts.js.map +0 -1
  268. package/dist/agent/juezDeTarea.js.map +0 -1
  269. package/dist/agent/lanzamientoEnMaquina.js.map +0 -1
  270. package/dist/agent/manifiesto.js.map +0 -1
  271. package/dist/agent/memoriaDeProyecto.js.map +0 -1
  272. package/dist/agent/mensajes.js.map +0 -1
  273. package/dist/agent/modelos.js +0 -130
  274. package/dist/agent/modelos.js.map +0 -1
  275. package/dist/agent/modelosDeMotor.js.map +0 -1
  276. package/dist/agent/normalizar.js.map +0 -1
  277. package/dist/agent/paqueteDelProyecto.js.map +0 -1
  278. package/dist/agent/perfiles.js.map +0 -1
  279. package/dist/agent/persona.js.map +0 -1
  280. package/dist/agent/procesosEnMaquina.js.map +0 -1
  281. package/dist/agent/proyecto.js.map +0 -1
  282. package/dist/agent/puente.js.map +0 -1
  283. package/dist/agent/resumenDeContexto.js +0 -30
  284. package/dist/agent/resumenDeContexto.js.map +0 -1
  285. package/dist/agent/resumenDeTool.js.map +0 -1
  286. package/dist/agent/sesionGit.js.map +0 -1
  287. package/dist/agent/settingsEnDisco.js.map +0 -1
  288. package/dist/agent/skills.js +0 -65
  289. package/dist/agent/skills.js.map +0 -1
  290. package/dist/agent/subagenteCodex.js.map +0 -1
  291. package/dist/agent/subagenteExterno.js.map +0 -1
  292. package/dist/agent/subagenteOpencode.js.map +0 -1
  293. package/dist/agent/subida.js.map +0 -1
  294. package/dist/agent/tareasEnDisco.js.map +0 -1
  295. package/dist/agent/textoDeTool.js.map +0 -1
  296. package/dist/agent/turnoReal.js.map +0 -1
  297. package/dist/agent/verificador.js.map +0 -1
  298. package/dist/agent/versionEnDisco.js.map +0 -1
  299. package/dist/agent/xoneAgent.js +0 -347
  300. package/dist/agent/xoneAgent.js.map +0 -1
  301. package/dist/agent/zip.js.map +0 -1
  302. /package/dist/agent/{manifiesto.js → cloudstudio/manifiesto.js} +0 -0
  303. /package/dist/agent/{entorno.js → config/entorno.js} +0 -0
  304. /package/dist/agent/{gemini.js → config/gemini.js} +0 -0
  305. /package/dist/agent/{hotswap.js → dispositivos/hotswap.js} +0 -0
  306. /package/dist/agent/{instalacionEnMaquina.js → dispositivos/instalacionEnMaquina.js} +0 -0
  307. /package/dist/agent/{procesosEnMaquina.js → dispositivos/procesosEnMaquina.js} +0 -0
  308. /package/dist/agent/{git.js → sesiones/git.js} +0 -0
  309. /package/dist/agent/{consumoExterno.js → subagentes/consumoExterno.js} +0 -0
  310. /package/dist/agent/{escrituraDeCodex.js → subagentes/escrituraDeCodex.js} +0 -0
  311. /package/dist/agent/{subagenteCodex.js → subagentes/subagenteCodex.js} +0 -0
  312. /package/dist/agent/{mensajes.js → turno/mensajes.js} +0 -0
  313. /package/dist/agent/{normalizar.js → turno/normalizar.js} +0 -0
  314. /package/dist/agent/{textoDeTool.js → turno/textoDeTool.js} +0 -0
  315. /package/dist/agent/{verificador.js → turno/verificador.js} +0 -0
@@ -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
- ...(skills === undefined || skills.suyas.length === 0
52
- ? []
53
- : [`Tus skills: ${skills.suyas.join(", ")}. Cárgalas antes de responder.`]),
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}`;
@@ -1 +1 @@
1
- {"version":3,"file":"agentes.js","sourceRoot":"","sources":["../../src/core/agentes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentes.js","sourceRoot":"","sources":["../../src/core/agentes.ts"],"names":[],"mappings":"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"}
@@ -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
- * `xone-device-tester`
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
@@ -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:
@@ -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,mFAAmF;IACnF,sFAAsF;IACtF,YAAY;IACZ,SAAS,EAAE;QACT,CAAC,cAAc,EAAE,SAAS,CAAC;QAC3B,CAAC,eAAe,EAAE,SAAS,CAAC;QAC5B,CAAC,eAAe,EAAE,SAAS,CAAC;QAC5B,CAAC,iBAAiB,EAAE,SAAS,CAAC;QAC9B,CAAC,iBAAiB,EAAE,SAAS,CAAC;QAC9B,CAAC,iBAAiB,EAAE,SAAS,CAAC;QAC9B,CAAC,iBAAiB,EAAE,SAAS,CAAC;QAC9B,CAAC,mBAAmB,EAAE,SAAS,CAAC;QAChC,CAAC,QAAQ,EAAE,OAAO,CAAC;KACpB;IACD,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC/B,MAAM,EAAE;QACN,CAAC,SAAS,EAAE,SAAS,CAAC;QACtB,CAAC,QAAQ,EAAE,OAAO,CAAC;QACnB,CAAC,aAAa,EAAE,OAAO,CAAC;QACxB,CAAC,OAAO,EAAE,OAAO,CAAC;KACnB;CACF,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAC5B,SAAoB,EACpB,MAAc,EACd,YAAoC,EAAE;IAEtC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,SAAS,IAAI,MAAM,EAAE,CAAC,CAAC;IAClD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAE5C,OAAO,KAAK,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAChF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAC1B,SAAoB,EACpB,MAAc,EACd,OAA+E;IAE/E,MAAM,EAAE,GAAG,GAAG,SAAS,IAAI,MAAM,EAAE,CAAC;IACpC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,KAAK,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IACrG,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,KAAK,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC/F,MAAM,OAAO,GAAG,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAClD,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAChF,CAAC;AACD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,eAAe,GAAuE;IAC1F,SAAS,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;CAChC,CAAC;AAEF,MAAM,UAAU,YAAY,CAAC,SAAoB,EAAE,MAAc;IAC/D,OAAO,eAAe,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC1F,CAAC"}
1
+ {"version":3,"file":"contextos.js","sourceRoot":"","sources":["../../src/core/contextos.ts"],"names":[],"mappings":"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"}
@@ -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: "Para arrancarlo: `emulator -avd pixel8`. Con él abierto, `adb devices` lista " +
136
- "`emulator-5554` y aparecerá aquí. Arrancarlo desde esta ventana todavía no está cableado.",
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":"AAAA;;;;;;;;;;;;;;;GAeG;AAgDH;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAAC,MAA2B;IACtD,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,KAAK,CAAC;QACX,KAAK,UAAU;YACb,OAAO,SAAS,CAAC;QACnB,KAAK,OAAO,CAAC;QACb,KAAK,WAAW;YACd,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AA6KD;;;;;;;;GAQG;AACH,MAAM,UAAU,uBAAuB,CAAC,UAAkB,EAAE,MAAuB;IACjF,IAAI,UAAU,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAE9C,wFAAwF;IACxF,yFAAyF;IACzF,kDAAkD;IAClD,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,GAAG,CAAC;IAEpD,MAAM,KAAK,GAAmB;QAC5B;YACE,MAAM,EAAE,iEAAiE;YACzE,QAAQ,EAAE;gBACR,yBAAyB;gBACzB,qEAAqE;aACtE;YACD,IAAI,EACF,0EAA0E;gBAC1E,gFAAgF;gBAChF,6DAA6D;YAC/D,uEAAuE;YACvE,KAAK,EAAE,MAAM,CAAC,UAAU;YACxB,sFAAsF;YACtF,sFAAsF;YACtF,uFAAuF;YACvF,UAAU,EAAE,MAAM,CAAC,IAAI;YACvB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,+BAA+B,EAAE,CAAC;SACtE;QACD;YACE,MAAM,EAAE,+CAA+C;YACvD,uFAAuF;YACvF,wFAAwF;YACxF,yFAAyF;YACzF,sFAAsF;YACtF,uFAAuF;YACvF,wFAAwF;YACxF,sFAAsF;YACtF,mFAAmF;YACnF,yDAAyD;YACzD,QAAQ,EAAE;gBACR,0HAA0H;aAC3H;YACD,IAAI,EAAE,yEAAyE;YAC/E,KAAK,EAAE,MAAM,CAAC,QAAQ;YACtB,mFAAmF;YACnF,UAAU,EAAE,WAAW;YACvB,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,sBAAsB,EAAE,CAAC;YAC5D,qFAAqF;YACrF,oFAAoF;YACpF,sFAAsF;YACtF,uCAAuC;YACvC,OAAO,EAAE;gBACP,QAAQ,EAAE,YAAY;gBACtB,MAAM,EACJ,iHAAiH;aACpH;YACD,MAAM,EAAE,4CAA4C;SACrD;QACD;YACE,MAAM,EAAE,8BAA8B;YACtC,QAAQ,EAAE,CAAC,gGAAgG,CAAC;YAC5G,IAAI,EAAE,iFAAiF;YACvF,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;YAC7B,yDAAyD;YACzD,UAAU,EAAE,WAAW,IAAI,MAAM,CAAC,QAAQ;YAC1C,GAAG,CAAC,WAAW,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,sBAAsB,EAAE,CAAC;SAC3H;KACF,CAAC;IAEF,OAAO;QACL,EAAE,EAAE,kBAAkB;QACtB,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,iCAAiC;QACzC,WAAW,EACT,sFAAsF;YACtF,gEAAgE;QAClE,KAAK;QACL,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QACrC,qFAAqF;QACrF,wFAAwF;QACxF,0DAA0D;QAC1D,MAAM,EAAE;YACN,MAAM,EAAE,oCAAoC;YAC5C,QAAQ,EAAE;gBACR,uEAAuE;gBACvE,yEAAyE;gBACzE,gDAAgD;aACjD;YACD,IAAI,EACF,4EAA4E;gBAC5E,kFAAkF;gBAClF,iFAAiF;gBACjF,qFAAqF;gBACrF,8DAA8D;SACjE;QACD,iFAAiF;QACjF,kEAAkE;QAClE,OAAO,EACL,+EAA+E;YAC/E,2FAA2F;KAC9F,CAAC;AACJ,CAAC;AAkBD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,oBAAoB,CAAC,UAAkB,EAAE,MAAmB;IAC1E,IAAI,UAAU,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAE9C,MAAM,KAAK,GAAmB;QAC5B;YACE,MAAM,EAAE,yEAAyE;YACjF,qFAAqF;YACrF,QAAQ,EAAE,CAAC,qDAAqD,CAAC;YACjE,IAAI,EACF,kFAAkF;gBAClF,uEAAuE;YACzE,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,UAAU,EAAE,KAAK;YACjB,QAAQ,EAAE,wDAAwD;SACnE;QACD;YACE,MAAM,EAAE,uCAAuC;YAC/C,oFAAoF;YACpF,uFAAuF;YACvF,kFAAkF;YAClF,QAAQ,EAAE;gBACR,iEAAiE;gBACjE,iCAAiC;aAClC;YACD,IAAI,EACF,+EAA+E;gBAC/E,oFAAoF;gBACpF,sBAAsB;YACxB,KAAK,EAAE,MAAM,CAAC,QAAQ;YACtB,UAAU,EAAE,KAAK;YACjB,QAAQ,EAAE,oEAAoE;SAC/E;QACD;YACE,MAAM,EAAE,2CAA2C;YACnD,QAAQ,EAAE,CAAC,kCAAkC,CAAC;YAC9C,IAAI,EACF,iFAAiF;gBACjF,gFAAgF;gBAChF,4DAA4D;YAC9D,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YACjC,UAAU,EAAE,KAAK;YACjB,QAAQ,EAAE,yFAAyF;SACpG;KACF,CAAC;IAEF,OAAO;QACL,EAAE,EAAE,eAAe;QACnB,UAAU,EAAE,KAAK;QACjB,MAAM,EAAE,8BAA8B;QACtC,WAAW,EACT,sFAAsF;YACtF,gEAAgE;QAClE,KAAK;QACL,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QACrC,uFAAuF;QACvF,yFAAyF;QACzF,OAAO,EACL,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YAC1B,CAAC,CAAC,iMAAiM;YACnM,CAAC,CAAC,8BAA8B,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,qHAAqH;KACpL,CAAC;AACJ,CAAC;AAiBD,kDAAkD;AAClD,MAAM,UAAU,SAAS,CAAC,QAAgB;IACxC,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,SAAS,CAAC;IAC3C,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC;IACzC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAyB;IACxD,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,OAAO,CAAC,CAAC;AACpG,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACzC,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,EAAE,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QAC3E,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACvD,IAAI,MAAM,KAAK,SAAS,IAAI,WAAW,KAAK,SAAS;YAAE,SAAS;QAChE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;QACzC,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;YAC1B,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,CAAC,GAAG,CAAC;gBAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,MAAM,GACV,WAAW,KAAK,QAAQ;YACtB,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,WAAW,KAAK,cAAc;gBAC9B,CAAC,CAAC,eAAe;gBACjB,CAAC,CAAC,WAAW,KAAK,SAAS;oBACzB,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,eAAe,CAAC;QAC1B,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC;YACV,EAAE,EAAE,MAAM;YACV,MAAM,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;YACjE,UAAU,EAAE,SAAS;YACrB,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ;YAC7D,MAAM;YACN,GAAG,CAAC,MAAM,KAAK,eAAe,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,WAAW,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7E,GAAG,CAAC,MAAM,KAAK,eAAe,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,4CAA4C,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjG,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,OAAO,KAAK;SACT,KAAK,CAAC,OAAO,CAAC;SACd,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACnE,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,IAAI,KAAc,CAAC;IACnB,IAAI,CAAC;QACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,OAAO,GAAI,KAAsD,EAAE,OAAO,CAAC;IACjF,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACxF,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,SAAS;QACpC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,OAAO,CAAC,CAAC,aAAa;QAClE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,2BAA2B,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC5F,KAAK,MAAM,CAAC,IAAI,KAAuC,EAAE,CAAC;YACxD,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;gBAAE,SAAS;YACvE,IAAI,CAAC,CAAC,WAAW,KAAK,KAAK;gBAAE,SAAS;YACtC,MAAM,MAAM,GACV,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC;YAC5F,MAAM,CAAC,IAAI,CAAC;gBACV,EAAE,EAAE,CAAC,CAAC,IAAI;gBACV,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,MAAM,OAAO,EAAE;gBAChC,UAAU,EAAE,KAAK;gBACjB,KAAK,EAAE,WAAW;gBAClB,MAAM;gBACN,GAAG,CAAC,MAAM,KAAK,eAAe,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,IAAI,KAAc,CAAC;IACnB,IAAI,CAAC;QACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,KAAK,GAAI,KAAuC,EAAE,QAAQ,CAAC;IACjE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,OAAO,IAAI,KAAuC,EAAE,CAAC;QAC9D,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,SAAS;QAC9D,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK;YAAE,SAAS;QACzC,IAAI,OAAO,CAAC,WAAW,KAAK,KAAK;YAAE,SAAS;QAC5C,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAClF,MAAM,MAAM,GAAG,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3E,IAAI,OAAO,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS;YAAE,SAAS;QAC5D,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,OAAQ,EAAE,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,IAAI,KAAc,CAAC;IACnB,IAAI,CAAC;QACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,KAAK,GAAI,KAAmD,EAAE,MAAM,EAAE,OAAO,CAAC;IACpF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,KAAK,MAAM,CAAC,IAAI,KAAuC,EAAE,CAAC;QACxD,MAAM,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC;QACxB,IAAI,OAAO,EAAE,KAAK,QAAQ;YAAE,SAAS;QACrC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,gBAAgB,IAAI,EAAE,CAA4B,CAAC;QACpE,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,oBAAoB,IAAI,EAAE,CAA4B,CAAC;QAC3E,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,kBAAkB,IAAI,EAAE,CAA4B,CAAC;QACzE,MAAM,MAAM,GAAG,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,MAAM,KAAK,GAAG,OAAO,QAAQ,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QACnF,MAAM,MAAM,GAA0B,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC;QAC5F,MAAM,UAAU,GAAG,OAAO,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,MAAM,CAAC,IAAI,CAAC;YACV,EAAE;YACF,MAAM,EAAE,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,MAAM,UAAU,EAAE;YAChE,UAAU,EAAE,KAAK;YACjB,KAAK,EAAE,QAAQ;YACf,MAAM;YACN,GAAG,CAAC,MAAM,KAAK,eAAe,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpG,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACzC,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,EAAE;YAAE,SAAS;QACvB,IAAI,4BAA4B,CAAC,IAAI,CAAC,CAAC,CAAC;YAAE,SAAS;QACnD,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;YAAE,SAAS;QAC3C,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY,CAAC,MAA6B;IACxD,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,WAAW,CAAC;AAC1D,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,WAAW,CAAC,OAA8B;IACxD,OAAO,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AACpE,CAAC"}
1
+ {"version":3,"file":"dispositivos.js","sourceRoot":"","sources":["../../src/core/dispositivos.ts"],"names":[],"mappings":"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"}