@hoilab/ada-cli 0.85.0 → 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 (1691) hide show
  1. package/dist/ada-publico.d.ts.map +1 -1
  2. package/dist/ada-publico.js.map +1 -1
  3. package/dist/bun/cli.d.ts.map +1 -1
  4. package/dist/bun/cli.js.map +1 -1
  5. package/dist/bun/register-bedrock.d.ts.map +1 -1
  6. package/dist/bun/register-bedrock.js.map +1 -1
  7. package/dist/bun/restore-sandbox-env.d.ts.map +1 -1
  8. package/dist/bun/restore-sandbox-env.js.map +1 -1
  9. package/dist/cli/args.d.ts.map +1 -1
  10. package/dist/cli/args.js.map +1 -1
  11. package/dist/cli/audit-command.d.ts.map +1 -1
  12. package/dist/cli/audit-command.js.map +1 -1
  13. package/dist/cli/auth-check.d.ts.map +1 -1
  14. package/dist/cli/auth-check.js.map +1 -1
  15. package/dist/cli/auth-command.d.ts.map +1 -1
  16. package/dist/cli/auth-command.js.map +1 -1
  17. package/dist/cli/banco-command.d.ts.map +1 -1
  18. package/dist/cli/banco-command.js.map +1 -1
  19. package/dist/cli/cleanse-command.d.ts.map +1 -1
  20. package/dist/cli/cleanse-command.js +5 -2
  21. package/dist/cli/cleanse-command.js.map +1 -1
  22. package/dist/cli/commit-command.d.ts +8 -6
  23. package/dist/cli/commit-command.d.ts.map +1 -1
  24. package/dist/cli/commit-command.js +124 -92
  25. package/dist/cli/commit-command.js.map +1 -1
  26. package/dist/cli/completion.d.ts +20 -0
  27. package/dist/cli/completion.d.ts.map +1 -0
  28. package/dist/cli/completion.js +75 -0
  29. package/dist/cli/completion.js.map +1 -0
  30. package/dist/cli/computer-command.d.ts.map +1 -1
  31. package/dist/cli/computer-command.js.map +1 -1
  32. package/dist/cli/config-selector.d.ts.map +1 -1
  33. package/dist/cli/config-selector.js.map +1 -1
  34. package/dist/cli/credential-print.d.ts.map +1 -1
  35. package/dist/cli/credential-print.js.map +1 -1
  36. package/dist/cli/discover-command.d.ts.map +1 -1
  37. package/dist/cli/discover-command.js +5 -1
  38. package/dist/cli/discover-command.js.map +1 -1
  39. package/dist/cli/experimental/auth.d.ts.map +1 -1
  40. package/dist/cli/experimental/auth.js.map +1 -1
  41. package/dist/cli/experimental/cli.d.ts +1 -1
  42. package/dist/cli/experimental/cli.d.ts.map +1 -1
  43. package/dist/cli/experimental/cli.js.map +1 -1
  44. package/dist/cli/experimental/command-options.d.ts.map +1 -1
  45. package/dist/cli/experimental/command-options.js.map +1 -1
  46. package/dist/cli/experimental/command.d.ts.map +1 -1
  47. package/dist/cli/experimental/command.js.map +1 -1
  48. package/dist/cli/experimental/commands/client.d.ts.map +1 -1
  49. package/dist/cli/experimental/commands/client.js.map +1 -1
  50. package/dist/cli/experimental/commands/pi.d.ts.map +1 -1
  51. package/dist/cli/experimental/commands/pi.js.map +1 -1
  52. package/dist/cli/experimental/commands/server.d.ts.map +1 -1
  53. package/dist/cli/experimental/commands/server.js.map +1 -1
  54. package/dist/cli/experimental/transport-address.d.ts.map +1 -1
  55. package/dist/cli/experimental/transport-address.js.map +1 -1
  56. package/dist/cli/file-processor.d.ts.map +1 -1
  57. package/dist/cli/file-processor.js.map +1 -1
  58. package/dist/cli/guardrails.d.ts +14 -0
  59. package/dist/cli/guardrails.d.ts.map +1 -0
  60. package/dist/cli/guardrails.js +47 -0
  61. package/dist/cli/guardrails.js.map +1 -0
  62. package/dist/cli/hashline-command.d.ts.map +1 -1
  63. package/dist/cli/hashline-command.js.map +1 -1
  64. package/dist/cli/home-screen.d.ts.map +1 -1
  65. package/dist/cli/home-screen.js +1 -0
  66. package/dist/cli/home-screen.js.map +1 -1
  67. package/dist/cli/import-command.d.ts.map +1 -1
  68. package/dist/cli/import-command.js.map +1 -1
  69. package/dist/cli/initial-message.d.ts +1 -1
  70. package/dist/cli/initial-message.d.ts.map +1 -1
  71. package/dist/cli/initial-message.js.map +1 -1
  72. package/dist/cli/list-models.d.ts.map +1 -1
  73. package/dist/cli/list-models.js.map +1 -1
  74. package/dist/cli/politica-command.d.ts.map +1 -1
  75. package/dist/cli/politica-command.js.map +1 -1
  76. package/dist/cli/project-trust.d.ts.map +1 -1
  77. package/dist/cli/project-trust.js.map +1 -1
  78. package/dist/cli/refine-command.d.ts.map +1 -1
  79. package/dist/cli/refine-command.js.map +1 -1
  80. package/dist/cli/review-command.d.ts.map +1 -1
  81. package/dist/cli/review-command.js +77 -13
  82. package/dist/cli/review-command.js.map +1 -1
  83. package/dist/cli/schedule-command.d.ts.map +1 -1
  84. package/dist/cli/schedule-command.js.map +1 -1
  85. package/dist/cli/serve-command.d.ts +0 -1
  86. package/dist/cli/serve-command.d.ts.map +1 -1
  87. package/dist/cli/serve-command.js +12 -6
  88. package/dist/cli/serve-command.js.map +1 -1
  89. package/dist/cli/session-picker.d.ts.map +1 -1
  90. package/dist/cli/session-picker.js.map +1 -1
  91. package/dist/cli/startup-ui.d.ts.map +1 -1
  92. package/dist/cli/startup-ui.js.map +1 -1
  93. package/dist/cli/telegram-command.d.ts.map +1 -1
  94. package/dist/cli/telegram-command.js.map +1 -1
  95. package/dist/cli/telemetria-command.d.ts.map +1 -1
  96. package/dist/cli/telemetria-command.js.map +1 -1
  97. package/dist/cli/undo-command.d.ts.map +1 -1
  98. package/dist/cli/undo-command.js.map +1 -1
  99. package/dist/cli/update-cli.d.ts +82 -0
  100. package/dist/cli/update-cli.d.ts.map +1 -0
  101. package/dist/cli/update-cli.js +372 -0
  102. package/dist/cli/update-cli.js.map +1 -0
  103. package/dist/cli/usage-command.d.ts.map +1 -1
  104. package/dist/cli/usage-command.js +75 -6
  105. package/dist/cli/usage-command.js.map +1 -1
  106. package/dist/cli/wiki-command.d.ts.map +1 -1
  107. package/dist/cli/wiki-command.js.map +1 -1
  108. package/dist/cli.d.ts +0 -6
  109. package/dist/cli.d.ts.map +1 -1
  110. package/dist/cli.js +0 -0
  111. package/dist/cli.js.map +1 -1
  112. package/dist/client/index.d.ts.map +1 -1
  113. package/dist/client/index.js.map +1 -1
  114. package/dist/client/remote-session.d.ts.map +1 -1
  115. package/dist/client/remote-session.js.map +1 -1
  116. package/dist/client/transcript.d.ts.map +1 -1
  117. package/dist/client/transcript.js.map +1 -1
  118. package/dist/config.d.ts.map +1 -1
  119. package/dist/config.js.map +1 -1
  120. package/dist/core/ada.d.ts +5 -0
  121. package/dist/core/ada.d.ts.map +1 -1
  122. package/dist/core/ada.js +5 -0
  123. package/dist/core/ada.js.map +1 -1
  124. package/dist/core/advisor/guarda.d.ts.map +1 -1
  125. package/dist/core/advisor/guarda.js.map +1 -1
  126. package/dist/core/advisor/runtime.d.ts.map +1 -1
  127. package/dist/core/advisor/runtime.js.map +1 -1
  128. package/dist/core/advisor/sesion.d.ts.map +1 -1
  129. package/dist/core/advisor/sesion.js.map +1 -1
  130. package/dist/core/agent-session-runtime.d.ts.map +1 -1
  131. package/dist/core/agent-session-runtime.js.map +1 -1
  132. package/dist/core/agent-session-services.d.ts.map +1 -1
  133. package/dist/core/agent-session-services.js.map +1 -1
  134. package/dist/core/agent-session.d.ts +67 -0
  135. package/dist/core/agent-session.d.ts.map +1 -1
  136. package/dist/core/agent-session.js +43 -2
  137. package/dist/core/agent-session.js.map +1 -1
  138. package/dist/core/agents/loader.d.ts.map +1 -1
  139. package/dist/core/agents/loader.js.map +1 -1
  140. package/dist/core/appendonly/append-only-context.d.ts +118 -0
  141. package/dist/core/appendonly/append-only-context.d.ts.map +1 -0
  142. package/dist/core/appendonly/append-only-context.js +256 -0
  143. package/dist/core/appendonly/append-only-context.js.map +1 -0
  144. package/dist/core/appendonly/auto.d.ts +30 -0
  145. package/dist/core/appendonly/auto.d.ts.map +1 -0
  146. package/dist/core/appendonly/auto.js +68 -0
  147. package/dist/core/appendonly/auto.js.map +1 -0
  148. package/dist/core/appendonly/extension.d.ts +29 -0
  149. package/dist/core/appendonly/extension.d.ts.map +1 -0
  150. package/dist/core/appendonly/extension.js +51 -0
  151. package/dist/core/appendonly/extension.js.map +1 -0
  152. package/dist/core/appendonly/index.d.ts +41 -0
  153. package/dist/core/appendonly/index.d.ts.map +1 -0
  154. package/dist/core/appendonly/index.js +42 -0
  155. package/dist/core/appendonly/index.js.map +1 -0
  156. package/dist/core/aprobacion/generados.d.ts.map +1 -1
  157. package/dist/core/aprobacion/generados.js.map +1 -1
  158. package/dist/core/aprobacion/politica-de-maquina.d.ts.map +1 -1
  159. package/dist/core/aprobacion/politica-de-maquina.js.map +1 -1
  160. package/dist/core/aprobacion/politica.d.ts +1 -1
  161. package/dist/core/aprobacion/politica.d.ts.map +1 -1
  162. package/dist/core/aprobacion/politica.js.map +1 -1
  163. package/dist/core/arranque/atajos.d.ts.map +1 -1
  164. package/dist/core/arranque/atajos.js +20 -0
  165. package/dist/core/arranque/atajos.js.map +1 -1
  166. package/dist/core/audit/exportacion.d.ts.map +1 -1
  167. package/dist/core/audit/exportacion.js +5 -3
  168. package/dist/core/audit/exportacion.js.map +1 -1
  169. package/dist/core/audit/libro.d.ts +7 -0
  170. package/dist/core/audit/libro.d.ts.map +1 -1
  171. package/dist/core/audit/libro.js.map +1 -1
  172. package/dist/core/audit/registro-sesion.d.ts.map +1 -1
  173. package/dist/core/audit/registro-sesion.js.map +1 -1
  174. package/dist/core/audit/retencion.d.ts.map +1 -1
  175. package/dist/core/audit/retencion.js.map +1 -1
  176. package/dist/core/audit/rutas.d.ts.map +1 -1
  177. package/dist/core/audit/rutas.js.map +1 -1
  178. package/dist/core/auth-guidance.d.ts.map +1 -1
  179. package/dist/core/auth-guidance.js.map +1 -1
  180. package/dist/core/auth-storage.d.ts.map +1 -1
  181. package/dist/core/auth-storage.js.map +1 -1
  182. package/dist/core/banco/almacenamiento.d.ts.map +1 -1
  183. package/dist/core/banco/almacenamiento.js.map +1 -1
  184. package/dist/core/banco/analisis.d.ts.map +1 -1
  185. package/dist/core/banco/analisis.js.map +1 -1
  186. package/dist/core/banco/asides.d.ts +64 -0
  187. package/dist/core/banco/asides.d.ts.map +1 -0
  188. package/dist/core/banco/asides.js +113 -0
  189. package/dist/core/banco/asides.js.map +1 -0
  190. package/dist/core/banco/bloques.d.ts.map +1 -1
  191. package/dist/core/banco/bloques.js.map +1 -1
  192. package/dist/core/banco/cargas.d.ts.map +1 -1
  193. package/dist/core/banco/cargas.js.map +1 -1
  194. package/dist/core/banco/comparar.d.ts.map +1 -1
  195. package/dist/core/banco/comparar.js.map +1 -1
  196. package/dist/core/banco/cow-isolation.d.ts +74 -0
  197. package/dist/core/banco/cow-isolation.d.ts.map +1 -0
  198. package/dist/core/banco/cow-isolation.js +259 -0
  199. package/dist/core/banco/cow-isolation.js.map +1 -0
  200. package/dist/core/banco/ejecutar.d.ts.map +1 -1
  201. package/dist/core/banco/ejecutar.js.map +1 -1
  202. package/dist/core/banco/generar.d.ts.map +1 -1
  203. package/dist/core/banco/generar.js.map +1 -1
  204. package/dist/core/banco/mutaciones.d.ts.map +1 -1
  205. package/dist/core/banco/mutaciones.js.map +1 -1
  206. package/dist/core/banco/park-revive.d.ts +67 -0
  207. package/dist/core/banco/park-revive.d.ts.map +1 -0
  208. package/dist/core/banco/park-revive.js +130 -0
  209. package/dist/core/banco/park-revive.js.map +1 -0
  210. package/dist/core/banco/pruning.d.ts +48 -0
  211. package/dist/core/banco/pruning.d.ts.map +1 -0
  212. package/dist/core/banco/pruning.js +146 -0
  213. package/dist/core/banco/pruning.js.map +1 -0
  214. package/dist/core/banco/steering.d.ts +81 -0
  215. package/dist/core/banco/steering.d.ts.map +1 -0
  216. package/dist/core/banco/steering.js +96 -0
  217. package/dist/core/banco/steering.js.map +1 -0
  218. package/dist/core/banco/tipos.d.ts.map +1 -1
  219. package/dist/core/banco/tipos.js.map +1 -1
  220. package/dist/core/bash-executor.d.ts.map +1 -1
  221. package/dist/core/bash-executor.js.map +1 -1
  222. package/dist/core/blobs/almacen.d.ts.map +1 -1
  223. package/dist/core/blobs/almacen.js.map +1 -1
  224. package/dist/core/blobs/broker.d.ts +1 -0
  225. package/dist/core/blobs/broker.d.ts.map +1 -1
  226. package/dist/core/blobs/broker.js +1 -1
  227. package/dist/core/blobs/broker.js.map +1 -1
  228. package/dist/core/blobs/index.d.ts +1 -0
  229. package/dist/core/blobs/index.d.ts.map +1 -1
  230. package/dist/core/blobs/index.js +1 -0
  231. package/dist/core/blobs/index.js.map +1 -1
  232. package/dist/core/blobs/payload.d.ts.map +1 -1
  233. package/dist/core/blobs/payload.js.map +1 -1
  234. package/dist/core/blobs/proveedor.d.ts.map +1 -1
  235. package/dist/core/blobs/proveedor.js.map +1 -1
  236. package/dist/core/blobs/uploaders.d.ts +105 -0
  237. package/dist/core/blobs/uploaders.d.ts.map +1 -0
  238. package/dist/core/blobs/uploaders.js +224 -0
  239. package/dist/core/blobs/uploaders.js.map +1 -0
  240. package/dist/core/broker/broker.d.ts +54 -0
  241. package/dist/core/broker/broker.d.ts.map +1 -0
  242. package/dist/core/broker/broker.js +216 -0
  243. package/dist/core/broker/broker.js.map +1 -0
  244. package/dist/core/broker/index.d.ts +21 -0
  245. package/dist/core/broker/index.d.ts.map +1 -0
  246. package/dist/core/broker/index.js +33 -0
  247. package/dist/core/broker/index.js.map +1 -0
  248. package/dist/core/broker/ps.d.ts +20 -0
  249. package/dist/core/broker/ps.d.ts.map +1 -0
  250. package/dist/core/broker/ps.js +55 -0
  251. package/dist/core/broker/ps.js.map +1 -0
  252. package/dist/core/broker/types.d.ts +45 -0
  253. package/dist/core/broker/types.d.ts.map +1 -0
  254. package/dist/core/broker/types.js +19 -0
  255. package/dist/core/broker/types.js.map +1 -0
  256. package/dist/core/browser/cdp.d.ts.map +1 -1
  257. package/dist/core/browser/cdp.js.map +1 -1
  258. package/dist/core/browser/politica.d.ts.map +1 -1
  259. package/dist/core/browser/politica.js.map +1 -1
  260. package/dist/core/browser/sesion.d.ts.map +1 -1
  261. package/dist/core/browser/sesion.js.map +1 -1
  262. package/dist/core/browser/tools.d.ts.map +1 -1
  263. package/dist/core/browser/tools.js.map +1 -1
  264. package/dist/core/cache-stats.d.ts.map +1 -1
  265. package/dist/core/cache-stats.js.map +1 -1
  266. package/dist/core/capability/capability.test.d.ts +12 -0
  267. package/dist/core/capability/capability.test.d.ts.map +1 -0
  268. package/dist/core/capability/capability.test.js +258 -0
  269. package/dist/core/capability/capability.test.js.map +1 -0
  270. package/dist/core/capability/fs.d.ts +32 -0
  271. package/dist/core/capability/fs.d.ts.map +1 -0
  272. package/dist/core/capability/fs.js +106 -0
  273. package/dist/core/capability/fs.js.map +1 -0
  274. package/dist/core/capability/index.d.ts +68 -0
  275. package/dist/core/capability/index.d.ts.map +1 -0
  276. package/dist/core/capability/index.js +258 -0
  277. package/dist/core/capability/index.js.map +1 -0
  278. package/dist/core/capability/types.d.ts +168 -0
  279. package/dist/core/capability/types.d.ts.map +1 -0
  280. package/dist/core/capability/types.js +16 -0
  281. package/dist/core/capability/types.js.map +1 -0
  282. package/dist/core/carga-plugins/index.d.ts +49 -0
  283. package/dist/core/carga-plugins/index.d.ts.map +1 -0
  284. package/dist/core/carga-plugins/index.js +85 -0
  285. package/dist/core/carga-plugins/index.js.map +1 -0
  286. package/dist/core/carga-plugins/invalidacion.d.ts +60 -0
  287. package/dist/core/carga-plugins/invalidacion.d.ts.map +1 -0
  288. package/dist/core/carga-plugins/invalidacion.js +94 -0
  289. package/dist/core/carga-plugins/invalidacion.js.map +1 -0
  290. package/dist/core/carga-plugins/paralelo.d.ts +48 -0
  291. package/dist/core/carga-plugins/paralelo.d.ts.map +1 -0
  292. package/dist/core/carga-plugins/paralelo.js +47 -0
  293. package/dist/core/carga-plugins/paralelo.js.map +1 -0
  294. package/dist/core/colaboracion/autoresearch.d.ts +56 -0
  295. package/dist/core/colaboracion/autoresearch.d.ts.map +1 -0
  296. package/dist/core/colaboracion/autoresearch.js +95 -0
  297. package/dist/core/colaboracion/autoresearch.js.map +1 -0
  298. package/dist/core/colaboracion/index.d.ts +10 -0
  299. package/dist/core/colaboracion/index.d.ts.map +1 -0
  300. package/dist/core/colaboracion/index.js +7 -0
  301. package/dist/core/colaboracion/index.js.map +1 -0
  302. package/dist/core/colaboracion/kernels.d.ts +63 -0
  303. package/dist/core/colaboracion/kernels.d.ts.map +1 -0
  304. package/dist/core/colaboracion/kernels.js +99 -0
  305. package/dist/core/colaboracion/kernels.js.map +1 -0
  306. package/dist/core/colaboracion/rele/index.d.ts +8 -0
  307. package/dist/core/colaboracion/rele/index.d.ts.map +1 -0
  308. package/dist/core/colaboracion/rele/index.js +6 -0
  309. package/dist/core/colaboracion/rele/index.js.map +1 -0
  310. package/dist/core/colaboracion/rele/rele-servidor.d.ts +69 -0
  311. package/dist/core/colaboracion/rele/rele-servidor.d.ts.map +1 -0
  312. package/dist/core/colaboracion/rele/rele-servidor.js +197 -0
  313. package/dist/core/colaboracion/rele/rele-servidor.js.map +1 -0
  314. package/dist/core/colaboracion/rele/suscriptor.d.ts +31 -0
  315. package/dist/core/colaboracion/rele/suscriptor.d.ts.map +1 -0
  316. package/dist/core/colaboracion/rele/suscriptor.js +173 -0
  317. package/dist/core/colaboracion/rele/suscriptor.js.map +1 -0
  318. package/dist/core/colaboracion/sesion-colaborativa.d.ts +61 -0
  319. package/dist/core/colaboracion/sesion-colaborativa.d.ts.map +1 -0
  320. package/dist/core/colaboracion/sesion-colaborativa.js +127 -0
  321. package/dist/core/colaboracion/sesion-colaborativa.js.map +1 -0
  322. package/dist/core/commits/agentic.d.ts +101 -0
  323. package/dist/core/commits/agentic.d.ts.map +1 -0
  324. package/dist/core/commits/agentic.js +268 -0
  325. package/dist/core/commits/agentic.js.map +1 -0
  326. package/dist/core/commits/changelog.d.ts +37 -0
  327. package/dist/core/commits/changelog.d.ts.map +1 -0
  328. package/dist/core/commits/changelog.js +155 -0
  329. package/dist/core/commits/changelog.js.map +1 -0
  330. package/dist/core/commits/diff.d.ts.map +1 -0
  331. package/dist/core/commits/diff.js.map +1 -0
  332. package/dist/core/commits/git.d.ts +43 -0
  333. package/dist/core/commits/git.d.ts.map +1 -0
  334. package/dist/core/commits/git.js +61 -0
  335. package/dist/core/commits/git.js.map +1 -0
  336. package/dist/core/commits/split.d.ts +45 -0
  337. package/dist/core/commits/split.d.ts.map +1 -0
  338. package/dist/core/commits/split.js +128 -0
  339. package/dist/core/commits/split.js.map +1 -0
  340. package/dist/core/compactacion/comandos.d.ts +53 -0
  341. package/dist/core/compactacion/comandos.d.ts.map +1 -0
  342. package/dist/core/compactacion/comandos.js +155 -0
  343. package/dist/core/compactacion/comandos.js.map +1 -0
  344. package/dist/core/compactacion/extension.d.ts +28 -0
  345. package/dist/core/compactacion/extension.d.ts.map +1 -0
  346. package/dist/core/compactacion/extension.js +159 -0
  347. package/dist/core/compactacion/extension.js.map +1 -0
  348. package/dist/core/compactacion/handoff.d.ts +61 -0
  349. package/dist/core/compactacion/handoff.d.ts.map +1 -0
  350. package/dist/core/compactacion/handoff.js +139 -0
  351. package/dist/core/compactacion/handoff.js.map +1 -0
  352. package/dist/core/compactacion/index.d.ts +15 -0
  353. package/dist/core/compactacion/index.d.ts.map +1 -0
  354. package/dist/core/compactacion/index.js +15 -0
  355. package/dist/core/compactacion/index.js.map +1 -0
  356. package/dist/core/compactacion/prune.d.ts +38 -0
  357. package/dist/core/compactacion/prune.d.ts.map +1 -0
  358. package/dist/core/compactacion/prune.js +81 -0
  359. package/dist/core/compactacion/prune.js.map +1 -0
  360. package/dist/core/compactacion/shake.d.ts +40 -0
  361. package/dist/core/compactacion/shake.d.ts.map +1 -0
  362. package/dist/core/compactacion/shake.js +106 -0
  363. package/dist/core/compactacion/shake.js.map +1 -0
  364. package/dist/core/compactacion/tipos.d.ts +54 -0
  365. package/dist/core/compactacion/tipos.d.ts.map +1 -0
  366. package/dist/core/compactacion/tipos.js +44 -0
  367. package/dist/core/compactacion/tipos.js.map +1 -0
  368. package/dist/core/compactar/index.d.ts.map +1 -1
  369. package/dist/core/compactar/index.js.map +1 -1
  370. package/dist/core/compactar/registro-denso.d.ts.map +1 -1
  371. package/dist/core/compactar/registro-denso.js.map +1 -1
  372. package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
  373. package/dist/core/compaction/branch-summarization.js.map +1 -1
  374. package/dist/core/compaction/compaction.d.ts.map +1 -1
  375. package/dist/core/compaction/compaction.js.map +1 -1
  376. package/dist/core/compaction/index.d.ts.map +1 -1
  377. package/dist/core/compaction/index.js.map +1 -1
  378. package/dist/core/compaction/utils.d.ts.map +1 -1
  379. package/dist/core/compaction/utils.js.map +1 -1
  380. package/dist/core/computer/captura.d.ts.map +1 -1
  381. package/dist/core/computer/captura.js.map +1 -1
  382. package/dist/core/computer/driver.d.ts.map +1 -1
  383. package/dist/core/computer/driver.js.map +1 -1
  384. package/dist/core/computer/motor/actions.d.ts.map +1 -1
  385. package/dist/core/computer/motor/actions.js.map +1 -1
  386. package/dist/core/computer/motor/bridge.d.ts +2 -2
  387. package/dist/core/computer/motor/bridge.d.ts.map +1 -1
  388. package/dist/core/computer/motor/bridge.js.map +1 -1
  389. package/dist/core/computer/motor/cdp.d.ts.map +1 -1
  390. package/dist/core/computer/motor/cdp.js.map +1 -1
  391. package/dist/core/computer/motor/config.d.ts.map +1 -1
  392. package/dist/core/computer/motor/config.js.map +1 -1
  393. package/dist/core/computer/motor/contract.d.ts.map +1 -1
  394. package/dist/core/computer/motor/contract.js.map +1 -1
  395. package/dist/core/computer/motor/note.d.ts.map +1 -1
  396. package/dist/core/computer/motor/note.js.map +1 -1
  397. package/dist/core/computer/motor/outline.d.ts.map +1 -1
  398. package/dist/core/computer/motor/outline.js.map +1 -1
  399. package/dist/core/computer/motor/output.d.ts.map +1 -1
  400. package/dist/core/computer/motor/output.js.map +1 -1
  401. package/dist/core/computer/motor/permissions.d.ts.map +1 -1
  402. package/dist/core/computer/motor/permissions.js.map +1 -1
  403. package/dist/core/computer/motor/platform/architecture.d.ts.map +1 -1
  404. package/dist/core/computer/motor/platform/architecture.js.map +1 -1
  405. package/dist/core/computer/motor/platform/coerce.d.ts.map +1 -1
  406. package/dist/core/computer/motor/platform/coerce.js.map +1 -1
  407. package/dist/core/computer/motor/platform/index.d.ts.map +1 -1
  408. package/dist/core/computer/motor/platform/index.js.map +1 -1
  409. package/dist/core/computer/motor/platform/linux/backend.d.ts.map +1 -1
  410. package/dist/core/computer/motor/platform/linux/backend.js.map +1 -1
  411. package/dist/core/computer/motor/platform/linux/helper.d.ts.map +1 -1
  412. package/dist/core/computer/motor/platform/linux/helper.js.map +1 -1
  413. package/dist/core/computer/motor/platform/macos/backend.d.ts.map +1 -1
  414. package/dist/core/computer/motor/platform/macos/backend.js.map +1 -1
  415. package/dist/core/computer/motor/platform/macos/browser.d.ts.map +1 -1
  416. package/dist/core/computer/motor/platform/macos/browser.js.map +1 -1
  417. package/dist/core/computer/motor/platform/macos/helper.d.ts.map +1 -1
  418. package/dist/core/computer/motor/platform/macos/helper.js.map +1 -1
  419. package/dist/core/computer/motor/platform/macos/permissions.d.ts.map +1 -1
  420. package/dist/core/computer/motor/platform/macos/permissions.js.map +1 -1
  421. package/dist/core/computer/motor/platform/types.d.ts.map +1 -1
  422. package/dist/core/computer/motor/platform/types.js.map +1 -1
  423. package/dist/core/computer/motor/platform/windows/backend.d.ts.map +1 -1
  424. package/dist/core/computer/motor/platform/windows/backend.js.map +1 -1
  425. package/dist/core/computer/motor/platform/windows/helper.d.ts.map +1 -1
  426. package/dist/core/computer/motor/platform/windows/helper.js.map +1 -1
  427. package/dist/core/computer/motor/root-selection.d.ts.map +1 -1
  428. package/dist/core/computer/motor/root-selection.js.map +1 -1
  429. package/dist/core/computer/motor/runtime.d.ts.map +1 -1
  430. package/dist/core/computer/motor/runtime.js.map +1 -1
  431. package/dist/core/computer/motor/state.d.ts.map +1 -1
  432. package/dist/core/computer/motor/state.js.map +1 -1
  433. package/dist/core/computer/motor/view.d.ts.map +1 -1
  434. package/dist/core/computer/motor/view.js.map +1 -1
  435. package/dist/core/computer/motor-ada.d.ts.map +1 -1
  436. package/dist/core/computer/motor-ada.js.map +1 -1
  437. package/dist/core/computer/politica.d.ts.map +1 -1
  438. package/dist/core/computer/politica.js.map +1 -1
  439. package/dist/core/computer/tools.d.ts.map +1 -1
  440. package/dist/core/computer/tools.js.map +1 -1
  441. package/dist/core/config/quarantine.d.ts +57 -0
  442. package/dist/core/config/quarantine.d.ts.map +1 -0
  443. package/dist/core/config/quarantine.js +161 -0
  444. package/dist/core/config/quarantine.js.map +1 -0
  445. package/dist/core/config-viva/ambito.d.ts +46 -0
  446. package/dist/core/config-viva/ambito.d.ts.map +1 -0
  447. package/dist/core/config-viva/ambito.js +62 -0
  448. package/dist/core/config-viva/ambito.js.map +1 -0
  449. package/dist/core/config-viva/cache-negativa.d.ts +50 -0
  450. package/dist/core/config-viva/cache-negativa.d.ts.map +1 -0
  451. package/dist/core/config-viva/cache-negativa.js +78 -0
  452. package/dist/core/config-viva/cache-negativa.js.map +1 -0
  453. package/dist/core/config-viva/headers-vivos.d.ts +41 -0
  454. package/dist/core/config-viva/headers-vivos.d.ts.map +1 -0
  455. package/dist/core/config-viva/headers-vivos.js +43 -0
  456. package/dist/core/config-viva/headers-vivos.js.map +1 -0
  457. package/dist/core/config-viva/index.d.ts +16 -0
  458. package/dist/core/config-viva/index.d.ts.map +1 -0
  459. package/dist/core/config-viva/index.js +16 -0
  460. package/dist/core/config-viva/index.js.map +1 -0
  461. package/dist/core/config-viva/proveedor.d.ts +48 -0
  462. package/dist/core/config-viva/proveedor.d.ts.map +1 -0
  463. package/dist/core/config-viva/proveedor.js +78 -0
  464. package/dist/core/config-viva/proveedor.js.map +1 -0
  465. package/dist/core/context-breakdown.d.ts.map +1 -1
  466. package/dist/core/context-breakdown.js.map +1 -1
  467. package/dist/core/credenciales/cliente.d.ts.map +1 -1
  468. package/dist/core/credenciales/cliente.js.map +1 -1
  469. package/dist/core/credenciales/pool.d.ts +36 -1
  470. package/dist/core/credenciales/pool.d.ts.map +1 -1
  471. package/dist/core/credenciales/pool.js +56 -7
  472. package/dist/core/credenciales/pool.js.map +1 -1
  473. package/dist/core/credenciales/ranking.d.ts +56 -0
  474. package/dist/core/credenciales/ranking.d.ts.map +1 -0
  475. package/dist/core/credenciales/ranking.js +94 -0
  476. package/dist/core/credenciales/ranking.js.map +1 -0
  477. package/dist/core/credenciales/ratelimit.d.ts +54 -0
  478. package/dist/core/credenciales/ratelimit.d.ts.map +1 -0
  479. package/dist/core/credenciales/ratelimit.js +116 -0
  480. package/dist/core/credenciales/ratelimit.js.map +1 -0
  481. package/dist/core/credenciales/reposo.d.ts.map +1 -1
  482. package/dist/core/credenciales/reposo.js.map +1 -1
  483. package/dist/core/credenciales/servidor.d.ts +8 -0
  484. package/dist/core/credenciales/servidor.d.ts.map +1 -1
  485. package/dist/core/credenciales/servidor.js +9 -1
  486. package/dist/core/credenciales/servidor.js.map +1 -1
  487. package/dist/core/defaults.d.ts.map +1 -1
  488. package/dist/core/defaults.js.map +1 -1
  489. package/dist/core/descubrimiento/comandos.d.ts.map +1 -1
  490. package/dist/core/descubrimiento/comandos.js.map +1 -1
  491. package/dist/core/descubrimiento/mcp.d.ts +12 -0
  492. package/dist/core/descubrimiento/mcp.d.ts.map +1 -1
  493. package/dist/core/descubrimiento/mcp.js +32 -0
  494. package/dist/core/descubrimiento/mcp.js.map +1 -1
  495. package/dist/core/descubrimiento/reglas.d.ts.map +1 -1
  496. package/dist/core/descubrimiento/reglas.js.map +1 -1
  497. package/dist/core/descubrimiento/runtimes/index.d.ts +24 -0
  498. package/dist/core/descubrimiento/runtimes/index.d.ts.map +1 -0
  499. package/dist/core/descubrimiento/runtimes/index.js +109 -0
  500. package/dist/core/descubrimiento/runtimes/index.js.map +1 -0
  501. package/dist/core/descubrimiento/runtimes/litellm.d.ts +12 -0
  502. package/dist/core/descubrimiento/runtimes/litellm.d.ts.map +1 -0
  503. package/dist/core/descubrimiento/runtimes/litellm.js +185 -0
  504. package/dist/core/descubrimiento/runtimes/litellm.js.map +1 -0
  505. package/dist/core/descubrimiento/runtimes/lm-studio.d.ts +13 -0
  506. package/dist/core/descubrimiento/runtimes/lm-studio.d.ts.map +1 -0
  507. package/dist/core/descubrimiento/runtimes/lm-studio.js +142 -0
  508. package/dist/core/descubrimiento/runtimes/lm-studio.js.map +1 -0
  509. package/dist/core/descubrimiento/runtimes/ollama.d.ts +8 -0
  510. package/dist/core/descubrimiento/runtimes/ollama.d.ts.map +1 -0
  511. package/dist/core/descubrimiento/runtimes/ollama.js +96 -0
  512. package/dist/core/descubrimiento/runtimes/ollama.js.map +1 -0
  513. package/dist/core/descubrimiento/runtimes/tipos.d.ts +47 -0
  514. package/dist/core/descubrimiento/runtimes/tipos.d.ts.map +1 -0
  515. package/dist/core/descubrimiento/runtimes/tipos.js +10 -0
  516. package/dist/core/descubrimiento/runtimes/tipos.js.map +1 -0
  517. package/dist/core/descubrimiento/skills.d.ts.map +1 -1
  518. package/dist/core/descubrimiento/skills.js.map +1 -1
  519. package/dist/core/diagnostics.d.ts.map +1 -1
  520. package/dist/core/diagnostics.js.map +1 -1
  521. package/dist/core/dificultad/clasificador.d.ts.map +1 -1
  522. package/dist/core/dificultad/clasificador.js.map +1 -1
  523. package/dist/core/edicion/diario.d.ts.map +1 -1
  524. package/dist/core/edicion/diario.js.map +1 -1
  525. package/dist/core/edicion/hashline.d.ts.map +1 -1
  526. package/dist/core/edicion/hashline.js.map +1 -1
  527. package/dist/core/edicion/hueco.d.ts.map +1 -1
  528. package/dist/core/edicion/hueco.js.map +1 -1
  529. package/dist/core/edicion/ipynb.d.ts +51 -0
  530. package/dist/core/edicion/ipynb.d.ts.map +1 -0
  531. package/dist/core/edicion/ipynb.js +110 -0
  532. package/dist/core/edicion/ipynb.js.map +1 -0
  533. package/dist/core/edicion/limpiar-carga.d.ts.map +1 -1
  534. package/dist/core/edicion/limpiar-carga.js.map +1 -1
  535. package/dist/core/edicion/observador.d.ts.map +1 -1
  536. package/dist/core/edicion/observador.js.map +1 -1
  537. package/dist/core/edicion/parecido.d.ts.map +1 -1
  538. package/dist/core/edicion/parecido.js.map +1 -1
  539. package/dist/core/edicion/parseo.d.ts.map +1 -1
  540. package/dist/core/edicion/parseo.js.map +1 -1
  541. package/dist/core/edicion/portapapeles.d.ts +28 -0
  542. package/dist/core/edicion/portapapeles.d.ts.map +1 -0
  543. package/dist/core/edicion/portapapeles.js +49 -0
  544. package/dist/core/edicion/portapapeles.js.map +1 -0
  545. package/dist/core/edicion/reparacion.d.ts.map +1 -1
  546. package/dist/core/edicion/reparacion.js.map +1 -1
  547. package/dist/core/edicion/rutas-difusas.d.ts +44 -0
  548. package/dist/core/edicion/rutas-difusas.d.ts.map +1 -0
  549. package/dist/core/edicion/rutas-difusas.js +93 -0
  550. package/dist/core/edicion/rutas-difusas.js.map +1 -0
  551. package/dist/core/edicion/sangria.d.ts.map +1 -1
  552. package/dist/core/edicion/sangria.js.map +1 -1
  553. package/dist/core/edicion/tipos.d.ts.map +1 -1
  554. package/dist/core/edicion/tipos.js.map +1 -1
  555. package/dist/core/engine-personality.d.ts.map +1 -1
  556. package/dist/core/engine-personality.js.map +1 -1
  557. package/dist/core/errores/proveedor.d.ts.map +1 -1
  558. package/dist/core/errores/proveedor.js.map +1 -1
  559. package/dist/core/estructural/buscar.d.ts.map +1 -1
  560. package/dist/core/estructural/buscar.js.map +1 -1
  561. package/dist/core/estructural/editar.d.ts.map +1 -1
  562. package/dist/core/estructural/editar.js.map +1 -1
  563. package/dist/core/estructural/tools.d.ts.map +1 -1
  564. package/dist/core/estructural/tools.js.map +1 -1
  565. package/dist/core/event-bus.d.ts.map +1 -1
  566. package/dist/core/event-bus.js.map +1 -1
  567. package/dist/core/exec.d.ts.map +1 -1
  568. package/dist/core/exec.js.map +1 -1
  569. package/dist/core/experimental.d.ts.map +1 -1
  570. package/dist/core/experimental.js.map +1 -1
  571. package/dist/core/export-html/ansi-to-html.d.ts.map +1 -1
  572. package/dist/core/export-html/ansi-to-html.js.map +1 -1
  573. package/dist/core/export-html/index.d.ts.map +1 -1
  574. package/dist/core/export-html/index.js +183 -13
  575. package/dist/core/export-html/index.js.map +1 -1
  576. package/dist/core/export-html/tool-renderer.d.ts.map +1 -1
  577. package/dist/core/export-html/tool-renderer.js.map +1 -1
  578. package/dist/core/extensiones/suplantacion.d.ts.map +1 -1
  579. package/dist/core/extensiones/suplantacion.js.map +1 -1
  580. package/dist/core/extensiones/vigilancia.d.ts.map +1 -1
  581. package/dist/core/extensiones/vigilancia.js.map +1 -1
  582. package/dist/core/extensions/index.d.ts.map +1 -1
  583. package/dist/core/extensions/index.js.map +1 -1
  584. package/dist/core/extensions/loader.d.ts.map +1 -1
  585. package/dist/core/extensions/loader.js.map +1 -1
  586. package/dist/core/extensions/runner.d.ts.map +1 -1
  587. package/dist/core/extensions/runner.js.map +1 -1
  588. package/dist/core/extensions/types.d.ts.map +1 -1
  589. package/dist/core/extensions/types.js.map +1 -1
  590. package/dist/core/extensions/wrapper.d.ts.map +1 -1
  591. package/dist/core/extensions/wrapper.js.map +1 -1
  592. package/dist/core/footer-data-provider.d.ts.map +1 -1
  593. package/dist/core/footer-data-provider.js.map +1 -1
  594. package/dist/core/gc/archivo-frio.d.ts +33 -0
  595. package/dist/core/gc/archivo-frio.d.ts.map +1 -0
  596. package/dist/core/gc/archivo-frio.js +152 -0
  597. package/dist/core/gc/archivo-frio.js.map +1 -0
  598. package/dist/core/gc/blobs-gc.d.ts +25 -0
  599. package/dist/core/gc/blobs-gc.d.ts.map +1 -0
  600. package/dist/core/gc/blobs-gc.js +143 -0
  601. package/dist/core/gc/blobs-gc.js.map +1 -0
  602. package/dist/core/gc/index.d.ts +42 -0
  603. package/dist/core/gc/index.d.ts.map +1 -0
  604. package/dist/core/gc/index.js +50 -0
  605. package/dist/core/gc/index.js.map +1 -0
  606. package/dist/core/gc/lock.d.ts +19 -0
  607. package/dist/core/gc/lock.d.ts.map +1 -0
  608. package/dist/core/gc/lock.js +48 -0
  609. package/dist/core/gc/lock.js.map +1 -0
  610. package/dist/core/gc/reconciliacion.d.ts +19 -0
  611. package/dist/core/gc/reconciliacion.d.ts.map +1 -0
  612. package/dist/core/gc/reconciliacion.js +102 -0
  613. package/dist/core/gc/reconciliacion.js.map +1 -0
  614. package/dist/core/gc/wal.d.ts +15 -0
  615. package/dist/core/gc/wal.d.ts.map +1 -0
  616. package/dist/core/gc/wal.js +44 -0
  617. package/dist/core/gc/wal.js.map +1 -0
  618. package/dist/core/harness/fuentes-de-contexto.d.ts.map +1 -1
  619. package/dist/core/harness/fuentes-de-contexto.js.map +1 -1
  620. package/dist/core/harness/refine.d.ts.map +1 -1
  621. package/dist/core/harness/refine.js.map +1 -1
  622. package/dist/core/harness/store.d.ts.map +1 -1
  623. package/dist/core/harness/store.js.map +1 -1
  624. package/dist/core/higiene/index.d.ts +8 -0
  625. package/dist/core/higiene/index.d.ts.map +1 -0
  626. package/dist/core/higiene/index.js +8 -0
  627. package/dist/core/higiene/index.js.map +1 -0
  628. package/dist/core/higiene/managed-timers.d.ts +19 -0
  629. package/dist/core/higiene/managed-timers.d.ts.map +1 -0
  630. package/dist/core/higiene/managed-timers.js +68 -0
  631. package/dist/core/higiene/managed-timers.js.map +1 -0
  632. package/dist/core/higiene/race-handler.d.ts +7 -0
  633. package/dist/core/higiene/race-handler.d.ts.map +1 -0
  634. package/dist/core/higiene/race-handler.js +32 -0
  635. package/dist/core/higiene/race-handler.js.map +1 -0
  636. package/dist/core/higiene/withHostGuard.d.ts +27 -0
  637. package/dist/core/higiene/withHostGuard.d.ts.map +1 -0
  638. package/dist/core/higiene/withHostGuard.js +79 -0
  639. package/dist/core/higiene/withHostGuard.js.map +1 -0
  640. package/dist/core/hooks/contract.d.ts.map +1 -1
  641. package/dist/core/hooks/contract.js.map +1 -1
  642. package/dist/core/hooks/runner.d.ts.map +1 -1
  643. package/dist/core/hooks/runner.js.map +1 -1
  644. package/dist/core/hooks/session-hooks.d.ts.map +1 -1
  645. package/dist/core/hooks/session-hooks.js.map +1 -1
  646. package/dist/core/hooks-ts/cargador.d.ts +29 -0
  647. package/dist/core/hooks-ts/cargador.d.ts.map +1 -0
  648. package/dist/core/hooks-ts/cargador.js +51 -0
  649. package/dist/core/hooks-ts/cargador.js.map +1 -0
  650. package/dist/core/hooks-ts/index.d.ts +25 -0
  651. package/dist/core/hooks-ts/index.d.ts.map +1 -0
  652. package/dist/core/hooks-ts/index.js +25 -0
  653. package/dist/core/hooks-ts/index.js.map +1 -0
  654. package/dist/core/hooks-ts/runner.d.ts +40 -0
  655. package/dist/core/hooks-ts/runner.d.ts.map +1 -0
  656. package/dist/core/hooks-ts/runner.js +95 -0
  657. package/dist/core/hooks-ts/runner.js.map +1 -0
  658. package/dist/core/hooks-ts/tipos.d.ts +69 -0
  659. package/dist/core/hooks-ts/tipos.d.ts.map +1 -0
  660. package/dist/core/hooks-ts/tipos.js +90 -0
  661. package/dist/core/hooks-ts/tipos.js.map +1 -0
  662. package/dist/core/http-dispatcher.d.ts.map +1 -1
  663. package/dist/core/http-dispatcher.js.map +1 -1
  664. package/dist/core/importar/formatos.d.ts.map +1 -1
  665. package/dist/core/importar/formatos.js.map +1 -1
  666. package/dist/core/index.d.ts.map +1 -1
  667. package/dist/core/index.js.map +1 -1
  668. package/dist/core/interactivo/deteccion.d.ts.map +1 -1
  669. package/dist/core/interactivo/deteccion.js.map +1 -1
  670. package/dist/core/interactivo/sesion.d.ts.map +1 -1
  671. package/dist/core/interactivo/sesion.js.map +1 -1
  672. package/dist/core/interactivo/tools.d.ts.map +1 -1
  673. package/dist/core/interactivo/tools.js.map +1 -1
  674. package/dist/core/keybindings.d.ts +170 -170
  675. package/dist/core/keybindings.d.ts.map +1 -1
  676. package/dist/core/keybindings.js.map +1 -1
  677. package/dist/core/lectura/mapa.d.ts.map +1 -1
  678. package/dist/core/lectura/mapa.js.map +1 -1
  679. package/dist/core/lectura/pdf.d.ts.map +1 -1
  680. package/dist/core/lectura/pdf.js.map +1 -1
  681. package/dist/core/lectura/sniffer.d.ts +54 -0
  682. package/dist/core/lectura/sniffer.d.ts.map +1 -0
  683. package/dist/core/lectura/sniffer.js +106 -0
  684. package/dist/core/lectura/sniffer.js.map +1 -0
  685. package/dist/core/limpieza/comprobadores.d.ts +16 -2
  686. package/dist/core/limpieza/comprobadores.d.ts.map +1 -1
  687. package/dist/core/limpieza/comprobadores.js +200 -6
  688. package/dist/core/limpieza/comprobadores.js.map +1 -1
  689. package/dist/core/limpieza/flujo.d.ts +36 -0
  690. package/dist/core/limpieza/flujo.d.ts.map +1 -0
  691. package/dist/core/limpieza/flujo.js +89 -0
  692. package/dist/core/limpieza/flujo.js.map +1 -0
  693. package/dist/core/limpieza/parseo.d.ts.map +1 -1
  694. package/dist/core/limpieza/parseo.js.map +1 -1
  695. package/dist/core/limpieza/peso.d.ts +17 -0
  696. package/dist/core/limpieza/peso.d.ts.map +1 -0
  697. package/dist/core/limpieza/peso.js +52 -0
  698. package/dist/core/limpieza/peso.js.map +1 -0
  699. package/dist/core/limpieza/pool.d.ts +44 -0
  700. package/dist/core/limpieza/pool.d.ts.map +1 -0
  701. package/dist/core/limpieza/pool.js +123 -0
  702. package/dist/core/limpieza/pool.js.map +1 -0
  703. package/dist/core/limpieza/reparacion.d.ts +19 -2
  704. package/dist/core/limpieza/reparacion.d.ts.map +1 -1
  705. package/dist/core/limpieza/reparacion.js +95 -8
  706. package/dist/core/limpieza/reparacion.js.map +1 -1
  707. package/dist/core/limpieza/tablero.d.ts +47 -0
  708. package/dist/core/limpieza/tablero.d.ts.map +1 -0
  709. package/dist/core/limpieza/tablero.js +78 -0
  710. package/dist/core/limpieza/tablero.js.map +1 -0
  711. package/dist/core/limpieza/tipos.d.ts +25 -0
  712. package/dist/core/limpieza/tipos.d.ts.map +1 -1
  713. package/dist/core/limpieza/tipos.js.map +1 -1
  714. package/dist/core/lsp/cliente.d.ts +7 -0
  715. package/dist/core/lsp/cliente.d.ts.map +1 -1
  716. package/dist/core/lsp/cliente.js +4 -2
  717. package/dist/core/lsp/cliente.js.map +1 -1
  718. package/dist/core/lsp/descubrimiento.d.ts.map +1 -1
  719. package/dist/core/lsp/descubrimiento.js.map +1 -1
  720. package/dist/core/lsp/ediciones.d.ts.map +1 -1
  721. package/dist/core/lsp/ediciones.js.map +1 -1
  722. package/dist/core/lsp/extension.d.ts +9 -0
  723. package/dist/core/lsp/extension.d.ts.map +1 -1
  724. package/dist/core/lsp/extension.js +60 -4
  725. package/dist/core/lsp/extension.js.map +1 -1
  726. package/dist/core/lsp/formato.d.ts +72 -0
  727. package/dist/core/lsp/formato.d.ts.map +1 -0
  728. package/dist/core/lsp/formato.js +117 -0
  729. package/dist/core/lsp/formato.js.map +1 -0
  730. package/dist/core/lsp/tools.d.ts +3 -3
  731. package/dist/core/lsp/tools.d.ts.map +1 -1
  732. package/dist/core/lsp/tools.js.map +1 -1
  733. package/dist/core/lsp/writethrough.d.ts +165 -0
  734. package/dist/core/lsp/writethrough.d.ts.map +1 -0
  735. package/dist/core/lsp/writethrough.js +282 -0
  736. package/dist/core/lsp/writethrough.js.map +1 -0
  737. package/dist/core/marketplace/catalogo.d.ts +32 -0
  738. package/dist/core/marketplace/catalogo.d.ts.map +1 -0
  739. package/dist/core/marketplace/catalogo.js +122 -0
  740. package/dist/core/marketplace/catalogo.js.map +1 -0
  741. package/dist/core/marketplace/doctor.d.ts +47 -0
  742. package/dist/core/marketplace/doctor.d.ts.map +1 -0
  743. package/dist/core/marketplace/doctor.js +155 -0
  744. package/dist/core/marketplace/doctor.js.map +1 -0
  745. package/dist/core/marketplace/features.d.ts +22 -0
  746. package/dist/core/marketplace/features.d.ts.map +1 -0
  747. package/dist/core/marketplace/features.js +70 -0
  748. package/dist/core/marketplace/features.js.map +1 -0
  749. package/dist/core/marketplace/index.d.ts +33 -0
  750. package/dist/core/marketplace/index.d.ts.map +1 -0
  751. package/dist/core/marketplace/index.js +33 -0
  752. package/dist/core/marketplace/index.js.map +1 -0
  753. package/dist/core/marketplace/instalar.d.ts +27 -0
  754. package/dist/core/marketplace/instalar.d.ts.map +1 -0
  755. package/dist/core/marketplace/instalar.js +50 -0
  756. package/dist/core/marketplace/instalar.js.map +1 -0
  757. package/dist/core/mcp/client.d.ts.map +1 -1
  758. package/dist/core/mcp/client.js.map +1 -1
  759. package/dist/core/mcp/manager.d.ts.map +1 -1
  760. package/dist/core/mcp/manager.js.map +1 -1
  761. package/dist/core/mcp/oauth.d.ts +138 -0
  762. package/dist/core/mcp/oauth.d.ts.map +1 -0
  763. package/dist/core/mcp/oauth.js +348 -0
  764. package/dist/core/mcp/oauth.js.map +1 -0
  765. package/dist/core/mcp/tools.d.ts.map +1 -1
  766. package/dist/core/mcp/tools.js.map +1 -1
  767. package/dist/core/memoria/almacen.d.ts +56 -0
  768. package/dist/core/memoria/almacen.d.ts.map +1 -0
  769. package/dist/core/memoria/almacen.js +214 -0
  770. package/dist/core/memoria/almacen.js.map +1 -0
  771. package/dist/core/memoria/dr/respaldo.d.ts +34 -0
  772. package/dist/core/memoria/dr/respaldo.d.ts.map +1 -0
  773. package/dist/core/memoria/dr/respaldo.js +133 -0
  774. package/dist/core/memoria/dr/respaldo.js.map +1 -0
  775. package/dist/core/memoria/embeddings.d.ts +21 -0
  776. package/dist/core/memoria/embeddings.d.ts.map +1 -0
  777. package/dist/core/memoria/embeddings.js +87 -0
  778. package/dist/core/memoria/embeddings.js.map +1 -0
  779. package/dist/core/memoria/grafo.d.ts +56 -0
  780. package/dist/core/memoria/grafo.d.ts.map +1 -0
  781. package/dist/core/memoria/grafo.js +143 -0
  782. package/dist/core/memoria/grafo.js.map +1 -0
  783. package/dist/core/memoria/redaccion.d.ts +32 -0
  784. package/dist/core/memoria/redaccion.d.ts.map +1 -0
  785. package/dist/core/memoria/redaccion.js +76 -0
  786. package/dist/core/memoria/redaccion.js.map +1 -0
  787. package/dist/core/memoria/servidor/almacen-json.d.ts +26 -0
  788. package/dist/core/memoria/servidor/almacen-json.d.ts.map +1 -0
  789. package/dist/core/memoria/servidor/almacen-json.js +90 -0
  790. package/dist/core/memoria/servidor/almacen-json.js.map +1 -0
  791. package/dist/core/memoria/servidor/servidor.d.ts +43 -0
  792. package/dist/core/memoria/servidor/servidor.d.ts.map +1 -0
  793. package/dist/core/memoria/servidor/servidor.js +195 -0
  794. package/dist/core/memoria/servidor/servidor.js.map +1 -0
  795. package/dist/core/memoria/servidor/tipos.d.ts +44 -0
  796. package/dist/core/memoria/servidor/tipos.d.ts.map +1 -0
  797. package/dist/core/memoria/servidor/tipos.js +12 -0
  798. package/dist/core/memoria/servidor/tipos.js.map +1 -0
  799. package/dist/core/memoria/tipos.d.ts +63 -0
  800. package/dist/core/memoria/tipos.d.ts.map +1 -0
  801. package/dist/core/memoria/tipos.js +14 -0
  802. package/dist/core/memoria/tipos.js.map +1 -0
  803. package/dist/core/memory-engine/audit-export.d.ts.map +1 -1
  804. package/dist/core/memory-engine/audit-export.js.map +1 -1
  805. package/dist/core/memory-engine/audit-indice.d.ts.map +1 -1
  806. package/dist/core/memory-engine/audit-indice.js.map +1 -1
  807. package/dist/core/memory-engine/audit.d.ts.map +1 -1
  808. package/dist/core/memory-engine/audit.js.map +1 -1
  809. package/dist/core/memory-engine/engine.d.ts +7 -0
  810. package/dist/core/memory-engine/engine.d.ts.map +1 -1
  811. package/dist/core/memory-engine/engine.js.map +1 -1
  812. package/dist/core/memory-engine/inverted-index.d.ts.map +1 -1
  813. package/dist/core/memory-engine/inverted-index.js.map +1 -1
  814. package/dist/core/memory-engine/keychain.d.ts.map +1 -1
  815. package/dist/core/memory-engine/keychain.js.map +1 -1
  816. package/dist/core/memory-engine/observation-store.d.ts +1 -0
  817. package/dist/core/memory-engine/observation-store.d.ts.map +1 -1
  818. package/dist/core/memory-engine/observation-store.js.map +1 -1
  819. package/dist/core/memory-engine/refinements.d.ts.map +1 -1
  820. package/dist/core/memory-engine/refinements.js.map +1 -1
  821. package/dist/core/memory-engine/scanner.d.ts.map +1 -1
  822. package/dist/core/memory-engine/scanner.js.map +1 -1
  823. package/dist/core/memory-engine/security.d.ts.map +1 -1
  824. package/dist/core/memory-engine/security.js.map +1 -1
  825. package/dist/core/memory-engine/session-indexer.d.ts.map +1 -1
  826. package/dist/core/memory-engine/session-indexer.js.map +1 -1
  827. package/dist/core/memory-engine/tools.d.ts.map +1 -1
  828. package/dist/core/memory-engine/tools.js.map +1 -1
  829. package/dist/core/memory-engine/types.d.ts.map +1 -1
  830. package/dist/core/memory-engine/types.js.map +1 -1
  831. package/dist/core/memory-engine/vault.d.ts.map +1 -1
  832. package/dist/core/memory-engine/vault.js.map +1 -1
  833. package/dist/core/messages.d.ts.map +1 -1
  834. package/dist/core/messages.js.map +1 -1
  835. package/dist/core/metaharness/cli.d.ts +19 -0
  836. package/dist/core/metaharness/cli.d.ts.map +1 -0
  837. package/dist/core/metaharness/cli.js +171 -0
  838. package/dist/core/metaharness/cli.js.map +1 -0
  839. package/dist/core/metaharness/comparar.d.ts +21 -0
  840. package/dist/core/metaharness/comparar.d.ts.map +1 -0
  841. package/dist/core/metaharness/comparar.js +64 -0
  842. package/dist/core/metaharness/comparar.js.map +1 -0
  843. package/dist/core/metaharness/ejecutar.d.ts +70 -0
  844. package/dist/core/metaharness/ejecutar.d.ts.map +1 -0
  845. package/dist/core/metaharness/ejecutar.js +249 -0
  846. package/dist/core/metaharness/ejecutar.js.map +1 -0
  847. package/dist/core/metaharness/tipos.d.ts +142 -0
  848. package/dist/core/metaharness/tipos.d.ts.map +1 -0
  849. package/dist/core/metaharness/tipos.js +17 -0
  850. package/dist/core/metaharness/tipos.js.map +1 -0
  851. package/dist/core/model-config.d.ts +8 -8
  852. package/dist/core/model-config.d.ts.map +1 -1
  853. package/dist/core/model-config.js.map +1 -1
  854. package/dist/core/model-registry.d.ts.map +1 -1
  855. package/dist/core/model-registry.js.map +1 -1
  856. package/dist/core/model-resolver.d.ts.map +1 -1
  857. package/dist/core/model-resolver.js.map +1 -1
  858. package/dist/core/model-runtime.d.ts.map +1 -1
  859. package/dist/core/model-runtime.js.map +1 -1
  860. package/dist/core/models-store.d.ts.map +1 -1
  861. package/dist/core/models-store.js.map +1 -1
  862. package/dist/core/muestreo-restringido.d.ts.map +1 -1
  863. package/dist/core/muestreo-restringido.js.map +1 -1
  864. package/dist/core/orphan-process-journal.d.ts.map +1 -1
  865. package/dist/core/orphan-process-journal.js.map +1 -1
  866. package/dist/core/output-guard.d.ts.map +1 -1
  867. package/dist/core/output-guard.js.map +1 -1
  868. package/dist/core/package-manager.d.ts.map +1 -1
  869. package/dist/core/package-manager.js.map +1 -1
  870. package/dist/core/parche/aplicar.d.ts +19 -0
  871. package/dist/core/parche/aplicar.d.ts.map +1 -0
  872. package/dist/core/parche/aplicar.js +243 -0
  873. package/dist/core/parche/aplicar.js.map +1 -0
  874. package/dist/core/parche/parser.d.ts +38 -0
  875. package/dist/core/parche/parser.d.ts.map +1 -0
  876. package/dist/core/parche/parser.js +217 -0
  877. package/dist/core/parche/parser.js.map +1 -0
  878. package/dist/core/parche/registro.d.ts +12 -0
  879. package/dist/core/parche/registro.d.ts.map +1 -0
  880. package/dist/core/parche/registro.js +58 -0
  881. package/dist/core/parche/registro.js.map +1 -0
  882. package/dist/core/perfiles/index.d.ts +22 -0
  883. package/dist/core/perfiles/index.d.ts.map +1 -0
  884. package/dist/core/perfiles/index.js +21 -0
  885. package/dist/core/perfiles/index.js.map +1 -0
  886. package/dist/core/perfiles/resolver.d.ts +51 -0
  887. package/dist/core/perfiles/resolver.d.ts.map +1 -0
  888. package/dist/core/perfiles/resolver.js +329 -0
  889. package/dist/core/perfiles/resolver.js.map +1 -0
  890. package/dist/core/perfiles/tipos.d.ts +69 -0
  891. package/dist/core/perfiles/tipos.d.ts.map +1 -0
  892. package/dist/core/perfiles/tipos.js +98 -0
  893. package/dist/core/perfiles/tipos.js.map +1 -0
  894. package/dist/core/pi-manifest.d.ts.map +1 -1
  895. package/dist/core/pi-manifest.js.map +1 -1
  896. package/dist/core/privacidad/categorias-especiales.d.ts.map +1 -1
  897. package/dist/core/privacidad/categorias-especiales.js +4 -0
  898. package/dist/core/privacidad/categorias-especiales.js.map +1 -1
  899. package/dist/core/privacidad/tapar.d.ts.map +1 -1
  900. package/dist/core/privacidad/tapar.js.map +1 -1
  901. package/dist/core/project-memory.d.ts.map +1 -1
  902. package/dist/core/project-memory.js.map +1 -1
  903. package/dist/core/project-trust.d.ts.map +1 -1
  904. package/dist/core/project-trust.js.map +1 -1
  905. package/dist/core/prompt-cache/diagnostics.d.ts.map +1 -1
  906. package/dist/core/prompt-cache/diagnostics.js.map +1 -1
  907. package/dist/core/prompt-cache/index.d.ts.map +1 -1
  908. package/dist/core/prompt-cache/index.js.map +1 -1
  909. package/dist/core/prompt-cache/payload.d.ts.map +1 -1
  910. package/dist/core/prompt-cache/payload.js.map +1 -1
  911. package/dist/core/prompt-cache/stabilize.d.ts.map +1 -1
  912. package/dist/core/prompt-cache/stabilize.js.map +1 -1
  913. package/dist/core/prompt-cache/stats.d.ts.map +1 -1
  914. package/dist/core/prompt-cache/stats.js.map +1 -1
  915. package/dist/core/prompt-eleccion.d.ts.map +1 -1
  916. package/dist/core/prompt-eleccion.js.map +1 -1
  917. package/dist/core/prompt-optimizer.d.ts.map +1 -1
  918. package/dist/core/prompt-optimizer.js.map +1 -1
  919. package/dist/core/prompt-templates.d.ts.map +1 -1
  920. package/dist/core/prompt-templates.js.map +1 -1
  921. package/dist/core/prompts/montar.d.ts.map +1 -1
  922. package/dist/core/prompts/montar.js.map +1 -1
  923. package/dist/core/prompts/plantilla.d.ts.map +1 -1
  924. package/dist/core/prompts/plantilla.js.map +1 -1
  925. package/dist/core/proveedores-registry/definiciones.d.ts +15 -0
  926. package/dist/core/proveedores-registry/definiciones.d.ts.map +1 -0
  927. package/dist/core/proveedores-registry/definiciones.js +22 -0
  928. package/dist/core/proveedores-registry/definiciones.js.map +1 -0
  929. package/dist/core/proveedores-registry/index.d.ts +14 -0
  930. package/dist/core/proveedores-registry/index.d.ts.map +1 -0
  931. package/dist/core/proveedores-registry/index.js +13 -0
  932. package/dist/core/proveedores-registry/index.js.map +1 -0
  933. package/dist/core/proveedores-registry/resolver.d.ts +25 -0
  934. package/dist/core/proveedores-registry/resolver.d.ts.map +1 -0
  935. package/dist/core/proveedores-registry/resolver.js +69 -0
  936. package/dist/core/proveedores-registry/resolver.js.map +1 -0
  937. package/dist/core/proveedores-registry/tipos.d.ts +47 -0
  938. package/dist/core/proveedores-registry/tipos.d.ts.map +1 -0
  939. package/dist/core/proveedores-registry/tipos.js +15 -0
  940. package/dist/core/proveedores-registry/tipos.js.map +1 -0
  941. package/dist/core/provider-attribution.d.ts.map +1 -1
  942. package/dist/core/provider-attribution.js.map +1 -1
  943. package/dist/core/provider-composer.d.ts.map +1 -1
  944. package/dist/core/provider-composer.js.map +1 -1
  945. package/dist/core/radius.d.ts.map +1 -1
  946. package/dist/core/radius.js.map +1 -1
  947. package/dist/core/remote-catalog-provider.d.ts.map +1 -1
  948. package/dist/core/remote-catalog-provider.js.map +1 -1
  949. package/dist/core/remoto/destino.d.ts.map +1 -1
  950. package/dist/core/remoto/destino.js.map +1 -1
  951. package/dist/core/remoto/ejecutor.d.ts.map +1 -1
  952. package/dist/core/remoto/ejecutor.js.map +1 -1
  953. package/dist/core/remoto/ficheros.d.ts.map +1 -1
  954. package/dist/core/remoto/ficheros.js.map +1 -1
  955. package/dist/core/remoto/registro-extension.d.ts.map +1 -1
  956. package/dist/core/remoto/registro-extension.js.map +1 -1
  957. package/dist/core/remoto/tools.d.ts.map +1 -1
  958. package/dist/core/remoto/tools.js.map +1 -1
  959. package/dist/core/reparacion/index.d.ts +2 -0
  960. package/dist/core/reparacion/index.d.ts.map +1 -0
  961. package/dist/core/reparacion/index.js +2 -0
  962. package/dist/core/reparacion/index.js.map +1 -0
  963. package/dist/core/reparacion/reparar-hunk.d.ts +27 -0
  964. package/dist/core/reparacion/reparar-hunk.d.ts.map +1 -0
  965. package/dist/core/reparacion/reparar-hunk.js +139 -0
  966. package/dist/core/reparacion/reparar-hunk.js.map +1 -0
  967. package/dist/core/resolve-config-value.d.ts.map +1 -1
  968. package/dist/core/resolve-config-value.js.map +1 -1
  969. package/dist/core/resource-loader.d.ts +13 -0
  970. package/dist/core/resource-loader.d.ts.map +1 -1
  971. package/dist/core/resource-loader.js +7 -4
  972. package/dist/core/resource-loader.js.map +1 -1
  973. package/dist/core/revision/dispositions.d.ts +86 -0
  974. package/dist/core/revision/dispositions.d.ts.map +1 -0
  975. package/dist/core/revision/dispositions.js +137 -0
  976. package/dist/core/revision/dispositions.js.map +1 -0
  977. package/dist/core/revision/hallazgo.d.ts.map +1 -1
  978. package/dist/core/revision/hallazgo.js.map +1 -1
  979. package/dist/core/revision/procedencia.d.ts +63 -0
  980. package/dist/core/revision/procedencia.d.ts.map +1 -0
  981. package/dist/core/revision/procedencia.js +72 -0
  982. package/dist/core/revision/procedencia.js.map +1 -0
  983. package/dist/core/revision/publicar.d.ts +26 -0
  984. package/dist/core/revision/publicar.d.ts.map +1 -0
  985. package/dist/core/revision/publicar.js +34 -0
  986. package/dist/core/revision/publicar.js.map +1 -0
  987. package/dist/core/revision/revisor.d.ts.map +1 -1
  988. package/dist/core/revision/revisor.js.map +1 -1
  989. package/dist/core/revision/sarif.d.ts.map +1 -1
  990. package/dist/core/revision/sarif.js.map +1 -1
  991. package/dist/core/router-uris/index.d.ts +12 -0
  992. package/dist/core/router-uris/index.d.ts.map +1 -0
  993. package/dist/core/router-uris/index.js +12 -0
  994. package/dist/core/router-uris/index.js.map +1 -0
  995. package/dist/core/router-uris/router.d.ts +2 -0
  996. package/dist/core/router-uris/router.d.ts.map +1 -0
  997. package/dist/core/router-uris/router.js +2 -0
  998. package/dist/core/router-uris/router.js.map +1 -0
  999. package/dist/core/runtime-credentials.d.ts.map +1 -1
  1000. package/dist/core/runtime-credentials.js.map +1 -1
  1001. package/dist/core/rutas/envoltorio.d.ts +20 -0
  1002. package/dist/core/rutas/envoltorio.d.ts.map +1 -0
  1003. package/dist/core/rutas/envoltorio.js +48 -0
  1004. package/dist/core/rutas/envoltorio.js.map +1 -0
  1005. package/dist/core/rutas/index.d.ts +11 -0
  1006. package/dist/core/rutas/index.d.ts.map +1 -0
  1007. package/dist/core/rutas/index.js +11 -0
  1008. package/dist/core/rutas/index.js.map +1 -0
  1009. package/dist/core/rutas/router.d.ts +82 -0
  1010. package/dist/core/rutas/router.d.ts.map +1 -0
  1011. package/dist/core/rutas/router.js +161 -0
  1012. package/dist/core/rutas/router.js.map +1 -0
  1013. package/dist/core/scheduler/scheduler.d.ts.map +1 -1
  1014. package/dist/core/scheduler/scheduler.js.map +1 -1
  1015. package/dist/core/sdk.d.ts.map +1 -1
  1016. package/dist/core/sdk.js.map +1 -1
  1017. package/dist/core/secretos/extension.d.ts +31 -0
  1018. package/dist/core/secretos/extension.d.ts.map +1 -0
  1019. package/dist/core/secretos/extension.js +64 -0
  1020. package/dist/core/secretos/extension.js.map +1 -0
  1021. package/dist/core/secretos/index.d.ts +75 -0
  1022. package/dist/core/secretos/index.d.ts.map +1 -0
  1023. package/dist/core/secretos/index.js +385 -0
  1024. package/dist/core/secretos/index.js.map +1 -0
  1025. package/dist/core/secretos/message-transform.d.ts +44 -0
  1026. package/dist/core/secretos/message-transform.d.ts.map +1 -0
  1027. package/dist/core/secretos/message-transform.js +246 -0
  1028. package/dist/core/secretos/message-transform.js.map +1 -0
  1029. package/dist/core/secretos/obfuscator.d.ts +30 -0
  1030. package/dist/core/secretos/obfuscator.d.ts.map +1 -0
  1031. package/dist/core/secretos/obfuscator.js +1182 -0
  1032. package/dist/core/secretos/obfuscator.js.map +1 -0
  1033. package/dist/core/secretos/placeholder-scan.d.ts +96 -0
  1034. package/dist/core/secretos/placeholder-scan.d.ts.map +1 -0
  1035. package/dist/core/secretos/placeholder-scan.js +433 -0
  1036. package/dist/core/secretos/placeholder-scan.js.map +1 -0
  1037. package/dist/core/secretos/placeholder.d.ts +95 -0
  1038. package/dist/core/secretos/placeholder.d.ts.map +1 -0
  1039. package/dist/core/secretos/placeholder.js +283 -0
  1040. package/dist/core/secretos/placeholder.js.map +1 -0
  1041. package/dist/core/secretos/regex.d.ts +3 -0
  1042. package/dist/core/secretos/regex.d.ts.map +1 -0
  1043. package/dist/core/secretos/regex.js +19 -0
  1044. package/dist/core/secretos/regex.js.map +1 -0
  1045. package/dist/core/secretos/replacement.d.ts +83 -0
  1046. package/dist/core/secretos/replacement.d.ts.map +1 -0
  1047. package/dist/core/secretos/replacement.js +211 -0
  1048. package/dist/core/secretos/replacement.js.map +1 -0
  1049. package/dist/core/sesion/cerrar-llamadas-abiertas.d.ts.map +1 -1
  1050. package/dist/core/sesion/cerrar-llamadas-abiertas.js.map +1 -1
  1051. package/dist/core/sesion/journal-tree.d.ts +73 -0
  1052. package/dist/core/sesion/journal-tree.d.ts.map +1 -0
  1053. package/dist/core/sesion/journal-tree.js +241 -0
  1054. package/dist/core/sesion/journal-tree.js.map +1 -0
  1055. package/dist/core/sesion/turn-recovery.d.ts +48 -0
  1056. package/dist/core/sesion/turn-recovery.d.ts.map +1 -0
  1057. package/dist/core/sesion/turn-recovery.js +182 -0
  1058. package/dist/core/sesion/turn-recovery.js.map +1 -0
  1059. package/dist/core/session-cwd.d.ts.map +1 -1
  1060. package/dist/core/session-cwd.js.map +1 -1
  1061. package/dist/core/session-manager.d.ts.map +1 -1
  1062. package/dist/core/session-manager.js.map +1 -1
  1063. package/dist/core/settings-diagnostics.d.ts.map +1 -1
  1064. package/dist/core/settings-diagnostics.js.map +1 -1
  1065. package/dist/core/settings-manager.d.ts +2 -2
  1066. package/dist/core/settings-manager.d.ts.map +1 -1
  1067. package/dist/core/settings-manager.js.map +1 -1
  1068. package/dist/core/share/cifrado.d.ts +39 -0
  1069. package/dist/core/share/cifrado.d.ts.map +1 -0
  1070. package/dist/core/share/cifrado.js +81 -0
  1071. package/dist/core/share/cifrado.js.map +1 -0
  1072. package/dist/core/share/exportar.d.ts +69 -0
  1073. package/dist/core/share/exportar.d.ts.map +1 -0
  1074. package/dist/core/share/exportar.js +247 -0
  1075. package/dist/core/share/exportar.js.map +1 -0
  1076. package/dist/core/skills.d.ts.map +1 -1
  1077. package/dist/core/skills.js.map +1 -1
  1078. package/dist/core/slash-commands.d.ts.map +1 -1
  1079. package/dist/core/slash-commands.js.map +1 -1
  1080. package/dist/core/source-info.d.ts.map +1 -1
  1081. package/dist/core/source-info.js.map +1 -1
  1082. package/dist/core/stream-guard/guardia.d.ts +45 -0
  1083. package/dist/core/stream-guard/guardia.d.ts.map +1 -0
  1084. package/dist/core/stream-guard/guardia.js +100 -0
  1085. package/dist/core/stream-guard/guardia.js.map +1 -0
  1086. package/dist/core/stream-guard/index.d.ts +9 -0
  1087. package/dist/core/stream-guard/index.d.ts.map +1 -0
  1088. package/dist/core/stream-guard/index.js +7 -0
  1089. package/dist/core/stream-guard/index.js.map +1 -0
  1090. package/dist/core/stream-guard/replay.d.ts +39 -0
  1091. package/dist/core/stream-guard/replay.d.ts.map +1 -0
  1092. package/dist/core/stream-guard/replay.js +68 -0
  1093. package/dist/core/stream-guard/replay.js.map +1 -0
  1094. package/dist/core/system-prompt.d.ts.map +1 -1
  1095. package/dist/core/system-prompt.js.map +1 -1
  1096. package/dist/core/telemetria/otlp.d.ts.map +1 -1
  1097. package/dist/core/telemetria/otlp.js.map +1 -1
  1098. package/dist/core/telemetry/otel-genai.d.ts +44 -0
  1099. package/dist/core/telemetry/otel-genai.d.ts.map +1 -0
  1100. package/dist/core/telemetry/otel-genai.js +124 -0
  1101. package/dist/core/telemetry/otel-genai.js.map +1 -0
  1102. package/dist/core/telemetry.d.ts.map +1 -1
  1103. package/dist/core/telemetry.js.map +1 -1
  1104. package/dist/core/terminal/backlog-guard.d.ts +53 -0
  1105. package/dist/core/terminal/backlog-guard.d.ts.map +1 -0
  1106. package/dist/core/terminal/backlog-guard.js +122 -0
  1107. package/dist/core/terminal/backlog-guard.js.map +1 -0
  1108. package/dist/core/terminal/conpty.d.ts +29 -0
  1109. package/dist/core/terminal/conpty.d.ts.map +1 -0
  1110. package/dist/core/terminal/conpty.js +67 -0
  1111. package/dist/core/terminal/conpty.js.map +1 -0
  1112. package/dist/core/terminal/conptyChunking.d.ts +2 -0
  1113. package/dist/core/terminal/conptyChunking.d.ts.map +1 -0
  1114. package/dist/core/terminal/conptyChunking.js +2 -0
  1115. package/dist/core/terminal/conptyChunking.js.map +1 -0
  1116. package/dist/core/terminal/index.d.ts +5 -0
  1117. package/dist/core/terminal/index.d.ts.map +1 -0
  1118. package/dist/core/terminal/index.js +5 -0
  1119. package/dist/core/terminal/index.js.map +1 -0
  1120. package/dist/core/terminal/loop-watchdog.d.ts +43 -0
  1121. package/dist/core/terminal/loop-watchdog.d.ts.map +1 -0
  1122. package/dist/core/terminal/loop-watchdog.js +117 -0
  1123. package/dist/core/terminal/loop-watchdog.js.map +1 -0
  1124. package/dist/core/terminal/runner.d.ts +55 -0
  1125. package/dist/core/terminal/runner.d.ts.map +1 -0
  1126. package/dist/core/terminal/runner.js +102 -0
  1127. package/dist/core/terminal/runner.js.map +1 -0
  1128. package/dist/core/timings.d.ts.map +1 -1
  1129. package/dist/core/timings.js.map +1 -1
  1130. package/dist/core/tools/apply_patch.d.ts +29 -0
  1131. package/dist/core/tools/apply_patch.d.ts.map +1 -0
  1132. package/dist/core/tools/apply_patch.js +54 -0
  1133. package/dist/core/tools/apply_patch.js.map +1 -0
  1134. package/dist/core/tools/bash.d.ts.map +1 -1
  1135. package/dist/core/tools/bash.js.map +1 -1
  1136. package/dist/core/tools/coercion-argumentos.d.ts.map +1 -1
  1137. package/dist/core/tools/coercion-argumentos.js.map +1 -1
  1138. package/dist/core/tools/edit-diff.d.ts.map +1 -1
  1139. package/dist/core/tools/edit-diff.js.map +1 -1
  1140. package/dist/core/tools/edit.d.ts.map +1 -1
  1141. package/dist/core/tools/edit.js +43 -1
  1142. package/dist/core/tools/edit.js.map +1 -1
  1143. package/dist/core/tools/file-mutation-queue.d.ts.map +1 -1
  1144. package/dist/core/tools/file-mutation-queue.js.map +1 -1
  1145. package/dist/core/tools/find.d.ts.map +1 -1
  1146. package/dist/core/tools/find.js.map +1 -1
  1147. package/dist/core/tools/grep.d.ts.map +1 -1
  1148. package/dist/core/tools/grep.js.map +1 -1
  1149. package/dist/core/tools/index.d.ts.map +1 -1
  1150. package/dist/core/tools/index.js.map +1 -1
  1151. package/dist/core/tools/json-tolerante.d.ts.map +1 -1
  1152. package/dist/core/tools/json-tolerante.js.map +1 -1
  1153. package/dist/core/tools/ls.d.ts.map +1 -1
  1154. package/dist/core/tools/ls.js.map +1 -1
  1155. package/dist/core/tools/noop-loop-guard.d.ts +46 -0
  1156. package/dist/core/tools/noop-loop-guard.d.ts.map +1 -0
  1157. package/dist/core/tools/noop-loop-guard.js +57 -0
  1158. package/dist/core/tools/noop-loop-guard.js.map +1 -0
  1159. package/dist/core/tools/output-accumulator.d.ts.map +1 -1
  1160. package/dist/core/tools/output-accumulator.js.map +1 -1
  1161. package/dist/core/tools/path-utils.d.ts.map +1 -1
  1162. package/dist/core/tools/path-utils.js.map +1 -1
  1163. package/dist/core/tools/project-memory-tool.d.ts.map +1 -1
  1164. package/dist/core/tools/project-memory-tool.js.map +1 -1
  1165. package/dist/core/tools/read.d.ts.map +1 -1
  1166. package/dist/core/tools/read.js.map +1 -1
  1167. package/dist/core/tools/render-utils.d.ts.map +1 -1
  1168. package/dist/core/tools/render-utils.js.map +1 -1
  1169. package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -1
  1170. package/dist/core/tools/tool-definition-wrapper.js.map +1 -1
  1171. package/dist/core/tools/truncate.d.ts.map +1 -1
  1172. package/dist/core/tools/truncate.js.map +1 -1
  1173. package/dist/core/tools/write.d.ts.map +1 -1
  1174. package/dist/core/tools/write.js.map +1 -1
  1175. package/dist/core/trust-manager.d.ts.map +1 -1
  1176. package/dist/core/trust-manager.js.map +1 -1
  1177. package/dist/core/ttsr/captura.d.ts +72 -0
  1178. package/dist/core/ttsr/captura.d.ts.map +1 -0
  1179. package/dist/core/ttsr/captura.js +183 -0
  1180. package/dist/core/ttsr/captura.js.map +1 -0
  1181. package/dist/core/ttsr/index.d.ts +24 -0
  1182. package/dist/core/ttsr/index.d.ts.map +1 -0
  1183. package/dist/core/ttsr/index.js +57 -0
  1184. package/dist/core/ttsr/index.js.map +1 -0
  1185. package/dist/core/ttsr/preview.d.ts +48 -0
  1186. package/dist/core/ttsr/preview.d.ts.map +1 -0
  1187. package/dist/core/ttsr/preview.js +83 -0
  1188. package/dist/core/ttsr/preview.js.map +1 -0
  1189. package/dist/core/turno-vacio/detectar.d.ts.map +1 -1
  1190. package/dist/core/turno-vacio/detectar.js.map +1 -1
  1191. package/dist/core/undo/journal.d.ts.map +1 -1
  1192. package/dist/core/undo/journal.js.map +1 -1
  1193. package/dist/core/urls-internas/auditoria.d.ts.map +1 -1
  1194. package/dist/core/urls-internas/auditoria.js.map +1 -1
  1195. package/dist/core/urls-internas/boveda.d.ts.map +1 -1
  1196. package/dist/core/urls-internas/boveda.js.map +1 -1
  1197. package/dist/core/urls-internas/lector.d.ts +14 -10
  1198. package/dist/core/urls-internas/lector.d.ts.map +1 -1
  1199. package/dist/core/urls-internas/lector.js +50 -36
  1200. package/dist/core/urls-internas/lector.js.map +1 -1
  1201. package/dist/core/urls-internas/memoria.d.ts.map +1 -1
  1202. package/dist/core/urls-internas/memoria.js.map +1 -1
  1203. package/dist/core/urls-internas/parse.d.ts +6 -13
  1204. package/dist/core/urls-internas/parse.d.ts.map +1 -1
  1205. package/dist/core/urls-internas/parse.js +6 -17
  1206. package/dist/core/urls-internas/parse.js.map +1 -1
  1207. package/dist/core/urls-internas/reglas.d.ts.map +1 -1
  1208. package/dist/core/urls-internas/reglas.js.map +1 -1
  1209. package/dist/core/usage/aggregate.d.ts +1 -0
  1210. package/dist/core/usage/aggregate.d.ts.map +1 -1
  1211. package/dist/core/usage/aggregate.js +1 -1
  1212. package/dist/core/usage/aggregate.js.map +1 -1
  1213. package/dist/core/usage/cuota/anthropic.d.ts.map +1 -1
  1214. package/dist/core/usage/cuota/anthropic.js.map +1 -1
  1215. package/dist/core/usage/cuota/cache.d.ts.map +1 -1
  1216. package/dist/core/usage/cuota/cache.js.map +1 -1
  1217. package/dist/core/usage/cuota/github-copilot.d.ts.map +1 -1
  1218. package/dist/core/usage/cuota/github-copilot.js.map +1 -1
  1219. package/dist/core/usage/cuota/google-gemini.d.ts.map +1 -1
  1220. package/dist/core/usage/cuota/google-gemini.js.map +1 -1
  1221. package/dist/core/usage/cuota/index.d.ts.map +1 -1
  1222. package/dist/core/usage/cuota/index.js.map +1 -1
  1223. package/dist/core/usage/cuota/openai-codex.d.ts.map +1 -1
  1224. package/dist/core/usage/cuota/openai-codex.js.map +1 -1
  1225. package/dist/core/usage/cuota/openrouter.d.ts.map +1 -1
  1226. package/dist/core/usage/cuota/openrouter.js.map +1 -1
  1227. package/dist/core/usage/cuota/tipos.d.ts.map +1 -1
  1228. package/dist/core/usage/cuota/tipos.js.map +1 -1
  1229. package/dist/core/usage/index.d.ts +11 -0
  1230. package/dist/core/usage/index.d.ts.map +1 -0
  1231. package/dist/core/usage/index.js +11 -0
  1232. package/dist/core/usage/index.js.map +1 -0
  1233. package/dist/core/usage/multi.d.ts +62 -0
  1234. package/dist/core/usage/multi.d.ts.map +1 -0
  1235. package/dist/core/usage/multi.js +122 -0
  1236. package/dist/core/usage/multi.js.map +1 -0
  1237. package/dist/core/usage/redaccion.d.ts +48 -0
  1238. package/dist/core/usage/redaccion.d.ts.map +1 -0
  1239. package/dist/core/usage/redaccion.js +72 -0
  1240. package/dist/core/usage/redaccion.js.map +1 -0
  1241. package/dist/core/usage-totals.d.ts.map +1 -1
  1242. package/dist/core/usage-totals.js.map +1 -1
  1243. package/dist/core/utils/atomic-write.d.ts +55 -0
  1244. package/dist/core/utils/atomic-write.d.ts.map +1 -0
  1245. package/dist/core/utils/atomic-write.js +293 -0
  1246. package/dist/core/utils/atomic-write.js.map +1 -0
  1247. package/dist/core/utils/git.d.ts +24 -0
  1248. package/dist/core/utils/git.d.ts.map +1 -0
  1249. package/dist/core/utils/git.js +107 -0
  1250. package/dist/core/utils/git.js.map +1 -0
  1251. package/dist/core/utils/logger.d.ts +26 -0
  1252. package/dist/core/utils/logger.d.ts.map +1 -0
  1253. package/dist/core/utils/logger.js +104 -0
  1254. package/dist/core/utils/logger.js.map +1 -0
  1255. package/dist/core/utils/shell-snapshot.d.ts +21 -0
  1256. package/dist/core/utils/shell-snapshot.d.ts.map +1 -0
  1257. package/dist/core/utils/shell-snapshot.js +32 -0
  1258. package/dist/core/utils/shell-snapshot.js.map +1 -0
  1259. package/dist/core/utils/startup-watchdog.d.ts +11 -0
  1260. package/dist/core/utils/startup-watchdog.d.ts.map +1 -0
  1261. package/dist/core/utils/startup-watchdog.js +34 -0
  1262. package/dist/core/utils/startup-watchdog.js.map +1 -0
  1263. package/dist/core/utils/tls-ca-shim.d.ts +17 -0
  1264. package/dist/core/utils/tls-ca-shim.d.ts.map +1 -0
  1265. package/dist/core/utils/tls-ca-shim.js +33 -0
  1266. package/dist/core/utils/tls-ca-shim.js.map +1 -0
  1267. package/dist/core/web/agregador.d.ts +67 -0
  1268. package/dist/core/web/agregador.d.ts.map +1 -0
  1269. package/dist/core/web/agregador.js +182 -0
  1270. package/dist/core/web/agregador.js.map +1 -0
  1271. package/dist/core/web/busqueda-nativa.d.ts.map +1 -1
  1272. package/dist/core/web/busqueda-nativa.js.map +1 -1
  1273. package/dist/core/web/consulta.d.ts +53 -0
  1274. package/dist/core/web/consulta.d.ts.map +1 -0
  1275. package/dist/core/web/consulta.js +213 -0
  1276. package/dist/core/web/consulta.js.map +1 -0
  1277. package/dist/core/web/destino.d.ts +11 -0
  1278. package/dist/core/web/destino.d.ts.map +1 -1
  1279. package/dist/core/web/destino.js +35 -0
  1280. package/dist/core/web/destino.js.map +1 -1
  1281. package/dist/core/web/load-page.d.ts +52 -0
  1282. package/dist/core/web/load-page.d.ts.map +1 -0
  1283. package/dist/core/web/load-page.js +221 -0
  1284. package/dist/core/web/load-page.js.map +1 -0
  1285. package/dist/core/web/proveedores/brave.d.ts.map +1 -1
  1286. package/dist/core/web/proveedores/brave.js.map +1 -1
  1287. package/dist/core/web/proveedores/claves.d.ts.map +1 -1
  1288. package/dist/core/web/proveedores/claves.js.map +1 -1
  1289. package/dist/core/web/proveedores/duckduckgo.d.ts.map +1 -1
  1290. package/dist/core/web/proveedores/duckduckgo.js.map +1 -1
  1291. package/dist/core/web/proveedores/ecosia.d.ts.map +1 -1
  1292. package/dist/core/web/proveedores/ecosia.js.map +1 -1
  1293. package/dist/core/web/proveedores/exa.d.ts.map +1 -1
  1294. package/dist/core/web/proveedores/exa.js.map +1 -1
  1295. package/dist/core/web/proveedores/mojeek.d.ts.map +1 -1
  1296. package/dist/core/web/proveedores/mojeek.js.map +1 -1
  1297. package/dist/core/web/proveedores/navegador.d.ts.map +1 -1
  1298. package/dist/core/web/proveedores/navegador.js.map +1 -1
  1299. package/dist/core/web/proveedores/registro.d.ts.map +1 -1
  1300. package/dist/core/web/proveedores/registro.js.map +1 -1
  1301. package/dist/core/web/proveedores/searxng.d.ts.map +1 -1
  1302. package/dist/core/web/proveedores/searxng.js.map +1 -1
  1303. package/dist/core/web/proveedores/serper.d.ts.map +1 -1
  1304. package/dist/core/web/proveedores/serper.js.map +1 -1
  1305. package/dist/core/web/proveedores/tavily.d.ts.map +1 -1
  1306. package/dist/core/web/proveedores/tavily.js.map +1 -1
  1307. package/dist/core/web/proveedores/tipos.d.ts.map +1 -1
  1308. package/dist/core/web/proveedores/tipos.js.map +1 -1
  1309. package/dist/core/web/registro-red.d.ts.map +1 -1
  1310. package/dist/core/web/registro-red.js.map +1 -1
  1311. package/dist/core/web/scrapers/cisa-kev.d.ts.map +1 -1
  1312. package/dist/core/web/scrapers/cisa-kev.js.map +1 -1
  1313. package/dist/core/web/scrapers/crates-io.d.ts.map +1 -1
  1314. package/dist/core/web/scrapers/crates-io.js.map +1 -1
  1315. package/dist/core/web/scrapers/docs-rs.d.ts.map +1 -1
  1316. package/dist/core/web/scrapers/docs-rs.js.map +1 -1
  1317. package/dist/core/web/scrapers/github.d.ts.map +1 -1
  1318. package/dist/core/web/scrapers/github.js.map +1 -1
  1319. package/dist/core/web/scrapers/go-pkg.d.ts.map +1 -1
  1320. package/dist/core/web/scrapers/go-pkg.js.map +1 -1
  1321. package/dist/core/web/scrapers/hex.d.ts.map +1 -1
  1322. package/dist/core/web/scrapers/hex.js.map +1 -1
  1323. package/dist/core/web/scrapers/maven.d.ts.map +1 -1
  1324. package/dist/core/web/scrapers/maven.js.map +1 -1
  1325. package/dist/core/web/scrapers/mdn.d.ts.map +1 -1
  1326. package/dist/core/web/scrapers/mdn.js.map +1 -1
  1327. package/dist/core/web/scrapers/npm.d.ts.map +1 -1
  1328. package/dist/core/web/scrapers/npm.js.map +1 -1
  1329. package/dist/core/web/scrapers/nuget.d.ts.map +1 -1
  1330. package/dist/core/web/scrapers/nuget.js.map +1 -1
  1331. package/dist/core/web/scrapers/nvd.d.ts.map +1 -1
  1332. package/dist/core/web/scrapers/nvd.js.map +1 -1
  1333. package/dist/core/web/scrapers/pypi.d.ts.map +1 -1
  1334. package/dist/core/web/scrapers/pypi.js.map +1 -1
  1335. package/dist/core/web/scrapers/registro.d.ts.map +1 -1
  1336. package/dist/core/web/scrapers/registro.js.map +1 -1
  1337. package/dist/core/web/scrapers/rubygems.d.ts.map +1 -1
  1338. package/dist/core/web/scrapers/rubygems.js.map +1 -1
  1339. package/dist/core/web/scrapers/stackoverflow.d.ts.map +1 -1
  1340. package/dist/core/web/scrapers/stackoverflow.js.map +1 -1
  1341. package/dist/core/web/scrapers/tipos.d.ts.map +1 -1
  1342. package/dist/core/web/scrapers/tipos.js.map +1 -1
  1343. package/dist/core/web/texto.d.ts.map +1 -1
  1344. package/dist/core/web/texto.js.map +1 -1
  1345. package/dist/core/web/tools.d.ts +1 -8
  1346. package/dist/core/web/tools.d.ts.map +1 -1
  1347. package/dist/core/web/tools.js +2 -33
  1348. package/dist/core/web/tools.js.map +1 -1
  1349. package/dist/core/wiki/almacen.d.ts.map +1 -1
  1350. package/dist/core/wiki/almacen.js.map +1 -1
  1351. package/dist/core/wiki/citas.d.ts.map +1 -1
  1352. package/dist/core/wiki/citas.js.map +1 -1
  1353. package/dist/core/workflows/agent-runner.d.ts.map +1 -1
  1354. package/dist/core/workflows/agent-runner.js.map +1 -1
  1355. package/dist/core/workflows/builtins.d.ts.map +1 -1
  1356. package/dist/core/workflows/builtins.js.map +1 -1
  1357. package/dist/core/workflows/contrato/esquema.d.ts.map +1 -1
  1358. package/dist/core/workflows/contrato/esquema.js.map +1 -1
  1359. package/dist/core/workflows/contrato/reparar-argumentos.d.ts.map +1 -1
  1360. package/dist/core/workflows/contrato/reparar-argumentos.js.map +1 -1
  1361. package/dist/core/workflows/contrato/validador.d.ts.map +1 -1
  1362. package/dist/core/workflows/contrato/validador.js.map +1 -1
  1363. package/dist/core/workflows/contrato/yield.d.ts.map +1 -1
  1364. package/dist/core/workflows/contrato/yield.js.map +1 -1
  1365. package/dist/core/workflows/goal-engine/engine.d.ts +5 -0
  1366. package/dist/core/workflows/goal-engine/engine.d.ts.map +1 -1
  1367. package/dist/core/workflows/goal-engine/engine.js.map +1 -1
  1368. package/dist/core/workflows/goal-engine/errors.d.ts.map +1 -1
  1369. package/dist/core/workflows/goal-engine/errors.js.map +1 -1
  1370. package/dist/core/workflows/goal-engine/index.d.ts.map +1 -1
  1371. package/dist/core/workflows/goal-engine/index.js.map +1 -1
  1372. package/dist/core/workflows/goal-engine/persistence.d.ts.map +1 -1
  1373. package/dist/core/workflows/goal-engine/persistence.js.map +1 -1
  1374. package/dist/core/workflows/goal-engine/prompts.d.ts.map +1 -1
  1375. package/dist/core/workflows/goal-engine/prompts.js.map +1 -1
  1376. package/dist/core/workflows/goal-engine/state.d.ts.map +1 -1
  1377. package/dist/core/workflows/goal-engine/state.js.map +1 -1
  1378. package/dist/core/workflows/goal-engine/tools.d.ts.map +1 -1
  1379. package/dist/core/workflows/goal-engine/tools.js.map +1 -1
  1380. package/dist/core/workflows/goal-engine/types.d.ts.map +1 -1
  1381. package/dist/core/workflows/goal-engine/types.js.map +1 -1
  1382. package/dist/core/workflows/goal-engine/worktree-fingerprint.d.ts.map +1 -1
  1383. package/dist/core/workflows/goal-engine/worktree-fingerprint.js.map +1 -1
  1384. package/dist/core/workflows/graph-sync.d.ts.map +1 -1
  1385. package/dist/core/workflows/graph-sync.js.map +1 -1
  1386. package/dist/core/workflows/graph.d.ts.map +1 -1
  1387. package/dist/core/workflows/graph.js.map +1 -1
  1388. package/dist/core/workflows/index.d.ts +6 -0
  1389. package/dist/core/workflows/index.d.ts.map +1 -1
  1390. package/dist/core/workflows/index.js +3 -0
  1391. package/dist/core/workflows/index.js.map +1 -1
  1392. package/dist/core/workflows/journal.d.ts.map +1 -1
  1393. package/dist/core/workflows/journal.js.map +1 -1
  1394. package/dist/core/workflows/manager.d.ts.map +1 -1
  1395. package/dist/core/workflows/manager.js.map +1 -1
  1396. package/dist/core/workflows/provider-caps.d.ts +103 -0
  1397. package/dist/core/workflows/provider-caps.d.ts.map +1 -0
  1398. package/dist/core/workflows/provider-caps.js +235 -0
  1399. package/dist/core/workflows/provider-caps.js.map +1 -0
  1400. package/dist/core/workflows/resolve-script.d.ts.map +1 -1
  1401. package/dist/core/workflows/resolve-script.js.map +1 -1
  1402. package/dist/core/workflows/runtime.d.ts.map +1 -1
  1403. package/dist/core/workflows/runtime.js.map +1 -1
  1404. package/dist/core/workflows/save-as-skill.d.ts.map +1 -1
  1405. package/dist/core/workflows/save-as-skill.js.map +1 -1
  1406. package/dist/core/workflows/shared-store.d.ts.map +1 -1
  1407. package/dist/core/workflows/shared-store.js.map +1 -1
  1408. package/dist/core/workflows/soft-budget.d.ts +27 -0
  1409. package/dist/core/workflows/soft-budget.d.ts.map +1 -0
  1410. package/dist/core/workflows/soft-budget.js +47 -0
  1411. package/dist/core/workflows/soft-budget.js.map +1 -0
  1412. package/dist/core/workflows/subagent-host.d.ts.map +1 -1
  1413. package/dist/core/workflows/subagent-host.js.map +1 -1
  1414. package/dist/core/workflows/tool-scheduling.d.ts +47 -0
  1415. package/dist/core/workflows/tool-scheduling.d.ts.map +1 -0
  1416. package/dist/core/workflows/tool-scheduling.js +102 -0
  1417. package/dist/core/workflows/tool-scheduling.js.map +1 -0
  1418. package/dist/core/workflows/tool-workflow.d.ts.map +1 -1
  1419. package/dist/core/workflows/tool-workflow.js.map +1 -1
  1420. package/dist/core/workflows/types.d.ts.map +1 -1
  1421. package/dist/core/workflows/types.js.map +1 -1
  1422. package/dist/core/workflows/worktree.d.ts.map +1 -1
  1423. package/dist/core/workflows/worktree.js.map +1 -1
  1424. package/dist/extensions/index.d.ts.map +1 -1
  1425. package/dist/extensions/index.js.map +1 -1
  1426. package/dist/extensions/llama/client.d.ts.map +1 -1
  1427. package/dist/extensions/llama/client.js.map +1 -1
  1428. package/dist/extensions/llama/huggingface.d.ts.map +1 -1
  1429. package/dist/extensions/llama/huggingface.js.map +1 -1
  1430. package/dist/extensions/llama/index.d.ts.map +1 -1
  1431. package/dist/extensions/llama/index.js.map +1 -1
  1432. package/dist/extensions/llama/provider.d.ts.map +1 -1
  1433. package/dist/extensions/llama/provider.js.map +1 -1
  1434. package/dist/extensions/llama/ui.d.ts.map +1 -1
  1435. package/dist/extensions/llama/ui.js.map +1 -1
  1436. package/dist/extensions/remoto/index.d.ts.map +1 -1
  1437. package/dist/extensions/remoto/index.js.map +1 -1
  1438. package/dist/index.d.ts.map +1 -1
  1439. package/dist/index.js.map +1 -1
  1440. package/dist/main.d.ts.map +1 -1
  1441. package/dist/main.js +71 -3
  1442. package/dist/main.js.map +1 -1
  1443. package/dist/migrations.d.ts.map +1 -1
  1444. package/dist/migrations.js.map +1 -1
  1445. package/dist/modes/acp/acp-mode.d.ts.map +1 -1
  1446. package/dist/modes/acp/acp-mode.js.map +1 -1
  1447. package/dist/modes/acp/events.d.ts.map +1 -1
  1448. package/dist/modes/acp/events.js.map +1 -1
  1449. package/dist/modes/index.d.ts.map +1 -1
  1450. package/dist/modes/index.js.map +1 -1
  1451. package/dist/modes/interactive/components/armin.d.ts.map +1 -1
  1452. package/dist/modes/interactive/components/armin.js.map +1 -1
  1453. package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
  1454. package/dist/modes/interactive/components/assistant-message.js.map +1 -1
  1455. package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -1
  1456. package/dist/modes/interactive/components/bash-execution.js.map +1 -1
  1457. package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -1
  1458. package/dist/modes/interactive/components/bordered-loader.js.map +1 -1
  1459. package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -1
  1460. package/dist/modes/interactive/components/branch-summary-message.js.map +1 -1
  1461. package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -1
  1462. package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -1
  1463. package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
  1464. package/dist/modes/interactive/components/config-selector.js.map +1 -1
  1465. package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -1
  1466. package/dist/modes/interactive/components/countdown-timer.js.map +1 -1
  1467. package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -1
  1468. package/dist/modes/interactive/components/custom-editor.js.map +1 -1
  1469. package/dist/modes/interactive/components/custom-entry.d.ts.map +1 -1
  1470. package/dist/modes/interactive/components/custom-entry.js.map +1 -1
  1471. package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
  1472. package/dist/modes/interactive/components/custom-message.js.map +1 -1
  1473. package/dist/modes/interactive/components/daxnuts.d.ts.map +1 -1
  1474. package/dist/modes/interactive/components/daxnuts.js.map +1 -1
  1475. package/dist/modes/interactive/components/diff.d.ts.map +1 -1
  1476. package/dist/modes/interactive/components/diff.js.map +1 -1
  1477. package/dist/modes/interactive/components/dynamic-border.d.ts.map +1 -1
  1478. package/dist/modes/interactive/components/dynamic-border.js.map +1 -1
  1479. package/dist/modes/interactive/components/earendil-announcement.d.ts.map +1 -1
  1480. package/dist/modes/interactive/components/earendil-announcement.js.map +1 -1
  1481. package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
  1482. package/dist/modes/interactive/components/extension-editor.js.map +1 -1
  1483. package/dist/modes/interactive/components/extension-input.d.ts.map +1 -1
  1484. package/dist/modes/interactive/components/extension-input.js.map +1 -1
  1485. package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -1
  1486. package/dist/modes/interactive/components/extension-selector.js.map +1 -1
  1487. package/dist/modes/interactive/components/first-time-setup.d.ts.map +1 -1
  1488. package/dist/modes/interactive/components/first-time-setup.js.map +1 -1
  1489. package/dist/modes/interactive/components/footer.d.ts.map +1 -1
  1490. package/dist/modes/interactive/components/footer.js.map +1 -1
  1491. package/dist/modes/interactive/components/home-screen.d.ts +2 -0
  1492. package/dist/modes/interactive/components/home-screen.d.ts.map +1 -1
  1493. package/dist/modes/interactive/components/home-screen.js +5 -6
  1494. package/dist/modes/interactive/components/home-screen.js.map +1 -1
  1495. package/dist/modes/interactive/components/index.d.ts.map +1 -1
  1496. package/dist/modes/interactive/components/index.js.map +1 -1
  1497. package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -1
  1498. package/dist/modes/interactive/components/keybinding-hints.js.map +1 -1
  1499. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
  1500. package/dist/modes/interactive/components/login-dialog.js.map +1 -1
  1501. package/dist/modes/interactive/components/markdown-transform.d.ts.map +1 -1
  1502. package/dist/modes/interactive/components/markdown-transform.js.map +1 -1
  1503. package/dist/modes/interactive/components/mermaid.d.ts.map +1 -1
  1504. package/dist/modes/interactive/components/mermaid.js.map +1 -1
  1505. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
  1506. package/dist/modes/interactive/components/model-selector.js.map +1 -1
  1507. package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
  1508. package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
  1509. package/dist/modes/interactive/components/prompt-optimization.d.ts.map +1 -1
  1510. package/dist/modes/interactive/components/prompt-optimization.js.map +1 -1
  1511. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
  1512. package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
  1513. package/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -1
  1514. package/dist/modes/interactive/components/session-selector-search.js.map +1 -1
  1515. package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
  1516. package/dist/modes/interactive/components/session-selector.js.map +1 -1
  1517. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  1518. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  1519. package/dist/modes/interactive/components/settings-submenu.d.ts.map +1 -1
  1520. package/dist/modes/interactive/components/settings-submenu.js.map +1 -1
  1521. package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -1
  1522. package/dist/modes/interactive/components/show-images-selector.js.map +1 -1
  1523. package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -1
  1524. package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -1
  1525. package/dist/modes/interactive/components/status-indicator.d.ts.map +1 -1
  1526. package/dist/modes/interactive/components/status-indicator.js.map +1 -1
  1527. package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -1
  1528. package/dist/modes/interactive/components/theme-selector.js.map +1 -1
  1529. package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
  1530. package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
  1531. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  1532. package/dist/modes/interactive/components/tool-execution.js.map +1 -1
  1533. package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -1
  1534. package/dist/modes/interactive/components/tree-selector.js.map +1 -1
  1535. package/dist/modes/interactive/components/trust-selector.d.ts.map +1 -1
  1536. package/dist/modes/interactive/components/trust-selector.js.map +1 -1
  1537. package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -1
  1538. package/dist/modes/interactive/components/user-message-selector.js.map +1 -1
  1539. package/dist/modes/interactive/components/user-message.d.ts.map +1 -1
  1540. package/dist/modes/interactive/components/user-message.js.map +1 -1
  1541. package/dist/modes/interactive/components/visual-truncate.d.ts.map +1 -1
  1542. package/dist/modes/interactive/components/visual-truncate.js.map +1 -1
  1543. package/dist/modes/interactive/external-editor.d.ts.map +1 -1
  1544. package/dist/modes/interactive/external-editor.js.map +1 -1
  1545. package/dist/modes/interactive/interactive-mode.d.ts +19 -0
  1546. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  1547. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  1548. package/dist/modes/interactive/model-catalog-refresh.d.ts.map +1 -1
  1549. package/dist/modes/interactive/model-catalog-refresh.js.map +1 -1
  1550. package/dist/modes/interactive/model-search.d.ts.map +1 -1
  1551. package/dist/modes/interactive/model-search.js.map +1 -1
  1552. package/dist/modes/interactive/theme/theme-controller.d.ts.map +1 -1
  1553. package/dist/modes/interactive/theme/theme-controller.js.map +1 -1
  1554. package/dist/modes/interactive/theme/theme.d.ts +2 -2
  1555. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  1556. package/dist/modes/interactive/theme/theme.js.map +1 -1
  1557. package/dist/modes/json-event.d.ts.map +1 -1
  1558. package/dist/modes/json-event.js.map +1 -1
  1559. package/dist/modes/print-mode.d.ts.map +1 -1
  1560. package/dist/modes/print-mode.js.map +1 -1
  1561. package/dist/modes/rpc/jsonl.d.ts.map +1 -1
  1562. package/dist/modes/rpc/jsonl.js.map +1 -1
  1563. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  1564. package/dist/modes/rpc/rpc-client.js.map +1 -1
  1565. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  1566. package/dist/modes/rpc/rpc-mode.js.map +1 -1
  1567. package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  1568. package/dist/modes/rpc/rpc-types.js.map +1 -1
  1569. package/dist/package-manager-cli.d.ts.map +1 -1
  1570. package/dist/package-manager-cli.js.map +1 -1
  1571. package/dist/rpc-entry.d.ts.map +1 -1
  1572. package/dist/rpc-entry.js +0 -0
  1573. package/dist/rpc-entry.js.map +1 -1
  1574. package/dist/server/attach.d.ts.map +1 -1
  1575. package/dist/server/attach.js.map +1 -1
  1576. package/dist/server/create-harness.d.ts.map +1 -1
  1577. package/dist/server/create-harness.js.map +1 -1
  1578. package/dist/server/extension-ops.d.ts.map +1 -1
  1579. package/dist/server/extension-ops.js.map +1 -1
  1580. package/dist/server/pi-server-service.d.ts.map +1 -1
  1581. package/dist/server/pi-server-service.js.map +1 -1
  1582. package/dist/server/scheduler-tick.d.ts.map +1 -1
  1583. package/dist/server/scheduler-tick.js.map +1 -1
  1584. package/dist/server/serve.d.ts.map +1 -1
  1585. package/dist/server/serve.js.map +1 -1
  1586. package/dist/server/transcript.d.ts.map +1 -1
  1587. package/dist/server/transcript.js.map +1 -1
  1588. package/dist/telegram/api.d.ts +6 -0
  1589. package/dist/telegram/api.d.ts.map +1 -1
  1590. package/dist/telegram/api.js.map +1 -1
  1591. package/dist/telegram/bridge.d.ts.map +1 -1
  1592. package/dist/telegram/bridge.js.map +1 -1
  1593. package/dist/telegram/journal.d.ts.map +1 -1
  1594. package/dist/telegram/journal.js.map +1 -1
  1595. package/dist/telegram/servidor.d.ts.map +1 -1
  1596. package/dist/telegram/servidor.js.map +1 -1
  1597. package/dist/utils/abort.d.ts.map +1 -1
  1598. package/dist/utils/abort.js.map +1 -1
  1599. package/dist/utils/ansi.d.ts.map +1 -1
  1600. package/dist/utils/ansi.js.map +1 -1
  1601. package/dist/utils/changelog.d.ts.map +1 -1
  1602. package/dist/utils/changelog.js.map +1 -1
  1603. package/dist/utils/child-process.d.ts.map +1 -1
  1604. package/dist/utils/child-process.js.map +1 -1
  1605. package/dist/utils/clipboard-image.d.ts.map +1 -1
  1606. package/dist/utils/clipboard-image.js.map +1 -1
  1607. package/dist/utils/clipboard-native.d.ts.map +1 -1
  1608. package/dist/utils/clipboard-native.js.map +1 -1
  1609. package/dist/utils/clipboard.d.ts.map +1 -1
  1610. package/dist/utils/clipboard.js.map +1 -1
  1611. package/dist/utils/deprecation.d.ts.map +1 -1
  1612. package/dist/utils/deprecation.js.map +1 -1
  1613. package/dist/utils/exif-orientation.d.ts.map +1 -1
  1614. package/dist/utils/exif-orientation.js.map +1 -1
  1615. package/dist/utils/frontmatter.d.ts.map +1 -1
  1616. package/dist/utils/frontmatter.js.map +1 -1
  1617. package/dist/utils/fs-watch.d.ts.map +1 -1
  1618. package/dist/utils/fs-watch.js.map +1 -1
  1619. package/dist/utils/git.d.ts.map +1 -1
  1620. package/dist/utils/git.js.map +1 -1
  1621. package/dist/utils/html.d.ts.map +1 -1
  1622. package/dist/utils/html.js.map +1 -1
  1623. package/dist/utils/image-convert.d.ts.map +1 -1
  1624. package/dist/utils/image-convert.js.map +1 -1
  1625. package/dist/utils/image-process.d.ts.map +1 -1
  1626. package/dist/utils/image-process.js.map +1 -1
  1627. package/dist/utils/image-resize-core.d.ts.map +1 -1
  1628. package/dist/utils/image-resize-core.js.map +1 -1
  1629. package/dist/utils/image-resize-worker.d.ts.map +1 -1
  1630. package/dist/utils/image-resize-worker.js.map +1 -1
  1631. package/dist/utils/image-resize.d.ts.map +1 -1
  1632. package/dist/utils/image-resize.js.map +1 -1
  1633. package/dist/utils/json.d.ts.map +1 -1
  1634. package/dist/utils/json.js.map +1 -1
  1635. package/dist/utils/management-http.d.ts.map +1 -1
  1636. package/dist/utils/management-http.js.map +1 -1
  1637. package/dist/utils/mime.d.ts.map +1 -1
  1638. package/dist/utils/mime.js.map +1 -1
  1639. package/dist/utils/open-browser.d.ts.map +1 -1
  1640. package/dist/utils/open-browser.js.map +1 -1
  1641. package/dist/utils/paths.d.ts.map +1 -1
  1642. package/dist/utils/paths.js.map +1 -1
  1643. package/dist/utils/photon.d.ts.map +1 -1
  1644. package/dist/utils/photon.js.map +1 -1
  1645. package/dist/utils/pi-user-agent.d.ts.map +1 -1
  1646. package/dist/utils/pi-user-agent.js.map +1 -1
  1647. package/dist/utils/shell.d.ts.map +1 -1
  1648. package/dist/utils/shell.js.map +1 -1
  1649. package/dist/utils/sleep.d.ts.map +1 -1
  1650. package/dist/utils/sleep.js.map +1 -1
  1651. package/dist/utils/syntax-highlight.d.ts.map +1 -1
  1652. package/dist/utils/syntax-highlight.js.map +1 -1
  1653. package/dist/utils/text.d.ts.map +1 -1
  1654. package/dist/utils/text.js.map +1 -1
  1655. package/dist/utils/tool-result-images.d.ts.map +1 -1
  1656. package/dist/utils/tool-result-images.js.map +1 -1
  1657. package/dist/utils/tools-manager.d.ts.map +1 -1
  1658. package/dist/utils/tools-manager.js.map +1 -1
  1659. package/dist/utils/version-check.d.ts.map +1 -1
  1660. package/dist/utils/version-check.js.map +1 -1
  1661. package/dist/utils/windows-self-update.d.ts.map +1 -1
  1662. package/dist/utils/windows-self-update.js.map +1 -1
  1663. package/docs/development-fork.md +170 -0
  1664. package/docs/docs.json +25 -0
  1665. package/docs/modules-infraestructura.md +115 -0
  1666. package/docs/modules-motor.md +160 -0
  1667. package/docs/modules-producto.md +179 -0
  1668. package/docs/modules-seguridad.md +158 -0
  1669. package/npm-shrinkwrap.json +2 -2
  1670. package/package.json +113 -113
  1671. package/dist/core/commit/diff.d.ts.map +0 -1
  1672. package/dist/core/commit/diff.js.map +0 -1
  1673. package/dist/core/commit/mensaje.d.ts +0 -80
  1674. package/dist/core/commit/mensaje.d.ts.map +0 -1
  1675. package/dist/core/commit/mensaje.js +0 -207
  1676. package/dist/core/commit/mensaje.js.map +0 -1
  1677. package/dist/core/computer/motor/platform/macos/helper-path.mjs +0 -34
  1678. package/dist/core/export-html/template.css +0 -1066
  1679. package/dist/core/export-html/template.html +0 -55
  1680. package/dist/core/export-html/template.js +0 -1864
  1681. package/dist/core/export-html/vendor/highlight.min.js +0 -1213
  1682. package/dist/core/export-html/vendor/marked.min.js +0 -78
  1683. package/dist/core/prompts/sistema.md +0 -134
  1684. package/dist/modes/interactive/assets/clankolas.png +0 -0
  1685. package/dist/modes/interactive/theme/dark.json +0 -90
  1686. package/dist/modes/interactive/theme/light.json +0 -89
  1687. package/dist/modes/interactive/theme/theme-schema.json +0 -352
  1688. package/dist/skills/ada-engine/SKILL.md +0 -153
  1689. package/dist/skills/skill-creator/SKILL.md +0 -90
  1690. /package/dist/core/{commit → commits}/diff.d.ts +0 -0
  1691. /package/dist/core/{commit → commits}/diff.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"sesion.js","sourceRoot":"","sources":["../../../src/core/interactivo/sesion.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Un proceso interactivo vivo, entre llamadas a tool.\n *\n * `bash` normal lanza y espera a que termine: una sola llamada, un solo\n * resultado. Aquí el proceso sobrevive a la llamada que lo lanzó, para que\n * una segunda llamada (`bash_enviar`) pueda escribirle más entrada — el\n * \"sí\" a la confirmación, la contraseña, el siguiente comando del REPL.\n *\n * Reutiliza el MISMO seguimiento de huérfanos que ya usa `bash` normal\n * (`trackDetachedChildPid` / `killTrackedDetachedChildren` en\n * `utils/shell.ts`), que los tres modos del CLI —print, interactive, rpc—\n * ya llaman al apagarse. No hace falta cablear un gancho de cierre nuevo:\n * una sesión viva entra en el mismo Set que un `bash` colgado, y muere con\n * él. Verificado en `sesion.test.ts` y con `ps` en el informe de la tarea.\n */\n\nimport { spawn } from \"node:child_process\";\nimport { randomUUID } from \"node:crypto\";\nimport {\n\tgetShellConfig,\n\tgetShellEnv,\n\tkillProcessTree,\n\ttrackDetachedChildPid,\n\tuntrackDetachedChildPid,\n} from \"../../utils/shell.ts\";\nimport { detectarEsperaEntrada } from \"./deteccion.ts\";\n\n/** Cuánta salida sin consumir se retiene por sesión. Un REPL ruidoso no debe reventar memoria. */\nconst MAX_PENDIENTE_BYTES = 200_000;\nconst AVISO_RECORTE = \"[…salida antigua descartada, sesión demasiado ruidosa…]\\n\";\n\ninterface SesionInteractiva {\n\tid: string;\n\tcomando: string;\n\tpid: number | undefined;\n\tproceso: import(\"node:child_process\").ChildProcessWithoutNullStreams;\n\t/** Lo que no se le ha devuelto todavía al agente. */\n\tpendiente: string;\n\tultimaActividad: number;\n\tvivo: boolean;\n\tcodigoSalida: number | null;\n}\n\nexport interface ResultadoSesion {\n\tid: string;\n\tcomando: string;\n\tsalida: string;\n\tesperando: boolean;\n\tmotivo: string | null;\n\tvivo: boolean;\n\tcodigoSalida: number | null;\n}\n\nconst sesiones = new Map<string, SesionInteractiva>();\n\nfunction normalizarChunk(buf: Buffer): string {\n\treturn buf.toString(\"utf8\").replace(/\\r\\n/gu, \"\\n\");\n}\n\nfunction acumular(s: SesionInteractiva, texto: string): void {\n\ts.pendiente += texto;\n\ts.ultimaActividad = Date.now();\n\tif (s.pendiente.length > MAX_PENDIENTE_BYTES) {\n\t\ts.pendiente = AVISO_RECORTE + s.pendiente.slice(-MAX_PENDIENTE_BYTES);\n\t}\n}\n\nfunction limpiar(s: SesionInteractiva): void {\n\tif (s.pid !== undefined) untrackDetachedChildPid(s.pid);\n}\n\n/**\n * Espera a que la sesión dé una señal (prompt detectado o proceso muerto) o\n * agote el tiempo. Sondea cada 80ms: es rápido de sobra frente a lo que\n * tarda un humano en leer un prompt, y no quema CPU con un intervalo menor.\n */\nasync function esperarSenal(\n\ts: SesionInteractiva,\n\ttimeoutMs: number,\n\tumbralInactividadMs: number,\n): Promise<ReturnType<typeof detectarEsperaEntrada>> {\n\tconst limite = Date.now() + timeoutMs;\n\tfor (;;) {\n\t\tconst estado = detectarEsperaEntrada({\n\t\t\tsalidaReciente: s.pendiente,\n\t\t\tmsDesdeUltimaSalida: Date.now() - s.ultimaActividad,\n\t\t\tvivo: s.vivo,\n\t\t\tumbralInactividadMs,\n\t\t});\n\t\tif (estado.esperando || !s.vivo || Date.now() >= limite) return estado;\n\t\tawait new Promise((resolve) => setTimeout(resolve, 80));\n\t}\n}\n\nfunction consumir(s: SesionInteractiva): string {\n\tconst salida = s.pendiente;\n\ts.pendiente = \"\";\n\treturn salida;\n}\n\nfunction aResultado(s: SesionInteractiva, estado: ReturnType<typeof detectarEsperaEntrada>): ResultadoSesion {\n\treturn {\n\t\tid: s.id,\n\t\tcomando: s.comando,\n\t\tsalida: consumir(s),\n\t\tesperando: estado.esperando,\n\t\tmotivo: estado.motivo,\n\t\tvivo: s.vivo,\n\t\tcodigoSalida: s.codigoSalida,\n\t};\n}\n\nexport interface OpcionesLanzar {\n\tcwd: string;\n\ttimeoutMs?: number;\n\tumbralInactividadMs?: number;\n\tshellPath?: string;\n}\n\n/** Lanza un proceso interactivo y espera hasta el primer prompt (o a que termine, o al timeout). */\nexport async function lanzarSesionInteractiva(comando: string, opciones: OpcionesLanzar): Promise<ResultadoSesion> {\n\tconst shellConfig = getShellConfig(opciones.shellPath);\n\tconst comandoDesdeStdin = shellConfig.commandTransport === \"stdin\";\n\tconst proceso = spawn(shellConfig.shell, comandoDesdeStdin ? shellConfig.args : [...shellConfig.args, comando], {\n\t\tcwd: opciones.cwd,\n\t\tdetached: process.platform !== \"win32\",\n\t\tenv: getShellEnv(),\n\t\tstdio: \"pipe\",\n\t\twindowsHide: true,\n\t});\n\n\tconst s: SesionInteractiva = {\n\t\tid: randomUUID(),\n\t\tcomando,\n\t\tpid: proceso.pid,\n\t\tproceso,\n\t\tpendiente: \"\",\n\t\tultimaActividad: Date.now(),\n\t\tvivo: true,\n\t\tcodigoSalida: null,\n\t};\n\tsesiones.set(s.id, s);\n\tif (proceso.pid) trackDetachedChildPid(proceso.pid);\n\n\tproceso.stdout.on(\"data\", (chunk: Buffer) => acumular(s, normalizarChunk(chunk)));\n\tproceso.stderr.on(\"data\", (chunk: Buffer) => acumular(s, normalizarChunk(chunk)));\n\tproceso.stdin.on(\"error\", () => {\n\t\t// Escribir tras la muerte del proceso no debe tirar la sesión abajo:\n\t\t// `bash_enviar` ya distingue \"sesión muerta\" por `vivo`.\n\t});\n\tproceso.on(\"exit\", (code) => {\n\t\ts.vivo = false;\n\t\ts.codigoSalida = code;\n\t\tlimpiar(s);\n\t});\n\n\t// El comando en sí es la primera \"entrada\": en modo `-s` (bash de WSL legacy)\n\t// se escribe por stdin en vez de pasar por argv, y el fd es el mismo tanto\n\t// para el resto del script como para lo que el propio comando pida leer\n\t// luego — es idéntico a teclearlo a mano.\n\tif (comandoDesdeStdin) {\n\t\tproceso.stdin.write(`${comando}\\n`);\n\t}\n\n\tconst estado = await esperarSenal(s, opciones.timeoutMs ?? 10_000, opciones.umbralInactividadMs ?? 1200);\n\treturn aResultado(s, estado);\n}\n\nexport interface OpcionesEnviar {\n\ttimeoutMs?: number;\n\tumbralInactividadMs?: number;\n}\n\n/**\n * Manda una línea a una sesión viva y espera la siguiente señal.\n *\n * `null` cuando la sesión no existe: NO es lo mismo que una sesión que\n * existe pero no tiene nada nuevo que decir (eso es `salida: \"\"`).\n */\nexport async function enviarASesion(\n\tid: string,\n\ttexto: string,\n\topciones: OpcionesEnviar = {},\n): Promise<ResultadoSesion | null> {\n\tconst s = sesiones.get(id);\n\tif (!s) return null;\n\tif (!s.vivo) return aResultado(s, { esperando: false, motivo: null });\n\n\ts.proceso.stdin.write(`${texto}\\n`);\n\tconst estado = await esperarSenal(s, opciones.timeoutMs ?? 10_000, opciones.umbralInactividadMs ?? 1200);\n\treturn aResultado(s, estado);\n}\n\n/** `null` si la sesión no existe; `true`/`false` según si había algo vivo que matar. */\nexport function cerrarSesion(id: string): boolean | null {\n\tconst s = sesiones.get(id);\n\tif (!s) return null;\n\tconst estabaViva = s.vivo;\n\tif (s.pid !== undefined) killProcessTree(s.pid);\n\ts.vivo = false;\n\tlimpiar(s);\n\tsesiones.delete(id);\n\treturn estabaViva;\n}\n\n/** Para pruebas y para el apagado del CLI: no debe sobrevivir ninguna. */\nexport function cerrarTodasLasSesiones(): void {\n\tfor (const id of [...sesiones.keys()]) cerrarSesion(id);\n}\n\n/** Solo para pruebas: cuántas sesiones quedan registradas. */\nexport function contarSesiones(): number {\n\treturn sesiones.size;\n}\n"]}
