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,347 +0,0 @@
1
- import { createDeepAgent, createFilesystemMiddleware } from "deepagents";
2
- import { promptDeAgente, repartirSkills } from "../core/agentes.js";
3
- import { RunnableLambda } from "@langchain/core/runnables";
4
- import { AIMessage } from "@langchain/core/messages";
5
- import { MemorySaver } from "@langchain/langgraph";
6
- import { backendDeAgente } from "./proyecto.js";
7
- import { permisosDe, hitlDe } from "./perfiles.js";
8
- import { crearBusquedaRegex } from "./busquedaRegex.js";
9
- import { inventarioDelProyecto } from "./escrituraExterna.js";
10
- import { middlewareTextoDeTool } from "./textoDeTool.js";
11
- import { resumenDeContexto } from "./resumenDeContexto.js";
12
- import { createTokenTrackingMiddleware, } from "../vendor/tokenTracking.js";
13
- /**
14
- * El prompt del orquestador, GENERADO a partir de los subagentes que hay.
15
- *
16
- * Era una constante que nombraba a `docs`, `planner`, `dev` y `mockup` a pelo. Desde que los
17
- * subagentes son ficheros que el usuario escribe y borra, eso se queda mintiendo el primer
18
- * día: mandarle delegar en `mockup` cuando `mockup` no existe es la misma clase de botón
19
- * muerto que este repo lleva semanas quitando de la interfaz.
20
- *
21
- * Lo que se conserva es lo GENERAL —no tienes tools, delega, encadena con handoff, no
22
- * afirmes lo que no te han confirmado—, y lo específico sale de la propia lista. La línea
23
- * del encadenado para diagramas solo se escribe si existen los dos agentes de los que
24
- * habla: una instrucción sobre un especialista que no está no la puede seguir nadie.
25
- */
26
- /**
27
- * Quién es el orquestador a efectos de permisos: SOLO LECTURA.
28
- *
29
- * Es un `QuienDecidePermisos` y no un `Agente` porque el orquestador no es un especialista
30
- * —no se puede dar de alta, ni borrar, ni editar desde Ajustes—, pero sus tools de fichero
31
- * son las mismas y tienen que pasar por la misma función. Ver dónde se usa, en
32
- * `construirAgente`, para el agujero que esto cierra.
33
- */
34
- export const PERFIL_DEL_ORQUESTADOR = { nombre: "orquestador", soloLectura: true };
35
- export function promptOrquestador(agentes) {
36
- const hay = (n) => agentes.some((a) => a.nombre === n);
37
- return [
38
- "Eres el orquestador de un harness de desarrollo para la plataforma XOne.",
39
- // Decía «NO tienes herramientas», y era falso: tiene las seis de fichero. Ahora son de
40
- // SOLO LECTURA (`PERFIL_DEL_ORQUESTADOR`), así que la frase dice lo que de verdad puede.
41
- "NO tienes herramientas para MODIFICAR nada: tu único trabajo es entender la petición y delegar.",
42
- agentes.length === 0
43
- ? "AVISO: ahora mismo no hay ningún especialista dado de alta, así que no puedes delegar en nadie. Dilo en vez de intentar resolverlo tú."
44
- : `Los especialistas disponibles son: ${agentes.map((a) => a.nombre).join(", ")}. Elige por su descripción.`,
45
- hay("planner") && hay("mockup")
46
- ? "Para diagramas o esquemas de la app, delega en `mockup`; si deben reflejar el código real, encarga PRIMERO el análisis a `planner` y usa su resultado antes de dibujar."
47
- : "",
48
- "Los especialistas no comparten el transcript: al encadenarlos, incluye en la descripción",
49
- "de la siguiente `task` un bloque `HANDOFF DE PLANNER` compacto con los hechos verificados,",
50
- "rutas/evidencias y lagunas. No pidas al siguiente especialista redescubrir esos hechos.",
51
- "Cuando varias tareas sean independientes, delégalas EN EL MISMO mensaje para",
52
- "que corran a la vez.",
53
- "No afirmes que un cambio se ha aplicado si no te lo ha confirmado el especialista.",
54
- ]
55
- .filter((l) => l !== "")
56
- .join(" ");
57
- }
58
- /**
59
- * Indicaciones que el modelo recibe junto a las tools reales de fichero.
60
- *
61
- * No crean herramientas ni rebajan permisos: hacen explícito el destino correcto
62
- * para que una skill no confunda su propia carpeta de instrucciones con la salida.
63
- */
64
- export const DESCRIPCIONES_FICHEROS = {
65
- read_file: [
66
- "Lee únicamente el fragmento de un fichero necesario para responder.",
67
- "Indica siempre `offset` y `limit`; para el reconocimiento inicial usa",
68
- "`offset=0, limit=50`. No releas la misma ruta y el mismo rango: usa la",
69
- "evidencia ya obtenida o una página distinta solo si hace falta.",
70
- ].join(" "),
71
- write_file: [
72
- "Escribe un fichero del proyecto en una ruta absoluta.",
73
- "Para diagramas, esquemas, arquitecturas y flujos: carga primero la skill `archify`;",
74
- "no escribas nunca dentro de `/skills`. Si el usuario pide el resultado renderizado,",
75
- "guárdalo como HTML autocontenido en `/artefactos/<nombre>.html`.",
76
- "Para dashboards, informes o tablas HTML interactivas carga `artifacts-builder` y usa",
77
- "también `/artefactos/<nombre>.html`. `/artefactos/` NO es del proyecto: es la carpeta de",
78
- "esta sesión, no pasa por aprobación, no entra en git y no sube a CloudStudio — un HTML",
79
- "escrito fuera de ella acaba dentro de la app XOne del usuario. La ruta",
80
- "`/MEMORIA_PROYECTO.md` es exclusivamente",
81
- "para hechos confirmados, decisiones y pendientes útiles; no guardes transcripciones ni secretos.",
82
- ].join(" "),
83
- edit_file: [
84
- "Modifica un fichero existente del proyecto en una ruta absoluta.",
85
- "No modifiques `/skills`: son instrucciones de solo lectura. Para actualizar la memoria",
86
- "usa solo `/MEMORIA_PROYECTO.md` y conserva su contenido útil.",
87
- ].join(" "),
88
- grep: [
89
- "Busca texto LITERAL (no regex) de forma progresiva para ahorrar contexto.",
90
- "Primero acota con `path` y `glob`; para localizar candidatos usa",
91
- "`output_mode=\"files_with_matches\"` o `output_mode=\"count\"`.",
92
- "Usa `output_mode=\"content\"` solo con un patrón específico y lee después",
93
- "el fragmento necesario con `read_file` (offset y limit). La búsqueda devuelve",
94
- "como máximo 100 coincidencias salvo que justifiques subir `max_count`.",
95
- ].join(" "),
96
- };
97
- /**
98
- * Presupuesto de las herramientas de ficheros.
99
- *
100
- * DeepAgents 1.13 incorpora `max_count` y `output_mode` en `grep`. El valor por
101
- * defecto de la librería (1.000) sigue siendo demasiado generoso para un agente
102
- * que explora proyectos XOne: 100 resultados bastan para localizar candidatos y
103
- * el modelo puede subirlo explícitamente en una búsqueda excepcional.
104
- *
105
- * A partir de 6k tokens la salida se conserva bajo `/large_tool_results/` y se
106
- * sustituye por una referencia paginable. Así una lectura o búsqueda accidental
107
- * no consume toda la ventana antes de que actúe el resumen de conversación.
108
- *
109
- * **Esa carpeta se monta FUERA del proyecto** (`core/descargas.ts`,
110
- * `agent/proyecto.ts#backendConDescargas`), y hasta el 10-09-2026 no: la escribe la librería
111
- * llamando al backend directamente, esa ruta no estaba montada en ninguna parte y caía en el
112
- * `FilesystemBackend` de la raíz. Medido en el AppDemo real del usuario, 26 KB de salida
113
- * cruda de una tool dentro de la app XOne y commiteados. Bajar este tope no era el arreglo:
114
- * el desalojo es la función, el fallo era el sitio.
115
- */
116
- export const OPCIONES_BUSQUEDA_FICHEROS = {
117
- grepMaxCount: 100,
118
- toolTokenLimitBeforeEvict: 6_000,
119
- };
120
- /**
121
- * El agente real.
122
- *
123
- * Cuatro decisiones que no son negociables, y las cuatro están medidas o impuestas por la
124
- * librería (ver `DISENO.md` §14.3 y el patrón de `runtime.ts`):
125
- *
126
- * 1. **El backend va confinado** (`virtualMode: true`) y envuelto para que las vistas
127
- * aplanadas no existan.
128
- * 2. **El orquestador no recibe ninguna tool.** Si las tuviera haría el trabajo él mismo y
129
- * se comería el catálogo entero en su prompt.
130
- * 3. **Se ocupa el nombre `general-purpose`** para eliminar el destino que la librería
131
- * añade sola: sin capacidad XOne, sus respuestas serían inventadas. Está medido que
132
- * ocupar el nombre lo sustituye en el catálogo (`agent/generalPurpose.test.ts`).
133
- * 4. **El HITL va en las tools de fichero**, que en la v1 son las que escriben.
134
- */
135
- export async function construirAgente(opciones) {
136
- // Las cuatro capas y su orden están en `backendDeAgente`, que vive en `proyecto.ts` para
137
- // poder PROBARSE: aquí no había forma, porque `construirAgente` se simula en todos los
138
- // tests que lo tocan y el cableado se quedaba sin nadie mirándolo.
139
- const backend = backendDeAgente({
140
- raiz: opciones.raiz,
141
- ficheros: opciones.ficheros,
142
- ...(opciones.artefactos === undefined ? {} : { artefactos: opciones.artefactos }),
143
- ...(opciones.adjuntos === undefined ? {} : { adjuntos: opciones.adjuntos }),
144
- });
145
- // Si no hay tracker, no se añade el middleware: es opcional a propósito arriba.
146
- const middlewareTracker = (origen) => opciones.tracker
147
- ? [
148
- createTokenTrackingMiddleware(opciones.tracker, alContarDelTracker(origen, opciones.diagnostico, opciones.alContarTokens)),
149
- ]
150
- : [];
151
- // El catálogo, una vez por construcción y no una por agente: `catalogo()` es un puerto y
152
- // llamarlo N veces para preguntarle lo mismo es trabajo por nada.
153
- const catalogoDeSkills = new Set(opciones.skills.catalogo().map((s) => s.nombre));
154
- /**
155
- * Los que corren FUERA: Claude Code y compañía.
156
- *
157
- * Entran como `CompiledSubAgent` —`{name, description, runnable}`, que deepagents acepta
158
- * junto a los normales— y no como `SubAgent`: eso último es modelo + prompt + tools, y
159
- * aquí no hay modelo nuestro que poner. Con esto los tres motores llegan al orquestador
160
- * por el MISMO `task`, y él no tiene que saber de qué está hecho cada especialista.
161
- *
162
- * Se pregunta si el motor está DISPONIBLE antes de montarlo. Un especialista que el
163
- * orquestador puede elegir y que revienta en cuanto lo elige es un botón muerto dentro del
164
- * grafo: peor que uno de interfaz, porque el que lo pulsa es el modelo y se lo cree.
165
- */
166
- const externos = [];
167
- for (const agente of opciones.agentes.filter((a) => a.motor !== "modelo")) {
168
- const motor = agente.motor;
169
- if (!(await opciones.subagenteExterno.disponible(motor)))
170
- continue;
171
- externos.push({
172
- name: agente.nombre,
173
- description: agente.descripcion,
174
- runnable: RunnableLambda.from(async (entrada) => {
175
- // La tarea es el último mensaje que le pasa el orquestador. El hijo no comparte
176
- // transcript —es un proceso aparte, con su propia sesión—, así que lo que no venga
177
- // en esa descripción no existe para él: es la misma regla del handoff que el prompt
178
- // del orquestador ya impone entre especialistas.
179
- const ultimo = entrada.messages?.at(-1);
180
- const tarea = typeof ultimo?.content === "string" ? ultimo.content : String(ultimo?.content ?? "");
181
- const texto = await opciones.subagenteExterno.correr({
182
- motor,
183
- cwd: opciones.raiz,
184
- /**
185
- * Sus instrucciones MÁS el inventario del proyecto. Ese añadido no es un lujo: un
186
- * hijo de Claude Code no tiene ninguna herramienta para listar carpetas —medido—,
187
- * así que sin él lee a ciegas nombres inventados y concluye que el proyecto está
188
- * vacío. Se le dice lo que el harness ya sabe, que es el patrón de `/adjuntos/`.
189
- */
190
- instrucciones: `${promptDeAgente(agente, repartirSkills(agente, catalogoDeSkills))}\n\n${inventarioDelProyecto(opciones.ficheros)}`,
191
- tarea,
192
- // El modelo del producto que pida su `.md`, si pide alguno. Ausente = el que el
193
- // agente externo use por su cuenta, que es lo de siempre.
194
- ...(agente.modelo === undefined ? {} : { modelo: agente.modelo }),
195
- /**
196
- * Lo que diga su `.md`, y nada más. Es la PRIMERA de dos puertas: con esto en
197
- * cierto, cada escritura pasa además por la política de la sesión y por las
198
- * guardas de ruta (`agent/escrituraExterna.ts`). Un agente de solo lectura no
199
- * llega a preguntar.
200
- */
201
- permitirEscritura: !agente.soloLectura,
202
- // Para poder decir QUIÉN pide la escritura en la petición de aprobación: la tool
203
- // es la misma para todos los especialistas, así que sin esto el diff diría
204
- // «alguien quiere escribir». Es el papel del `[dev]` que `hitlDe` mete en la
205
- // descripción de un interrupt del grafo.
206
- agente: agente.nombre,
207
- });
208
- return { messages: [new AIMessage(texto)] };
209
- }),
210
- });
211
- }
212
- const subagentes = opciones.agentes
213
- .filter((a) => a.motor === "modelo")
214
- .map((perfil) => ({
215
- name: perfil.nombre,
216
- description: perfil.descripcion,
217
- systemPrompt: promptDeAgente(perfil, repartirSkills(perfil, catalogoDeSkills)),
218
- // Los subagentes no heredan las skills del orquestador. Se entregan como fuentes
219
- // directas para mantener cada perfil limitado a su catálogo declarado.
220
- skills: rutasDeSkills(perfil, catalogoDeSkills),
221
- // `tools` solo lleva tools PROPIAS. Pasarle los NOMBRES de las de fichero las sustituía
222
- // por cadenas, dejando al especialista sin ninguna capacidad real. Las de fichero las
223
- // monta el middleware; regex_search es una tool real y confinada al mismo backend.
224
- tools: [crearBusquedaRegex(backend)],
225
- //
226
- // Las tools de fichero las monta el `FilesystemMiddleware` a partir del backend, y
227
- // quien las acota por NOMBRE es su propia opción `tools` (con la restricción de que
228
- // `read_file` tiene que estar siempre). Aquí el solo-lectura se impone con
229
- // `permissions`, que la librería aplica sobre `ls`, `read_file`, `write_file`,
230
- // `edit_file`, `glob` y `grep` — o sea, sobre todas las que importan.
231
- permissions: permisosDe(perfil),
232
- interruptOn: hitlDe(perfil),
233
- // En CADA especialista, no solo en el orquestador: son ellos los que llaman a las
234
- // tools de fichero, así que es su siguiente llamada al modelo la que reventaba.
235
- // El nombre coincide con el middleware por defecto de DeepAgents y lo sustituye: así
236
- // aplica tanto al especialista como al orquestador.
237
- middleware: [
238
- createFilesystemMiddleware({
239
- backend,
240
- permissions: permisosDe(perfil),
241
- customToolDescriptions: DESCRIPCIONES_FICHEROS,
242
- ...OPCIONES_BUSQUEDA_FICHEROS,
243
- }),
244
- resumenDeContexto(backend),
245
- middlewareTextoDeTool(),
246
- ...middlewareTracker(perfil.nombre),
247
- ],
248
- // El modelo que fije el agente en su fichero, y si no lo fija, el del papel que le
249
- // toca por lo que hace: `rapido` para el que solo lee, `trabajo` para el que escribe.
250
- // Fijarlo es la excepción y no la norma — un agente con modelo escrito se queda ahí
251
- // aunque el usuario cambie el suyo con `/modelo`, que es justo lo que quiere quien
252
- // escribe «este revisor corre con Claude» y no lo que quiere nadie más.
253
- model: perfil.modelo === undefined
254
- ? opciones.modelos.paraPapel(perfil.soloLectura ? "rapido" : "trabajo")
255
- : opciones.modelos.paraModelo(perfil.modelo),
256
- }));
257
- return createDeepAgent({
258
- model: opciones.modelos.paraPapel("rapido"),
259
- systemPrompt: promptOrquestador(opciones.agentes),
260
- backend,
261
- interruptOn: hitlDe(PERFIL_DEL_ORQUESTADOR),
262
- checkpointer: opciones.checkpointer ?? new MemorySaver(),
263
- // El contenido de los `ToolMessage` va como TEXTO al modelo. Sin esto, un turno real
264
- // revienta tras 8-10 tools con «Non string tool message content is not supported» —
265
- // y no es de langchain ni de deepagents, sino de `@langchain/ollama` (ver
266
- // `textoDeTool.ts`). Medido con dos modelos, nube y local.
267
- middleware: [
268
- createFilesystemMiddleware({
269
- backend,
270
- /**
271
- * EL ORQUESTADOR VA DE SOLO LECTURA, que es lo que su propio prompt afirma.
272
- *
273
- * Esto faltaba, y fue un agujero declarado durante toda una tanda: `permissions`
274
- * solo lo recibían los subagentes, así que las seis tools de fichero de aquí
275
- * corrían sin ninguna de las denegaciones estructurales. Medido: contestaba
276
- * «Successfully wrote» a `/.env`, a `/skills/pwn.txt` —que aterrizaba en la
277
- * carpeta `skills/` de ESTE repo, o sea en las instrucciones del propio harness—
278
- * y, desde los adjuntos, en `~/.xonecode/tareas/<id>/adjuntos/`, fuera del
279
- * proyecto. Lo único que lo tapaba era el prompt, que es exactamente lo que este
280
- * repo no acepta como barrera. Y el HITL tampoco alcanzaba: `hitlDe` se monta por
281
- * subagente, así que una escritura de aquí no pasaba por ninguna aprobación.
282
- *
283
- * **Se le ponen permisos en vez de quitarle las tools**, que era la otra opción
284
- * sobre la mesa, y el motivo es el comentario de abajo: este middleware SUSTITUYE
285
- * al de por omisión de deepagents porque comparte nombre. Quitarlo podría
286
- * reinstalar el suyo —sin permisos— y reabrir el agujero por accidente; ponerle
287
- * `permissions` no puede.
288
- *
289
- * `soloLectura: true` añade `deny write /**`, así que el orquestador conserva
290
- * `read`/`ls`/`glob`/`grep` para orientarse y no puede tocar el disco por ninguna
291
- * ruta. `interruptOn` va por espejo con la rama de los subagentes: `hitlDe`
292
- * devuelve `{}` para un perfil de solo lectura —no hay nada que aprobar—, y
293
- * escribirlo aquí es lo que hace que las dos ramas se lean iguales.
294
- */
295
- permissions: permisosDe(PERFIL_DEL_ORQUESTADOR),
296
- customToolDescriptions: DESCRIPCIONES_FICHEROS,
297
- ...OPCIONES_BUSQUEDA_FICHEROS,
298
- }),
299
- resumenDeContexto(backend),
300
- middlewareTextoDeTool(),
301
- ...middlewareTracker("orquestador"),
302
- ],
303
- subagents: [
304
- ...subagentes,
305
- ...externos,
306
- {
307
- name: "general-purpose",
308
- description: "NO USAR. No tiene ninguna capacidad de XOne, así que cualquier respuesta sobre el proyecto o la plataforma sería inventada.",
309
- systemPrompt: "No tienes ninguna herramienta. Responde SIEMPRE que la tarea debe delegarse a docs, planner, dev o mockup.",
310
- tools: [],
311
- },
312
- ],
313
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
314
- });
315
- }
316
- /**
317
- * Rutas virtuales que SkillsMiddleware carga de forma progresiva para un agente.
318
- *
319
- * Recibe el AGENTE y no su nombre: antes buscaba el perfil en `PERFILES`, y con subagentes
320
- * escritos por el usuario ese `Record` no tiene su entrada — `perfil.skills` habría
321
- * reventado con «cannot read properties of undefined» en cuanto alguien creara el primero.
322
- *
323
- * Solo las que EXISTEN. Una ruta a una skill que no está haría que el middleware fallara al
324
- * montarla; que falte se dice en el prompt (`promptDeAgente`), que es donde se puede leer.
325
- */
326
- export function rutasDeSkills(agente, disponibles) {
327
- return agente.skills.filter((skill) => disponibles.has(skill)).map((skill) => `/skills/${skill}/`);
328
- }
329
- /**
330
- * Lo que se hace cada vez que el tracker cuenta: avisar a los DOS que lo esperan.
331
- *
332
- * **Extraída y exportada porque uno de los dos se cayó**, y en verde: el callback nació
333
- * llamando solo al diagnóstico, así que el aviso de consumo tenía un único disparador —el
334
- * de un agente EXTERNO— y una sesión normal subía sus tokens en silencio. Medido en la
335
- * pantalla del usuario: el contador de la web no apareció nunca. Con la composición dentro
336
- * de `construirAgente`, que todos sus tests doblan, no había dónde cazarlo.
337
- *
338
- * `alContarTokens` no lleva el uso dentro a propósito: quien escucha tiene el tracker —es
339
- * él quien lo pasó— y dos fuentes para el mismo número son dos números que divergen.
340
- */
341
- export function alContarDelTracker(origen, diagnostico, alContarTokens) {
342
- return (uso) => {
343
- diagnostico?.modelo(origen, uso);
344
- alContarTokens?.();
345
- };
346
- }
347
- //# sourceMappingURL=xoneAgent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"xoneAgent.js","sourceRoot":"","sources":["../../src/agent/xoneAgent.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"zip.js","sourceRoot":"","sources":["../../src/agent/zip.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAQ,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,OAAe;IACzD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACvC,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,IAAI,OAAO,wCAAwC,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,gBAAgB,CAAC,MAAc,EAAE,IAAY;IAC3D,IAAI,QAAoC,CAAC;IACzC,IAAI,CAAC;QACH,QAAQ,GAAG,SAAS,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,6EAA6E;QAC7E,MAAM,IAAI,KAAK,CAAC,oCAAqC,KAAe,CAAC,OAAO,GAAG,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC3C,qEAAqE;SACpE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;SAC3C,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAEvF,kFAAkF;IAClF,iCAAiC;IACjC,KAAK,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,YAAY,EAAE,CAAC;QACtD,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC9B,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
File without changes
File without changes
File without changes
File without changes