xonecode 0.38.44 → 0.39.4

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 (335) hide show
  1. package/apps/web/dist/assets/{EditorDeFichero-BeWDctgN.js → EditorDeFichero-4HFwLke_.js} +1 -1
  2. package/apps/web/dist/assets/index-C57A_ylS.css +1 -0
  3. package/apps/web/dist/assets/index-CYZEmLsX.js +506 -0
  4. package/apps/web/dist/assets/{php-D3QdOnb8.js → php-CdQiFsq1.js} +1 -1
  5. package/apps/web/dist/assets/{ruby-DDAcW-Z2.js → ruby-3JrCXo0h.js} +1 -1
  6. package/apps/web/dist/index.html +2 -2
  7. package/dist/agent/cloudstudio/cloudstudioClient.d.ts +29 -0
  8. package/dist/agent/cloudstudio/cloudstudioMcp.d.ts +414 -0
  9. package/dist/agent/cloudstudio/conexionDeServidor.d.ts +37 -0
  10. package/dist/agent/cloudstudio/conexionDeServidor.js +63 -0
  11. package/dist/agent/cloudstudio/conexionDeServidor.js.map +1 -0
  12. package/dist/agent/cloudstudio/crearRama.d.ts +15 -0
  13. package/dist/agent/cloudstudio/crearRama.js +16 -0
  14. package/dist/agent/cloudstudio/crearRama.js.map +1 -0
  15. package/dist/agent/cloudstudio/descarga.d.ts +44 -0
  16. package/dist/agent/cloudstudio/manifiesto.d.ts +25 -0
  17. package/dist/agent/cloudstudio/ramaActiva.d.ts +24 -0
  18. package/dist/agent/cloudstudio/subida.d.ts +61 -0
  19. package/dist/agent/cloudstudio/subida.js +7 -1
  20. package/dist/agent/cloudstudio/subida.js.map +1 -1
  21. package/dist/agent/cloudstudio/validarTrasDescarga.d.ts +13 -0
  22. package/dist/agent/cloudstudio/zip.d.ts +13 -0
  23. package/dist/agent/conectores/conectoresEnDisco.d.ts +47 -0
  24. package/dist/agent/conectores/gestorJira.d.ts +50 -0
  25. package/dist/agent/conectores/gestorNotion.d.ts +45 -0
  26. package/dist/agent/conectores/proveedorDeConector.d.ts +43 -0
  27. package/dist/agent/conectores/servicioDeConectores.d.ts +112 -0
  28. package/dist/agent/config/authEnDisco.d.ts +43 -0
  29. package/dist/agent/config/catalogoModelos.d.ts +79 -0
  30. package/dist/agent/config/configEnDisco.d.ts +235 -0
  31. package/dist/agent/config/crearProyecto.d.ts +20 -0
  32. package/dist/agent/config/diagnosticoDeNodeEnMaquina.d.ts +44 -0
  33. package/dist/agent/config/ecoDeRazonamiento.d.ts +104 -0
  34. package/dist/agent/config/entorno.d.ts +83 -0
  35. package/dist/agent/config/fuentesEnRed.d.ts +12 -0
  36. package/dist/agent/config/gemini.d.ts +5 -0
  37. package/dist/agent/config/iconosEnRed.d.ts +10 -0
  38. package/dist/agent/config/identidadEnDisco.d.ts +27 -0
  39. package/dist/agent/config/modelos.d.ts +77 -0
  40. package/dist/agent/config/modelosDeMotor.d.ts +52 -0
  41. package/dist/agent/config/mudanzaEnDisco.d.ts +99 -0
  42. package/dist/agent/config/persona.d.ts +1 -0
  43. package/dist/agent/config/selectorEnMaquina.d.ts +35 -0
  44. package/dist/agent/config/settingsEnDisco.d.ts +206 -0
  45. package/dist/agent/config/versionEnDisco.d.ts +17 -0
  46. package/dist/agent/dispositivos/arranqueDeEmulador.d.ts +60 -0
  47. package/dist/agent/dispositivos/cajasDeMaqueta.d.ts +61 -0
  48. package/dist/agent/dispositivos/decodificarImagen.d.ts +21 -0
  49. package/dist/agent/dispositivos/descargaDeHerramientas.d.ts +44 -0
  50. package/dist/agent/dispositivos/dispositivosEnMaquina.d.ts +161 -0
  51. package/dist/agent/dispositivos/geometriaEnDisco.d.ts +17 -0
  52. package/dist/agent/dispositivos/hotswap.d.ts +194 -0
  53. package/dist/agent/dispositivos/instalacionEnMaquina.d.ts +156 -0
  54. package/dist/agent/dispositivos/juezVisual.d.ts +144 -0
  55. package/dist/agent/dispositivos/lanzamientoEnMaquina.d.ts +197 -0
  56. package/dist/agent/dispositivos/paqueteDelProyecto.d.ts +28 -0
  57. package/dist/agent/dispositivos/procesosEnMaquina.d.ts +154 -0
  58. package/dist/agent/dispositivos/recargaEnAparato.d.ts +30 -0
  59. package/dist/agent/dispositivos/sensorDeArranque.d.ts +42 -0
  60. package/dist/agent/exportarPdf.d.ts +72 -0
  61. package/dist/agent/grafo/aprendido.d.ts +28 -0
  62. package/dist/agent/grafo/arbolDeProyecto.d.ts +205 -0
  63. package/dist/agent/grafo/artefactosEnDisco.d.ts +35 -0
  64. package/dist/agent/grafo/atributosXone.d.ts +31 -0
  65. package/dist/agent/grafo/buscarIcono.d.ts +32 -0
  66. package/dist/agent/grafo/busquedaRegex.d.ts +56 -0
  67. package/dist/agent/grafo/codificacionDelProyecto.d.ts +7 -0
  68. package/dist/agent/grafo/compararCapturas.d.ts +22 -0
  69. package/dist/agent/grafo/copiarArtefacto.d.ts +64 -0
  70. package/dist/agent/grafo/criticaVisual.d.ts +60 -0
  71. package/dist/agent/grafo/describirImagen.d.ts +79 -0
  72. package/dist/agent/grafo/diferenciaDeCapturas.d.ts +33 -0
  73. package/dist/agent/grafo/ejecucionCancelable.d.ts +45 -0
  74. package/dist/agent/grafo/escriturasEnSerie.d.ts +31 -0
  75. package/dist/agent/grafo/excluirTools.d.ts +37 -0
  76. package/dist/agent/grafo/fuentesDeGoogle.d.ts +37 -0
  77. package/dist/agent/grafo/generarFondoSvg.d.ts +52 -0
  78. package/dist/agent/grafo/incorporarAdjunto.d.ts +98 -0
  79. package/dist/agent/grafo/lectorDeReferencias.d.ts +28 -0
  80. package/dist/agent/grafo/marcarCriteriosDelPlan.d.ts +47 -0
  81. package/dist/agent/grafo/memoriaDeProyecto.d.ts +15 -0
  82. package/dist/agent/grafo/navegacionXone.d.ts +60 -0
  83. package/dist/agent/grafo/opcionesDeFicheros.d.ts +23 -0
  84. package/dist/agent/grafo/perfiles.d.ts +225 -0
  85. package/dist/agent/grafo/proyecto.d.ts +450 -0
  86. package/dist/agent/grafo/skills.d.ts +181 -0
  87. package/dist/agent/grafo/traerDeLaMaquina.d.ts +60 -0
  88. package/dist/agent/grafo/unirSecciones.d.ts +20 -0
  89. package/dist/agent/grafo/validacionXone.d.ts +35 -0
  90. package/dist/agent/grafo/validarFicheroXone.d.ts +33 -0
  91. package/dist/agent/grafo/xoneAgent.d.ts +166 -0
  92. package/dist/agent/motores/motoresLocales.d.ts +87 -0
  93. package/dist/agent/motores/trueforge/capacidades.d.ts +183 -0
  94. package/dist/agent/motores/trueforge/convertirAP.d.ts +38 -0
  95. package/dist/agent/motores/trueforge/detencion.d.ts +70 -0
  96. package/dist/agent/motores/trueforge/esperas.d.ts +38 -0
  97. package/dist/agent/motores/trueforge/eventosTrueforge.d.ts +56 -0
  98. package/dist/agent/motores/trueforge/informesDeHijos.d.ts +48 -0
  99. package/dist/agent/motores/trueforge/medidaAutomatica.d.ts +37 -0
  100. package/dist/agent/motores/trueforge/memoriaDeEspecialistas.d.ts +60 -0
  101. package/dist/agent/motores/trueforge/memoriaTrueforge.d.ts +131 -0
  102. package/dist/agent/motores/trueforge/metricasTrueforge.d.ts +45 -0
  103. package/dist/agent/motores/trueforge/modeloExterno.d.ts +9 -0
  104. package/dist/agent/motores/trueforge/modeloLangchain.d.ts +69 -0
  105. package/dist/agent/motores/trueforge/notas.d.ts +48 -0
  106. package/dist/agent/motores/trueforge/proponerTareas.d.ts +30 -0
  107. package/dist/agent/motores/trueforge/recortes.d.ts +47 -0
  108. package/dist/agent/motores/trueforge/resumenSeguro.d.ts +33 -0
  109. package/dist/agent/motores/trueforge/sesionTrueforge.d.ts +273 -0
  110. package/dist/agent/motores/trueforge/skillsTrueforge.d.ts +16 -0
  111. package/dist/agent/motores/trueforge/toolsDeConectores.d.ts +36 -0
  112. package/dist/agent/motores/trueforge/toolsDeFichero.d.ts +146 -0
  113. package/dist/agent/motores/trueforge/toolsPropias.d.ts +38 -0
  114. package/dist/agent/motores/trueforge/traerDeStitch.d.ts +63 -0
  115. package/dist/agent/motores/trueforge/trueforge.d.ts +35 -0
  116. package/dist/agent/navegacion/estilosEnDisco.d.ts +41 -0
  117. package/dist/agent/navegacion/hechosEnDisco.d.ts +19 -0
  118. package/dist/agent/navegacion/indiceEnDisco.d.ts +50 -0
  119. package/dist/agent/navegacion/modeloDeProyecto.d.ts +86 -0
  120. package/dist/agent/planesEnDisco.d.ts +18 -0
  121. package/dist/agent/publicarPlan.d.ts +20 -0
  122. package/dist/agent/raizDelPaquete.d.ts +9 -0
  123. package/dist/agent/remoto/ngrokEnMaquina.d.ts +44 -0
  124. package/dist/agent/remoto/puenteWebSocket.d.ts +59 -0
  125. package/dist/agent/remoto/tunelNgrok.d.ts +31 -0
  126. package/dist/agent/renombrarSobre.d.ts +14 -0
  127. package/dist/agent/sesiones/adjuntosDeSesion.d.ts +64 -0
  128. package/dist/agent/sesiones/baseDeFichero.d.ts +9 -0
  129. package/dist/agent/sesiones/checkpointer.d.ts +146 -0
  130. package/dist/agent/sesiones/git.d.ts +66 -0
  131. package/dist/agent/sesiones/gitSync.d.ts +264 -0
  132. package/dist/agent/sesiones/memoriaDeHilo.d.ts +4 -0
  133. package/dist/agent/sesiones/modeloDelCambio.d.ts +7 -0
  134. package/dist/agent/sesiones/parcheEnTexto.d.ts +9 -0
  135. package/dist/agent/sesiones/sesionGit.d.ts +155 -0
  136. package/dist/agent/subagentes/actividadDeCodex.d.ts +8 -0
  137. package/dist/agent/subagentes/agentesEnDisco.d.ts +198 -0
  138. package/dist/agent/subagentes/consumoExterno.d.ts +83 -0
  139. package/dist/agent/subagentes/ejecutableEnWindows.d.ts +53 -0
  140. package/dist/agent/subagentes/escrituraDeCodex.d.ts +94 -0
  141. package/dist/agent/subagentes/escrituraDeOpencode.d.ts +67 -0
  142. package/dist/agent/subagentes/escrituraExterna.d.ts +419 -0
  143. package/dist/agent/subagentes/pluginDeSkills.d.ts +84 -0
  144. package/dist/agent/subagentes/subagenteCodex.d.ts +76 -0
  145. package/dist/agent/subagentes/subagenteExterno.d.ts +169 -0
  146. package/dist/agent/subagentes/subagenteOpencode.d.ts +126 -0
  147. package/dist/agent/tareas/aumentador.d.ts +99 -0
  148. package/dist/agent/tareas/juezDeTarea.d.ts +64 -0
  149. package/dist/agent/tareas/reflejoEnElGestor.d.ts +38 -0
  150. package/dist/agent/tareas/sondeoDelGestor.d.ts +49 -0
  151. package/dist/agent/tareas/tareasEnDisco.d.ts +148 -0
  152. package/dist/agent/tareas/tareasEnDisco.js +17 -0
  153. package/dist/agent/tareas/tareasEnDisco.js.map +1 -1
  154. package/dist/agent/trazaDeErroresEnDisco.d.ts +10 -0
  155. package/dist/agent/turno/depuracion.d.ts +1 -0
  156. package/dist/agent/turno/diagnosticoDeTools.d.ts +124 -0
  157. package/dist/agent/turno/ficherosDelProyecto.d.ts +10 -0
  158. package/dist/agent/turno/guionizado.d.ts +18 -0
  159. package/dist/agent/turno/informeDeTraza.d.ts +220 -0
  160. package/dist/agent/turno/inspectorDePrompt.d.ts +150 -0
  161. package/dist/agent/turno/instantanea.d.ts +16 -0
  162. package/dist/agent/turno/interrupts.d.ts +54 -0
  163. package/dist/agent/turno/juezDelTurnoConModelo.d.ts +26 -0
  164. package/dist/agent/turno/mensajes.d.ts +23 -0
  165. package/dist/agent/turno/normalizar.d.ts +15 -0
  166. package/dist/agent/turno/puente.d.ts +196 -0
  167. package/dist/agent/turno/registroDeFallos.d.ts +39 -0
  168. package/dist/agent/turno/resumenDeContexto.d.ts +269 -0
  169. package/dist/agent/turno/resumenDeTool.d.ts +33 -0
  170. package/dist/agent/turno/rubrica.d.ts +35 -0
  171. package/dist/agent/turno/sesionReal.d.ts +89 -0
  172. package/dist/agent/turno/textoDeTool.d.ts +19 -0
  173. package/dist/agent/turno/turnoReal.d.ts +210 -0
  174. package/dist/agent/turno/verificacion.d.ts +85 -0
  175. package/dist/agent/turno/verificador.d.ts +66 -0
  176. package/dist/bin.d.ts +2 -0
  177. package/dist/cli/acuseDeModelo.d.ts +18 -0
  178. package/dist/cli/aprobar.d.ts +162 -0
  179. package/dist/cli/config.d.ts +17 -0
  180. package/dist/cli/consola.d.ts +473 -0
  181. package/dist/cli/describe.d.ts +7 -0
  182. package/dist/cli/doctor.d.ts +8 -0
  183. package/dist/cli/fuentesDeDisco.d.ts +25 -0
  184. package/dist/cli/main.d.ts +291 -0
  185. package/dist/cli/markdown.d.ts +126 -0
  186. package/dist/cli/panel.d.ts +38 -0
  187. package/dist/cli/podar.d.ts +38 -0
  188. package/dist/cli/run.d.ts +30 -0
  189. package/dist/cli/spinner.d.ts +37 -0
  190. package/dist/cli/stdio.d.ts +94 -0
  191. package/dist/cli/tema.d.ts +68 -0
  192. package/dist/cli/tokens.d.ts +16 -0
  193. package/dist/cli/traza.d.ts +19 -0
  194. package/dist/cli/tui/app.d.ts +23 -0
  195. package/dist/cli/tui/aprobarTui.d.ts +46 -0
  196. package/dist/cli/tui/barra.d.ts +43 -0
  197. package/dist/cli/tui/correrTui.d.ts +119 -0
  198. package/dist/cli/tui/entrada.d.ts +14 -0
  199. package/dist/cli/tui/filas.d.ts +13 -0
  200. package/dist/cli/tui/logo.d.ts +20 -0
  201. package/dist/cli/tui/pielTui.d.ts +15 -0
  202. package/dist/cli/tui/raton.d.ts +68 -0
  203. package/dist/cli/tui/sidebar.d.ts +63 -0
  204. package/dist/cli/tui/store.d.ts +102 -0
  205. package/dist/cli/tui/tarjeta.d.ts +8 -0
  206. package/dist/cli/tui/temaInk.d.ts +67 -0
  207. package/dist/cli/tui/transcript.d.ts +32 -0
  208. package/dist/cli/verify.d.ts +9 -0
  209. package/dist/cli/wizardInicial.d.ts +59 -0
  210. package/dist/core/actos.d.ts +437 -0
  211. package/dist/core/adjuntos.d.ts +77 -0
  212. package/dist/core/agentes.d.ts +353 -0
  213. package/dist/core/analisisDeSesion.d.ts +63 -0
  214. package/dist/core/aprendido.d.ts +41 -0
  215. package/dist/core/artefactos.d.ts +74 -0
  216. package/dist/core/atributosXone.d.ts +53 -0
  217. package/dist/core/bitacora.d.ts +21 -0
  218. package/dist/core/cloudstudio.d.ts +168 -0
  219. package/dist/core/codificacion.d.ts +81 -0
  220. package/dist/core/comandoExterno.d.ts +49 -0
  221. package/dist/core/compararCapturas.d.ts +136 -0
  222. package/dist/core/conectores.d.ts +296 -0
  223. package/dist/core/config.d.ts +148 -0
  224. package/dist/core/contextos.d.ts +54 -0
  225. package/dist/core/convertirAP.d.ts +56 -0
  226. package/dist/core/copiaDeAvd.d.ts +44 -0
  227. package/dist/core/cssBienFormado.d.ts +22 -0
  228. package/dist/core/deps.d.ts +28 -0
  229. package/dist/core/descargas.d.ts +61 -0
  230. package/dist/core/descripcionDePantalla.d.ts +121 -0
  231. package/dist/core/descriptoresDeApp.d.ts +108 -0
  232. package/dist/core/diagnosticoDeNode.d.ts +51 -0
  233. package/dist/core/diff.d.ts +26 -0
  234. package/dist/core/diffDeColecciones.d.ts +54 -0
  235. package/dist/core/disenoVinculado.d.ts +17 -0
  236. package/dist/core/dispositivoDeSesion.d.ts +22 -0
  237. package/dist/core/dispositivoElegido.d.ts +17 -0
  238. package/dist/core/dispositivos.d.ts +469 -0
  239. package/dist/core/entrega.d.ts +341 -0
  240. package/dist/core/entrelazar.d.ts +48 -0
  241. package/dist/core/esfuerzo.d.ts +120 -0
  242. package/dist/core/esqueleto.d.ts +38 -0
  243. package/dist/core/estiloMedido.d.ts +70 -0
  244. package/dist/core/estilos.d.ts +76 -0
  245. package/dist/core/events.d.ts +218 -0
  246. package/dist/core/exportacion.d.ts +88 -0
  247. package/dist/core/fallos.d.ts +79 -0
  248. package/dist/core/fondosSvg.d.ts +115 -0
  249. package/dist/core/fotoDeColecciones.d.ts +45 -0
  250. package/dist/core/fuentes.d.ts +96 -0
  251. package/dist/core/geometriaDePantalla.d.ts +171 -0
  252. package/dist/core/gestorDeTareas.d.ts +295 -0
  253. package/dist/core/hechosDelProyecto.d.ts +70 -0
  254. package/dist/core/hotswap.d.ts +30 -0
  255. package/dist/core/iconos.d.ts +86 -0
  256. package/dist/core/identidadDeProveedor.d.ts +20 -0
  257. package/dist/core/idiomaDeLaRespuesta.d.ts +26 -0
  258. package/dist/core/imagenesDeDocumento.d.ts +40 -0
  259. package/dist/core/jsParaRhino.d.ts +3 -0
  260. package/dist/core/juezDelTurno.d.ts +95 -0
  261. package/dist/core/logDeDispositivo.d.ts +67 -0
  262. package/dist/core/memoria.d.ts +18 -0
  263. package/dist/core/metodoDeComparacionVisual.d.ts +20 -0
  264. package/dist/core/modelos.d.ts +198 -0
  265. package/dist/core/modoDeEscritura.d.ts +155 -0
  266. package/dist/core/motor.d.ts +43 -0
  267. package/dist/core/motoresLocales.d.ts +113 -0
  268. package/dist/core/mudanzaDeWorkspace.d.ts +112 -0
  269. package/dist/core/navegacion.d.ts +172 -0
  270. package/dist/core/notify.d.ts +77 -0
  271. package/dist/core/nucleoXone.d.ts +28 -0
  272. package/dist/core/panorama.d.ts +68 -0
  273. package/dist/core/paqueteDeSoporte.d.ts +100 -0
  274. package/dist/core/planDeSubida.d.ts +56 -0
  275. package/dist/core/planes.d.ts +53 -0
  276. package/dist/core/podaDeCheckpoint.d.ts +75 -0
  277. package/dist/core/ports.d.ts +1034 -0
  278. package/dist/core/puedeLanzarse.d.ts +181 -0
  279. package/dist/core/puertosDeAvd.d.ts +59 -0
  280. package/dist/core/recargaEnCaliente.d.ts +52 -0
  281. package/dist/core/referenciasDeImagen.d.ts +36 -0
  282. package/dist/core/remoto.d.ts +76 -0
  283. package/dist/core/repartoDeEncargo.d.ts +80 -0
  284. package/dist/core/rubrica.d.ts +78 -0
  285. package/dist/core/rutaVirtual.d.ts +29 -0
  286. package/dist/core/selectorDeCarpeta.d.ts +59 -0
  287. package/dist/core/serieDeEscrituras.d.ts +58 -0
  288. package/dist/core/settings.d.ts +421 -0
  289. package/dist/core/shellDeAgente.d.ts +177 -0
  290. package/dist/core/skills.d.ts +129 -0
  291. package/dist/core/stitch.d.ts +114 -0
  292. package/dist/core/tareas.d.ts +412 -0
  293. package/dist/core/tareasDelPlan.d.ts +123 -0
  294. package/dist/core/tareasEnElGestor.d.ts +117 -0
  295. package/dist/core/textos.d.ts +8 -0
  296. package/dist/core/topeAgotado.d.ts +55 -0
  297. package/dist/core/traerDeLaMaquina.d.ts +33 -0
  298. package/dist/core/trazaDeErrores.d.ts +83 -0
  299. package/dist/core/tunel.d.ts +45 -0
  300. package/dist/core/turno.d.ts +154 -0
  301. package/dist/core/validacionDeEscritura.d.ts +95 -0
  302. package/dist/core/verificacionDeSubida.d.ts +14 -0
  303. package/dist/core/version.d.ts +35 -0
  304. package/dist/core/xmlBienFormado.d.ts +23 -0
  305. package/dist/core/zipDeAdjunto.d.ts +28 -0
  306. package/dist/core/zipDeSkill.d.ts +74 -0
  307. package/dist/lib/tareaAutonoma.d.ts +36 -0
  308. package/dist/lib/tareaAutonoma.js +259 -0
  309. package/dist/lib/tareaAutonoma.js.map +1 -0
  310. package/dist/lib.d.ts +31 -0
  311. package/dist/lib.js +28 -0
  312. package/dist/lib.js.map +1 -0
  313. package/dist/vendor/hitl.d.ts +69 -0
  314. package/dist/vendor/skillLoaders/catalog.d.ts +27 -0
  315. package/dist/vendor/sqliteSaver.d.ts +22 -0
  316. package/dist/vendor/tokenTracking.d.ts +22 -0
  317. package/dist/web/servidor/arranque.d.ts +1372 -0
  318. package/dist/web/servidor/arranque.js +39 -0
  319. package/dist/web/servidor/arranque.js.map +1 -1
  320. package/dist/web/servidor/consolaDeTarea.d.ts +166 -0
  321. package/dist/web/servidor/consolaWeb.d.ts +142 -0
  322. package/dist/web/servidor/corredorDeTareas.d.ts +395 -0
  323. package/dist/web/servidor/datosDeCierre.d.ts +4 -0
  324. package/dist/web/servidor/interrupcion.d.ts +39 -0
  325. package/dist/web/servidor/pielWeb.d.ts +32 -0
  326. package/dist/web/servidor/puenteRemoto.d.ts +80 -0
  327. package/dist/web/servidor/servidor.d.ts +53 -0
  328. package/dist/web/servidor/sesiones.d.ts +342 -0
  329. package/dist/web/servidor/soporte.d.ts +65 -0
  330. package/dist/web/servidor/transporte.d.ts +2751 -0
  331. package/dist/web/servidor/vestibulo.d.ts +952 -0
  332. package/dist/web/servidor/visorOpenui.d.ts +33 -0
  333. package/package.json +9 -1
  334. package/apps/web/dist/assets/index-B-6cDRAV.js +0 -506
  335. package/apps/web/dist/assets/index-BQdHnRbo.css +0 -1
