@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,120 @@
1
+ /**
2
+ * Ada Intelligence Engine — tool `workflow` para el agente principal (§16.1).
3
+ *
4
+ * Permite al agente lanzar/consultar/abortar workflows con CONFIRMACIÓN de
5
+ * coste estimado (nunca ejecuta un run costoso a ciegas). Resuelve el
6
+ * WorkflowManager por llamada vía getter inyectado.
7
+ */
8
+ import { Type } from "typebox";
9
+ import { resolveBuiltinWorkflowScript, resolveWorkflowScriptByName } from "./resolve-script.js";
10
+ function reply(ok, text) {
11
+ return {
12
+ details: undefined,
13
+ content: [
14
+ { type: "text", text: JSON.stringify({ ok, ...(typeof text === "object" ? text : { message: text }) }) },
15
+ ],
16
+ };
17
+ }
18
+ /** Crea la tool workflow para la sesión principal. */
19
+ export function createWorkflowTool(ctx) {
20
+ const confirm = ctx.confirm ?? (async () => true);
21
+ return {
22
+ name: "workflow",
23
+ label: "Workflow",
24
+ description: "Lanza o gestiona un workflow del Ada Intelligence Engine (deep-research, code-review, product-build, multi-perspective, o un script guardado). SIEMPRE pide confirmación del coste estimado antes de lanzar un run costoso. Subcomandos: run | list | status | abort.",
25
+ promptSnippet: "Lanza/gestiona workflows con confirmación de coste (workflow run|list|status|abort)",
26
+ promptGuidelines: [
27
+ "Usa workflow run para lanzar deep-research o code-review; pide siempre confirmación de coste.",
28
+ "Usa workflow status para consultar el estado de un run en curso.",
29
+ "Usa workflow abort para cancelar un run.",
30
+ ],
31
+ parameters: Type.Object({
32
+ command: Type.Union([
33
+ Type.Literal("run"),
34
+ Type.Literal("list"),
35
+ Type.Literal("status"),
36
+ Type.Literal("abort"),
37
+ ]),
38
+ name: Type.Optional(Type.String({
39
+ description: "Nombre del workflow / del run (deep_research, code_review, product_build, multi_perspective o script guardado)",
40
+ })),
41
+ question: Type.Optional(Type.String({ description: "Pregunta o brief (para deep-research)" })),
42
+ runId: Type.Optional(Type.String({ description: "id del run (para status/abort)" })),
43
+ await: Type.Optional(Type.Boolean({ description: "Esperar a que termine (default true)" })),
44
+ }),
45
+ async execute(_toolCallId, input, _signal, _onUpdate, _ctx) {
46
+ const manager = ctx.getManager();
47
+ switch (input.command) {
48
+ case "list": {
49
+ if (!manager)
50
+ return reply(false, "workflow manager no disponible");
51
+ const runs = await manager.list().catch(() => []);
52
+ return reply(true, { runs: runs.slice(0, 20), count: runs.length });
53
+ }
54
+ case "status": {
55
+ if (!manager)
56
+ return reply(false, "workflow manager no disponible");
57
+ if (!input.runId)
58
+ return reply(false, "workflow status exige runId");
59
+ const state = await manager.state(input.runId).catch(() => null);
60
+ return state
61
+ ? reply(true, {
62
+ runId: state.runId,
63
+ name: state.name,
64
+ status: state.status,
65
+ agentCount: state.agentCount,
66
+ })
67
+ : reply(false, "run no encontrado");
68
+ }
69
+ case "abort": {
70
+ if (!manager)
71
+ return reply(false, "workflow manager no disponible");
72
+ if (!input.runId)
73
+ return reply(false, "workflow abort exige runId");
74
+ const aborted = manager.abort(input.runId);
75
+ return reply(true, { aborted, runId: input.runId });
76
+ }
77
+ case "run": {
78
+ if (!manager)
79
+ return reply(false, "workflow manager no disponible");
80
+ const name = input.name ?? "";
81
+ if (!name)
82
+ return reply(false, "workflow run exige name");
83
+ // Confirmación de coste estimado (nunca a ciegas).
84
+ const estimated = estimateCost(name);
85
+ const ok = await confirm(`Lanzar workflow "${name}"${input.question ? ` (${input.question})` : ""}.\n` +
86
+ `Coste estimado: ~${estimated.usd} USD / ${estimated.tokens} tokens. ¿Continuar?`);
87
+ if (!ok)
88
+ return reply(false, "lanzamiento cancelado por el usuario");
89
+ const script = resolveWorkflowScript(ctx.agentDir, name);
90
+ if (!script)
91
+ return reply(false, `script de workflow no encontrado: ${name} (builtin o <agentDir>/workflows/${name}.js)`);
92
+ const toolSid = ctx.sessionId?.();
93
+ const result = await manager
94
+ .execute(script, {
95
+ args: { question: input.question, name },
96
+ await: input.await ?? true,
97
+ displayName: name,
98
+ ...(toolSid ? { sessionId: toolSid } : {}),
99
+ })
100
+ .catch((e) => ({ error: e instanceof Error ? e.message : String(e) }));
101
+ if ("error" in result && result.error)
102
+ return reply(false, result.error);
103
+ return reply(true, result);
104
+ }
105
+ }
106
+ },
107
+ };
108
+ }
109
+ /** Coste estimado por tipo de workflow (heurística simple). */
110
+ function estimateCost(name) {
111
+ const tokens = name.includes("deep") || name.includes("product") ? 60000 : 25000;
112
+ return { usd: Math.round(tokens * 0.00001 * 100) / 100, tokens };
113
+ }
114
+ /** Resuelve el script del workflow: builtin o guardado en <agentDir>/workflows/. */
115
+ function resolveWorkflowScript(agentDir, name) {
116
+ if (!agentDir)
117
+ return resolveBuiltinWorkflowScript(name);
118
+ return resolveWorkflowScriptByName(agentDir, name)?.script ?? null;
119
+ }
120
+ //# sourceMappingURL=tool-workflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-workflow.js","sourceRoot":"","sources":["../../../src/core/workflows/tool-workflow.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Ada Intelligence Engine — tool `workflow` para el agente principal (§16.1).\n *\n * Permite al agente lanzar/consultar/abortar workflows con CONFIRMACIÓN de\n * coste estimado (nunca ejecuta un run costoso a ciegas). Resuelve el\n * WorkflowManager por llamada vía getter inyectado.\n */\n\nimport { Type } from \"typebox\";\nimport type { AgentToolResult, ExtensionContext, ToolDefinition } from \"../extensions/types.ts\";\nimport type { WorkflowManager } from \"./manager.ts\";\nimport { resolveBuiltinWorkflowScript, resolveWorkflowScriptByName } from \"./resolve-script.ts\";\n\nexport interface WorkflowToolContext {\n\t/** getter que devuelve el mangager (lazy). */\n\tgetManager: () => WorkflowManager | null;\n\t/** Confirmación humana inyectable (para tests). Devuelve true si ok. */\n\tconfirm?: (prompt: string) => Promise<boolean>;\n\t/** agentDir para resolver scripts guardados del usuario. */\n\tagentDir?: string;\n\t/** SessionId de la sesión que lanza (el panel filtra los runs por esto). */\n\tsessionId?: () => string | undefined;\n}\n\ntype OkResult = AgentToolResult<undefined>;\n\nfunction reply(ok: boolean, text: unknown): OkResult {\n\treturn {\n\t\tdetails: undefined,\n\t\tcontent: [\n\t\t\t{ type: \"text\", text: JSON.stringify({ ok, ...(typeof text === \"object\" ? text : { message: text }) }) },\n\t\t],\n\t};\n}\n\n/** Crea la tool workflow para la sesión principal. */\nexport function createWorkflowTool(ctx: WorkflowToolContext): ToolDefinition {\n\tconst confirm = ctx.confirm ?? (async () => true);\n\treturn {\n\t\tname: \"workflow\",\n\t\tlabel: \"Workflow\",\n\t\tdescription:\n\t\t\t\"Lanza o gestiona un workflow del Ada Intelligence Engine (deep-research, code-review, product-build, multi-perspective, o un script guardado). SIEMPRE pide confirmación del coste estimado antes de lanzar un run costoso. Subcomandos: run | list | status | abort.\",\n\t\tpromptSnippet: \"Lanza/gestiona workflows con confirmación de coste (workflow run|list|status|abort)\",\n\t\tpromptGuidelines: [\n\t\t\t\"Usa workflow run para lanzar deep-research o code-review; pide siempre confirmación de coste.\",\n\t\t\t\"Usa workflow status para consultar el estado de un run en curso.\",\n\t\t\t\"Usa workflow abort para cancelar un run.\",\n\t\t],\n\t\tparameters: Type.Object({\n\t\t\tcommand: Type.Union([\n\t\t\t\tType.Literal(\"run\"),\n\t\t\t\tType.Literal(\"list\"),\n\t\t\t\tType.Literal(\"status\"),\n\t\t\t\tType.Literal(\"abort\"),\n\t\t\t]),\n\t\t\tname: Type.Optional(\n\t\t\t\tType.String({\n\t\t\t\t\tdescription:\n\t\t\t\t\t\t\"Nombre del workflow / del run (deep_research, code_review, product_build, multi_perspective o script guardado)\",\n\t\t\t\t}),\n\t\t\t),\n\t\t\tquestion: Type.Optional(Type.String({ description: \"Pregunta o brief (para deep-research)\" })),\n\t\t\trunId: Type.Optional(Type.String({ description: \"id del run (para status/abort)\" })),\n\t\t\tawait: Type.Optional(Type.Boolean({ description: \"Esperar a que termine (default true)\" })),\n\t\t}),\n\t\tasync execute(\n\t\t\t_toolCallId: string,\n\t\t\tinput: {\n\t\t\t\tcommand: \"run\" | \"list\" | \"status\" | \"abort\";\n\t\t\t\tname?: string;\n\t\t\t\tquestion?: string;\n\t\t\t\trunId?: string;\n\t\t\t\tawait?: boolean;\n\t\t\t},\n\t\t\t_signal: AbortSignal | undefined,\n\t\t\t_onUpdate: unknown,\n\t\t\t_ctx: ExtensionContext,\n\t\t): Promise<OkResult> {\n\t\t\tconst manager = ctx.getManager();\n\n\t\t\tswitch (input.command) {\n\t\t\t\tcase \"list\": {\n\t\t\t\t\tif (!manager) return reply(false, \"workflow manager no disponible\");\n\t\t\t\t\tconst runs = await manager.list().catch(() => []);\n\t\t\t\t\treturn reply(true, { runs: runs.slice(0, 20), count: runs.length });\n\t\t\t\t}\n\t\t\t\tcase \"status\": {\n\t\t\t\t\tif (!manager) return reply(false, \"workflow manager no disponible\");\n\t\t\t\t\tif (!input.runId) return reply(false, \"workflow status exige runId\");\n\t\t\t\t\tconst state = await manager.state(input.runId).catch(() => null);\n\t\t\t\t\treturn state\n\t\t\t\t\t\t? reply(true, {\n\t\t\t\t\t\t\t\trunId: state.runId,\n\t\t\t\t\t\t\t\tname: state.name,\n\t\t\t\t\t\t\t\tstatus: state.status,\n\t\t\t\t\t\t\t\tagentCount: state.agentCount,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t: reply(false, \"run no encontrado\");\n\t\t\t\t}\n\t\t\t\tcase \"abort\": {\n\t\t\t\t\tif (!manager) return reply(false, \"workflow manager no disponible\");\n\t\t\t\t\tif (!input.runId) return reply(false, \"workflow abort exige runId\");\n\t\t\t\t\tconst aborted = manager.abort(input.runId);\n\t\t\t\t\treturn reply(true, { aborted, runId: input.runId });\n\t\t\t\t}\n\t\t\t\tcase \"run\": {\n\t\t\t\t\tif (!manager) return reply(false, \"workflow manager no disponible\");\n\t\t\t\t\tconst name = input.name ?? \"\";\n\t\t\t\t\tif (!name) return reply(false, \"workflow run exige name\");\n\t\t\t\t\t// Confirmación de coste estimado (nunca a ciegas).\n\t\t\t\t\tconst estimated = estimateCost(name);\n\t\t\t\t\tconst ok = await confirm(\n\t\t\t\t\t\t`Lanzar workflow \"${name}\"${input.question ? ` (${input.question})` : \"\"}.\\n` +\n\t\t\t\t\t\t\t`Coste estimado: ~${estimated.usd} USD / ${estimated.tokens} tokens. ¿Continuar?`,\n\t\t\t\t\t);\n\t\t\t\t\tif (!ok) return reply(false, \"lanzamiento cancelado por el usuario\");\n\t\t\t\t\tconst script = resolveWorkflowScript(ctx.agentDir, name);\n\t\t\t\t\tif (!script)\n\t\t\t\t\t\treturn reply(\n\t\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t\t`script de workflow no encontrado: ${name} (builtin o <agentDir>/workflows/${name}.js)`,\n\t\t\t\t\t\t);\n\t\t\t\t\tconst toolSid = ctx.sessionId?.();\n\t\t\t\t\tconst result = await manager\n\t\t\t\t\t\t.execute(script, {\n\t\t\t\t\t\t\targs: { question: input.question, name },\n\t\t\t\t\t\t\tawait: input.await ?? true,\n\t\t\t\t\t\t\tdisplayName: name,\n\t\t\t\t\t\t\t...(toolSid ? { sessionId: toolSid } : {}),\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch((e) => ({ error: e instanceof Error ? e.message : String(e) }));\n\t\t\t\t\tif (\"error\" in result && result.error) return reply(false, result.error);\n\t\t\t\t\treturn reply(true, result);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t};\n}\n\n/** Coste estimado por tipo de workflow (heurística simple). */\nfunction estimateCost(name: string): { usd: number; tokens: number } {\n\tconst tokens = name.includes(\"deep\") || name.includes(\"product\") ? 60000 : 25000;\n\treturn { usd: Math.round(tokens * 0.00001 * 100) / 100, tokens };\n}\n\n/** Resuelve el script del workflow: builtin o guardado en <agentDir>/workflows/. */\nfunction resolveWorkflowScript(agentDir: string | undefined, name: string): string | null {\n\tif (!agentDir) return resolveBuiltinWorkflowScript(name);\n\treturn resolveWorkflowScriptByName(agentDir, name)?.script ?? null;\n}\n"]}
@@ -0,0 +1,191 @@
1
+ /**
2
+ * Ada Intelligence Engine — shared types (Fase 1).
3
+ *
4
+ * Workflows dinámicos: scripts JS en sandbox vm con agent/parallel/pipeline/
5
+ * store/phase/workflow/checkpoint; subagentes via AgentSessionRuntime; journal
6
+ * con resume determinista; SharedStore con deltas por agente.
7
+ */
8
+ import type { TSchema } from "typebox";
9
+ import type { ToolDefinition } from "../extensions/types.ts";
10
+ import type { HallazgoParcial } from "./contrato/yield.ts";
11
+ export interface WorkflowPhase {
12
+ title: string;
13
+ detail?: string;
14
+ model?: string;
15
+ }
16
+ export interface WorkflowMeta {
17
+ name: string;
18
+ description: string;
19
+ phases?: WorkflowPhase[];
20
+ /** Modelo por defecto para agentes sin ruta de fase ni model/tier. */
21
+ model?: string;
22
+ }
23
+ export interface WorkflowLimits {
24
+ maxAgentsPerRun: number;
25
+ maxConcurrency: number;
26
+ maxRetries: number;
27
+ /** Timeout por agente en ms; null = sin timeout. */
28
+ agentTimeoutMs: number | null;
29
+ /** Timeout del script vm en ms. */
30
+ scriptTimeoutMs: number;
31
+ /** Timeout del drain de agentes in-flight en ms (finito — adversarial B). */
32
+ drainTimeoutMs: number;
33
+ }
34
+ export declare const DEFAULT_WORKFLOW_LIMITS: WorkflowLimits;
35
+ export interface AgentRunOptions<TSchemaDef extends TSchema | undefined = TSchema | undefined> {
36
+ prompt: string;
37
+ label?: string;
38
+ /** Modelo "provider/model" o "model" — MODEL_NOT_FOUND si no resuelve. */
39
+ model?: string;
40
+ /** Tier ("small"|"medium"|"big") con fallback al modelo de sesión. */
41
+ tier?: string;
42
+ /** Fase actual (routing + UI). */
43
+ phase?: string;
44
+ /** Structured output (typebox). */
45
+ schema?: TSchemaDef;
46
+ /** Tools extra (web_search/web_fetch…). Se AÑADEN a las del agente. */
47
+ tools?: ToolDefinition[];
48
+ /**
49
+ * Mínimo privilegio: el agente solo puede leer (`read`/`grep`/`find`/`ls`).
50
+ * Para fases de análisis que no deben poder escribir ni ejecutar comandos.
51
+ * No es un sandbox de SO — acota las tools del subagente, nada más.
52
+ */
53
+ readOnly?: boolean;
54
+ /**
55
+ * Da acceso a `web_search`/`web_fetch`. Opt-in explícito y independiente de
56
+ * `readOnly`: la red no se hereda de "solo lectura" porque un agente con red
57
+ * puede sacar fuera lo que ha leído.
58
+ */
59
+ web?: boolean;
60
+ /**
61
+ * Da acceso a las tools de navegador. Opt-in aparte de `web`: descargar una
62
+ * URL y conducir un navegador no son el mismo permiso.
63
+ */
64
+ browser?: boolean;
65
+ instructions?: string;
66
+ /** Aislamiento git. */
67
+ isolation?: "none" | "worktree";
68
+ /** Clave determinista del worktree (runId:callIndex) — la pone el runtime. */
69
+ isolationKey?: string;
70
+ timeoutMs?: number | null;
71
+ signal?: AbortSignal;
72
+ /** Clave estable para cache/resume (el autor declara idempotencia). */
73
+ stableKey?: string;
74
+ /** cwd del agente (base o worktree). Default: cwd del run. */
75
+ cwd?: string;
76
+ /**
77
+ * Nombre de un agente definido por el usuario en `~/.ada/agents/<n>.md` o,
78
+ * si el proyecto es de confianza, en `<proyecto>/.ada/agents/<n>.md`. Sus
79
+ * ajustes se aplican como BASE: lo que se pase aquí explícitamente gana.
80
+ */
81
+ agentType?: string;
82
+ /**
83
+ * Se llama EN CUANTO el subagente entrega un hallazgo parcial (tool
84
+ * `yield`) — antes de que el subagente termine. Es la vía para consumir
85
+ * resultados incrementales sin esperar al final del run.
86
+ */
87
+ onYield?: (hallazgo: HallazgoParcial) => void;
88
+ /**
89
+ * Reintentos de validación de esquema tras una salida que no valida
90
+ * (además del primer intento). Solo aplica si hay esquema, de la llamada o
91
+ * del agente. Default: 2.
92
+ */
93
+ maxReintentosValidacion?: number;
94
+ }
95
+ export interface AgentUsage {
96
+ input: number;
97
+ output: number;
98
+ total: number;
99
+ cost: number;
100
+ cacheRead?: number;
101
+ cacheWrite?: number;
102
+ }
103
+ export interface AgentRunResult<T = unknown> {
104
+ result: T | null;
105
+ text: string;
106
+ usage: AgentUsage;
107
+ sessionId?: string;
108
+ /** Rama `ada/wf/*` con el trabajo del agente, si corrió aislado y escribió. */
109
+ worktreeBranch?: string;
110
+ /**
111
+ * true cuando `result` es un YIELD FINAL FORZADO: el subagente se
112
+ * descarriló (error o timeout) pero había hallazgos entregados por
113
+ * `yield` — se devuelven en vez de perderse. NO se activa con un abort
114
+ * (`signal.aborted`): cancelar sigue devolviendo `null`, sin hallazgos,
115
+ * igual que un run completo cancelado. Ver agent-runner.ts.
116
+ */
117
+ descarrilado?: boolean;
118
+ /** Motivo del descarrilamiento (mensaje de error). Solo si `descarrilado`. */
119
+ motivoDescarrile?: string;
120
+ /** Hallazgos entregados por `yield` durante el run, en orden de entrega. */
121
+ hallazgos?: HallazgoParcial[];
122
+ /** Resultado de validar `result` contra el esquema declarado, si había uno. */
123
+ validacion?: {
124
+ valido: boolean;
125
+ intentos: number;
126
+ reparado: boolean;
127
+ errores?: string[];
128
+ };
129
+ }
130
+ export interface JournalEntry {
131
+ index: number;
132
+ runId?: string;
133
+ /** sha256 de la identidad (prompt+model+phase+schema+stableKey). */
134
+ hash: string;
135
+ result: unknown;
136
+ /** Deltas del store escritos por este agente (replay aditivo). */
137
+ storeDelta?: Record<string, unknown>;
138
+ /** Marcado cuando el resultado vino de extracción de prosa (fallback schema). */
139
+ origin?: "structured" | "recovered";
140
+ }
141
+ export interface SharedStoreApi {
142
+ put(key: string, value: unknown): void;
143
+ get<T = unknown>(key: string): T | undefined;
144
+ has(key: string): boolean;
145
+ delete(key: string): void;
146
+ entries(): Array<[string, unknown]>;
147
+ }
148
+ export interface CheckpointOptions {
149
+ default?: unknown;
150
+ headless?: "default" | "abort";
151
+ kind?: "confirm" | "input" | "select";
152
+ choices?: string[];
153
+ }
154
+ export interface WorkflowApi {
155
+ agent(options: AgentRunOptions): Promise<unknown>;
156
+ parallel<R>(fns: Array<() => Promise<R>>): Promise<Array<Awaited<R>>>;
157
+ pipeline<R>(fns: Array<(prev?: Awaited<R>) => Promise<R>>): Promise<Awaited<R>>;
158
+ phase(title: string, detail?: string): void;
159
+ store: SharedStoreApi;
160
+ checkpoint<T>(promptText: string, options?: CheckpointOptions): Promise<T>;
161
+ args: Record<string, unknown>;
162
+ cwd: string;
163
+ runId: string;
164
+ log(message: string): void;
165
+ }
166
+ export interface WorkflowRunResult<T = unknown> {
167
+ meta: WorkflowMeta;
168
+ result: T;
169
+ logs: string[];
170
+ phases: string[];
171
+ agentCount: number;
172
+ durationMs: number;
173
+ runId: string;
174
+ tokenUsage: {
175
+ input: number;
176
+ output: number;
177
+ total: number;
178
+ cost: number;
179
+ cacheRead?: number;
180
+ cacheWrite?: number;
181
+ };
182
+ }
183
+ export type WorkflowErrorCode = "WORKFLOW_INVALID_SCRIPT" | "WORKFLOW_SCRIPT_TIMEOUT" | "WORKFLOW_AGENT_TIMEOUT" | "WORKFLOW_MAX_AGENTS" | "WORKFLOW_ABORTED" | "WORKFLOW_BUDGET_EXCEEDED" | "WORKFLOW_RESUME_CORRUPT" | "MODEL_NOT_FOUND";
184
+ export declare class WorkflowError extends Error {
185
+ readonly code: WorkflowErrorCode;
186
+ readonly recoverable: boolean;
187
+ constructor(code: WorkflowErrorCode, message: string, options?: {
188
+ recoverable?: boolean;
189
+ });
190
+ }
191
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/workflows/types.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Ada Intelligence Engine — shared types (Fase 1).\n *\n * Workflows dinámicos: scripts JS en sandbox vm con agent/parallel/pipeline/\n * store/phase/workflow/checkpoint; subagentes via AgentSessionRuntime; journal\n * con resume determinista; SharedStore con deltas por agente.\n */\n\nimport type { TSchema } from \"typebox\";\nimport type { ToolDefinition } from \"../extensions/types.ts\";\nimport type { HallazgoParcial } from \"./contrato/yield.ts\";\n\n// ─── Meta y fases ───\n\nexport interface WorkflowPhase {\n\ttitle: string;\n\tdetail?: string;\n\tmodel?: string;\n}\n\nexport interface WorkflowMeta {\n\tname: string;\n\tdescription: string;\n\tphases?: WorkflowPhase[];\n\t/** Modelo por defecto para agentes sin ruta de fase ni model/tier. */\n\tmodel?: string;\n}\n\n// ─── Límites ───\n\nexport interface WorkflowLimits {\n\tmaxAgentsPerRun: number;\n\tmaxConcurrency: number;\n\tmaxRetries: number;\n\t/** Timeout por agente en ms; null = sin timeout. */\n\tagentTimeoutMs: number | null;\n\t/** Timeout del script vm en ms. */\n\tscriptTimeoutMs: number;\n\t/** Timeout del drain de agentes in-flight en ms (finito — adversarial B). */\n\tdrainTimeoutMs: number;\n}\n\nexport const DEFAULT_WORKFLOW_LIMITS: WorkflowLimits = {\n\tmaxAgentsPerRun: 100,\n\tmaxConcurrency: 4,\n\tmaxRetries: 3,\n\tagentTimeoutMs: 30 * 60 * 1000, // 30 min (Kimi Code alineado)\n\tscriptTimeoutMs: 5 * 60 * 1000, // 5 min\n\tdrainTimeoutMs: 30_000,\n};\n\n// ─── Subagente ───\n\nexport interface AgentRunOptions<TSchemaDef extends TSchema | undefined = TSchema | undefined> {\n\tprompt: string; // OBLIGATORIO\n\tlabel?: string; // nombre en la UI y nombre de la sesión del subagente\n\t/** Modelo \"provider/model\" o \"model\" — MODEL_NOT_FOUND si no resuelve. */\n\tmodel?: string;\n\t/** Tier (\"small\"|\"medium\"|\"big\") con fallback al modelo de sesión. */\n\ttier?: string;\n\t/** Fase actual (routing + UI). */\n\tphase?: string;\n\t/** Structured output (typebox). */\n\tschema?: TSchemaDef;\n\t/** Tools extra (web_search/web_fetch…). Se AÑADEN a las del agente. */\n\ttools?: ToolDefinition[];\n\t/**\n\t * Mínimo privilegio: el agente solo puede leer (`read`/`grep`/`find`/`ls`).\n\t * Para fases de análisis que no deben poder escribir ni ejecutar comandos.\n\t * No es un sandbox de SO — acota las tools del subagente, nada más.\n\t */\n\treadOnly?: boolean;\n\t/**\n\t * Da acceso a `web_search`/`web_fetch`. Opt-in explícito y independiente de\n\t * `readOnly`: la red no se hereda de \"solo lectura\" porque un agente con red\n\t * puede sacar fuera lo que ha leído.\n\t */\n\tweb?: boolean;\n\t/**\n\t * Da acceso a las tools de navegador. Opt-in aparte de `web`: descargar una\n\t * URL y conducir un navegador no son el mismo permiso.\n\t */\n\tbrowser?: boolean;\n\tinstructions?: string;\n\t/** Aislamiento git. */\n\tisolation?: \"none\" | \"worktree\";\n\t/** Clave determinista del worktree (runId:callIndex) — la pone el runtime. */\n\tisolationKey?: string;\n\ttimeoutMs?: number | null;\n\tsignal?: AbortSignal;\n\t/** Clave estable para cache/resume (el autor declara idempotencia). */\n\tstableKey?: string;\n\t/** cwd del agente (base o worktree). Default: cwd del run. */\n\tcwd?: string;\n\t/**\n\t * Nombre de un agente definido por el usuario en `~/.ada/agents/<n>.md` o,\n\t * si el proyecto es de confianza, en `<proyecto>/.ada/agents/<n>.md`. Sus\n\t * ajustes se aplican como BASE: lo que se pase aquí explícitamente gana.\n\t */\n\tagentType?: string;\n\t/**\n\t * Se llama EN CUANTO el subagente entrega un hallazgo parcial (tool\n\t * `yield`) — antes de que el subagente termine. Es la vía para consumir\n\t * resultados incrementales sin esperar al final del run.\n\t */\n\tonYield?: (hallazgo: HallazgoParcial) => void;\n\t/**\n\t * Reintentos de validación de esquema tras una salida que no valida\n\t * (además del primer intento). Solo aplica si hay esquema, de la llamada o\n\t * del agente. Default: 2.\n\t */\n\tmaxReintentosValidacion?: number;\n}\n\nexport interface AgentUsage {\n\tinput: number;\n\toutput: number;\n\ttotal: number;\n\tcost: number;\n\tcacheRead?: number;\n\tcacheWrite?: number;\n}\n\nexport interface AgentRunResult<T = unknown> {\n\tresult: T | null;\n\ttext: string;\n\tusage: AgentUsage;\n\tsessionId?: string;\n\t/** Rama `ada/wf/*` con el trabajo del agente, si corrió aislado y escribió. */\n\tworktreeBranch?: string;\n\t/**\n\t * true cuando `result` es un YIELD FINAL FORZADO: el subagente se\n\t * descarriló (error o timeout) pero había hallazgos entregados por\n\t * `yield` — se devuelven en vez de perderse. NO se activa con un abort\n\t * (`signal.aborted`): cancelar sigue devolviendo `null`, sin hallazgos,\n\t * igual que un run completo cancelado. Ver agent-runner.ts.\n\t */\n\tdescarrilado?: boolean;\n\t/** Motivo del descarrilamiento (mensaje de error). Solo si `descarrilado`. */\n\tmotivoDescarrile?: string;\n\t/** Hallazgos entregados por `yield` durante el run, en orden de entrega. */\n\thallazgos?: HallazgoParcial[];\n\t/** Resultado de validar `result` contra el esquema declarado, si había uno. */\n\tvalidacion?: {\n\t\tvalido: boolean;\n\t\tintentos: number;\n\t\treparado: boolean;\n\t\terrores?: string[];\n\t};\n}\n\n// ─── Journal ───\n\nexport interface JournalEntry {\n\tindex: number;\n\trunId?: string;\n\t/** sha256 de la identidad (prompt+model+phase+schema+stableKey). */\n\thash: string;\n\tresult: unknown;\n\t/** Deltas del store escritos por este agente (replay aditivo). */\n\tstoreDelta?: Record<string, unknown>;\n\t/** Marcado cuando el resultado vino de extracción de prosa (fallback schema). */\n\torigin?: \"structured\" | \"recovered\";\n}\n\n// ─── SharedStore ───\n\nexport interface SharedStoreApi {\n\tput(key: string, value: unknown): void;\n\tget<T = unknown>(key: string): T | undefined;\n\thas(key: string): boolean;\n\tdelete(key: string): void;\n\tentries(): Array<[string, unknown]>;\n}\n\n// ─── Checkpoint (gate humano) ───\n\nexport interface CheckpointOptions {\n\tdefault?: unknown;\n\theadless?: \"default\" | \"abort\";\n\tkind?: \"confirm\" | \"input\" | \"select\";\n\tchoices?: string[];\n}\n\n// ─── API del script (lo que recibe la función del vm) ───\n\nexport interface WorkflowApi {\n\tagent(options: AgentRunOptions): Promise<unknown>;\n\tparallel<R>(fns: Array<() => Promise<R>>): Promise<Array<Awaited<R>>>;\n\tpipeline<R>(fns: Array<(prev?: Awaited<R>) => Promise<R>>): Promise<Awaited<R>>;\n\tphase(title: string, detail?: string): void;\n\tstore: SharedStoreApi;\n\tcheckpoint<T>(promptText: string, options?: CheckpointOptions): Promise<T>;\n\targs: Record<string, unknown>;\n\tcwd: string;\n\trunId: string;\n\tlog(message: string): void;\n}\n\n// ─── Resultado del run ───\n\nexport interface WorkflowRunResult<T = unknown> {\n\tmeta: WorkflowMeta;\n\tresult: T;\n\tlogs: string[];\n\tphases: string[];\n\tagentCount: number;\n\tdurationMs: number;\n\trunId: string;\n\ttokenUsage: {\n\t\tinput: number;\n\t\toutput: number;\n\t\ttotal: number;\n\t\tcost: number;\n\t\tcacheRead?: number;\n\t\tcacheWrite?: number;\n\t};\n}\n\n// ─── Errores ───\n\nexport type WorkflowErrorCode =\n\t| \"WORKFLOW_INVALID_SCRIPT\"\n\t| \"WORKFLOW_SCRIPT_TIMEOUT\"\n\t| \"WORKFLOW_AGENT_TIMEOUT\"\n\t| \"WORKFLOW_MAX_AGENTS\"\n\t| \"WORKFLOW_ABORTED\"\n\t| \"WORKFLOW_BUDGET_EXCEEDED\"\n\t| \"WORKFLOW_RESUME_CORRUPT\"\n\t| \"MODEL_NOT_FOUND\";\n\nexport class WorkflowError extends Error {\n\treadonly code: WorkflowErrorCode;\n\treadonly recoverable: boolean;\n\n\tconstructor(code: WorkflowErrorCode, message: string, options: { recoverable?: boolean } = {}) {\n\t\tsuper(message);\n\t\tthis.name = \"WorkflowError\";\n\t\tthis.code = code;\n\t\tthis.recoverable = options.recoverable ?? true;\n\t}\n}\n"]}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Ada Intelligence Engine — shared types (Fase 1).
3
+ *
4
+ * Workflows dinámicos: scripts JS en sandbox vm con agent/parallel/pipeline/
5
+ * store/phase/workflow/checkpoint; subagentes via AgentSessionRuntime; journal
6
+ * con resume determinista; SharedStore con deltas por agente.
7
+ */
8
+ export const DEFAULT_WORKFLOW_LIMITS = {
9
+ maxAgentsPerRun: 100,
10
+ maxConcurrency: 4,
11
+ maxRetries: 3,
12
+ agentTimeoutMs: 30 * 60 * 1000, // 30 min (Kimi Code alineado)
13
+ scriptTimeoutMs: 5 * 60 * 1000, // 5 min
14
+ drainTimeoutMs: 30_000,
15
+ };
16
+ export class WorkflowError extends Error {
17
+ code;
18
+ recoverable;
19
+ constructor(code, message, options = {}) {
20
+ super(message);
21
+ this.name = "WorkflowError";
22
+ this.code = code;
23
+ this.recoverable = options.recoverable ?? true;
24
+ }
25
+ }
26
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/workflows/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAoCH,MAAM,CAAC,MAAM,uBAAuB,GAAmB;IACtD,eAAe,EAAE,GAAG;IACpB,cAAc,EAAE,CAAC;IACjB,UAAU,EAAE,CAAC;IACb,cAAc,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,8BAA8B;IAC9D,eAAe,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,QAAQ;IACxC,cAAc,EAAE,MAAM;CACtB,CAAC;AAsLF,MAAM,OAAO,aAAc,SAAQ,KAAK;IAC9B,IAAI,CAAoB;IACxB,WAAW,CAAU;IAE9B,YAAY,IAAuB,EAAE,OAAe,EAAE,OAAO,GAA8B,EAAE,EAAE;QAC9F,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC;IAAA,CAC/C;CACD","sourcesContent":["/**\n * Ada Intelligence Engine — shared types (Fase 1).\n *\n * Workflows dinámicos: scripts JS en sandbox vm con agent/parallel/pipeline/\n * store/phase/workflow/checkpoint; subagentes via AgentSessionRuntime; journal\n * con resume determinista; SharedStore con deltas por agente.\n */\n\nimport type { TSchema } from \"typebox\";\nimport type { ToolDefinition } from \"../extensions/types.ts\";\nimport type { HallazgoParcial } from \"./contrato/yield.ts\";\n\n// ─── Meta y fases ───\n\nexport interface WorkflowPhase {\n\ttitle: string;\n\tdetail?: string;\n\tmodel?: string;\n}\n\nexport interface WorkflowMeta {\n\tname: string;\n\tdescription: string;\n\tphases?: WorkflowPhase[];\n\t/** Modelo por defecto para agentes sin ruta de fase ni model/tier. */\n\tmodel?: string;\n}\n\n// ─── Límites ───\n\nexport interface WorkflowLimits {\n\tmaxAgentsPerRun: number;\n\tmaxConcurrency: number;\n\tmaxRetries: number;\n\t/** Timeout por agente en ms; null = sin timeout. */\n\tagentTimeoutMs: number | null;\n\t/** Timeout del script vm en ms. */\n\tscriptTimeoutMs: number;\n\t/** Timeout del drain de agentes in-flight en ms (finito — adversarial B). */\n\tdrainTimeoutMs: number;\n}\n\nexport const DEFAULT_WORKFLOW_LIMITS: WorkflowLimits = {\n\tmaxAgentsPerRun: 100,\n\tmaxConcurrency: 4,\n\tmaxRetries: 3,\n\tagentTimeoutMs: 30 * 60 * 1000, // 30 min (Kimi Code alineado)\n\tscriptTimeoutMs: 5 * 60 * 1000, // 5 min\n\tdrainTimeoutMs: 30_000,\n};\n\n// ─── Subagente ───\n\nexport interface AgentRunOptions<TSchemaDef extends TSchema | undefined = TSchema | undefined> {\n\tprompt: string; // OBLIGATORIO\n\tlabel?: string; // nombre en la UI y nombre de la sesión del subagente\n\t/** Modelo \"provider/model\" o \"model\" — MODEL_NOT_FOUND si no resuelve. */\n\tmodel?: string;\n\t/** Tier (\"small\"|\"medium\"|\"big\") con fallback al modelo de sesión. */\n\ttier?: string;\n\t/** Fase actual (routing + UI). */\n\tphase?: string;\n\t/** Structured output (typebox). */\n\tschema?: TSchemaDef;\n\t/** Tools extra (web_search/web_fetch…). Se AÑADEN a las del agente. */\n\ttools?: ToolDefinition[];\n\t/**\n\t * Mínimo privilegio: el agente solo puede leer (`read`/`grep`/`find`/`ls`).\n\t * Para fases de análisis que no deben poder escribir ni ejecutar comandos.\n\t * No es un sandbox de SO — acota las tools del subagente, nada más.\n\t */\n\treadOnly?: boolean;\n\t/**\n\t * Da acceso a `web_search`/`web_fetch`. Opt-in explícito y independiente de\n\t * `readOnly`: la red no se hereda de \"solo lectura\" porque un agente con red\n\t * puede sacar fuera lo que ha leído.\n\t */\n\tweb?: boolean;\n\t/**\n\t * Da acceso a las tools de navegador. Opt-in aparte de `web`: descargar una\n\t * URL y conducir un navegador no son el mismo permiso.\n\t */\n\tbrowser?: boolean;\n\tinstructions?: string;\n\t/** Aislamiento git. */\n\tisolation?: \"none\" | \"worktree\";\n\t/** Clave determinista del worktree (runId:callIndex) — la pone el runtime. */\n\tisolationKey?: string;\n\ttimeoutMs?: number | null;\n\tsignal?: AbortSignal;\n\t/** Clave estable para cache/resume (el autor declara idempotencia). */\n\tstableKey?: string;\n\t/** cwd del agente (base o worktree). Default: cwd del run. */\n\tcwd?: string;\n\t/**\n\t * Nombre de un agente definido por el usuario en `~/.ada/agents/<n>.md` o,\n\t * si el proyecto es de confianza, en `<proyecto>/.ada/agents/<n>.md`. Sus\n\t * ajustes se aplican como BASE: lo que se pase aquí explícitamente gana.\n\t */\n\tagentType?: string;\n\t/**\n\t * Se llama EN CUANTO el subagente entrega un hallazgo parcial (tool\n\t * `yield`) — antes de que el subagente termine. Es la vía para consumir\n\t * resultados incrementales sin esperar al final del run.\n\t */\n\tonYield?: (hallazgo: HallazgoParcial) => void;\n\t/**\n\t * Reintentos de validación de esquema tras una salida que no valida\n\t * (además del primer intento). Solo aplica si hay esquema, de la llamada o\n\t * del agente. Default: 2.\n\t */\n\tmaxReintentosValidacion?: number;\n}\n\nexport interface AgentUsage {\n\tinput: number;\n\toutput: number;\n\ttotal: number;\n\tcost: number;\n\tcacheRead?: number;\n\tcacheWrite?: number;\n}\n\nexport interface AgentRunResult<T = unknown> {\n\tresult: T | null;\n\ttext: string;\n\tusage: AgentUsage;\n\tsessionId?: string;\n\t/** Rama `ada/wf/*` con el trabajo del agente, si corrió aislado y escribió. */\n\tworktreeBranch?: string;\n\t/**\n\t * true cuando `result` es un YIELD FINAL FORZADO: el subagente se\n\t * descarriló (error o timeout) pero había hallazgos entregados por\n\t * `yield` — se devuelven en vez de perderse. NO se activa con un abort\n\t * (`signal.aborted`): cancelar sigue devolviendo `null`, sin hallazgos,\n\t * igual que un run completo cancelado. Ver agent-runner.ts.\n\t */\n\tdescarrilado?: boolean;\n\t/** Motivo del descarrilamiento (mensaje de error). Solo si `descarrilado`. */\n\tmotivoDescarrile?: string;\n\t/** Hallazgos entregados por `yield` durante el run, en orden de entrega. */\n\thallazgos?: HallazgoParcial[];\n\t/** Resultado de validar `result` contra el esquema declarado, si había uno. */\n\tvalidacion?: {\n\t\tvalido: boolean;\n\t\tintentos: number;\n\t\treparado: boolean;\n\t\terrores?: string[];\n\t};\n}\n\n// ─── Journal ───\n\nexport interface JournalEntry {\n\tindex: number;\n\trunId?: string;\n\t/** sha256 de la identidad (prompt+model+phase+schema+stableKey). */\n\thash: string;\n\tresult: unknown;\n\t/** Deltas del store escritos por este agente (replay aditivo). */\n\tstoreDelta?: Record<string, unknown>;\n\t/** Marcado cuando el resultado vino de extracción de prosa (fallback schema). */\n\torigin?: \"structured\" | \"recovered\";\n}\n\n// ─── SharedStore ───\n\nexport interface SharedStoreApi {\n\tput(key: string, value: unknown): void;\n\tget<T = unknown>(key: string): T | undefined;\n\thas(key: string): boolean;\n\tdelete(key: string): void;\n\tentries(): Array<[string, unknown]>;\n}\n\n// ─── Checkpoint (gate humano) ───\n\nexport interface CheckpointOptions {\n\tdefault?: unknown;\n\theadless?: \"default\" | \"abort\";\n\tkind?: \"confirm\" | \"input\" | \"select\";\n\tchoices?: string[];\n}\n\n// ─── API del script (lo que recibe la función del vm) ───\n\nexport interface WorkflowApi {\n\tagent(options: AgentRunOptions): Promise<unknown>;\n\tparallel<R>(fns: Array<() => Promise<R>>): Promise<Array<Awaited<R>>>;\n\tpipeline<R>(fns: Array<(prev?: Awaited<R>) => Promise<R>>): Promise<Awaited<R>>;\n\tphase(title: string, detail?: string): void;\n\tstore: SharedStoreApi;\n\tcheckpoint<T>(promptText: string, options?: CheckpointOptions): Promise<T>;\n\targs: Record<string, unknown>;\n\tcwd: string;\n\trunId: string;\n\tlog(message: string): void;\n}\n\n// ─── Resultado del run ───\n\nexport interface WorkflowRunResult<T = unknown> {\n\tmeta: WorkflowMeta;\n\tresult: T;\n\tlogs: string[];\n\tphases: string[];\n\tagentCount: number;\n\tdurationMs: number;\n\trunId: string;\n\ttokenUsage: {\n\t\tinput: number;\n\t\toutput: number;\n\t\ttotal: number;\n\t\tcost: number;\n\t\tcacheRead?: number;\n\t\tcacheWrite?: number;\n\t};\n}\n\n// ─── Errores ───\n\nexport type WorkflowErrorCode =\n\t| \"WORKFLOW_INVALID_SCRIPT\"\n\t| \"WORKFLOW_SCRIPT_TIMEOUT\"\n\t| \"WORKFLOW_AGENT_TIMEOUT\"\n\t| \"WORKFLOW_MAX_AGENTS\"\n\t| \"WORKFLOW_ABORTED\"\n\t| \"WORKFLOW_BUDGET_EXCEEDED\"\n\t| \"WORKFLOW_RESUME_CORRUPT\"\n\t| \"MODEL_NOT_FOUND\";\n\nexport class WorkflowError extends Error {\n\treadonly code: WorkflowErrorCode;\n\treadonly recoverable: boolean;\n\n\tconstructor(code: WorkflowErrorCode, message: string, options: { recoverable?: boolean } = {}) {\n\t\tsuper(message);\n\t\tthis.name = \"WorkflowError\";\n\t\tthis.code = code;\n\t\tthis.recoverable = options.recoverable ?? true;\n\t}\n}\n"]}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Worktree — aislamiento git por agente.
3
+ *
4
+ * Cuando un agente pide `isolation: "worktree"` (o tiene tools de escritura),
5
+ * corre en un worktree desechable sobre su propia rama: los subagentes pueden
6
+ * editar los mismos archivos sin conflicto. El nombre es determinista
7
+ * (runId+callIndex) para que el resume reencuentre el mismo worktree.
8
+ * Sin auto-merge: la ruta se expone al caller. Limpieza best-effort.
9
+ */
10
+ export interface Worktree {
11
+ /** True cuando se creó un worktree real; false = corrió en el árbol compartido. */
12
+ isolated: boolean;
13
+ /** cwd del agente (worktree cuando aislado, si no el base). */
14
+ cwd: string;
15
+ branch?: string;
16
+ repoRoot?: string;
17
+ reason?: string;
18
+ }
19
+ /**
20
+ * Crea un worktree aislado bajo `<repoRoot>/.ada/worktrees/<name>` en la rama
21
+ * `ada/wf/<name>`. Fallback a no-op (árbol compartido) ante cualquier fallo.
22
+ */
23
+ export declare function createWorktree(baseCwd: string, name: string): Promise<Worktree>;
24
+ /**
25
+ * Cierra un worktree CONSERVANDO el trabajo: commitea lo que haya en su rama y
26
+ * retira solo el directorio.
27
+ *
28
+ * Retirar el worktree sin más borraría los cambios sin commitear del agente, y
29
+ * entonces el aislamiento no serviría de nada: los escritores paralelos no
30
+ * chocarían, pero su trabajo se perdería igual. Sin auto-merge a propósito — la
31
+ * rama queda para que un humano la revise (`git branch --list 'ada/wf/*'`).
32
+ *
33
+ * Si el agente no tocó nada (p.ej. una fase de análisis de solo lectura), borra
34
+ * también la rama: no hay nada que conservar y las ramas vacías son ruido.
35
+ */
36
+ export declare function finalizeWorktree(wt: Worktree, message: string): Promise<{
37
+ branch?: string;
38
+ kept: boolean;
39
+ }>;
40
+ /** Elimina un worktree y su rama, DESCARTANDO el trabajo. Best-effort. */
41
+ export declare function removeWorktree(wt: Worktree): Promise<void>;
42
+ //# sourceMappingURL=worktree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worktree.d.ts","sourceRoot":"","sources":["../../../src/core/workflows/worktree.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AASH,MAAM,WAAW,QAAQ;IACxB,sFAAmF;IACnF,QAAQ,EAAE,OAAO,CAAC;IAClB,+DAA+D;IAC/D,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAYD;;;GAGG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAkBrF;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CAyBjH;AAED,0EAA0E;AAC1E,wBAAsB,cAAc,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAchE","sourcesContent":["/**\n * Worktree — aislamiento git por agente.\n *\n * Cuando un agente pide `isolation: \"worktree\"` (o tiene tools de escritura),\n * corre en un worktree desechable sobre su propia rama: los subagentes pueden\n * editar los mismos archivos sin conflicto. El nombre es determinista\n * (runId+callIndex) para que el resume reencuentre el mismo worktree.\n * Sin auto-merge: la ruta se expone al caller. Limpieza best-effort.\n */\n\nimport { execFile } from \"node:child_process\";\nimport { join } from \"node:path\";\nimport { promisify } from \"node:util\";\n\n// execFile (no shell): los argumentos van en array, sin interpolar en una cadena.\nconst execFileAsync = promisify(execFile);\n\nexport interface Worktree {\n\t/** True cuando se creó un worktree real; false = corrió en el árbol compartido. */\n\tisolated: boolean;\n\t/** cwd del agente (worktree cuando aislado, si no el base). */\n\tcwd: string;\n\tbranch?: string;\n\trepoRoot?: string;\n\treason?: string;\n}\n\nfunction slug(name: string): string {\n\treturn (\n\t\tname\n\t\t\t.toLowerCase()\n\t\t\t.replace(/[^a-z0-9]+/g, \"-\")\n\t\t\t.replace(/^-+|-+$/g, \"\")\n\t\t\t.slice(0, 48) || \"agent\"\n\t);\n}\n\n/**\n * Crea un worktree aislado bajo `<repoRoot>/.ada/worktrees/<name>` en la rama\n * `ada/wf/<name>`. Fallback a no-op (árbol compartido) ante cualquier fallo.\n */\nexport async function createWorktree(baseCwd: string, name: string): Promise<Worktree> {\n\tconst id = slug(name);\n\tlet repoRoot: string;\n\ttry {\n\t\tconst { stdout } = await execFileAsync(\"git\", [\"-C\", baseCwd, \"rev-parse\", \"--show-toplevel\"]);\n\t\trepoRoot = stdout.trim();\n\t} catch {\n\t\treturn { isolated: false, cwd: baseCwd, reason: \"not a git repository\" };\n\t}\n\n\tconst path = join(repoRoot, \".ada\", \"worktrees\", id);\n\tconst branch = `ada/wf/${id}`;\n\ttry {\n\t\tawait execFileAsync(\"git\", [\"-C\", repoRoot, \"worktree\", \"add\", \"-b\", branch, path, \"HEAD\"]);\n\t\treturn { isolated: true, cwd: path, branch, repoRoot };\n\t} catch (error) {\n\t\treturn { isolated: false, cwd: baseCwd, reason: error instanceof Error ? error.message : String(error) };\n\t}\n}\n\n/**\n * Cierra un worktree CONSERVANDO el trabajo: commitea lo que haya en su rama y\n * retira solo el directorio.\n *\n * Retirar el worktree sin más borraría los cambios sin commitear del agente, y\n * entonces el aislamiento no serviría de nada: los escritores paralelos no\n * chocarían, pero su trabajo se perdería igual. Sin auto-merge a propósito — la\n * rama queda para que un humano la revise (`git branch --list 'ada/wf/*'`).\n *\n * Si el agente no tocó nada (p.ej. una fase de análisis de solo lectura), borra\n * también la rama: no hay nada que conservar y las ramas vacías son ruido.\n */\nexport async function finalizeWorktree(wt: Worktree, message: string): Promise<{ branch?: string; kept: boolean }> {\n\tif (!wt.isolated || !wt.repoRoot) return { kept: false };\n\tlet kept = false;\n\ttry {\n\t\tawait execFileAsync(\"git\", [\"-C\", wt.cwd, \"add\", \"-A\"]);\n\t\t// `commit` sale distinto de 0 cuando no hay nada que commitear; eso no es\n\t\t// un error, es el camino normal de un agente que no escribió.\n\t\tawait execFileAsync(\"git\", [\"-C\", wt.cwd, \"commit\", \"-m\", message]);\n\t\tkept = true;\n\t} catch {\n\t\tkept = false;\n\t}\n\ttry {\n\t\tawait execFileAsync(\"git\", [\"-C\", wt.repoRoot, \"worktree\", \"remove\", \"--force\", wt.cwd]);\n\t} catch {\n\t\t// ya no existe / locked — continuar\n\t}\n\tif (!kept && wt.branch) {\n\t\ttry {\n\t\t\tawait execFileAsync(\"git\", [\"-C\", wt.repoRoot, \"branch\", \"-D\", wt.branch]);\n\t\t} catch {\n\t\t\t// rama ya borrada\n\t\t}\n\t}\n\treturn { branch: kept ? wt.branch : undefined, kept };\n}\n\n/** Elimina un worktree y su rama, DESCARTANDO el trabajo. Best-effort. */\nexport async function removeWorktree(wt: Worktree): Promise<void> {\n\tif (!wt.isolated || !wt.repoRoot) return;\n\ttry {\n\t\tawait execFileAsync(\"git\", [\"-C\", wt.repoRoot, \"worktree\", \"remove\", \"--force\", wt.cwd]);\n\t} catch {\n\t\t// ya no existe / locked — continuar\n\t}\n\tif (wt.branch) {\n\t\ttry {\n\t\t\tawait execFileAsync(\"git\", [\"-C\", wt.repoRoot, \"branch\", \"-D\", wt.branch]);\n\t\t} catch {\n\t\t\t// rama ya borrada\n\t\t}\n\t}\n}\n"]}
@@ -0,0 +1,107 @@
1
+ /**
2
+ * Worktree — aislamiento git por agente.
3
+ *
4
+ * Cuando un agente pide `isolation: "worktree"` (o tiene tools de escritura),
5
+ * corre en un worktree desechable sobre su propia rama: los subagentes pueden
6
+ * editar los mismos archivos sin conflicto. El nombre es determinista
7
+ * (runId+callIndex) para que el resume reencuentre el mismo worktree.
8
+ * Sin auto-merge: la ruta se expone al caller. Limpieza best-effort.
9
+ */
10
+ import { execFile } from "node:child_process";
11
+ import { join } from "node:path";
12
+ import { promisify } from "node:util";
13
+ // execFile (no shell): los argumentos van en array, sin interpolar en una cadena.
14
+ const execFileAsync = promisify(execFile);
15
+ function slug(name) {
16
+ return (name
17
+ .toLowerCase()
18
+ .replace(/[^a-z0-9]+/g, "-")
19
+ .replace(/^-+|-+$/g, "")
20
+ .slice(0, 48) || "agent");
21
+ }
22
+ /**
23
+ * Crea un worktree aislado bajo `<repoRoot>/.ada/worktrees/<name>` en la rama
24
+ * `ada/wf/<name>`. Fallback a no-op (árbol compartido) ante cualquier fallo.
25
+ */
26
+ export async function createWorktree(baseCwd, name) {
27
+ const id = slug(name);
28
+ let repoRoot;
29
+ try {
30
+ const { stdout } = await execFileAsync("git", ["-C", baseCwd, "rev-parse", "--show-toplevel"]);
31
+ repoRoot = stdout.trim();
32
+ }
33
+ catch {
34
+ return { isolated: false, cwd: baseCwd, reason: "not a git repository" };
35
+ }
36
+ const path = join(repoRoot, ".ada", "worktrees", id);
37
+ const branch = `ada/wf/${id}`;
38
+ try {
39
+ await execFileAsync("git", ["-C", repoRoot, "worktree", "add", "-b", branch, path, "HEAD"]);
40
+ return { isolated: true, cwd: path, branch, repoRoot };
41
+ }
42
+ catch (error) {
43
+ return { isolated: false, cwd: baseCwd, reason: error instanceof Error ? error.message : String(error) };
44
+ }
45
+ }
46
+ /**
47
+ * Cierra un worktree CONSERVANDO el trabajo: commitea lo que haya en su rama y
48
+ * retira solo el directorio.
49
+ *
50
+ * Retirar el worktree sin más borraría los cambios sin commitear del agente, y
51
+ * entonces el aislamiento no serviría de nada: los escritores paralelos no
52
+ * chocarían, pero su trabajo se perdería igual. Sin auto-merge a propósito — la
53
+ * rama queda para que un humano la revise (`git branch --list 'ada/wf/*'`).
54
+ *
55
+ * Si el agente no tocó nada (p.ej. una fase de análisis de solo lectura), borra
56
+ * también la rama: no hay nada que conservar y las ramas vacías son ruido.
57
+ */
58
+ export async function finalizeWorktree(wt, message) {
59
+ if (!wt.isolated || !wt.repoRoot)
60
+ return { kept: false };
61
+ let kept = false;
62
+ try {
63
+ await execFileAsync("git", ["-C", wt.cwd, "add", "-A"]);
64
+ // `commit` sale distinto de 0 cuando no hay nada que commitear; eso no es
65
+ // un error, es el camino normal de un agente que no escribió.
66
+ await execFileAsync("git", ["-C", wt.cwd, "commit", "-m", message]);
67
+ kept = true;
68
+ }
69
+ catch {
70
+ kept = false;
71
+ }
72
+ try {
73
+ await execFileAsync("git", ["-C", wt.repoRoot, "worktree", "remove", "--force", wt.cwd]);
74
+ }
75
+ catch {
76
+ // ya no existe / locked — continuar
77
+ }
78
+ if (!kept && wt.branch) {
79
+ try {
80
+ await execFileAsync("git", ["-C", wt.repoRoot, "branch", "-D", wt.branch]);
81
+ }
82
+ catch {
83
+ // rama ya borrada
84
+ }
85
+ }
86
+ return { branch: kept ? wt.branch : undefined, kept };
87
+ }
88
+ /** Elimina un worktree y su rama, DESCARTANDO el trabajo. Best-effort. */
89
+ export async function removeWorktree(wt) {
90
+ if (!wt.isolated || !wt.repoRoot)
91
+ return;
92
+ try {
93
+ await execFileAsync("git", ["-C", wt.repoRoot, "worktree", "remove", "--force", wt.cwd]);
94
+ }
95
+ catch {
96
+ // ya no existe / locked — continuar
97
+ }
98
+ if (wt.branch) {
99
+ try {
100
+ await execFileAsync("git", ["-C", wt.repoRoot, "branch", "-D", wt.branch]);
101
+ }
102
+ catch {
103
+ // rama ya borrada
104
+ }
105
+ }
106
+ }
107
+ //# sourceMappingURL=worktree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worktree.js","sourceRoot":"","sources":["../../../src/core/workflows/worktree.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,kFAAkF;AAClF,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAY1C,SAAS,IAAI,CAAC,IAAY,EAAU;IACnC,OAAO,CACN,IAAI;SACF,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,OAAO,CACzB,CAAC;AAAA,CACF;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAe,EAAE,IAAY,EAAqB;IACtF,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IACtB,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACJ,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC,CAAC;QAC/F,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;IAC1E,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,UAAU,EAAE,EAAE,CAAC;IAC9B,IAAI,CAAC;QACJ,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAC5F,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IACxD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IAC1G,CAAC;AAAA,CACD;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EAAY,EAAE,OAAe,EAA+C;IAClH,IAAI,CAAC,EAAE,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACzD,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,IAAI,CAAC;QACJ,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;QACxD,0EAA0E;QAC1E,+DAA8D;QAC9D,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QACpE,IAAI,GAAG,IAAI,CAAC;IACb,CAAC;IAAC,MAAM,CAAC;QACR,IAAI,GAAG,KAAK,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACJ,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1F,CAAC;IAAC,MAAM,CAAC;QACR,sCAAoC;IACrC,CAAC;IACD,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QACxB,IAAI,CAAC;YACJ,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QAC5E,CAAC;QAAC,MAAM,CAAC;YACR,kBAAkB;QACnB,CAAC;IACF,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC;AAAA,CACtD;AAED,0EAA0E;AAC1E,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,EAAY,EAAiB;IACjE,IAAI,CAAC,EAAE,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC,QAAQ;QAAE,OAAO;IACzC,IAAI,CAAC;QACJ,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1F,CAAC;IAAC,MAAM,CAAC;QACR,sCAAoC;IACrC,CAAC;IACD,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QACf,IAAI,CAAC;YACJ,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QAC5E,CAAC;QAAC,MAAM,CAAC;YACR,kBAAkB;QACnB,CAAC;IACF,CAAC;AAAA,CACD","sourcesContent":["/**\n * Worktree — aislamiento git por agente.\n *\n * Cuando un agente pide `isolation: \"worktree\"` (o tiene tools de escritura),\n * corre en un worktree desechable sobre su propia rama: los subagentes pueden\n * editar los mismos archivos sin conflicto. El nombre es determinista\n * (runId+callIndex) para que el resume reencuentre el mismo worktree.\n * Sin auto-merge: la ruta se expone al caller. Limpieza best-effort.\n */\n\nimport { execFile } from \"node:child_process\";\nimport { join } from \"node:path\";\nimport { promisify } from \"node:util\";\n\n// execFile (no shell): los argumentos van en array, sin interpolar en una cadena.\nconst execFileAsync = promisify(execFile);\n\nexport interface Worktree {\n\t/** True cuando se creó un worktree real; false = corrió en el árbol compartido. */\n\tisolated: boolean;\n\t/** cwd del agente (worktree cuando aislado, si no el base). */\n\tcwd: string;\n\tbranch?: string;\n\trepoRoot?: string;\n\treason?: string;\n}\n\nfunction slug(name: string): string {\n\treturn (\n\t\tname\n\t\t\t.toLowerCase()\n\t\t\t.replace(/[^a-z0-9]+/g, \"-\")\n\t\t\t.replace(/^-+|-+$/g, \"\")\n\t\t\t.slice(0, 48) || \"agent\"\n\t);\n}\n\n/**\n * Crea un worktree aislado bajo `<repoRoot>/.ada/worktrees/<name>` en la rama\n * `ada/wf/<name>`. Fallback a no-op (árbol compartido) ante cualquier fallo.\n */\nexport async function createWorktree(baseCwd: string, name: string): Promise<Worktree> {\n\tconst id = slug(name);\n\tlet repoRoot: string;\n\ttry {\n\t\tconst { stdout } = await execFileAsync(\"git\", [\"-C\", baseCwd, \"rev-parse\", \"--show-toplevel\"]);\n\t\trepoRoot = stdout.trim();\n\t} catch {\n\t\treturn { isolated: false, cwd: baseCwd, reason: \"not a git repository\" };\n\t}\n\n\tconst path = join(repoRoot, \".ada\", \"worktrees\", id);\n\tconst branch = `ada/wf/${id}`;\n\ttry {\n\t\tawait execFileAsync(\"git\", [\"-C\", repoRoot, \"worktree\", \"add\", \"-b\", branch, path, \"HEAD\"]);\n\t\treturn { isolated: true, cwd: path, branch, repoRoot };\n\t} catch (error) {\n\t\treturn { isolated: false, cwd: baseCwd, reason: error instanceof Error ? error.message : String(error) };\n\t}\n}\n\n/**\n * Cierra un worktree CONSERVANDO el trabajo: commitea lo que haya en su rama y\n * retira solo el directorio.\n *\n * Retirar el worktree sin más borraría los cambios sin commitear del agente, y\n * entonces el aislamiento no serviría de nada: los escritores paralelos no\n * chocarían, pero su trabajo se perdería igual. Sin auto-merge a propósito — la\n * rama queda para que un humano la revise (`git branch --list 'ada/wf/*'`).\n *\n * Si el agente no tocó nada (p.ej. una fase de análisis de solo lectura), borra\n * también la rama: no hay nada que conservar y las ramas vacías son ruido.\n */\nexport async function finalizeWorktree(wt: Worktree, message: string): Promise<{ branch?: string; kept: boolean }> {\n\tif (!wt.isolated || !wt.repoRoot) return { kept: false };\n\tlet kept = false;\n\ttry {\n\t\tawait execFileAsync(\"git\", [\"-C\", wt.cwd, \"add\", \"-A\"]);\n\t\t// `commit` sale distinto de 0 cuando no hay nada que commitear; eso no es\n\t\t// un error, es el camino normal de un agente que no escribió.\n\t\tawait execFileAsync(\"git\", [\"-C\", wt.cwd, \"commit\", \"-m\", message]);\n\t\tkept = true;\n\t} catch {\n\t\tkept = false;\n\t}\n\ttry {\n\t\tawait execFileAsync(\"git\", [\"-C\", wt.repoRoot, \"worktree\", \"remove\", \"--force\", wt.cwd]);\n\t} catch {\n\t\t// ya no existe / locked — continuar\n\t}\n\tif (!kept && wt.branch) {\n\t\ttry {\n\t\t\tawait execFileAsync(\"git\", [\"-C\", wt.repoRoot, \"branch\", \"-D\", wt.branch]);\n\t\t} catch {\n\t\t\t// rama ya borrada\n\t\t}\n\t}\n\treturn { branch: kept ? wt.branch : undefined, kept };\n}\n\n/** Elimina un worktree y su rama, DESCARTANDO el trabajo. Best-effort. */\nexport async function removeWorktree(wt: Worktree): Promise<void> {\n\tif (!wt.isolated || !wt.repoRoot) return;\n\ttry {\n\t\tawait execFileAsync(\"git\", [\"-C\", wt.repoRoot, \"worktree\", \"remove\", \"--force\", wt.cwd]);\n\t} catch {\n\t\t// ya no existe / locked — continuar\n\t}\n\tif (wt.branch) {\n\t\ttry {\n\t\t\tawait execFileAsync(\"git\", [\"-C\", wt.repoRoot, \"branch\", \"-D\", wt.branch]);\n\t\t} catch {\n\t\t\t// rama ya borrada\n\t\t}\n\t}\n}\n"]}