1
+ {"version":3,"file":"sesion.js","sourceRoot":"","sources":["../../../src/core/interactivo/sesion.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/core/interactivo/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAmB,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAkC9E,eAAO,MAAM,yBAAyB,6DAA8D,CAAC;AAErG,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CA8E/F","sourcesContent":["/**\n * Tools de bash interactivo: `bash_interactivo`, `bash_enviar`, `bash_cerrar`.\n *\n * `bash` normal se queda colgado ante un comando que pregunta algo — una\n * confirmación, una contraseña, un REPL— hasta que salta el timeout, y el\n * agente lo lee como \"el comando no responde\". Estas tres tools abren un\n * proceso que sobrevive entre llamadas: `bash_interactivo` lo lanza y\n * devuelve lo que haya hasta el primer prompt (o hasta que termine, o hasta\n * el timeout); `bash_enviar` le manda una línea más; `bash_cerrar` lo mata.\n *\n * Ninguna de las tres está en `LECTURA` ni `ESCRITURA` en\n * `aprobacion/politica.ts`, así que `nivelDe()` las clasifica como\n * `ejecucion` por su regla de \"lo desconocido cuenta como ejecución\" — la\n * misma puerta que ya pasa `bash`, sin tocar ese fichero.\n */\n\nimport { Type } from \"typebox\";\nimport type { AgentToolResult, ToolDefinition } from \"../extensions/types.ts\";\nimport { cerrarSesion, enviarASesion, lanzarSesionInteractiva, type ResultadoSesion } from \"./sesion.ts\";\n\nconst GUIA = [\n\t\"Para un comando normal que termina solo, usa bash. Usa bash_interactivo solo cuando esperes que el comando pregunte algo: una confirmación, una contraseña, un REPL.\",\n\t\"bash_interactivo devuelve un id de sesión. Si sigue vivo, respóndele con bash_enviar pasando ese id y una línea de texto (puede ser vacía, para solo esperar más).\",\n\t\"Cierra la sesión con bash_cerrar en cuanto termines con ella: una sesión olvidada sigue consumiendo un proceso real.\",\n];\n\nfunction texto(t: string): AgentToolResult<unknown> {\n\treturn { content: [{ type: \"text\" as const, text: t }], details: undefined };\n}\n\nfunction fallo(error: unknown): AgentToolResult<unknown> {\n\treturn texto(`Error: ${error instanceof Error ? error.message : String(error)}`);\n}\n\n/** Frase de estado + qué hacer a continuación, para que el modelo no tenga que adivinar. */\nfunction narrarEstado(r: ResultadoSesion): string {\n\tif (!r.vivo) return `[sesión ${r.id}] terminó con código ${r.codigoSalida ?? \"desconocido\"}.`;\n\tif (r.esperando) {\n\t\treturn `[sesión ${r.id}] esperando entrada (${r.motivo}). Responde con bash_enviar (session=\"${r.id}\") o mátala con bash_cerrar.`;\n\t}\n\treturn `[sesión ${r.id}] sigue en marcha, sin señal reconocible de que esté esperando algo todavía. Puedes esperar más con bash_enviar (session=\"${r.id}\", texto=\"\") o cerrarla con bash_cerrar.`;\n}\n\nfunction conSalida(r: ResultadoSesion): string {\n\treturn `${narrarEstado(r)}\\n\\n${r.salida || \"(sin salida nueva)\"}`;\n}\n\nfunction segundosAMs(segundos: number | undefined): number | undefined {\n\treturn segundos === undefined ? undefined : segundos * 1000;\n}\n\nexport const NOMBRES_INTERACTIVO_TOOLS = [\"bash_interactivo\", \"bash_enviar\", \"bash_cerrar\"] as const;\n\nexport function crearInteractivoTools(opciones: { cwd: string }): Record<string, ToolDefinition> {\n\tconst lanzar: ToolDefinition<ReturnType<typeof Type.Object>> = {\n\t\tname: \"bash_interactivo\",\n\t\tlabel: \"Bash interactivo\",\n\t\tdescription:\n\t\t\t\"Lanza un comando de shell que puede pedir entrada (confirmación, contraseña, REPL) y devuelve \" +\n\t\t\t\"lo que haya escrito hasta el primer prompt reconocido, hasta que termine, o hasta el timeout. \" +\n\t\t\t\"El proceso queda vivo entre llamadas: sigue con bash_enviar.\",\n\t\tpromptSnippet: \"ejecutar un comando que puede preguntar algo y seguir hablando con él\",\n\t\tpromptGuidelines: GUIA,\n\t\tparameters: Type.Object({\n\t\t\tcommand: Type.String({ description: \"Comando de shell a ejecutar\" }),\n\t\t\ttimeout: Type.Optional(\n\t\t\t\tType.Number({\n\t\t\t\t\tdescription: \"Segundos a esperar por un prompt antes de devolver el control (por defecto 10)\",\n\t\t\t\t}),\n\t\t\t),\n\t\t}),\n\t\tasync execute(_id, input): Promise<AgentToolResult<unknown>> {\n\t\t\tconst comando = String(input.command ?? \"\").trim();\n\t\t\tif (!comando) return texto(\"Falta el comando.\");\n\t\t\ttry {\n\t\t\t\tconst r = await lanzarSesionInteractiva(comando, {\n\t\t\t\t\tcwd: opciones.cwd,\n\t\t\t\t\ttimeoutMs: segundosAMs(input.timeout as number | undefined),\n\t\t\t\t});\n\t\t\t\treturn texto(conSalida(r));\n\t\t\t} catch (error) {\n\t\t\t\treturn fallo(error);\n\t\t\t}\n\t\t},\n\t};\n\n\tconst enviar: ToolDefinition<ReturnType<typeof Type.Object>> = {\n\t\tname: \"bash_enviar\",\n\t\tlabel: \"Enviar a sesión interactiva\",\n\t\tdescription:\n\t\t\t\"Manda una línea de texto a una sesión abierta con bash_interactivo (por ejemplo la respuesta a una \" +\n\t\t\t\"confirmación o una contraseña) y espera la siguiente señal: otro prompt, más salida, o que termine.\",\n\t\tpromptSnippet: \"responder a una sesión de bash interactivo abierta\",\n\t\tpromptGuidelines: GUIA,\n\t\tparameters: Type.Object({\n\t\t\tsession: Type.String({ description: \"El id de sesión que devolvió bash_interactivo\" }),\n\t\t\ttexto: Type.String({ description: \"Línea a enviar (se añade un salto de línea). Puede ser vacía.\" }),\n\t\t\ttimeout: Type.Optional(Type.Number({ description: \"Segundos a esperar la siguiente señal (por defecto 10)\" })),\n\t\t}),\n\t\tasync execute(_id, input): Promise<AgentToolResult<unknown>> {\n\t\t\tconst id = String(input.session ?? \"\");\n\t\t\ttry {\n\t\t\t\tconst r = await enviarASesion(id, String(input.texto ?? \"\"), {\n\t\t\t\t\ttimeoutMs: segundosAMs(input.timeout as number | undefined),\n\t\t\t\t});\n\t\t\t\tif (r === null) return texto(`No hay ninguna sesión interactiva abierta con id \"${id}\".`);\n\t\t\t\treturn texto(conSalida(r));\n\t\t\t} catch (error) {\n\t\t\t\treturn fallo(error);\n\t\t\t}\n\t\t},\n\t};\n\n\tconst cerrar: ToolDefinition<ReturnType<typeof Type.Object>> = {\n\t\tname: \"bash_cerrar\",\n\t\tlabel: \"Cerrar sesión interactiva\",\n\t\tdescription: \"Mata una sesión abierta con bash_interactivo y libera el proceso.\",\n\t\tpromptSnippet: \"cerrar una sesión de bash interactivo abierta\",\n\t\tpromptGuidelines: GUIA,\n\t\tparameters: Type.Object({\n\t\t\tsession: Type.String({ description: \"El id de sesión a cerrar\" }),\n\t\t}),\n\t\tasync execute(_id, input): Promise<AgentToolResult<unknown>> {\n\t\t\tconst id = String(input.session ?? \"\");\n\t\t\tconst habiaAlgoVivo = cerrarSesion(id);\n\t\t\tif (habiaAlgoVivo === null) return texto(`No hay ninguna sesión interactiva abierta con id \"${id}\".`);\n\t\t\treturn texto(habiaAlgoVivo ? `Sesión ${id} cerrada.` : `La sesión ${id} ya había terminado; limpiada.`);\n\t\t},\n\t};\n\n\treturn { bash_interactivo: lanzar, bash_enviar: enviar, bash_cerrar: cerrar };\n}\n"]}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/core/interactivo/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAmB,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAkC9E,eAAO,MAAM,yBAAyB,6DAA8D,CAAC;AAErG,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CA8E/F"}
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/core/interactivo/tools.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Tools de bash interactivo: `bash_interactivo`, `bash_enviar`, `bash_cerrar`.\n *\n * `bash` normal se queda colgado ante un comando que pregunta algo — una\n * confirmación, una contraseña, un REPL— hasta que salta el timeout, y el\n * agente lo lee como \"el comando no responde\". Estas tres tools abren un\n * proceso que sobrevive entre llamadas: `bash_interactivo` lo lanza y\n * devuelve lo que haya hasta el primer prompt (o hasta que termine, o hasta\n * el timeout); `bash_enviar` le manda una línea más; `bash_cerrar` lo mata.\n *\n * Ninguna de las tres está en `LECTURA` ni `ESCRITURA` en\n * `aprobacion/politica.ts`, así que `nivelDe()` las clasifica como\n * `ejecucion` por su regla de \"lo desconocido cuenta como ejecución\" — la\n * misma puerta que ya pasa `bash`, sin tocar ese fichero.\n */\n\nimport { Type } from \"typebox\";\nimport type { AgentToolResult, ToolDefinition } from \"../extensions/types.ts\";\nimport { cerrarSesion, enviarASesion, lanzarSesionInteractiva, type ResultadoSesion } from \"./sesion.ts\";\n\nconst GUIA = [\n\t\"Para un comando normal que termina solo, usa bash. Usa bash_interactivo solo cuando esperes que el comando pregunte algo: una confirmación, una contraseña, un REPL.\",\n\t\"bash_interactivo devuelve un id de sesión. Si sigue vivo, respóndele con bash_enviar pasando ese id y una línea de texto (puede ser vacía, para solo esperar más).\",\n\t\"Cierra la sesión con bash_cerrar en cuanto termines con ella: una sesión olvidada sigue consumiendo un proceso real.\",\n];\n\nfunction texto(t: string): AgentToolResult<unknown> {\n\treturn { content: [{ type: \"text\" as const, text: t }], details: undefined };\n}\n\nfunction fallo(error: unknown): AgentToolResult<unknown> {\n\treturn texto(`Error: ${error instanceof Error ? error.message : String(error)}`);\n}\n\n/** Frase de estado + qué hacer a continuación, para que el modelo no tenga que adivinar. */\nfunction narrarEstado(r: ResultadoSesion): string {\n\tif (!r.vivo) return `[sesión ${r.id}] terminó con código ${r.codigoSalida ?? \"desconocido\"}.`;\n\tif (r.esperando) {\n\t\treturn `[sesión ${r.id}] esperando entrada (${r.motivo}). Responde con bash_enviar (session=\"${r.id}\") o mátala con bash_cerrar.`;\n\t}\n\treturn `[sesión ${r.id}] sigue en marcha, sin señal reconocible de que esté esperando algo todavía. Puedes esperar más con bash_enviar (session=\"${r.id}\", texto=\"\") o cerrarla con bash_cerrar.`;\n}\n\nfunction conSalida(r: ResultadoSesion): string {\n\treturn `${narrarEstado(r)}\\n\\n${r.salida || \"(sin salida nueva)\"}`;\n}\n\nfunction segundosAMs(segundos: number | undefined): number | undefined {\n\treturn segundos === undefined ? undefined : segundos * 1000;\n}\n\nexport const NOMBRES_INTERACTIVO_TOOLS = [\"bash_interactivo\", \"bash_enviar\", \"bash_cerrar\"] as const;\n\nexport function crearInteractivoTools(opciones: { cwd: string }): Record<string, ToolDefinition> {\n\tconst lanzar: ToolDefinition<ReturnType<typeof Type.Object>> = {\n\t\tname: \"bash_interactivo\",\n\t\tlabel: \"Bash interactivo\",\n\t\tdescription:\n\t\t\t\"Lanza un comando de shell que puede pedir entrada (confirmación, contraseña, REPL) y devuelve \" +\n\t\t\t\"lo que haya escrito hasta el primer prompt reconocido, hasta que termine, o hasta el timeout. \" +\n\t\t\t\"El proceso queda vivo entre llamadas: sigue con bash_enviar.\",\n\t\tpromptSnippet: \"ejecutar un comando que puede preguntar algo y seguir hablando con él\",\n\t\tpromptGuidelines: GUIA,\n\t\tparameters: Type.Object({\n\t\t\tcommand: Type.String({ description: \"Comando de shell a ejecutar\" }),\n\t\t\ttimeout: Type.Optional(\n\t\t\t\tType.Number({\n\t\t\t\t\tdescription: \"Segundos a esperar por un prompt antes de devolver el control (por defecto 10)\",\n\t\t\t\t}),\n\t\t\t),\n\t\t}),\n\t\tasync execute(_id, input): Promise<AgentToolResult<unknown>> {\n\t\t\tconst comando = String(input.command ?? \"\").trim();\n\t\t\tif (!comando) return texto(\"Falta el comando.\");\n\t\t\ttry {\n\t\t\t\tconst r = await lanzarSesionInteractiva(comando, {\n\t\t\t\t\tcwd: opciones.cwd,\n\t\t\t\t\ttimeoutMs: segundosAMs(input.timeout as number | undefined),\n\t\t\t\t});\n\t\t\t\treturn texto(conSalida(r));\n\t\t\t} catch (error) {\n\t\t\t\treturn fallo(error);\n\t\t\t}\n\t\t},\n\t};\n\n\tconst enviar: ToolDefinition<ReturnType<typeof Type.Object>> = {\n\t\tname: \"bash_enviar\",\n\t\tlabel: \"Enviar a sesión interactiva\",\n\t\tdescription:\n\t\t\t\"Manda una línea de texto a una sesión abierta con bash_interactivo (por ejemplo la respuesta a una \" +\n\t\t\t\"confirmación o una contraseña) y espera la siguiente señal: otro prompt, más salida, o que termine.\",\n\t\tpromptSnippet: \"responder a una sesión de bash interactivo abierta\",\n\t\tpromptGuidelines: GUIA,\n\t\tparameters: Type.Object({\n\t\t\tsession: Type.String({ description: \"El id de sesión que devolvió bash_interactivo\" }),\n\t\t\ttexto: Type.String({ description: \"Línea a enviar (se añade un salto de línea). Puede ser vacía.\" }),\n\t\t\ttimeout: Type.Optional(Type.Number({ description: \"Segundos a esperar la siguiente señal (por defecto 10)\" })),\n\t\t}),\n\t\tasync execute(_id, input): Promise<AgentToolResult<unknown>> {\n\t\t\tconst id = String(input.session ?? \"\");\n\t\t\ttry {\n\t\t\t\tconst r = await enviarASesion(id, String(input.texto ?? \"\"), {\n\t\t\t\t\ttimeoutMs: segundosAMs(input.timeout as number | undefined),\n\t\t\t\t});\n\t\t\t\tif (r === null) return texto(`No hay ninguna sesión interactiva abierta con id \"${id}\".`);\n\t\t\t\treturn texto(conSalida(r));\n\t\t\t} catch (error) {\n\t\t\t\treturn fallo(error);\n\t\t\t}\n\t\t},\n\t};\n\n\tconst cerrar: ToolDefinition<ReturnType<typeof Type.Object>> = {\n\t\tname: \"bash_cerrar\",\n\t\tlabel: \"Cerrar sesión interactiva\",\n\t\tdescription: \"Mata una sesión abierta con bash_interactivo y libera el proceso.\",\n\t\tpromptSnippet: \"cerrar una sesión de bash interactivo abierta\",\n\t\tpromptGuidelines: GUIA,\n\t\tparameters: Type.Object({\n\t\t\tsession: Type.String({ description: \"El id de sesión a cerrar\" }),\n\t\t}),\n\t\tasync execute(_id, input): Promise<AgentToolResult<unknown>> {\n\t\t\tconst id = String(input.session ?? \"\");\n\t\t\tconst habiaAlgoVivo = cerrarSesion(id);\n\t\t\tif (habiaAlgoVivo === null) return texto(`No hay ninguna sesión interactiva abierta con id \"${id}\".`);\n\t\t\treturn texto(habiaAlgoVivo ? `Sesión ${id} cerrada.` : `La sesión ${id} ya había terminado; limpiada.`);\n\t\t},\n\t};\n\n\treturn { bash_interactivo: lanzar, bash_enviar: enviar, bash_cerrar: cerrar };\n}\n"]}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/core/interactivo/tools.ts"],"names":[],"mappings":"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"}
@@ -49,6 +49,174 @@ declare module "@earendil-works/pi-tui" {
49
49
  }
