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
@@ -3,8 +3,8 @@ import { join, sep } from "node:path";
3
3
  import { randomUUID } from "node:crypto";
4
4
  import { HumanMessage, ToolMessage } from "@langchain/core/messages";
5
5
  import { Command, MemorySaver } from "@langchain/langgraph";
6
- import { collectPending, MAX_APPROVAL_ROUNDS } from "../vendor/hitl.js";
7
- import { esRutaDeArtefacto } from "../core/artefactos.js";
6
+ import { collectPending, MAX_APPROVAL_ROUNDS } from "../../vendor/hitl.js";
7
+ import { esRutaDeArtefacto } from "../../core/artefactos.js";
8
8
  /**
9
9
  * Cuántas veces se le devuelven los hallazgos al agente para que los corrija. Dos: tres
10
10
  * verificaciones en total. Un modelo que no arregla algo en dos intentos con el error
@@ -13,21 +13,69 @@ import { esRutaDeArtefacto } from "../core/artefactos.js";
13
13
  * veces) corta antes de llegar aquí cuando el modelo repite el mismo cambio.
14
14
  */
15
15
  export const TOPE_REPARACIONES = 2;
16
+ /**
17
+ * ¿Toca criticar la pantalla en esta pasada?
18
+ *
19
+ * PURA y exportada a propósito: la condición vivía dentro de `conVerificacion`, que es un
20
+ * cierre que TODOS los tests de este fichero doblan, y ahí una regla de producción se queda
21
+ * escrita y no probada — el patrón de fallo que este repo ha pagado nueve veces.
22
+ *
23
+ * Cuatro condiciones, y cada una dice algo distinto: sin crítico esta ejecución no puede
24
+ * preguntar (y eso NO es «la pantalla está bien»); sin capturas no hay nada que mirar; una vez
25
+ * por turno porque sus observaciones no son una huella y no hay forma de saber si una segunda
26
+ * vuelta avanza; y nunca por encima del tope de reparaciones, que es de todo el turno.
27
+ */
28
+ export function tocaCriticarPantalla(estado) {
29
+ return (estado.hayCritico &&
30
+ estado.capturas > 0 &&
31
+ !estado.yaDisparo &&
32
+ estado.intento < TOPE_REPARACIONES);
33
+ }
34
+ /**
35
+ * El texto que se le devuelve al agente para que repare, de las DOS fuentes.
36
+ *
37
+ * Fuera del cierre por lo mismo que `tocaCriticarPantalla`. Y no se le dice CÓMO arreglarlo
38
+ * —eso lo sabe él o no lo sabe—, solo lo que se ha medido y lo único que importa aquí: que no
39
+ * invente nada para que el error desaparezca, que es justo lo que XOne no le reprocha.
40
+ */
41
+ export function textoDeReparacion(hallazgos, observaciones) {
42
+ const lineas = [];
43
+ if (hallazgos.length > 0) {
44
+ const errores = hallazgos.filter((h) => h.severidad === "error").length;
45
+ lineas.push(`El simulador de XOne ha revisado lo que acabas de escribir y ha encontrado ${errores} error(es):`, ...hallazgos.map((h) => `- ${h.severidad === "error" ? "ERROR" : "aviso"} ${h.code}${h.fichero === undefined ? "" : ` en ${h.fichero}${h.linea === undefined ? "" : `:${h.linea}`}`}: ${h.mensaje}`));
46
+ }
47
+ if (observaciones.length > 0) {
48
+ if (lineas.length > 0)
49
+ lineas.push("");
50
+ /**
51
+ * **El aviso sobre la redacción está MEDIDO y no es cortesía.** Seis vueltas del crítico
52
+ * describieron un texto CORTADO como «girado 180°». A dónde apunta sí lo acertó las seis.
53
+ * Sin esta línea, el desarrollador busca una rotación que no existe y gasta la única
54
+ * vuelta que hay.
55
+ */
56
+ lineas.push("Y mirando una captura de la pantalla en el aparato se ve esto (la REDACCIÓN no es de", "fiar: describe mal la causa. Fíate de QUÉ control señala, no de su explicación, y", "míralo tú en el código):", ...observaciones.map((o) => `- ${o}`));
57
+ }
58
+ lineas.push("", "Corrige lo que puedas. No inventes atributos, funciones ni propiedades para que", "desaparezcan: XOne ignora lo desconocido en silencio y el simulador lo detecta.", "Si algo no sabes cómo corregirlo, dilo en vez de intentar otra cosa.");
59
+ return lineas.join("\n");
60
+ }
16
61
  import { aPendiente, ficheroDe, cambioDe, buildResume } from "./interrupts.js";
