xonecode 0.3.0 → 0.5.1

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 (408) hide show
  1. package/README.md +50 -8
  2. package/THIRD_PARTY_NOTICES.md +160 -0
  3. package/apps/web/dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  4. package/apps/web/dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  5. package/apps/web/dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  6. package/apps/web/dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  7. package/apps/web/dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  8. package/apps/web/dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  9. package/apps/web/dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  10. package/apps/web/dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  11. package/apps/web/dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  12. package/apps/web/dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  13. package/apps/web/dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  14. package/apps/web/dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  15. package/apps/web/dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  16. package/apps/web/dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  17. package/apps/web/dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  18. package/apps/web/dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  19. package/apps/web/dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  20. package/apps/web/dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  21. package/apps/web/dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  22. package/apps/web/dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  23. package/apps/web/dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  24. package/apps/web/dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  25. package/apps/web/dist/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  26. package/apps/web/dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  27. package/apps/web/dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  28. package/apps/web/dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  29. package/apps/web/dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  30. package/apps/web/dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  31. package/apps/web/dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  32. package/apps/web/dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  33. package/apps/web/dist/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  34. package/apps/web/dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  35. package/apps/web/dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  36. package/apps/web/dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  37. package/apps/web/dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  38. package/apps/web/dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  39. package/apps/web/dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  40. package/apps/web/dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  41. package/apps/web/dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  42. package/apps/web/dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  43. package/apps/web/dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  44. package/apps/web/dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  45. package/apps/web/dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  46. package/apps/web/dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  47. package/apps/web/dist/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  48. package/apps/web/dist/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  49. package/apps/web/dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  50. package/apps/web/dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  51. package/apps/web/dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  52. package/apps/web/dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  53. package/apps/web/dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  54. package/apps/web/dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  55. package/apps/web/dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  56. package/apps/web/dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  57. package/apps/web/dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  58. package/apps/web/dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  59. package/apps/web/dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  60. package/apps/web/dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  61. package/apps/web/dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  62. package/apps/web/dist/assets/c-BIGW1oBm.js +1 -0
  63. package/apps/web/dist/assets/cpp-DddhVWhK.js +1 -0
  64. package/apps/web/dist/assets/csharp-DSvCPggb.js +1 -0
  65. package/apps/web/dist/assets/css-CLj8gQPS.js +1 -0
  66. package/apps/web/dist/assets/go-C27-OAKa.js +1 -0
  67. package/apps/web/dist/assets/html-CfGypltT.js +1 -0
  68. package/apps/web/dist/assets/index-BB3SamhR.css +1 -0
  69. package/apps/web/dist/assets/index-CFYAoHdw.js +477 -0
  70. package/apps/web/dist/assets/ini-BEwlwnbL.js +1 -0
  71. package/apps/web/dist/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2 +0 -0
  72. package/apps/web/dist/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2 +0 -0
  73. package/apps/web/dist/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2 +0 -0
  74. package/apps/web/dist/assets/inter-greek-wght-normal-CkhJZR-_.woff2 +0 -0
  75. package/apps/web/dist/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2 +0 -0
  76. package/apps/web/dist/assets/inter-latin-wght-normal-Dx4kXJAl.woff2 +0 -0
  77. package/apps/web/dist/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2 +0 -0
  78. package/apps/web/dist/assets/java-CylS5w8V.js +1 -0
  79. package/apps/web/dist/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2 +0 -0
  80. package/apps/web/dist/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2 +0 -0
  81. package/apps/web/dist/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2 +0 -0
  82. package/apps/web/dist/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2 +0 -0
  83. package/apps/web/dist/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2 +0 -0
  84. package/apps/web/dist/assets/kotlin-BdnUsdx6.js +1 -0
  85. package/apps/web/dist/assets/less-B1dDrJ26.js +1 -0
  86. package/apps/web/dist/assets/lua-BaeVxFsk.js +1 -0
  87. package/apps/web/dist/assets/markdown-Cvjx9yec.js +1 -0
  88. package/apps/web/dist/assets/mdx-Cmh6b_Ma.js +1 -0
  89. package/apps/web/dist/assets/php-D_2--9WK.js +1 -0
  90. package/apps/web/dist/assets/python-B6aJPvgy.js +1 -0
  91. package/apps/web/dist/assets/ruby-DSHSDbk1.js +1 -0
  92. package/apps/web/dist/assets/rust-B1yitclQ.js +1 -0
  93. package/apps/web/dist/assets/scss-D5BDwBP9.js +1 -0
  94. package/apps/web/dist/assets/sql-CRqJ_cUM.js +1 -0
  95. package/apps/web/dist/assets/swift-C2oV4EkX.js +1 -0
  96. package/apps/web/dist/assets/toml-vGWfd6FD.js +1 -0
  97. package/apps/web/dist/assets/xml-sdJ4AIDG.js +1 -0
  98. package/apps/web/dist/assets/yaml-Buea-lGh.js +1 -0
  99. package/apps/web/dist/iconos/xonecode.png +0 -0
  100. package/apps/web/dist/index.html +20 -0
  101. package/dist/agent/agentesEnDisco.js +539 -0
  102. package/dist/agent/agentesEnDisco.js.map +1 -0
  103. package/dist/agent/arbolDeProyecto.js +245 -0
  104. package/dist/agent/arbolDeProyecto.js.map +1 -0
  105. package/dist/agent/artefactosEnDisco.js +139 -0
  106. package/dist/agent/artefactosEnDisco.js.map +1 -0
  107. package/dist/agent/aumentador.js +175 -0
  108. package/dist/agent/aumentador.js.map +1 -0
  109. package/dist/agent/authEnDisco.js +76 -1
  110. package/dist/agent/authEnDisco.js.map +1 -1
  111. package/dist/agent/busquedaRegex.js +92 -0
  112. package/dist/agent/busquedaRegex.js.map +1 -0
  113. package/dist/agent/catalogoModelos.js +345 -0
  114. package/dist/agent/catalogoModelos.js.map +1 -0
  115. package/dist/agent/checkpointer.js +127 -0
  116. package/dist/agent/checkpointer.js.map +1 -0
  117. package/dist/agent/cloudstudioClient.js +194 -0
  118. package/dist/agent/cloudstudioClient.js.map +1 -0
  119. package/dist/agent/cloudstudioMcp.js +722 -0
  120. package/dist/agent/cloudstudioMcp.js.map +1 -0
  121. package/dist/agent/configEnDisco.js +309 -11
  122. package/dist/agent/configEnDisco.js.map +1 -1
  123. package/dist/agent/consumoExterno.js +99 -0
  124. package/dist/agent/consumoExterno.js.map +1 -0
  125. package/dist/agent/descarga.js +149 -0
  126. package/dist/agent/descarga.js.map +1 -0
  127. package/dist/agent/diagnosticoDeTools.js +51 -0
  128. package/dist/agent/diagnosticoDeTools.js.map +1 -0
  129. package/dist/agent/dispositivosEnMaquina.js +596 -0
  130. package/dist/agent/dispositivosEnMaquina.js.map +1 -0
  131. package/dist/agent/escrituraDeCodex.js +134 -0
  132. package/dist/agent/escrituraDeCodex.js.map +1 -0
  133. package/dist/agent/escrituraDeOpencode.js +80 -0
  134. package/dist/agent/escrituraDeOpencode.js.map +1 -0
  135. package/dist/agent/escrituraExterna.js +742 -0
  136. package/dist/agent/escrituraExterna.js.map +1 -0
  137. package/dist/agent/gemini.js +81 -0
  138. package/dist/agent/gemini.js.map +1 -0
  139. package/dist/agent/git.js +83 -0
  140. package/dist/agent/git.js.map +1 -0
  141. package/dist/agent/gitSync.js +441 -0
  142. package/dist/agent/gitSync.js.map +1 -0
  143. package/dist/agent/hotswap.js +448 -0
  144. package/dist/agent/hotswap.js.map +1 -0
  145. package/dist/agent/instalacionEnMaquina.js +252 -0
  146. package/dist/agent/instalacionEnMaquina.js.map +1 -0
  147. package/dist/agent/instantanea.js +7 -10
  148. package/dist/agent/instantanea.js.map +1 -1
  149. package/dist/agent/interrupts.js +11 -2
  150. package/dist/agent/interrupts.js.map +1 -1
  151. package/dist/agent/juezDeTarea.js +345 -0
  152. package/dist/agent/juezDeTarea.js.map +1 -0
  153. package/dist/agent/lanzamientoEnMaquina.js +377 -0
  154. package/dist/agent/lanzamientoEnMaquina.js.map +1 -0
  155. package/dist/agent/manifiesto.js +59 -0
  156. package/dist/agent/manifiesto.js.map +1 -0
  157. package/dist/agent/memoriaDeProyecto.js +60 -0
  158. package/dist/agent/memoriaDeProyecto.js.map +1 -0
  159. package/dist/agent/modelos.js +105 -17
  160. package/dist/agent/modelos.js.map +1 -1
  161. package/dist/agent/modelosDeMotor.js +204 -0
  162. package/dist/agent/modelosDeMotor.js.map +1 -0
  163. package/dist/agent/paqueteDelProyecto.js +181 -0
  164. package/dist/agent/paqueteDelProyecto.js.map +1 -0
  165. package/dist/agent/perfiles.js +92 -31
  166. package/dist/agent/perfiles.js.map +1 -1
  167. package/dist/agent/persona.js +40 -0
  168. package/dist/agent/persona.js.map +1 -0
  169. package/dist/agent/procesosEnMaquina.js +204 -0
  170. package/dist/agent/procesosEnMaquina.js.map +1 -0
  171. package/dist/agent/proyecto.js +311 -13
  172. package/dist/agent/proyecto.js.map +1 -1
  173. package/dist/agent/puente.js +63 -6
  174. package/dist/agent/puente.js.map +1 -1
  175. package/dist/agent/resumenDeContexto.js +30 -0
  176. package/dist/agent/resumenDeContexto.js.map +1 -0
  177. package/dist/agent/resumenDeTool.js +64 -18
  178. package/dist/agent/resumenDeTool.js.map +1 -1
  179. package/dist/agent/sesionGit.js +481 -0
  180. package/dist/agent/sesionGit.js.map +1 -0
  181. package/dist/agent/settingsEnDisco.js +189 -0
  182. package/dist/agent/settingsEnDisco.js.map +1 -0
  183. package/dist/agent/subagenteCodex.js +368 -0
  184. package/dist/agent/subagenteCodex.js.map +1 -0
  185. package/dist/agent/subagenteExterno.js +423 -0
  186. package/dist/agent/subagenteExterno.js.map +1 -0
  187. package/dist/agent/subagenteOpencode.js +389 -0
  188. package/dist/agent/subagenteOpencode.js.map +1 -0
  189. package/dist/agent/subida.js +202 -0
  190. package/dist/agent/subida.js.map +1 -0
  191. package/dist/agent/tareasEnDisco.js +466 -0
  192. package/dist/agent/tareasEnDisco.js.map +1 -0
  193. package/dist/agent/turnoReal.js +663 -50
  194. package/dist/agent/turnoReal.js.map +1 -1
  195. package/dist/agent/versionEnDisco.js +48 -0
  196. package/dist/agent/versionEnDisco.js.map +1 -0
  197. package/dist/agent/xoneAgent.js +290 -49
  198. package/dist/agent/xoneAgent.js.map +1 -1
  199. package/dist/agent/zip.js +52 -0
  200. package/dist/agent/zip.js.map +1 -0
  201. package/dist/cli/acuseDeModelo.js +30 -0
  202. package/dist/cli/acuseDeModelo.js.map +1 -0
  203. package/dist/cli/aprobar.js +55 -2
  204. package/dist/cli/aprobar.js.map +1 -1
  205. package/dist/cli/config.js +9 -13
  206. package/dist/cli/config.js.map +1 -1
  207. package/dist/cli/consola.js +750 -19
  208. package/dist/cli/consola.js.map +1 -1
  209. package/dist/cli/main.js +740 -81
  210. package/dist/cli/main.js.map +1 -1
  211. package/dist/cli/markdown.js +188 -2
  212. package/dist/cli/markdown.js.map +1 -1
  213. package/dist/cli/run.js +32 -4
  214. package/dist/cli/run.js.map +1 -1
  215. package/dist/cli/stdio.js +46 -19
  216. package/dist/cli/stdio.js.map +1 -1
  217. package/dist/cli/tema.js +96 -8
  218. package/dist/cli/tema.js.map +1 -1
  219. package/dist/cli/tokens.js +29 -0
  220. package/dist/cli/tokens.js.map +1 -0
  221. package/dist/cli/tui/app.js +171 -0
  222. package/dist/cli/tui/app.js.map +1 -0
  223. package/dist/cli/tui/aprobarTui.js +80 -0
  224. package/dist/cli/tui/aprobarTui.js.map +1 -0
  225. package/dist/cli/tui/barra.js +37 -0
  226. package/dist/cli/tui/barra.js.map +1 -0
  227. package/dist/cli/tui/correrTui.js +478 -0
  228. package/dist/cli/tui/correrTui.js.map +1 -0
  229. package/dist/cli/tui/entrada.js +166 -0
  230. package/dist/cli/tui/entrada.js.map +1 -0
  231. package/dist/cli/tui/filas.js +24 -0
  232. package/dist/cli/tui/filas.js.map +1 -0
  233. package/dist/cli/tui/logo.js +49 -0
  234. package/dist/cli/tui/logo.js.map +1 -0
  235. package/dist/cli/tui/pielTui.js +14 -0
  236. package/dist/cli/tui/pielTui.js.map +1 -0
  237. package/dist/cli/tui/raton.js +126 -0
  238. package/dist/cli/tui/raton.js.map +1 -0
  239. package/dist/cli/tui/sidebar.js +86 -0
  240. package/dist/cli/tui/sidebar.js.map +1 -0
  241. package/dist/cli/tui/store.js +143 -0
  242. package/dist/cli/tui/store.js.map +1 -0
  243. package/dist/cli/tui/tarjeta.js +19 -0
  244. package/dist/cli/tui/tarjeta.js.map +1 -0
  245. package/dist/cli/tui/temaInk.js +114 -0
  246. package/dist/cli/tui/temaInk.js.map +1 -0
  247. package/dist/cli/tui/transcript.js +254 -0
  248. package/dist/cli/tui/transcript.js.map +1 -0
  249. package/dist/cli/wizardInicial.js +240 -0
  250. package/dist/cli/wizardInicial.js.map +1 -0
  251. package/dist/core/actos.js +113 -0
  252. package/dist/core/actos.js.map +1 -0
  253. package/dist/core/adjuntos.js +97 -0
  254. package/dist/core/adjuntos.js.map +1 -0
  255. package/dist/core/agentes.js +227 -0
  256. package/dist/core/agentes.js.map +1 -0
  257. package/dist/core/artefactos.js +149 -0
  258. package/dist/core/artefactos.js.map +1 -0
  259. package/dist/core/cloudstudio.js +7 -0
  260. package/dist/core/cloudstudio.js.map +1 -0
  261. package/dist/core/config.js +212 -5
  262. package/dist/core/config.js.map +1 -1
  263. package/dist/core/contextos.js +53 -1
  264. package/dist/core/contextos.js.map +1 -1
  265. package/dist/core/descargas.js +106 -0
  266. package/dist/core/descargas.js.map +1 -0
  267. package/dist/core/descriptoresDeApp.js +279 -0
  268. package/dist/core/descriptoresDeApp.js.map +1 -0
  269. package/dist/core/dispositivos.js +466 -0
  270. package/dist/core/dispositivos.js.map +1 -0
  271. package/dist/core/entrega.js +141 -0
  272. package/dist/core/entrega.js.map +1 -0
  273. package/dist/core/entrelazar.js +90 -0
  274. package/dist/core/entrelazar.js.map +1 -0
  275. package/dist/core/esqueleto.js +10 -0
  276. package/dist/core/esqueleto.js.map +1 -1
  277. package/dist/core/modelos.js +235 -3
  278. package/dist/core/modelos.js.map +1 -1
  279. package/dist/core/notify.js +27 -9
  280. package/dist/core/notify.js.map +1 -1
  281. package/dist/core/planDeSubida.js +127 -0
  282. package/dist/core/planDeSubida.js.map +1 -0
  283. package/dist/core/ports.js +189 -1
  284. package/dist/core/ports.js.map +1 -1
  285. package/dist/core/puedeLanzarse.js +239 -0
  286. package/dist/core/puedeLanzarse.js.map +1 -0
  287. package/dist/core/rutaVirtual.js +42 -0
  288. package/dist/core/rutaVirtual.js.map +1 -0
  289. package/dist/core/settings.js +246 -0
  290. package/dist/core/settings.js.map +1 -0
  291. package/dist/core/tareas.js +230 -0
  292. package/dist/core/tareas.js.map +1 -0
  293. package/dist/core/textos.js +36 -0
  294. package/dist/core/textos.js.map +1 -0
  295. package/dist/core/turno.js +56 -8
  296. package/dist/core/turno.js.map +1 -1
  297. package/dist/core/version.js +31 -0
  298. package/dist/core/version.js.map +1 -0
  299. package/dist/vendor/sqliteSaver.js +389 -0
  300. package/dist/vendor/sqliteSaver.js.map +1 -0
  301. package/dist/vendor/tokenTracking.js +22 -1
  302. package/dist/vendor/tokenTracking.js.map +1 -1
  303. package/dist/web/servidor/arranque.js +3964 -0
  304. package/dist/web/servidor/arranque.js.map +1 -0
  305. package/dist/web/servidor/consolaDeTarea.js +161 -0
  306. package/dist/web/servidor/consolaDeTarea.js.map +1 -0
  307. package/dist/web/servidor/consolaWeb.js +389 -0
  308. package/dist/web/servidor/consolaWeb.js.map +1 -0
  309. package/dist/web/servidor/corredorDeTareas.js +1119 -0
  310. package/dist/web/servidor/corredorDeTareas.js.map +1 -0
  311. package/dist/web/servidor/pielWeb.js +269 -0
  312. package/dist/web/servidor/pielWeb.js.map +1 -0
  313. package/dist/web/servidor/servidor.js +257 -0
  314. package/dist/web/servidor/servidor.js.map +1 -0
  315. package/dist/web/servidor/sesiones.js +440 -0
  316. package/dist/web/servidor/sesiones.js.map +1 -0
  317. package/dist/web/servidor/transporte.js +169 -0
  318. package/dist/web/servidor/transporte.js.map +1 -0
  319. package/dist/web/servidor/vestibulo.js +1276 -0
  320. package/dist/web/servidor/vestibulo.js.map +1 -0
  321. package/package.json +33 -9
  322. package/skills/archify/LICENSE +22 -0
  323. package/skills/archify/SKILL.md +109 -0
  324. package/skills/archify/THIRD_PARTY_NOTICES.md +56 -0
  325. package/skills/archify/assets/template.html +14787 -0
  326. package/skills/archify/bin/archify.mjs +1990 -0
  327. package/skills/archify/bin/open-artifact.mjs +86 -0
  328. package/skills/archify/bin/preview.mjs +648 -0
  329. package/skills/archify/bin/visual-check.mjs +829 -0
  330. package/skills/archify/brand-marks/README.md +31 -0
  331. package/skills/archify/brand-marks/catalog.json +131 -0
  332. package/skills/archify/delta/architecture-delta.mjs +1214 -0
  333. package/skills/archify/examples/agent-run.lifecycle.json +71 -0
  334. package/skills/archify/examples/agent-tool-call.workflow.json +94 -0
  335. package/skills/archify/examples/async-job-roundtrip.sequence.json +61 -0
  336. package/skills/archify/examples/brand-aware-delivery.architecture.json +47 -0
  337. package/skills/archify/examples/cache-miss-request.sequence.json +81 -0
  338. package/skills/archify/examples/checkout-platform.base.architecture.json +31 -0
  339. package/skills/archify/examples/checkout-platform.head.architecture.json +31 -0
  340. package/skills/archify/examples/dataflow-product-analytics.html +14898 -0
  341. package/skills/archify/examples/deployment-release.lifecycle.json +49 -0
  342. package/skills/archify/examples/event-stream.dataflow.json +57 -0
  343. package/skills/archify/examples/incident-response.workflow.json +64 -0
  344. package/skills/archify/examples/lifecycle-agent-run.html +14847 -0
  345. package/skills/archify/examples/product-analytics.dataflow.json +76 -0
  346. package/skills/archify/examples/production-deployment.architecture.json +71 -0
  347. package/skills/archify/examples/release-delivery.workflow.json +62 -0
  348. package/skills/archify/examples/sequence-cache-miss-request.html +14913 -0
  349. package/skills/archify/examples/web-app-rendered.html +14862 -0
  350. package/skills/archify/examples/web-app.architecture.json +46 -0
  351. package/skills/archify/examples/workflow-agent-tool-call-rendered.html +14904 -0
  352. package/skills/archify/migrations/workflow-v2.mjs +279 -0
  353. package/skills/archify/package.json +17 -0
  354. package/skills/archify/recipes/scenarios.mjs +391 -0
  355. package/skills/archify/references/authoring-contract.md +198 -0
  356. package/skills/archify/references/brand-marks.md +69 -0
  357. package/skills/archify/references/delivery-contract.md +116 -0
  358. package/skills/archify/references/viewer-runtime.md +45 -0
  359. package/skills/archify/renderers/architecture/grid.mjs +62 -0
  360. package/skills/archify/renderers/architecture/render-architecture.mjs +1078 -0
  361. package/skills/archify/renderers/dataflow/README.md +104 -0
  362. package/skills/archify/renderers/dataflow/render-dataflow.mjs +483 -0
  363. package/skills/archify/renderers/lifecycle/README.md +115 -0
  364. package/skills/archify/renderers/lifecycle/render-lifecycle.mjs +561 -0
  365. package/skills/archify/renderers/sequence/README.md +114 -0
  366. package/skills/archify/renderers/sequence/render-sequence.mjs +453 -0
  367. package/skills/archify/renderers/shared/brand-marks.mjs +563 -0
  368. package/skills/archify/renderers/shared/cli.mjs +218 -0
  369. package/skills/archify/renderers/shared/desktop-readability.mjs +26 -0
  370. package/skills/archify/renderers/shared/diagnostics.mjs +127 -0
  371. package/skills/archify/renderers/shared/engineering-profiles.mjs +157 -0
  372. package/skills/archify/renderers/shared/generated-brand-marks.mjs +2003 -0
  373. package/skills/archify/renderers/shared/generated-validators.mjs +13 -0
  374. package/skills/archify/renderers/shared/geometry.mjs +1423 -0
  375. package/skills/archify/renderers/shared/i18n.mjs +594 -0
  376. package/skills/archify/renderers/shared/layout-report.mjs +40 -0
  377. package/skills/archify/renderers/shared/legend.mjs +217 -0
  378. package/skills/archify/renderers/shared/output-path.mjs +321 -0
  379. package/skills/archify/renderers/shared/repository-evidence.mjs +235 -0
  380. package/skills/archify/renderers/shared/text-fit.mjs +49 -0
  381. package/skills/archify/renderers/shared/utils.mjs +232 -0
  382. package/skills/archify/renderers/shared/validator.mjs +86 -0
  383. package/skills/archify/renderers/workflow/README.md +223 -0
  384. package/skills/archify/renderers/workflow/render-workflow.mjs +35 -0
  385. package/skills/archify/renderers/workflow/workflow-compiler.mjs +4400 -0
  386. package/skills/archify/renderers/workflow/workflow-migration-geometry.mjs +144 -0
  387. package/skills/archify/schemas/README.md +211 -0
  388. package/skills/archify/schemas/architecture.schema.json +176 -0
  389. package/skills/archify/schemas/common.schema.json +115 -0
  390. package/skills/archify/schemas/dataflow.schema.json +243 -0
  391. package/skills/archify/schemas/lifecycle.schema.json +266 -0
  392. package/skills/archify/schemas/sequence.schema.json +223 -0
  393. package/skills/archify/schemas/workflow.schema.json +428 -0
  394. package/skills/archify/scripts/check-render-output.mjs +835 -0
  395. package/skills/archify/scripts/check-update.mjs +1667 -0
  396. package/skills/archify/scripts/render-examples.mjs +26 -0
  397. package/skills/archify/scripts/update-contract.mjs +182 -0
  398. package/skills/archify/skill-release.json +10 -0
  399. package/skills/artifacts-builder/SKILL.md +120 -0
  400. package/skills/artifacts-builder/reference/diagramas.md +123 -0
  401. package/skills/artifacts-builder/reference/estilo.md +123 -0
  402. package/skills/artifacts-builder/reference/exportar-pdf.md +56 -0
  403. package/skills/artifacts-builder/reference/graficas.md +22 -0
  404. package/skills/artifacts-builder/scripts/bundle_artifact.py +109 -0
  405. package/skills/artifacts-builder/scripts/validate_artifact.py +345 -0
  406. package/skills/xone-hotswap/SKILL.md +185 -0
  407. package/skills/xone-hotswap/references/comandos.md +706 -0
  408. package/skills/xone-hotswap/references/conexion-y-despliegue.md +226 -0
