@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":"runtime.js","sourceRoot":"","sources":["../../../src/core/workflows/runtime.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Workflow runtime — ejecuta scripts de workflow en un sandbox vm.\n *\n * El script es un módulo ESM con `export const meta = {...}` y el cuerpo\n * (async). El vm recibe SOLO la API del workflow (agent/parallel/pipeline/\n * store/phase/checkpoint/args/cwd/runId/log) — sin process/require/fs/fetch\n * (sandbox; la red solo via tools de agente). Determinismo: Math.random y\n * Date.now se neutralizan en el realm (resume estable). No se inyectan host\n * built-ins (su .constructor sería el host Function — bypass del guard).\n */\n\nimport vm from \"node:vm\";\nimport type { TSchema } from \"typebox\";\nimport { CONFIG_DIR_NAME } from \"../../config.ts\";\nimport { aOpcionesDeAgente, cargarAgentes } from \"../agents/loader.ts\";\nimport { hasTrustRequiringProjectResources, ProjectTrustStore } from \"../trust-manager.ts\";\nimport { AgentRunner, agentIdentityHash, type CreateSubagentSession } from \"./agent-runner.ts\";\nimport type { HallazgoParcial } from \"./contrato/yield.ts\";\nimport { SharedStore } from \"./shared-store.ts\";\nimport {\n\tDEFAULT_WORKFLOW_LIMITS,\n\ttype WorkflowApi,\n\tWorkflowError,\n\ttype WorkflowErrorCode,\n\ttype WorkflowLimits,\n\ttype WorkflowMeta,\n\ttype WorkflowRunResult,\n} from \"./types.ts\";\n\nconst _DETERMINISM_PRELUDE = `\n Math.random = () => { throw new Error(\"Math.random is disabled for workflow determinism\"); };\n Date.now = () => { throw new Error(\"Date.now is disabled for workflow determinism\"); };\n (globalThis as any).__adaWorkflowTime = 0;\n`;\n\nconst HOST_BUILTIN_BLOCKLIST = /require\\s*\\(|process\\s*\\.|global\\s*\\.\\s*process|import\\s*\\(/;\n\nexport interface WorkflowRuntimeOptions {\n\tcwd: string;\n\tagentDir: string;\n\tcreateSession: CreateSubagentSession;\n\tlimits?: Partial<WorkflowLimits>;\n\tresumeJournal?: Map<string, JournalEntryLike>;\n\t/**\n\t * Se llama tras cada agente ejecutado (no tras un hit de caché). Sin esto el\n\t * journal nunca se rellenaba: la ruta de resume estaba escrita y testeada del\n\t * lado consumidor, pero nadie producía las entradas.\n\t */\n\tonJournalEntry?: (entry: { index: number; hash: string; result: unknown }) => void;\n\tonAgentStart?: (index: number, label: string, phase: string | undefined) => void;\n\tonAgentEnd?: (index: number, label: string, result: unknown, usage: unknown) => void;\n\t/** Se llama EN CUANTO un subagente entrega un hallazgo con `yield` — antes de que termine (contrato/yield.ts). */\n\tonAgentYield?: (index: number, label: string, hallazgo: HallazgoParcial) => void;\n\tonPhase?: (title: string) => void;\n\tonLog?: (message: string) => void;\n\tonTokenUsage?: (usage: unknown) => void;\n\tconfirm?: (prompt: string, options: unknown) => Promise<unknown>;\n\targs?: Record<string, unknown>;\n\tsignal?: AbortSignal;\n\t/** runId fijo para resume (mismo run). Default: generado. */\n\trunId?: string;\n}\n\nexport interface JournalEntryLike {\n\thash: string;\n\tresult: unknown;\n\tstoreDelta?: Record<string, unknown>;\n}\n\n/** Limiter de concurrencia (semáforo simple). */\nexport function createLimiter(maxConcurrent: number): <T>(fn: () => Promise<T>) => Promise<T> {\n\tlet active = 0;\n\tconst queue: Array<() => void> = [];\n\treturn async <T>(fn: () => Promise<T>): Promise<T> => {\n\t\tif (active >= maxConcurrent) {\n\t\t\tawait new Promise<void>((resolve) => queue.push(resolve));\n\t\t}\n\t\tactive++;\n\t\ttry {\n\t\t\treturn await fn();\n\t\t} finally {\n\t\t\tactive--;\n\t\t\tqueue.shift()?.();\n\t\t}\n\t};\n}\n\n/**\n * Extrae `export const meta = {...}` del script: devuelve { meta, body }.\n * Fallo con WORKFLOW_INVALID_SCRIPT si no hay meta o el JS no balancea.\n */\nexport function parseWorkflowScript(script: string): { meta: WorkflowMeta; body: string } {\n\t// ESTO NO ES UNA FRONTERA DE SEGURIDAD, y decir lo contrario nos costaría la\n\t// credibilidad delante de un evaluador.\n\t//\n\t// La lista negra es una expresión regular sobre el TEXTO del guion, así que\n\t// solo para al que escribe `process.` o `require(` literalmente. El escape\n\t// clásico de `node:vm` por la cadena de constructores la atraviesa entera.\n\t// Medido ejecutándolo:\n\t//\n\t// const real = this.constructor.constructor(\"return process\")();\n\t// → {\"pid\":80212,\"envs\":67,\"cwd\":\"/Users/…/packages/coding-agent\"}\n\t//\n\t// El propio Node lo dice en su documentación: «The node:vm module is not a\n\t// security mechanism. Do not use it to run untrusted code.»\n\t//\n\t// Lo que SÍ hace esto, y es lo único que se puede prometer: atrapar el acceso\n\t// ingenuo al host —el guion que un modelo escribe sin mala intención porque\n\t// está acostumbrado a Node— y convertirlo en un error legible en vez de en un\n\t// comportamiento raro. Para código de orquestación NO CONFIABLE la respuesta\n\t// es un contenedor, no esto.\n\t//\n\t// La guarda de este límite está en `test/workflows-sandbox-limite.test.ts`: si\n\t// alguien sustituye `node:vm` por un aislador de verdad, esa prueba se pondrá\n\t// roja y habrá que reescribir esta advertencia. Es el orden correcto.\n\tif (HOST_BUILTIN_BLOCKLIST.test(script)) {\n\t\tthrow new WorkflowError(\n\t\t\t\"WORKFLOW_INVALID_SCRIPT\",\n\t\t\t\"El guion usa require/process/import, que no están disponibles en el intérprete de workflows. \" +\n\t\t\t\t\"Usa los enlaces del guion (agent, parallel, pipeline, log). Aviso: este filtro atrapa el acceso \" +\n\t\t\t\t\"ingenuo al host, NO es un aislamiento de seguridad — para código no confiable, contenedor.\",\n\t\t\t{ recoverable: false },\n\t\t);\n\t}\n\tconst match = /export\\s+const\\s+meta\\s*=\\s*({)/m.exec(script);\n\tif (!match) {\n\t\tthrow new WorkflowError(\"WORKFLOW_INVALID_SCRIPT\", \"Script must export `const meta = {...}`\", {\n\t\t\trecoverable: false,\n\t\t});\n\t}\n\t// Extraer el objeto JSON con llaves balanceadas (el regex no-greedy falla con objetos anidados).\n\tconst start = match.index + match[0].length - 1;\n\tlet depth = 0;\n\tlet end = -1;\n\tlet inString = false;\n\tlet escaped = false;\n\tfor (let i = start; i < script.length; i++) {\n\t\tconst ch = script[i];\n\t\tif (inString) {\n\t\t\tif (escaped) escaped = false;\n\t\t\telse if (ch === \"\\\\\") escaped = true;\n\t\t\telse if (ch === '\"') inString = false;\n\t\t\tcontinue;\n\t\t}\n\t\tif (ch === '\"') inString = true;\n\t\telse if (ch === \"{\") depth++;\n\t\telse if (ch === \"}\") {\n\t\t\tdepth--;\n\t\t\tif (depth === 0) {\n\t\t\t\tend = i;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\tif (end === -1) {\n\t\tthrow new WorkflowError(\"WORKFLOW_INVALID_SCRIPT\", \"meta object is not closed\", { recoverable: false });\n\t}\n\tconst metaSource = script.slice(start, end + 1);\n\tlet meta: WorkflowMeta;\n\ttry {\n\t\tmeta = JSON.parse(metaSource) as WorkflowMeta;\n\t} catch {\n\t\tthrow new WorkflowError(\n\t\t\t\"WORKFLOW_INVALID_SCRIPT\",\n\t\t\t\"meta is not valid JSON — use plain JSON (no functions/comments)\",\n\t\t\t{\n\t\t\t\trecoverable: false,\n\t\t\t},\n\t\t);\n\t}\n\tif (!meta.name || !meta.description) {\n\t\tthrow new WorkflowError(\"WORKFLOW_INVALID_SCRIPT\", \"meta requires name and description\", { recoverable: false });\n\t}\n\tconst body = script.slice(end + 1).trim();\n\tif (!body) {\n\t\tthrow new WorkflowError(\"WORKFLOW_INVALID_SCRIPT\", \"Script has no body\", { recoverable: false });\n\t}\n\treturn { meta, body };\n}\n\nexport async function runWorkflow<T = unknown>(\n\tscript: string,\n\toptions: WorkflowRuntimeOptions,\n): Promise<WorkflowRunResult<T>> {\n\tconst limits: WorkflowLimits = { ...DEFAULT_WORKFLOW_LIMITS, ...options.limits };\n\tconst { meta, body } = parseWorkflowScript(script);\n\n\tconst runId = options.runId ?? `wf-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 8)}`;\n\tconst store = new SharedStore();\n\tconst agentCounter = { count: 0 };\n\tconst limiter = createLimiter(limits.maxConcurrency);\n\tconst runner = new AgentRunner({\n\t\tagentDir: options.agentDir,\n\t\tcreateSession: options.createSession,\n\t\tlimiter,\n\t\tagentCounter,\n\t\tmaxAgents: limits.maxAgentsPerRun,\n\t\tretries: limits.maxRetries,\n\t\tagentTimeoutMs: limits.agentTimeoutMs,\n\t});\n\n\tconst logs: string[] = [];\n\tconst phases: string[] = [];\n\tlet callIndex = 0;\n\tconst tokenUsage = { input: 0, output: 0, total: 0, cost: 0, cacheRead: 0, cacheWrite: 0 };\n\tconst started = Date.now();\n\n\tconst log = (message: string) => {\n\t\tlogs.push(message);\n\t\toptions.onLog?.(message);\n\t};\n\n\t// Se cargan una vez por run y se memoriza: un workflow con cien agentes no\n\t// puede leer el disco cien veces.\n\tlet agentesDefinidos: ReturnType<typeof cargarAgentes>[\"agentes\"] | null = null;\n\tconst resolverAgentesDefinidos = () => {\n\t\tif (agentesDefinidos) return agentesDefinidos;\n\t\t// Los de proyecto solo cuentan si el proyecto es de confianza: vienen del\n\t\t// repositorio, igual que una extensión.\n\t\tconst requiere = hasTrustRequiringProjectResources(options.cwd);\n\t\tconst carga = cargarAgentes({\n\t\t\tagentDir: options.agentDir,\n\t\t\tcwd: options.cwd,\n\t\t\tproyectoDeConfianza: !requiere || new ProjectTrustStore(options.agentDir).get(options.cwd) === true,\n\t\t\tconfigDirName: CONFIG_DIR_NAME,\n\t\t});\n\t\tfor (const problema of carga.problemas) {\n\t\t\toptions.onLog?.(`[agents] ${problema.ruta}: ${problema.motivo}`);\n\t\t}\n\t\tif (carga.bloqueadosSinConfianza > 0) {\n\t\t\toptions.onLog?.(\n\t\t\t\t`[agents] ${carga.bloqueadosSinConfianza} agente(s) del proyecto ignorados: el proyecto no es de confianza`,\n\t\t\t);\n\t\t}\n\t\tagentesDefinidos = carga.agentes;\n\t\treturn agentesDefinidos;\n\t};\n\n\tconst agent = async <_TSchemaDef extends TSchema | undefined = undefined>(\n\t\tagentOptions: Parameters<WorkflowApi[\"agent\"]>[0],\n\t) => {\n\t\tconst index = callIndex++;\n\t\toptions.onAgentStart?.(index, agentOptions.label ?? `agent-${index}`, agentOptions.phase);\n\n\t\t// Agentes definidos por el usuario en Markdown. Sus ajustes son la BASE:\n\t\t// lo que el script pase explícitamente gana, para que un workflow pueda\n\t\t// ajustar un agente prestado sin tener que copiarlo entero.\n\t\tif (agentOptions.agentType) {\n\t\t\tconst disponibles = resolverAgentesDefinidos();\n\t\t\tconst definido = disponibles.find((a) => a.nombre === agentOptions.agentType);\n\t\t\tif (!definido) {\n\t\t\t\t// Ignorarlo en silencio dejaría al workflow corriendo con un agente\n\t\t\t\t// genérico creyendo que usa el suyo.\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`agentType '${agentOptions.agentType}' no existe. Disponibles: ${disponibles.map((a) => a.nombre).join(\", \") || \"(ninguno)\"}`,\n\t\t\t\t);\n\t\t\t}\n\t\t\tagentOptions = { ...aOpcionesDeAgente(definido), ...agentOptions };\n\t\t}\n\n\t\tconst journalKey = `${runId}:${index}`;\n\t\tconst identityHash = agentIdentityHash({\n\t\t\tprompt: agentOptions.prompt,\n\t\t\tmodel: agentOptions.model,\n\t\t\ttier: agentOptions.tier,\n\t\t\tphase: agentOptions.phase,\n\t\t\tstableKey: agentOptions.stableKey,\n\t\t\tschema: agentOptions.schema,\n\t\t});\n\t\tconst cached = options.resumeJournal?.get(journalKey);\n\t\tif (cached && cached.hash === identityHash) {\n\t\t\tif (cached.storeDelta) store.applyDelta(cached.storeDelta);\n\t\t\toptions.onAgentEnd?.(index, agentOptions.label ?? `agent-${index}`, cached.result, { cached: true });\n\t\t\treturn cached.result;\n\t\t}\n\n\t\tconst label = agentOptions.label ?? `agent-${index}`;\n\t\tconst onYieldDelScript = agentOptions.onYield;\n\t\tconst result = await runner.run({\n\t\t\t...agentOptions,\n\t\t\t// Combina el onYield del propio script (si lo puso) con el del host: los\n\t\t\t// dos quieren enterarse del mismo hallazgo, en el mismo instante.\n\t\t\tonYield: (hallazgo) => {\n\t\t\t\toptions.onAgentYield?.(index, label, hallazgo);\n\t\t\t\tonYieldDelScript?.(hallazgo);\n\t\t\t},\n\t\t\t// Determinista: un resume reencuentra el mismo worktree.\n\t\t\tisolationKey: journalKey.replace(\":\", \"-\"),\n\t\t\tcwd: agentOptions.cwd ?? options.cwd,\n\t\t});\n\t\tif (result === null) return null;\n\n\t\ttokenUsage.input += result.usage.input;\n\t\ttokenUsage.output += result.usage.output;\n\t\ttokenUsage.total += result.usage.total;\n\t\ttokenUsage.cost += result.usage.cost;\n\t\ttokenUsage.cacheRead += result.usage.cacheRead ?? 0;\n\t\ttokenUsage.cacheWrite += result.usage.cacheWrite ?? 0;\n\n\t\t// Journal para el resume: identidad + resultado del agente. NO se guarda\n\t\t// storeDelta a propósito — en este DSL el store lo escribe el SCRIPT, no\n\t\t// los agentes, y al reanudar el script se re-ejecuta entero (con\n\t\t// Math.random/Date.now deshabilitados para que sea determinista), así que\n\t\t// el store se reconstruye solo. Guardar deltas sería estado duplicado.\n\t\toptions.onJournalEntry?.({ index, hash: identityHash, result: result.result });\n\t\toptions.onAgentEnd?.(index, agentOptions.label ?? `agent-${index}`, result.result, result.usage);\n\t\treturn result.result;\n\t};\n\n\tconst parallel = async <R>(fns: Array<() => Promise<R>>): Promise<Array<Awaited<R>>> => {\n\t\treturn Promise.all(fns.map((fn) => fn()));\n\t};\n\n\tconst pipeline = async <R>(fns: Array<(prev?: Awaited<R>) => Promise<R>>): Promise<Awaited<R>> => {\n\t\tlet prev: Awaited<R> | undefined;\n\t\tfor (const fn of fns) {\n\t\t\tprev = await fn(prev);\n\t\t}\n\t\treturn prev as Awaited<R>;\n\t};\n\n\tconst phase = (title: string, detail?: string) => {\n\t\tphases.push(title);\n\t\toptions.onPhase?.(title);\n\t\tif (detail) log(`phase ${title}: ${detail}`);\n\t};\n\n\tconst checkpoint = async <T>(\n\t\tpromptText: string,\n\t\tcheckpointOptions?: {\n\t\t\tdefault?: unknown;\n\t\t\theadless?: \"default\" | \"abort\";\n\t\t\tkind?: \"confirm\" | \"input\" | \"select\";\n\t\t\tchoices?: string[];\n\t\t},\n\t) => {\n\t\tif (options.confirm) {\n\t\t\treturn (await options.confirm(promptText, checkpointOptions)) as T;\n\t\t}\n\t\tif (checkpointOptions?.headless === \"abort\") {\n\t\t\tthrow new WorkflowError(\n\t\t\t\t\"WORKFLOW_ABORTED\",\n\t\t\t\t`checkpoint \"${promptText}\" needs human input but none is available`,\n\t\t\t\t{\n\t\t\t\t\trecoverable: false,\n\t\t\t\t},\n\t\t\t);\n\t\t}\n\t\treturn (checkpointOptions?.default ?? true) as T;\n\t};\n\n\tconst api: WorkflowApi = {\n\t\tagent,\n\t\tparallel,\n\t\tpipeline,\n\t\tphase,\n\t\tstore: {\n\t\t\tput: (k, v) => store.put(k, v),\n\t\t\tget: <U>(k: string) => store.get<U>(k),\n\t\t\thas: (k) => store.has(k),\n\t\t\tdelete: (k) => store.delete(k),\n\t\t\tentries: () => store.entries(),\n\t\t},\n\t\tcheckpoint,\n\t\targs: options.args ?? {},\n\t\tcwd: options.cwd ?? process.cwd(),\n\t\trunId,\n\t\tlog,\n\t};\n\n\tconst context = vm.createContext({\n\t\t...api,\n\t\tObject,\n\t\tArray,\n\t\tJSON,\n\t\tMath: {\n\t\t\t...Math,\n\t\t\trandom: () => {\n\t\t\t\tthrow new Error(\"Math.random disabled\");\n\t\t\t},\n\t\t},\n\t\tDate: { ...Date, now: () => started },\n\t\tPromise,\n\t\tSet,\n\t\tMap,\n\t\tError,\n\t\tString,\n\t\tNumber,\n\t\tBoolean,\n\t\tconsole: {\n\t\t\tlog,\n\t\t\tinfo: log,\n\t\t\twarn: (m: unknown) => log(`[warn] ${String(m)}`),\n\t\t\terror: (m: unknown) => log(`[error] ${String(m)}`),\n\t\t},\n\t\t// Timers: necesarios para esperas cooperativas en scripts (no son acceso\n\t\t// a host — solo programan la cola del event loop).\n\t\tsetTimeout,\n\t\tclearTimeout,\n\t\tsetInterval,\n\t\tclearInterval,\n\t});\n\n\tconst wrapped = `(async () => {\\n${body}\\n})()`;\n\n\tconst scriptTimeout = new Promise<never>((_resolve, reject) => {\n\t\tsetTimeout(() => {\n\t\t\treject(\n\t\t\t\tnew WorkflowError(\"WORKFLOW_SCRIPT_TIMEOUT\", \"Workflow script exceeded its timeout\", {\n\t\t\t\t\trecoverable: false,\n\t\t\t\t}),\n\t\t\t);\n\t\t}, limits.scriptTimeoutMs);\n\t});\n\n\tlet aborted = false;\n\tif (options.signal?.aborted) {\n\t\taborted = true;\n\t} else if (options.signal) {\n\t\toptions.signal.addEventListener(\n\t\t\t\"abort\",\n\t\t\t() => {\n\t\t\t\taborted = true;\n\t\t\t},\n\t\t\t{ once: true },\n\t\t);\n\t}\n\n\t// Notificador de abort: interrumpe el race (≤25ms). El interval se limpia\n\t// SIEMPRE en el finally, así ninguna promesa queda viva tras el run.\n\t// Abort mediante sentinel (nunca rechazo → nunca unhandled).\n\t// El interval se limpia SIEMPRE en el finally.\n\tconst ABORT_SENTINEL = Symbol(\"abort\");\n\tlet abortTimer: ReturnType<typeof setInterval> | undefined;\n\tconst abortNotifier = new Promise<unknown>((resolve) => {\n\t\tabortTimer = setInterval(() => {\n\t\t\tif (aborted) {\n\t\t\t\tclearInterval(abortTimer);\n\t\t\t\tresolve(ABORT_SENTINEL);\n\t\t\t}\n\t\t}, 25);\n\t});\n\n\ttry {\n\t\tconst result = await Promise.race([\n\t\t\tnew vm.Script(wrapped, { filename: `${meta.name || \"workflow\"}.js` }).runInContext(context),\n\t\t\tscriptTimeout,\n\t\t\tabortNotifier,\n\t\t]);\n\t\tif (result === ABORT_SENTINEL) {\n\t\t\tthrow new WorkflowError(\"WORKFLOW_ABORTED\", \"Workflow aborted\", { recoverable: false });\n\t\t}\n\n\t\toptions.onTokenUsage?.(tokenUsage);\n\t\treturn {\n\t\t\tmeta,\n\t\t\tresult: result as T,\n\t\t\tlogs,\n\t\t\tphases,\n\t\t\tagentCount: agentCounter.count,\n\t\t\tdurationMs: Date.now() - started,\n\t\t\trunId,\n\t\t\ttokenUsage,\n\t\t};\n\t} finally {\n\t\tif (abortTimer) clearInterval(abortTimer);\n\t}\n}\n\n/** Re-export del hash para journaling externo. */\nexport { agentIdentityHash };\nexport type { WorkflowErrorCode };\n"]}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/core/workflows/runtime.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"save-as-skill.d.ts","sourceRoot":"","sources":["../../../src/core/workflows/save-as-skill.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGtD,MAAM,WAAW,iBAAiB;IACjC,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAKD,wBAAsB,cAAc,CAAC,OAAO,EAAE;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,iBAAiB,CAAC;CACvB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAsC7B","sourcesContent":["/**\n * `workflow save-as-skill` — empaqueta un run YA EJECUTADO como algo\n * re-ejecutable por nombre.\n *\n * Todo el sustrato existía y nadie escribía en él: `PersistedRunState` guarda el\n * script del run, sus args, fases y journal; `resolveWorkflowScriptByName` ya\n * resuelve `<agentDir>/workflows/<name>.js` como script de usuario de primera\n * clase. Solo faltaba el comando que uniera las dos cosas.\n *\n * Es estrictamente mejor que las \"skills\" auto-generadas de otros harnesses,\n * que son descripciones que el modelo *cree* haber seguido: aquí el script\n * guardado se ejecutó de verdad, y su procedencia (runId, args, resultado) queda\n * en la cabecera.\n */\n\nimport { mkdir, writeFile } from \"node:fs/promises\";\nimport { join } from \"node:path\";\nimport type { PersistedRunState } from \"./journal.ts\";\nimport { resolveBuiltinWorkflowScript } from \"./resolve-script.ts\";\n\nexport interface SaveAsSkillResult {\n\tok: boolean;\n\terror?: string;\n\tfilePath?: string;\n\tname?: string;\n}\n\n/** Nombres válidos de fichero: sin rutas ni sorpresas. */\nconst VALID_NAME = /^[a-z0-9][a-z0-9_-]{0,63}$/i;\n\nexport async function saveRunAsSkill(options: {\n\tagentDir: string;\n\tname: string;\n\trun: PersistedRunState;\n}): Promise<SaveAsSkillResult> {\n\tconst { agentDir, name, run } = options;\n\n\tif (!VALID_NAME.test(name)) {\n\t\treturn { ok: false, error: `Nombre inválido '${name}': usa letras, números, guion y guion bajo.` };\n\t}\n\n\t// Evidence gate: no se empaqueta un run que no llegó a terminar bien. Un\n\t// script \"reutilizable\" que nunca funcionó es peor que no tenerlo.\n\tif (run.status !== \"completed\") {\n\t\treturn {\n\t\t\tok: false,\n\t\t\terror: `El run ${run.runId} está en estado '${run.status}'. Solo se empaquetan runs completados (evidence gate).`,\n\t\t};\n\t}\n\n\t// Los builtins se resuelven ANTES que los scripts de usuario, así que\n\t// guardar con un nombre reservado crearía un fichero inalcanzable en\n\t// silencio. Mejor rechazarlo en el momento de guardar.\n\tif (resolveBuiltinWorkflowScript(name)) {\n\t\treturn { ok: false, error: `'${name}' es un workflow builtin. Elige otro nombre.` };\n\t}\n\n\t// Solo se guarda `run.script`: vino de un builtin o de un script de usuario\n\t// ya confiado. Nunca JS escrito por el modelo en caliente.\n\tconst header = [\n\t\t\"// Guardado por `workflow save-as-skill`.\",\n\t\t`// Procedencia: run ${run.runId} (${run.name}), completado ${run.updatedAt}.`,\n\t\t`// Args de aquella ejecución: ${JSON.stringify(run.args ?? {})}`,\n\t\trun.resultPath ? `// Resultado: ${run.resultPath}` : \"// Resultado: (no persistido)\",\n\t\t\"\",\n\t].join(\"\\n\");\n\n\tconst dir = join(agentDir, \"workflows\");\n\tawait mkdir(dir, { recursive: true });\n\tconst filePath = join(dir, `${name}.js`);\n\tawait writeFile(filePath, header + run.script, \"utf-8\");\n\treturn { ok: true, filePath, name };\n}\n"]}
1
+ {"version":3,"file":"save-as-skill.d.ts","sourceRoot":"","sources":["../../../src/core/workflows/save-as-skill.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGtD,MAAM,WAAW,iBAAiB;IACjC,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAKD,wBAAsB,cAAc,CAAC,OAAO,EAAE;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,iBAAiB,CAAC;CACvB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAsC7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"save-as-skill.js","sourceRoot":"","sources":["../../../src/core/workflows/save-as-skill.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AASnE,2DAA0D;AAC1D,MAAM,UAAU,GAAG,6BAA6B,CAAC;AAEjD,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAIpC,EAA8B;IAC9B,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAExC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAoB,IAAI,8CAA6C,EAAE,CAAC;IACpG,CAAC;IAED,0EAAyE;IACzE,oEAAmE;IACnE,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QAChC,OAAO;YACN,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,UAAU,GAAG,CAAC,KAAK,qBAAoB,GAAG,CAAC,MAAM,yDAAyD;SACjH,CAAC;IACH,CAAC;IAED,uEAAsE;IACtE,sEAAqE;IACrE,uDAAuD;IACvD,IAAI,4BAA4B,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,IAAI,8CAA8C,EAAE,CAAC;IACrF,CAAC;IAED,4EAA4E;IAC5E,2DAA2D;IAC3D,MAAM,MAAM,GAAG;QACd,2CAA2C;QAC3C,uBAAuB,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,IAAI,iBAAiB,GAAG,CAAC,SAAS,GAAG;QAC9E,kCAAiC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE;QACjE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,iBAAiB,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,+BAA+B;QACpF,EAAE;KACF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACxC,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC;IACzC,MAAM,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAAA,CACpC","sourcesContent":["/**\n * `workflow save-as-skill` — empaqueta un run YA EJECUTADO como algo\n * re-ejecutable por nombre.\n *\n * Todo el sustrato existía y nadie escribía en él: `PersistedRunState` guarda el\n * script del run, sus args, fases y journal; `resolveWorkflowScriptByName` ya\n * resuelve `<agentDir>/workflows/<name>.js` como script de usuario de primera\n * clase. Solo faltaba el comando que uniera las dos cosas.\n *\n * Es estrictamente mejor que las \"skills\" auto-generadas de otros harnesses,\n * que son descripciones que el modelo *cree* haber seguido: aquí el script\n * guardado se ejecutó de verdad, y su procedencia (runId, args, resultado) queda\n * en la cabecera.\n */\n\nimport { mkdir, writeFile } from \"node:fs/promises\";\nimport { join } from \"node:path\";\nimport type { PersistedRunState } from \"./journal.ts\";\nimport { resolveBuiltinWorkflowScript } from \"./resolve-script.ts\";\n\nexport interface SaveAsSkillResult {\n\tok: boolean;\n\terror?: string;\n\tfilePath?: string;\n\tname?: string;\n}\n\n/** Nombres válidos de fichero: sin rutas ni sorpresas. */\nconst VALID_NAME = /^[a-z0-9][a-z0-9_-]{0,63}$/i;\n\nexport async function saveRunAsSkill(options: {\n\tagentDir: string;\n\tname: string;\n\trun: PersistedRunState;\n}): Promise<SaveAsSkillResult> {\n\tconst { agentDir, name, run } = options;\n\n\tif (!VALID_NAME.test(name)) {\n\t\treturn { ok: false, error: `Nombre inválido '${name}': usa letras, números, guion y guion bajo.` };\n\t}\n\n\t// Evidence gate: no se empaqueta un run que no llegó a terminar bien. Un\n\t// script \"reutilizable\" que nunca funcionó es peor que no tenerlo.\n\tif (run.status !== \"completed\") {\n\t\treturn {\n\t\t\tok: false,\n\t\t\terror: `El run ${run.runId} está en estado '${run.status}'. Solo se empaquetan runs completados (evidence gate).`,\n\t\t};\n\t}\n\n\t// Los builtins se resuelven ANTES que los scripts de usuario, así que\n\t// guardar con un nombre reservado crearía un fichero inalcanzable en\n\t// silencio. Mejor rechazarlo en el momento de guardar.\n\tif (resolveBuiltinWorkflowScript(name)) {\n\t\treturn { ok: false, error: `'${name}' es un workflow builtin. Elige otro nombre.` };\n\t}\n\n\t// Solo se guarda `run.script`: vino de un builtin o de un script de usuario\n\t// ya confiado. Nunca JS escrito por el modelo en caliente.\n\tconst header = [\n\t\t\"// Guardado por `workflow save-as-skill`.\",\n\t\t`// Procedencia: run ${run.runId} (${run.name}), completado ${run.updatedAt}.`,\n\t\t`// Args de aquella ejecución: ${JSON.stringify(run.args ?? {})}`,\n\t\trun.resultPath ? `// Resultado: ${run.resultPath}` : \"// Resultado: (no persistido)\",\n\t\t\"\",\n\t].join(\"\\n\");\n\n\tconst dir = join(agentDir, \"workflows\");\n\tawait mkdir(dir, { recursive: true });\n\tconst filePath = join(dir, `${name}.js`);\n\tawait writeFile(filePath, header + run.script, \"utf-8\");\n\treturn { ok: true, filePath, name };\n}\n"]}
1
+ {"version":3,"file":"save-as-skill.js","sourceRoot":"","sources":["../../../src/core/workflows/save-as-skill.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AASnE,0DAA0D;AAC1D,MAAM,UAAU,GAAG,6BAA6B,CAAC;AAEjD,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAIpC;IACA,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAExC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,IAAI,6CAA6C,EAAE,CAAC;IACpG,CAAC;IAED,yEAAyE;IACzE,mEAAmE;IACnE,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QAChC,OAAO;YACN,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,UAAU,GAAG,CAAC,KAAK,oBAAoB,GAAG,CAAC,MAAM,yDAAyD;SACjH,CAAC;IACH,CAAC;IAED,sEAAsE;IACtE,qEAAqE;IACrE,uDAAuD;IACvD,IAAI,4BAA4B,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,IAAI,8CAA8C,EAAE,CAAC;IACrF,CAAC;IAED,4EAA4E;IAC5E,2DAA2D;IAC3D,MAAM,MAAM,GAAG;QACd,2CAA2C;QAC3C,uBAAuB,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,IAAI,iBAAiB,GAAG,CAAC,SAAS,GAAG;QAC9E,iCAAiC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE;QACjE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,iBAAiB,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,+BAA+B;QACpF,EAAE;KACF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACxC,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC;IACzC,MAAM,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACrC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"shared-store.d.ts","sourceRoot":"","sources":["../../../src/core/workflows/shared-store.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,qBAAa,WAAW;IACvB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA8B;IAClD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8C;IAC1E,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAwE;IAEpG,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAErC;IAED,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAE3C;IAED,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAExB;IAED,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE3B;IAED,OAAO,IAAI,KAAK,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAElC;IAED;;;OAGG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAmB5D;IAED,+DAA8D;IAC9D,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAKrD;IAED,sDAAsD;IACtD,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAUnC;IAED,0DAA0D;IAC1D,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAI/C;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;CACD","sourcesContent":["/**\n * SharedStore — KV en memoria compartido entre los subagentes de un run.\n *\n * Cada agente escribe deltas (`trackPut` con deltaKey `${runId}:${callIndex}`)\n * que se journalizan; en resume se re-aplican en orden callSeq. Los valores\n * previos se shadowean para rollback de retries fallidos (patrón\n * pi-dynamic-workflows).\n */\n\nexport class SharedStore {\n\tprivate readonly map = new Map<string, unknown>();\n\tprivate readonly agentDeltas = new Map<string, Record<string, unknown>>();\n\tprivate readonly priorValues = new Map<string, Map<string, { existed: boolean; value: unknown }>>();\n\n\tput(key: string, value: unknown): void {\n\t\tthis.map.set(key, value);\n\t}\n\n\tget<T = unknown>(key: string): T | undefined {\n\t\treturn this.map.get(key) as T | undefined;\n\t}\n\n\thas(key: string): boolean {\n\t\treturn this.map.has(key);\n\t}\n\n\tdelete(key: string): boolean {\n\t\treturn this.map.delete(key);\n\t}\n\n\tentries(): Array<[string, unknown]> {\n\t\treturn [...this.map.entries()];\n\t}\n\n\t/**\n\t * Escribe y registra el delta para `deltaKey` (run-unique).\n\t * Shadowea el valor previo solo la primera vez dentro de la ventana.\n\t */\n\ttrackPut(key: string, value: unknown, deltaKey: string): void {\n\t\tlet priors = this.priorValues.get(deltaKey);\n\t\tif (!priors) {\n\t\t\tpriors = new Map();\n\t\t\tthis.priorValues.set(deltaKey, priors);\n\t\t}\n\t\tif (!priors.has(key)) {\n\t\t\tpriors.set(\n\t\t\t\tkey,\n\t\t\t\tthis.map.has(key) ? { existed: true, value: this.map.get(key) } : { existed: false, value: undefined },\n\t\t\t);\n\t\t}\n\t\tthis.map.set(key, value);\n\t\tlet delta = this.agentDeltas.get(deltaKey);\n\t\tif (!delta) {\n\t\t\tdelta = {};\n\t\t\tthis.agentDeltas.set(deltaKey, delta);\n\t\t}\n\t\tdelta[key] = value;\n\t}\n\n\t/** Delta consolidado para journalizar (el agente terminó). */\n\tcommitDelta(deltaKey: string): Record<string, unknown> {\n\t\tconst delta = this.agentDeltas.get(deltaKey) ?? {};\n\t\tthis.agentDeltas.delete(deltaKey);\n\t\tthis.priorValues.delete(deltaKey);\n\t\treturn delta;\n\t}\n\n\t/** Rollback de las escrituras de un retry fallido. */\n\tdiscardDelta(deltaKey: string): void {\n\t\tconst priors = this.priorValues.get(deltaKey);\n\t\tif (priors) {\n\t\t\tfor (const [key, prior] of priors) {\n\t\t\t\tif (prior.existed) this.map.set(key, prior.value);\n\t\t\t\telse this.map.delete(key);\n\t\t\t}\n\t\t}\n\t\tthis.agentDeltas.delete(deltaKey);\n\t\tthis.priorValues.delete(deltaKey);\n\t}\n\n\t/** Replay aditivo de deltas en orden callSeq (resume). */\n\tapplyDelta(delta: Record<string, unknown>): void {\n\t\tfor (const [key, value] of Object.entries(delta)) {\n\t\t\tthis.map.set(key, value);\n\t\t}\n\t}\n\n\tget size(): number {\n\t\treturn this.map.size;\n\t}\n}\n"]}
1
+ {"version":3,"file":"shared-store.d.ts","sourceRoot":"","sources":["../../../src/core/workflows/shared-store.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,qBAAa,WAAW;IACvB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA8B;IAClD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8C;IAC1E,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAwE;IAEpG,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAItC,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAI5C,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI5B,OAAO,IAAI,KAAK,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAInC;;;OAGG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAqB7D,8DAA8D;IAC9D,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAOtD,sDAAsD;IACtD,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAYpC,0DAA0D;IAC1D,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAMhD,IAAI,IAAI,IAAI,MAAM,CAEjB;CACD"}
@@ -1 +1 @@
1
- {"version":3,"file":"shared-store.js","sourceRoot":"","sources":["../../../src/core/workflows/shared-store.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * SharedStore — KV en memoria compartido entre los subagentes de un run.\n *\n * Cada agente escribe deltas (`trackPut` con deltaKey `${runId}:${callIndex}`)\n * que se journalizan; en resume se re-aplican en orden callSeq. Los valores\n * previos se shadowean para rollback de retries fallidos (patrón\n * pi-dynamic-workflows).\n */\n\nexport class SharedStore {\n\tprivate readonly map = new Map<string, unknown>();\n\tprivate readonly agentDeltas = new Map<string, Record<string, unknown>>();\n\tprivate readonly priorValues = new Map<string, Map<string, { existed: boolean; value: unknown }>>();\n\n\tput(key: string, value: unknown): void {\n\t\tthis.map.set(key, value);\n\t}\n\n\tget<T = unknown>(key: string): T | undefined {\n\t\treturn this.map.get(key) as T | undefined;\n\t}\n\n\thas(key: string): boolean {\n\t\treturn this.map.has(key);\n\t}\n\n\tdelete(key: string): boolean {\n\t\treturn this.map.delete(key);\n\t}\n\n\tentries(): Array<[string, unknown]> {\n\t\treturn [...this.map.entries()];\n\t}\n\n\t/**\n\t * Escribe y registra el delta para `deltaKey` (run-unique).\n\t * Shadowea el valor previo solo la primera vez dentro de la ventana.\n\t */\n\ttrackPut(key: string, value: unknown, deltaKey: string): void {\n\t\tlet priors = this.priorValues.get(deltaKey);\n\t\tif (!priors) {\n\t\t\tpriors = new Map();\n\t\t\tthis.priorValues.set(deltaKey, priors);\n\t\t}\n\t\tif (!priors.has(key)) {\n\t\t\tpriors.set(\n\t\t\t\tkey,\n\t\t\t\tthis.map.has(key) ? { existed: true, value: this.map.get(key) } : { existed: false, value: undefined },\n\t\t\t);\n\t\t}\n\t\tthis.map.set(key, value);\n\t\tlet delta = this.agentDeltas.get(deltaKey);\n\t\tif (!delta) {\n\t\t\tdelta = {};\n\t\t\tthis.agentDeltas.set(deltaKey, delta);\n\t\t}\n\t\tdelta[key] = value;\n\t}\n\n\t/** Delta consolidado para journalizar (el agente terminó). */\n\tcommitDelta(deltaKey: string): Record<string, unknown> {\n\t\tconst delta = this.agentDeltas.get(deltaKey) ?? {};\n\t\tthis.agentDeltas.delete(deltaKey);\n\t\tthis.priorValues.delete(deltaKey);\n\t\treturn delta;\n\t}\n\n\t/** Rollback de las escrituras de un retry fallido. */\n\tdiscardDelta(deltaKey: string): void {\n\t\tconst priors = this.priorValues.get(deltaKey);\n\t\tif (priors) {\n\t\t\tfor (const [key, prior] of priors) {\n\t\t\t\tif (prior.existed) this.map.set(key, prior.value);\n\t\t\t\telse this.map.delete(key);\n\t\t\t}\n\t\t}\n\t\tthis.agentDeltas.delete(deltaKey);\n\t\tthis.priorValues.delete(deltaKey);\n\t}\n\n\t/** Replay aditivo de deltas en orden callSeq (resume). */\n\tapplyDelta(delta: Record<string, unknown>): void {\n\t\tfor (const [key, value] of Object.entries(delta)) {\n\t\t\tthis.map.set(key, value);\n\t\t}\n\t}\n\n\tget size(): number {\n\t\treturn this.map.size;\n\t}\n}\n"]}
1
+ {"version":3,"file":"shared-store.js","sourceRoot":"","sources":["../../../src/core/workflows/shared-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Presupuesto blando de requests por agente (TASK-03).
3
+ *
4
+ * Cada subagente/workflow tiene un presupuesto de requests de modelo por run.
5
+ * Cruzar el presupuesto inyecta un aviso de wrap-up ("softRequestBudgetNotice",
6
+ * activo por defecto). A 1.5x el presupuesto, el turno libre se detiene y el
7
+ * agente es llevado a un `yield` final forzado para que los hallazgos
8
+ * parciales vuelvan como informe real — no como timeout vacío.
9
+ *
10
+ * Tanto la entrada bundled del agente como `task.softRequestBudget` son cotas
11
+ * superiores: gana la más restrictiva; 0 desactiva el presupuesto.
12
+ *
13
+ * Espejo de task/executor.ts:91-126 de omp.
14
+ */
15
+ export declare function resolveSoftRequestBudget(_agentName: string, configuredBudget: number | undefined): number;
16
+ export interface BudgetState {
17
+ budget: number;
18
+ count: number;
19
+ warned: boolean;
20
+ forced: boolean;
21
+ }
22
+ export declare function createBudgetState(agentName: string, configuredBudget: number | undefined): BudgetState;
23
+ export type BudgetAction = "continue" | "warn" | "force-yield";
24
+ export declare function onRequest(state: BudgetState): BudgetAction;
25
+ export declare function wrapUpMessage(budget: number, count: number): string;
26
+ export declare function forceYieldMessage(budget: number, count: number): string;
27
+ //# sourceMappingURL=soft-budget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"soft-budget.d.ts","sourceRoot":"","sources":["../../../src/core/workflows/soft-budget.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAMzG;AAED,MAAM,WAAW,WAAW;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;CAChB;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,CAEtG;AAED,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,MAAM,GAAG,aAAa,CAAC;AAE/D,wBAAgB,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,YAAY,CAY1D;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEvE"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Presupuesto blando de requests por agente (TASK-03).
3
+ *
4
+ * Cada subagente/workflow tiene un presupuesto de requests de modelo por run.
5
+ * Cruzar el presupuesto inyecta un aviso de wrap-up ("softRequestBudgetNotice",
6
+ * activo por defecto). A 1.5x el presupuesto, el turno libre se detiene y el
7
+ * agente es llevado a un `yield` final forzado para que los hallazgos
8
+ * parciales vuelvan como informe real — no como timeout vacío.
9
+ *
10
+ * Tanto la entrada bundled del agente como `task.softRequestBudget` son cotas
11
+ * superiores: gana la más restrictiva; 0 desactiva el presupuesto.
12
+ *
13
+ * Espejo de task/executor.ts:91-126 de omp.
14
+ */
15
+ const DEFAULT_BUDGET = 25;
16
+ export function resolveSoftRequestBudget(_agentName, configuredBudget) {
17
+ if (configuredBudget === 0)
18
+ return 0;
19
+ if (configuredBudget !== undefined && configuredBudget > 0) {
20
+ return Math.min(configuredBudget, DEFAULT_BUDGET);
21
+ }
22
+ return DEFAULT_BUDGET;
23
+ }
24
+ export function createBudgetState(agentName, configuredBudget) {
25
+ return { budget: resolveSoftRequestBudget(agentName, configuredBudget), count: 0, warned: false, forced: false };
26
+ }
27
+ export function onRequest(state) {
28
+ if (state.budget === 0)
29
+ return "continue";
30
+ state.count++;
31
+ if (state.count > state.budget * 1.5 && !state.forced) {
32
+ state.forced = true;
33
+ return "force-yield";
34
+ }
35
+ if (state.count > state.budget && !state.warned) {
36
+ state.warned = true;
37
+ return "warn";
38
+ }
39
+ return "continue";
40
+ }
41
+ export function wrapUpMessage(budget, count) {
42
+ return `[Presupuesto blando de requests superado: ${count}/${budget}. Envuelve tu trabajo y entrega hallazgos parciales con yield. No inicies tareas nuevas.]`;
43
+ }
44
+ export function forceYieldMessage(budget, count) {
45
+ return `[Presupuesto excedido 1.5x (${count}/${budget}): turno detenido. Entrega un informe final con yield ahora.]`;
46
+ }
47
+ //# sourceMappingURL=soft-budget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"soft-budget.js","sourceRoot":"","sources":["../../../src/core/workflows/soft-budget.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,MAAM,cAAc,GAAG,EAAE,CAAC;AAE1B,MAAM,UAAU,wBAAwB,CAAC,UAAkB,EAAE,gBAAoC;IAChG,IAAI,gBAAgB,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACrC,IAAI,gBAAgB,KAAK,SAAS,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,cAAc,CAAC;AACvB,CAAC;AASD,MAAM,UAAU,iBAAiB,CAAC,SAAiB,EAAE,gBAAoC;IACxF,OAAO,EAAE,MAAM,EAAE,wBAAwB,CAAC,SAAS,EAAE,gBAAgB,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAClH,CAAC;AAID,MAAM,UAAU,SAAS,CAAC,KAAkB;IAC3C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,UAAU,CAAC;IAC1C,KAAK,CAAC,KAAK,EAAE,CAAC;IACd,IAAI,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACvD,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QACpB,OAAO,aAAa,CAAC;IACtB,CAAC;IACD,IAAI,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACjD,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QACpB,OAAO,MAAM,CAAC;IACf,CAAC;IACD,OAAO,UAAU,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,KAAa;IAC1D,OAAO,6CAA6C,KAAK,IAAI,MAAM,2FAA2F,CAAC;AAChK,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,KAAa;IAC9D,OAAO,+BAA+B,KAAK,IAAI,MAAM,+DAA+D,CAAC;AACtH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"subagent-host.d.ts","sourceRoot":"","sources":["../../../src/core/workflows/subagent-host.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGzD,MAAM,WAAW,4BAA4B;IAC5C,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6EAA4E;IAC5E,SAAS,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAClD;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,4BAA4B,GAAG,OAAO,CAAC,eAAe,CAAC,CAyC3G;AAsDD,sFAAsF;AACtF,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAItG;AA2CD;;;;;;;;;;;GAWG;AACH,wBAAsB,oBAAoB,CACzC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GAAG,SAAS,GACtB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAwDjC","sourcesContent":["/**\n * SubagentHost — subagente de producción: crea una sesión real del SDK\n * (createAgentSession) con el modelo resuelto, tools configuradas y límites.\n *\n * El subagente comparte el mismo runtime (memoria/vault/redacción) porque\n * createAgentSession construye un DefaultResourceLoader con el mismo agentDir\n * y el SettingsManager compartido → los subagentes heredan la memoria, el\n * vault (@vault:) y la censura de secretos (adversarial §17).\n *\n * NOTA (seguridad, fairy-tales): los subagentes usan un agentDir PROPIO\n * efímero cuando se pide aislamiento (nada de extensiones/paquetes dentro);\n * las guardas del engine se re-inyectan explícitamente.\n */\n\nimport { readFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport type { Model } from \"@earendil-works/pi-ai\";\nimport type { AgentSession } from \"../agent-session.ts\";\nimport type { ToolDefinition } from \"../extensions/types.ts\";\nimport { ModelRuntime } from \"../model-runtime.ts\";\nimport { createAgentSession } from \"../sdk.ts\";\nimport type { SubagentSession } from \"./agent-runner.ts\";\nimport type { AgentUsage } from \"./types.ts\";\n\nexport interface CreateSubagentSessionOptions {\n\tcwd: string;\n\tagentDir: string;\n\tmodelSpec?: string;\n\ttools?: string[];\n\tcustomTools?: ToolDefinition[];\n\tsessionName?: string;\n\tinstructions?: string;\n\t/** Modelo de la sesión principal: los subagentes lo HEREDAN por defecto. */\n\thostModel?: { provider: string; modelId: string };\n}\n\n/**\n * Crea un subagente real. Devuelve la sesión con su disposición y el usage.\n */\nexport async function createSubagentSession(options: CreateSubagentSessionOptions): Promise<SubagentSession> {\n\t// Routing por spec/tier (§16.2 budget): \"tier:cheap\" resuelve el modelo\n\t// barato, \"provider/model\" el explícito, y cualquier fallo cae al default.\n\tlet model = await resolveSubagentModel(options.agentDir, options.modelSpec);\n\t// Los subagentes HEREDAN el modelo de la sesión principal: si no hay spec/tier\n\t// explícito y el host tiene un modelo en uso, ese es el que se usa (misma\n\t// auth → misma API key del chat).\n\tif (!model && options.hostModel?.provider && options.hostModel.modelId) {\n\t\tmodel =\n\t\t\t(await resolveSubagentModel(options.agentDir, `${options.hostModel.provider}/${options.hostModel.modelId}`)) ??\n\t\t\tundefined;\n\t}\n\t// Thinking por tier: solo cuando el spec es tier:X y hay override en settings.\n\tconst tierMatch = options.modelSpec?.startsWith(\"tier:\")\n\t\t? (options.modelSpec.slice(5) as \"cheap\" | \"main\" | \"judge\")\n\t\t: undefined;\n\tconst thinkingLevel = tierMatch ? thinkingForTier(options.agentDir, tierMatch) : undefined;\n\n\tconst { session } = await createAgentSession({\n\t\tcwd: options.cwd,\n\t\tagentDir: options.agentDir,\n\t\ttools: options.tools,\n\t\tcustomTools: options.customTools,\n\t\t...(model ? { model } : {}),\n\t\t...(thinkingLevel ? { thinkingLevel: thinkingLevel as never } : {}),\n\t\tisSubagent: true, // anti-recursión: el HOST es el único dueño del bucle del goal\n\t});\n\n\t// Nombre de sesión + instrucciones: no hay opción directa en\n\t// createAgentSession para ambos; la instrucción va en el prompt.\n\treturn {\n\t\tsession,\n\t\tdispose: () => {\n\t\t\ttry {\n\t\t\t\tsession.dispose();\n\t\t\t} catch {\n\t\t\t\t// best-effort\n\t\t\t}\n\t\t},\n\t\tgetUsage: () => usageFromSession(session),\n\t};\n}\n\n/** Extraer el usage real de la sesión del subagente. */\nfunction usageFromSession(session: AgentSession): AgentUsage {\n\ttry {\n\t\tconst stats = session.getSessionStats();\n\t\tconst tokens = stats.tokens;\n\t\treturn {\n\t\t\tinput: tokens.input,\n\t\t\toutput: tokens.output,\n\t\t\ttotal: tokens.total,\n\t\t\tcost: stats.cost ?? 0,\n\t\t\tcacheRead: tokens.cacheRead,\n\t\t\tcacheWrite: tokens.cacheWrite,\n\t\t};\n\t} catch {\n\t\treturn { input: 0, output: 0, total: 0, cost: 0, cacheRead: 0, cacheWrite: 0 };\n\t}\n}\n\n/**\n * Fallback de emergencia: solo se usa si el discovery dinámico no encuentra\n * NINGÚN modelo con coste entre los proveedores conectados. Cada entrada se\n * valida con hasConfiguredAuth — sin credenciales se cae al default (fail-safe).\n */\nconst CHEAP_MODEL_CANDIDATES: Array<[provider: string, modelId: string]> = [\n\t[\"anthropic\", \"claude-haiku-4-5\"],\n\t[\"google\", \"gemini-2.5-flash\"],\n\t[\"google\", \"gemini-2.0-flash\"],\n\t[\"openai\", \"gpt-4o-mini\"],\n\t[\"openai\", \"gpt-5-mini\"],\n];\n\ninterface ModelsConfig {\n\tcheap?: string;\n\tmain?: string;\n\tjudge?: string;\n\tcheapCandidates?: string[];\n\tcheapThinking?: string;\n\tmainThinking?: string;\n\tjudgeThinking?: string;\n}\n\n/** Lee workflows.models del settings.json del agentDir (sin SettingsManager — función pura). */\nfunction readModelsConfig(agentDir: string): ModelsConfig {\n\ttry {\n\t\tconst raw = readFileSync(join(agentDir, \"settings.json\"), \"utf-8\");\n\t\tconst parsed = JSON.parse(raw) as { workflows?: { models?: ModelsConfig } };\n\t\treturn parsed?.workflows?.models ?? {};\n\t} catch {\n\t\treturn {};\n\t}\n}\n\n/** Thinking level del tier (workflows.models.<tier>Thinking); undefined = default. */\nexport function thinkingForTier(agentDir: string, tier: \"cheap\" | \"main\" | \"judge\"): string | undefined {\n\tconst cfg = readModelsConfig(agentDir);\n\tconst value = tier === \"cheap\" ? cfg.cheapThinking : tier === \"judge\" ? cfg.judgeThinking : cfg.mainThinking;\n\treturn typeof value === \"string\" && value.length > 0 ? value : undefined;\n}\n\n/** Parsea \"provider/model\" → [provider, model]; null si malformado. */\nfunction parseSpec(spec: string): [string, string] | null {\n\tconst slash = spec.indexOf(\"/\");\n\tif (slash <= 0 || slash === spec.length - 1) return null;\n\treturn [spec.slice(0, slash), spec.slice(slash + 1)];\n}\n\n/**\n * Discovery DINÁMICO de modelos baratos: recorre los proveedores CONECTADOS\n * (hasConfiguredAuth) del runtime, toma sus modelos con coste declarado y los\n * ordena por precio (input+output) ascendente. La lista siempre refleja lo\n * que el usuario tiene disponible de verdad — nunca modelos inexistentes.\n */\nfunction discoverCheapModels(runtime: ModelRuntime, max = 6): Array<[string, string]> {\n\tconst scored: Array<{ provider: string; model: string; cost: number }> = [];\n\tfor (const provider of runtime.getProviders()) {\n\t\tif (!runtime.hasConfiguredAuth(provider.id)) continue;\n\t\tfor (const model of runtime.getModels(provider.id)) {\n\t\t\tconst m = model as { modelId?: string; id?: string; cost?: { input?: number; output?: number } };\n\t\t\tconst modelId = m.modelId ?? m.id;\n\t\t\tconst cost = m.cost;\n\t\t\tif (!modelId || !cost || typeof cost.input !== \"number\" || typeof cost.output !== \"number\") continue;\n\t\t\tscored.push({ provider: provider.id, model: modelId, cost: cost.input + cost.output });\n\t\t}\n\t}\n\treturn scored\n\t\t.sort((a, b) => a.cost - b.cost)\n\t\t.slice(0, max)\n\t\t.map((x) => [x.provider, x.model]);\n}\n\n/** Lista del usuario (workflows.models.cheapCandidates). [] si no está configurada. */\nfunction userCheapCandidates(agentDir: string): Array<[string, string]> {\n\tconst configured = readModelsConfig(agentDir).cheapCandidates;\n\tif (!Array.isArray(configured) || configured.length === 0) return [];\n\t// Solo entradas válidas \"provider/model\" (las malas se saltan).\n\treturn configured\n\t\t.map((c) => (typeof c === \"string\" ? parseSpec(c) : null))\n\t\t.filter((c): c is [string, string] => c !== null);\n}\n\n/**\n * Resuelve el modelSpec de un subagente a un Model concreto.\n * - \"tier:cheap\" → cascada:\n * 1. workflows.models.cheap (\"provider/model\" directo)\n * 2. workflows.models.cheapCandidates (lista del usuario, en orden)\n * 3. DISCOVERY DINÁMICO: el modelo más barato con coste declarado de los\n * proveedores CONECTADOS (refleja siempre el catálogo real del SDK)\n * 4. fallback estático curado (solo si el discovery no encontró nada)\n * - \"tier:main\"/\"tier:judge\" → workflows.models.main/judge, si no default.\n * - \"provider/model\" → directo si está autenticado.\n * Devuelve undefined → createAgentSession usa su resolución por defecto.\n */\nexport async function resolveSubagentModel(\n\tagentDir: string,\n\tspec: string | undefined,\n): Promise<Model<any> | undefined> {\n\tif (!spec) return undefined;\n\tlet runtime: ModelRuntime;\n\ttry {\n\t\truntime = await ModelRuntime.create({\n\t\t\tauthPath: join(agentDir, \"auth.json\"),\n\t\t\tmodelsPath: join(agentDir, \"models.json\"),\n\t\t});\n\t} catch {\n\t\treturn undefined; // fail-safe: default\n\t}\n\tconst tryGet = (provider: string, modelId: string): Model<any> | undefined => {\n\t\tconst m = runtime.getModel(provider, modelId);\n\t\treturn m && runtime.hasConfiguredAuth(provider) ? m : undefined;\n\t};\n\n\tif (spec.startsWith(\"tier:\")) {\n\t\tconst tier = spec.slice(5);\n\t\t// Settings override PRIMERO: workflows.models.<tier> = \"provider/model\"\n\t\tconst models = readModelsConfig(agentDir);\n\t\tconst override = tier === \"cheap\" ? models.cheap : tier === \"judge\" ? models.judge : models.main;\n\t\tconst overrideSpec = override ? parseSpec(override) : null;\n\t\tif (overrideSpec) {\n\t\t\tconst m = tryGet(overrideSpec[0], overrideSpec[1]);\n\t\t\tif (m) return m;\n\t\t}\n\t\tif (tier === \"cheap\") {\n\t\t\t// 1. Lista explícita del usuario (workflows.models.cheapCandidates).\n\t\t\tfor (const candidate of userCheapCandidates(agentDir)) {\n\t\t\t\tconst m = tryGet(candidate[0], candidate[1]);\n\t\t\t\tif (m) return m;\n\t\t\t}\n\t\t\t// 2. DISCOVERY DINÁMICO: el más barato con coste declarado entre los\n\t\t\t// proveedores CONECTADOS — refleja siempre el catálogo real del SDK.\n\t\t\tfor (const [providerId, modelId] of discoverCheapModels(runtime)) {\n\t\t\t\tconst m = tryGet(providerId, modelId);\n\t\t\t\tif (m) return m;\n\t\t\t}\n\t\t\t// 3. Fallback estático de emergencia (solo si el discovery no encontró\n\t\t\t// nada — p.ej. catálogos sin costes declarados).\n\t\t\tfor (const candidate of CHEAP_MODEL_CANDIDATES) {\n\t\t\t\tconst m = tryGet(candidate[0], candidate[1]);\n\t\t\t\tif (m) return m;\n\t\t\t}\n\t\t\treturn undefined;\n\t\t}\n\t\t// tier:main / tier:judge sin override → default del host (fail-safe)\n\t\treturn undefined;\n\t}\n\n\t// \"provider/model\" explícito\n\tconst slash = spec.indexOf(\"/\");\n\tif (slash <= 0 || slash === spec.length - 1) return undefined;\n\tconst provider = spec.slice(0, slash);\n\tconst modelId = spec.slice(slash + 1);\n\treturn tryGet(provider, modelId) ?? undefined;\n}\n"]}
1
+ {"version":3,"file":"subagent-host.d.ts","sourceRoot":"","sources":["../../../src/core/workflows/subagent-host.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGzD,MAAM,WAAW,4BAA4B;IAC5C,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4EAA4E;IAC5E,SAAS,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAClD;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,4BAA4B,GAAG,OAAO,CAAC,eAAe,CAAC,CAyC3G;AAsDD,sFAAsF;AACtF,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAItG;AA2CD;;;;;;;;;;;GAWG;AACH,wBAAsB,oBAAoB,CACzC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GAAG,SAAS,GACtB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAwDjC"}
@@ -1 +1 @@
1
- {"version":3,"file":"subagent-host.js","sourceRoot":"","sources":["../../../src/core/workflows/subagent-host.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * SubagentHost — subagente de producción: crea una sesión real del SDK\n * (createAgentSession) con el modelo resuelto, tools configuradas y límites.\n *\n * El subagente comparte el mismo runtime (memoria/vault/redacción) porque\n * createAgentSession construye un DefaultResourceLoader con el mismo agentDir\n * y el SettingsManager compartido → los subagentes heredan la memoria, el\n * vault (@vault:) y la censura de secretos (adversarial §17).\n *\n * NOTA (seguridad, fairy-tales): los subagentes usan un agentDir PROPIO\n * efímero cuando se pide aislamiento (nada de extensiones/paquetes dentro);\n * las guardas del engine se re-inyectan explícitamente.\n */\n\nimport { readFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\nimport type { Model } from \"@earendil-works/pi-ai\";\nimport type { AgentSession } from \"../agent-session.ts\";\nimport type { ToolDefinition } from \"../extensions/types.ts\";\nimport { ModelRuntime } from \"../model-runtime.ts\";\nimport { createAgentSession } from \"../sdk.ts\";\nimport type { SubagentSession } from \"./agent-runner.ts\";\nimport type { AgentUsage } from \"./types.ts\";\n\nexport interface CreateSubagentSessionOptions {\n\tcwd: string;\n\tagentDir: string;\n\tmodelSpec?: string;\n\ttools?: string[];\n\tcustomTools?: ToolDefinition[];\n\tsessionName?: string;\n\tinstructions?: string;\n\t/** Modelo de la sesión principal: los subagentes lo HEREDAN por defecto. */\n\thostModel?: { provider: string; modelId: string };\n}\n\n/**\n * Crea un subagente real. Devuelve la sesión con su disposición y el usage.\n */\nexport async function createSubagentSession(options: CreateSubagentSessionOptions): Promise<SubagentSession> {\n\t// Routing por spec/tier (§16.2 budget): \"tier:cheap\" resuelve el modelo\n\t// barato, \"provider/model\" el explícito, y cualquier fallo cae al default.\n\tlet model = await resolveSubagentModel(options.agentDir, options.modelSpec);\n\t// Los subagentes HEREDAN el modelo de la sesión principal: si no hay spec/tier\n\t// explícito y el host tiene un modelo en uso, ese es el que se usa (misma\n\t// auth → misma API key del chat).\n\tif (!model && options.hostModel?.provider && options.hostModel.modelId) {\n\t\tmodel =\n\t\t\t(await resolveSubagentModel(options.agentDir, `${options.hostModel.provider}/${options.hostModel.modelId}`)) ??\n\t\t\tundefined;\n\t}\n\t// Thinking por tier: solo cuando el spec es tier:X y hay override en settings.\n\tconst tierMatch = options.modelSpec?.startsWith(\"tier:\")\n\t\t? (options.modelSpec.slice(5) as \"cheap\" | \"main\" | \"judge\")\n\t\t: undefined;\n\tconst thinkingLevel = tierMatch ? thinkingForTier(options.agentDir, tierMatch) : undefined;\n\n\tconst { session } = await createAgentSession({\n\t\tcwd: options.cwd,\n\t\tagentDir: options.agentDir,\n\t\ttools: options.tools,\n\t\tcustomTools: options.customTools,\n\t\t...(model ? { model } : {}),\n\t\t...(thinkingLevel ? { thinkingLevel: thinkingLevel as never } : {}),\n\t\tisSubagent: true, // anti-recursión: el HOST es el único dueño del bucle del goal\n\t});\n\n\t// Nombre de sesión + instrucciones: no hay opción directa en\n\t// createAgentSession para ambos; la instrucción va en el prompt.\n\treturn {\n\t\tsession,\n\t\tdispose: () => {\n\t\t\ttry {\n\t\t\t\tsession.dispose();\n\t\t\t} catch {\n\t\t\t\t// best-effort\n\t\t\t}\n\t\t},\n\t\tgetUsage: () => usageFromSession(session),\n\t};\n}\n\n/** Extraer el usage real de la sesión del subagente. */\nfunction usageFromSession(session: AgentSession): AgentUsage {\n\ttry {\n\t\tconst stats = session.getSessionStats();\n\t\tconst tokens = stats.tokens;\n\t\treturn {\n\t\t\tinput: tokens.input,\n\t\t\toutput: tokens.output,\n\t\t\ttotal: tokens.total,\n\t\t\tcost: stats.cost ?? 0,\n\t\t\tcacheRead: tokens.cacheRead,\n\t\t\tcacheWrite: tokens.cacheWrite,\n\t\t};\n\t} catch {\n\t\treturn { input: 0, output: 0, total: 0, cost: 0, cacheRead: 0, cacheWrite: 0 };\n\t}\n}\n\n/**\n * Fallback de emergencia: solo se usa si el discovery dinámico no encuentra\n * NINGÚN modelo con coste entre los proveedores conectados. Cada entrada se\n * valida con hasConfiguredAuth — sin credenciales se cae al default (fail-safe).\n */\nconst CHEAP_MODEL_CANDIDATES: Array<[provider: string, modelId: string]> = [\n\t[\"anthropic\", \"claude-haiku-4-5\"],\n\t[\"google\", \"gemini-2.5-flash\"],\n\t[\"google\", \"gemini-2.0-flash\"],\n\t[\"openai\", \"gpt-4o-mini\"],\n\t[\"openai\", \"gpt-5-mini\"],\n];\n\ninterface ModelsConfig {\n\tcheap?: string;\n\tmain?: string;\n\tjudge?: string;\n\tcheapCandidates?: string[];\n\tcheapThinking?: string;\n\tmainThinking?: string;\n\tjudgeThinking?: string;\n}\n\n/** Lee workflows.models del settings.json del agentDir (sin SettingsManager — función pura). */\nfunction readModelsConfig(agentDir: string): ModelsConfig {\n\ttry {\n\t\tconst raw = readFileSync(join(agentDir, \"settings.json\"), \"utf-8\");\n\t\tconst parsed = JSON.parse(raw) as { workflows?: { models?: ModelsConfig } };\n\t\treturn parsed?.workflows?.models ?? {};\n\t} catch {\n\t\treturn {};\n\t}\n}\n\n/** Thinking level del tier (workflows.models.<tier>Thinking); undefined = default. */\nexport function thinkingForTier(agentDir: string, tier: \"cheap\" | \"main\" | \"judge\"): string | undefined {\n\tconst cfg = readModelsConfig(agentDir);\n\tconst value = tier === \"cheap\" ? cfg.cheapThinking : tier === \"judge\" ? cfg.judgeThinking : cfg.mainThinking;\n\treturn typeof value === \"string\" && value.length > 0 ? value : undefined;\n}\n\n/** Parsea \"provider/model\" → [provider, model]; null si malformado. */\nfunction parseSpec(spec: string): [string, string] | null {\n\tconst slash = spec.indexOf(\"/\");\n\tif (slash <= 0 || slash === spec.length - 1) return null;\n\treturn [spec.slice(0, slash), spec.slice(slash + 1)];\n}\n\n/**\n * Discovery DINÁMICO de modelos baratos: recorre los proveedores CONECTADOS\n * (hasConfiguredAuth) del runtime, toma sus modelos con coste declarado y los\n * ordena por precio (input+output) ascendente. La lista siempre refleja lo\n * que el usuario tiene disponible de verdad — nunca modelos inexistentes.\n */\nfunction discoverCheapModels(runtime: ModelRuntime, max = 6): Array<[string, string]> {\n\tconst scored: Array<{ provider: string; model: string; cost: number }> = [];\n\tfor (const provider of runtime.getProviders()) {\n\t\tif (!runtime.hasConfiguredAuth(provider.id)) continue;\n\t\tfor (const model of runtime.getModels(provider.id)) {\n\t\t\tconst m = model as { modelId?: string; id?: string; cost?: { input?: number; output?: number } };\n\t\t\tconst modelId = m.modelId ?? m.id;\n\t\t\tconst cost = m.cost;\n\t\t\tif (!modelId || !cost || typeof cost.input !== \"number\" || typeof cost.output !== \"number\") continue;\n\t\t\tscored.push({ provider: provider.id, model: modelId, cost: cost.input + cost.output });\n\t\t}\n\t}\n\treturn scored\n\t\t.sort((a, b) => a.cost - b.cost)\n\t\t.slice(0, max)\n\t\t.map((x) => [x.provider, x.model]);\n}\n\n/** Lista del usuario (workflows.models.cheapCandidates). [] si no está configurada. */\nfunction userCheapCandidates(agentDir: string): Array<[string, string]> {\n\tconst configured = readModelsConfig(agentDir).cheapCandidates;\n\tif (!Array.isArray(configured) || configured.length === 0) return [];\n\t// Solo entradas válidas \"provider/model\" (las malas se saltan).\n\treturn configured\n\t\t.map((c) => (typeof c === \"string\" ? parseSpec(c) : null))\n\t\t.filter((c): c is [string, string] => c !== null);\n}\n\n/**\n * Resuelve el modelSpec de un subagente a un Model concreto.\n * - \"tier:cheap\" → cascada:\n * 1. workflows.models.cheap (\"provider/model\" directo)\n * 2. workflows.models.cheapCandidates (lista del usuario, en orden)\n * 3. DISCOVERY DINÁMICO: el modelo más barato con coste declarado de los\n * proveedores CONECTADOS (refleja siempre el catálogo real del SDK)\n * 4. fallback estático curado (solo si el discovery no encontró nada)\n * - \"tier:main\"/\"tier:judge\" → workflows.models.main/judge, si no default.\n * - \"provider/model\" → directo si está autenticado.\n * Devuelve undefined → createAgentSession usa su resolución por defecto.\n */\nexport async function resolveSubagentModel(\n\tagentDir: string,\n\tspec: string | undefined,\n): Promise<Model<any> | undefined> {\n\tif (!spec) return undefined;\n\tlet runtime: ModelRuntime;\n\ttry {\n\t\truntime = await ModelRuntime.create({\n\t\t\tauthPath: join(agentDir, \"auth.json\"),\n\t\t\tmodelsPath: join(agentDir, \"models.json\"),\n\t\t});\n\t} catch {\n\t\treturn undefined; // fail-safe: default\n\t}\n\tconst tryGet = (provider: string, modelId: string): Model<any> | undefined => {\n\t\tconst m = runtime.getModel(provider, modelId);\n\t\treturn m && runtime.hasConfiguredAuth(provider) ? m : undefined;\n\t};\n\n\tif (spec.startsWith(\"tier:\")) {\n\t\tconst tier = spec.slice(5);\n\t\t// Settings override PRIMERO: workflows.models.<tier> = \"provider/model\"\n\t\tconst models = readModelsConfig(agentDir);\n\t\tconst override = tier === \"cheap\" ? models.cheap : tier === \"judge\" ? models.judge : models.main;\n\t\tconst overrideSpec = override ? parseSpec(override) : null;\n\t\tif (overrideSpec) {\n\t\t\tconst m = tryGet(overrideSpec[0], overrideSpec[1]);\n\t\t\tif (m) return m;\n\t\t}\n\t\tif (tier === \"cheap\") {\n\t\t\t// 1. Lista explícita del usuario (workflows.models.cheapCandidates).\n\t\t\tfor (const candidate of userCheapCandidates(agentDir)) {\n\t\t\t\tconst m = tryGet(candidate[0], candidate[1]);\n\t\t\t\tif (m) return m;\n\t\t\t}\n\t\t\t// 2. DISCOVERY DINÁMICO: el más barato con coste declarado entre los\n\t\t\t// proveedores CONECTADOS — refleja siempre el catálogo real del SDK.\n\t\t\tfor (const [providerId, modelId] of discoverCheapModels(runtime)) {\n\t\t\t\tconst m = tryGet(providerId, modelId);\n\t\t\t\tif (m) return m;\n\t\t\t}\n\t\t\t// 3. Fallback estático de emergencia (solo si el discovery no encontró\n\t\t\t// nada — p.ej. catálogos sin costes declarados).\n\t\t\tfor (const candidate of CHEAP_MODEL_CANDIDATES) {\n\t\t\t\tconst m = tryGet(candidate[0], candidate[1]);\n\t\t\t\tif (m) return m;\n\t\t\t}\n\t\t\treturn undefined;\n\t\t}\n\t\t// tier:main / tier:judge sin override → default del host (fail-safe)\n\t\treturn undefined;\n\t}\n\n\t// \"provider/model\" explícito\n\tconst slash = spec.indexOf(\"/\");\n\tif (slash <= 0 || slash === spec.length - 1) return undefined;\n\tconst provider = spec.slice(0, slash);\n\tconst modelId = spec.slice(slash + 1);\n\treturn tryGet(provider, modelId) ?? undefined;\n}\n"]}
1
+ {"version":3,"file":"subagent-host.js","sourceRoot":"","sources":["../../../src/core/workflows/subagent-host.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * AG7 — Scheduling concurrente shared/exclusive por tool.
3
+ *
4
+ * Replica el modelo de `packages/agent/src/types.ts:780` y
5
+ * `packages/agent/src/agent-loop.ts:2701-2727` de oh-my-pi:
6
+ * - `concurrency: "shared" | "exclusive" | ((args) => "shared" | "exclusive")`
7
+ * - shared → puede correr en paralelo con otros shared del mismo batch
8
+ * - exclusive → serializa todo el batch (espera a shared previos y bloquea siguientes)
9
+ * - fallo del resolver → serial seguro ("exclusive")
10
+ */
11
+ export type ConcurrencyMode = "shared" | "exclusive";
12
+ export type ConcurrencyResolver = (args: unknown) => ConcurrencyMode;
13
+ /**
14
+ * Registra el modo de concurrencia para una tool.
15
+ * - string: modo fijo
16
+ * - función: resolver por args (puede lanzar → se degrada a exclusive)
17
+ */
18
+ export declare function registerToolConcurrency(toolName: string, mode: ConcurrencyMode | ConcurrencyResolver): void;
19
+ export declare function clearToolConcurrency(): void;
20
+ /**
21
+ * Resuelve el modo de concurrencia para una tool + args.
22
+ * - Sin registro → "shared" (default del loop, ver agent-loop.ts:2716)
23
+ * - Resolver que lanza → "exclusive" (fail-safe serial, ver agent-loop.ts:2712-2713)
24
+ * - Valor no reconocido → "exclusive" (serial seguro)
25
+ */
26
+ export declare function getConcurrency(toolName: string, args?: unknown): ConcurrencyMode;
27
+ export interface ScheduledCall<T = unknown> {
28
+ toolName: string;
29
+ args?: unknown;
30
+ execute: () => Promise<T>;
31
+ }
32
+ /**
33
+ * Agenda un batch de tool calls respetando shared/exclusive.
34
+ *
35
+ * Semántica idéntica a agent-loop.ts 2641-2727:
36
+ * - shared: empieza cuando el último exclusive terminó (`lastExclusive`)
37
+ * - exclusive: espera a `lastExclusive + todos los shared en vuelo` y resetea el grupo shared
38
+ *
39
+ * Devuelve resultados en orden de entrada (Promise.all sobre tasks ordenadas).
40
+ */
41
+ export declare function scheduleToolCalls<T>(calls: ScheduledCall<T>[]): Promise<T[]>;
42
+ /**
43
+ * Variante que ejecuta y recolecta con allSettled — útil para no perder
44
+ * resultados si algún executor rechaza (el loop real usa allSettled, ver 2729).
45
+ */
46
+ export declare function scheduleToolCallsSettled<T>(calls: ScheduledCall<T>[]): Promise<PromiseSettledResult<T>[]>;
47
+ //# sourceMappingURL=tool-scheduling.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-scheduling.d.ts","sourceRoot":"","sources":["../../../src/core/workflows/tool-scheduling.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,WAAW,CAAC;AAErD,MAAM,MAAM,mBAAmB,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK,eAAe,CAAC;AAMrE;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,mBAAmB,GAAG,IAAI,CAE3G;AAED,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,eAAe,CAchF;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,OAAO;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;CAC1B;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CA6BlF;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC,CA2B/G"}
@@ -0,0 +1,102 @@
1
+ /**
2
+ * AG7 — Scheduling concurrente shared/exclusive por tool.
3
+ *
4
+ * Replica el modelo de `packages/agent/src/types.ts:780` y
5
+ * `packages/agent/src/agent-loop.ts:2701-2727` de oh-my-pi:
6
+ * - `concurrency: "shared" | "exclusive" | ((args) => "shared" | "exclusive")`
7
+ * - shared → puede correr en paralelo con otros shared del mismo batch
8
+ * - exclusive → serializa todo el batch (espera a shared previos y bloquea siguientes)
9
+ * - fallo del resolver → serial seguro ("exclusive")
10
+ */
11
+ const registry = new Map();
12
+ /**
13
+ * Registra el modo de concurrencia para una tool.
14
+ * - string: modo fijo
15
+ * - función: resolver por args (puede lanzar → se degrada a exclusive)
16
+ */
17
+ export function registerToolConcurrency(toolName, mode) {
18
+ registry.set(toolName, mode);
19
+ }
20
+ export function clearToolConcurrency() {
21
+ registry.clear();
22
+ }
23
+ /**
24
+ * Resuelve el modo de concurrencia para una tool + args.
25
+ * - Sin registro → "shared" (default del loop, ver agent-loop.ts:2716)
26
+ * - Resolver que lanza → "exclusive" (fail-safe serial, ver agent-loop.ts:2712-2713)
27
+ * - Valor no reconocido → "exclusive" (serial seguro)
28
+ */
29
+ export function getConcurrency(toolName, args) {
30
+ const entry = registry.get(toolName);
31
+ if (entry === undefined)
32
+ return "shared";
33
+ if (typeof entry === "string") {
34
+ if (entry === "shared" || entry === "exclusive")
35
+ return entry;
36
+ return "exclusive";
37
+ }
38
+ try {
39
+ const result = entry(args);
40
+ if (result === "shared" || result === "exclusive")
41
+ return result;
42
+ return "exclusive";
43
+ }
44
+ catch {
45
+ return "exclusive";
46
+ }
47
+ }
48
+ /**
49
+ * Agenda un batch de tool calls respetando shared/exclusive.
50
+ *
51
+ * Semántica idéntica a agent-loop.ts 2641-2727:
52
+ * - shared: empieza cuando el último exclusive terminó (`lastExclusive`)
53
+ * - exclusive: espera a `lastExclusive + todos los shared en vuelo` y resetea el grupo shared
54
+ *
55
+ * Devuelve resultados en orden de entrada (Promise.all sobre tasks ordenadas).
56
+ */
57
+ export async function scheduleToolCalls(calls) {
58
+ let lastExclusive = Promise.resolve();
59
+ let sharedTasks = [];
60
+ const tasks = [];
61
+ for (const call of calls) {
62
+ const mode = getConcurrency(call.toolName, call.args);
63
+ const start = mode === "exclusive" ? Promise.all([lastExclusive, ...sharedTasks]).then(() => { }) : lastExclusive;
64
+ const task = start.then(() => call.execute());
65
+ // Para el tracking de dependencias necesitamos el Promise<void> de finalización de la tarea.
66
+ const done = task.then(() => { }, () => { });
67
+ tasks.push(task);
68
+ if (mode === "exclusive") {
69
+ lastExclusive = done;
70
+ sharedTasks = [];
71
+ }
72
+ else {
73
+ sharedTasks.push(done);
74
+ }
75
+ }
76
+ return Promise.all(tasks);
77
+ }
78
+ /**
79
+ * Variante que ejecuta y recolecta con allSettled — útil para no perder
80
+ * resultados si algún executor rechaza (el loop real usa allSettled, ver 2729).
81
+ */
82
+ export async function scheduleToolCallsSettled(calls) {
83
+ let lastExclusive = Promise.resolve();
84
+ let sharedTasks = [];
85
+ const tasks = [];
86
+ for (const call of calls) {
87
+ const mode = getConcurrency(call.toolName, call.args);
88
+ const start = mode === "exclusive" ? Promise.all([lastExclusive, ...sharedTasks]).then(() => { }) : lastExclusive;
89
+ const task = start.then(() => call.execute());
90
+ const done = task.then(() => { }, () => { });
91
+ tasks.push(task);
92
+ if (mode === "exclusive") {
93
+ lastExclusive = done;
94
+ sharedTasks = [];
95
+ }
96
+ else {
97
+ sharedTasks.push(done);
98
+ }
99
+ }
100
+ return Promise.allSettled(tasks);
101
+ }
102
+ //# sourceMappingURL=tool-scheduling.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-scheduling.js","sourceRoot":"","sources":["../../../src/core/workflows/tool-scheduling.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAC;AAElD;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAAgB,EAAE,IAA2C;IACpG,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB,EAAE,IAAc;IAC9D,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACrC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,WAAW;YAAE,OAAO,KAAK,CAAC;QAC9D,OAAO,WAAW,CAAC;IACpB,CAAC;IACD,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,WAAW;YAAE,OAAO,MAAM,CAAC;QACjE,OAAO,WAAW,CAAC;IACpB,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,WAAW,CAAC;IACpB,CAAC;AACF,CAAC;AAQD;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAI,KAAyB;IACnE,IAAI,aAAa,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IACrD,IAAI,WAAW,GAAoB,EAAE,CAAC;IACtC,MAAM,KAAK,GAAiB,EAAE,CAAC;IAE/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,KAAK,GACV,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QAEpG,MAAM,IAAI,GAAe,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAE1D,6FAA6F;QAC7F,MAAM,IAAI,GAAkB,IAAI,CAAC,IAAI,CACpC,GAAG,EAAE,GAAE,CAAC,EACR,GAAG,EAAE,GAAE,CAAC,CACR,CAAC;QAEF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEjB,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;YAC1B,aAAa,GAAG,IAAI,CAAC;YACrB,WAAW,GAAG,EAAE,CAAC;QAClB,CAAC;aAAM,CAAC;YACP,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;IACF,CAAC;IAED,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAI,KAAyB;IAC1E,IAAI,aAAa,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IACrD,IAAI,WAAW,GAAoB,EAAE,CAAC;IACtC,MAAM,KAAK,GAAiB,EAAE,CAAC;IAE/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,KAAK,GACV,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QAEpG,MAAM,IAAI,GAAe,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAkB,IAAI,CAAC,IAAI,CACpC,GAAG,EAAE,GAAE,CAAC,EACR,GAAG,EAAE,GAAE,CAAC,CACR,CAAC;QAEF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEjB,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;YAC1B,aAAa,GAAG,IAAI,CAAC;YACrB,WAAW,GAAG,EAAE,CAAC;QAClB,CAAC;aAAM,CAAC;YACP,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;IACF,CAAC;IAED,OAAO,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tool-workflow.d.ts","sourceRoot":"","sources":["../../../src/core/workflows/tool-workflow.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAqC,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAChG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGpD,MAAM,WAAW,mBAAmB;IACnC,8CAA8C;IAC9C,UAAU,EAAE,MAAM,eAAe,GAAG,IAAI,CAAC;IACzC,yEAAwE;IACxE,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/C,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;CACrC;AAaD,uDAAsD;AACtD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,mBAAmB,GAAG,cAAc,CAsG3E","sourcesContent":["/**\n * Ada Intelligence Engine — tool `workflow` para el agente principal (§16.1).\n *\n * Permite al agente lanzar/consultar/abortar workflows con CONFIRMACIÓN de\n * coste estimado (nunca ejecuta un run costoso a ciegas). Resuelve el\n * WorkflowManager por llamada vía getter inyectado.\n */\n\nimport { Type } from \"typebox\";\nimport type { AgentToolResult, ExtensionContext, ToolDefinition } from \"../extensions/types.ts\";\nimport type { WorkflowManager } from \"./manager.ts\";\nimport { resolveBuiltinWorkflowScript, resolveWorkflowScriptByName } from \"./resolve-script.ts\";\n\nexport interface WorkflowToolContext {\n\t/** getter que devuelve el mangager (lazy). */\n\tgetManager: () => WorkflowManager | null;\n\t/** Confirmación humana inyectable (para tests). Devuelve true si ok. */\n\tconfirm?: (prompt: string) => Promise<boolean>;\n\t/** agentDir para resolver scripts guardados del usuario. */\n\tagentDir?: string;\n\t/** SessionId de la sesión que lanza (el panel filtra los runs por esto). */\n\tsessionId?: () => string | undefined;\n}\n\ntype OkResult = AgentToolResult<undefined>;\n\nfunction reply(ok: boolean, text: unknown): OkResult {\n\treturn {\n\t\tdetails: undefined,\n\t\tcontent: [\n\t\t\t{ type: \"text\", text: JSON.stringify({ ok, ...(typeof text === \"object\" ? text : { message: text }) }) },\n\t\t],\n\t};\n}\n\n/** Crea la tool workflow para la sesión principal. */\nexport function createWorkflowTool(ctx: WorkflowToolContext): ToolDefinition {\n\tconst confirm = ctx.confirm ?? (async () => true);\n\treturn {\n\t\tname: \"workflow\",\n\t\tlabel: \"Workflow\",\n\t\tdescription:\n\t\t\t\"Lanza o gestiona un workflow del Ada Intelligence Engine (deep-research, code-review, product-build, multi-perspective, o un script guardado). SIEMPRE pide confirmación del coste estimado antes de lanzar un run costoso. Subcomandos: run | list | status | abort.\",\n\t\tpromptSnippet: \"Lanza/gestiona workflows con confirmación de coste (workflow run|list|status|abort)\",\n\t\tpromptGuidelines: [\n\t\t\t\"Usa workflow run para lanzar deep-research o code-review; pide siempre confirmación de coste.\",\n\t\t\t\"Usa workflow status para consultar el estado de un run en curso.\",\n\t\t\t\"Usa workflow abort para cancelar un run.\",\n\t\t],\n\t\tparameters: Type.Object({\n\t\t\tcommand: Type.Union([\n\t\t\t\tType.Literal(\"run\"),\n\t\t\t\tType.Literal(\"list\"),\n\t\t\t\tType.Literal(\"status\"),\n\t\t\t\tType.Literal(\"abort\"),\n\t\t\t]),\n\t\t\tname: Type.Optional(\n\t\t\t\tType.String({\n\t\t\t\t\tdescription:\n\t\t\t\t\t\t\"Nombre del workflow / del run (deep_research, code_review, product_build, multi_perspective o script guardado)\",\n\t\t\t\t}),\n\t\t\t),\n\t\t\tquestion: Type.Optional(Type.String({ description: \"Pregunta o brief (para deep-research)\" })),\n\t\t\trunId: Type.Optional(Type.String({ description: \"id del run (para status/abort)\" })),\n\t\t\tawait: Type.Optional(Type.Boolean({ description: \"Esperar a que termine (default true)\" })),\n\t\t}),\n\t\tasync execute(\n\t\t\t_toolCallId: string,\n\t\t\tinput: {\n\t\t\t\tcommand: \"run\" | \"list\" | \"status\" | \"abort\";\n\t\t\t\tname?: string;\n\t\t\t\tquestion?: string;\n\t\t\t\trunId?: string;\n\t\t\t\tawait?: boolean;\n\t\t\t},\n\t\t\t_signal: AbortSignal | undefined,\n\t\t\t_onUpdate: unknown,\n\t\t\t_ctx: ExtensionContext,\n\t\t): Promise<OkResult> {\n\t\t\tconst manager = ctx.getManager();\n\n\t\t\tswitch (input.command) {\n\t\t\t\tcase \"list\": {\n\t\t\t\t\tif (!manager) return reply(false, \"workflow manager no disponible\");\n\t\t\t\t\tconst runs = await manager.list().catch(() => []);\n\t\t\t\t\treturn reply(true, { runs: runs.slice(0, 20), count: runs.length });\n\t\t\t\t}\n\t\t\t\tcase \"status\": {\n\t\t\t\t\tif (!manager) return reply(false, \"workflow manager no disponible\");\n\t\t\t\t\tif (!input.runId) return reply(false, \"workflow status exige runId\");\n\t\t\t\t\tconst state = await manager.state(input.runId).catch(() => null);\n\t\t\t\t\treturn state\n\t\t\t\t\t\t? reply(true, {\n\t\t\t\t\t\t\t\trunId: state.runId,\n\t\t\t\t\t\t\t\tname: state.name,\n\t\t\t\t\t\t\t\tstatus: state.status,\n\t\t\t\t\t\t\t\tagentCount: state.agentCount,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t: reply(false, \"run no encontrado\");\n\t\t\t\t}\n\t\t\t\tcase \"abort\": {\n\t\t\t\t\tif (!manager) return reply(false, \"workflow manager no disponible\");\n\t\t\t\t\tif (!input.runId) return reply(false, \"workflow abort exige runId\");\n\t\t\t\t\tconst aborted = manager.abort(input.runId);\n\t\t\t\t\treturn reply(true, { aborted, runId: input.runId });\n\t\t\t\t}\n\t\t\t\tcase \"run\": {\n\t\t\t\t\tif (!manager) return reply(false, \"workflow manager no disponible\");\n\t\t\t\t\tconst name = input.name ?? \"\";\n\t\t\t\t\tif (!name) return reply(false, \"workflow run exige name\");\n\t\t\t\t\t// Confirmación de coste estimado (nunca a ciegas).\n\t\t\t\t\tconst estimated = estimateCost(name);\n\t\t\t\t\tconst ok = await confirm(\n\t\t\t\t\t\t`Lanzar workflow \"${name}\"${input.question ? ` (${input.question})` : \"\"}.\\n` +\n\t\t\t\t\t\t\t`Coste estimado: ~${estimated.usd} USD / ${estimated.tokens} tokens. ¿Continuar?`,\n\t\t\t\t\t);\n\t\t\t\t\tif (!ok) return reply(false, \"lanzamiento cancelado por el usuario\");\n\t\t\t\t\tconst script = resolveWorkflowScript(ctx.agentDir, name);\n\t\t\t\t\tif (!script)\n\t\t\t\t\t\treturn reply(\n\t\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t\t`script de workflow no encontrado: ${name} (builtin o <agentDir>/workflows/${name}.js)`,\n\t\t\t\t\t\t);\n\t\t\t\t\tconst toolSid = ctx.sessionId?.();\n\t\t\t\t\tconst result = await manager\n\t\t\t\t\t\t.execute(script, {\n\t\t\t\t\t\t\targs: { question: input.question, name },\n\t\t\t\t\t\t\tawait: input.await ?? true,\n\t\t\t\t\t\t\tdisplayName: name,\n\t\t\t\t\t\t\t...(toolSid ? { sessionId: toolSid } : {}),\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch((e) => ({ error: e instanceof Error ? e.message : String(e) }));\n\t\t\t\t\tif (\"error\" in result && result.error) return reply(false, result.error);\n\t\t\t\t\treturn reply(true, result);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t};\n}\n\n/** Coste estimado por tipo de workflow (heurística simple). */\nfunction estimateCost(name: string): { usd: number; tokens: number } {\n\tconst tokens = name.includes(\"deep\") || name.includes(\"product\") ? 60000 : 25000;\n\treturn { usd: Math.round(tokens * 0.00001 * 100) / 100, tokens };\n}\n\n/** Resuelve el script del workflow: builtin o guardado en <agentDir>/workflows/. */\nfunction resolveWorkflowScript(agentDir: string | undefined, name: string): string | null {\n\tif (!agentDir) return resolveBuiltinWorkflowScript(name);\n\treturn resolveWorkflowScriptByName(agentDir, name)?.script ?? null;\n}\n"]}
1
+ {"version":3,"file":"tool-workflow.d.ts","sourceRoot":"","sources":["../../../src/core/workflows/tool-workflow.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAqC,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAChG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGpD,MAAM,WAAW,mBAAmB;IACnC,8CAA8C;IAC9C,UAAU,EAAE,MAAM,eAAe,GAAG,IAAI,CAAC;IACzC,wEAAwE;IACxE,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/C,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;CACrC;AAaD,sDAAsD;AACtD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,mBAAmB,GAAG,cAAc,CAsG3E"}
@@ -1 +1 @@
1
- {"version":3,"file":"tool-workflow.js","sourceRoot":"","sources":["../../../src/core/workflows/tool-workflow.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Ada Intelligence Engine — tool `workflow` para el agente principal (§16.1).\n *\n * Permite al agente lanzar/consultar/abortar workflows con CONFIRMACIÓN de\n * coste estimado (nunca ejecuta un run costoso a ciegas). Resuelve el\n * WorkflowManager por llamada vía getter inyectado.\n */\n\nimport { Type } from \"typebox\";\nimport type { AgentToolResult, ExtensionContext, ToolDefinition } from \"../extensions/types.ts\";\nimport type { WorkflowManager } from \"./manager.ts\";\nimport { resolveBuiltinWorkflowScript, resolveWorkflowScriptByName } from \"./resolve-script.ts\";\n\nexport interface WorkflowToolContext {\n\t/** getter que devuelve el mangager (lazy). */\n\tgetManager: () => WorkflowManager | null;\n\t/** Confirmación humana inyectable (para tests). Devuelve true si ok. */\n\tconfirm?: (prompt: string) => Promise<boolean>;\n\t/** agentDir para resolver scripts guardados del usuario. */\n\tagentDir?: string;\n\t/** SessionId de la sesión que lanza (el panel filtra los runs por esto). */\n\tsessionId?: () => string | undefined;\n}\n\ntype OkResult = AgentToolResult<undefined>;\n\nfunction reply(ok: boolean, text: unknown): OkResult {\n\treturn {\n\t\tdetails: undefined,\n\t\tcontent: [\n\t\t\t{ type: \"text\", text: JSON.stringify({ ok, ...(typeof text === \"object\" ? text : { message: text }) }) },\n\t\t],\n\t};\n}\n\n/** Crea la tool workflow para la sesión principal. */\nexport function createWorkflowTool(ctx: WorkflowToolContext): ToolDefinition {\n\tconst confirm = ctx.confirm ?? (async () => true);\n\treturn {\n\t\tname: \"workflow\",\n\t\tlabel: \"Workflow\",\n\t\tdescription:\n\t\t\t\"Lanza o gestiona un workflow del Ada Intelligence Engine (deep-research, code-review, product-build, multi-perspective, o un script guardado). SIEMPRE pide confirmación del coste estimado antes de lanzar un run costoso. Subcomandos: run | list | status | abort.\",\n\t\tpromptSnippet: \"Lanza/gestiona workflows con confirmación de coste (workflow run|list|status|abort)\",\n\t\tpromptGuidelines: [\n\t\t\t\"Usa workflow run para lanzar deep-research o code-review; pide siempre confirmación de coste.\",\n\t\t\t\"Usa workflow status para consultar el estado de un run en curso.\",\n\t\t\t\"Usa workflow abort para cancelar un run.\",\n\t\t],\n\t\tparameters: Type.Object({\n\t\t\tcommand: Type.Union([\n\t\t\t\tType.Literal(\"run\"),\n\t\t\t\tType.Literal(\"list\"),\n\t\t\t\tType.Literal(\"status\"),\n\t\t\t\tType.Literal(\"abort\"),\n\t\t\t]),\n\t\t\tname: Type.Optional(\n\t\t\t\tType.String({\n\t\t\t\t\tdescription:\n\t\t\t\t\t\t\"Nombre del workflow / del run (deep_research, code_review, product_build, multi_perspective o script guardado)\",\n\t\t\t\t}),\n\t\t\t),\n\t\t\tquestion: Type.Optional(Type.String({ description: \"Pregunta o brief (para deep-research)\" })),\n\t\t\trunId: Type.Optional(Type.String({ description: \"id del run (para status/abort)\" })),\n\t\t\tawait: Type.Optional(Type.Boolean({ description: \"Esperar a que termine (default true)\" })),\n\t\t}),\n\t\tasync execute(\n\t\t\t_toolCallId: string,\n\t\t\tinput: {\n\t\t\t\tcommand: \"run\" | \"list\" | \"status\" | \"abort\";\n\t\t\t\tname?: string;\n\t\t\t\tquestion?: string;\n\t\t\t\trunId?: string;\n\t\t\t\tawait?: boolean;\n\t\t\t},\n\t\t\t_signal: AbortSignal | undefined,\n\t\t\t_onUpdate: unknown,\n\t\t\t_ctx: ExtensionContext,\n\t\t): Promise<OkResult> {\n\t\t\tconst manager = ctx.getManager();\n\n\t\t\tswitch (input.command) {\n\t\t\t\tcase \"list\": {\n\t\t\t\t\tif (!manager) return reply(false, \"workflow manager no disponible\");\n\t\t\t\t\tconst runs = await manager.list().catch(() => []);\n\t\t\t\t\treturn reply(true, { runs: runs.slice(0, 20), count: runs.length });\n\t\t\t\t}\n\t\t\t\tcase \"status\": {\n\t\t\t\t\tif (!manager) return reply(false, \"workflow manager no disponible\");\n\t\t\t\t\tif (!input.runId) return reply(false, \"workflow status exige runId\");\n\t\t\t\t\tconst state = await manager.state(input.runId).catch(() => null);\n\t\t\t\t\treturn state\n\t\t\t\t\t\t? reply(true, {\n\t\t\t\t\t\t\t\trunId: state.runId,\n\t\t\t\t\t\t\t\tname: state.name,\n\t\t\t\t\t\t\t\tstatus: state.status,\n\t\t\t\t\t\t\t\tagentCount: state.agentCount,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t: reply(false, \"run no encontrado\");\n\t\t\t\t}\n\t\t\t\tcase \"abort\": {\n\t\t\t\t\tif (!manager) return reply(false, \"workflow manager no disponible\");\n\t\t\t\t\tif (!input.runId) return reply(false, \"workflow abort exige runId\");\n\t\t\t\t\tconst aborted = manager.abort(input.runId);\n\t\t\t\t\treturn reply(true, { aborted, runId: input.runId });\n\t\t\t\t}\n\t\t\t\tcase \"run\": {\n\t\t\t\t\tif (!manager) return reply(false, \"workflow manager no disponible\");\n\t\t\t\t\tconst name = input.name ?? \"\";\n\t\t\t\t\tif (!name) return reply(false, \"workflow run exige name\");\n\t\t\t\t\t// Confirmación de coste estimado (nunca a ciegas).\n\t\t\t\t\tconst estimated = estimateCost(name);\n\t\t\t\t\tconst ok = await confirm(\n\t\t\t\t\t\t`Lanzar workflow \"${name}\"${input.question ? ` (${input.question})` : \"\"}.\\n` +\n\t\t\t\t\t\t\t`Coste estimado: ~${estimated.usd} USD / ${estimated.tokens} tokens. ¿Continuar?`,\n\t\t\t\t\t);\n\t\t\t\t\tif (!ok) return reply(false, \"lanzamiento cancelado por el usuario\");\n\t\t\t\t\tconst script = resolveWorkflowScript(ctx.agentDir, name);\n\t\t\t\t\tif (!script)\n\t\t\t\t\t\treturn reply(\n\t\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t\t`script de workflow no encontrado: ${name} (builtin o <agentDir>/workflows/${name}.js)`,\n\t\t\t\t\t\t);\n\t\t\t\t\tconst toolSid = ctx.sessionId?.();\n\t\t\t\t\tconst result = await manager\n\t\t\t\t\t\t.execute(script, {\n\t\t\t\t\t\t\targs: { question: input.question, name },\n\t\t\t\t\t\t\tawait: input.await ?? true,\n\t\t\t\t\t\t\tdisplayName: name,\n\t\t\t\t\t\t\t...(toolSid ? { sessionId: toolSid } : {}),\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch((e) => ({ error: e instanceof Error ? e.message : String(e) }));\n\t\t\t\t\tif (\"error\" in result && result.error) return reply(false, result.error);\n\t\t\t\t\treturn reply(true, result);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t};\n}\n\n/** Coste estimado por tipo de workflow (heurística simple). */\nfunction estimateCost(name: string): { usd: number; tokens: number } {\n\tconst tokens = name.includes(\"deep\") || name.includes(\"product\") ? 60000 : 25000;\n\treturn { usd: Math.round(tokens * 0.00001 * 100) / 100, tokens };\n}\n\n/** Resuelve el script del workflow: builtin o guardado en <agentDir>/workflows/. */\nfunction resolveWorkflowScript(agentDir: string | undefined, name: string): string | null {\n\tif (!agentDir) return resolveBuiltinWorkflowScript(name);\n\treturn resolveWorkflowScriptByName(agentDir, name)?.script ?? null;\n}\n"]}
1
+ {"version":3,"file":"tool-workflow.js","sourceRoot":"","sources":["../../../src/core/workflows/tool-workflow.ts"],"names":[],"mappings":"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"}