@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
@@ -6,14 +6,17 @@ import * as crypto from "node:crypto";
6
6
  import * as fs from "node:fs";
7
7
  import * as os from "node:os";
8
8
  import * as path from "node:path";
9
+ import { DEFAULT_RADIUS_GATEWAY } from "@earendil-works/pi-ai/providers/radius-config";
9
10
  import * as TuiLayouts from "@earendil-works/pi-tui";
10
11
  import { CombinedAutocompleteProvider, Container, fuzzyFilter, getCapabilities, hyperlink, Markdown, matchesKey, ProcessTerminal, Spacer, setKeybindings, Text, TruncatedText, TuiAltScreen, TuiMainScreen, visibleWidth, } from "@earendil-works/pi-tui";
11
12
  import chalk from "chalk";
12
13
  import { spawn, spawnSync } from "child_process";
14
+ import { getAuthCredential } from "../../cli/auth-command.js";
13
15
  import { APP_NAME, APP_TITLE, CONFIG_DIR_NAME, getAgentDir, getAuthPath, getDebugLogPath, getDocsPath, getShareViewerUrl, VERSION, } from "../../config.js";
14
16
  import { parseSkillBlock } from "../../core/agent-session.js";
15
17
  import { SessionImportFileNotFoundError } from "../../core/agent-session-runtime.js";
16
18
  import { CACHE_TTL_MS, collectCacheMisses, computeCacheWaste, detectCacheMiss, } from "../../core/cache-stats.js";
19
+ import { DEFAULT_THINKING_LEVEL, THINKING_LEVEL_OPTIONS } from "../../core/defaults.js";
17
20
  import { FooterDataProvider } from "../../core/footer-data-provider.js";
18
21
  import { configureHttpDispatcher, formatHttpIdleTimeoutMs } from "../../core/http-dispatcher.js";
19
22
  import { KeybindingsManager } from "../../core/keybindings.js";
@@ -24,16 +27,15 @@ import { DefaultPackageManager } from "../../core/package-manager.js";
24
27
  import { formatMissingSessionCwdPrompt, MissingSessionCwdError } from "../../core/session-cwd.js";
25
28
  import { SessionManager, sessionEntryToContextMessages } from "../../core/session-manager.js";
26
29
  import { BUILTIN_SLASH_COMMANDS } from "../../core/slash-commands.js";
27
- import { isInstallTelemetryEnabled } from "../../core/telemetry.js";
28
30
  import { hasTrustRequiringProjectResources, ProjectTrustStore } from "../../core/trust-manager.js";
29
31
  import { getUsageCostBreakdown } from "../../core/usage-totals.js";
32
+ import { reduceGoal } from "../../core/workflows/goal-engine/state.js";
30
33
  import { getChangelogPath, getNewEntries, normalizeChangelogLinks, parseChangelog } from "../../utils/changelog.js";
31
34
  import { copyToClipboard, readClipboardText } from "../../utils/clipboard.js";
32
35
  import { extensionForImageMimeType, readClipboardImage } from "../../utils/clipboard-image.js";
33
36
  import { parseGitUrl } from "../../utils/git.js";
34
37
  import { openBrowser } from "../../utils/open-browser.js";
35
38
  import { getCwdRelativePath } from "../../utils/paths.js";
36
- import { getPiUserAgent } from "../../utils/pi-user-agent.js";
37
39
  import { killTrackedDetachedChildren } from "../../utils/shell.js";
38
40
  import { ensureTool } from "../../utils/tools-manager.js";
39
41
  import { checkForNewPiVersion } from "../../utils/version-check.js";
@@ -58,11 +60,13 @@ import { LoginDialogComponent } from "./components/login-dialog.js";
58
60
  import { createMermaidMarkdownTransformer } from "./components/mermaid.js";
59
61
  import { ModelSelectorComponent } from "./components/model-selector.js";
60
62
  import { formatAuthSelectorProviderType, OAuthSelectorComponent, } from "./components/oauth-selector.js";
63
+ import { PromptOptimization } from "./components/prompt-optimization.js";
61
64
  import { ScopedModelsSelectorComponent } from "./components/scoped-models-selector.js";
62
65
  import { SessionSelectorComponent } from "./components/session-selector.js";
63
66
  import { SettingsSelectorComponent } from "./components/settings-selector.js";
64
67
  import { SkillInvocationMessageComponent } from "./components/skill-invocation-message.js";
65
68
  import { BranchSummaryStatusIndicator, CompactionStatusIndicator, IdleStatus, RetryStatusIndicator, WorkingStatusIndicator, } from "./components/status-indicator.js";
69
+ import { ThinkingSelectorComponent } from "./components/thinking-selector.js";
66
70
  import { ToolExecutionComponent } from "./components/tool-execution.js";
67
71
  import { TreeSelectorComponent } from "./components/tree-selector.js";
68
72
  import { TrustSelectorComponent } from "./components/trust-selector.js";