package/README.md CHANGED
@@ -7,11 +7,15 @@ XOne es una plataforma propietaria de apps móviles nativas: se programa con XML
7
7
  `.xne`), JavaScript ES5 y un CSS propio. **No es desarrollo web** — no existe el DOM, ni
8
8
  `async/await` en el runtime, ni ningún framework tipo React.
9
9
 
10
+ `xonecode` a secas abre la **consola web** en el navegador: se eligen entorno y proyecto, se
11
+ baja la copia local y se trabaja desde ahí. `xonecode --cli` da la consola de terminal de
12
+ siempre, que es la que se ve aquí abajo.
13
+
10
14
  ```
11
- $ cd MiApp && xonecode
15
+ $ cd MiApp && xonecode --cli
12
16
 
13
17
  xonecode · MiApp (7 colls) · ollama/glm-5.3-flash:cloud · 0 tokens
14
- 13 comandos: /ayuda /config /describe /doctor /verify /modelo … /salir
18
+ 17 comandos: /ayuda /config /describe /doctor /verify /modelo /modelos /sync … /salir
15
19
 
16
20
  ─ MiApp (7 colls) · ollama/glm-5.3-flash:cloud · 0 tokens · /ayuda
17
21
  ❯ ¿qué colecciones tiene este proyecto?
@@ -27,31 +31,50 @@ El proyecto tiene 9 colecciones repartidas en 7 ficheros .xne: …
27
31
 
28
32
  | | |
29
33
  |---|---|
30
- | Consola interactiva | prompt, barra de estado, 13 comandos de barra, autocompletado con Tab |
34
+ | Consola web | la de omisión: servidor http en loopback con token, transcript por SSE, aprobación con diff, alta de entorno y proyecto |
35
+ | Consola interactiva | con `--cli`: stdio o TUI (Ink) con paneles, barra de estado, 17 comandos de barra, autocompletado con Tab |
31
36
  | Un disparo | `xonecode run "…"` — pipeable, para tuberías y CI |
32
37
  | Aprobación humana | el agente **para y pregunta** antes de escribir; sin un sí explícito, rechaza |
33
38
  | Verificador real | `xone-simulator` sobre el proyecto, con `/verify` y `xonecode verify` |
34
39
  | Multi-proveedor | Gemini, OpenAI, Anthropic y **Ollama local**, con modelo por papel |
35
40
  | Diagnóstico sin coste | `describe`, `doctor` y `config` no gastan una llamada al modelo |
41
+ | CloudStudio | copia local del proyecto, registrada en git (`refs/remotes/cloudstudio/<rama>`); `/sync` baja y sube |
36
42
 
37
43
  Lo que **todavía no hay**, y conviene saber antes de fiarse:
38
44
 
39
45
  - **Nadie verifica lo que el agente escribe.** El verificador existe y funciona, pero no
40
46
  corre dentro del turno: la consola te lo avisa en cada uno. Hay que lanzar `/verify`.
41
47
  - **No hay lazo** de plan → ejecuta → verifica → juzga → repara, con presupuestos.
42
- - **No usa los servidores MCP de XOne Studio**: el proyecto tiene que estar en disco.
43
- - **No hay TUI con paneles**; la consola es stdio.
48
+ - **La subida a CloudStudio es siempre interactiva.** El hueco de política para que el
49
+ juez la autorice solo cuando el trabajo está terminado (verificador en verde, árbol
50
+ limpio, nada pendiente de aprobar) está declarado, pero el juez todavía no existe.
44
51
 
45
52
  ## Instalación
46
53
 
47
- Requiere **Node ≥ 20** y, para verificar, [`xone-linter`](https://www.npmjs.com/package/xone-linter)
54
+ Requiere **Node ≥ 22** y, para verificar, [`xone-linter`](https://www.npmjs.com/package/xone-linter)
48
55
  (que instala el binario `xone-simulator`).
49
56
 
57
+ Para descargar y ejecutar la consola sin instalación global:
58
+
59
+ ```sh
60
+ npx xonecode
61
+ ```
62
+
63
+ `npx` instala el paquete en su caché y lo ejecuta. Para tener el comando disponible
64
+ directamente en la terminal:
65
+
66
+ ```sh
67
+ npm install -g xonecode
68
+ xonecode
69
+ ```
70
+
71
+ Para desarrollar desde el código fuente:
72
+
50
73
  ```sh
