@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,176 @@
1
+ /**
2
+ * Proyección de mensajes de sesión al transcript del protocolo.
3
+ *
4
+ * Es la pieza delicada de `ada serve`: los tipos NO casan uno a uno, y donde no
5
+ * casan es exactamente donde un turno puede desaparecer del transcript sin que
6
+ * nadie se entere. Un `attach` que pierde turnos en silencio es peor que no
7
+ * tener `attach`, así que aquí todo se mapea explícitamente y nada se descarta.
8
+ *
9
+ * Los tres desajustes reales:
10
+ *
11
+ * 1. `StopReason` de origen tiene 7 valores; el item `complete` del protocolo
12
+ * solo admite `stop|length|toolUse`. `error` y `aborted` son variantes
13
+ * propias, `pending` es streaming, y `deferred` — que no existe en el
14
+ * protocolo — se trata como streaming, porque semánticamente el turno
15
+ * todavía no ha terminado.
16
+ *
17
+ * 2. `ToolResultMessage` NO lleva los argumentos de la llamada, pero el
18
+ * protocolo exige `input` en cada item de tool. Hay que correlacionar con el
19
+ * `ToolCall` del mensaje de asistente anterior por `toolCallId`. Es una
20
+ * dependencia entre mensajes, no una conversión local.
21
+ *
22
+ * 3. Los mensajes de origen no tienen `id`; el protocolo lo exige. Se deriva de
23
+ * forma estable a partir de la posición para que dos snapshots consecutivos
24
+ * del mismo transcript den los mismos ids.
25
+ */
26
+ /** Id estable por posición: el mismo transcript da siempre los mismos ids. */
27
+ export function itemId(index) {
28
+ return `item-${index}`;
29
+ }
30
+ function toUsage(usage) {
31
+ if (!usage)
32
+ return undefined;
33
+ return {
34
+ input: Math.max(0, Math.trunc(usage.input ?? 0)),
35
+ output: Math.max(0, Math.trunc(usage.output ?? 0)),
36
+ cacheRead: Math.max(0, Math.trunc(usage.cacheRead ?? 0)),
37
+ cacheWrite: Math.max(0, Math.trunc(usage.cacheWrite ?? 0)),
38
+ ...(usage.reasoning !== undefined ? { reasoning: Math.max(0, Math.trunc(usage.reasoning)) } : {}),
39
+ totalTokens: Math.max(0, Math.trunc(usage.totalTokens ?? 0)),
40
+ cost: {
41
+ input: usage.cost?.input ?? 0,
42
+ output: usage.cost?.output ?? 0,
43
+ cacheRead: usage.cost?.cacheRead ?? 0,
44
+ cacheWrite: usage.cost?.cacheWrite ?? 0,
45
+ total: usage.cost?.total ?? 0,
46
+ },
47
+ };
48
+ }
49
+ function timestampOf(value) {
50
+ return typeof value === "number" && Number.isFinite(value) && value >= 0 ? Math.trunc(value) : 0;
51
+ }
52
+ function projectUser(message, index) {
53
+ const content = typeof message.content === "string"
54
+ ? [{ type: "text", text: message.content }]
55
+ : message.content.map((block) => block.type === "image"
56
+ ? { type: "image", data: block.data, mimeType: block.mimeType }
57
+ : { type: "text", text: block.text ?? "" });
58
+ return { id: itemId(index), role: "user", content, timestamp: timestampOf(message.timestamp) };
59
+ }
60
+ function projectAssistant(message, index) {
61
+ const content = message.content.map((block) => {
62
+ if (block.type === "toolCall") {
63
+ // Renombrado real: id/name/arguments → toolCallId/toolName/input.
64
+ return {
65
+ type: "toolCall",
66
+ toolCallId: block.id,
67
+ toolName: block.name,
68
+ input: (block.arguments ?? {}),
69
+ };
70
+ }
71
+ if (block.type === "thinking") {
72
+ return {
73
+ type: "thinking",
74
+ thinking: block.thinking ?? "",
75
+ ...(block.redacted !== undefined ? { redacted: Boolean(block.redacted) } : {}),
76
+ };
77
+ }
78
+ return { type: "text", text: block.text ?? "" };
79
+ });
80
+ const base = {
81
+ id: itemId(index),
82
+ role: "assistant",
83
+ content,
84
+ model: { provider: message.provider ?? "unknown", id: message.model ?? "unknown" },
85
+ ...(message.responseModel ? { responseModel: message.responseModel } : {}),
86
+ ...(toUsage(message.usage) ? { usage: toUsage(message.usage) } : {}),
87
+ timestamp: timestampOf(message.timestamp),
88
+ };
89
+ switch (message.stopReason) {
90
+ case "stop":
91
+ case "length":
92
+ case "toolUse":
93
+ return { ...base, status: "complete", stopReason: message.stopReason };
94
+ case "error":
95
+ return {
96
+ ...base,
97
+ status: "error",
98
+ stopReason: "error",
99
+ ...(message.errorMessage ? { errorMessage: message.errorMessage } : {}),
100
+ };
101
+ case "aborted":
102
+ return {
103
+ ...base,
104
+ status: "aborted",
105
+ stopReason: "aborted",
106
+ ...(message.errorMessage ? { errorMessage: message.errorMessage } : {}),
107
+ };
108
+ default:
109
+ // `pending` y `deferred`: el turno aún no ha cerrado. `deferred` no
110
+ // existe en el protocolo — tratarlo como streaming es lo único que no
111
+ // pierde el mensaje ni miente sobre su estado.
112
+ return { ...base, status: "streaming" };
113
+ }
114
+ }
115
+ function projectTool(message, index, input) {
116
+ const content = message.content.map((block) => block.type === "image"
117
+ ? { type: "image", data: block.data, mimeType: block.mimeType }
118
+ : { type: "text", text: block.text ?? "" });
119
+ const base = {
120
+ id: itemId(index),
121
+ role: "tool",
122
+ toolCallId: message.toolCallId,
123
+ toolName: message.toolName,
124
+ // El resultado NO trae los argumentos: vienen del ToolCall correlacionado.
125
+ input: (input ?? {}),
126
+ content,
127
+ ...(message.details !== undefined ? { details: message.details } : {}),
128
+ ...(toUsage(message.usage) ? { usage: toUsage(message.usage) } : {}),
129
+ timestamp: timestampOf(message.timestamp),
130
+ };
131
+ return message.isError
132
+ ? { ...base, status: "error", isError: true }
133
+ : { ...base, status: "complete", isError: false };
134
+ }
135
+ /**
136
+ * Proyecta el transcript completo.
137
+ *
138
+ * INVARIANTE: devuelve exactamente un item por mensaje de entrada, en el mismo
139
+ * orden. Nada se filtra ni se colapsa — si un mensaje no encaja en ninguna
140
+ * variante, se degrada a algo válido antes que desaparecer.
141
+ */
142
+ export function projectTranscript(messages) {
143
+ // Primera pasada: índice de argumentos por toolCallId, para el punto 2.
144
+ const inputs = new Map();
145
+ for (const message of messages) {
146
+ if (message.role !== "assistant")
147
+ continue;
148
+ for (const block of message.content) {
149
+ if (block.type === "toolCall")
150
+ inputs.set(block.id, block.arguments ?? {});
151
+ }
152
+ }
153
+ const items = [];
154
+ messages.forEach((message, index) => {
155
+ if (message.role === "user")
156
+ items.push(projectUser(message, index));
157
+ else if (message.role === "assistant")
158
+ items.push(projectAssistant(message, index));
159
+ else if (message.role === "toolResult")
160
+ items.push(projectTool(message, index, inputs.get(message.toolCallId)));
161
+ // Sin `else`: cualquier rol desconocido se ignoraría en silencio. Se
162
+ // gestiona abajo para que el invariante siga siendo comprobable.
163
+ else {
164
+ items.push({
165
+ id: itemId(index),
166
+ role: "user",
167
+ content: [
168
+ { type: "text", text: `[mensaje no reconocido: ${String(message.role)}]` },
169
+ ],
170
+ timestamp: timestampOf(message.timestamp),
171
+ });
172
+ }
173
+ });
174
+ return items;
175
+ }
176
+ //# sourceMappingURL=transcript.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transcript.js","sourceRoot":"","sources":["../../src/server/transcript.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Proyección de mensajes de sesión al transcript del protocolo.\n *\n * Es la pieza delicada de `ada serve`: los tipos NO casan uno a uno, y donde no\n * casan es exactamente donde un turno puede desaparecer del transcript sin que\n * nadie se entere. Un `attach` que pierde turnos en silencio es peor que no\n * tener `attach`, así que aquí todo se mapea explícitamente y nada se descarta.\n *\n * Los tres desajustes reales:\n *\n * 1. `StopReason` de origen tiene 7 valores; el item `complete` del protocolo\n * solo admite `stop|length|toolUse`. `error` y `aborted` son variantes\n * propias, `pending` es streaming, y `deferred` — que no existe en el\n * protocolo — se trata como streaming, porque semánticamente el turno\n * todavía no ha terminado.\n *\n * 2. `ToolResultMessage` NO lleva los argumentos de la llamada, pero el\n * protocolo exige `input` en cada item de tool. Hay que correlacionar con el\n * `ToolCall` del mensaje de asistente anterior por `toolCallId`. Es una\n * dependencia entre mensajes, no una conversión local.\n *\n * 3. Los mensajes de origen no tienen `id`; el protocolo lo exige. Se deriva de\n * forma estable a partir de la posición para que dos snapshots consecutivos\n * del mismo transcript den los mismos ids.\n */\n\nimport type {\n\tAssistantMessage,\n\tMessage,\n\tUsage as SourceUsage,\n\tToolResultMessage,\n\tUserMessage,\n} from \"@earendil-works/pi-ai\";\nimport type {\n\tAssistantTranscriptItem,\n\tToolTranscriptItem,\n\tTranscriptItem,\n\tUsage,\n\tUserTranscriptItem,\n} from \"@earendil-works/pi-protocol\";\n\n/** Id estable por posición: el mismo transcript da siempre los mismos ids. */\nexport function itemId(index: number): string {\n\treturn `item-${index}`;\n}\n\nfunction toUsage(usage: SourceUsage | undefined): Usage | undefined {\n\tif (!usage) return undefined;\n\treturn {\n\t\tinput: Math.max(0, Math.trunc(usage.input ?? 0)),\n\t\toutput: Math.max(0, Math.trunc(usage.output ?? 0)),\n\t\tcacheRead: Math.max(0, Math.trunc(usage.cacheRead ?? 0)),\n\t\tcacheWrite: Math.max(0, Math.trunc(usage.cacheWrite ?? 0)),\n\t\t...(usage.reasoning !== undefined ? { reasoning: Math.max(0, Math.trunc(usage.reasoning)) } : {}),\n\t\ttotalTokens: Math.max(0, Math.trunc(usage.totalTokens ?? 0)),\n\t\tcost: {\n\t\t\tinput: usage.cost?.input ?? 0,\n\t\t\toutput: usage.cost?.output ?? 0,\n\t\t\tcacheRead: usage.cost?.cacheRead ?? 0,\n\t\t\tcacheWrite: usage.cost?.cacheWrite ?? 0,\n\t\t\ttotal: usage.cost?.total ?? 0,\n\t\t},\n\t};\n}\n\nfunction timestampOf(value: unknown): number {\n\treturn typeof value === \"number\" && Number.isFinite(value) && value >= 0 ? Math.trunc(value) : 0;\n}\n\nfunction projectUser(message: UserMessage, index: number): UserTranscriptItem {\n\tconst content =\n\t\ttypeof message.content === \"string\"\n\t\t\t? [{ type: \"text\" as const, text: message.content }]\n\t\t\t: message.content.map((block) =>\n\t\t\t\t\tblock.type === \"image\"\n\t\t\t\t\t\t? { type: \"image\" as const, data: block.data, mimeType: block.mimeType }\n\t\t\t\t\t\t: { type: \"text\" as const, text: block.text ?? \"\" },\n\t\t\t\t);\n\treturn { id: itemId(index), role: \"user\", content, timestamp: timestampOf(message.timestamp) };\n}\n\nfunction projectAssistant(message: AssistantMessage, index: number): AssistantTranscriptItem {\n\tconst content = message.content.map((block) => {\n\t\tif (block.type === \"toolCall\") {\n\t\t\t// Renombrado real: id/name/arguments → toolCallId/toolName/input.\n\t\t\treturn {\n\t\t\t\ttype: \"toolCall\" as const,\n\t\t\t\ttoolCallId: block.id,\n\t\t\t\ttoolName: block.name,\n\t\t\t\tinput: (block.arguments ?? {}) as never,\n\t\t\t};\n\t\t}\n\t\tif (block.type === \"thinking\") {\n\t\t\treturn {\n\t\t\t\ttype: \"thinking\" as const,\n\t\t\t\tthinking: block.thinking ?? \"\",\n\t\t\t\t...(block.redacted !== undefined ? { redacted: Boolean(block.redacted) } : {}),\n\t\t\t};\n\t\t}\n\t\treturn { type: \"text\" as const, text: block.text ?? \"\" };\n\t});\n\n\tconst base = {\n\t\tid: itemId(index),\n\t\trole: \"assistant\" as const,\n\t\tcontent,\n\t\tmodel: { provider: message.provider ?? \"unknown\", id: message.model ?? \"unknown\" },\n\t\t...(message.responseModel ? { responseModel: message.responseModel } : {}),\n\t\t...(toUsage(message.usage) ? { usage: toUsage(message.usage) as Usage } : {}),\n\t\ttimestamp: timestampOf(message.timestamp),\n\t};\n\n\tswitch (message.stopReason) {\n\t\tcase \"stop\":\n\t\tcase \"length\":\n\t\tcase \"toolUse\":\n\t\t\treturn { ...base, status: \"complete\", stopReason: message.stopReason };\n\t\tcase \"error\":\n\t\t\treturn {\n\t\t\t\t...base,\n\t\t\t\tstatus: \"error\",\n\t\t\t\tstopReason: \"error\",\n\t\t\t\t...(message.errorMessage ? { errorMessage: message.errorMessage } : {}),\n\t\t\t};\n\t\tcase \"aborted\":\n\t\t\treturn {\n\t\t\t\t...base,\n\t\t\t\tstatus: \"aborted\",\n\t\t\t\tstopReason: \"aborted\",\n\t\t\t\t...(message.errorMessage ? { errorMessage: message.errorMessage } : {}),\n\t\t\t};\n\t\tdefault:\n\t\t\t// `pending` y `deferred`: el turno aún no ha cerrado. `deferred` no\n\t\t\t// existe en el protocolo — tratarlo como streaming es lo único que no\n\t\t\t// pierde el mensaje ni miente sobre su estado.\n\t\t\treturn { ...base, status: \"streaming\" };\n\t}\n}\n\nfunction projectTool(message: ToolResultMessage, index: number, input: unknown): ToolTranscriptItem {\n\tconst content = message.content.map((block) =>\n\t\tblock.type === \"image\"\n\t\t\t? { type: \"image\" as const, data: block.data, mimeType: block.mimeType }\n\t\t\t: { type: \"text\" as const, text: block.text ?? \"\" },\n\t);\n\tconst base = {\n\t\tid: itemId(index),\n\t\trole: \"tool\" as const,\n\t\ttoolCallId: message.toolCallId,\n\t\ttoolName: message.toolName,\n\t\t// El resultado NO trae los argumentos: vienen del ToolCall correlacionado.\n\t\tinput: (input ?? {}) as never,\n\t\tcontent,\n\t\t...(message.details !== undefined ? { details: message.details as never } : {}),\n\t\t...(toUsage(message.usage) ? { usage: toUsage(message.usage) as Usage } : {}),\n\t\ttimestamp: timestampOf(message.timestamp),\n\t};\n\treturn message.isError\n\t\t? { ...base, status: \"error\", isError: true }\n\t\t: { ...base, status: \"complete\", isError: false };\n}\n\n/**\n * Proyecta el transcript completo.\n *\n * INVARIANTE: devuelve exactamente un item por mensaje de entrada, en el mismo\n * orden. Nada se filtra ni se colapsa — si un mensaje no encaja en ninguna\n * variante, se degrada a algo válido antes que desaparecer.\n */\nexport function projectTranscript(messages: readonly Message[]): TranscriptItem[] {\n\t// Primera pasada: índice de argumentos por toolCallId, para el punto 2.\n\tconst inputs = new Map<string, unknown>();\n\tfor (const message of messages) {\n\t\tif (message.role !== \"assistant\") continue;\n\t\tfor (const block of message.content) {\n\t\t\tif (block.type === \"toolCall\") inputs.set(block.id, block.arguments ?? {});\n\t\t}\n\t}\n\n\tconst items: TranscriptItem[] = [];\n\tmessages.forEach((message, index) => {\n\t\tif (message.role === \"user\") items.push(projectUser(message, index));\n\t\telse if (message.role === \"assistant\") items.push(projectAssistant(message, index));\n\t\telse if (message.role === \"toolResult\") items.push(projectTool(message, index, inputs.get(message.toolCallId)));\n\t\t// Sin `else`: cualquier rol desconocido se ignoraría en silencio. Se\n\t\t// gestiona abajo para que el invariante siga siendo comprobable.\n\t\telse {\n\t\t\titems.push({\n\t\t\t\tid: itemId(index),\n\t\t\t\trole: \"user\",\n\t\t\t\tcontent: [\n\t\t\t\t\t{ type: \"text\", text: `[mensaje no reconocido: ${String((message as { role?: unknown }).role)}]` },\n\t\t\t\t],\n\t\t\t\ttimestamp: timestampOf((message as { timestamp?: unknown }).timestamp),\n\t\t\t});\n\t\t}\n\t});\n\treturn items;\n}\n"]}
@@ -0,0 +1,153 @@
1
+ ---
2
+ name: ada-engine
3
+ description: >
4
+ Orquestación autónoma: goal engine (objetivo de largo plazo con fases TDD y
5
+ juez con evidencia), workflows (deep-research, code-review, product-build,
6
+ codebase-audit, multi-perspective, scripts custom), grafo de trabajo
7
+ AUTÓNOMO. Cárgala SIEMPRE que el usuario pida: un objetivo grande o "goal",
8
+ investigación web profunda, revisión de código sistemática, construir un
9
+ producto con criterios, auditoría del repo, o análisis desde N perspectivas.
10
+ Si la tarea es una sola pasada (un fix, un script, responder algo), NO la
11
+ cargues — usa las tools normales.
12
+ ---
13
+
14
+ # Ada Intelligence Engine — Opera SIN pensar
15
+
16
+ Regla #1: **DECIDE tú, sin preguntar.** Si el usuario describe un objetivo,
17
+ tú eliges goal, workflow o tools normales según el árbol de abajo, y ejecutas
18
+ el procedimiento completo. Nunca respondas "¿quieres que lo haga con goal o
19
+ workflow?" — ya lo decides tú.
20
+
21
+ ## Árbol de decisión (evalúa el pedido del usuario, elige el primero que aplique)
22
+
23
+ ```
24
+ ¿El usuario pide un OBJETIVO de largo plazo, iterativo, con criterios de éxito?
25
+ (ej: "arregla el login y verifícalo", "construye X", "mejora Y hasta que...")
26
+ → GOAL ENGINE. Ve a la Sección A.
27
+
28
+ ¿El usuario pide INVESTIGACIÓN / REVISIÓN / AUDITORÍA / ANÁLISIS MULTI-ÁNGULO?
29
+ (ej: "investiga Z", "revisa este código", "audita el repo", "compara A y B")
30
+ → WORKFLOW. Ve a la Sección B.
31
+
32
+ ¿El usuario pide UNA TAREA CONCRETA de una pasada?
33
+ (ej: "crea un script", "corrige este bug", "explica X", "escribe un test")
34
+ → TOOLS NORMALES. No hagas nada especial del engine.
35
+
36
+ ¿El usuario menciona "goal"/"workflow" EXPLÍCITAMENTE aunque la tarea parezca
37
+ simple? → Respeta su elección y ve a la sección correspondiente.
38
+ ```
39
+
40
+ ## Sección A — GOAL (objetivo de largo plazo)
41
+
42
+ ### Procedimiento exacto (en este orden, sin saltarte pasos)
43
+
44
+ 1. **Crea el contrato** con la tool `goal_new`:
45
+ - `goal`: el objetivo verbatim del usuario.
46
+ - `doneCriteria`: 2-5 criterios **medibles y observables** (nunca vagos).
47
+ Si el usuario no los dio, **inventalos tú** a partir de su pedido.
48
+ - `verifyCommand`: comando de verificación si aplica (si no, "").
49
+ 2. **El goal queda en estado `setup`** — NO empieces a trabajar todavía.
50
+ 3. **Responde al usuario EXACTAMENTE con este formato** (corto, una línea):
51
+ ```
52
+ 🎯 Goal creado: <id>
53
+ Criterios: <c1> · <c2> …
54
+ Apruebalo con: /goal approve <id>
55
+ ```
56
+ O si el usuario puede aprobar desde el panel: "Pulsa Approve en el panel Engine".
57
+ 4. **Cuando el goal esté aprobado** (estado `active`), el engine lanza un
58
+ **workflow dinámico por sub-tarea** (uno a la vez). El goal es el
59
+ CONTENEDOR — los pasos viven en los workflows. Tu trabajo:
60
+ - Si el plan (sub-tareas) está vacío: **divídelo tú** con la tool `todo`/
61
+ planificación — cada sub-tarea es UN paso concreto y verificable.
62
+ - El engine lanza el workflow de cada sub-tarea automáticamente; NO lo
63
+ lances tú a mano.
64
+ - Escribe código, corre tests, edita archivos. **El grafo se registra
65
+ SOLO** — no hagas nada para el grafo.
66
+ 5. **Cuando todas las sub-tareas estén done**, el juez evalúa los criterios.
67
+ Solo si emite `done`, el goal se completa. Nunca completes sin evidencia
68
+ real (archivo:línea, URL o salida de comando).
69
+
70
+ ### Cómo responder durante el goal (sin sobre-explicar)
71
+
72
+ - Al completar una sub-tarea: `✓ <sub-tarea> — <1 línea de qué se hizo>`
73
+ - Si algo bloquea: usa `goal_blocked` con el motivo y dile al usuario qué
74
+ necesitas.
75
+ - Si una decisión necesita al usuario: `ask_user_question` (no adivines
76
+ criterios irreversibles como borrar datos o gastar dinero).
77
+
78
+ ## Sección B — WORKFLOW (investigación/revisión/auditoría)
79
+
80
+ ### Elegir el workflow (sin preguntar, según el pedido)
81
+
82
+ | El usuario pide… | Lanzas… |
83
+ |---|---|
84
+ | Investigar algo con fuentes | `workflow run deep_research question="..."` |
85
+ | Revisar código | `workflow run code_review` |
86
+ | Construir un producto con criterios | `workflow run product_build brief="..."` |
87
+ | Auditar el repo | `workflow run codebase_audit` |
88
+ | Analizar desde N perspectivas | `workflow run multi_perspective problem="..."` |
89
+ | Un flujo custom tuyo/guardado | `workflow run <nombre_script>` |
90
+
91
+ ### Procedimiento exacto
92
+
93
+ 1. Llama la tool `workflow` con `command: "run"` y el `name` + args.
94
+ 2. **La confirmación de coste es automática** (fail-closed 15s). No la
95
+ simules — el sistema la maneja. Si se confirma, el run arranca.
96
+ 3. **Responde al usuario EXACTAMENTE**:
97
+ ```
98
+ ⚡ Workflow lanzado: <name> (<runId>)
99
+ Fases: <f1> → <f2> → …
100
+ Sigue el progreso en el panel Engine o con /workflow status <runId>
101
+ ```
102
+ 4. Durante el run no bloquees esperando — el run es en background. Si el
103
+ usuario pregunta, usa `workflow status <runId>` y reporta fase actual,
104
+ agentes, tokens y coste.
105
+
106
+ ## Sección C — TOOLS NORMALES (una pasada)
107
+
108
+ No cargues nada del engine. Haz la tarea con las tools normales
109
+ (write/edit/bash/read). El grafo se registra solo si escribes archivos — no
110
+ hagas nada especial. Responde normal.
111
+
112
+ ## Comportamiento global (aplica siempre)
113
+
114
+ 1. **Decide y ejecuta** — nunca preguntes "¿goal o workflow?".
115
+ 2. **Responde corto**: una línea de estado + el siguiente paso que el usuario
116
+ debe dar (si lo hay). No expliques el engine.
117
+ 3. **No registres el grafo manualmente** — es automático (escribir archivo →
118
+ ARTIFACT + implemented_by; test que pasa → verified_by; goal → spine).
119
+ 4. **Solo usa `graph_add_nodes`** cuando estés haciendo una auditoría y
120
+ quieras marcar `QA_FINDING`/`RISK`/`DECISION` concretos con su contexto.
121
+ 5. **Respeta los frenos**: si el bucle del goal se repite (3 turnos iguales),
122
+ pausa con `goal_blocked`/`goal_wait` y pide claridad. No fuerces.
123
+ 6. **Evidencia antes de done**: nunca declares un goal completado sin
124
+ `archivo:línea`/URL/comando que lo pruebe.
125
+
126
+ ## Referencia rápida (no la repitas al usuario)
127
+
128
+ - **Modelo**: el goal es un CONTENEDOR; cada sub-tarea lanza un workflow
129
+ dinámico (goal_subtask). Cuando todas las sub-tareas done → juez → done.
130
+ - **Tools del goal**: `goal_new` (crear contrato), `goal_complete` (cerrar con
131
+ evidencia), `goal_blocked`, `goal_wait`, `todo` (ver/crear sub-tareas),
132
+ `ask_user_question`.
133
+ - **Tool `workflow`**: run/list/status/abort. Args: question=, brief=, problem=,
134
+ verifyCommand=, k=v custom.
135
+ - **Scripts custom**: `~/.ada/agent/workflows/<nombre>.js` — se lanzan con
136
+ `workflow run <nombre>`. Cualquier JS con la API agent/parallel/pipeline/
137
+ phase/store/checkpoint/args/cwd/runId/log.
138
+ - **Modelo**: los subagentes HEREDAN el modelo de la sesión principal por
139
+ defecto (misma auth → misma API key del chat). Los tiers cheap/main/judge
140
+ configuran overrides.
141
+ - **Grafo**: autónomo (GraphSync). Consultas: `/graph gaps|context|search|gate`.
142
+ - **Modelos**: tiers cheap/main/judge configurables; jueces intermedios baratos.
143
+
144
+ ## Prohibido
145
+
146
+ - ✗ Responder "¿goal o workflow?" — decide tú.
147
+ - ✗ Completar un goal sin evidencia citada.
148
+ - ✗ Registrar el grafo manualmente (FILE/TASK) — automático.
149
+ - ✗ Lanzar un workflow sin confirmación de coste (el sistema la pide; no la
150
+ eludas inventando resultados).
151
+ - ✗ Crear goals o workflows desde un subagente — solo la sesión principal.
152
+ - ✗ Inventar fuentes en deep_research — cada claim necesita ≥2 fuentes reales.
153
+ - ✗ Consenso falso en multi_perspective — señala desacuerdos.
@@ -0,0 +1,90 @@
1
+ ---
2
+ name: skill-creator
3
+ description: Use when the user asks to create, write or package a new Ada skill. Covers the SKILL.md layout, the frontmatter limits Ada's loader actually enforces, where to place the file so it is discovered, and the two Ada-specific rules a skill must never break.
4
+ ---
5
+
6
+ # Crear una skill de Ada
7
+
8
+ Una skill es un fichero `SKILL.md` con frontmatter YAML. Ada las carga bajo
9
+ demanda: el modelo ve el `name` y la `description` siempre, y el cuerpo solo
10
+ cuando la invoca.
11
+
12
+ ## Límites que el loader impone de verdad
13
+
14
+ Estos números salen de `src/core/skills.ts`, no de la especificación genérica.
15
+ Pasarse hace que la skill se rechace con un diagnóstico que el usuario
16
+ normalmente no ve:
17
+
18
+ | Campo | Límite | Regla |
19
+ |---|---|---|
20
+ | `name` | 64 caracteres | **Debe coincidir con el nombre del directorio.** `skills/mi-skill/SKILL.md` → `name: mi-skill` |
21
+ | `description` | 1024 caracteres | Es lo único que el modelo lee para decidir si la invoca |
22
+
23
+ ## Dónde ponerla
24
+
25
+ | Ruta | Alcance |
26
+ |---|---|
27
+ | `.ada/agent/skills/<nombre>/SKILL.md` | Solo este proyecto (gana sobre la global) |
28
+ | `~/.ada/agent/skills/<nombre>/SKILL.md` | Todos los proyectos |
29
+ | `~/.agents/skills/<nombre>/SKILL.md` | Compartida con otros agentes compatibles |
30
+
31
+ Precedencia: proyecto → global → paquete → builtin. Una skill de proyecto con el
32
+ mismo nombre que una builtin la sustituye.
33
+
34
+ ## Escribir la descripción
35
+
36
+ Es la parte que más se falla. La `description` no describe la skill: describe
37
+ **cuándo usarla**. El modelo la lee sin haber leído el cuerpo.
38
+
39
+ Mal: `Herramienta para bases de datos.`
40
+ Bien: `Use when reviewing database migrations: checks for missing rollbacks, non-concurrent index creation, and locking DDL on large tables.`
41
+
42
+ ## Dos reglas que una skill de Ada NO debe romper
43
+
44
+ Esto es lo específico de Ada, y no está en ningún otro sitio:
45
+
46
+ 1. **Nunca instruyas a un subagente para que llame a `goal_*`, `workflow` o
47
+ `graph_add_nodes`.** No es una convención: esas tools no existen en el
48
+ registro de un subagente, así que la instrucción fallaría. La orquestación
49
+ vive solo en la sesión principal, a propósito.
50
+
51
+ 2. **Nunca declares algo como hecho sin una cita `fichero:línea`.** El juez del
52
+ goal y los gates del grafo exigen evidencia observada. Una skill que enseñe
53
+ al modelo a afirmar "ya está arreglado" sin cita está enseñándole a saltarse
54
+ la propiedad central del producto.
55
+
56
+ ## Plantilla
57
+
58
+ ```markdown
59
+ ---
60
+ name: revisar-migraciones
61
+ description: Use when reviewing database migration files, before merging schema changes, or when the user mentions Alembic/Flyway/Prisma migrations. Checks rollback coverage, index concurrency and locking DDL.
62
+ ---
63
+
64
+ # Revisar migraciones
65
+
66
+ ## Cuándo aplica
67
+ Ficheros bajo `migrations/`, `alembic/versions/` o `prisma/migrations/`.
68
+
69
+ ## Pasos
70
+ 1. Comprueba que cada `up` tiene su `down`. Cita `fichero:línea` de los que no.
71
+ 2. Marca los `CREATE INDEX` sin `CONCURRENTLY` sobre tablas de >1M filas.
72
+ 3. Marca el DDL que toma un lock exclusivo en horario de producción.
73
+
74
+ ## Salida
75
+ Una lista por severidad, cada hallazgo con su cita `fichero:línea`. Si no hay
76
+ hallazgos, dilo — no rellenes.
77
+ ```
78
+
79
+ ## Empaquetar un workflow ya ejecutado
80
+
81
+ Si lo que quieres reutilizar es un *procedimiento* que ya corrió, no escribas
82
+ una skill: guarda el run.
83
+
84
+ ```
85
+ workflow save-as-skill <runId> <nombre>
86
+ ```
87
+
88
+ Eso guarda el script que **se ejecutó de verdad**, con su procedencia (runId,
89
+ args, resultado) en la cabecera. Solo acepta runs completados. Es más fiable que
90
+ una skill escrita a mano describiendo lo que uno cree que hizo.
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Cliente de la Bot API de Telegram. Sin dependencias.
3
+ *
4
+ * Se habla HTTP directamente en vez de traer `grammy` o `node-telegram-bot-api`
5
+ * por la misma razón que el resto del producto evita dependencias: es un CLI
6
+ * que se instala en máquinas ajenas, y cada paquete añadido es superficie de
7
+ * suministro que no controlamos. La Bot API es JSON sobre HTTPS; el envoltorio
8
+ * cabe en un fichero.
9
+ *
10
+ * El long polling es la única forma sensata aquí: un webhook exigiría exponer un
11
+ * puerto público desde el portátil de alguien.
12
+ */
13
+ export interface TelegramUser {
14
+ id: number;
15
+ is_bot?: boolean;
16
+ username?: string;
17
+ first_name?: string;
18
+ }
19
+ export interface TelegramMessage {
20
+ message_id: number;
21
+ from?: TelegramUser;
22
+ chat: {
23
+ id: number;
24
+ type: string;
25
+ };
26
+ text?: string;
27
+ date: number;
28
+ }
29
+ export interface TelegramUpdate {
30
+ update_id: number;
31
+ message?: TelegramMessage;
32
+ callback_query?: {
33
+ id: string;
34
+ from: TelegramUser;
35
+ data?: string;
36
+ message?: TelegramMessage;
37
+ };
38
+ }
39
+ export interface ApiOptions {
40
+ token: string;
41
+ fetchImpl?: typeof fetch;
42
+ /** Segundos que el servidor retiene la petición sin novedades. */
43
+ longPollSeconds?: number;
44
+ }
45
+ export declare class TelegramApiError extends Error {
46
+ method: string;
47
+ status: number;
48
+ description: string;
49
+ /** Segundos que Telegram pide esperar (429). */
50
+ retryAfter?: number;
51
+ constructor(method: string, status: number, description: string, retryAfter?: number);
52
+ }
53
+ export declare class TelegramApi {
54
+ private token;
55
+ private fetchImpl;
56
+ private longPollSeconds;
57
+ constructor(options: ApiOptions);
58
+ private call;
59
+ /** Identidad del bot. Sirve para validar el token antes de hacer nada. */
60
+ getMe(signal?: AbortSignal): Promise<TelegramUser>;
61
+ /**
62
+ * Long poll. `offset` confirma como recibidas todas las actualizaciones
63
+ * ANTERIORES — por eso quien llama solo debe avanzarlo tras persistir.
64
+ */
65
+ getUpdates(offset: number, signal?: AbortSignal): Promise<TelegramUpdate[]>;
66
+ sendMessage(chatId: number, text: string, options?: {
67
+ replyTo?: number;
68
+ }): Promise<TelegramMessage>;
69
+ editMessage(chatId: number, messageId: number, text: string): Promise<unknown>;
70
+ /** Indicador de "escribiendo…". Caduca solo a los ~5 s. */
71
+ sendTyping(chatId: number): Promise<unknown>;
72
+ }
73
+ /** Trocea respetando saltos de línea; Telegram corta a 4096 caracteres. */
74
+ export declare function splitForTelegram(text: string, limit?: number): string[];
75
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/telegram/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,MAAM,WAAW,YAAY;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,cAAc;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,cAAc,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,YAAY,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,eAAe,CAAA;KAAE,CAAC;CAC9F;AAED,MAAM,WAAW,UAAU;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,mEAAkE;IAClE,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,gBAAiB,SAAQ,KAAK;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,gDAAgD;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,YAAY,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAOnF;CACD;AAED,qBAAa,WAAW;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,SAAS,CAAe;IAChC,OAAO,CAAC,eAAe,CAAS;IAEhC,YAAY,OAAO,EAAE,UAAU,EAI9B;YAQa,IAAI;IAwBlB,0EAA0E;IAC1E,KAAK,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAEjD;IAED;;;OAGG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAM1E;IAED,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,eAAe,CAAC,CAStG;IAED,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE7E;IAED,6DAA2D;IAC3D,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE3C;CACD;AAED,4EAA2E;AAC3E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,SAAO,GAAG,MAAM,EAAE,CAcrE","sourcesContent":["/**\n * Cliente de la Bot API de Telegram. Sin dependencias.\n *\n * Se habla HTTP directamente en vez de traer `grammy` o `node-telegram-bot-api`\n * por la misma razón que el resto del producto evita dependencias: es un CLI\n * que se instala en máquinas ajenas, y cada paquete añadido es superficie de\n * suministro que no controlamos. La Bot API es JSON sobre HTTPS; el envoltorio\n * cabe en un fichero.\n *\n * El long polling es la única forma sensata aquí: un webhook exigiría exponer un\n * puerto público desde el portátil de alguien.\n */\n\nconst BASE = \"https://api.telegram.org\";\n\nexport interface TelegramUser {\n\tid: number;\n\tis_bot?: boolean;\n\tusername?: string;\n\tfirst_name?: string;\n}\n\nexport interface TelegramMessage {\n\tmessage_id: number;\n\tfrom?: TelegramUser;\n\tchat: { id: number; type: string };\n\ttext?: string;\n\tdate: number;\n}\n\nexport interface TelegramUpdate {\n\tupdate_id: number;\n\tmessage?: TelegramMessage;\n\tcallback_query?: { id: string; from: TelegramUser; data?: string; message?: TelegramMessage };\n}\n\nexport interface ApiOptions {\n\ttoken: string;\n\tfetchImpl?: typeof fetch;\n\t/** Segundos que el servidor retiene la petición sin novedades. */\n\tlongPollSeconds?: number;\n}\n\nexport class TelegramApiError extends Error {\n\tmethod: string;\n\tstatus: number;\n\tdescription: string;\n\t/** Segundos que Telegram pide esperar (429). */\n\tretryAfter?: number;\n\n\tconstructor(method: string, status: number, description: string, retryAfter?: number) {\n\t\tsuper(`${method}: ${description} (HTTP ${status})`);\n\t\tthis.name = \"TelegramApiError\";\n\t\tthis.method = method;\n\t\tthis.status = status;\n\t\tthis.description = description;\n\t\tthis.retryAfter = retryAfter;\n\t}\n}\n\nexport class TelegramApi {\n\tprivate token: string;\n\tprivate fetchImpl: typeof fetch;\n\tprivate longPollSeconds: number;\n\n\tconstructor(options: ApiOptions) {\n\t\tthis.token = options.token;\n\t\tthis.fetchImpl = options.fetchImpl ?? fetch;\n\t\tthis.longPollSeconds = options.longPollSeconds ?? 25;\n\t}\n\n\t/**\n\t * Llama a un método de la Bot API.\n\t *\n\t * El token va en la URL porque así lo define Telegram; por eso `toString()`\n\t * de esta clase y cualquier traza deben evitar imprimir la URL entera.\n\t */\n\tprivate async call<T>(method: string, params: Record<string, unknown>, signal?: AbortSignal): Promise<T> {\n\t\tconst response = await this.fetchImpl(`${BASE}/bot${this.token}/${method}`, {\n\t\t\tmethod: \"POST\",\n\t\t\theaders: { \"content-type\": \"application/json\" },\n\t\t\tbody: JSON.stringify(params),\n\t\t\tsignal,\n\t\t});\n\t\tconst body = (await response.json().catch(() => ({}))) as {\n\t\t\tok?: boolean;\n\t\t\tresult?: T;\n\t\t\tdescription?: string;\n\t\t\tparameters?: { retry_after?: number };\n\t\t};\n\t\tif (!response.ok || !body.ok) {\n\t\t\tthrow new TelegramApiError(\n\t\t\t\tmethod,\n\t\t\t\tresponse.status,\n\t\t\t\tbody.description ?? \"sin descripción\",\n\t\t\t\tbody.parameters?.retry_after,\n\t\t\t);\n\t\t}\n\t\treturn body.result as T;\n\t}\n\n\t/** Identidad del bot. Sirve para validar el token antes de hacer nada. */\n\tgetMe(signal?: AbortSignal): Promise<TelegramUser> {\n\t\treturn this.call<TelegramUser>(\"getMe\", {}, signal);\n\t}\n\n\t/**\n\t * Long poll. `offset` confirma como recibidas todas las actualizaciones\n\t * ANTERIORES — por eso quien llama solo debe avanzarlo tras persistir.\n\t */\n\tgetUpdates(offset: number, signal?: AbortSignal): Promise<TelegramUpdate[]> {\n\t\treturn this.call<TelegramUpdate[]>(\n\t\t\t\"getUpdates\",\n\t\t\t{ offset, timeout: this.longPollSeconds, allowed_updates: [\"message\", \"callback_query\"] },\n\t\t\tsignal,\n\t\t);\n\t}\n\n\tsendMessage(chatId: number, text: string, options: { replyTo?: number } = {}): Promise<TelegramMessage> {\n\t\treturn this.call<TelegramMessage>(\"sendMessage\", {\n\t\t\tchat_id: chatId,\n\t\t\ttext,\n\t\t\t// Sin parse_mode: el texto del agente puede contener Markdown roto o\n\t\t\t// caracteres que Telegram rechazaría, y un 400 por formato perdería el\n\t\t\t// mensaje entero. Texto plano siempre llega.\n\t\t\t...(options.replyTo ? { reply_to_message_id: options.replyTo } : {}),\n\t\t});\n\t}\n\n\teditMessage(chatId: number, messageId: number, text: string): Promise<unknown> {\n\t\treturn this.call(\"editMessageText\", { chat_id: chatId, message_id: messageId, text });\n\t}\n\n\t/** Indicador de \"escribiendo…\". Caduca solo a los ~5 s. */\n\tsendTyping(chatId: number): Promise<unknown> {\n\t\treturn this.call(\"sendChatAction\", { chat_id: chatId, action: \"typing\" }).catch(() => undefined);\n\t}\n}\n\n/** Trocea respetando saltos de línea; Telegram corta a 4096 caracteres. */\nexport function splitForTelegram(text: string, limit = 4000): string[] {\n\tif (text.length <= limit) return [text];\n\tconst partes: string[] = [];\n\tlet resto = text;\n\twhile (resto.length > limit) {\n\t\t// Se corta en el último salto de línea que quepa para no partir una\n\t\t// palabra ni un bloque de código por la mitad.\n\t\tconst corte = resto.lastIndexOf(\"\\n\", limit);\n\t\tconst en = corte > limit * 0.5 ? corte : limit;\n\t\tpartes.push(resto.slice(0, en));\n\t\tresto = resto.slice(en).replace(/^\\n/, \"\");\n\t}\n\tif (resto) partes.push(resto);\n\treturn partes;\n}\n"]}
@@ -0,0 +1,104 @@
1
+ /**
2
+ * Cliente de la Bot API de Telegram. Sin dependencias.
3
+ *
4
+ * Se habla HTTP directamente en vez de traer `grammy` o `node-telegram-bot-api`
5
+ * por la misma razón que el resto del producto evita dependencias: es un CLI
6
+ * que se instala en máquinas ajenas, y cada paquete añadido es superficie de
7
+ * suministro que no controlamos. La Bot API es JSON sobre HTTPS; el envoltorio
8
+ * cabe en un fichero.
9
+ *
10
+ * El long polling es la única forma sensata aquí: un webhook exigiría exponer un
11
+ * puerto público desde el portátil de alguien.
12
+ */
13
+ const BASE = "https://api.telegram.org";
14
+ export class TelegramApiError extends Error {
15
+ method;
16
+ status;
17
+ description;
18
+ /** Segundos que Telegram pide esperar (429). */
19
+ retryAfter;
20
+ constructor(method, status, description, retryAfter) {
21
+ super(`${method}: ${description} (HTTP ${status})`);
22
+ this.name = "TelegramApiError";
23
+ this.method = method;
24
+ this.status = status;
25
+ this.description = description;
26
+ this.retryAfter = retryAfter;
27
+ }
28
+ }
29
+ export class TelegramApi {
30
+ token;
31
+ fetchImpl;
32
+ longPollSeconds;
33
+ constructor(options) {
34
+ this.token = options.token;
35
+ this.fetchImpl = options.fetchImpl ?? fetch;
36
+ this.longPollSeconds = options.longPollSeconds ?? 25;
37
+ }
38
+ /**
39
+ * Llama a un método de la Bot API.
40
+ *
41
+ * El token va en la URL porque así lo define Telegram; por eso `toString()`
42
+ * de esta clase y cualquier traza deben evitar imprimir la URL entera.
43
+ */
44
+ async call(method, params, signal) {
45
+ const response = await this.fetchImpl(`${BASE}/bot${this.token}/${method}`, {
46
+ method: "POST",
47
+ headers: { "content-type": "application/json" },
48
+ body: JSON.stringify(params),
49
+ signal,
50
+ });
51
+ const body = (await response.json().catch(() => ({})));
52
+ if (!response.ok || !body.ok) {
53
+ throw new TelegramApiError(method, response.status, body.description ?? "sin descripción", body.parameters?.retry_after);
54
+ }
55
+ return body.result;
56
+ }
57
+ /** Identidad del bot. Sirve para validar el token antes de hacer nada. */
58
+ getMe(signal) {
59
+ return this.call("getMe", {}, signal);
60
+ }
61
+ /**
62
+ * Long poll. `offset` confirma como recibidas todas las actualizaciones
63
+ * ANTERIORES — por eso quien llama solo debe avanzarlo tras persistir.
64
+ */
65
+ getUpdates(offset, signal) {
66
+ return this.call("getUpdates", { offset, timeout: this.longPollSeconds, allowed_updates: ["message", "callback_query"] }, signal);
67
+ }
68
+ sendMessage(chatId, text, options = {}) {
69
+ return this.call("sendMessage", {
70
+ chat_id: chatId,
71
+ text,
72
+ // Sin parse_mode: el texto del agente puede contener Markdown roto o
73
+ // caracteres que Telegram rechazaría, y un 400 por formato perdería el
74
+ // mensaje entero. Texto plano siempre llega.
75
+ ...(options.replyTo ? { reply_to_message_id: options.replyTo } : {}),
76
+ });
77
+ }
78
+ editMessage(chatId, messageId, text) {
79
+ return this.call("editMessageText", { chat_id: chatId, message_id: messageId, text });
80
+ }
81
+ /** Indicador de "escribiendo…". Caduca solo a los ~5 s. */
82
+ sendTyping(chatId) {
83
+ return this.call("sendChatAction", { chat_id: chatId, action: "typing" }).catch(() => undefined);
84
+ }
85
+ }
86
+ /** Trocea respetando saltos de línea; Telegram corta a 4096 caracteres. */
87
+ export function splitForTelegram(text, limit = 4000) {
88
+ if (text.length <= limit)
89
+ return [text];
90
+ const partes = [];
91
+ let resto = text;
92
+ while (resto.length > limit) {
93
+ // Se corta en el último salto de línea que quepa para no partir una
94
+ // palabra ni un bloque de código por la mitad.
95
+ const corte = resto.lastIndexOf("\n", limit);
96
+ const en = corte > limit * 0.5 ? corte : limit;
97
+ partes.push(resto.slice(0, en));
98
+ resto = resto.slice(en).replace(/^\n/, "");
99
+ }
100
+ if (resto)
101
+ partes.push(resto);
102
+ return partes;
103
+ }
104
+ //# sourceMappingURL=api.js.map