@hoilab/ada-cli 0.84.22 → 0.85.1

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 (2179) hide show
  1. package/CHANGELOG.md +29 -2
  2. package/README.es.md +17 -6
  3. package/README.md +109 -11
  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/bun/cli.d.ts.map +1 -1
  9. package/dist/bun/cli.js.map +1 -1
  10. package/dist/bun/register-bedrock.d.ts.map +1 -1
  11. package/dist/bun/register-bedrock.js.map +1 -1
  12. package/dist/bun/restore-sandbox-env.d.ts.map +1 -1
  13. package/dist/bun/restore-sandbox-env.js.map +1 -1
  14. package/dist/cli/args.d.ts.map +1 -1
  15. package/dist/cli/args.js.map +1 -1
  16. package/dist/cli/audit-command.d.ts +15 -0
  17. package/dist/cli/audit-command.d.ts.map +1 -0
  18. package/dist/cli/audit-command.js +280 -0
  19. package/dist/cli/audit-command.js.map +1 -0
  20. package/dist/cli/auth-check.d.ts.map +1 -1
  21. package/dist/cli/auth-check.js.map +1 -1
  22. package/dist/cli/auth-command.d.ts.map +1 -1
  23. package/dist/cli/auth-command.js.map +1 -1
  24. package/dist/cli/banco-command.d.ts +15 -0
  25. package/dist/cli/banco-command.d.ts.map +1 -0
  26. package/dist/cli/banco-command.js +213 -0
  27. package/dist/cli/banco-command.js.map +1 -0
  28. package/dist/cli/cleanse-command.d.ts +11 -0
  29. package/dist/cli/cleanse-command.d.ts.map +1 -0
  30. package/dist/cli/cleanse-command.js +104 -0
  31. package/dist/cli/cleanse-command.js.map +1 -0
  32. package/dist/cli/commit-command.d.ts +33 -0
  33. package/dist/cli/commit-command.d.ts.map +1 -0
  34. package/dist/cli/commit-command.js +190 -0
  35. package/dist/cli/commit-command.js.map +1 -0
  36. package/dist/cli/completion.d.ts +20 -0
  37. package/dist/cli/completion.d.ts.map +1 -0
  38. package/dist/cli/completion.js +75 -0
  39. package/dist/cli/completion.js.map +1 -0
  40. package/dist/cli/computer-command.d.ts +12 -0
  41. package/dist/cli/computer-command.d.ts.map +1 -0
  42. package/dist/cli/computer-command.js +141 -0
  43. package/dist/cli/computer-command.js.map +1 -0
  44. package/dist/cli/config-selector.d.ts.map +1 -1
  45. package/dist/cli/config-selector.js.map +1 -1
  46. package/dist/cli/credential-print.d.ts.map +1 -1
  47. package/dist/cli/credential-print.js.map +1 -1
  48. package/dist/cli/discover-command.d.ts +18 -0
  49. package/dist/cli/discover-command.d.ts.map +1 -0
  50. package/dist/cli/discover-command.js +112 -0
  51. package/dist/cli/discover-command.js.map +1 -0
  52. package/dist/cli/experimental/auth.d.ts.map +1 -1
  53. package/dist/cli/experimental/auth.js.map +1 -1
  54. package/dist/cli/experimental/cli.d.ts +1 -1
  55. package/dist/cli/experimental/cli.d.ts.map +1 -1
  56. package/dist/cli/experimental/cli.js.map +1 -1
  57. package/dist/cli/experimental/command-options.d.ts.map +1 -1
  58. package/dist/cli/experimental/command-options.js.map +1 -1
  59. package/dist/cli/experimental/command.d.ts.map +1 -1
  60. package/dist/cli/experimental/command.js.map +1 -1
  61. package/dist/cli/experimental/commands/client.d.ts.map +1 -1
  62. package/dist/cli/experimental/commands/client.js.map +1 -1
  63. package/dist/cli/experimental/commands/pi.d.ts.map +1 -1
  64. package/dist/cli/experimental/commands/pi.js.map +1 -1
  65. package/dist/cli/experimental/commands/server.d.ts.map +1 -1
  66. package/dist/cli/experimental/commands/server.js.map +1 -1
  67. package/dist/cli/experimental/transport-address.d.ts.map +1 -1
  68. package/dist/cli/experimental/transport-address.js.map +1 -1
  69. package/dist/cli/file-processor.d.ts.map +1 -1
  70. package/dist/cli/file-processor.js.map +1 -1
  71. package/dist/cli/guardrails.d.ts +14 -0
  72. package/dist/cli/guardrails.d.ts.map +1 -0
  73. package/dist/cli/guardrails.js +47 -0
  74. package/dist/cli/guardrails.js.map +1 -0
  75. package/dist/cli/hashline-command.d.ts +11 -0
  76. package/dist/cli/hashline-command.d.ts.map +1 -0
  77. package/dist/cli/hashline-command.js +106 -0
  78. package/dist/cli/hashline-command.js.map +1 -0
  79. package/dist/cli/home-screen.d.ts.map +1 -1
  80. package/dist/cli/home-screen.js +1 -0
  81. package/dist/cli/home-screen.js.map +1 -1
  82. package/dist/cli/import-command.d.ts +35 -0
  83. package/dist/cli/import-command.d.ts.map +1 -0
  84. package/dist/cli/import-command.js +164 -0
  85. package/dist/cli/import-command.js.map +1 -0
  86. package/dist/cli/initial-message.d.ts +1 -1
  87. package/dist/cli/initial-message.d.ts.map +1 -1
  88. package/dist/cli/initial-message.js.map +1 -1
  89. package/dist/cli/list-models.d.ts.map +1 -1
  90. package/dist/cli/list-models.js.map +1 -1
  91. package/dist/cli/politica-command.d.ts +20 -0
  92. package/dist/cli/politica-command.d.ts.map +1 -0
  93. package/dist/cli/politica-command.js +93 -0
  94. package/dist/cli/politica-command.js.map +1 -0
  95. package/dist/cli/project-trust.d.ts.map +1 -1
  96. package/dist/cli/project-trust.js.map +1 -1
  97. package/dist/cli/refine-command.d.ts +18 -0
  98. package/dist/cli/refine-command.d.ts.map +1 -0
  99. package/dist/cli/refine-command.js +101 -0
  100. package/dist/cli/refine-command.js.map +1 -0
  101. package/dist/cli/review-command.d.ts +24 -0
  102. package/dist/cli/review-command.d.ts.map +1 -0
  103. package/dist/cli/review-command.js +232 -0
  104. package/dist/cli/review-command.js.map +1 -0
  105. package/dist/cli/schedule-command.d.ts +17 -0
  106. package/dist/cli/schedule-command.d.ts.map +1 -0
  107. package/dist/cli/schedule-command.js +117 -0
  108. package/dist/cli/schedule-command.js.map +1 -0
  109. package/dist/cli/serve-command.d.ts +71 -0
  110. package/dist/cli/serve-command.d.ts.map +1 -0
  111. package/dist/cli/serve-command.js +574 -0
  112. package/dist/cli/serve-command.js.map +1 -0
  113. package/dist/cli/session-picker.d.ts.map +1 -1
  114. package/dist/cli/session-picker.js.map +1 -1
  115. package/dist/cli/startup-ui.d.ts.map +1 -1
  116. package/dist/cli/startup-ui.js.map +1 -1
  117. package/dist/cli/telegram-command.d.ts +18 -0
  118. package/dist/cli/telegram-command.d.ts.map +1 -0
  119. package/dist/cli/telegram-command.js +137 -0
  120. package/dist/cli/telegram-command.js.map +1 -0
  121. package/dist/cli/telemetria-command.d.ts +22 -0
  122. package/dist/cli/telemetria-command.d.ts.map +1 -0
  123. package/dist/cli/telemetria-command.js +127 -0
  124. package/dist/cli/telemetria-command.js.map +1 -0
  125. package/dist/cli/undo-command.d.ts +9 -0
  126. package/dist/cli/undo-command.d.ts.map +1 -0
  127. package/dist/cli/undo-command.js +56 -0
  128. package/dist/cli/undo-command.js.map +1 -0
  129. package/dist/cli/update-cli.d.ts +82 -0
  130. package/dist/cli/update-cli.d.ts.map +1 -0
  131. package/dist/cli/update-cli.js +372 -0
  132. package/dist/cli/update-cli.js.map +1 -0
  133. package/dist/cli/usage-command.d.ts +10 -0
  134. package/dist/cli/usage-command.d.ts.map +1 -0
  135. package/dist/cli/usage-command.js +278 -0
  136. package/dist/cli/usage-command.js.map +1 -0
  137. package/dist/cli/wiki-command.d.ts +9 -0
  138. package/dist/cli/wiki-command.d.ts.map +1 -0
  139. package/dist/cli/wiki-command.js +76 -0
  140. package/dist/cli/wiki-command.js.map +1 -0
  141. package/dist/cli.d.ts.map +1 -1
  142. package/dist/cli.js +10 -11
  143. package/dist/cli.js.map +1 -1
  144. package/dist/client/index.d.ts.map +1 -1
  145. package/dist/client/index.js.map +1 -1
  146. package/dist/client/remote-session.d.ts.map +1 -1
  147. package/dist/client/remote-session.js.map +1 -1
  148. package/dist/client/transcript.d.ts.map +1 -1
  149. package/dist/client/transcript.js.map +1 -1
  150. package/dist/config.d.ts +1 -1
  151. package/dist/config.d.ts.map +1 -1
  152. package/dist/config.js +1 -1
  153. package/dist/config.js.map +1 -1
  154. package/dist/core/ada.d.ts +63 -0
  155. package/dist/core/ada.d.ts.map +1 -0
  156. package/dist/core/ada.js +66 -0
  157. package/dist/core/ada.js.map +1 -0
  158. package/dist/core/advisor/guarda.d.ts +66 -0
  159. package/dist/core/advisor/guarda.d.ts.map +1 -0
  160. package/dist/core/advisor/guarda.js +191 -0
  161. package/dist/core/advisor/guarda.js.map +1 -0
  162. package/dist/core/advisor/runtime.d.ts +66 -0
  163. package/dist/core/advisor/runtime.d.ts.map +1 -0
  164. package/dist/core/advisor/runtime.js +121 -0
  165. package/dist/core/advisor/runtime.js.map +1 -0
  166. package/dist/core/advisor/sesion.d.ts +109 -0
  167. package/dist/core/advisor/sesion.d.ts.map +1 -0
  168. package/dist/core/advisor/sesion.js +139 -0
  169. package/dist/core/advisor/sesion.js.map +1 -0
  170. package/dist/core/agent-session-runtime.d.ts.map +1 -1
  171. package/dist/core/agent-session-runtime.js.map +1 -1
  172. package/dist/core/agent-session-services.d.ts.map +1 -1
  173. package/dist/core/agent-session-services.js.map +1 -1
  174. package/dist/core/agent-session.d.ts +97 -2
  175. package/dist/core/agent-session.d.ts.map +1 -1
  176. package/dist/core/agent-session.js +471 -22
  177. package/dist/core/agent-session.js.map +1 -1
  178. package/dist/core/agents/loader.d.ts +77 -0
  179. package/dist/core/agents/loader.d.ts.map +1 -0
  180. package/dist/core/agents/loader.js +154 -0
  181. package/dist/core/agents/loader.js.map +1 -0
  182. package/dist/core/appendonly/append-only-context.d.ts +118 -0
  183. package/dist/core/appendonly/append-only-context.d.ts.map +1 -0
  184. package/dist/core/appendonly/append-only-context.js +256 -0
  185. package/dist/core/appendonly/append-only-context.js.map +1 -0
  186. package/dist/core/appendonly/auto.d.ts +30 -0
  187. package/dist/core/appendonly/auto.d.ts.map +1 -0
  188. package/dist/core/appendonly/auto.js +68 -0
  189. package/dist/core/appendonly/auto.js.map +1 -0
  190. package/dist/core/appendonly/extension.d.ts +29 -0
  191. package/dist/core/appendonly/extension.d.ts.map +1 -0
  192. package/dist/core/appendonly/extension.js +51 -0
  193. package/dist/core/appendonly/extension.js.map +1 -0
  194. package/dist/core/appendonly/index.d.ts +41 -0
  195. package/dist/core/appendonly/index.d.ts.map +1 -0
  196. package/dist/core/appendonly/index.js +42 -0
  197. package/dist/core/appendonly/index.js.map +1 -0
  198. package/dist/core/aprobacion/generados.d.ts +37 -0
  199. package/dist/core/aprobacion/generados.d.ts.map +1 -0
  200. package/dist/core/aprobacion/generados.js +85 -0
  201. package/dist/core/aprobacion/generados.js.map +1 -0
  202. package/dist/core/aprobacion/politica-de-maquina.d.ts +90 -0
  203. package/dist/core/aprobacion/politica-de-maquina.d.ts.map +1 -0
  204. package/dist/core/aprobacion/politica-de-maquina.js +212 -0
  205. package/dist/core/aprobacion/politica-de-maquina.js.map +1 -0
  206. package/dist/core/aprobacion/politica.d.ts +90 -0
  207. package/dist/core/aprobacion/politica.d.ts.map +1 -0
  208. package/dist/core/aprobacion/politica.js +375 -0
  209. package/dist/core/aprobacion/politica.js.map +1 -0
  210. package/dist/core/arranque/atajos.d.ts +46 -0
  211. package/dist/core/arranque/atajos.d.ts.map +1 -0
  212. package/dist/core/arranque/atajos.js +133 -0
  213. package/dist/core/arranque/atajos.js.map +1 -0
  214. package/dist/core/audit/exportacion.d.ts +54 -0
  215. package/dist/core/audit/exportacion.d.ts.map +1 -0
  216. package/dist/core/audit/exportacion.js +267 -0
  217. package/dist/core/audit/exportacion.js.map +1 -0
  218. package/dist/core/audit/libro.d.ts +325 -0
  219. package/dist/core/audit/libro.d.ts.map +1 -0
  220. package/dist/core/audit/libro.js +508 -0
  221. package/dist/core/audit/libro.js.map +1 -0
  222. package/dist/core/audit/registro-sesion.d.ts +78 -0
  223. package/dist/core/audit/registro-sesion.d.ts.map +1 -0
  224. package/dist/core/audit/registro-sesion.js +202 -0
  225. package/dist/core/audit/registro-sesion.js.map +1 -0
  226. package/dist/core/audit/retencion.d.ts +82 -0
  227. package/dist/core/audit/retencion.d.ts.map +1 -0
  228. package/dist/core/audit/retencion.js +152 -0
  229. package/dist/core/audit/retencion.js.map +1 -0
  230. package/dist/core/audit/rutas.d.ts +23 -0
  231. package/dist/core/audit/rutas.d.ts.map +1 -0
  232. package/dist/core/audit/rutas.js +23 -0
  233. package/dist/core/audit/rutas.js.map +1 -0
  234. package/dist/core/auth-guidance.d.ts.map +1 -1
  235. package/dist/core/auth-guidance.js.map +1 -1
  236. package/dist/core/auth-storage.d.ts +0 -3
  237. package/dist/core/auth-storage.d.ts.map +1 -1
  238. package/dist/core/auth-storage.js +17 -5
  239. package/dist/core/auth-storage.js.map +1 -1
  240. package/dist/core/banco/almacenamiento.d.ts +18 -0
  241. package/dist/core/banco/almacenamiento.d.ts.map +1 -0
  242. package/dist/core/banco/almacenamiento.js +50 -0
  243. package/dist/core/banco/almacenamiento.js.map +1 -0
  244. package/dist/core/banco/analisis.d.ts +37 -0
  245. package/dist/core/banco/analisis.d.ts.map +1 -0
  246. package/dist/core/banco/analisis.js +164 -0
  247. package/dist/core/banco/analisis.js.map +1 -0
  248. package/dist/core/banco/asides.d.ts +64 -0
  249. package/dist/core/banco/asides.d.ts.map +1 -0
  250. package/dist/core/banco/asides.js +113 -0
  251. package/dist/core/banco/asides.js.map +1 -0
  252. package/dist/core/banco/bloques.d.ts +39 -0
  253. package/dist/core/banco/bloques.d.ts.map +1 -0
  254. package/dist/core/banco/bloques.js +84 -0
  255. package/dist/core/banco/bloques.js.map +1 -0
  256. package/dist/core/banco/cargas.d.ts +84 -0
  257. package/dist/core/banco/cargas.d.ts.map +1 -0
  258. package/dist/core/banco/cargas.js +520 -0
  259. package/dist/core/banco/cargas.js.map +1 -0
  260. package/dist/core/banco/comparar.d.ts +29 -0
  261. package/dist/core/banco/comparar.d.ts.map +1 -0
  262. package/dist/core/banco/comparar.js +28 -0
  263. package/dist/core/banco/comparar.js.map +1 -0
  264. package/dist/core/banco/cow-isolation.d.ts +74 -0
  265. package/dist/core/banco/cow-isolation.d.ts.map +1 -0
  266. package/dist/core/banco/cow-isolation.js +259 -0
  267. package/dist/core/banco/cow-isolation.js.map +1 -0
  268. package/dist/core/banco/ejecutar.d.ts +44 -0
  269. package/dist/core/banco/ejecutar.d.ts.map +1 -0
  270. package/dist/core/banco/ejecutar.js +183 -0
  271. package/dist/core/banco/ejecutar.js.map +1 -0
  272. package/dist/core/banco/generar.d.ts +24 -0
  273. package/dist/core/banco/generar.d.ts.map +1 -0
  274. package/dist/core/banco/generar.js +159 -0
  275. package/dist/core/banco/generar.js.map +1 -0
  276. package/dist/core/banco/mutaciones.d.ts +25 -0
  277. package/dist/core/banco/mutaciones.d.ts.map +1 -0
  278. package/dist/core/banco/mutaciones.js +215 -0
  279. package/dist/core/banco/mutaciones.js.map +1 -0
  280. package/dist/core/banco/park-revive.d.ts +67 -0
  281. package/dist/core/banco/park-revive.d.ts.map +1 -0
  282. package/dist/core/banco/park-revive.js +130 -0
  283. package/dist/core/banco/park-revive.js.map +1 -0
  284. package/dist/core/banco/pruning.d.ts +48 -0
  285. package/dist/core/banco/pruning.d.ts.map +1 -0
  286. package/dist/core/banco/pruning.js +146 -0
  287. package/dist/core/banco/pruning.js.map +1 -0
  288. package/dist/core/banco/steering.d.ts +81 -0
  289. package/dist/core/banco/steering.d.ts.map +1 -0
  290. package/dist/core/banco/steering.js +96 -0
  291. package/dist/core/banco/steering.js.map +1 -0
  292. package/dist/core/banco/tipos.d.ts +121 -0
  293. package/dist/core/banco/tipos.d.ts.map +1 -0
  294. package/dist/core/banco/tipos.js +16 -0
  295. package/dist/core/banco/tipos.js.map +1 -0
  296. package/dist/core/bash-executor.d.ts.map +1 -1
  297. package/dist/core/bash-executor.js.map +1 -1
  298. package/dist/core/blobs/almacen.d.ts +81 -0
  299. package/dist/core/blobs/almacen.d.ts.map +1 -0
  300. package/dist/core/blobs/almacen.js +198 -0
  301. package/dist/core/blobs/almacen.js.map +1 -0
  302. package/dist/core/blobs/broker.d.ts +104 -0
  303. package/dist/core/blobs/broker.d.ts.map +1 -0
  304. package/dist/core/blobs/broker.js +204 -0
  305. package/dist/core/blobs/broker.js.map +1 -0
  306. package/dist/core/blobs/index.d.ts +71 -0
  307. package/dist/core/blobs/index.d.ts.map +1 -0
  308. package/dist/core/blobs/index.js +233 -0
  309. package/dist/core/blobs/index.js.map +1 -0
  310. package/dist/core/blobs/payload.d.ts +55 -0
  311. package/dist/core/blobs/payload.d.ts.map +1 -0
  312. package/dist/core/blobs/payload.js +255 -0
  313. package/dist/core/blobs/payload.js.map +1 -0
  314. package/dist/core/blobs/proveedor.d.ts +85 -0
  315. package/dist/core/blobs/proveedor.d.ts.map +1 -0
  316. package/dist/core/blobs/proveedor.js +196 -0
  317. package/dist/core/blobs/proveedor.js.map +1 -0
  318. package/dist/core/blobs/uploaders.d.ts +105 -0
  319. package/dist/core/blobs/uploaders.d.ts.map +1 -0
  320. package/dist/core/blobs/uploaders.js +224 -0
  321. package/dist/core/blobs/uploaders.js.map +1 -0
  322. package/dist/core/broker/broker.d.ts +54 -0
  323. package/dist/core/broker/broker.d.ts.map +1 -0
  324. package/dist/core/broker/broker.js +216 -0
  325. package/dist/core/broker/broker.js.map +1 -0
  326. package/dist/core/broker/index.d.ts +21 -0
  327. package/dist/core/broker/index.d.ts.map +1 -0
  328. package/dist/core/broker/index.js +33 -0
  329. package/dist/core/broker/index.js.map +1 -0
  330. package/dist/core/broker/ps.d.ts +20 -0
  331. package/dist/core/broker/ps.d.ts.map +1 -0
  332. package/dist/core/broker/ps.js +55 -0
  333. package/dist/core/broker/ps.js.map +1 -0
  334. package/dist/core/broker/types.d.ts +45 -0
  335. package/dist/core/broker/types.d.ts.map +1 -0
  336. package/dist/core/broker/types.js +19 -0
  337. package/dist/core/broker/types.js.map +1 -0
  338. package/dist/core/browser/cdp.d.ts +41 -0
  339. package/dist/core/browser/cdp.d.ts.map +1 -0
  340. package/dist/core/browser/cdp.js +119 -0
  341. package/dist/core/browser/cdp.js.map +1 -0
  342. package/dist/core/browser/politica.d.ts +51 -0
  343. package/dist/core/browser/politica.d.ts.map +1 -0
  344. package/dist/core/browser/politica.js +123 -0
  345. package/dist/core/browser/politica.js.map +1 -0
  346. package/dist/core/browser/sesion.d.ts +52 -0
  347. package/dist/core/browser/sesion.d.ts.map +1 -0
  348. package/dist/core/browser/sesion.js +176 -0
  349. package/dist/core/browser/sesion.js.map +1 -0
  350. package/dist/core/browser/tools.d.ts +16 -0
  351. package/dist/core/browser/tools.d.ts.map +1 -0
  352. package/dist/core/browser/tools.js +279 -0
  353. package/dist/core/browser/tools.js.map +1 -0
  354. package/dist/core/cache-stats.d.ts.map +1 -1
  355. package/dist/core/cache-stats.js.map +1 -1
  356. package/dist/core/capability/capability.test.d.ts +12 -0
  357. package/dist/core/capability/capability.test.d.ts.map +1 -0
  358. package/dist/core/capability/capability.test.js +258 -0
  359. package/dist/core/capability/capability.test.js.map +1 -0
  360. package/dist/core/capability/fs.d.ts +32 -0
  361. package/dist/core/capability/fs.d.ts.map +1 -0
  362. package/dist/core/capability/fs.js +106 -0
  363. package/dist/core/capability/fs.js.map +1 -0
  364. package/dist/core/capability/index.d.ts +68 -0
  365. package/dist/core/capability/index.d.ts.map +1 -0
  366. package/dist/core/capability/index.js +258 -0
  367. package/dist/core/capability/index.js.map +1 -0
  368. package/dist/core/capability/types.d.ts +168 -0
  369. package/dist/core/capability/types.d.ts.map +1 -0
  370. package/dist/core/capability/types.js +16 -0
  371. package/dist/core/capability/types.js.map +1 -0
  372. package/dist/core/carga-plugins/index.d.ts +49 -0
  373. package/dist/core/carga-plugins/index.d.ts.map +1 -0
  374. package/dist/core/carga-plugins/index.js +85 -0
  375. package/dist/core/carga-plugins/index.js.map +1 -0
  376. package/dist/core/carga-plugins/invalidacion.d.ts +60 -0
  377. package/dist/core/carga-plugins/invalidacion.d.ts.map +1 -0
  378. package/dist/core/carga-plugins/invalidacion.js +94 -0
  379. package/dist/core/carga-plugins/invalidacion.js.map +1 -0
  380. package/dist/core/carga-plugins/paralelo.d.ts +48 -0
  381. package/dist/core/carga-plugins/paralelo.d.ts.map +1 -0
  382. package/dist/core/carga-plugins/paralelo.js +47 -0
  383. package/dist/core/carga-plugins/paralelo.js.map +1 -0
  384. package/dist/core/colaboracion/autoresearch.d.ts +56 -0
  385. package/dist/core/colaboracion/autoresearch.d.ts.map +1 -0
  386. package/dist/core/colaboracion/autoresearch.js +95 -0
  387. package/dist/core/colaboracion/autoresearch.js.map +1 -0
  388. package/dist/core/colaboracion/index.d.ts +10 -0
  389. package/dist/core/colaboracion/index.d.ts.map +1 -0
  390. package/dist/core/colaboracion/index.js +7 -0
  391. package/dist/core/colaboracion/index.js.map +1 -0
  392. package/dist/core/colaboracion/kernels.d.ts +63 -0
  393. package/dist/core/colaboracion/kernels.d.ts.map +1 -0
  394. package/dist/core/colaboracion/kernels.js +99 -0
  395. package/dist/core/colaboracion/kernels.js.map +1 -0
  396. package/dist/core/colaboracion/rele/index.d.ts +8 -0
  397. package/dist/core/colaboracion/rele/index.d.ts.map +1 -0
  398. package/dist/core/colaboracion/rele/index.js +6 -0
  399. package/dist/core/colaboracion/rele/index.js.map +1 -0
  400. package/dist/core/colaboracion/rele/rele-servidor.d.ts +69 -0
  401. package/dist/core/colaboracion/rele/rele-servidor.d.ts.map +1 -0
  402. package/dist/core/colaboracion/rele/rele-servidor.js +197 -0
  403. package/dist/core/colaboracion/rele/rele-servidor.js.map +1 -0
  404. package/dist/core/colaboracion/rele/suscriptor.d.ts +31 -0
  405. package/dist/core/colaboracion/rele/suscriptor.d.ts.map +1 -0
  406. package/dist/core/colaboracion/rele/suscriptor.js +173 -0
  407. package/dist/core/colaboracion/rele/suscriptor.js.map +1 -0
  408. package/dist/core/colaboracion/sesion-colaborativa.d.ts +61 -0
  409. package/dist/core/colaboracion/sesion-colaborativa.d.ts.map +1 -0
  410. package/dist/core/colaboracion/sesion-colaborativa.js +127 -0
  411. package/dist/core/colaboracion/sesion-colaborativa.js.map +1 -0
  412. package/dist/core/commits/agentic.d.ts +101 -0
  413. package/dist/core/commits/agentic.d.ts.map +1 -0
  414. package/dist/core/commits/agentic.js +268 -0
  415. package/dist/core/commits/agentic.js.map +1 -0
  416. package/dist/core/commits/changelog.d.ts +37 -0
  417. package/dist/core/commits/changelog.d.ts.map +1 -0
  418. package/dist/core/commits/changelog.js +155 -0
  419. package/dist/core/commits/changelog.js.map +1 -0
  420. package/dist/core/commits/diff.d.ts +56 -0
  421. package/dist/core/commits/diff.d.ts.map +1 -0
  422. package/dist/core/commits/diff.js +145 -0
  423. package/dist/core/commits/diff.js.map +1 -0
  424. package/dist/core/commits/git.d.ts +43 -0
  425. package/dist/core/commits/git.d.ts.map +1 -0
  426. package/dist/core/commits/git.js +61 -0
  427. package/dist/core/commits/git.js.map +1 -0
  428. package/dist/core/commits/split.d.ts +45 -0
  429. package/dist/core/commits/split.d.ts.map +1 -0
  430. package/dist/core/commits/split.js +128 -0
  431. package/dist/core/commits/split.js.map +1 -0
  432. package/dist/core/compactacion/comandos.d.ts +53 -0
  433. package/dist/core/compactacion/comandos.d.ts.map +1 -0
  434. package/dist/core/compactacion/comandos.js +155 -0
  435. package/dist/core/compactacion/comandos.js.map +1 -0
  436. package/dist/core/compactacion/extension.d.ts +28 -0
  437. package/dist/core/compactacion/extension.d.ts.map +1 -0
  438. package/dist/core/compactacion/extension.js +159 -0
  439. package/dist/core/compactacion/extension.js.map +1 -0
  440. package/dist/core/compactacion/handoff.d.ts +61 -0
  441. package/dist/core/compactacion/handoff.d.ts.map +1 -0
  442. package/dist/core/compactacion/handoff.js +139 -0
  443. package/dist/core/compactacion/handoff.js.map +1 -0
  444. package/dist/core/compactacion/index.d.ts +15 -0
  445. package/dist/core/compactacion/index.d.ts.map +1 -0
  446. package/dist/core/compactacion/index.js +15 -0
  447. package/dist/core/compactacion/index.js.map +1 -0
  448. package/dist/core/compactacion/prune.d.ts +38 -0
  449. package/dist/core/compactacion/prune.d.ts.map +1 -0
  450. package/dist/core/compactacion/prune.js +81 -0
  451. package/dist/core/compactacion/prune.js.map +1 -0
  452. package/dist/core/compactacion/shake.d.ts +40 -0
  453. package/dist/core/compactacion/shake.d.ts.map +1 -0
  454. package/dist/core/compactacion/shake.js +106 -0
  455. package/dist/core/compactacion/shake.js.map +1 -0
  456. package/dist/core/compactacion/tipos.d.ts +54 -0
  457. package/dist/core/compactacion/tipos.d.ts.map +1 -0
  458. package/dist/core/compactacion/tipos.js +44 -0
  459. package/dist/core/compactacion/tipos.js.map +1 -0
  460. package/dist/core/compactar/index.d.ts +52 -0
  461. package/dist/core/compactar/index.d.ts.map +1 -0
  462. package/dist/core/compactar/index.js +91 -0
  463. package/dist/core/compactar/index.js.map +1 -0
  464. package/dist/core/compactar/registro-denso.d.ts +160 -0
  465. package/dist/core/compactar/registro-denso.d.ts.map +1 -0
  466. package/dist/core/compactar/registro-denso.js +620 -0
  467. package/dist/core/compactar/registro-denso.js.map +1 -0
  468. package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
  469. package/dist/core/compaction/branch-summarization.js.map +1 -1
  470. package/dist/core/compaction/compaction.d.ts.map +1 -1
  471. package/dist/core/compaction/compaction.js.map +1 -1
  472. package/dist/core/compaction/index.d.ts.map +1 -1
  473. package/dist/core/compaction/index.js.map +1 -1
  474. package/dist/core/compaction/utils.d.ts.map +1 -1
  475. package/dist/core/compaction/utils.js.map +1 -1
  476. package/dist/core/computer/captura.d.ts +35 -0
  477. package/dist/core/computer/captura.d.ts.map +1 -0
  478. package/dist/core/computer/captura.js +140 -0
  479. package/dist/core/computer/captura.js.map +1 -0
  480. package/dist/core/computer/driver.d.ts +130 -0
  481. package/dist/core/computer/driver.d.ts.map +1 -0
  482. package/dist/core/computer/driver.js +206 -0
  483. package/dist/core/computer/driver.js.map +1 -0
  484. package/dist/core/computer/motor/actions.d.ts +109 -0
  485. package/dist/core/computer/motor/actions.d.ts.map +1 -0
  486. package/dist/core/computer/motor/actions.js +157 -0
  487. package/dist/core/computer/motor/actions.js.map +1 -0
  488. package/dist/core/computer/motor/bridge.d.ts +232 -0
  489. package/dist/core/computer/motor/bridge.d.ts.map +1 -0
  490. package/dist/core/computer/motor/bridge.js +2335 -0
  491. package/dist/core/computer/motor/bridge.js.map +1 -0
  492. package/dist/core/computer/motor/cdp.d.ts +107 -0
  493. package/dist/core/computer/motor/cdp.d.ts.map +1 -0
  494. package/dist/core/computer/motor/cdp.js +659 -0
  495. package/dist/core/computer/motor/cdp.js.map +1 -0
  496. package/dist/core/computer/motor/config.d.ts +23 -0
  497. package/dist/core/computer/motor/config.d.ts.map +1 -0
  498. package/dist/core/computer/motor/config.js +100 -0
  499. package/dist/core/computer/motor/config.js.map +1 -0
  500. package/dist/core/computer/motor/contract.d.ts +81 -0
  501. package/dist/core/computer/motor/contract.d.ts.map +1 -0
  502. package/dist/core/computer/motor/contract.js +14 -0
  503. package/dist/core/computer/motor/contract.js.map +1 -0
  504. package/dist/core/computer/motor/note.d.ts +37 -0
  505. package/dist/core/computer/motor/note.d.ts.map +1 -0
  506. package/dist/core/computer/motor/note.js +162 -0
  507. package/dist/core/computer/motor/note.js.map +1 -0
  508. package/dist/core/computer/motor/outline.d.ts +155 -0
  509. package/dist/core/computer/motor/outline.d.ts.map +1 -0
  510. package/dist/core/computer/motor/outline.js +590 -0
  511. package/dist/core/computer/motor/outline.js.map +1 -0
  512. package/dist/core/computer/motor/output.d.ts +18 -0
  513. package/dist/core/computer/motor/output.d.ts.map +1 -0
  514. package/dist/core/computer/motor/output.js +148 -0
  515. package/dist/core/computer/motor/output.js.map +1 -0
  516. package/dist/core/computer/motor/permissions.d.ts +41 -0
  517. package/dist/core/computer/motor/permissions.d.ts.map +1 -0
  518. package/dist/core/computer/motor/permissions.js +51 -0
  519. package/dist/core/computer/motor/permissions.js.map +1 -0
  520. package/dist/core/computer/motor/platform/architecture.d.ts +5 -0
  521. package/dist/core/computer/motor/platform/architecture.d.ts.map +1 -0
  522. package/dist/core/computer/motor/platform/architecture.js +21 -0
  523. package/dist/core/computer/motor/platform/architecture.js.map +1 -0
  524. package/dist/core/computer/motor/platform/coerce.d.ts +4 -0
  525. package/dist/core/computer/motor/platform/coerce.d.ts.map +1 -0
  526. package/dist/core/computer/motor/platform/coerce.js +17 -0
  527. package/dist/core/computer/motor/platform/coerce.js.map +1 -0
  528. package/dist/core/computer/motor/platform/index.d.ts +4 -0
  529. package/dist/core/computer/motor/platform/index.d.ts.map +1 -0
  530. package/dist/core/computer/motor/platform/index.js +79 -0
  531. package/dist/core/computer/motor/platform/index.js.map +1 -0
  532. package/dist/core/computer/motor/platform/linux/backend.d.ts +3 -0
  533. package/dist/core/computer/motor/platform/linux/backend.d.ts.map +1 -0
  534. package/dist/core/computer/motor/platform/linux/backend.js +173 -0
  535. package/dist/core/computer/motor/platform/linux/backend.js.map +1 -0
  536. package/dist/core/computer/motor/platform/linux/helper.d.ts +29 -0
  537. package/dist/core/computer/motor/platform/linux/helper.d.ts.map +1 -0
  538. package/dist/core/computer/motor/platform/linux/helper.js +261 -0
  539. package/dist/core/computer/motor/platform/linux/helper.js.map +1 -0
  540. package/dist/core/computer/motor/platform/macos/backend.d.ts +3 -0
  541. package/dist/core/computer/motor/platform/macos/backend.d.ts.map +1 -0
  542. package/dist/core/computer/motor/platform/macos/backend.js +124 -0
  543. package/dist/core/computer/motor/platform/macos/backend.js.map +1 -0
  544. package/dist/core/computer/motor/platform/macos/browser.d.ts +7 -0
  545. package/dist/core/computer/motor/platform/macos/browser.d.ts.map +1 -0
  546. package/dist/core/computer/motor/platform/macos/browser.js +101 -0
  547. package/dist/core/computer/motor/platform/macos/browser.js.map +1 -0
  548. package/dist/core/computer/motor/platform/macos/helper.d.ts +32 -0
  549. package/dist/core/computer/motor/platform/macos/helper.d.ts.map +1 -0
  550. package/dist/core/computer/motor/platform/macos/helper.js +277 -0
  551. package/dist/core/computer/motor/platform/macos/helper.js.map +1 -0
  552. package/dist/core/computer/motor/platform/macos/permissions.d.ts +4 -0
  553. package/dist/core/computer/motor/platform/macos/permissions.d.ts.map +1 -0
  554. package/dist/core/computer/motor/platform/macos/permissions.js +118 -0
  555. package/dist/core/computer/motor/platform/macos/permissions.js.map +1 -0
  556. package/dist/core/computer/motor/platform/types.d.ts +263 -0
  557. package/dist/core/computer/motor/platform/types.d.ts.map +1 -0
  558. package/dist/core/computer/motor/platform/types.js +2 -0
  559. package/dist/core/computer/motor/platform/types.js.map +1 -0
  560. package/dist/core/computer/motor/platform/windows/backend.d.ts +3 -0
  561. package/dist/core/computer/motor/platform/windows/backend.d.ts.map +1 -0
  562. package/dist/core/computer/motor/platform/windows/backend.js +163 -0
  563. package/dist/core/computer/motor/platform/windows/backend.js.map +1 -0
  564. package/dist/core/computer/motor/platform/windows/helper.d.ts +18 -0
  565. package/dist/core/computer/motor/platform/windows/helper.d.ts.map +1 -0
  566. package/dist/core/computer/motor/platform/windows/helper.js +174 -0
  567. package/dist/core/computer/motor/platform/windows/helper.js.map +1 -0
  568. package/dist/core/computer/motor/root-selection.d.ts +6 -0
  569. package/dist/core/computer/motor/root-selection.d.ts.map +1 -0
  570. package/dist/core/computer/motor/root-selection.js +28 -0
  571. package/dist/core/computer/motor/root-selection.js.map +1 -0
  572. package/dist/core/computer/motor/runtime.d.ts +50 -0
  573. package/dist/core/computer/motor/runtime.d.ts.map +1 -0
  574. package/dist/core/computer/motor/runtime.js +119 -0
  575. package/dist/core/computer/motor/runtime.js.map +1 -0
  576. package/dist/core/computer/motor/state.d.ts +68 -0
  577. package/dist/core/computer/motor/state.d.ts.map +1 -0
  578. package/dist/core/computer/motor/state.js +100 -0
  579. package/dist/core/computer/motor/state.js.map +1 -0
  580. package/dist/core/computer/motor/view.d.ts +6 -0
  581. package/dist/core/computer/motor/view.d.ts.map +1 -0
  582. package/dist/core/computer/motor/view.js +185 -0
  583. package/dist/core/computer/motor/view.js.map +1 -0
  584. package/dist/core/computer/motor-ada.d.ts +159 -0
  585. package/dist/core/computer/motor-ada.d.ts.map +1 -0
  586. package/dist/core/computer/motor-ada.js +412 -0
  587. package/dist/core/computer/motor-ada.js.map +1 -0
  588. package/dist/core/computer/politica.d.ts +56 -0
  589. package/dist/core/computer/politica.d.ts.map +1 -0
  590. package/dist/core/computer/politica.js +163 -0
  591. package/dist/core/computer/politica.js.map +1 -0
  592. package/dist/core/computer/tools.d.ts +26 -0
  593. package/dist/core/computer/tools.d.ts.map +1 -0
  594. package/dist/core/computer/tools.js +399 -0
  595. package/dist/core/computer/tools.js.map +1 -0
  596. package/dist/core/config/quarantine.d.ts +57 -0
  597. package/dist/core/config/quarantine.d.ts.map +1 -0
  598. package/dist/core/config/quarantine.js +161 -0
  599. package/dist/core/config/quarantine.js.map +1 -0
  600. package/dist/core/config-viva/ambito.d.ts +46 -0
  601. package/dist/core/config-viva/ambito.d.ts.map +1 -0
  602. package/dist/core/config-viva/ambito.js +62 -0
  603. package/dist/core/config-viva/ambito.js.map +1 -0
  604. package/dist/core/config-viva/cache-negativa.d.ts +50 -0
  605. package/dist/core/config-viva/cache-negativa.d.ts.map +1 -0
  606. package/dist/core/config-viva/cache-negativa.js +78 -0
  607. package/dist/core/config-viva/cache-negativa.js.map +1 -0
  608. package/dist/core/config-viva/headers-vivos.d.ts +41 -0
  609. package/dist/core/config-viva/headers-vivos.d.ts.map +1 -0
  610. package/dist/core/config-viva/headers-vivos.js +43 -0
  611. package/dist/core/config-viva/headers-vivos.js.map +1 -0
  612. package/dist/core/config-viva/index.d.ts +16 -0
  613. package/dist/core/config-viva/index.d.ts.map +1 -0
  614. package/dist/core/config-viva/index.js +16 -0
  615. package/dist/core/config-viva/index.js.map +1 -0
  616. package/dist/core/config-viva/proveedor.d.ts +48 -0
  617. package/dist/core/config-viva/proveedor.d.ts.map +1 -0
  618. package/dist/core/config-viva/proveedor.js +78 -0
  619. package/dist/core/config-viva/proveedor.js.map +1 -0
  620. package/dist/core/context-breakdown.d.ts +80 -0
  621. package/dist/core/context-breakdown.d.ts.map +1 -0
  622. package/dist/core/context-breakdown.js +87 -0
  623. package/dist/core/context-breakdown.js.map +1 -0
  624. package/dist/core/credenciales/cliente.d.ts +60 -0
  625. package/dist/core/credenciales/cliente.d.ts.map +1 -0
  626. package/dist/core/credenciales/cliente.js +81 -0
  627. package/dist/core/credenciales/cliente.js.map +1 -0
  628. package/dist/core/credenciales/pool.d.ts +131 -0
  629. package/dist/core/credenciales/pool.d.ts.map +1 -0
  630. package/dist/core/credenciales/pool.js +177 -0
  631. package/dist/core/credenciales/pool.js.map +1 -0
  632. package/dist/core/credenciales/ranking.d.ts +56 -0
  633. package/dist/core/credenciales/ranking.d.ts.map +1 -0
  634. package/dist/core/credenciales/ranking.js +94 -0
  635. package/dist/core/credenciales/ranking.js.map +1 -0
  636. package/dist/core/credenciales/ratelimit.d.ts +54 -0
  637. package/dist/core/credenciales/ratelimit.d.ts.map +1 -0
  638. package/dist/core/credenciales/ratelimit.js +116 -0
  639. package/dist/core/credenciales/ratelimit.js.map +1 -0
  640. package/dist/core/credenciales/reposo.d.ts +93 -0
  641. package/dist/core/credenciales/reposo.d.ts.map +1 -0
  642. package/dist/core/credenciales/reposo.js +489 -0
  643. package/dist/core/credenciales/reposo.js.map +1 -0
  644. package/dist/core/credenciales/servidor.d.ts +63 -0
  645. package/dist/core/credenciales/servidor.d.ts.map +1 -0
  646. package/dist/core/credenciales/servidor.js +213 -0
  647. package/dist/core/credenciales/servidor.js.map +1 -0
  648. package/dist/core/defaults.d.ts.map +1 -1
  649. package/dist/core/defaults.js.map +1 -1
  650. package/dist/core/descubrimiento/comandos.d.ts +30 -0
  651. package/dist/core/descubrimiento/comandos.d.ts.map +1 -0
  652. package/dist/core/descubrimiento/comandos.js +76 -0
  653. package/dist/core/descubrimiento/comandos.js.map +1 -0
  654. package/dist/core/descubrimiento/mcp.d.ts +54 -0
  655. package/dist/core/descubrimiento/mcp.d.ts.map +1 -0
  656. package/dist/core/descubrimiento/mcp.js +162 -0
  657. package/dist/core/descubrimiento/mcp.js.map +1 -0
  658. package/dist/core/descubrimiento/reglas.d.ts +61 -0
  659. package/dist/core/descubrimiento/reglas.d.ts.map +1 -0
  660. package/dist/core/descubrimiento/reglas.js +134 -0
  661. package/dist/core/descubrimiento/reglas.js.map +1 -0
  662. package/dist/core/descubrimiento/runtimes/index.d.ts +24 -0
  663. package/dist/core/descubrimiento/runtimes/index.d.ts.map +1 -0
  664. package/dist/core/descubrimiento/runtimes/index.js +109 -0
  665. package/dist/core/descubrimiento/runtimes/index.js.map +1 -0
  666. package/dist/core/descubrimiento/runtimes/litellm.d.ts +12 -0
  667. package/dist/core/descubrimiento/runtimes/litellm.d.ts.map +1 -0
  668. package/dist/core/descubrimiento/runtimes/litellm.js +185 -0
  669. package/dist/core/descubrimiento/runtimes/litellm.js.map +1 -0
  670. package/dist/core/descubrimiento/runtimes/lm-studio.d.ts +13 -0
  671. package/dist/core/descubrimiento/runtimes/lm-studio.d.ts.map +1 -0
  672. package/dist/core/descubrimiento/runtimes/lm-studio.js +142 -0
  673. package/dist/core/descubrimiento/runtimes/lm-studio.js.map +1 -0
  674. package/dist/core/descubrimiento/runtimes/ollama.d.ts +8 -0
  675. package/dist/core/descubrimiento/runtimes/ollama.d.ts.map +1 -0
  676. package/dist/core/descubrimiento/runtimes/ollama.js +96 -0
  677. package/dist/core/descubrimiento/runtimes/ollama.js.map +1 -0
  678. package/dist/core/descubrimiento/runtimes/tipos.d.ts +47 -0
  679. package/dist/core/descubrimiento/runtimes/tipos.d.ts.map +1 -0
  680. package/dist/core/descubrimiento/runtimes/tipos.js +10 -0
  681. package/dist/core/descubrimiento/runtimes/tipos.js.map +1 -0
  682. package/dist/core/descubrimiento/skills.d.ts +57 -0
  683. package/dist/core/descubrimiento/skills.d.ts.map +1 -0
  684. package/dist/core/descubrimiento/skills.js +113 -0
  685. package/dist/core/descubrimiento/skills.js.map +1 -0
  686. package/dist/core/diagnostics.d.ts.map +1 -1
  687. package/dist/core/diagnostics.js.map +1 -1
  688. package/dist/core/dificultad/clasificador.d.ts +133 -0
  689. package/dist/core/dificultad/clasificador.d.ts.map +1 -0
  690. package/dist/core/dificultad/clasificador.js +288 -0
  691. package/dist/core/dificultad/clasificador.js.map +1 -0
  692. package/dist/core/edicion/diario.d.ts +37 -0
  693. package/dist/core/edicion/diario.d.ts.map +1 -0
  694. package/dist/core/edicion/diario.js +51 -0
  695. package/dist/core/edicion/diario.js.map +1 -0
  696. package/dist/core/edicion/hashline.d.ts +71 -0
  697. package/dist/core/edicion/hashline.d.ts.map +1 -0
  698. package/dist/core/edicion/hashline.js +111 -0
  699. package/dist/core/edicion/hashline.js.map +1 -0
  700. package/dist/core/edicion/hueco.d.ts +64 -0
  701. package/dist/core/edicion/hueco.d.ts.map +1 -0
  702. package/dist/core/edicion/hueco.js +162 -0
  703. package/dist/core/edicion/hueco.js.map +1 -0
  704. package/dist/core/edicion/ipynb.d.ts +51 -0
  705. package/dist/core/edicion/ipynb.d.ts.map +1 -0
  706. package/dist/core/edicion/ipynb.js +110 -0
  707. package/dist/core/edicion/ipynb.js.map +1 -0
  708. package/dist/core/edicion/limpiar-carga.d.ts +39 -0
  709. package/dist/core/edicion/limpiar-carga.d.ts.map +1 -0
  710. package/dist/core/edicion/limpiar-carga.js +121 -0
  711. package/dist/core/edicion/limpiar-carga.js.map +1 -0
  712. package/dist/core/edicion/observador.d.ts +80 -0
  713. package/dist/core/edicion/observador.d.ts.map +1 -0
  714. package/dist/core/edicion/observador.js +183 -0
  715. package/dist/core/edicion/observador.js.map +1 -0
  716. package/dist/core/edicion/parecido.d.ts +53 -0
  717. package/dist/core/edicion/parecido.d.ts.map +1 -0
  718. package/dist/core/edicion/parecido.js +145 -0
  719. package/dist/core/edicion/parecido.js.map +1 -0
  720. package/dist/core/edicion/parseo.d.ts +58 -0
  721. package/dist/core/edicion/parseo.d.ts.map +1 -0
  722. package/dist/core/edicion/parseo.js +124 -0
  723. package/dist/core/edicion/parseo.js.map +1 -0
  724. package/dist/core/edicion/portapapeles.d.ts +28 -0
  725. package/dist/core/edicion/portapapeles.d.ts.map +1 -0
  726. package/dist/core/edicion/portapapeles.js +49 -0
  727. package/dist/core/edicion/portapapeles.js.map +1 -0
  728. package/dist/core/edicion/reparacion.d.ts +67 -0
  729. package/dist/core/edicion/reparacion.d.ts.map +1 -0
  730. package/dist/core/edicion/reparacion.js +202 -0
  731. package/dist/core/edicion/reparacion.js.map +1 -0
  732. package/dist/core/edicion/rutas-difusas.d.ts +44 -0
  733. package/dist/core/edicion/rutas-difusas.d.ts.map +1 -0
  734. package/dist/core/edicion/rutas-difusas.js +93 -0
  735. package/dist/core/edicion/rutas-difusas.js.map +1 -0
  736. package/dist/core/edicion/sangria.d.ts +121 -0
  737. package/dist/core/edicion/sangria.d.ts.map +1 -0
  738. package/dist/core/edicion/sangria.js +341 -0
  739. package/dist/core/edicion/sangria.js.map +1 -0
  740. package/dist/core/edicion/tipos.d.ts +58 -0
  741. package/dist/core/edicion/tipos.d.ts.map +1 -0
  742. package/dist/core/edicion/tipos.js +160 -0
  743. package/dist/core/edicion/tipos.js.map +1 -0
  744. package/dist/core/engine-personality.d.ts.map +1 -1
  745. package/dist/core/engine-personality.js.map +1 -1
  746. package/dist/core/errores/proveedor.d.ts +53 -0
  747. package/dist/core/errores/proveedor.d.ts.map +1 -0
  748. package/dist/core/errores/proveedor.js +191 -0
  749. package/dist/core/errores/proveedor.js.map +1 -0
  750. package/dist/core/estructural/buscar.d.ts +61 -0
  751. package/dist/core/estructural/buscar.d.ts.map +1 -0
  752. package/dist/core/estructural/buscar.js +261 -0
  753. package/dist/core/estructural/buscar.js.map +1 -0
  754. package/dist/core/estructural/editar.d.ts +36 -0
  755. package/dist/core/estructural/editar.d.ts.map +1 -0
  756. package/dist/core/estructural/editar.js +123 -0
  757. package/dist/core/estructural/editar.js.map +1 -0
  758. package/dist/core/estructural/tools.d.ts +11 -0
  759. package/dist/core/estructural/tools.d.ts.map +1 -0
  760. package/dist/core/estructural/tools.js +100 -0
  761. package/dist/core/estructural/tools.js.map +1 -0
  762. package/dist/core/event-bus.d.ts.map +1 -1
  763. package/dist/core/event-bus.js.map +1 -1
  764. package/dist/core/exec.d.ts.map +1 -1
  765. package/dist/core/exec.js.map +1 -1
  766. package/dist/core/experimental.d.ts.map +1 -1
  767. package/dist/core/experimental.js +10 -1
  768. package/dist/core/experimental.js.map +1 -1
  769. package/dist/core/export-html/ansi-to-html.d.ts.map +1 -1
  770. package/dist/core/export-html/ansi-to-html.js.map +1 -1
  771. package/dist/core/export-html/index.d.ts.map +1 -1
  772. package/dist/core/export-html/index.js +183 -13
  773. package/dist/core/export-html/index.js.map +1 -1
  774. package/dist/core/export-html/tool-renderer.d.ts.map +1 -1
  775. package/dist/core/export-html/tool-renderer.js.map +1 -1
  776. package/dist/core/extensiones/suplantacion.d.ts +49 -0
  777. package/dist/core/extensiones/suplantacion.d.ts.map +1 -0
  778. package/dist/core/extensiones/suplantacion.js +61 -0
  779. package/dist/core/extensiones/suplantacion.js.map +1 -0
  780. package/dist/core/extensiones/vigilancia.d.ts +54 -0
  781. package/dist/core/extensiones/vigilancia.d.ts.map +1 -0
  782. package/dist/core/extensiones/vigilancia.js +217 -0
  783. package/dist/core/extensiones/vigilancia.js.map +1 -0
  784. package/dist/core/extensions/index.d.ts.map +1 -1
  785. package/dist/core/extensions/index.js.map +1 -1
  786. package/dist/core/extensions/loader.d.ts.map +1 -1
  787. package/dist/core/extensions/loader.js +11 -1
  788. package/dist/core/extensions/loader.js.map +1 -1
  789. package/dist/core/extensions/runner.d.ts.map +1 -1
  790. package/dist/core/extensions/runner.js.map +1 -1
  791. package/dist/core/extensions/types.d.ts.map +1 -1
  792. package/dist/core/extensions/types.js.map +1 -1
  793. package/dist/core/extensions/wrapper.d.ts.map +1 -1
  794. package/dist/core/extensions/wrapper.js.map +1 -1
  795. package/dist/core/footer-data-provider.d.ts.map +1 -1
  796. package/dist/core/footer-data-provider.js.map +1 -1
  797. package/dist/core/gc/archivo-frio.d.ts +33 -0
  798. package/dist/core/gc/archivo-frio.d.ts.map +1 -0
  799. package/dist/core/gc/archivo-frio.js +152 -0
  800. package/dist/core/gc/archivo-frio.js.map +1 -0
  801. package/dist/core/gc/blobs-gc.d.ts +25 -0
  802. package/dist/core/gc/blobs-gc.d.ts.map +1 -0
  803. package/dist/core/gc/blobs-gc.js +143 -0
  804. package/dist/core/gc/blobs-gc.js.map +1 -0
  805. package/dist/core/gc/index.d.ts +42 -0
  806. package/dist/core/gc/index.d.ts.map +1 -0
  807. package/dist/core/gc/index.js +50 -0
  808. package/dist/core/gc/index.js.map +1 -0
  809. package/dist/core/gc/lock.d.ts +19 -0
  810. package/dist/core/gc/lock.d.ts.map +1 -0
  811. package/dist/core/gc/lock.js +48 -0
  812. package/dist/core/gc/lock.js.map +1 -0
  813. package/dist/core/gc/reconciliacion.d.ts +19 -0
  814. package/dist/core/gc/reconciliacion.d.ts.map +1 -0
  815. package/dist/core/gc/reconciliacion.js +102 -0
  816. package/dist/core/gc/reconciliacion.js.map +1 -0
  817. package/dist/core/gc/wal.d.ts +15 -0
  818. package/dist/core/gc/wal.d.ts.map +1 -0
  819. package/dist/core/gc/wal.js +44 -0
  820. package/dist/core/gc/wal.js.map +1 -0
  821. package/dist/core/harness/fuentes-de-contexto.d.ts +29 -0
  822. package/dist/core/harness/fuentes-de-contexto.d.ts.map +1 -0
  823. package/dist/core/harness/fuentes-de-contexto.js +44 -0
  824. package/dist/core/harness/fuentes-de-contexto.js.map +1 -0
  825. package/dist/core/harness/refine.d.ts +40 -0
  826. package/dist/core/harness/refine.d.ts.map +1 -0
  827. package/dist/core/harness/refine.js +109 -0
  828. package/dist/core/harness/refine.js.map +1 -0
  829. package/dist/core/harness/store.d.ts +75 -0
  830. package/dist/core/harness/store.d.ts.map +1 -0
  831. package/dist/core/harness/store.js +149 -0
  832. package/dist/core/harness/store.js.map +1 -0
  833. package/dist/core/higiene/index.d.ts +8 -0
  834. package/dist/core/higiene/index.d.ts.map +1 -0
  835. package/dist/core/higiene/index.js +8 -0
  836. package/dist/core/higiene/index.js.map +1 -0
  837. package/dist/core/higiene/managed-timers.d.ts +19 -0
  838. package/dist/core/higiene/managed-timers.d.ts.map +1 -0
  839. package/dist/core/higiene/managed-timers.js +68 -0
  840. package/dist/core/higiene/managed-timers.js.map +1 -0
  841. package/dist/core/higiene/race-handler.d.ts +7 -0
  842. package/dist/core/higiene/race-handler.d.ts.map +1 -0
  843. package/dist/core/higiene/race-handler.js +32 -0
  844. package/dist/core/higiene/race-handler.js.map +1 -0
  845. package/dist/core/higiene/withHostGuard.d.ts +27 -0
  846. package/dist/core/higiene/withHostGuard.d.ts.map +1 -0
  847. package/dist/core/higiene/withHostGuard.js +79 -0
  848. package/dist/core/higiene/withHostGuard.js.map +1 -0
  849. package/dist/core/hooks/contract.d.ts +85 -0
  850. package/dist/core/hooks/contract.d.ts.map +1 -0
  851. package/dist/core/hooks/contract.js +140 -0
  852. package/dist/core/hooks/contract.js.map +1 -0
  853. package/dist/core/hooks/runner.d.ts +42 -0
  854. package/dist/core/hooks/runner.d.ts.map +1 -0
  855. package/dist/core/hooks/runner.js +85 -0
  856. package/dist/core/hooks/runner.js.map +1 -0
  857. package/dist/core/hooks/session-hooks.d.ts +62 -0
  858. package/dist/core/hooks/session-hooks.d.ts.map +1 -0
  859. package/dist/core/hooks/session-hooks.js +84 -0
  860. package/dist/core/hooks/session-hooks.js.map +1 -0
  861. package/dist/core/hooks-ts/cargador.d.ts +29 -0
  862. package/dist/core/hooks-ts/cargador.d.ts.map +1 -0
  863. package/dist/core/hooks-ts/cargador.js +51 -0
  864. package/dist/core/hooks-ts/cargador.js.map +1 -0
  865. package/dist/core/hooks-ts/index.d.ts +25 -0
  866. package/dist/core/hooks-ts/index.d.ts.map +1 -0
  867. package/dist/core/hooks-ts/index.js +25 -0
  868. package/dist/core/hooks-ts/index.js.map +1 -0
  869. package/dist/core/hooks-ts/runner.d.ts +40 -0
  870. package/dist/core/hooks-ts/runner.d.ts.map +1 -0
  871. package/dist/core/hooks-ts/runner.js +95 -0
  872. package/dist/core/hooks-ts/runner.js.map +1 -0
  873. package/dist/core/hooks-ts/tipos.d.ts +69 -0
  874. package/dist/core/hooks-ts/tipos.d.ts.map +1 -0
  875. package/dist/core/hooks-ts/tipos.js +90 -0
  876. package/dist/core/hooks-ts/tipos.js.map +1 -0
  877. package/dist/core/http-dispatcher.d.ts.map +1 -1
  878. package/dist/core/http-dispatcher.js.map +1 -1
  879. package/dist/core/importar/formatos.d.ts +69 -0
  880. package/dist/core/importar/formatos.d.ts.map +1 -0
  881. package/dist/core/importar/formatos.js +235 -0
  882. package/dist/core/importar/formatos.js.map +1 -0
  883. package/dist/core/index.d.ts.map +1 -1
  884. package/dist/core/index.js.map +1 -1
  885. package/dist/core/interactivo/deteccion.d.ts +44 -0
  886. package/dist/core/interactivo/deteccion.d.ts.map +1 -0
  887. package/dist/core/interactivo/deteccion.js +82 -0
  888. package/dist/core/interactivo/deteccion.js.map +1 -0
  889. package/dist/core/interactivo/sesion.d.ts +50 -0
  890. package/dist/core/interactivo/sesion.d.ts.map +1 -0
  891. package/dist/core/interactivo/sesion.js +156 -0
  892. package/dist/core/interactivo/sesion.js.map +1 -0
  893. package/dist/core/interactivo/tools.d.ts +21 -0
  894. package/dist/core/interactivo/tools.d.ts.map +1 -0
  895. package/dist/core/interactivo/tools.js +122 -0
  896. package/dist/core/interactivo/tools.js.map +1 -0
  897. package/dist/core/keybindings.d.ts +170 -170
  898. package/dist/core/keybindings.d.ts.map +1 -1
  899. package/dist/core/keybindings.js.map +1 -1
  900. package/dist/core/lectura/mapa.d.ts +70 -0
  901. package/dist/core/lectura/mapa.d.ts.map +1 -0
  902. package/dist/core/lectura/mapa.js +177 -0
  903. package/dist/core/lectura/mapa.js.map +1 -0
  904. package/dist/core/lectura/pdf.d.ts +49 -0
  905. package/dist/core/lectura/pdf.d.ts.map +1 -0
  906. package/dist/core/lectura/pdf.js +337 -0
  907. package/dist/core/lectura/pdf.js.map +1 -0
  908. package/dist/core/lectura/sniffer.d.ts +54 -0
  909. package/dist/core/lectura/sniffer.d.ts.map +1 -0
  910. package/dist/core/lectura/sniffer.js +106 -0
  911. package/dist/core/lectura/sniffer.js.map +1 -0
  912. package/dist/core/limpieza/comprobadores.d.ts +42 -0
  913. package/dist/core/limpieza/comprobadores.d.ts.map +1 -0
  914. package/dist/core/limpieza/comprobadores.js +505 -0
  915. package/dist/core/limpieza/comprobadores.js.map +1 -0
  916. package/dist/core/limpieza/flujo.d.ts +36 -0
  917. package/dist/core/limpieza/flujo.d.ts.map +1 -0
  918. package/dist/core/limpieza/flujo.js +89 -0
  919. package/dist/core/limpieza/flujo.js.map +1 -0
  920. package/dist/core/limpieza/parseo.d.ts +19 -0
  921. package/dist/core/limpieza/parseo.d.ts.map +1 -0
  922. package/dist/core/limpieza/parseo.js +124 -0
  923. package/dist/core/limpieza/parseo.js.map +1 -0
  924. package/dist/core/limpieza/peso.d.ts +17 -0
  925. package/dist/core/limpieza/peso.d.ts.map +1 -0
  926. package/dist/core/limpieza/peso.js +52 -0
  927. package/dist/core/limpieza/peso.js.map +1 -0
  928. package/dist/core/limpieza/pool.d.ts +44 -0
  929. package/dist/core/limpieza/pool.d.ts.map +1 -0
  930. package/dist/core/limpieza/pool.js +123 -0
  931. package/dist/core/limpieza/pool.js.map +1 -0
  932. package/dist/core/limpieza/reparacion.d.ts +94 -0
  933. package/dist/core/limpieza/reparacion.d.ts.map +1 -0
  934. package/dist/core/limpieza/reparacion.js +341 -0
  935. package/dist/core/limpieza/reparacion.js.map +1 -0
  936. package/dist/core/limpieza/tablero.d.ts +47 -0
  937. package/dist/core/limpieza/tablero.d.ts.map +1 -0
  938. package/dist/core/limpieza/tablero.js +78 -0
  939. package/dist/core/limpieza/tablero.js.map +1 -0
  940. package/dist/core/limpieza/tipos.d.ts +81 -0
  941. package/dist/core/limpieza/tipos.d.ts.map +1 -0
  942. package/dist/core/limpieza/tipos.js +9 -0
  943. package/dist/core/limpieza/tipos.js.map +1 -0
  944. package/dist/core/lsp/cliente.d.ts +59 -0
  945. package/dist/core/lsp/cliente.d.ts.map +1 -0
  946. package/dist/core/lsp/cliente.js +234 -0
  947. package/dist/core/lsp/cliente.js.map +1 -0
  948. package/dist/core/lsp/descubrimiento.d.ts +62 -0
  949. package/dist/core/lsp/descubrimiento.d.ts.map +1 -0
  950. package/dist/core/lsp/descubrimiento.js +152 -0
  951. package/dist/core/lsp/descubrimiento.js.map +1 -0
  952. package/dist/core/lsp/ediciones.d.ts +59 -0
  953. package/dist/core/lsp/ediciones.d.ts.map +1 -0
  954. package/dist/core/lsp/ediciones.js +89 -0
  955. package/dist/core/lsp/ediciones.js.map +1 -0
  956. package/dist/core/lsp/extension.d.ts +37 -0
  957. package/dist/core/lsp/extension.d.ts.map +1 -0
  958. package/dist/core/lsp/extension.js +90 -0
  959. package/dist/core/lsp/extension.js.map +1 -0
  960. package/dist/core/lsp/formato.d.ts +72 -0
  961. package/dist/core/lsp/formato.d.ts.map +1 -0
  962. package/dist/core/lsp/formato.js +117 -0
  963. package/dist/core/lsp/formato.js.map +1 -0
  964. package/dist/core/lsp/tools.d.ts +45 -0
  965. package/dist/core/lsp/tools.d.ts.map +1 -0
  966. package/dist/core/lsp/tools.js +265 -0
  967. package/dist/core/lsp/tools.js.map +1 -0
  968. package/dist/core/lsp/writethrough.d.ts +165 -0
  969. package/dist/core/lsp/writethrough.d.ts.map +1 -0
  970. package/dist/core/lsp/writethrough.js +282 -0
  971. package/dist/core/lsp/writethrough.js.map +1 -0
  972. package/dist/core/marketplace/catalogo.d.ts +32 -0
  973. package/dist/core/marketplace/catalogo.d.ts.map +1 -0
  974. package/dist/core/marketplace/catalogo.js +122 -0
  975. package/dist/core/marketplace/catalogo.js.map +1 -0
  976. package/dist/core/marketplace/doctor.d.ts +47 -0
  977. package/dist/core/marketplace/doctor.d.ts.map +1 -0
  978. package/dist/core/marketplace/doctor.js +155 -0
  979. package/dist/core/marketplace/doctor.js.map +1 -0
  980. package/dist/core/marketplace/features.d.ts +22 -0
  981. package/dist/core/marketplace/features.d.ts.map +1 -0
  982. package/dist/core/marketplace/features.js +70 -0
  983. package/dist/core/marketplace/features.js.map +1 -0
  984. package/dist/core/marketplace/index.d.ts +33 -0
  985. package/dist/core/marketplace/index.d.ts.map +1 -0
  986. package/dist/core/marketplace/index.js +33 -0
  987. package/dist/core/marketplace/index.js.map +1 -0
  988. package/dist/core/marketplace/instalar.d.ts +27 -0
  989. package/dist/core/marketplace/instalar.d.ts.map +1 -0
  990. package/dist/core/marketplace/instalar.js +50 -0
  991. package/dist/core/marketplace/instalar.js.map +1 -0
  992. package/dist/core/mcp/client.d.ts +60 -0
  993. package/dist/core/mcp/client.d.ts.map +1 -0
  994. package/dist/core/mcp/client.js +139 -0
  995. package/dist/core/mcp/client.js.map +1 -0
  996. package/dist/core/mcp/manager.d.ts +86 -0
  997. package/dist/core/mcp/manager.d.ts.map +1 -0
  998. package/dist/core/mcp/manager.js +124 -0
  999. package/dist/core/mcp/manager.js.map +1 -0
  1000. package/dist/core/mcp/oauth.d.ts +138 -0
  1001. package/dist/core/mcp/oauth.d.ts.map +1 -0
  1002. package/dist/core/mcp/oauth.js +348 -0
  1003. package/dist/core/mcp/oauth.js.map +1 -0
  1004. package/dist/core/mcp/tools.d.ts +15 -0
  1005. package/dist/core/mcp/tools.d.ts.map +1 -0
  1006. package/dist/core/mcp/tools.js +84 -0
  1007. package/dist/core/mcp/tools.js.map +1 -0
  1008. package/dist/core/memoria/almacen.d.ts +56 -0
  1009. package/dist/core/memoria/almacen.d.ts.map +1 -0
  1010. package/dist/core/memoria/almacen.js +214 -0
  1011. package/dist/core/memoria/almacen.js.map +1 -0
  1012. package/dist/core/memoria/dr/respaldo.d.ts +34 -0
  1013. package/dist/core/memoria/dr/respaldo.d.ts.map +1 -0
  1014. package/dist/core/memoria/dr/respaldo.js +133 -0
  1015. package/dist/core/memoria/dr/respaldo.js.map +1 -0
  1016. package/dist/core/memoria/embeddings.d.ts +21 -0
  1017. package/dist/core/memoria/embeddings.d.ts.map +1 -0
  1018. package/dist/core/memoria/embeddings.js +87 -0
  1019. package/dist/core/memoria/embeddings.js.map +1 -0
  1020. package/dist/core/memoria/grafo.d.ts +56 -0
  1021. package/dist/core/memoria/grafo.d.ts.map +1 -0
  1022. package/dist/core/memoria/grafo.js +143 -0
  1023. package/dist/core/memoria/grafo.js.map +1 -0
  1024. package/dist/core/memoria/redaccion.d.ts +32 -0
  1025. package/dist/core/memoria/redaccion.d.ts.map +1 -0
  1026. package/dist/core/memoria/redaccion.js +76 -0
  1027. package/dist/core/memoria/redaccion.js.map +1 -0
  1028. package/dist/core/memoria/servidor/almacen-json.d.ts +26 -0
  1029. package/dist/core/memoria/servidor/almacen-json.d.ts.map +1 -0
  1030. package/dist/core/memoria/servidor/almacen-json.js +90 -0
  1031. package/dist/core/memoria/servidor/almacen-json.js.map +1 -0
  1032. package/dist/core/memoria/servidor/servidor.d.ts +43 -0
  1033. package/dist/core/memoria/servidor/servidor.d.ts.map +1 -0
  1034. package/dist/core/memoria/servidor/servidor.js +195 -0
  1035. package/dist/core/memoria/servidor/servidor.js.map +1 -0
  1036. package/dist/core/memoria/servidor/tipos.d.ts +44 -0
  1037. package/dist/core/memoria/servidor/tipos.d.ts.map +1 -0
  1038. package/dist/core/memoria/servidor/tipos.js +12 -0
  1039. package/dist/core/memoria/servidor/tipos.js.map +1 -0
  1040. package/dist/core/memoria/tipos.d.ts +63 -0
  1041. package/dist/core/memoria/tipos.d.ts.map +1 -0
  1042. package/dist/core/memoria/tipos.js +14 -0
  1043. package/dist/core/memoria/tipos.js.map +1 -0
  1044. package/dist/core/memory-engine/audit-export.d.ts +12 -10
  1045. package/dist/core/memory-engine/audit-export.d.ts.map +1 -1
  1046. package/dist/core/memory-engine/audit-export.js +15 -0
  1047. package/dist/core/memory-engine/audit-export.js.map +1 -1
  1048. package/dist/core/memory-engine/audit-indice.d.ts +153 -0
  1049. package/dist/core/memory-engine/audit-indice.d.ts.map +1 -0
  1050. package/dist/core/memory-engine/audit-indice.js +271 -0
  1051. package/dist/core/memory-engine/audit-indice.js.map +1 -0
  1052. package/dist/core/memory-engine/audit.d.ts +18 -6
  1053. package/dist/core/memory-engine/audit.d.ts.map +1 -1
  1054. package/dist/core/memory-engine/audit.js +25 -42
  1055. package/dist/core/memory-engine/audit.js.map +1 -1
  1056. package/dist/core/memory-engine/engine.d.ts +26 -1
  1057. package/dist/core/memory-engine/engine.d.ts.map +1 -1
  1058. package/dist/core/memory-engine/engine.js +71 -5
  1059. package/dist/core/memory-engine/engine.js.map +1 -1
  1060. package/dist/core/memory-engine/inverted-index.d.ts.map +1 -1
  1061. package/dist/core/memory-engine/inverted-index.js.map +1 -1
  1062. package/dist/core/memory-engine/keychain.d.ts.map +1 -1
  1063. package/dist/core/memory-engine/keychain.js.map +1 -1
  1064. package/dist/core/memory-engine/observation-store.d.ts +1 -2
  1065. package/dist/core/memory-engine/observation-store.d.ts.map +1 -1
  1066. package/dist/core/memory-engine/observation-store.js +4 -5
  1067. package/dist/core/memory-engine/observation-store.js.map +1 -1
  1068. package/dist/core/memory-engine/refinements.d.ts +51 -0
  1069. package/dist/core/memory-engine/refinements.d.ts.map +1 -0
  1070. package/dist/core/memory-engine/refinements.js +99 -0
  1071. package/dist/core/memory-engine/refinements.js.map +1 -0
  1072. package/dist/core/memory-engine/scanner.d.ts.map +1 -1
  1073. package/dist/core/memory-engine/scanner.js.map +1 -1
  1074. package/dist/core/memory-engine/security.d.ts.map +1 -1
  1075. package/dist/core/memory-engine/security.js.map +1 -1
  1076. package/dist/core/memory-engine/session-indexer.d.ts.map +1 -1
  1077. package/dist/core/memory-engine/session-indexer.js.map +1 -1
  1078. package/dist/core/memory-engine/tools.d.ts.map +1 -1
  1079. package/dist/core/memory-engine/tools.js +27 -1
  1080. package/dist/core/memory-engine/tools.js.map +1 -1
  1081. package/dist/core/memory-engine/types.d.ts +2 -0
  1082. package/dist/core/memory-engine/types.d.ts.map +1 -1
  1083. package/dist/core/memory-engine/types.js.map +1 -1
  1084. package/dist/core/memory-engine/vault.d.ts.map +1 -1
  1085. package/dist/core/memory-engine/vault.js.map +1 -1
  1086. package/dist/core/messages.d.ts.map +1 -1
  1087. package/dist/core/messages.js.map +1 -1
  1088. package/dist/core/metaharness/cli.d.ts +19 -0
  1089. package/dist/core/metaharness/cli.d.ts.map +1 -0
  1090. package/dist/core/metaharness/cli.js +171 -0
  1091. package/dist/core/metaharness/cli.js.map +1 -0
  1092. package/dist/core/metaharness/comparar.d.ts +21 -0
  1093. package/dist/core/metaharness/comparar.d.ts.map +1 -0
  1094. package/dist/core/metaharness/comparar.js +64 -0
  1095. package/dist/core/metaharness/comparar.js.map +1 -0
  1096. package/dist/core/metaharness/ejecutar.d.ts +70 -0
  1097. package/dist/core/metaharness/ejecutar.d.ts.map +1 -0
  1098. package/dist/core/metaharness/ejecutar.js +249 -0
  1099. package/dist/core/metaharness/ejecutar.js.map +1 -0
  1100. package/dist/core/metaharness/tipos.d.ts +142 -0
  1101. package/dist/core/metaharness/tipos.d.ts.map +1 -0
  1102. package/dist/core/metaharness/tipos.js +17 -0
  1103. package/dist/core/metaharness/tipos.js.map +1 -0
  1104. package/dist/core/model-config.d.ts +8 -8
  1105. package/dist/core/model-config.d.ts.map +1 -1
  1106. package/dist/core/model-config.js.map +1 -1
  1107. package/dist/core/model-registry.d.ts.map +1 -1
  1108. package/dist/core/model-registry.js.map +1 -1
  1109. package/dist/core/model-resolver.d.ts.map +1 -1
  1110. package/dist/core/model-resolver.js +7 -1
  1111. package/dist/core/model-resolver.js.map +1 -1
  1112. package/dist/core/model-runtime.d.ts.map +1 -1
  1113. package/dist/core/model-runtime.js.map +1 -1
  1114. package/dist/core/models-store.d.ts.map +1 -1
  1115. package/dist/core/models-store.js.map +1 -1
  1116. package/dist/core/muestreo-restringido.d.ts +49 -0
  1117. package/dist/core/muestreo-restringido.d.ts.map +1 -0
  1118. package/dist/core/muestreo-restringido.js +65 -0
  1119. package/dist/core/muestreo-restringido.js.map +1 -0
  1120. package/dist/core/orphan-process-journal.d.ts +48 -0
  1121. package/dist/core/orphan-process-journal.d.ts.map +1 -0
  1122. package/dist/core/orphan-process-journal.js +116 -0
  1123. package/dist/core/orphan-process-journal.js.map +1 -0
  1124. package/dist/core/output-guard.d.ts.map +1 -1
  1125. package/dist/core/output-guard.js.map +1 -1
  1126. package/dist/core/package-manager.d.ts.map +1 -1
  1127. package/dist/core/package-manager.js.map +1 -1
  1128. package/dist/core/parche/aplicar.d.ts +19 -0
  1129. package/dist/core/parche/aplicar.d.ts.map +1 -0
  1130. package/dist/core/parche/aplicar.js +243 -0
  1131. package/dist/core/parche/aplicar.js.map +1 -0
  1132. package/dist/core/parche/parser.d.ts +38 -0
  1133. package/dist/core/parche/parser.d.ts.map +1 -0
  1134. package/dist/core/parche/parser.js +217 -0
  1135. package/dist/core/parche/parser.js.map +1 -0
  1136. package/dist/core/parche/registro.d.ts +12 -0
  1137. package/dist/core/parche/registro.d.ts.map +1 -0
  1138. package/dist/core/parche/registro.js +58 -0
  1139. package/dist/core/parche/registro.js.map +1 -0
  1140. package/dist/core/perfiles/index.d.ts +22 -0
  1141. package/dist/core/perfiles/index.d.ts.map +1 -0
  1142. package/dist/core/perfiles/index.js +21 -0
  1143. package/dist/core/perfiles/index.js.map +1 -0
  1144. package/dist/core/perfiles/resolver.d.ts +51 -0
  1145. package/dist/core/perfiles/resolver.d.ts.map +1 -0
  1146. package/dist/core/perfiles/resolver.js +329 -0
  1147. package/dist/core/perfiles/resolver.js.map +1 -0
  1148. package/dist/core/perfiles/tipos.d.ts +69 -0
  1149. package/dist/core/perfiles/tipos.d.ts.map +1 -0
  1150. package/dist/core/perfiles/tipos.js +98 -0
  1151. package/dist/core/perfiles/tipos.js.map +1 -0
  1152. package/dist/core/pi-manifest.d.ts.map +1 -1
  1153. package/dist/core/pi-manifest.js.map +1 -1
  1154. package/dist/core/privacidad/categorias-especiales.d.ts +186 -0
  1155. package/dist/core/privacidad/categorias-especiales.d.ts.map +1 -0
  1156. package/dist/core/privacidad/categorias-especiales.js +749 -0
  1157. package/dist/core/privacidad/categorias-especiales.js.map +1 -0
  1158. package/dist/core/privacidad/tapar.d.ts +48 -0
  1159. package/dist/core/privacidad/tapar.d.ts.map +1 -0
  1160. package/dist/core/privacidad/tapar.js +66 -0
  1161. package/dist/core/privacidad/tapar.js.map +1 -0
  1162. package/dist/core/project-memory.d.ts.map +1 -1
  1163. package/dist/core/project-memory.js.map +1 -1
  1164. package/dist/core/project-trust.d.ts.map +1 -1
  1165. package/dist/core/project-trust.js.map +1 -1
  1166. package/dist/core/prompt-cache/diagnostics.d.ts +33 -0
  1167. package/dist/core/prompt-cache/diagnostics.d.ts.map +1 -0
  1168. package/dist/core/prompt-cache/diagnostics.js +100 -0
  1169. package/dist/core/prompt-cache/diagnostics.js.map +1 -0
  1170. package/dist/core/prompt-cache/index.d.ts +33 -0
  1171. package/dist/core/prompt-cache/index.d.ts.map +1 -0
  1172. package/dist/core/prompt-cache/index.js +189 -0
  1173. package/dist/core/prompt-cache/index.js.map +1 -0
  1174. package/dist/core/prompt-cache/payload.d.ts +58 -0
  1175. package/dist/core/prompt-cache/payload.d.ts.map +1 -0
  1176. package/dist/core/prompt-cache/payload.js +122 -0
  1177. package/dist/core/prompt-cache/payload.js.map +1 -0
  1178. package/dist/core/prompt-cache/stabilize.d.ts +65 -0
  1179. package/dist/core/prompt-cache/stabilize.d.ts.map +1 -0
  1180. package/dist/core/prompt-cache/stabilize.js +137 -0
  1181. package/dist/core/prompt-cache/stabilize.js.map +1 -0
  1182. package/dist/core/prompt-cache/stats.d.ts +55 -0
  1183. package/dist/core/prompt-cache/stats.d.ts.map +1 -0
  1184. package/dist/core/prompt-cache/stats.js +158 -0
  1185. package/dist/core/prompt-cache/stats.js.map +1 -0
  1186. package/dist/core/prompt-eleccion.d.ts +38 -0
  1187. package/dist/core/prompt-eleccion.d.ts.map +1 -0
  1188. package/dist/core/prompt-eleccion.js +46 -0
  1189. package/dist/core/prompt-eleccion.js.map +1 -0
  1190. package/dist/core/prompt-optimizer.d.ts.map +1 -1
  1191. package/dist/core/prompt-optimizer.js.map +1 -1
  1192. package/dist/core/prompt-templates.d.ts.map +1 -1
  1193. package/dist/core/prompt-templates.js.map +1 -1
  1194. package/dist/core/prompts/montar.d.ts +75 -0
  1195. package/dist/core/prompts/montar.d.ts.map +1 -0
  1196. package/dist/core/prompts/montar.js +146 -0
  1197. package/dist/core/prompts/montar.js.map +1 -0
  1198. package/dist/core/prompts/plantilla.d.ts +54 -0
  1199. package/dist/core/prompts/plantilla.d.ts.map +1 -0
  1200. package/dist/core/prompts/plantilla.js +153 -0
  1201. package/dist/core/prompts/plantilla.js.map +1 -0
  1202. package/dist/core/proveedores-registry/definiciones.d.ts +15 -0
  1203. package/dist/core/proveedores-registry/definiciones.d.ts.map +1 -0
  1204. package/dist/core/proveedores-registry/definiciones.js +22 -0
  1205. package/dist/core/proveedores-registry/definiciones.js.map +1 -0
  1206. package/dist/core/proveedores-registry/index.d.ts +14 -0
  1207. package/dist/core/proveedores-registry/index.d.ts.map +1 -0
  1208. package/dist/core/proveedores-registry/index.js +13 -0
  1209. package/dist/core/proveedores-registry/index.js.map +1 -0
  1210. package/dist/core/proveedores-registry/resolver.d.ts +25 -0
  1211. package/dist/core/proveedores-registry/resolver.d.ts.map +1 -0
  1212. package/dist/core/proveedores-registry/resolver.js +69 -0
  1213. package/dist/core/proveedores-registry/resolver.js.map +1 -0
  1214. package/dist/core/proveedores-registry/tipos.d.ts +47 -0
  1215. package/dist/core/proveedores-registry/tipos.d.ts.map +1 -0
  1216. package/dist/core/proveedores-registry/tipos.js +15 -0
  1217. package/dist/core/proveedores-registry/tipos.js.map +1 -0
  1218. package/dist/core/provider-attribution.d.ts +24 -2
  1219. package/dist/core/provider-attribution.d.ts.map +1 -1
  1220. package/dist/core/provider-attribution.js +24 -42
  1221. package/dist/core/provider-attribution.js.map +1 -1
  1222. package/dist/core/provider-composer.d.ts.map +1 -1
  1223. package/dist/core/provider-composer.js.map +1 -1
  1224. package/dist/core/radius.d.ts.map +1 -1
  1225. package/dist/core/radius.js.map +1 -1
  1226. package/dist/core/remote-catalog-provider.d.ts.map +1 -1
  1227. package/dist/core/remote-catalog-provider.js.map +1 -1
  1228. package/dist/core/remoto/destino.d.ts +38 -0
  1229. package/dist/core/remoto/destino.d.ts.map +1 -0
  1230. package/dist/core/remoto/destino.js +105 -0
  1231. package/dist/core/remoto/destino.js.map +1 -0
  1232. package/dist/core/remoto/ejecutor.d.ts +59 -0
  1233. package/dist/core/remoto/ejecutor.d.ts.map +1 -0
  1234. package/dist/core/remoto/ejecutor.js +225 -0
  1235. package/dist/core/remoto/ejecutor.js.map +1 -0
  1236. package/dist/core/remoto/ficheros.d.ts +29 -0
  1237. package/dist/core/remoto/ficheros.d.ts.map +1 -0
  1238. package/dist/core/remoto/ficheros.js +90 -0
  1239. package/dist/core/remoto/ficheros.js.map +1 -0
  1240. package/dist/core/remoto/registro-extension.d.ts +15 -0
  1241. package/dist/core/remoto/registro-extension.d.ts.map +1 -0
  1242. package/dist/core/remoto/registro-extension.js +17 -0
  1243. package/dist/core/remoto/registro-extension.js.map +1 -0
  1244. package/dist/core/remoto/tools.d.ts +28 -0
  1245. package/dist/core/remoto/tools.d.ts.map +1 -0
  1246. package/dist/core/remoto/tools.js +31 -0
  1247. package/dist/core/remoto/tools.js.map +1 -0
  1248. package/dist/core/reparacion/index.d.ts +2 -0
  1249. package/dist/core/reparacion/index.d.ts.map +1 -0
  1250. package/dist/core/reparacion/index.js +2 -0
  1251. package/dist/core/reparacion/index.js.map +1 -0
  1252. package/dist/core/reparacion/reparar-hunk.d.ts +27 -0
  1253. package/dist/core/reparacion/reparar-hunk.d.ts.map +1 -0
  1254. package/dist/core/reparacion/reparar-hunk.js +139 -0
  1255. package/dist/core/reparacion/reparar-hunk.js.map +1 -0
  1256. package/dist/core/resolve-config-value.d.ts.map +1 -1
  1257. package/dist/core/resolve-config-value.js.map +1 -1
  1258. package/dist/core/resource-loader.d.ts +21 -0
  1259. package/dist/core/resource-loader.d.ts.map +1 -1
  1260. package/dist/core/resource-loader.js +96 -1
  1261. package/dist/core/resource-loader.js.map +1 -1
  1262. package/dist/core/revision/dispositions.d.ts +86 -0
  1263. package/dist/core/revision/dispositions.d.ts.map +1 -0
  1264. package/dist/core/revision/dispositions.js +137 -0
  1265. package/dist/core/revision/dispositions.js.map +1 -0
  1266. package/dist/core/revision/hallazgo.d.ts +51 -0
  1267. package/dist/core/revision/hallazgo.d.ts.map +1 -0
  1268. package/dist/core/revision/hallazgo.js +73 -0
  1269. package/dist/core/revision/hallazgo.js.map +1 -0
  1270. package/dist/core/revision/procedencia.d.ts +63 -0
  1271. package/dist/core/revision/procedencia.d.ts.map +1 -0
  1272. package/dist/core/revision/procedencia.js +72 -0
  1273. package/dist/core/revision/procedencia.js.map +1 -0
  1274. package/dist/core/revision/publicar.d.ts +26 -0
  1275. package/dist/core/revision/publicar.d.ts.map +1 -0
  1276. package/dist/core/revision/publicar.js +34 -0
  1277. package/dist/core/revision/publicar.js.map +1 -0
  1278. package/dist/core/revision/revisor.d.ts +81 -0
  1279. package/dist/core/revision/revisor.d.ts.map +1 -0
  1280. package/dist/core/revision/revisor.js +132 -0
  1281. package/dist/core/revision/revisor.js.map +1 -0
  1282. package/dist/core/revision/sarif.d.ts +30 -0
  1283. package/dist/core/revision/sarif.d.ts.map +1 -0
  1284. package/dist/core/revision/sarif.js +83 -0
  1285. package/dist/core/revision/sarif.js.map +1 -0
  1286. package/dist/core/router-uris/index.d.ts +12 -0
  1287. package/dist/core/router-uris/index.d.ts.map +1 -0
  1288. package/dist/core/router-uris/index.js +12 -0
  1289. package/dist/core/router-uris/index.js.map +1 -0
  1290. package/dist/core/router-uris/router.d.ts +2 -0
  1291. package/dist/core/router-uris/router.d.ts.map +1 -0
  1292. package/dist/core/router-uris/router.js +2 -0
  1293. package/dist/core/router-uris/router.js.map +1 -0
  1294. package/dist/core/runtime-credentials.d.ts.map +1 -1
  1295. package/dist/core/runtime-credentials.js.map +1 -1
  1296. package/dist/core/rutas/envoltorio.d.ts +20 -0
  1297. package/dist/core/rutas/envoltorio.d.ts.map +1 -0
  1298. package/dist/core/rutas/envoltorio.js +48 -0
  1299. package/dist/core/rutas/envoltorio.js.map +1 -0
  1300. package/dist/core/rutas/index.d.ts +11 -0
  1301. package/dist/core/rutas/index.d.ts.map +1 -0
  1302. package/dist/core/rutas/index.js +11 -0
  1303. package/dist/core/rutas/index.js.map +1 -0
  1304. package/dist/core/rutas/router.d.ts +82 -0
  1305. package/dist/core/rutas/router.d.ts.map +1 -0
  1306. package/dist/core/rutas/router.js +161 -0
  1307. package/dist/core/rutas/router.js.map +1 -0
  1308. package/dist/core/scheduler/scheduler.d.ts +87 -0
  1309. package/dist/core/scheduler/scheduler.d.ts.map +1 -0
  1310. package/dist/core/scheduler/scheduler.js +178 -0
  1311. package/dist/core/scheduler/scheduler.js.map +1 -0
  1312. package/dist/core/sdk.d.ts.map +1 -1
  1313. package/dist/core/sdk.js.map +1 -1
  1314. package/dist/core/secretos/extension.d.ts +31 -0
  1315. package/dist/core/secretos/extension.d.ts.map +1 -0
  1316. package/dist/core/secretos/extension.js +64 -0
  1317. package/dist/core/secretos/extension.js.map +1 -0
  1318. package/dist/core/secretos/index.d.ts +75 -0
  1319. package/dist/core/secretos/index.d.ts.map +1 -0
  1320. package/dist/core/secretos/index.js +385 -0
  1321. package/dist/core/secretos/index.js.map +1 -0
  1322. package/dist/core/secretos/message-transform.d.ts +44 -0
  1323. package/dist/core/secretos/message-transform.d.ts.map +1 -0
  1324. package/dist/core/secretos/message-transform.js +246 -0
  1325. package/dist/core/secretos/message-transform.js.map +1 -0
  1326. package/dist/core/secretos/obfuscator.d.ts +30 -0
  1327. package/dist/core/secretos/obfuscator.d.ts.map +1 -0
  1328. package/dist/core/secretos/obfuscator.js +1182 -0
  1329. package/dist/core/secretos/obfuscator.js.map +1 -0
  1330. package/dist/core/secretos/placeholder-scan.d.ts +96 -0
  1331. package/dist/core/secretos/placeholder-scan.d.ts.map +1 -0
  1332. package/dist/core/secretos/placeholder-scan.js +433 -0
  1333. package/dist/core/secretos/placeholder-scan.js.map +1 -0
  1334. package/dist/core/secretos/placeholder.d.ts +95 -0
  1335. package/dist/core/secretos/placeholder.d.ts.map +1 -0
  1336. package/dist/core/secretos/placeholder.js +283 -0
  1337. package/dist/core/secretos/placeholder.js.map +1 -0
  1338. package/dist/core/secretos/regex.d.ts +3 -0
  1339. package/dist/core/secretos/regex.d.ts.map +1 -0
  1340. package/dist/core/secretos/regex.js +19 -0
  1341. package/dist/core/secretos/regex.js.map +1 -0
  1342. package/dist/core/secretos/replacement.d.ts +83 -0
  1343. package/dist/core/secretos/replacement.d.ts.map +1 -0
  1344. package/dist/core/secretos/replacement.js +211 -0
  1345. package/dist/core/secretos/replacement.js.map +1 -0
  1346. package/dist/core/sesion/cerrar-llamadas-abiertas.d.ts +49 -0
  1347. package/dist/core/sesion/cerrar-llamadas-abiertas.d.ts.map +1 -0
  1348. package/dist/core/sesion/cerrar-llamadas-abiertas.js +77 -0
  1349. package/dist/core/sesion/cerrar-llamadas-abiertas.js.map +1 -0
  1350. package/dist/core/sesion/journal-tree.d.ts +73 -0
  1351. package/dist/core/sesion/journal-tree.d.ts.map +1 -0
  1352. package/dist/core/sesion/journal-tree.js +241 -0
  1353. package/dist/core/sesion/journal-tree.js.map +1 -0
  1354. package/dist/core/sesion/turn-recovery.d.ts +48 -0
  1355. package/dist/core/sesion/turn-recovery.d.ts.map +1 -0
  1356. package/dist/core/sesion/turn-recovery.js +182 -0
  1357. package/dist/core/sesion/turn-recovery.js.map +1 -0
  1358. package/dist/core/session-cwd.d.ts.map +1 -1
  1359. package/dist/core/session-cwd.js.map +1 -1
  1360. package/dist/core/session-manager.d.ts.map +1 -1
  1361. package/dist/core/session-manager.js.map +1 -1
  1362. package/dist/core/settings-diagnostics.d.ts.map +1 -1
  1363. package/dist/core/settings-diagnostics.js.map +1 -1
  1364. package/dist/core/settings-manager.d.ts +110 -6
  1365. package/dist/core/settings-manager.d.ts.map +1 -1
  1366. package/dist/core/settings-manager.js +53 -2
  1367. package/dist/core/settings-manager.js.map +1 -1
  1368. package/dist/core/share/cifrado.d.ts +39 -0
  1369. package/dist/core/share/cifrado.d.ts.map +1 -0
  1370. package/dist/core/share/cifrado.js +81 -0
  1371. package/dist/core/share/cifrado.js.map +1 -0
  1372. package/dist/core/share/exportar.d.ts +69 -0
  1373. package/dist/core/share/exportar.d.ts.map +1 -0
  1374. package/dist/core/share/exportar.js +247 -0
  1375. package/dist/core/share/exportar.js.map +1 -0
  1376. package/dist/core/skills.d.ts.map +1 -1
  1377. package/dist/core/skills.js.map +1 -1
  1378. package/dist/core/slash-commands.d.ts.map +1 -1
  1379. package/dist/core/slash-commands.js +3 -3
  1380. package/dist/core/slash-commands.js.map +1 -1
  1381. package/dist/core/source-info.d.ts.map +1 -1
  1382. package/dist/core/source-info.js.map +1 -1
  1383. package/dist/core/stream-guard/guardia.d.ts +45 -0
  1384. package/dist/core/stream-guard/guardia.d.ts.map +1 -0
  1385. package/dist/core/stream-guard/guardia.js +100 -0
  1386. package/dist/core/stream-guard/guardia.js.map +1 -0
  1387. package/dist/core/stream-guard/index.d.ts +9 -0
  1388. package/dist/core/stream-guard/index.d.ts.map +1 -0
  1389. package/dist/core/stream-guard/index.js +7 -0
  1390. package/dist/core/stream-guard/index.js.map +1 -0
  1391. package/dist/core/stream-guard/replay.d.ts +39 -0
  1392. package/dist/core/stream-guard/replay.d.ts.map +1 -0
  1393. package/dist/core/stream-guard/replay.js +68 -0
  1394. package/dist/core/stream-guard/replay.js.map +1 -0
  1395. package/dist/core/system-prompt.d.ts +17 -0
  1396. package/dist/core/system-prompt.d.ts.map +1 -1
  1397. package/dist/core/system-prompt.js +13 -5
  1398. package/dist/core/system-prompt.js.map +1 -1
  1399. package/dist/core/telemetria/otlp.d.ts +122 -0
  1400. package/dist/core/telemetria/otlp.d.ts.map +1 -0
  1401. package/dist/core/telemetria/otlp.js +373 -0
  1402. package/dist/core/telemetria/otlp.js.map +1 -0
  1403. package/dist/core/telemetry/otel-genai.d.ts +44 -0
  1404. package/dist/core/telemetry/otel-genai.d.ts.map +1 -0
  1405. package/dist/core/telemetry/otel-genai.js +124 -0
  1406. package/dist/core/telemetry/otel-genai.js.map +1 -0
  1407. package/dist/core/telemetry.d.ts.map +1 -1
  1408. package/dist/core/telemetry.js.map +1 -1
  1409. package/dist/core/terminal/backlog-guard.d.ts +53 -0
  1410. package/dist/core/terminal/backlog-guard.d.ts.map +1 -0
  1411. package/dist/core/terminal/backlog-guard.js +122 -0
  1412. package/dist/core/terminal/backlog-guard.js.map +1 -0
  1413. package/dist/core/terminal/conpty.d.ts +29 -0
  1414. package/dist/core/terminal/conpty.d.ts.map +1 -0
  1415. package/dist/core/terminal/conpty.js +67 -0
  1416. package/dist/core/terminal/conpty.js.map +1 -0
  1417. package/dist/core/terminal/conptyChunking.d.ts +2 -0
  1418. package/dist/core/terminal/conptyChunking.d.ts.map +1 -0
  1419. package/dist/core/terminal/conptyChunking.js +2 -0
  1420. package/dist/core/terminal/conptyChunking.js.map +1 -0
  1421. package/dist/core/terminal/index.d.ts +5 -0
  1422. package/dist/core/terminal/index.d.ts.map +1 -0
  1423. package/dist/core/terminal/index.js +5 -0
  1424. package/dist/core/terminal/index.js.map +1 -0
  1425. package/dist/core/terminal/loop-watchdog.d.ts +43 -0
  1426. package/dist/core/terminal/loop-watchdog.d.ts.map +1 -0
  1427. package/dist/core/terminal/loop-watchdog.js +117 -0
  1428. package/dist/core/terminal/loop-watchdog.js.map +1 -0
  1429. package/dist/core/terminal/runner.d.ts +55 -0
  1430. package/dist/core/terminal/runner.d.ts.map +1 -0
  1431. package/dist/core/terminal/runner.js +102 -0
  1432. package/dist/core/terminal/runner.js.map +1 -0
  1433. package/dist/core/timings.d.ts.map +1 -1
  1434. package/dist/core/timings.js.map +1 -1
  1435. package/dist/core/tools/apply_patch.d.ts +29 -0
  1436. package/dist/core/tools/apply_patch.d.ts.map +1 -0
  1437. package/dist/core/tools/apply_patch.js +54 -0
  1438. package/dist/core/tools/apply_patch.js.map +1 -0
  1439. package/dist/core/tools/bash.d.ts.map +1 -1
  1440. package/dist/core/tools/bash.js.map +1 -1
  1441. package/dist/core/tools/coercion-argumentos.d.ts +48 -0
  1442. package/dist/core/tools/coercion-argumentos.d.ts.map +1 -0
  1443. package/dist/core/tools/coercion-argumentos.js +99 -0
  1444. package/dist/core/tools/coercion-argumentos.js.map +1 -0
  1445. package/dist/core/tools/edit-diff.d.ts +0 -7
  1446. package/dist/core/tools/edit-diff.d.ts.map +1 -1
  1447. package/dist/core/tools/edit-diff.js +232 -7
  1448. package/dist/core/tools/edit-diff.js.map +1 -1
  1449. package/dist/core/tools/edit.d.ts.map +1 -1
  1450. package/dist/core/tools/edit.js +51 -2
  1451. package/dist/core/tools/edit.js.map +1 -1
  1452. package/dist/core/tools/file-mutation-queue.d.ts.map +1 -1
  1453. package/dist/core/tools/file-mutation-queue.js +5 -0
  1454. package/dist/core/tools/file-mutation-queue.js.map +1 -1
  1455. package/dist/core/tools/find.d.ts.map +1 -1
  1456. package/dist/core/tools/find.js.map +1 -1
  1457. package/dist/core/tools/grep.d.ts.map +1 -1
  1458. package/dist/core/tools/grep.js.map +1 -1
  1459. package/dist/core/tools/index.d.ts.map +1 -1
  1460. package/dist/core/tools/index.js.map +1 -1
  1461. package/dist/core/tools/json-tolerante.d.ts +30 -0
  1462. package/dist/core/tools/json-tolerante.d.ts.map +1 -0
  1463. package/dist/core/tools/json-tolerante.js +70 -0
  1464. package/dist/core/tools/json-tolerante.js.map +1 -0
  1465. package/dist/core/tools/ls.d.ts.map +1 -1
  1466. package/dist/core/tools/ls.js.map +1 -1
  1467. package/dist/core/tools/noop-loop-guard.d.ts +46 -0
  1468. package/dist/core/tools/noop-loop-guard.d.ts.map +1 -0
  1469. package/dist/core/tools/noop-loop-guard.js +57 -0
  1470. package/dist/core/tools/noop-loop-guard.js.map +1 -0
  1471. package/dist/core/tools/output-accumulator.d.ts.map +1 -1
  1472. package/dist/core/tools/output-accumulator.js.map +1 -1
  1473. package/dist/core/tools/path-utils.d.ts.map +1 -1
  1474. package/dist/core/tools/path-utils.js.map +1 -1
  1475. package/dist/core/tools/project-memory-tool.d.ts.map +1 -1
  1476. package/dist/core/tools/project-memory-tool.js.map +1 -1
  1477. package/dist/core/tools/read.d.ts.map +1 -1
  1478. package/dist/core/tools/read.js +17 -0
  1479. package/dist/core/tools/read.js.map +1 -1
  1480. package/dist/core/tools/render-utils.d.ts.map +1 -1
  1481. package/dist/core/tools/render-utils.js.map +1 -1
  1482. package/dist/core/tools/tool-definition-wrapper.d.ts +14 -1
  1483. package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -1
  1484. package/dist/core/tools/tool-definition-wrapper.js +17 -1
  1485. package/dist/core/tools/tool-definition-wrapper.js.map +1 -1
  1486. package/dist/core/tools/truncate.d.ts.map +1 -1
  1487. package/dist/core/tools/truncate.js.map +1 -1
  1488. package/dist/core/tools/write.d.ts.map +1 -1
  1489. package/dist/core/tools/write.js.map +1 -1
  1490. package/dist/core/trust-manager.d.ts.map +1 -1
  1491. package/dist/core/trust-manager.js.map +1 -1
  1492. package/dist/core/ttsr/captura.d.ts +72 -0
  1493. package/dist/core/ttsr/captura.d.ts.map +1 -0
  1494. package/dist/core/ttsr/captura.js +183 -0
  1495. package/dist/core/ttsr/captura.js.map +1 -0
  1496. package/dist/core/ttsr/index.d.ts +24 -0
  1497. package/dist/core/ttsr/index.d.ts.map +1 -0
  1498. package/dist/core/ttsr/index.js +57 -0
  1499. package/dist/core/ttsr/index.js.map +1 -0
  1500. package/dist/core/ttsr/preview.d.ts +48 -0
  1501. package/dist/core/ttsr/preview.d.ts.map +1 -0
  1502. package/dist/core/ttsr/preview.js +83 -0
  1503. package/dist/core/ttsr/preview.js.map +1 -0
  1504. package/dist/core/turno-vacio/detectar.d.ts +38 -0
  1505. package/dist/core/turno-vacio/detectar.d.ts.map +1 -0
  1506. package/dist/core/turno-vacio/detectar.js +66 -0
  1507. package/dist/core/turno-vacio/detectar.js.map +1 -0
  1508. package/dist/core/undo/journal.d.ts +57 -0
  1509. package/dist/core/undo/journal.d.ts.map +1 -0
  1510. package/dist/core/undo/journal.js +178 -0
  1511. package/dist/core/undo/journal.js.map +1 -0
  1512. package/dist/core/urls-internas/auditoria.d.ts +10 -0
  1513. package/dist/core/urls-internas/auditoria.d.ts.map +1 -0
  1514. package/dist/core/urls-internas/auditoria.js +42 -0
  1515. package/dist/core/urls-internas/auditoria.js.map +1 -0
  1516. package/dist/core/urls-internas/boveda.d.ts +13 -0
  1517. package/dist/core/urls-internas/boveda.d.ts.map +1 -0
  1518. package/dist/core/urls-internas/boveda.js +40 -0
  1519. package/dist/core/urls-internas/boveda.js.map +1 -0
  1520. package/dist/core/urls-internas/lector.d.ts +34 -0
  1521. package/dist/core/urls-internas/lector.d.ts.map +1 -0
  1522. package/dist/core/urls-internas/lector.js +70 -0
  1523. package/dist/core/urls-internas/lector.js.map +1 -0
  1524. package/dist/core/urls-internas/memoria.d.ts +11 -0
  1525. package/dist/core/urls-internas/memoria.d.ts.map +1 -0
  1526. package/dist/core/urls-internas/memoria.js +25 -0
  1527. package/dist/core/urls-internas/memoria.js.map +1 -0
  1528. package/dist/core/urls-internas/parse.d.ts +21 -0
  1529. package/dist/core/urls-internas/parse.d.ts.map +1 -0
  1530. package/dist/core/urls-internas/parse.js +21 -0
  1531. package/dist/core/urls-internas/parse.js.map +1 -0
  1532. package/dist/core/urls-internas/reglas.d.ts +10 -0
  1533. package/dist/core/urls-internas/reglas.d.ts.map +1 -0
  1534. package/dist/core/urls-internas/reglas.js +31 -0
  1535. package/dist/core/urls-internas/reglas.js.map +1 -0
  1536. package/dist/core/usage/aggregate.d.ts +69 -0
  1537. package/dist/core/usage/aggregate.d.ts.map +1 -0
  1538. package/dist/core/usage/aggregate.js +93 -0
  1539. package/dist/core/usage/aggregate.js.map +1 -0
  1540. package/dist/core/usage/cuota/anthropic.d.ts +10 -0
  1541. package/dist/core/usage/cuota/anthropic.d.ts.map +1 -0
  1542. package/dist/core/usage/cuota/anthropic.js +63 -0
  1543. package/dist/core/usage/cuota/anthropic.js.map +1 -0
  1544. package/dist/core/usage/cuota/cache.d.ts +20 -0
  1545. package/dist/core/usage/cuota/cache.d.ts.map +1 -0
  1546. package/dist/core/usage/cuota/cache.js +36 -0
  1547. package/dist/core/usage/cuota/cache.js.map +1 -0
  1548. package/dist/core/usage/cuota/github-copilot.d.ts +9 -0
  1549. package/dist/core/usage/cuota/github-copilot.d.ts.map +1 -0
  1550. package/dist/core/usage/cuota/github-copilot.js +67 -0
  1551. package/dist/core/usage/cuota/github-copilot.js.map +1 -0
  1552. package/dist/core/usage/cuota/google-gemini.d.ts +9 -0
  1553. package/dist/core/usage/cuota/google-gemini.d.ts.map +1 -0
  1554. package/dist/core/usage/cuota/google-gemini.js +72 -0
  1555. package/dist/core/usage/cuota/google-gemini.js.map +1 -0
  1556. package/dist/core/usage/cuota/index.d.ts +25 -0
  1557. package/dist/core/usage/cuota/index.d.ts.map +1 -0
  1558. package/dist/core/usage/cuota/index.js +50 -0
  1559. package/dist/core/usage/cuota/index.js.map +1 -0
  1560. package/dist/core/usage/cuota/openai-codex.d.ts +9 -0
  1561. package/dist/core/usage/cuota/openai-codex.d.ts.map +1 -0
  1562. package/dist/core/usage/cuota/openai-codex.js +59 -0
  1563. package/dist/core/usage/cuota/openai-codex.js.map +1 -0
  1564. package/dist/core/usage/cuota/openrouter.d.ts +10 -0
  1565. package/dist/core/usage/cuota/openrouter.d.ts.map +1 -0
  1566. package/dist/core/usage/cuota/openrouter.js +47 -0
  1567. package/dist/core/usage/cuota/openrouter.js.map +1 -0
  1568. package/dist/core/usage/cuota/tipos.d.ts +50 -0
  1569. package/dist/core/usage/cuota/tipos.d.ts.map +1 -0
  1570. package/dist/core/usage/cuota/tipos.js +25 -0
  1571. package/dist/core/usage/cuota/tipos.js.map +1 -0
  1572. package/dist/core/usage/index.d.ts +11 -0
  1573. package/dist/core/usage/index.d.ts.map +1 -0
  1574. package/dist/core/usage/index.js +11 -0
  1575. package/dist/core/usage/index.js.map +1 -0
  1576. package/dist/core/usage/multi.d.ts +62 -0
  1577. package/dist/core/usage/multi.d.ts.map +1 -0
  1578. package/dist/core/usage/multi.js +122 -0
  1579. package/dist/core/usage/multi.js.map +1 -0
  1580. package/dist/core/usage/redaccion.d.ts +48 -0
  1581. package/dist/core/usage/redaccion.d.ts.map +1 -0
  1582. package/dist/core/usage/redaccion.js +72 -0
  1583. package/dist/core/usage/redaccion.js.map +1 -0
  1584. package/dist/core/usage-totals.d.ts.map +1 -1
  1585. package/dist/core/usage-totals.js.map +1 -1
  1586. package/dist/core/utils/atomic-write.d.ts +55 -0
  1587. package/dist/core/utils/atomic-write.d.ts.map +1 -0
  1588. package/dist/core/utils/atomic-write.js +293 -0
  1589. package/dist/core/utils/atomic-write.js.map +1 -0
  1590. package/dist/core/utils/git.d.ts +24 -0
  1591. package/dist/core/utils/git.d.ts.map +1 -0
  1592. package/dist/core/utils/git.js +107 -0
  1593. package/dist/core/utils/git.js.map +1 -0
  1594. package/dist/core/utils/logger.d.ts +26 -0
  1595. package/dist/core/utils/logger.d.ts.map +1 -0
  1596. package/dist/core/utils/logger.js +104 -0
  1597. package/dist/core/utils/logger.js.map +1 -0
  1598. package/dist/core/utils/shell-snapshot.d.ts +21 -0
  1599. package/dist/core/utils/shell-snapshot.d.ts.map +1 -0
  1600. package/dist/core/utils/shell-snapshot.js +32 -0
  1601. package/dist/core/utils/shell-snapshot.js.map +1 -0
  1602. package/dist/core/utils/startup-watchdog.d.ts +11 -0
  1603. package/dist/core/utils/startup-watchdog.d.ts.map +1 -0
  1604. package/dist/core/utils/startup-watchdog.js +34 -0
  1605. package/dist/core/utils/startup-watchdog.js.map +1 -0
  1606. package/dist/core/utils/tls-ca-shim.d.ts +17 -0
  1607. package/dist/core/utils/tls-ca-shim.d.ts.map +1 -0
  1608. package/dist/core/utils/tls-ca-shim.js +33 -0
  1609. package/dist/core/utils/tls-ca-shim.js.map +1 -0
  1610. package/dist/core/web/agregador.d.ts +67 -0
  1611. package/dist/core/web/agregador.d.ts.map +1 -0
  1612. package/dist/core/web/agregador.js +182 -0
  1613. package/dist/core/web/agregador.js.map +1 -0
  1614. package/dist/core/web/busqueda-nativa.d.ts +82 -0
  1615. package/dist/core/web/busqueda-nativa.d.ts.map +1 -0
  1616. package/dist/core/web/busqueda-nativa.js +163 -0
  1617. package/dist/core/web/busqueda-nativa.js.map +1 -0
  1618. package/dist/core/web/consulta.d.ts +53 -0
  1619. package/dist/core/web/consulta.d.ts.map +1 -0
  1620. package/dist/core/web/consulta.js +213 -0
  1621. package/dist/core/web/consulta.js.map +1 -0
  1622. package/dist/core/web/destino.d.ts +69 -0
  1623. package/dist/core/web/destino.d.ts.map +1 -0
  1624. package/dist/core/web/destino.js +162 -0
  1625. package/dist/core/web/destino.js.map +1 -0
  1626. package/dist/core/web/load-page.d.ts +52 -0
  1627. package/dist/core/web/load-page.d.ts.map +1 -0
  1628. package/dist/core/web/load-page.js +221 -0
  1629. package/dist/core/web/load-page.js.map +1 -0
  1630. package/dist/core/web/proveedores/brave.d.ts +6 -0
  1631. package/dist/core/web/proveedores/brave.d.ts.map +1 -0
  1632. package/dist/core/web/proveedores/brave.js +20 -0
  1633. package/dist/core/web/proveedores/brave.js.map +1 -0
  1634. package/dist/core/web/proveedores/claves.d.ts +19 -0
  1635. package/dist/core/web/proveedores/claves.d.ts.map +1 -0
  1636. package/dist/core/web/proveedores/claves.js +36 -0
  1637. package/dist/core/web/proveedores/claves.js.map +1 -0
  1638. package/dist/core/web/proveedores/duckduckgo.d.ts +3 -0
  1639. package/dist/core/web/proveedores/duckduckgo.d.ts.map +1 -0
  1640. package/dist/core/web/proveedores/duckduckgo.js +109 -0
  1641. package/dist/core/web/proveedores/duckduckgo.js.map +1 -0
  1642. package/dist/core/web/proveedores/ecosia.d.ts +3 -0
  1643. package/dist/core/web/proveedores/ecosia.d.ts.map +1 -0
  1644. package/dist/core/web/proveedores/ecosia.js +72 -0
  1645. package/dist/core/web/proveedores/ecosia.js.map +1 -0
  1646. package/dist/core/web/proveedores/exa.d.ts +6 -0
  1647. package/dist/core/web/proveedores/exa.d.ts.map +1 -0
  1648. package/dist/core/web/proveedores/exa.js +24 -0
  1649. package/dist/core/web/proveedores/exa.js.map +1 -0
  1650. package/dist/core/web/proveedores/mojeek.d.ts +3 -0
  1651. package/dist/core/web/proveedores/mojeek.d.ts.map +1 -0
  1652. package/dist/core/web/proveedores/mojeek.js +65 -0
  1653. package/dist/core/web/proveedores/mojeek.js.map +1 -0
  1654. package/dist/core/web/proveedores/navegador.d.ts +10 -0
  1655. package/dist/core/web/proveedores/navegador.d.ts.map +1 -0
  1656. package/dist/core/web/proveedores/navegador.js +13 -0
  1657. package/dist/core/web/proveedores/navegador.js.map +1 -0
  1658. package/dist/core/web/proveedores/registro.d.ts +43 -0
  1659. package/dist/core/web/proveedores/registro.d.ts.map +1 -0
  1660. package/dist/core/web/proveedores/registro.js +49 -0
  1661. package/dist/core/web/proveedores/registro.js.map +1 -0
  1662. package/dist/core/web/proveedores/searxng.d.ts +9 -0
  1663. package/dist/core/web/proveedores/searxng.d.ts.map +1 -0
  1664. package/dist/core/web/proveedores/searxng.js +17 -0
  1665. package/dist/core/web/proveedores/searxng.js.map +1 -0
  1666. package/dist/core/web/proveedores/serper.d.ts +9 -0
  1667. package/dist/core/web/proveedores/serper.d.ts.map +1 -0
  1668. package/dist/core/web/proveedores/serper.js +19 -0
  1669. package/dist/core/web/proveedores/serper.js.map +1 -0
  1670. package/dist/core/web/proveedores/tavily.d.ts +6 -0
  1671. package/dist/core/web/proveedores/tavily.d.ts.map +1 -0
  1672. package/dist/core/web/proveedores/tavily.js +19 -0
  1673. package/dist/core/web/proveedores/tavily.js.map +1 -0
  1674. package/dist/core/web/proveedores/tipos.d.ts +36 -0
  1675. package/dist/core/web/proveedores/tipos.d.ts.map +1 -0
  1676. package/dist/core/web/proveedores/tipos.js +10 -0
  1677. package/dist/core/web/proveedores/tipos.js.map +1 -0
  1678. package/dist/core/web/registro-red.d.ts +43 -0
  1679. package/dist/core/web/registro-red.d.ts.map +1 -0
  1680. package/dist/core/web/registro-red.js +86 -0
  1681. package/dist/core/web/registro-red.js.map +1 -0
  1682. package/dist/core/web/scrapers/cisa-kev.d.ts +10 -0
  1683. package/dist/core/web/scrapers/cisa-kev.d.ts.map +1 -0
  1684. package/dist/core/web/scrapers/cisa-kev.js +38 -0
  1685. package/dist/core/web/scrapers/cisa-kev.js.map +1 -0
  1686. package/dist/core/web/scrapers/crates-io.d.ts +11 -0
  1687. package/dist/core/web/scrapers/crates-io.d.ts.map +1 -0
  1688. package/dist/core/web/scrapers/crates-io.js +29 -0
  1689. package/dist/core/web/scrapers/crates-io.js.map +1 -0
  1690. package/dist/core/web/scrapers/docs-rs.d.ts +10 -0
  1691. package/dist/core/web/scrapers/docs-rs.d.ts.map +1 -0
  1692. package/dist/core/web/scrapers/docs-rs.js +35 -0
  1693. package/dist/core/web/scrapers/docs-rs.js.map +1 -0
  1694. package/dist/core/web/scrapers/github.d.ts +3 -0
  1695. package/dist/core/web/scrapers/github.d.ts.map +1 -0
  1696. package/dist/core/web/scrapers/github.js +72 -0
  1697. package/dist/core/web/scrapers/github.js.map +1 -0
  1698. package/dist/core/web/scrapers/go-pkg.d.ts +7 -0
  1699. package/dist/core/web/scrapers/go-pkg.d.ts.map +1 -0
  1700. package/dist/core/web/scrapers/go-pkg.js +30 -0
  1701. package/dist/core/web/scrapers/go-pkg.js.map +1 -0
  1702. package/dist/core/web/scrapers/hex.d.ts +6 -0
  1703. package/dist/core/web/scrapers/hex.d.ts.map +1 -0
  1704. package/dist/core/web/scrapers/hex.js +27 -0
  1705. package/dist/core/web/scrapers/hex.js.map +1 -0
  1706. package/dist/core/web/scrapers/maven.d.ts +8 -0
  1707. package/dist/core/web/scrapers/maven.d.ts.map +1 -0
  1708. package/dist/core/web/scrapers/maven.js +41 -0
  1709. package/dist/core/web/scrapers/maven.js.map +1 -0
  1710. package/dist/core/web/scrapers/mdn.d.ts +6 -0
  1711. package/dist/core/web/scrapers/mdn.d.ts.map +1 -0
  1712. package/dist/core/web/scrapers/mdn.js +28 -0
  1713. package/dist/core/web/scrapers/mdn.js.map +1 -0
  1714. package/dist/core/web/scrapers/npm.d.ts +11 -0
  1715. package/dist/core/web/scrapers/npm.d.ts.map +1 -0
  1716. package/dist/core/web/scrapers/npm.js +57 -0
  1717. package/dist/core/web/scrapers/npm.js.map +1 -0
  1718. package/dist/core/web/scrapers/nuget.d.ts +8 -0
  1719. package/dist/core/web/scrapers/nuget.d.ts.map +1 -0
  1720. package/dist/core/web/scrapers/nuget.js +22 -0
  1721. package/dist/core/web/scrapers/nuget.js.map +1 -0
  1722. package/dist/core/web/scrapers/nvd.d.ts +7 -0
  1723. package/dist/core/web/scrapers/nvd.d.ts.map +1 -0
  1724. package/dist/core/web/scrapers/nvd.js +37 -0
  1725. package/dist/core/web/scrapers/nvd.js.map +1 -0
  1726. package/dist/core/web/scrapers/pypi.d.ts +6 -0
  1727. package/dist/core/web/scrapers/pypi.d.ts.map +1 -0
  1728. package/dist/core/web/scrapers/pypi.js +31 -0
  1729. package/dist/core/web/scrapers/pypi.js.map +1 -0
  1730. package/dist/core/web/scrapers/registro.d.ts +13 -0
  1731. package/dist/core/web/scrapers/registro.d.ts.map +1 -0
  1732. package/dist/core/web/scrapers/registro.js +65 -0
  1733. package/dist/core/web/scrapers/registro.js.map +1 -0
  1734. package/dist/core/web/scrapers/rubygems.d.ts +6 -0
  1735. package/dist/core/web/scrapers/rubygems.d.ts.map +1 -0
  1736. package/dist/core/web/scrapers/rubygems.js +23 -0
  1737. package/dist/core/web/scrapers/rubygems.js.map +1 -0
  1738. package/dist/core/web/scrapers/stackoverflow.d.ts +3 -0
  1739. package/dist/core/web/scrapers/stackoverflow.d.ts.map +1 -0
  1740. package/dist/core/web/scrapers/stackoverflow.js +46 -0
  1741. package/dist/core/web/scrapers/stackoverflow.js.map +1 -0
  1742. package/dist/core/web/scrapers/tipos.d.ts +42 -0
  1743. package/dist/core/web/scrapers/tipos.d.ts.map +1 -0
  1744. package/dist/core/web/scrapers/tipos.js +23 -0
  1745. package/dist/core/web/scrapers/tipos.js.map +1 -0
  1746. package/dist/core/web/texto.d.ts +10 -0
  1747. package/dist/core/web/texto.d.ts.map +1 -0
  1748. package/dist/core/web/texto.js +26 -0
  1749. package/dist/core/web/texto.js.map +1 -0
  1750. package/dist/core/web/tools.d.ts +84 -0
  1751. package/dist/core/web/tools.d.ts.map +1 -0
  1752. package/dist/core/web/tools.js +273 -0
  1753. package/dist/core/web/tools.js.map +1 -0
  1754. package/dist/core/wiki/almacen.d.ts +33 -0
  1755. package/dist/core/wiki/almacen.d.ts.map +1 -0
  1756. package/dist/core/wiki/almacen.js +93 -0
  1757. package/dist/core/wiki/almacen.js.map +1 -0
  1758. package/dist/core/wiki/citas.d.ts +111 -0
  1759. package/dist/core/wiki/citas.d.ts.map +1 -0
  1760. package/dist/core/wiki/citas.js +146 -0
  1761. package/dist/core/wiki/citas.js.map +1 -0
  1762. package/dist/core/workflows/agent-runner.d.ts +2 -0
  1763. package/dist/core/workflows/agent-runner.d.ts.map +1 -1
  1764. package/dist/core/workflows/agent-runner.js +131 -44
  1765. package/dist/core/workflows/agent-runner.js.map +1 -1
  1766. package/dist/core/workflows/builtins.d.ts.map +1 -1
  1767. package/dist/core/workflows/builtins.js +1 -0
  1768. package/dist/core/workflows/builtins.js.map +1 -1
  1769. package/dist/core/workflows/contrato/esquema.d.ts +32 -0
  1770. package/dist/core/workflows/contrato/esquema.d.ts.map +1 -0
  1771. package/dist/core/workflows/contrato/esquema.js +25 -0
  1772. package/dist/core/workflows/contrato/esquema.js.map +1 -0
  1773. package/dist/core/workflows/contrato/reparar-argumentos.d.ts +69 -0
  1774. package/dist/core/workflows/contrato/reparar-argumentos.d.ts.map +1 -0
  1775. package/dist/core/workflows/contrato/reparar-argumentos.js +117 -0
  1776. package/dist/core/workflows/contrato/reparar-argumentos.js.map +1 -0
  1777. package/dist/core/workflows/contrato/validador.d.ts +30 -0
  1778. package/dist/core/workflows/contrato/validador.d.ts.map +1 -0
  1779. package/dist/core/workflows/contrato/validador.js +56 -0
  1780. package/dist/core/workflows/contrato/validador.js.map +1 -0
  1781. package/dist/core/workflows/contrato/yield.d.ts +65 -0
  1782. package/dist/core/workflows/contrato/yield.d.ts.map +1 -0
  1783. package/dist/core/workflows/contrato/yield.js +80 -0
  1784. package/dist/core/workflows/contrato/yield.js.map +1 -0
  1785. package/dist/core/workflows/goal-engine/engine.d.ts +22 -0
  1786. package/dist/core/workflows/goal-engine/engine.d.ts.map +1 -1
  1787. package/dist/core/workflows/goal-engine/engine.js +41 -0
  1788. package/dist/core/workflows/goal-engine/engine.js.map +1 -1
  1789. package/dist/core/workflows/goal-engine/errors.d.ts.map +1 -1
  1790. package/dist/core/workflows/goal-engine/errors.js.map +1 -1
  1791. package/dist/core/workflows/goal-engine/index.d.ts.map +1 -1
  1792. package/dist/core/workflows/goal-engine/index.js.map +1 -1
  1793. package/dist/core/workflows/goal-engine/persistence.d.ts.map +1 -1
  1794. package/dist/core/workflows/goal-engine/persistence.js.map +1 -1
  1795. package/dist/core/workflows/goal-engine/prompts.d.ts.map +1 -1
  1796. package/dist/core/workflows/goal-engine/prompts.js.map +1 -1
  1797. package/dist/core/workflows/goal-engine/state.d.ts.map +1 -1
  1798. package/dist/core/workflows/goal-engine/state.js.map +1 -1
  1799. package/dist/core/workflows/goal-engine/tools.d.ts.map +1 -1
  1800. package/dist/core/workflows/goal-engine/tools.js.map +1 -1
  1801. package/dist/core/workflows/goal-engine/types.d.ts.map +1 -1
  1802. package/dist/core/workflows/goal-engine/types.js.map +1 -1
  1803. package/dist/core/workflows/goal-engine/worktree-fingerprint.d.ts.map +1 -1
  1804. package/dist/core/workflows/goal-engine/worktree-fingerprint.js.map +1 -1
  1805. package/dist/core/workflows/graph-sync.d.ts.map +1 -1
  1806. package/dist/core/workflows/graph-sync.js.map +1 -1
  1807. package/dist/core/workflows/graph.d.ts.map +1 -1
  1808. package/dist/core/workflows/graph.js.map +1 -1
  1809. package/dist/core/workflows/index.d.ts +14 -0
  1810. package/dist/core/workflows/index.d.ts.map +1 -1
  1811. package/dist/core/workflows/index.js +7 -0
  1812. package/dist/core/workflows/index.js.map +1 -1
  1813. package/dist/core/workflows/journal.d.ts.map +1 -1
  1814. package/dist/core/workflows/journal.js.map +1 -1
  1815. package/dist/core/workflows/manager.d.ts +10 -0
  1816. package/dist/core/workflows/manager.d.ts.map +1 -1
  1817. package/dist/core/workflows/manager.js +35 -11
  1818. package/dist/core/workflows/manager.js.map +1 -1
  1819. package/dist/core/workflows/provider-caps.d.ts +103 -0
  1820. package/dist/core/workflows/provider-caps.d.ts.map +1 -0
  1821. package/dist/core/workflows/provider-caps.js +235 -0
  1822. package/dist/core/workflows/provider-caps.js.map +1 -0
  1823. package/dist/core/workflows/resolve-script.d.ts.map +1 -1
  1824. package/dist/core/workflows/resolve-script.js.map +1 -1
  1825. package/dist/core/workflows/runtime.d.ts +13 -0
  1826. package/dist/core/workflows/runtime.d.ts.map +1 -1
  1827. package/dist/core/workflows/runtime.js +80 -1
  1828. package/dist/core/workflows/runtime.js.map +1 -1
  1829. package/dist/core/workflows/save-as-skill.d.ts +27 -0
  1830. package/dist/core/workflows/save-as-skill.d.ts.map +1 -0
  1831. package/dist/core/workflows/save-as-skill.js +54 -0
  1832. package/dist/core/workflows/save-as-skill.js.map +1 -0
  1833. package/dist/core/workflows/shared-store.d.ts.map +1 -1
  1834. package/dist/core/workflows/shared-store.js.map +1 -1
  1835. package/dist/core/workflows/soft-budget.d.ts +27 -0
  1836. package/dist/core/workflows/soft-budget.d.ts.map +1 -0
  1837. package/dist/core/workflows/soft-budget.js +47 -0
  1838. package/dist/core/workflows/soft-budget.js.map +1 -0
  1839. package/dist/core/workflows/subagent-host.d.ts.map +1 -1
  1840. package/dist/core/workflows/subagent-host.js.map +1 -1
  1841. package/dist/core/workflows/tool-scheduling.d.ts +47 -0
  1842. package/dist/core/workflows/tool-scheduling.d.ts.map +1 -0
  1843. package/dist/core/workflows/tool-scheduling.js +102 -0
  1844. package/dist/core/workflows/tool-scheduling.js.map +1 -0
  1845. package/dist/core/workflows/tool-workflow.d.ts.map +1 -1
  1846. package/dist/core/workflows/tool-workflow.js.map +1 -1
  1847. package/dist/core/workflows/types.d.ts +49 -0
  1848. package/dist/core/workflows/types.d.ts.map +1 -1
  1849. package/dist/core/workflows/types.js.map +1 -1
  1850. package/dist/core/workflows/worktree.d.ts.map +1 -1
  1851. package/dist/core/workflows/worktree.js.map +1 -1
  1852. package/dist/extensions/index.d.ts.map +1 -1
  1853. package/dist/extensions/index.js.map +1 -1
  1854. package/dist/extensions/llama/client.d.ts.map +1 -1
  1855. package/dist/extensions/llama/client.js.map +1 -1
  1856. package/dist/extensions/llama/huggingface.d.ts.map +1 -1
  1857. package/dist/extensions/llama/huggingface.js.map +1 -1
  1858. package/dist/extensions/llama/index.d.ts.map +1 -1
  1859. package/dist/extensions/llama/index.js.map +1 -1
  1860. package/dist/extensions/llama/provider.d.ts.map +1 -1
  1861. package/dist/extensions/llama/provider.js.map +1 -1
  1862. package/dist/extensions/llama/ui.d.ts.map +1 -1
  1863. package/dist/extensions/llama/ui.js.map +1 -1
  1864. package/dist/extensions/remoto/index.d.ts +22 -0
  1865. package/dist/extensions/remoto/index.d.ts.map +1 -0
  1866. package/dist/extensions/remoto/index.js +54 -0
  1867. package/dist/extensions/remoto/index.js.map +1 -0
  1868. package/dist/index.d.ts +1 -17
  1869. package/dist/index.d.ts.map +1 -1
  1870. package/dist/index.js +7 -16
  1871. package/dist/index.js.map +1 -1
  1872. package/dist/main.d.ts.map +1 -1
  1873. package/dist/main.js +77 -3
  1874. package/dist/main.js.map +1 -1
  1875. package/dist/migrations.d.ts.map +1 -1
  1876. package/dist/migrations.js.map +1 -1
  1877. package/dist/modes/acp/acp-mode.d.ts +42 -0
  1878. package/dist/modes/acp/acp-mode.d.ts.map +1 -0
  1879. package/dist/modes/acp/acp-mode.js +190 -0
  1880. package/dist/modes/acp/acp-mode.js.map +1 -0
  1881. package/dist/modes/acp/events.d.ts +74 -0
  1882. package/dist/modes/acp/events.d.ts.map +1 -0
  1883. package/dist/modes/acp/events.js +116 -0
  1884. package/dist/modes/acp/events.js.map +1 -0
  1885. package/dist/modes/index.d.ts.map +1 -1
  1886. package/dist/modes/index.js.map +1 -1
  1887. package/dist/modes/interactive/components/armin.d.ts.map +1 -1
  1888. package/dist/modes/interactive/components/armin.js.map +1 -1
  1889. package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
  1890. package/dist/modes/interactive/components/assistant-message.js.map +1 -1
  1891. package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -1
  1892. package/dist/modes/interactive/components/bash-execution.js.map +1 -1
  1893. package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -1
  1894. package/dist/modes/interactive/components/bordered-loader.js.map +1 -1
  1895. package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -1
  1896. package/dist/modes/interactive/components/branch-summary-message.js.map +1 -1
  1897. package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -1
  1898. package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -1
  1899. package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
  1900. package/dist/modes/interactive/components/config-selector.js.map +1 -1
  1901. package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -1
  1902. package/dist/modes/interactive/components/countdown-timer.js.map +1 -1
  1903. package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -1
  1904. package/dist/modes/interactive/components/custom-editor.js.map +1 -1
  1905. package/dist/modes/interactive/components/custom-entry.d.ts.map +1 -1
  1906. package/dist/modes/interactive/components/custom-entry.js.map +1 -1
  1907. package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
  1908. package/dist/modes/interactive/components/custom-message.js.map +1 -1
  1909. package/dist/modes/interactive/components/daxnuts.d.ts.map +1 -1
  1910. package/dist/modes/interactive/components/daxnuts.js.map +1 -1
  1911. package/dist/modes/interactive/components/diff.d.ts.map +1 -1
  1912. package/dist/modes/interactive/components/diff.js.map +1 -1
  1913. package/dist/modes/interactive/components/dynamic-border.d.ts.map +1 -1
  1914. package/dist/modes/interactive/components/dynamic-border.js.map +1 -1
  1915. package/dist/modes/interactive/components/earendil-announcement.d.ts.map +1 -1
  1916. package/dist/modes/interactive/components/earendil-announcement.js.map +1 -1
  1917. package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
  1918. package/dist/modes/interactive/components/extension-editor.js.map +1 -1
  1919. package/dist/modes/interactive/components/extension-input.d.ts.map +1 -1
  1920. package/dist/modes/interactive/components/extension-input.js.map +1 -1
  1921. package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -1
  1922. package/dist/modes/interactive/components/extension-selector.js.map +1 -1
  1923. package/dist/modes/interactive/components/first-time-setup.d.ts.map +1 -1
  1924. package/dist/modes/interactive/components/first-time-setup.js.map +1 -1
  1925. package/dist/modes/interactive/components/footer.d.ts.map +1 -1
  1926. package/dist/modes/interactive/components/footer.js.map +1 -1
  1927. package/dist/modes/interactive/components/home-screen.d.ts +2 -0
  1928. package/dist/modes/interactive/components/home-screen.d.ts.map +1 -1
  1929. package/dist/modes/interactive/components/home-screen.js +5 -6
  1930. package/dist/modes/interactive/components/home-screen.js.map +1 -1
  1931. package/dist/modes/interactive/components/index.d.ts.map +1 -1
  1932. package/dist/modes/interactive/components/index.js.map +1 -1
  1933. package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -1
  1934. package/dist/modes/interactive/components/keybinding-hints.js.map +1 -1
  1935. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
  1936. package/dist/modes/interactive/components/login-dialog.js.map +1 -1
  1937. package/dist/modes/interactive/components/markdown-transform.d.ts.map +1 -1
  1938. package/dist/modes/interactive/components/markdown-transform.js.map +1 -1
  1939. package/dist/modes/interactive/components/mermaid.d.ts.map +1 -1
  1940. package/dist/modes/interactive/components/mermaid.js.map +1 -1
  1941. package/dist/modes/interactive/components/model-selector.d.ts +8 -1
  1942. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
  1943. package/dist/modes/interactive/components/model-selector.js +41 -7
  1944. package/dist/modes/interactive/components/model-selector.js.map +1 -1
  1945. package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
  1946. package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
  1947. package/dist/modes/interactive/components/prompt-optimization.d.ts.map +1 -1
  1948. package/dist/modes/interactive/components/prompt-optimization.js.map +1 -1
  1949. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
  1950. package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
  1951. package/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -1
  1952. package/dist/modes/interactive/components/session-selector-search.js.map +1 -1
  1953. package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
  1954. package/dist/modes/interactive/components/session-selector.js.map +1 -1
  1955. package/dist/modes/interactive/components/settings-selector.d.ts +1 -2
  1956. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  1957. package/dist/modes/interactive/components/settings-selector.js +9 -86
  1958. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  1959. package/dist/modes/interactive/components/settings-submenu.d.ts.map +1 -1
  1960. package/dist/modes/interactive/components/settings-submenu.js.map +1 -1
  1961. package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -1
  1962. package/dist/modes/interactive/components/show-images-selector.js.map +1 -1
  1963. package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -1
  1964. package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -1
  1965. package/dist/modes/interactive/components/status-indicator.d.ts.map +1 -1
  1966. package/dist/modes/interactive/components/status-indicator.js.map +1 -1
  1967. package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -1
  1968. package/dist/modes/interactive/components/theme-selector.js.map +1 -1
  1969. package/dist/modes/interactive/components/thinking-selector.d.ts +8 -1
  1970. package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
  1971. package/dist/modes/interactive/components/thinking-selector.js +48 -17
  1972. package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
  1973. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  1974. package/dist/modes/interactive/components/tool-execution.js.map +1 -1
  1975. package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -1
  1976. package/dist/modes/interactive/components/tree-selector.js.map +1 -1
  1977. package/dist/modes/interactive/components/trust-selector.d.ts.map +1 -1
  1978. package/dist/modes/interactive/components/trust-selector.js.map +1 -1
  1979. package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -1
  1980. package/dist/modes/interactive/components/user-message-selector.js.map +1 -1
  1981. package/dist/modes/interactive/components/user-message.d.ts.map +1 -1
  1982. package/dist/modes/interactive/components/user-message.js.map +1 -1
  1983. package/dist/modes/interactive/components/visual-truncate.d.ts.map +1 -1
  1984. package/dist/modes/interactive/components/visual-truncate.js.map +1 -1
  1985. package/dist/modes/interactive/external-editor.d.ts.map +1 -1
  1986. package/dist/modes/interactive/external-editor.js.map +1 -1
  1987. package/dist/modes/interactive/interactive-mode.d.ts +22 -7
  1988. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  1989. package/dist/modes/interactive/interactive-mode.js +137 -146
  1990. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  1991. package/dist/modes/interactive/model-catalog-refresh.d.ts.map +1 -1
  1992. package/dist/modes/interactive/model-catalog-refresh.js.map +1 -1
  1993. package/dist/modes/interactive/model-search.d.ts.map +1 -1
  1994. package/dist/modes/interactive/model-search.js.map +1 -1
  1995. package/dist/modes/interactive/theme/theme-controller.d.ts.map +1 -1
  1996. package/dist/modes/interactive/theme/theme-controller.js.map +1 -1
  1997. package/dist/modes/interactive/theme/theme.d.ts +2 -2
  1998. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  1999. package/dist/modes/interactive/theme/theme.js.map +1 -1
  2000. package/dist/modes/json-event.d.ts.map +1 -1
  2001. package/dist/modes/json-event.js.map +1 -1
  2002. package/dist/modes/print-mode.d.ts.map +1 -1
  2003. package/dist/modes/print-mode.js +11 -0
  2004. package/dist/modes/print-mode.js.map +1 -1
  2005. package/dist/modes/rpc/jsonl.d.ts.map +1 -1
  2006. package/dist/modes/rpc/jsonl.js.map +1 -1
  2007. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  2008. package/dist/modes/rpc/rpc-client.js.map +1 -1
  2009. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  2010. package/dist/modes/rpc/rpc-mode.js.map +1 -1
  2011. package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  2012. package/dist/modes/rpc/rpc-types.js.map +1 -1
  2013. package/dist/package-manager-cli.d.ts.map +1 -1
  2014. package/dist/package-manager-cli.js +27 -5
  2015. package/dist/package-manager-cli.js.map +1 -1
  2016. package/dist/rpc-entry.d.ts.map +1 -1
  2017. package/dist/rpc-entry.js +0 -0
  2018. package/dist/rpc-entry.js.map +1 -1
  2019. package/dist/server/attach.d.ts +56 -0
  2020. package/dist/server/attach.d.ts.map +1 -0
  2021. package/dist/server/attach.js +130 -0
  2022. package/dist/server/attach.js.map +1 -0
  2023. package/dist/server/create-harness.d.ts.map +1 -1
  2024. package/dist/server/create-harness.js.map +1 -1
  2025. package/dist/server/extension-ops.d.ts +40 -0
  2026. package/dist/server/extension-ops.d.ts.map +1 -0
  2027. package/dist/server/extension-ops.js +146 -0
  2028. package/dist/server/extension-ops.js.map +1 -0
  2029. package/dist/server/pi-server-service.d.ts +85 -0
  2030. package/dist/server/pi-server-service.d.ts.map +1 -0
  2031. package/dist/server/pi-server-service.js +213 -0
  2032. package/dist/server/pi-server-service.js.map +1 -0
  2033. package/dist/server/scheduler-tick.d.ts +32 -0
  2034. package/dist/server/scheduler-tick.d.ts.map +1 -0
  2035. package/dist/server/scheduler-tick.js +47 -0
  2036. package/dist/server/scheduler-tick.js.map +1 -0
  2037. package/dist/server/serve.d.ts +25 -0
  2038. package/dist/server/serve.d.ts.map +1 -0
  2039. package/dist/server/serve.js +83 -0
  2040. package/dist/server/serve.js.map +1 -0
  2041. package/dist/server/transcript.d.ts +38 -0
  2042. package/dist/server/transcript.d.ts.map +1 -0
  2043. package/dist/server/transcript.js +176 -0
  2044. package/dist/server/transcript.js.map +1 -0
  2045. package/dist/telegram/api.d.ts +81 -0
  2046. package/dist/telegram/api.d.ts.map +1 -0
  2047. package/dist/telegram/api.js +104 -0
  2048. package/dist/telegram/api.js.map +1 -0
  2049. package/dist/telegram/bridge.d.ts +85 -0
  2050. package/dist/telegram/bridge.d.ts.map +1 -0
  2051. package/dist/telegram/bridge.js +182 -0
  2052. package/dist/telegram/bridge.js.map +1 -0
  2053. package/dist/telegram/journal.d.ts +67 -0
  2054. package/dist/telegram/journal.d.ts.map +1 -0
  2055. package/dist/telegram/journal.js +119 -0
  2056. package/dist/telegram/journal.js.map +1 -0
  2057. package/dist/telegram/servidor.d.ts +15 -0
  2058. package/dist/telegram/servidor.d.ts.map +1 -0
  2059. package/dist/telegram/servidor.js +74 -0
  2060. package/dist/telegram/servidor.js.map +1 -0
  2061. package/dist/utils/abort.d.ts.map +1 -1
  2062. package/dist/utils/abort.js.map +1 -1
  2063. package/dist/utils/ansi.d.ts.map +1 -1
  2064. package/dist/utils/ansi.js.map +1 -1
  2065. package/dist/utils/changelog.d.ts.map +1 -1
  2066. package/dist/utils/changelog.js.map +1 -1
  2067. package/dist/utils/child-process.d.ts.map +1 -1
  2068. package/dist/utils/child-process.js.map +1 -1
  2069. package/dist/utils/clipboard-image.d.ts.map +1 -1
  2070. package/dist/utils/clipboard-image.js.map +1 -1
  2071. package/dist/utils/clipboard-native.d.ts.map +1 -1
  2072. package/dist/utils/clipboard-native.js.map +1 -1
  2073. package/dist/utils/clipboard.d.ts.map +1 -1
  2074. package/dist/utils/clipboard.js.map +1 -1
  2075. package/dist/utils/deprecation.d.ts.map +1 -1
  2076. package/dist/utils/deprecation.js.map +1 -1
  2077. package/dist/utils/exif-orientation.d.ts.map +1 -1
  2078. package/dist/utils/exif-orientation.js.map +1 -1
  2079. package/dist/utils/frontmatter.d.ts.map +1 -1
  2080. package/dist/utils/frontmatter.js.map +1 -1
  2081. package/dist/utils/fs-watch.d.ts.map +1 -1
  2082. package/dist/utils/fs-watch.js.map +1 -1
  2083. package/dist/utils/git.d.ts.map +1 -1
  2084. package/dist/utils/git.js.map +1 -1
  2085. package/dist/utils/html.d.ts.map +1 -1
  2086. package/dist/utils/html.js.map +1 -1
  2087. package/dist/utils/image-convert.d.ts.map +1 -1
  2088. package/dist/utils/image-convert.js.map +1 -1
  2089. package/dist/utils/image-process.d.ts.map +1 -1
  2090. package/dist/utils/image-process.js.map +1 -1
  2091. package/dist/utils/image-resize-core.d.ts.map +1 -1
  2092. package/dist/utils/image-resize-core.js.map +1 -1
  2093. package/dist/utils/image-resize-worker.d.ts.map +1 -1
  2094. package/dist/utils/image-resize-worker.js.map +1 -1
  2095. package/dist/utils/image-resize.d.ts.map +1 -1
  2096. package/dist/utils/image-resize.js.map +1 -1
  2097. package/dist/utils/json.d.ts.map +1 -1
  2098. package/dist/utils/json.js.map +1 -1
  2099. package/dist/utils/management-http.d.ts.map +1 -1
  2100. package/dist/utils/management-http.js.map +1 -1
  2101. package/dist/utils/mime.d.ts.map +1 -1
  2102. package/dist/utils/mime.js.map +1 -1
  2103. package/dist/utils/open-browser.d.ts.map +1 -1
  2104. package/dist/utils/open-browser.js.map +1 -1
  2105. package/dist/utils/paths.d.ts.map +1 -1
  2106. package/dist/utils/paths.js.map +1 -1
  2107. package/dist/utils/photon.d.ts.map +1 -1
  2108. package/dist/utils/photon.js.map +1 -1
  2109. package/dist/utils/pi-user-agent.d.ts.map +1 -1
  2110. package/dist/utils/pi-user-agent.js.map +1 -1
  2111. package/dist/utils/shell.d.ts +11 -0
  2112. package/dist/utils/shell.d.ts.map +1 -1
  2113. package/dist/utils/shell.js +11 -0
  2114. package/dist/utils/shell.js.map +1 -1
  2115. package/dist/utils/sleep.d.ts.map +1 -1
  2116. package/dist/utils/sleep.js.map +1 -1
  2117. package/dist/utils/syntax-highlight.d.ts.map +1 -1
  2118. package/dist/utils/syntax-highlight.js.map +1 -1
  2119. package/dist/utils/text.d.ts.map +1 -1
  2120. package/dist/utils/text.js.map +1 -1
  2121. package/dist/utils/tool-result-images.d.ts.map +1 -1
  2122. package/dist/utils/tool-result-images.js.map +1 -1
  2123. package/dist/utils/tools-manager.d.ts.map +1 -1
  2124. package/dist/utils/tools-manager.js.map +1 -1
  2125. package/dist/utils/version-check.d.ts.map +1 -1
  2126. package/dist/utils/version-check.js +29 -1
  2127. package/dist/utils/version-check.js.map +1 -1
  2128. package/dist/utils/windows-self-update.d.ts.map +1 -1
  2129. package/dist/utils/windows-self-update.js.map +1 -1
  2130. package/docs/compaction.md +10 -10
  2131. package/docs/compliance.md +241 -0
  2132. package/docs/containerization.md +24 -24
  2133. package/docs/custom-provider.md +10 -10
  2134. package/docs/development-fork.md +170 -0
  2135. package/docs/development.md +47 -10
  2136. package/docs/docs.json +39 -2
  2137. package/docs/environment-variables.md +20 -17
  2138. package/docs/extensions.md +51 -49
  2139. package/docs/index.md +15 -21
  2140. package/docs/json.md +3 -3
  2141. package/docs/keybindings.md +5 -5
  2142. package/docs/llama-cpp.md +7 -7
  2143. package/docs/models.md +12 -12
  2144. package/docs/modules-infraestructura.md +115 -0
  2145. package/docs/modules-motor.md +160 -0
  2146. package/docs/modules-producto.md +179 -0
  2147. package/docs/modules-seguridad.md +158 -0
  2148. package/docs/packages.md +45 -45
  2149. package/docs/prompt-templates.md +5 -5
  2150. package/docs/providers.md +12 -12
  2151. package/docs/quickstart.md +39 -39
  2152. package/docs/rpc.md +12 -12
  2153. package/docs/sdk.md +38 -38
  2154. package/docs/security.md +26 -21
  2155. package/docs/session-format.md +7 -7
  2156. package/docs/sessions.md +14 -14
  2157. package/docs/settings.md +45 -20
  2158. package/docs/shell-aliases.md +2 -2
  2159. package/docs/skills.md +11 -11
  2160. package/docs/terminal-setup.md +14 -14
  2161. package/docs/termux.md +7 -7
  2162. package/docs/themes.md +11 -11
  2163. package/docs/tmux.md +4 -4
  2164. package/docs/tui.md +3 -3
  2165. package/docs/usage.md +54 -54
  2166. package/docs/windows.md +2 -2
  2167. package/examples/sdk/12-full-control.ts +9 -0
  2168. package/npm-shrinkwrap.json +35 -251
  2169. package/package.json +114 -108
  2170. package/dist/core/export-html/template.css +0 -1066
  2171. package/dist/core/export-html/template.html +0 -55
  2172. package/dist/core/export-html/template.js +0 -1864
  2173. package/dist/core/export-html/vendor/highlight.min.js +0 -1213
  2174. package/dist/core/export-html/vendor/marked.min.js +0 -78
  2175. package/dist/modes/interactive/assets/clankolas.png +0 -0
  2176. package/dist/modes/interactive/theme/dark.json +0 -90
  2177. package/dist/modes/interactive/theme/light.json +0 -89
  2178. package/dist/modes/interactive/theme/theme-schema.json +0 -352
  2179. package/dist/skills/ada-engine/SKILL.md +0 -153
