xonecode 0.38.44 → 0.39.2

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 (323) hide show
  1. package/dist/agent/cloudstudio/cloudstudioClient.d.ts +29 -0
  2. package/dist/agent/cloudstudio/cloudstudioMcp.d.ts +414 -0
  3. package/dist/agent/cloudstudio/conexionDeServidor.d.ts +37 -0
  4. package/dist/agent/cloudstudio/conexionDeServidor.js +63 -0
  5. package/dist/agent/cloudstudio/conexionDeServidor.js.map +1 -0
  6. package/dist/agent/cloudstudio/crearRama.d.ts +15 -0
  7. package/dist/agent/cloudstudio/crearRama.js +16 -0
  8. package/dist/agent/cloudstudio/crearRama.js.map +1 -0
  9. package/dist/agent/cloudstudio/descarga.d.ts +44 -0
  10. package/dist/agent/cloudstudio/manifiesto.d.ts +25 -0
  11. package/dist/agent/cloudstudio/ramaActiva.d.ts +24 -0
  12. package/dist/agent/cloudstudio/subida.d.ts +61 -0
  13. package/dist/agent/cloudstudio/subida.js +7 -1
  14. package/dist/agent/cloudstudio/subida.js.map +1 -1
  15. package/dist/agent/cloudstudio/validarTrasDescarga.d.ts +13 -0
  16. package/dist/agent/cloudstudio/zip.d.ts +13 -0
  17. package/dist/agent/conectores/conectoresEnDisco.d.ts +47 -0
  18. package/dist/agent/conectores/gestorJira.d.ts +50 -0
  19. package/dist/agent/conectores/gestorNotion.d.ts +45 -0
  20. package/dist/agent/conectores/proveedorDeConector.d.ts +43 -0
  21. package/dist/agent/conectores/servicioDeConectores.d.ts +112 -0
  22. package/dist/agent/config/authEnDisco.d.ts +43 -0
  23. package/dist/agent/config/catalogoModelos.d.ts +79 -0
  24. package/dist/agent/config/configEnDisco.d.ts +235 -0
  25. package/dist/agent/config/crearProyecto.d.ts +20 -0
  26. package/dist/agent/config/diagnosticoDeNodeEnMaquina.d.ts +44 -0
  27. package/dist/agent/config/ecoDeRazonamiento.d.ts +104 -0
  28. package/dist/agent/config/entorno.d.ts +83 -0
  29. package/dist/agent/config/fuentesEnRed.d.ts +12 -0
  30. package/dist/agent/config/gemini.d.ts +5 -0
  31. package/dist/agent/config/iconosEnRed.d.ts +10 -0
  32. package/dist/agent/config/identidadEnDisco.d.ts +27 -0
  33. package/dist/agent/config/modelos.d.ts +77 -0
  34. package/dist/agent/config/modelosDeMotor.d.ts +52 -0
  35. package/dist/agent/config/mudanzaEnDisco.d.ts +99 -0
  36. package/dist/agent/config/persona.d.ts +1 -0
  37. package/dist/agent/config/selectorEnMaquina.d.ts +35 -0
  38. package/dist/agent/config/settingsEnDisco.d.ts +206 -0
  39. package/dist/agent/config/versionEnDisco.d.ts +17 -0
  40. package/dist/agent/dispositivos/arranqueDeEmulador.d.ts +60 -0
  41. package/dist/agent/dispositivos/cajasDeMaqueta.d.ts +61 -0
  42. package/dist/agent/dispositivos/decodificarImagen.d.ts +21 -0
  43. package/dist/agent/dispositivos/descargaDeHerramientas.d.ts +44 -0
  44. package/dist/agent/dispositivos/dispositivosEnMaquina.d.ts +161 -0
  45. package/dist/agent/dispositivos/geometriaEnDisco.d.ts +17 -0
  46. package/dist/agent/dispositivos/hotswap.d.ts +194 -0
  47. package/dist/agent/dispositivos/instalacionEnMaquina.d.ts +156 -0
  48. package/dist/agent/dispositivos/juezVisual.d.ts +144 -0
  49. package/dist/agent/dispositivos/lanzamientoEnMaquina.d.ts +197 -0
  50. package/dist/agent/dispositivos/paqueteDelProyecto.d.ts +28 -0
  51. package/dist/agent/dispositivos/procesosEnMaquina.d.ts +154 -0
  52. package/dist/agent/dispositivos/recargaEnAparato.d.ts +30 -0
  53. package/dist/agent/dispositivos/sensorDeArranque.d.ts +42 -0
  54. package/dist/agent/exportarPdf.d.ts +72 -0
  55. package/dist/agent/grafo/aprendido.d.ts +28 -0
  56. package/dist/agent/grafo/arbolDeProyecto.d.ts +205 -0
  57. package/dist/agent/grafo/artefactosEnDisco.d.ts +35 -0
  58. package/dist/agent/grafo/atributosXone.d.ts +31 -0
  59. package/dist/agent/grafo/buscarIcono.d.ts +32 -0
  60. package/dist/agent/grafo/busquedaRegex.d.ts +56 -0
  61. package/dist/agent/grafo/codificacionDelProyecto.d.ts +7 -0
  62. package/dist/agent/grafo/compararCapturas.d.ts +22 -0
  63. package/dist/agent/grafo/copiarArtefacto.d.ts +64 -0
  64. package/dist/agent/grafo/criticaVisual.d.ts +60 -0
  65. package/dist/agent/grafo/describirImagen.d.ts +79 -0
  66. package/dist/agent/grafo/diferenciaDeCapturas.d.ts +33 -0
  67. package/dist/agent/grafo/ejecucionCancelable.d.ts +45 -0
  68. package/dist/agent/grafo/escriturasEnSerie.d.ts +31 -0
  69. package/dist/agent/grafo/excluirTools.d.ts +37 -0
  70. package/dist/agent/grafo/fuentesDeGoogle.d.ts +37 -0
  71. package/dist/agent/grafo/generarFondoSvg.d.ts +52 -0
  72. package/dist/agent/grafo/incorporarAdjunto.d.ts +98 -0
  73. package/dist/agent/grafo/lectorDeReferencias.d.ts +28 -0
  74. package/dist/agent/grafo/marcarCriteriosDelPlan.d.ts +47 -0
  75. package/dist/agent/grafo/memoriaDeProyecto.d.ts +15 -0
  76. package/dist/agent/grafo/navegacionXone.d.ts +60 -0
  77. package/dist/agent/grafo/opcionesDeFicheros.d.ts +23 -0
  78. package/dist/agent/grafo/perfiles.d.ts +225 -0
  79. package/dist/agent/grafo/proyecto.d.ts +450 -0
  80. package/dist/agent/grafo/skills.d.ts +181 -0
  81. package/dist/agent/grafo/traerDeLaMaquina.d.ts +60 -0
  82. package/dist/agent/grafo/unirSecciones.d.ts +20 -0
  83. package/dist/agent/grafo/validacionXone.d.ts +35 -0
  84. package/dist/agent/grafo/validarFicheroXone.d.ts +33 -0
  85. package/dist/agent/grafo/xoneAgent.d.ts +166 -0
  86. package/dist/agent/motores/motoresLocales.d.ts +87 -0
  87. package/dist/agent/motores/trueforge/capacidades.d.ts +183 -0
  88. package/dist/agent/motores/trueforge/convertirAP.d.ts +38 -0
  89. package/dist/agent/motores/trueforge/detencion.d.ts +70 -0
  90. package/dist/agent/motores/trueforge/esperas.d.ts +38 -0
  91. package/dist/agent/motores/trueforge/eventosTrueforge.d.ts +56 -0
  92. package/dist/agent/motores/trueforge/informesDeHijos.d.ts +48 -0
  93. package/dist/agent/motores/trueforge/medidaAutomatica.d.ts +37 -0
  94. package/dist/agent/motores/trueforge/memoriaDeEspecialistas.d.ts +60 -0
  95. package/dist/agent/motores/trueforge/memoriaTrueforge.d.ts +131 -0
  96. package/dist/agent/motores/trueforge/metricasTrueforge.d.ts +45 -0
  97. package/dist/agent/motores/trueforge/modeloExterno.d.ts +9 -0
  98. package/dist/agent/motores/trueforge/modeloLangchain.d.ts +69 -0
  99. package/dist/agent/motores/trueforge/notas.d.ts +48 -0
  100. package/dist/agent/motores/trueforge/proponerTareas.d.ts +30 -0
  101. package/dist/agent/motores/trueforge/recortes.d.ts +47 -0
  102. package/dist/agent/motores/trueforge/resumenSeguro.d.ts +33 -0
  103. package/dist/agent/motores/trueforge/sesionTrueforge.d.ts +273 -0
  104. package/dist/agent/motores/trueforge/skillsTrueforge.d.ts +16 -0
  105. package/dist/agent/motores/trueforge/toolsDeConectores.d.ts +36 -0
  106. package/dist/agent/motores/trueforge/toolsDeFichero.d.ts +146 -0
  107. package/dist/agent/motores/trueforge/toolsPropias.d.ts +38 -0
  108. package/dist/agent/motores/trueforge/traerDeStitch.d.ts +63 -0
  109. package/dist/agent/motores/trueforge/trueforge.d.ts +35 -0
  110. package/dist/agent/navegacion/estilosEnDisco.d.ts +41 -0
  111. package/dist/agent/navegacion/hechosEnDisco.d.ts +19 -0
  112. package/dist/agent/navegacion/indiceEnDisco.d.ts +50 -0
  113. package/dist/agent/navegacion/modeloDeProyecto.d.ts +86 -0
  114. package/dist/agent/planesEnDisco.d.ts +18 -0
  115. package/dist/agent/publicarPlan.d.ts +20 -0
  116. package/dist/agent/raizDelPaquete.d.ts +9 -0
  117. package/dist/agent/remoto/ngrokEnMaquina.d.ts +44 -0
  118. package/dist/agent/remoto/puenteWebSocket.d.ts +59 -0
  119. package/dist/agent/remoto/tunelNgrok.d.ts +31 -0
  120. package/dist/agent/renombrarSobre.d.ts +14 -0
  121. package/dist/agent/sesiones/adjuntosDeSesion.d.ts +64 -0
  122. package/dist/agent/sesiones/baseDeFichero.d.ts +9 -0
  123. package/dist/agent/sesiones/checkpointer.d.ts +146 -0
  124. package/dist/agent/sesiones/git.d.ts +66 -0
  125. package/dist/agent/sesiones/gitSync.d.ts +264 -0
  126. package/dist/agent/sesiones/memoriaDeHilo.d.ts +4 -0
  127. package/dist/agent/sesiones/modeloDelCambio.d.ts +7 -0
  128. package/dist/agent/sesiones/parcheEnTexto.d.ts +9 -0
  129. package/dist/agent/sesiones/sesionGit.d.ts +155 -0
  130. package/dist/agent/subagentes/actividadDeCodex.d.ts +8 -0
  131. package/dist/agent/subagentes/agentesEnDisco.d.ts +198 -0
  132. package/dist/agent/subagentes/consumoExterno.d.ts +83 -0
  133. package/dist/agent/subagentes/ejecutableEnWindows.d.ts +53 -0
  134. package/dist/agent/subagentes/escrituraDeCodex.d.ts +94 -0
  135. package/dist/agent/subagentes/escrituraDeOpencode.d.ts +67 -0
  136. package/dist/agent/subagentes/escrituraExterna.d.ts +419 -0
  137. package/dist/agent/subagentes/pluginDeSkills.d.ts +84 -0
  138. package/dist/agent/subagentes/subagenteCodex.d.ts +76 -0
  139. package/dist/agent/subagentes/subagenteExterno.d.ts +169 -0
  140. package/dist/agent/subagentes/subagenteOpencode.d.ts +126 -0
  141. package/dist/agent/tareas/aumentador.d.ts +99 -0
  142. package/dist/agent/tareas/juezDeTarea.d.ts +64 -0
  143. package/dist/agent/tareas/reflejoEnElGestor.d.ts +38 -0
  144. package/dist/agent/tareas/sondeoDelGestor.d.ts +49 -0
  145. package/dist/agent/tareas/tareasEnDisco.d.ts +141 -0
  146. package/dist/agent/trazaDeErroresEnDisco.d.ts +10 -0
  147. package/dist/agent/turno/depuracion.d.ts +1 -0
  148. package/dist/agent/turno/diagnosticoDeTools.d.ts +124 -0
  149. package/dist/agent/turno/ficherosDelProyecto.d.ts +10 -0
  150. package/dist/agent/turno/guionizado.d.ts +18 -0
  151. package/dist/agent/turno/informeDeTraza.d.ts +220 -0
  152. package/dist/agent/turno/inspectorDePrompt.d.ts +150 -0
  153. package/dist/agent/turno/instantanea.d.ts +16 -0
  154. package/dist/agent/turno/interrupts.d.ts +54 -0
  155. package/dist/agent/turno/juezDelTurnoConModelo.d.ts +26 -0
  156. package/dist/agent/turno/mensajes.d.ts +23 -0
  157. package/dist/agent/turno/normalizar.d.ts +15 -0
  158. package/dist/agent/turno/puente.d.ts +196 -0
  159. package/dist/agent/turno/registroDeFallos.d.ts +39 -0
  160. package/dist/agent/turno/resumenDeContexto.d.ts +269 -0
  161. package/dist/agent/turno/resumenDeTool.d.ts +33 -0
  162. package/dist/agent/turno/rubrica.d.ts +35 -0
  163. package/dist/agent/turno/sesionReal.d.ts +89 -0
  164. package/dist/agent/turno/textoDeTool.d.ts +19 -0
  165. package/dist/agent/turno/turnoReal.d.ts +210 -0
  166. package/dist/agent/turno/verificacion.d.ts +85 -0
  167. package/dist/agent/turno/verificador.d.ts +66 -0
  168. package/dist/bin.d.ts +2 -0
  169. package/dist/cli/acuseDeModelo.d.ts +18 -0
  170. package/dist/cli/aprobar.d.ts +162 -0
  171. package/dist/cli/config.d.ts +17 -0
  172. package/dist/cli/consola.d.ts +473 -0
  173. package/dist/cli/describe.d.ts +7 -0
  174. package/dist/cli/doctor.d.ts +8 -0
  175. package/dist/cli/fuentesDeDisco.d.ts +25 -0
  176. package/dist/cli/main.d.ts +291 -0
  177. package/dist/cli/markdown.d.ts +126 -0
  178. package/dist/cli/panel.d.ts +38 -0
  179. package/dist/cli/podar.d.ts +38 -0
  180. package/dist/cli/run.d.ts +30 -0
  181. package/dist/cli/spinner.d.ts +37 -0
  182. package/dist/cli/stdio.d.ts +94 -0
  183. package/dist/cli/tema.d.ts +68 -0
  184. package/dist/cli/tokens.d.ts +16 -0
  185. package/dist/cli/traza.d.ts +19 -0
  186. package/dist/cli/tui/app.d.ts +23 -0
  187. package/dist/cli/tui/aprobarTui.d.ts +46 -0
  188. package/dist/cli/tui/barra.d.ts +43 -0
  189. package/dist/cli/tui/correrTui.d.ts +119 -0
  190. package/dist/cli/tui/entrada.d.ts +14 -0
  191. package/dist/cli/tui/filas.d.ts +13 -0
  192. package/dist/cli/tui/logo.d.ts +20 -0
  193. package/dist/cli/tui/pielTui.d.ts +15 -0
  194. package/dist/cli/tui/raton.d.ts +68 -0
  195. package/dist/cli/tui/sidebar.d.ts +63 -0
  196. package/dist/cli/tui/store.d.ts +102 -0
  197. package/dist/cli/tui/tarjeta.d.ts +8 -0
  198. package/dist/cli/tui/temaInk.d.ts +67 -0
  199. package/dist/cli/tui/transcript.d.ts +32 -0
  200. package/dist/cli/verify.d.ts +9 -0
  201. package/dist/cli/wizardInicial.d.ts +59 -0
  202. package/dist/core/actos.d.ts +437 -0
  203. package/dist/core/adjuntos.d.ts +77 -0
  204. package/dist/core/agentes.d.ts +353 -0
  205. package/dist/core/analisisDeSesion.d.ts +63 -0
  206. package/dist/core/aprendido.d.ts +41 -0
  207. package/dist/core/artefactos.d.ts +74 -0
  208. package/dist/core/atributosXone.d.ts +53 -0
  209. package/dist/core/bitacora.d.ts +21 -0
  210. package/dist/core/cloudstudio.d.ts +168 -0
  211. package/dist/core/codificacion.d.ts +81 -0
  212. package/dist/core/comandoExterno.d.ts +49 -0
  213. package/dist/core/compararCapturas.d.ts +136 -0
  214. package/dist/core/conectores.d.ts +296 -0
  215. package/dist/core/config.d.ts +148 -0
  216. package/dist/core/contextos.d.ts +54 -0
  217. package/dist/core/convertirAP.d.ts +56 -0
  218. package/dist/core/copiaDeAvd.d.ts +44 -0
  219. package/dist/core/cssBienFormado.d.ts +22 -0
  220. package/dist/core/deps.d.ts +28 -0
  221. package/dist/core/descargas.d.ts +61 -0
  222. package/dist/core/descripcionDePantalla.d.ts +121 -0
  223. package/dist/core/descriptoresDeApp.d.ts +108 -0
  224. package/dist/core/diagnosticoDeNode.d.ts +51 -0
  225. package/dist/core/diff.d.ts +26 -0
  226. package/dist/core/diffDeColecciones.d.ts +54 -0
  227. package/dist/core/disenoVinculado.d.ts +17 -0
  228. package/dist/core/dispositivoDeSesion.d.ts +22 -0
  229. package/dist/core/dispositivoElegido.d.ts +17 -0
  230. package/dist/core/dispositivos.d.ts +469 -0
  231. package/dist/core/entrega.d.ts +341 -0
  232. package/dist/core/entrelazar.d.ts +48 -0
  233. package/dist/core/esfuerzo.d.ts +120 -0
  234. package/dist/core/esqueleto.d.ts +38 -0
  235. package/dist/core/estiloMedido.d.ts +70 -0
  236. package/dist/core/estilos.d.ts +76 -0
  237. package/dist/core/events.d.ts +218 -0
  238. package/dist/core/exportacion.d.ts +88 -0
  239. package/dist/core/fallos.d.ts +79 -0
  240. package/dist/core/fondosSvg.d.ts +115 -0
  241. package/dist/core/fotoDeColecciones.d.ts +45 -0
  242. package/dist/core/fuentes.d.ts +96 -0
  243. package/dist/core/geometriaDePantalla.d.ts +171 -0
  244. package/dist/core/gestorDeTareas.d.ts +295 -0
  245. package/dist/core/hechosDelProyecto.d.ts +70 -0
  246. package/dist/core/hotswap.d.ts +30 -0
  247. package/dist/core/iconos.d.ts +86 -0
  248. package/dist/core/identidadDeProveedor.d.ts +20 -0
  249. package/dist/core/idiomaDeLaRespuesta.d.ts +26 -0
  250. package/dist/core/imagenesDeDocumento.d.ts +40 -0
  251. package/dist/core/jsParaRhino.d.ts +3 -0
  252. package/dist/core/juezDelTurno.d.ts +95 -0
  253. package/dist/core/logDeDispositivo.d.ts +67 -0
  254. package/dist/core/memoria.d.ts +18 -0
  255. package/dist/core/metodoDeComparacionVisual.d.ts +20 -0
  256. package/dist/core/modelos.d.ts +198 -0
  257. package/dist/core/modoDeEscritura.d.ts +155 -0
  258. package/dist/core/motor.d.ts +43 -0
  259. package/dist/core/motoresLocales.d.ts +113 -0
  260. package/dist/core/mudanzaDeWorkspace.d.ts +112 -0
  261. package/dist/core/navegacion.d.ts +172 -0
  262. package/dist/core/notify.d.ts +77 -0
  263. package/dist/core/nucleoXone.d.ts +28 -0
  264. package/dist/core/panorama.d.ts +68 -0
  265. package/dist/core/paqueteDeSoporte.d.ts +100 -0
  266. package/dist/core/planDeSubida.d.ts +56 -0
  267. package/dist/core/planes.d.ts +53 -0
  268. package/dist/core/podaDeCheckpoint.d.ts +75 -0
  269. package/dist/core/ports.d.ts +1034 -0
  270. package/dist/core/puedeLanzarse.d.ts +181 -0
  271. package/dist/core/puertosDeAvd.d.ts +59 -0
  272. package/dist/core/recargaEnCaliente.d.ts +52 -0
  273. package/dist/core/referenciasDeImagen.d.ts +36 -0
  274. package/dist/core/remoto.d.ts +76 -0
  275. package/dist/core/repartoDeEncargo.d.ts +80 -0
  276. package/dist/core/rubrica.d.ts +78 -0
  277. package/dist/core/rutaVirtual.d.ts +29 -0
  278. package/dist/core/selectorDeCarpeta.d.ts +59 -0
  279. package/dist/core/serieDeEscrituras.d.ts +58 -0
  280. package/dist/core/settings.d.ts +421 -0
  281. package/dist/core/shellDeAgente.d.ts +177 -0
  282. package/dist/core/skills.d.ts +129 -0
  283. package/dist/core/stitch.d.ts +114 -0
  284. package/dist/core/tareas.d.ts +412 -0
  285. package/dist/core/tareasDelPlan.d.ts +123 -0
  286. package/dist/core/tareasEnElGestor.d.ts +117 -0
  287. package/dist/core/textos.d.ts +8 -0
  288. package/dist/core/topeAgotado.d.ts +55 -0
  289. package/dist/core/traerDeLaMaquina.d.ts +33 -0
  290. package/dist/core/trazaDeErrores.d.ts +83 -0
  291. package/dist/core/tunel.d.ts +45 -0
  292. package/dist/core/turno.d.ts +154 -0
  293. package/dist/core/validacionDeEscritura.d.ts +95 -0
  294. package/dist/core/verificacionDeSubida.d.ts +14 -0
  295. package/dist/core/version.d.ts +35 -0
  296. package/dist/core/xmlBienFormado.d.ts +23 -0
  297. package/dist/core/zipDeAdjunto.d.ts +28 -0
  298. package/dist/core/zipDeSkill.d.ts +74 -0
  299. package/dist/lib/tareaAutonoma.d.ts +36 -0
  300. package/dist/lib/tareaAutonoma.js +259 -0
  301. package/dist/lib/tareaAutonoma.js.map +1 -0
  302. package/dist/lib.d.ts +31 -0
  303. package/dist/lib.js +28 -0
  304. package/dist/lib.js.map +1 -0
  305. package/dist/vendor/hitl.d.ts +69 -0
  306. package/dist/vendor/skillLoaders/catalog.d.ts +27 -0
  307. package/dist/vendor/sqliteSaver.d.ts +22 -0
  308. package/dist/vendor/tokenTracking.d.ts +22 -0
  309. package/dist/web/servidor/arranque.d.ts +1372 -0
  310. package/dist/web/servidor/consolaDeTarea.d.ts +166 -0
  311. package/dist/web/servidor/consolaWeb.d.ts +142 -0
  312. package/dist/web/servidor/corredorDeTareas.d.ts +395 -0
  313. package/dist/web/servidor/datosDeCierre.d.ts +4 -0
  314. package/dist/web/servidor/interrupcion.d.ts +39 -0
  315. package/dist/web/servidor/pielWeb.d.ts +32 -0
  316. package/dist/web/servidor/puenteRemoto.d.ts +80 -0
  317. package/dist/web/servidor/servidor.d.ts +53 -0
  318. package/dist/web/servidor/sesiones.d.ts +342 -0
  319. package/dist/web/servidor/soporte.d.ts +65 -0
  320. package/dist/web/servidor/transporte.d.ts +2751 -0
  321. package/dist/web/servidor/vestibulo.d.ts +952 -0
  322. package/dist/web/servidor/visorOpenui.d.ts +33 -0
  323. package/package.json +9 -1
