@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,503 @@
1
+ /**
2
+ * Ada Intelligence Engine — GoalEngine (modelo contenedor, estilo Claude Code).
3
+ *
4
+ * El goal es un CONTENEDOR de alto nivel: objetivo + doneCriteria + estado +
5
+ * frenos. NO tiene pasos propios — los pasos viven en los workflows dinámicos
6
+ * que desencadena. Cada sub-tarea del goal (tasks) lanza un workflow
7
+ * (`launchWorkflow` inyectable → WorkflowManager). Cuando todas las sub-tareas
8
+ * terminan, el juez verifica los doneCriteria y decide done/continue.
9
+ *
10
+ * Diseño: agnóstico del LLM — `launchWorkflow` (lanza el flujo dinámico de una
11
+ * sub-tarea) y `judge` (juez) son inyectables. Frenos integrados: maxTurns,
12
+ * repeat detector, stop-file (~/.ada-stop), budget, pausa ante decisiones
13
+ * irreversibles.
14
+ */
15
+ import { GoalError } from "./errors.js";
16
+ import { createGoalState, reduceGoal } from "./state.js";
17
+ import { DEFAULT_GOAL_FRENOS } from "./types.js";
18
+ import { workspaceFingerprint } from "./worktree-fingerprint.js";
19
+ export class GoalEngine {
20
+ persistence;
21
+ /** Lock por-goal: nunca dos ticks concurrentes del mismo goal. */
22
+ _tickInFlight = new Set();
23
+ /** Auto-continuación en vuelo tras `onWorkflowFinished` (ver `settle`). */
24
+ _autoTick = Promise.resolve();
25
+ /** Temporizadores de `goal_wait(resumeAfterMs)`, uno por goal. */
26
+ _waitTimers = new Map();
27
+ launchWorkflow;
28
+ judge;
29
+ replanFn;
30
+ frenos;
31
+ onEvent;
32
+ stopFileExists;
33
+ planOnly;
34
+ cwd;
35
+ fingerprint;
36
+ now;
37
+ /** cache en memoria: id → estado (el disco es la fuente de verdad). */
38
+ cache = new Map();
39
+ constructor(options) {
40
+ this.persistence = options.persistence;
41
+ this.launchWorkflow = options.launchWorkflow;
42
+ this.judge = options.judge;
43
+ this.replanFn = options.replanFn;
44
+ this.frenos = { ...DEFAULT_GOAL_FRENOS, ...options.frenos };
45
+ this.onEvent = options.onEvent;
46
+ this.stopFileExists = options.stopFileExists ?? ((p) => p !== null && p.length > 0 && fsExists(p));
47
+ this.planOnly = options.planOnly ?? false;
48
+ this.cwd = options.cwd ?? process.cwd();
49
+ this.fingerprint = options.fingerprint ?? workspaceFingerprint;
50
+ this.now = options.now ?? (() => new Date().toISOString());
51
+ }
52
+ // ─── Contrato primero ───
53
+ /** Crea un goal en estado setup (contrato). Devuelve el id para aprobar. */
54
+ async createGoal(input) {
55
+ const state = createGoalState({ ...input, id: `goal-${Date.now().toString(36)}-${randId()}`, now: this.now() });
56
+ this.cache.set(state.id, state);
57
+ await this.persistence.save(state);
58
+ this.emit("goal_update", { goal: state });
59
+ return state;
60
+ }
61
+ /** Añade una tarea al TODO del goal sin reemplazar el plan. */
62
+ async addTask(goalId, title) {
63
+ const state = await this.mustLoad(goalId);
64
+ const { state: next } = reduceGoal(state, { type: "goal_task_add", title }, this.frenos);
65
+ return this.commit(state, next);
66
+ }
67
+ /** Aprueba el contrato → el bucle puede arrancar. */
68
+ async approve(goalId) {
69
+ const state = await this.mustLoad(goalId);
70
+ const { state: next } = reduceGoal(state, { type: "goal_approve" }, this.frenos);
71
+ return this.commit(state, next);
72
+ }
73
+ // ─── Bucle ───
74
+ /**
75
+ * Un tick del bucle: se llama cuando el agente principal se ha settleado.
76
+ * Solo avanza si: status active, sin waiting, sin stop-file, bajo los
77
+ * límites (maxTurns, budget, repeat tolerance).
78
+ */
79
+ async tick(goalId) {
80
+ // Reentrancia: nunca dos ticks concurrentes del mismo goal (el
81
+ // subagent que ejecuta el turno comparte agentDir y NO re-dispara).
82
+ if (this._tickInFlight.has(goalId)) {
83
+ const state = await this.mustLoad(goalId);
84
+ return { advanced: false, state, reason: "tick ya en curso" };
85
+ }
86
+ this._tickInFlight.add(goalId);
87
+ try {
88
+ return await this._tickInner(goalId);
89
+ }
90
+ finally {
91
+ this._tickInFlight.delete(goalId);
92
+ }
93
+ }
94
+ async _tickInner(goalId) {
95
+ let state = await this.mustLoad(goalId);
96
+ // Frenos que detienen el bucle ANTES de gastar un turno.
97
+ const brake = this.checkBrakes(state);
98
+ if (brake) {
99
+ const { state: next } = reduceGoal(state, brake.action, this.frenos);
100
+ await this.commit(state, next);
101
+ return { advanced: false, state: next, reason: brake.reason };
102
+ }
103
+ // Continuación solo si el bucle está activo.
104
+ if (state.status !== "active")
105
+ return { advanced: false, state, reason: `status=${state.status}` };
106
+ // ── Modelo contenedor: el goal lanza workflows por sub-tarea ──
107
+ // 0. ¿Hay sub-tareas con workflow EN MARCHA? → esperar (uno a la vez).
108
+ // El evento workflow_run_finished marcará la sub-tarea vía onWorkflowFinished.
109
+ const runningNow = state.tasks.filter((t) => t.status === "running");
110
+ if (runningNow.length > 0) {
111
+ return { advanced: false, state, reason: `${runningNow.length} workflow(s) en curso` };
112
+ }
113
+ // 1. ¿Hay sub-tareas fallidas? → reintento (relanzar el workflow) hasta
114
+ // la tolerancia; al alcanzarla, el repeat detector ya pausó.
115
+ const failedNow = state.tasks.filter((t) => t.status === "failed");
116
+ if (failedNow.length > 0) {
117
+ if (state.repeatedTurns >= this.frenos.repeatTolerance) {
118
+ return { advanced: false, state, reason: "repeat detector pausado" };
119
+ }
120
+ // Resetear la primera fallida a pending y CONTINUAR al lanzamiento.
121
+ const first = failedNow[0];
122
+ const { state: retry } = reduceGoal(state, { type: "goal_task_result", taskId: first.id, status: "pending" }, this.frenos);
123
+ state = retry;
124
+ await this.commit(state, state);
125
+ }
126
+ // P5: modo plan-only — no se lanzan workflows automáticamente; el goal
127
+ // espera aprobación explícita del plan (approve) para cada iteración.
128
+ if (this.planOnly) {
129
+ return { advanced: false, state, reason: "plan-only: esperando approve del plan" };
130
+ }
131
+ // 2. ¿Hay sub-tareas sin workflow lanzado? → lanza la siguiente.
132
+ const pending = state.tasks.find((t) => t.status === "pending" || t.status === "active");
133
+ if (pending) {
134
+ this.emit("goal_agent", {
135
+ goalId,
136
+ agent: { id: `${goalId}:task:${pending.id}`, label: pending.title, detail: "workflow dinámico" },
137
+ });
138
+ try {
139
+ const { runId } = await this.launchWorkflow({
140
+ goalId: state.id,
141
+ goal: state.goal,
142
+ taskId: pending.id,
143
+ taskTitle: pending.title,
144
+ doneCriteria: state.doneCriteria,
145
+ verifyCommand: state.verifyCommand,
146
+ sessionId: state.sessionId,
147
+ });
148
+ // Marcar la sub-tarea running con su runId.
149
+ const { state: launched } = reduceGoal(state, { type: "goal_task_launched", taskId: pending.id, workflowRunId: runId }, this.frenos);
150
+ await this.commit(state, launched);
151
+ this.emit("goal_phase", { goalId, phase: "working" });
152
+ return { advanced: true, state: launched, reason: `workflow ${runId} lanzado para ${pending.title}` };
153
+ }
154
+ catch (e) {
155
+ // El workflow no se pudo lanzar → task failed, el juez decide.
156
+ const { state: failed } = reduceGoal(state, {
157
+ type: "goal_task_result",
158
+ taskId: pending.id,
159
+ status: "failed",
160
+ summary: e instanceof Error ? e.message : String(e),
161
+ }, this.frenos);
162
+ await this.commit(state, failed);
163
+ return { advanced: true, state: failed, reason: "workflow launch failed" };
164
+ }
165
+ }
166
+ // 3. Sin sub-tareas pendientes/running → todas done (o plan vacío) → juez.
167
+ if (state.tasks.length === 0 || state.tasks.every((t) => t.status === "done")) {
168
+ const judged = await this.runJudge(state);
169
+ // P1: veredicto continue → re-planificación completa automática
170
+ // (nueva iteración con plan regenerado) si el freno maxReplans
171
+ // lo permite y hay replanFn. Si no, reintento simple (behavior atual).
172
+ if (judged.status === "active" && judged.judge.lastVerdict === "continue") {
173
+ const re = await this.autoReplanAfterContinue(judged);
174
+ if (re.iteration > judged.iteration) {
175
+ return { advanced: true, state: re, reason: `juez continue → iteración ${re.iteration} (replan)` };
176
+ }
177
+ }
178
+ return { advanced: true, state: judged, reason: "todas las sub-tareas done → juez" };
179
+ }
180
+ // 4. Plan incompleto (sub-tareas en otros estados) → esperar.
181
+ return { advanced: false, state, reason: "plan en curso" };
182
+ }
183
+ /**
184
+ * Evento del WorkflowManager: una sub-tarea terminó su workflow.
185
+ * Marca la task done/failed, acumula tokens/coste del run en el presupuesto
186
+ * del goal (freno budgetTokens/costBudget), y aplica el repeat detector
187
+ * (sub-tareas fallidas consecutivas → pause). El siguiente tick decide.
188
+ */
189
+ async onWorkflowFinished(workflowRunId, ok, summary, usage) {
190
+ // Buscar el goal cuya sub-tarea corre ese workflow (en memoria).
191
+ for (const state of this.cache.values()) {
192
+ const task = state.tasks.find((t) => t.workflowRunId === workflowRunId);
193
+ if (!task)
194
+ continue;
195
+ let next = state;
196
+ // Resultado de la sub-tarea.
197
+ const { state: afterResult } = reduceGoal(next, { type: "goal_task_result", taskId: task.id, status: ok ? "done" : "failed", summary }, this.frenos);
198
+ next = afterResult;
199
+ // Presupuesto: acumular tokens/coste reales del workflow.
200
+ if (usage && (usage.tokens || usage.cost)) {
201
+ next = {
202
+ ...next,
203
+ tokensUsed: next.tokensUsed + (usage.tokens ?? 0),
204
+ costUsed: next.costUsed + (usage.cost ?? 0),
205
+ updatedAt: this.now(),
206
+ };
207
+ }
208
+ // Repeat detector: sub-tareas fallidas consecutivas → pause.
209
+ if (!ok) {
210
+ // Anti-cheat: ¿cambió algo el agente? Un fallo con el árbol de
211
+ // trabajo idéntico al del fallo anterior no es un intento nuevo, es
212
+ // el mismo intento. Reintentarlo gasta presupuesto sin información.
213
+ const fingerprint = await this.fingerprint(this.cwd);
214
+ const stalled = fingerprint !== undefined && fingerprint === next.lastFailureFingerprint;
215
+ next = {
216
+ ...next,
217
+ repeatedTurns: next.repeatedTurns + 1,
218
+ lastAgentSummary: summary ?? "workflow fallido",
219
+ lastFailureFingerprint: fingerprint ?? next.lastFailureFingerprint,
220
+ updatedAt: this.now(),
221
+ };
222
+ if (stalled) {
223
+ // El plan es el problema, no el intento: parar y que el replan lo
224
+ // vea, en vez de agotar la tolerancia repitiendo lo mismo.
225
+ const { state: paused } = reduceGoal(next, {
226
+ type: "goal_pause",
227
+ reason: "workspace sin cambios desde el fallo anterior — el agente no modificó nada, hace falta replantear",
228
+ }, this.frenos);
229
+ next = paused;
230
+ }
231
+ else if (next.repeatedTurns >= this.frenos.repeatTolerance) {
232
+ const { state: paused } = reduceGoal(next, { type: "goal_pause", reason: `${this.frenos.repeatTolerance} sub-tareas fallidas seguidas` }, this.frenos);
233
+ next = paused;
234
+ }
235
+ }
236
+ else if (next.repeatedTurns > 0 || next.lastFailureFingerprint) {
237
+ // Éxito resetea el contador de fallos y la huella.
238
+ next = { ...next, repeatedTurns: 0, lastFailureFingerprint: undefined, updatedAt: this.now() };
239
+ }
240
+ await this.commit(state, next);
241
+ this.emit("goal_update", { goal: next });
242
+ // Auto-continuación. Sin esto el goal solo avanza cuando el humano
243
+ // escribe: el único disparador de `tick` es el `agent_settled` de la
244
+ // sesión principal, y el workflow de la sub-tarea corre en una sesión
245
+ // de subagente que está excluida de ese camino. Es decir, un goal de
246
+ // N sub-tareas exigía N mensajes del usuario.
247
+ //
248
+ // Se dispara desde dentro del engine a propósito: el engine solo
249
+ // existe en la sesión principal, así que la propiedad anti-recursión
250
+ // se conserva sin depender de agent-session.
251
+ //
252
+ // El bucle está acotado: `goal_task_launched` incrementa `turnsUsed`
253
+ // (state.ts:133) contra `maxTurns`, los fallos consecutivos cuentan
254
+ // contra `repeatTolerance` (y al alcanzarla el estado ya no es
255
+ // `active`, así que no se re-tickea), y `checkBrakes` evalúa
256
+ // stop-file y presupuestos antes de gastar nada.
257
+ if (next.status === "active") {
258
+ this._autoTick = this.tick(next.id).catch(() => {
259
+ // El tick persiste su propio estado; que falle no debe tumbar
260
+ // al manejador del evento del workflow.
261
+ });
262
+ }
263
+ return next;
264
+ }
265
+ return null;
266
+ }
267
+ /**
268
+ * Espera a la auto-continuación en vuelo. Pensado para tests, que necesitan
269
+ * un punto determinista tras `onWorkflowFinished`; en producción el tick es
270
+ * fire-and-forget y nadie lo espera.
271
+ */
272
+ async settle() {
273
+ await this._autoTick;
274
+ }
275
+ /** Juez obligatorio: revisa SOLO goal + criteria + evidencia citada. */
276
+ async runJudge(state) {
277
+ this.emit("goal_judge", { goalId: state.id, verdict: "continue", reason: "juez iniciado" });
278
+ const verdict = await this.judge({
279
+ goal: state.goal,
280
+ doneCriteria: state.doneCriteria,
281
+ verifyCommand: state.verifyCommand,
282
+ evidence: state.evidence,
283
+ phase: state.phase,
284
+ });
285
+ const { state: next } = reduceGoal(state, { type: "goal_judge", verdict: verdict.verdict, reason: verdict.reason, crossModel: verdict.crossModel }, this.frenos);
286
+ await this.commit(state, next);
287
+ this.emit("goal_judge", { goalId: state.id, verdict: verdict.verdict, reason: verdict.reason });
288
+ return next;
289
+ }
290
+ /** Completa el goal con evidencia — exige juez done y evidencia citada. */
291
+ async complete(goalId, summary, evidence) {
292
+ const state = await this.mustLoad(goalId);
293
+ // Añadir la evidencia nueva al estado (sin duplicar).
294
+ let current = state;
295
+ if (evidence.length) {
296
+ const { state: withEv } = reduceGoal(current, { type: "goal_agent_turn", summary: "", evidence }, this.frenos);
297
+ current = withEv;
298
+ }
299
+ const { state: next, stopLoop } = reduceGoal(current, { type: "goal_complete", summary, evidence }, this.frenos);
300
+ await this.commit(current, next);
301
+ if (stopLoop && next.status === "complete") {
302
+ this.emit("goal_finished", { goalId, status: "complete", verdict: next.judge.lastVerdict });
303
+ }
304
+ return next;
305
+ }
306
+ // ─── Pausa / bloqueo / preguntas ───
307
+ /** Reemplaza la checklist completa (tool `todo`). */
308
+ async replaceTasks(goalId, tasks) {
309
+ const state = await this.mustLoad(goalId);
310
+ const { state: next } = reduceGoal(state, { type: "goal_tasks", tasks }, this.frenos);
311
+ return this.commit(state, next);
312
+ }
313
+ /**
314
+ * P1: re-planificación completa. Genera un nuevo plan con el LLM
315
+ * (replanFn) aprendiendo de la evidencia y del último veredicto del juez,
316
+ * y arranca la iteración N+1. Sin replanFn → error suave (GoalError).
317
+ */
318
+ async replan(goalId) {
319
+ const state = await this.mustLoad(goalId);
320
+ if (!this.replanFn)
321
+ throw new GoalError("replanFn no está configurado", "REPLAN_UNAVAILABLE");
322
+ // El motivo de una pausa por anti-cheat ("el agente no cambió nada") es
323
+ // más accionable para replantear que el último veredicto del juez: dice
324
+ // que el problema es el plan, no la ejecución. Si existe, manda.
325
+ const stalledReason = state.waiting?.reason?.includes("workspace sin cambios") ? state.waiting.reason : undefined;
326
+ const replanned = await this.replanFn({
327
+ goal: state.goal,
328
+ doneCriteria: state.doneCriteria,
329
+ verifyCommand: state.verifyCommand,
330
+ evidence: state.evidence,
331
+ currentTasks: state.tasks,
332
+ lastVerdict: state.judge.lastVerdict,
333
+ lastReason: stalledReason ?? state.judge.lastReason,
334
+ });
335
+ const { state: next } = reduceGoal(state, { type: "goal_replan", tasks: replanned.tasks, rationale: replanned.rationale }, this.frenos);
336
+ await this.commit(state, next);
337
+ this.emit("goal_update", { goal: next });
338
+ return next;
339
+ }
340
+ /**
341
+ * P1: re-planificación automática tras veredicto continue del juez.
342
+ * Respeta el freno maxReplans; si se agota o no hay replanFn, hace el
343
+ * reintento simple (comportamiento actual).
344
+ */
345
+ async autoReplanAfterContinue(state) {
346
+ const maxReplans = this.frenos.maxReplans ?? 3;
347
+ // El historial cuenta cuántas re-planificaciones ya se hicieron.
348
+ const replansDone = state.iterations.filter((it) => it.replanRationale).length;
349
+ if (replansDone >= maxReplans || !this.replanFn)
350
+ return state; // reintento simple
351
+ try {
352
+ return await this.replan(state.id);
353
+ }
354
+ catch {
355
+ return state; // fail-open: reintento simple
356
+ }
357
+ }
358
+ async pause(goalId, reason) {
359
+ const state = await this.mustLoad(goalId);
360
+ const { state: next } = reduceGoal(state, { type: "goal_pause", reason }, this.frenos);
361
+ return this.commit(state, next);
362
+ }
363
+ async resume(goalId) {
364
+ const state = await this.mustLoad(goalId);
365
+ const { state: next } = reduceGoal(state, { type: "goal_resume" }, this.frenos);
366
+ return this.commit(state, next);
367
+ }
368
+ async blocked(goalId, reason) {
369
+ const state = await this.mustLoad(goalId);
370
+ const { state: next } = reduceGoal(state, { type: "goal_blocked", reason }, this.frenos);
371
+ return this.commit(state, next);
372
+ }
373
+ async askUser(goalId, reason, questions) {
374
+ const state = await this.mustLoad(goalId);
375
+ const { state: next } = reduceGoal(state, { type: "goal_questions", questions, reason }, this.frenos);
376
+ await this.commit(state, next);
377
+ this.emit("goal_question", { goalId, questions });
378
+ return next;
379
+ }
380
+ async answerQuestions(goalId, answers) {
381
+ const state = await this.mustLoad(goalId);
382
+ const { state: next } = reduceGoal(state, { type: "goal_answers", answers }, this.frenos);
383
+ return this.commit(state, next);
384
+ }
385
+ // ─── Consultas ───
386
+ async get(goalId) {
387
+ const cached = this.cache.get(goalId);
388
+ if (cached)
389
+ return cached;
390
+ const loaded = await this.persistence.load(goalId);
391
+ if (loaded)
392
+ this.cache.set(goalId, loaded);
393
+ return loaded;
394
+ }
395
+ async list() {
396
+ return this.persistence.list();
397
+ }
398
+ // ─── Frenos ───
399
+ checkBrakes(state) {
400
+ // ~/.ada-stop: freno de emergencia.
401
+ if (this.frenos.stopFile && this.stopFileExists(this.frenos.stopFile)) {
402
+ return {
403
+ action: { type: "goal_pause", reason: `stop-file presente: ${this.frenos.stopFile}` },
404
+ reason: "stop-file",
405
+ };
406
+ }
407
+ // maxTurns.
408
+ if (state.turnsUsed >= this.frenos.maxTurns) {
409
+ return {
410
+ action: { type: "goal_blocked", reason: `máximo de ${this.frenos.maxTurns} turnos alcanzado` },
411
+ reason: "maxTurns",
412
+ };
413
+ }
414
+ // Tokens.
415
+ if (this.frenos.tokenBudget !== null && state.tokensUsed > this.frenos.tokenBudget) {
416
+ return { action: { type: "goal_usage_limited" }, reason: "token budget" };
417
+ }
418
+ // Coste.
419
+ if (this.frenos.costBudget !== null && state.costUsed > this.frenos.costBudget) {
420
+ return { action: { type: "goal_budget_limited" }, reason: "cost budget" };
421
+ }
422
+ // waiting activo (resumeAfterMs: reanudar automáticamente si pasó).
423
+ if (state.waiting) {
424
+ if (state.waiting.resumeAfterMs !== undefined &&
425
+ Date.now() >= Date.parse(state.updatedAt) + state.waiting.resumeAfterMs) {
426
+ return null; // el tick puede continuar (el resume ocurre en commit)
427
+ }
428
+ return { action: { type: "goal_blocked", reason: state.waiting.reason }, reason: "waiting" };
429
+ }
430
+ return null;
431
+ }
432
+ async mustLoad(goalId) {
433
+ const state = await this.get(goalId);
434
+ if (!state)
435
+ throw new GoalError(`Goal no encontrado: ${goalId}`, "GOAL_NOT_FOUND");
436
+ return state;
437
+ }
438
+ async commit(_before, after) {
439
+ this.cache.set(after.id, after);
440
+ await this.persistence.save(after);
441
+ this.emit("goal_update", { goal: after });
442
+ this.armWaitTimer(after);
443
+ return after;
444
+ }
445
+ /**
446
+ * Temporizador de `goal_wait(resumeAfterMs)`.
447
+ *
448
+ * Las dos mitades ya existían: la tool guarda `resumeAfterMs` en
449
+ * `state.waiting`, y `checkBrakes` libera el freno cuando el plazo vence.
450
+ * Pero nadie re-evaluaba, así que "espera 30 minutos" significaba en la
451
+ * práctica "espera a que el humano vuelva a escribir". Sondear un deploy o
452
+ * esperar a CI no funcionaba.
453
+ *
454
+ * Un despertar espurio es inofensivo: `tick` tiene su lock y `checkBrakes`
455
+ * vuelve a decidir.
456
+ */
457
+ armWaitTimer(state) {
458
+ const previous = this._waitTimers.get(state.id);
459
+ if (previous) {
460
+ clearTimeout(previous);
461
+ this._waitTimers.delete(state.id);
462
+ }
463
+ if (state.status !== "active" && state.status !== "blocked")
464
+ return;
465
+ const ms = state.waiting?.resumeAfterMs;
466
+ if (ms === undefined)
467
+ return;
468
+ const remaining = Date.parse(state.updatedAt) + ms - Date.now();
469
+ const timer = setTimeout(() => {
470
+ this._waitTimers.delete(state.id);
471
+ void this.tick(state.id).catch(() => { });
472
+ }, Math.max(0, remaining));
473
+ // No mantener vivo el proceso solo por un goal dormido.
474
+ timer.unref?.();
475
+ this._waitTimers.set(state.id, timer);
476
+ }
477
+ /** Cancela los temporizadores pendientes (cierre de sesión, tests). */
478
+ dispose() {
479
+ for (const timer of this._waitTimers.values())
480
+ clearTimeout(timer);
481
+ this._waitTimers.clear();
482
+ }
483
+ emit(type, payload) {
484
+ this.onEvent?.(type, payload);
485
+ }
486
+ }
487
+ // ─── helpers ───
488
+ import { existsSync } from "node:fs";
489
+ function fsExists(p) {
490
+ try {
491
+ return existsSync(p);
492
+ }
493
+ catch {
494
+ return false;
495
+ }
496
+ }
497
+ function randId() {
498
+ return Math.random().toString(36).slice(2, 7);
499
+ }
500
+ export function isBrakeRelevant(reason) {
501
+ return ["stop-file", "maxTurns", "token budget", "cost budget", "repeat detector", "waiting"].includes(reason);
502
+ }
503
+ //# sourceMappingURL=engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../../src/core/workflows/goal-engine/engine.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Ada Intelligence Engine — GoalEngine (modelo contenedor, estilo Claude Code).\n *\n * El goal es un CONTENEDOR de alto nivel: objetivo + doneCriteria + estado +\n * frenos. NO tiene pasos propios — los pasos viven en los workflows dinámicos\n * que desencadena. Cada sub-tarea del goal (tasks) lanza un workflow\n * (`launchWorkflow` inyectable → WorkflowManager). Cuando todas las sub-tareas\n * terminan, el juez verifica los doneCriteria y decide done/continue.\n *\n * Diseño: agnóstico del LLM — `launchWorkflow` (lanza el flujo dinámico de una\n * sub-tarea) y `judge` (juez) son inyectables. Frenos integrados: maxTurns,\n * repeat detector, stop-file (~/.ada-stop), budget, pausa ante decisiones\n * irreversibles.\n */\n\nimport { GoalError } from \"./errors.ts\";\nimport { createGoalState, reduceGoal } from \"./state.ts\";\nimport type {\n\tAskUserQuestion,\n\tEvidenceItem,\n\tGoalAction,\n\tGoalEventListener,\n\tGoalFrenos,\n\tGoalJudgeFn,\n\tGoalPersistence,\n\tGoalReplanFn,\n\tGoalState,\n\tTask,\n\tTaskStatus,\n} from \"./types.ts\";\nimport { DEFAULT_GOAL_FRENOS } from \"./types.ts\";\nimport { workspaceFingerprint } from \"./worktree-fingerprint.ts\";\n\nexport interface GoalEngineOptions {\n\tpersistence: GoalPersistence;\n\t/** Lanza el workflow dinámico de una sub-tarea → runId (goal-contenedor). */\n\tlaunchWorkflow: (input: {\n\t\tgoalId: string;\n\t\tgoal: string;\n\t\ttaskId: string;\n\t\ttaskTitle: string;\n\t\tdoneCriteria: string[];\n\t\tverifyCommand: string;\n\t\tsessionId?: string;\n\t}) => Promise<{ runId: string }>;\n\tjudge: GoalJudgeFn;\n\t/** P1: re-planificación completa tras veredicto continue (opcional). */\n\treplanFn?: GoalReplanFn;\n\tfrenos?: Partial<GoalFrenos>;\n\tonEvent?: GoalEventListener;\n\t/** Comprobador del stop-file (inyectable para tests). */\n\tstopFileExists?: (path: string) => boolean;\n\t/** P5: modo plan-only — no lanzar workflows hasta approve del plan. */\n\tplanOnly?: boolean;\n\t/** Raíz del proyecto para la huella anti-cheat. Default: process.cwd(). */\n\tcwd?: string;\n\t/** Huella del árbol de trabajo (inyectable para tests). */\n\tfingerprint?: (cwd: string) => Promise<string | undefined>;\n\tnow?: () => string;\n}\n\nexport class GoalEngine {\n\tprivate persistence: GoalPersistence;\n\t/** Lock por-goal: nunca dos ticks concurrentes del mismo goal. */\n\tprivate _tickInFlight = new Set<string>();\n\t/** Auto-continuación en vuelo tras `onWorkflowFinished` (ver `settle`). */\n\tprivate _autoTick: Promise<unknown> = Promise.resolve();\n\t/** Temporizadores de `goal_wait(resumeAfterMs)`, uno por goal. */\n\tprivate _waitTimers = new Map<string, ReturnType<typeof setTimeout>>();\n\tprivate launchWorkflow: GoalEngineOptions[\"launchWorkflow\"];\n\tprivate judge: GoalJudgeFn;\n\tprivate replanFn?: GoalReplanFn;\n\tprivate frenos: GoalFrenos;\n\tprivate onEvent?: GoalEventListener;\n\tprivate stopFileExists: (path: string) => boolean;\n\tprivate planOnly: boolean;\n\tprivate cwd: string;\n\tprivate fingerprint: (cwd: string) => Promise<string | undefined>;\n\tprivate now: () => string;\n\t/** cache en memoria: id → estado (el disco es la fuente de verdad). */\n\tprivate cache = new Map<string, GoalState>();\n\n\tconstructor(options: GoalEngineOptions) {\n\t\tthis.persistence = options.persistence;\n\t\tthis.launchWorkflow = options.launchWorkflow;\n\t\tthis.judge = options.judge;\n\t\tthis.replanFn = options.replanFn;\n\t\tthis.frenos = { ...DEFAULT_GOAL_FRENOS, ...options.frenos };\n\t\tthis.onEvent = options.onEvent;\n\t\tthis.stopFileExists = options.stopFileExists ?? ((p) => p !== null && p.length > 0 && fsExists(p));\n\t\tthis.planOnly = options.planOnly ?? false;\n\t\tthis.cwd = options.cwd ?? process.cwd();\n\t\tthis.fingerprint = options.fingerprint ?? workspaceFingerprint;\n\t\tthis.now = options.now ?? (() => new Date().toISOString());\n\t}\n\n\t// ─── Contrato primero ───\n\n\t/** Crea un goal en estado setup (contrato). Devuelve el id para aprobar. */\n\tasync createGoal(input: {\n\t\tgoal: string;\n\t\tdoneCriteria: string[];\n\t\tverifyCommand: string;\n\t\tsessionId?: string;\n\t}): Promise<GoalState> {\n\t\tconst state = createGoalState({ ...input, id: `goal-${Date.now().toString(36)}-${randId()}`, now: this.now() });\n\t\tthis.cache.set(state.id, state);\n\t\tawait this.persistence.save(state);\n\t\tthis.emit(\"goal_update\", { goal: state });\n\t\treturn state;\n\t}\n\n\t/** Añade una tarea al TODO del goal sin reemplazar el plan. */\n\tasync addTask(goalId: string, title: string): Promise<GoalState> {\n\t\tconst state = await this.mustLoad(goalId);\n\t\tconst { state: next } = reduceGoal(state, { type: \"goal_task_add\", title }, this.frenos);\n\t\treturn this.commit(state, next);\n\t}\n\n\t/** Aprueba el contrato → el bucle puede arrancar. */\n\tasync approve(goalId: string): Promise<GoalState> {\n\t\tconst state = await this.mustLoad(goalId);\n\t\tconst { state: next } = reduceGoal(state, { type: \"goal_approve\" }, this.frenos);\n\t\treturn this.commit(state, next);\n\t}\n\n\t// ─── Bucle ───\n\n\t/**\n\t * Un tick del bucle: se llama cuando el agente principal se ha settleado.\n\t * Solo avanza si: status active, sin waiting, sin stop-file, bajo los\n\t * límites (maxTurns, budget, repeat tolerance).\n\t */\n\tasync tick(goalId: string): Promise<{ advanced: boolean; state: GoalState; reason?: string }> {\n\t\t// Reentrancia: nunca dos ticks concurrentes del mismo goal (el\n\t\t// subagent que ejecuta el turno comparte agentDir y NO re-dispara).\n\t\tif (this._tickInFlight.has(goalId)) {\n\t\t\tconst state = await this.mustLoad(goalId);\n\t\t\treturn { advanced: false, state, reason: \"tick ya en curso\" };\n\t\t}\n\t\tthis._tickInFlight.add(goalId);\n\t\ttry {\n\t\t\treturn await this._tickInner(goalId);\n\t\t} finally {\n\t\t\tthis._tickInFlight.delete(goalId);\n\t\t}\n\t}\n\n\tprivate async _tickInner(goalId: string): Promise<{ advanced: boolean; state: GoalState; reason?: string }> {\n\t\tlet state = await this.mustLoad(goalId);\n\n\t\t// Frenos que detienen el bucle ANTES de gastar un turno.\n\t\tconst brake = this.checkBrakes(state);\n\t\tif (brake) {\n\t\t\tconst { state: next } = reduceGoal(state, brake.action, this.frenos);\n\t\t\tawait this.commit(state, next);\n\t\t\treturn { advanced: false, state: next, reason: brake.reason };\n\t\t}\n\n\t\t// Continuación solo si el bucle está activo.\n\t\tif (state.status !== \"active\") return { advanced: false, state, reason: `status=${state.status}` };\n\n\t\t// ── Modelo contenedor: el goal lanza workflows por sub-tarea ──\n\t\t// 0. ¿Hay sub-tareas con workflow EN MARCHA? → esperar (uno a la vez).\n\t\t// El evento workflow_run_finished marcará la sub-tarea vía onWorkflowFinished.\n\t\tconst runningNow = state.tasks.filter((t) => t.status === \"running\");\n\t\tif (runningNow.length > 0) {\n\t\t\treturn { advanced: false, state, reason: `${runningNow.length} workflow(s) en curso` };\n\t\t}\n\n\t\t// 1. ¿Hay sub-tareas fallidas? → reintento (relanzar el workflow) hasta\n\t\t// la tolerancia; al alcanzarla, el repeat detector ya pausó.\n\t\tconst failedNow = state.tasks.filter((t) => t.status === \"failed\");\n\t\tif (failedNow.length > 0) {\n\t\t\tif (state.repeatedTurns >= this.frenos.repeatTolerance) {\n\t\t\t\treturn { advanced: false, state, reason: \"repeat detector pausado\" };\n\t\t\t}\n\t\t\t// Resetear la primera fallida a pending y CONTINUAR al lanzamiento.\n\t\t\tconst first = failedNow[0];\n\t\t\tconst { state: retry } = reduceGoal(\n\t\t\t\tstate,\n\t\t\t\t{ type: \"goal_task_result\", taskId: first.id, status: \"pending\" as TaskStatus },\n\t\t\t\tthis.frenos,\n\t\t\t);\n\t\t\tstate = retry;\n\t\t\tawait this.commit(state, state);\n\t\t}\n\n\t\t// P5: modo plan-only — no se lanzan workflows automáticamente; el goal\n\t\t// espera aprobación explícita del plan (approve) para cada iteración.\n\t\tif (this.planOnly) {\n\t\t\treturn { advanced: false, state, reason: \"plan-only: esperando approve del plan\" };\n\t\t}\n\n\t\t// 2. ¿Hay sub-tareas sin workflow lanzado? → lanza la siguiente.\n\t\tconst pending = state.tasks.find((t) => t.status === \"pending\" || t.status === \"active\");\n\t\tif (pending) {\n\t\t\tthis.emit(\"goal_agent\", {\n\t\t\t\tgoalId,\n\t\t\t\tagent: { id: `${goalId}:task:${pending.id}`, label: pending.title, detail: \"workflow dinámico\" },\n\t\t\t});\n\t\t\ttry {\n\t\t\t\tconst { runId } = await this.launchWorkflow({\n\t\t\t\t\tgoalId: state.id,\n\t\t\t\t\tgoal: state.goal,\n\t\t\t\t\ttaskId: pending.id,\n\t\t\t\t\ttaskTitle: pending.title,\n\t\t\t\t\tdoneCriteria: state.doneCriteria,\n\t\t\t\t\tverifyCommand: state.verifyCommand,\n\t\t\t\t\tsessionId: state.sessionId,\n\t\t\t\t});\n\t\t\t\t// Marcar la sub-tarea running con su runId.\n\t\t\t\tconst { state: launched } = reduceGoal(\n\t\t\t\t\tstate,\n\t\t\t\t\t{ type: \"goal_task_launched\", taskId: pending.id, workflowRunId: runId },\n\t\t\t\t\tthis.frenos,\n\t\t\t\t);\n\t\t\t\tawait this.commit(state, launched);\n\t\t\t\tthis.emit(\"goal_phase\", { goalId, phase: \"working\" });\n\t\t\t\treturn { advanced: true, state: launched, reason: `workflow ${runId} lanzado para ${pending.title}` };\n\t\t\t} catch (e) {\n\t\t\t\t// El workflow no se pudo lanzar → task failed, el juez decide.\n\t\t\t\tconst { state: failed } = reduceGoal(\n\t\t\t\t\tstate,\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: \"goal_task_result\",\n\t\t\t\t\t\ttaskId: pending.id,\n\t\t\t\t\t\tstatus: \"failed\",\n\t\t\t\t\t\tsummary: e instanceof Error ? e.message : String(e),\n\t\t\t\t\t},\n\t\t\t\t\tthis.frenos,\n\t\t\t\t);\n\t\t\t\tawait this.commit(state, failed);\n\t\t\t\treturn { advanced: true, state: failed, reason: \"workflow launch failed\" };\n\t\t\t}\n\t\t}\n\n\t\t// 3. Sin sub-tareas pendientes/running → todas done (o plan vacío) → juez.\n\t\tif (state.tasks.length === 0 || state.tasks.every((t) => t.status === \"done\")) {\n\t\t\tconst judged = await this.runJudge(state);\n\t\t\t// P1: veredicto continue → re-planificación completa automática\n\t\t\t// (nueva iteración con plan regenerado) si el freno maxReplans\n\t\t\t// lo permite y hay replanFn. Si no, reintento simple (behavior atual).\n\t\t\tif (judged.status === \"active\" && judged.judge.lastVerdict === \"continue\") {\n\t\t\t\tconst re = await this.autoReplanAfterContinue(judged);\n\t\t\t\tif (re.iteration > judged.iteration) {\n\t\t\t\t\treturn { advanced: true, state: re, reason: `juez continue → iteración ${re.iteration} (replan)` };\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn { advanced: true, state: judged, reason: \"todas las sub-tareas done → juez\" };\n\t\t}\n\n\t\t// 4. Plan incompleto (sub-tareas en otros estados) → esperar.\n\t\treturn { advanced: false, state, reason: \"plan en curso\" };\n\t}\n\n\t/**\n\t * Evento del WorkflowManager: una sub-tarea terminó su workflow.\n\t * Marca la task done/failed, acumula tokens/coste del run en el presupuesto\n\t * del goal (freno budgetTokens/costBudget), y aplica el repeat detector\n\t * (sub-tareas fallidas consecutivas → pause). El siguiente tick decide.\n\t */\n\tasync onWorkflowFinished(\n\t\tworkflowRunId: string,\n\t\tok: boolean,\n\t\tsummary?: string,\n\t\tusage?: { tokens?: number; cost?: number },\n\t): Promise<GoalState | null> {\n\t\t// Buscar el goal cuya sub-tarea corre ese workflow (en memoria).\n\t\tfor (const state of this.cache.values()) {\n\t\t\tconst task = state.tasks.find((t) => t.workflowRunId === workflowRunId);\n\t\t\tif (!task) continue;\n\t\t\tlet next = state;\n\t\t\t// Resultado de la sub-tarea.\n\t\t\tconst { state: afterResult } = reduceGoal(\n\t\t\t\tnext,\n\t\t\t\t{ type: \"goal_task_result\", taskId: task.id, status: ok ? \"done\" : \"failed\", summary },\n\t\t\t\tthis.frenos,\n\t\t\t);\n\t\t\tnext = afterResult;\n\t\t\t// Presupuesto: acumular tokens/coste reales del workflow.\n\t\t\tif (usage && (usage.tokens || usage.cost)) {\n\t\t\t\tnext = {\n\t\t\t\t\t...next,\n\t\t\t\t\ttokensUsed: next.tokensUsed + (usage.tokens ?? 0),\n\t\t\t\t\tcostUsed: next.costUsed + (usage.cost ?? 0),\n\t\t\t\t\tupdatedAt: this.now(),\n\t\t\t\t};\n\t\t\t}\n\t\t\t// Repeat detector: sub-tareas fallidas consecutivas → pause.\n\t\t\tif (!ok) {\n\t\t\t\t// Anti-cheat: ¿cambió algo el agente? Un fallo con el árbol de\n\t\t\t\t// trabajo idéntico al del fallo anterior no es un intento nuevo, es\n\t\t\t\t// el mismo intento. Reintentarlo gasta presupuesto sin información.\n\t\t\t\tconst fingerprint = await this.fingerprint(this.cwd);\n\t\t\t\tconst stalled = fingerprint !== undefined && fingerprint === next.lastFailureFingerprint;\n\t\t\t\tnext = {\n\t\t\t\t\t...next,\n\t\t\t\t\trepeatedTurns: next.repeatedTurns + 1,\n\t\t\t\t\tlastAgentSummary: summary ?? \"workflow fallido\",\n\t\t\t\t\tlastFailureFingerprint: fingerprint ?? next.lastFailureFingerprint,\n\t\t\t\t\tupdatedAt: this.now(),\n\t\t\t\t};\n\t\t\t\tif (stalled) {\n\t\t\t\t\t// El plan es el problema, no el intento: parar y que el replan lo\n\t\t\t\t\t// vea, en vez de agotar la tolerancia repitiendo lo mismo.\n\t\t\t\t\tconst { state: paused } = reduceGoal(\n\t\t\t\t\t\tnext,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: \"goal_pause\",\n\t\t\t\t\t\t\treason:\n\t\t\t\t\t\t\t\t\"workspace sin cambios desde el fallo anterior — el agente no modificó nada, hace falta replantear\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tthis.frenos,\n\t\t\t\t\t);\n\t\t\t\t\tnext = paused;\n\t\t\t\t} else if (next.repeatedTurns >= this.frenos.repeatTolerance) {\n\t\t\t\t\tconst { state: paused } = reduceGoal(\n\t\t\t\t\t\tnext,\n\t\t\t\t\t\t{ type: \"goal_pause\", reason: `${this.frenos.repeatTolerance} sub-tareas fallidas seguidas` },\n\t\t\t\t\t\tthis.frenos,\n\t\t\t\t\t);\n\t\t\t\t\tnext = paused;\n\t\t\t\t}\n\t\t\t} else if (next.repeatedTurns > 0 || next.lastFailureFingerprint) {\n\t\t\t\t// Éxito resetea el contador de fallos y la huella.\n\t\t\t\tnext = { ...next, repeatedTurns: 0, lastFailureFingerprint: undefined, updatedAt: this.now() };\n\t\t\t}\n\t\t\tawait this.commit(state, next);\n\t\t\tthis.emit(\"goal_update\", { goal: next });\n\t\t\t// Auto-continuación. Sin esto el goal solo avanza cuando el humano\n\t\t\t// escribe: el único disparador de `tick` es el `agent_settled` de la\n\t\t\t// sesión principal, y el workflow de la sub-tarea corre en una sesión\n\t\t\t// de subagente que está excluida de ese camino. Es decir, un goal de\n\t\t\t// N sub-tareas exigía N mensajes del usuario.\n\t\t\t//\n\t\t\t// Se dispara desde dentro del engine a propósito: el engine solo\n\t\t\t// existe en la sesión principal, así que la propiedad anti-recursión\n\t\t\t// se conserva sin depender de agent-session.\n\t\t\t//\n\t\t\t// El bucle está acotado: `goal_task_launched` incrementa `turnsUsed`\n\t\t\t// (state.ts:133) contra `maxTurns`, los fallos consecutivos cuentan\n\t\t\t// contra `repeatTolerance` (y al alcanzarla el estado ya no es\n\t\t\t// `active`, así que no se re-tickea), y `checkBrakes` evalúa\n\t\t\t// stop-file y presupuestos antes de gastar nada.\n\t\t\tif (next.status === \"active\") {\n\t\t\t\tthis._autoTick = this.tick(next.id).catch(() => {\n\t\t\t\t\t// El tick persiste su propio estado; que falle no debe tumbar\n\t\t\t\t\t// al manejador del evento del workflow.\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn next;\n\t\t}\n\t\treturn null;\n\t}\n\n\t/**\n\t * Espera a la auto-continuación en vuelo. Pensado para tests, que necesitan\n\t * un punto determinista tras `onWorkflowFinished`; en producción el tick es\n\t * fire-and-forget y nadie lo espera.\n\t */\n\tasync settle(): Promise<void> {\n\t\tawait this._autoTick;\n\t}\n\n\t/** Juez obligatorio: revisa SOLO goal + criteria + evidencia citada. */\n\tasync runJudge(state: GoalState): Promise<GoalState> {\n\t\tthis.emit(\"goal_judge\", { goalId: state.id, verdict: \"continue\", reason: \"juez iniciado\" });\n\t\tconst verdict = await this.judge({\n\t\t\tgoal: state.goal,\n\t\t\tdoneCriteria: state.doneCriteria,\n\t\t\tverifyCommand: state.verifyCommand,\n\t\t\tevidence: state.evidence,\n\t\t\tphase: state.phase,\n\t\t});\n\t\tconst { state: next } = reduceGoal(\n\t\t\tstate,\n\t\t\t{ type: \"goal_judge\", verdict: verdict.verdict, reason: verdict.reason, crossModel: verdict.crossModel },\n\t\t\tthis.frenos,\n\t\t);\n\t\tawait this.commit(state, next);\n\t\tthis.emit(\"goal_judge\", { goalId: state.id, verdict: verdict.verdict, reason: verdict.reason });\n\t\treturn next;\n\t}\n\n\t/** Completa el goal con evidencia — exige juez done y evidencia citada. */\n\tasync complete(goalId: string, summary: string, evidence: EvidenceItem[]): Promise<GoalState> {\n\t\tconst state = await this.mustLoad(goalId);\n\t\t// Añadir la evidencia nueva al estado (sin duplicar).\n\t\tlet current = state;\n\t\tif (evidence.length) {\n\t\t\tconst { state: withEv } = reduceGoal(current, { type: \"goal_agent_turn\", summary: \"\", evidence }, this.frenos);\n\t\t\tcurrent = withEv;\n\t\t}\n\t\tconst { state: next, stopLoop } = reduceGoal(current, { type: \"goal_complete\", summary, evidence }, this.frenos);\n\t\tawait this.commit(current, next);\n\t\tif (stopLoop && next.status === \"complete\") {\n\t\t\tthis.emit(\"goal_finished\", { goalId, status: \"complete\", verdict: next.judge.lastVerdict });\n\t\t}\n\t\treturn next;\n\t}\n\n\t// ─── Pausa / bloqueo / preguntas ───\n\n\t/** Reemplaza la checklist completa (tool `todo`). */\n\tasync replaceTasks(goalId: string, tasks: Task[]): Promise<GoalState> {\n\t\tconst state = await this.mustLoad(goalId);\n\t\tconst { state: next } = reduceGoal(state, { type: \"goal_tasks\", tasks }, this.frenos);\n\t\treturn this.commit(state, next);\n\t}\n\n\t/**\n\t * P1: re-planificación completa. Genera un nuevo plan con el LLM\n\t * (replanFn) aprendiendo de la evidencia y del último veredicto del juez,\n\t * y arranca la iteración N+1. Sin replanFn → error suave (GoalError).\n\t */\n\tasync replan(goalId: string): Promise<GoalState> {\n\t\tconst state = await this.mustLoad(goalId);\n\t\tif (!this.replanFn) throw new GoalError(\"replanFn no está configurado\", \"REPLAN_UNAVAILABLE\");\n\t\t// El motivo de una pausa por anti-cheat (\"el agente no cambió nada\") es\n\t\t// más accionable para replantear que el último veredicto del juez: dice\n\t\t// que el problema es el plan, no la ejecución. Si existe, manda.\n\t\tconst stalledReason = state.waiting?.reason?.includes(\"workspace sin cambios\") ? state.waiting.reason : undefined;\n\t\tconst replanned = await this.replanFn({\n\t\t\tgoal: state.goal,\n\t\t\tdoneCriteria: state.doneCriteria,\n\t\t\tverifyCommand: state.verifyCommand,\n\t\t\tevidence: state.evidence,\n\t\t\tcurrentTasks: state.tasks,\n\t\t\tlastVerdict: state.judge.lastVerdict,\n\t\t\tlastReason: stalledReason ?? state.judge.lastReason,\n\t\t});\n\t\tconst { state: next } = reduceGoal(\n\t\t\tstate,\n\t\t\t{ type: \"goal_replan\", tasks: replanned.tasks, rationale: replanned.rationale },\n\t\t\tthis.frenos,\n\t\t);\n\t\tawait this.commit(state, next);\n\t\tthis.emit(\"goal_update\", { goal: next });\n\t\treturn next;\n\t}\n\n\t/**\n\t * P1: re-planificación automática tras veredicto continue del juez.\n\t * Respeta el freno maxReplans; si se agota o no hay replanFn, hace el\n\t * reintento simple (comportamiento actual).\n\t */\n\tprivate async autoReplanAfterContinue(state: GoalState): Promise<GoalState> {\n\t\tconst maxReplans = this.frenos.maxReplans ?? 3;\n\t\t// El historial cuenta cuántas re-planificaciones ya se hicieron.\n\t\tconst replansDone = state.iterations.filter((it) => it.replanRationale).length;\n\t\tif (replansDone >= maxReplans || !this.replanFn) return state; // reintento simple\n\t\ttry {\n\t\t\treturn await this.replan(state.id);\n\t\t} catch {\n\t\t\treturn state; // fail-open: reintento simple\n\t\t}\n\t}\n\n\tasync pause(goalId: string, reason?: string): Promise<GoalState> {\n\t\tconst state = await this.mustLoad(goalId);\n\t\tconst { state: next } = reduceGoal(state, { type: \"goal_pause\", reason }, this.frenos);\n\t\treturn this.commit(state, next);\n\t}\n\n\tasync resume(goalId: string): Promise<GoalState> {\n\t\tconst state = await this.mustLoad(goalId);\n\t\tconst { state: next } = reduceGoal(state, { type: \"goal_resume\" }, this.frenos);\n\t\treturn this.commit(state, next);\n\t}\n\n\tasync blocked(goalId: string, reason: string): Promise<GoalState> {\n\t\tconst state = await this.mustLoad(goalId);\n\t\tconst { state: next } = reduceGoal(state, { type: \"goal_blocked\", reason }, this.frenos);\n\t\treturn this.commit(state, next);\n\t}\n\n\tasync askUser(goalId: string, reason: string, questions: AskUserQuestion[]): Promise<GoalState> {\n\t\tconst state = await this.mustLoad(goalId);\n\t\tconst { state: next } = reduceGoal(state, { type: \"goal_questions\", questions, reason }, this.frenos);\n\t\tawait this.commit(state, next);\n\t\tthis.emit(\"goal_question\", { goalId, questions });\n\t\treturn next;\n\t}\n\n\tasync answerQuestions(goalId: string, answers: Record<string, string[]>): Promise<GoalState> {\n\t\tconst state = await this.mustLoad(goalId);\n\t\tconst { state: next } = reduceGoal(state, { type: \"goal_answers\", answers }, this.frenos);\n\t\treturn this.commit(state, next);\n\t}\n\n\t// ─── Consultas ───\n\n\tasync get(goalId: string): Promise<GoalState | null> {\n\t\tconst cached = this.cache.get(goalId);\n\t\tif (cached) return cached;\n\t\tconst loaded = await this.persistence.load(goalId);\n\t\tif (loaded) this.cache.set(goalId, loaded);\n\t\treturn loaded;\n\t}\n\n\tasync list(): Promise<\n\t\tArray<{ id: string; goal: string; status: GoalState[\"status\"]; phase: GoalState[\"phase\"]; updatedAt: string }>\n\t> {\n\t\treturn this.persistence.list();\n\t}\n\n\t// ─── Frenos ───\n\n\tprivate checkBrakes(state: GoalState): { action: GoalAction; reason: string } | null {\n\t\t// ~/.ada-stop: freno de emergencia.\n\t\tif (this.frenos.stopFile && this.stopFileExists(this.frenos.stopFile)) {\n\t\t\treturn {\n\t\t\t\taction: { type: \"goal_pause\", reason: `stop-file presente: ${this.frenos.stopFile}` },\n\t\t\t\treason: \"stop-file\",\n\t\t\t};\n\t\t}\n\t\t// maxTurns.\n\t\tif (state.turnsUsed >= this.frenos.maxTurns) {\n\t\t\treturn {\n\t\t\t\taction: { type: \"goal_blocked\", reason: `máximo de ${this.frenos.maxTurns} turnos alcanzado` },\n\t\t\t\treason: \"maxTurns\",\n\t\t\t};\n\t\t}\n\t\t// Tokens.\n\t\tif (this.frenos.tokenBudget !== null && state.tokensUsed > this.frenos.tokenBudget) {\n\t\t\treturn { action: { type: \"goal_usage_limited\" }, reason: \"token budget\" };\n\t\t}\n\t\t// Coste.\n\t\tif (this.frenos.costBudget !== null && state.costUsed > this.frenos.costBudget) {\n\t\t\treturn { action: { type: \"goal_budget_limited\" }, reason: \"cost budget\" };\n\t\t}\n\t\t// waiting activo (resumeAfterMs: reanudar automáticamente si pasó).\n\t\tif (state.waiting) {\n\t\t\tif (\n\t\t\t\tstate.waiting.resumeAfterMs !== undefined &&\n\t\t\t\tDate.now() >= Date.parse(state.updatedAt) + state.waiting.resumeAfterMs\n\t\t\t) {\n\t\t\t\treturn null; // el tick puede continuar (el resume ocurre en commit)\n\t\t\t}\n\t\t\treturn { action: { type: \"goal_blocked\", reason: state.waiting.reason }, reason: \"waiting\" };\n\t\t}\n\t\treturn null;\n\t}\n\n\tprivate async mustLoad(goalId: string): Promise<GoalState> {\n\t\tconst state = await this.get(goalId);\n\t\tif (!state) throw new GoalError(`Goal no encontrado: ${goalId}`, \"GOAL_NOT_FOUND\");\n\t\treturn state;\n\t}\n\n\tprivate async commit(_before: GoalState, after: GoalState): Promise<GoalState> {\n\t\tthis.cache.set(after.id, after);\n\t\tawait this.persistence.save(after);\n\t\tthis.emit(\"goal_update\", { goal: after });\n\t\tthis.armWaitTimer(after);\n\t\treturn after;\n\t}\n\n\t/**\n\t * Temporizador de `goal_wait(resumeAfterMs)`.\n\t *\n\t * Las dos mitades ya existían: la tool guarda `resumeAfterMs` en\n\t * `state.waiting`, y `checkBrakes` libera el freno cuando el plazo vence.\n\t * Pero nadie re-evaluaba, así que \"espera 30 minutos\" significaba en la\n\t * práctica \"espera a que el humano vuelva a escribir\". Sondear un deploy o\n\t * esperar a CI no funcionaba.\n\t *\n\t * Un despertar espurio es inofensivo: `tick` tiene su lock y `checkBrakes`\n\t * vuelve a decidir.\n\t */\n\tprivate armWaitTimer(state: GoalState): void {\n\t\tconst previous = this._waitTimers.get(state.id);\n\t\tif (previous) {\n\t\t\tclearTimeout(previous);\n\t\t\tthis._waitTimers.delete(state.id);\n\t\t}\n\t\tif (state.status !== \"active\" && state.status !== \"blocked\") return;\n\t\tconst ms = state.waiting?.resumeAfterMs;\n\t\tif (ms === undefined) return;\n\t\tconst remaining = Date.parse(state.updatedAt) + ms - Date.now();\n\t\tconst timer = setTimeout(\n\t\t\t() => {\n\t\t\t\tthis._waitTimers.delete(state.id);\n\t\t\t\tvoid this.tick(state.id).catch(() => {});\n\t\t\t},\n\t\t\tMath.max(0, remaining),\n\t\t);\n\t\t// No mantener vivo el proceso solo por un goal dormido.\n\t\t(timer as unknown as { unref?: () => void }).unref?.();\n\t\tthis._waitTimers.set(state.id, timer);\n\t}\n\n\t/** Cancela los temporizadores pendientes (cierre de sesión, tests). */\n\tdispose(): void {\n\t\tfor (const timer of this._waitTimers.values()) clearTimeout(timer);\n\t\tthis._waitTimers.clear();\n\t}\n\n\tprivate emit<K extends keyof import(\"./types.ts\").GoalEventMap>(\n\t\ttype: K,\n\t\tpayload: import(\"./types.ts\").GoalEventMap[K],\n\t): void {\n\t\tthis.onEvent?.(type, payload);\n\t}\n}\n\n// ─── helpers ───\n\nimport { existsSync } from \"node:fs\";\n\nfunction fsExists(p: string): boolean {\n\ttry {\n\t\treturn existsSync(p);\n\t} catch {\n\t\treturn false;\n\t}\n}\n\nfunction randId(): string {\n\treturn Math.random().toString(36).slice(2, 7);\n}\n\nexport function isBrakeRelevant(reason: string): boolean {\n\treturn [\"stop-file\", \"maxTurns\", \"token budget\", \"cost budget\", \"repeat detector\", \"waiting\"].includes(reason);\n}\n"]}
@@ -0,0 +1,7 @@
1
+ /** Errores tipados del Goal Engine. */
2
+ export type GoalErrorCode = "GOAL_NOT_FOUND" | "GOAL_INVALID_CONTRACT" | "GOAL_NO_JUDGE" | "GOAL_NO_EVIDENCE" | "GOAL_BRAKE" | "GOAL_PERSISTENCE" | "REPLAN_UNAVAILABLE";
3
+ export declare class GoalError extends Error {
4
+ readonly code: GoalErrorCode;
5
+ constructor(message: string, code: GoalErrorCode);
6
+ }
7
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../src/core/workflows/goal-engine/errors.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,MAAM,MAAM,aAAa,GACtB,gBAAgB,GAChB,uBAAuB,GACvB,eAAe,GACf,kBAAkB,GAClB,YAAY,GACZ,kBAAkB,GAClB,oBAAoB,CAAC;AAExB,qBAAa,SAAU,SAAQ,KAAK;IACnC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,YAAY,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAI/C;CACD","sourcesContent":["/** Errores tipados del Goal Engine. */\nexport type GoalErrorCode =\n\t| \"GOAL_NOT_FOUND\"\n\t| \"GOAL_INVALID_CONTRACT\"\n\t| \"GOAL_NO_JUDGE\"\n\t| \"GOAL_NO_EVIDENCE\"\n\t| \"GOAL_BRAKE\"\n\t| \"GOAL_PERSISTENCE\"\n\t| \"REPLAN_UNAVAILABLE\";\n\nexport class GoalError extends Error {\n\treadonly code: GoalErrorCode;\n\tconstructor(message: string, code: GoalErrorCode) {\n\t\tsuper(message);\n\t\tthis.name = \"GoalError\";\n\t\tthis.code = code;\n\t}\n}\n"]}
@@ -0,0 +1,9 @@
1
+ export class GoalError extends Error {
2
+ code;
3
+ constructor(message, code) {
4
+ super(message);
5
+ this.name = "GoalError";
6
+ this.code = code;
7
+ }
8
+ }
9
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../src/core/workflows/goal-engine/errors.ts"],"names":[],"mappings":"AAUA,MAAM,OAAO,SAAU,SAAQ,KAAK;IAC1B,IAAI,CAAgB;IAC7B,YAAY,OAAe,EAAE,IAAmB,EAAE;QACjD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAAA,CACjB;CACD","sourcesContent":["/** Errores tipados del Goal Engine. */\nexport type GoalErrorCode =\n\t| \"GOAL_NOT_FOUND\"\n\t| \"GOAL_INVALID_CONTRACT\"\n\t| \"GOAL_NO_JUDGE\"\n\t| \"GOAL_NO_EVIDENCE\"\n\t| \"GOAL_BRAKE\"\n\t| \"GOAL_PERSISTENCE\"\n\t| \"REPLAN_UNAVAILABLE\";\n\nexport class GoalError extends Error {\n\treadonly code: GoalErrorCode;\n\tconstructor(message: string, code: GoalErrorCode) {\n\t\tsuper(message);\n\t\tthis.name = \"GoalError\";\n\t\tthis.code = code;\n\t}\n}\n"]}
@@ -0,0 +1,13 @@
1
+ /** Ada Intelligence Engine — Goal Engine (Fase 4). */
2
+ export type { GoalEngineOptions } from "./engine.ts";
3
+ export { GoalEngine, isBrakeRelevant } from "./engine.ts";
4
+ export type { GoalErrorCode } from "./errors.ts";
5
+ export { GoalError } from "./errors.ts";
6
+ export { FileGoalPersistence, renderChecklist, writeAtomic } from "./persistence.ts";
7
+ export type { ReduceResult } from "./state.ts";
8
+ export { createGoalState, nextPhase, reduceGoal, TDD_PHASES } from "./state.ts";
9
+ export type { GoalToolContext } from "./tools.ts";
10
+ export { createGoalNewTool, goalSessionTools, goalTools, resolveActiveGoalId } from "./tools.ts";
11
+ export type { AskUserQuestion, EvidenceItem, GoalAction, GoalEventMap, GoalEventType, GoalFrenos, GoalJudgeFn, GoalPersistence, GoalPhase, GoalState, GoalStatus, GoalWorkFn, GoalWorkInput, GoalWorkResult, JudgeResult, JudgeVerdict, Task, TaskStatus, } from "./types.ts";
12
+ export { DEFAULT_GOAL_FRENOS } from "./types.ts";
13
+ //# sourceMappingURL=index.d.ts.map