@@ -0,0 +1,139 @@
1
+ import { createRequire } from "node:module";
2
+ import { parsea } from "../edicion/parseo.js";
3
+ /**
4
+ * ¿Cuántas veces aparece `bloque` (oldText por líneas) en `contentLines`?
5
+ * Copia ligera de `core/banco/bloques.ts:contarOcurrencias`.
6
+ */
7
+ function contarOcurrencias(lineas, bloque) {
8
+ if (bloque.length === 0 || bloque.length > lineas.length)
9
+ return 0;
10
+ let cuenta = 0;
11
+ outer: for (let i = 0; i <= lineas.length - bloque.length; i++) {
12
+ for (let j = 0; j < bloque.length; j++) {
13
+ if (lineas[i + j] !== bloque[j])
14
+ continue outer;
15
+ }
16
+ cuenta++;
17
+ }
18
+ return cuenta;
19
+ }
20
+ /**
21
+ * Busca `bloque` como subsecuencia contigua dentro de `lineas`, devuelve
22
+ * índice 0-based o -1 si no está. Comparación exacta por línea.
23
+ */
24
+ function indiceDeBloque(lineas, bloque) {
25
+ if (bloque.length === 0)
26
+ return -1;
27
+ outer: for (let i = 0; i <= lineas.length - bloque.length; i++) {
28
+ for (let j = 0; j < bloque.length; j++) {
29
+ if (lineas[i + j] !== bloque[j])
30
+ continue outer;
31
+ }
32
+ return i;
33
+ }
34
+ return -1;
35
+ }
36
+ /**
37
+ * Intenta validar sintaxis multilenguaje de forma opcional con tree-sitter.
38
+ *
39
+ * - Si tree-sitter (o el parser del lenguaje) no está instalado, devuelve
40
+ * `null` → "no sé, no bloqueo". Nunca lanza.
41
+ * - Si está y parsea con error, devuelve `false`.
42
+ * - Si está y parsea limpio, devuelve `true`.
43
+ *
44
+ * Mantener síncrono y fail-closed hacia "no bloquear por falta de deps"
45
+ * es lo que hace que la dependencia sea realmente opcional.
46
+ */
47
+ function intentaValidarTreeSitter(file, contenido) {
48
+ try {
49
+ void file;
50
+ void contenido;
51
+ const req = createRequire(import.meta.url);
52
+ const Parser = req("tree-sitter");
53
+ void Parser;
54
+ // Aun con `tree-sitter` instalado, cada lenguaje requiere su gramática
55
+ // (`tree-sitter-python`, etc.). Sin gramática no hay prueba estructural,
56
+ // así que devolvemos `null` → no bloquear. Punto donde se enchufaría
57
+ // `Parser.init()` + `Language.load()` con `web-tree-sitter` + WASM.
58
+ return null;
59
+ }
60
+ catch {
61
+ return null;
62
+ }
63
+ }
64
+ function validaSintaxisPostParche(file, contenidoAntes, contenidoDespues) {
65
+ // Regla copiada de `core/edicion/parseo.ts:rompioElParseo`:
66
+ // solo acusamos a la edición si la preimagen parseaba.
67
+ const antes = parsea(contenidoAntes, file);
68
+ // `true` → parsea, `false` → no parsea, `null` → lenguaje desconocido.
69
+ if (antes === true) {
70
+ const despues = parsea(contenidoDespues, file);
71
+ if (despues === false)
72
+ return false;
73
+ // `true` o `null` → no rompe o no sabemos → dejamos pasar.
74
+ return true;
75
+ }
76
+ if (antes === false) {
77
+ // Fichero ya roto antes: no atribuimos la rotura a este hunk.
78
+ // Dejamos pasar para no bloquear una edición que no empeora un fichero
79
+ // que ya estaba roto (misma filosofía que `parseo.ts`).
80
+ return true;
81
+ }
82
+ // `null`: lenguaje que `parsea()` no sabe leer → intenta tree-sitter opcional.
83
+ const ts = intentaValidarTreeSitter(file, contenidoDespues);
84
+ if (ts === false)
85
+ return false;
86
+ // `true` o `null` (no disponible) → dejamos pasar.
87
+ return true;
88
+ }
89
+ /**
90
+ * Dada una edición que falla (hunk no aplica donde se esperaba), intenta
91
+ * repararla buscando el par simétrico de líneas de contexto desplazadas.
92
+ *
93
+ * - "Par simétrico" aquí = las mismas líneas de `oldText` aparecen contiguas
94
+ * y ÚNICAS en el contenido actual, aunque desplazadas respecto a la posición
95
+ * original. Si aparecen 0 veces (contenido distinto) o >1 vez (ambiguo),
96
+ * el par no es válido y no se repara.
97
+ * - Si tree-sitter está disponible y el post-parche rompe la sintaxis, tampoco
98
+ * se repara (tres estados: repara / no-aplicable / rechaza por sintaxis).
99
+ *
100
+ * @returns `{fixedHunk}` si hay un par válido y el parche valida, `null` si no.
101
+ */
102
+ export function intentarRepararHunk(args) {
103
+ const { file, hunk, content } = args;
104
+ if (!hunk.oldText || hunk.oldText.length === 0)
105
+ return null;
106
+ // oldText vacío casaría en todas partes → nunca es un par válido.
107
+ if (hunk.oldText === hunk.newText)
108
+ return null;
109
+ const contentLines = content.split("\n");
110
+ const oldLines = hunk.oldText.split("\n");
111
+ // 1) Par válido = oldText aparece exactamente 1 vez como bloque contiguo.
112
+ // Esto cubre el caso "par desplazado" (aparece pero en otro offset) y
113
+ // rechaza "contenido distinto" (0) y "ambiguo" (>1).
114
+ const ocurrencias = contarOcurrencias(contentLines, oldLines);
115
+ if (ocurrencias !== 1)
116
+ return null;
117
+ const idx = indiceDeBloque(contentLines, oldLines);
118
+ if (idx === -1)
119
+ return null;
120
+ // 2) Simular el parche resultante con el par encontrado.
121
+ // Usar splice por líneas evita falsos positivos de subcadena a caballo
122
+ // de líneas; `oldText` ya está validado como bloque único.
123
+ const patchedLines = [
124
+ ...contentLines.slice(0, idx),
125
+ ...hunk.newText.split("\n"),
126
+ ...contentLines.slice(idx + oldLines.length),
127
+ ];
128
+ const patched = patchedLines.join("\n");
129
+ // 3) Validación sintáctica opcional. Sin tree-sitter instalado no rompe;
130
+ // con él, un parche que rompe sintaxis se rechaza (tercer estado).
131
+ if (!validaSintaxisPostParche(file, content, patched))
132
+ return null;
133
+ // Par válido y sintaxis OK → devolver el hunk tal cual (el llamante ya
134
+ // aplicará `oldText → newText` sobre el contenido actual, que ahora sí
135
+ // casa). Si en el futuro el formato lleva línea `desde/hasta`, aquí se
136
+ // recalcularía `fixedHunk.desde = idx+1`.
137
+ return { fixedHunk: { oldText: hunk.oldText, newText: hunk.newText } };
138
+ }
139
+ //# sourceMappingURL=reparar-hunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reparar-hunk.js","sourceRoot":"","sources":["../../../src/core/reparacion/reparar-hunk.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-config-value.d.ts","sourceRoot":"","sources":["../../src/core/resolve-config-value.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA+GH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAI3E;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAGlE;AAED,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,CAEvG;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAE7F;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS,CAMnG;AAmED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS,CAM3G;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAsBnH;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC3C,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC1B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAUpC;AAED,wBAAgB,qBAAqB,CACpC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC3C,WAAW,EAAE,MAAM,EACnB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC1B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAOpC;AAED,kEAAkE;AAClE,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C","sourcesContent":["/**\n * Resolve configuration values that may be shell commands, environment variables, or literals.\n * Used by auth-storage.ts and model-registry.ts.\n */\n\nimport { execSync, spawnSync } from \"child_process\";\nimport { getShellConfig } from \"../utils/shell.ts\";\n\n// Cache for shell command results (persists for process lifetime)\nconst commandResultCache = new Map<string, string | undefined>();\nconst ENV_VAR_NAME_RE = /^[A-Za-z_][A-Za-z0-9_]*$/;\nconst ENV_VAR_NAME_PREFIX_RE = /^[A-Za-z_][A-Za-z0-9_]*/;\n\ntype TemplatePart = { type: \"literal\"; value: string } | { type: \"env\"; name: string };\n\ntype ConfigValueReference = { type: \"command\"; config: string } | { type: \"template\"; parts: TemplatePart[] };\n\nfunction appendLiteral(parts: TemplatePart[], value: string): void {\n\tif (!value) return;\n\tconst previousPart = parts[parts.length - 1];\n\tif (previousPart?.type === \"literal\") {\n\t\tpreviousPart.value += value;\n\t\treturn;\n\t}\n\tparts.push({ type: \"literal\", value });\n}\n\nfunction parseConfigValueTemplate(config: string): TemplatePart[] {\n\tconst parts: TemplatePart[] = [];\n\tlet index = 0;\n\n\twhile (index < config.length) {\n\t\tconst dollarIndex = config.indexOf(\"$\", index);\n\t\tif (dollarIndex < 0) {\n\t\t\tappendLiteral(parts, config.slice(index));\n\t\t\tbreak;\n\t\t}\n\n\t\tappendLiteral(parts, config.slice(index, dollarIndex));\n\t\tconst nextChar = config[dollarIndex + 1];\n\n\t\tif (nextChar === \"$\" || nextChar === \"!\") {\n\t\t\tappendLiteral(parts, nextChar);\n\t\t\tindex = dollarIndex + 2;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (nextChar === \"{\") {\n\t\t\tconst endIndex = config.indexOf(\"}\", dollarIndex + 2);\n\t\t\tif (endIndex < 0) {\n\t\t\t\tappendLiteral(parts, \"$\");\n\t\t\t\tindex = dollarIndex + 1;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst name = config.slice(dollarIndex + 2, endIndex);\n\t\t\tif (ENV_VAR_NAME_RE.test(name)) {\n\t\t\t\tparts.push({ type: \"env\", name });\n\t\t\t} else {\n\t\t\t\tappendLiteral(parts, config.slice(dollarIndex, endIndex + 1));\n\t\t\t}\n\t\t\tindex = endIndex + 1;\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst match = config.slice(dollarIndex + 1).match(ENV_VAR_NAME_PREFIX_RE);\n\t\tif (match) {\n\t\t\tparts.push({ type: \"env\", name: match[0] });\n\t\t\tindex = dollarIndex + 1 + match[0].length;\n\t\t\tcontinue;\n\t\t}\n\n\t\tappendLiteral(parts, \"$\");\n\t\tindex = dollarIndex + 1;\n\t}\n\n\treturn parts;\n}\n\nfunction parseConfigValueReference(config: string): ConfigValueReference {\n\tif (config.startsWith(\"!\")) {\n\t\treturn { type: \"command\", config };\n\t}\n\n\treturn { type: \"template\", parts: parseConfigValueTemplate(config) };\n}\n\nfunction resolveEnvConfigValue(name: string, env?: Record<string, string>): string | undefined {\n\treturn env?.[name] || process.env[name] || undefined;\n}\n\nfunction getTemplateEnvVarNames(parts: TemplatePart[]): string[] {\n\tconst names: string[] = [];\n\tfor (const part of parts) {\n\t\tif (part.type !== \"env\" || names.includes(part.name)) continue;\n\t\tnames.push(part.name);\n\t}\n\treturn names;\n}\n\nfunction resolveTemplate(parts: TemplatePart[], env?: Record<string, string>): string | undefined {\n\tlet resolved = \"\";\n\tfor (const part of parts) {\n\t\tif (part.type === \"literal\") {\n\t\t\tresolved += part.value;\n\t\t\tcontinue;\n\t\t}\n\t\tconst envValue = resolveEnvConfigValue(part.name, env);\n\t\tif (envValue === undefined) return undefined;\n\t\tresolved += envValue;\n\t}\n\treturn resolved;\n}\n\nexport function getConfigValueEnvVarName(config: string): string | undefined {\n\tconst reference = parseConfigValueReference(config);\n\tif (reference.type !== \"template\") return undefined;\n\treturn reference.parts.length === 1 && reference.parts[0]?.type === \"env\" ? reference.parts[0].name : undefined;\n}\n\nexport function getConfigValueEnvVarNames(config: string): string[] {\n\tconst reference = parseConfigValueReference(config);\n\treturn reference.type === \"template\" ? getTemplateEnvVarNames(reference.parts) : [];\n}\n\nexport function getMissingConfigValueEnvVarNames(config: string, env?: Record<string, string>): string[] {\n\treturn getConfigValueEnvVarNames(config).filter((name) => resolveEnvConfigValue(name, env) === undefined);\n}\n\nexport function isCommandConfigValue(config: string): boolean {\n\treturn parseConfigValueReference(config).type === \"command\";\n}\n\nexport function isConfigValueConfigured(config: string, env?: Record<string, string>): boolean {\n\treturn getMissingConfigValueEnvVarNames(config, env).length === 0;\n}\n\n/**\n * Resolve a config value (API key, header value, etc.) to an actual value.\n * - If starts with \"!\", executes the rest as a shell command and uses stdout (cached)\n * - Interpolates \"$ENV_VAR\" or \"${ENV_VAR}\" references with the named environment variable\n * - In non-command values, \"$$\" escapes a literal \"$\" and \"$!\" escapes a literal \"!\"\n * - Otherwise treats the value as a literal\n */\nexport function resolveConfigValue(config: string, env?: Record<string, string>): string | undefined {\n\tconst reference = parseConfigValueReference(config);\n\tif (reference.type === \"command\") {\n\t\treturn executeCommand(reference.config);\n\t}\n\treturn resolveTemplate(reference.parts, env);\n}\n\nfunction executeWithConfiguredShell(command: string): { executed: boolean; value: string | undefined } {\n\ttry {\n\t\tconst { shell, args, commandTransport } = getShellConfig();\n\t\tconst commandFromStdin = commandTransport === \"stdin\";\n\t\tconst result = spawnSync(shell, commandFromStdin ? args : [...args, command], {\n\t\t\tencoding: \"utf-8\",\n\t\t\tinput: commandFromStdin ? command : undefined,\n\t\t\ttimeout: 10000,\n\t\t\tstdio: [commandFromStdin ? \"pipe\" : \"ignore\", \"pipe\", \"ignore\"],\n\t\t\tshell: false,\n\t\t\twindowsHide: true,\n\t\t});\n\n\t\tif (result.error) {\n\t\t\tconst error = result.error as NodeJS.ErrnoException;\n\t\t\tif (error.code === \"ENOENT\") {\n\t\t\t\treturn { executed: false, value: undefined };\n\t\t\t}\n\t\t\treturn { executed: true, value: undefined };\n\t\t}\n\n\t\tif (result.status !== 0) {\n\t\t\treturn { executed: true, value: undefined };\n\t\t}\n\n\t\tconst value = (result.stdout ?? \"\").trim();\n\t\treturn { executed: true, value: value || undefined };\n\t} catch {\n\t\treturn { executed: false, value: undefined };\n\t}\n}\n\nfunction executeWithDefaultShell(command: string): string | undefined {\n\ttry {\n\t\tconst output = execSync(command, {\n\t\t\tencoding: \"utf-8\",\n\t\t\ttimeout: 10000,\n\t\t\tstdio: [\"ignore\", \"pipe\", \"ignore\"],\n\t\t});\n\t\treturn output.trim() || undefined;\n\t} catch {\n\t\treturn undefined;\n\t}\n}\n\nfunction executeCommandUncached(commandConfig: string): string | undefined {\n\tconst command = commandConfig.slice(1);\n\treturn process.platform === \"win32\"\n\t\t? (() => {\n\t\t\t\tconst configuredResult = executeWithConfiguredShell(command);\n\t\t\t\treturn configuredResult.executed ? configuredResult.value : executeWithDefaultShell(command);\n\t\t\t})()\n\t\t: executeWithDefaultShell(command);\n}\n\nfunction executeCommand(commandConfig: string): string | undefined {\n\tif (commandResultCache.has(commandConfig)) {\n\t\treturn commandResultCache.get(commandConfig);\n\t}\n\n\tconst result = executeCommandUncached(commandConfig);\n\tcommandResultCache.set(commandConfig, result);\n\treturn result;\n}\n\n/**\n * Resolve all header values using the same resolution logic as API keys.\n */\nexport function resolveConfigValueUncached(config: string, env?: Record<string, string>): string | undefined {\n\tconst reference = parseConfigValueReference(config);\n\tif (reference.type === \"command\") {\n\t\treturn executeCommandUncached(reference.config);\n\t}\n\treturn resolveTemplate(reference.parts, env);\n}\n\nexport function resolveConfigValueOrThrow(config: string, description: string, env?: Record<string, string>): string {\n\tconst resolvedValue = resolveConfigValueUncached(config, env);\n\tif (resolvedValue !== undefined) {\n\t\treturn resolvedValue;\n\t}\n\n\tconst reference = parseConfigValueReference(config);\n\tif (reference.type === \"command\") {\n\t\tthrow new Error(`Failed to resolve ${description} from shell command: ${reference.config.slice(1)}`);\n\t}\n\n\tif (reference.type === \"template\") {\n\t\tconst missingEnvVars = getMissingConfigValueEnvVarNames(config, env);\n\t\tif (missingEnvVars.length === 1) {\n\t\t\tthrow new Error(`Failed to resolve ${description} from environment variable: ${missingEnvVars[0]}`);\n\t\t}\n\t\tif (missingEnvVars.length > 1) {\n\t\t\tthrow new Error(`Failed to resolve ${description} from environment variables: ${missingEnvVars.join(\", \")}`);\n\t\t}\n\t}\n\n\tthrow new Error(`Failed to resolve ${description}`);\n}\n\n/**\n * Resolve all header values using the same resolution logic as API keys.\n */\nexport function resolveHeaders(\n\theaders: Record<string, string> | undefined,\n\tenv?: Record<string, string>,\n): Record<string, string> | undefined {\n\tif (!headers) return undefined;\n\tconst resolved: Record<string, string> = {};\n\tfor (const [key, value] of Object.entries(headers)) {\n\t\tconst resolvedValue = resolveConfigValue(value, env);\n\t\tif (resolvedValue) {\n\t\t\tresolved[key] = resolvedValue;\n\t\t}\n\t}\n\treturn Object.keys(resolved).length > 0 ? resolved : undefined;\n}\n\nexport function resolveHeadersOrThrow(\n\theaders: Record<string, string> | undefined,\n\tdescription: string,\n\tenv?: Record<string, string>,\n): Record<string, string> | undefined {\n\tif (!headers) return undefined;\n\tconst resolved: Record<string, string> = {};\n\tfor (const [key, value] of Object.entries(headers)) {\n\t\tresolved[key] = resolveConfigValueOrThrow(value, `${description} header \"${key}\"`, env);\n\t}\n\treturn Object.keys(resolved).length > 0 ? resolved : undefined;\n}\n\n/** Clear the config value command cache. Exported for testing. */\nexport function clearConfigValueCache(): void {\n\tcommandResultCache.clear();\n}\n"]}
1
+ {"version":3,"file":"resolve-config-value.d.ts","sourceRoot":"","sources":["../../src/core/resolve-config-value.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA+GH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAI3E;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAGlE;AAED,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,CAEvG;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAE7F;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS,CAMnG;AAmED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS,CAM3G;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAsBnH;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC3C,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC1B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAUpC;AAED,wBAAgB,qBAAqB,CACpC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC3C,WAAW,EAAE,MAAM,EACnB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC1B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAOpC;AAED,kEAAkE;AAClE,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-config-value.js","sourceRoot":"","sources":["../../src/core/resolve-config-value.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Resolve configuration values that may be shell commands, environment variables, or literals.\n * Used by auth-storage.ts and model-registry.ts.\n */\n\nimport { execSync, spawnSync } from \"child_process\";\nimport { getShellConfig } from \"../utils/shell.ts\";\n\n// Cache for shell command results (persists for process lifetime)\nconst commandResultCache = new Map<string, string | undefined>();\nconst ENV_VAR_NAME_RE = /^[A-Za-z_][A-Za-z0-9_]*$/;\nconst ENV_VAR_NAME_PREFIX_RE = /^[A-Za-z_][A-Za-z0-9_]*/;\n\ntype TemplatePart = { type: \"literal\"; value: string } | { type: \"env\"; name: string };\n\ntype ConfigValueReference = { type: \"command\"; config: string } | { type: \"template\"; parts: TemplatePart[] };\n\nfunction appendLiteral(parts: TemplatePart[], value: string): void {\n\tif (!value) return;\n\tconst previousPart = parts[parts.length - 1];\n\tif (previousPart?.type === \"literal\") {\n\t\tpreviousPart.value += value;\n\t\treturn;\n\t}\n\tparts.push({ type: \"literal\", value });\n}\n\nfunction parseConfigValueTemplate(config: string): TemplatePart[] {\n\tconst parts: TemplatePart[] = [];\n\tlet index = 0;\n\n\twhile (index < config.length) {\n\t\tconst dollarIndex = config.indexOf(\"$\", index);\n\t\tif (dollarIndex < 0) {\n\t\t\tappendLiteral(parts, config.slice(index));\n\t\t\tbreak;\n\t\t}\n\n\t\tappendLiteral(parts, config.slice(index, dollarIndex));\n\t\tconst nextChar = config[dollarIndex + 1];\n\n\t\tif (nextChar === \"$\" || nextChar === \"!\") {\n\t\t\tappendLiteral(parts, nextChar);\n\t\t\tindex = dollarIndex + 2;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (nextChar === \"{\") {\n\t\t\tconst endIndex = config.indexOf(\"}\", dollarIndex + 2);\n\t\t\tif (endIndex < 0) {\n\t\t\t\tappendLiteral(parts, \"$\");\n\t\t\t\tindex = dollarIndex + 1;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst name = config.slice(dollarIndex + 2, endIndex);\n\t\t\tif (ENV_VAR_NAME_RE.test(name)) {\n\t\t\t\tparts.push({ type: \"env\", name });\n\t\t\t} else {\n\t\t\t\tappendLiteral(parts, config.slice(dollarIndex, endIndex + 1));\n\t\t\t}\n\t\t\tindex = endIndex + 1;\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst match = config.slice(dollarIndex + 1).match(ENV_VAR_NAME_PREFIX_RE);\n\t\tif (match) {\n\t\t\tparts.push({ type: \"env\", name: match[0] });\n\t\t\tindex = dollarIndex + 1 + match[0].length;\n\t\t\tcontinue;\n\t\t}\n\n\t\tappendLiteral(parts, \"$\");\n\t\tindex = dollarIndex + 1;\n\t}\n\n\treturn parts;\n}\n\nfunction parseConfigValueReference(config: string): ConfigValueReference {\n\tif (config.startsWith(\"!\")) {\n\t\treturn { type: \"command\", config };\n\t}\n\n\treturn { type: \"template\", parts: parseConfigValueTemplate(config) };\n}\n\nfunction resolveEnvConfigValue(name: string, env?: Record<string, string>): string | undefined {\n\treturn env?.[name] || process.env[name] || undefined;\n}\n\nfunction getTemplateEnvVarNames(parts: TemplatePart[]): string[] {\n\tconst names: string[] = [];\n\tfor (const part of parts) {\n\t\tif (part.type !== \"env\" || names.includes(part.name)) continue;\n\t\tnames.push(part.name);\n\t}\n\treturn names;\n}\n\nfunction resolveTemplate(parts: TemplatePart[], env?: Record<string, string>): string | undefined {\n\tlet resolved = \"\";\n\tfor (const part of parts) {\n\t\tif (part.type === \"literal\") {\n\t\t\tresolved += part.value;\n\t\t\tcontinue;\n\t\t}\n\t\tconst envValue = resolveEnvConfigValue(part.name, env);\n\t\tif (envValue === undefined) return undefined;\n\t\tresolved += envValue;\n\t}\n\treturn resolved;\n}\n\nexport function getConfigValueEnvVarName(config: string): string | undefined {\n\tconst reference = parseConfigValueReference(config);\n\tif (reference.type !== \"template\") return undefined;\n\treturn reference.parts.length === 1 && reference.parts[0]?.type === \"env\" ? reference.parts[0].name : undefined;\n}\n\nexport function getConfigValueEnvVarNames(config: string): string[] {\n\tconst reference = parseConfigValueReference(config);\n\treturn reference.type === \"template\" ? getTemplateEnvVarNames(reference.parts) : [];\n}\n\nexport function getMissingConfigValueEnvVarNames(config: string, env?: Record<string, string>): string[] {\n\treturn getConfigValueEnvVarNames(config).filter((name) => resolveEnvConfigValue(name, env) === undefined);\n}\n\nexport function isCommandConfigValue(config: string): boolean {\n\treturn parseConfigValueReference(config).type === \"command\";\n}\n\nexport function isConfigValueConfigured(config: string, env?: Record<string, string>): boolean {\n\treturn getMissingConfigValueEnvVarNames(config, env).length === 0;\n}\n\n/**\n * Resolve a config value (API key, header value, etc.) to an actual value.\n * - If starts with \"!\", executes the rest as a shell command and uses stdout (cached)\n * - Interpolates \"$ENV_VAR\" or \"${ENV_VAR}\" references with the named environment variable\n * - In non-command values, \"$$\" escapes a literal \"$\" and \"$!\" escapes a literal \"!\"\n * - Otherwise treats the value as a literal\n */\nexport function resolveConfigValue(config: string, env?: Record<string, string>): string | undefined {\n\tconst reference = parseConfigValueReference(config);\n\tif (reference.type === \"command\") {\n\t\treturn executeCommand(reference.config);\n\t}\n\treturn resolveTemplate(reference.parts, env);\n}\n\nfunction executeWithConfiguredShell(command: string): { executed: boolean; value: string | undefined } {\n\ttry {\n\t\tconst { shell, args, commandTransport } = getShellConfig();\n\t\tconst commandFromStdin = commandTransport === \"stdin\";\n\t\tconst result = spawnSync(shell, commandFromStdin ? args : [...args, command], {\n\t\t\tencoding: \"utf-8\",\n\t\t\tinput: commandFromStdin ? command : undefined,\n\t\t\ttimeout: 10000,\n\t\t\tstdio: [commandFromStdin ? \"pipe\" : \"ignore\", \"pipe\", \"ignore\"],\n\t\t\tshell: false,\n\t\t\twindowsHide: true,\n\t\t});\n\n\t\tif (result.error) {\n\t\t\tconst error = result.error as NodeJS.ErrnoException;\n\t\t\tif (error.code === \"ENOENT\") {\n\t\t\t\treturn { executed: false, value: undefined };\n\t\t\t}\n\t\t\treturn { executed: true, value: undefined };\n\t\t}\n\n\t\tif (result.status !== 0) {\n\t\t\treturn { executed: true, value: undefined };\n\t\t}\n\n\t\tconst value = (result.stdout ?? \"\").trim();\n\t\treturn { executed: true, value: value || undefined };\n\t} catch {\n\t\treturn { executed: false, value: undefined };\n\t}\n}\n\nfunction executeWithDefaultShell(command: string): string | undefined {\n\ttry {\n\t\tconst output = execSync(command, {\n\t\t\tencoding: \"utf-8\",\n\t\t\ttimeout: 10000,\n\t\t\tstdio: [\"ignore\", \"pipe\", \"ignore\"],\n\t\t});\n\t\treturn output.trim() || undefined;\n\t} catch {\n\t\treturn undefined;\n\t}\n}\n\nfunction executeCommandUncached(commandConfig: string): string | undefined {\n\tconst command = commandConfig.slice(1);\n\treturn process.platform === \"win32\"\n\t\t? (() => {\n\t\t\t\tconst configuredResult = executeWithConfiguredShell(command);\n\t\t\t\treturn configuredResult.executed ? configuredResult.value : executeWithDefaultShell(command);\n\t\t\t})()\n\t\t: executeWithDefaultShell(command);\n}\n\nfunction executeCommand(commandConfig: string): string | undefined {\n\tif (commandResultCache.has(commandConfig)) {\n\t\treturn commandResultCache.get(commandConfig);\n\t}\n\n\tconst result = executeCommandUncached(commandConfig);\n\tcommandResultCache.set(commandConfig, result);\n\treturn result;\n}\n\n/**\n * Resolve all header values using the same resolution logic as API keys.\n */\nexport function resolveConfigValueUncached(config: string, env?: Record<string, string>): string | undefined {\n\tconst reference = parseConfigValueReference(config);\n\tif (reference.type === \"command\") {\n\t\treturn executeCommandUncached(reference.config);\n\t}\n\treturn resolveTemplate(reference.parts, env);\n}\n\nexport function resolveConfigValueOrThrow(config: string, description: string, env?: Record<string, string>): string {\n\tconst resolvedValue = resolveConfigValueUncached(config, env);\n\tif (resolvedValue !== undefined) {\n\t\treturn resolvedValue;\n\t}\n\n\tconst reference = parseConfigValueReference(config);\n\tif (reference.type === \"command\") {\n\t\tthrow new Error(`Failed to resolve ${description} from shell command: ${reference.config.slice(1)}`);\n\t}\n\n\tif (reference.type === \"template\") {\n\t\tconst missingEnvVars = getMissingConfigValueEnvVarNames(config, env);\n\t\tif (missingEnvVars.length === 1) {\n\t\t\tthrow new Error(`Failed to resolve ${description} from environment variable: ${missingEnvVars[0]}`);\n\t\t}\n\t\tif (missingEnvVars.length > 1) {\n\t\t\tthrow new Error(`Failed to resolve ${description} from environment variables: ${missingEnvVars.join(\", \")}`);\n\t\t}\n\t}\n\n\tthrow new Error(`Failed to resolve ${description}`);\n}\n\n/**\n * Resolve all header values using the same resolution logic as API keys.\n */\nexport function resolveHeaders(\n\theaders: Record<string, string> | undefined,\n\tenv?: Record<string, string>,\n): Record<string, string> | undefined {\n\tif (!headers) return undefined;\n\tconst resolved: Record<string, string> = {};\n\tfor (const [key, value] of Object.entries(headers)) {\n\t\tconst resolvedValue = resolveConfigValue(value, env);\n\t\tif (resolvedValue) {\n\t\t\tresolved[key] = resolvedValue;\n\t\t}\n\t}\n\treturn Object.keys(resolved).length > 0 ? resolved : undefined;\n}\n\nexport function resolveHeadersOrThrow(\n\theaders: Record<string, string> | undefined,\n\tdescription: string,\n\tenv?: Record<string, string>,\n): Record<string, string> | undefined {\n\tif (!headers) return undefined;\n\tconst resolved: Record<string, string> = {};\n\tfor (const [key, value] of Object.entries(headers)) {\n\t\tresolved[key] = resolveConfigValueOrThrow(value, `${description} header \"${key}\"`, env);\n\t}\n\treturn Object.keys(resolved).length > 0 ? resolved : undefined;\n}\n\n/** Clear the config value command cache. Exported for testing. */\nexport function clearConfigValueCache(): void {\n\tcommandResultCache.clear();\n}\n"]}
1
+ {"version":3,"file":"resolve-config-value.js","sourceRoot":"","sources":["../../src/core/resolve-config-value.ts"],"names":[],"mappings":"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"}
@@ -62,6 +62,7 @@ export interface ResourceLoader {
62
62
  /** El host registra un callback cuando un run arranca (panel desktop). */
63
63
  setOnWorkflowRunStarted?(cb: ((runId: string, name: string) => void) | null): void;
64
64
  getGoalEngine(): GoalEngine | null;
65
+ getMcpManager?(): import("./mcp/manager.ts").McpManager | null;
65
66
  getGraph(): import("./workflows/graph.ts").Graph | null;
66
67
  getSystemPromptSource(): {
67
68
  path: string;
@@ -154,6 +155,7 @@ export declare class DefaultResourceLoader implements ResourceLoader {
154
155
  private noThemes;
155
156
  private noContextFiles;
156
157
  private memoryEngine;
158
+ private mcpManager;
157
159
  private vaultManager;
158
160
  private workflowManager;
159
161
  /** Getter del modelo de la sesión principal (los subagentes lo heredan). */
@@ -224,6 +226,11 @@ export declare class DefaultResourceLoader implements ResourceLoader {
224
226
  * conectan al SDK real vía createSubagentSession + AgentRunner; el juez
225
227
  * usa un subagente SIN tools (solo goal+criteria+evidencia → verdict).
226
228
  */
229
+ /**
230
+ * Integraciones MCP. Los tokens salen del Vault cifrado; si está bloqueado,
231
+ * la integración simplemente no está disponible — nunca se cae a texto plano.
232
+ */
233
+ getMcpManager(): import("./mcp/manager.ts").McpManager | null;
227
234
  getGoalEngine(): import("./workflows/goal-engine/engine.ts").GoalEngine | null;
228
235
  /**
229
236
  * Graph — grafo de trabajo (identidad estructurada del Ada Intelligence
@@ -259,6 +266,20 @@ export declare class DefaultResourceLoader implements ResourceLoader {
259
266
  private loadThemes;
260
267
  private loadThemesFromDir;
261
268
  private loadThemeFromFile;
269
+ /**
270
+ * Extensiones internas de Ada (caché de prompt, ficheros grandes).
271
+ *
272
+ * Van marcadas `hidden`: son infraestructura, no algo que el usuario haya
273
+ * instalado, así que no salen en la lista de extensiones de la interfaz.
274
+ *
275
+ * Pero SÍ tienen que volver en el array. El ExtensionRunner recorre el array
276
+ * de extensiones para encontrar los manejadores; una extensión que no está
277
+ * en él es una extensión sin manejadores. Antes esta función se comía el
278
+ * objeto devuelto por `loadExtensionFromFactory` y no lo devolvía: la caché
279
+ * de prompt llevaba meses cargándose y `before_provider_request` no se
280
+ * llamaba NUNCA. Se ve con `getExtensions().extensions`, que salía vacío.
281
+ */
282
+ private loadBuiltinExtensions;
262
283
  private loadExtensionFactories;
263
284
  private dedupePrompts;
264
285
  private dedupeThemes;
@@ -1 +1 @@
1
- {"version":3,"file":"resource-loader.d.ts","sourceRoot":"","sources":["../../src/core/resource-loader.ts"],"names":[],"mappings":"AAKA,OAAO,EAAqB,KAAK,KAAK,EAAE,MAAM,qCAAqC,CAAC;AACpF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAI9E,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAO/D,OAAO,KAAK,EAA+B,eAAe,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAIhH,OAAO,EAAyB,KAAK,YAAY,EAAyB,MAAM,sBAAsB,CAAC;AAEvG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAKzC,OAAO,EAAuB,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAGnF,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGzD,MAAM,WAAW,sBAAsB;IACtC,UAAU,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAA;KAAE,CAAC,CAAC;IAC7D,WAAW,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAA;KAAE,CAAC,CAAC;IAC9D,UAAU,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAA;KAAE,CAAC,CAAC;CAC7D;AAED,MAAM,WAAW,2BAA2B;IAC3C,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,gBAAgB,EAAE,oBAAoB,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC9F;AAED,MAAM,WAAW,cAAc;IAC9B,MAAM,IAAI,MAAM,CAAC;IACjB,WAAW,IAAI,MAAM,CAAC;IACtB,aAAa,IAAI,oBAAoB,CAAC;IACtC,SAAS,IAAI;QAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAAC,WAAW,EAAE,kBAAkB,EAAE,CAAA;KAAE,CAAC;IACpE,UAAU,IAAI;QAAE,OAAO,EAAE,cAAc,EAAE,CAAC;QAAC,WAAW,EAAE,kBAAkB,EAAE,CAAA;KAAE,CAAC;IAC/E,SAAS,IAAI;QAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAAC,WAAW,EAAE,kBAAkB,EAAE,CAAA;KAAE,CAAC;IACpE,cAAc,IAAI;QAAE,WAAW,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC;IAC5E,eAAe,IAAI,MAAM,GAAG,SAAS,CAAC;IACtC,eAAe,IAAI,OAAO,2BAA2B,EAAE,YAAY,GAAG,IAAI,CAAC;IAC3E,eAAe,IAAI,OAAO,0BAA0B,EAAE,YAAY,GAAG,IAAI,CAAC;IAC1E,kBAAkB,IAAI,eAAe,GAAG,IAAI,CAAC;IAC7C,4EAA4E;IAC5E,qBAAqB,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IACvG,0EAA0E;IAC1E,uBAAuB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IACnF,aAAa,IAAI,UAAU,GAAG,IAAI,CAAC;IACnC,QAAQ,IAAI,OAAO,sBAAsB,EAAE,KAAK,GAAG,IAAI,CAAC;IACxD,qBAAqB,IAAI;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IACtD,qBAAqB,IAAI,MAAM,EAAE,CAAC;IAClC,4BAA4B,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxD,eAAe,CAAC,KAAK,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACrD,MAAM,CAAC,OAAO,CAAC,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7D;AAmED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE;IAChD,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,YAAY,CAAC,EAAE,OAAO,2BAA2B,EAAE,YAAY,GAAG,IAAI,CAAC;CACvE,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAkD3C;AAED,MAAM,WAAW,4BAA4B;IAC5C,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;IACpC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,6BAA6B,CAAC,EAAE,MAAM,EAAE,CAAC;IACzC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,kBAAkB,CAAC,EAAE,eAAe,EAAE,CAAC;IACvC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,oBAAoB,CAAC;IAC1E,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAAC,WAAW,EAAE,kBAAkB,EAAE,CAAA;KAAE,KAAK;QAClF,MAAM,EAAE,KAAK,EAAE,CAAC;QAChB,WAAW,EAAE,kBAAkB,EAAE,CAAC;KAClC,CAAC;IACF,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,cAAc,EAAE,CAAC;QAAC,WAAW,EAAE,kBAAkB,EAAE,CAAA;KAAE,KAAK;QAC7F,OAAO,EAAE,cAAc,EAAE,CAAC;QAC1B,WAAW,EAAE,kBAAkB,EAAE,CAAC;KAClC,CAAC;IACF,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAAC,WAAW,EAAE,kBAAkB,EAAE,CAAA;KAAE,KAAK;QAClF,MAAM,EAAE,KAAK,EAAE,CAAC;QAChB,WAAW,EAAE,kBAAkB,EAAE,CAAC;KAClC,CAAC;IACF,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,WAAW,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,KAAK;QAC1F,WAAW,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACtD,CAAC;IACF,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,GAAG,SAAS,CAAC;IACxE,0BAA0B,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,MAAM,EAAE,CAAC;CAC1D;AAED,qBAAa,qBAAsB,YAAW,cAAc;IAC3D,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,eAAe,CAAkB;IAEzC,MAAM,IAAI,MAAM,CAEf;IAED,WAAW,IAAI,MAAM,CAEpB;IACD,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,cAAc,CAAwB;IAC9C,OAAO,CAAC,wBAAwB,CAAW;IAC3C,OAAO,CAAC,oBAAoB,CAAW;IACvC,OAAO,CAAC,6BAA6B,CAAW;IAChD,OAAO,CAAC,oBAAoB,CAAW;IACvC,OAAO,CAAC,kBAAkB,CAAoB;IAC9C,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,iBAAiB,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,YAAY,CAAiE;IACrF,OAAO,CAAC,YAAY,CAAgE;IACpF,OAAO,CAAC,eAAe,CAAgC;IACvD,6EAA4E;IAC5E,OAAO,CAAC,kBAAkB,CAA0E;IACpG,mFAAiF;IACjF,OAAO,CAAC,oBAAoB,CAAwD;IACpF,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,KAAK,CAAqD;IAClE,OAAO,CAAC,kBAAkB,CAAC,CAAS;IACpC,OAAO,CAAC,wBAAwB,CAAC,CAAW;IAC5C,OAAO,CAAC,kBAAkB,CAAC,CAAuD;IAClF,OAAO,CAAC,cAAc,CAAC,CAGrB;IACF,OAAO,CAAC,eAAe,CAAC,CAGtB;IACF,OAAO,CAAC,cAAc,CAAC,CAGrB;IACF,OAAO,CAAC,mBAAmB,CAAC,CAE1B;IACF,OAAO,CAAC,oBAAoB,CAAC,CAAmD;IAChF,OAAO,CAAC,0BAA0B,CAAC,CAA+B;IAElE,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,iBAAiB,CAAuB;IAChD,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,WAAW,CAA2C;IAC9D,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,sBAAsB,CAAC,CAAS;IACxC,OAAO,CAAC,kBAAkB,CAAW;IACrC,OAAO,CAAC,6BAA6B,CAAW;IAChD,OAAO,CAAC,cAAc,CAAW;IACjC,OAAO,CAAC,yBAAyB,CAA0B;IAC3D,OAAO,CAAC,0BAA0B,CAA0B;IAC5D,OAAO,CAAC,yBAAyB,CAA0B;IAC3D,OAAO,CAAC,sBAAsB,CAA4B;IAC1D,OAAO,CAAC,eAAe,CAAW;IAClC,OAAO,CAAC,cAAc,CAAW;IACjC,OAAO,CAAC,MAAM,CAAU;IAExB,YAAY,OAAO,EAAE,4BAA4B,EAyDhD;IAED,aAAa,IAAI,oBAAoB,CAEpC;IAED,SAAS,IAAI;QAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAAC,WAAW,EAAE,kBAAkB,EAAE,CAAA;KAAE,CAElE;IAED,UAAU,IAAI;QAAE,OAAO,EAAE,cAAc,EAAE,CAAC;QAAC,WAAW,EAAE,kBAAkB,EAAE,CAAA;KAAE,CAE7E;IAED,SAAS,IAAI;QAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAAC,WAAW,EAAE,kBAAkB,EAAE,CAAA;KAAE,CAElE;IAED,cAAc,IAAI;QAAE,WAAW,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAE1E;IAED,eAAe,IAAI,OAAO,2BAA2B,EAAE,YAAY,GAAG,IAAI,CAEzE;IAED,eAAe,IAAI,OAAO,0BAA0B,EAAE,YAAY,GAAG,IAAI,CAExE;IAED,qBAAqB,CAAC,MAAM,EAAE,CAAC,MAAM;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC,GAAG,IAAI,GAAG,IAAI,CAEpG;IAED,uBAAuB,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAEhF;IAED,kBAAkB,IAAI,eAAe,GAAG,IAAI,CAsC3C;IAED;;;;OAIG;IACH,aAAa,IAAI,OAAO,mCAAmC,EAAE,UAAU,GAAG,IAAI,CAoI7E;IAED;;;;OAIG;IACH,QAAQ,IAAI,OAAO,sBAAsB,EAAE,KAAK,GAAG,IAAI,CAStD;IAED,eAAe,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED,qBAAqB,IAAI;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAEpD;IAED,qBAAqB,IAAI,MAAM,EAAE,CAEhC;IAED,4BAA4B,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAEtD;IAED,eAAe,CAAC,KAAK,EAAE,sBAAsB,GAAG,IAAI,CAsCnD;IAEK,0BAA0B,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAMhE;IAEK,MAAM,CAAC,OAAO,CAAC,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAiKjE;YAEa,uBAAuB;IAqBrC,OAAO,CAAC,wBAAwB;YAIlB,qBAAqB;IAqDnC,OAAO,CAAC,+BAA+B;IASvC,OAAO,CAAC,YAAY;IAsBpB,OAAO,CAAC,uBAAuB;IAc/B,OAAO,CAAC,qBAAqB;IAuB7B,OAAO,CAAC,sBAAsB;IAwB9B,OAAO,CAAC,qBAAqB;IAsB7B,OAAO,CAAC,wBAAwB;IAchC,OAAO,CAAC,qBAAqB;IA8C7B,OAAO,CAAC,2BAA2B;IA6CnC,OAAO,CAAC,UAAU;IAelB,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,UAAU;IA0ClB,OAAO,CAAC,iBAAiB;IA8BzB,OAAO,CAAC,iBAAiB;YASX,sBAAsB;IAwBpC,OAAO,CAAC,aAAa;IA0BrB,OAAO,CAAC,YAAY;IA2BpB,OAAO,CAAC,wBAAwB;IAchC,OAAO,CAAC,8BAA8B;IActC,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,wBAAwB;CAqChC;AAWD;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC5C,KAAK,EAAE;IACN,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;CACtB,EACD,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,GACzB,MAAM,CAwBR","sourcesContent":["import { existsSync, readdirSync, readFileSync, statSync } from \"node:fs\";\nimport { homedir } from \"node:os\";\nimport { basename, dirname, join, resolve, sep } from \"node:path\";\nimport chalk from \"chalk\";\nimport { CONFIG_DIR_NAME } from \"../config.ts\";\nimport { loadThemeFromPath, type Theme } from \"../modes/interactive/theme/theme.ts\";\nimport type { ResourceDiagnostic } from \"./diagnostics.ts\";\n\nexport type { ResourceCollision, ResourceDiagnostic } from \"./diagnostics.ts\";\n\nimport { canonicalizePath, isLocalPath, resolvePath } from \"../utils/paths.ts\";\nimport { stripBom } from \"../utils/text.ts\";\nimport { createEventBus, type EventBus } from \"./event-bus.ts\";\nimport {\n\tclearExtensionCache,\n\tcreateExtensionRuntime,\n\tloadExtensionFromFactory,\n\tloadExtensionsCached,\n} from \"./extensions/loader.ts\";\nimport type { Extension, ExtensionRuntime, InlineExtension, LoadExtensionsResult } from \"./extensions/types.ts\";\nimport { findGitPaths } from \"./footer-data-provider.ts\";\nimport { MemoryEngine } from \"./memory-engine/engine.ts\";\nimport { VaultManager } from \"./memory-engine/vault.ts\";\nimport { DefaultPackageManager, type PathMetadata, type ResolvedResource } from \"./package-manager.ts\";\nimport { loadProjectMemorySync } from \"./project-memory.ts\";\nimport type { PromptTemplate } from \"./prompt-templates.ts\";\nimport { loadPromptTemplates } from \"./prompt-templates.ts\";\nimport { SettingsManager } from \"./settings-manager.ts\";\nimport type { Skill } from \"./skills.ts\";\nimport { loadSkills } from \"./skills.ts\";\nimport { createSourceInfo, type SourceInfo } from \"./source-info.ts\";\nimport { resetTimings } from \"./timings.ts\";\nimport { AgentRunner, extractJson } from \"./workflows/agent-runner.ts\";\nimport { FileGoalPersistence, GoalEngine } from \"./workflows/goal-engine/index.ts\";\nimport { buildGoalJudgePrompt, buildGoalReplanPrompt } from \"./workflows/goal-engine/prompts.ts\";\nimport { FileGraphStore, Graph } from \"./workflows/graph.ts\";\nimport { WorkflowManager } from \"./workflows/manager.ts\";\nimport { DEFAULT_WORKFLOW_LIMITS } from \"./workflows/types.ts\";\n\nexport interface ResourceExtensionPaths {\n\tskillPaths?: Array<{ path: string; metadata: PathMetadata }>;\n\tpromptPaths?: Array<{ path: string; metadata: PathMetadata }>;\n\tthemePaths?: Array<{ path: string; metadata: PathMetadata }>;\n}\n\nexport interface ResourceLoaderReloadOptions {\n\tresolveProjectTrust?: (input: { extensionsResult: LoadExtensionsResult }) => Promise<boolean>;\n}\n\nexport interface ResourceLoader {\n\tgetCwd(): string;\n\tgetAgentDir(): string;\n\tgetExtensions(): LoadExtensionsResult;\n\tgetSkills(): { skills: Skill[]; diagnostics: ResourceDiagnostic[] };\n\tgetPrompts(): { prompts: PromptTemplate[]; diagnostics: ResourceDiagnostic[] };\n\tgetThemes(): { themes: Theme[]; diagnostics: ResourceDiagnostic[] };\n\tgetAgentsFiles(): { agentsFiles: Array<{ path: string; content: string }> };\n\tgetSystemPrompt(): string | undefined;\n\tgetMemoryEngine(): import(\"./memory-engine/engine.ts\").MemoryEngine | null;\n\tgetVaultManager(): import(\"./memory-engine/vault.ts\").VaultManager | null;\n\tgetWorkflowManager(): WorkflowManager | null;\n\t/** El host registra su modelo actual para que los subagentes lo hereden. */\n\tsetSessionModelGetter?(getter: (() => { provider: string; modelId: string } | undefined) | null): void;\n\t/** El host registra un callback cuando un run arranca (panel desktop). */\n\tsetOnWorkflowRunStarted?(cb: ((runId: string, name: string) => void) | null): void;\n\tgetGoalEngine(): GoalEngine | null;\n\tgetGraph(): import(\"./workflows/graph.ts\").Graph | null;\n\tgetSystemPromptSource(): { path: string } | undefined;\n\tgetAppendSystemPrompt(): string[];\n\tgetAppendSystemPromptSources(): Array<{ path: string }>;\n\textendResources(paths: ResourceExtensionPaths): void;\n\treload(options?: ResourceLoaderReloadOptions): Promise<void>;\n}\n\nfunction resolvePromptInput(input: string | undefined, description: string): string | undefined {\n\tif (!input) {\n\t\treturn undefined;\n\t}\n\n\tif (existsSync(input)) {\n\t\ttry {\n\t\t\treturn stripBom(readFileSync(input, \"utf-8\"));\n\t\t} catch (error) {\n\t\t\tconsole.error(chalk.yellow(`Warning: Could not read ${description} file ${input}: ${error}`));\n\t\t\treturn input;\n\t\t}\n\t}\n\n\treturn input;\n}\n\nfunction loadContextFileFromDir(dir: string): { path: string; content: string } | null {\n\tconst candidates = [\"AGENTS.override.md\", \"AGENTS.md\", \"AGENTS.MD\", \"CLAUDE.md\", \"CLAUDE.MD\"];\n\tfor (const filename of candidates) {\n\t\tconst filePath = join(dir, filename);\n\t\tif (existsSync(filePath)) {\n\t\t\ttry {\n\t\t\t\tif (!statSync(filePath).isFile()) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tpath: filePath,\n\t\t\t\t\tcontent: stripBom(readFileSync(filePath, \"utf-8\")),\n\t\t\t\t};\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(chalk.yellow(`Warning: Could not read ${filePath}: ${error}`));\n\t\t\t}\n\t\t}\n\t}\n\treturn null;\n}\n\n/**\n * The main repo's context file that a nested linked worktree's own copy shadows: both\n * occupy the same logical repository scope, so loading both applies that context twice. Returns\n * undefined when nothing is shadowed, leaving normal ancestor inheritance alone.\n *\n * Returned canonicalized (realpath), because `git worktree add` writes the `.git`\n * file's `gitdir:` target in realpath form while cwd may still be symlinked\n * (macOS `/tmp` -> `/private/tmp`).\n */\nfunction findShadowedContextFile(cwd: string): string | undefined {\n\tconst gitPaths = findGitPaths(cwd);\n\tif (!gitPaths) return undefined;\n\tconst commonGitDir = canonicalizePath(gitPaths.commonGitDir);\n\tconst worktreeRoot = canonicalizePath(gitPaths.repoDir);\n\tconst mainRepoRoot = dirname(commonGitDir);\n\t// False for an ordinary repo, where the two are the same dir, and for a sibling\n\t// worktree (`git worktree add ../feat`), whose main repo is not an ancestor.\n\tif (!worktreeRoot.startsWith(`${mainRepoRoot}${sep}`)) return undefined;\n\t// dirname of the common git dir is the main worktree root only when that dir is\n\t// itself checked out from the same repo. In a bare layout (`proj/.bare` +\n\t// `proj/main`) it is just the directory holding `.bare`, which tracks nothing; a\n\t// submodule's gitdir has no `commondir`, so it lands under `.git/modules`.\n\tif (canonicalizePath(join(mainRepoRoot, \".git\")) !== commonGitDir) return undefined;\n\tconst worktreeContextFile = loadContextFileFromDir(worktreeRoot);\n\treturn worktreeContextFile ? join(mainRepoRoot, basename(worktreeContextFile.path)) : undefined;\n}\n\nexport function loadProjectContextFiles(options: {\n\tcwd: string;\n\tagentDir: string;\n\tprojectMemoryEnabled?: boolean;\n\tmemoryEngine?: import(\"./memory-engine/engine.ts\").MemoryEngine | null;\n}): Array<{ path: string; content: string }> {\n\tconst resolvedCwd = resolvePath(options.cwd);\n\tconst resolvedAgentDir = resolvePath(options.agentDir);\n\n\tconst contextFiles: Array<{ path: string; content: string }> = [];\n\tconst seenPaths = new Set<string>();\n\n\tconst globalContext = loadContextFileFromDir(resolvedAgentDir);\n\tif (globalContext) {\n\t\tcontextFiles.push(globalContext);\n\t\tseenPaths.add(globalContext.path);\n\t}\n\n\tconst ancestorContextFiles: Array<{ path: string; content: string }> = [];\n\n\tconst shadowedContextFile = findShadowedContextFile(resolvedCwd);\n\tlet currentDir = resolvedCwd;\n\n\twhile (true) {\n\t\tconst contextFile = loadContextFileFromDir(currentDir);\n\t\tconst isShadowed =\n\t\t\tshadowedContextFile !== undefined && canonicalizePath(contextFile?.path ?? \"\") === shadowedContextFile;\n\t\tif (contextFile && !isShadowed && !seenPaths.has(contextFile.path)) {\n\t\t\tancestorContextFiles.unshift(contextFile);\n\t\t\tseenPaths.add(contextFile.path);\n\t\t}\n\n\t\tconst parentDir = dirname(currentDir);\n\t\tif (parentDir === currentDir) break;\n\t\tcurrentDir = parentDir;\n\t}\n\n\tcontextFiles.push(...ancestorContextFiles);\n\n\t// Shared project memory: the Ada Memory Engine block (policy or inject\n\t// mode). Falls back to the legacy project-memory file when the engine is\n\t// unavailable or disabled. Included last so it reads as the freshest\n\t// project context.\n\tconst memoryBlock = options.memoryEngine?.getPromptBlockSync() ?? \"\";\n\tif (memoryBlock) {\n\t\tcontextFiles.push({ path: \"<ada-memory>\", content: memoryBlock });\n\t} else {\n\t\tconst memoryFile =\n\t\t\t(options.projectMemoryEnabled ?? true) ? loadProjectMemorySync(resolvedCwd, resolvedAgentDir) : null;\n\t\tif (memoryFile) {\n\t\t\tcontextFiles.push(memoryFile);\n\t\t}\n\t}\n\n\treturn contextFiles;\n}\n\nexport interface DefaultResourceLoaderOptions {\n\tcwd: string;\n\tagentDir: string;\n\tsettingsManager?: SettingsManager;\n\teventBus?: EventBus;\n\tadditionalExtensionPaths?: string[];\n\tadditionalSkillPaths?: string[];\n\tadditionalPromptTemplatePaths?: string[];\n\tadditionalThemePaths?: string[];\n\textensionFactories?: InlineExtension[];\n\tnoExtensions?: boolean;\n\tnoSkills?: boolean;\n\tnoPromptTemplates?: boolean;\n\tnoThemes?: boolean;\n\tnoContextFiles?: boolean;\n\tsystemPrompt?: string;\n\tappendSystemPrompt?: string[];\n\textensionsOverride?: (base: LoadExtensionsResult) => LoadExtensionsResult;\n\tskillsOverride?: (base: { skills: Skill[]; diagnostics: ResourceDiagnostic[] }) => {\n\t\tskills: Skill[];\n\t\tdiagnostics: ResourceDiagnostic[];\n\t};\n\tpromptsOverride?: (base: { prompts: PromptTemplate[]; diagnostics: ResourceDiagnostic[] }) => {\n\t\tprompts: PromptTemplate[];\n\t\tdiagnostics: ResourceDiagnostic[];\n\t};\n\tthemesOverride?: (base: { themes: Theme[]; diagnostics: ResourceDiagnostic[] }) => {\n\t\tthemes: Theme[];\n\t\tdiagnostics: ResourceDiagnostic[];\n\t};\n\tagentsFilesOverride?: (base: { agentsFiles: Array<{ path: string; content: string }> }) => {\n\t\tagentsFiles: Array<{ path: string; content: string }>;\n\t};\n\tsystemPromptOverride?: (base: string | undefined) => string | undefined;\n\tappendSystemPromptOverride?: (base: string[]) => string[];\n}\n\nexport class DefaultResourceLoader implements ResourceLoader {\n\tprivate cwd: string;\n\tprivate agentDir: string;\n\tprivate settingsManager: SettingsManager;\n\n\tgetCwd(): string {\n\t\treturn this.cwd;\n\t}\n\n\tgetAgentDir(): string {\n\t\treturn this.agentDir;\n\t}\n\tprivate eventBus: EventBus;\n\tprivate packageManager: DefaultPackageManager;\n\tprivate additionalExtensionPaths: string[];\n\tprivate additionalSkillPaths: string[];\n\tprivate additionalPromptTemplatePaths: string[];\n\tprivate additionalThemePaths: string[];\n\tprivate extensionFactories: InlineExtension[];\n\tprivate noExtensions: boolean;\n\tprivate noSkills: boolean;\n\tprivate noPromptTemplates: boolean;\n\tprivate noThemes: boolean;\n\tprivate noContextFiles: boolean;\n\tprivate memoryEngine: import(\"./memory-engine/engine.ts\").MemoryEngine | null = null;\n\tprivate vaultManager: import(\"./memory-engine/vault.ts\").VaultManager | null = null;\n\tprivate workflowManager: WorkflowManager | null = null;\n\t/** Getter del modelo de la sesión principal (los subagentes lo heredan). */\n\tprivate sessionModelGetter: (() => { provider: string; modelId: string } | undefined) | null = null;\n\t/** Callback: un run de workflow arrancó (la sesión lo reemite para el panel). */\n\tprivate onWorkflowRunStarted: ((runId: string, name: string) => void) | null = null;\n\tprivate goalEngine: GoalEngine | null = null;\n\tprivate graph: import(\"./workflows/graph.ts\").Graph | null = null;\n\tprivate systemPromptSource?: string;\n\tprivate appendSystemPromptSource?: string[];\n\tprivate extensionsOverride?: (base: LoadExtensionsResult) => LoadExtensionsResult;\n\tprivate skillsOverride?: (base: { skills: Skill[]; diagnostics: ResourceDiagnostic[] }) => {\n\t\tskills: Skill[];\n\t\tdiagnostics: ResourceDiagnostic[];\n\t};\n\tprivate promptsOverride?: (base: { prompts: PromptTemplate[]; diagnostics: ResourceDiagnostic[] }) => {\n\t\tprompts: PromptTemplate[];\n\t\tdiagnostics: ResourceDiagnostic[];\n\t};\n\tprivate themesOverride?: (base: { themes: Theme[]; diagnostics: ResourceDiagnostic[] }) => {\n\t\tthemes: Theme[];\n\t\tdiagnostics: ResourceDiagnostic[];\n\t};\n\tprivate agentsFilesOverride?: (base: { agentsFiles: Array<{ path: string; content: string }> }) => {\n\t\tagentsFiles: Array<{ path: string; content: string }>;\n\t};\n\tprivate systemPromptOverride?: (base: string | undefined) => string | undefined;\n\tprivate appendSystemPromptOverride?: (base: string[]) => string[];\n\n\tprivate extensionsResult: LoadExtensionsResult;\n\tprivate skills: Skill[];\n\tprivate skillDiagnostics: ResourceDiagnostic[];\n\tprivate prompts: PromptTemplate[];\n\tprivate promptDiagnostics: ResourceDiagnostic[];\n\tprivate themes: Theme[];\n\tprivate themeDiagnostics: ResourceDiagnostic[];\n\tprivate agentsFiles: Array<{ path: string; content: string }>;\n\tprivate systemPrompt?: string;\n\tprivate systemPromptSourcePath?: string;\n\tprivate appendSystemPrompt: string[];\n\tprivate appendSystemPromptSourcePaths: string[];\n\tprivate lastSkillPaths: string[];\n\tprivate extensionSkillSourceInfos: Map<string, SourceInfo>;\n\tprivate extensionPromptSourceInfos: Map<string, SourceInfo>;\n\tprivate extensionThemeSourceInfos: Map<string, SourceInfo>;\n\tprivate resourceMetadataByPath: Map<string, PathMetadata>;\n\tprivate lastPromptPaths: string[];\n\tprivate lastThemePaths: string[];\n\tprivate loaded: boolean;\n\n\tconstructor(options: DefaultResourceLoaderOptions) {\n\t\tthis.cwd = resolvePath(options.cwd);\n\t\tthis.agentDir = resolvePath(options.agentDir);\n\t\tthis.settingsManager = options.settingsManager ?? SettingsManager.create(this.cwd, this.agentDir);\n\t\t// Ada Memory Engine — shared across CLI and desktop; lazy-initialized.\n\t\tthis.memoryEngine = new MemoryEngine({\n\t\t\tagentDir: this.agentDir,\n\t\t\tcwd: this.cwd,\n\t\t\tgetConfig: () => this.settingsManager.getMemoryEngineConfig(),\n\t\t});\n\t\t// Ada Secure Vault — encrypted secrets (project + session scopes).\n\t\tthis.vaultManager = new VaultManager(this.agentDir, this.memoryEngine.projectHash);\n\t\tthis.vaultManager.setAudit((entry) => this.memoryEngine?.recordAudit(entry));\n\t\tthis.eventBus = options.eventBus ?? createEventBus();\n\t\tthis.packageManager = new DefaultPackageManager({\n\t\t\tcwd: this.cwd,\n\t\t\tagentDir: this.agentDir,\n\t\t\tsettingsManager: this.settingsManager,\n\t\t});\n\t\tthis.additionalExtensionPaths = options.additionalExtensionPaths ?? [];\n\t\tthis.additionalSkillPaths = options.additionalSkillPaths ?? [];\n\t\tthis.additionalPromptTemplatePaths = options.additionalPromptTemplatePaths ?? [];\n\t\tthis.additionalThemePaths = options.additionalThemePaths ?? [];\n\t\tthis.extensionFactories = options.extensionFactories ?? [];\n\t\tthis.noExtensions = options.noExtensions ?? false;\n\t\tthis.noSkills = options.noSkills ?? false;\n\t\tthis.noPromptTemplates = options.noPromptTemplates ?? false;\n\t\tthis.noThemes = options.noThemes ?? false;\n\t\tthis.noContextFiles = options.noContextFiles ?? false;\n\t\tthis.systemPromptSource = options.systemPrompt;\n\t\tthis.appendSystemPromptSource = options.appendSystemPrompt;\n\t\tthis.extensionsOverride = options.extensionsOverride;\n\t\tthis.skillsOverride = options.skillsOverride;\n\t\tthis.promptsOverride = options.promptsOverride;\n\t\tthis.themesOverride = options.themesOverride;\n\t\tthis.agentsFilesOverride = options.agentsFilesOverride;\n\t\tthis.systemPromptOverride = options.systemPromptOverride;\n\t\tthis.appendSystemPromptOverride = options.appendSystemPromptOverride;\n\n\t\tthis.extensionsResult = { extensions: [], errors: [], runtime: createExtensionRuntime() };\n\t\tthis.skills = [];\n\t\tthis.skillDiagnostics = [];\n\t\tthis.prompts = [];\n\t\tthis.promptDiagnostics = [];\n\t\tthis.themes = [];\n\t\tthis.themeDiagnostics = [];\n\t\tthis.agentsFiles = [];\n\t\tthis.appendSystemPrompt = [];\n\t\tthis.appendSystemPromptSourcePaths = [];\n\t\tthis.lastSkillPaths = [];\n\t\tthis.extensionSkillSourceInfos = new Map();\n\t\tthis.extensionPromptSourceInfos = new Map();\n\t\tthis.extensionThemeSourceInfos = new Map();\n\t\tthis.resourceMetadataByPath = new Map();\n\t\tthis.lastPromptPaths = [];\n\t\tthis.lastThemePaths = [];\n\t\tthis.loaded = false;\n\t}\n\n\tgetExtensions(): LoadExtensionsResult {\n\t\treturn this.extensionsResult;\n\t}\n\n\tgetSkills(): { skills: Skill[]; diagnostics: ResourceDiagnostic[] } {\n\t\treturn { skills: this.skills, diagnostics: this.skillDiagnostics };\n\t}\n\n\tgetPrompts(): { prompts: PromptTemplate[]; diagnostics: ResourceDiagnostic[] } {\n\t\treturn { prompts: this.prompts, diagnostics: this.promptDiagnostics };\n\t}\n\n\tgetThemes(): { themes: Theme[]; diagnostics: ResourceDiagnostic[] } {\n\t\treturn { themes: this.themes, diagnostics: this.themeDiagnostics };\n\t}\n\n\tgetAgentsFiles(): { agentsFiles: Array<{ path: string; content: string }> } {\n\t\treturn { agentsFiles: this.agentsFiles };\n\t}\n\n\tgetMemoryEngine(): import(\"./memory-engine/engine.ts\").MemoryEngine | null {\n\t\treturn this.memoryEngine;\n\t}\n\n\tgetVaultManager(): import(\"./memory-engine/vault.ts\").VaultManager | null {\n\t\treturn this.vaultManager;\n\t}\n\n\tsetSessionModelGetter(getter: (() => { provider: string; modelId: string } | undefined) | null): void {\n\t\tthis.sessionModelGetter = getter;\n\t}\n\n\tsetOnWorkflowRunStarted(cb: ((runId: string, name: string) => void) | null): void {\n\t\tthis.onWorkflowRunStarted = cb;\n\t}\n\n\tgetWorkflowManager(): WorkflowManager | null {\n\t\tif (!this.workflowManager) {\n\t\t\tthis.workflowManager = new WorkflowManager({\n\t\t\t\trunsDir: join(this.agentDir, \"workflows\", \"runs\"),\n\t\t\t\tcreateSession: (options) =>\n\t\t\t\t\timport(\"./workflows/subagent-host.ts\").then((m) =>\n\t\t\t\t\t\tm.createSubagentSession({ ...options, hostModel: this.sessionModelGetter?.() ?? undefined }),\n\t\t\t\t\t),\n\t\t\t\t// Los runs del goal (goal_subtask) marcan la sub-tarea del goal\n\t\t\t\t// al terminar — el goal es contenedor, los workflows son los pasos.\n\t\t\t\tonEvent: (type, payload) => {\n\t\t\t\t\tif (type === \"workflow_run_started\") {\n\t\t\t\t\t\tconst st = payload as { runId: string; name: string };\n\t\t\t\t\t\tthis.onWorkflowRunStarted?.(st.runId, st.name);\n\t\t\t\t\t}\n\t\t\t\t\tif (type === \"workflow_run_finished\") {\n\t\t\t\t\t\tconst fin = payload as {\n\t\t\t\t\t\t\trunId: string;\n\t\t\t\t\t\t\tstatus: string;\n\t\t\t\t\t\t\terror?: string;\n\t\t\t\t\t\t\ttokens?: number;\n\t\t\t\t\t\t\tcost?: number;\n\t\t\t\t\t\t};\n\t\t\t\t\t\tvoid this.goalEngine\n\t\t\t\t\t\t\t?.onWorkflowFinished(fin.runId, fin.status === \"completed\", fin.error, {\n\t\t\t\t\t\t\t\ttokens: fin.tokens,\n\t\t\t\t\t\t\t\tcost: fin.cost,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.catch(() => {});\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t});\n\t\t\t// Desatascar los runs que murieron con un proceso anterior. Sin esto,\n\t\t\t// un Ctrl-C durante una sub-tarea deja el goal bloqueado para siempre,\n\t\t\t// porque tick() no avanza mientras haya una task en `running`.\n\t\t\tvoid this.workflowManager.reconcile().catch(() => {});\n\t\t}\n\t\treturn this.workflowManager;\n\t}\n\n\t/**\n\t * GoalEngine — el bucle de trabajo autónomo (Fase 4). El work/judge se\n\t * conectan al SDK real vía createSubagentSession + AgentRunner; el juez\n\t * usa un subagente SIN tools (solo goal+criteria+evidencia → verdict).\n\t */\n\tgetGoalEngine(): import(\"./workflows/goal-engine/engine.ts\").GoalEngine | null {\n\t\tif (!this.goalEngine) {\n\t\t\tconst agentDir = this.agentDir;\n\t\t\tconst createSession = (options: {\n\t\t\t\tcwd: string;\n\t\t\t\tagentDir: string;\n\t\t\t\tmodelSpec?: string;\n\t\t\t\ttools?: string[];\n\t\t\t\tcustomTools?: import(\"./extensions/types.ts\").ToolDefinition[];\n\t\t\t\tsessionName?: string;\n\t\t\t\tinstructions?: string;\n\t\t\t}) => import(\"./workflows/subagent-host.ts\").then((m) => m.createSubagentSession(options));\n\t\t\t// Techo de agentes: contador fresco por runner, pero se respeta el\n\t\t\t// mismo ajuste que los workflows para no tener dos políticas.\n\t\t\tconst wfCfg = this.settingsManager.getEngineConfig().workflows as Record<string, unknown> | undefined;\n\t\t\tconst maxAgents =\n\t\t\t\ttypeof wfCfg?.maxAgentsPerRun === \"number\"\n\t\t\t\t\t? (wfCfg.maxAgentsPerRun as number)\n\t\t\t\t\t: DEFAULT_WORKFLOW_LIMITS.maxAgentsPerRun;\n\t\t\tconst _runner = new AgentRunner({\n\t\t\t\tagentDir,\n\t\t\t\tcreateSession: createSession as unknown as import(\"./workflows/agent-runner.ts\").CreateSubagentSession,\n\t\t\t\tlimiter: async <T>(fn: () => Promise<T>): Promise<T> => fn(),\n\t\t\t\tagentCounter: { count: 0 },\n\t\t\t\tmaxAgents,\n\t\t\t});\n\t\t\tconst judgeRunner = new AgentRunner({\n\t\t\t\tagentDir,\n\t\t\t\tcreateSession: createSession as unknown as import(\"./workflows/agent-runner.ts\").CreateSubagentSession,\n\t\t\t\tlimiter: async <T>(fn: () => Promise<T>): Promise<T> => fn(),\n\t\t\t\tagentCounter: { count: 0 },\n\t\t\t\tmaxAgents,\n\t\t\t});\n\t\t\tconst goalsDir = join(this.agentDir, \"workflows\", \"goals\");\n\t\t\t// Frenos del GoalEngine leídos de la config (§16.2) en el arranque;\n\t\t\t// cambios en caliente se aplican en decisiones posteriores vía getConfig.\n\t\t\tconst goalCfg = this.settingsManager.getEngineConfig().goalEngine as Record<string, unknown>;\n\t\t\tconst gStopFile = (goalCfg.stopFile ?? \"~/.ada-stop\") as string;\n\t\t\tthis.goalEngine = new GoalEngine({\n\t\t\t\tpersistence: new FileGoalPersistence(goalsDir),\n\t\t\t\t// Raíz real del proyecto: la huella anti-cheat compara el árbol de\n\t\t\t\t// trabajo entre fallos, y process.cwd() no siempre es el repo.\n\t\t\t\tcwd: this.cwd,\n\t\t\t\tonEvent: (type, _payload) => {\n\t\t\t\t\t// (los eventos del goal ya los maneja la sesión; aquí solo\n\t\t\t\t\t// reenviamos el update para el grafo/panel si hace falta)\n\t\t\t\t\tvoid type;\n\t\t\t\t},\n\t\t\t\tfrenos: {\n\t\t\t\t\tmaxTurns: (goalCfg.maxTurns ?? 25) as number,\n\t\t\t\t\trepeatTolerance: (goalCfg.repeatDetector ?? 3) as number,\n\t\t\t\t\ttokenBudget: (goalCfg.budgetTokens ?? null) as number | null,\n\t\t\t\t\taskBefore: (goalCfg.askBefore ?? []) as string[],\n\t\t\t\t\tstopFile: expandTilde(gStopFile),\n\t\t\t\t},\n\t\t\t\t// P5: modo plan-only desde settings (default off).\n\t\t\t\tplanOnly: (goalCfg.planOnly ?? false) === true,\n\t\t\t\tlaunchWorkflow: async (input) => {\n\t\t\t\t\t// Modelo contenedor: cada sub-tarea del goal lanza un workflow\n\t\t\t\t\t// dinámico. Se genera un script que ejecuta esa sub-tarea con un\n\t\t\t\t\t// agente (mismo runtime/memoria/vault), con su criterio en el prompt.\n\t\t\t\t\t// goalEngine.workTier: \"cheap\" → el agente de la sub-tarea usa el\n\t\t\t\t\t// modelo barato (ahorro); default \"main\" (modelo por defecto).\n\t\t\t\t\tconst workTier = goalCfg.workTier === \"cheap\" ? \"cheap\" : undefined;\n\t\t\t\t\tconst manager = this.workflowManager;\n\t\t\t\t\tif (!manager) throw new Error(\"WorkflowManager no disponible\");\n\t\t\t\t\tconst script = generateSubtaskWorkflowScript(input, workTier);\n\t\t\t\t\tconst { runId } = await manager.execute(script, {\n\t\t\t\t\t\targs: { goal: input.goal, task: input.taskTitle, doneCriteria: input.doneCriteria.join(\"\\n- \") },\n\t\t\t\t\t\tdisplayName: input.taskTitle, // el panel muestra esto, no el genérico\n\t\t\t\t\t\tawait: false, // background; onWorkflowFinished marca la sub-tarea\n\t\t\t\t\t\tsessionId: input.sessionId, // el panel del desktop filtra por esto\n\t\t\t\t\t});\n\t\t\t\t\treturn { runId };\n\t\t\t\t},\n\t\t\t\tjudge: async (input) => {\n\t\t\t\t\t// Juez FINAL del goal (modelo contenedor: solo corre cuando\n\t\t\t\t\t// todas las sub-tareas done o hay fallos). Usa el modelo por\n\t\t\t\t\t// defecto — el veredicto final nunca va en modelo barato.\n\t\t\t\t\tconst result = await judgeRunner.run({\n\t\t\t\t\t\tprompt: buildGoalJudgePrompt(input),\n\t\t\t\t\t\tlabel: \"goal-judge\",\n\t\t\t\t\t\tphase: \"judge\",\n\t\t\t\t\t});\n\t\t\t\t\tconst parsed = result ? extractJson(result.text) : undefined;\n\t\t\t\t\tconst verdict =\n\t\t\t\t\t\tparsed && typeof parsed === \"object\" && (parsed as { verdict?: string }).verdict === \"done\"\n\t\t\t\t\t\t\t? \"done\"\n\t\t\t\t\t\t\t: \"continue\";\n\t\t\t\t\treturn {\n\t\t\t\t\t\tverdict,\n\t\t\t\t\t\treason:\n\t\t\t\t\t\t\tparsed && typeof parsed === \"object\" && typeof (parsed as { reason?: string }).reason === \"string\"\n\t\t\t\t\t\t\t\t? (parsed as { reason: string }).reason\n\t\t\t\t\t\t\t\t: \"sin razón estructurada\",\n\t\t\t\t\t\tcrossModel: true,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\treplanFn: async (input) => {\n\t\t\t\t\t// P1: re-planificación completa tras continue. Mismo modelo\n\t\t\t\t\t// del juez (nunca cheap): el nuevo plan debe ser riguroso.\n\t\t\t\t\tconst result = await judgeRunner.run({\n\t\t\t\t\t\tprompt: buildGoalReplanPrompt({\n\t\t\t\t\t\t\tgoal: input.goal,\n\t\t\t\t\t\t\tdoneCriteria: input.doneCriteria,\n\t\t\t\t\t\t\tverifyCommand: input.verifyCommand,\n\t\t\t\t\t\t\tevidence: input.evidence,\n\t\t\t\t\t\t\tcurrentTasks: input.currentTasks.map((t) => t.title),\n\t\t\t\t\t\t\tlastReason: input.lastReason,\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tlabel: \"goal-replan\",\n\t\t\t\t\t\tphase: \"judge\",\n\t\t\t\t\t});\n\t\t\t\t\tconst parsed = result ? extractJson(result.text) : undefined;\n\t\t\t\t\tconst tasks =\n\t\t\t\t\t\tparsed && Array.isArray((parsed as { tasks?: unknown }).tasks)\n\t\t\t\t\t\t\t? (parsed as { tasks: Array<{ title?: string }> }).tasks\n\t\t\t\t\t\t\t\t\t.filter((t) => typeof t?.title === \"string\" && t.title.trim())\n\t\t\t\t\t\t\t\t\t.map((t) => ({ title: (t as { title: string }).title.trim() }))\n\t\t\t\t\t\t\t: [];\n\t\t\t\t\tif (tasks.length === 0) throw new Error(\"replan sin tareas válidas\");\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttasks,\n\t\t\t\t\t\trationale:\n\t\t\t\t\t\t\tparsed && typeof (parsed as { rationale?: string }).rationale === \"string\"\n\t\t\t\t\t\t\t\t? (parsed as { rationale: string }).rationale\n\t\t\t\t\t\t\t\t: \"plan regenerado\",\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t\treturn this.goalEngine;\n\t}\n\n\t/**\n\t * Graph — grafo de trabajo (identidad estructurada del Ada Intelligence\n\t * Engine, §5). Persistencia JSON + índice invertido en workflows/graph/.\n\t * Lazy a petición (zero-cost hasta el primer uso).\n\t */\n\tgetGraph(): import(\"./workflows/graph.ts\").Graph | null {\n\t\tif (!this.graph) {\n\t\t\tthis.graph = new Graph({\n\t\t\t\tstore: new FileGraphStore(join(this.agentDir, \"workflows\", \"graph\")),\n\t\t\t\tminConfidence: 0.6,\n\t\t\t});\n\t\t\tvoid this.graph.init().catch(() => {});\n\t\t}\n\t\treturn this.graph;\n\t}\n\n\tgetSystemPrompt(): string | undefined {\n\t\treturn this.systemPrompt;\n\t}\n\n\tgetSystemPromptSource(): { path: string } | undefined {\n\t\treturn this.systemPromptSourcePath ? { path: this.systemPromptSourcePath } : undefined;\n\t}\n\n\tgetAppendSystemPrompt(): string[] {\n\t\treturn this.appendSystemPrompt;\n\t}\n\n\tgetAppendSystemPromptSources(): Array<{ path: string }> {\n\t\treturn this.appendSystemPromptSourcePaths.map((path) => ({ path }));\n\t}\n\n\textendResources(paths: ResourceExtensionPaths): void {\n\t\tconst skillPaths = this.normalizeExtensionPaths(paths.skillPaths ?? []);\n\t\tconst promptPaths = this.normalizeExtensionPaths(paths.promptPaths ?? []);\n\t\tconst themePaths = this.normalizeExtensionPaths(paths.themePaths ?? []);\n\n\t\tfor (const entry of skillPaths) {\n\t\t\tthis.extensionSkillSourceInfos.set(entry.path, createSourceInfo(entry.path, entry.metadata));\n\t\t}\n\t\tfor (const entry of promptPaths) {\n\t\t\tthis.extensionPromptSourceInfos.set(entry.path, createSourceInfo(entry.path, entry.metadata));\n\t\t}\n\t\tfor (const entry of themePaths) {\n\t\t\tthis.extensionThemeSourceInfos.set(entry.path, createSourceInfo(entry.path, entry.metadata));\n\t\t}\n\n\t\tif (skillPaths.length > 0) {\n\t\t\tthis.lastSkillPaths = this.mergePaths(\n\t\t\t\tthis.lastSkillPaths,\n\t\t\t\tskillPaths.map((entry) => entry.path),\n\t\t\t);\n\t\t\tthis.updateSkillsFromPaths(this.lastSkillPaths, this.resourceMetadataByPath);\n\t\t}\n\n\t\tif (promptPaths.length > 0) {\n\t\t\tthis.lastPromptPaths = this.mergePaths(\n\t\t\t\tthis.lastPromptPaths,\n\t\t\t\tpromptPaths.map((entry) => entry.path),\n\t\t\t);\n\t\t\tthis.updatePromptsFromPaths(this.lastPromptPaths, this.resourceMetadataByPath);\n\t\t}\n\n\t\tif (themePaths.length > 0) {\n\t\t\tthis.lastThemePaths = this.mergePaths(\n\t\t\t\tthis.lastThemePaths,\n\t\t\t\tthemePaths.map((entry) => entry.path),\n\t\t\t);\n\t\t\tthis.updateThemesFromPaths(this.lastThemePaths, this.resourceMetadataByPath);\n\t\t}\n\t}\n\n\tasync loadProjectTrustExtensions(): Promise<LoadExtensionsResult> {\n\t\t// Force untrusted project settings for the bootstrap pass. This keeps project-local\n\t\t// extensions/packages out while still loading user/global and temporary CLI extensions.\n\t\tthis.settingsManager.setProjectTrusted(false);\n\t\tawait this.settingsManager.reload();\n\t\treturn this.loadCurrentExtensionSet({ includeInlineFactories: true });\n\t}\n\n\tasync reload(options?: ResourceLoaderReloadOptions): Promise<void> {\n\t\tresetTimings(\"extensions\");\n\n\t\tif (this.loaded) {\n\t\t\tclearExtensionCache();\n\t\t}\n\n\t\tlet preTrustExtensions: LoadExtensionsResult | undefined;\n\t\tif (options?.resolveProjectTrust) {\n\t\t\tpreTrustExtensions = await this.loadProjectTrustExtensions();\n\t\t\tconst projectTrusted = await options.resolveProjectTrust({ extensionsResult: preTrustExtensions });\n\t\t\tthis.settingsManager.setProjectTrusted(projectTrusted);\n\t\t}\n\n\t\t// reload() preserves SettingsManager.projectTrusted and reloads settings for that trust state.\n\t\tawait this.settingsManager.reload();\n\t\tconst resolvedPaths = await this.packageManager.resolve();\n\t\tconst cliExtensionPaths = await this.packageManager.resolveExtensionSources(this.additionalExtensionPaths, {\n\t\t\ttemporary: true,\n\t\t});\n\t\t// Kept on the instance so post-reload passes (extendResources) can still resolve package metadata.\n\t\tthis.resourceMetadataByPath = new Map();\n\t\tconst metadataByPath = this.resourceMetadataByPath;\n\n\t\tthis.extensionSkillSourceInfos = new Map();\n\t\tthis.extensionPromptSourceInfos = new Map();\n\t\tthis.extensionThemeSourceInfos = new Map();\n\n\t\t// Helper to extract enabled paths and store metadata\n\t\tconst getEnabledResources = (resources: ResolvedResource[]): ResolvedResource[] => {\n\t\t\tfor (const r of resources) {\n\t\t\t\tif (!metadataByPath.has(r.path)) {\n\t\t\t\t\tmetadataByPath.set(r.path, r.metadata);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn resources.filter((r) => r.enabled);\n\t\t};\n\n\t\tconst getEnabledPaths = (resources: ResolvedResource[]): string[] =>\n\t\t\tgetEnabledResources(resources).map((r) => r.path);\n\t\tconst enabledExtensions = getEnabledPaths(resolvedPaths.extensions);\n\t\tconst enabledSkillResources = getEnabledResources(resolvedPaths.skills);\n\t\tconst enabledPrompts = getEnabledPaths(resolvedPaths.prompts);\n\t\tconst enabledThemes = getEnabledPaths(resolvedPaths.themes);\n\n\t\tconst enabledSkills = enabledSkillResources.map((resource) => this.mapSkillPath(resource, metadataByPath));\n\n\t\t// Add CLI paths metadata\n\t\tfor (const r of cliExtensionPaths.extensions) {\n\t\t\tif (!metadataByPath.has(r.path)) {\n\t\t\t\tmetadataByPath.set(r.path, { source: \"cli\", scope: \"temporary\", origin: \"top-level\" });\n\t\t\t}\n\t\t}\n\t\tfor (const r of cliExtensionPaths.skills) {\n\t\t\tif (!metadataByPath.has(r.path)) {\n\t\t\t\tmetadataByPath.set(r.path, { source: \"cli\", scope: \"temporary\", origin: \"top-level\" });\n\t\t\t}\n\t\t}\n\n\t\tconst cliEnabledExtensions = getEnabledPaths(cliExtensionPaths.extensions);\n\t\tconst cliEnabledSkills = getEnabledPaths(cliExtensionPaths.skills);\n\t\tconst cliEnabledPrompts = getEnabledPaths(cliExtensionPaths.prompts);\n\t\tconst cliEnabledThemes = getEnabledPaths(cliExtensionPaths.themes);\n\n\t\tconst extensionPaths = this.noExtensions\n\t\t\t? cliEnabledExtensions\n\t\t\t: this.mergePaths(cliEnabledExtensions, enabledExtensions);\n\n\t\tconst extensionsResult = await this.loadFinalExtensionSet(extensionPaths, preTrustExtensions);\n\t\tfor (const p of this.additionalExtensionPaths) {\n\t\t\tif (isLocalPath(p)) {\n\t\t\t\tconst resolved = this.resolveResourcePath(p);\n\t\t\t\tif (!existsSync(resolved)) {\n\t\t\t\t\textensionsResult.errors.push({ path: resolved, error: `Extension path does not exist: ${resolved}` });\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tthis.extensionsResult = this.extensionsOverride ? this.extensionsOverride(extensionsResult) : extensionsResult;\n\t\tthis.applyExtensionSourceInfo(this.extensionsResult.extensions, metadataByPath);\n\n\t\tconst skillPaths = this.noSkills\n\t\t\t? this.mergePaths(cliEnabledSkills, this.additionalSkillPaths)\n\t\t\t: this.mergePaths([...cliEnabledSkills, ...enabledSkills], this.additionalSkillPaths);\n\n\t\tthis.lastSkillPaths = skillPaths;\n\t\tthis.updateSkillsFromPaths(skillPaths, metadataByPath);\n\t\tfor (const p of this.additionalSkillPaths) {\n\t\t\tif (isLocalPath(p)) {\n\t\t\t\tconst resolved = this.resolveResourcePath(p);\n\t\t\t\tif (!existsSync(resolved) && !this.skillDiagnostics.some((d) => d.path === resolved)) {\n\t\t\t\t\tthis.skillDiagnostics.push({ type: \"error\", message: \"Skill path does not exist\", path: resolved });\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst promptPaths = this.noPromptTemplates\n\t\t\t? this.mergePaths(cliEnabledPrompts, this.additionalPromptTemplatePaths)\n\t\t\t: this.mergePaths([...cliEnabledPrompts, ...enabledPrompts], this.additionalPromptTemplatePaths);\n\n\t\tthis.lastPromptPaths = promptPaths;\n\t\tthis.updatePromptsFromPaths(promptPaths, metadataByPath);\n\t\tfor (const p of this.additionalPromptTemplatePaths) {\n\t\t\tif (isLocalPath(p)) {\n\t\t\t\tconst resolved = this.resolveResourcePath(p);\n\t\t\t\tif (!existsSync(resolved) && !this.promptDiagnostics.some((d) => d.path === resolved)) {\n\t\t\t\t\tthis.promptDiagnostics.push({\n\t\t\t\t\t\ttype: \"error\",\n\t\t\t\t\t\tmessage: \"Prompt template path does not exist\",\n\t\t\t\t\t\tpath: resolved,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst themePaths = this.noThemes\n\t\t\t? this.mergePaths(cliEnabledThemes, this.additionalThemePaths)\n\t\t\t: this.mergePaths([...cliEnabledThemes, ...enabledThemes], this.additionalThemePaths);\n\n\t\tthis.lastThemePaths = themePaths;\n\t\tthis.updateThemesFromPaths(themePaths, metadataByPath);\n\t\tfor (const p of this.additionalThemePaths) {\n\t\t\tconst resolved = this.resolveResourcePath(p);\n\t\t\tif (!existsSync(resolved) && !this.themeDiagnostics.some((d) => d.path === resolved)) {\n\t\t\t\tthis.themeDiagnostics.push({ type: \"error\", message: \"Theme path does not exist\", path: resolved });\n\t\t\t}\n\t\t}\n\n\t\tconst agentsFiles = {\n\t\t\tagentsFiles: this.noContextFiles\n\t\t\t\t? []\n\t\t\t\t: loadProjectContextFiles({\n\t\t\t\t\t\tcwd: this.cwd,\n\t\t\t\t\t\tagentDir: this.agentDir,\n\t\t\t\t\t\tprojectMemoryEnabled: this.settingsManager.getProjectMemoryEnabled(),\n\t\t\t\t\t\tmemoryEngine: this.memoryEngine,\n\t\t\t\t\t}),\n\t\t};\n\t\tconst resolvedAgentsFiles = this.agentsFilesOverride ? this.agentsFilesOverride(agentsFiles) : agentsFiles;\n\t\tthis.agentsFiles = resolvedAgentsFiles.agentsFiles;\n\n\t\tconst systemPromptSource = this.systemPromptSource ?? this.discoverSystemPromptFile();\n\t\tconst baseSystemPrompt = resolvePromptInput(systemPromptSource, \"system prompt\");\n\t\tthis.systemPrompt = this.systemPromptOverride ? this.systemPromptOverride(baseSystemPrompt) : baseSystemPrompt;\n\t\tthis.systemPromptSourcePath =\n\t\t\tsystemPromptSource && existsSync(systemPromptSource) ? resolvePath(systemPromptSource) : undefined;\n\n\t\tlet appendSources = this.appendSystemPromptSource;\n\t\tif (!appendSources) {\n\t\t\tconst discoveredAppendSystemPromptFile = this.discoverAppendSystemPromptFile();\n\t\t\tappendSources = discoveredAppendSystemPromptFile ? [discoveredAppendSystemPromptFile] : [];\n\t\t}\n\t\tconst baseAppend = appendSources\n\t\t\t.map((s) => resolvePromptInput(s, \"append system prompt\"))\n\t\t\t.filter((s): s is string => s !== undefined);\n\t\tthis.appendSystemPrompt = this.appendSystemPromptOverride\n\t\t\t? this.appendSystemPromptOverride(baseAppend)\n\t\t\t: baseAppend;\n\t\tthis.appendSystemPromptSourcePaths = appendSources\n\t\t\t.filter((source) => existsSync(source))\n\t\t\t.map((source) => resolvePath(source));\n\t\tthis.loaded = true;\n\t}\n\n\tprivate async loadCurrentExtensionSet(options: { includeInlineFactories: boolean }): Promise<LoadExtensionsResult> {\n\t\tconst resolvedPaths = await this.packageManager.resolve();\n\t\tconst cliExtensionPaths = await this.packageManager.resolveExtensionSources(this.additionalExtensionPaths, {\n\t\t\ttemporary: true,\n\t\t});\n\t\tconst enabledExtensions = resolvedPaths.extensions.filter((r) => r.enabled).map((r) => r.path);\n\t\tconst cliEnabledExtensions = cliExtensionPaths.extensions.filter((r) => r.enabled).map((r) => r.path);\n\t\tconst extensionPaths = this.noExtensions\n\t\t\t? cliEnabledExtensions\n\t\t\t: this.mergePaths(cliEnabledExtensions, enabledExtensions);\n\t\tconst extensionsResult = await loadExtensionsCached(extensionPaths, this.cwd, this.eventBus);\n\t\tif (!options.includeInlineFactories) {\n\t\t\treturn extensionsResult;\n\t\t}\n\n\t\tconst inlineExtensions = await this.loadExtensionFactories(extensionsResult.runtime);\n\t\textensionsResult.extensions.push(...inlineExtensions.extensions);\n\t\textensionsResult.errors.push(...inlineExtensions.errors);\n\t\treturn extensionsResult;\n\t}\n\n\tprivate resolveExtensionLoadPath(path: string): string {\n\t\treturn resolvePath(path, this.cwd, { normalizeUnicodeSpaces: true });\n\t}\n\n\tprivate async loadFinalExtensionSet(\n\t\textensionPaths: string[],\n\t\tpreTrustExtensions: LoadExtensionsResult | undefined,\n\t): Promise<LoadExtensionsResult> {\n\t\tif (!preTrustExtensions) {\n\t\t\tconst extensionsResult = await loadExtensionsCached(extensionPaths, this.cwd, this.eventBus);\n\t\t\tconst inlineExtensions = await this.loadExtensionFactories(extensionsResult.runtime);\n\t\t\textensionsResult.extensions.push(...inlineExtensions.extensions);\n\t\t\textensionsResult.errors.push(...inlineExtensions.errors);\n\t\t\tthis.addExtensionConflictDiagnostics(extensionsResult);\n\t\t\treturn extensionsResult;\n\t\t}\n\n\t\tconst preloadedByPath = new Map(\n\t\t\tpreTrustExtensions.extensions\n\t\t\t\t.filter((extension) => !extension.path.startsWith(\"<inline:\"))\n\t\t\t\t.map((extension) => [extension.resolvedPath, extension]),\n\t\t);\n\t\tconst failedPreloadPaths = new Set(\n\t\t\tpreTrustExtensions.errors.map((error) => this.resolveExtensionLoadPath(error.path)),\n\t\t);\n\t\tconst remainingPaths = extensionPaths.filter((path) => {\n\t\t\tconst resolvedPath = this.resolveExtensionLoadPath(path);\n\t\t\treturn !preloadedByPath.has(resolvedPath) && !failedPreloadPaths.has(resolvedPath);\n\t\t});\n\t\tconst remainingExtensions = await loadExtensionsCached(\n\t\t\tremainingPaths,\n\t\t\tthis.cwd,\n\t\t\tthis.eventBus,\n\t\t\tpreTrustExtensions.runtime,\n\t\t);\n\t\tconst loadedByPath = new Map(preloadedByPath);\n\t\tfor (const extension of remainingExtensions.extensions) {\n\t\t\tloadedByPath.set(extension.resolvedPath, extension);\n\t\t}\n\n\t\tconst inlineExtensions = preTrustExtensions.extensions.filter((extension) =>\n\t\t\textension.path.startsWith(\"<inline:\"),\n\t\t);\n\t\tconst orderedExtensions = extensionPaths\n\t\t\t.map((path) => loadedByPath.get(this.resolveExtensionLoadPath(path)))\n\t\t\t.filter((extension): extension is Extension => extension !== undefined);\n\t\torderedExtensions.push(...inlineExtensions);\n\n\t\tconst extensionsResult: LoadExtensionsResult = {\n\t\t\textensions: orderedExtensions,\n\t\t\terrors: [...preTrustExtensions.errors, ...remainingExtensions.errors],\n\t\t\truntime: preTrustExtensions.runtime,\n\t\t};\n\t\tthis.addExtensionConflictDiagnostics(extensionsResult);\n\t\treturn extensionsResult;\n\t}\n\n\tprivate addExtensionConflictDiagnostics(extensionsResult: LoadExtensionsResult): void {\n\t\t// Detect extension conflicts (tools, commands, flags with same names from different extensions)\n\t\t// Keep all extensions loaded. Conflicts are reported as diagnostics, and precedence is handled by load order.\n\t\tconst conflicts = this.detectExtensionConflicts(extensionsResult.extensions);\n\t\tfor (const conflict of conflicts) {\n\t\t\textensionsResult.errors.push({ path: conflict.path, error: conflict.message });\n\t\t}\n\t}\n\n\tprivate mapSkillPath(resource: ResolvedResource, metadataByPath: Map<string, PathMetadata>): string {\n\t\tif (resource.metadata.source !== \"auto\" && resource.metadata.origin !== \"package\") {\n\t\t\treturn resource.path;\n\t\t}\n\t\ttry {\n\t\t\tconst stats = statSync(resource.path);\n\t\t\tif (!stats.isDirectory()) {\n\t\t\t\treturn resource.path;\n\t\t\t}\n\t\t} catch {\n\t\t\treturn resource.path;\n\t\t}\n\t\tconst skillFile = join(resource.path, \"SKILL.md\");\n\t\tif (existsSync(skillFile)) {\n\t\t\tif (!metadataByPath.has(skillFile)) {\n\t\t\t\tmetadataByPath.set(skillFile, resource.metadata);\n\t\t\t}\n\t\t\treturn skillFile;\n\t\t}\n\t\treturn resource.path;\n\t}\n\n\tprivate normalizeExtensionPaths(\n\t\tentries: Array<{ path: string; metadata: PathMetadata }>,\n\t): Array<{ path: string; metadata: PathMetadata }> {\n\t\treturn entries.map((entry) => {\n\t\t\tconst metadata = entry.metadata.baseDir\n\t\t\t\t? { ...entry.metadata, baseDir: this.resolveResourcePath(entry.metadata.baseDir) }\n\t\t\t\t: entry.metadata;\n\t\t\treturn {\n\t\t\t\tpath: this.resolveResourcePath(entry.path),\n\t\t\t\tmetadata,\n\t\t\t};\n\t\t});\n\t}\n\n\tprivate updateSkillsFromPaths(skillPaths: string[], metadataByPath?: Map<string, PathMetadata>): void {\n\t\tlet skillsResult: { skills: Skill[]; diagnostics: ResourceDiagnostic[] };\n\t\tif (this.noSkills && skillPaths.length === 0) {\n\t\t\tskillsResult = { skills: [], diagnostics: [] };\n\t\t} else {\n\t\t\tskillsResult = loadSkills({\n\t\t\t\tcwd: this.cwd,\n\t\t\t\tagentDir: this.agentDir,\n\t\t\t\tskillPaths,\n\t\t\t\tincludeDefaults: false,\n\t\t\t});\n\t\t}\n\t\tconst resolvedSkills = this.skillsOverride ? this.skillsOverride(skillsResult) : skillsResult;\n\t\tthis.skills = resolvedSkills.skills.map((skill) => ({\n\t\t\t...skill,\n\t\t\tsourceInfo:\n\t\t\t\tthis.findSourceInfoForPath(skill.filePath, this.extensionSkillSourceInfos, metadataByPath) ??\n\t\t\t\tskill.sourceInfo ??\n\t\t\t\tthis.getDefaultSourceInfoForPath(skill.filePath),\n\t\t}));\n\t\tthis.skillDiagnostics = resolvedSkills.diagnostics;\n\t}\n\n\tprivate updatePromptsFromPaths(promptPaths: string[], metadataByPath?: Map<string, PathMetadata>): void {\n\t\tlet promptsResult: { prompts: PromptTemplate[]; diagnostics: ResourceDiagnostic[] };\n\t\tif (this.noPromptTemplates && promptPaths.length === 0) {\n\t\t\tpromptsResult = { prompts: [], diagnostics: [] };\n\t\t} else {\n\t\t\tconst allPrompts = loadPromptTemplates({\n\t\t\t\tcwd: this.cwd,\n\t\t\t\tagentDir: this.agentDir,\n\t\t\t\tpromptPaths,\n\t\t\t\tincludeDefaults: false,\n\t\t\t});\n\t\t\tpromptsResult = this.dedupePrompts(allPrompts);\n\t\t}\n\t\tconst resolvedPrompts = this.promptsOverride ? this.promptsOverride(promptsResult) : promptsResult;\n\t\tthis.prompts = resolvedPrompts.prompts.map((prompt) => ({\n\t\t\t...prompt,\n\t\t\tsourceInfo:\n\t\t\t\tthis.findSourceInfoForPath(prompt.filePath, this.extensionPromptSourceInfos, metadataByPath) ??\n\t\t\t\tprompt.sourceInfo ??\n\t\t\t\tthis.getDefaultSourceInfoForPath(prompt.filePath),\n\t\t}));\n\t\tthis.promptDiagnostics = resolvedPrompts.diagnostics;\n\t}\n\n\tprivate updateThemesFromPaths(themePaths: string[], metadataByPath?: Map<string, PathMetadata>): void {\n\t\tlet themesResult: { themes: Theme[]; diagnostics: ResourceDiagnostic[] };\n\t\tif (this.noThemes && themePaths.length === 0) {\n\t\t\tthemesResult = { themes: [], diagnostics: [] };\n\t\t} else {\n\t\t\tconst loaded = this.loadThemes(themePaths, false);\n\t\t\tconst deduped = this.dedupeThemes(loaded.themes);\n\t\t\tthemesResult = { themes: deduped.themes, diagnostics: [...loaded.diagnostics, ...deduped.diagnostics] };\n\t\t}\n\t\tconst resolvedThemes = this.themesOverride ? this.themesOverride(themesResult) : themesResult;\n\t\tthis.themes = resolvedThemes.themes.map((theme) => {\n\t\t\tconst sourcePath = theme.sourcePath;\n\t\t\ttheme.sourceInfo = sourcePath\n\t\t\t\t? (this.findSourceInfoForPath(sourcePath, this.extensionThemeSourceInfos, metadataByPath) ??\n\t\t\t\t\ttheme.sourceInfo ??\n\t\t\t\t\tthis.getDefaultSourceInfoForPath(sourcePath))\n\t\t\t\t: theme.sourceInfo;\n\t\t\treturn theme;\n\t\t});\n\t\tthis.themeDiagnostics = resolvedThemes.diagnostics;\n\t}\n\n\tprivate applyExtensionSourceInfo(extensions: Extension[], metadataByPath: Map<string, PathMetadata>): void {\n\t\tfor (const extension of extensions) {\n\t\t\textension.sourceInfo =\n\t\t\t\tthis.findSourceInfoForPath(extension.path, undefined, metadataByPath) ??\n\t\t\t\tthis.getDefaultSourceInfoForPath(extension.path);\n\t\t\tfor (const command of extension.commands.values()) {\n\t\t\t\tcommand.sourceInfo = extension.sourceInfo;\n\t\t\t}\n\t\t\tfor (const tool of extension.tools.values()) {\n\t\t\t\ttool.sourceInfo = extension.sourceInfo;\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate findSourceInfoForPath(\n\t\tresourcePath: string,\n\t\textraSourceInfos?: Map<string, SourceInfo>,\n\t\tmetadataByPath?: Map<string, PathMetadata>,\n\t): SourceInfo | undefined {\n\t\tif (!resourcePath) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif (resourcePath.startsWith(\"<\")) {\n\t\t\treturn this.getDefaultSourceInfoForPath(resourcePath);\n\t\t}\n\n\t\tconst normalizedResourcePath = resolve(resourcePath);\n\t\tif (extraSourceInfos) {\n\t\t\tfor (const [sourcePath, sourceInfo] of extraSourceInfos.entries()) {\n\t\t\t\tconst normalizedSourcePath = resolve(sourcePath);\n\t\t\t\tif (\n\t\t\t\t\tnormalizedResourcePath === normalizedSourcePath ||\n\t\t\t\t\tnormalizedResourcePath.startsWith(`${normalizedSourcePath}${sep}`)\n\t\t\t\t) {\n\t\t\t\t\treturn { ...sourceInfo, path: resourcePath };\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (metadataByPath) {\n\t\t\tconst exact = metadataByPath.get(normalizedResourcePath) ?? metadataByPath.get(resourcePath);\n\t\t\tif (exact) {\n\t\t\t\treturn createSourceInfo(resourcePath, exact);\n\t\t\t}\n\n\t\t\tfor (const [sourcePath, metadata] of metadataByPath.entries()) {\n\t\t\t\tconst normalizedSourcePath = resolve(sourcePath);\n\t\t\t\tif (\n\t\t\t\t\tnormalizedResourcePath === normalizedSourcePath ||\n\t\t\t\t\tnormalizedResourcePath.startsWith(`${normalizedSourcePath}${sep}`)\n\t\t\t\t) {\n\t\t\t\t\treturn createSourceInfo(resourcePath, metadata);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tprivate getDefaultSourceInfoForPath(filePath: string): SourceInfo {\n\t\tif (filePath.startsWith(\"<\") && filePath.endsWith(\">\")) {\n\t\t\treturn {\n\t\t\t\tpath: filePath,\n\t\t\t\tsource: filePath.slice(1, -1).split(\":\")[0] || \"temporary\",\n\t\t\t\tscope: \"temporary\",\n\t\t\t\torigin: \"top-level\",\n\t\t\t};\n\t\t}\n\n\t\tconst normalizedPath = resolve(filePath);\n\t\tconst agentRoots = [\n\t\t\tjoin(this.agentDir, \"skills\"),\n\t\t\tjoin(this.agentDir, \"prompts\"),\n\t\t\tjoin(this.agentDir, \"themes\"),\n\t\t\tjoin(this.agentDir, \"extensions\"),\n\t\t];\n\t\tconst projectRoots = [\n\t\t\tjoin(this.cwd, CONFIG_DIR_NAME, \"skills\"),\n\t\t\tjoin(this.cwd, CONFIG_DIR_NAME, \"prompts\"),\n\t\t\tjoin(this.cwd, CONFIG_DIR_NAME, \"themes\"),\n\t\t\tjoin(this.cwd, CONFIG_DIR_NAME, \"extensions\"),\n\t\t];\n\n\t\tfor (const root of agentRoots) {\n\t\t\tif (this.isUnderPath(normalizedPath, root)) {\n\t\t\t\treturn { path: filePath, source: \"local\", scope: \"user\", origin: \"top-level\", baseDir: root };\n\t\t\t}\n\t\t}\n\n\t\tfor (const root of projectRoots) {\n\t\t\tif (this.isUnderPath(normalizedPath, root)) {\n\t\t\t\treturn { path: filePath, source: \"local\", scope: \"project\", origin: \"top-level\", baseDir: root };\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tpath: filePath,\n\t\t\tsource: \"local\",\n\t\t\tscope: \"temporary\",\n\t\t\torigin: \"top-level\",\n\t\t\tbaseDir: statSync(normalizedPath).isDirectory() ? normalizedPath : resolve(normalizedPath, \"..\"),\n\t\t};\n\t}\n\n\tprivate mergePaths(primary: string[], additional: string[]): string[] {\n\t\tconst merged: string[] = [];\n\t\tconst seen = new Set<string>();\n\n\t\tfor (const p of [...primary, ...additional]) {\n\t\t\tconst resolved = this.resolveResourcePath(p);\n\t\t\tconst canonicalPath = canonicalizePath(resolved);\n\t\t\tif (seen.has(canonicalPath)) continue;\n\t\t\tseen.add(canonicalPath);\n\t\t\tmerged.push(resolved);\n\t\t}\n\n\t\treturn merged;\n\t}\n\n\tprivate resolveResourcePath(p: string): string {\n\t\treturn resolvePath(p, this.cwd, { trim: true });\n\t}\n\n\tprivate loadThemes(\n\t\tpaths: string[],\n\t\tincludeDefaults: boolean = true,\n\t): {\n\t\tthemes: Theme[];\n\t\tdiagnostics: ResourceDiagnostic[];\n\t} {\n\t\tconst themes: Theme[] = [];\n\t\tconst diagnostics: ResourceDiagnostic[] = [];\n\t\tif (includeDefaults) {\n\t\t\tconst defaultDirs = [join(this.agentDir, \"themes\"), join(this.cwd, CONFIG_DIR_NAME, \"themes\")];\n\n\t\t\tfor (const dir of defaultDirs) {\n\t\t\t\tthis.loadThemesFromDir(dir, themes, diagnostics);\n\t\t\t}\n\t\t}\n\n\t\tfor (const p of paths) {\n\t\t\tconst resolved = this.resolveResourcePath(p);\n\t\t\tif (!existsSync(resolved)) {\n\t\t\t\tdiagnostics.push({ type: \"warning\", message: \"theme path does not exist\", path: resolved });\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tconst stats = statSync(resolved);\n\t\t\t\tif (stats.isDirectory()) {\n\t\t\t\t\tthis.loadThemesFromDir(resolved, themes, diagnostics);\n\t\t\t\t} else if (stats.isFile() && resolved.endsWith(\".json\")) {\n\t\t\t\t\tthis.loadThemeFromFile(resolved, themes, diagnostics);\n\t\t\t\t} else {\n\t\t\t\t\tdiagnostics.push({ type: \"warning\", message: \"theme path is not a json file\", path: resolved });\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tconst message = error instanceof Error ? error.message : \"failed to read theme path\";\n\t\t\t\tdiagnostics.push({ type: \"warning\", message, path: resolved });\n\t\t\t}\n\t\t}\n\n\t\treturn { themes, diagnostics };\n\t}\n\n\tprivate loadThemesFromDir(dir: string, themes: Theme[], diagnostics: ResourceDiagnostic[]): void {\n\t\tif (!existsSync(dir)) {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tconst entries = readdirSync(dir, { withFileTypes: true });\n\t\t\tfor (const entry of entries) {\n\t\t\t\tlet isFile = entry.isFile();\n\t\t\t\tif (entry.isSymbolicLink()) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tisFile = statSync(join(dir, entry.name)).isFile();\n\t\t\t\t\t} catch {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (!isFile) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (!entry.name.endsWith(\".json\")) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tthis.loadThemeFromFile(join(dir, entry.name), themes, diagnostics);\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tconst message = error instanceof Error ? error.message : \"failed to read theme directory\";\n\t\t\tdiagnostics.push({ type: \"warning\", message, path: dir });\n\t\t}\n\t}\n\n\tprivate loadThemeFromFile(filePath: string, themes: Theme[], diagnostics: ResourceDiagnostic[]): void {\n\t\ttry {\n\t\t\tthemes.push(loadThemeFromPath(filePath));\n\t\t} catch (error) {\n\t\t\tconst message = error instanceof Error ? error.message : \"failed to load theme\";\n\t\t\tdiagnostics.push({ type: \"warning\", message, path: filePath });\n\t\t}\n\t}\n\n\tprivate async loadExtensionFactories(runtime: ExtensionRuntime): Promise<{\n\t\textensions: Extension[];\n\t\terrors: Array<{ path: string; error: string }>;\n\t}> {\n\t\tconst extensions: Extension[] = [];\n\t\tconst errors: Array<{ path: string; error: string }> = [];\n\n\t\tfor (const [index, input] of this.extensionFactories.entries()) {\n\t\t\tconst isNamed = typeof input !== \"function\";\n\t\t\tconst factory = isNamed ? input.factory : input;\n\t\t\tconst extensionPath = `<inline:${isNamed ? input.name : index + 1}>`;\n\t\t\ttry {\n\t\t\t\tconst extension = await loadExtensionFromFactory(factory, this.cwd, this.eventBus, runtime, extensionPath);\n\t\t\t\textension.hidden = isNamed && input.hidden;\n\t\t\t\textensions.push(extension);\n\t\t\t} catch (error) {\n\t\t\t\tconst message = error instanceof Error ? error.message : \"failed to load extension\";\n\t\t\t\terrors.push({ path: extensionPath, error: message });\n\t\t\t}\n\t\t}\n\n\t\treturn { extensions, errors };\n\t}\n\n\tprivate dedupePrompts(prompts: PromptTemplate[]): { prompts: PromptTemplate[]; diagnostics: ResourceDiagnostic[] } {\n\t\tconst seen = new Map<string, PromptTemplate>();\n\t\tconst diagnostics: ResourceDiagnostic[] = [];\n\n\t\tfor (const prompt of prompts) {\n\t\t\tconst existing = seen.get(prompt.name);\n\t\t\tif (existing) {\n\t\t\t\tdiagnostics.push({\n\t\t\t\t\ttype: \"collision\",\n\t\t\t\t\tmessage: `name \"/${prompt.name}\" collision`,\n\t\t\t\t\tpath: prompt.filePath,\n\t\t\t\t\tcollision: {\n\t\t\t\t\t\tresourceType: \"prompt\",\n\t\t\t\t\t\tname: prompt.name,\n\t\t\t\t\t\twinnerPath: existing.filePath,\n\t\t\t\t\t\tloserPath: prompt.filePath,\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tseen.set(prompt.name, prompt);\n\t\t\t}\n\t\t}\n\n\t\treturn { prompts: Array.from(seen.values()), diagnostics };\n\t}\n\n\tprivate dedupeThemes(themes: Theme[]): { themes: Theme[]; diagnostics: ResourceDiagnostic[] } {\n\t\tconst seen = new Map<string, Theme>();\n\t\tconst diagnostics: ResourceDiagnostic[] = [];\n\n\t\tfor (const t of themes) {\n\t\t\tconst name = t.name ?? \"unnamed\";\n\t\t\tconst existing = seen.get(name);\n\t\t\tif (existing) {\n\t\t\t\tdiagnostics.push({\n\t\t\t\t\ttype: \"collision\",\n\t\t\t\t\tmessage: `name \"${name}\" collision`,\n\t\t\t\t\tpath: t.sourcePath,\n\t\t\t\t\tcollision: {\n\t\t\t\t\t\tresourceType: \"theme\",\n\t\t\t\t\t\tname,\n\t\t\t\t\t\twinnerPath: existing.sourcePath ?? \"<builtin>\",\n\t\t\t\t\t\tloserPath: t.sourcePath ?? \"<builtin>\",\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tseen.set(name, t);\n\t\t\t}\n\t\t}\n\n\t\treturn { themes: Array.from(seen.values()), diagnostics };\n\t}\n\n\tprivate discoverSystemPromptFile(): string | undefined {\n\t\tconst projectPath = join(this.cwd, CONFIG_DIR_NAME, \"SYSTEM.md\");\n\t\tif (this.settingsManager.isProjectTrusted() && existsSync(projectPath)) {\n\t\t\treturn projectPath;\n\t\t}\n\n\t\tconst globalPath = join(this.agentDir, \"SYSTEM.md\");\n\t\tif (existsSync(globalPath)) {\n\t\t\treturn globalPath;\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tprivate discoverAppendSystemPromptFile(): string | undefined {\n\t\tconst projectPath = join(this.cwd, CONFIG_DIR_NAME, \"APPEND_SYSTEM.md\");\n\t\tif (this.settingsManager.isProjectTrusted() && existsSync(projectPath)) {\n\t\t\treturn projectPath;\n\t\t}\n\n\t\tconst globalPath = join(this.agentDir, \"APPEND_SYSTEM.md\");\n\t\tif (existsSync(globalPath)) {\n\t\t\treturn globalPath;\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tprivate isUnderPath(target: string, root: string): boolean {\n\t\tconst normalizedRoot = resolve(root);\n\t\tif (target === normalizedRoot) {\n\t\t\treturn true;\n\t\t}\n\t\tconst prefix = normalizedRoot.endsWith(sep) ? normalizedRoot : `${normalizedRoot}${sep}`;\n\t\treturn target.startsWith(prefix);\n\t}\n\n\tprivate detectExtensionConflicts(extensions: Extension[]): Array<{ path: string; message: string }> {\n\t\tconst conflicts: Array<{ path: string; message: string }> = [];\n\n\t\t// Track which extension registered each tool and flag\n\t\tconst toolOwners = new Map<string, string>();\n\t\tconst flagOwners = new Map<string, string>();\n\n\t\tfor (const ext of extensions) {\n\t\t\t// Check tools\n\t\t\tfor (const toolName of ext.tools.keys()) {\n\t\t\t\tconst existingOwner = toolOwners.get(toolName);\n\t\t\t\tif (existingOwner && existingOwner !== ext.path) {\n\t\t\t\t\tconflicts.push({\n\t\t\t\t\t\tpath: ext.path,\n\t\t\t\t\t\tmessage: `Tool \"${toolName}\" conflicts with ${existingOwner}`,\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\ttoolOwners.set(toolName, ext.path);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Check flags\n\t\t\tfor (const flagName of ext.flags.keys()) {\n\t\t\t\tconst existingOwner = flagOwners.get(flagName);\n\t\t\t\tif (existingOwner && existingOwner !== ext.path) {\n\t\t\t\t\tconflicts.push({\n\t\t\t\t\t\tpath: ext.path,\n\t\t\t\t\t\tmessage: `Flag \"--${flagName}\" conflicts with ${existingOwner}`,\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tflagOwners.set(flagName, ext.path);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn conflicts;\n\t}\n}\n\n/** Expande ~ en rutas (stop-file del GoalEngine). */\nfunction expandTilde(p: string): string {\n\tif (p === \"~\" || p.startsWith(\"~/\") || p.startsWith(\"~\\\\\")) {\n\t\tconst home = homedir();\n\t\treturn p === \"~\" ? home : home + p.slice(1);\n\t}\n\treturn p;\n}\n\n/**\n * Genera el script del workflow dinámico que ejecuta UNA sub-tarea del goal.\n * Un agente, prompt = la sub-tarea + objetivo + criterios; devuelve un\n * resumen estructurado que el juez del goal usa.\n */\nexport function generateSubtaskWorkflowScript(\n\tinput: {\n\t\tgoalId: string;\n\t\tgoal: string;\n\t\ttaskId: string;\n\t\ttaskTitle: string;\n\t\tdoneCriteria: string[];\n\t\tverifyCommand: string;\n\t},\n\tworkTier?: \"cheap\" | \"main\",\n): string {\n\tconst criteria =\n\t\tinput.doneCriteria.length > 0 ? input.doneCriteria.map((c) => `- ${c}`).join(\"\\n\") : \"- (sin criterios)\";\n\tconst prompt = JSON.stringify(\n\t\t`Objetivo del goal: ${input.goal}\\n\\nSUB-TAREA que debes cumplir AHORA: ${input.taskTitle}\\n\\nCriterios de éxito del goal:\\n${criteria}\\n\\nEjecuta la sub-tarea con las tools (read/bash/write/edit/web). NO la des por hecha sin verificación real: corre tests/comandos. Devuelve JSON {\"summary\": string, \"verified\": boolean, \"evidence\": [{\"claim\": string, \"source\": string}]} con source archivo:línea o salida de comando.${input.verifyCommand ? `\\n\\nComando de verificación disponible: ${input.verifyCommand}` : \"\"}`,\n\t);\n\tconst label = JSON.stringify(String(input.taskTitle ?? input.taskId).slice(0, 72));\n\tconst tierLine = workTier === \"cheap\" ? '\\n tier: \"cheap\",' : \"\";\n\treturn `export const meta = {\n \"name\": \"goal_subtask\",\n \"description\": \"Ejecuta una sub-tarea del goal\",\n \"phases\": [{ \"title\": \"Execute\" }, { \"title\": \"Summarize\" }]\n}\n\nphase(\"Execute\")\nconst result = await agent({\n prompt: ${prompt},\n label: ${label},${tierLine}\n schema: { type: \"object\", properties: { summary: { type: \"string\" }, verified: { type: \"boolean\" }, evidence: { type: \"array\", items: { type: \"object\", properties: { claim: { type: \"string\" }, source: { type: \"string\" } }, required: [\"claim\", \"source\"] } } }, required: [\"summary\", \"verified\", \"evidence\"] }\n})\n\nphase(\"Summarize\")\nreturn result && result.summary ? JSON.stringify({ summary: result.summary, verified: result.verified, evidence: result.evidence }) : JSON.stringify({ summary: \"sin resumen\", verified: false, evidence: [] })\n`;\n}\n"]}
1
+ {"version":3,"file":"resource-loader.d.ts","sourceRoot":"","sources":["../../src/core/resource-loader.ts"],"names":[],"mappings":"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"}
@@ -9,10 +9,13 @@ import { stripBom } from "../utils/text.js";
9
9
  import { createEventBus } from "./event-bus.js";
10
10
  import { clearExtensionCache, createExtensionRuntime, loadExtensionFromFactory, loadExtensionsCached, } from "./extensions/loader.js";
11
11
  import { findGitPaths } from "./footer-data-provider.js";
12
+ import { fuentesDeContextoDeAda } from "./harness/fuentes-de-contexto.js";
13
+ import { McpManager } from "./mcp/manager.js";
12
14
  import { MemoryEngine } from "./memory-engine/engine.js";
13
15
  import { VaultManager } from "./memory-engine/vault.js";
14
16
  import { DefaultPackageManager } from "./package-manager.js";
15
17
  import { loadProjectMemorySync } from "./project-memory.js";
18
+ import { createPromptCacheExtension } from "./prompt-cache/index.js";
16
19
  import { loadPromptTemplates } from "./prompt-templates.js";
17
20
  import { SettingsManager } from "./settings-manager.js";
18
21
  import { loadSkills } from "./skills.js";
@@ -119,6 +122,20 @@ export function loadProjectContextFiles(options) {
119
122
  // mode). Falls back to the legacy project-memory file when the engine is
120
123
  // unavailable or disabled. Included last so it reads as the freshest
121
124
  // project context.
125
+ // Harness: notas durables que el agente ha refinado. Se añaden como context
126
+ // file, igual que la memoria, así que quedan fijadas en reload() y no mueven
127
+ // el prefijo cacheable entre turnos.
128
+ // Lo que Ada añade al contexto: las notas durables del harness y las reglas
129
+ // que el proyecto ya tiene escritas para otras herramientas. Vive en
130
+ // `harness/fuentes-de-contexto.ts` para que aquí sea una llamada: este
131
+ // fichero es de upstream y cada región nuestra cuesta un hunk del
132
+ // presupuesto de sincronización.
133
+ for (const fuente of fuentesDeContextoDeAda(resolvedCwd, resolvedAgentDir)) {
134
+ if (!seenPaths.has(fuente.path)) {
135
+ contextFiles.push(fuente);
136
+ seenPaths.add(fuente.path);
137
+ }
138
+ }
122
139
  const memoryBlock = options.memoryEngine?.getPromptBlockSync() ?? "";
123
140
  if (memoryBlock) {
124
141
  contextFiles.push({ path: "<ada-memory>", content: memoryBlock });
@@ -154,6 +171,7 @@ export class DefaultResourceLoader {
154
171
  noThemes;
155
172
  noContextFiles;
156
173
  memoryEngine = null;
174
+ mcpManager = null;
157
175
  vaultManager = null;
158
176
  workflowManager = null;
159
177
  /** Getter del modelo de la sesión principal (los subagentes lo heredan). */
@@ -302,6 +320,16 @@ export class DefaultResourceLoader {
302
320
  // un Ctrl-C durante una sub-tarea deja el goal bloqueado para siempre,
303
321
  // porque tick() no avanza mientras haya una task en `running`.
304
322
  void this.workflowManager.reconcile().catch(() => { });
323
+ // Barrer dev servers/watchers que sobrevivieron a un SIGKILL previo.
324
+ // La identidad de arranque evita matar un pid reciclado ajeno.
325
+ void import("./orphan-process-journal.js")
326
+ .then(async ({ OrphanProcessJournal }) => {
327
+ const journal = new OrphanProcessJournal(this.agentDir);
328
+ const { killProcessTree, setOrphanProcessJournal } = await import("../utils/shell.js");
329
+ setOrphanProcessJournal(journal);
330
+ await journal.reap(killProcessTree);
331
+ })
332
+ .catch(() => { });
305
333
  }
306
334
  return this.workflowManager;
307
335
  }
@@ -310,6 +338,34 @@ export class DefaultResourceLoader {
310
338
  * conectan al SDK real vía createSubagentSession + AgentRunner; el juez
311
339
  * usa un subagente SIN tools (solo goal+criteria+evidencia → verdict).
312
340
  */
341
+ /**
342
+ * Integraciones MCP. Los tokens salen del Vault cifrado; si está bloqueado,
343
+ * la integración simplemente no está disponible — nunca se cae a texto plano.
344
+ */
345
+ getMcpManager() {
346
+ if (!this.mcpManager) {
347
+ const servers = this.settingsManager.getMcpServers();
348
+ // Sin servidores declarados no se instancia nada: el catálogo builtin
349
+ // solo aparece cuando el usuario configura algo.
350
+ if (!servers || Object.keys(servers).length === 0)
351
+ return null;
352
+ this.mcpManager = new McpManager({
353
+ getServers: () => this.settingsManager.getMcpServers(),
354
+ getVaultSecret: async (name) => {
355
+ try {
356
+ // `get` es síncrono y devuelve null si el vault está bloqueado:
357
+ // en ese caso la integración queda no disponible, nunca se cae a
358
+ // una credencial en claro.
359
+ return this.getVaultManager()?.getSecret(name) ?? undefined;
360
+ }
361
+ catch {
362
+ return undefined;
363
+ }
364
+ },
365
+ });
366
+ }
367
+ return this.mcpManager;
368
+ }
313
369
  getGoalEngine() {
314
370
  if (!this.goalEngine) {
315
371
  const agentDir = this.agentDir;
@@ -972,8 +1028,47 @@ export class DefaultResourceLoader {
972
1028
  diagnostics.push({ type: "warning", message, path: filePath });
973
1029
  }
974
1030
  }
1031
+ /**
1032
+ * Extensiones internas de Ada (caché de prompt, ficheros grandes).
1033
+ *
1034
+ * Van marcadas `hidden`: son infraestructura, no algo que el usuario haya
1035
+ * instalado, así que no salen en la lista de extensiones de la interfaz.
1036
+ *
1037
+ * Pero SÍ tienen que volver en el array. El ExtensionRunner recorre el array
1038
+ * de extensiones para encontrar los manejadores; una extensión que no está
1039
+ * en él es una extensión sin manejadores. Antes esta función se comía el
1040
+ * objeto devuelto por `loadExtensionFromFactory` y no lo devolvía: la caché
1041
+ * de prompt llevaba meses cargándose y `before_provider_request` no se
1042
+ * llamaba NUNCA. Se ve con `getExtensions().extensions`, que salía vacío.
1043
+ */
1044
+ async loadBuiltinExtensions(runtime) {
1045
+ const internas = [];
1046
+ const cargar = async (factory, extensionPath) => {
1047
+ try {
1048
+ const extension = await loadExtensionFromFactory(factory, this.cwd, this.eventBus, runtime, extensionPath);
1049
+ extension.hidden = true;
1050
+ internas.push(extension);
1051
+ }
1052
+ catch {
1053
+ // Una extensión interna nunca debe impedir arrancar una sesión.
1054
+ }
1055
+ };
1056
+ if (this.settingsManager.getPromptCacheEnabled()) {
1057
+ await cargar(createPromptCacheExtension({ agentDir: this.agentDir }), "<ada:prompt-cache>");
1058
+ }
1059
+ // Imports dinámicos y no estáticos a propósito: biome ordena los imports
1060
+ // y uno nuevo arriba caería lejos del de `prompt-cache`, abriendo un hunk
1061
+ // más contra el presupuesto de sync, que está agotado (153/153). Aquí
1062
+ // dentro no cuesta nada y además retrasa la carga del módulo hasta que
1063
+ // hay sesión.
1064
+ const { crearExtensionDeBlobs } = await import("./blobs/index.js");
1065
+ await cargar(crearExtensionDeBlobs({ agentDir: this.agentDir }), "<ada:blobs>");
1066
+ const { crearExtensionContexto } = await import("./compactacion/extension.js");
1067
+ await cargar(crearExtensionContexto({ agentDir: this.agentDir }), "<ada:contexto>");
1068
+ return internas;
1069
+ }
975
1070
  async loadExtensionFactories(runtime) {
976
- const extensions = [];
1071
+ const extensions = await this.loadBuiltinExtensions(runtime);
977
1072
  const errors = [];
978
1073
  for (const [index, input] of this.extensionFactories.entries()) {
979
1074
  const isNamed = typeof input !== "function";