@hoilab/ada-cli 0.84.21 → 0.85.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1337) hide show
  1. package/CHANGELOG.md +49 -2
  2. package/README.es.md +174 -0
  3. package/README.md +203 -658
  4. package/dist/ada-publico.d.ts +35 -0
  5. package/dist/ada-publico.d.ts.map +1 -0
  6. package/dist/ada-publico.js +40 -0
  7. package/dist/ada-publico.js.map +1 -0
  8. package/dist/cli/args.d.ts +3 -0
  9. package/dist/cli/args.d.ts.map +1 -1
  10. package/dist/cli/args.js +11 -0
  11. package/dist/cli/args.js.map +1 -1
  12. package/dist/cli/audit-command.d.ts +15 -0
  13. package/dist/cli/audit-command.d.ts.map +1 -0
  14. package/dist/cli/audit-command.js +280 -0
  15. package/dist/cli/audit-command.js.map +1 -0
  16. package/dist/cli/banco-command.d.ts +15 -0
  17. package/dist/cli/banco-command.d.ts.map +1 -0
  18. package/dist/cli/banco-command.js +213 -0
  19. package/dist/cli/banco-command.js.map +1 -0
  20. package/dist/cli/cleanse-command.d.ts +11 -0
  21. package/dist/cli/cleanse-command.d.ts.map +1 -0
  22. package/dist/cli/cleanse-command.js +101 -0
  23. package/dist/cli/cleanse-command.js.map +1 -0
  24. package/dist/cli/commit-command.d.ts +31 -0
  25. package/dist/cli/commit-command.d.ts.map +1 -0
  26. package/dist/cli/commit-command.js +158 -0
  27. package/dist/cli/commit-command.js.map +1 -0
  28. package/dist/cli/computer-command.d.ts +12 -0
  29. package/dist/cli/computer-command.d.ts.map +1 -0
  30. package/dist/cli/computer-command.js +141 -0
  31. package/dist/cli/computer-command.js.map +1 -0
  32. package/dist/cli/discover-command.d.ts +18 -0
  33. package/dist/cli/discover-command.d.ts.map +1 -0
  34. package/dist/cli/discover-command.js +108 -0
  35. package/dist/cli/discover-command.js.map +1 -0
  36. package/dist/cli/file-processor.d.ts.map +1 -1
  37. package/dist/cli/file-processor.js +2 -1
  38. package/dist/cli/file-processor.js.map +1 -1
  39. package/dist/cli/hashline-command.d.ts +11 -0
  40. package/dist/cli/hashline-command.d.ts.map +1 -0
  41. package/dist/cli/hashline-command.js +106 -0
  42. package/dist/cli/hashline-command.js.map +1 -0
  43. package/dist/cli/home-screen.d.ts.map +1 -1
  44. package/dist/cli/home-screen.js +2 -2
  45. package/dist/cli/home-screen.js.map +1 -1
  46. package/dist/cli/import-command.d.ts +35 -0
  47. package/dist/cli/import-command.d.ts.map +1 -0
  48. package/dist/cli/import-command.js +164 -0
  49. package/dist/cli/import-command.js.map +1 -0
  50. package/dist/cli/politica-command.d.ts +20 -0
  51. package/dist/cli/politica-command.d.ts.map +1 -0
  52. package/dist/cli/politica-command.js +93 -0
  53. package/dist/cli/politica-command.js.map +1 -0
  54. package/dist/cli/refine-command.d.ts +18 -0
  55. package/dist/cli/refine-command.d.ts.map +1 -0
  56. package/dist/cli/refine-command.js +101 -0
  57. package/dist/cli/refine-command.js.map +1 -0
  58. package/dist/cli/review-command.d.ts +24 -0
  59. package/dist/cli/review-command.d.ts.map +1 -0
  60. package/dist/cli/review-command.js +168 -0
  61. package/dist/cli/review-command.js.map +1 -0
  62. package/dist/cli/schedule-command.d.ts +17 -0
  63. package/dist/cli/schedule-command.d.ts.map +1 -0
  64. package/dist/cli/schedule-command.js +117 -0
  65. package/dist/cli/schedule-command.js.map +1 -0
  66. package/dist/cli/serve-command.d.ts +72 -0
  67. package/dist/cli/serve-command.d.ts.map +1 -0
  68. package/dist/cli/serve-command.js +568 -0
  69. package/dist/cli/serve-command.js.map +1 -0
  70. package/dist/cli/startup-ui.d.ts.map +1 -1
  71. package/dist/cli/startup-ui.js +9 -3
  72. package/dist/cli/startup-ui.js.map +1 -1
  73. package/dist/cli/telegram-command.d.ts +18 -0
  74. package/dist/cli/telegram-command.d.ts.map +1 -0
  75. package/dist/cli/telegram-command.js +137 -0
  76. package/dist/cli/telegram-command.js.map +1 -0
  77. package/dist/cli/telemetria-command.d.ts +22 -0
  78. package/dist/cli/telemetria-command.d.ts.map +1 -0
  79. package/dist/cli/telemetria-command.js +127 -0
  80. package/dist/cli/telemetria-command.js.map +1 -0
  81. package/dist/cli/undo-command.d.ts +9 -0
  82. package/dist/cli/undo-command.d.ts.map +1 -0
  83. package/dist/cli/undo-command.js +56 -0
  84. package/dist/cli/undo-command.js.map +1 -0
  85. package/dist/cli/usage-command.d.ts +10 -0
  86. package/dist/cli/usage-command.d.ts.map +1 -0
  87. package/dist/cli/usage-command.js +209 -0
  88. package/dist/cli/usage-command.js.map +1 -0
  89. package/dist/cli/wiki-command.d.ts +9 -0
  90. package/dist/cli/wiki-command.d.ts.map +1 -0
  91. package/dist/cli/wiki-command.js +76 -0
  92. package/dist/cli/wiki-command.js.map +1 -0
  93. package/dist/cli.d.ts +6 -0
  94. package/dist/cli.d.ts.map +1 -1
  95. package/dist/cli.js +10 -11
  96. package/dist/cli.js.map +1 -1
  97. package/dist/config.d.ts +1 -1
  98. package/dist/config.d.ts.map +1 -1
  99. package/dist/config.js +3 -2
  100. package/dist/config.js.map +1 -1
  101. package/dist/core/ada.d.ts +58 -0
  102. package/dist/core/ada.d.ts.map +1 -0
  103. package/dist/core/ada.js +61 -0
  104. package/dist/core/ada.js.map +1 -0
  105. package/dist/core/advisor/guarda.d.ts +66 -0
  106. package/dist/core/advisor/guarda.d.ts.map +1 -0
  107. package/dist/core/advisor/guarda.js +191 -0
  108. package/dist/core/advisor/guarda.js.map +1 -0
  109. package/dist/core/advisor/runtime.d.ts +66 -0
  110. package/dist/core/advisor/runtime.d.ts.map +1 -0
  111. package/dist/core/advisor/runtime.js +121 -0
  112. package/dist/core/advisor/runtime.js.map +1 -0
  113. package/dist/core/advisor/sesion.d.ts +109 -0
  114. package/dist/core/advisor/sesion.d.ts.map +1 -0
  115. package/dist/core/advisor/sesion.js +139 -0
  116. package/dist/core/advisor/sesion.js.map +1 -0
  117. package/dist/core/agent-session.d.ts +85 -7
  118. package/dist/core/agent-session.d.ts.map +1 -1
  119. package/dist/core/agent-session.js +862 -78
  120. package/dist/core/agent-session.js.map +1 -1
  121. package/dist/core/agents/loader.d.ts +77 -0
  122. package/dist/core/agents/loader.d.ts.map +1 -0
  123. package/dist/core/agents/loader.js +154 -0
  124. package/dist/core/agents/loader.js.map +1 -0
  125. package/dist/core/aprobacion/generados.d.ts +37 -0
  126. package/dist/core/aprobacion/generados.d.ts.map +1 -0
  127. package/dist/core/aprobacion/generados.js +85 -0
  128. package/dist/core/aprobacion/generados.js.map +1 -0
  129. package/dist/core/aprobacion/politica-de-maquina.d.ts +90 -0
  130. package/dist/core/aprobacion/politica-de-maquina.d.ts.map +1 -0
  131. package/dist/core/aprobacion/politica-de-maquina.js +212 -0
  132. package/dist/core/aprobacion/politica-de-maquina.js.map +1 -0
  133. package/dist/core/aprobacion/politica.d.ts +90 -0
  134. package/dist/core/aprobacion/politica.d.ts.map +1 -0
  135. package/dist/core/aprobacion/politica.js +375 -0
  136. package/dist/core/aprobacion/politica.js.map +1 -0
  137. package/dist/core/arranque/atajos.d.ts +46 -0
  138. package/dist/core/arranque/atajos.d.ts.map +1 -0
  139. package/dist/core/arranque/atajos.js +113 -0
  140. package/dist/core/arranque/atajos.js.map +1 -0
  141. package/dist/core/audit/exportacion.d.ts +54 -0
  142. package/dist/core/audit/exportacion.d.ts.map +1 -0
  143. package/dist/core/audit/exportacion.js +265 -0
  144. package/dist/core/audit/exportacion.js.map +1 -0
  145. package/dist/core/audit/libro.d.ts +318 -0
  146. package/dist/core/audit/libro.d.ts.map +1 -0
  147. package/dist/core/audit/libro.js +508 -0
  148. package/dist/core/audit/libro.js.map +1 -0
  149. package/dist/core/audit/registro-sesion.d.ts +78 -0
  150. package/dist/core/audit/registro-sesion.d.ts.map +1 -0
  151. package/dist/core/audit/registro-sesion.js +202 -0
  152. package/dist/core/audit/registro-sesion.js.map +1 -0
  153. package/dist/core/audit/retencion.d.ts +82 -0
  154. package/dist/core/audit/retencion.d.ts.map +1 -0
  155. package/dist/core/audit/retencion.js +152 -0
  156. package/dist/core/audit/retencion.js.map +1 -0
  157. package/dist/core/audit/rutas.d.ts +23 -0
  158. package/dist/core/audit/rutas.d.ts.map +1 -0
  159. package/dist/core/audit/rutas.js +23 -0
  160. package/dist/core/audit/rutas.js.map +1 -0
  161. package/dist/core/auth-storage.d.ts +0 -3
  162. package/dist/core/auth-storage.d.ts.map +1 -1
  163. package/dist/core/auth-storage.js +21 -8
  164. package/dist/core/auth-storage.js.map +1 -1
  165. package/dist/core/banco/almacenamiento.d.ts +18 -0
  166. package/dist/core/banco/almacenamiento.d.ts.map +1 -0
  167. package/dist/core/banco/almacenamiento.js +50 -0
  168. package/dist/core/banco/almacenamiento.js.map +1 -0
  169. package/dist/core/banco/analisis.d.ts +37 -0
  170. package/dist/core/banco/analisis.d.ts.map +1 -0
  171. package/dist/core/banco/analisis.js +164 -0
  172. package/dist/core/banco/analisis.js.map +1 -0
  173. package/dist/core/banco/bloques.d.ts +39 -0
  174. package/dist/core/banco/bloques.d.ts.map +1 -0
  175. package/dist/core/banco/bloques.js +84 -0
  176. package/dist/core/banco/bloques.js.map +1 -0
  177. package/dist/core/banco/cargas.d.ts +84 -0
  178. package/dist/core/banco/cargas.d.ts.map +1 -0
  179. package/dist/core/banco/cargas.js +520 -0
  180. package/dist/core/banco/cargas.js.map +1 -0
  181. package/dist/core/banco/comparar.d.ts +29 -0
  182. package/dist/core/banco/comparar.d.ts.map +1 -0
  183. package/dist/core/banco/comparar.js +28 -0
  184. package/dist/core/banco/comparar.js.map +1 -0
  185. package/dist/core/banco/ejecutar.d.ts +44 -0
  186. package/dist/core/banco/ejecutar.d.ts.map +1 -0
  187. package/dist/core/banco/ejecutar.js +183 -0
  188. package/dist/core/banco/ejecutar.js.map +1 -0
  189. package/dist/core/banco/generar.d.ts +24 -0
  190. package/dist/core/banco/generar.d.ts.map +1 -0
  191. package/dist/core/banco/generar.js +159 -0
  192. package/dist/core/banco/generar.js.map +1 -0
  193. package/dist/core/banco/mutaciones.d.ts +25 -0
  194. package/dist/core/banco/mutaciones.d.ts.map +1 -0
  195. package/dist/core/banco/mutaciones.js +215 -0
  196. package/dist/core/banco/mutaciones.js.map +1 -0
  197. package/dist/core/banco/tipos.d.ts +121 -0
  198. package/dist/core/banco/tipos.d.ts.map +1 -0
  199. package/dist/core/banco/tipos.js +16 -0
  200. package/dist/core/banco/tipos.js.map +1 -0
  201. package/dist/core/blobs/almacen.d.ts +81 -0
  202. package/dist/core/blobs/almacen.d.ts.map +1 -0
  203. package/dist/core/blobs/almacen.js +198 -0
  204. package/dist/core/blobs/almacen.js.map +1 -0
  205. package/dist/core/blobs/broker.d.ts +103 -0
  206. package/dist/core/blobs/broker.d.ts.map +1 -0
  207. package/dist/core/blobs/broker.js +204 -0
  208. package/dist/core/blobs/broker.js.map +1 -0
  209. package/dist/core/blobs/index.d.ts +70 -0
  210. package/dist/core/blobs/index.d.ts.map +1 -0
  211. package/dist/core/blobs/index.js +232 -0
  212. package/dist/core/blobs/index.js.map +1 -0
  213. package/dist/core/blobs/payload.d.ts +55 -0
  214. package/dist/core/blobs/payload.d.ts.map +1 -0
  215. package/dist/core/blobs/payload.js +255 -0
  216. package/dist/core/blobs/payload.js.map +1 -0
  217. package/dist/core/blobs/proveedor.d.ts +85 -0
  218. package/dist/core/blobs/proveedor.d.ts.map +1 -0
  219. package/dist/core/blobs/proveedor.js +196 -0
  220. package/dist/core/blobs/proveedor.js.map +1 -0
  221. package/dist/core/browser/cdp.d.ts +41 -0
  222. package/dist/core/browser/cdp.d.ts.map +1 -0
  223. package/dist/core/browser/cdp.js +119 -0
  224. package/dist/core/browser/cdp.js.map +1 -0
  225. package/dist/core/browser/politica.d.ts +51 -0
  226. package/dist/core/browser/politica.d.ts.map +1 -0
  227. package/dist/core/browser/politica.js +123 -0
  228. package/dist/core/browser/politica.js.map +1 -0
  229. package/dist/core/browser/sesion.d.ts +52 -0
  230. package/dist/core/browser/sesion.d.ts.map +1 -0
  231. package/dist/core/browser/sesion.js +176 -0
  232. package/dist/core/browser/sesion.js.map +1 -0
  233. package/dist/core/browser/tools.d.ts +16 -0
  234. package/dist/core/browser/tools.d.ts.map +1 -0
  235. package/dist/core/browser/tools.js +279 -0
  236. package/dist/core/browser/tools.js.map +1 -0
  237. package/dist/core/commit/diff.d.ts +56 -0
  238. package/dist/core/commit/diff.d.ts.map +1 -0
  239. package/dist/core/commit/diff.js +145 -0
  240. package/dist/core/commit/diff.js.map +1 -0
  241. package/dist/core/commit/mensaje.d.ts +80 -0
  242. package/dist/core/commit/mensaje.d.ts.map +1 -0
  243. package/dist/core/commit/mensaje.js +207 -0
  244. package/dist/core/commit/mensaje.js.map +1 -0
  245. package/dist/core/compactar/index.d.ts +52 -0
  246. package/dist/core/compactar/index.d.ts.map +1 -0
  247. package/dist/core/compactar/index.js +91 -0
  248. package/dist/core/compactar/index.js.map +1 -0
  249. package/dist/core/compactar/registro-denso.d.ts +160 -0
  250. package/dist/core/compactar/registro-denso.d.ts.map +1 -0
  251. package/dist/core/compactar/registro-denso.js +620 -0
  252. package/dist/core/compactar/registro-denso.js.map +1 -0
  253. package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
  254. package/dist/core/compaction/branch-summarization.js +3 -0
  255. package/dist/core/compaction/branch-summarization.js.map +1 -1
  256. package/dist/core/compaction/compaction.d.ts +4 -3
  257. package/dist/core/compaction/compaction.d.ts.map +1 -1
  258. package/dist/core/compaction/compaction.js +41 -32
  259. package/dist/core/compaction/compaction.js.map +1 -1
  260. package/dist/core/computer/captura.d.ts +35 -0
  261. package/dist/core/computer/captura.d.ts.map +1 -0
  262. package/dist/core/computer/captura.js +140 -0
  263. package/dist/core/computer/captura.js.map +1 -0
  264. package/dist/core/computer/driver.d.ts +130 -0
  265. package/dist/core/computer/driver.d.ts.map +1 -0
  266. package/dist/core/computer/driver.js +206 -0
  267. package/dist/core/computer/driver.js.map +1 -0
  268. package/dist/core/computer/motor/actions.d.ts +109 -0
  269. package/dist/core/computer/motor/actions.d.ts.map +1 -0
  270. package/dist/core/computer/motor/actions.js +157 -0
  271. package/dist/core/computer/motor/actions.js.map +1 -0
  272. package/dist/core/computer/motor/bridge.d.ts +232 -0
  273. package/dist/core/computer/motor/bridge.d.ts.map +1 -0
  274. package/dist/core/computer/motor/bridge.js +2335 -0
  275. package/dist/core/computer/motor/bridge.js.map +1 -0
  276. package/dist/core/computer/motor/cdp.d.ts +107 -0
  277. package/dist/core/computer/motor/cdp.d.ts.map +1 -0
  278. package/dist/core/computer/motor/cdp.js +659 -0
  279. package/dist/core/computer/motor/cdp.js.map +1 -0
  280. package/dist/core/computer/motor/config.d.ts +23 -0
  281. package/dist/core/computer/motor/config.d.ts.map +1 -0
  282. package/dist/core/computer/motor/config.js +100 -0
  283. package/dist/core/computer/motor/config.js.map +1 -0
  284. package/dist/core/computer/motor/contract.d.ts +81 -0
  285. package/dist/core/computer/motor/contract.d.ts.map +1 -0
  286. package/dist/core/computer/motor/contract.js +14 -0
  287. package/dist/core/computer/motor/contract.js.map +1 -0
  288. package/dist/core/computer/motor/note.d.ts +37 -0
  289. package/dist/core/computer/motor/note.d.ts.map +1 -0
  290. package/dist/core/computer/motor/note.js +162 -0
  291. package/dist/core/computer/motor/note.js.map +1 -0
  292. package/dist/core/computer/motor/outline.d.ts +155 -0
  293. package/dist/core/computer/motor/outline.d.ts.map +1 -0
  294. package/dist/core/computer/motor/outline.js +590 -0
  295. package/dist/core/computer/motor/outline.js.map +1 -0
  296. package/dist/core/computer/motor/output.d.ts +18 -0
  297. package/dist/core/computer/motor/output.d.ts.map +1 -0
  298. package/dist/core/computer/motor/output.js +148 -0
  299. package/dist/core/computer/motor/output.js.map +1 -0
  300. package/dist/core/computer/motor/permissions.d.ts +41 -0
  301. package/dist/core/computer/motor/permissions.d.ts.map +1 -0
  302. package/dist/core/computer/motor/permissions.js +51 -0
  303. package/dist/core/computer/motor/permissions.js.map +1 -0
  304. package/dist/core/computer/motor/platform/architecture.d.ts +5 -0
  305. package/dist/core/computer/motor/platform/architecture.d.ts.map +1 -0
  306. package/dist/core/computer/motor/platform/architecture.js +21 -0
  307. package/dist/core/computer/motor/platform/architecture.js.map +1 -0
  308. package/dist/core/computer/motor/platform/coerce.d.ts +4 -0
  309. package/dist/core/computer/motor/platform/coerce.d.ts.map +1 -0
  310. package/dist/core/computer/motor/platform/coerce.js +17 -0
  311. package/dist/core/computer/motor/platform/coerce.js.map +1 -0
  312. package/dist/core/computer/motor/platform/index.d.ts +4 -0
  313. package/dist/core/computer/motor/platform/index.d.ts.map +1 -0
  314. package/dist/core/computer/motor/platform/index.js +79 -0
  315. package/dist/core/computer/motor/platform/index.js.map +1 -0
  316. package/dist/core/computer/motor/platform/linux/backend.d.ts +3 -0
  317. package/dist/core/computer/motor/platform/linux/backend.d.ts.map +1 -0
  318. package/dist/core/computer/motor/platform/linux/backend.js +173 -0
  319. package/dist/core/computer/motor/platform/linux/backend.js.map +1 -0
  320. package/dist/core/computer/motor/platform/linux/helper.d.ts +29 -0
  321. package/dist/core/computer/motor/platform/linux/helper.d.ts.map +1 -0
  322. package/dist/core/computer/motor/platform/linux/helper.js +261 -0
  323. package/dist/core/computer/motor/platform/linux/helper.js.map +1 -0
  324. package/dist/core/computer/motor/platform/macos/backend.d.ts +3 -0
  325. package/dist/core/computer/motor/platform/macos/backend.d.ts.map +1 -0
  326. package/dist/core/computer/motor/platform/macos/backend.js +124 -0
  327. package/dist/core/computer/motor/platform/macos/backend.js.map +1 -0
  328. package/dist/core/computer/motor/platform/macos/browser.d.ts +7 -0
  329. package/dist/core/computer/motor/platform/macos/browser.d.ts.map +1 -0
  330. package/dist/core/computer/motor/platform/macos/browser.js +101 -0
  331. package/dist/core/computer/motor/platform/macos/browser.js.map +1 -0
  332. package/dist/core/computer/motor/platform/macos/helper-path.mjs +34 -0
  333. package/dist/core/computer/motor/platform/macos/helper.d.ts +32 -0
  334. package/dist/core/computer/motor/platform/macos/helper.d.ts.map +1 -0
  335. package/dist/core/computer/motor/platform/macos/helper.js +277 -0
  336. package/dist/core/computer/motor/platform/macos/helper.js.map +1 -0
  337. package/dist/core/computer/motor/platform/macos/permissions.d.ts +4 -0
  338. package/dist/core/computer/motor/platform/macos/permissions.d.ts.map +1 -0
  339. package/dist/core/computer/motor/platform/macos/permissions.js +118 -0
  340. package/dist/core/computer/motor/platform/macos/permissions.js.map +1 -0
  341. package/dist/core/computer/motor/platform/types.d.ts +263 -0
  342. package/dist/core/computer/motor/platform/types.d.ts.map +1 -0
  343. package/dist/core/computer/motor/platform/types.js +2 -0
  344. package/dist/core/computer/motor/platform/types.js.map +1 -0
  345. package/dist/core/computer/motor/platform/windows/backend.d.ts +3 -0
  346. package/dist/core/computer/motor/platform/windows/backend.d.ts.map +1 -0
  347. package/dist/core/computer/motor/platform/windows/backend.js +163 -0
  348. package/dist/core/computer/motor/platform/windows/backend.js.map +1 -0
  349. package/dist/core/computer/motor/platform/windows/helper.d.ts +18 -0
  350. package/dist/core/computer/motor/platform/windows/helper.d.ts.map +1 -0
  351. package/dist/core/computer/motor/platform/windows/helper.js +174 -0
  352. package/dist/core/computer/motor/platform/windows/helper.js.map +1 -0
  353. package/dist/core/computer/motor/root-selection.d.ts +6 -0
  354. package/dist/core/computer/motor/root-selection.d.ts.map +1 -0
  355. package/dist/core/computer/motor/root-selection.js +28 -0
  356. package/dist/core/computer/motor/root-selection.js.map +1 -0
  357. package/dist/core/computer/motor/runtime.d.ts +50 -0
  358. package/dist/core/computer/motor/runtime.d.ts.map +1 -0
  359. package/dist/core/computer/motor/runtime.js +119 -0
  360. package/dist/core/computer/motor/runtime.js.map +1 -0
  361. package/dist/core/computer/motor/state.d.ts +68 -0
  362. package/dist/core/computer/motor/state.d.ts.map +1 -0
  363. package/dist/core/computer/motor/state.js +100 -0
  364. package/dist/core/computer/motor/state.js.map +1 -0
  365. package/dist/core/computer/motor/view.d.ts +6 -0
  366. package/dist/core/computer/motor/view.d.ts.map +1 -0
  367. package/dist/core/computer/motor/view.js +185 -0
  368. package/dist/core/computer/motor/view.js.map +1 -0
  369. package/dist/core/computer/motor-ada.d.ts +159 -0
  370. package/dist/core/computer/motor-ada.d.ts.map +1 -0
  371. package/dist/core/computer/motor-ada.js +412 -0
  372. package/dist/core/computer/motor-ada.js.map +1 -0
  373. package/dist/core/computer/politica.d.ts +56 -0
  374. package/dist/core/computer/politica.d.ts.map +1 -0
  375. package/dist/core/computer/politica.js +163 -0
  376. package/dist/core/computer/politica.js.map +1 -0
  377. package/dist/core/computer/tools.d.ts +26 -0
  378. package/dist/core/computer/tools.d.ts.map +1 -0
  379. package/dist/core/computer/tools.js +399 -0
  380. package/dist/core/computer/tools.js.map +1 -0
  381. package/dist/core/context-breakdown.d.ts +80 -0
  382. package/dist/core/context-breakdown.d.ts.map +1 -0
  383. package/dist/core/context-breakdown.js +87 -0
  384. package/dist/core/context-breakdown.js.map +1 -0
  385. package/dist/core/credenciales/cliente.d.ts +60 -0
  386. package/dist/core/credenciales/cliente.d.ts.map +1 -0
  387. package/dist/core/credenciales/cliente.js +81 -0
  388. package/dist/core/credenciales/cliente.js.map +1 -0
  389. package/dist/core/credenciales/pool.d.ts +96 -0
  390. package/dist/core/credenciales/pool.d.ts.map +1 -0
  391. package/dist/core/credenciales/pool.js +128 -0
  392. package/dist/core/credenciales/pool.js.map +1 -0
  393. package/dist/core/credenciales/reposo.d.ts +93 -0
  394. package/dist/core/credenciales/reposo.d.ts.map +1 -0
  395. package/dist/core/credenciales/reposo.js +489 -0
  396. package/dist/core/credenciales/reposo.js.map +1 -0
  397. package/dist/core/credenciales/servidor.d.ts +55 -0
  398. package/dist/core/credenciales/servidor.d.ts.map +1 -0
  399. package/dist/core/credenciales/servidor.js +205 -0
  400. package/dist/core/credenciales/servidor.js.map +1 -0
  401. package/dist/core/defaults.d.ts +1 -0
  402. package/dist/core/defaults.d.ts.map +1 -1
  403. package/dist/core/defaults.js +9 -0
  404. package/dist/core/defaults.js.map +1 -1
  405. package/dist/core/descubrimiento/comandos.d.ts +30 -0
  406. package/dist/core/descubrimiento/comandos.d.ts.map +1 -0
  407. package/dist/core/descubrimiento/comandos.js +76 -0
  408. package/dist/core/descubrimiento/comandos.js.map +1 -0
  409. package/dist/core/descubrimiento/mcp.d.ts +42 -0
  410. package/dist/core/descubrimiento/mcp.d.ts.map +1 -0
  411. package/dist/core/descubrimiento/mcp.js +130 -0
  412. package/dist/core/descubrimiento/mcp.js.map +1 -0
  413. package/dist/core/descubrimiento/reglas.d.ts +61 -0
  414. package/dist/core/descubrimiento/reglas.d.ts.map +1 -0
  415. package/dist/core/descubrimiento/reglas.js +134 -0
  416. package/dist/core/descubrimiento/reglas.js.map +1 -0
  417. package/dist/core/descubrimiento/skills.d.ts +57 -0
  418. package/dist/core/descubrimiento/skills.d.ts.map +1 -0
  419. package/dist/core/descubrimiento/skills.js +113 -0
  420. package/dist/core/descubrimiento/skills.js.map +1 -0
  421. package/dist/core/dificultad/clasificador.d.ts +133 -0
  422. package/dist/core/dificultad/clasificador.d.ts.map +1 -0
  423. package/dist/core/dificultad/clasificador.js +288 -0
  424. package/dist/core/dificultad/clasificador.js.map +1 -0
  425. package/dist/core/edicion/diario.d.ts +37 -0
  426. package/dist/core/edicion/diario.d.ts.map +1 -0
  427. package/dist/core/edicion/diario.js +51 -0
  428. package/dist/core/edicion/diario.js.map +1 -0
  429. package/dist/core/edicion/hashline.d.ts +71 -0
  430. package/dist/core/edicion/hashline.d.ts.map +1 -0
  431. package/dist/core/edicion/hashline.js +111 -0
  432. package/dist/core/edicion/hashline.js.map +1 -0
  433. package/dist/core/edicion/hueco.d.ts +64 -0
  434. package/dist/core/edicion/hueco.d.ts.map +1 -0
  435. package/dist/core/edicion/hueco.js +162 -0
  436. package/dist/core/edicion/hueco.js.map +1 -0
  437. package/dist/core/edicion/limpiar-carga.d.ts +39 -0
  438. package/dist/core/edicion/limpiar-carga.d.ts.map +1 -0
  439. package/dist/core/edicion/limpiar-carga.js +121 -0
  440. package/dist/core/edicion/limpiar-carga.js.map +1 -0
  441. package/dist/core/edicion/observador.d.ts +80 -0
  442. package/dist/core/edicion/observador.d.ts.map +1 -0
  443. package/dist/core/edicion/observador.js +183 -0
  444. package/dist/core/edicion/observador.js.map +1 -0
  445. package/dist/core/edicion/parecido.d.ts +53 -0
  446. package/dist/core/edicion/parecido.d.ts.map +1 -0
  447. package/dist/core/edicion/parecido.js +145 -0
  448. package/dist/core/edicion/parecido.js.map +1 -0
  449. package/dist/core/edicion/parseo.d.ts +58 -0
  450. package/dist/core/edicion/parseo.d.ts.map +1 -0
  451. package/dist/core/edicion/parseo.js +124 -0
  452. package/dist/core/edicion/parseo.js.map +1 -0
  453. package/dist/core/edicion/reparacion.d.ts +67 -0
  454. package/dist/core/edicion/reparacion.d.ts.map +1 -0
  455. package/dist/core/edicion/reparacion.js +202 -0
  456. package/dist/core/edicion/reparacion.js.map +1 -0
  457. package/dist/core/edicion/sangria.d.ts +121 -0
  458. package/dist/core/edicion/sangria.d.ts.map +1 -0
  459. package/dist/core/edicion/sangria.js +341 -0
  460. package/dist/core/edicion/sangria.js.map +1 -0
  461. package/dist/core/edicion/tipos.d.ts +58 -0
  462. package/dist/core/edicion/tipos.d.ts.map +1 -0
  463. package/dist/core/edicion/tipos.js +160 -0
  464. package/dist/core/edicion/tipos.js.map +1 -0
  465. package/dist/core/engine-personality.d.ts +12 -0
  466. package/dist/core/engine-personality.d.ts.map +1 -0
  467. package/dist/core/engine-personality.js +53 -0
  468. package/dist/core/engine-personality.js.map +1 -0
  469. package/dist/core/errores/proveedor.d.ts +53 -0
  470. package/dist/core/errores/proveedor.d.ts.map +1 -0
  471. package/dist/core/errores/proveedor.js +191 -0
  472. package/dist/core/errores/proveedor.js.map +1 -0
  473. package/dist/core/estructural/buscar.d.ts +61 -0
  474. package/dist/core/estructural/buscar.d.ts.map +1 -0
  475. package/dist/core/estructural/buscar.js +261 -0
  476. package/dist/core/estructural/buscar.js.map +1 -0
  477. package/dist/core/estructural/editar.d.ts +36 -0
  478. package/dist/core/estructural/editar.d.ts.map +1 -0
  479. package/dist/core/estructural/editar.js +123 -0
  480. package/dist/core/estructural/editar.js.map +1 -0
  481. package/dist/core/estructural/tools.d.ts +11 -0
  482. package/dist/core/estructural/tools.d.ts.map +1 -0
  483. package/dist/core/estructural/tools.js +100 -0
  484. package/dist/core/estructural/tools.js.map +1 -0
  485. package/dist/core/experimental.d.ts.map +1 -1
  486. package/dist/core/experimental.js +10 -1
  487. package/dist/core/experimental.js.map +1 -1
  488. package/dist/core/extensiones/suplantacion.d.ts +49 -0
  489. package/dist/core/extensiones/suplantacion.d.ts.map +1 -0
  490. package/dist/core/extensiones/suplantacion.js +61 -0
  491. package/dist/core/extensiones/suplantacion.js.map +1 -0
  492. package/dist/core/extensiones/vigilancia.d.ts +54 -0
  493. package/dist/core/extensiones/vigilancia.d.ts.map +1 -0
  494. package/dist/core/extensiones/vigilancia.js +217 -0
  495. package/dist/core/extensiones/vigilancia.js.map +1 -0
  496. package/dist/core/extensions/index.d.ts +1 -1
  497. package/dist/core/extensions/index.d.ts.map +1 -1
  498. package/dist/core/extensions/index.js.map +1 -1
  499. package/dist/core/extensions/loader.d.ts.map +1 -1
  500. package/dist/core/extensions/loader.js +21 -6
  501. package/dist/core/extensions/loader.js.map +1 -1
  502. package/dist/core/extensions/types.d.ts +23 -4
  503. package/dist/core/extensions/types.d.ts.map +1 -1
  504. package/dist/core/extensions/types.js.map +1 -1
  505. package/dist/core/harness/fuentes-de-contexto.d.ts +29 -0
  506. package/dist/core/harness/fuentes-de-contexto.d.ts.map +1 -0
  507. package/dist/core/harness/fuentes-de-contexto.js +44 -0
  508. package/dist/core/harness/fuentes-de-contexto.js.map +1 -0
  509. package/dist/core/harness/refine.d.ts +40 -0
  510. package/dist/core/harness/refine.d.ts.map +1 -0
  511. package/dist/core/harness/refine.js +109 -0
  512. package/dist/core/harness/refine.js.map +1 -0
  513. package/dist/core/harness/store.d.ts +75 -0
  514. package/dist/core/harness/store.d.ts.map +1 -0
  515. package/dist/core/harness/store.js +149 -0
  516. package/dist/core/harness/store.js.map +1 -0
  517. package/dist/core/hooks/contract.d.ts +85 -0
  518. package/dist/core/hooks/contract.d.ts.map +1 -0
  519. package/dist/core/hooks/contract.js +140 -0
  520. package/dist/core/hooks/contract.js.map +1 -0
  521. package/dist/core/hooks/runner.d.ts +42 -0
  522. package/dist/core/hooks/runner.d.ts.map +1 -0
  523. package/dist/core/hooks/runner.js +85 -0
  524. package/dist/core/hooks/runner.js.map +1 -0
  525. package/dist/core/hooks/session-hooks.d.ts +62 -0
  526. package/dist/core/hooks/session-hooks.d.ts.map +1 -0
  527. package/dist/core/hooks/session-hooks.js +84 -0
  528. package/dist/core/hooks/session-hooks.js.map +1 -0
  529. package/dist/core/importar/formatos.d.ts +69 -0
  530. package/dist/core/importar/formatos.d.ts.map +1 -0
  531. package/dist/core/importar/formatos.js +235 -0
  532. package/dist/core/importar/formatos.js.map +1 -0
  533. package/dist/core/interactivo/deteccion.d.ts +44 -0
  534. package/dist/core/interactivo/deteccion.d.ts.map +1 -0
  535. package/dist/core/interactivo/deteccion.js +82 -0
  536. package/dist/core/interactivo/deteccion.js.map +1 -0
  537. package/dist/core/interactivo/sesion.d.ts +50 -0
  538. package/dist/core/interactivo/sesion.d.ts.map +1 -0
  539. package/dist/core/interactivo/sesion.js +156 -0
  540. package/dist/core/interactivo/sesion.js.map +1 -0
  541. package/dist/core/interactivo/tools.d.ts +21 -0
  542. package/dist/core/interactivo/tools.d.ts.map +1 -0
  543. package/dist/core/interactivo/tools.js +122 -0
  544. package/dist/core/interactivo/tools.js.map +1 -0
  545. package/dist/core/keybindings.d.ts.map +1 -1
  546. package/dist/core/keybindings.js +2 -1
  547. package/dist/core/keybindings.js.map +1 -1
  548. package/dist/core/lectura/mapa.d.ts +70 -0
  549. package/dist/core/lectura/mapa.d.ts.map +1 -0
  550. package/dist/core/lectura/mapa.js +177 -0
  551. package/dist/core/lectura/mapa.js.map +1 -0
  552. package/dist/core/lectura/pdf.d.ts +49 -0
  553. package/dist/core/lectura/pdf.d.ts.map +1 -0
  554. package/dist/core/lectura/pdf.js +337 -0
  555. package/dist/core/lectura/pdf.js.map +1 -0
  556. package/dist/core/limpieza/comprobadores.d.ts +28 -0
  557. package/dist/core/limpieza/comprobadores.d.ts.map +1 -0
  558. package/dist/core/limpieza/comprobadores.js +311 -0
  559. package/dist/core/limpieza/comprobadores.js.map +1 -0
  560. package/dist/core/limpieza/parseo.d.ts +19 -0
  561. package/dist/core/limpieza/parseo.d.ts.map +1 -0
  562. package/dist/core/limpieza/parseo.js +124 -0
  563. package/dist/core/limpieza/parseo.js.map +1 -0
  564. package/dist/core/limpieza/reparacion.d.ts +77 -0
  565. package/dist/core/limpieza/reparacion.d.ts.map +1 -0
  566. package/dist/core/limpieza/reparacion.js +254 -0
  567. package/dist/core/limpieza/reparacion.js.map +1 -0
  568. package/dist/core/limpieza/tipos.d.ts +56 -0
  569. package/dist/core/limpieza/tipos.d.ts.map +1 -0
  570. package/dist/core/limpieza/tipos.js +9 -0
  571. package/dist/core/limpieza/tipos.js.map +1 -0
  572. package/dist/core/lsp/cliente.d.ts +52 -0
  573. package/dist/core/lsp/cliente.d.ts.map +1 -0
  574. package/dist/core/lsp/cliente.js +232 -0
  575. package/dist/core/lsp/cliente.js.map +1 -0
  576. package/dist/core/lsp/descubrimiento.d.ts +62 -0
  577. package/dist/core/lsp/descubrimiento.d.ts.map +1 -0
  578. package/dist/core/lsp/descubrimiento.js +152 -0
  579. package/dist/core/lsp/descubrimiento.js.map +1 -0
  580. package/dist/core/lsp/ediciones.d.ts +59 -0
  581. package/dist/core/lsp/ediciones.d.ts.map +1 -0
  582. package/dist/core/lsp/ediciones.js +89 -0
  583. package/dist/core/lsp/ediciones.js.map +1 -0
  584. package/dist/core/lsp/extension.d.ts +28 -0
  585. package/dist/core/lsp/extension.d.ts.map +1 -0
  586. package/dist/core/lsp/extension.js +34 -0
  587. package/dist/core/lsp/extension.js.map +1 -0
  588. package/dist/core/lsp/tools.d.ts +45 -0
  589. package/dist/core/lsp/tools.d.ts.map +1 -0
  590. package/dist/core/lsp/tools.js +265 -0
  591. package/dist/core/lsp/tools.js.map +1 -0
  592. package/dist/core/mcp/client.d.ts +60 -0
  593. package/dist/core/mcp/client.d.ts.map +1 -0
  594. package/dist/core/mcp/client.js +139 -0
  595. package/dist/core/mcp/client.js.map +1 -0
  596. package/dist/core/mcp/manager.d.ts +86 -0
  597. package/dist/core/mcp/manager.d.ts.map +1 -0
  598. package/dist/core/mcp/manager.js +124 -0
  599. package/dist/core/mcp/manager.js.map +1 -0
  600. package/dist/core/mcp/tools.d.ts +15 -0
  601. package/dist/core/mcp/tools.d.ts.map +1 -0
  602. package/dist/core/mcp/tools.js +84 -0
  603. package/dist/core/mcp/tools.js.map +1 -0
  604. package/dist/core/memory-engine/audit-export.d.ts +56 -0
  605. package/dist/core/memory-engine/audit-export.d.ts.map +1 -0
  606. package/dist/core/memory-engine/audit-export.js +100 -0
  607. package/dist/core/memory-engine/audit-export.js.map +1 -0
  608. package/dist/core/memory-engine/audit-indice.d.ts +153 -0
  609. package/dist/core/memory-engine/audit-indice.d.ts.map +1 -0
  610. package/dist/core/memory-engine/audit-indice.js +271 -0
  611. package/dist/core/memory-engine/audit-indice.js.map +1 -0
  612. package/dist/core/memory-engine/audit.d.ts +18 -6
  613. package/dist/core/memory-engine/audit.d.ts.map +1 -1
  614. package/dist/core/memory-engine/audit.js +32 -50
  615. package/dist/core/memory-engine/audit.js.map +1 -1
  616. package/dist/core/memory-engine/engine.d.ts +21 -4
  617. package/dist/core/memory-engine/engine.d.ts.map +1 -1
  618. package/dist/core/memory-engine/engine.js +219 -55
  619. package/dist/core/memory-engine/engine.js.map +1 -1
  620. package/dist/core/memory-engine/inverted-index.d.ts.map +1 -1
  621. package/dist/core/memory-engine/inverted-index.js +67 -10
  622. package/dist/core/memory-engine/inverted-index.js.map +1 -1
  623. package/dist/core/memory-engine/keychain.d.ts.map +1 -1
  624. package/dist/core/memory-engine/keychain.js +1 -6
  625. package/dist/core/memory-engine/keychain.js.map +1 -1
  626. package/dist/core/memory-engine/observation-store.d.ts +0 -1
  627. package/dist/core/memory-engine/observation-store.d.ts.map +1 -1
  628. package/dist/core/memory-engine/observation-store.js +40 -12
  629. package/dist/core/memory-engine/observation-store.js.map +1 -1
  630. package/dist/core/memory-engine/refinements.d.ts +51 -0
  631. package/dist/core/memory-engine/refinements.d.ts.map +1 -0
  632. package/dist/core/memory-engine/refinements.js +99 -0
  633. package/dist/core/memory-engine/refinements.js.map +1 -0
  634. package/dist/core/memory-engine/scanner.d.ts.map +1 -1
  635. package/dist/core/memory-engine/scanner.js +25 -5
  636. package/dist/core/memory-engine/scanner.js.map +1 -1
  637. package/dist/core/memory-engine/security.d.ts.map +1 -1
  638. package/dist/core/memory-engine/security.js +131 -23
  639. package/dist/core/memory-engine/security.js.map +1 -1
  640. package/dist/core/memory-engine/session-indexer.d.ts.map +1 -1
  641. package/dist/core/memory-engine/session-indexer.js +8 -2
  642. package/dist/core/memory-engine/session-indexer.js.map +1 -1
  643. package/dist/core/memory-engine/tools.d.ts +2 -2
  644. package/dist/core/memory-engine/tools.d.ts.map +1 -1
  645. package/dist/core/memory-engine/tools.js +41 -8
  646. package/dist/core/memory-engine/tools.js.map +1 -1
  647. package/dist/core/memory-engine/types.d.ts +2 -0
  648. package/dist/core/memory-engine/types.d.ts.map +1 -1
  649. package/dist/core/memory-engine/types.js.map +1 -1
  650. package/dist/core/memory-engine/vault.d.ts.map +1 -1
  651. package/dist/core/memory-engine/vault.js +2 -2
  652. package/dist/core/memory-engine/vault.js.map +1 -1
  653. package/dist/core/model-config.d.ts.map +1 -1
  654. package/dist/core/model-config.js +2 -1
  655. package/dist/core/model-config.js.map +1 -1
  656. package/dist/core/model-resolver.d.ts +1 -0
  657. package/dist/core/model-resolver.d.ts.map +1 -1
  658. package/dist/core/model-resolver.js +19 -7
  659. package/dist/core/model-resolver.js.map +1 -1
  660. package/dist/core/models-store.d.ts.map +1 -1
  661. package/dist/core/models-store.js +2 -1
  662. package/dist/core/models-store.js.map +1 -1
  663. package/dist/core/muestreo-restringido.d.ts +49 -0
  664. package/dist/core/muestreo-restringido.d.ts.map +1 -0
  665. package/dist/core/muestreo-restringido.js +65 -0
  666. package/dist/core/muestreo-restringido.js.map +1 -0
  667. package/dist/core/orphan-process-journal.d.ts +48 -0
  668. package/dist/core/orphan-process-journal.d.ts.map +1 -0
  669. package/dist/core/orphan-process-journal.js +116 -0
  670. package/dist/core/orphan-process-journal.js.map +1 -0
  671. package/dist/core/package-manager.d.ts.map +1 -1
  672. package/dist/core/package-manager.js +11 -6
  673. package/dist/core/package-manager.js.map +1 -1
  674. package/dist/core/pi-manifest.d.ts.map +1 -1
  675. package/dist/core/pi-manifest.js +2 -1
  676. package/dist/core/pi-manifest.js.map +1 -1
  677. package/dist/core/privacidad/categorias-especiales.d.ts +186 -0
  678. package/dist/core/privacidad/categorias-especiales.d.ts.map +1 -0
  679. package/dist/core/privacidad/categorias-especiales.js +745 -0
  680. package/dist/core/privacidad/categorias-especiales.js.map +1 -0
  681. package/dist/core/privacidad/tapar.d.ts +48 -0
  682. package/dist/core/privacidad/tapar.d.ts.map +1 -0
  683. package/dist/core/privacidad/tapar.js +66 -0
  684. package/dist/core/privacidad/tapar.js.map +1 -0
  685. package/dist/core/prompt-cache/diagnostics.d.ts +33 -0
  686. package/dist/core/prompt-cache/diagnostics.d.ts.map +1 -0
  687. package/dist/core/prompt-cache/diagnostics.js +100 -0
  688. package/dist/core/prompt-cache/diagnostics.js.map +1 -0
  689. package/dist/core/prompt-cache/index.d.ts +33 -0
  690. package/dist/core/prompt-cache/index.d.ts.map +1 -0
  691. package/dist/core/prompt-cache/index.js +189 -0
  692. package/dist/core/prompt-cache/index.js.map +1 -0
  693. package/dist/core/prompt-cache/payload.d.ts +58 -0
  694. package/dist/core/prompt-cache/payload.d.ts.map +1 -0
  695. package/dist/core/prompt-cache/payload.js +122 -0
  696. package/dist/core/prompt-cache/payload.js.map +1 -0
  697. package/dist/core/prompt-cache/stabilize.d.ts +65 -0
  698. package/dist/core/prompt-cache/stabilize.d.ts.map +1 -0
  699. package/dist/core/prompt-cache/stabilize.js +137 -0
  700. package/dist/core/prompt-cache/stabilize.js.map +1 -0
  701. package/dist/core/prompt-cache/stats.d.ts +55 -0
  702. package/dist/core/prompt-cache/stats.d.ts.map +1 -0
  703. package/dist/core/prompt-cache/stats.js +158 -0
  704. package/dist/core/prompt-cache/stats.js.map +1 -0
  705. package/dist/core/prompt-eleccion.d.ts +38 -0
  706. package/dist/core/prompt-eleccion.d.ts.map +1 -0
  707. package/dist/core/prompt-eleccion.js +46 -0
  708. package/dist/core/prompt-eleccion.js.map +1 -0
  709. package/dist/core/prompt-optimizer.d.ts +53 -0
  710. package/dist/core/prompt-optimizer.d.ts.map +1 -0
  711. package/dist/core/prompt-optimizer.js +138 -0
  712. package/dist/core/prompt-optimizer.js.map +1 -0
  713. package/dist/core/prompts/montar.d.ts +75 -0
  714. package/dist/core/prompts/montar.d.ts.map +1 -0
  715. package/dist/core/prompts/montar.js +146 -0
  716. package/dist/core/prompts/montar.js.map +1 -0
  717. package/dist/core/prompts/plantilla.d.ts +54 -0
  718. package/dist/core/prompts/plantilla.d.ts.map +1 -0
  719. package/dist/core/prompts/plantilla.js +153 -0
  720. package/dist/core/prompts/plantilla.js.map +1 -0
  721. package/dist/core/prompts/sistema.md +134 -0
  722. package/dist/core/provider-attribution.d.ts +24 -2
  723. package/dist/core/provider-attribution.d.ts.map +1 -1
  724. package/dist/core/provider-attribution.js +24 -42
  725. package/dist/core/provider-attribution.js.map +1 -1
  726. package/dist/core/remote-catalog-provider.d.ts.map +1 -1
  727. package/dist/core/remote-catalog-provider.js +2 -1
  728. package/dist/core/remote-catalog-provider.js.map +1 -1
  729. package/dist/core/remoto/destino.d.ts +38 -0
  730. package/dist/core/remoto/destino.d.ts.map +1 -0
  731. package/dist/core/remoto/destino.js +105 -0
  732. package/dist/core/remoto/destino.js.map +1 -0
  733. package/dist/core/remoto/ejecutor.d.ts +59 -0
  734. package/dist/core/remoto/ejecutor.d.ts.map +1 -0
  735. package/dist/core/remoto/ejecutor.js +225 -0
  736. package/dist/core/remoto/ejecutor.js.map +1 -0
  737. package/dist/core/remoto/ficheros.d.ts +29 -0
  738. package/dist/core/remoto/ficheros.d.ts.map +1 -0
  739. package/dist/core/remoto/ficheros.js +90 -0
  740. package/dist/core/remoto/ficheros.js.map +1 -0
  741. package/dist/core/remoto/registro-extension.d.ts +15 -0
  742. package/dist/core/remoto/registro-extension.d.ts.map +1 -0
  743. package/dist/core/remoto/registro-extension.js +17 -0
  744. package/dist/core/remoto/registro-extension.js.map +1 -0
  745. package/dist/core/remoto/tools.d.ts +28 -0
  746. package/dist/core/remoto/tools.d.ts.map +1 -0
  747. package/dist/core/remoto/tools.js +31 -0
  748. package/dist/core/remoto/tools.js.map +1 -0
  749. package/dist/core/resource-loader.d.ts +58 -0
  750. package/dist/core/resource-loader.d.ts.map +1 -1
  751. package/dist/core/resource-loader.js +326 -8
  752. package/dist/core/resource-loader.js.map +1 -1
  753. package/dist/core/revision/hallazgo.d.ts +51 -0
  754. package/dist/core/revision/hallazgo.d.ts.map +1 -0
  755. package/dist/core/revision/hallazgo.js +73 -0
  756. package/dist/core/revision/hallazgo.js.map +1 -0
  757. package/dist/core/revision/revisor.d.ts +81 -0
  758. package/dist/core/revision/revisor.d.ts.map +1 -0
  759. package/dist/core/revision/revisor.js +132 -0
  760. package/dist/core/revision/revisor.js.map +1 -0
  761. package/dist/core/revision/sarif.d.ts +30 -0
  762. package/dist/core/revision/sarif.d.ts.map +1 -0
  763. package/dist/core/revision/sarif.js +83 -0
  764. package/dist/core/revision/sarif.js.map +1 -0
  765. package/dist/core/scheduler/scheduler.d.ts +87 -0
  766. package/dist/core/scheduler/scheduler.d.ts.map +1 -0
  767. package/dist/core/scheduler/scheduler.js +178 -0
  768. package/dist/core/scheduler/scheduler.js.map +1 -0
  769. package/dist/core/sdk.d.ts +8 -0
  770. package/dist/core/sdk.d.ts.map +1 -1
  771. package/dist/core/sdk.js +11 -1
  772. package/dist/core/sdk.js.map +1 -1
  773. package/dist/core/sesion/cerrar-llamadas-abiertas.d.ts +49 -0
  774. package/dist/core/sesion/cerrar-llamadas-abiertas.d.ts.map +1 -0
  775. package/dist/core/sesion/cerrar-llamadas-abiertas.js +77 -0
  776. package/dist/core/sesion/cerrar-llamadas-abiertas.js.map +1 -0
  777. package/dist/core/session-manager.d.ts.map +1 -1
  778. package/dist/core/session-manager.js +2 -1
  779. package/dist/core/session-manager.js.map +1 -1
  780. package/dist/core/settings-diagnostics.d.ts +9 -0
  781. package/dist/core/settings-diagnostics.d.ts.map +1 -0
  782. package/dist/core/settings-diagnostics.js +21 -0
  783. package/dist/core/settings-diagnostics.js.map +1 -0
  784. package/dist/core/settings-manager.d.ts +156 -0
  785. package/dist/core/settings-manager.d.ts.map +1 -1
  786. package/dist/core/settings-manager.js +255 -10
  787. package/dist/core/settings-manager.js.map +1 -1
  788. package/dist/core/skills.d.ts.map +1 -1
  789. package/dist/core/skills.js +51 -33
  790. package/dist/core/skills.js.map +1 -1
  791. package/dist/core/slash-commands.d.ts.map +1 -1
  792. package/dist/core/slash-commands.js +2 -1
  793. package/dist/core/slash-commands.js.map +1 -1
  794. package/dist/core/system-prompt.d.ts +17 -0
  795. package/dist/core/system-prompt.d.ts.map +1 -1
  796. package/dist/core/system-prompt.js +13 -5
  797. package/dist/core/system-prompt.js.map +1 -1
  798. package/dist/core/telemetria/otlp.d.ts +122 -0
  799. package/dist/core/telemetria/otlp.d.ts.map +1 -0
  800. package/dist/core/telemetria/otlp.js +373 -0
  801. package/dist/core/telemetria/otlp.js.map +1 -0
  802. package/dist/core/tools/coercion-argumentos.d.ts +48 -0
  803. package/dist/core/tools/coercion-argumentos.d.ts.map +1 -0
  804. package/dist/core/tools/coercion-argumentos.js +99 -0
  805. package/dist/core/tools/coercion-argumentos.js.map +1 -0
  806. package/dist/core/tools/edit-diff.d.ts +0 -12
  807. package/dist/core/tools/edit-diff.d.ts.map +1 -1
  808. package/dist/core/tools/edit-diff.js +234 -12
  809. package/dist/core/tools/edit-diff.js.map +1 -1
  810. package/dist/core/tools/edit.d.ts.map +1 -1
  811. package/dist/core/tools/edit.js +28 -5
  812. package/dist/core/tools/edit.js.map +1 -1
  813. package/dist/core/tools/file-mutation-queue.d.ts.map +1 -1
  814. package/dist/core/tools/file-mutation-queue.js +5 -0
  815. package/dist/core/tools/file-mutation-queue.js.map +1 -1
  816. package/dist/core/tools/index.d.ts.map +1 -1
  817. package/dist/core/tools/index.js +2 -2
  818. package/dist/core/tools/index.js.map +1 -1
  819. package/dist/core/tools/json-tolerante.d.ts +30 -0
  820. package/dist/core/tools/json-tolerante.d.ts.map +1 -0
  821. package/dist/core/tools/json-tolerante.js +70 -0
  822. package/dist/core/tools/json-tolerante.js.map +1 -0
  823. package/dist/core/tools/project-memory-tool.d.ts.map +1 -1
  824. package/dist/core/tools/project-memory-tool.js +4 -1
  825. package/dist/core/tools/project-memory-tool.js.map +1 -1
  826. package/dist/core/tools/read.d.ts.map +1 -1
  827. package/dist/core/tools/read.js +17 -0
  828. package/dist/core/tools/read.js.map +1 -1
  829. package/dist/core/tools/tool-definition-wrapper.d.ts +14 -1
  830. package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -1
  831. package/dist/core/tools/tool-definition-wrapper.js +17 -1
  832. package/dist/core/tools/tool-definition-wrapper.js.map +1 -1
  833. package/dist/core/trust-manager.d.ts.map +1 -1
  834. package/dist/core/trust-manager.js +2 -1
  835. package/dist/core/trust-manager.js.map +1 -1
  836. package/dist/core/turno-vacio/detectar.d.ts +38 -0
  837. package/dist/core/turno-vacio/detectar.d.ts.map +1 -0
  838. package/dist/core/turno-vacio/detectar.js +66 -0
  839. package/dist/core/turno-vacio/detectar.js.map +1 -0
  840. package/dist/core/undo/journal.d.ts +57 -0
  841. package/dist/core/undo/journal.d.ts.map +1 -0
  842. package/dist/core/undo/journal.js +178 -0
  843. package/dist/core/undo/journal.js.map +1 -0
  844. package/dist/core/urls-internas/auditoria.d.ts +10 -0
  845. package/dist/core/urls-internas/auditoria.d.ts.map +1 -0
  846. package/dist/core/urls-internas/auditoria.js +42 -0
  847. package/dist/core/urls-internas/auditoria.js.map +1 -0
  848. package/dist/core/urls-internas/boveda.d.ts +13 -0
  849. package/dist/core/urls-internas/boveda.d.ts.map +1 -0
  850. package/dist/core/urls-internas/boveda.js +40 -0
  851. package/dist/core/urls-internas/boveda.js.map +1 -0
  852. package/dist/core/urls-internas/lector.d.ts +30 -0
  853. package/dist/core/urls-internas/lector.d.ts.map +1 -0
  854. package/dist/core/urls-internas/lector.js +56 -0
  855. package/dist/core/urls-internas/lector.js.map +1 -0
  856. package/dist/core/urls-internas/memoria.d.ts +11 -0
  857. package/dist/core/urls-internas/memoria.d.ts.map +1 -0
  858. package/dist/core/urls-internas/memoria.js +25 -0
  859. package/dist/core/urls-internas/memoria.js.map +1 -0
  860. package/dist/core/urls-internas/parse.d.ts +28 -0
  861. package/dist/core/urls-internas/parse.d.ts.map +1 -0
  862. package/dist/core/urls-internas/parse.js +32 -0
  863. package/dist/core/urls-internas/parse.js.map +1 -0
  864. package/dist/core/urls-internas/reglas.d.ts +10 -0
  865. package/dist/core/urls-internas/reglas.d.ts.map +1 -0
  866. package/dist/core/urls-internas/reglas.js +31 -0
  867. package/dist/core/urls-internas/reglas.js.map +1 -0
  868. package/dist/core/usage/aggregate.d.ts +68 -0
  869. package/dist/core/usage/aggregate.d.ts.map +1 -0
  870. package/dist/core/usage/aggregate.js +93 -0
  871. package/dist/core/usage/aggregate.js.map +1 -0
  872. package/dist/core/usage/cuota/anthropic.d.ts +10 -0
  873. package/dist/core/usage/cuota/anthropic.d.ts.map +1 -0
  874. package/dist/core/usage/cuota/anthropic.js +63 -0
  875. package/dist/core/usage/cuota/anthropic.js.map +1 -0
  876. package/dist/core/usage/cuota/cache.d.ts +20 -0
  877. package/dist/core/usage/cuota/cache.d.ts.map +1 -0
  878. package/dist/core/usage/cuota/cache.js +36 -0
  879. package/dist/core/usage/cuota/cache.js.map +1 -0
  880. package/dist/core/usage/cuota/github-copilot.d.ts +9 -0
  881. package/dist/core/usage/cuota/github-copilot.d.ts.map +1 -0
  882. package/dist/core/usage/cuota/github-copilot.js +67 -0
  883. package/dist/core/usage/cuota/github-copilot.js.map +1 -0
  884. package/dist/core/usage/cuota/google-gemini.d.ts +9 -0
  885. package/dist/core/usage/cuota/google-gemini.d.ts.map +1 -0
  886. package/dist/core/usage/cuota/google-gemini.js +72 -0
  887. package/dist/core/usage/cuota/google-gemini.js.map +1 -0
  888. package/dist/core/usage/cuota/index.d.ts +25 -0
  889. package/dist/core/usage/cuota/index.d.ts.map +1 -0
  890. package/dist/core/usage/cuota/index.js +50 -0
  891. package/dist/core/usage/cuota/index.js.map +1 -0
  892. package/dist/core/usage/cuota/openai-codex.d.ts +9 -0
  893. package/dist/core/usage/cuota/openai-codex.d.ts.map +1 -0
  894. package/dist/core/usage/cuota/openai-codex.js +59 -0
  895. package/dist/core/usage/cuota/openai-codex.js.map +1 -0
  896. package/dist/core/usage/cuota/openrouter.d.ts +10 -0
  897. package/dist/core/usage/cuota/openrouter.d.ts.map +1 -0
  898. package/dist/core/usage/cuota/openrouter.js +47 -0
  899. package/dist/core/usage/cuota/openrouter.js.map +1 -0
  900. package/dist/core/usage/cuota/tipos.d.ts +50 -0
  901. package/dist/core/usage/cuota/tipos.d.ts.map +1 -0
  902. package/dist/core/usage/cuota/tipos.js +25 -0
  903. package/dist/core/usage/cuota/tipos.js.map +1 -0
  904. package/dist/core/web/busqueda-nativa.d.ts +82 -0
  905. package/dist/core/web/busqueda-nativa.d.ts.map +1 -0
  906. package/dist/core/web/busqueda-nativa.js +163 -0
  907. package/dist/core/web/busqueda-nativa.js.map +1 -0
  908. package/dist/core/web/destino.d.ts +58 -0
  909. package/dist/core/web/destino.d.ts.map +1 -0
  910. package/dist/core/web/destino.js +127 -0
  911. package/dist/core/web/destino.js.map +1 -0
  912. package/dist/core/web/proveedores/brave.d.ts +6 -0
  913. package/dist/core/web/proveedores/brave.d.ts.map +1 -0
  914. package/dist/core/web/proveedores/brave.js +20 -0
  915. package/dist/core/web/proveedores/brave.js.map +1 -0
  916. package/dist/core/web/proveedores/claves.d.ts +19 -0
  917. package/dist/core/web/proveedores/claves.d.ts.map +1 -0
  918. package/dist/core/web/proveedores/claves.js +36 -0
  919. package/dist/core/web/proveedores/claves.js.map +1 -0
  920. package/dist/core/web/proveedores/duckduckgo.d.ts +3 -0
  921. package/dist/core/web/proveedores/duckduckgo.d.ts.map +1 -0
  922. package/dist/core/web/proveedores/duckduckgo.js +109 -0
  923. package/dist/core/web/proveedores/duckduckgo.js.map +1 -0
  924. package/dist/core/web/proveedores/ecosia.d.ts +3 -0
  925. package/dist/core/web/proveedores/ecosia.d.ts.map +1 -0
  926. package/dist/core/web/proveedores/ecosia.js +72 -0
  927. package/dist/core/web/proveedores/ecosia.js.map +1 -0
  928. package/dist/core/web/proveedores/exa.d.ts +6 -0
  929. package/dist/core/web/proveedores/exa.d.ts.map +1 -0
  930. package/dist/core/web/proveedores/exa.js +24 -0
  931. package/dist/core/web/proveedores/exa.js.map +1 -0
  932. package/dist/core/web/proveedores/mojeek.d.ts +3 -0
  933. package/dist/core/web/proveedores/mojeek.d.ts.map +1 -0
  934. package/dist/core/web/proveedores/mojeek.js +65 -0
  935. package/dist/core/web/proveedores/mojeek.js.map +1 -0
  936. package/dist/core/web/proveedores/navegador.d.ts +10 -0
  937. package/dist/core/web/proveedores/navegador.d.ts.map +1 -0
  938. package/dist/core/web/proveedores/navegador.js +13 -0
  939. package/dist/core/web/proveedores/navegador.js.map +1 -0
  940. package/dist/core/web/proveedores/registro.d.ts +43 -0
  941. package/dist/core/web/proveedores/registro.d.ts.map +1 -0
  942. package/dist/core/web/proveedores/registro.js +49 -0
  943. package/dist/core/web/proveedores/registro.js.map +1 -0
  944. package/dist/core/web/proveedores/searxng.d.ts +9 -0
  945. package/dist/core/web/proveedores/searxng.d.ts.map +1 -0
  946. package/dist/core/web/proveedores/searxng.js +17 -0
  947. package/dist/core/web/proveedores/searxng.js.map +1 -0
  948. package/dist/core/web/proveedores/serper.d.ts +9 -0
  949. package/dist/core/web/proveedores/serper.d.ts.map +1 -0
  950. package/dist/core/web/proveedores/serper.js +19 -0
  951. package/dist/core/web/proveedores/serper.js.map +1 -0
  952. package/dist/core/web/proveedores/tavily.d.ts +6 -0
  953. package/dist/core/web/proveedores/tavily.d.ts.map +1 -0
  954. package/dist/core/web/proveedores/tavily.js +19 -0
  955. package/dist/core/web/proveedores/tavily.js.map +1 -0
  956. package/dist/core/web/proveedores/tipos.d.ts +36 -0
  957. package/dist/core/web/proveedores/tipos.d.ts.map +1 -0
  958. package/dist/core/web/proveedores/tipos.js +10 -0
  959. package/dist/core/web/proveedores/tipos.js.map +1 -0
  960. package/dist/core/web/registro-red.d.ts +43 -0
  961. package/dist/core/web/registro-red.d.ts.map +1 -0
  962. package/dist/core/web/registro-red.js +86 -0
  963. package/dist/core/web/registro-red.js.map +1 -0
  964. package/dist/core/web/scrapers/cisa-kev.d.ts +10 -0
  965. package/dist/core/web/scrapers/cisa-kev.d.ts.map +1 -0
  966. package/dist/core/web/scrapers/cisa-kev.js +38 -0
  967. package/dist/core/web/scrapers/cisa-kev.js.map +1 -0
  968. package/dist/core/web/scrapers/crates-io.d.ts +11 -0
  969. package/dist/core/web/scrapers/crates-io.d.ts.map +1 -0
  970. package/dist/core/web/scrapers/crates-io.js +29 -0
  971. package/dist/core/web/scrapers/crates-io.js.map +1 -0
  972. package/dist/core/web/scrapers/docs-rs.d.ts +10 -0
  973. package/dist/core/web/scrapers/docs-rs.d.ts.map +1 -0
  974. package/dist/core/web/scrapers/docs-rs.js +35 -0
  975. package/dist/core/web/scrapers/docs-rs.js.map +1 -0
  976. package/dist/core/web/scrapers/github.d.ts +3 -0
  977. package/dist/core/web/scrapers/github.d.ts.map +1 -0
  978. package/dist/core/web/scrapers/github.js +72 -0
  979. package/dist/core/web/scrapers/github.js.map +1 -0
  980. package/dist/core/web/scrapers/go-pkg.d.ts +7 -0
  981. package/dist/core/web/scrapers/go-pkg.d.ts.map +1 -0
  982. package/dist/core/web/scrapers/go-pkg.js +30 -0
  983. package/dist/core/web/scrapers/go-pkg.js.map +1 -0
  984. package/dist/core/web/scrapers/hex.d.ts +6 -0
  985. package/dist/core/web/scrapers/hex.d.ts.map +1 -0
  986. package/dist/core/web/scrapers/hex.js +27 -0
  987. package/dist/core/web/scrapers/hex.js.map +1 -0
  988. package/dist/core/web/scrapers/maven.d.ts +8 -0
  989. package/dist/core/web/scrapers/maven.d.ts.map +1 -0
  990. package/dist/core/web/scrapers/maven.js +41 -0
  991. package/dist/core/web/scrapers/maven.js.map +1 -0
  992. package/dist/core/web/scrapers/mdn.d.ts +6 -0
  993. package/dist/core/web/scrapers/mdn.d.ts.map +1 -0
  994. package/dist/core/web/scrapers/mdn.js +28 -0
  995. package/dist/core/web/scrapers/mdn.js.map +1 -0
  996. package/dist/core/web/scrapers/npm.d.ts +11 -0
  997. package/dist/core/web/scrapers/npm.d.ts.map +1 -0
  998. package/dist/core/web/scrapers/npm.js +57 -0
  999. package/dist/core/web/scrapers/npm.js.map +1 -0
  1000. package/dist/core/web/scrapers/nuget.d.ts +8 -0
  1001. package/dist/core/web/scrapers/nuget.d.ts.map +1 -0
  1002. package/dist/core/web/scrapers/nuget.js +22 -0
  1003. package/dist/core/web/scrapers/nuget.js.map +1 -0
  1004. package/dist/core/web/scrapers/nvd.d.ts +7 -0
  1005. package/dist/core/web/scrapers/nvd.d.ts.map +1 -0
  1006. package/dist/core/web/scrapers/nvd.js +37 -0
  1007. package/dist/core/web/scrapers/nvd.js.map +1 -0
  1008. package/dist/core/web/scrapers/pypi.d.ts +6 -0
  1009. package/dist/core/web/scrapers/pypi.d.ts.map +1 -0
  1010. package/dist/core/web/scrapers/pypi.js +31 -0
  1011. package/dist/core/web/scrapers/pypi.js.map +1 -0
  1012. package/dist/core/web/scrapers/registro.d.ts +13 -0
  1013. package/dist/core/web/scrapers/registro.d.ts.map +1 -0
  1014. package/dist/core/web/scrapers/registro.js +65 -0
  1015. package/dist/core/web/scrapers/registro.js.map +1 -0
  1016. package/dist/core/web/scrapers/rubygems.d.ts +6 -0
  1017. package/dist/core/web/scrapers/rubygems.d.ts.map +1 -0
  1018. package/dist/core/web/scrapers/rubygems.js +23 -0
  1019. package/dist/core/web/scrapers/rubygems.js.map +1 -0
  1020. package/dist/core/web/scrapers/stackoverflow.d.ts +3 -0
  1021. package/dist/core/web/scrapers/stackoverflow.d.ts.map +1 -0
  1022. package/dist/core/web/scrapers/stackoverflow.js +46 -0
  1023. package/dist/core/web/scrapers/stackoverflow.js.map +1 -0
  1024. package/dist/core/web/scrapers/tipos.d.ts +42 -0
  1025. package/dist/core/web/scrapers/tipos.d.ts.map +1 -0
  1026. package/dist/core/web/scrapers/tipos.js +23 -0
  1027. package/dist/core/web/scrapers/tipos.js.map +1 -0
  1028. package/dist/core/web/texto.d.ts +10 -0
  1029. package/dist/core/web/texto.d.ts.map +1 -0
  1030. package/dist/core/web/texto.js +26 -0
  1031. package/dist/core/web/texto.js.map +1 -0
  1032. package/dist/core/web/tools.d.ts +91 -0
  1033. package/dist/core/web/tools.d.ts.map +1 -0
  1034. package/dist/core/web/tools.js +304 -0
  1035. package/dist/core/web/tools.js.map +1 -0
  1036. package/dist/core/wiki/almacen.d.ts +33 -0
  1037. package/dist/core/wiki/almacen.d.ts.map +1 -0
  1038. package/dist/core/wiki/almacen.js +93 -0
  1039. package/dist/core/wiki/almacen.js.map +1 -0
  1040. package/dist/core/wiki/citas.d.ts +111 -0
  1041. package/dist/core/wiki/citas.d.ts.map +1 -0
  1042. package/dist/core/wiki/citas.js +146 -0
  1043. package/dist/core/wiki/citas.js.map +1 -0
  1044. package/dist/core/workflows/agent-runner.d.ts +88 -0
  1045. package/dist/core/workflows/agent-runner.d.ts.map +1 -0
  1046. package/dist/core/workflows/agent-runner.js +312 -0
  1047. package/dist/core/workflows/agent-runner.js.map +1 -0
  1048. package/dist/core/workflows/builtins.d.ts +41 -0
  1049. package/dist/core/workflows/builtins.d.ts.map +1 -0
  1050. package/dist/core/workflows/builtins.js +283 -0
  1051. package/dist/core/workflows/builtins.js.map +1 -0
  1052. package/dist/core/workflows/contrato/esquema.d.ts +32 -0
  1053. package/dist/core/workflows/contrato/esquema.d.ts.map +1 -0
  1054. package/dist/core/workflows/contrato/esquema.js +25 -0
  1055. package/dist/core/workflows/contrato/esquema.js.map +1 -0
  1056. package/dist/core/workflows/contrato/reparar-argumentos.d.ts +69 -0
  1057. package/dist/core/workflows/contrato/reparar-argumentos.d.ts.map +1 -0
  1058. package/dist/core/workflows/contrato/reparar-argumentos.js +117 -0
  1059. package/dist/core/workflows/contrato/reparar-argumentos.js.map +1 -0
  1060. package/dist/core/workflows/contrato/validador.d.ts +30 -0
  1061. package/dist/core/workflows/contrato/validador.d.ts.map +1 -0
  1062. package/dist/core/workflows/contrato/validador.js +56 -0
  1063. package/dist/core/workflows/contrato/validador.js.map +1 -0
  1064. package/dist/core/workflows/contrato/yield.d.ts +65 -0
  1065. package/dist/core/workflows/contrato/yield.d.ts.map +1 -0
  1066. package/dist/core/workflows/contrato/yield.js +80 -0
  1067. package/dist/core/workflows/contrato/yield.js.map +1 -0
  1068. package/dist/core/workflows/goal-engine/engine.d.ts +151 -0
  1069. package/dist/core/workflows/goal-engine/engine.d.ts.map +1 -0
  1070. package/dist/core/workflows/goal-engine/engine.js +503 -0
  1071. package/dist/core/workflows/goal-engine/engine.js.map +1 -0
  1072. package/dist/core/workflows/goal-engine/errors.d.ts +7 -0
  1073. package/dist/core/workflows/goal-engine/errors.d.ts.map +1 -0
  1074. package/dist/core/workflows/goal-engine/errors.js +9 -0
  1075. package/dist/core/workflows/goal-engine/errors.js.map +1 -0
  1076. package/dist/core/workflows/goal-engine/index.d.ts +13 -0
  1077. package/dist/core/workflows/goal-engine/index.d.ts.map +1 -0
  1078. package/dist/core/workflows/goal-engine/index.js +8 -0
  1079. package/dist/core/workflows/goal-engine/index.js.map +1 -0
  1080. package/dist/core/workflows/goal-engine/persistence.d.ts +31 -0
  1081. package/dist/core/workflows/goal-engine/persistence.d.ts.map +1 -0
  1082. package/dist/core/workflows/goal-engine/persistence.js +145 -0
  1083. package/dist/core/workflows/goal-engine/persistence.js.map +1 -0
  1084. package/dist/core/workflows/goal-engine/prompts.d.ts +37 -0
  1085. package/dist/core/workflows/goal-engine/prompts.d.ts.map +1 -0
  1086. package/dist/core/workflows/goal-engine/prompts.js +131 -0
  1087. package/dist/core/workflows/goal-engine/prompts.js.map +1 -0
  1088. package/dist/core/workflows/goal-engine/state.d.ts +41 -0
  1089. package/dist/core/workflows/goal-engine/state.d.ts.map +1 -0
  1090. package/dist/core/workflows/goal-engine/state.js +397 -0
  1091. package/dist/core/workflows/goal-engine/state.js.map +1 -0
  1092. package/dist/core/workflows/goal-engine/tools.d.ts +31 -0
  1093. package/dist/core/workflows/goal-engine/tools.d.ts.map +1 -0
  1094. package/dist/core/workflows/goal-engine/tools.js +211 -0
  1095. package/dist/core/workflows/goal-engine/tools.js.map +1 -0
  1096. package/dist/core/workflows/goal-engine/types.d.ts +286 -0
  1097. package/dist/core/workflows/goal-engine/types.d.ts.map +1 -0
  1098. package/dist/core/workflows/goal-engine/types.js +17 -0
  1099. package/dist/core/workflows/goal-engine/types.js.map +1 -0
  1100. package/dist/core/workflows/goal-engine/worktree-fingerprint.d.ts +23 -0
  1101. package/dist/core/workflows/goal-engine/worktree-fingerprint.d.ts.map +1 -0
  1102. package/dist/core/workflows/goal-engine/worktree-fingerprint.js +72 -0
  1103. package/dist/core/workflows/goal-engine/worktree-fingerprint.js.map +1 -0
  1104. package/dist/core/workflows/graph-sync.d.ts +67 -0
  1105. package/dist/core/workflows/graph-sync.d.ts.map +1 -0
  1106. package/dist/core/workflows/graph-sync.js +188 -0
  1107. package/dist/core/workflows/graph-sync.js.map +1 -0
  1108. package/dist/core/workflows/graph.d.ts +143 -0
  1109. package/dist/core/workflows/graph.d.ts.map +1 -0
  1110. package/dist/core/workflows/graph.js +319 -0
  1111. package/dist/core/workflows/graph.js.map +1 -0
  1112. package/dist/core/workflows/index.d.ts +26 -0
  1113. package/dist/core/workflows/index.d.ts.map +1 -0
  1114. package/dist/core/workflows/index.js +18 -0
  1115. package/dist/core/workflows/index.js.map +1 -0
  1116. package/dist/core/workflows/journal.d.ts +68 -0
  1117. package/dist/core/workflows/journal.d.ts.map +1 -0
  1118. package/dist/core/workflows/journal.js +83 -0
  1119. package/dist/core/workflows/journal.js.map +1 -0
  1120. package/dist/core/workflows/manager.d.ts +122 -0
  1121. package/dist/core/workflows/manager.d.ts.map +1 -0
  1122. package/dist/core/workflows/manager.js +351 -0
  1123. package/dist/core/workflows/manager.js.map +1 -0
  1124. package/dist/core/workflows/resolve-script.d.ts +35 -0
  1125. package/dist/core/workflows/resolve-script.d.ts.map +1 -0
  1126. package/dist/core/workflows/resolve-script.js +66 -0
  1127. package/dist/core/workflows/resolve-script.js.map +1 -0
  1128. package/dist/core/workflows/runtime.d.ts +62 -0
  1129. package/dist/core/workflows/runtime.d.ts.map +1 -0
  1130. package/dist/core/workflows/runtime.js +380 -0
  1131. package/dist/core/workflows/runtime.js.map +1 -0
  1132. package/dist/core/workflows/save-as-skill.d.ts +27 -0
  1133. package/dist/core/workflows/save-as-skill.d.ts.map +1 -0
  1134. package/dist/core/workflows/save-as-skill.js +54 -0
  1135. package/dist/core/workflows/save-as-skill.js.map +1 -0
  1136. package/dist/core/workflows/shared-store.d.ts +31 -0
  1137. package/dist/core/workflows/shared-store.d.ts.map +1 -0
  1138. package/dist/core/workflows/shared-store.js +80 -0
  1139. package/dist/core/workflows/shared-store.js.map +1 -0
  1140. package/dist/core/workflows/subagent-host.d.ts +50 -0
  1141. package/dist/core/workflows/subagent-host.d.ts.map +1 -0
  1142. package/dist/core/workflows/subagent-host.js +225 -0
  1143. package/dist/core/workflows/subagent-host.js.map +1 -0
  1144. package/dist/core/workflows/tool-workflow.d.ts +22 -0
  1145. package/dist/core/workflows/tool-workflow.d.ts.map +1 -0
  1146. package/dist/core/workflows/tool-workflow.js +120 -0
  1147. package/dist/core/workflows/tool-workflow.js.map +1 -0
  1148. package/dist/core/workflows/types.d.ts +191 -0
  1149. package/dist/core/workflows/types.d.ts.map +1 -0
  1150. package/dist/core/workflows/types.js +26 -0
  1151. package/dist/core/workflows/types.js.map +1 -0
  1152. package/dist/core/workflows/worktree.d.ts +42 -0
  1153. package/dist/core/workflows/worktree.d.ts.map +1 -0
  1154. package/dist/core/workflows/worktree.js +107 -0
  1155. package/dist/core/workflows/worktree.js.map +1 -0
  1156. package/dist/extensions/llama/index.d.ts.map +1 -1
  1157. package/dist/extensions/llama/index.js +2 -0
  1158. package/dist/extensions/llama/index.js.map +1 -1
  1159. package/dist/extensions/llama/provider.d.ts.map +1 -1
  1160. package/dist/extensions/llama/provider.js +6 -2
  1161. package/dist/extensions/llama/provider.js.map +1 -1
  1162. package/dist/extensions/remoto/index.d.ts +22 -0
  1163. package/dist/extensions/remoto/index.d.ts.map +1 -0
  1164. package/dist/extensions/remoto/index.js +54 -0
  1165. package/dist/extensions/remoto/index.js.map +1 -0
  1166. package/dist/index.d.ts +1 -13
  1167. package/dist/index.d.ts.map +1 -1
  1168. package/dist/index.js +7 -13
  1169. package/dist/index.js.map +1 -1
  1170. package/dist/main.d.ts +4 -0
  1171. package/dist/main.d.ts.map +1 -1
  1172. package/dist/main.js +26 -15
  1173. package/dist/main.js.map +1 -1
  1174. package/dist/migrations.d.ts.map +1 -1
  1175. package/dist/migrations.js +4 -3
  1176. package/dist/migrations.js.map +1 -1
  1177. package/dist/modes/acp/acp-mode.d.ts +42 -0
  1178. package/dist/modes/acp/acp-mode.d.ts.map +1 -0
  1179. package/dist/modes/acp/acp-mode.js +190 -0
  1180. package/dist/modes/acp/acp-mode.js.map +1 -0
  1181. package/dist/modes/acp/events.d.ts +74 -0
  1182. package/dist/modes/acp/events.d.ts.map +1 -0
  1183. package/dist/modes/acp/events.js +116 -0
  1184. package/dist/modes/acp/events.js.map +1 -0
  1185. package/dist/modes/interactive/components/home-screen.d.ts.map +1 -1
  1186. package/dist/modes/interactive/components/home-screen.js +2 -2
  1187. package/dist/modes/interactive/components/home-screen.js.map +1 -1
  1188. package/dist/modes/interactive/components/model-selector.d.ts +9 -3
  1189. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
  1190. package/dist/modes/interactive/components/model-selector.js +56 -12
  1191. package/dist/modes/interactive/components/model-selector.js.map +1 -1
  1192. package/dist/modes/interactive/components/prompt-optimization.d.ts +16 -0
  1193. package/dist/modes/interactive/components/prompt-optimization.d.ts.map +1 -0
  1194. package/dist/modes/interactive/components/prompt-optimization.js +46 -0
  1195. package/dist/modes/interactive/components/prompt-optimization.js.map +1 -0
  1196. package/dist/modes/interactive/components/settings-selector.d.ts +19 -2
  1197. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  1198. package/dist/modes/interactive/components/settings-selector.js +180 -56
  1199. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  1200. package/dist/modes/interactive/components/settings-submenu.d.ts +72 -0
  1201. package/dist/modes/interactive/components/settings-submenu.d.ts.map +1 -0
  1202. package/dist/modes/interactive/components/settings-submenu.js +165 -0
  1203. package/dist/modes/interactive/components/settings-submenu.js.map +1 -0
  1204. package/dist/modes/interactive/components/thinking-selector.d.ts +15 -3
  1205. package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
  1206. package/dist/modes/interactive/components/thinking-selector.js +74 -17
  1207. package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
  1208. package/dist/modes/interactive/external-editor.d.ts.map +1 -1
  1209. package/dist/modes/interactive/external-editor.js +2 -1
  1210. package/dist/modes/interactive/external-editor.js.map +1 -1
  1211. package/dist/modes/interactive/interactive-mode.d.ts +21 -1
  1212. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  1213. package/dist/modes/interactive/interactive-mode.js +709 -75
  1214. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  1215. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  1216. package/dist/modes/interactive/theme/theme.js +4 -3
  1217. package/dist/modes/interactive/theme/theme.js.map +1 -1
  1218. package/dist/modes/json-event.d.ts +16 -13
  1219. package/dist/modes/json-event.d.ts.map +1 -1
  1220. package/dist/modes/json-event.js +20 -6
  1221. package/dist/modes/json-event.js.map +1 -1
  1222. package/dist/modes/print-mode.d.ts.map +1 -1
  1223. package/dist/modes/print-mode.js +11 -0
  1224. package/dist/modes/print-mode.js.map +1 -1
  1225. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  1226. package/dist/modes/rpc/rpc-mode.js +173 -0
  1227. package/dist/modes/rpc/rpc-mode.js.map +1 -1
  1228. package/dist/modes/rpc/rpc-types.d.ts +29 -0
  1229. package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  1230. package/dist/modes/rpc/rpc-types.js.map +1 -1
  1231. package/dist/package-manager-cli.d.ts.map +1 -1
  1232. package/dist/package-manager-cli.js +27 -5
  1233. package/dist/package-manager-cli.js.map +1 -1
  1234. package/dist/server/attach.d.ts +56 -0
  1235. package/dist/server/attach.d.ts.map +1 -0
  1236. package/dist/server/attach.js +130 -0
  1237. package/dist/server/attach.js.map +1 -0
  1238. package/dist/server/extension-ops.d.ts +40 -0
  1239. package/dist/server/extension-ops.d.ts.map +1 -0
  1240. package/dist/server/extension-ops.js +146 -0
  1241. package/dist/server/extension-ops.js.map +1 -0
  1242. package/dist/server/pi-server-service.d.ts +85 -0
  1243. package/dist/server/pi-server-service.d.ts.map +1 -0
  1244. package/dist/server/pi-server-service.js +213 -0
  1245. package/dist/server/pi-server-service.js.map +1 -0
  1246. package/dist/server/scheduler-tick.d.ts +32 -0
  1247. package/dist/server/scheduler-tick.d.ts.map +1 -0
  1248. package/dist/server/scheduler-tick.js +47 -0
  1249. package/dist/server/scheduler-tick.js.map +1 -0
  1250. package/dist/server/serve.d.ts +25 -0
  1251. package/dist/server/serve.d.ts.map +1 -0
  1252. package/dist/server/serve.js +83 -0
  1253. package/dist/server/serve.js.map +1 -0
  1254. package/dist/server/transcript.d.ts +38 -0
  1255. package/dist/server/transcript.d.ts.map +1 -0
  1256. package/dist/server/transcript.js +176 -0
  1257. package/dist/server/transcript.js.map +1 -0
  1258. package/dist/skills/ada-engine/SKILL.md +153 -0
  1259. package/dist/skills/skill-creator/SKILL.md +90 -0
  1260. package/dist/telegram/api.d.ts +75 -0
  1261. package/dist/telegram/api.d.ts.map +1 -0
  1262. package/dist/telegram/api.js +104 -0
  1263. package/dist/telegram/api.js.map +1 -0
  1264. package/dist/telegram/bridge.d.ts +85 -0
  1265. package/dist/telegram/bridge.d.ts.map +1 -0
  1266. package/dist/telegram/bridge.js +182 -0
  1267. package/dist/telegram/bridge.js.map +1 -0
  1268. package/dist/telegram/journal.d.ts +67 -0
  1269. package/dist/telegram/journal.d.ts.map +1 -0
  1270. package/dist/telegram/journal.js +119 -0
  1271. package/dist/telegram/journal.js.map +1 -0
  1272. package/dist/telegram/servidor.d.ts +15 -0
  1273. package/dist/telegram/servidor.d.ts.map +1 -0
  1274. package/dist/telegram/servidor.js +74 -0
  1275. package/dist/telegram/servidor.js.map +1 -0
  1276. package/dist/utils/frontmatter.d.ts.map +1 -1
  1277. package/dist/utils/frontmatter.js +2 -1
  1278. package/dist/utils/frontmatter.js.map +1 -1
  1279. package/dist/utils/management-http.d.ts +5 -3
  1280. package/dist/utils/management-http.d.ts.map +1 -1
  1281. package/dist/utils/management-http.js +14 -10
  1282. package/dist/utils/management-http.js.map +1 -1
  1283. package/dist/utils/shell.d.ts +11 -0
  1284. package/dist/utils/shell.d.ts.map +1 -1
  1285. package/dist/utils/shell.js +11 -0
  1286. package/dist/utils/shell.js.map +1 -1
  1287. package/dist/utils/text.d.ts +8 -0
  1288. package/dist/utils/text.d.ts.map +1 -0
  1289. package/dist/utils/text.js +9 -0
  1290. package/dist/utils/text.js.map +1 -0
  1291. package/dist/utils/version-check.d.ts.map +1 -1
  1292. package/dist/utils/version-check.js +29 -1
  1293. package/dist/utils/version-check.js.map +1 -1
  1294. package/docs/compaction.md +25 -10
  1295. package/docs/compliance.md +241 -0
  1296. package/docs/containerization.md +24 -24
  1297. package/docs/custom-provider.md +15 -12
  1298. package/docs/development.md +47 -10
  1299. package/docs/docs.json +14 -2
  1300. package/docs/environment-variables.md +20 -17
  1301. package/docs/extensions.md +62 -51
  1302. package/docs/index.md +15 -21
  1303. package/docs/json.md +10 -5
  1304. package/docs/keybindings.md +5 -5
  1305. package/docs/llama-cpp.md +9 -7
  1306. package/docs/models.md +18 -12
  1307. package/docs/packages.md +45 -45
  1308. package/docs/prompt-templates.md +5 -5
  1309. package/docs/providers.md +12 -12
  1310. package/docs/quickstart.md +39 -39
  1311. package/docs/rpc.md +21 -15
  1312. package/docs/sdk.md +38 -38
  1313. package/docs/security.md +26 -21
  1314. package/docs/session-format.md +7 -7
  1315. package/docs/sessions.md +14 -14
  1316. package/docs/settings.md +47 -22
  1317. package/docs/shell-aliases.md +2 -2
  1318. package/docs/skills.md +14 -13
  1319. package/docs/terminal-setup.md +14 -14
  1320. package/docs/termux.md +7 -7
  1321. package/docs/themes.md +11 -11
  1322. package/docs/tmux.md +4 -4
  1323. package/docs/tui.md +3 -3
  1324. package/docs/usage.md +54 -54
  1325. package/docs/windows.md +2 -2
  1326. package/examples/extensions/border-status-editor.ts +1 -1
  1327. package/examples/extensions/git-checkpoint.ts +2 -2
  1328. package/examples/extensions/notify.ts +3 -1
  1329. package/examples/extensions/subagent/README.md +1 -1
  1330. package/examples/extensions/subagent/index.ts +6 -1
  1331. package/examples/extensions/titlebar-spinner.ts +1 -1
  1332. package/examples/rpc-extension-ui.ts +1 -1
  1333. package/examples/sdk/06-extensions.ts +1 -1
  1334. package/examples/sdk/12-full-control.ts +9 -0
  1335. package/examples/sdk/README.md +1 -1
  1336. package/npm-shrinkwrap.json +35 -261
  1337. package/package.json +9 -3