@@ -91,6 +95,9 @@ class ExpandableText extends Text {
91
95
  function isCustomSessionEntry(item) {
92
96
  return "type" in item && item.type === "custom";
93
97
  }
98
+ function isCompactionCostNotice(item) {
99
+ return "type" in item && item.type === "compaction_cost";
100
+ }
94
101
  const DEAD_TERMINAL_ERROR_CODES = new Set(["EIO", "EPIPE", "ENOTCONN"]);
95
102
  function isDeadTerminalError(error) {
96
103
  if (!error || typeof error !== "object" || !("code" in error)) {
@@ -130,6 +137,11 @@ export function formatResumeCommand(sessionManager) {
130
137
  function hasDefaultModelProvider(providerId) {
131
138
  return providerId in defaultModelPerProvider;
132
139
  }
140
+ function llamaCppPostLoginGuidance(actionLabel, loadedModelCount) {
141
+ return loadedModelCount === 0
142
+ ? `${actionLabel}. No llama.cpp models are loaded. Use /llama to load a model, then /model to select it.`
143
+ : `${actionLabel}. Use /model to select a loaded llama.cpp model, or /llama to manage models.`;
144
+ }
133
145
  const AUTH_TYPE_ORDER = { oauth: 0, api_key: 1 };
134
146
  function createFuzzyAutocompleteItems(items, prefix, getSearchText, toAutocompleteItem) {
135
147
  const filtered = fuzzyFilter(items, prefix, getSearchText);
@@ -465,6 +477,15 @@ export class InteractiveMode {
465
477
  }));
466
478
  };
467
479
  }
480
+ const thinkingCommand = slashCommands.find((command) => command.name === "thinking");
481
+ if (thinkingCommand) {
482
+ thinkingCommand.getArgumentCompletions = (prefix) => {
483
+ return createFuzzyAutocompleteItems(this.session.getAvailableThinkingLevels(), prefix, (level) => level, (level) => ({
484
+ value: level,
485
+ label: level,
486
+ }));
487
+ };
488
+ }
468
489
  const loginCommand = slashCommands.find((command) => command.name === "login");
469
490
  if (loginCommand) {
470
491
  loginCommand.getArgumentCompletions = (prefix) => {
@@ -679,7 +700,7 @@ export class InteractiveMode {
679
700
  const accent = (text) => theme.fg("accent", text);
680
701
  const dim = (text) => theme.fg("dim", text);
681
702
  const muted = (text) => theme.fg("muted", text);
682
- const logo = theme.bold(theme.fg("accent", APP_NAME)) + theme.fg("dim", ` v${this.version}`);
703
+ const _logo = theme.bold(theme.fg("accent", APP_NAME)) + theme.fg("dim", ` v${this.version}`);
683
704
  // Welcome screen (central): ASCII logo + environment status + quick commands
684
705
  const asciiLogo = [
685
706
  " █████╗ ██████╗ █████╗",
@@ -836,7 +857,18 @@ export class InteractiveMode {
836
857
  }
837
858
  });
838
859
  // Show startup warnings
839
- const { migratedProviders, modelFallbackMessage, initialMessage, initialImages, initialMessages } = this.options;
860
+ const { migratedProviders, startupDiagnostics, modelFallbackMessage, initialMessage, initialImages, initialMessages, } = this.options;
861
+ for (const diagnostic of startupDiagnostics ?? []) {
862
+ if (diagnostic.type === "error") {
863
+ this.showError(diagnostic.message);
864
+ }
865
+ else if (diagnostic.type === "warning") {
866
+ this.showWarning(diagnostic.message);
867
+ }
868
+ else {
869
+ this.showStatus(diagnostic.message);
870
+ }
871
+ }
840
872
  if (migratedProviders && migratedProviders.length > 0) {
841
873
  this.showWarning(`Migrated credentials to auth.json: ${migratedProviders.join(", ")}`);
842
874
  }
@@ -954,33 +986,15 @@ export class InteractiveMode {
954
986
  if (!lastVersion) {
955
987
  // Fresh install - record the version, send telemetry, don't show changelog
956
988
  this.settingsManager.setLastChangelogVersion(VERSION);
957
- this.reportInstallTelemetry(VERSION);
958
989
  return undefined;
959
990
  }
960
991
  const newEntries = getNewEntries(entries, lastVersion);
961
992
  if (newEntries.length > 0) {
962
993
  this.settingsManager.setLastChangelogVersion(VERSION);
963
- this.reportInstallTelemetry(VERSION);
964
994
  return newEntries.map((e) => normalizeChangelogLinks(e.content, e)).join("\n\n");
965
995
  }
966
996
  return undefined;
967
997
  }
968
- reportInstallTelemetry(version) {
969
- if (process.env.PI_OFFLINE) {
970
- return;
971
- }
972
- if (!isInstallTelemetryEnabled(this.settingsManager)) {
973
- return;
974
- }
975
- void fetch(`https://pi.dev/api/report-install?version=${encodeURIComponent(version)}`, {
976
- headers: {
977
- "User-Agent": getPiUserAgent(version),
978
- },
979
- signal: AbortSignal.timeout(5000),
980
- })
981
- .then(() => undefined)
982
- .catch(() => undefined);
983
- }
984
998
  getMarkdownThemeWithSettings() {
985
999
  return {
986
1000
  ...getMarkdownTheme(),
@@ -2378,6 +2392,12 @@ export class InteractiveMode {
2378
2392
  await this.handleModelCommand(searchTerm);
2379
2393
  return;
2380
2394
  }
2395
+ if (text === "/thinking" || text.startsWith("/thinking ")) {
2396
+ const searchTerm = text.startsWith("/thinking ") ? text.slice(10).trim() : undefined;
2397
+ this.editor.setText("");
2398
+ this.handleThinkingCommand(searchTerm);
2399
+ return;
2400
+ }
2381
2401
  if (text === "/export" || text.startsWith("/export ")) {
2382
2402
  await this.handleExportCommand(text);
2383
2403
  this.editor.setText("");
@@ -2429,6 +2449,24 @@ export class InteractiveMode {
2429
2449
  void this.handleVaultCommand(args);
2430
2450
  return;
2431
2451
  }
2452
+ if (text === "/goal" || text.startsWith("/goal ")) {
2453
+ const args = text.startsWith("/goal ") ? text.slice(6).trim() : "";
2454
+ this.editor.setText("");
2455
+ void this.handleGoalCommand(args);
2456
+ return;
2457
+ }
2458
+ if (text === "/graph" || text.startsWith("/graph ")) {
2459
+ const args = text.startsWith("/graph ") ? text.slice(7).trim() : "";
2460
+ this.editor.setText("");
2461
+ void this.handleGraphCommand(args);
2462
+ return;
2463
+ }
2464
+ if (text === "/workflow" || text.startsWith("/workflow ")) {
2465
+ const args = text.startsWith("/workflow ") ? text.slice(10).trim() : "";
2466
+ this.editor.setText("");
2467
+ void this.handleWorkflowCommand(args);
2468
+ return;
2469
+ }
2432
2470
  if (text === "/changelog") {
2433
2471
  this.handleChangelogCommand();
2434
2472
  this.editor.setText("");
@@ -2584,6 +2622,9 @@ export class InteractiveMode {
2584
2622
  this.showStatus(event.message);
2585
2623
  }
2586
2624
  break;
2625
+ case "prompt_optimization":
2626
+ this.showPromptOptimization(event);
2627
+ break;
2587
2628
  case "agent_start":
2588
2629
  this.pendingTools.clear();
2589
2630
  if (this.settingsManager.getShowTerminalProgress()) {
@@ -2788,9 +2829,21 @@ export class InteractiveMode {
2788
2829
  }
2789
2830
  }
2790
2831
  else if (event.result) {
2832
+ const entries = this.sessionManager.buildContextEntries();
2833
+ if (entries[0]?.type !== "compaction") {
2834
+ throw new Error("Completed compaction is missing from the session context");
2835
+ }
2791
2836
  this.chatContainer.clear();
2792
- this.rebuildChatFromMessages();
2837
+ // The latest compaction is prepended for model context; append it below at its chronological position.
2838
+ this.renderSessionEntries(entries.slice(1));
2793
2839
  this.addMessageToChat(createCompactionSummaryMessage(event.result.summary, event.result.tokensBefore, new Date().toISOString()));
2840
+ if (event.result.usage) {
2841
+ this.addCompactionCostNotice({
2842
+ type: "compaction_cost",
2843
+ kind: "compaction",
2844
+ usage: event.result.usage,
2845
+ });
2846
+ }
2794
2847
  this.footer.invalidate();
2795
2848
  }
2796
2849
  else if (event.errorMessage) {
@@ -2882,6 +2935,23 @@ export class InteractiveMode {
2882
2935
  * If multiple status messages are emitted back-to-back (without anything else being added to the chat),
2883
2936
  * we update the previous status line instead of appending new ones to avoid log spam.
2884
2937
  */
2938
+ /** Muestra cómo el optimizador mejoró el prompt (o qué pregunta aclarar). */
2939
+ showPromptOptimization(event) {
2940
+ const component = new PromptOptimization(this.ui, event);
2941
+ if (this.streamingComponent) {
2942
+ const idx = this.chatContainer.children.indexOf(this.streamingComponent);
2943
+ if (idx >= 0) {
2944
+ this.chatContainer.children.splice(idx, 0, component);
2945
+ }
2946
+ else {
2947
+ this.chatContainer.addChild(component);
2948
+ }
2949
+ }
2950
+ else {
2951
+ this.chatContainer.addChild(component);
2952
+ }
2953
+ this.ui.requestRender();
2954
+ }
2885
2955
  showStatus(message) {
2886
2956
  const children = this.chatContainer.children;
2887
2957
  const last = children.length > 0 ? children[children.length - 1] : undefined;
@@ -2936,8 +3006,7 @@ export class InteractiveMode {
2936
3006
  // (sensitive data will not be stored in memory).
2937
3007
  const text = customMessageText(message.content);
2938
3008
  this.chatContainer.addChild(new Spacer(1));
2939
- this.chatContainer.addChild(new Text(theme.fg("warning", "⚠️ ") + theme.bold(theme.fg("warning", "Ada Memory")) +
2940
- "\n" + text, 1, 0));
3009
+ this.chatContainer.addChild(new Text(`${theme.fg("warning", "⚠️ ") + theme.bold(theme.fg("warning", "Ada Memory"))}\n${text}`, 1, 0));
2941
3010
  break;
2942
3011
  }
2943
3012
  const renderer = this.session.extensionRunner.getMessageRenderer(message.customType);
@@ -3021,6 +3090,10 @@ export class InteractiveMode {
3021
3090
  this.addCustomEntryToChat(item);
3022
3091
  continue;
3023
3092
  }
3093
+ if (isCompactionCostNotice(item)) {
3094
+ this.addCompactionCostNotice(item);
3095
+ continue;
3096
+ }
3024
3097
  const message = item;
3025
3098
  // Assistant messages need special handling for tool calls
3026
3099
  if (message.role === "assistant") {
@@ -3088,10 +3161,28 @@ export class InteractiveMode {
3088
3161
  if (entry.type === "custom") {
3089
3162
  return [entry];
3090
3163
  }
3091
- return sessionEntryToContextMessages(entry);
3164
+ const messages = sessionEntryToContextMessages(entry);
3165
+ if ((entry.type === "compaction" || entry.type === "branch_summary") && entry.usage && messages.length > 0) {
3166
+ return [...messages, { type: "compaction_cost", kind: entry.type, usage: entry.usage }];
3167
+ }
3168
+ return messages;
3092
3169
  });
3093
3170
  this.renderSessionItems(items, options);
3094
3171
  }
3172
+ /**
3173
+ * Render billing usage for a compaction or branch summary. The notice is derived
3174
+ * from persisted summary usage and is not stored as a separate session entry.
3175
+ */
3176
+ addCompactionCostNotice(notice) {
3177
+ if (!this.settingsManager.getShowCacheMissNotices())
3178
+ return;
3179
+ const { usage } = notice;
3180
+ const tokens = usage.input + usage.output + usage.cacheRead + usage.cacheWrite;
3181
+ const cost = usage.cost.total >= 0.01 ? ` (~$${usage.cost.total.toFixed(2)})` : "";
3182
+ const label = notice.kind === "compaction" ? "Compaction" : "Branch summary";
3183
+ this.chatContainer.addChild(new Spacer(1));
3184
+ this.chatContainer.addChild(new Text(theme.fg("warning", `${label}: ${formatTokens(tokens)} tokens billed${cost}`), 1, 0));
3185
+ }
3095
3186
  /**
3096
3187
  * Show a transcript notice when a completed assistant message paid for a
3097
3188
  * significant cache miss. Only states observable facts: the miss itself,
@@ -3728,21 +3819,35 @@ export class InteractiveMode {
3728
3819
  showSettingsSelector() {
3729
3820
  this.showSelector((done) => {
3730
3821
  let selector;
3822
+ const defaultProvider = this.settingsManager.getDefaultProvider();
3823
+ const defaultModelId = this.settingsManager.getDefaultModel();
3824
+ const defaultModel = defaultProvider && defaultModelId ? `${defaultProvider}/${defaultModelId}` : "not set";
3731
3825
  selector = new SettingsSelectorComponent({
3732
3826
  autoCompact: this.session.autoCompactionEnabled,
3827
+ defaultModel,
3828
+ currentModel: this.session.model,
3829
+ availableDefaultModels: this.session.modelRuntime.getAvailableSnapshot(),
3733
3830
  showImages: this.settingsManager.getShowImages(),
3734
3831
  imageWidthCells: this.settingsManager.getImageWidthCells(),
3735
3832
  autoResizeImages: this.settingsManager.getImageAutoResize(),
3736
3833
  blockImages: this.settingsManager.getBlockImages(),
3737
3834
  projectMemory: this.settingsManager.getProjectMemoryEnabled(),
3738
3835
  memoryMode: this.settingsManager.getMemoryMode(),
3836
+ // Ada Intelligence Engine (§16.2)
3837
+ workflowsEnabled: this.settingsManager.getWorkflowsEnabled(),
3838
+ goalEngineEnabled: this.settingsManager.getGoalEngineEnabled(),
3839
+ goalWorkTier: this.settingsManager.getGoalWorkTier(),
3840
+ goalMaxTurns: this.settingsManager.getGoalMaxTurns(),
3841
+ goalRepeatTolerance: this.settingsManager.getGoalRepeatTolerance(),
3842
+ promptOptimizerMode: this.settingsManager.getPromptOptimizerMode(),
3739
3843
  enableSkillCommands: this.settingsManager.getEnableSkillCommands(),
3740
3844
  steeringMode: this.session.steeringMode,
3741
3845
  followUpMode: this.session.followUpMode,
3742
3846
  transport: this.settingsManager.getTransport(),
3743
3847
  httpIdleTimeoutMs: this.settingsManager.getHttpIdleTimeoutMs(),
3744
- thinkingLevel: this.session.thinkingLevel,
3745
- availableThinkingLevels: this.session.getAvailableThinkingLevels(),
3848
+ thinkingLevel: this.settingsManager.getDefaultThinkingLevel() ?? DEFAULT_THINKING_LEVEL,
3849
+ availableThinkingLevels: [...THINKING_LEVEL_OPTIONS],
3850
+ modelThinkingLevels: this.settingsManager.getAllModelThinkingLevels(),
3746
3851
  currentTheme: this.themeController.getThemeSelection() || "dark",
3747
3852
  terminalTheme: this.themeController.getTerminalTheme(),
3748
3853
  availableThemes: getAvailableThemes(),
@@ -3800,6 +3905,26 @@ export class InteractiveMode {
3800
3905
  // Rebuild the prompt so the new injection mode takes effect.
3801
3906
  this.session.rebuildSystemPrompt();
3802
3907
  },
3908
+ onWorkflowsEnabledChange: (enabled) => {
3909
+ this.settingsManager.setWorkflowsEnabled(enabled);
3910
+ },
3911
+ onPromptOptimizerModeChange: (mode) => {
3912
+ this.settingsManager.setPromptOptimizerMode(mode);
3913
+ // Aplica el modo en la sesión en vivo (sin reiniciar).
3914
+ this.session.setPromptOptimizerMode(mode);
3915
+ },
3916
+ onGoalEngineEnabledChange: (enabled) => {
3917
+ this.settingsManager.setGoalEngineEnabled(enabled);
3918
+ },
3919
+ onGoalWorkTierChange: (tier) => {
3920
+ this.settingsManager.setGoalWorkTier(tier);
3921
+ },
3922
+ onGoalMaxTurnsChange: (turns) => {
3923
+ this.settingsManager.setGoalMaxTurns(turns);
3924
+ },
3925
+ onRepeatToleranceChange: (tolerance) => {
3926
+ this.settingsManager.setGoalRepeatTolerance(tolerance);
3927
+ },
3803
3928
  onEnableSkillCommandsChange: (enabled) => {
3804
3929
  this.settingsManager.setEnableSkillCommands(enabled);
3805
3930
  this.setupAutocompleteProvider();
@@ -3819,10 +3944,26 @@ export class InteractiveMode {
3819
3944
  configureHttpDispatcher(timeoutMs);
3820
3945
  this.showStatus(`HTTP idle timeout: ${formatHttpIdleTimeoutMs(timeoutMs)}`);
3821
3946
  },
3822
- onThinkingLevelChange: (level) => {
3823
- this.session.setThinkingLevel(level);
3824
- this.footer.invalidate();
3825
- this.updateEditorBorderColor();
3947
+ onModelThinkingLevelChange: (provider, modelId, level) => {
3948
+ this.settingsManager.setModelThinkingLevel(provider, modelId, level);
3949
+ // If the override is for the current model, apply it to the session too
3950
+ const current = this.session.model;
3951
+ if (current && current.provider === provider && current.id === modelId) {
3952
+ this.session.setThinkingLevel(level);
3953
+ this.footer.invalidate();
3954
+ this.updateEditorBorderColor();
3955
+ }
3956
+ },
3957
+ onModelThinkingLevelRemove: (provider, modelId) => {
3958
+ this.settingsManager.removeModelThinkingLevel(provider, modelId);
3959
+ // If the override was for the current model, revert to global default
3960
+ const current = this.session.model;
3961
+ if (current && current.provider === provider && current.id === modelId) {
3962
+ const globalDefault = this.settingsManager.getDefaultThinkingLevel() ?? DEFAULT_THINKING_LEVEL;
3963
+ this.session.setThinkingLevel(globalDefault);
3964
+ this.footer.invalidate();
3965
+ this.updateEditorBorderColor();
3966
+ }
3826
3967
  },
3827
3968
  onThemeChange: (themeSetting) => {
3828
3969
  this.settingsManager.setTheme(themeSetting);
@@ -3943,6 +4084,44 @@ export class InteractiveMode {
3943
4084
  return { component: selector, focus: selector.getSettingsList() };
3944
4085
  });
3945
4086
  }
4087
+ handleThinkingCommand(searchTerm) {
4088
+ const availableLevels = this.session.getAvailableThinkingLevels();
4089
+ if (!searchTerm) {
4090
+ this.showThinkingSelector();
4091
+ return;
4092
+ }
4093
+ const normalized = searchTerm.trim().toLowerCase();
4094
+ const level = availableLevels.find((candidate) => candidate.toLowerCase() === normalized);
4095
+ if (!level) {
4096
+ this.showError(`Unknown thinking level "${searchTerm}". Available levels: ${availableLevels.join(", ")}.`);
4097
+ return;
4098
+ }
4099
+ this.selectThinkingLevel(level, false);
4100
+ }
4101
+ selectThinkingLevel(level, persist) {
4102
+ try {
4103
+ this.session.setThinkingLevel(level, { persist });
4104
+ this.footer.invalidate();
4105
+ this.updateEditorBorderColor();
4106
+ this.showStatus(persist ? `Default thinking level: ${level}` : `Thinking level: ${level}`);
4107
+ }
4108
+ catch (error) {
4109
+ this.showError(error instanceof Error ? error.message : String(error));
4110
+ }
4111
+ }
4112
+ showThinkingSelector() {
4113
+ this.showSelector((done) => {
4114
+ const selectLevel = (level, persist) => {
4115
+ this.selectThinkingLevel(level, persist);
4116
+ done();
4117
+ };
4118
+ const selector = new ThinkingSelectorComponent(this.session.thinkingLevel ?? DEFAULT_THINKING_LEVEL, this.session.getAvailableThinkingLevels(), (level) => selectLevel(level, false), () => {
4119
+ done();
4120
+ this.ui.requestRender();
4121
+ }, (level) => selectLevel(level, true), this.settingsManager.getDefaultThinkingLevel() ?? DEFAULT_THINKING_LEVEL);
4122
+ return { component: selector, focus: selector };
4123
+ });
4124
+ }
3946
4125
  async handleModelCommand(searchTerm) {
3947
4126
  if (!searchTerm) {
3948
4127
  this.showModelSelector();
@@ -3951,7 +4130,7 @@ export class InteractiveMode {
3951
4130
  const model = await this.findExactModelMatch(searchTerm);
3952
4131
  if (model) {
3953
4132
  try {
3954
- await this.session.setModel(model);
4133
+ await this.session.setModel(model, { persist: false });
3955
4134
  this.footer.invalidate();
3956
4135
  this.updateEditorBorderColor();
3957
4136
  this.showStatus(`Model: ${model.id}`);
@@ -4080,13 +4259,13 @@ export class InteractiveMode {
4080
4259
  }
4081
4260
  showModelSelector(initialSearchInput) {
4082
4261
  this.showSelector((done) => {
4083
- const selector = new ModelSelectorComponent(this.ui, this.session.model, this.settingsManager, this.session.modelRuntime, this.session.scopedModels, async (model) => {
4262
+ const selectModel = async (model, persist) => {
4084
4263
  try {
4085
- await this.session.setModel(model);
4264
+ await this.session.setModel(model, { persist });
4086
4265
  this.footer.invalidate();
4087
4266
  this.updateEditorBorderColor();
4088
4267
  done();
4089
- this.showStatus(`Model: ${model.id}`);
4268
+ this.showStatus(persist ? `Default model: ${model.provider}/${model.id}` : `Model: ${model.id}`);
4090
4269
  void this.maybeWarnAboutAnthropicSubscriptionAuth(model);
4091
4270
  this.checkDaxnutsEasterEgg(model);
4092
4271
  }
@@ -4094,10 +4273,13 @@ export class InteractiveMode {
4094
4273
  done();
4095
4274
  this.showError(error instanceof Error ? error.message : String(error));
4096
4275
  }
4097
- }, () => {
4276
+ };
4277
+ const defaultProvider = this.settingsManager.getDefaultProvider();
4278
+ const defaultModel = this.settingsManager.getDefaultModel();
4279
+ const selector = new ModelSelectorComponent(this.ui, this.session.model, this.session.modelRuntime, this.session.scopedModels, (model) => selectModel(model, false), () => {
4098
4280
  done();
4099
4281
  this.ui.requestRender();
4100
- }, initialSearchInput);
4282
+ }, initialSearchInput, (model) => selectModel(model, true), defaultProvider && defaultModel ? { provider: defaultProvider, id: defaultModel } : undefined);
4101
4283
  return { component: selector, focus: selector, dispose: () => selector.dispose() };
4102
4284
  });
4103
4285
  }
@@ -4653,7 +4835,11 @@ export class InteractiveMode {
4653
4835
  if (isUnknownModel(previousModel)) {
4654
4836
  const availableModels = this.session.modelRuntime.getAvailableSnapshot();
4655
4837
  const providerModels = availableModels.filter((model) => model.provider === providerId);
4656
- if (!hasDefaultModelProvider(providerId)) {
4838
+ // Matches LLAMA_PROVIDER_ID from extensions/llama/provider.ts; kept inline to avoid coupling interactive mode to the built-in extension.
4839
+ if (providerId === "llama.cpp") {
4840
+ selectionError = llamaCppPostLoginGuidance(actionLabel, providerModels.length);
4841
+ }
4842
+ else if (!hasDefaultModelProvider(providerId)) {
4657
4843
  selectionError = `${actionLabel}, but no default model is configured for provider "${providerId}". Use /model to select a model.`;
4658
4844
  }
4659
4845
  else if (providerModels.length === 0) {
@@ -4667,7 +4853,7 @@ export class InteractiveMode {
4667
4853
  }
4668
4854
  else {
4669
4855
  try {
4670
- await this.session.setModel(selectedModel);
4856
+ await this.session.setModel(selectedModel, { persist: true });
4671
4857
  }
4672
4858
  catch (error) {
4673
4859
  selectedModel = undefined;
@@ -5037,50 +5223,119 @@ export class InteractiveMode {
5037
5223
  }
5038
5224
  }
5039
5225
  async handleShareCommand() {
5040
- // Check if gh is available and logged in
5226
+ // Radius artifacts natively support JSONL sessions. Gist fallback keeps the legacy HTML upload.
5227
+ const jsonlFile = path.join(os.tmpdir(), "session.jsonl");
5228
+ let htmlFile = null;
5041
5229
  try {
5042
- const authResult = spawnSync("gh", ["auth", "status"], { encoding: "utf-8" });
5043
- if (authResult.status !== 0) {
5044
- this.showError("GitHub CLI is not logged in. Run 'gh auth login' first.");
5230
+ try {
5231
+ this.session.exportToJsonl(jsonlFile);
5232
+ }
5233
+ catch (error) {
5234
+ this.showError(`Failed to export session: ${error instanceof Error ? error.message : "Unknown error"}`);
5235
+ return;
5236
+ }
5237
+ if (await this.tryShareViaRadius(jsonlFile))
5045
5238
  return;
5239
+ try {
5240
+ const authResult = spawnSync("gh", ["auth", "status"], { encoding: "utf-8" });
5241
+ if (authResult.status !== 0) {
5242
+ this.showError("GitHub CLI is not logged in. Run 'gh auth login' first.");
5243
+ return;
5244
+ }
5046
5245
  }
5246
+ catch {
5247
+ this.showError("GitHub CLI (gh) is not installed. Install it from https://cli.github.com/");
5248
+ return;
5249
+ }
5250
+ try {
5251
+ htmlFile = path.join(os.tmpdir(), "session.html");
5252
+ await this.session.exportToHtml(htmlFile, { themeName: theme.name });
5253
+ }
5254
+ catch (error) {
5255
+ this.showError(`Failed to export session: ${error instanceof Error ? error.message : "Unknown error"}`);
5256
+ return;
5257
+ }
5258
+ await this.shareViaGist(htmlFile);
5047
5259
  }
5048
- catch {
5049
- this.showError("GitHub CLI (gh) is not installed. Install it from https://cli.github.com/");
5050
- return;
5260
+ finally {
5261
+ for (const tmpFile of [jsonlFile, htmlFile]) {
5262
+ try {
5263
+ if (tmpFile !== null) {
5264
+ fs.unlinkSync(tmpFile);
5265
+ }
5266
+ }
5267
+ catch {
5268
+ // Ignore cleanup errors
5269
+ }
5270
+ }
5051
5271
  }
5052
- // Export to a temp file
5053
- const tmpFile = path.join(os.tmpdir(), "session.html");
5272
+ }
5273
+ async tryShareViaRadius(tmpFile) {
5274
+ const provider = this.session.modelRuntime.getProvider("radius");
5275
+ if (!provider)
5276
+ return false;
5277
+ const gatewayUrl = DEFAULT_RADIUS_GATEWAY;
5278
+ const token = getAuthCredential(await this.session.modelRuntime.getAuth("radius", { minOAuthValidityMs: 5 * 60_000 }));
5279
+ if (!token)
5280
+ return false;
5281
+ const loader = new BorderedLoader(this.ui, theme, "Uploading to Radius...");
5282
+ this.editorContainer.clear();
5283
+ this.editorContainer.addChild(loader);
5284
+ this.ui.setFocus(loader);
5285
+ this.ui.requestRender();
5286
+ loader.onAbort = () => {
5287
+ this.restoreShareEditor(loader);
5288
+ this.showStatus("Share cancelled");
5289
+ };
5054
5290
  try {
5055
- await this.session.exportToHtml(tmpFile, { themeName: theme.name });
5291
+ const body = fs.readFileSync(tmpFile);
5292
+ const url = new URL("/v1/artifacts", gatewayUrl);
5293
+ url.searchParams.set("visibility", "organization");
5294
+ url.searchParams.set("title", "Pi session");
5295
+ const response = await fetch(url, {
5296
+ method: "POST",
5297
+ headers: {
5298
+ Authorization: `Bearer ${token}`,
5299
+ "Content-Type": "application/x-ndjson",
5300
+ "Content-Length": String(body.byteLength),
5301
+ },
5302
+ body,
5303
+ signal: loader.signal,
5304
+ });
5305
+ if (loader.signal.aborted)
5306
+ return true;
5307
+ const json = (await response.json().catch(() => null));
5308
+ if (loader.signal.aborted)
5309
+ return true;
5310
+ this.restoreShareEditor(loader);
5311
+ if (!response.ok || !json?.artifact) {
5312
+ this.showError(`Failed to upload Radius artifact: ${json?.error || response.statusText || response.status}`);
5313
+ return true;
5314
+ }
5315
+ const shareUrl = json.artifact.canonical_url;
5316
+ this.showStatus(`Share URL: ${hyperlink(shareUrl, shareUrl)}`);
5317
+ return true;
5056
5318
  }
5057
5319
  catch (error) {
5058
- this.showError(`Failed to export session: ${error instanceof Error ? error.message : "Unknown error"}`);
5059
- return;
5320
+ if (!loader.signal.aborted) {
5321
+ this.restoreShareEditor(loader);
5322
+ this.showError(`Failed to upload Radius artifact: ${error instanceof Error ? error.message : "Unknown error"}`);
5323
+ }
5324
+ return true;
5060
5325
  }
5326
+ }
5327
+ async shareViaGist(tmpFile) {
5061
5328
  // Show cancellable loader, replacing the editor
5062
5329
  const loader = new BorderedLoader(this.ui, theme, "Creating gist...");
5063
5330
  this.editorContainer.clear();
5064
5331
  this.editorContainer.addChild(loader);
5065
5332
  this.ui.setFocus(loader);
5066
5333
  this.ui.requestRender();
5067
- const restoreEditor = () => {
5068
- loader.dispose();
5069
- this.editorContainer.clear();
5070
- this.editorContainer.addChild(this.editor);
5071
- this.ui.setFocus(this.editor);
5072
- try {
5073
- fs.unlinkSync(tmpFile);
5074
- }
5075
- catch {
5076
- // Ignore cleanup errors
5077
- }
5078
- };
5079
5334
  // Create a secret gist asynchronously
5080
5335
  let proc = null;
5081
5336
  loader.onAbort = () => {
5082
5337
  proc?.kill();
5083
- restoreEditor();
5338
+ this.restoreShareEditor(loader);
5084
5339
  this.showStatus("Share cancelled");
5085
5340
  };
5086
5341
  try {
@@ -5098,7 +5353,7 @@ export class InteractiveMode {
5098
5353
  });
5099
5354
  if (loader.signal.aborted)
5100
5355
  return;
5101
- restoreEditor();
5356
+ this.restoreShareEditor(loader);
5102
5357
  if (result.code !== 0) {
5103
5358
  const errorMsg = result.stderr?.trim() || "Unknown error";
5104
5359
  this.showError(`Failed to create gist: ${errorMsg}`);
@@ -5114,15 +5369,21 @@ export class InteractiveMode {
5114
5369
  }
5115
5370
  // Create the preview URL
5116
5371
  const previewUrl = getShareViewerUrl(gistId);
5117
- this.showStatus(`Share URL: ${previewUrl}\nGist: ${gistUrl}`);
5372
+ this.showStatus(`Share URL: ${hyperlink(previewUrl, previewUrl)}\nGist: ${hyperlink(gistUrl, gistUrl)}`);
5118
5373
  }
5119
5374
  catch (error) {
5120
5375
  if (!loader.signal.aborted) {
5121
- restoreEditor();
5376
+ this.restoreShareEditor(loader);
5122
5377
  this.showError(`Failed to create gist: ${error instanceof Error ? error.message : "Unknown error"}`);
5123
5378
  }
5124
5379
  }
5125
5380
  }
5381
+ restoreShareEditor(loader) {
5382
+ loader.dispose();
5383
+ this.editorContainer.clear();
5384
+ this.editorContainer.addChild(this.editor);
5385
+ this.ui.setFocus(this.editor);
5386
+ }
5126
5387
  async handleCopyCommand(options = {}) {
5127
5388
  const text = this.session.getLastAssistantText();
5128
5389
  if (!text) {
@@ -5251,7 +5512,10 @@ export class InteractiveMode {
5251
5512
  let info = `${theme.bold("🧠 Ada Memory")}\n\n`;
5252
5513
  info += `${theme.fg("dim", "Enabled:")} ${status.enabled ? "yes" : "no"} · ${theme.fg("dim", "Mode:")} ${status.mode}\n`;
5253
5514
  info += `${theme.fg("dim", "Indexes:")} ${status.memoryIndexDocs} memory docs · ${status.sessionIndexDocs} session docs\n\n`;
5254
- info += entries.length > 0 ? entries.join("\n") : theme.fg("dim", "No memory entries yet. Ask the agent to remember something, or use memory_add.");
5515
+ info +=
5516
+ entries.length > 0
5517
+ ? entries.join("\n")
5518
+ : theme.fg("dim", "No memory entries yet. Ask the agent to remember something, or use memory_add.");
5255
5519
  this.chatContainer.addChild(new Spacer(1));
5256
5520
  this.chatContainer.addChild(new Text(info, 1, 0));
5257
5521
  this.ui.requestRender();
@@ -5295,7 +5559,7 @@ export class InteractiveMode {
5295
5559
  const entries = await memoryEngine.auditEntries(25);
5296
5560
  const lines = [
5297
5561
  `${theme.bold("🛡️ Memory audit")}`,
5298
- `${theme.fg("dim", "Integrity:")} ${integrity.valid ? theme.fg("success", "OK (" + integrity.entriesChecked + " entries)") : theme.fg("error", `TAMPERED at ${integrity.tamperedAt ?? "?"}`)}`,
5562
+ `${theme.fg("dim", "Integrity:")} ${integrity.valid ? theme.fg("success", `OK (${integrity.entriesChecked} entries)`) : theme.fg("error", `TAMPERED at ${integrity.tamperedAt ?? "?"}`)}`,
5299
5563
  ];
5300
5564
  if (entries.length === 0) {
5301
5565
  lines.push(theme.fg("dim", "No audit entries yet."));
@@ -5358,7 +5622,10 @@ export class InteractiveMode {
5358
5622
  return;
5359
5623
  }
5360
5624
  vault.add(name, value);
5361
- show([`✅ '${name}' saved to the project vault (encrypted).`, " Use @vault:" + name + " in a message to pass it to the agent."]);
5625
+ show([
5626
+ `✅ '${name}' saved to the project vault (encrypted).`,
5627
+ ` Use @vault:${name} in a message to pass it to the agent.`,
5628
+ ]);
5362
5629
  return;
5363
5630
  }
5364
5631
  case "session": {
@@ -5406,7 +5673,7 @@ export class InteractiveMode {
5406
5673
  }
5407
5674
  if (!name) {
5408
5675
  const names = available
5409
- .map((e) => ` ${e.name} (${e.source === "session" ? "sesión" : "proyecto"}${e.category ? " · " + e.category : ""})`)
5676
+ .map((e) => ` ${e.name} (${e.source === "session" ? "sesión" : "proyecto"}${e.category ? ` · ${e.category}` : ""})`)
5410
5677
  .join("\n");
5411
5678
  show([
5412
5679
  "Secretos disponibles:",
@@ -5418,12 +5685,13 @@ export class InteractiveMode {
5418
5685
  }
5419
5686
  const exists = available.some((e) => e.name === name);
5420
5687
  show(exists
5421
- ? [`Listo. Escribe esto en el chat: @vault:${name}`, "El agente recibirá el valor; nunca se persiste en la sesión."]
5688
+ ? [
5689
+ `Listo. Escribe esto en el chat: @vault:${name}`,
5690
+ "El agente recibirá el valor; nunca se persiste en la sesión.",
5691
+ ]
5422
5692
  : [`No existe el secreto '${name}'. /vault list para verlos.`]);
5423
5693
  return;
5424
5694
  }
5425
- case "list":
5426
- case "status":
5427
5695
  default: {
5428
5696
  const status = vault.status();
5429
5697
  const entries = vault.list();
@@ -5447,6 +5715,372 @@ export class InteractiveMode {
5447
5715
  }
5448
5716
  }
5449
5717
  }
5718
+ /** /goal <intent> | status | approve | pause | resume | list — Goal Engine CLI (§16.4). */
5719
+ async handleGoalCommand(args) {
5720
+ const goalEngine = this.session.resourceLoader.getGoalEngine?.();
5721
+ const show = (lines) => {
5722
+ this.chatContainer.addChild(new Spacer(1));
5723
+ this.chatContainer.addChild(new Text(lines.join("\n"), 1, 0));
5724
+ this.ui.requestRender();
5725
+ };
5726
+ if (!goalEngine) {
5727
+ show(["Goal Engine unavailable."]);
5728
+ return;
5729
+ }
5730
+ const [action, ...rest] = args.split(/\s+/).filter(Boolean);
5731
+ switch (action ?? "list") {
5732
+ case "list": {
5733
+ const goals = await goalEngine.list().catch(() => []);
5734
+ show([
5735
+ "Goals:",
5736
+ ...(goals.length === 0
5737
+ ? [" (none)"]
5738
+ : goals.map((g) => ` ${g.status === "active" ? "◆" : "·"} ${g.id} [${g.status}] ${g.goal}`)),
5739
+ ]);
5740
+ return;
5741
+ }
5742
+ case "status": {
5743
+ const id = rest[0] ?? "";
5744
+ if (!id) {
5745
+ show(["Uso: /goal status <id>"]);
5746
+ return;
5747
+ }
5748
+ const state = await goalEngine.get(id);
5749
+ if (!state) {
5750
+ show([`Goal no encontrado: ${id}`]);
5751
+ return;
5752
+ }
5753
+ show([
5754
+ `Goal: ${state.goal}`,
5755
+ ` id: ${state.id} · fase: ${state.phase} · estado: ${state.status}`,
5756
+ ` turnos: ${state.turnsUsed}/25 · repetidos: ${state.repeatedTurns}`,
5757
+ ` iteración: ${state.iteration}${state.iterations.length > 0 ? ` (${state.iterations.length} registrada${state.iterations.length === 1 ? "" : "s"})` : ""}`,
5758
+ ...(state.judge.lastVerdict
5759
+ ? [` juez: ${state.judge.lastVerdict} — ${state.judge.lastReason ?? ""}`]
5760
+ : []),
5761
+ ...(state.replanRationale ? [` último replan: ${state.replanRationale}`] : []),
5762
+ ...(state.evidence.length > 0 ? [` evidencia: ${state.evidence.length} citas`] : []),
5763
+ ...(state.tasks.length > 0
5764
+ ? [
5765
+ ` plan (${state.tasks.length}):`,
5766
+ ...state.tasks.map((t) => ` ${t.status === "done" ? "✓" : t.status === "running" ? "◐" : "○"} ${t.title}`),
5767
+ ]
5768
+ : []),
5769
+ ]);
5770
+ return;
5771
+ }
5772
+ case "replan": {
5773
+ // P1: re-planificación manual (también automática tras continue).
5774
+ const id = rest[0] ?? "";
5775
+ if (!id) {
5776
+ show(["Uso: /goal replan <id>"]);
5777
+ return;
5778
+ }
5779
+ const state = await goalEngine.replan(id).catch((e) => {
5780
+ show(["No se pudo re-planificar:", ` ${e instanceof Error ? e.message : String(e)}`]);
5781
+ return null;
5782
+ });
5783
+ if (state)
5784
+ show([
5785
+ `Re-planificado → iteración ${state.iteration}`,
5786
+ ` ${state.replanRationale ?? ""}`,
5787
+ ...state.tasks.map((t) => ` ○ ${t.title}`),
5788
+ ]);
5789
+ return;
5790
+ }
5791
+ case "add": {
5792
+ // P2: añadir sub-tarea en cualquier fase.
5793
+ const id = rest[0] ?? "";
5794
+ const title = rest.slice(1).join(" ");
5795
+ if (!id || !title) {
5796
+ show(["Uso: /goal add <id> <título>"]);
5797
+ return;
5798
+ }
5799
+ const state = await goalEngine.addTask(id, title).catch(() => null);
5800
+ show(state
5801
+ ? [`Añadida: ${title}`, ` plan (${state.tasks.length} sub-tareas)`]
5802
+ : ["No se pudo añadir (id inválido)"]);
5803
+ return;
5804
+ }
5805
+ case "rm": {
5806
+ // P2: quitar sub-tarea.
5807
+ const id = rest[0] ?? "";
5808
+ const taskId = rest[1] ?? "";
5809
+ if (!id || !taskId) {
5810
+ show(["Uso: /goal rm <id> <taskId>"]);
5811
+ return;
5812
+ }
5813
+ const state = await goalEngine.get(id);
5814
+ if (!state) {
5815
+ show(["Goal no encontrado"]);
5816
+ return;
5817
+ }
5818
+ const { state: next } = reduceGoal(state, { type: "goal_task_remove", taskId }, {
5819
+ repeatTolerance: 1,
5820
+ });
5821
+ await goalEngine.commit(state, next);
5822
+ show([`Quitada. Plan (${next.tasks.length}):`, ...next.tasks.map((t) => ` ${t.title}`)]);
5823
+ return;
5824
+ }
5825
+ case "mv": {
5826
+ // P2: reordenar sub-tarea.
5827
+ const id = rest[0] ?? "";
5828
+ const taskId = rest[1] ?? "";
5829
+ const dir = rest[2] === "down" ? "down" : "up";
5830
+ if (!id || !taskId) {
5831
+ show(["Uso: /goal mv <id> <taskId> up|down"]);
5832
+ return;
5833
+ }
5834
+ const state = await goalEngine.get(id);
5835
+ if (!state) {
5836
+ show(["Goal no encontrado"]);
5837
+ return;
5838
+ }
5839
+ const { state: next } = reduceGoal(state, { type: "goal_task_move", taskId, dir }, {
5840
+ repeatTolerance: 1,
5841
+ });
5842
+ await goalEngine.commit(state, next);
5843
+ show([`Reordenado. Plan (${next.tasks.length}):`, ...next.tasks.map((t) => ` ${t.title}`)]);
5844
+ return;
5845
+ }
5846
+ case "new": {
5847
+ const intent = rest.join(" ");
5848
+ if (!intent) {
5849
+ show(["Uso: /goal new <intent>"]);
5850
+ return;
5851
+ }
5852
+ const state = await goalEngine.createGoal({
5853
+ goal: intent,
5854
+ doneCriteria: [],
5855
+ verifyCommand: "",
5856
+ });
5857
+ show([`Contrato creado: ${state.id}`, " Aprueba con: /goal approve <id>", ` ${intent}`]);
5858
+ return;
5859
+ }
5860
+ case "approve": {
5861
+ const id = rest[0] ?? "";
5862
+ if (!id) {
5863
+ show(["Uso: /goal approve <id>"]);
5864
+ return;
5865
+ }
5866
+ const state = await goalEngine.approve(id).catch(() => null);
5867
+ show(state ? [`Goal activo: ${state.goal}`] : ["No se pudo aprobar (id inválido)"]);
5868
+ return;
5869
+ }
5870
+ case "pause": {
5871
+ const id = rest[0] ?? "";
5872
+ if (!id) {
5873
+ show(["Uso: /goal pause <id>"]);
5874
+ return;
5875
+ }
5876
+ const state = await goalEngine.pause(id, "pausado desde CLI");
5877
+ show([`Pausado: ${state.status}`]);
5878
+ return;
5879
+ }
5880
+ case "resume": {
5881
+ const id = rest[0] ?? "";
5882
+ if (!id) {
5883
+ show(["Uso: /goal resume <id>"]);
5884
+ return;
5885
+ }
5886
+ const state = await goalEngine.resume(id).catch(() => null);
5887
+ show(state ? [`Reanudado: ${state.status}`] : ["No se pudo reanudar"]);
5888
+ return;
5889
+ }
5890
+ case "plan-on": {
5891
+ // P5: modo plan-only (persistente).
5892
+ this.settingsManager.setPlanOnlyEnabled(true);
5893
+ // Y se remonta el prompt: la sección de modo plan es condicional,
5894
+ // así que sin esto el guardián empezaría a denegar escrituras en una
5895
+ // sesión cuyo prompt todavía no menciona el modo — y el modelo
5896
+ // aprendería la regla a golpes hasta el siguiente arranque.
5897
+ this.session.rebuildSystemPrompt();
5898
+ show(["Plan-only ACTIVADO: el goal no ejecutará hasta aprobar el plan."]);
5899
+ return;
5900
+ }
5901
+ case "plan-off": {
5902
+ this.settingsManager.setPlanOnlyEnabled(false);
5903
+ this.session.rebuildSystemPrompt();
5904
+ show(["Plan-only desactivado: el goal lanza sub-tareas automáticamente."]);
5905
+ return;
5906
+ }
5907
+ default:
5908
+ show([
5909
+ "Subcomandos: new <intent> | list | status <id> | approve <id> | pause <id> | resume <id> | replan <id> | add <id> <título> | rm <id> <taskId> | mv <id> <taskId> up|down | plan-on | plan-off",
5910
+ ]);
5911
+ return;
5912
+ }
5913
+ }
5914
+ /** /graph gaps | context <id> | search <term> | add — Grafo CLI (§16.4). */
5915
+ async handleGraphCommand(args) {
5916
+ const graph = this.session.resourceLoader.getGraph?.();
5917
+ const show = (lines) => {
5918
+ this.chatContainer.addChild(new Spacer(1));
5919
+ this.chatContainer.addChild(new Text(lines.join("\n"), 1, 0));
5920
+ this.ui.requestRender();
5921
+ };
5922
+ if (!graph) {
5923
+ show(["Graph unavailable."]);
5924
+ return;
5925
+ }
5926
+ const [action, ...rest] = args.split(/\s+/).filter(Boolean);
5927
+ switch (action ?? "gaps") {
5928
+ case "gaps": {
5929
+ const gaps = graph.gaps();
5930
+ show([
5931
+ "Gaps (spine incompleto):",
5932
+ ...(gaps.length === 0 ? [" ✓ spine completo"] : gaps.map((g) => ` ${g.id}: falta ${g.missing}`)),
5933
+ ]);
5934
+ return;
5935
+ }
5936
+ case "context": {
5937
+ const id = rest[0] ?? "";
5938
+ if (!id) {
5939
+ show(["Uso: /graph context <id>"]);
5940
+ return;
5941
+ }
5942
+ const res = graph.context(id);
5943
+ if (!res.ok || !res.data || !res.data.node) {
5944
+ show([`Error: ${res.error ?? "no encontrado"}`]);
5945
+ return;
5946
+ }
5947
+ show([
5948
+ `Nodo: ${res.data.node.id} [${res.data.node.type}]`,
5949
+ ` ${res.data.node.description}`,
5950
+ ` vecinos: ${res.data.neighbors.length}`,
5951
+ ...res.data.neighbors.map((e) => ` ${e.subject} --${e.predicate}--> ${e.object}`),
5952
+ ]);
5953
+ return;
5954
+ }
5955
+ case "search": {
5956
+ const term = rest.join(" ");
5957
+ if (!term) {
5958
+ show(["Uso: /graph search <term>"]);
5959
+ return;
5960
+ }
5961
+ const hits = graph.search(term);
5962
+ show([
5963
+ `Resultados para "${term}":`,
5964
+ ...(hits.length === 0 ? [" (ninguno)"] : hits.map((h) => ` ${h.node.id} — ${h.node.description}`)),
5965
+ ]);
5966
+ return;
5967
+ }
5968
+ case "gate": {
5969
+ const res = graph.gate();
5970
+ show(res.data?.passed ? ["✓ Gate superado"] : [`✗ Gate bloqueado:`, ...(res.data?.failures ?? [])]);
5971
+ return;
5972
+ }
5973
+ default:
5974
+ show(["Subcomandos: gaps | context <id> | search <term> | gate"]);
5975
+ return;
5976
+ }
5977
+ }
5978
+ /** /workflow run <name> [k=v...] | list | status <id> | abort <id> — CLI del engine (§16.4). */
5979
+ async handleWorkflowCommand(args) {
5980
+ const manager = this.session.resourceLoader.getWorkflowManager?.();
5981
+ const show = (lines) => {
5982
+ this.chatContainer.addChild(new Spacer(1));
5983
+ this.chatContainer.addChild(new Text(lines.join("\n"), 1, 0));
5984
+ this.ui.requestRender();
5985
+ };
5986
+ if (!manager) {
5987
+ show(["Workflow manager unavailable."]);
5988
+ return;
5989
+ }
5990
+ const [action, ...rest] = args.split(/\s+/).filter(Boolean);
5991
+ switch (action ?? "list") {
5992
+ case "list": {
5993
+ const runs = await manager.list().catch(() => []);
5994
+ show([
5995
+ "Workflow runs:",
5996
+ ...(runs.length === 0
5997
+ ? [" (ninguno)"]
5998
+ : runs.slice(0, 20).map((r) => ` ${r.runId} [${r.status}] ${r.name} — ${r.updatedAt}`)),
5999
+ ]);
6000
+ return;
6001
+ }
6002
+ case "status": {
6003
+ const runId = rest[0] ?? "";
6004
+ if (!runId) {
6005
+ show(["Uso: /workflow status <runId>"]);
6006
+ return;
6007
+ }
6008
+ const state = await manager.state(runId).catch(() => null);
6009
+ if (!state) {
6010
+ show([`Run no encontrado: ${runId}`]);
6011
+ return;
6012
+ }
6013
+ show([
6014
+ `Run: ${state.name} (${state.runId})`,
6015
+ ` estado: ${state.status} · fase: ${state.currentPhase ?? "—"}`,
6016
+ ` agentes: ${state.agentCount} · tokens: ${state.tokenUsage.total} · coste: $${state.tokenUsage.cost.toFixed(4)}`,
6017
+ ]);
6018
+ return;
6019
+ }
6020
+ case "abort": {
6021
+ const runId = rest[0] ?? "";
6022
+ if (!runId) {
6023
+ show(["Uso: /workflow abort <runId>"]);
6024
+ return;
6025
+ }
6026
+ const aborted = manager.abort(runId);
6027
+ show(aborted ? [`Abort solicitado: ${runId}`] : [`No se pudo abortar (¿run inexistente?): ${runId}`]);
6028
+ return;
6029
+ }
6030
+ case "run": {
6031
+ const name = rest[0];
6032
+ if (!name) {
6033
+ show([
6034
+ "Uso: /workflow run <name> [k=v...]",
6035
+ " builtins: deep_research · code_review · product_build · codebase_audit · multi_perspective",
6036
+ ]);
6037
+ return;
6038
+ }
6039
+ // args k=v
6040
+ const wfArgs = {};
6041
+ for (const part of rest.slice(1)) {
6042
+ const eq = part.indexOf("=");
6043
+ if (eq > 0)
6044
+ wfArgs[part.slice(0, eq)] = part.slice(eq + 1);
6045
+ }
6046
+ const script = await this.resolveBuiltinWorkflow(name);
6047
+ if (!script) {
6048
+ show([`Workflow no encontrado: ${name}`]);
6049
+ return;
6050
+ }
6051
+ // Confirmación de coste estimado (fail-closed).
6052
+ const ok = await this.confirm(`Lanzar workflow "${name}" con ${Object.keys(wfArgs).length} args. Coste estimado: variable (ver settings.workflows.budget). ¿Continuar?`);
6053
+ if (!ok) {
6054
+ show(["Cancelado."]);
6055
+ return;
6056
+ }
6057
+ show([`Lanzando ${name}… (progreso: /workflow list, /workflow status <runId>)`]);
6058
+ void manager
6059
+ .execute(script, { args: wfArgs, sessionId: this.session.sessionManager.getSessionId() })
6060
+ .then((r) => show([`✓ ${name} terminó (${r.runId}).`]))
6061
+ .catch((e) => show([`✗ ${name} falló: ${e instanceof Error ? e.message : String(e)}`]));
6062
+ return;
6063
+ }
6064
+ default:
6065
+ show(["Subcomandos: run <name> [k=v...] | list | status <runId> | abort <runId>"]);
6066
+ return;
6067
+ }
6068
+ }
6069
+ /**
6070
+ * Confirmación fail-closed del TUI: pide "y"/"yes" explícito en el input
6071
+ * de diálogo. Cualquier otra respuesta (o escape) = NO.
6072
+ */
6073
+ async confirm(prompt) {
6074
+ const answer = await this.showExtensionInput(`${prompt} [y/N]`, "y");
6075
+ const normalized = (answer ?? "").trim().toLowerCase();
6076
+ return normalized === "y" || normalized === "yes";
6077
+ }
6078
+ /** Resuelve un workflow builtin (deep_research, code_review, …) a su script. */
6079
+ /** Resuelve un workflow por nombre: builtin o script guardado del usuario. */
6080
+ async resolveBuiltinWorkflow(name) {
6081
+ const { resolveWorkflowScriptByName } = await import("../../core/workflows/resolve-script.js");
6082
+ return resolveWorkflowScriptByName(this.session.resourceLoader.getAgentDir(), name)?.script ?? null;
6083
+ }
5450
6084
  handleChangelogCommand() {
5451
6085
  const changelogPath = getChangelogPath();
5452
6086
  const allEntries = parseChangelog(changelogPath);