@@ -0,0 +1,166 @@
1
+ /**
2
+ * La `Consola` con la que corre una tarea en background.
3
+ *
4
+ * **Aplica lo que escribe, y aparca lo que necesita a una persona.** Son dos cosas
5
+ * distintas y esa distinción es todo el fichero.
6
+ *
7
+ * **Por qué APLICA** (§0 del diseño, decisión del usuario): la aprobación no estaba por la
8
+ * propiedad del repo, estaba porque XOne ignora en silencio lo desconocido —un atributo
9
+ * inventado no da error sino un bug mudo— y el diff era el único momento en que alguien lo
10
+ * veía antes de que existiera. La autorización de una tarea es el acto de CREARLA: elegir
11
+ * un proyecto y escribir un encargo es decir «trabaja en esto sin preguntarme», y por eso
12
+ * no hay ningún interruptor nuevo que armar — sin tarea creada no hay escritura autónoma
13
+ * posible. El sitio que deja libre el modal lo ocupan el verificador del turno
14
+ * (`turnoReal.ts#conVerificacion`, que corre por este camino igual que por el de una
15
+ * persona — MEDIDO) y el juez de la entrega.
16
+ *
17
+ * **Y NO es el MODO DE ESCRITURA de una sesión** (`core/modoDeEscritura.ts`). Ese dice «el
18
+ * humano que está aquí ha decidido
19
+ * no pulsar» —lo calcula como `interactivo && !eof()`— y aquí no hay nadie aquí: con esta
20
+ * consola devuelve `false` siempre, así que reutilizarlo habría dejado a las tareas sin
21
+ * aplicar nada. Y al revés: la marca del `settings.json` de un proyecto offline no decide
22
+ * sobre las tareas de nadie. Dos autorizaciones distintas, con alcances distintos.
23
+ *
24
+ * **Lo autorizado se DICE**, por dos canales y con los NOMBRES: al transcript (que es lo que
25
+ * lee quien abre la sesión) y por `autorizado`, que el corredor guarda en la tarea. Una
26
+ * escritura que nadie aprueba no puede ser además muda — es la regla del evento `artefacto`
27
+ * y la del aviso de honestidad del modo autónomo, y aquí es el ÚNICO aviso que
28
+ * hay: el de `turnoReal.ts` sale solo por su rama `todoAutomatico`, que este camino no
29
+ * toma. Con los nombres y no un contador, porque un contador a secas es el aviso que enseña
30
+ * a ignorar los avisos.
31
+ *
32
+ * **Lo que se apunta es lo AUTORIZADO, no lo escrito, y de ahí sale el nombre.** La decisión
33
+ * se toma antes de que el backend escriba, así que una ruta que las guardas de ruta rechazan
34
+ * —`/artifacts/`, una vista aplanada, `/.env`— se apunta aquí y no aparece en el disco
35
+ * (medido en el test de este fichero: las cinco se siguen rechazando, unas por el backend y
36
+ * otras por `permisosDe`). En el transcript eso se ve como esta línea seguida de la línea de
37
+ * la tool marcada en ERROR, que es cómo quien lo lee recupera la verdad — y es la razón de
38
+ * que las guardas devuelvan `{error}` en vez de lanzar. Quien dice qué hay en el disco es
39
+ * git, y eso se lee en Revisión con la ref de la sesión. La misma imprecisión tiene
40
+ * `aplicadasSinPreguntar` en `turnoReal.ts`, y por el mismo motivo.
41
+ *
42
+ * **Lo que NO cambia: `preguntar` y `leerSecreto`.** Aplicar una escritura no es contestar
43
+ * por una persona. Hoy una consola de proyecto sin
44
+ * cliente enganchado rechaza toda aprobación en silencio —`consolaWeb.eof()` es
45
+ * `!transporte.conectado()`— y contesta cadena vacía a cada pregunta. Para una tarea
46
+ * autónoma eso es la peor combinación posible: el turno «acaba» y nadie se enteró de que
47
+ * nada se aplicó. Aquí lo que no puede resolverse sin una persona se APARCA con su motivo,
48
+ * que es lo único que hace que el estado «requiere atención» sea verdad.
49
+ *
50
+ * **`aparcar` FUE el único canal, y ya no lo es — son dos, y hacen dos cosas distintas.**
51
+ * Cuando esto se escribió, `EjecutorDeTurno` devolvía `Promise<void>` y `crearEjecutorReal`
52
+ * (`cli/main.ts`) tiraba el retorno de `sesion.turno`, así que el `cortadoPorTope` que sabe
53
+ * que quedaron escrituras sin aplicar no salía de ahí y una tarea que se topaba con una
54
+ * aprobación acababa marcada «terminada». Hoy ese canal existe: el ejecutor devuelve
55
+ * `ResultadoDeTurno | void` (`cli/consola.ts`), `main.ts` lo devuelve y `vestibulo.ts` lo
56
+ * reenvía, y `pendientes` es una de las tres condiciones de la entrega
57
+ * (`core/entrega.ts`). Los dos siguen haciendo falta y no se pisan: **`aparcar` es lo que
58
+ * pasa cuando el turno no puede seguir** —alguien tenía que decidir y no había nadie— y el
59
+ * RESULTADO es lo que el turno cuenta cuando sí acabó. Sin `aparcar`, un turno que se topa
60
+ * con una pregunta se remataría solo; sin el resultado, uno que acaba dejando escrituras
61
+ * colgando se daría por bueno.
62
+ *
63
+ * No se guarda el `interrupt` esperando una decisión: el proceso puede vivir días y morir
64
+ * en medio. La aprobación se retoma al abrir la sesión —`saldarAprobacionesHuerfanas` salda
65
+ * las llamadas colgadas diciendo la verdad, el modelo vuelve a proponer la escritura y ahí
66
+ * ya hay una persona delante—.
67
+ *
68
+ * **Una consola por TURNO.** El «se aparca una vez» de abajo vale por turno porque quien la
69
+ * monta (el corredor, en su `correrTarea`) construye una por turno. Reutilizarla para un
70
+ * segundo turno lo dejaría mudo.
71
+ */
72
+ import type { Consola } from "../../cli/consola.js";
73
+ import type { Escribir } from "../../cli/stdio.js";
74
+ import type { Piel } from "../../core/turno.js";
75
+ import type { CatalogoModelosPort, Papel } from "../../core/ports.js";
76
+ /**
77
+ * El mensaje que acompaña al rechazo, hermano de `REJECT_MESSAGE` (`vendor/hitl.ts`).
78
+ *
79
+ * **Quién lo usa desde que las escrituras se aplican**: hoy, el corte de `preguntar` — y
80
+ * nada más. La otra rama, la pendiente que NO admite `approve`, es defensiva y **no se
81
+ * alcanza**: `decisionesPermitidas` viene del `reviewConfigs` del interrupt, y el único que
82
+ * los fija en este repo es `perfiles.ts`, que siempre pone `["approve", "reject"]`. Se deja
83
+ * puesta porque aprobar una pendiente que no admite `approve` sería inventarse una decisión
84
+ * que la librería no acepta, y la dirección de fallo ahí tiene que ser rechazar y aparcar
85
+ * —fail-closed— el día que alguien añada una tool que solo ofrezca rechazo. Dicho como
86
+ * defensiva y no como camino vivo a propósito: un comentario que da por ocurrido lo que no
87
+ * ocurre es la trampa que este repo ya ha pagado varias veces.
88
+ *
89
+ * Se copian sus tres cláusulas operativas —no se ejecutó, no lo reintentes, DILO en la
90
+ * respuesta final— porque su docblock describe exactamente el fallo que aquí más duele: un
91
+ * rechazo pelado deja al modelo rematar el turno como si la escritura hubiese quedado
92
+ * lista, y en una tarea de fondo el transcript es lo único que una persona leerá después.
93
+ *
94
+ * Lo que NO se copia es la atribución: el original dice «RECHAZADO por el usuario», y en
95
+ * una tarea de fondo ningún usuario rechazó nada. Ese detalle acabaría en la respuesta
96
+ * final contando un rechazo que nunca hubo, que es la misma clase de mentira que este
97
+ * fichero existe para evitar.
98
+ */
99
+ export declare const MENSAJE_DE_RECHAZO_DE_TAREA: string;
100
+ /**
101
+ * Se pidió algo que solo una persona puede contestar, y no había ninguna.
102
+ *
103
+ * **Cortar el turno es la única salida honesta de `preguntar`.** No tiene valor de
104
+ * «rechazo»: devuelve una cadena, y cualquier cadena que se devuelva el agente la toma por
105
+ * la respuesta de un humano. La cadena vacía tampoco sirve — `cli/aprobar.ts` la documenta
106
+ * contada a mano: de sus 18 llamadores, 16 la leen como «cancela / usa el valor por
107
+ * omisión», y «usa el valor por omisión» es una decisión que aquí nadie ha tomado. Es
108
+ * además el error que este repo ya declara: «esa cadena vacía sola NO rechaza; aquí decía
109
+ * que sí y era falso».
110
+ *
111
+ * Cortar desde dentro no es un camino nuevo: es lo que hace el «sin humano» de `cli/run.ts`
112
+ * lanzando desde `pedirAprobacion`, y `turnoReal.ts` tiene un `catch` puesto para él.
113
+ * Medido: una excepción desde ahí sale por `sesion.turno` y llega a quien corre el turno.
114
+ * Con `aparcar` llamado ANTES de lanzar, el motivo bueno ya está escrito cuando el corredor
115
+ * recoja el error — y su `motivo ??=` conserva el primero.
116
+ *
117
+ * **La asimetría, dicha para que se encuentre en un `grep` y no en un turno que no cierra:**
118
+ * ese `catch` de `turnoReal.ts` envuelve SOLO la llamada a `pedirAprobacion`, no el cuerpo
119
+ * del bucle. Hoy da igual, y por eso no se ha ampliado: dentro de un turno de tarea las
120
+ * aprobaciones van por `aprobacionesTui`, así que la rama `pedirDecisiones` —la única que
121
+ * usa `Consola.preguntar` dentro del turno— no se toma nunca, y ampliar el `catch` sería
122
+ * código para una hipótesis. Pero si algún día un `preguntar` acaba DENTRO de un turno, la
123
+ * excepción de aquí se saltará ese `catch` y **ese turno se queda sin `piel.fin`**: sin
124
+ * línea de tiempo en stdio y sin plegarse en la web. Entonces hay que ampliarlo al cuerpo
125
+ * del bucle. La tarea sí queda aparcada y con su motivo en los dos casos, que es la
126
+ * propiedad que sostiene todo esto.
127
+ */
128
+ export declare class ErrorDeTareaSinHumano extends Error {
129
+ constructor(motivo: string);
130
+ }
131
+ export declare function crearConsolaDeTarea(opciones: {
132
+ /** Aparca la tarea con este motivo. Se llama UNA vez por turno. */
133
+ aparcar: (motivo: string) => void;
134
+ /**
135
+ * Las escrituras que se acaban de AUTORIZAR sin que nadie las aprobara, con ruta relativa.
136
+ *
137
+ * «Autorizar» y no «aplicar»: esto se llama cuando se toma la decisión, y el backend
138
+ * puede rechazar la ruta después (ver la cabecera). El nombre del campo donde acaba
139
+ * (`Tarea.autorizadas`) dice lo mismo y por lo mismo.
140
+ *
141
+ * Se llama una vez por TANDA aprobada y no una por turno, al contrario que `aparcar`: un
142
+ * turno aplica en varias rondas de aprobación (medido: cuatro en un turno que insiste), y
143
+ * quedarse con la primera escondería los demás ficheros. Quien lo recoge —el corredor—
144
+ * los acumula y los guarda en la tarea.
145
+ *
146
+ * Opcional porque quien monta esta consola puede no tener dónde guardarlos; entonces lo
147
+ * autorizado se dice igualmente en el transcript, que es lo que no puede faltar.
148
+ */
149
+ autorizado?: (ficheros: readonly string[]) => void;
150
+ escribir: Escribir;
151
+ /**
152
+ * La piel con la que el turno se pinta. Ausente y `crearEjecutorReal` cae en
153
+ * `crearPielStdio(escribir)`, que es texto de consola metido en actos `sistema`: la sesión
154
+ * de la tarea se guarda, pero degradada — sin actos de asistente, ni de razonamiento, ni
155
+ * las tarjetas de artefacto, o sea una pared de líneas grises donde debería leerse una
156
+ * conversación. Quien la monte debería pasarle la piel de la consola de PROYECTO, que es
157
+ * la que sabe hacer actos de verdad; entra por aquí y no se construye dentro porque esta
158
+ * capa no conoce el transporte de esa consola.
159
+ */
160
+ piel?: () => Piel;
161
+ catalogoModelos: CatalogoModelosPort;
162
+ guardarModeloGlobal: (papel: Papel, id: string) => {
163
+ ruta: string;
164
+ id: string;
165
+ };
166
+ }): Consola;
@@ -0,0 +1,142 @@
1
+ import { type MensajeAlCliente, type MensajeDelCliente, type Sumidero } from "./transporte.js";
2
+ import type { Acto, ConsumoDeTurno } from "../../core/actos.js";
3
+ import { type Consola } from "../../cli/consola.js";
4
+ import { type CatalogoModelosPort } from "../../core/ports.js";
5
+ export interface OpcionesDeConsolaWeb {
6
+ /** Inyectable para poder probar el vencimiento sin esperarlo de verdad. */
7
+ msDeEspera?: number;
8
+ /** El reloj con que se fechan los mensajes y las respuestas (IXCODE-24). Inyectable para los tests. */
9
+ ahora?: () => number;
10
+ catalogoModelos?: CatalogoModelosPort;
11
+ guardarModeloGlobal?: Consola["guardarModeloGlobal"];
12
+ /**
13
+ * Lo consumido ACUMULADO por la sesión, si consta. Entra por opción y no se lee de ningún
14
+ * cierre de aquí por el mismo motivo que los modelos: quien conoce la sesión es el
15
+ * vestíbulo, y este módulo no sabe de ninguna.
16
+ *
17
+ * La piel lo consulta al cerrar cada turno para estampar su DELTA en el acto `fin`, que es
18
+ * de donde una sesión reabierta saca sus totales. Ausente = no se persiste consumo y los
19
+ * `fin` salen sin él, que es «no consta».
20
+ */
21
+ consumoAcumulado?: () => ConsumoDeTurno | undefined;
22
+ /**
23
+ * Si hay un turno en marcha, intenta apuntar el texto AHÍ en vez de encolarlo como línea
24
+ * nueva (IXCODE-4). `true` si lo consumió así — `recibir` no encola nada más—; `false` o
25
+ * ausente y `recibir` sigue el camino de hoy. Quien inyecta esto (`vestibulo.ts`) es quien
26
+ * sabe si hay turno en vuelo y tiene la sesión real; este módulo no sabe de ninguna.
27
+ */
28
+ notaMientrasTrabaja?: (texto: string) => boolean;
29
+ /** El botón DETENER y replanificar (IXCODE-4), con el mismo contrato que `notaMientrasTrabaja`:
30
+ * `true` si se aplicó al turno en marcha; `false` o ausente y la prosa sigue como siempre. */
31
+ detenerMientrasTrabaja?: (texto: string) => boolean;
32
+ /**
33
+ * IXCODE-7: compone el texto con el inventario de los adjuntos del mensaje —
34
+ * `conAdjuntos(texto, listarAdjuntosDeSesion(raiz, idDeHilo, nombres), "mensaje")`—. Lo
35
+ * construye el vestíbulo, que es quien sabe la raíz del proyecto y el id de la sesión; este
36
+ * módulo no toca disco. Ausente = la prosa con adjuntos viaja tal cual, como hoy (y entonces
37
+ * NINGÚN nombre se afirma: sin poder comprobar el disco no hay nada que prometer).
38
+ *
39
+ * **Devuelve `adjuntos`, los nombres que DE VERDAD encontró** (`listarAdjuntosDeSesion` ya
40
+ * filtra a los que existen, en el orden pedido) — no los `nombres` que se le pasaron. Ronda
41
+ * de arreglo 1/5: un nombre bien formado que nunca se subió pasaba la lista blanca de forma
42
+ * (`nombreDeAdjuntoAceptable`) y el acto de usuario afirmaba un adjunto que el agente nunca
43
+ * vio, porque `listarAdjuntosDeSesion` no lo encontraba. El acto ahora se anota SOLO con lo
44
+ * que esta función confirmó.
45
+ */
46
+ conAdjuntosDelMensaje?: (texto: string, nombres: readonly string[]) => {
47
+ texto: string;
48
+ adjuntos: string[];
49
+ };
50
+ }
51
+ export interface ConsolaWeb {
52
+ /**
53
+ * Mete una línea en la cola del lazo SIN acto de usuario. Es para lo que dispara un
54
+ * control de la interfaz, no una persona: `recibir({clase:"prosa"})` anota un acto de
55
+ * usuario —y debe: el transcript se le debe a quien escribió la petición—, pero un botón
56
+ * no escribió nada.
57
+ *
58
+ * No es un mensaje del cable: el cliente manda la INTENCIÓN (`clase: "modelo"`) y es el
59
+ * servidor quien decide que aplicarla es reusar el manejador de `COMANDOS`.
60
+ */
61
+ /** Dice si hay turno en vuelo. Lo llama el envoltorio del ejecutor (`vestibulo.ts`), que
62
+ * es el único que sabe cuándo empieza y cuándo acaba. */
63
+ /** `detenible`: el turno en marcha admite DETENER y replanificar (el botón se pinta). */
64
+ turno(activo: boolean, detenible?: boolean): void;
65
+ /**
66
+ * Encola una línea COMO COMANDO, que es como el servidor aplica `/modelo`, `/aprobacion` o
67
+ * `/sync` sin que nadie teclee la sintaxis.
68
+ *
69
+ * `sustituye` es la CLAVE de un control que refleja un ESTADO: si ya hay otra pendiente con
70
+ * la misma clave, aquélla se retira. Opcional a propósito — ver `LineaDeConsola`.
71
+ */
72
+ encolar(linea: string, sustituye?: string): void;
73
+ consola: Consola;
74
+ /** Un mensaje del navegador, tal cual llega por `POST /accion`. */
75
+ recibir(mensaje: MensajeDelCliente): void;
76
+ /**
77
+ * La `respuesta` de un MÓVIL de la sesión remota. No es `recibir`: al móvil solo le llega una
78
+ * `pregunta` SIN `decision` (`core/remoto.ts#filtrarSalida`), así que su respuesta solo puede
79
+ * contestar una de ésas — nunca la subida con casillas ni «¿Vaciar la copia…?», que el
80
+ * escritorio tiene abiertas y el móvil no ha visto. `false` = no había ninguna que contestar
81
+ * y no se ha tocado nada.
82
+ */
83
+ responderDesdeElMovil(texto: string): boolean;
84
+ /** El cliente abre el SSE; devuelve los actos con los que hay que reemitirle el transcript. */
85
+ conectar(enviar?: Sumidero): readonly Acto[];
86
+ /**
87
+ * Alguien MIRA lo que esta consola pinta sin ser su cliente: la vista en vivo de una tarea
88
+ * de fondo. Devuelve el transcript de ese instante, como `conectar`.
89
+ *
90
+ * **No es `conectar`, y esa es toda la razón de que exista.** `eof()` es
91
+ * `!transporte.conectado()`, así que un `conectar` de más le diría a esta consola que hay
92
+ * un humano al que preguntar — y en la consola de una tarea eso es falso por
93
+ * construcción: la vista es de solo lectura, no tiene compositor, y nadie puede contestar
94
+ * una pregunta ni aprobar una escritura desde ahí. Medido antes de escribirlo: con
95
+ * `conectar`, el `eof()` de la consola de una tarea pasaba de `true` a `false`. Ver
96
+ * `Transporte.mirar` para lo que un mirón recibe (solo el transcript) y lo que no.
97
+ */
98
+ mirar(enviar: Sumidero): readonly Acto[];
99
+ /** Se va UN mirón, y los demás siguen. */
100
+ dejarDeMirar(enviar: Sumidero): void;
101
+ /** Se va UN cliente (el sumidero que se pasa) o todos (sin argumento). Ver `Transporte`. */
102
+ desconectar(enviar?: Sumidero): void;
103
+ /** El cable se muda a otra consola: suelta los sumideros sin dar por ido al humano. Ver
104
+ * `Transporte.soltar`, que es donde está la diferencia y por qué importa. */
105
+ soltar(enviar?: Sumidero): void;
106
+ /** Agota `lineas` (EOF) para que el lazo de `correrConsola` RETORNE, y corta el cliente. */
107
+ cerrar(): void;
108
+ actos(): readonly Acto[];
109
+ /**
110
+ * Cuántos actos del principio de `actos()` ya NO pueden cambiar: los de antes del último acto de
111
+ * la PIEL, que es el único que se sustituye (el cierre de una racha de tools, un parcial). Es lo
112
+ * que se puede volcar a disco A MITAD de turno sin escribir dos versiones del mismo acto ni
113
+ * desordenar el `.jsonl`.
114
+ */
115
+ estables(): number;
116
+ /** Apunta un acto que no viene ni de la piel ni de un comando: lo que el SERVIDOR resolvió por un
117
+ * botón (una propuesta de tareas encolada o descartada). Se emite y entra en el transcript. */
118
+ anotar(acto: Acto): void;
119
+ eventosEmitidos(): readonly MensajeAlCliente[];
120
+ /**
121
+ * Las aprobaciones EN VUELO, y solo esas. Es el único sitio con contenido de fichero y
122
+ * diff, y se suelta en cuanto hay decisión: pasado ese momento nada de lo que el humano
123
+ * miró sigue en memoria, ni se persiste, ni se reemite al reconectar.
124
+ */
125
+ mensajesDeAprobacion(): readonly MensajeAlCliente[];
126
+ /**
127
+ * ¿Hay una pregunta de TEXTO LIBRE esperando a alguien? Las que llevan una `decision` (la
128
+ * subida, «¿Vaciar la copia…?») no cuentan: son diálogos del escritorio, no una pregunta
129
+ * del hilo, y son las mismas que `responderDesdeElMovil` no contesta.
130
+ */
131
+ hayPreguntaDeTextoPendiente(): boolean;
132
+ /**
133
+ * Se avisa cuando NACE o TERMINA una aprobación en vuelo, y cuando nace o termina una
134
+ * pregunta de texto libre (las de `decision` no avisan, por lo mismo que no cuentan arriba).
135
+ * Termina de cualquier forma: contestada, vencida o porque se fue el último cliente. El aviso
136
+ * no dice qué cambió: quien escucha vuelve a preguntar (`mensajesDeAprobacion`,
137
+ * `hayPreguntaDeTextoPendiente`), que en el instante del aviso ya dicen lo nuevo. Devuelve
138
+ * con qué darse de baja.
139
+ */
140
+ alCambiarEspera(oyente: () => void): () => void;
141
+ }
142
+ export declare function crearConsolaWeb(opciones?: OpcionesDeConsolaWeb): ConsolaWeb;