@@ -0,0 +1,163 @@
1
+ /**
2
+ * Reglas del control del ordenador. Puro: sin procesos ni capturas.
3
+ *
4
+ * Esta es la superficie más peligrosa del producto, por encima del navegador.
5
+ * En el navegador podíamos aislarnos con un perfil vacío: sin cookies, sin
6
+ * sesiones, nada que filtrar aunque el agente se equivocara. **Aquí no hay
7
+ * perfil vacío.** El ratón toca el escritorio de verdad, con tu correo abierto,
8
+ * tu banco abierto y tu terminal abierta. Un clic mal puesto no es un error de
9
+ * navegación: es una transferencia.
10
+ *
11
+ * Por eso el modelo no es "el navegador pero más grande". Son tres reglas:
12
+ *
13
+ * 1. **Aplicaciones prohibidas**, sin excepción. Un gestor de contraseñas o una
14
+ * app bancaria no se controla en ningún nivel, ni siquiera para mirar.
15
+ * 2. **Techo por categoría.** Un navegador ya tiene sus propias tools con
16
+ * perfil aislado; una terminal ya tiene `bash`. Dejar que el agente teclee
17
+ * ahí sería rodear las dos puertas que sí controlamos.
18
+ * 3. **Nunca credenciales, nunca lo irreversible sin preguntar.** Y aquí, a
19
+ * diferencia del navegador, no hay DOM que inspeccionar: la regla tiene que
20
+ * ser MÁS conservadora, no menos.
21
+ *
22
+ * Lo que NO hay es una lista de aplicaciones que el usuario tenga que
23
+ * mantener. Se probó y era peor: obligaba a configurar antes de poder usar
24
+ * nada, y un interruptor encendido con la lista vacía no hacía absolutamente
25
+ * nada. Las categorías protegen igual y no piden mantenimiento.
26
+ */
27
+ /**
28
+ * Categorías que NUNCA se conceden al máximo, aunque el usuario diga que sí.
29
+ *
30
+ * No es paternalismo: es que para estas dos ya existe un camino mejor y
31
+ * controlado. Teclear en un navegador se hace con las tools de navegador, que
32
+ * corren en un perfil sin sesiones. Ejecutar un comando se hace con `bash`, que
33
+ * pasa por los permisos y queda en el registro. Permitir el teclado aquí
34
+ * convertiría el control del ordenador en la puerta de atrás de las otras dos.
35
+ */
36
+ /**
37
+ * Aplicaciones que NO se conceden nunca, en ningún nivel.
38
+ *
39
+ * Un gestor de contraseñas no tiene un uso legítimo para el agente, y el modo
40
+ * de fallo es catastrófico: aquí ni siquiera "solo ver" vale, porque leer la
41
+ * pantalla de un gestor de contraseñas ES leer las contraseñas. Lo mismo con
42
+ * el llavero y las apps de banca.
43
+ *
44
+ * Se descubrió mirando la lista real de esta máquina: "Contraseñas" salía con
45
+ * techo "control total" porque no era ni navegador ni terminal.
46
+ */
47
+ const PROHIBIDAS = /^(contraseñas|passwords|acceso a llaveros|keychain access|1password.*|bitwarden|dashlane|lastpass|enpass|keeper|proton pass|nordpass|authy|google authenticator|banc[oa].*|caixabank|bbva|santander)$/i;
48
+ export function esAppProhibida(nombreApp) {
49
+ return PROHIBIDAS.test(nombreApp.trim());
50
+ }
51
+ export class AppProhibidaError extends Error {
52
+ constructor(app) {
53
+ super(`"${app}" no se puede controlar en ningún nivel: es un gestor de credenciales o una aplicación bancaria. ` +
54
+ `Ni siquiera verla, porque leer su pantalla es leer los secretos.`);
55
+ this.name = "AppProhibidaError";
56
+ }
57
+ }
58
+ const NAVEGADORES = /^(safari|google chrome|chromium|firefox|microsoft edge|brave browser|arc|opera|vivaldi|orion)$/i;
59
+ const TERMINALES_E_IDE = /^(terminal|iterm2?|warp|alacritty|kitty|wezterm|ghostty|hyper|visual studio code|vscodium|cursor|zed|xcode|intellij idea|pycharm|webstorm|goland|rubymine|clion|phpstorm|android studio|sublime text|nova|emacs|vim|neovide)$/i;
60
+ /** Nivel máximo que se puede conceder a una aplicación, por su categoría. */
61
+ export function techoDeCategoria(nombreApp) {
62
+ const nombre = nombreApp.trim();
63
+ if (NAVEGADORES.test(nombre))
64
+ return "read";
65
+ if (TERMINALES_E_IDE.test(nombre))
66
+ return "click";
67
+ return "full";
68
+ }
69
+ const ORDEN = { read: 0, click: 1, full: 2 };
70
+ /** El menor de dos niveles. Conceder nunca amplía por encima del techo. */
71
+ export function menorNivel(a, b) {
72
+ return ORDEN[a] <= ORDEN[b] ? a : b;
73
+ }
74
+ /** Qué nivel mínimo exige cada acción. */
75
+ const EXIGE = {
76
+ // Mirar y mover el puntero no cambia nada.
77
+ screenshot: "read",
78
+ cursor_position: "read",
79
+ mouse_move: "read",
80
+ scroll: "read",
81
+ // Un clic izquierdo activa cosas, pero no escribe.
82
+ left_click: "click",
83
+ double_click: "click",
84
+ triple_click: "click",
85
+ // El resto puede pegar, arrastrar o teclear: pleno.
86
+ // El clic derecho entra aquí porque su menú contextual trae "Pegar", que es
87
+ // escritura por la puerta de atrás.
88
+ middle_click: "full",
89
+ right_click: "full",
90
+ left_click_drag: "full",
91
+ type: "full",
92
+ key: "full",
93
+ hold_key: "full",
94
+ };
95
+ export class AccionNoPermitidaError extends Error {
96
+ constructor(accion, app, nivel) {
97
+ const alternativa = nivel === "read"
98
+ ? " Para un navegador usa las tools browser_*, que corren en un perfil sin sesiones."
99
+ : nivel === "click"
100
+ ? " Para ejecutar comandos usa la tool bash, que pasa por los permisos."
101
+ : "";
102
+ super(`'${accion}' no se puede hacer sobre "${app}": es ${nivel === "read" ? "un navegador" : "una terminal o un IDE"}.${alternativa}`);
103
+ this.name = "AccionNoPermitidaError";
104
+ }
105
+ }
106
+ /**
107
+ * ¿Se puede hacer esta acción sobre esta aplicación?
108
+ *
109
+ * El control del ordenador es un interruptor: o está activo o no lo está. Lo
110
+ * que decide qué se puede hacer sobre cada aplicación es su CATEGORÍA, que se
111
+ * calcula sola — no una lista que el usuario tenga que mantener al día cada
112
+ * vez que instala algo.
113
+ */
114
+ export function exigirPermiso(accion, app) {
115
+ // Primero lo que no se concede nunca.
116
+ if (esAppProhibida(app))
117
+ throw new AppProhibidaError(app);
118
+ const techo = techoDeCategoria(app);
119
+ if (ORDEN[EXIGE[accion]] > ORDEN[techo])
120
+ throw new AccionNoPermitidaError(accion, app, techo);
121
+ }
122
+ /**
123
+ * Texto que el agente NUNCA teclea.
124
+ *
125
+ * En el navegador podíamos mirar el `type` y el `autocomplete` del campo. Aquí
126
+ * no hay campo que inspeccionar: solo tenemos el texto. Así que la regla mira
127
+ * lo que se va a escribir y bloquea lo que PARECE una credencial, aceptando
128
+ * falsos positivos — es preferible que el agente diga "escríbelo tú" de más a
129
+ * que teclee una clave de más.
130
+ */
131
+ const PARECE_SECRETO = [
132
+ /\bsk-[a-zA-Z0-9_-]{16,}/, // claves de API estilo OpenAI/Anthropic
133
+ /\bghp_[a-zA-Z0-9]{20,}/, // tokens de GitHub
134
+ /\bgh[pousr]_[a-zA-Z0-9]{20,}/,
135
+ /\bxox[baprs]-[a-zA-Z0-9-]{10,}/, // Slack
136
+ /\bAKIA[0-9A-Z]{16}\b/, // AWS
137
+ /\beyJ[a-zA-Z0-9_-]{10,}\.[a-zA-Z0-9_-]{10,}\./, // JWT
138
+ /-----BEGIN [A-Z ]*PRIVATE KEY-----/,
139
+ /\b(?:\d[ -]?){13,19}\b/, // números de tarjeta
140
+ /\b[A-Z]{2}\d{2}[A-Z0-9]{10,30}\b/, // IBAN
141
+ ];
142
+ export function pareceCredencial(texto) {
143
+ return PARECE_SECRETO.some((p) => p.test(texto));
144
+ }
145
+ export class CredencialError extends Error {
146
+ constructor() {
147
+ super("Ese texto parece una credencial (clave, token, tarjeta o IBAN). El agente no teclea credenciales: " +
148
+ "escríbelo tú, o usa el gestor de contraseñas.");
149
+ this.name = "CredencialError";
150
+ }
151
+ }
152
+ /**
153
+ * Combinaciones de teclas que no se pulsan sin permiso explícito.
154
+ *
155
+ * Son las que borran, envían o salen sin vuelta atrás. Igual que en el
156
+ * navegador, esto AVISA además de bloquear: la lista nunca será completa, y
157
+ * fingir que sí lo es sería peor que no tenerla.
158
+ */
159
+ const TECLAS_PELIGROSAS = /^(cmd\+q|cmd\+w|cmd\+shift\+q|cmd\+delete|cmd\+shift\+delete|ctrl\+alt\+delete)$/i;
160
+ export function teclaPeligrosa(combinacion) {
161
+ return TECLAS_PELIGROSAS.test(combinacion.trim().replace(/\s+/g, ""));
162
+ }
163
+ //# sourceMappingURL=politica.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"politica.js","sourceRoot":"","sources":["../../../src/core/computer/politica.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAKH;;;;;;;;GAQG;AACH;;;;;;;;;;GAUG;AACH,MAAM,UAAU,GACf,yMAAwM,CAAC;AAE1M,MAAM,UAAU,cAAc,CAAC,SAAiB,EAAW;IAC1D,OAAO,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;AAAA,CACzC;AAED,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC3C,YAAY,GAAW,EAAE;QACxB,KAAK,CACJ,IAAI,GAAG,qGAAmG;YACzG,kEAAkE,CACnE,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAAA,CAChC;CACD;AAED,MAAM,WAAW,GAAG,iGAAiG,CAAC;AACtH,MAAM,gBAAgB,GACrB,gOAAgO,CAAC;AAElO,gFAA6E;AAC7E,MAAM,UAAU,gBAAgB,CAAC,SAAiB,EAAS;IAC1D,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;IAChC,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAC5C,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,OAAO,CAAC;IAClD,OAAO,MAAM,CAAC;AAAA,CACd;AAED,MAAM,KAAK,GAA0B,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AAEpE,4EAA2E;AAC3E,MAAM,UAAU,UAAU,CAAC,CAAQ,EAAE,CAAQ,EAAS;IACrD,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAAA,CACpC;AAkBD,6CAA0C;AAC1C,MAAM,KAAK,GAA0B;IACpC,2CAA2C;IAC3C,UAAU,EAAE,MAAM;IAClB,eAAe,EAAE,MAAM;IACvB,UAAU,EAAE,MAAM;IAClB,MAAM,EAAE,MAAM;IACd,mDAAmD;IACnD,UAAU,EAAE,OAAO;IACnB,YAAY,EAAE,OAAO;IACrB,YAAY,EAAE,OAAO;IACrB,oDAAoD;IACpD,8EAA4E;IAC5E,qCAAoC;IACpC,YAAY,EAAE,MAAM;IACpB,WAAW,EAAE,MAAM;IACnB,eAAe,EAAE,MAAM;IACvB,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,MAAM;IACX,QAAQ,EAAE,MAAM;CAChB,CAAC;AAEF,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAChD,YAAY,MAAc,EAAE,GAAW,EAAE,KAAY,EAAE;QACtD,MAAM,WAAW,GAChB,KAAK,KAAK,MAAM;YACf,CAAC,CAAC,mFAAmF;YACrF,CAAC,CAAC,KAAK,KAAK,OAAO;gBAClB,CAAC,CAAC,sEAAsE;gBACxE,CAAC,CAAC,EAAE,CAAC;QACR,KAAK,CACJ,IAAI,MAAM,8BAA8B,GAAG,SAAS,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,uBAAuB,IAAI,WAAW,EAAE,CAChI,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IAAA,CACrC;CACD;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,GAAW,EAAQ;IAChE,sCAAsC;IACtC,IAAI,cAAc,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,sBAAsB,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AAAA,CAC9F;AAED;;;;;;;;GAQG;AACH,MAAM,cAAc,GAAG;IACtB,yBAAyB,EAAE,wCAAwC;IACnE,wBAAwB,EAAE,mBAAmB;IAC7C,8BAA8B;IAC9B,gCAAgC,EAAE,QAAQ;IAC1C,sBAAsB,EAAE,MAAM;IAC9B,+CAA+C,EAAE,MAAM;IACvD,oCAAoC;IACpC,wBAAwB,EAAE,sBAAqB;IAC/C,kCAAkC,EAAE,OAAO;CAC3C,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,KAAa,EAAW;IACxD,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAAA,CACjD;AAED,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACzC,cAAc;QACb,KAAK,CACJ,oGAAoG;YACnG,kDAA+C,CAChD,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAAA,CAC9B;CACD;AAED;;;;;;GAMG;AACH,MAAM,iBAAiB,GAAG,mFAAmF,CAAC;AAE9G,MAAM,UAAU,cAAc,CAAC,WAAmB,EAAW;IAC5D,OAAO,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;AAAA,CACtE","sourcesContent":["/**\n * Reglas del control del ordenador. Puro: sin procesos ni capturas.\n *\n * Esta es la superficie más peligrosa del producto, por encima del navegador.\n * En el navegador podíamos aislarnos con un perfil vacío: sin cookies, sin\n * sesiones, nada que filtrar aunque el agente se equivocara. **Aquí no hay\n * perfil vacío.** El ratón toca el escritorio de verdad, con tu correo abierto,\n * tu banco abierto y tu terminal abierta. Un clic mal puesto no es un error de\n * navegación: es una transferencia.\n *\n * Por eso el modelo no es \"el navegador pero más grande\". Son tres reglas:\n *\n * 1. **Aplicaciones prohibidas**, sin excepción. Un gestor de contraseñas o una\n * app bancaria no se controla en ningún nivel, ni siquiera para mirar.\n * 2. **Techo por categoría.** Un navegador ya tiene sus propias tools con\n * perfil aislado; una terminal ya tiene `bash`. Dejar que el agente teclee\n * ahí sería rodear las dos puertas que sí controlamos.\n * 3. **Nunca credenciales, nunca lo irreversible sin preguntar.** Y aquí, a\n * diferencia del navegador, no hay DOM que inspeccionar: la regla tiene que\n * ser MÁS conservadora, no menos.\n *\n * Lo que NO hay es una lista de aplicaciones que el usuario tenga que\n * mantener. Se probó y era peor: obligaba a configurar antes de poder usar\n * nada, y un interruptor encendido con la lista vacía no hacía absolutamente\n * nada. Las categorías protegen igual y no piden mantenimiento.\n */\n\n/** Qué puede hacer el agente sobre una aplicación concreta. */\nexport type Nivel = \"read\" | \"click\" | \"full\";\n\n/**\n * Categorías que NUNCA se conceden al máximo, aunque el usuario diga que sí.\n *\n * No es paternalismo: es que para estas dos ya existe un camino mejor y\n * controlado. Teclear en un navegador se hace con las tools de navegador, que\n * corren en un perfil sin sesiones. Ejecutar un comando se hace con `bash`, que\n * pasa por los permisos y queda en el registro. Permitir el teclado aquí\n * convertiría el control del ordenador en la puerta de atrás de las otras dos.\n */\n/**\n * Aplicaciones que NO se conceden nunca, en ningún nivel.\n *\n * Un gestor de contraseñas no tiene un uso legítimo para el agente, y el modo\n * de fallo es catastrófico: aquí ni siquiera \"solo ver\" vale, porque leer la\n * pantalla de un gestor de contraseñas ES leer las contraseñas. Lo mismo con\n * el llavero y las apps de banca.\n *\n * Se descubrió mirando la lista real de esta máquina: \"Contraseñas\" salía con\n * techo \"control total\" porque no era ni navegador ni terminal.\n */\nconst PROHIBIDAS =\n\t/^(contraseñas|passwords|acceso a llaveros|keychain access|1password.*|bitwarden|dashlane|lastpass|enpass|keeper|proton pass|nordpass|authy|google authenticator|banc[oa].*|caixabank|bbva|santander)$/i;\n\nexport function esAppProhibida(nombreApp: string): boolean {\n\treturn PROHIBIDAS.test(nombreApp.trim());\n}\n\nexport class AppProhibidaError extends Error {\n\tconstructor(app: string) {\n\t\tsuper(\n\t\t\t`\"${app}\" no se puede controlar en ningún nivel: es un gestor de credenciales o una aplicación bancaria. ` +\n\t\t\t\t`Ni siquiera verla, porque leer su pantalla es leer los secretos.`,\n\t\t);\n\t\tthis.name = \"AppProhibidaError\";\n\t}\n}\n\nconst NAVEGADORES = /^(safari|google chrome|chromium|firefox|microsoft edge|brave browser|arc|opera|vivaldi|orion)$/i;\nconst TERMINALES_E_IDE =\n\t/^(terminal|iterm2?|warp|alacritty|kitty|wezterm|ghostty|hyper|visual studio code|vscodium|cursor|zed|xcode|intellij idea|pycharm|webstorm|goland|rubymine|clion|phpstorm|android studio|sublime text|nova|emacs|vim|neovide)$/i;\n\n/** Nivel máximo que se puede conceder a una aplicación, por su categoría. */\nexport function techoDeCategoria(nombreApp: string): Nivel {\n\tconst nombre = nombreApp.trim();\n\tif (NAVEGADORES.test(nombre)) return \"read\";\n\tif (TERMINALES_E_IDE.test(nombre)) return \"click\";\n\treturn \"full\";\n}\n\nconst ORDEN: Record<Nivel, number> = { read: 0, click: 1, full: 2 };\n\n/** El menor de dos niveles. Conceder nunca amplía por encima del techo. */\nexport function menorNivel(a: Nivel, b: Nivel): Nivel {\n\treturn ORDEN[a] <= ORDEN[b] ? a : b;\n}\n\n/** Acciones que el agente puede pedir, ordenadas por lo que exigen. */\nexport type Accion =\n\t| \"screenshot\"\n\t| \"cursor_position\"\n\t| \"mouse_move\"\n\t| \"scroll\"\n\t| \"left_click\"\n\t| \"double_click\"\n\t| \"triple_click\"\n\t| \"middle_click\"\n\t| \"right_click\"\n\t| \"left_click_drag\"\n\t| \"type\"\n\t| \"key\"\n\t| \"hold_key\";\n\n/** Qué nivel mínimo exige cada acción. */\nconst EXIGE: Record<Accion, Nivel> = {\n\t// Mirar y mover el puntero no cambia nada.\n\tscreenshot: \"read\",\n\tcursor_position: \"read\",\n\tmouse_move: \"read\",\n\tscroll: \"read\",\n\t// Un clic izquierdo activa cosas, pero no escribe.\n\tleft_click: \"click\",\n\tdouble_click: \"click\",\n\ttriple_click: \"click\",\n\t// El resto puede pegar, arrastrar o teclear: pleno.\n\t// El clic derecho entra aquí porque su menú contextual trae \"Pegar\", que es\n\t// escritura por la puerta de atrás.\n\tmiddle_click: \"full\",\n\tright_click: \"full\",\n\tleft_click_drag: \"full\",\n\ttype: \"full\",\n\tkey: \"full\",\n\thold_key: \"full\",\n};\n\nexport class AccionNoPermitidaError extends Error {\n\tconstructor(accion: Accion, app: string, nivel: Nivel) {\n\t\tconst alternativa =\n\t\t\tnivel === \"read\"\n\t\t\t\t? \" Para un navegador usa las tools browser_*, que corren en un perfil sin sesiones.\"\n\t\t\t\t: nivel === \"click\"\n\t\t\t\t\t? \" Para ejecutar comandos usa la tool bash, que pasa por los permisos.\"\n\t\t\t\t\t: \"\";\n\t\tsuper(\n\t\t\t`'${accion}' no se puede hacer sobre \"${app}\": es ${nivel === \"read\" ? \"un navegador\" : \"una terminal o un IDE\"}.${alternativa}`,\n\t\t);\n\t\tthis.name = \"AccionNoPermitidaError\";\n\t}\n}\n\n/**\n * ¿Se puede hacer esta acción sobre esta aplicación?\n *\n * El control del ordenador es un interruptor: o está activo o no lo está. Lo\n * que decide qué se puede hacer sobre cada aplicación es su CATEGORÍA, que se\n * calcula sola — no una lista que el usuario tenga que mantener al día cada\n * vez que instala algo.\n */\nexport function exigirPermiso(accion: Accion, app: string): void {\n\t// Primero lo que no se concede nunca.\n\tif (esAppProhibida(app)) throw new AppProhibidaError(app);\n\tconst techo = techoDeCategoria(app);\n\tif (ORDEN[EXIGE[accion]] > ORDEN[techo]) throw new AccionNoPermitidaError(accion, app, techo);\n}\n\n/**\n * Texto que el agente NUNCA teclea.\n *\n * En el navegador podíamos mirar el `type` y el `autocomplete` del campo. Aquí\n * no hay campo que inspeccionar: solo tenemos el texto. Así que la regla mira\n * lo que se va a escribir y bloquea lo que PARECE una credencial, aceptando\n * falsos positivos — es preferible que el agente diga \"escríbelo tú\" de más a\n * que teclee una clave de más.\n */\nconst PARECE_SECRETO = [\n\t/\\bsk-[a-zA-Z0-9_-]{16,}/, // claves de API estilo OpenAI/Anthropic\n\t/\\bghp_[a-zA-Z0-9]{20,}/, // tokens de GitHub\n\t/\\bgh[pousr]_[a-zA-Z0-9]{20,}/,\n\t/\\bxox[baprs]-[a-zA-Z0-9-]{10,}/, // Slack\n\t/\\bAKIA[0-9A-Z]{16}\\b/, // AWS\n\t/\\beyJ[a-zA-Z0-9_-]{10,}\\.[a-zA-Z0-9_-]{10,}\\./, // JWT\n\t/-----BEGIN [A-Z ]*PRIVATE KEY-----/,\n\t/\\b(?:\\d[ -]?){13,19}\\b/, // números de tarjeta\n\t/\\b[A-Z]{2}\\d{2}[A-Z0-9]{10,30}\\b/, // IBAN\n];\n\nexport function pareceCredencial(texto: string): boolean {\n\treturn PARECE_SECRETO.some((p) => p.test(texto));\n}\n\nexport class CredencialError extends Error {\n\tconstructor() {\n\t\tsuper(\n\t\t\t\"Ese texto parece una credencial (clave, token, tarjeta o IBAN). El agente no teclea credenciales: \" +\n\t\t\t\t\"escríbelo tú, o usa el gestor de contraseñas.\",\n\t\t);\n\t\tthis.name = \"CredencialError\";\n\t}\n}\n\n/**\n * Combinaciones de teclas que no se pulsan sin permiso explícito.\n *\n * Son las que borran, envían o salen sin vuelta atrás. Igual que en el\n * navegador, esto AVISA además de bloquear: la lista nunca será completa, y\n * fingir que sí lo es sería peor que no tenerla.\n */\nconst TECLAS_PELIGROSAS = /^(cmd\\+q|cmd\\+w|cmd\\+shift\\+q|cmd\\+delete|cmd\\+shift\\+delete|ctrl\\+alt\\+delete)$/i;\n\nexport function teclaPeligrosa(combinacion: string): boolean {\n\treturn TECLAS_PELIGROSAS.test(combinacion.trim().replace(/\\s+/g, \"\"));\n}\n"]}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Tools de control del ordenador.
3
+ *
4
+ * El motor es nuestro fork de pi-computer-use (ver `motor/README.md`), pero el
5
+ * agente NO habla con él: habla con estas tools, y cada una pasa por
6
+ * `politica.ts` antes de mover nada. Registrar el motor directamente dejaría al
7
+ * modelo pulsando cualquier cosa en cualquier aplicación, y nuestra gobernanza
8
+ * no pintaría nada.
9
+ *
10
+ * Preferimos SIEMPRE actuar sobre el árbol de accesibilidad antes que sobre
11
+ * coordenadas. Pulsar "el botón Enviar" es verificable; pulsar en (840, 512) es
12
+ * una apuesta, y cuando falla no falla en el vacío: pulsa otra cosa.
13
+ *
14
+ * Desde el cambio de motor eso ya no es una preferencia: **para actuar hace
15
+ * falta el `lookId` de una observación previa**. El motor rechaza actuar sobre
16
+ * estado viejo, así que "lee antes de pulsar" pasó de consejo del prompt a
17
+ * requisito que no se puede saltar. El fallo que apareció contra TextEdit
18
+ * —escribir en una ventana que ya se había cerrado— dejó de ser posible.
19
+ */
20
+ import type { ToolDefinition } from "../extensions/types.ts";
21
+ /** Los nombres, sueltos, para que `agent-session` los active sin construirlas. */
22
+ export declare const NOMBRES_COMPUTER_TOOLS: readonly ["computer_apps", "computer_read", "computer_screenshot", "computer_click", "computer_type", "computer_key", "computer_scroll", "computer_wait", "computer_text"];
23
+ export declare function crearComputerTools(opciones?: {
24
+ navegador?: boolean;
25
+ }): Record<string, ToolDefinition>;
26
+ //# sourceMappingURL=tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/core/computer/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,KAAK,EAAmB,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAkD9E,kFAAkF;AAClF,eAAO,MAAM,sBAAsB,4KAUzB,CAAC;AAEX,wBAAgB,kBAAkB,CAAC,QAAQ,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAuWzG","sourcesContent":["/**\n * Tools de control del ordenador.\n *\n * El motor es nuestro fork de pi-computer-use (ver `motor/README.md`), pero el\n * agente NO habla con él: habla con estas tools, y cada una pasa por\n * `politica.ts` antes de mover nada. Registrar el motor directamente dejaría al\n * modelo pulsando cualquier cosa en cualquier aplicación, y nuestra gobernanza\n * no pintaría nada.\n *\n * Preferimos SIEMPRE actuar sobre el árbol de accesibilidad antes que sobre\n * coordenadas. Pulsar \"el botón Enviar\" es verificable; pulsar en (840, 512) es\n * una apuesta, y cuando falla no falla en el vacío: pulsa otra cosa.\n *\n * Desde el cambio de motor eso ya no es una preferencia: **para actuar hace\n * falta el `lookId` de una observación previa**. El motor rechaza actuar sobre\n * estado viejo, así que \"lee antes de pulsar\" pasó de consejo del prompt a\n * requisito que no se puede saltar. El fallo que apareció contra TextEdit\n * —escribir en una ventana que ya se había cerrado— dejó de ser posible.\n */\n\nimport { Type } from \"typebox\";\nimport type { AgentToolResult, ToolDefinition } from \"../extensions/types.ts\";\nimport { avisoSinNavegador, reglaDeEleccion } from \"../prompt-eleccion.ts\";\nimport { capturarPantalla } from \"./captura.ts\";\nimport {\n\tactuar,\n\tappEnPrimerPlano,\n\tesperar,\n\tleerTexto,\n\tlistarApps,\n\ttype Observacion,\n\tobservar,\n\tpidDe,\n} from \"./motor-ada.ts\";\nimport {\n\ttype Accion,\n\tCredencialError,\n\tesAppProhibida,\n\texigirPermiso,\n\tpareceCredencial,\n\ttechoDeCategoria,\n\tteclaPeligrosa,\n} from \"./politica.ts\";\n\n/**\n * Lo que el agente necesita saber para usar esto bien.\n *\n * `promptSnippet` solo dice que la tool existe. Para una capacidad que mueve el\n * ratón sobre el escritorio de verdad, saber que existe no es saber usarla.\n */\nfunction guiaOrdenador(navegador: boolean): string[] {\n\treturn [\n\t\treglaDeEleccion({ navegador, ordenador: true }),\n\t\t...(navegador ? [] : [avisoSinNavegador()]),\n\t\t\"Ante la duda entre computer_* y cualquier otra, elige la otra: manejar una ventana es lo más frágil que puedes hacer y lo que más puede romper sin avisar.\",\n\t\t\"Antes de controlar el ordenador, usa computer_apps: cada aplicación dice hasta dónde puedes llegar con ella.\",\n\t\t\"computer_read te da un lookId y las referencias de los elementos; toda acción necesita ese lookId, y si la ventana cambió tendrás que volver a leer.\",\n\t\t\"Cuando algo tarde en aparecer, usa computer_wait en vez de actuar y confiar: actuar sobre una ventana que no está lista falla en silencio.\",\n\t\t\"Si lo que vas a pulsar envía, compra, publica, borra o acepta condiciones, pregunta al usuario ANTES de hacerlo.\",\n\t\t\"No teclees contraseñas, tokens ni datos de tarjeta: pídeselo al usuario.\",\n\t];\n}\n\nfunction texto(t: string): AgentToolResult<unknown> {\n\treturn { content: [{ type: \"text\" as const, text: t }], details: undefined };\n}\n\nfunction fallo(error: unknown): AgentToolResult<unknown> {\n\treturn texto(`Error: ${error instanceof Error ? error.message : String(error)}`);\n}\n\n/** Los nombres, sueltos, para que `agent-session` los active sin construirlas. */\nexport const NOMBRES_COMPUTER_TOOLS = [\n\t\"computer_apps\",\n\t\"computer_read\",\n\t\"computer_screenshot\",\n\t\"computer_click\",\n\t\"computer_type\",\n\t\"computer_key\",\n\t\"computer_scroll\",\n\t\"computer_wait\",\n\t\"computer_text\",\n] as const;\n\nexport function crearComputerTools(opciones: { navegador?: boolean } = {}): Record<string, ToolDefinition> {\n\t// Sin tools de navegador, la política que redirige \"esto es un navegador,\n\t// usa browser_*\" apuntaría al vacío. Se avisa antes en vez de después.\n\tconst guia = guiaOrdenador(opciones.navegador === true);\n\t/**\n\t * Observaciones vivas, por `lookId`.\n\t *\n\t * El agente recibe el `lookId` y lo devuelve en cada acción. Se guarda aquí\n\t * el objeto completo porque el motor necesita también el pid, y hacer que el\n\t * modelo arrastre dos identificadores sería pedirle que no se equivoque en\n\t * algo que podemos recordar nosotros.\n\t */\n\tconst observaciones = new Map<string, Observacion>();\n\n\t/** Puerta de permisos. Ver `politica.ts`. */\n\tconst guardia = (accion: Accion, app: string): void => exigirPermiso(accion, app);\n\n\t/** Resuelve el pid de una app aplicando la política antes de tocarla. */\n\tconst prepararApp = async (nombreApp: string, accion: Accion): Promise<number> => {\n\t\tguardia(accion, nombreApp);\n\t\tconst pid = await pidDe(nombreApp);\n\t\tif (pid === undefined) {\n\t\t\tthrow new Error(\n\t\t\t\t`No encuentro ninguna aplicación abierta llamada \"${nombreApp}\". Usa computer_apps para verlas.`,\n\t\t\t);\n\t\t}\n\t\treturn pid;\n\t};\n\n\t/** Recupera una observación. Actuar sin ella es actuar a ciegas. */\n\tconst observacionDe = (lookId: string): Observacion => {\n\t\tconst obs = observaciones.get(lookId);\n\t\tif (!obs) {\n\t\t\tthrow new Error(\n\t\t\t\t`El lookId \"${lookId}\" no existe o ya caducó. Vuelve a leer la ventana con computer_read: ` +\n\t\t\t\t\t`el motor no deja actuar sobre observaciones viejas, a propósito.`,\n\t\t\t);\n\t\t}\n\t\treturn obs;\n\t};\n\n\tconst listar: ToolDefinition<ReturnType<typeof Type.Object>> = {\n\t\tname: \"computer_apps\",\n\t\tlabel: \"Listar aplicaciones\",\n\t\tpromptGuidelines: guia,\n\t\tdescription:\n\t\t\t\"Lista las aplicaciones abiertas y hasta dónde puedes llegar con cada una. \" +\n\t\t\t\"Úsalo antes de nada: cada una dice su límite.\",\n\t\tpromptSnippet: \"ver qué aplicaciones hay y hasta dónde puedo llegar con cada una\",\n\t\tparameters: Type.Object({}),\n\t\tasync execute(): Promise<AgentToolResult<unknown>> {\n\t\t\ttry {\n\t\t\t\tconst apps = await listarApps();\n\t\t\t\tconst frente = await appEnPrimerPlano().catch(() => null);\n\t\t\t\t// El límite se anota por aplicación para que el modelo lo sepa ANTES\n\t\t\t\t// de intentar algo, en vez de descubrirlo con un error.\n\t\t\t\tconst lineas = apps.map((a) => {\n\t\t\t\t\tconst marca = frente?.pid === a.pid ? \" [primer plano]\" : \"\";\n\t\t\t\t\tif (esAppProhibida(a.nombre)) return `${a.nombre}${marca} → NUNCA (credenciales)`;\n\t\t\t\t\tconst techo = techoDeCategoria(a.nombre);\n\t\t\t\t\tconst nota =\n\t\t\t\t\t\ttecho === \"read\"\n\t\t\t\t\t\t\t? \"solo ver — para manejarlo usa browser_*\"\n\t\t\t\t\t\t\t: techo === \"click\"\n\t\t\t\t\t\t\t\t? \"ver y pulsar — para ejecutar comandos usa bash\"\n\t\t\t\t\t\t\t\t: \"control total\";\n\t\t\t\t\treturn `${a.nombre}${marca} → ${nota}`;\n\t\t\t\t});\n\t\t\t\treturn texto(lineas.join(\"\\n\"));\n\t\t\t} catch (error) {\n\t\t\t\treturn fallo(error);\n\t\t\t}\n\t\t},\n\t};\n\n\tconst leer: ToolDefinition<ReturnType<typeof Type.Object>> = {\n\t\tname: \"computer_read\",\n\t\tlabel: \"Leer la ventana\",\n\t\tdescription:\n\t\t\t\"Observa una aplicación y devuelve su árbol de elementos junto a un lookId. \" +\n\t\t\t\"TODA acción necesita ese lookId. Si la ventana cambia, vuelve a leer.\",\n\t\tpromptSnippet: \"leer los elementos de una ventana y obtener su lookId\",\n\t\tparameters: Type.Object({\n\t\t\tapp: Type.String({ description: \"Nombre de la aplicación\" }),\n\t\t\tscopeRef: Type.Optional(\n\t\t\t\tType.String({ description: \"Referencia de un elemento, para mirar solo dentro de él\" }),\n\t\t\t),\n\t\t}),\n\t\tasync execute(_id, input): Promise<AgentToolResult<unknown>> {\n\t\t\ttry {\n\t\t\t\tconst nombreApp = String(input.app ?? \"\");\n\t\t\t\tconst pid = await prepararApp(nombreApp, \"screenshot\");\n\t\t\t\tconst obs = await observar(pid, { scopeRef: input.scopeRef ? String(input.scopeRef) : undefined });\n\t\t\t\tobservaciones.set(obs.lookId, obs);\n\t\t\t\treturn texto(\n\t\t\t\t\t`Ventana: ${obs.titulo ?? \"(sin título)\"} · ${obs.elementos} elementos\\n` +\n\t\t\t\t\t\t`lookId: ${obs.lookId}\\n\\n${obs.resumen}`,\n\t\t\t\t);\n\t\t\t} catch (error) {\n\t\t\t\treturn fallo(error);\n\t\t\t}\n\t\t},\n\t};\n\n\tconst captura: ToolDefinition<ReturnType<typeof Type.Object>> = {\n\t\tname: \"computer_screenshot\",\n\t\tlabel: \"Captura de pantalla\",\n\t\tdescription: \"Captura la pantalla. Para decidir dónde pulsar, prefiere computer_read.\",\n\t\tpromptSnippet: \"ver la pantalla\",\n\t\tparameters: Type.Object({}),\n\t\tasync execute(): Promise<AgentToolResult<unknown>> {\n\t\t\ttry {\n\t\t\t\tconst frente = await appEnPrimerPlano();\n\t\t\t\tguardia(\"screenshot\", frente.nombre);\n\n\t\t\t\t// Primero, por el MOTOR. No es una preferencia estética: en macOS el\n\t\t\t\t// permiso de Grabación de pantalla se concede a una aplicación, y el\n\t\t\t\t// helper ya lo tiene. `screencapture` lo lanzaría NUESTRO proceso —\n\t\t\t\t// node, dentro de la Terminal o del escritorio — que es otra identidad\n\t\t\t\t// y necesitaría su propio permiso, uno por cada sitio desde el que se\n\t\t\t\t// use Ada. Comprobado: con el helper autorizado, `screencapture -x`\n\t\t\t\t// desde node seguía devolviendo \"could not create image from display\".\n\t\t\t\t//\n\t\t\t\t// Captura la VENTANA de delante, no la pantalla entera. Además de\n\t\t\t\t// funcionar, es lo correcto: no arrastra al contexto lo que haya en\n\t\t\t\t// otras ventanas del usuario.\n\t\t\t\tif (frente.pid !== undefined) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst obs = await observar(frente.pid, { conImagen: true });\n\t\t\t\t\t\tif (obs.imagen) {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tcontent: [\n\t\t\t\t\t\t\t\t\t{ type: \"text\" as const, text: `Ventana: ${obs.titulo ?? frente.nombre}` },\n\t\t\t\t\t\t\t\t\t{ type: \"image\" as const, data: obs.imagen.datos, mimeType: obs.imagen.mimeType },\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\tdetails: undefined,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch {\n\t\t\t\t\t\t// Si el motor no puede, queda la captura del sistema.\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst r = await capturarPantalla();\n\t\t\t\tif (!r.imagen) return texto(r.motivo ?? \"No se pudo capturar la pantalla.\");\n\t\t\t\treturn { content: [{ type: \"image\" as const, data: r.imagen, mimeType: \"image/png\" }], details: undefined };\n\t\t\t} catch (error) {\n\t\t\t\treturn fallo(error);\n\t\t\t}\n\t\t},\n\t};\n\n\tconst pulsar: ToolDefinition<ReturnType<typeof Type.Object>> = {\n\t\tname: \"computer_click\",\n\t\tlabel: \"Pulsar\",\n\t\tpromptGuidelines: guia,\n\t\tdescription:\n\t\t\t\"Pulsa un elemento por su referencia, usando el lookId de computer_read. \" +\n\t\t\t\"Si lo que vas a pulsar envía, compra, publica o borra, pregunta al usuario ANTES.\",\n\t\tpromptSnippet: \"pulsar un elemento de la pantalla\",\n\t\tparameters: Type.Object({\n\t\t\tlookId: Type.String(),\n\t\t\tref: Type.String({ description: \"Referencia del elemento, de computer_read\" }),\n\t\t\tboton: Type.Optional(Type.String({ description: \"left (por defecto), right, middle\" })),\n\t\t\tveces: Type.Optional(Type.Number({ description: \"1 (por defecto), 2 para doble\" })),\n\t\t}),\n\t\tasync execute(_id, input): Promise<AgentToolResult<unknown>> {\n\t\t\ttry {\n\t\t\t\tconst obs = observacionDe(String(input.lookId ?? \"\"));\n\t\t\t\tconst boton = String(input.boton ?? \"left\") as \"left\" | \"right\" | \"middle\";\n\t\t\t\tconst veces = Number(input.veces ?? 1);\n\t\t\t\tconst accion: Accion =\n\t\t\t\t\tboton === \"right\"\n\t\t\t\t\t\t? \"right_click\"\n\t\t\t\t\t\t: boton === \"middle\"\n\t\t\t\t\t\t\t? \"middle_click\"\n\t\t\t\t\t\t\t: veces >= 3\n\t\t\t\t\t\t\t\t? \"triple_click\"\n\t\t\t\t\t\t\t\t: veces === 2\n\t\t\t\t\t\t\t\t\t? \"double_click\"\n\t\t\t\t\t\t\t\t\t: \"left_click\";\n\t\t\t\tconst frente = await appEnPrimerPlano();\n\t\t\t\tguardia(accion, frente.nombre);\n\t\t\t\tconst r = await actuar(obs, { tipo: \"click\", ref: String(input.ref ?? \"\"), boton, veces });\n\t\t\t\treturn texto(r.ok ? `Pulsado.${r.detalle ? `\\n${r.detalle}` : \"\"}` : `No se pudo pulsar: ${r.detalle}`);\n\t\t\t} catch (error) {\n\t\t\t\treturn fallo(error);\n\t\t\t}\n\t\t},\n\t};\n\n\tconst escribir: ToolDefinition<ReturnType<typeof Type.Object>> = {\n\t\tname: \"computer_type\",\n\t\tlabel: \"Escribir\",\n\t\tpromptGuidelines: guia,\n\t\tdescription:\n\t\t\t\"Escribe texto en un elemento, usando el lookId de computer_read. \" +\n\t\t\t\"No escribe credenciales: claves, tokens, tarjetas o IBAN los pone el usuario.\",\n\t\tpromptSnippet: \"escribir texto en un campo\",\n\t\tparameters: Type.Object({ lookId: Type.String(), ref: Type.String(), texto: Type.String() }),\n\t\tasync execute(_id, input): Promise<AgentToolResult<unknown>> {\n\t\t\ttry {\n\t\t\t\tconst contenido = String(input.texto ?? \"\");\n\t\t\t\t// Antes que el permiso: si es una credencial da igual qué app sea.\n\t\t\t\tif (pareceCredencial(contenido)) return fallo(new CredencialError());\n\t\t\t\tconst obs = observacionDe(String(input.lookId ?? \"\"));\n\t\t\t\tconst frente = await appEnPrimerPlano();\n\t\t\t\tguardia(\"type\", frente.nombre);\n\t\t\t\tconst r = await actuar(obs, { tipo: \"escribir\", ref: String(input.ref ?? \"\"), texto: contenido });\n\t\t\t\tif (!r.ok) return texto(`No se pudo escribir: ${r.detalle}`);\n\t\t\t\t// El motor devuelve el estado posterior, así que la comprobación que\n\t\t\t\t// antes había que hacer a mano viene de serie.\n\t\t\t\treturn texto(`Escrito.${r.detalle ? `\\n${r.detalle}` : \"\"}`);\n\t\t\t} catch (error) {\n\t\t\t\treturn fallo(error);\n\t\t\t}\n\t\t},\n\t};\n\n\tconst tecla: ToolDefinition<ReturnType<typeof Type.Object>> = {\n\t\tname: \"computer_key\",\n\t\tlabel: \"Pulsar tecla\",\n\t\tdescription:\n\t\t\t\"Pulsa una tecla o combinación ('cmd+s', 'return', 'tab'). \" +\n\t\t\t\"Las que cierran o borran sin vuelta atrás necesitan que el usuario lo pida.\",\n\t\tpromptSnippet: \"pulsar una combinación de teclas\",\n\t\tparameters: Type.Object({\n\t\t\tlookId: Type.String(),\n\t\t\ttecla: Type.String(),\n\t\t\tref: Type.Optional(Type.String()),\n\t\t\tconfirmado: Type.Optional(Type.Boolean({ description: \"El usuario ha pedido esta tecla peligrosa\" })),\n\t\t}),\n\t\tasync execute(_id, input): Promise<AgentToolResult<unknown>> {\n\t\t\ttry {\n\t\t\t\tconst combinacion = String(input.tecla ?? \"\");\n\t\t\t\tif (teclaPeligrosa(combinacion) && input.confirmado !== true) {\n\t\t\t\t\treturn texto(\n\t\t\t\t\t\t`'${combinacion}' cierra o borra sin vuelta atrás. Pregúntale al usuario y vuelve con confirmado: true.`,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tconst obs = observacionDe(String(input.lookId ?? \"\"));\n\t\t\t\tconst frente = await appEnPrimerPlano();\n\t\t\t\tguardia(\"key\", frente.nombre);\n\t\t\t\tconst r = await actuar(obs, {\n\t\t\t\t\ttipo: \"teclas\",\n\t\t\t\t\tref: input.ref ? String(input.ref) : undefined,\n\t\t\t\t\tteclas: combinacion.split(\"+\").map((k) => k.trim()),\n\t\t\t\t});\n\t\t\t\treturn texto(r.ok ? `Pulsado ${combinacion}.` : `No se pudo pulsar: ${r.detalle}`);\n\t\t\t} catch (error) {\n\t\t\t\treturn fallo(error);\n\t\t\t}\n\t\t},\n\t};\n\n\tconst desplazar: ToolDefinition<ReturnType<typeof Type.Object>> = {\n\t\tname: \"computer_scroll\",\n\t\tlabel: \"Desplazar\",\n\t\tdescription: \"Desplaza el contenido de un elemento.\",\n\t\tpromptSnippet: \"desplazar la pantalla\",\n\t\tparameters: Type.Object({\n\t\t\tlookId: Type.String(),\n\t\t\tref: Type.String(),\n\t\t\tdireccion: Type.String({ description: \"up, down, left, right\" }),\n\t\t\tcantidad: Type.Optional(Type.Number()),\n\t\t}),\n\t\tasync execute(_id, input): Promise<AgentToolResult<unknown>> {\n\t\t\ttry {\n\t\t\t\tconst obs = observacionDe(String(input.lookId ?? \"\"));\n\t\t\t\tconst frente = await appEnPrimerPlano();\n\t\t\t\tguardia(\"scroll\", frente.nombre);\n\t\t\t\tconst paso = Number(input.cantidad ?? 3) * 100;\n\t\t\t\tconst dir = String(input.direccion ?? \"down\");\n\t\t\t\tconst r = await actuar(obs, {\n\t\t\t\t\ttipo: \"desplazar\",\n\t\t\t\t\tref: String(input.ref ?? \"\"),\n\t\t\t\t\tx: dir === \"left\" ? -paso : dir === \"right\" ? paso : 0,\n\t\t\t\t\ty: dir === \"up\" ? -paso : dir === \"down\" ? paso : 0,\n\t\t\t\t});\n\t\t\t\treturn texto(r.ok ? \"Desplazado.\" : `No se pudo desplazar: ${r.detalle}`);\n\t\t\t} catch (error) {\n\t\t\t\treturn fallo(error);\n\t\t\t}\n\t\t},\n\t};\n\n\tconst aguardar: ToolDefinition<ReturnType<typeof Type.Object>> = {\n\t\tname: \"computer_wait\",\n\t\tlabel: \"Esperar\",\n\t\tpromptGuidelines: guia,\n\t\tdescription:\n\t\t\t\"Espera a que un texto o un tipo de control aparezca (o desaparezca) en una ventana. \" +\n\t\t\t\"Úsalo cuando algo tarde: actuar sobre una ventana que no está lista falla en silencio.\",\n\t\tpromptSnippet: \"esperar a que la pantalla cambie\",\n\t\tparameters: Type.Object({\n\t\t\tapp: Type.String(),\n\t\t\ttexto: Type.Optional(Type.String({ description: \"Texto que debe aparecer\" })),\n\t\t\trol: Type.Optional(Type.String({ description: \"Tipo de control, p. ej. button\" })),\n\t\t\tdesaparezca: Type.Optional(Type.Boolean({ description: \"Esperar a que DEJE de estar\" })),\n\t\t\ttimeoutMs: Type.Optional(Type.Number({ description: \"Por defecto 10000, máximo 60000\" })),\n\t\t}),\n\t\tasync execute(_id, input): Promise<AgentToolResult<unknown>> {\n\t\t\ttry {\n\t\t\t\tconst pid = await prepararApp(String(input.app ?? \"\"), \"screenshot\");\n\t\t\t\tconst r = await esperar(pid, {\n\t\t\t\t\ttexto: input.texto ? String(input.texto) : undefined,\n\t\t\t\t\trol: input.rol ? String(input.rol) : undefined,\n\t\t\t\t\tdesaparezca: input.desaparezca === true,\n\t\t\t\t\ttimeoutMs: input.timeoutMs ? Number(input.timeoutMs) : undefined,\n\t\t\t\t});\n\t\t\t\treturn texto(\n\t\t\t\t\tr.encontrado\n\t\t\t\t\t\t? \"Listo: lo que esperabas está. Vuelve a leer con computer_read para actuar.\"\n\t\t\t\t\t\t: `No llegó a pasar (${r.detalle}). No actúes a ciegas: mira con computer_read qué hay.`,\n\t\t\t\t);\n\t\t\t} catch (error) {\n\t\t\t\treturn fallo(error);\n\t\t\t}\n\t\t},\n\t};\n\n\tconst textoDe: ToolDefinition<ReturnType<typeof Type.Object>> = {\n\t\tname: \"computer_text\",\n\t\tlabel: \"Leer texto\",\n\t\tdescription:\n\t\t\t\"Lee el texto completo de un elemento, por trozos. \" +\n\t\t\t\"Para contenidos largos que computer_read resume o recorta.\",\n\t\tpromptSnippet: \"leer el texto completo de un elemento\",\n\t\tparameters: Type.Object({\n\t\t\tlookId: Type.String(),\n\t\t\tref: Type.String(),\n\t\t\tdesde: Type.Optional(Type.Number()),\n\t\t\tlimite: Type.Optional(Type.Number()),\n\t\t}),\n\t\tasync execute(_id, input): Promise<AgentToolResult<unknown>> {\n\t\t\ttry {\n\t\t\t\tconst obs = observacionDe(String(input.lookId ?? \"\"));\n\t\t\t\tconst r = await leerTexto(obs, String(input.ref ?? \"\"), {\n\t\t\t\t\toffset: input.desde ? Number(input.desde) : 0,\n\t\t\t\t\tlimit: input.limite ? Number(input.limite) : undefined,\n\t\t\t\t});\n\t\t\t\treturn texto(r.hayMas ? `${r.texto}\\n\\n[…quedan ${r.total - r.texto.length} caracteres]` : r.texto);\n\t\t\t} catch (error) {\n\t\t\t\treturn fallo(error);\n\t\t\t}\n\t\t},\n\t};\n\n\treturn {\n\t\tcomputer_apps: listar as ToolDefinition,\n\t\tcomputer_read: leer as ToolDefinition,\n\t\tcomputer_screenshot: captura as ToolDefinition,\n\t\tcomputer_click: pulsar as ToolDefinition,\n\t\tcomputer_type: escribir as ToolDefinition,\n\t\tcomputer_key: tecla as ToolDefinition,\n\t\tcomputer_scroll: desplazar as ToolDefinition,\n\t\tcomputer_wait: aguardar as ToolDefinition,\n\t\tcomputer_text: textoDe as ToolDefinition,\n\t};\n}\n"]}