xonecode 0.3.0 → 0.5.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.
- package/README.md +49 -7
- package/THIRD_PARTY_NOTICES.md +128 -0
- package/apps/web/dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
- package/apps/web/dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
- package/apps/web/dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
- package/apps/web/dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
- package/apps/web/dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
- package/apps/web/dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
- package/apps/web/dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
- package/apps/web/dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
- package/apps/web/dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
- package/apps/web/dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
- package/apps/web/dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
- package/apps/web/dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
- package/apps/web/dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
- package/apps/web/dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
- package/apps/web/dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
- package/apps/web/dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
- package/apps/web/dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
- package/apps/web/dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
- package/apps/web/dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
- package/apps/web/dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
- package/apps/web/dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
- package/apps/web/dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
- package/apps/web/dist/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
- package/apps/web/dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
- package/apps/web/dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
- package/apps/web/dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
- package/apps/web/dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
- package/apps/web/dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
- package/apps/web/dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
- package/apps/web/dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
- package/apps/web/dist/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
- package/apps/web/dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
- package/apps/web/dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
- package/apps/web/dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
- package/apps/web/dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
- package/apps/web/dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
- package/apps/web/dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
- package/apps/web/dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
- package/apps/web/dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
- package/apps/web/dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
- package/apps/web/dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
- package/apps/web/dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
- package/apps/web/dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
- package/apps/web/dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
- package/apps/web/dist/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
- package/apps/web/dist/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
- package/apps/web/dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
- package/apps/web/dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
- package/apps/web/dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
- package/apps/web/dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
- package/apps/web/dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
- package/apps/web/dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
- package/apps/web/dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
- package/apps/web/dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
- package/apps/web/dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
- package/apps/web/dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
- package/apps/web/dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
- package/apps/web/dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
- package/apps/web/dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
- package/apps/web/dist/assets/c-BIGW1oBm.js +1 -0
- package/apps/web/dist/assets/cpp-DddhVWhK.js +1 -0
- package/apps/web/dist/assets/csharp-DSvCPggb.js +1 -0
- package/apps/web/dist/assets/css-CLj8gQPS.js +1 -0
- package/apps/web/dist/assets/go-C27-OAKa.js +1 -0
- package/apps/web/dist/assets/html-CfGypltT.js +1 -0
- package/apps/web/dist/assets/index-BB3SamhR.css +1 -0
- package/apps/web/dist/assets/index-CFYAoHdw.js +477 -0
- package/apps/web/dist/assets/ini-BEwlwnbL.js +1 -0
- package/apps/web/dist/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2 +0 -0
- package/apps/web/dist/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2 +0 -0
- package/apps/web/dist/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2 +0 -0
- package/apps/web/dist/assets/inter-greek-wght-normal-CkhJZR-_.woff2 +0 -0
- package/apps/web/dist/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2 +0 -0
- package/apps/web/dist/assets/inter-latin-wght-normal-Dx4kXJAl.woff2 +0 -0
- package/apps/web/dist/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2 +0 -0
- package/apps/web/dist/assets/java-CylS5w8V.js +1 -0
- package/apps/web/dist/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2 +0 -0
- package/apps/web/dist/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2 +0 -0
- package/apps/web/dist/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2 +0 -0
- package/apps/web/dist/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2 +0 -0
- package/apps/web/dist/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2 +0 -0
- package/apps/web/dist/assets/kotlin-BdnUsdx6.js +1 -0
- package/apps/web/dist/assets/less-B1dDrJ26.js +1 -0
- package/apps/web/dist/assets/lua-BaeVxFsk.js +1 -0
- package/apps/web/dist/assets/markdown-Cvjx9yec.js +1 -0
- package/apps/web/dist/assets/mdx-Cmh6b_Ma.js +1 -0
- package/apps/web/dist/assets/php-D_2--9WK.js +1 -0
- package/apps/web/dist/assets/python-B6aJPvgy.js +1 -0
- package/apps/web/dist/assets/ruby-DSHSDbk1.js +1 -0
- package/apps/web/dist/assets/rust-B1yitclQ.js +1 -0
- package/apps/web/dist/assets/scss-D5BDwBP9.js +1 -0
- package/apps/web/dist/assets/sql-CRqJ_cUM.js +1 -0
- package/apps/web/dist/assets/swift-C2oV4EkX.js +1 -0
- package/apps/web/dist/assets/toml-vGWfd6FD.js +1 -0
- package/apps/web/dist/assets/xml-sdJ4AIDG.js +1 -0
- package/apps/web/dist/assets/yaml-Buea-lGh.js +1 -0
- package/apps/web/dist/iconos/xonecode.png +0 -0
- package/apps/web/dist/index.html +20 -0
- package/dist/agent/agentesEnDisco.js +539 -0
- package/dist/agent/agentesEnDisco.js.map +1 -0
- package/dist/agent/arbolDeProyecto.js +245 -0
- package/dist/agent/arbolDeProyecto.js.map +1 -0
- package/dist/agent/artefactosEnDisco.js +139 -0
- package/dist/agent/artefactosEnDisco.js.map +1 -0
- package/dist/agent/aumentador.js +175 -0
- package/dist/agent/aumentador.js.map +1 -0
- package/dist/agent/authEnDisco.js +76 -1
- package/dist/agent/authEnDisco.js.map +1 -1
- package/dist/agent/busquedaRegex.js +92 -0
- package/dist/agent/busquedaRegex.js.map +1 -0
- package/dist/agent/catalogoModelos.js +345 -0
- package/dist/agent/catalogoModelos.js.map +1 -0
- package/dist/agent/checkpointer.js +127 -0
- package/dist/agent/checkpointer.js.map +1 -0
- package/dist/agent/cloudstudioClient.js +194 -0
- package/dist/agent/cloudstudioClient.js.map +1 -0
- package/dist/agent/cloudstudioMcp.js +722 -0
- package/dist/agent/cloudstudioMcp.js.map +1 -0
- package/dist/agent/configEnDisco.js +309 -11
- package/dist/agent/configEnDisco.js.map +1 -1
- package/dist/agent/consumoExterno.js +99 -0
- package/dist/agent/consumoExterno.js.map +1 -0
- package/dist/agent/descarga.js +149 -0
- package/dist/agent/descarga.js.map +1 -0
- package/dist/agent/diagnosticoDeTools.js +51 -0
- package/dist/agent/diagnosticoDeTools.js.map +1 -0
- package/dist/agent/dispositivosEnMaquina.js +596 -0
- package/dist/agent/dispositivosEnMaquina.js.map +1 -0
- package/dist/agent/escrituraDeCodex.js +134 -0
- package/dist/agent/escrituraDeCodex.js.map +1 -0
- package/dist/agent/escrituraDeOpencode.js +80 -0
- package/dist/agent/escrituraDeOpencode.js.map +1 -0
- package/dist/agent/escrituraExterna.js +742 -0
- package/dist/agent/escrituraExterna.js.map +1 -0
- package/dist/agent/gemini.js +81 -0
- package/dist/agent/gemini.js.map +1 -0
- package/dist/agent/git.js +83 -0
- package/dist/agent/git.js.map +1 -0
- package/dist/agent/gitSync.js +441 -0
- package/dist/agent/gitSync.js.map +1 -0
- package/dist/agent/hotswap.js +448 -0
- package/dist/agent/hotswap.js.map +1 -0
- package/dist/agent/instalacionEnMaquina.js +252 -0
- package/dist/agent/instalacionEnMaquina.js.map +1 -0
- package/dist/agent/instantanea.js +7 -10
- package/dist/agent/instantanea.js.map +1 -1
- package/dist/agent/interrupts.js +11 -2
- package/dist/agent/interrupts.js.map +1 -1
- package/dist/agent/juezDeTarea.js +345 -0
- package/dist/agent/juezDeTarea.js.map +1 -0
- package/dist/agent/lanzamientoEnMaquina.js +377 -0
- package/dist/agent/lanzamientoEnMaquina.js.map +1 -0
- package/dist/agent/manifiesto.js +59 -0
- package/dist/agent/manifiesto.js.map +1 -0
- package/dist/agent/memoriaDeProyecto.js +60 -0
- package/dist/agent/memoriaDeProyecto.js.map +1 -0
- package/dist/agent/modelos.js +105 -17
- package/dist/agent/modelos.js.map +1 -1
- package/dist/agent/modelosDeMotor.js +204 -0
- package/dist/agent/modelosDeMotor.js.map +1 -0
- package/dist/agent/paqueteDelProyecto.js +181 -0
- package/dist/agent/paqueteDelProyecto.js.map +1 -0
- package/dist/agent/perfiles.js +92 -31
- package/dist/agent/perfiles.js.map +1 -1
- package/dist/agent/persona.js +40 -0
- package/dist/agent/persona.js.map +1 -0
- package/dist/agent/procesosEnMaquina.js +204 -0
- package/dist/agent/procesosEnMaquina.js.map +1 -0
- package/dist/agent/proyecto.js +311 -13
- package/dist/agent/proyecto.js.map +1 -1
- package/dist/agent/puente.js +63 -6
- package/dist/agent/puente.js.map +1 -1
- package/dist/agent/resumenDeContexto.js +30 -0
- package/dist/agent/resumenDeContexto.js.map +1 -0
- package/dist/agent/resumenDeTool.js +64 -18
- package/dist/agent/resumenDeTool.js.map +1 -1
- package/dist/agent/sesionGit.js +481 -0
- package/dist/agent/sesionGit.js.map +1 -0
- package/dist/agent/settingsEnDisco.js +189 -0
- package/dist/agent/settingsEnDisco.js.map +1 -0
- package/dist/agent/subagenteCodex.js +368 -0
- package/dist/agent/subagenteCodex.js.map +1 -0
- package/dist/agent/subagenteExterno.js +423 -0
- package/dist/agent/subagenteExterno.js.map +1 -0
- package/dist/agent/subagenteOpencode.js +389 -0
- package/dist/agent/subagenteOpencode.js.map +1 -0
- package/dist/agent/subida.js +202 -0
- package/dist/agent/subida.js.map +1 -0
- package/dist/agent/tareasEnDisco.js +466 -0
- package/dist/agent/tareasEnDisco.js.map +1 -0
- package/dist/agent/turnoReal.js +663 -50
- package/dist/agent/turnoReal.js.map +1 -1
- package/dist/agent/versionEnDisco.js +48 -0
- package/dist/agent/versionEnDisco.js.map +1 -0
- package/dist/agent/xoneAgent.js +290 -49
- package/dist/agent/xoneAgent.js.map +1 -1
- package/dist/agent/zip.js +52 -0
- package/dist/agent/zip.js.map +1 -0
- package/dist/cli/acuseDeModelo.js +30 -0
- package/dist/cli/acuseDeModelo.js.map +1 -0
- package/dist/cli/aprobar.js +55 -2
- package/dist/cli/aprobar.js.map +1 -1
- package/dist/cli/config.js +9 -13
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/consola.js +750 -19
- package/dist/cli/consola.js.map +1 -1
- package/dist/cli/main.js +740 -81
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/markdown.js +188 -2
- package/dist/cli/markdown.js.map +1 -1
- package/dist/cli/run.js +32 -4
- package/dist/cli/run.js.map +1 -1
- package/dist/cli/stdio.js +46 -19
- package/dist/cli/stdio.js.map +1 -1
- package/dist/cli/tema.js +96 -8
- package/dist/cli/tema.js.map +1 -1
- package/dist/cli/tokens.js +29 -0
- package/dist/cli/tokens.js.map +1 -0
- package/dist/cli/tui/app.js +171 -0
- package/dist/cli/tui/app.js.map +1 -0
- package/dist/cli/tui/aprobarTui.js +80 -0
- package/dist/cli/tui/aprobarTui.js.map +1 -0
- package/dist/cli/tui/barra.js +37 -0
- package/dist/cli/tui/barra.js.map +1 -0
- package/dist/cli/tui/correrTui.js +478 -0
- package/dist/cli/tui/correrTui.js.map +1 -0
- package/dist/cli/tui/entrada.js +166 -0
- package/dist/cli/tui/entrada.js.map +1 -0
- package/dist/cli/tui/filas.js +24 -0
- package/dist/cli/tui/filas.js.map +1 -0
- package/dist/cli/tui/logo.js +49 -0
- package/dist/cli/tui/logo.js.map +1 -0
- package/dist/cli/tui/pielTui.js +14 -0
- package/dist/cli/tui/pielTui.js.map +1 -0
- package/dist/cli/tui/raton.js +126 -0
- package/dist/cli/tui/raton.js.map +1 -0
- package/dist/cli/tui/sidebar.js +86 -0
- package/dist/cli/tui/sidebar.js.map +1 -0
- package/dist/cli/tui/store.js +143 -0
- package/dist/cli/tui/store.js.map +1 -0
- package/dist/cli/tui/tarjeta.js +19 -0
- package/dist/cli/tui/tarjeta.js.map +1 -0
- package/dist/cli/tui/temaInk.js +114 -0
- package/dist/cli/tui/temaInk.js.map +1 -0
- package/dist/cli/tui/transcript.js +254 -0
- package/dist/cli/tui/transcript.js.map +1 -0
- package/dist/cli/wizardInicial.js +240 -0
- package/dist/cli/wizardInicial.js.map +1 -0
- package/dist/core/actos.js +113 -0
- package/dist/core/actos.js.map +1 -0
- package/dist/core/adjuntos.js +97 -0
- package/dist/core/adjuntos.js.map +1 -0
- package/dist/core/agentes.js +227 -0
- package/dist/core/agentes.js.map +1 -0
- package/dist/core/artefactos.js +149 -0
- package/dist/core/artefactos.js.map +1 -0
- package/dist/core/cloudstudio.js +7 -0
- package/dist/core/cloudstudio.js.map +1 -0
- package/dist/core/config.js +212 -5
- package/dist/core/config.js.map +1 -1
- package/dist/core/contextos.js +53 -1
- package/dist/core/contextos.js.map +1 -1
- package/dist/core/descargas.js +106 -0
- package/dist/core/descargas.js.map +1 -0
- package/dist/core/descriptoresDeApp.js +279 -0
- package/dist/core/descriptoresDeApp.js.map +1 -0
- package/dist/core/dispositivos.js +466 -0
- package/dist/core/dispositivos.js.map +1 -0
- package/dist/core/entrega.js +141 -0
- package/dist/core/entrega.js.map +1 -0
- package/dist/core/entrelazar.js +90 -0
- package/dist/core/entrelazar.js.map +1 -0
- package/dist/core/esqueleto.js +10 -0
- package/dist/core/esqueleto.js.map +1 -1
- package/dist/core/modelos.js +235 -3
- package/dist/core/modelos.js.map +1 -1
- package/dist/core/notify.js +27 -9
- package/dist/core/notify.js.map +1 -1
- package/dist/core/planDeSubida.js +127 -0
- package/dist/core/planDeSubida.js.map +1 -0
- package/dist/core/ports.js +189 -1
- package/dist/core/ports.js.map +1 -1
- package/dist/core/puedeLanzarse.js +239 -0
- package/dist/core/puedeLanzarse.js.map +1 -0
- package/dist/core/rutaVirtual.js +42 -0
- package/dist/core/rutaVirtual.js.map +1 -0
- package/dist/core/settings.js +246 -0
- package/dist/core/settings.js.map +1 -0
- package/dist/core/tareas.js +230 -0
- package/dist/core/tareas.js.map +1 -0
- package/dist/core/textos.js +36 -0
- package/dist/core/textos.js.map +1 -0
- package/dist/core/turno.js +56 -8
- package/dist/core/turno.js.map +1 -1
- package/dist/core/version.js +31 -0
- package/dist/core/version.js.map +1 -0
- package/dist/vendor/tokenTracking.js +22 -1
- package/dist/vendor/tokenTracking.js.map +1 -1
- package/dist/web/servidor/arranque.js +3964 -0
- package/dist/web/servidor/arranque.js.map +1 -0
- package/dist/web/servidor/consolaDeTarea.js +161 -0
- package/dist/web/servidor/consolaDeTarea.js.map +1 -0
- package/dist/web/servidor/consolaWeb.js +389 -0
- package/dist/web/servidor/consolaWeb.js.map +1 -0
- package/dist/web/servidor/corredorDeTareas.js +1119 -0
- package/dist/web/servidor/corredorDeTareas.js.map +1 -0
- package/dist/web/servidor/pielWeb.js +269 -0
- package/dist/web/servidor/pielWeb.js.map +1 -0
- package/dist/web/servidor/servidor.js +257 -0
- package/dist/web/servidor/servidor.js.map +1 -0
- package/dist/web/servidor/sesiones.js +440 -0
- package/dist/web/servidor/sesiones.js.map +1 -0
- package/dist/web/servidor/transporte.js +169 -0
- package/dist/web/servidor/transporte.js.map +1 -0
- package/dist/web/servidor/vestibulo.js +1276 -0
- package/dist/web/servidor/vestibulo.js.map +1 -0
- package/package.json +30 -8
- package/skills/archify/LICENSE +22 -0
- package/skills/archify/SKILL.md +109 -0
- package/skills/archify/THIRD_PARTY_NOTICES.md +56 -0
- package/skills/archify/assets/template.html +14787 -0
- package/skills/archify/bin/archify.mjs +1990 -0
- package/skills/archify/bin/open-artifact.mjs +86 -0
- package/skills/archify/bin/preview.mjs +648 -0
- package/skills/archify/bin/visual-check.mjs +829 -0
- package/skills/archify/brand-marks/README.md +31 -0
- package/skills/archify/brand-marks/catalog.json +131 -0
- package/skills/archify/delta/architecture-delta.mjs +1214 -0
- package/skills/archify/examples/agent-run.lifecycle.json +71 -0
- package/skills/archify/examples/agent-tool-call.workflow.json +94 -0
- package/skills/archify/examples/async-job-roundtrip.sequence.json +61 -0
- package/skills/archify/examples/brand-aware-delivery.architecture.json +47 -0
- package/skills/archify/examples/cache-miss-request.sequence.json +81 -0
- package/skills/archify/examples/checkout-platform.base.architecture.json +31 -0
- package/skills/archify/examples/checkout-platform.head.architecture.json +31 -0
- package/skills/archify/examples/dataflow-product-analytics.html +14898 -0
- package/skills/archify/examples/deployment-release.lifecycle.json +49 -0
- package/skills/archify/examples/event-stream.dataflow.json +57 -0
- package/skills/archify/examples/incident-response.workflow.json +64 -0
- package/skills/archify/examples/lifecycle-agent-run.html +14847 -0
- package/skills/archify/examples/product-analytics.dataflow.json +76 -0
- package/skills/archify/examples/production-deployment.architecture.json +71 -0
- package/skills/archify/examples/release-delivery.workflow.json +62 -0
- package/skills/archify/examples/sequence-cache-miss-request.html +14913 -0
- package/skills/archify/examples/web-app-rendered.html +14862 -0
- package/skills/archify/examples/web-app.architecture.json +46 -0
- package/skills/archify/examples/workflow-agent-tool-call-rendered.html +14904 -0
- package/skills/archify/migrations/workflow-v2.mjs +279 -0
- package/skills/archify/package.json +17 -0
- package/skills/archify/recipes/scenarios.mjs +391 -0
- package/skills/archify/references/authoring-contract.md +198 -0
- package/skills/archify/references/brand-marks.md +69 -0
- package/skills/archify/references/delivery-contract.md +116 -0
- package/skills/archify/references/viewer-runtime.md +45 -0
- package/skills/archify/renderers/architecture/grid.mjs +62 -0
- package/skills/archify/renderers/architecture/render-architecture.mjs +1078 -0
- package/skills/archify/renderers/dataflow/README.md +104 -0
- package/skills/archify/renderers/dataflow/render-dataflow.mjs +483 -0
- package/skills/archify/renderers/lifecycle/README.md +115 -0
- package/skills/archify/renderers/lifecycle/render-lifecycle.mjs +561 -0
- package/skills/archify/renderers/sequence/README.md +114 -0
- package/skills/archify/renderers/sequence/render-sequence.mjs +453 -0
- package/skills/archify/renderers/shared/brand-marks.mjs +563 -0
- package/skills/archify/renderers/shared/cli.mjs +218 -0
- package/skills/archify/renderers/shared/desktop-readability.mjs +26 -0
- package/skills/archify/renderers/shared/diagnostics.mjs +127 -0
- package/skills/archify/renderers/shared/engineering-profiles.mjs +157 -0
- package/skills/archify/renderers/shared/generated-brand-marks.mjs +2003 -0
- package/skills/archify/renderers/shared/generated-validators.mjs +13 -0
- package/skills/archify/renderers/shared/geometry.mjs +1423 -0
- package/skills/archify/renderers/shared/i18n.mjs +594 -0
- package/skills/archify/renderers/shared/layout-report.mjs +40 -0
- package/skills/archify/renderers/shared/legend.mjs +217 -0
- package/skills/archify/renderers/shared/output-path.mjs +321 -0
- package/skills/archify/renderers/shared/repository-evidence.mjs +235 -0
- package/skills/archify/renderers/shared/text-fit.mjs +49 -0
- package/skills/archify/renderers/shared/utils.mjs +232 -0
- package/skills/archify/renderers/shared/validator.mjs +86 -0
- package/skills/archify/renderers/workflow/README.md +223 -0
- package/skills/archify/renderers/workflow/render-workflow.mjs +35 -0
- package/skills/archify/renderers/workflow/workflow-compiler.mjs +4400 -0
- package/skills/archify/renderers/workflow/workflow-migration-geometry.mjs +144 -0
- package/skills/archify/schemas/README.md +211 -0
- package/skills/archify/schemas/architecture.schema.json +176 -0
- package/skills/archify/schemas/common.schema.json +115 -0
- package/skills/archify/schemas/dataflow.schema.json +243 -0
- package/skills/archify/schemas/lifecycle.schema.json +266 -0
- package/skills/archify/schemas/sequence.schema.json +223 -0
- package/skills/archify/schemas/workflow.schema.json +428 -0
- package/skills/archify/scripts/check-render-output.mjs +835 -0
- package/skills/archify/scripts/check-update.mjs +1667 -0
- package/skills/archify/scripts/render-examples.mjs +26 -0
- package/skills/archify/scripts/update-contract.mjs +182 -0
- package/skills/archify/skill-release.json +10 -0
- package/skills/artifacts-builder/SKILL.md +120 -0
- package/skills/artifacts-builder/reference/diagramas.md +123 -0
- package/skills/artifacts-builder/reference/estilo.md +123 -0
- package/skills/artifacts-builder/reference/exportar-pdf.md +56 -0
- package/skills/artifacts-builder/reference/graficas.md +22 -0
- package/skills/artifacts-builder/scripts/bundle_artifact.py +109 -0
- package/skills/artifacts-builder/scripts/validate_artifact.py +345 -0
- package/skills/xone-hotswap/SKILL.md +185 -0
- package/skills/xone-hotswap/references/comandos.md +706 -0
- package/skills/xone-hotswap/references/conexion-y-despliegue.md +226 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloudstudioMcp.js","sourceRoot":"","sources":["../../src/agent/cloudstudioMcp.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,12 +3,21 @@
|
|
|
3
3
|
* entorno. Aquí está el I/O que `core/config.ts` no quiere: rutas, `readFileSync` y
|
|
4
4
|
* `statSync`; lo que llega a `validar`/`validarAuth` es solo datos.
|
|
5
5
|
*/
|
|
6
|
-
import { existsSync, readFileSync, statSync } from "node:fs";
|
|
6
|
+
import { closeSync, existsSync, mkdirSync, openSync, readFileSync, renameSync, statSync, unlinkSync, writeFileSync, } from "node:fs";
|
|
7
|
+
import { randomUUID } from "node:crypto";
|
|
7
8
|
import { homedir } from "node:os";
|
|
8
|
-
import { join } from "node:path";
|
|
9
|
+
import { dirname, join } from "node:path";
|
|
9
10
|
import { validar, validarAuth, } from "../core/config.js";
|
|
10
|
-
import {
|
|
11
|
+
import { motivoDeEndpointInaceptable, motivoDeSlugInaceptable, parsear, variableDeProveedor, } from "../core/modelos.js";
|
|
11
12
|
export const NOMBRE_CARPETA = ".xonecode";
|
|
13
|
+
export class ConfigRotaEnDisco extends Error {
|
|
14
|
+
constructor(ruta, causa) {
|
|
15
|
+
super(`«${ruta}»: el config global está roto y no se puede actualizar.`);
|
|
16
|
+
this.name = "ConfigRotaEnDisco";
|
|
17
|
+
if (causa !== undefined)
|
|
18
|
+
this.cause = causa;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
12
21
|
export function rutaConfigGlobal() {
|
|
13
22
|
// homedir() en el momento de la llamada: si se cacheara en una constante de módulo,
|
|
14
23
|
// un test que reescribe HOME después del import vería la ruta vieja.
|
|
@@ -20,6 +29,272 @@ export function rutaConfigDeProyecto(raiz) {
|
|
|
20
29
|
export function rutaAuth() {
|
|
21
30
|
return join(homedir(), NOMBRE_CARPETA, "auth.json");
|
|
22
31
|
}
|
|
32
|
+
function esObjeto(v) {
|
|
33
|
+
return typeof v === "object" && v !== null && !Array.isArray(v);
|
|
34
|
+
}
|
|
35
|
+
function leerObjetoCrudoOAbortar(ruta) {
|
|
36
|
+
if (!existsSync(ruta))
|
|
37
|
+
return {};
|
|
38
|
+
let bruto;
|
|
39
|
+
try {
|
|
40
|
+
bruto = JSON.parse(readFileSync(ruta, "utf8"));
|
|
41
|
+
}
|
|
42
|
+
catch (error) {
|
|
43
|
+
throw new ConfigRotaEnDisco(ruta, error);
|
|
44
|
+
}
|
|
45
|
+
if (!esObjeto(bruto))
|
|
46
|
+
throw new ConfigRotaEnDisco(ruta);
|
|
47
|
+
return bruto;
|
|
48
|
+
}
|
|
49
|
+
const OPERACIONES_DE_ESCRITURA = {
|
|
50
|
+
openSync,
|
|
51
|
+
writeFileSync,
|
|
52
|
+
closeSync,
|
|
53
|
+
renameSync,
|
|
54
|
+
unlinkSync,
|
|
55
|
+
};
|
|
56
|
+
function escribirAtomico(ruta, contenido, operaciones = OPERACIONES_DE_ESCRITURA) {
|
|
57
|
+
const directorio = dirname(ruta);
|
|
58
|
+
mkdirSync(directorio, { recursive: true, mode: 0o700 });
|
|
59
|
+
const temporal = join(directorio, `.config.json.${randomUUID()}.tmp`);
|
|
60
|
+
let descriptor;
|
|
61
|
+
try {
|
|
62
|
+
descriptor = operaciones.openSync(temporal, "wx", 0o600);
|
|
63
|
+
operaciones.writeFileSync(descriptor, contenido, "utf8");
|
|
64
|
+
operaciones.closeSync(descriptor);
|
|
65
|
+
descriptor = undefined;
|
|
66
|
+
operaciones.renameSync(temporal, ruta);
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
if (descriptor !== undefined) {
|
|
70
|
+
try {
|
|
71
|
+
operaciones.closeSync(descriptor);
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
// Un fallo al cerrar durante la recuperación no puede impedir borrar el temporal.
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
try {
|
|
78
|
+
operaciones.unlinkSync(temporal);
|
|
79
|
+
}
|
|
80
|
+
catch {
|
|
81
|
+
// Si no llegó a crearse, no hay nada que limpiar.
|
|
82
|
+
}
|
|
83
|
+
throw error;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
/** Guarda una elección de papel sin perder el resto del config global. */
|
|
87
|
+
export function guardarModeloGlobal(papel, id, operaciones) {
|
|
88
|
+
parsear(id);
|
|
89
|
+
const ruta = rutaConfigGlobal();
|
|
90
|
+
const base = leerObjetoCrudoOAbortar(ruta);
|
|
91
|
+
const modelos = esObjeto(base.modelos) ? { ...base.modelos } : {};
|
|
92
|
+
const fusionado = { ...base, modelos: { ...modelos, [papel]: id } };
|
|
93
|
+
escribirAtomico(ruta, JSON.stringify(fusionado, null, 2) + "\n", operaciones);
|
|
94
|
+
return { ruta, id };
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Los proveedores personalizados dados de alta, del config GLOBAL y de ningún otro.
|
|
98
|
+
*
|
|
99
|
+
* No recibe raíz a propósito: el registro no depende del proyecto, y darle una invitaría a
|
|
100
|
+
* pensar que el `config.json` del proyecto también cuenta — que es justo lo que
|
|
101
|
+
* `core/config.ts` rechaza, porque la clave se guarda por identificador y un proyecto que
|
|
102
|
+
* redefiniera la URL de un slug ya dado de alta la mandaría a otro host.
|
|
103
|
+
*
|
|
104
|
+
* Lee de disco en cada llamada, sin caché: la ventana de ajustes da de alta en caliente, y
|
|
105
|
+
* una lista capturada al arrancar se quedaría vieja hasta reiniciar. Un fichero ilegible
|
|
106
|
+
* devuelve la lista vacía; quien tiene que contar ESE problema es `cargar`, que ya lo hace
|
|
107
|
+
* con sus avisos y es quien se pinta.
|
|
108
|
+
*/
|
|
109
|
+
export function proveedoresPersonalizados() {
|
|
110
|
+
const ruta = rutaConfigGlobal();
|
|
111
|
+
if (!existsSync(ruta))
|
|
112
|
+
return [];
|
|
113
|
+
try {
|
|
114
|
+
const bruto = JSON.parse(readFileSync(ruta, "utf8"));
|
|
115
|
+
return validar(bruto, ruta, "global").config.proveedores ?? [];
|
|
116
|
+
}
|
|
117
|
+
catch {
|
|
118
|
+
return [];
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Da de alta —o vuelve a escribir— un proveedor personalizado en el config GLOBAL.
|
|
123
|
+
*
|
|
124
|
+
* Tres cosas, y las tres tienen su porqué:
|
|
125
|
+
* - **Global y solo global.** La razón está en `core/config.ts` («proveedores»): la clave
|
|
126
|
+
* se guarda por identificador, así que un proyecto que pudiera redefinir la URL de un
|
|
127
|
+
* slug ya dado de alta mandaría esa clave a otro host. Aquí ni se ofrece la opción.
|
|
128
|
+
* - **Vuelve a pasar por el VALIDADOR** antes de escribir. Este fichero se edita también a
|
|
129
|
+
* mano, así que la autoridad sobre si un alta vale es el cargador y no el formulario que
|
|
130
|
+
* la mandó — la misma regla que `guardarAgente` con los `.md` de los subagentes.
|
|
131
|
+
* - **No toca la clave.** El alta escribe nombre y URL; la credencial va por su camino de
|
|
132
|
+
* siempre (`guardarCredencial`, `auth.json`, modo 0600), que es el único mensaje del
|
|
133
|
+
* cable que la lleva.
|
|
134
|
+
*/
|
|
135
|
+
export function guardarProveedorPersonalizado(declarado, operaciones) {
|
|
136
|
+
const malSlug = motivoDeSlugInaceptable(declarado.slug);
|
|
137
|
+
if (malSlug !== undefined)
|
|
138
|
+
throw new Error(malSlug);
|
|
139
|
+
const malUrl = motivoDeEndpointInaceptable(declarado.baseUrl);
|
|
140
|
+
if (malUrl !== undefined)
|
|
141
|
+
throw new Error(malUrl);
|
|
142
|
+
if (declarado.nombre.trim() === "")
|
|
143
|
+
throw new Error("el proveedor necesita un nombre");
|
|
144
|
+
const ruta = rutaConfigGlobal();
|
|
145
|
+
const base = leerObjetoCrudoOAbortar(ruta);
|
|
146
|
+
const previos = Array.isArray(base.proveedores) ? base.proveedores : [];
|
|
147
|
+
const limpio = {
|
|
148
|
+
slug: declarado.slug,
|
|
149
|
+
nombre: declarado.nombre.trim(),
|
|
150
|
+
baseUrl: declarado.baseUrl,
|
|
151
|
+
};
|
|
152
|
+
// Se SUSTITUYE el del mismo slug en su sitio en vez de añadirse al final: editar la URL
|
|
153
|
+
// de un proveedor no puede cambiarlo de posición en la lista que se está mirando.
|
|
154
|
+
const yaEstaba = previos.some((p) => esObjeto(p) && p.slug === limpio.slug);
|
|
155
|
+
const proveedores = yaEstaba
|
|
156
|
+
? previos.map((p) => (esObjeto(p) && p.slug === limpio.slug ? limpio : p))
|
|
157
|
+
: [...previos, limpio];
|
|
158
|
+
escribirAtomico(ruta, JSON.stringify({ ...base, proveedores }, null, 2) + "\n", operaciones);
|
|
159
|
+
return { ruta, declarado: limpio };
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Retira un proveedor personalizado del config global. NO se lleva su credencial: eso lo
|
|
163
|
+
* hace quien llama, con `borrarCredencial`, porque es el otro fichero y el otro permiso —
|
|
164
|
+
* y una clave huérfana en `auth.json` es una clave que ya no se puede mandar a ninguna
|
|
165
|
+
* parte, pero sigue siendo un secreto en disco.
|
|
166
|
+
*/
|
|
167
|
+
export function borrarProveedorPersonalizado(slug, operaciones) {
|
|
168
|
+
const ruta = rutaConfigGlobal();
|
|
169
|
+
const base = leerObjetoCrudoOAbortar(ruta);
|
|
170
|
+
const previos = Array.isArray(base.proveedores) ? base.proveedores : [];
|
|
171
|
+
const proveedores = previos.filter((p) => !(esObjeto(p) && p.slug === slug));
|
|
172
|
+
if (proveedores.length === previos.length)
|
|
173
|
+
return { ruta, borrado: false };
|
|
174
|
+
// Al quedarse vacía se BORRA la clave en vez de escribir `[]`. Aquí, al revés que en
|
|
175
|
+
// `Entorno.proyectos` o en los ajustes de dispositivos, ausente y vacío significan lo
|
|
176
|
+
// mismo —quien lee hace `?? []`—, así que dejar un `"proveedores": []` sería basura en el
|
|
177
|
+
// fichero del usuario diciendo lo mismo que no decir nada.
|
|
178
|
+
const fusionado = proveedores.length === 0
|
|
179
|
+
? Object.fromEntries(Object.entries(base).filter(([clave]) => clave !== "proveedores"))
|
|
180
|
+
: { ...base, proveedores };
|
|
181
|
+
escribirAtomico(ruta, JSON.stringify(fusionado, null, 2) + "\n", operaciones);
|
|
182
|
+
return { ruta, borrado: true };
|
|
183
|
+
}
|
|
184
|
+
/** Guarda la preferencia estética junto al proyecto; nunca en el config global de la cuenta. */
|
|
185
|
+
export function guardarTemaDeProyecto(raiz, tema) {
|
|
186
|
+
const ruta = rutaConfigDeProyecto(raiz);
|
|
187
|
+
const base = leerObjetoCrudoOAbortar(ruta);
|
|
188
|
+
const fusionado = { ...base, tema };
|
|
189
|
+
escribirAtomico(ruta, JSON.stringify(fusionado, null, 2) + "\n");
|
|
190
|
+
return { ruta, tema };
|
|
191
|
+
}
|
|
192
|
+
/** El modelo que este proyecto usa, sea cual sea el global. Nunca lleva claves. */
|
|
193
|
+
export function guardarModelosDeProyecto(raiz, papel, id) {
|
|
194
|
+
parsear(id);
|
|
195
|
+
const ruta = rutaConfigDeProyecto(raiz);
|
|
196
|
+
const base = leerObjetoCrudoOAbortar(ruta);
|
|
197
|
+
const modelos = esObjeto(base.modelos) ? { ...base.modelos } : {};
|
|
198
|
+
const fusionado = { ...base, modelos: { ...modelos, [papel]: id } };
|
|
199
|
+
escribirAtomico(ruta, JSON.stringify(fusionado, null, 2) + "\n");
|
|
200
|
+
return { ruta, id };
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* La rama ORIGEN del proyecto: de la que se baja y contra la que se compara.
|
|
204
|
+
* Va dentro de `cloudstudio`, junto a la URL y al proyecto, porque es identidad del
|
|
205
|
+
* remoto y no una preferencia del usuario.
|
|
206
|
+
*/
|
|
207
|
+
export function guardarRamaDeProyecto(raiz, rama) {
|
|
208
|
+
const ruta = rutaConfigDeProyecto(raiz);
|
|
209
|
+
const base = leerObjetoCrudoOAbortar(ruta);
|
|
210
|
+
const cloudstudio = esObjeto(base.cloudstudio) ? { ...base.cloudstudio } : {};
|
|
211
|
+
const fusionado = { ...base, cloudstudio: { ...cloudstudio, rama } };
|
|
212
|
+
escribirAtomico(ruta, JSON.stringify(fusionado, null, 2) + "\n");
|
|
213
|
+
return { ruta, rama };
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* El modo pertenece al proyecto, no a la cuenta: una carpeta puede trabajarse sin red
|
|
217
|
+
* aunque la anterior se abriera desde CloudStudio. OAuth queda siempre fuera de aquí.
|
|
218
|
+
*/
|
|
219
|
+
export function guardarModoDeProyecto(raiz, modo) {
|
|
220
|
+
const ruta = rutaConfigDeProyecto(raiz);
|
|
221
|
+
const base = leerObjetoCrudoOAbortar(ruta);
|
|
222
|
+
const fusionado = { ...base, modo };
|
|
223
|
+
escribirAtomico(ruta, JSON.stringify(fusionado, null, 2) + "\n");
|
|
224
|
+
return { ruta, modo };
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Guarda solo el endpoint MCP: OAuth nunca vive dentro del proyecto.
|
|
228
|
+
*
|
|
229
|
+
* Fusiona sobre `cloudstudio`, no lo reemplaza entero: un `/connect-studio` posterior
|
|
230
|
+
* (nueva URL, o la misma) no puede borrar en silencio la `rama` o el `proyecto` que ya
|
|
231
|
+
* se habían fijado — la próxima sincronización compararía contra la rama equivocada.
|
|
232
|
+
*/
|
|
233
|
+
export function guardarCloudStudioDeProyecto(raiz, url, scopes = []) {
|
|
234
|
+
const ruta = rutaConfigDeProyecto(raiz);
|
|
235
|
+
const base = leerObjetoCrudoOAbortar(ruta);
|
|
236
|
+
const cloudstudio = esObjeto(base.cloudstudio) ? { ...base.cloudstudio } : {};
|
|
237
|
+
const fusionado = { ...base, cloudstudio: { ...cloudstudio, url, scopes: [...scopes] } };
|
|
238
|
+
escribirAtomico(ruta, JSON.stringify(fusionado, null, 2) + "\n");
|
|
239
|
+
return { ruta, url, scopes: [...scopes] };
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* A qué entorno de `~/.xonecode/settings.json` pertenece este proyecto.
|
|
243
|
+
*
|
|
244
|
+
* Se guarda ADEMÁS de `cloudstudio.url`, nunca en su lugar: la URL es lo que leen
|
|
245
|
+
* `crearSincronizador` (`cli/main.ts`) y todo lo que cuelga de él, y conservarla es lo que
|
|
246
|
+
* hace literalmente cierto que la sincronización no se toca. El `entorno` añade la
|
|
247
|
+
* referencia que hacía falta para leer el juego de credenciales correcto
|
|
248
|
+
* (`porEntorno[id]`, `agent/cloudstudioMcp.ts`) en vez de reautenticar bajo `legado`.
|
|
249
|
+
*
|
|
250
|
+
* Misma mecánica que `guardarCloudStudioDeProyecto`: fusión sobre el objeto CRUDO y
|
|
251
|
+
* escritura atómica, para no borrar lo que ya hubiera en el fichero.
|
|
252
|
+
*/
|
|
253
|
+
export function guardarEntornoDeProyecto(raiz, entorno) {
|
|
254
|
+
const ruta = rutaConfigDeProyecto(raiz);
|
|
255
|
+
const base = leerObjetoCrudoOAbortar(ruta);
|
|
256
|
+
// `undefined` BORRA la clave, y esa es la mitad importante: `/connect-studio` puede
|
|
257
|
+
// reescribir la `url` con la de un servidor que no está registrado en `settings.json`, y
|
|
258
|
+
// un `entorno` que sobreviviera a ese cambio apuntaría al hueco de credenciales de OTRO
|
|
259
|
+
// servidor. Mandar el token de un CloudStudio a otro es peor que reautenticar.
|
|
260
|
+
const { entorno: _viejo, ...sinEntorno } = base;
|
|
261
|
+
const fusionado = entorno === undefined ? sinEntorno : { ...base, entorno };
|
|
262
|
+
escribirAtomico(ruta, JSON.stringify(fusionado, null, 2) + "\n");
|
|
263
|
+
return { ruta, entorno };
|
|
264
|
+
}
|
|
265
|
+
/** Guarda la identidad del proyecto remoto, sin mezclarla con el token OAuth. */
|
|
266
|
+
export function guardarProyectoCloudStudioDeProyecto(raiz, proyecto) {
|
|
267
|
+
const ruta = rutaConfigDeProyecto(raiz);
|
|
268
|
+
const base = leerObjetoCrudoOAbortar(ruta);
|
|
269
|
+
const cloudstudio = esObjeto(base.cloudstudio) ? { ...base.cloudstudio } : {};
|
|
270
|
+
const seleccionado = { id: proyecto.id, nombre: proyecto.nombre };
|
|
271
|
+
const fusionado = { ...base, cloudstudio: { ...cloudstudio, proyecto: seleccionado } };
|
|
272
|
+
escribirAtomico(ruta, JSON.stringify(fusionado, null, 2) + "\n");
|
|
273
|
+
return { ruta, proyecto: seleccionado };
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* El bloque `cloudstudio` del proyecto que hay AHORA en disco, leído por su raíz.
|
|
277
|
+
*
|
|
278
|
+
* Existe porque quien decide si las escrituras se auto-aprueban no puede mirar
|
|
279
|
+
* `FuentesDeEleccion.proyecto`: en la consola WEB ese campo no se rellena nunca —el
|
|
280
|
+
* vestíbulo sirve muchos proyectos y las fuentes se construyen una vez al arrancar
|
|
281
|
+
* (`web/servidor/arranque.ts`)—, así que la guarda de «esto sube a CloudStudio» habría
|
|
282
|
+
* dado `undefined` para todos los proyectos, incluidos los conectados. Un fallo abierto y
|
|
283
|
+
* mudo, que es el peor sitio donde tenerlo.
|
|
284
|
+
*
|
|
285
|
+
* Se relee en cada consulta a propósito: es un fichero que el propio alta escribe a mitad
|
|
286
|
+
* de sesión, y una copia en memoria diría «offline» de un proyecto que acaba de conectarse.
|
|
287
|
+
*/
|
|
288
|
+
export function cloudstudioDelProyecto(raiz) {
|
|
289
|
+
try {
|
|
290
|
+
return cargar(raiz).config.proyecto?.cloudstudio;
|
|
291
|
+
}
|
|
292
|
+
catch {
|
|
293
|
+
// Sin poder leerlo no se puede afirmar que sea offline. Se devuelve algo definido para
|
|
294
|
+
// que la guarda cierre: fallar cerrado aquí es pedir aprobación de más, nunca de menos.
|
|
295
|
+
return { url: "" };
|
|
296
|
+
}
|
|
297
|
+
}
|
|
23
298
|
export function cargar(raiz) {
|
|
24
299
|
const rutas = [];
|
|
25
300
|
const avisos = [];
|
|
@@ -81,12 +356,31 @@ export function cargar(raiz) {
|
|
|
81
356
|
}
|
|
82
357
|
return { config, auth, rutas, avisos };
|
|
83
358
|
}
|
|
84
|
-
/**
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
359
|
+
/**
|
|
360
|
+
* Las claves ya presentes en el entorno MANDAN: `auth.json` no las machaca.
|
|
361
|
+
*
|
|
362
|
+
* La tabla vive en `core/modelos.ts` y aquí solo se reexporta, para no romper a quien la
|
|
363
|
+
* importa de este módulo (`agent/authEnDisco.ts`). Hubo cuatro copias —dos de ellas en
|
|
364
|
+
* `cli/`, para que `cli/` no tirase de `agent/` por un mapa de cuatro líneas— y habían
|
|
365
|
+
* divergido; en `core/`, que es datos puros, los dos lados pueden tirar del mismo sitio.
|
|
366
|
+
*/
|
|
367
|
+
export { VARIABLES_POR_PROVEEDOR } from "../core/modelos.js";
|
|
368
|
+
/**
|
|
369
|
+
* Pone la credencial en el entorno del proceso, y NADA más: sin tocar disco.
|
|
370
|
+
*
|
|
371
|
+
* Existe para poder PROBAR una clave antes de escribirla —`CatalogoModelos` la lee de
|
|
372
|
+
* `process.env`, así que sin esto no hay forma de preguntarle al proveedor si sirve— y es
|
|
373
|
+
* la misma operación que `guardarCredencial` (`agent/authEnDisco.ts`) hace al final de su
|
|
374
|
+
* escritura. Devuelve `false` para un proveedor sin variable (Ollama local): ahí no hay
|
|
375
|
+
* nada que aplicar y decir que sí sería mentir.
|
|
376
|
+
*/
|
|
377
|
+
export function aplicarCredencialAlProceso(proveedor, clave) {
|
|
378
|
+
const variable = variableDeProveedor(proveedor);
|
|
379
|
+
if (variable === undefined)
|
|
380
|
+
return false;
|
|
381
|
+
process.env[variable] = clave;
|
|
382
|
+
return true;
|
|
383
|
+
}
|
|
90
384
|
/**
|
|
91
385
|
* Vuelca las credenciales en `process.env` y devuelve los proveedores que SÍ se
|
|
92
386
|
* aplicaron. Las que ya estaban en el entorno se dejan intactas y no se cuentan.
|
|
@@ -94,8 +388,12 @@ const VARIABLES_POR_PROVEEDOR = {
|
|
|
94
388
|
*/
|
|
95
389
|
export function aplicarAuth(auth) {
|
|
96
390
|
const aplicadas = [];
|
|
97
|
-
|
|
98
|
-
|
|
391
|
+
// Se recorre lo que HAY en el fichero y no la lista de proveedores de serie: los
|
|
392
|
+
// personalizados no están en esa lista —los declara el usuario— y su clave se quedaba
|
|
393
|
+
// sin aplicar, o sea que el catálogo decía «falta la credencial» de una que estaba
|
|
394
|
+
// escrita ahí mismo.
|
|
395
|
+
for (const proveedor of Object.keys(auth)) {
|
|
396
|
+
const variable = variableDeProveedor(proveedor);
|
|
99
397
|
const credencial = auth[proveedor];
|
|
100
398
|
if (variable === undefined || credencial === undefined)
|
|
101
399
|
continue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configEnDisco.js","sourceRoot":"","sources":["../../src/agent/configEnDisco.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"configEnDisco.js","sourceRoot":"","sources":["../../src/agent/configEnDisco.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Qué ha consumido un agente EXTERNO, leído de lo que él mismo reporta.
|
|
3
|
+
*
|
|
4
|
+
* Los tres motores lo dicen, y las tres formas están MEDIDAS contra sus contratos reales y no
|
|
5
|
+
* deducidas:
|
|
6
|
+
* - **Claude Code**: el mensaje `result` trae `modelUsage`, un mapa por modelo. Su propia
|
|
7
|
+
* documentación dice que es «the correct field for token/cost accounting», por encima de
|
|
8
|
+
* `usage` — que es solo del bucle principal y se deja fuera los subagentes del hijo.
|
|
9
|
+
* - **Codex**: manda `thread/tokenUsage/updated` con `tokenUsage.total`. Estaba en la lista
|
|
10
|
+
* de RUIDO de `subagenteCodex.ts`, o sea que el dato llevaba llegando desde el principio y
|
|
11
|
+
* se tiraba.
|
|
12
|
+
*
|
|
13
|
+
* - **OpenCode**: el resultado de `session/prompt` de ACP trae `usage` con `inputTokens`,
|
|
14
|
+
* `outputTokens`, `totalTokens` y `cachedReadTokens`. Llega UNA vez, al final del turno.
|
|
15
|
+
*
|
|
16
|
+
* **Los dos primeros son ACUMULADOS, así que se lee el último y no se suman.** Lo dicen los dos
|
|
17
|
+
* contratos con esas palabras («each result carries the running total so far, so read the
|
|
18
|
+
* latest result rather than summing») y es la diferencia entre contar bien y contar el doble.
|
|
19
|
+
* Entre ejecuciones distintas sí se suma: cada `correr` es otra sesión del producto.
|
|
20
|
+
*/
|
|
21
|
+
/** Un número que puede no venir, o venir como cualquier cosa. Ausente cuenta CERO, no NaN. */
|
|
22
|
+
const entero = (v) => (typeof v === "number" && Number.isFinite(v) && v > 0 ? Math.round(v) : 0);
|
|
23
|
+
/**
|
|
24
|
+
* Lo que consumió un `query()` de Claude Code, sumando TODOS sus modelos.
|
|
25
|
+
*
|
|
26
|
+
* Se suma por modelo porque un hijo puede usar más de uno en la misma ejecución (su
|
|
27
|
+
* compactación y sus propios subagentes corren en otro), y aquí la pregunta es cuánto ha
|
|
28
|
+
* costado el especialista entero, no cada pieza.
|
|
29
|
+
*
|
|
30
|
+
* La CACHÉ va aparte de la entrada, igual que en `vendor/tokenTracking.ts`: son tokens que
|
|
31
|
+
* se leyeron pero no se pagaron igual, y meterlos en «entrada» inflaría la cifra que se
|
|
32
|
+
* enseña. Que existan los dos campos es lo que permite decir la verdad sin elegir cuál.
|
|
33
|
+
*/
|
|
34
|
+
export function consumoDeClaude(resultado) {
|
|
35
|
+
const uso = resultado?.modelUsage;
|
|
36
|
+
if (typeof uso !== "object" || uso === null)
|
|
37
|
+
return { entrada: 0, salida: 0, cache: 0 };
|
|
38
|
+
let entrada = 0;
|
|
39
|
+
let salida = 0;
|
|
40
|
+
let cache = 0;
|
|
41
|
+
for (const porModelo of Object.values(uso)) {
|
|
42
|
+
if (typeof porModelo !== "object" || porModelo === null)
|
|
43
|
+
continue;
|
|
44
|
+
const m = porModelo;
|
|
45
|
+
entrada += entero(m["inputTokens"]);
|
|
46
|
+
salida += entero(m["outputTokens"]);
|
|
47
|
+
cache += entero(m["cacheReadInputTokens"]) + entero(m["cacheCreationInputTokens"]);
|
|
48
|
+
}
|
|
49
|
+
return { entrada, salida, cache };
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Lo que lleva consumido un hilo de Codex, de su `thread/tokenUsage/updated`.
|
|
53
|
+
*
|
|
54
|
+
* Se lee `total` y no `last`: `last` es el de la última llamada —lo que ocupa la ventana—, y
|
|
55
|
+
* aquí la pregunta es cuánto lleva el hilo. Son las dos preguntas que
|
|
56
|
+
* `vendor/tokenTracking.ts` ya separa con `contexto` y los acumulados.
|
|
57
|
+
*
|
|
58
|
+
* `reasoningOutputTokens` NO se suma a la salida: por el esquema del propio binario va
|
|
59
|
+
* dentro de `outputTokens`, así que sumarlo sería contarlo dos veces.
|
|
60
|
+
*/
|
|
61
|
+
export function consumoDeCodex(params) {
|
|
62
|
+
const total = params?.tokenUsage?.total;
|
|
63
|
+
if (typeof total !== "object" || total === null)
|
|
64
|
+
return undefined;
|
|
65
|
+
const t = total;
|
|
66
|
+
return {
|
|
67
|
+
entrada: entero(t["inputTokens"]),
|
|
68
|
+
salida: entero(t["outputTokens"]),
|
|
69
|
+
cache: entero(t["cachedInputTokens"]) + entero(t["cacheWriteInputTokens"]),
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
/** Suma de consumos, para acumular entre ejecuciones. */
|
|
73
|
+
export function sumarConsumo(a, b) {
|
|
74
|
+
return { entrada: a.entrada + b.entrada, salida: a.salida + b.salida, cache: a.cache + b.cache };
|
|
75
|
+
}
|
|
76
|
+
export const SIN_CONSUMO = { entrada: 0, salida: 0, cache: 0 };
|
|
77
|
+
/**
|
|
78
|
+
* Lo que consumió un turno de OpenCode, del `usage` que devuelve `session/prompt`.
|
|
79
|
+
*
|
|
80
|
+
* **La caché NO está dentro de la entrada, y eso se comprobó con la aritmética de una medida
|
|
81
|
+
* real**: `inputTokens: 8756`, `outputTokens: 141`, `cachedReadTokens: 1792` y
|
|
82
|
+
* `totalTokens: 10689` — y 8756 + 141 + 1792 = 10689. O sea que `inputTokens` excluye la
|
|
83
|
+
* caché, así que se copia tal cual en vez de restarla. Si estuvieran sumados, enseñar
|
|
84
|
+
* `inputTokens` como entrada inflaría la cifra.
|
|
85
|
+
*
|
|
86
|
+
* Ausente devuelve `undefined` y no un cero: un contador a cero que nadie ha medido es la
|
|
87
|
+
* cifra inventada de siempre, y quien llama ya sabe no pintar lo que no consta.
|
|
88
|
+
*/
|
|
89
|
+
export function consumoDeOpencode(uso) {
|
|
90
|
+
if (typeof uso !== "object" || uso === null)
|
|
91
|
+
return undefined;
|
|
92
|
+
const u = uso;
|
|
93
|
+
return {
|
|
94
|
+
entrada: entero(u["inputTokens"]),
|
|
95
|
+
salida: entero(u["outputTokens"]),
|
|
96
|
+
cache: entero(u["cachedReadTokens"]),
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=consumoExterno.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consumoExterno.js","sourceRoot":"","sources":["../../src/agent/consumoExterno.ts"],"names":[],"mappings":"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"}
|