17
- import { cargarAgentes } from "./agentesEnDisco.js";
18
- import { crearSubagenteExterno } from "./subagenteExterno.js";
19
- import { opcionesDeSubagenteExterno } from "./escrituraExterna.js";
20
- import { ColaDeEventos, entrelazar } from "../core/entrelazar.js";
21
- import { sumarConsumo, SIN_CONSUMO } from "./consumoExterno.js";
22
- import { rutaRealDeVirtual } from "../core/rutaVirtual.js";
23
- import { correrTurno } from "../core/turno.js";
62
+ import { cargarAgentes } from "../subagentes/agentesEnDisco.js";
63
+ import { crearSubagenteExterno } from "../subagentes/subagenteExterno.js";
64
+ import { opcionesDeSubagenteExterno } from "../subagentes/escrituraExterna.js";
65
+ import { ColaDeEventos, entrelazar } from "../../core/entrelazar.js";
66
+ import { sumarConsumo, SIN_CONSUMO } from "../subagentes/consumoExterno.js";
67
+ import { rutaRealDeVirtual } from "../../core/rutaVirtual.js";
68
+ import { correrTurno } from "../../core/turno.js";
24
69
  import { relative, resolve as resolverRuta } from "node:path";
25
70
  import { tomarInstantanea } from "./instantanea.js";
26
- import { construirAgente } from "./xoneAgent.js";
27
- import { asegurarMemoriaDeProyecto } from "./memoriaDeProyecto.js";
71
+ import { construirAgente } from "../grafo/xoneAgent.js";
72
+ import { asegurarMemoriaDeProyecto } from "../grafo/memoriaDeProyecto.js";
28
73
  import { aEventos } from "./puente.js";
29
- import { createTokenTracker } from "../vendor/tokenTracking.js";
74
+ import { createTokenTracker } from "../../vendor/tokenTracking.js";
30
75
  import { crearDiagnosticoDeTools } from "./diagnosticoDeTools.js";
76
+ import { indiceEnDisco } from "../navegacion/indiceEnDisco.js";
77
+ import { hechosDelProyectoDe } from "../navegacion/hechosEnDisco.js";
78
+ import { conHechosDelProyecto } from "../../core/hechosDelProyecto.js";
31
79
  /**
32
80
  * Recorre la raíz y devuelve las rutas en el ESPACIO VIRTUAL del backend.
33
81
  *
@@ -90,7 +138,7 @@ const NODO_DE_TOOLS = "tools";
90
138
  /**
91
139
  * Cierra las aprobaciones que se quedaron sin contestar cuando murió el proceso anterior.
92
140
  *
93
- * Solo existe desde que el hilo se guarda en disco (`agent/checkpointer.ts`), y arregla un
141
+ * Solo existe desde que el hilo se guarda en disco (`agent/sesiones/checkpointer.ts`), y arregla un
94
142
  * fallo MEDIDO —y medido dos veces, porque la primera medida estaba mal—. La forma del
95
143
  * grafo importa: un grafo de un solo nodo donde `START` va al nodo interrumpido reejecuta
96
144
  * ese nodo con el mensaje nuevo y vuelve a preguntar, que es inofensivo. El grafo del
@@ -215,10 +263,34 @@ export async function abrirSesionReal(opciones) {
215
263
  * diga una vez y no en cada pasada de una reparación.
216
264
  */
217
265
  const artefactosDeLaPasada = [];
266
+ /**
267
+ * Las CAPTURAS que este turno dejó, sin vaciarse.
268
+ *
269
+ * `artefactosDeLaPasada` se drena al anunciarlas, así que al llegar al final del turno está
270
+ * vacío. Esto es lo que mira el crítico visual: **no navega ni conduce nada**, mira lo que el
271
+ * turno ya fotografió. Ésa es la única forma de que la crítica sea un paso del harness y no
272
+ * un recado que el orquestador puede olvidar — llegar a una pantalla necesita un agente
273
+ * (medido: el control de la Calculadora vive en un cajón cerrado), pero MIRAR lo ya
274
+ * capturado no.
275
+ */
276
+ const capturasDelTurno = [];
218
277
  const carpetaDeArtefactos = opciones.artefactos ?? join(raiz, ".xonecode", "artefactos");