51
74
  git clone https://github.com/sleiva/xonecode && cd xonecode
52
75
  npm install
53
76
  npm run build
54
- npm link # o: ln -sf "$PWD/dist/bin.js" ~/.local/bin/xonecode
77
+ npm link
55
78
  ```
56
79
 
57
80
  Comprueba que el entorno está listo, sin gastar nada:
@@ -68,6 +91,8 @@ Dos ficheros con dos ciclos de vida distintos, y **las claves nunca van en el pr
68
91
  | Fichero | Qué lleva |
69
92
  |---|---|
70
93
  | `<proyecto>/.xonecode/config.json` | modelos y proveedores. **Rechaza claves de API.** |
94
+ | `<proyecto>/.xonecode/memoria.md` | decisiones, convenciones y pendientes confirmados. El agente solo la ve como `/MEMORIA_PROYECTO.md`; escribirla pide aprobación. |
95
+ | `<proyecto>/.xonecode/conversation_history/` | historial técnico descargado al resumir contexto. Es interno: no se expone al agente ni se mezcla con la app. |
71
96
  | `~/.xonecode/config.json` | lo mismo, para todos los proyectos |
72
97
  | `~/.xonecode/auth.json` | las credenciales, con modo **0600**. Se escribe con `/provider <nombre>` |
73
98
 
@@ -84,6 +109,10 @@ Precedencia, y cada valor recuerda de dónde vino (`xonecode config` lo dice):
84
109
  --modelo-<papel> > --modelo > XONECODE_MODELO > proyecto > global > omisión
85
110
  ```