50
50
  }
51
51
  export declare const KEYBINDINGS: {
52
+ readonly "app.interrupt": {
53
+ readonly defaultKeys: "escape";
54
+ readonly description: "Cancel or abort";
55
+ };
56
+ readonly "app.clear": {
57
+ readonly defaultKeys: "ctrl+c";
58
+ readonly description: "Clear editor";
59
+ };
60
+ readonly "app.exit": {
61
+ readonly defaultKeys: "ctrl+d";
62
+ readonly description: "Exit when editor is empty";
63
+ };
64
+ readonly "app.suspend": {
65
+ readonly defaultKeys: never[] | "ctrl+z";
66
+ readonly description: "Suspend to background";
67
+ };
68
+ readonly "app.thinking.cycle": {
69
+ readonly defaultKeys: "shift+tab";
70
+ readonly description: "Cycle thinking level";
71
+ };
72
+ readonly "app.model.cycleForward": {
73
+ readonly defaultKeys: "ctrl+p";
74
+ readonly description: "Cycle to next model";
75
+ };
76
+ readonly "app.model.cycleBackward": {
77
+ readonly defaultKeys: "shift+ctrl+p";
78
+ readonly description: "Cycle to previous model";
79
+ };
80
+ readonly "app.model.select": {
81
+ readonly defaultKeys: "ctrl+l";
82
+ readonly description: "Open model selector";
83
+ };
84
+ readonly "app.tools.expand": {
85
+ readonly defaultKeys: "ctrl+o";
86
+ readonly description: "Toggle tool output";
87
+ };
88
+ readonly "app.thinking.toggle": {
89
+ readonly defaultKeys: "ctrl+t";
90
+ readonly description: "Toggle thinking blocks";
91
+ };
92
+ readonly "app.session.toggleNamedFilter": {
93
+ readonly defaultKeys: "ctrl+n";
94
+ readonly description: "Toggle named session filter";
95
+ };
96
+ readonly "app.editor.external": {
97
+ readonly defaultKeys: "ctrl+g";
98
+ readonly description: "Open external editor";
99
+ };
100
+ readonly "app.message.copy": {
101
+ readonly defaultKeys: "ctrl+x";
102
+ readonly description: "Copy message to clipboard";
103
+ };
104
+ readonly "app.message.followUp": {
105
+ readonly defaultKeys: "alt+enter";
106
+ readonly description: "Queue follow-up message";
107
+ };
108
+ readonly "app.message.dequeue": {
109
+ readonly defaultKeys: "alt+up";
110
+ readonly description: "Restore queued messages";
111
+ };
112
+ readonly "app.clipboard.pasteImage": {
113
+ readonly defaultKeys: "alt+v" | "ctrl+v";
114
+ readonly description: "Paste image from clipboard (text fallback)";
115
+ };
116
+ readonly "app.session.new": {
117
+ readonly defaultKeys: [];
118
+ readonly description: "Start a new session";
119
+ };
120
+ readonly "app.session.tree": {
121
+ readonly defaultKeys: [];
122
+ readonly description: "Open session tree";
123
+ };
124
+ readonly "app.session.fork": {
125
+ readonly defaultKeys: [];
126
+ readonly description: "Fork current session";
127
+ };
128
+ readonly "app.session.resume": {
129
+ readonly defaultKeys: [];
130
+ readonly description: "Resume a session";
131
+ };
132
+ readonly "app.tree.foldOrUp": {
133
+ readonly defaultKeys: ("alt+left" | "ctrl+left")[];
134
+ readonly description: "Fold tree branch or move up";
135
+ };
136
+ readonly "app.tree.unfoldOrDown": {
137
+ readonly defaultKeys: ("alt+right" | "ctrl+right")[];
138
+ readonly description: "Unfold tree branch or move down";
139
+ };
140
+ readonly "app.tree.editLabel": {
141
+ readonly defaultKeys: "shift+l";
142
+ readonly description: "Edit tree label";
143
+ };
144
+ readonly "app.tree.toggleLabelTimestamp": {
145
+ readonly defaultKeys: "shift+t";
146
+ readonly description: "Toggle tree label timestamps";
147
+ };
148
+ readonly "app.session.togglePath": {
149
+ readonly defaultKeys: "ctrl+p";
150
+ readonly description: "Toggle session path display";
151
+ };
152
+ readonly "app.session.toggleSort": {
153
+ readonly defaultKeys: "ctrl+s";
154
+ readonly description: "Toggle session sort mode";
155
+ };
156
+ readonly "app.session.rename": {
157
+ readonly defaultKeys: "ctrl+r";
158
+ readonly description: "Rename session";
159
+ };
160
+ readonly "app.session.delete": {
161
+ readonly defaultKeys: "ctrl+d";
162
+ readonly description: "Delete session";
163
+ };
164
+ readonly "app.session.deleteNoninvasive": {
165
+ readonly defaultKeys: "ctrl+backspace";
166
+ readonly description: "Delete session when query is empty";
167
+ };
168
+ readonly "app.models.save": {
169
+ readonly defaultKeys: "ctrl+s";
170
+ readonly description: "Save model selection";
171
+ };
172
+ readonly "app.models.enableAll": {
173
+ readonly defaultKeys: "ctrl+a";
174
+ readonly description: "Enable all models";
175
+ };
176
+ readonly "app.models.clearAll": {
177
+ readonly defaultKeys: "ctrl+x";
178
+ readonly description: "Clear all models";
179
+ };
180
+ readonly "app.models.toggleProvider": {
181
+ readonly defaultKeys: "ctrl+p";
182
+ readonly description: "Toggle all models for provider";
183
+ };
184
+ readonly "app.models.reorderUp": {
185
+ readonly defaultKeys: "alt+up";
186
+ readonly description: "Move model up in order";
187
+ };
188
+ readonly "app.models.reorderDown": {
189
+ readonly defaultKeys: "alt+down";
190
+ readonly description: "Move model down in order";
191
+ };
192
+ readonly "app.tree.filter.default": {
193
+ readonly defaultKeys: "ctrl+d";
194
+ readonly description: "Tree filter: default view";
195
+ };
196
+ readonly "app.tree.filter.noTools": {
197
+ readonly defaultKeys: "ctrl+t";
198
+ readonly description: "Tree filter: hide tool results";
199
+ };
200
+ readonly "app.tree.filter.userOnly": {
201
+ readonly defaultKeys: "ctrl+u";
202
+ readonly description: "Tree filter: user messages only";
203
+ };
204
+ readonly "app.tree.filter.labeledOnly": {
205
+ readonly defaultKeys: "ctrl+l";
206
+ readonly description: "Tree filter: labeled entries only";
207
+ };
208
+ readonly "app.tree.filter.all": {
209
+ readonly defaultKeys: "ctrl+a";
210
+ readonly description: "Tree filter: show all entries";
211
+ };
212
+ readonly "app.tree.filter.cycleForward": {
213
+ readonly defaultKeys: "ctrl+o";
214
+ readonly description: "Tree filter: cycle forward";
215
+ };
216
+ readonly "app.tree.filter.cycleBackward": {
217
+ readonly defaultKeys: "shift+ctrl+o";
218
+ readonly description: "Tree filter: cycle backward";
219
+ };
52
220
  readonly "tui.editor.cursorUp": {
53
221
  readonly defaultKeys: "up";
54
222
  readonly description: "Move cursor up";
@@ -206,11 +374,11 @@ export declare const KEYBINDINGS: {
206
374
  readonly description: "Scroll viewport down one line";
207
375
  };
208
376
  readonly "tui.altScreen.previousPrompt": {
209
- readonly defaultKeys: "ctrl+shift+up";
377
+ readonly defaultKeys: ["ctrl+shift+up", "ctrl+up"];
210
378
  readonly description: "Jump to previous semantic prompt";
211
379
  };
212
380
  readonly "tui.altScreen.nextPrompt": {
213
- readonly defaultKeys: "ctrl+shift+down";
381
+ readonly defaultKeys: ["ctrl+shift+down", "ctrl+down"];
214
382
  readonly description: "Jump to next semantic prompt";
215
383
  };
216
384
  readonly "tui.altScreen.search": {
@@ -237,174 +405,6 @@ export declare const KEYBINDINGS: {
237
405
  readonly defaultKeys: "end";
238
406
  readonly description: "Scroll viewport to bottom";
239
407
  };
240
- readonly "app.interrupt": {
241
- readonly defaultKeys: "escape";
242
- readonly description: "Cancel or abort";
243
- };
244
- readonly "app.clear": {
245
- readonly defaultKeys: "ctrl+c";
246
- readonly description: "Clear editor";
247
- };
248
- readonly "app.exit": {
249
- readonly defaultKeys: "ctrl+d";
250
- readonly description: "Exit when editor is empty";
251
- };
252
- readonly "app.suspend": {
253
- readonly defaultKeys: "ctrl+z" | never[];
254
- readonly description: "Suspend to background";
255
- };
256
- readonly "app.thinking.cycle": {
257
- readonly defaultKeys: "shift+tab";
258
- readonly description: "Cycle thinking level";
259
- };
260
- readonly "app.model.cycleForward": {
261
- readonly defaultKeys: "ctrl+p";
262
- readonly description: "Cycle to next model";
263
- };
264
- readonly "app.model.cycleBackward": {
265
- readonly defaultKeys: "shift+ctrl+p";
266
- readonly description: "Cycle to previous model";
267
- };
268
- readonly "app.model.select": {
269
- readonly defaultKeys: "ctrl+l";
270
- readonly description: "Open model selector";
271
- };
272
- readonly "app.tools.expand": {
273
- readonly defaultKeys: "ctrl+o";
274
- readonly description: "Toggle tool output";
275
- };
276
- readonly "app.thinking.toggle": {
277
- readonly defaultKeys: "ctrl+t";
278
- readonly description: "Toggle thinking blocks";
279
- };
280
- readonly "app.session.toggleNamedFilter": {
281
- readonly defaultKeys: "ctrl+n";
282
- readonly description: "Toggle named session filter";
283
- };
284
- readonly "app.editor.external": {
285
- readonly defaultKeys: "ctrl+g";
286
- readonly description: "Open external editor";
287
- };
288
- readonly "app.message.copy": {
289
- readonly defaultKeys: "ctrl+x";
290
- readonly description: "Copy message to clipboard";
291
- };
292
- readonly "app.message.followUp": {
293
- readonly defaultKeys: "alt+enter";
294
- readonly description: "Queue follow-up message";
295
- };
296
- readonly "app.message.dequeue": {
297
- readonly defaultKeys: "alt+up";
298
- readonly description: "Restore queued messages";
299
- };
300
- readonly "app.clipboard.pasteImage": {
301
- readonly defaultKeys: "alt+v" | "ctrl+v";
302
- readonly description: "Paste image from clipboard (text fallback)";
303
- };
304
- readonly "app.session.new": {
305
- readonly defaultKeys: [];
306
- readonly description: "Start a new session";
307
- };
308
- readonly "app.session.tree": {
309
- readonly defaultKeys: [];
310
- readonly description: "Open session tree";
311
- };
312
- readonly "app.session.fork": {
313
- readonly defaultKeys: [];
314
- readonly description: "Fork current session";
315
- };
316
- readonly "app.session.resume": {
317
- readonly defaultKeys: [];
318
- readonly description: "Resume a session";
319
- };
320
- readonly "app.tree.foldOrUp": {
321
- readonly defaultKeys: ("alt+left" | "ctrl+left")[];
322
- readonly description: "Fold tree branch or move up";
323
- };
324
- readonly "app.tree.unfoldOrDown": {
325
- readonly defaultKeys: ("alt+right" | "ctrl+right")[];
326
- readonly description: "Unfold tree branch or move down";
327
- };
328
- readonly "app.tree.editLabel": {
329
- readonly defaultKeys: "shift+l";
330
- readonly description: "Edit tree label";
331
- };
332
- readonly "app.tree.toggleLabelTimestamp": {
333
- readonly defaultKeys: "shift+t";
334
- readonly description: "Toggle tree label timestamps";
335
- };
336
- readonly "app.session.togglePath": {
337
- readonly defaultKeys: "ctrl+p";
338
- readonly description: "Toggle session path display";
339
- };
340
- readonly "app.session.toggleSort": {
341
- readonly defaultKeys: "ctrl+s";
342
- readonly description: "Toggle session sort mode";
343
- };
344
- readonly "app.session.rename": {
345
- readonly defaultKeys: "ctrl+r";
346
- readonly description: "Rename session";
347
- };
348
- readonly "app.session.delete": {
349
- readonly defaultKeys: "ctrl+d";
350
- readonly description: "Delete session";
351
- };
352
- readonly "app.session.deleteNoninvasive": {
353
- readonly defaultKeys: "ctrl+backspace";
354
- readonly description: "Delete session when query is empty";
355
- };
356
- readonly "app.models.save": {
357
- readonly defaultKeys: "ctrl+s";
358
- readonly description: "Save model selection";
359
- };
360
- readonly "app.models.enableAll": {
361
- readonly defaultKeys: "ctrl+a";
362
- readonly description: "Enable all models";
363
- };
364
- readonly "app.models.clearAll": {
365
- readonly defaultKeys: "ctrl+x";
366
- readonly description: "Clear all models";
367
- };
368
- readonly "app.models.toggleProvider": {
369
- readonly defaultKeys: "ctrl+p";
370
- readonly description: "Toggle all models for provider";
371
- };
372
- readonly "app.models.reorderUp": {
373
- readonly defaultKeys: "alt+up";
374
- readonly description: "Move model up in order";
375
- };
376
- readonly "app.models.reorderDown": {
377
- readonly defaultKeys: "alt+down";
378
- readonly description: "Move model down in order";
379
- };
380
- readonly "app.tree.filter.default": {
381
- readonly defaultKeys: "ctrl+d";
382
- readonly description: "Tree filter: default view";
383
- };
384
- readonly "app.tree.filter.noTools": {
385
- readonly defaultKeys: "ctrl+t";
386
- readonly description: "Tree filter: hide tool results";
387
- };
388
- readonly "app.tree.filter.userOnly": {
389
- readonly defaultKeys: "ctrl+u";
390
- readonly description: "Tree filter: user messages only";
391
- };
392
- readonly "app.tree.filter.labeledOnly": {
393
- readonly defaultKeys: "ctrl+l";
394
- readonly description: "Tree filter: labeled entries only";
395
- };
396
- readonly "app.tree.filter.all": {
397
- readonly defaultKeys: "ctrl+a";
398
- readonly description: "Tree filter: show all entries";
399
- };
400
- readonly "app.tree.filter.cycleForward": {
401
- readonly defaultKeys: "ctrl+o";
402
- readonly description: "Tree filter: cycle forward";
403
- };
404
- readonly "app.tree.filter.cycleBackward": {
405
- readonly defaultKeys: "shift+ctrl+o";
406
- readonly description: "Tree filter: cycle backward";
407
- };
408
408
  };
409
409
  export declare function migrateKeybindingsConfig(rawConfig: Record<string, unknown>): {
410
410
  config: Record<string, unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"keybindings.d.ts","sourceRoot":"","sources":["../../src/core/keybindings.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n\ttype Keybinding,\n\ttype KeybindingDefinitions,\n\ttype KeybindingsConfig,\n\ttype KeyId,\n\tTUI_KEYBINDINGS,\n\tKeybindingsManager as TuiKeybindingsManager,\n} from \"@earendil-works/pi-tui\";\nimport { existsSync, readFileSync } from \"fs\";\nimport { join } from \"path\";\nimport { getAgentDir } from \"../config.ts\";\nimport { stripBom } from \"../utils/text.ts\";\n\nexport interface AppKeybindings {\n\t\"app.interrupt\": true;\n\t\"app.clear\": true;\n\t\"app.exit\": true;\n\t\"app.suspend\": true;\n\t\"app.thinking.cycle\": true;\n\t\"app.model.cycleForward\": true;\n\t\"app.model.cycleBackward\": true;\n\t\"app.model.select\": true;\n\t\"app.tools.expand\": true;\n\t\"app.thinking.toggle\": true;\n\t\"app.session.toggleNamedFilter\": true;\n\t\"app.editor.external\": true;\n\t\"app.message.copy\": true;\n\t\"app.message.followUp\": true;\n\t\"app.message.dequeue\": true;\n\t\"app.clipboard.pasteImage\": true;\n\t\"app.session.new\": true;\n\t\"app.session.tree\": true;\n\t\"app.session.fork\": true;\n\t\"app.session.resume\": true;\n\t\"app.tree.foldOrUp\": true;\n\t\"app.tree.unfoldOrDown\": true;\n\t\"app.tree.editLabel\": true;\n\t\"app.tree.toggleLabelTimestamp\": true;\n\t\"app.session.togglePath\": true;\n\t\"app.session.toggleSort\": true;\n\t\"app.session.rename\": true;\n\t\"app.session.delete\": true;\n\t\"app.session.deleteNoninvasive\": true;\n\t\"app.models.save\": true;\n\t\"app.models.enableAll\": true;\n\t\"app.models.clearAll\": true;\n\t\"app.models.toggleProvider\": true;\n\t\"app.models.reorderUp\": true;\n\t\"app.models.reorderDown\": true;\n\t\"app.tree.filter.default\": true;\n\t\"app.tree.filter.noTools\": true;\n\t\"app.tree.filter.userOnly\": true;\n\t\"app.tree.filter.labeledOnly\": true;\n\t\"app.tree.filter.all\": true;\n\t\"app.tree.filter.cycleForward\": true;\n\t\"app.tree.filter.cycleBackward\": true;\n}\n\nexport type AppKeybinding = keyof AppKeybindings;\n\ndeclare module \"@earendil-works/pi-tui\" {\n\tinterface Keybindings extends AppKeybindings {}\n}\n\nexport const KEYBINDINGS = {\n\t...TUI_KEYBINDINGS,\n\t\"app.interrupt\": { defaultKeys: \"escape\", description: \"Cancel or abort\" },\n\t\"app.clear\": { defaultKeys: \"ctrl+c\", description: \"Clear editor\" },\n\t\"app.exit\": { defaultKeys: \"ctrl+d\", description: \"Exit when editor is empty\" },\n\t\"app.suspend\": {\n\t\tdefaultKeys: process.platform === \"win32\" ? [] : \"ctrl+z\",\n\t\tdescription: \"Suspend to background\",\n\t},\n\t\"app.thinking.cycle\": {\n\t\tdefaultKeys: \"shift+tab\",\n\t\tdescription: \"Cycle thinking level\",\n\t},\n\t\"app.model.cycleForward\": {\n\t\tdefaultKeys: \"ctrl+p\",\n\t\tdescription: \"Cycle to next model\",\n\t},\n\t\"app.model.cycleBackward\": {\n\t\tdefaultKeys: \"shift+ctrl+p\",\n\t\tdescription: \"Cycle to previous model\",\n\t},\n\t\"app.model.select\": { defaultKeys: \"ctrl+l\", description: \"Open model selector\" },\n\t\"app.tools.expand\": { defaultKeys: \"ctrl+o\", description: \"Toggle tool output\" },\n\t\"app.thinking.toggle\": {\n\t\tdefaultKeys: \"ctrl+t\",\n\t\tdescription: \"Toggle thinking blocks\",\n\t},\n\t\"app.session.toggleNamedFilter\": {\n\t\tdefaultKeys: \"ctrl+n\",\n\t\tdescription: \"Toggle named session filter\",\n\t},\n\t\"app.editor.external\": {\n\t\tdefaultKeys: \"ctrl+g\",\n\t\tdescription: \"Open external editor\",\n\t},\n\t\"app.message.copy\": {\n\t\tdefaultKeys: \"ctrl+x\",\n\t\tdescription: \"Copy message to clipboard\",\n\t},\n\t\"app.message.followUp\": {\n\t\tdefaultKeys: \"alt+enter\",\n\t\tdescription: \"Queue follow-up message\",\n\t},\n\t\"app.message.dequeue\": {\n\t\tdefaultKeys: \"alt+up\",\n\t\tdescription: \"Restore queued messages\",\n\t},\n\t\"app.clipboard.pasteImage\": {\n\t\tdefaultKeys: process.platform === \"win32\" ? \"alt+v\" : \"ctrl+v\",\n\t\tdescription: \"Paste image from clipboard (text fallback)\",\n\t},\n\t\"app.session.new\": { defaultKeys: [], description: \"Start a new session\" },\n\t\"app.session.tree\": { defaultKeys: [], description: \"Open session tree\" },\n\t\"app.session.fork\": { defaultKeys: [], description: \"Fork current session\" },\n\t\"app.session.resume\": { defaultKeys: [], description: \"Resume a session\" },\n\t\"app.tree.foldOrUp\": {\n\t\tdefaultKeys: process.platform === \"darwin\" ? [\"alt+left\", \"ctrl+left\"] : [\"ctrl+left\", \"alt+left\"],\n\t\tdescription: \"Fold tree branch or move up\",\n\t},\n\t\"app.tree.unfoldOrDown\": {\n\t\tdefaultKeys: process.platform === \"darwin\" ? [\"alt+right\", \"ctrl+right\"] : [\"ctrl+right\", \"alt+right\"],\n\t\tdescription: \"Unfold tree branch or move down\",\n\t},\n\t\"app.tree.editLabel\": {\n\t\tdefaultKeys: \"shift+l\",\n\t\tdescription: \"Edit tree label\",\n\t},\n\t\"app.tree.toggleLabelTimestamp\": {\n\t\tdefaultKeys: \"shift+t\",\n\t\tdescription: \"Toggle tree label timestamps\",\n\t},\n\t\"app.session.togglePath\": {\n\t\tdefaultKeys: \"ctrl+p\",\n\t\tdescription: \"Toggle session path display\",\n\t},\n\t\"app.session.toggleSort\": {\n\t\tdefaultKeys: \"ctrl+s\",\n\t\tdescription: \"Toggle session sort mode\",\n\t},\n\t\"app.session.rename\": {\n\t\tdefaultKeys: \"ctrl+r\",\n\t\tdescription: \"Rename session\",\n\t},\n\t\"app.session.delete\": {\n\t\tdefaultKeys: \"ctrl+d\",\n\t\tdescription: \"Delete session\",\n\t},\n\t\"app.session.deleteNoninvasive\": {\n\t\tdefaultKeys: \"ctrl+backspace\",\n\t\tdescription: \"Delete session when query is empty\",\n\t},\n\t\"app.models.save\": {\n\t\tdefaultKeys: \"ctrl+s\",\n\t\tdescription: \"Save model selection\",\n\t},\n\t\"app.models.enableAll\": {\n\t\tdefaultKeys: \"ctrl+a\",\n\t\tdescription: \"Enable all models\",\n\t},\n\t\"app.models.clearAll\": {\n\t\tdefaultKeys: \"ctrl+x\",\n\t\tdescription: \"Clear all models\",\n\t},\n\t\"app.models.toggleProvider\": {\n\t\tdefaultKeys: \"ctrl+p\",\n\t\tdescription: \"Toggle all models for provider\",\n\t},\n\t\"app.models.reorderUp\": {\n\t\tdefaultKeys: \"alt+up\",\n\t\tdescription: \"Move model up in order\",\n\t},\n\t\"app.models.reorderDown\": {\n\t\tdefaultKeys: \"alt+down\",\n\t\tdescription: \"Move model down in order\",\n\t},\n\t\"app.tree.filter.default\": {\n\t\tdefaultKeys: \"ctrl+d\",\n\t\tdescription: \"Tree filter: default view\",\n\t},\n\t\"app.tree.filter.noTools\": {\n\t\tdefaultKeys: \"ctrl+t\",\n\t\tdescription: \"Tree filter: hide tool results\",\n\t},\n\t\"app.tree.filter.userOnly\": {\n\t\tdefaultKeys: \"ctrl+u\",\n\t\tdescription: \"Tree filter: user messages only\",\n\t},\n\t\"app.tree.filter.labeledOnly\": {\n\t\tdefaultKeys: \"ctrl+l\",\n\t\tdescription: \"Tree filter: labeled entries only\",\n\t},\n\t\"app.tree.filter.all\": {\n\t\tdefaultKeys: \"ctrl+a\",\n\t\tdescription: \"Tree filter: show all entries\",\n\t},\n\t\"app.tree.filter.cycleForward\": {\n\t\tdefaultKeys: \"ctrl+o\",\n\t\tdescription: \"Tree filter: cycle forward\",\n\t},\n\t\"app.tree.filter.cycleBackward\": {\n\t\tdefaultKeys: \"shift+ctrl+o\",\n\t\tdescription: \"Tree filter: cycle backward\",\n\t},\n} as const satisfies KeybindingDefinitions;\n\nconst KEYBINDING_NAME_MIGRATIONS = {\n\tcursorUp: \"tui.editor.cursorUp\",\n\tcursorDown: \"tui.editor.cursorDown\",\n\tcursorLeft: \"tui.editor.cursorLeft\",\n\tcursorRight: \"tui.editor.cursorRight\",\n\tcursorWordLeft: \"tui.editor.cursorWordLeft\",\n\tcursorWordRight: \"tui.editor.cursorWordRight\",\n\tcursorLineStart: \"tui.editor.cursorLineStart\",\n\tcursorLineEnd: \"tui.editor.cursorLineEnd\",\n\tjumpForward: \"tui.editor.jumpForward\",\n\tjumpBackward: \"tui.editor.jumpBackward\",\n\tpageUp: \"tui.editor.pageUp\",\n\tpageDown: \"tui.editor.pageDown\",\n\tdeleteCharBackward: \"tui.editor.deleteCharBackward\",\n\tdeleteCharForward: \"tui.editor.deleteCharForward\",\n\tdeleteWordBackward: \"tui.editor.deleteWordBackward\",\n\tdeleteWordForward: \"tui.editor.deleteWordForward\",\n\tdeleteToLineStart: \"tui.editor.deleteToLineStart\",\n\tdeleteToLineEnd: \"tui.editor.deleteToLineEnd\",\n\tyank: \"tui.editor.yank\",\n\tyankPop: \"tui.editor.yankPop\",\n\tundo: \"tui.editor.undo\",\n\tnewLine: \"tui.input.newLine\",\n\tsubmit: \"tui.input.submit\",\n\ttab: \"tui.input.tab\",\n\tcopy: \"tui.input.copy\",\n\tselectUp: \"tui.select.up\",\n\tselectDown: \"tui.select.down\",\n\tselectPageUp: \"tui.select.pageUp\",\n\tselectPageDown: \"tui.select.pageDown\",\n\tselectConfirm: \"tui.select.confirm\",\n\tselectCancel: \"tui.select.cancel\",\n\tinterrupt: \"app.interrupt\",\n\tclear: \"app.clear\",\n\texit: \"app.exit\",\n\tsuspend: \"app.suspend\",\n\tcycleThinkingLevel: \"app.thinking.cycle\",\n\tcycleModelForward: \"app.model.cycleForward\",\n\tcycleModelBackward: \"app.model.cycleBackward\",\n\tselectModel: \"app.model.select\",\n\texpandTools: \"app.tools.expand\",\n\ttoggleThinking: \"app.thinking.toggle\",\n\ttoggleSessionNamedFilter: \"app.session.toggleNamedFilter\",\n\texternalEditor: \"app.editor.external\",\n\tfollowUp: \"app.message.followUp\",\n\tdequeue: \"app.message.dequeue\",\n\tpasteImage: \"app.clipboard.pasteImage\",\n\tnewSession: \"app.session.new\",\n\ttree: \"app.session.tree\",\n\tfork: \"app.session.fork\",\n\tresume: \"app.session.resume\",\n\ttreeFoldOrUp: \"app.tree.foldOrUp\",\n\ttreeUnfoldOrDown: \"app.tree.unfoldOrDown\",\n\ttreeEditLabel: \"app.tree.editLabel\",\n\ttreeToggleLabelTimestamp: \"app.tree.toggleLabelTimestamp\",\n\ttoggleSessionPath: \"app.session.togglePath\",\n\ttoggleSessionSort: \"app.session.toggleSort\",\n\trenameSession: \"app.session.rename\",\n\tdeleteSession: \"app.session.delete\",\n\tdeleteSessionNoninvasive: \"app.session.deleteNoninvasive\",\n} as const satisfies Record<string, Keybinding>;\n\nfunction isLegacyKeybindingName(key: string): key is keyof typeof KEYBINDING_NAME_MIGRATIONS {\n\treturn key in KEYBINDING_NAME_MIGRATIONS;\n}\n\nfunction toKeybindingsConfig(value: Record<string, unknown>): KeybindingsConfig {\n\tconst config: KeybindingsConfig = {};\n\tfor (const [key, binding] of Object.entries(value)) {\n\t\tif (typeof binding === \"string\") {\n\t\t\tconfig[key] = binding as KeyId;\n\t\t\tcontinue;\n\t\t}\n\t\tif (Array.isArray(binding) && binding.every((entry) => typeof entry === \"string\")) {\n\t\t\tconfig[key] = binding as KeyId[];\n\t\t}\n\t}\n\treturn config;\n}\n\nexport function migrateKeybindingsConfig(rawConfig: Record<string, unknown>): {\n\tconfig: Record<string, unknown>;\n\tmigrated: boolean;\n} {\n\tconst config: Record<string, unknown> = {};\n\tlet migrated = false;\n\n\tfor (const [key, value] of Object.entries(rawConfig)) {\n\t\tconst nextKey = isLegacyKeybindingName(key) ? KEYBINDING_NAME_MIGRATIONS[key] : key;\n\t\tif (nextKey !== key) {\n\t\t\tmigrated = true;\n\t\t}\n\t\tif (key !== nextKey && Object.hasOwn(rawConfig, nextKey)) {\n\t\t\tmigrated = true;\n\t\t\tcontinue;\n\t\t}\n\t\tconfig[nextKey] = value;\n\t}\n\n\treturn { config: orderKeybindingsConfig(config), migrated };\n}\n\nfunction orderKeybindingsConfig(config: Record<string, unknown>): Record<string, unknown> {\n\tconst ordered: Record<string, unknown> = {};\n\tfor (const keybinding of Object.keys(KEYBINDINGS)) {\n\t\tif (Object.hasOwn(config, keybinding)) {\n\t\t\tordered[keybinding] = config[keybinding];\n\t\t}\n\t}\n\n\tconst extras = Object.keys(config)\n\t\t.filter((key) => !Object.hasOwn(ordered, key))\n\t\t.sort();\n\tfor (const key of extras) {\n\t\tordered[key] = config[key];\n\t}\n\n\treturn ordered;\n}\n\nfunction loadRawConfig(path: string): Record<string, unknown> | undefined {\n\tif (!existsSync(path)) return undefined;\n\ttry {\n\t\tconst parsed = JSON.parse(stripBom(readFileSync(path, \"utf-8\"))) as unknown;\n\t\tif (typeof parsed !== \"object\" || parsed === null) return undefined;\n\t\treturn parsed as Record<string, unknown>;\n\t} catch {\n\t\treturn undefined;\n\t}\n}\n\nexport class KeybindingsManager extends TuiKeybindingsManager {\n\tprivate configPath: string | undefined;\n\n\tconstructor(userBindings: KeybindingsConfig = {}, configPath?: string) {\n\t\tsuper(KEYBINDINGS, userBindings);\n\t\tthis.configPath = configPath;\n\t}\n\n\tstatic create(agentDir: string = getAgentDir()): KeybindingsManager {\n\t\tconst configPath = join(agentDir, \"keybindings.json\");\n\t\tconst userBindings = KeybindingsManager.loadFromFile(configPath);\n\t\treturn new KeybindingsManager(userBindings, configPath);\n\t}\n\n\treload(): void {\n\t\tif (!this.configPath) return;\n\t\tthis.setUserBindings(KeybindingsManager.loadFromFile(this.configPath));\n\t}\n\n\tgetEffectiveConfig(): KeybindingsConfig {\n\t\treturn this.getResolvedBindings();\n\t}\n\n\tprivate static loadFromFile(path: string): KeybindingsConfig {\n\t\tconst rawConfig = loadRawConfig(path);\n\t\tif (!rawConfig) return {};\n\t\treturn toKeybindingsConfig(migrateKeybindingsConfig(rawConfig).config);\n\t}\n}\n\nexport type { Keybinding, KeyId, KeybindingsConfig };\n"]}
1
+ {"version":3,"file":"keybindings.d.ts","sourceRoot":"","sources":["../../src/core/keybindings.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"keybindings.js","sourceRoot":"","sources":["../../src/core/keybindings.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n\ttype Keybinding,\n\ttype KeybindingDefinitions,\n\ttype KeybindingsConfig,\n\ttype KeyId,\n\tTUI_KEYBINDINGS,\n\tKeybindingsManager as TuiKeybindingsManager,\n} from \"@earendil-works/pi-tui\";\nimport { existsSync, readFileSync } from \"fs\";\nimport { join } from \"path\";\nimport { getAgentDir } from \"../config.ts\";\nimport { stripBom } from \"../utils/text.ts\";\n\nexport interface AppKeybindings {\n\t\"app.interrupt\": true;\n\t\"app.clear\": true;\n\t\"app.exit\": true;\n\t\"app.suspend\": true;\n\t\"app.thinking.cycle\": true;\n\t\"app.model.cycleForward\": true;\n\t\"app.model.cycleBackward\": true;\n\t\"app.model.select\": true;\n\t\"app.tools.expand\": true;\n\t\"app.thinking.toggle\": true;\n\t\"app.session.toggleNamedFilter\": true;\n\t\"app.editor.external\": true;\n\t\"app.message.copy\": true;\n\t\"app.message.followUp\": true;\n\t\"app.message.dequeue\": true;\n\t\"app.clipboard.pasteImage\": true;\n\t\"app.session.new\": true;\n\t\"app.session.tree\": true;\n\t\"app.session.fork\": true;\n\t\"app.session.resume\": true;\n\t\"app.tree.foldOrUp\": true;\n\t\"app.tree.unfoldOrDown\": true;\n\t\"app.tree.editLabel\": true;\n\t\"app.tree.toggleLabelTimestamp\": true;\n\t\"app.session.togglePath\": true;\n\t\"app.session.toggleSort\": true;\n\t\"app.session.rename\": true;\n\t\"app.session.delete\": true;\n\t\"app.session.deleteNoninvasive\": true;\n\t\"app.models.save\": true;\n\t\"app.models.enableAll\": true;\n\t\"app.models.clearAll\": true;\n\t\"app.models.toggleProvider\": true;\n\t\"app.models.reorderUp\": true;\n\t\"app.models.reorderDown\": true;\n\t\"app.tree.filter.default\": true;\n\t\"app.tree.filter.noTools\": true;\n\t\"app.tree.filter.userOnly\": true;\n\t\"app.tree.filter.labeledOnly\": true;\n\t\"app.tree.filter.all\": true;\n\t\"app.tree.filter.cycleForward\": true;\n\t\"app.tree.filter.cycleBackward\": true;\n}\n\nexport type AppKeybinding = keyof AppKeybindings;\n\ndeclare module \"@earendil-works/pi-tui\" {\n\tinterface Keybindings extends AppKeybindings {}\n}\n\nexport const KEYBINDINGS = {\n\t...TUI_KEYBINDINGS,\n\t\"app.interrupt\": { defaultKeys: \"escape\", description: \"Cancel or abort\" },\n\t\"app.clear\": { defaultKeys: \"ctrl+c\", description: \"Clear editor\" },\n\t\"app.exit\": { defaultKeys: \"ctrl+d\", description: \"Exit when editor is empty\" },\n\t\"app.suspend\": {\n\t\tdefaultKeys: process.platform === \"win32\" ? [] : \"ctrl+z\",\n\t\tdescription: \"Suspend to background\",\n\t},\n\t\"app.thinking.cycle\": {\n\t\tdefaultKeys: \"shift+tab\",\n\t\tdescription: \"Cycle thinking level\",\n\t},\n\t\"app.model.cycleForward\": {\n\t\tdefaultKeys: \"ctrl+p\",\n\t\tdescription: \"Cycle to next model\",\n\t},\n\t\"app.model.cycleBackward\": {\n\t\tdefaultKeys: \"shift+ctrl+p\",\n\t\tdescription: \"Cycle to previous model\",\n\t},\n\t\"app.model.select\": { defaultKeys: \"ctrl+l\", description: \"Open model selector\" },\n\t\"app.tools.expand\": { defaultKeys: \"ctrl+o\", description: \"Toggle tool output\" },\n\t\"app.thinking.toggle\": {\n\t\tdefaultKeys: \"ctrl+t\",\n\t\tdescription: \"Toggle thinking blocks\",\n\t},\n\t\"app.session.toggleNamedFilter\": {\n\t\tdefaultKeys: \"ctrl+n\",\n\t\tdescription: \"Toggle named session filter\",\n\t},\n\t\"app.editor.external\": {\n\t\tdefaultKeys: \"ctrl+g\",\n\t\tdescription: \"Open external editor\",\n\t},\n\t\"app.message.copy\": {\n\t\tdefaultKeys: \"ctrl+x\",\n\t\tdescription: \"Copy message to clipboard\",\n\t},\n\t\"app.message.followUp\": {\n\t\tdefaultKeys: \"alt+enter\",\n\t\tdescription: \"Queue follow-up message\",\n\t},\n\t\"app.message.dequeue\": {\n\t\tdefaultKeys: \"alt+up\",\n\t\tdescription: \"Restore queued messages\",\n\t},\n\t\"app.clipboard.pasteImage\": {\n\t\tdefaultKeys: process.platform === \"win32\" ? \"alt+v\" : \"ctrl+v\",\n\t\tdescription: \"Paste image from clipboard (text fallback)\",\n\t},\n\t\"app.session.new\": { defaultKeys: [], description: \"Start a new session\" },\n\t\"app.session.tree\": { defaultKeys: [], description: \"Open session tree\" },\n\t\"app.session.fork\": { defaultKeys: [], description: \"Fork current session\" },\n\t\"app.session.resume\": { defaultKeys: [], description: \"Resume a session\" },\n\t\"app.tree.foldOrUp\": {\n\t\tdefaultKeys: process.platform === \"darwin\" ? [\"alt+left\", \"ctrl+left\"] : [\"ctrl+left\", \"alt+left\"],\n\t\tdescription: \"Fold tree branch or move up\",\n\t},\n\t\"app.tree.unfoldOrDown\": {\n\t\tdefaultKeys: process.platform === \"darwin\" ? [\"alt+right\", \"ctrl+right\"] : [\"ctrl+right\", \"alt+right\"],\n\t\tdescription: \"Unfold tree branch or move down\",\n\t},\n\t\"app.tree.editLabel\": {\n\t\tdefaultKeys: \"shift+l\",\n\t\tdescription: \"Edit tree label\",\n\t},\n\t\"app.tree.toggleLabelTimestamp\": {\n\t\tdefaultKeys: \"shift+t\",\n\t\tdescription: \"Toggle tree label timestamps\",\n\t},\n\t\"app.session.togglePath\": {\n\t\tdefaultKeys: \"ctrl+p\",\n\t\tdescription: \"Toggle session path display\",\n\t},\n\t\"app.session.toggleSort\": {\n\t\tdefaultKeys: \"ctrl+s\",\n\t\tdescription: \"Toggle session sort mode\",\n\t},\n\t\"app.session.rename\": {\n\t\tdefaultKeys: \"ctrl+r\",\n\t\tdescription: \"Rename session\",\n\t},\n\t\"app.session.delete\": {\n\t\tdefaultKeys: \"ctrl+d\",\n\t\tdescription: \"Delete session\",\n\t},\n\t\"app.session.deleteNoninvasive\": {\n\t\tdefaultKeys: \"ctrl+backspace\",\n\t\tdescription: \"Delete session when query is empty\",\n\t},\n\t\"app.models.save\": {\n\t\tdefaultKeys: \"ctrl+s\",\n\t\tdescription: \"Save model selection\",\n\t},\n\t\"app.models.enableAll\": {\n\t\tdefaultKeys: \"ctrl+a\",\n\t\tdescription: \"Enable all models\",\n\t},\n\t\"app.models.clearAll\": {\n\t\tdefaultKeys: \"ctrl+x\",\n\t\tdescription: \"Clear all models\",\n\t},\n\t\"app.models.toggleProvider\": {\n\t\tdefaultKeys: \"ctrl+p\",\n\t\tdescription: \"Toggle all models for provider\",\n\t},\n\t\"app.models.reorderUp\": {\n\t\tdefaultKeys: \"alt+up\",\n\t\tdescription: \"Move model up in order\",\n\t},\n\t\"app.models.reorderDown\": {\n\t\tdefaultKeys: \"alt+down\",\n\t\tdescription: \"Move model down in order\",\n\t},\n\t\"app.tree.filter.default\": {\n\t\tdefaultKeys: \"ctrl+d\",\n\t\tdescription: \"Tree filter: default view\",\n\t},\n\t\"app.tree.filter.noTools\": {\n\t\tdefaultKeys: \"ctrl+t\",\n\t\tdescription: \"Tree filter: hide tool results\",\n\t},\n\t\"app.tree.filter.userOnly\": {\n\t\tdefaultKeys: \"ctrl+u\",\n\t\tdescription: \"Tree filter: user messages only\",\n\t},\n\t\"app.tree.filter.labeledOnly\": {\n\t\tdefaultKeys: \"ctrl+l\",\n\t\tdescription: \"Tree filter: labeled entries only\",\n\t},\n\t\"app.tree.filter.all\": {\n\t\tdefaultKeys: \"ctrl+a\",\n\t\tdescription: \"Tree filter: show all entries\",\n\t},\n\t\"app.tree.filter.cycleForward\": {\n\t\tdefaultKeys: \"ctrl+o\",\n\t\tdescription: \"Tree filter: cycle forward\",\n\t},\n\t\"app.tree.filter.cycleBackward\": {\n\t\tdefaultKeys: \"shift+ctrl+o\",\n\t\tdescription: \"Tree filter: cycle backward\",\n\t},\n} as const satisfies KeybindingDefinitions;\n\nconst KEYBINDING_NAME_MIGRATIONS = {\n\tcursorUp: \"tui.editor.cursorUp\",\n\tcursorDown: \"tui.editor.cursorDown\",\n\tcursorLeft: \"tui.editor.cursorLeft\",\n\tcursorRight: \"tui.editor.cursorRight\",\n\tcursorWordLeft: \"tui.editor.cursorWordLeft\",\n\tcursorWordRight: \"tui.editor.cursorWordRight\",\n\tcursorLineStart: \"tui.editor.cursorLineStart\",\n\tcursorLineEnd: \"tui.editor.cursorLineEnd\",\n\tjumpForward: \"tui.editor.jumpForward\",\n\tjumpBackward: \"tui.editor.jumpBackward\",\n\tpageUp: \"tui.editor.pageUp\",\n\tpageDown: \"tui.editor.pageDown\",\n\tdeleteCharBackward: \"tui.editor.deleteCharBackward\",\n\tdeleteCharForward: \"tui.editor.deleteCharForward\",\n\tdeleteWordBackward: \"tui.editor.deleteWordBackward\",\n\tdeleteWordForward: \"tui.editor.deleteWordForward\",\n\tdeleteToLineStart: \"tui.editor.deleteToLineStart\",\n\tdeleteToLineEnd: \"tui.editor.deleteToLineEnd\",\n\tyank: \"tui.editor.yank\",\n\tyankPop: \"tui.editor.yankPop\",\n\tundo: \"tui.editor.undo\",\n\tnewLine: \"tui.input.newLine\",\n\tsubmit: \"tui.input.submit\",\n\ttab: \"tui.input.tab\",\n\tcopy: \"tui.input.copy\",\n\tselectUp: \"tui.select.up\",\n\tselectDown: \"tui.select.down\",\n\tselectPageUp: \"tui.select.pageUp\",\n\tselectPageDown: \"tui.select.pageDown\",\n\tselectConfirm: \"tui.select.confirm\",\n\tselectCancel: \"tui.select.cancel\",\n\tinterrupt: \"app.interrupt\",\n\tclear: \"app.clear\",\n\texit: \"app.exit\",\n\tsuspend: \"app.suspend\",\n\tcycleThinkingLevel: \"app.thinking.cycle\",\n\tcycleModelForward: \"app.model.cycleForward\",\n\tcycleModelBackward: \"app.model.cycleBackward\",\n\tselectModel: \"app.model.select\",\n\texpandTools: \"app.tools.expand\",\n\ttoggleThinking: \"app.thinking.toggle\",\n\ttoggleSessionNamedFilter: \"app.session.toggleNamedFilter\",\n\texternalEditor: \"app.editor.external\",\n\tfollowUp: \"app.message.followUp\",\n\tdequeue: \"app.message.dequeue\",\n\tpasteImage: \"app.clipboard.pasteImage\",\n\tnewSession: \"app.session.new\",\n\ttree: \"app.session.tree\",\n\tfork: \"app.session.fork\",\n\tresume: \"app.session.resume\",\n\ttreeFoldOrUp: \"app.tree.foldOrUp\",\n\ttreeUnfoldOrDown: \"app.tree.unfoldOrDown\",\n\ttreeEditLabel: \"app.tree.editLabel\",\n\ttreeToggleLabelTimestamp: \"app.tree.toggleLabelTimestamp\",\n\ttoggleSessionPath: \"app.session.togglePath\",\n\ttoggleSessionSort: \"app.session.toggleSort\",\n\trenameSession: \"app.session.rename\",\n\tdeleteSession: \"app.session.delete\",\n\tdeleteSessionNoninvasive: \"app.session.deleteNoninvasive\",\n} as const satisfies Record<string, Keybinding>;\n\nfunction isLegacyKeybindingName(key: string): key is keyof typeof KEYBINDING_NAME_MIGRATIONS {\n\treturn key in KEYBINDING_NAME_MIGRATIONS;\n}\n\nfunction toKeybindingsConfig(value: Record<string, unknown>): KeybindingsConfig {\n\tconst config: KeybindingsConfig = {};\n\tfor (const [key, binding] of Object.entries(value)) {\n\t\tif (typeof binding === \"string\") {\n\t\t\tconfig[key] = binding as KeyId;\n\t\t\tcontinue;\n\t\t}\n\t\tif (Array.isArray(binding) && binding.every((entry) => typeof entry === \"string\")) {\n\t\t\tconfig[key] = binding as KeyId[];\n\t\t}\n\t}\n\treturn config;\n}\n\nexport function migrateKeybindingsConfig(rawConfig: Record<string, unknown>): {\n\tconfig: Record<string, unknown>;\n\tmigrated: boolean;\n} {\n\tconst config: Record<string, unknown> = {};\n\tlet migrated = false;\n\n\tfor (const [key, value] of Object.entries(rawConfig)) {\n\t\tconst nextKey = isLegacyKeybindingName(key) ? KEYBINDING_NAME_MIGRATIONS[key] : key;\n\t\tif (nextKey !== key) {\n\t\t\tmigrated = true;\n\t\t}\n\t\tif (key !== nextKey && Object.hasOwn(rawConfig, nextKey)) {\n\t\t\tmigrated = true;\n\t\t\tcontinue;\n\t\t}\n\t\tconfig[nextKey] = value;\n\t}\n\n\treturn { config: orderKeybindingsConfig(config), migrated };\n}\n\nfunction orderKeybindingsConfig(config: Record<string, unknown>): Record<string, unknown> {\n\tconst ordered: Record<string, unknown> = {};\n\tfor (const keybinding of Object.keys(KEYBINDINGS)) {\n\t\tif (Object.hasOwn(config, keybinding)) {\n\t\t\tordered[keybinding] = config[keybinding];\n\t\t}\n\t}\n\n\tconst extras = Object.keys(config)\n\t\t.filter((key) => !Object.hasOwn(ordered, key))\n\t\t.sort();\n\tfor (const key of extras) {\n\t\tordered[key] = config[key];\n\t}\n\n\treturn ordered;\n}\n\nfunction loadRawConfig(path: string): Record<string, unknown> | undefined {\n\tif (!existsSync(path)) return undefined;\n\ttry {\n\t\tconst parsed = JSON.parse(stripBom(readFileSync(path, \"utf-8\"))) as unknown;\n\t\tif (typeof parsed !== \"object\" || parsed === null) return undefined;\n\t\treturn parsed as Record<string, unknown>;\n\t} catch {\n\t\treturn undefined;\n\t}\n}\n\nexport class KeybindingsManager extends TuiKeybindingsManager {\n\tprivate configPath: string | undefined;\n\n\tconstructor(userBindings: KeybindingsConfig = {}, configPath?: string) {\n\t\tsuper(KEYBINDINGS, userBindings);\n\t\tthis.configPath = configPath;\n\t}\n\n\tstatic create(agentDir: string = getAgentDir()): KeybindingsManager {\n\t\tconst configPath = join(agentDir, \"keybindings.json\");\n\t\tconst userBindings = KeybindingsManager.loadFromFile(configPath);\n\t\treturn new KeybindingsManager(userBindings, configPath);\n\t}\n\n\treload(): void {\n\t\tif (!this.configPath) return;\n\t\tthis.setUserBindings(KeybindingsManager.loadFromFile(this.configPath));\n\t}\n\n\tgetEffectiveConfig(): KeybindingsConfig {\n\t\treturn this.getResolvedBindings();\n\t}\n\n\tprivate static loadFromFile(path: string): KeybindingsConfig {\n\t\tconst rawConfig = loadRawConfig(path);\n\t\tif (!rawConfig) return {};\n\t\treturn toKeybindingsConfig(migrateKeybindingsConfig(rawConfig).config);\n\t}\n}\n\nexport type { Keybinding, KeyId, KeybindingsConfig };\n"]}
1
+ {"version":3,"file":"keybindings.js","sourceRoot":"","sources":["../../src/core/keybindings.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mapa.d.ts","sourceRoot":"","sources":["../../../src/core/lectura/mapa.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAIH,sDAAoD;AACpD,MAAM,WAAW,WAAW;IAC3B,2DAA2D;IAC3D,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,8DAA6D;IAC7D,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;CACnB;AAED,8CAA6C;AAC7C,MAAM,MAAM,OAAO,GAAG,wBAAwB,GAAG,WAAW,GAAG,iBAAiB,CAAC;AAEjF,MAAM,WAAW,IAAI;IACpB,aAAa,EAAE,WAAW,EAAE,CAAC;IAC7B,4EAA0E;IAC1E,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CACxB;AA8BD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAyDvF;AAKD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA+BpE","sourcesContent":["/**\n * El mapa de lo que un `read` truncado NO enseñó.\n *\n * EL CASO, medido sobre este repositorio. `core/agent-session.ts` tiene 4.546\n * líneas y 162 KB. El límite de 50 KB salta antes que el de 2.000 líneas, así\n * que el agente ve las primeras **1.415 líneas (31%)** y nada más. Un bug en la\n * línea 3.000 es invisible.\n *\n * Lo que hay hoy para eso son `offset` y `limit`, y sirven — si sabes a qué\n * línea ir. El agente no lo sabe: le hemos cortado el fichero sin decirle qué\n * había detrás. Su única salida es paginar a ciegas, que gasta turnos, o\n * rendirse y editar lo que sí vio, que es peor.\n *\n * Es la misma familia de siempre. Un corte silencioso se lee como «esto es el\n * fichero», igual que un `[]` se lee como «no hay». La diferencia entre «no\n * está» y «no te lo he enseñado» tiene que ser visible, y aquí no lo era: el\n * aviso decía cuántas líneas faltaban, nunca QUÉ faltaba.\n *\n * QUÉ HACE. Sobre la parte que NO cupo, lista las declaraciones de primer nivel\n * con su línea: funciones, clases, interfaces, tipos y constantes exportadas.\n * El agente pasa de «me faltan 3.131 líneas» a «`_rebuildSystemPrompt` está en\n * la 1537», que es un `read offset=1530` en vez de seis intentos.\n *\n * NO es un resumen del contenido y a propósito. Un resumen lo escribe un modelo\n * y puede inventarse lo que no leyó; esto son nombres y números sacados del\n * árbol de sintaxis. En un registro que se vende como auditable, un mapa que\n * miente es peor que no tener mapa.\n *\n * LÍMITES, dichos antes de que los descubra nadie:\n * · Solo TypeScript y JavaScript. Para el resto se dice que no se pudo mapear,\n * que no es lo mismo que decir que no hay nada — tres estados, no dos.\n * · Se baja UN nivel dentro de clases, y esa decisión está medida. La primera\n * versión solo miraba el primer nivel y sobre `agent-session.ts` —el fichero\n * que motivó todo esto— devolvió CERO declaraciones: sus 4.546 líneas son\n * una sola clase con 106 métodos. Un mapa que se queda en «hay una clase\n * AgentSession en la línea 368» no le dice nada a quien busca dónde está\n * `_rebuildSystemPrompt`. Más adentro no se baja: una función dentro de un\n * método es detalle, no ancla.\n */\n\nimport ts from \"typescript\";\n\n/** Una declaración que el agente no llegó a ver. */\nexport interface Declaracion {\n\t/** `funcion`, `clase`, `interfaz`, `tipo`, `constante`. */\n\tque: string;\n\tnombre: string;\n\t/** Línea 1-indexada, para poder pasarla a `read offset=`. */\n\tlinea: number;\n\texportada: boolean;\n}\n\n/** Por qué no hay mapa, cuando no lo hay. */\nexport type SinMapa = \"extension-no-soportada\" | \"no-parsea\" | \"nada-que-mapear\";\n\nexport interface Mapa {\n\tdeclaraciones: Declaracion[];\n\t/** `null` si sí hay mapa. Un motivo, nunca una lista vacía silenciosa. */\n\tsinMapa: SinMapa | null;\n}\n\nconst EXTENSIONES = new Set([\".ts\", \".tsx\", \".mts\", \".cts\", \".js\", \".jsx\", \".mjs\", \".cjs\"]);\n\nfunction tipoDe(nodo: ts.Node): string | null {\n\tif (ts.isFunctionDeclaration(nodo)) return \"funcion\";\n\tif (ts.isClassDeclaration(nodo)) return \"clase\";\n\tif (ts.isInterfaceDeclaration(nodo)) return \"interfaz\";\n\tif (ts.isTypeAliasDeclaration(nodo)) return \"tipo\";\n\tif (ts.isEnumDeclaration(nodo)) return \"enum\";\n\tif (ts.isVariableStatement(nodo)) return \"constante\";\n\treturn null;\n}\n\nfunction esExportada(nodo: ts.Node): boolean {\n\tconst mods = ts.canHaveModifiers(nodo) ? ts.getModifiers(nodo) : undefined;\n\treturn mods?.some((m) => m.kind === ts.SyntaxKind.ExportKeyword) ?? false;\n}\n\nfunction nombreDe(nodo: ts.Node): string | null {\n\tif (ts.isVariableStatement(nodo)) {\n\t\tconst d = nodo.declarationList.declarations[0];\n\t\treturn d && ts.isIdentifier(d.name) ? d.name.text : null;\n\t}\n\tconst conNombre = nodo as ts.Node & { name?: ts.Node };\n\treturn conNombre.name && ts.isIdentifier(conNombre.name as ts.Identifier)\n\t\t? (conNombre.name as ts.Identifier).text\n\t\t: null;\n}\n\n/**\n * Mapea las declaraciones que caen DESPUÉS de `desdeLinea`.\n *\n * `desdeLinea` es 1-indexada y exclusiva: se pasa el número de la última línea\n * que el agente sí vio, y se devuelve lo que hay a partir de la siguiente.\n */\nexport function mapearNoVisto(ruta: string, contenido: string, desdeLinea: number): Mapa {\n\tconst punto = ruta.lastIndexOf(\".\");\n\tif (punto < 0 || !EXTENSIONES.has(ruta.slice(punto))) {\n\t\treturn { declaraciones: [], sinMapa: \"extension-no-soportada\" };\n\t}\n\n\tlet fuente: ts.SourceFile;\n\ttry {\n\t\tfuente = ts.createSourceFile(ruta, contenido, ts.ScriptTarget.Latest, true);\n\t} catch {\n\t\treturn { declaraciones: [], sinMapa: \"no-parsea\" };\n\t}\n\t// «No parsea» hay que preguntárselo a `parseDiagnostics`, no deducirlo.\n\t//\n\t// `createSourceFile` no lanza y es MUY permisivo: sobre\n\t// `esto ( no { es ] typescript` devuelve sentencias igualmente, así que mirar\n\t// si el árbol está vacío daba «nada-que-mapear» sobre un fichero roto — otra\n\t// vez «no puedo» leído como «no hay». Es el mismo mecanismo que ya se midió\n\t// en `core/edicion/parseo.ts` (10 de 10 frente a 7 de 10 con otras vías).\n\t//\n\t// `parseDiagnostics` no está en el tipo público, y aun así es lo correcto:\n\t// contiene SOLO errores de sintaxis, no los del comprobador de tipos, que\n\t// aquí serían ruido.\n\tconst diagnosticos = (fuente as ts.SourceFile & { parseDiagnostics?: unknown }).parseDiagnostics;\n\tif (Array.isArray(diagnosticos) && diagnosticos.length > 0) {\n\t\treturn { declaraciones: [], sinMapa: \"no-parsea\" };\n\t}\n\n\tconst declaraciones: Declaracion[] = [];\n\tfor (const nodo of fuente.statements) {\n\t\tconst que = tipoDe(nodo);\n\t\tif (!que) continue;\n\t\tconst nombre = nombreDe(nodo);\n\t\tif (!nombre) continue;\n\t\tconst linea = fuente.getLineAndCharacterOfPosition(nodo.getStart(fuente)).line + 1;\n\t\tif (linea > desdeLinea) declaraciones.push({ que, nombre, linea, exportada: esExportada(nodo) });\n\n\t\t// Un nivel más, dentro de clases. Sin esto el mapa era inútil justo donde\n\t\t// hacía falta: un fichero de 4.500 líneas que es una sola clase.\n\t\tif (!ts.isClassDeclaration(nodo)) continue;\n\t\tfor (const miembro of nodo.members) {\n\t\t\tif (!ts.isMethodDeclaration(miembro) && !ts.isGetAccessorDeclaration(miembro)) continue;\n\t\t\tif (!ts.isIdentifier(miembro.name) && !ts.isPrivateIdentifier(miembro.name)) continue;\n\t\t\tconst lineaM = fuente.getLineAndCharacterOfPosition(miembro.getStart(fuente)).line + 1;\n\t\t\tif (lineaM <= desdeLinea) continue;\n\t\t\tdeclaraciones.push({\n\t\t\t\tque: ts.isGetAccessorDeclaration(miembro) ? \"getter\" : \"metodo\",\n\t\t\t\t// Con la clase delante: `AgentSession.prompt` se busca mejor que `prompt`.\n\t\t\t\tnombre: `${nombre}.${miembro.name.text}`,\n\t\t\t\tlinea: lineaM,\n\t\t\t\texportada: false,\n\t\t\t});\n\t\t}\n\t}\n\n\tif (declaraciones.length === 0) return { declaraciones: [], sinMapa: \"nada-que-mapear\" };\n\treturn { declaraciones, sinMapa: null };\n}\n\n/** Cuántas declaraciones se enseñan como mucho, para no cambiar un muro por otro. */\nconst TOPE = 40;\n\n/**\n * El mapa, escrito para que el modelo pueda usarlo directamente.\n *\n * Devuelve `null` cuando no hay nada que decir, para que quien llame no tenga\n * que decidir si una cadena vacía significa «sin mapa» o «error».\n */\nexport function textoDelMapa(mapa: Mapa, ruta: string): string | null {\n\tif (mapa.sinMapa === \"nada-que-mapear\") return null;\n\tif (mapa.sinMapa === \"extension-no-soportada\") return null;\n\tif (mapa.sinMapa === \"no-parsea\") {\n\t\t// Se dice, en vez de callar: «no se pudo mapear» y «no hay nada» son\n\t\t// distintos, y confundirlos le haría creer al agente que el resto del\n\t\t// fichero está vacío.\n\t\treturn \"No se ha podido mapear el resto del fichero (no parsea). Usa offset/limit para recorrerlo.\";\n\t}\n\n\tconst orden = [\"clase\", \"interfaz\", \"funcion\", \"metodo\", \"getter\", \"tipo\", \"enum\", \"constante\"];\n\tconst lista = [...mapa.declaraciones].sort((a, b) => a.linea - b.linea);\n\tconst mostradas = lista.slice(0, TOPE);\n\tconst lineas = mostradas.map(\n\t\t(d) => ` ${String(d.linea).padStart(5)} ${d.que.padEnd(10)} ${d.exportada ? \"export \" : \"\"}${d.nombre}`,\n\t);\n\n\tlet texto =\n\t\t`Lo que NO se ha mostrado de ${ruta} contiene estas declaraciones. ` +\n\t\t`Usa \\`read\\` con \\`offset\\` para ir directo a la que necesites:\\n${lineas.join(\"\\n\")}`;\n\tif (lista.length > mostradas.length) {\n\t\t// Se dice cuántas quedan: un mapa truncado en silencio repetiría el mismo\n\t\t// fallo que este módulo existe para arreglar.\n\t\tconst porTipo = orden\n\t\t\t.map((t) => [t, lista.slice(TOPE).filter((d) => d.que === t).length] as const)\n\t\t\t.filter(([, n]) => n > 0)\n\t\t\t.map(([t, n]) => `${n} ${t}${n > 1 ? \"s\" : \"\"}`)\n\t\t\t.join(\", \");\n\t\ttexto += `\\n …y ${lista.length - mostradas.length} más (${porTipo}).`;\n\t}\n\treturn texto;\n}\n"]}
1
+ {"version":3,"file":"mapa.d.ts","sourceRoot":"","sources":["../../../src/core/lectura/mapa.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAIH,oDAAoD;AACpD,MAAM,WAAW,WAAW;IAC3B,2DAA2D;IAC3D,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;CACnB;AAED,6CAA6C;AAC7C,MAAM,MAAM,OAAO,GAAG,wBAAwB,GAAG,WAAW,GAAG,iBAAiB,CAAC;AAEjF,MAAM,WAAW,IAAI;IACpB,aAAa,EAAE,WAAW,EAAE,CAAC;IAC7B,0EAA0E;IAC1E,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CACxB;AA8BD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAyDvF;AAKD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA+BpE"}