278
+ /**
279
+ * El índice de navegación de esta sesión, y **es UNO solo**.
280
+ *
281
+ * Lo usan dos: la tool `xone_navegacion` que se le da al agente, y la foto de hechos que se
282
+ * pega al turno. Con dos cargadores serían dos fuentes para la misma pregunta, que es como
283
+ * el harness acaba diciendo una cosa en el prompt y otra en la tool sobre el mismo proyecto.
284
+ * Por eso se crea aquí y se le PASA a `construirAgente` en vez de dejar que se haga el suyo.
285
+ *
286
+ * No cachea nada: `indiceEnDisco` reconstruye en cada llamada a propósito, que es lo que
287
+ * deja que la foto del turno 3 no sea la del turno 1.
288
+ */
289
+ const cargarIndice = opciones.navegacion ?? indiceEnDisco(raiz);
219
290
  const construir = async () => construirAgente({
220
291
  raiz,
221
292
  ficheros: ficherosDelProyecto(raiz),
293
+ navegacion: cargarIndice,
222
294
  // Se releen en CADA construcción del agente y no una vez al abrir la sesión: el
223
295
  // usuario puede tocar un `.md` —o guardarlo desde Ajustes— con la consola abierta, y
224
296
  // una lista congelada al arrancar le haría creer que su cambio no se aplicó.
@@ -261,7 +333,11 @@ export async function abrirSesionReal(opciones) {
261
333
  diagnostico,
262
334
  artefactos: {
263
335
  carpeta: carpetaDeArtefactos,
264
- alEscribir: (a) => artefactosDeLaPasada.push(a),
336
+ alEscribir: (a) => {
337
+ artefactosDeLaPasada.push(a);
338
+ if (a.mime !== undefined && a.mime.startsWith("image/"))
339
+ capturasDelTurno.push(a);
340
+ },
265
341
  },
266
342
  // Ausente es «no hay», no una carpeta vacía: ver `OpcionesDeSesion.adjuntos`.
267
343
  ...(opciones.adjuntos === undefined ? {} : { adjuntos: opciones.adjuntos }),
@@ -352,7 +428,23 @@ export async function abrirSesionReal(opciones) {
352
428
  // reanudación.
353
429
  const t0 = Date.now();
354
430
  const instantanea = await tomarInstantanea(raiz, entorno.git);
355
- let payload = { messages: [new HumanMessage(peticion)] };
431
+ /**
432
+ * Los hechos baratos del proyecto, DELANTE, en vez de esperar a que alguien los busque.
433
+ *
434
+ * Medido el 19-09-2026 sobre un proyecto real: cada especialista repetía las mismas
435
+ * búsquedas (`grep` ×42 en un turno, `xnTituloHeaderC` ×7) y el orquestador se llevaba el
436
+ * 38-50 % del gasto averiguando. El prompt ya pide lo contrario y no basta.
437
+ *
438
+ * Va en la PETICIÓN y no en el prompt de sistema por una razón medida: el prompt se compone
439
+ * al construir el agente —dos veces por sesión— y esta foto envejecería dentro de la sesión
440
+ * que la usa, que es exactamente por lo que `xone_navegacion` no cachea. Aquí se rehace en
441
+ * cada turno, que cuesta decenas de milisegundos.
442
+ *
443
+ * Y solo en la petición ORIGINAL: el mensaje de una reparación ya lleva los hallazgos del
444
+ * verificador, y repetir ahí el inventario sería pagarlo dos veces por el mismo turno.
445
+ */
446
+ const payloadInicial = conHechosDelProyecto(peticion, await hechosDelProyectoDe(cargarIndice, ficherosDelProyecto(raiz)));
447
+ let payload = { messages: [new HumanMessage(payloadInicial)] };
356
448
  let bitacora = null;
357
449
  let ronda = 0;
358
450
  // El bucle de aprobación, tal como está en `correrReal` (`cli/run.ts`): una pausa
@@ -404,6 +496,18 @@ export async function abrirSesionReal(opciones) {
404
496
  let ultimosHallazgos = [];
405
497
  /** La huella del veredicto anterior, para detectar que reparar no avanza. */
406
498
  let huellaPrevia;
499
+ /**
500
+ * Lo que el crítico visual vio, y si ya disparó.
501
+ *
502
+ * **Una vez por turno, y es deliberado.** Sus observaciones NO son una huella —medido:
503
+ * seis vueltas sobre la MISMA captura dieron 4, 2, 4, 5, 3 y 5—, así que la guarda de «no
504
+ * progreso» no puede decidir si una segunda vuelta avanza. Sin forma de medirlo, el tope
505
+ * es uno: se le devuelve al agente lo que se ve mal, y lo que pase después lo mira una
506
+ * persona. Y por eso tampoco entran en `huellaPrevia`: la ensuciarían con texto que cambia
507
+ * solo, y entonces el bucle creería que siempre avanza.
508
+ */
509
+ let visualYaDisparo = false;
510
+ let observacionesVisuales = [];
407
511
  /**
408
512
  * El lazo de verificación, cosido al FINAL del flujo de eventos y no después del turno.
409
513
  *
@@ -501,6 +605,70 @@ export async function abrirSesionReal(opciones) {
501
605
  hallazgos,
502
606
  ...(preexistentes > 0 ? { preexistentes } : {}),
503
607
  };
608
+ /**
609
+ * **El crítico visual, enganchado AQUÍ y no en el prompt del orquestador.**
610
+ *
611
+ * Ésta es la diferencia entre que la crítica ocurra y que ocurra cuando el modelo se
612
+ * acuerde. Es el mismo punto y el mismo mecanismo que el resto del lazo —y el mismo que
613
+ * el `RubricMiddleware` de deepagents: enganchar donde el agente iba a terminar y
614
+ * devolver el feedback como mensaje de USUARIO en el mismo hilo—.
615
+ *
616
+ * **No conduce nada**: mira las capturas que este turno ya dejó. Navegar hasta una
617
+ * pantalla necesita un agente (medido: el control que lleva a la Calculadora vive en un
618
+ * cajón cerrado y hay que abrirlo mirando el árbol), pero MIRAR lo ya fotografiado no.
619
+ * Sin capturas no opina, que es honesto: no hay nada que ver.
620
+ *
621
+ * Y que no se pueda preguntar NO es un rojo: se dice como aviso y el turno sigue, igual
622
+ * que con el binario del simulador.
623
+ *
624
+ * **Límite declarado**: esto cuelga del mismo bloque que el verificador, así que solo
625
+ * corre en un turno que ESCRIBIÓ ficheros del proyecto. Un turno de pura inspección
626
+ * —«ve a esa pantalla y dime qué ves»— no pasa por aquí, y no debe: la pregunta que
627
+ * contesta este enganche es «¿quedó bien lo que acabas de escribir?». Para mirar sin
628
+ * escribir está la tool `xone_critica_visual`, que el orquestador invoca cuando quiere.
629
+ */
630
+ if (tocaCriticarPantalla({
631
+ hayCritico: opciones.criticaVisual !== undefined,
632
+ capturas: capturasDelTurno.length,
633
+ yaDisparo: visualYaDisparo,
634
+ intento,
635
+ })) {
636
+ visualYaDisparo = true;
637
+ // La ÚLTIMA: es el estado más reciente de la pantalla, y las anteriores pueden ser de
638
+ // antes del cambio que este turno acaba de hacer.
639
+ const captura = capturasDelTurno[capturasDelTurno.length - 1];
640
+ try {
641
+ const bytes = readFileSync(join(carpetaDeArtefactos, captura.nombre));
642
+ const visual = await opciones.criticaVisual({ base64: bytes.toString("base64"), mime: captura.mime ?? "image/png" }, captura.nombre);
643
+ if (visual.veredicto === "rojo" && visual.observaciones.length > 0) {
644
+ observacionesVisuales = visual.observaciones;
645
+ yield {
646
+ tipo: "aviso",
647
+ texto: `⚠ la captura de esta sesión enseña ${visual.observaciones.length} defecto(s) de pantalla`,
648
+ severidad: "aviso",
649
+ };
650
+ /**
651
+ * Si el simulador está en VERDE, nadie más va a disparar una ronda: la dispara
652
+ * esto. Si ya está en rojo, las observaciones se suman a la petición que va a
653
+ * salir igualmente, y no se gasta una vuelta extra.
654
+ */
655
+ if (errores === 0) {
656
+ ultimosHallazgos = [];
657
+ intento += 1;
658
+ reparar = true;
659
+ cerrarRonda = false;
660
+ return;
661
+ }
662
+ }
663
+ }
664
+ catch (error) {
665
+ yield {
666
+ tipo: "aviso",
667
+ texto: `⚠ no se pudo criticar la pantalla: ${error instanceof Error ? error.name : "error"}`,
668
+ severidad: "aviso",
669
+ };
670
+ }
671
+ }
504
672
  if (errores === 0)
505
673
  return;
506
674
  // Rojo. Tres salidas, y solo una de ellas es «inténtalo otra vez».
@@ -550,14 +718,7 @@ export async function abrirSesionReal(opciones) {
550
718
  * lo único que importa aquí: que no se invente nada para que el error desaparezca, que
551
719
  * es justo lo que XOne no le va a reprochar y el simulador sí.
552
720
  */
553
- const peticionDeReparacion = () => [
554
- `El simulador de XOne ha revisado lo que acabas de escribir y ha encontrado ${ultimosHallazgos.filter((h) => h.severidad === "error").length} error(es):`,
555
- ...ultimosHallazgos.map((h) => `- ${h.severidad === "error" ? "ERROR" : "aviso"} ${h.code}${h.fichero === undefined ? "" : ` en ${h.fichero}${h.linea === undefined ? "" : `:${h.linea}`}`}: ${h.mensaje}`),
556
- "",
557
- "Corrige los errores. No inventes atributos, funciones ni propiedades para que",
558
- "desaparezcan: XOne ignora lo desconocido en silencio y el simulador lo detecta.",
559
- "Si algún error no sabes cómo corregirlo, dilo en vez de intentar otra cosa.",
560
- ].join("\n");
721
+ const peticionDeReparacion = () => textoDeReparacion(ultimosHallazgos, observacionesVisuales);
561
722
  // Dos bucles anidados y a propósito: el de dentro son las RONDAS de aprobación de una
562
723
  // petición (una pausa termina la ronda, se reanuda con las decisiones); el de fuera son
563
724
  // los INTENTOS de reparación, cada uno una petición nueva en el mismo hilo. Quién
@@ -587,7 +748,7 @@ export async function abrirSesionReal(opciones) {
587
748
  bitacora = await correrTurno(conVerificacion(
588
749
  // El flujo del grafo MÁS lo que el agente externo vaya haciendo en su propio
589
750
  // proceso: sin esto, ni una de sus tools cruza y son minutos de pantalla quieta.
590
- entrelazar(aEventos(stream, async () => (await leerPendientes()).lista, ({ nombre, detalle, parametros }) => diagnostico?.herramienta(nombre, detalle, parametros, tracker)), eventosExternos)), piel, {
751
+ entrelazar(aEventos(stream, async () => (await leerPendientes()).lista, ({ nombre, detalle, parametros, origen }) => diagnostico?.herramienta(nombre, detalle, parametros, tracker, origen)), eventosExternos)), piel, {
591
752
  // El aviso solo si el turno ESCRIBIÓ y aun así no se verificó. Antes saltaba en
592
753
  // todos los turnos, incluido «cuéntame un chiste» — y un aviso que salta cuando
593
754
  // no ha pasado nada enseña a ignorarlo, que es lo contrario de lo que se compra
@@ -754,9 +915,33 @@ export async function abrirSesionReal(opciones) {
754
915
  modelos = nuevos;
755
916
  agente = await construir();
756
917
  },
757
- /** Para `/nuevo`: solo cambia el hilo. El agente no se reconstruye. */
918
+ /**
919
+ * Para `/nuevo`: cambia el hilo y **pone el contador a cero**. El agente no se reconstruye.
920
+ *
921
+ * Lo segundo no es un extra: **el `thread_id` ES la sesión** (`agent/sesiones/checkpointer.ts`),
922
+ * así que abrir un hilo nuevo es empezar una conversación nueva, y el gasto que se enseña
923
+ * es el de UNA sesión. Sin esto —medido en la caja del compositor por el usuario— la
924
+ * conversación recién abierta heredaba los tokens de la anterior: una cifra que nadie ha
925
+ * gastado ahí, y encima creciente, porque el tracker vive en el cierre de la sesión y esta
926
+ * no se recrea.
927
+ *
928
+ * El tracker se vacía EN SITIO en vez de sustituirse: quien lo tiene lo recibió al
929
+ * construirse (el middleware de conteo lo capturó en su cierre), así que cambiar la
930
+ * referencia dejaría al middleware sumando en un objeto que ya no lee nadie — el mismo
931
+ * fallo mudo de siempre, con el contador clavado para siempre.
932
+ *
933
+ * Y se AVISA, porque el contador solo se repinta cuando el consumo cambia: sin el aviso,
934
+ * la pantalla se quedaría con la cifra vieja hasta el primer turno del hilo nuevo.
935
+ */
758
936
  nuevoHilo(id) {
759
937
  hilo = id ?? `xonecode-${randomUUID()}`;
938
+ tracker.input = 0;
939
+ tracker.output = 0;
940
+ tracker.cache = 0;
941
+ tracker.calls = 0;
942
+ tracker.contexto = 0;
943
+ consumoExterno = SIN_CONSUMO;
944
+ avisarDeConsumo();
760
945
  },
761
946
  tracker,
762
947
  /**
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turnoReal.js","sourceRoot":"","sources":["../../../src/agent/turno/turnoReal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verificador.js","sourceRoot":"","sources":["../../../src/agent/turno/verificador.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGtC,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAErC,+EAA+E;AAC/E;;;;;;;GAOG;AACH,MAAM,OAAO,iBAAkB,SAAQ,KAAK;CAAG;AAiB/C;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAC,MAA0B;IACjD,uFAAuF;IACvF,kFAAkF;IAClF,iFAAiF;IACjF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,iBAAiB,CAAC,MAAM,CAAC,KAAK,IAAI,6CAA6C,CAAC,CAAC;IAC7F,CAAC;IACD,MAAM,SAAS,GAAe,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACtD,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,SAAS,EAAE,CAAC,CAAC,QAAiC;QAC9C,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,CAAC,IAAI;QACnC,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,IAAI;QACvB,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM;KAC5B,CAAC,CAAC,CAAC;IACJ,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC;AAC9C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,OAAO,iBAAiB;IACC;IAA7B,YAA6B,UAAU,gBAAgB;QAA1B,YAAO,GAAP,OAAO,CAAmB;IAAG,CAAC;IAE3D,KAAK,CAAC,SAAS,CAAC,YAAoB;QAClC,IAAI,MAAc,CAAC;QACnB,IAAI,CAAC;YACH,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;QACpF,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,SAAS,GAAG,CAAwB,CAAC;YAC3C,IAAI,CAAC,SAAS,CAAC,MAAM;gBAAE,MAAM,CAAC,CAAC,CAAC,0CAA0C;YAC1E,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAM,mDAAmD;QACrF,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAuB,CAAC,CAAC;IAC5D,CAAC;CACF"}
@@ -10,7 +10,7 @@
10
10
  * Y al revés: un config MAL escrito no puede impedir que este comando funcione — es
11
11
  * justo el que uno corre cuando la configuración está mal. Por eso siempre devuelve 0.
12
12
  */
13
- import { cargar } from "../agent/configEnDisco.js";
13
+ import { cargar } from "../agent/config/configEnDisco.js";
14
14
  import { ModeloMalEscrito, PAPELES, resolver, idDeProveedorPersonalizado, PROVEEDORES, VARIABLES_POR_PROVEEDOR, variableDeProveedor, } from "../core/modelos.js";
15
15
  import { topeResuelto } from "../core/contextos.js";
16
16
  import { escribirEnStdout } from "./stdio.js";
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/cli/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/cli/config.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,8 @@ import { cmdConfig } from "./config.js";
14
14
  import { cmdDescribe } from "./describe.js";
15
15
  import { cmdDoctor } from "./doctor.js";
16
16
  import { cmdVerify } from "./verify.js";
17
- import { AgenteGuionizado } from "../agent/guionizado.js";
17
+ import { AgenteGuionizado } from "../agent/turno/guionizado.js";
18
+ import { exportarAPdf } from "../agent/exportarPdf.js";
18
19
  import { correrTurno } from "../core/turno.js";
19
20
  import { PAPELES, POR_OMISION, ModeloMalEscrito, parsear, PROVEEDORES, VARIABLES_POR_PROVEEDOR, esProveedorPersonalizado, variableDeProveedor, } from "../core/modelos.js";
20
21
  import { motivoDeClaveInaceptable } from "../core/config.js";
@@ -23,12 +24,13 @@ import { interpretAnswer } from "../vendor/hitl.js";
23
24
  import { crearPielStdio } from "./stdio.js";
24
25
  import { esTema, seleccionarTema, TEMAS } from "./tema.js";
25
26
  import { acuseDeModelo } from "./acuseDeModelo.js";
26
- import { guardarCredencial, AuthRotoEnDisco } from "../agent/authEnDisco.js";
27
- import { cargarSettings, guardarSinAprobacion } from "../agent/settingsEnDisco.js";
27
+ import { guardarCredencial, AuthRotoEnDisco } from "../agent/config/authEnDisco.js";
28
+ import { cargarSettings, guardarSinAprobacion } from "../agent/config/settingsEnDisco.js";
28
29
  import { seAplicaSinAprobacion } from "../core/settings.js";
29
- import { URL_CLOUDSTUDIO_POR_OMISION } from "../agent/cloudstudioMcp.js";
30
- import { cargar, cloudstudioDelProyecto, NOMBRE_CARPETA } from "../agent/configEnDisco.js";
31
- import { rutaMemoriaDeProyecto } from "../agent/memoriaDeProyecto.js";
30
+ import { URL_CLOUDSTUDIO_POR_OMISION } from "../agent/cloudstudio/cloudstudioMcp.js";
31
+ import { cargar, cloudstudioDelProyecto, NOMBRE_CARPETA } from "../agent/config/configEnDisco.js";
32
+ import { rutaMemoriaDeProyecto } from "../agent/grafo/memoriaDeProyecto.js";
33
+ import { ESFUERZOS, esEsfuerzo } from "../core/esfuerzo.js";
32
34
  /**
33
35
  * Saludo local de la consola. No procede del modelo ni se incorpora al hilo: debe hacer
34
36
  * visible que xonecode está listo sin gastar tokens ni sesgar la primera petición.
@@ -51,7 +53,7 @@ export const PETICION_REANUDAR_PROYECTO = "Reanuda el proyecto. Lee solo /MEMORI
51
53
  "ni explores el código salvo que la memoria cite una ruta imprescindible para aclarar un pendiente; " +
52
54
  "en ese caso lee solo sus primeras 50 líneas. Termina preguntando si quieres continuar ese paso.";
53
55
  export const MENSAJE_REANUDANDO = "Analizando el estado guardado del repositorio…\n";
54
- // Movida a `agent/cloudstudioMcp.ts`: es la dirección de un servidor, no un detalle de
56
+ // Movida a `agent/cloudstudio/cloudstudioMcp.ts`: es la dirección de un servidor, no un detalle de
55
57
  // esta piel, y `adoptarLegadoSiProcede` (Task 4 del plan de la consola web) la necesita
56
58
  // desde `agent/`, que no puede importar de `cli/`. Se reexporta para no romper a quien
57
59
  // la importaba de aquí.
@@ -581,6 +583,39 @@ export function crearCompleter(escribir, ficherosDelProyecto = () => new Set())
581
583
  * El estado solo cambia con un modelo VÁLIDO: un fallo de tecleo no puede dejar la sesión
582
584
  * apuntando a algo que revienta al construir el cliente.
583
585
  */
586
+ /**
587
+ * `/esfuerzo <nivel>` — cuánto razona el modelo, en caliente y para esta sesión.
588
+ *
589
+ * `ninguno` lo quita, y es una palabra y no un argumento vacío: teclear `/esfuerzo` a secas
590
+ * es casi siempre olvidarse del nivel, y tratar ese olvido como «quítalo» apagaría en
591
+ * silencio algo que alguien había puesto. Sin argumento se enseña el uso, como en `/modelo`.
592
+ *
593
+ * **No se comprueba contra el modelo de ahora, y es deliberado.** El nivel es de la SESIÓN y
594
+ * el modelo se cambia debajo con `/modelo`; rechazar aquí un `xhigh` porque el modelo
595
+ * puesto en este segundo no lo admite obligaría a volver a teclearlo tras cada cambio. Lo
596
+ * que hace `construirModelo` es omitirlo mientras no aplique — y recuperarlo solo, sin que
597
+ * nadie lo vuelva a escribir, en cuanto el modelo lo admita.
598
+ */
599
+ const manejadorDeEsfuerzo = async (args, estado, consola) => {
600
+ const valor = (args[0] ?? "").trim().toLowerCase();
601
+ if (valor === "") {
602
+ consola.escribir(`uso: /esfuerzo <${ESFUERZOS.join("|")}|ninguno>\n`);
603
+ return { seguir: true };
604
+ }
605
+ if (valor === "ninguno") {
606
+ consola.escribir("esfuerzo: sin fijar — lo decide el modelo\n");
607
+ const { esfuerzo: _quitado, ...resto } = estado;
608
+ return { seguir: true, estado: resto };
609
+ }
610
+ if (!esEsfuerzo(valor)) {
611
+ consola.escribir(`«${valor}» no es un nivel. Los que hay: ${ESFUERZOS.join(", ")} (o «ninguno»).\n`);
612
+ return { seguir: true };
613
+ }
614
+ // Se DICE que puede no aplicar, en vez de callarlo: el nivel se guarda igual, pero quien
615
+ // lo teclea tiene que saber que su modelo de ahora manda sobre esto.
616
+ consola.escribir(`esfuerzo: ${valor} — se aplica a los modelos que lo admitan\n`);
617
+ return { seguir: true, estado: { ...estado, esfuerzo: valor } };
618
+ };
584
619
  function manejadorDeModelo(papel) {
585
620
  const nombre = papel === undefined ? "/modelo" : `/modelo-${papel}`;
586
621
  return async (args, estado, consola) => {
@@ -626,7 +661,7 @@ function manejadorDeModelo(papel) {
626
661
  /**
627
662
  * La ÚNICA política de aprobación que existe hoy: rellena el hueco de
628
663
  * `core/cloudstudio.ts#PoliticaDeAprobacion` con un humano que ve el plan y responde.
629
- * Vive aquí, en `cli/`, y no en `agent/subida.ts`: la política es de la piel, el hueco es
664
+ * Vive aquí, en `cli/`, y no en `agent/cloudstudio/subida.ts`: la política es de la piel, el hueco es
630
665
  * del motor.
631
666
  *
632
667
  * **Es MÁS estricta que `cli/aprobar.ts`, a propósito: aquí el Enter a secas no aprueba
@@ -703,6 +738,30 @@ export const COMANDOS = {
703
738
  return { seguir: true };
704
739
  },
705
740
  },
741
+ pdf: {
742
+ descripcion: "exporta un .md o .html del proyecto a PDF, al lado del original",
743
+ /**
744
+ * **Lo hace el HARNESS y no el agente.** Producir un PDF es lo que las skills `pdf`/`docx`
745
+ * hacen ejecutando scripts, y a un motor externo no se le concede shell — abrirla dejaría
746
+ * a ese hijo reescribir el proyecto sin diff ni aprobación. Aquí el comando es FIJO y lo
747
+ * escribe el código, así que no hay prompt que pueda torcerlo. El porqué entero está en
748
+ * `core/exportacion.ts`.
749
+ *
750
+ * **Y la autorización es teclear el comando**, como crear una tarea: no pasa por la
751
+ * aprobación de escritura porque no lo pide el modelo, lo pide quien está delante, y el
752
+ * destino lo DERIVA el código del origen (`rutaDePdf`) — no se puede elegir dónde escribe.
753
+ */
754
+ manejador: async (args, estado, consola) => {
755
+ const ruta = args.join(" ").trim();
756
+ if (ruta === "") {
757
+ consola.escribir("uso: /pdf <ruta del fichero dentro del proyecto>\n");
758
+ return { seguir: true };
759
+ }
760
+ const hecho = await exportarAPdf({ raiz: estado.raiz, ruta });
761
+ consola.escribir("error" in hecho ? `${hecho.error}\n` : `PDF en ${hecho.ruta}\n`);
762
+ return { seguir: true };
763
+ },
764
+ },
706
765
  config: {
707
766
  descripcion: "config y credenciales, sin claves — como `xonecode config`",
708
767
  manejador: async (_args, estado, consola) => {
@@ -737,6 +796,10 @@ export const COMANDOS = {
737
796
  descripcion: "cambia los TRES papeles en caliente: /modelo <proveedor>/<modelo>",
738
797
  manejador: manejadorDeModelo(undefined),
739
798
  },
799
+ esfuerzo: {
800
+ descripcion: "cuánto razona el modelo: /esfuerzo <low|medium|high|xhigh|max|ninguno>",
801
+ manejador: manejadorDeEsfuerzo,
802
+ },
740
803
  "modelo-rapido": {
741
804
  descripcion: "cambia el papel `rapido` en caliente: /modelo-rapido <proveedor>/<modelo>",
742
805
  manejador: manejadorDeModelo("rapido"),
@@ -827,7 +890,7 @@ export const COMANDOS = {
827
890
  const cuando = new Date().toISOString();
828
891
  try {
829
892
  // El hueco de política solo se rellena para «subir»: es la única acción que
830
- // escribe. `agent/subida.ts#subir` la invoca con el plan YA CONSTRUIDO, así que
893
+ // escribe. `agent/cloudstudio/subida.ts#subir` la invoca con el plan YA CONSTRUIDO, así que
831
894
  // esto puede pasarse siempre — si el árbol está sucio o no hay nada que subir, ni
832
895
  // siquiera llega a invocarse.
833
896
  const politicaDeAprobacion = accion === "subir" ? politicaInteractiva(consola, decir) : undefined;