86
111
 
112
+ `/modelos <proveedor>` consulta el catálogo vivo del proveedor, filtra modelos de
113
+ conversación y permite guardar una selección global para `rapido`, `trabajo` o `afilado`.
114
+ Las claves siguen exclusivamente en `~/.xonecode/auth.json`; `/provider` solo las configura.
115
+
87
116
  Hay **tres papeles** porque el reparto es la palanca de coste: `rapido` corre en todos los
88
117
  turnos, `trabajo` desarrolla y `afilado` está reservado al juez. Por omisión, Ollama local.
89
118
 
@@ -93,7 +122,7 @@ Las decisiones que explican la forma del código. Ninguna es preferencia estéti
93
122
  salen de un fallo medido.
94
123
 
95
124
  **El motor de turno no sabe pintar.** `core/turno.ts` consume eventos de dominio y decide
96
- qué se cuenta; la consola de stdio y (en su día) la TUI son pieles. Así el turno se prueba
125
+ qué se cuenta; la consola de stdio y la TUI son pieles. Así el turno se prueba
97
126
  entero sin montar un renderizador.
98
127
 
99
128
  **Frontera de imports, y está probada.** `core/` es TypeScript puro: no importa langchain,
@@ -101,6 +130,13 @@ langgraph, deepagents, MCP, Ink ni React. Toda la suciedad del grafo vive en `ag
101
130
  un test que recorre los ficheros de `core/` y falla si aparece un import prohibido — una
102
131
  convención que nadie verifica dura dos semanas.
103
132
 
133
+ **La TUI es una piel, y su frontera también está probada.** Ink y React viven SOLO en
134
+ `src/cli/tui/`: otro test recorre `src/` y falla si un import de ink o react se cuela fuera
135
+ — el mismo truco. Y el lazo de comandos es UNO: la TUI no lo duplica, se lo inyectan, así
136
+ que `/config` llama a la misma función con stdio y con la TUI. La TUI monta por omisión solo
137
+ con un terminal de verdad en ambos lados; cualquier tubería cae al stdio de siempre, y por
138
+ eso los pipes y CI siguen viendo la salida byte-idéntica de siempre.
139
+
104
140
  **Todo lo caro entra por un puerto, con su doble al lado.** Consecuencia buscada: la suite
105
141
  entera corre **sin API, sin red y sin el simulador**.
106
142
 
@@ -150,9 +186,13 @@ El 2 es deliberado: un turno que se quedó esperando un permiso que nadie dio **
150
186
  ```sh