@@ -0,0 +1,77 @@
1
+ /**
2
+ * La política de ruido: una línea por RACHA de la misma tool, no por llamada.
3
+ *
4
+ * Es del TURNO: se construye al empezar el turno y muere con él. Un colapsador de proceso
5
+ * contaría las llamadas de todos los turnos juntos.
6
+ *
7
+ * La línea lleva ICONO por familia (`→` leer, `←` escribir, `✱` buscar) y VERBO en
8
+ * español, no el nombre crudo de la tool — «→ lee app.xne» cuenta lo mismo que
9
+ * «🔧 read_file» y se lee a la primera, que es lo que llena los 100-300 s de un turno.
10
+ * Una tool desconocida no se disfraza: `⚙` y su nombre tal cual, porque un nombre que
11
+ * no está en el mapa puede significar cualquier cosa (una tool MCP de Studio, por
12
+ * ejemplo) y inventarle un verbo sería mentir.
13
+ *
14
+ * Devuelve una LISTA de líneas, nunca una cadena con dos pegadas: cuando una racha se
15
+ * cierra Y otra tool arranca en el mismo evento —el caso normal de "tres read_file y luego
16
+ * un glob"— hay DOS cosas que decir, y quien pinta escribe tantas líneas como haya.
17
+ */
18
+ import type { OrigenDeLaTool } from "./events.js";
19
+ export interface EventoTool {
20
+ nombre: string;
21
+ /**
22
+ * Ruta o patrón, SOLO eso: lo permite la lista blanca de `agent/turno/resumenDeTool.ts`
23
+ * (file_path/path/pattern según la tool). El contenido del fichero y los tokens de
24
+ * autenticación NO caben aquí por diseño — ver la cabecera de `core/events.ts`.
25
+ */
26
+ detalle?: string;
27
+ /** Vacío si fue bien. Un error nunca se colapsa. */
28
+ error?: string;
29
+ /** Quién la pidió (`core/events.ts#OrigenDeLaTool`). Ausente = no consta. */
30
+ origen?: OrigenDeLaTool;
31
+ }
32
+ /**
33
+ * Una línea del colapsador, con la tool de la que habla.
34
+ *
35
+ * El texto ya no viaja solo porque quien pinta necesita saber DE QUÉ es la línea sin
36
+ * re-parsear la prosa: «→ lee» no dice `read_file` en ninguna parte, y deducirlo del icono
37
+ * sería reconstruir a mano el mapa que está diez líneas más arriba — con la garantía de que
38
+ * las dos copias divergen el día que alguien añada un verbo. El nombre ya lo tenía el
39
+ * evento; lo que se arregla es que dejara de estar al llegar a la piel.
40
+ *
41
+ * `nombre` es el de la tool de la RACHA que la línea cuenta, que en un cierre es la
42
+ * ANTERIOR y no la que acaba de llegar — es justo el caso que un `piel.tool(evento)`
43
+ * ingenuo habría etiquetado mal.
44
+ */
45
+ export interface LineaDeTool {
46
+ texto: string;
47
+ nombre: string;
48
+ /** Presente solo en la línea de un error, que nunca se colapsa. */
49
+ error?: string;
50
+ /** El origen de la RACHA, que es uno solo: dos orígenes son dos rachas. */
51
+ origen?: OrigenDeLaTool;
52
+ /**
53
+ * El `detalle` del evento —la ruta o el patrón que eligió la lista blanca de
54
+ * `resumenDeTool.ts`— cuando la línea cuenta UNA llamada. Es lo mismo que ya va dentro de
55
+ * `texto`, como DATO: quien pinta lo necesita aparte para poner el verbo a su manera sin
56
+ * re-parsear la frase. Ausente = la tool no tiene detalle en la lista blanca.
57
+ */
58
+ blanco?: string;
59
+ /** En el CIERRE de una racha: cuántas llamadas cuenta (≥ 2). */
60
+ veces?: number;
61
+ /** En el cierre: los blancos DISTINTOS de la racha, los tres primeros (los de `listaDe`). */
62
+ blancos?: string[];
63
+ /** En el cierre: cuántos blancos distintos más hubo, aparte de `blancos`. */
64
+ masBlancos?: number;
65
+ }
66
+ export declare class Colapsador {
67
+ private nombre;
68
+ private origen;
69
+ private cuenta;
70
+ private detalles;
71
+ /** Las líneas que toca escribir por este evento, EN ORDEN. 0, 1 o 2. */
72
+ lineas(evento: EventoTool): LineaDeTool[];
73
+ /** La cuenta de la última racha. Se llama al terminar el turno, incluso si reventó. */
74
+ cierre(): LineaDeTool | null;
75
+ private cerrarRacha;
76
+ private reiniciar;
77
+ }
@@ -0,0 +1,28 @@
1
+ /**
2
+ * El NÚCLEO DE TRABAJO: lo fundamental que se midió sobre apps reales, en el prompt de sistema de quien
3
+ * ESCRIBE el proyecto o CONDUCE el aparato (IXCODE-18).
4
+ *
5
+ * ## Por qué existe, medido
6
+ *
7
+ * Nueve pasadas de una calculadora hecha por los agentes, y lo mismo se perdía una y otra vez: un display
8
+ * que no se repintaba vivió siete pasadas, un comentario con `--` tumbó la app, `elevation` recortaba las
9
+ * teclas y `getText` daba por bueno lo que no se veía. Cada hallazgo estaba en una skill, en un informe o
10
+ * en la cabeza de una sesión que ya no existía; **el modelo no abre la skill que no sabe que necesita**
11
+ * (medido: cargaba unas referencias y se saltaba justo la de la regla). Lo que tiene que cumplirse va donde el
12
+ * modelo mira SIEMPRE: el prompt de sistema. Cuesta tokens en cada llamada —por eso el tope duro de líneas y
13
+ * por eso solo lo recibe quien escribe o conduce—, y la caché absorbe casi todo.
14
+ *
15
+ * ## Qué entra y qué no
16
+ *
17
+ * Entra lo que (1) falla EN SILENCIO —`validate` en verde y la app rota—, (2) se midió y no se deduce de la
18
+ * documentación, o (3) es una disciplina de verificación que se saltó. No entra lo que ya dice un mensaje de
19
+ * error, ni lo que es de UN encargo (eso va en su plan: `## Hallazgos`), ni lo que cambia con la versión de
20
+ * XOne sin medirse otra vez: cada regla lleva su medida en `docs/DECISIONES.md`.
21
+ *
22
+ * **El encabezado entero —`REGLAS_XONE` más esto— tiene un tope de `TOPE_DE_LINEAS_DEL_ENCABEZADO`**, y un
23
+ * test lo vigila: un núcleo que crece sin freno acaba diluyendo justo lo que quería asegurar.
24
+ */
25
+ export declare const TOPE_DE_LINEAS_DEL_ENCABEZADO = 100;
26
+ export declare const NUCLEO_XONE: string;
27
+ export declare function nucleoXoneExterno(nucleo?: string): string;
28
+ export declare const NUCLEO_XONE_EXTERNO: string;
@@ -0,0 +1,68 @@
1
+ /**
2
+ * El PANORAMA: lo que ve el móvil de todo el anfitrión a la vez (consolas abiertas y tareas en background).
3
+ * Puro: compone a partir de datos ya reducidos (sin raíces, sin rutas de la máquina). Quien lo llama pone los ids
4
+ * OPACOS de consola y los nombres; aquí solo se ordena, se recorta y se cuenta. Spec: `docs/superpowers/specs/2026-10-13-panel-movil-design.md`.
5
+ */
6
+ import type { LineaDeDiff } from "./diff.js";
7
+ import type { PendienteDeAprobacion } from "./events.js";
8
+ /** Cuántas tareas terminadas viajan (las más recientes por `acabada`). */
9
+ export declare const TAREAS_TERMINADAS_EN_PANORAMA = 5;
10
+ export declare const CARACTERES_DE_TITULO = 120;
11
+ export declare const CARACTERES_DE_MOTIVO = 400;
12
+ /** Líneas de diff por fichero; pasadas esas, se recorta y se marca `recortada`. */
13
+ export declare const LINEAS_DE_DIFF_EN_PANORAMA = 200;
14
+ /** El feedback que el móvil manda a una tarea se recorta a esto. */
15
+ export declare const CARACTERES_DE_FEEDBACK = 4000;
16
+ /** Como mucho una vez por este intervalo se manda un panorama nuevo a los móviles. */
17
+ export declare const INTERVALO_DE_PANORAMA_MS = 1000;
18
+ export type EstadoDeConsola = "trabajando" | "esperando-aprobacion" | "esperando-respuesta" | "parada";
19
+ export type EstadoDeTareaEnPanorama = "nuevo" | "en-proceso" | "requiere-atencion" | "terminada";
20
+ export interface AprobacionDePanorama {
21
+ pendientes: PendienteDeAprobacion[];
22
+ ficheros: Record<string, string>;
23
+ diffs: Record<string, LineaDeDiff[]>;
24
+ recortada?: true;
25
+ }
26
+ export interface ConsolaDePanorama {
27
+ id: string;
28
+ proyecto: string;
29
+ sesion?: string;
30
+ foco: boolean;
31
+ estado: EstadoDeConsola;
32
+ ultimaActividad?: string;
33
+ aprobacion?: AprobacionDePanorama;
34
+ }
35
+ export interface TareaDePanorama {
36
+ id: string;
37
+ titulo: string;
38
+ proyecto: string;
39
+ estado: EstadoDeTareaEnPanorama;
40
+ tras?: string;
41
+ motivo?: string;
42
+ creada: string;
43
+ acabada?: string;
44
+ }
45
+ export interface Panorama {
46
+ clase: "panorama";
47
+ consolas: ConsolaDePanorama[];
48
+ tareas: TareaDePanorama[];
49
+ esperando: number;
50
+ }
51
+ export interface EntradaDePanorama {
52
+ consolas: Array<{
53
+ id: string;
54
+ proyecto: string;
55
+ sesion?: string;
56
+ foco: boolean;
57
+ turnoEnVuelo: boolean;
58
+ aprobacion?: {
59
+ pendientes: PendienteDeAprobacion[];
60
+ ficheros: Record<string, string>;
61
+ diffs: Record<string, LineaDeDiff[]>;
62
+ };
63
+ preguntaPendiente: boolean;
64
+ ultimaActividad?: string;
65
+ }>;
66
+ tareas: TareaDePanorama[];
67
+ }
68
+ export declare function componerPanorama(entrada: EntradaDePanorama): Panorama;
@@ -0,0 +1,100 @@
1
+ /**
2
+ * El paquete de SOPORTE: lo que se exporta desde la pestaña Soporte para que alguien analice
3
+ * qué hizo un chat, una tarea o el proyecto entero. Las REGLAS, puras; el disco y el zip
4
+ * viven en `agent/soporte/paqueteEnDisco.ts`.
5
+ *
6
+ * ## Qué entra y qué no
7
+ *
8
+ * Es una LISTA NEGRA de lo que nunca viaja sobre lo que ya se recorre (el proyecto y su
9
+ * `.xonecode/`), y no una lista blanca de extensiones, porque la pregunta de soporte es
10
+ * «qué había»: una lista blanca dejaría fuera justo el fichero raro que explica el fallo.
11
+ * Lo que nunca viaja es lo que da acceso a algo —claves, tokens, el `.env`— y el historial
12
+ * de git, que el usuario no pidió (se decidió con él).
13
+ *
14
+ * Los secretos de xonecode viven en la CASA del usuario, no en el proyecto, así que aquí no
15
+ * deberían aparecer nunca. Los nombres se niegan igual: es la segunda llave, por si un día
16
+ * alguien copia uno donde no toca.
17
+ *
18
+ * ## Qué líneas de traza son de UN chat
19
+ *
20
+ * Solo las que traen su `chat`. **No se reparte nada por fechas**: las sesiones se reabren,
21
+ * así que la ventana `creada`→`ultimoTurno` de dos chats se solapa y la mayoría de las líneas
22
+ * caerían en el chat equivocado. Lo que no lleva `chat` —líneas anteriores a que existiera,
23
+ * y `traza-errores.jsonl`, cuyo sumidero es de todo el proceso— va solo en el paquete del
24
+ * PROYECTO, y el manifiesto dice por qué.
25
+ *
26
+ * ## Rutas de la máquina
27
+ *
28
+ * Los mensajes del hilo y el `detalle` de un comando de shell pueden llevar rutas absolutas.
29
+ * Es una excepción DECLARADA a `sinRutas`: esa regla es del cable, y esto es un fichero que la
30
+ * persona descarga y entrega a mano. El manifiesto lo avisa.
31
+ */
32
+ export type TipoDePaquete = "proyecto" | "chat" | "tarea";
33
+ /** Lo que admite un paquete, sumado en disco. Lo que no cabe se OMITE y se dice. */
34
+ export declare const TOPE_DEL_PAQUETE_DE_SOPORTE: number;
35
+ /** Carpetas que no viajan, estén donde estén. */
36
+ export declare const CARPETAS_QUE_NO_VIAJAN: ReadonlySet<string>;
37
+ /** Ficheros de credenciales de xonecode. Viven en la casa; negarlos aquí es la segunda llave. */
38
+ export declare const SECRETOS_QUE_NO_VIAJAN: ReadonlySet<string>;
39
+ /**
40
+ * El checkpoint no se recorre como un fichero más: con la conexión abierta, copiar sus bytes
41
+ * da una base a medio escribir. Se copia aparte con la copia en caliente de SQLite, y sus
42
+ * auxiliares (`-wal`, `-shm`) no viajan porque la copia ya los lleva dentro.
43
+ */
44
+ export declare const NOMBRE_DEL_CHECKPOINT = "checkpoint.sqlite";
45
+ /**
46
+ * ¿Viaja esta ruta en un paquete de soporte? `relativa` es POSIX, relativa a la raíz de lo
47
+ * que se recorre, sin barra delante.
48
+ */
49
+ export declare function viajaEnSoporte(relativa: string): boolean;
50
+ /** Las líneas de una traza que son de ESTE chat: las que traen su id. Nada por fechas. */
51
+ export declare function lineasDelChat<T extends {
52
+ chat?: unknown;
53
+ }>(lineas: readonly T[], chat: string): T[];
54
+ /** Cuántas líneas NO llevan chat: se dice en el manifiesto del proyecto. */
55
+ export declare function lineasSinChat(lineas: readonly {
56
+ chat?: unknown;
57
+ }[]): number;
58
+ /**
59
+ * El nombre del zip lo DERIVA el código, nunca llega del cliente: va en una cabecera
60
+ * `Content-Disposition` y un nombre con comillas o barras sería otra cosa.
61
+ */
62
+ export declare function nombreDelPaquete(tipo: TipoDePaquete, nombre: string, ahora: Date): string;
63
+ export interface Candidato {
64
+ /** La ruta DENTRO del zip. */
65
+ ruta: string;
66
+ bytes: number;
67
+ }
68
+ export interface Omitido {
69
+ ruta: string;
70
+ motivo: string;
71
+ }
72
+ /**
73
+ * Lo que cabe bajo el tope. Si no cabe todo, se omite empezando por lo MÁS GRANDE: una imagen
74
+ * de veinte megas explica menos que cien ficheros de texto, y soltar lo grande primero deja
75
+ * dentro el mayor número de ficheros. Lo omitido se DICE en el manifiesto, con su tamaño.
76
+ */
77
+ export declare function repartirPorTope<T extends Candidato>(candidatos: readonly T[], tope: number): {
78
+ entran: T[];
79
+ omitidos: Omitido[];
80
+ };
81
+ export interface ManifiestoDeSoporte {
82
+ v: 1;
83
+ tipo: TipoDePaquete;
84
+ /** Versión de xonecode que lo generó, si se sabe. */
85
+ version?: string;
86
+ generado: string;
87
+ proyecto: string;
88
+ /** El id del chat o de la tarea exportados. */
89
+ id?: string;
90
+ motor?: string;
91
+ /** Había un turno o una tarea EN VUELO al exportar: la foto puede estar a medias. */
92
+ enVuelo?: boolean;
93
+ incluidos: string[];
94
+ omitidos: Omitido[];
95
+ /** Lo que el paquete NO puede afirmar, dicho en una frase cada uno. */
96
+ avisos: string[];
97
+ }
98
+ export declare const AVISO_DE_RUTAS = "Los mensajes del hilo y los comandos de shell pueden llevar rutas absolutas de la m\u00E1quina de quien exporta.";
99
+ export declare const AVISO_DE_TRAZA_SIN_CHAT = "Las l\u00EDneas de traza sin id de chat (anteriores a que existiera, y toda traza-errores.jsonl) no se pueden atribuir a un chat: solo van en el paquete del proyecto.";
100
+ export declare const AVISO_EN_VUELO = "Hab\u00EDa un turno o una tarea en marcha al exportar: lo \u00FAltimo puede estar a medias.";
@@ -0,0 +1,56 @@
1
+ /**
2
+ * De un diff de git a una lista de operaciones de subida.
3
+ *
4
+ * Es PURA a propósito: aquí vive la regla que evita una pérdida de datos, y una regla así
5
+ * no puede depender de que el disco o la red se porten bien para poder probarse.
6
+ */
7
+ import type { OperacionDeSubida, OperacionOmitida } from "./cloudstudio.js";
8
+ /** Medido: `studio_upload_file` en modo base64 admite hasta 5 MB decodificados. */
9
+ export declare const TOPE_BASE64: number;
10
+ /**
11
+ * Medido contra el servidor: `studio_get_file` (y por tanto `studio_edit_file`) solo
12
+ * trata estas extensiones como texto. Todo lo demás es binario y va por `upload_file`.
13
+ */
14
+ export declare const EXTENSIONES_DE_TEXTO: Set<string>;
15
+ export interface CambioLocal {
16
+ clase: "nuevo" | "modificado" | "borrado";
17
+ ruta: string;
18
+ }
19
+ export interface EntradaDelPlan {
20
+ cambios: CambioLocal[];
21
+ /** Lo que la descarga trajo DE VERDAD. El candado se apoya en esto. */
22
+ descargados: ReadonlySet<string>;
23
+ /** Tamaño local de cada ruta; sin él, un binario no se puede subir. */
24
+ tamanos: ReadonlyMap<string, number>;
25
+ /** Los `.xne` presentes, para reconocer las vistas aplanadas. */
26
+ fuentesXne?: ReadonlySet<string>;
27
+ }
28
+ /**
29
+ * La extensión de una ruta POSIX, en minúsculas, o `""` si no tiene.
30
+ *
31
+ * Dos trampas que la versión ingenua (`ruta.lastIndexOf(".")` sobre la ruta entera) no
32
+ * veía, y que se exporta para que no vuelva a haber dos copias divergentes de esta regla:
33
+ *
34
+ * - **Un punto en la posición 0 no es una extensión**: es un fichero OCULTO sin ella.
35
+ * `".env".lastIndexOf(".")` es 0, así que devolvía `".env"` como si `.env` fuera un tipo
36
+ * de fichero. No está en la lista de texto, con lo cual `.env` se clasificaba como
37
+ * BINARIO y podía subirse al proyecto del cliente entero.
38
+ * - **El punto puede estar en un DIRECTORIO**: en `iconos.v2/logo` el último punto está en
39
+ * el directorio, y devolvía `".v2/logo"`. Se mira solo el último segmento.
40
+ */
41
+ export declare const extensionDe: (ruta: string) => string;
42
+ /**
43
+ * El plan: lo que SE PUEDE hacer y lo que NO, por separado.
44
+ *
45
+ * Separarlos es el camino de escape de la subida. Antes, una operación imposible (un
46
+ * binario de más de 5 MB, el borrado de un binario) se quedaba en el plan, fallaba contra
47
+ * el servidor, y como la ref solo avanza con `fallos` vacío, el siguiente `/sync`
48
+ * recalculaba el MISMO plan y volvía a fallar: `/sync subir` quedaba inútil para siempre
49
+ * a partir de la primera imagen borrada. Ahora sale del plan, se declara, y la ref avanza
50
+ * con el resto.
51
+ */
52
+ export interface Plan {
53
+ operaciones: OperacionDeSubida[];
54
+ omitidas: OperacionOmitida[];
55
+ }
56
+ export declare function planDeSubida(entrada: EntradaDelPlan): Plan;
@@ -0,0 +1,53 @@
1
+ /** La ruta virtual. La barra final es obligatoria: `CompositeBackend` la retira al delegar. */
2
+ export declare const RUTA_PLANES = "/planes/";
3
+ /** Dónde caen de verdad, relativo a la raíz del proyecto. */
4
+ export declare const CARPETA_DE_PLANES = ".xonecode/planes";
5
+ /**
6
+ * **Un plan es una CARPETA, no un fichero**, porque dentro de una sesión puede haber varios y
7
+ * porque un plan son tres cosas que se acompañan (`PLAN.md`, `TASKS.md`, `CONTEXT.md`) más sus
8
+ * ADRs. Con ficheros sueltos, dos planes a la vez se pisan.
9
+ */
10
+ export declare const FICHEROS_DE_UN_PLAN: readonly ["PLAN.md", "TASKS.md", "CONTEXT.md"];
11
+ /**
12
+ * Por qué un nombre de plan no vale, o `undefined` si vale.
13
+ *
14
+ * **La MISMA regla que la de un subagente o una skill**, y a propósito: el nombre se convierte
15
+ * en un segmento de ruta, y tres reglas distintas para lo mismo son tres sitios donde discrepar
16
+ * sobre qué es un nombre seguro.
17
+ */
18
+ export declare function motivoDePlanInaceptable(nombre: string): string | undefined;
19
+ /**
20
+ * ¿Es una ruta de plan bien formada? Lista BLANCA de forma, no un `startsWith`.
21
+ *
22
+ * Tiene que ser `/planes/<slug>/<algo>`: con el slug validado y sin salirse por un `..`, un
23
+ * `\` ni una barra de más. Es la misma clase de criba que `esRutaDeArtefacto`, y existe por lo
24
+ * mismo: lo que el modelo escribe es texto, y de ahí sale una ruta del disco.
25
+ */
26
+ export declare function esRutaDePlan(ruta: string | undefined): boolean;
27
+ /** La carpeta de un plan, tal como la ve el agente. */
28
+ export declare function rutaDelPlan(nombre: string): string;
29
+ /**
30
+ * Dónde cae un plan cuando se PUBLICA, y por qué publicar es un acto aparte.
31
+ *
32
+ * `.xonecode/planes/` es estado de trabajo: no entra en git, no sube a CloudStudio y no lo
33
+ * ve nadie más que la copia que lo escribió. Eso es lo que hace barato trabajarlo —el que
34
+ * desarrolla marca una tarea como hecha sin sacar un modal, y eso está medido: cuando salía,
35
+ * se rechazaba y el plan se quedaba viejo en silencio; en una tarea de fondo no lo pulsa
36
+ * nadie—. El precio es que el plan no viaja: si se borra la copia local, se fue con ella.
37
+ *
38
+ * Así que compartirlo es un PASO EXPLÍCITO y no un efecto. Se copia a `doc/planes/<nombre>`,
39
+ * que sí es del proyecto: entra en el commit del turno y sube a Studio con lo demás. La
40
+ * decisión de publicar se ve, en vez de ocurrir sola la primera vez que alguien planifica.
41
+ *
42
+ * **Y lo hace el HARNESS, no el agente** — el mismo reparto que `/pdf`: la autorización es
43
+ * teclear el comando, el destino lo DERIVA el código del nombre, y no hay prompt que pueda
44
+ * torcerlo hacia otra carpeta.
45
+ */
46
+ export declare const CARPETA_PUBLICA_DE_PLANES = "doc/planes";
47
+ /**
48
+ * La carpeta publicada de un plan, relativa a la raíz del proyecto.
49
+ *
50
+ * Devuelve `undefined` si el nombre no vale, en vez de componer una ruta con él: de aquí sale
51
+ * una ruta del disco, y es la misma criba que `esRutaDePlan` aplica del otro lado.
52
+ */
53
+ export declare function rutaPublicaDelPlan(nombre: string): string | undefined;
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Cuándo adelgazar el `checkpoint.sqlite` de un proyecto, y qué se queda dentro.
3
+ *
4
+ * **El problema, medido**: un fichero de un proyecto real llegó a 918 MB con UNA sesión
5
+ * dentro. No es basura acumulada — es que un checkpoint guarda la lista de mensajes ENTERA y
6
+ * se escribe uno por paso del grafo, así que el coste crece con el CUADRADO de la
7
+ * conversación: el primer checkpoint de esa sesión ocupaba 3 KB y el mayor 3.885 KB, con
8
+ * 2.794 pasos. Y el 70 % no era del hilo: eran los 21 espacios `tools:*` de los subagentes,
9
+ * cada delegación con su propia cadena.
10
+ *
11
+ * **Y no hay nada oficial que adoptar.** Comprobado contra el paquete instalado, no contra un
12
+ * blog: `BaseCheckpointSaver` declara cinco métodos —`getTuple`, `list`, `put`, `putWrites`,
13
+ * `deleteThread`— y ninguno poda; no existe `prune()` en JavaScript, y el único `ttl` del
14
+ * paquete es el de `InMemoryCache`, que es la caché de un NODO y otra cosa. La doc de
15
+ * persistencia reconoce el problema («prune old checkpoints periodically») sin dar una sola
16
+ * API ni decir qué filas hacen falta para reanudar, y el issue de langgraph.js que pregunta
17
+ * exactamente esto sigue abierto y sin contestar. Como el `SqliteSaver` es NUESTRO
18
+ * (`vendor/sqliteSaver.ts`), el SQL lo escribimos aquí y no se espera a nadie.
19
+ *
20
+ * Este módulo es la REGLA y no toca disco: decide SI se poda. El SQL vive en
21
+ * `agent/sesiones/checkpointer.ts`, que es quien ya tiene la conexión.
22
+ */
23
+ /**
24
+ * A partir de cuánto estorba, en bytes.
25
+ *
26
+ * **Dimensionada con lo medido, no elegida**: una sesión de 2.794 pasos YA PODADA ocupa
27
+ * ~21 MB, así que 256 MB deja un orden de magnitud de margen y esto no puede cortar por lo
28
+ * sano en un proyecto que se porta bien. Es un TECHO, no un objetivo: un proyecto que nunca
29
+ * lo alcance no ejecuta la poda jamás.
30
+ *
31
+ * **Y la histéresis sale gratis de aquí**: podar deja el fichero en decenas de MB, o sea muy
32
+ * por debajo de la cota, así que no puede reengancharse turno tras turno. El propio tamaño es
33
+ * el estado, y por eso esto no necesita un fichero de marca ni recordar cuándo se podó — que
34
+ * es justo el trasto que se acumula en este repo.
35
+ */
36
+ export declare const COTA_DE_PODA_BYTES: number;
37
+ export interface SituacionDeLaBase {
38
+ /** Lo que ocupa el fichero AHORA. */
39
+ bytes: number;
40
+ /**
41
+ * Si hay algo del grafo a medias: un subagente parado en una aprobación, una tarea
42
+ * pendiente. Ausente es «no se pudo mirar».
43
+ */
44
+ hayPendientes?: boolean;
45
+ }
46
+ /**
47
+ * ¿Toca podar?
48
+ *
49
+ * Dos condiciones, y la segunda es la que hace esto seguro:
50
+ *
51
+ * - **Pasa de la cota.** Si no, no hay nada que arreglar y mirar el tamaño cuesta un
52
+ * `statSync`, o sea nada.
53
+ * - **No hay NADA pendiente.** Un subagente parado en una aprobación vive en su espacio
54
+ * `tools:*`, y podarlo a media aprobación se lleva la reanudación por delante. Es un
55
+ * predicado sobre datos que la base ya tiene, no una heurística.
56
+ *
57
+ * **Fail-closed: lo que no se sabe NO se poda** (`hayPendientes` ausente). La dirección
58
+ * segura aquí es la que no borra: un fichero grande es un incordio, y una sesión que no
59
+ * reanuda es trabajo perdido. La misma regla que «un verificador que no corrió no es verde».
60
+ */
61
+ export declare function debePodar(situacion: SituacionDeLaBase): boolean;
62
+ export interface ResultadoDePoda {
63
+ antes: number;
64
+ despues: number;
65
+ checkpointsBorrados: number;
66
+ writesBorrados: number;
67
+ }
68
+ /**
69
+ * Lo que se cuenta de una poda, y **solo cuando cambió algo de verdad**.
70
+ *
71
+ * Un mantenimiento que anuncia su propia rutina es un aviso que enseña a ignorar los avisos,
72
+ * que es lo que la bitácora existe para evitar: si no se recuperó nada, esto se calla. Y no
73
+ * lleva la RUTA del fichero, porque esta línea puede viajar por el cable (`sinRutas`).
74
+ */
75
+ export declare function resumenDePoda(r: ResultadoDePoda): string | undefined;