151
187
  npm run typecheck # tsc --noEmit
152
188
  npm test # la suite entera, sin red ni claves
189
+ npm run build:web # solo el cliente web (vite) — `npm run build` ya lo incluye
153
190
  ./bin/xonecode … # corre el TypeScript con tsx: siempre el código actual
154
191
  ```
155
192
 
193
+ La consola web necesita el build del cliente en `apps/web/dist`. Sin él, `xonecode` dice
194
+ «falta el build del cliente» y sale con **70** (fallo del entorno, no del proyecto).
195
+
156
196
  `npm test` no puede necesitar una clave ni una conexión. Si un cambio lo rompe, está mal el
157
197
  cambio, no el test.
158
198
 
@@ -161,6 +201,8 @@ copiaron en vez de publicarse aparte porque son 290 líneas y no merecen un paqu
161
201
 
162
202
  ## Más
163
203
 
204
+ - [`docs/DECISIONES.md`](docs/DECISIONES.md) — el porqué medido de cada decisión, párrafo
205
+ por párrafo: lo que vivía en `CLAUDE.md` hasta que ese fichero volvió a ser solo el mapa
164
206
  - [`docs/COMO-PROBARLO.md`](docs/COMO-PROBARLO.md) — la guía de pruebas, paso a paso
165
207
  - [`docs/PROBLEMA.md`](docs/PROBLEMA.md) — el enunciado del que salió el diseño
166
208
  - [`docs/SEGUNDA-OPINION-K3.md`](docs/SEGUNDA-OPINION-K3.md) — una segunda opinión
@@ -0,0 +1,160 @@
1
+ # Avisos de terceros
2
+
3
+ ## LangChain (adaptador SQLite)
4
+
5
+ `src/vendor/sqliteSaver.ts` adapta el código fuente de
6
+ `@langchain/langgraph-checkpoint-sqlite@1.0.4` para usar `better-sqlite3@13`
7
+ sin arrastrar `prebuild-install`. Se conserva el formato de los checkpoints.
8
+
9
+ Licencia del paquete de origen (MIT):
10
+
11
+ ```
12
+ The MIT License
13
+
14
+ Copyright (c) 2024 LangChain
15
+
16
+ Permission is hereby granted, free of charge, to any person obtaining a copy
17
+ of this software and associated documentation files (the "Software"), to deal
18
+ in the Software without restriction, including without limitation the rights
19
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
20
+ copies of the Software, and to permit persons to whom the Software is
21
+ furnished to do so, subject to the following conditions:
22
+
23
+ The above copyright notice and this permission notice shall be included in
24
+ all copies or substantial portions of the Software.
25
+
26
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
27
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
28
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
29
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
30
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
31
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
32
+ THE SOFTWARE.
33
+ ```
34
+
35
+ ## deepseek-harness (estilos de `apps/web/estilos/`)
36
+
37
+ Los seis ficheros CSS de `apps/web/estilos/` (`base.css`, `corner-shape.css`,
38
+ `design-platform.css`, `gradient-shadow-text.css`, `scrollbar.css`, `shiki.css`) están
39
+ tomados, sin cambios en su contenido, de:
40
+
41
+ deepseek-harness — packages/client/ui-theme/src/styles/
42
+
43
+ Cada fichero lleva su propia cabecera de atribución. No se ha copiado ningún logo,
44
+ wordmark ni otro activo de marca de DeepSeek — solo tokens de diseño (variables CSS
45
+ `--dsw-*`, sin renombrar todavía: ver comentario en `apps/web/estilos/`) y reglas CSS.
46
+
47
+ Licencia del proyecto de origen (MIT):
48
+
49
+ ```
50
+ MIT License
51
+
52
+ Copyright (c) 2026 DeepSeek
53
+
54
+ Permission is hereby granted, free of charge, to any person obtaining a copy
55
+ of this software and associated documentation files (the "Software"), to deal
56
+ in the Software without restriction, including without limitation the rights
57
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
58
+ copies of the Software, and to permit persons to whom the Software is
59
+ furnished to do so, subject to the following conditions:
60
+
61
+ The above copyright notice and this permission notice shall be included in all
62
+ copies or substantial portions of the Software.
63
+
64
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
65
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
66
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
67
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
68
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
69
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
70
+ SOFTWARE.
71
+ ```
72
+
73
+ ## deepseek-harness (CSS de componentes de `apps/web/estilos/`)
74
+
75
+ Además de las hojas de tokens de la sección anterior, `apps/web/estilos/` lleva el CSS de
76
+ COMPONENTES de deepseek, para que la consola web use el mismo CSS y recolorearla sea
77
+ cambiar valores de token en un sitio en vez de editar componentes. Cada fichero lleva su
78
+ propia cabecera de atribución, que dice si es copia entera o RECORTE y —cuando es
79
+ recorte— qué se dejó fuera y por qué.
80
+
81
+ | fichero en `apps/web/estilos/` | origen (`packages/client/…`) | paquete | licencia | líneas copiadas |
82
+ |---|---|---|---|---|
83
+ | `AppFrame.module.css` | `ui-layout/src/client/AppFrame.module.css` | `@deepseek-ai/dsh-client-ui-layout` | MIT | 119 (entero) |
84
+ | `SidebarRoot.module.css` | `ui-sidebar/src/client/SidebarRoot.module.css` | `@deepseek-ai/dsh-client-ui-sidebar` | MIT | 359 (entero) |
85
+ | `ConversationRoot.module.css` | `ui-conversation/src/client/skeleton/ConversationRoot.module.css` | `@deepseek-ai/dsh-client-ui-conversation` | MIT | 238 de 452 (recorte) |
86
+ | `ChatView.module.css` | `ui-chat/src/client/chat/ChatView.module.css` | `@deepseek-ai/dsh-client-ui-chat` | MIT | 58 de 223 (recorte) |
87
+ | `WorkspaceBrowser.module.css` | `ui-workspace/src/client/rows/WorkspaceBrowser.module.css` | `@deepseek-ai/dsh-client-ui-workspace` | MIT | 138 de 505 (recorte) |
88
+ | `Rows.module.css` | `ui-workspace/src/client/rows/Rows.module.css` | `@deepseek-ai/dsh-client-ui-workspace` | MIT | 179 de 368 (recorte) |
89
+ | `SettingsRoot.module.css` | `ui-settings-general/src/client/SettingsRoot.module.css` | `@deepseek-ai/dsh-client-ui-settings-general` | MIT | 57 de 236 (recorte) |
90
+ | `AgentPresetLabel.module.css` | `ui-agent-preset/src/client/AgentPresetLabel.module.css` | `@deepseek-ai/dsh-client-ui-agent-preset` | MIT | 22 de 23 (recorte) |
91
+
92
+ La licencia es MIT en los OCHO casos, declarada por el `package.json` de cada paquete en
93
+ el árbol de fuentes (`"license": "MIT"`, versión `0.1.2-rc.1`). Es la misma MIT que ya
94
+ está transcrita en la primera sección de este fichero; no se repite.
95
+
96
+ **Ojo con la sección siguiente**: el paquete de npm `@deepseek-ai/dsh-client-ui-primitives`
97
+ que este repo INSTALA declara BSD-3-Clause, no MIT. Los CSS de arriba vienen del árbol de
98
+ FUENTES; el paquete instalado es otra cosa y va bajo otra licencia. Se dejan las dos
99
+ constancias por separado a propósito, y no una que cubra las dos.
100
+
101
+ **Nada de marca.** Ninguna de estas hojas trae un activo de marca: son reglas de
102
+ geometría y color por token. `SidebarRoot.module.css` da la geometría de las ranuras
103
+ `.brand`/`.brandName`, y quien las ocupa aquí es el nombre de xonecode; `.brandMark`
104
+ —donde el original monta su `FishLogo`— se queda vacía.
105
+
106
+ **Una línea que NO se copió, y es un hallazgo.** `AgentPresetLabel.module.css` declara
107
+ `background: var(--dsw-alias-fill-tsp-secondary)`, y ese alias no está definido en NINGÚN
108
+ CSS de deepseek-harness (comprobado con `grep -rn -- "--dsw-alias-fill-tsp-secondary:"
109
+ --include='*.css'` sobre el árbol entero: cero resultados). Un alias que no existe
110
+ resuelve a transparente sin dar error. Se copia la hoja sin esa declaración, en vez de
111
+ inventarle un relleno que el original nunca pinta.
112
+
113
+ ## deepseek-harness (paquete `@deepseek-ai/dsh-client-ui-primitives`)
114
+
115
+ `apps/web` instala `@deepseek-ai/dsh-client-ui-primitives@0.0.1-rc.1` (npm) para
116
+ `MarkdownText` (Chat) y `ConnectionBanner`, en vez de la combinación `marked` +
117
+ `dompurify` de la Task 13 (Task 13b).
118
+
119
+ Corrección sobre el encargo de la tarea: pedía documentarlo como MIT «igual que el CSS»
120
+ de más arriba, pero el propio `package.json` del paquete instalado declara
121
+ `"license": "BSD-3-Clause"`, y el fichero `LICENSE` que trae el tarball es, en efecto,
122
+ BSD de 3 cláusulas — no MIT. Los seis CSS de la sección de arriba y este paquete de npm
123
+ vienen del mismo repositorio (`deepseek-harness`) pero bajo licencias DISTINTAS; se deja
124
+ constancia aquí en vez de copiar el aviso equivocado.
125
+
126
+ Licencia real del paquete (BSD 3-Clause), tomada de su `LICENSE`:
127
+
128
+ ```
129
+ BSD 3-Clause License
130
+
131
+ Copyright (c) 2026, DeepSeek
132
+
133
+ Redistribution and use in source and binary forms, with or without
134
+ modification, are permitted provided that the following conditions are met:
135
+
136
+ 1. Redistributions of source code must retain the above copyright notice, this
137
+ list of conditions and the following disclaimer.
138
+
139
+ 2. Redistributions in binary form must reproduce the above copyright notice,
140
+ this list of conditions and the following disclaimer in the documentation
141
+ and/or other materials provided with the distribution.
142
+
143
+ 3. Neither the name of the copyright holder nor the names of its
144
+ contributors may be used to endorse or promote products derived from
145
+ this software without specific prior written permission.
146
+
147
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
148
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
149
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
150
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
151
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
152
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
153
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
154
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
155
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
156
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
157
+ ```
158
+
159
+ Ningún logo ni wordmark de DeepSeek se usa: `FishLogo` y `BrandWordmark`, que el paquete
160
+ exporta, no se importan en ningún fichero de este repositorio (XOne no es DeepSeek).