@hoilab/ada-cli 0.85.0 → 0.85.3
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.
- package/dist/ada-publico.d.ts.map +1 -1
- package/dist/ada-publico.js.map +1 -1
- package/dist/bun/cli.d.ts.map +1 -1
- package/dist/bun/cli.js.map +1 -1
- package/dist/bun/register-bedrock.d.ts.map +1 -1
- package/dist/bun/register-bedrock.js.map +1 -1
- package/dist/bun/restore-sandbox-env.d.ts.map +1 -1
- package/dist/bun/restore-sandbox-env.js.map +1 -1
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/audit-command.d.ts.map +1 -1
- package/dist/cli/audit-command.js.map +1 -1
- package/dist/cli/auth-check.d.ts.map +1 -1
- package/dist/cli/auth-check.js.map +1 -1
- package/dist/cli/auth-command.d.ts.map +1 -1
- package/dist/cli/auth-command.js.map +1 -1
- package/dist/cli/banco-command.d.ts.map +1 -1
- package/dist/cli/banco-command.js.map +1 -1
- package/dist/cli/cleanse-command.d.ts.map +1 -1
- package/dist/cli/cleanse-command.js +5 -2
- package/dist/cli/cleanse-command.js.map +1 -1
- package/dist/cli/commit-command.d.ts +8 -6
- package/dist/cli/commit-command.d.ts.map +1 -1
- package/dist/cli/commit-command.js +124 -92
- package/dist/cli/commit-command.js.map +1 -1
- package/dist/cli/completion.d.ts +20 -0
- package/dist/cli/completion.d.ts.map +1 -0
- package/dist/cli/completion.js +75 -0
- package/dist/cli/completion.js.map +1 -0
- package/dist/cli/computer-command.d.ts.map +1 -1
- package/dist/cli/computer-command.js.map +1 -1
- package/dist/cli/config-selector.d.ts.map +1 -1
- package/dist/cli/config-selector.js.map +1 -1
- package/dist/cli/credential-print.d.ts.map +1 -1
- package/dist/cli/credential-print.js.map +1 -1
- package/dist/cli/discover-command.d.ts.map +1 -1
- package/dist/cli/discover-command.js +5 -1
- package/dist/cli/discover-command.js.map +1 -1
- package/dist/cli/experimental/auth.d.ts.map +1 -1
- package/dist/cli/experimental/auth.js.map +1 -1
- package/dist/cli/experimental/cli.d.ts +1 -1
- package/dist/cli/experimental/cli.d.ts.map +1 -1
- package/dist/cli/experimental/cli.js.map +1 -1
- package/dist/cli/experimental/command-options.d.ts.map +1 -1
- package/dist/cli/experimental/command-options.js.map +1 -1
- package/dist/cli/experimental/command.d.ts.map +1 -1
- package/dist/cli/experimental/command.js.map +1 -1
- package/dist/cli/experimental/commands/client.d.ts.map +1 -1
- package/dist/cli/experimental/commands/client.js.map +1 -1
- package/dist/cli/experimental/commands/pi.d.ts.map +1 -1
- package/dist/cli/experimental/commands/pi.js.map +1 -1
- package/dist/cli/experimental/commands/server.d.ts.map +1 -1
- package/dist/cli/experimental/commands/server.js.map +1 -1
- package/dist/cli/experimental/transport-address.d.ts.map +1 -1
- package/dist/cli/experimental/transport-address.js.map +1 -1
- package/dist/cli/file-processor.d.ts.map +1 -1
- package/dist/cli/file-processor.js.map +1 -1
- package/dist/cli/guardrails.d.ts +14 -0
- package/dist/cli/guardrails.d.ts.map +1 -0
- package/dist/cli/guardrails.js +47 -0
- package/dist/cli/guardrails.js.map +1 -0
- package/dist/cli/hashline-command.d.ts.map +1 -1
- package/dist/cli/hashline-command.js.map +1 -1
- package/dist/cli/home-screen.d.ts.map +1 -1
- package/dist/cli/home-screen.js +1 -0
- package/dist/cli/home-screen.js.map +1 -1
- package/dist/cli/import-command.d.ts.map +1 -1
- package/dist/cli/import-command.js.map +1 -1
- package/dist/cli/initial-message.d.ts +1 -1
- package/dist/cli/initial-message.d.ts.map +1 -1
- package/dist/cli/initial-message.js.map +1 -1
- package/dist/cli/list-models.d.ts.map +1 -1
- package/dist/cli/list-models.js.map +1 -1
- package/dist/cli/politica-command.d.ts.map +1 -1
- package/dist/cli/politica-command.js.map +1 -1
- package/dist/cli/project-trust.d.ts.map +1 -1
- package/dist/cli/project-trust.js.map +1 -1
- package/dist/cli/refine-command.d.ts.map +1 -1
- package/dist/cli/refine-command.js.map +1 -1
- package/dist/cli/review-command.d.ts.map +1 -1
- package/dist/cli/review-command.js +77 -13
- package/dist/cli/review-command.js.map +1 -1
- package/dist/cli/schedule-command.d.ts.map +1 -1
- package/dist/cli/schedule-command.js.map +1 -1
- package/dist/cli/serve-command.d.ts +0 -1
- package/dist/cli/serve-command.d.ts.map +1 -1
- package/dist/cli/serve-command.js +12 -6
- package/dist/cli/serve-command.js.map +1 -1
- package/dist/cli/session-picker.d.ts.map +1 -1
- package/dist/cli/session-picker.js.map +1 -1
- package/dist/cli/startup-ui.d.ts.map +1 -1
- package/dist/cli/startup-ui.js.map +1 -1
- package/dist/cli/telegram-command.d.ts.map +1 -1
- package/dist/cli/telegram-command.js.map +1 -1
- package/dist/cli/telemetria-command.d.ts.map +1 -1
- package/dist/cli/telemetria-command.js.map +1 -1
- package/dist/cli/undo-command.d.ts.map +1 -1
- package/dist/cli/undo-command.js.map +1 -1
- package/dist/cli/update-cli.d.ts +82 -0
- package/dist/cli/update-cli.d.ts.map +1 -0
- package/dist/cli/update-cli.js +372 -0
- package/dist/cli/update-cli.js.map +1 -0
- package/dist/cli/usage-command.d.ts.map +1 -1
- package/dist/cli/usage-command.js +75 -6
- package/dist/cli/usage-command.js.map +1 -1
- package/dist/cli/wiki-command.d.ts.map +1 -1
- package/dist/cli/wiki-command.js.map +1 -1
- package/dist/cli.d.ts +0 -6
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +0 -0
- package/dist/cli.js.map +1 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js.map +1 -1
- package/dist/client/remote-session.d.ts.map +1 -1
- package/dist/client/remote-session.js.map +1 -1
- package/dist/client/transcript.d.ts.map +1 -1
- package/dist/client/transcript.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/core/ada.d.ts +5 -0
- package/dist/core/ada.d.ts.map +1 -1
- package/dist/core/ada.js +5 -0
- package/dist/core/ada.js.map +1 -1
- package/dist/core/advisor/guarda.d.ts.map +1 -1
- package/dist/core/advisor/guarda.js.map +1 -1
- package/dist/core/advisor/runtime.d.ts.map +1 -1
- package/dist/core/advisor/runtime.js.map +1 -1
- package/dist/core/advisor/sesion.d.ts.map +1 -1
- package/dist/core/advisor/sesion.js.map +1 -1
- package/dist/core/agent-session-runtime.d.ts.map +1 -1
- package/dist/core/agent-session-runtime.js.map +1 -1
- package/dist/core/agent-session-services.d.ts.map +1 -1
- package/dist/core/agent-session-services.js +33 -0
- package/dist/core/agent-session-services.js.map +1 -1
- package/dist/core/agent-session.d.ts +67 -0
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +43 -2
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/agents/loader.d.ts.map +1 -1
- package/dist/core/agents/loader.js.map +1 -1
- package/dist/core/appendonly/append-only-context.d.ts +118 -0
- package/dist/core/appendonly/append-only-context.d.ts.map +1 -0
- package/dist/core/appendonly/append-only-context.js +256 -0
- package/dist/core/appendonly/append-only-context.js.map +1 -0
- package/dist/core/appendonly/auto.d.ts +30 -0
- package/dist/core/appendonly/auto.d.ts.map +1 -0
- package/dist/core/appendonly/auto.js +68 -0
- package/dist/core/appendonly/auto.js.map +1 -0
- package/dist/core/appendonly/extension.d.ts +29 -0
- package/dist/core/appendonly/extension.d.ts.map +1 -0
- package/dist/core/appendonly/extension.js +51 -0
- package/dist/core/appendonly/extension.js.map +1 -0
- package/dist/core/appendonly/index.d.ts +41 -0
- package/dist/core/appendonly/index.d.ts.map +1 -0
- package/dist/core/appendonly/index.js +42 -0
- package/dist/core/appendonly/index.js.map +1 -0
- package/dist/core/aprobacion/generados.d.ts.map +1 -1
- package/dist/core/aprobacion/generados.js.map +1 -1
- package/dist/core/aprobacion/politica-de-maquina.d.ts.map +1 -1
- package/dist/core/aprobacion/politica-de-maquina.js.map +1 -1
- package/dist/core/aprobacion/politica.d.ts +1 -1
- package/dist/core/aprobacion/politica.d.ts.map +1 -1
- package/dist/core/aprobacion/politica.js.map +1 -1
- package/dist/core/arranque/atajos.d.ts.map +1 -1
- package/dist/core/arranque/atajos.js +20 -0
- package/dist/core/arranque/atajos.js.map +1 -1
- package/dist/core/audit/exportacion.d.ts.map +1 -1
- package/dist/core/audit/exportacion.js +5 -3
- package/dist/core/audit/exportacion.js.map +1 -1
- package/dist/core/audit/libro.d.ts +7 -0
- package/dist/core/audit/libro.d.ts.map +1 -1
- package/dist/core/audit/libro.js.map +1 -1
- package/dist/core/audit/registro-sesion.d.ts.map +1 -1
- package/dist/core/audit/registro-sesion.js.map +1 -1
- package/dist/core/audit/retencion.d.ts.map +1 -1
- package/dist/core/audit/retencion.js.map +1 -1
- package/dist/core/audit/rutas.d.ts.map +1 -1
- package/dist/core/audit/rutas.js.map +1 -1
- package/dist/core/auth-guidance.d.ts.map +1 -1
- package/dist/core/auth-guidance.js.map +1 -1
- package/dist/core/auth-storage.d.ts.map +1 -1
- package/dist/core/auth-storage.js.map +1 -1
- package/dist/core/banco/almacenamiento.d.ts.map +1 -1
- package/dist/core/banco/almacenamiento.js.map +1 -1
- package/dist/core/banco/analisis.d.ts.map +1 -1
- package/dist/core/banco/analisis.js.map +1 -1
- package/dist/core/banco/asides.d.ts +64 -0
- package/dist/core/banco/asides.d.ts.map +1 -0
- package/dist/core/banco/asides.js +113 -0
- package/dist/core/banco/asides.js.map +1 -0
- package/dist/core/banco/bloques.d.ts.map +1 -1
- package/dist/core/banco/bloques.js.map +1 -1
- package/dist/core/banco/cargas.d.ts.map +1 -1
- package/dist/core/banco/cargas.js.map +1 -1
- package/dist/core/banco/comparar.d.ts.map +1 -1
- package/dist/core/banco/comparar.js.map +1 -1
- package/dist/core/banco/cow-isolation.d.ts +74 -0
- package/dist/core/banco/cow-isolation.d.ts.map +1 -0
- package/dist/core/banco/cow-isolation.js +259 -0
- package/dist/core/banco/cow-isolation.js.map +1 -0
- package/dist/core/banco/ejecutar.d.ts.map +1 -1
- package/dist/core/banco/ejecutar.js.map +1 -1
- package/dist/core/banco/generar.d.ts.map +1 -1
- package/dist/core/banco/generar.js.map +1 -1
- package/dist/core/banco/mutaciones.d.ts.map +1 -1
- package/dist/core/banco/mutaciones.js.map +1 -1
- package/dist/core/banco/park-revive.d.ts +67 -0
- package/dist/core/banco/park-revive.d.ts.map +1 -0
- package/dist/core/banco/park-revive.js +130 -0
- package/dist/core/banco/park-revive.js.map +1 -0
- package/dist/core/banco/pruning.d.ts +48 -0
- package/dist/core/banco/pruning.d.ts.map +1 -0
- package/dist/core/banco/pruning.js +146 -0
- package/dist/core/banco/pruning.js.map +1 -0
- package/dist/core/banco/steering.d.ts +81 -0
- package/dist/core/banco/steering.d.ts.map +1 -0
- package/dist/core/banco/steering.js +96 -0
- package/dist/core/banco/steering.js.map +1 -0
- package/dist/core/banco/tipos.d.ts.map +1 -1
- package/dist/core/banco/tipos.js.map +1 -1
- package/dist/core/bash-executor.d.ts.map +1 -1
- package/dist/core/bash-executor.js.map +1 -1
- package/dist/core/blobs/almacen.d.ts.map +1 -1
- package/dist/core/blobs/almacen.js.map +1 -1
- package/dist/core/blobs/broker.d.ts +1 -0
- package/dist/core/blobs/broker.d.ts.map +1 -1
- package/dist/core/blobs/broker.js +1 -1
- package/dist/core/blobs/broker.js.map +1 -1
- package/dist/core/blobs/index.d.ts +1 -0
- package/dist/core/blobs/index.d.ts.map +1 -1
- package/dist/core/blobs/index.js +1 -0
- package/dist/core/blobs/index.js.map +1 -1
- package/dist/core/blobs/payload.d.ts.map +1 -1
- package/dist/core/blobs/payload.js.map +1 -1
- package/dist/core/blobs/proveedor.d.ts.map +1 -1
- package/dist/core/blobs/proveedor.js.map +1 -1
- package/dist/core/blobs/uploaders.d.ts +105 -0
- package/dist/core/blobs/uploaders.d.ts.map +1 -0
- package/dist/core/blobs/uploaders.js +224 -0
- package/dist/core/blobs/uploaders.js.map +1 -0
- package/dist/core/broker/broker.d.ts +54 -0
- package/dist/core/broker/broker.d.ts.map +1 -0
- package/dist/core/broker/broker.js +216 -0
- package/dist/core/broker/broker.js.map +1 -0
- package/dist/core/broker/index.d.ts +21 -0
- package/dist/core/broker/index.d.ts.map +1 -0
- package/dist/core/broker/index.js +33 -0
- package/dist/core/broker/index.js.map +1 -0
- package/dist/core/broker/ps.d.ts +20 -0
- package/dist/core/broker/ps.d.ts.map +1 -0
- package/dist/core/broker/ps.js +55 -0
- package/dist/core/broker/ps.js.map +1 -0
- package/dist/core/broker/types.d.ts +45 -0
- package/dist/core/broker/types.d.ts.map +1 -0
- package/dist/core/broker/types.js +19 -0
- package/dist/core/broker/types.js.map +1 -0
- package/dist/core/browser/cdp.d.ts.map +1 -1
- package/dist/core/browser/cdp.js.map +1 -1
- package/dist/core/browser/politica.d.ts.map +1 -1
- package/dist/core/browser/politica.js.map +1 -1
- package/dist/core/browser/sesion.d.ts.map +1 -1
- package/dist/core/browser/sesion.js.map +1 -1
- package/dist/core/browser/tools.d.ts.map +1 -1
- package/dist/core/browser/tools.js.map +1 -1
- package/dist/core/cache-stats.d.ts.map +1 -1
- package/dist/core/cache-stats.js.map +1 -1
- package/dist/core/capability/capability.test.d.ts +12 -0
- package/dist/core/capability/capability.test.d.ts.map +1 -0
- package/dist/core/capability/capability.test.js +258 -0
- package/dist/core/capability/capability.test.js.map +1 -0
- package/dist/core/capability/fs.d.ts +32 -0
- package/dist/core/capability/fs.d.ts.map +1 -0
- package/dist/core/capability/fs.js +106 -0
- package/dist/core/capability/fs.js.map +1 -0
- package/dist/core/capability/index.d.ts +68 -0
- package/dist/core/capability/index.d.ts.map +1 -0
- package/dist/core/capability/index.js +258 -0
- package/dist/core/capability/index.js.map +1 -0
- package/dist/core/capability/types.d.ts +168 -0
- package/dist/core/capability/types.d.ts.map +1 -0
- package/dist/core/capability/types.js +16 -0
- package/dist/core/capability/types.js.map +1 -0
- package/dist/core/carga-plugins/index.d.ts +49 -0
- package/dist/core/carga-plugins/index.d.ts.map +1 -0
- package/dist/core/carga-plugins/index.js +85 -0
- package/dist/core/carga-plugins/index.js.map +1 -0
- package/dist/core/carga-plugins/invalidacion.d.ts +60 -0
- package/dist/core/carga-plugins/invalidacion.d.ts.map +1 -0
- package/dist/core/carga-plugins/invalidacion.js +94 -0
- package/dist/core/carga-plugins/invalidacion.js.map +1 -0
- package/dist/core/carga-plugins/paralelo.d.ts +48 -0
- package/dist/core/carga-plugins/paralelo.d.ts.map +1 -0
- package/dist/core/carga-plugins/paralelo.js +47 -0
- package/dist/core/carga-plugins/paralelo.js.map +1 -0
- package/dist/core/colaboracion/autoresearch.d.ts +56 -0
- package/dist/core/colaboracion/autoresearch.d.ts.map +1 -0
- package/dist/core/colaboracion/autoresearch.js +95 -0
- package/dist/core/colaboracion/autoresearch.js.map +1 -0
- package/dist/core/colaboracion/index.d.ts +10 -0
- package/dist/core/colaboracion/index.d.ts.map +1 -0
- package/dist/core/colaboracion/index.js +7 -0
- package/dist/core/colaboracion/index.js.map +1 -0
- package/dist/core/colaboracion/kernels.d.ts +63 -0
- package/dist/core/colaboracion/kernels.d.ts.map +1 -0
- package/dist/core/colaboracion/kernels.js +99 -0
- package/dist/core/colaboracion/kernels.js.map +1 -0
- package/dist/core/colaboracion/rele/index.d.ts +8 -0
- package/dist/core/colaboracion/rele/index.d.ts.map +1 -0
- package/dist/core/colaboracion/rele/index.js +6 -0
- package/dist/core/colaboracion/rele/index.js.map +1 -0
- package/dist/core/colaboracion/rele/rele-servidor.d.ts +69 -0
- package/dist/core/colaboracion/rele/rele-servidor.d.ts.map +1 -0
- package/dist/core/colaboracion/rele/rele-servidor.js +197 -0
- package/dist/core/colaboracion/rele/rele-servidor.js.map +1 -0
- package/dist/core/colaboracion/rele/suscriptor.d.ts +31 -0
- package/dist/core/colaboracion/rele/suscriptor.d.ts.map +1 -0
- package/dist/core/colaboracion/rele/suscriptor.js +173 -0
- package/dist/core/colaboracion/rele/suscriptor.js.map +1 -0
- package/dist/core/colaboracion/sesion-colaborativa.d.ts +61 -0
- package/dist/core/colaboracion/sesion-colaborativa.d.ts.map +1 -0
- package/dist/core/colaboracion/sesion-colaborativa.js +127 -0
- package/dist/core/colaboracion/sesion-colaborativa.js.map +1 -0
- package/dist/core/commits/agentic.d.ts +101 -0
- package/dist/core/commits/agentic.d.ts.map +1 -0
- package/dist/core/commits/agentic.js +268 -0
- package/dist/core/commits/agentic.js.map +1 -0
- package/dist/core/commits/changelog.d.ts +37 -0
- package/dist/core/commits/changelog.d.ts.map +1 -0
- package/dist/core/commits/changelog.js +155 -0
- package/dist/core/commits/changelog.js.map +1 -0
- package/dist/core/commits/diff.d.ts.map +1 -0
- package/dist/core/commits/diff.js.map +1 -0
- package/dist/core/commits/git.d.ts +43 -0
- package/dist/core/commits/git.d.ts.map +1 -0
- package/dist/core/commits/git.js +61 -0
- package/dist/core/commits/git.js.map +1 -0
- package/dist/core/commits/split.d.ts +45 -0
- package/dist/core/commits/split.d.ts.map +1 -0
- package/dist/core/commits/split.js +128 -0
- package/dist/core/commits/split.js.map +1 -0
- package/dist/core/compactacion/comandos.d.ts +53 -0
- package/dist/core/compactacion/comandos.d.ts.map +1 -0
- package/dist/core/compactacion/comandos.js +155 -0
- package/dist/core/compactacion/comandos.js.map +1 -0
- package/dist/core/compactacion/extension.d.ts +28 -0
- package/dist/core/compactacion/extension.d.ts.map +1 -0
- package/dist/core/compactacion/extension.js +159 -0
- package/dist/core/compactacion/extension.js.map +1 -0
- package/dist/core/compactacion/handoff.d.ts +61 -0
- package/dist/core/compactacion/handoff.d.ts.map +1 -0
- package/dist/core/compactacion/handoff.js +139 -0
- package/dist/core/compactacion/handoff.js.map +1 -0
- package/dist/core/compactacion/index.d.ts +15 -0
- package/dist/core/compactacion/index.d.ts.map +1 -0
- package/dist/core/compactacion/index.js +15 -0
- package/dist/core/compactacion/index.js.map +1 -0
- package/dist/core/compactacion/prune.d.ts +38 -0
- package/dist/core/compactacion/prune.d.ts.map +1 -0
- package/dist/core/compactacion/prune.js +81 -0
- package/dist/core/compactacion/prune.js.map +1 -0
- package/dist/core/compactacion/shake.d.ts +40 -0
- package/dist/core/compactacion/shake.d.ts.map +1 -0
- package/dist/core/compactacion/shake.js +106 -0
- package/dist/core/compactacion/shake.js.map +1 -0
- package/dist/core/compactacion/tipos.d.ts +54 -0
- package/dist/core/compactacion/tipos.d.ts.map +1 -0
- package/dist/core/compactacion/tipos.js +44 -0
- package/dist/core/compactacion/tipos.js.map +1 -0
- package/dist/core/compactar/index.d.ts.map +1 -1
- package/dist/core/compactar/index.js.map +1 -1
- package/dist/core/compactar/registro-denso.d.ts.map +1 -1
- package/dist/core/compactar/registro-denso.js.map +1 -1
- package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
- package/dist/core/compaction/branch-summarization.js.map +1 -1
- package/dist/core/compaction/compaction.d.ts.map +1 -1
- package/dist/core/compaction/compaction.js.map +1 -1
- package/dist/core/compaction/index.d.ts.map +1 -1
- package/dist/core/compaction/index.js.map +1 -1
- package/dist/core/compaction/utils.d.ts.map +1 -1
- package/dist/core/compaction/utils.js.map +1 -1
- package/dist/core/computer/captura.d.ts.map +1 -1
- package/dist/core/computer/captura.js.map +1 -1
- package/dist/core/computer/driver.d.ts.map +1 -1
- package/dist/core/computer/driver.js.map +1 -1
- package/dist/core/computer/motor/actions.d.ts.map +1 -1
- package/dist/core/computer/motor/actions.js.map +1 -1
- package/dist/core/computer/motor/bridge.d.ts +2 -2
- package/dist/core/computer/motor/bridge.d.ts.map +1 -1
- package/dist/core/computer/motor/bridge.js.map +1 -1
- package/dist/core/computer/motor/cdp.d.ts.map +1 -1
- package/dist/core/computer/motor/cdp.js.map +1 -1
- package/dist/core/computer/motor/config.d.ts.map +1 -1
- package/dist/core/computer/motor/config.js.map +1 -1
- package/dist/core/computer/motor/contract.d.ts.map +1 -1
- package/dist/core/computer/motor/contract.js.map +1 -1
- package/dist/core/computer/motor/note.d.ts.map +1 -1
- package/dist/core/computer/motor/note.js.map +1 -1
- package/dist/core/computer/motor/outline.d.ts.map +1 -1
- package/dist/core/computer/motor/outline.js.map +1 -1
- package/dist/core/computer/motor/output.d.ts.map +1 -1
- package/dist/core/computer/motor/output.js.map +1 -1
- package/dist/core/computer/motor/permissions.d.ts.map +1 -1
- package/dist/core/computer/motor/permissions.js.map +1 -1
- package/dist/core/computer/motor/platform/architecture.d.ts.map +1 -1
- package/dist/core/computer/motor/platform/architecture.js.map +1 -1
- package/dist/core/computer/motor/platform/coerce.d.ts.map +1 -1
- package/dist/core/computer/motor/platform/coerce.js.map +1 -1
- package/dist/core/computer/motor/platform/index.d.ts.map +1 -1
- package/dist/core/computer/motor/platform/index.js.map +1 -1
- package/dist/core/computer/motor/platform/linux/backend.d.ts.map +1 -1
- package/dist/core/computer/motor/platform/linux/backend.js.map +1 -1
- package/dist/core/computer/motor/platform/linux/helper.d.ts.map +1 -1
- package/dist/core/computer/motor/platform/linux/helper.js.map +1 -1
- package/dist/core/computer/motor/platform/macos/backend.d.ts.map +1 -1
- package/dist/core/computer/motor/platform/macos/backend.js.map +1 -1
- package/dist/core/computer/motor/platform/macos/browser.d.ts.map +1 -1
- package/dist/core/computer/motor/platform/macos/browser.js.map +1 -1
- package/dist/core/computer/motor/platform/macos/helper.d.ts.map +1 -1
- package/dist/core/computer/motor/platform/macos/helper.js.map +1 -1
- package/dist/core/computer/motor/platform/macos/permissions.d.ts.map +1 -1
- package/dist/core/computer/motor/platform/macos/permissions.js.map +1 -1
- package/dist/core/computer/motor/platform/types.d.ts.map +1 -1
- package/dist/core/computer/motor/platform/types.js.map +1 -1
- package/dist/core/computer/motor/platform/windows/backend.d.ts.map +1 -1
- package/dist/core/computer/motor/platform/windows/backend.js.map +1 -1
- package/dist/core/computer/motor/platform/windows/helper.d.ts.map +1 -1
- package/dist/core/computer/motor/platform/windows/helper.js.map +1 -1
- package/dist/core/computer/motor/root-selection.d.ts.map +1 -1
- package/dist/core/computer/motor/root-selection.js.map +1 -1
- package/dist/core/computer/motor/runtime.d.ts.map +1 -1
- package/dist/core/computer/motor/runtime.js.map +1 -1
- package/dist/core/computer/motor/state.d.ts.map +1 -1
- package/dist/core/computer/motor/state.js.map +1 -1
- package/dist/core/computer/motor/view.d.ts.map +1 -1
- package/dist/core/computer/motor/view.js.map +1 -1
- package/dist/core/computer/motor-ada.d.ts.map +1 -1
- package/dist/core/computer/motor-ada.js.map +1 -1
- package/dist/core/computer/politica.d.ts.map +1 -1
- package/dist/core/computer/politica.js.map +1 -1
- package/dist/core/computer/tools.d.ts.map +1 -1
- package/dist/core/computer/tools.js.map +1 -1
- package/dist/core/config/quarantine.d.ts +57 -0
- package/dist/core/config/quarantine.d.ts.map +1 -0
- package/dist/core/config/quarantine.js +161 -0
- package/dist/core/config/quarantine.js.map +1 -0
- package/dist/core/config-viva/ambito.d.ts +46 -0
- package/dist/core/config-viva/ambito.d.ts.map +1 -0
- package/dist/core/config-viva/ambito.js +62 -0
- package/dist/core/config-viva/ambito.js.map +1 -0
- package/dist/core/config-viva/cache-negativa.d.ts +50 -0
- package/dist/core/config-viva/cache-negativa.d.ts.map +1 -0
- package/dist/core/config-viva/cache-negativa.js +78 -0
- package/dist/core/config-viva/cache-negativa.js.map +1 -0
- package/dist/core/config-viva/headers-vivos.d.ts +41 -0
- package/dist/core/config-viva/headers-vivos.d.ts.map +1 -0
- package/dist/core/config-viva/headers-vivos.js +43 -0
- package/dist/core/config-viva/headers-vivos.js.map +1 -0
- package/dist/core/config-viva/index.d.ts +16 -0
- package/dist/core/config-viva/index.d.ts.map +1 -0
- package/dist/core/config-viva/index.js +16 -0
- package/dist/core/config-viva/index.js.map +1 -0
- package/dist/core/config-viva/proveedor.d.ts +48 -0
- package/dist/core/config-viva/proveedor.d.ts.map +1 -0
- package/dist/core/config-viva/proveedor.js +78 -0
- package/dist/core/config-viva/proveedor.js.map +1 -0
- package/dist/core/context-breakdown.d.ts.map +1 -1
- package/dist/core/context-breakdown.js.map +1 -1
- package/dist/core/credenciales/cliente.d.ts.map +1 -1
- package/dist/core/credenciales/cliente.js.map +1 -1
- package/dist/core/credenciales/pool.d.ts +36 -1
- package/dist/core/credenciales/pool.d.ts.map +1 -1
- package/dist/core/credenciales/pool.js +56 -7
- package/dist/core/credenciales/pool.js.map +1 -1
- package/dist/core/credenciales/ranking.d.ts +56 -0
- package/dist/core/credenciales/ranking.d.ts.map +1 -0
- package/dist/core/credenciales/ranking.js +94 -0
- package/dist/core/credenciales/ranking.js.map +1 -0
- package/dist/core/credenciales/ratelimit.d.ts +54 -0
- package/dist/core/credenciales/ratelimit.d.ts.map +1 -0
- package/dist/core/credenciales/ratelimit.js +116 -0
- package/dist/core/credenciales/ratelimit.js.map +1 -0
- package/dist/core/credenciales/reposo.d.ts.map +1 -1
- package/dist/core/credenciales/reposo.js.map +1 -1
- package/dist/core/credenciales/servidor.d.ts +8 -0
- package/dist/core/credenciales/servidor.d.ts.map +1 -1
- package/dist/core/credenciales/servidor.js +9 -1
- package/dist/core/credenciales/servidor.js.map +1 -1
- package/dist/core/defaults.d.ts.map +1 -1
- package/dist/core/defaults.js.map +1 -1
- package/dist/core/descubrimiento/comandos.d.ts.map +1 -1
- package/dist/core/descubrimiento/comandos.js.map +1 -1
- package/dist/core/descubrimiento/mcp.d.ts +12 -0
- package/dist/core/descubrimiento/mcp.d.ts.map +1 -1
- package/dist/core/descubrimiento/mcp.js +32 -0
- package/dist/core/descubrimiento/mcp.js.map +1 -1
- package/dist/core/descubrimiento/reglas.d.ts.map +1 -1
- package/dist/core/descubrimiento/reglas.js.map +1 -1
- package/dist/core/descubrimiento/runtimes/index.d.ts +24 -0
- package/dist/core/descubrimiento/runtimes/index.d.ts.map +1 -0
- package/dist/core/descubrimiento/runtimes/index.js +109 -0
- package/dist/core/descubrimiento/runtimes/index.js.map +1 -0
- package/dist/core/descubrimiento/runtimes/litellm.d.ts +12 -0
- package/dist/core/descubrimiento/runtimes/litellm.d.ts.map +1 -0
- package/dist/core/descubrimiento/runtimes/litellm.js +185 -0
- package/dist/core/descubrimiento/runtimes/litellm.js.map +1 -0
- package/dist/core/descubrimiento/runtimes/lm-studio.d.ts +13 -0
- package/dist/core/descubrimiento/runtimes/lm-studio.d.ts.map +1 -0
- package/dist/core/descubrimiento/runtimes/lm-studio.js +142 -0
- package/dist/core/descubrimiento/runtimes/lm-studio.js.map +1 -0
- package/dist/core/descubrimiento/runtimes/ollama.d.ts +8 -0
- package/dist/core/descubrimiento/runtimes/ollama.d.ts.map +1 -0
- package/dist/core/descubrimiento/runtimes/ollama.js +96 -0
- package/dist/core/descubrimiento/runtimes/ollama.js.map +1 -0
- package/dist/core/descubrimiento/runtimes/tipos.d.ts +47 -0
- package/dist/core/descubrimiento/runtimes/tipos.d.ts.map +1 -0
- package/dist/core/descubrimiento/runtimes/tipos.js +10 -0
- package/dist/core/descubrimiento/runtimes/tipos.js.map +1 -0
- package/dist/core/descubrimiento/skills.d.ts.map +1 -1
- package/dist/core/descubrimiento/skills.js.map +1 -1
- package/dist/core/diagnostics.d.ts.map +1 -1
- package/dist/core/diagnostics.js.map +1 -1
- package/dist/core/dificultad/clasificador.d.ts.map +1 -1
- package/dist/core/dificultad/clasificador.js.map +1 -1
- package/dist/core/edicion/diario.d.ts.map +1 -1
- package/dist/core/edicion/diario.js.map +1 -1
- package/dist/core/edicion/hashline.d.ts.map +1 -1
- package/dist/core/edicion/hashline.js.map +1 -1
- package/dist/core/edicion/hueco.d.ts.map +1 -1
- package/dist/core/edicion/hueco.js.map +1 -1
- package/dist/core/edicion/ipynb.d.ts +51 -0
- package/dist/core/edicion/ipynb.d.ts.map +1 -0
- package/dist/core/edicion/ipynb.js +110 -0
- package/dist/core/edicion/ipynb.js.map +1 -0
- package/dist/core/edicion/limpiar-carga.d.ts.map +1 -1
- package/dist/core/edicion/limpiar-carga.js.map +1 -1
- package/dist/core/edicion/observador.d.ts.map +1 -1
- package/dist/core/edicion/observador.js.map +1 -1
- package/dist/core/edicion/parecido.d.ts.map +1 -1
- package/dist/core/edicion/parecido.js.map +1 -1
- package/dist/core/edicion/parseo.d.ts.map +1 -1
- package/dist/core/edicion/parseo.js.map +1 -1
- package/dist/core/edicion/portapapeles.d.ts +28 -0
- package/dist/core/edicion/portapapeles.d.ts.map +1 -0
- package/dist/core/edicion/portapapeles.js +49 -0
- package/dist/core/edicion/portapapeles.js.map +1 -0
- package/dist/core/edicion/reparacion.d.ts.map +1 -1
- package/dist/core/edicion/reparacion.js.map +1 -1
- package/dist/core/edicion/rutas-difusas.d.ts +44 -0
- package/dist/core/edicion/rutas-difusas.d.ts.map +1 -0
- package/dist/core/edicion/rutas-difusas.js +93 -0
- package/dist/core/edicion/rutas-difusas.js.map +1 -0
- package/dist/core/edicion/sangria.d.ts.map +1 -1
- package/dist/core/edicion/sangria.js.map +1 -1
- package/dist/core/edicion/tipos.d.ts.map +1 -1
- package/dist/core/edicion/tipos.js.map +1 -1
- package/dist/core/engine-personality.d.ts.map +1 -1
- package/dist/core/engine-personality.js.map +1 -1
- package/dist/core/errores/proveedor.d.ts.map +1 -1
- package/dist/core/errores/proveedor.js.map +1 -1
- package/dist/core/estructural/buscar.d.ts.map +1 -1
- package/dist/core/estructural/buscar.js.map +1 -1
- package/dist/core/estructural/editar.d.ts.map +1 -1
- package/dist/core/estructural/editar.js.map +1 -1
- package/dist/core/estructural/tools.d.ts.map +1 -1
- package/dist/core/estructural/tools.js.map +1 -1
- package/dist/core/event-bus.d.ts.map +1 -1
- package/dist/core/event-bus.js.map +1 -1
- package/dist/core/exec.d.ts.map +1 -1
- package/dist/core/exec.js.map +1 -1
- package/dist/core/experimental.d.ts.map +1 -1
- package/dist/core/experimental.js.map +1 -1
- package/dist/core/export-html/ansi-to-html.d.ts.map +1 -1
- package/dist/core/export-html/ansi-to-html.js.map +1 -1
- package/dist/core/export-html/index.d.ts.map +1 -1
- package/dist/core/export-html/index.js +183 -13
- package/dist/core/export-html/index.js.map +1 -1
- package/dist/core/export-html/template.css +88 -4
- package/dist/core/export-html/template.html +3 -1
- package/dist/core/export-html/template.js +84 -0
- package/dist/core/export-html/tool-renderer.d.ts.map +1 -1
- package/dist/core/export-html/tool-renderer.js.map +1 -1
- package/dist/core/extensiones/suplantacion.d.ts.map +1 -1
- package/dist/core/extensiones/suplantacion.js.map +1 -1
- package/dist/core/extensiones/vigilancia.d.ts.map +1 -1
- package/dist/core/extensiones/vigilancia.js.map +1 -1
- package/dist/core/extensions/index.d.ts.map +1 -1
- package/dist/core/extensions/index.js.map +1 -1
- package/dist/core/extensions/loader.d.ts.map +1 -1
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/extensions/runner.d.ts.map +1 -1
- package/dist/core/extensions/runner.js.map +1 -1
- package/dist/core/extensions/types.d.ts.map +1 -1
- package/dist/core/extensions/types.js.map +1 -1
- package/dist/core/extensions/wrapper.d.ts.map +1 -1
- package/dist/core/extensions/wrapper.js.map +1 -1
- package/dist/core/footer-data-provider.d.ts.map +1 -1
- package/dist/core/footer-data-provider.js.map +1 -1
- package/dist/core/gc/archivo-frio.d.ts +33 -0
- package/dist/core/gc/archivo-frio.d.ts.map +1 -0
- package/dist/core/gc/archivo-frio.js +152 -0
- package/dist/core/gc/archivo-frio.js.map +1 -0
- package/dist/core/gc/blobs-gc.d.ts +25 -0
- package/dist/core/gc/blobs-gc.d.ts.map +1 -0
- package/dist/core/gc/blobs-gc.js +143 -0
- package/dist/core/gc/blobs-gc.js.map +1 -0
- package/dist/core/gc/index.d.ts +42 -0
- package/dist/core/gc/index.d.ts.map +1 -0
- package/dist/core/gc/index.js +50 -0
- package/dist/core/gc/index.js.map +1 -0
- package/dist/core/gc/lock.d.ts +19 -0
- package/dist/core/gc/lock.d.ts.map +1 -0
- package/dist/core/gc/lock.js +48 -0
- package/dist/core/gc/lock.js.map +1 -0
- package/dist/core/gc/reconciliacion.d.ts +19 -0
- package/dist/core/gc/reconciliacion.d.ts.map +1 -0
- package/dist/core/gc/reconciliacion.js +102 -0
- package/dist/core/gc/reconciliacion.js.map +1 -0
- package/dist/core/gc/wal.d.ts +15 -0
- package/dist/core/gc/wal.d.ts.map +1 -0
- package/dist/core/gc/wal.js +44 -0
- package/dist/core/gc/wal.js.map +1 -0
- package/dist/core/harness/fuentes-de-contexto.d.ts.map +1 -1
- package/dist/core/harness/fuentes-de-contexto.js.map +1 -1
- package/dist/core/harness/refine.d.ts.map +1 -1
- package/dist/core/harness/refine.js.map +1 -1
- package/dist/core/harness/store.d.ts.map +1 -1
- package/dist/core/harness/store.js.map +1 -1
- package/dist/core/higiene/index.d.ts +8 -0
- package/dist/core/higiene/index.d.ts.map +1 -0
- package/dist/core/higiene/index.js +8 -0
- package/dist/core/higiene/index.js.map +1 -0
- package/dist/core/higiene/managed-timers.d.ts +19 -0
- package/dist/core/higiene/managed-timers.d.ts.map +1 -0
- package/dist/core/higiene/managed-timers.js +68 -0
- package/dist/core/higiene/managed-timers.js.map +1 -0
- package/dist/core/higiene/race-handler.d.ts +7 -0
- package/dist/core/higiene/race-handler.d.ts.map +1 -0
- package/dist/core/higiene/race-handler.js +32 -0
- package/dist/core/higiene/race-handler.js.map +1 -0
- package/dist/core/higiene/withHostGuard.d.ts +27 -0
- package/dist/core/higiene/withHostGuard.d.ts.map +1 -0
- package/dist/core/higiene/withHostGuard.js +79 -0
- package/dist/core/higiene/withHostGuard.js.map +1 -0
- package/dist/core/hooks/contract.d.ts.map +1 -1
- package/dist/core/hooks/contract.js.map +1 -1
- package/dist/core/hooks/runner.d.ts.map +1 -1
- package/dist/core/hooks/runner.js.map +1 -1
- package/dist/core/hooks/session-hooks.d.ts.map +1 -1
- package/dist/core/hooks/session-hooks.js.map +1 -1
- package/dist/core/hooks-ts/cargador.d.ts +29 -0
- package/dist/core/hooks-ts/cargador.d.ts.map +1 -0
- package/dist/core/hooks-ts/cargador.js +51 -0
- package/dist/core/hooks-ts/cargador.js.map +1 -0
- package/dist/core/hooks-ts/index.d.ts +25 -0
- package/dist/core/hooks-ts/index.d.ts.map +1 -0
- package/dist/core/hooks-ts/index.js +25 -0
- package/dist/core/hooks-ts/index.js.map +1 -0
- package/dist/core/hooks-ts/runner.d.ts +40 -0
- package/dist/core/hooks-ts/runner.d.ts.map +1 -0
- package/dist/core/hooks-ts/runner.js +95 -0
- package/dist/core/hooks-ts/runner.js.map +1 -0
- package/dist/core/hooks-ts/tipos.d.ts +69 -0
- package/dist/core/hooks-ts/tipos.d.ts.map +1 -0
- package/dist/core/hooks-ts/tipos.js +90 -0
- package/dist/core/hooks-ts/tipos.js.map +1 -0
- package/dist/core/http-dispatcher.d.ts.map +1 -1
- package/dist/core/http-dispatcher.js.map +1 -1
- package/dist/core/importar/formatos.d.ts.map +1 -1
- package/dist/core/importar/formatos.js.map +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/interactivo/deteccion.d.ts.map +1 -1
- package/dist/core/interactivo/deteccion.js.map +1 -1
- package/dist/core/interactivo/sesion.d.ts.map +1 -1
- package/dist/core/interactivo/sesion.js.map +1 -1
- package/dist/core/interactivo/tools.d.ts.map +1 -1
- package/dist/core/interactivo/tools.js.map +1 -1
- package/dist/core/keybindings.d.ts +170 -170
- package/dist/core/keybindings.d.ts.map +1 -1
- package/dist/core/keybindings.js.map +1 -1
- package/dist/core/lectura/mapa.d.ts.map +1 -1
- package/dist/core/lectura/mapa.js.map +1 -1
- package/dist/core/lectura/pdf.d.ts.map +1 -1
- package/dist/core/lectura/pdf.js.map +1 -1
- package/dist/core/lectura/sniffer.d.ts +54 -0
- package/dist/core/lectura/sniffer.d.ts.map +1 -0
- package/dist/core/lectura/sniffer.js +106 -0
- package/dist/core/lectura/sniffer.js.map +1 -0
- package/dist/core/limpieza/comprobadores.d.ts +16 -2
- package/dist/core/limpieza/comprobadores.d.ts.map +1 -1
- package/dist/core/limpieza/comprobadores.js +200 -6
- package/dist/core/limpieza/comprobadores.js.map +1 -1
- package/dist/core/limpieza/flujo.d.ts +36 -0
- package/dist/core/limpieza/flujo.d.ts.map +1 -0
- package/dist/core/limpieza/flujo.js +89 -0
- package/dist/core/limpieza/flujo.js.map +1 -0
- package/dist/core/limpieza/parseo.d.ts.map +1 -1
- package/dist/core/limpieza/parseo.js.map +1 -1
- package/dist/core/limpieza/peso.d.ts +17 -0
- package/dist/core/limpieza/peso.d.ts.map +1 -0
- package/dist/core/limpieza/peso.js +52 -0
- package/dist/core/limpieza/peso.js.map +1 -0
- package/dist/core/limpieza/pool.d.ts +44 -0
- package/dist/core/limpieza/pool.d.ts.map +1 -0
- package/dist/core/limpieza/pool.js +123 -0
- package/dist/core/limpieza/pool.js.map +1 -0
- package/dist/core/limpieza/reparacion.d.ts +19 -2
- package/dist/core/limpieza/reparacion.d.ts.map +1 -1
- package/dist/core/limpieza/reparacion.js +95 -8
- package/dist/core/limpieza/reparacion.js.map +1 -1
- package/dist/core/limpieza/tablero.d.ts +47 -0
- package/dist/core/limpieza/tablero.d.ts.map +1 -0
- package/dist/core/limpieza/tablero.js +78 -0
- package/dist/core/limpieza/tablero.js.map +1 -0
- package/dist/core/limpieza/tipos.d.ts +25 -0
- package/dist/core/limpieza/tipos.d.ts.map +1 -1
- package/dist/core/limpieza/tipos.js.map +1 -1
- package/dist/core/lsp/cliente.d.ts +7 -0
- package/dist/core/lsp/cliente.d.ts.map +1 -1
- package/dist/core/lsp/cliente.js +4 -2
- package/dist/core/lsp/cliente.js.map +1 -1
- package/dist/core/lsp/descubrimiento.d.ts.map +1 -1
- package/dist/core/lsp/descubrimiento.js.map +1 -1
- package/dist/core/lsp/ediciones.d.ts.map +1 -1
- package/dist/core/lsp/ediciones.js.map +1 -1
- package/dist/core/lsp/extension.d.ts +9 -0
- package/dist/core/lsp/extension.d.ts.map +1 -1
- package/dist/core/lsp/extension.js +60 -4
- package/dist/core/lsp/extension.js.map +1 -1
- package/dist/core/lsp/formato.d.ts +72 -0
- package/dist/core/lsp/formato.d.ts.map +1 -0
- package/dist/core/lsp/formato.js +117 -0
- package/dist/core/lsp/formato.js.map +1 -0
- package/dist/core/lsp/tools.d.ts +3 -3
- package/dist/core/lsp/tools.d.ts.map +1 -1
- package/dist/core/lsp/tools.js.map +1 -1
- package/dist/core/lsp/writethrough.d.ts +165 -0
- package/dist/core/lsp/writethrough.d.ts.map +1 -0
- package/dist/core/lsp/writethrough.js +282 -0
- package/dist/core/lsp/writethrough.js.map +1 -0
- package/dist/core/marketplace/catalogo.d.ts +32 -0
- package/dist/core/marketplace/catalogo.d.ts.map +1 -0
- package/dist/core/marketplace/catalogo.js +122 -0
- package/dist/core/marketplace/catalogo.js.map +1 -0
- package/dist/core/marketplace/doctor.d.ts +47 -0
- package/dist/core/marketplace/doctor.d.ts.map +1 -0
- package/dist/core/marketplace/doctor.js +155 -0
- package/dist/core/marketplace/doctor.js.map +1 -0
- package/dist/core/marketplace/features.d.ts +22 -0
- package/dist/core/marketplace/features.d.ts.map +1 -0
- package/dist/core/marketplace/features.js +70 -0
- package/dist/core/marketplace/features.js.map +1 -0
- package/dist/core/marketplace/index.d.ts +33 -0
- package/dist/core/marketplace/index.d.ts.map +1 -0
- package/dist/core/marketplace/index.js +33 -0
- package/dist/core/marketplace/index.js.map +1 -0
- package/dist/core/marketplace/instalar.d.ts +27 -0
- package/dist/core/marketplace/instalar.d.ts.map +1 -0
- package/dist/core/marketplace/instalar.js +50 -0
- package/dist/core/marketplace/instalar.js.map +1 -0
- package/dist/core/mcp/client.d.ts.map +1 -1
- package/dist/core/mcp/client.js.map +1 -1
- package/dist/core/mcp/manager.d.ts.map +1 -1
- package/dist/core/mcp/manager.js.map +1 -1
- package/dist/core/mcp/oauth.d.ts +138 -0
- package/dist/core/mcp/oauth.d.ts.map +1 -0
- package/dist/core/mcp/oauth.js +348 -0
- package/dist/core/mcp/oauth.js.map +1 -0
- package/dist/core/mcp/tools.d.ts.map +1 -1
- package/dist/core/mcp/tools.js.map +1 -1
- package/dist/core/memoria/almacen.d.ts +56 -0
- package/dist/core/memoria/almacen.d.ts.map +1 -0
- package/dist/core/memoria/almacen.js +214 -0
- package/dist/core/memoria/almacen.js.map +1 -0
- package/dist/core/memoria/dr/respaldo.d.ts +34 -0
- package/dist/core/memoria/dr/respaldo.d.ts.map +1 -0
- package/dist/core/memoria/dr/respaldo.js +133 -0
- package/dist/core/memoria/dr/respaldo.js.map +1 -0
- package/dist/core/memoria/embeddings.d.ts +21 -0
- package/dist/core/memoria/embeddings.d.ts.map +1 -0
- package/dist/core/memoria/embeddings.js +87 -0
- package/dist/core/memoria/embeddings.js.map +1 -0
- package/dist/core/memoria/grafo.d.ts +56 -0
- package/dist/core/memoria/grafo.d.ts.map +1 -0
- package/dist/core/memoria/grafo.js +143 -0
- package/dist/core/memoria/grafo.js.map +1 -0
- package/dist/core/memoria/redaccion.d.ts +32 -0
- package/dist/core/memoria/redaccion.d.ts.map +1 -0
- package/dist/core/memoria/redaccion.js +76 -0
- package/dist/core/memoria/redaccion.js.map +1 -0
- package/dist/core/memoria/servidor/almacen-json.d.ts +26 -0
- package/dist/core/memoria/servidor/almacen-json.d.ts.map +1 -0
- package/dist/core/memoria/servidor/almacen-json.js +90 -0
- package/dist/core/memoria/servidor/almacen-json.js.map +1 -0
- package/dist/core/memoria/servidor/servidor.d.ts +43 -0
- package/dist/core/memoria/servidor/servidor.d.ts.map +1 -0
- package/dist/core/memoria/servidor/servidor.js +195 -0
- package/dist/core/memoria/servidor/servidor.js.map +1 -0
- package/dist/core/memoria/servidor/tipos.d.ts +44 -0
- package/dist/core/memoria/servidor/tipos.d.ts.map +1 -0
- package/dist/core/memoria/servidor/tipos.js +12 -0
- package/dist/core/memoria/servidor/tipos.js.map +1 -0
- package/dist/core/memoria/tipos.d.ts +63 -0
- package/dist/core/memoria/tipos.d.ts.map +1 -0
- package/dist/core/memoria/tipos.js +14 -0
- package/dist/core/memoria/tipos.js.map +1 -0
- package/dist/core/memory-engine/audit-export.d.ts.map +1 -1
- package/dist/core/memory-engine/audit-export.js.map +1 -1
- package/dist/core/memory-engine/audit-indice.d.ts.map +1 -1
- package/dist/core/memory-engine/audit-indice.js.map +1 -1
- package/dist/core/memory-engine/audit.d.ts.map +1 -1
- package/dist/core/memory-engine/audit.js.map +1 -1
- package/dist/core/memory-engine/engine.d.ts +7 -0
- package/dist/core/memory-engine/engine.d.ts.map +1 -1
- package/dist/core/memory-engine/engine.js.map +1 -1
- package/dist/core/memory-engine/inverted-index.d.ts.map +1 -1
- package/dist/core/memory-engine/inverted-index.js.map +1 -1
- package/dist/core/memory-engine/keychain.d.ts.map +1 -1
- package/dist/core/memory-engine/keychain.js.map +1 -1
- package/dist/core/memory-engine/observation-store.d.ts +1 -0
- package/dist/core/memory-engine/observation-store.d.ts.map +1 -1
- package/dist/core/memory-engine/observation-store.js.map +1 -1
- package/dist/core/memory-engine/refinements.d.ts.map +1 -1
- package/dist/core/memory-engine/refinements.js.map +1 -1
- package/dist/core/memory-engine/scanner.d.ts.map +1 -1
- package/dist/core/memory-engine/scanner.js.map +1 -1
- package/dist/core/memory-engine/security.d.ts.map +1 -1
- package/dist/core/memory-engine/security.js.map +1 -1
- package/dist/core/memory-engine/session-indexer.d.ts.map +1 -1
- package/dist/core/memory-engine/session-indexer.js.map +1 -1
- package/dist/core/memory-engine/tools.d.ts.map +1 -1
- package/dist/core/memory-engine/tools.js.map +1 -1
- package/dist/core/memory-engine/types.d.ts.map +1 -1
- package/dist/core/memory-engine/types.js.map +1 -1
- package/dist/core/memory-engine/vault.d.ts.map +1 -1
- package/dist/core/memory-engine/vault.js.map +1 -1
- package/dist/core/messages.d.ts.map +1 -1
- package/dist/core/messages.js.map +1 -1
- package/dist/core/metaharness/cli.d.ts +19 -0
- package/dist/core/metaharness/cli.d.ts.map +1 -0
- package/dist/core/metaharness/cli.js +171 -0
- package/dist/core/metaharness/cli.js.map +1 -0
- package/dist/core/metaharness/comparar.d.ts +21 -0
- package/dist/core/metaharness/comparar.d.ts.map +1 -0
- package/dist/core/metaharness/comparar.js +64 -0
- package/dist/core/metaharness/comparar.js.map +1 -0
- package/dist/core/metaharness/ejecutar.d.ts +70 -0
- package/dist/core/metaharness/ejecutar.d.ts.map +1 -0
- package/dist/core/metaharness/ejecutar.js +249 -0
- package/dist/core/metaharness/ejecutar.js.map +1 -0
- package/dist/core/metaharness/tipos.d.ts +142 -0
- package/dist/core/metaharness/tipos.d.ts.map +1 -0
- package/dist/core/metaharness/tipos.js +17 -0
- package/dist/core/metaharness/tipos.js.map +1 -0
- package/dist/core/model-config.d.ts +8 -8
- package/dist/core/model-config.d.ts.map +1 -1
- package/dist/core/model-config.js.map +1 -1
- package/dist/core/model-registry.d.ts.map +1 -1
- package/dist/core/model-registry.js.map +1 -1
- package/dist/core/model-resolver.d.ts.map +1 -1
- package/dist/core/model-resolver.js.map +1 -1
- package/dist/core/model-runtime.d.ts.map +1 -1
- package/dist/core/model-runtime.js.map +1 -1
- package/dist/core/models-store.d.ts.map +1 -1
- package/dist/core/models-store.js.map +1 -1
- package/dist/core/muestreo-restringido.d.ts.map +1 -1
- package/dist/core/muestreo-restringido.js.map +1 -1
- package/dist/core/orphan-process-journal.d.ts.map +1 -1
- package/dist/core/orphan-process-journal.js.map +1 -1
- package/dist/core/output-guard.d.ts.map +1 -1
- package/dist/core/output-guard.js.map +1 -1
- package/dist/core/package-manager.d.ts.map +1 -1
- package/dist/core/package-manager.js.map +1 -1
- package/dist/core/parche/aplicar.d.ts +19 -0
- package/dist/core/parche/aplicar.d.ts.map +1 -0
- package/dist/core/parche/aplicar.js +243 -0
- package/dist/core/parche/aplicar.js.map +1 -0
- package/dist/core/parche/parser.d.ts +38 -0
- package/dist/core/parche/parser.d.ts.map +1 -0
- package/dist/core/parche/parser.js +217 -0
- package/dist/core/parche/parser.js.map +1 -0
- package/dist/core/parche/registro.d.ts +12 -0
- package/dist/core/parche/registro.d.ts.map +1 -0
- package/dist/core/parche/registro.js +58 -0
- package/dist/core/parche/registro.js.map +1 -0
- package/dist/core/perfiles/index.d.ts +22 -0
- package/dist/core/perfiles/index.d.ts.map +1 -0
- package/dist/core/perfiles/index.js +21 -0
- package/dist/core/perfiles/index.js.map +1 -0
- package/dist/core/perfiles/resolver.d.ts +51 -0
- package/dist/core/perfiles/resolver.d.ts.map +1 -0
- package/dist/core/perfiles/resolver.js +329 -0
- package/dist/core/perfiles/resolver.js.map +1 -0
- package/dist/core/perfiles/tipos.d.ts +69 -0
- package/dist/core/perfiles/tipos.d.ts.map +1 -0
- package/dist/core/perfiles/tipos.js +98 -0
- package/dist/core/perfiles/tipos.js.map +1 -0
- package/dist/core/pi-manifest.d.ts.map +1 -1
- package/dist/core/pi-manifest.js.map +1 -1
- package/dist/core/privacidad/categorias-especiales.d.ts.map +1 -1
- package/dist/core/privacidad/categorias-especiales.js +4 -0
- package/dist/core/privacidad/categorias-especiales.js.map +1 -1
- package/dist/core/privacidad/tapar.d.ts.map +1 -1
- package/dist/core/privacidad/tapar.js.map +1 -1
- package/dist/core/project-memory.d.ts.map +1 -1
- package/dist/core/project-memory.js.map +1 -1
- package/dist/core/project-trust.d.ts.map +1 -1
- package/dist/core/project-trust.js.map +1 -1
- package/dist/core/prompt-cache/diagnostics.d.ts.map +1 -1
- package/dist/core/prompt-cache/diagnostics.js.map +1 -1
- package/dist/core/prompt-cache/index.d.ts.map +1 -1
- package/dist/core/prompt-cache/index.js.map +1 -1
- package/dist/core/prompt-cache/payload.d.ts.map +1 -1
- package/dist/core/prompt-cache/payload.js.map +1 -1
- package/dist/core/prompt-cache/stabilize.d.ts.map +1 -1
- package/dist/core/prompt-cache/stabilize.js.map +1 -1
- package/dist/core/prompt-cache/stats.d.ts.map +1 -1
- package/dist/core/prompt-cache/stats.js.map +1 -1
- package/dist/core/prompt-eleccion.d.ts.map +1 -1
- package/dist/core/prompt-eleccion.js.map +1 -1
- package/dist/core/prompt-optimizer.d.ts.map +1 -1
- package/dist/core/prompt-optimizer.js.map +1 -1
- package/dist/core/prompt-templates.d.ts.map +1 -1
- package/dist/core/prompt-templates.js.map +1 -1
- package/dist/core/prompts/montar.d.ts.map +1 -1
- package/dist/core/prompts/montar.js.map +1 -1
- package/dist/core/prompts/plantilla.d.ts.map +1 -1
- package/dist/core/prompts/plantilla.js.map +1 -1
- package/dist/core/proveedores-registry/definiciones.d.ts +15 -0
- package/dist/core/proveedores-registry/definiciones.d.ts.map +1 -0
- package/dist/core/proveedores-registry/definiciones.js +22 -0
- package/dist/core/proveedores-registry/definiciones.js.map +1 -0
- package/dist/core/proveedores-registry/index.d.ts +14 -0
- package/dist/core/proveedores-registry/index.d.ts.map +1 -0
- package/dist/core/proveedores-registry/index.js +13 -0
- package/dist/core/proveedores-registry/index.js.map +1 -0
- package/dist/core/proveedores-registry/resolver.d.ts +25 -0
- package/dist/core/proveedores-registry/resolver.d.ts.map +1 -0
- package/dist/core/proveedores-registry/resolver.js +69 -0
- package/dist/core/proveedores-registry/resolver.js.map +1 -0
- package/dist/core/proveedores-registry/tipos.d.ts +47 -0
- package/dist/core/proveedores-registry/tipos.d.ts.map +1 -0
- package/dist/core/proveedores-registry/tipos.js +15 -0
- package/dist/core/proveedores-registry/tipos.js.map +1 -0
- package/dist/core/provider-attribution.d.ts.map +1 -1
- package/dist/core/provider-attribution.js.map +1 -1
- package/dist/core/provider-composer.d.ts.map +1 -1
- package/dist/core/provider-composer.js.map +1 -1
- package/dist/core/radius.d.ts.map +1 -1
- package/dist/core/radius.js.map +1 -1
- package/dist/core/remote-catalog-provider.d.ts.map +1 -1
- package/dist/core/remote-catalog-provider.js.map +1 -1
- package/dist/core/remoto/destino.d.ts.map +1 -1
- package/dist/core/remoto/destino.js.map +1 -1
- package/dist/core/remoto/ejecutor.d.ts.map +1 -1
- package/dist/core/remoto/ejecutor.js.map +1 -1
- package/dist/core/remoto/ficheros.d.ts.map +1 -1
- package/dist/core/remoto/ficheros.js.map +1 -1
- package/dist/core/remoto/registro-extension.d.ts.map +1 -1
- package/dist/core/remoto/registro-extension.js.map +1 -1
- package/dist/core/remoto/tools.d.ts.map +1 -1
- package/dist/core/remoto/tools.js.map +1 -1
- package/dist/core/reparacion/index.d.ts +2 -0
- package/dist/core/reparacion/index.d.ts.map +1 -0
- package/dist/core/reparacion/index.js +2 -0
- package/dist/core/reparacion/index.js.map +1 -0
- package/dist/core/reparacion/reparar-hunk.d.ts +27 -0
- package/dist/core/reparacion/reparar-hunk.d.ts.map +1 -0
- package/dist/core/reparacion/reparar-hunk.js +139 -0
- package/dist/core/reparacion/reparar-hunk.js.map +1 -0
- package/dist/core/resolve-config-value.d.ts.map +1 -1
- package/dist/core/resolve-config-value.js.map +1 -1
- package/dist/core/resource-loader.d.ts +13 -0
- package/dist/core/resource-loader.d.ts.map +1 -1
- package/dist/core/resource-loader.js +7 -4
- package/dist/core/resource-loader.js.map +1 -1
- package/dist/core/revision/dispositions.d.ts +86 -0
- package/dist/core/revision/dispositions.d.ts.map +1 -0
- package/dist/core/revision/dispositions.js +137 -0
- package/dist/core/revision/dispositions.js.map +1 -0
- package/dist/core/revision/hallazgo.d.ts.map +1 -1
- package/dist/core/revision/hallazgo.js.map +1 -1
- package/dist/core/revision/procedencia.d.ts +63 -0
- package/dist/core/revision/procedencia.d.ts.map +1 -0
- package/dist/core/revision/procedencia.js +72 -0
- package/dist/core/revision/procedencia.js.map +1 -0
- package/dist/core/revision/publicar.d.ts +26 -0
- package/dist/core/revision/publicar.d.ts.map +1 -0
- package/dist/core/revision/publicar.js +34 -0
- package/dist/core/revision/publicar.js.map +1 -0
- package/dist/core/revision/revisor.d.ts.map +1 -1
- package/dist/core/revision/revisor.js.map +1 -1
- package/dist/core/revision/sarif.d.ts.map +1 -1
- package/dist/core/revision/sarif.js.map +1 -1
- package/dist/core/router-uris/index.d.ts +12 -0
- package/dist/core/router-uris/index.d.ts.map +1 -0
- package/dist/core/router-uris/index.js +12 -0
- package/dist/core/router-uris/index.js.map +1 -0
- package/dist/core/router-uris/router.d.ts +2 -0
- package/dist/core/router-uris/router.d.ts.map +1 -0
- package/dist/core/router-uris/router.js +2 -0
- package/dist/core/router-uris/router.js.map +1 -0
- package/dist/core/runtime-credentials.d.ts.map +1 -1
- package/dist/core/runtime-credentials.js.map +1 -1
- package/dist/core/rutas/envoltorio.d.ts +20 -0
- package/dist/core/rutas/envoltorio.d.ts.map +1 -0
- package/dist/core/rutas/envoltorio.js +48 -0
- package/dist/core/rutas/envoltorio.js.map +1 -0
- package/dist/core/rutas/index.d.ts +11 -0
- package/dist/core/rutas/index.d.ts.map +1 -0
- package/dist/core/rutas/index.js +11 -0
- package/dist/core/rutas/index.js.map +1 -0
- package/dist/core/rutas/router.d.ts +82 -0
- package/dist/core/rutas/router.d.ts.map +1 -0
- package/dist/core/rutas/router.js +161 -0
- package/dist/core/rutas/router.js.map +1 -0
- package/dist/core/scheduler/scheduler.d.ts.map +1 -1
- package/dist/core/scheduler/scheduler.js.map +1 -1
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/secretos/extension.d.ts +31 -0
- package/dist/core/secretos/extension.d.ts.map +1 -0
- package/dist/core/secretos/extension.js +64 -0
- package/dist/core/secretos/extension.js.map +1 -0
- package/dist/core/secretos/index.d.ts +75 -0
- package/dist/core/secretos/index.d.ts.map +1 -0
- package/dist/core/secretos/index.js +385 -0
- package/dist/core/secretos/index.js.map +1 -0
- package/dist/core/secretos/message-transform.d.ts +44 -0
- package/dist/core/secretos/message-transform.d.ts.map +1 -0
- package/dist/core/secretos/message-transform.js +246 -0
- package/dist/core/secretos/message-transform.js.map +1 -0
- package/dist/core/secretos/obfuscator.d.ts +30 -0
- package/dist/core/secretos/obfuscator.d.ts.map +1 -0
- package/dist/core/secretos/obfuscator.js +1182 -0
- package/dist/core/secretos/obfuscator.js.map +1 -0
- package/dist/core/secretos/placeholder-scan.d.ts +96 -0
- package/dist/core/secretos/placeholder-scan.d.ts.map +1 -0
- package/dist/core/secretos/placeholder-scan.js +433 -0
- package/dist/core/secretos/placeholder-scan.js.map +1 -0
- package/dist/core/secretos/placeholder.d.ts +95 -0
- package/dist/core/secretos/placeholder.d.ts.map +1 -0
- package/dist/core/secretos/placeholder.js +283 -0
- package/dist/core/secretos/placeholder.js.map +1 -0
- package/dist/core/secretos/regex.d.ts +3 -0
- package/dist/core/secretos/regex.d.ts.map +1 -0
- package/dist/core/secretos/regex.js +19 -0
- package/dist/core/secretos/regex.js.map +1 -0
- package/dist/core/secretos/replacement.d.ts +83 -0
- package/dist/core/secretos/replacement.d.ts.map +1 -0
- package/dist/core/secretos/replacement.js +211 -0
- package/dist/core/secretos/replacement.js.map +1 -0
- package/dist/core/sesion/cerrar-llamadas-abiertas.d.ts.map +1 -1
- package/dist/core/sesion/cerrar-llamadas-abiertas.js.map +1 -1
- package/dist/core/sesion/journal-tree.d.ts +73 -0
- package/dist/core/sesion/journal-tree.d.ts.map +1 -0
- package/dist/core/sesion/journal-tree.js +241 -0
- package/dist/core/sesion/journal-tree.js.map +1 -0
- package/dist/core/sesion/turn-recovery.d.ts +48 -0
- package/dist/core/sesion/turn-recovery.d.ts.map +1 -0
- package/dist/core/sesion/turn-recovery.js +182 -0
- package/dist/core/sesion/turn-recovery.js.map +1 -0
- package/dist/core/session-cwd.d.ts.map +1 -1
- package/dist/core/session-cwd.js.map +1 -1
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/settings-diagnostics.d.ts.map +1 -1
- package/dist/core/settings-diagnostics.js.map +1 -1
- package/dist/core/settings-manager.d.ts +2 -2
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/share/cifrado.d.ts +39 -0
- package/dist/core/share/cifrado.d.ts.map +1 -0
- package/dist/core/share/cifrado.js +81 -0
- package/dist/core/share/cifrado.js.map +1 -0
- package/dist/core/share/exportar.d.ts +69 -0
- package/dist/core/share/exportar.d.ts.map +1 -0
- package/dist/core/share/exportar.js +247 -0
- package/dist/core/share/exportar.js.map +1 -0
- package/dist/core/skills.d.ts.map +1 -1
- package/dist/core/skills.js.map +1 -1
- package/dist/core/slash-commands.d.ts.map +1 -1
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/core/source-info.d.ts.map +1 -1
- package/dist/core/source-info.js.map +1 -1
- package/dist/core/stream-guard/guardia.d.ts +45 -0
- package/dist/core/stream-guard/guardia.d.ts.map +1 -0
- package/dist/core/stream-guard/guardia.js +100 -0
- package/dist/core/stream-guard/guardia.js.map +1 -0
- package/dist/core/stream-guard/index.d.ts +9 -0
- package/dist/core/stream-guard/index.d.ts.map +1 -0
- package/dist/core/stream-guard/index.js +7 -0
- package/dist/core/stream-guard/index.js.map +1 -0
- package/dist/core/stream-guard/replay.d.ts +39 -0
- package/dist/core/stream-guard/replay.d.ts.map +1 -0
- package/dist/core/stream-guard/replay.js +68 -0
- package/dist/core/stream-guard/replay.js.map +1 -0
- package/dist/core/system-prompt.d.ts.map +1 -1
- package/dist/core/system-prompt.js.map +1 -1
- package/dist/core/telemetria/otlp.d.ts.map +1 -1
- package/dist/core/telemetria/otlp.js.map +1 -1
- package/dist/core/telemetry/otel-genai.d.ts +44 -0
- package/dist/core/telemetry/otel-genai.d.ts.map +1 -0
- package/dist/core/telemetry/otel-genai.js +124 -0
- package/dist/core/telemetry/otel-genai.js.map +1 -0
- package/dist/core/telemetry.d.ts.map +1 -1
- package/dist/core/telemetry.js.map +1 -1
- package/dist/core/terminal/backlog-guard.d.ts +53 -0
- package/dist/core/terminal/backlog-guard.d.ts.map +1 -0
- package/dist/core/terminal/backlog-guard.js +122 -0
- package/dist/core/terminal/backlog-guard.js.map +1 -0
- package/dist/core/terminal/conpty.d.ts +29 -0
- package/dist/core/terminal/conpty.d.ts.map +1 -0
- package/dist/core/terminal/conpty.js +67 -0
- package/dist/core/terminal/conpty.js.map +1 -0
- package/dist/core/terminal/conptyChunking.d.ts +2 -0
- package/dist/core/terminal/conptyChunking.d.ts.map +1 -0
- package/dist/core/terminal/conptyChunking.js +2 -0
- package/dist/core/terminal/conptyChunking.js.map +1 -0
- package/dist/core/terminal/index.d.ts +5 -0
- package/dist/core/terminal/index.d.ts.map +1 -0
- package/dist/core/terminal/index.js +5 -0
- package/dist/core/terminal/index.js.map +1 -0
- package/dist/core/terminal/loop-watchdog.d.ts +43 -0
- package/dist/core/terminal/loop-watchdog.d.ts.map +1 -0
- package/dist/core/terminal/loop-watchdog.js +117 -0
- package/dist/core/terminal/loop-watchdog.js.map +1 -0
- package/dist/core/terminal/runner.d.ts +55 -0
- package/dist/core/terminal/runner.d.ts.map +1 -0
- package/dist/core/terminal/runner.js +102 -0
- package/dist/core/terminal/runner.js.map +1 -0
- package/dist/core/timings.d.ts.map +1 -1
- package/dist/core/timings.js.map +1 -1
- package/dist/core/tools/apply_patch.d.ts +29 -0
- package/dist/core/tools/apply_patch.d.ts.map +1 -0
- package/dist/core/tools/apply_patch.js +54 -0
- package/dist/core/tools/apply_patch.js.map +1 -0
- package/dist/core/tools/bash.d.ts.map +1 -1
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/coercion-argumentos.d.ts.map +1 -1
- package/dist/core/tools/coercion-argumentos.js.map +1 -1
- package/dist/core/tools/edit-diff.d.ts.map +1 -1
- package/dist/core/tools/edit-diff.js.map +1 -1
- package/dist/core/tools/edit.d.ts.map +1 -1
- package/dist/core/tools/edit.js +43 -1
- package/dist/core/tools/edit.js.map +1 -1
- package/dist/core/tools/file-mutation-queue.d.ts.map +1 -1
- package/dist/core/tools/file-mutation-queue.js.map +1 -1
- package/dist/core/tools/find.d.ts.map +1 -1
- package/dist/core/tools/find.js.map +1 -1
- package/dist/core/tools/grep.d.ts.map +1 -1
- package/dist/core/tools/grep.js.map +1 -1
- package/dist/core/tools/index.d.ts.map +1 -1
- package/dist/core/tools/index.js.map +1 -1
- package/dist/core/tools/json-tolerante.d.ts.map +1 -1
- package/dist/core/tools/json-tolerante.js.map +1 -1
- package/dist/core/tools/ls.d.ts.map +1 -1
- package/dist/core/tools/ls.js.map +1 -1
- package/dist/core/tools/noop-loop-guard.d.ts +46 -0
- package/dist/core/tools/noop-loop-guard.d.ts.map +1 -0
- package/dist/core/tools/noop-loop-guard.js +57 -0
- package/dist/core/tools/noop-loop-guard.js.map +1 -0
- package/dist/core/tools/output-accumulator.d.ts.map +1 -1
- package/dist/core/tools/output-accumulator.js.map +1 -1
- package/dist/core/tools/path-utils.d.ts.map +1 -1
- package/dist/core/tools/path-utils.js.map +1 -1
- package/dist/core/tools/project-memory-tool.d.ts.map +1 -1
- package/dist/core/tools/project-memory-tool.js.map +1 -1
- package/dist/core/tools/read.d.ts.map +1 -1
- package/dist/core/tools/read.js.map +1 -1
- package/dist/core/tools/render-utils.d.ts.map +1 -1
- package/dist/core/tools/render-utils.js.map +1 -1
- package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -1
- package/dist/core/tools/tool-definition-wrapper.js.map +1 -1
- package/dist/core/tools/truncate.d.ts.map +1 -1
- package/dist/core/tools/truncate.js.map +1 -1
- package/dist/core/tools/write.d.ts.map +1 -1
- package/dist/core/tools/write.js.map +1 -1
- package/dist/core/trust-manager.d.ts.map +1 -1
- package/dist/core/trust-manager.js.map +1 -1
- package/dist/core/ttsr/captura.d.ts +72 -0
- package/dist/core/ttsr/captura.d.ts.map +1 -0
- package/dist/core/ttsr/captura.js +183 -0
- package/dist/core/ttsr/captura.js.map +1 -0
- package/dist/core/ttsr/index.d.ts +24 -0
- package/dist/core/ttsr/index.d.ts.map +1 -0
- package/dist/core/ttsr/index.js +57 -0
- package/dist/core/ttsr/index.js.map +1 -0
- package/dist/core/ttsr/preview.d.ts +48 -0
- package/dist/core/ttsr/preview.d.ts.map +1 -0
- package/dist/core/ttsr/preview.js +83 -0
- package/dist/core/ttsr/preview.js.map +1 -0
- package/dist/core/turno-vacio/detectar.d.ts.map +1 -1
- package/dist/core/turno-vacio/detectar.js.map +1 -1
- package/dist/core/undo/journal.d.ts.map +1 -1
- package/dist/core/undo/journal.js.map +1 -1
- package/dist/core/urls-internas/auditoria.d.ts.map +1 -1
- package/dist/core/urls-internas/auditoria.js.map +1 -1
- package/dist/core/urls-internas/boveda.d.ts.map +1 -1
- package/dist/core/urls-internas/boveda.js.map +1 -1
- package/dist/core/urls-internas/lector.d.ts +14 -10
- package/dist/core/urls-internas/lector.d.ts.map +1 -1
- package/dist/core/urls-internas/lector.js +50 -36
- package/dist/core/urls-internas/lector.js.map +1 -1
- package/dist/core/urls-internas/memoria.d.ts.map +1 -1
- package/dist/core/urls-internas/memoria.js.map +1 -1
- package/dist/core/urls-internas/parse.d.ts +6 -13
- package/dist/core/urls-internas/parse.d.ts.map +1 -1
- package/dist/core/urls-internas/parse.js +6 -17
- package/dist/core/urls-internas/parse.js.map +1 -1
- package/dist/core/urls-internas/reglas.d.ts.map +1 -1
- package/dist/core/urls-internas/reglas.js.map +1 -1
- package/dist/core/usage/aggregate.d.ts +1 -0
- package/dist/core/usage/aggregate.d.ts.map +1 -1
- package/dist/core/usage/aggregate.js +1 -1
- package/dist/core/usage/aggregate.js.map +1 -1
- package/dist/core/usage/cuota/anthropic.d.ts.map +1 -1
- package/dist/core/usage/cuota/anthropic.js.map +1 -1
- package/dist/core/usage/cuota/cache.d.ts.map +1 -1
- package/dist/core/usage/cuota/cache.js.map +1 -1
- package/dist/core/usage/cuota/github-copilot.d.ts.map +1 -1
- package/dist/core/usage/cuota/github-copilot.js.map +1 -1
- package/dist/core/usage/cuota/google-gemini.d.ts.map +1 -1
- package/dist/core/usage/cuota/google-gemini.js.map +1 -1
- package/dist/core/usage/cuota/index.d.ts.map +1 -1
- package/dist/core/usage/cuota/index.js.map +1 -1
- package/dist/core/usage/cuota/openai-codex.d.ts.map +1 -1
- package/dist/core/usage/cuota/openai-codex.js.map +1 -1
- package/dist/core/usage/cuota/openrouter.d.ts.map +1 -1
- package/dist/core/usage/cuota/openrouter.js.map +1 -1
- package/dist/core/usage/cuota/tipos.d.ts.map +1 -1
- package/dist/core/usage/cuota/tipos.js.map +1 -1
- package/dist/core/usage/index.d.ts +11 -0
- package/dist/core/usage/index.d.ts.map +1 -0
- package/dist/core/usage/index.js +11 -0
- package/dist/core/usage/index.js.map +1 -0
- package/dist/core/usage/multi.d.ts +62 -0
- package/dist/core/usage/multi.d.ts.map +1 -0
- package/dist/core/usage/multi.js +122 -0
- package/dist/core/usage/multi.js.map +1 -0
- package/dist/core/usage/redaccion.d.ts +48 -0
- package/dist/core/usage/redaccion.d.ts.map +1 -0
- package/dist/core/usage/redaccion.js +72 -0
- package/dist/core/usage/redaccion.js.map +1 -0
- package/dist/core/usage-totals.d.ts.map +1 -1
- package/dist/core/usage-totals.js.map +1 -1
- package/dist/core/utils/atomic-write.d.ts +55 -0
- package/dist/core/utils/atomic-write.d.ts.map +1 -0
- package/dist/core/utils/atomic-write.js +293 -0
- package/dist/core/utils/atomic-write.js.map +1 -0
- package/dist/core/utils/git.d.ts +24 -0
- package/dist/core/utils/git.d.ts.map +1 -0
- package/dist/core/utils/git.js +107 -0
- package/dist/core/utils/git.js.map +1 -0
- package/dist/core/utils/logger.d.ts +26 -0
- package/dist/core/utils/logger.d.ts.map +1 -0
- package/dist/core/utils/logger.js +104 -0
- package/dist/core/utils/logger.js.map +1 -0
- package/dist/core/utils/shell-snapshot.d.ts +21 -0
- package/dist/core/utils/shell-snapshot.d.ts.map +1 -0
- package/dist/core/utils/shell-snapshot.js +32 -0
- package/dist/core/utils/shell-snapshot.js.map +1 -0
- package/dist/core/utils/startup-watchdog.d.ts +11 -0
- package/dist/core/utils/startup-watchdog.d.ts.map +1 -0
- package/dist/core/utils/startup-watchdog.js +34 -0
- package/dist/core/utils/startup-watchdog.js.map +1 -0
- package/dist/core/utils/tls-ca-shim.d.ts +17 -0
- package/dist/core/utils/tls-ca-shim.d.ts.map +1 -0
- package/dist/core/utils/tls-ca-shim.js +33 -0
- package/dist/core/utils/tls-ca-shim.js.map +1 -0
- package/dist/core/web/agregador.d.ts +67 -0
- package/dist/core/web/agregador.d.ts.map +1 -0
- package/dist/core/web/agregador.js +182 -0
- package/dist/core/web/agregador.js.map +1 -0
- package/dist/core/web/busqueda-nativa.d.ts.map +1 -1
- package/dist/core/web/busqueda-nativa.js.map +1 -1
- package/dist/core/web/consulta.d.ts +53 -0
- package/dist/core/web/consulta.d.ts.map +1 -0
- package/dist/core/web/consulta.js +213 -0
- package/dist/core/web/consulta.js.map +1 -0
- package/dist/core/web/destino.d.ts +11 -0
- package/dist/core/web/destino.d.ts.map +1 -1
- package/dist/core/web/destino.js +35 -0
- package/dist/core/web/destino.js.map +1 -1
- package/dist/core/web/load-page.d.ts +52 -0
- package/dist/core/web/load-page.d.ts.map +1 -0
- package/dist/core/web/load-page.js +221 -0
- package/dist/core/web/load-page.js.map +1 -0
- package/dist/core/web/proveedores/brave.d.ts.map +1 -1
- package/dist/core/web/proveedores/brave.js.map +1 -1
- package/dist/core/web/proveedores/claves.d.ts.map +1 -1
- package/dist/core/web/proveedores/claves.js.map +1 -1
- package/dist/core/web/proveedores/duckduckgo.d.ts.map +1 -1
- package/dist/core/web/proveedores/duckduckgo.js.map +1 -1
- package/dist/core/web/proveedores/ecosia.d.ts.map +1 -1
- package/dist/core/web/proveedores/ecosia.js.map +1 -1
- package/dist/core/web/proveedores/exa.d.ts.map +1 -1
- package/dist/core/web/proveedores/exa.js.map +1 -1
- package/dist/core/web/proveedores/mojeek.d.ts.map +1 -1
- package/dist/core/web/proveedores/mojeek.js.map +1 -1
- package/dist/core/web/proveedores/navegador.d.ts.map +1 -1
- package/dist/core/web/proveedores/navegador.js.map +1 -1
- package/dist/core/web/proveedores/registro.d.ts.map +1 -1
- package/dist/core/web/proveedores/registro.js.map +1 -1
- package/dist/core/web/proveedores/searxng.d.ts.map +1 -1
- package/dist/core/web/proveedores/searxng.js.map +1 -1
- package/dist/core/web/proveedores/serper.d.ts.map +1 -1
- package/dist/core/web/proveedores/serper.js.map +1 -1
- package/dist/core/web/proveedores/tavily.d.ts.map +1 -1
- package/dist/core/web/proveedores/tavily.js.map +1 -1
- package/dist/core/web/proveedores/tipos.d.ts.map +1 -1
- package/dist/core/web/proveedores/tipos.js.map +1 -1
- package/dist/core/web/registro-red.d.ts.map +1 -1
- package/dist/core/web/registro-red.js.map +1 -1
- package/dist/core/web/scrapers/cisa-kev.d.ts.map +1 -1
- package/dist/core/web/scrapers/cisa-kev.js.map +1 -1
- package/dist/core/web/scrapers/crates-io.d.ts.map +1 -1
- package/dist/core/web/scrapers/crates-io.js.map +1 -1
- package/dist/core/web/scrapers/docs-rs.d.ts.map +1 -1
- package/dist/core/web/scrapers/docs-rs.js.map +1 -1
- package/dist/core/web/scrapers/github.d.ts.map +1 -1
- package/dist/core/web/scrapers/github.js.map +1 -1
- package/dist/core/web/scrapers/go-pkg.d.ts.map +1 -1
- package/dist/core/web/scrapers/go-pkg.js.map +1 -1
- package/dist/core/web/scrapers/hex.d.ts.map +1 -1
- package/dist/core/web/scrapers/hex.js.map +1 -1
- package/dist/core/web/scrapers/maven.d.ts.map +1 -1
- package/dist/core/web/scrapers/maven.js.map +1 -1
- package/dist/core/web/scrapers/mdn.d.ts.map +1 -1
- package/dist/core/web/scrapers/mdn.js.map +1 -1
- package/dist/core/web/scrapers/npm.d.ts.map +1 -1
- package/dist/core/web/scrapers/npm.js.map +1 -1
- package/dist/core/web/scrapers/nuget.d.ts.map +1 -1
- package/dist/core/web/scrapers/nuget.js.map +1 -1
- package/dist/core/web/scrapers/nvd.d.ts.map +1 -1
- package/dist/core/web/scrapers/nvd.js.map +1 -1
- package/dist/core/web/scrapers/pypi.d.ts.map +1 -1
- package/dist/core/web/scrapers/pypi.js.map +1 -1
- package/dist/core/web/scrapers/registro.d.ts.map +1 -1
- package/dist/core/web/scrapers/registro.js.map +1 -1
- package/dist/core/web/scrapers/rubygems.d.ts.map +1 -1
- package/dist/core/web/scrapers/rubygems.js.map +1 -1
- package/dist/core/web/scrapers/stackoverflow.d.ts.map +1 -1
- package/dist/core/web/scrapers/stackoverflow.js.map +1 -1
- package/dist/core/web/scrapers/tipos.d.ts.map +1 -1
- package/dist/core/web/scrapers/tipos.js.map +1 -1
- package/dist/core/web/texto.d.ts.map +1 -1
- package/dist/core/web/texto.js.map +1 -1
- package/dist/core/web/tools.d.ts +1 -8
- package/dist/core/web/tools.d.ts.map +1 -1
- package/dist/core/web/tools.js +2 -33
- package/dist/core/web/tools.js.map +1 -1
- package/dist/core/wiki/almacen.d.ts.map +1 -1
- package/dist/core/wiki/almacen.js.map +1 -1
- package/dist/core/wiki/citas.d.ts.map +1 -1
- package/dist/core/wiki/citas.js.map +1 -1
- package/dist/core/workflows/agent-runner.d.ts.map +1 -1
- package/dist/core/workflows/agent-runner.js.map +1 -1
- package/dist/core/workflows/builtins.d.ts.map +1 -1
- package/dist/core/workflows/builtins.js.map +1 -1
- package/dist/core/workflows/contrato/esquema.d.ts.map +1 -1
- package/dist/core/workflows/contrato/esquema.js.map +1 -1
- package/dist/core/workflows/contrato/reparar-argumentos.d.ts.map +1 -1
- package/dist/core/workflows/contrato/reparar-argumentos.js.map +1 -1
- package/dist/core/workflows/contrato/validador.d.ts.map +1 -1
- package/dist/core/workflows/contrato/validador.js.map +1 -1
- package/dist/core/workflows/contrato/yield.d.ts.map +1 -1
- package/dist/core/workflows/contrato/yield.js.map +1 -1
- package/dist/core/workflows/goal-engine/engine.d.ts +5 -0
- package/dist/core/workflows/goal-engine/engine.d.ts.map +1 -1
- package/dist/core/workflows/goal-engine/engine.js.map +1 -1
- package/dist/core/workflows/goal-engine/errors.d.ts.map +1 -1
- package/dist/core/workflows/goal-engine/errors.js.map +1 -1
- package/dist/core/workflows/goal-engine/index.d.ts.map +1 -1
- package/dist/core/workflows/goal-engine/index.js.map +1 -1
- package/dist/core/workflows/goal-engine/persistence.d.ts.map +1 -1
- package/dist/core/workflows/goal-engine/persistence.js.map +1 -1
- package/dist/core/workflows/goal-engine/prompts.d.ts.map +1 -1
- package/dist/core/workflows/goal-engine/prompts.js.map +1 -1
- package/dist/core/workflows/goal-engine/state.d.ts.map +1 -1
- package/dist/core/workflows/goal-engine/state.js.map +1 -1
- package/dist/core/workflows/goal-engine/tools.d.ts.map +1 -1
- package/dist/core/workflows/goal-engine/tools.js.map +1 -1
- package/dist/core/workflows/goal-engine/types.d.ts.map +1 -1
- package/dist/core/workflows/goal-engine/types.js.map +1 -1
- package/dist/core/workflows/goal-engine/worktree-fingerprint.d.ts.map +1 -1
- package/dist/core/workflows/goal-engine/worktree-fingerprint.js.map +1 -1
- package/dist/core/workflows/graph-sync.d.ts.map +1 -1
- package/dist/core/workflows/graph-sync.js.map +1 -1
- package/dist/core/workflows/graph.d.ts.map +1 -1
- package/dist/core/workflows/graph.js.map +1 -1
- package/dist/core/workflows/index.d.ts +6 -0
- package/dist/core/workflows/index.d.ts.map +1 -1
- package/dist/core/workflows/index.js +3 -0
- package/dist/core/workflows/index.js.map +1 -1
- package/dist/core/workflows/journal.d.ts.map +1 -1
- package/dist/core/workflows/journal.js.map +1 -1
- package/dist/core/workflows/manager.d.ts.map +1 -1
- package/dist/core/workflows/manager.js.map +1 -1
- package/dist/core/workflows/provider-caps.d.ts +103 -0
- package/dist/core/workflows/provider-caps.d.ts.map +1 -0
- package/dist/core/workflows/provider-caps.js +235 -0
- package/dist/core/workflows/provider-caps.js.map +1 -0
- package/dist/core/workflows/resolve-script.d.ts.map +1 -1
- package/dist/core/workflows/resolve-script.js.map +1 -1
- package/dist/core/workflows/runtime.d.ts.map +1 -1
- package/dist/core/workflows/runtime.js.map +1 -1
- package/dist/core/workflows/save-as-skill.d.ts.map +1 -1
- package/dist/core/workflows/save-as-skill.js.map +1 -1
- package/dist/core/workflows/shared-store.d.ts.map +1 -1
- package/dist/core/workflows/shared-store.js.map +1 -1
- package/dist/core/workflows/soft-budget.d.ts +27 -0
- package/dist/core/workflows/soft-budget.d.ts.map +1 -0
- package/dist/core/workflows/soft-budget.js +47 -0
- package/dist/core/workflows/soft-budget.js.map +1 -0
- package/dist/core/workflows/subagent-host.d.ts.map +1 -1
- package/dist/core/workflows/subagent-host.js.map +1 -1
- package/dist/core/workflows/tool-scheduling.d.ts +47 -0
- package/dist/core/workflows/tool-scheduling.d.ts.map +1 -0
- package/dist/core/workflows/tool-scheduling.js +102 -0
- package/dist/core/workflows/tool-scheduling.js.map +1 -0
- package/dist/core/workflows/tool-workflow.d.ts.map +1 -1
- package/dist/core/workflows/tool-workflow.js.map +1 -1
- package/dist/core/workflows/types.d.ts.map +1 -1
- package/dist/core/workflows/types.js.map +1 -1
- package/dist/core/workflows/worktree.d.ts.map +1 -1
- package/dist/core/workflows/worktree.js.map +1 -1
- package/dist/extensions/index.d.ts.map +1 -1
- package/dist/extensions/index.js.map +1 -1
- package/dist/extensions/llama/client.d.ts.map +1 -1
- package/dist/extensions/llama/client.js.map +1 -1
- package/dist/extensions/llama/huggingface.d.ts.map +1 -1
- package/dist/extensions/llama/huggingface.js.map +1 -1
- package/dist/extensions/llama/index.d.ts.map +1 -1
- package/dist/extensions/llama/index.js.map +1 -1
- package/dist/extensions/llama/provider.d.ts.map +1 -1
- package/dist/extensions/llama/provider.js.map +1 -1
- package/dist/extensions/llama/ui.d.ts.map +1 -1
- package/dist/extensions/llama/ui.js.map +1 -1
- package/dist/extensions/remoto/index.d.ts.map +1 -1
- package/dist/extensions/remoto/index.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +71 -3
- package/dist/main.js.map +1 -1
- package/dist/migrations.d.ts.map +1 -1
- package/dist/migrations.js.map +1 -1
- package/dist/modes/acp/acp-mode.d.ts.map +1 -1
- package/dist/modes/acp/acp-mode.js.map +1 -1
- package/dist/modes/acp/events.d.ts.map +1 -1
- package/dist/modes/acp/events.js.map +1 -1
- package/dist/modes/index.d.ts.map +1 -1
- package/dist/modes/index.js.map +1 -1
- package/dist/modes/interactive/components/armin.d.ts.map +1 -1
- package/dist/modes/interactive/components/armin.js.map +1 -1
- package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/assistant-message.js.map +1 -1
- package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -1
- package/dist/modes/interactive/components/bash-execution.js.map +1 -1
- package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -1
- package/dist/modes/interactive/components/bordered-loader.js.map +1 -1
- package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/branch-summary-message.js.map +1 -1
- package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -1
- package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/config-selector.js.map +1 -1
- package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -1
- package/dist/modes/interactive/components/countdown-timer.js.map +1 -1
- package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-editor.js.map +1 -1
- package/dist/modes/interactive/components/custom-entry.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-entry.js.map +1 -1
- package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-message.js.map +1 -1
- package/dist/modes/interactive/components/daxnuts.d.ts.map +1 -1
- package/dist/modes/interactive/components/daxnuts.js.map +1 -1
- package/dist/modes/interactive/components/diff.d.ts.map +1 -1
- package/dist/modes/interactive/components/diff.js.map +1 -1
- package/dist/modes/interactive/components/dynamic-border.d.ts.map +1 -1
- package/dist/modes/interactive/components/dynamic-border.js.map +1 -1
- package/dist/modes/interactive/components/earendil-announcement.d.ts.map +1 -1
- package/dist/modes/interactive/components/earendil-announcement.js.map +1 -1
- package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-editor.js.map +1 -1
- package/dist/modes/interactive/components/extension-input.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-input.js.map +1 -1
- package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-selector.js.map +1 -1
- package/dist/modes/interactive/components/first-time-setup.d.ts.map +1 -1
- package/dist/modes/interactive/components/first-time-setup.js.map +1 -1
- package/dist/modes/interactive/components/footer.d.ts.map +1 -1
- package/dist/modes/interactive/components/footer.js.map +1 -1
- package/dist/modes/interactive/components/home-screen.d.ts +2 -0
- package/dist/modes/interactive/components/home-screen.d.ts.map +1 -1
- package/dist/modes/interactive/components/home-screen.js +5 -6
- package/dist/modes/interactive/components/home-screen.js.map +1 -1
- package/dist/modes/interactive/components/index.d.ts.map +1 -1
- package/dist/modes/interactive/components/index.js.map +1 -1
- package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -1
- package/dist/modes/interactive/components/keybinding-hints.js.map +1 -1
- package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
- package/dist/modes/interactive/components/login-dialog.js.map +1 -1
- package/dist/modes/interactive/components/markdown-transform.d.ts.map +1 -1
- package/dist/modes/interactive/components/markdown-transform.js.map +1 -1
- package/dist/modes/interactive/components/mermaid.d.ts.map +1 -1
- package/dist/modes/interactive/components/mermaid.js.map +1 -1
- package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/model-selector.js.map +1 -1
- package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
- package/dist/modes/interactive/components/prompt-optimization.d.ts.map +1 -1
- package/dist/modes/interactive/components/prompt-optimization.js.map +1 -1
- package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
- package/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -1
- package/dist/modes/interactive/components/session-selector-search.js.map +1 -1
- package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/session-selector.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/dist/modes/interactive/components/settings-submenu.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-submenu.js.map +1 -1
- package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/show-images-selector.js.map +1 -1
- package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -1
- package/dist/modes/interactive/components/status-indicator.d.ts.map +1 -1
- package/dist/modes/interactive/components/status-indicator.js.map +1 -1
- package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/theme-selector.js.map +1 -1
- package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
- package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
- package/dist/modes/interactive/components/tool-execution.js.map +1 -1
- package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/tree-selector.js.map +1 -1
- package/dist/modes/interactive/components/trust-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/trust-selector.js.map +1 -1
- package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/user-message-selector.js.map +1 -1
- package/dist/modes/interactive/components/user-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/user-message.js.map +1 -1
- package/dist/modes/interactive/components/visual-truncate.d.ts.map +1 -1
- package/dist/modes/interactive/components/visual-truncate.js.map +1 -1
- package/dist/modes/interactive/external-editor.d.ts.map +1 -1
- package/dist/modes/interactive/external-editor.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +19 -0
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +29 -0
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/model-catalog-refresh.d.ts.map +1 -1
- package/dist/modes/interactive/model-catalog-refresh.js.map +1 -1
- package/dist/modes/interactive/model-search.d.ts.map +1 -1
- package/dist/modes/interactive/model-search.js.map +1 -1
- package/dist/modes/interactive/theme/theme-controller.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme-controller.js.map +1 -1
- package/dist/modes/interactive/theme/theme.d.ts +2 -2
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme.js.map +1 -1
- package/dist/modes/json-event.d.ts.map +1 -1
- package/dist/modes/json-event.js.map +1 -1
- package/dist/modes/print-mode.d.ts.map +1 -1
- package/dist/modes/print-mode.js.map +1 -1
- package/dist/modes/rpc/jsonl.d.ts.map +1 -1
- package/dist/modes/rpc/jsonl.js.map +1 -1
- package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client.js.map +1 -1
- package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-types.js.map +1 -1
- package/dist/package-manager-cli.d.ts.map +1 -1
- package/dist/package-manager-cli.js.map +1 -1
- package/dist/rpc-entry.d.ts.map +1 -1
- package/dist/rpc-entry.js +0 -0
- package/dist/rpc-entry.js.map +1 -1
- package/dist/server/attach.d.ts.map +1 -1
- package/dist/server/attach.js.map +1 -1
- package/dist/server/create-harness.d.ts.map +1 -1
- package/dist/server/create-harness.js.map +1 -1
- package/dist/server/extension-ops.d.ts.map +1 -1
- package/dist/server/extension-ops.js.map +1 -1
- package/dist/server/pi-server-service.d.ts.map +1 -1
- package/dist/server/pi-server-service.js.map +1 -1
- package/dist/server/scheduler-tick.d.ts.map +1 -1
- package/dist/server/scheduler-tick.js.map +1 -1
- package/dist/server/serve.d.ts.map +1 -1
- package/dist/server/serve.js.map +1 -1
- package/dist/server/transcript.d.ts.map +1 -1
- package/dist/server/transcript.js.map +1 -1
- package/dist/telegram/api.d.ts +6 -0
- package/dist/telegram/api.d.ts.map +1 -1
- package/dist/telegram/api.js.map +1 -1
- package/dist/telegram/bridge.d.ts.map +1 -1
- package/dist/telegram/bridge.js.map +1 -1
- package/dist/telegram/journal.d.ts.map +1 -1
- package/dist/telegram/journal.js.map +1 -1
- package/dist/telegram/servidor.d.ts.map +1 -1
- package/dist/telegram/servidor.js.map +1 -1
- package/dist/utils/abort.d.ts.map +1 -1
- package/dist/utils/abort.js.map +1 -1
- package/dist/utils/ansi.d.ts.map +1 -1
- package/dist/utils/ansi.js.map +1 -1
- package/dist/utils/changelog.d.ts.map +1 -1
- package/dist/utils/changelog.js.map +1 -1
- package/dist/utils/child-process.d.ts.map +1 -1
- package/dist/utils/child-process.js.map +1 -1
- package/dist/utils/clipboard-image.d.ts.map +1 -1
- package/dist/utils/clipboard-image.js.map +1 -1
- package/dist/utils/clipboard-native.d.ts.map +1 -1
- package/dist/utils/clipboard-native.js.map +1 -1
- package/dist/utils/clipboard.d.ts.map +1 -1
- package/dist/utils/clipboard.js.map +1 -1
- package/dist/utils/deprecation.d.ts.map +1 -1
- package/dist/utils/deprecation.js.map +1 -1
- package/dist/utils/exif-orientation.d.ts.map +1 -1
- package/dist/utils/exif-orientation.js.map +1 -1
- package/dist/utils/frontmatter.d.ts.map +1 -1
- package/dist/utils/frontmatter.js.map +1 -1
- package/dist/utils/fs-watch.d.ts.map +1 -1
- package/dist/utils/fs-watch.js.map +1 -1
- package/dist/utils/git.d.ts.map +1 -1
- package/dist/utils/git.js.map +1 -1
- package/dist/utils/html.d.ts.map +1 -1
- package/dist/utils/html.js.map +1 -1
- package/dist/utils/image-convert.d.ts.map +1 -1
- package/dist/utils/image-convert.js.map +1 -1
- package/dist/utils/image-process.d.ts.map +1 -1
- package/dist/utils/image-process.js.map +1 -1
- package/dist/utils/image-resize-core.d.ts.map +1 -1
- package/dist/utils/image-resize-core.js.map +1 -1
- package/dist/utils/image-resize-worker.d.ts.map +1 -1
- package/dist/utils/image-resize-worker.js.map +1 -1
- package/dist/utils/image-resize.d.ts.map +1 -1
- package/dist/utils/image-resize.js.map +1 -1
- package/dist/utils/json.d.ts.map +1 -1
- package/dist/utils/json.js.map +1 -1
- package/dist/utils/management-http.d.ts.map +1 -1
- package/dist/utils/management-http.js.map +1 -1
- package/dist/utils/mime.d.ts.map +1 -1
- package/dist/utils/mime.js.map +1 -1
- package/dist/utils/open-browser.d.ts.map +1 -1
- package/dist/utils/open-browser.js.map +1 -1
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js.map +1 -1
- package/dist/utils/photon.d.ts.map +1 -1
- package/dist/utils/photon.js.map +1 -1
- package/dist/utils/pi-user-agent.d.ts.map +1 -1
- package/dist/utils/pi-user-agent.js.map +1 -1
- package/dist/utils/shell.d.ts.map +1 -1
- package/dist/utils/shell.js.map +1 -1
- package/dist/utils/sleep.d.ts.map +1 -1
- package/dist/utils/sleep.js.map +1 -1
- package/dist/utils/syntax-highlight.d.ts.map +1 -1
- package/dist/utils/syntax-highlight.js.map +1 -1
- package/dist/utils/text.d.ts.map +1 -1
- package/dist/utils/text.js.map +1 -1
- package/dist/utils/tool-result-images.d.ts.map +1 -1
- package/dist/utils/tool-result-images.js.map +1 -1
- package/dist/utils/tools-manager.d.ts.map +1 -1
- package/dist/utils/tools-manager.js.map +1 -1
- package/dist/utils/version-check.d.ts.map +1 -1
- package/dist/utils/version-check.js.map +1 -1
- package/dist/utils/windows-self-update.d.ts.map +1 -1
- package/dist/utils/windows-self-update.js.map +1 -1
- package/docs/development-fork.md +170 -0
- package/docs/docs.json +25 -0
- package/docs/modules-infraestructura.md +115 -0
- package/docs/modules-motor.md +160 -0
- package/docs/modules-producto.md +179 -0
- package/docs/modules-seguridad.md +158 -0
- package/package.json +113 -113
- package/dist/core/commit/diff.d.ts.map +0 -1
- package/dist/core/commit/diff.js.map +0 -1
- package/dist/core/commit/mensaje.d.ts +0 -80
- package/dist/core/commit/mensaje.d.ts.map +0 -1
- package/dist/core/commit/mensaje.js +0 -207
- package/dist/core/commit/mensaje.js.map +0 -1
- /package/dist/core/{commit → commits}/diff.d.ts +0 -0
- /package/dist/core/{commit → commits}/diff.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../src/core/workflows/manager.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * WorkflowManager — ejecución de workflows en background con estado durable.\n *\n * - execute(script, args): valida, persiste el estado (RunJournal), corre el\n * runtime, emite eventos (started/phase/agent/update/finished).\n * - pause/resume/abort: aborta con señal; el estado queda para reanudar\n * (resume con el mismo runId reutiliza el journal).\n * - El disco es la fuente de verdad (snapshot en cada evento).\n */\n\nimport type { HallazgoParcial } from \"./contrato/yield.ts\";\nimport { type PersistedRunState, RunJournal } from \"./journal.ts\";\nimport { runWorkflow, type WorkflowRuntimeOptions } from \"./runtime.ts\";\nimport { WorkflowError } from \"./types.ts\";\n\nexport interface WorkflowEventMap {\n\tworkflow_run_started: { runId: string; name: string; phases: string[] };\n\tworkflow_phase: { runId: string; phase: string };\n\tworkflow_agent: { runId: string; agent: { id: string; label: string; phase?: string } };\n\t/** Un subagente entregó un hallazgo con `yield` — emitido EN CUANTO ocurre, no al terminar el run. */\n\tworkflow_agent_yield: { runId: string; agent: { id: string; label: string }; hallazgo: HallazgoParcial };\n\tworkflow_run_update: {\n\t\trunId: string;\n\t\tstatus: PersistedRunState[\"status\"];\n\t\tagentsDone: number;\n\t\tagentsTotal: number;\n\t\ttokens: number;\n\t\tcost: number;\n\t};\n\tworkflow_run_finished: {\n\t\trunId: string;\n\t\tstatus: PersistedRunState[\"status\"];\n\t\tresultPath?: string;\n\t\tagentCount: number;\n\t\ttokens: number;\n\t\tcost: number;\n\t\terror?: string;\n\t};\n}\n\nexport interface WorkflowManagerOptions {\n\trunsDir: string;\n\tcreateSession: WorkflowRuntimeOptions[\"createSession\"];\n\tlimits?: WorkflowRuntimeOptions[\"limits\"];\n\tonEvent?: <K extends keyof WorkflowEventMap>(type: K, payload: WorkflowEventMap[K]) => void;\n\tconfirm?: WorkflowRuntimeOptions[\"confirm\"];\n}\n\nexport interface ExecuteWorkflowOptions {\n\targs?: Record<string, unknown>;\n\trunId?: string;\n\t/** Sesión que lanza el run (filtro por conversación en el panel). */\n\tsessionId?: string;\n\t/** Nombre para mostrar en el panel (título de sub-tarea del goal, etc.). */\n\tdisplayName?: string;\n\t/** Esperar a que termine (default: true). */\n\tawait?: boolean;\n}\n\nexport class WorkflowManager {\n\tprivate journal: RunJournal;\n\tprivate runsDir: string;\n\tprivate createSession: WorkflowRuntimeOptions[\"createSession\"];\n\tprivate limits: WorkflowRuntimeOptions[\"limits\"];\n\tprivate onEvent?: WorkflowManagerOptions[\"onEvent\"];\n\tprivate confirm?: WorkflowRuntimeOptions[\"confirm\"];\n\tprivate abortControllers = new Map<string, AbortController>();\n\n\tconstructor(options: WorkflowManagerOptions) {\n\t\tthis.journal = new RunJournal({ runsDir: options.runsDir });\n\t\tthis.runsDir = options.runsDir;\n\t\tthis.createSession = options.createSession;\n\t\tthis.limits = options.limits;\n\t\tthis.onEvent = options.onEvent;\n\t\tthis.confirm = options.confirm;\n\t}\n\n\tget runJournal(): RunJournal {\n\t\treturn this.journal;\n\t}\n\n\tasync list(): Promise<\n\t\tArray<{ runId: string; name: string; status: PersistedRunState[\"status\"]; updatedAt: string }>\n\t> {\n\t\treturn this.journal.list();\n\t}\n\n\tasync state(runId: string): Promise<PersistedRunState | null> {\n\t\treturn this.journal.load(runId);\n\t}\n\n\t/**\n\t * Desatasca los runs que murieron con su proceso.\n\t *\n\t * `execute` siempre persiste `status: \"running\"` y nadie escaneaba `runsDir`\n\t * al arrancar, así que un Ctrl-C durante una sub-tarea dejaba el run en\n\t * `running` para siempre. Y `GoalEngine.tick` se niega a avanzar mientras\n\t * haya una task en `running` → el goal quedaba atascado sin salida.\n\t *\n\t * Marca esos runs como `aborted` y emite `workflow_run_finished(ok:false)`,\n\t * con lo que `onWorkflowFinished` libera la sub-tarea por el camino que ya\n\t * existe (y que ahora además auto-continúa).\n\t *\n\t * Deliberadamente NO reanuda el run desde el journal: eso exige confiar en el\n\t * hash de identidad y es otro item. Aquí solo hay que liberar el goal.\n\t *\n\t * ponytail: la propiedad del run se decide por antigüedad de `updatedAt`\n\t * porque no hay leases de sesión. Si algún día dos procesos comparten\n\t * `runsDir`, esto necesita un lease de verdad.\n\t */\n\tasync reconcile(options: { staleAfterMs?: number } = {}): Promise<string[]> {\n\t\tconst staleAfterMs = options.staleAfterMs ?? 5 * 60 * 1000;\n\t\tconst now = Date.now();\n\t\tconst reclaimed: string[] = [];\n\t\tlet runs: Awaited<ReturnType<RunJournal[\"list\"]>>;\n\t\ttry {\n\t\t\truns = await this.journal.list();\n\t\t} catch {\n\t\t\treturn reclaimed; // sin runsDir todavía\n\t\t}\n\t\tconst error = \"interrumpido por reinicio del proceso\";\n\t\tfor (const entry of runs) {\n\t\t\tif (entry.status !== \"running\" && entry.status !== \"pending\") continue;\n\t\t\t// Un run vivo de ESTE proceso tiene su AbortController registrado.\n\t\t\tif (this.abortControllers.has(entry.runId)) continue;\n\t\t\tconst age = now - Date.parse(entry.updatedAt);\n\t\t\tif (Number.isNaN(age) || age < staleAfterMs) continue;\n\t\t\tconst state = await this.journal.load(entry.runId);\n\t\t\tif (!state) continue;\n\t\t\tconst aborted: PersistedRunState = {\n\t\t\t\t...state,\n\t\t\t\tstatus: \"aborted\",\n\t\t\t\terror,\n\t\t\t\tupdatedAt: new Date().toISOString(),\n\t\t\t};\n\t\t\tawait this.journal.save(aborted);\n\t\t\tthis.onEvent?.(\"workflow_run_finished\", {\n\t\t\t\trunId: entry.runId,\n\t\t\t\tstatus: \"aborted\",\n\t\t\t\tagentCount: state.agentCount,\n\t\t\t\ttokens: state.tokenUsage.total,\n\t\t\t\tcost: state.tokenUsage.cost,\n\t\t\t\terror,\n\t\t\t});\n\t\t\treclaimed.push(entry.runId);\n\t\t}\n\t\treturn reclaimed;\n\t}\n\n\t/** Ejecuta un workflow. Si await=true (default), resuelve al terminar. */\n\tasync execute(script: string, options: ExecuteWorkflowOptions = {}): Promise<{ runId: string; result?: unknown }> {\n\t\tconst { meta, body: _body } = await import(\"./runtime.ts\").then((m) => m.parseWorkflowScript(script));\n\t\tconst runId = options.runId ?? `wf-${Date.now().toString(36)}`;\n\t\tconst controller = new AbortController();\n\t\tthis.abortControllers.set(runId, controller);\n\n\t\t// Resume: si nos dan un runId que ya existe, arrancamos DESDE su journal en\n\t\t// vez de escribir estado en blanco. Antes se sobrescribía siempre, así que\n\t\t// pasar un runId destruía el journal en lugar de reanudarlo.\n\t\tconst prior = options.runId ? await this.journal.load(options.runId) : null;\n\t\tconst priorJournal = prior?.journal ?? [];\n\t\tconst resumeJournal = new Map<string, { hash: string; result: unknown }>();\n\t\tfor (const entry of priorJournal) {\n\t\t\tresumeJournal.set(`${runId}:${entry.index}`, { hash: entry.hash, result: entry.result });\n\t\t}\n\n\t\tconst initialState: PersistedRunState = {\n\t\t\tversion: 1,\n\t\t\tphases: [],\n\t\t\trunId,\n\t\t\tname: meta.name,\n\t\t\tscript,\n\t\t\targs: options.args ?? {},\n\t\t\tmeta,\n\t\t\tstatus: \"running\",\n\t\t\tcurrentPhase: null,\n\t\t\tsessionId: options.sessionId,\n\t\t\tdisplayName: options.displayName,\n\t\t\tjournal: priorJournal,\n\t\t\tagentCount: prior?.agentCount ?? 0,\n\t\t\t// El presupuesto ya gastado no se pierde al reanudar.\n\t\t\ttokenUsage: prior?.tokenUsage ?? { input: 0, output: 0, total: 0, cost: 0, cacheRead: 0, cacheWrite: 0 },\n\t\t\tstartedAt: prior?.startedAt ?? new Date().toISOString(),\n\t\t\tupdatedAt: new Date().toISOString(),\n\t\t};\n\t\tawait this.journal.save(initialState);\n\t\tthis.onEvent?.(\"workflow_run_started\", {\n\t\t\trunId,\n\t\t\tname: meta.name,\n\t\t\tphases: (meta.phases ?? []).map((p) => p.title),\n\t\t});\n\n\t\tlet agentsDone = 0;\n\t\tlet agentsTotal = 0;\n\t\t// Agente en curso (para marcar blocked cuando espera confirm).\n\t\tlet currentAgent = { id: \"\", label: \"\" };\n\t\t// Estado vivo: se persiste en cada evento para que el panel del\n\t\t// desktop vea fases y agentes en tiempo real (polling de /api/engine).\n\t\tconst live: PersistedRunState = { ...initialState };\n\t\tconst liveAgents: NonNullable<PersistedRunState[\"agents\"]> = [];\n\t\t// Marcar/desmarcar blocked del agente en curso (P4).\n\t\tconst setAgentBlocked = (blocked: boolean, reason = \"\") => {\n\t\t\tif (!currentAgent.id) return;\n\t\t\tconst rec = liveAgents.find((a) => a.id === currentAgent.id);\n\t\t\tif (rec) {\n\t\t\t\trec.status = blocked ? \"blocked\" : \"running\";\n\t\t\t\trec.blockedReason = blocked ? reason : undefined;\n\t\t\t}\n\t\t\tvoid saveLive({ agents: [...liveAgents] });\n\t\t};\n\t\t// Saves serializados (cadena de promesas): preserva el orden y evita\n\t\t// que un snapshot viejo pise uno nuevo.\n\t\tlet saveChain: Promise<void> = Promise.resolve();\n\t\tconst saveLive = (patch: Partial<PersistedRunState>) => {\n\t\t\tObject.assign(live, patch, { updatedAt: new Date().toISOString() });\n\t\t\tsaveChain = saveChain\n\t\t\t\t.then(async () => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait this.journal.save(live);\n\t\t\t\t\t} catch {\n\t\t\t\t\t\t// best-effort: nunca rompe el run por un save\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch(() => {});\n\t\t\treturn saveChain;\n\t\t};\n\n\t\tconst runPromise = runWorkflow(script, {\n\t\t\tcwd: process.cwd(),\n\t\t\tagentDir: this.agentDirFromRunsDir(),\n\t\t\tcreateSession: this.createSession,\n\t\t\tlimits: this.limits,\n\t\t\tsignal: controller.signal,\n\t\t\tconfirm: async (prompt, checkpointOptions) => {\n\t\t\t\t// P4: mientras hay un checkpoint pendiente de input humano,\n\t\t\t\t// el agente en curso está BLOCKED (no procesando).\n\t\t\t\tconst wasBlocked = liveAgents.some((a) => a.status === \"blocked\");\n\t\t\t\tif (this.confirm) {\n\t\t\t\t\tsetAgentBlocked(true, String(prompt).slice(0, 120));\n\t\t\t\t\ttry {\n\t\t\t\t\t\treturn await this.confirm(prompt, checkpointOptions);\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tif (wasBlocked) setAgentBlocked(true);\n\t\t\t\t\t\telse setAgentBlocked(false);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// Sin confirm del host: headless → abort (checkpoint no resuelto).\n\t\t\t\tif ((checkpointOptions as { headless?: string } | undefined)?.headless === \"abort\") {\n\t\t\t\t\tthrow new WorkflowError(\n\t\t\t\t\t\t\"WORKFLOW_ABORTED\",\n\t\t\t\t\t\t`checkpoint \"${prompt}\" needs human input but none is available`,\n\t\t\t\t\t\t{ recoverable: false },\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn (checkpointOptions as { default?: unknown } | undefined)?.default ?? true;\n\t\t\t},\n\t\t\targs: options.args ?? {},\n\t\t\trunId,\n\t\t\tresumeJournal,\n\t\t\tonJournalEntry: (entry) => {\n\t\t\t\tlive.journal = [...live.journal.filter((e) => e.index !== entry.index), { ...entry, runId }];\n\t\t\t\tvoid saveLive({ journal: live.journal });\n\t\t\t},\n\t\t\tonPhase: (phase) => {\n\t\t\t\tlive.currentPhase = phase;\n\t\t\t\tif (!live.phases.includes(phase)) live.phases.push(phase);\n\t\t\t\tvoid saveLive({});\n\t\t\t\tthis.onEvent?.(\"workflow_phase\", { runId, phase });\n\t\t\t},\n\t\t\tonAgentStart: (_index, label, phase) => {\n\t\t\t\tagentsTotal++;\n\t\t\t\tcurrentAgent = { id: `${runId}:${_index}`, label };\n\t\t\t\tliveAgents.push({ id: `${runId}:${_index}`, label, phase, status: \"running\" });\n\t\t\t\tvoid saveLive({ agents: [...liveAgents] });\n\t\t\t\tthis.onEvent?.(\"workflow_agent\", { runId, agent: { id: `${runId}:${_index}`, label, phase } });\n\t\t\t},\n\t\t\tonAgentYield: (_index, label, hallazgo) => {\n\t\t\t\tthis.onEvent?.(\"workflow_agent_yield\", { runId, agent: { id: `${runId}:${_index}`, label }, hallazgo });\n\t\t\t},\n\t\t\tonAgentEnd: (_index, _label, _result) => {\n\t\t\t\tagentsDone++;\n\t\t\t\tcurrentAgent = { id: \"\", label: \"\" };\n\t\t\t\tconst rec = liveAgents.find((a) => a.id === `${runId}:${_index}`);\n\t\t\t\tif (rec) rec.status = \"done\";\n\t\t\t\tvoid saveLive({ agents: [...liveAgents] });\n\t\t\t\tthis.onEvent?.(\"workflow_run_update\", {\n\t\t\t\t\trunId,\n\t\t\t\t\tstatus: \"running\",\n\t\t\t\t\tagentsDone,\n\t\t\t\t\tagentsTotal,\n\t\t\t\t\ttokens: 0,\n\t\t\t\t\tcost: 0,\n\t\t\t\t});\n\t\t\t},\n\t\t\tonTokenUsage: (usage) => {\n\t\t\t\tconst u = usage as { total?: number; cost?: number };\n\t\t\t\tvoid saveLive({\n\t\t\t\t\ttokenUsage: {\n\t\t\t\t\t\t...(live.tokenUsage ?? { input: 0, output: 0, total: 0, cost: 0, cacheRead: 0, cacheWrite: 0 }),\n\t\t\t\t\t\ttotal: u.total ?? live.tokenUsage.total,\n\t\t\t\t\t\tcost: u.cost ?? live.tokenUsage.cost,\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t\tthis.onEvent?.(\"workflow_run_update\", {\n\t\t\t\t\trunId,\n\t\t\t\t\tstatus: \"running\",\n\t\t\t\t\tagentsDone,\n\t\t\t\t\tagentsTotal,\n\t\t\t\t\ttokens: u.total ?? 0,\n\t\t\t\t\tcost: u.cost ?? 0,\n\t\t\t\t});\n\t\t\t},\n\t\t});\n\n\t\tconst settle = async () => {\n\t\t\ttry {\n\t\t\t\tconst result = await runPromise;\n\t\t\t\t// Drenar saves en vivo ANTES del estado final: un saveLive tardío\n\t\t\t\t// no debe pisar el estado completed/failed.\n\t\t\t\tawait saveChain.catch(() => {});\n\t\t\t\tconst finalState: PersistedRunState = {\n\t\t\t\t\t...initialState,\n\t\t\t\t\t// live.journal, no initialState.journal: initialState se creó antes\n\t\t\t\t\t// de ejecutar y pisaría las entradas acumuladas del run.\n\t\t\t\t\tjournal: live.journal,\n\t\t\t\t\tstatus: \"completed\",\n\t\t\t\t\tphases: result.phases,\n\t\t\t\t\tcurrentPhase: null,\n\t\t\t\t\tagents: liveAgents.map((a) => ({ ...a, status: \"done\" as const })),\n\t\t\t\t\tagentCount: result.agentCount,\n\t\t\t\t\t// Acumulado, no sustituido: al reanudar los agentes salen de caché\n\t\t\t\t\t// y el run reporta 0, pero el presupuesto ya gastado sigue siendo\n\t\t\t\t\t// real. `initialState.tokenUsage` es el previo (ceros si no hay).\n\t\t\t\t\ttokenUsage: {\n\t\t\t\t\t\tinput: initialState.tokenUsage.input + result.tokenUsage.input,\n\t\t\t\t\t\toutput: initialState.tokenUsage.output + result.tokenUsage.output,\n\t\t\t\t\t\ttotal: initialState.tokenUsage.total + result.tokenUsage.total,\n\t\t\t\t\t\tcost: initialState.tokenUsage.cost + result.tokenUsage.cost,\n\t\t\t\t\t\tcacheRead: initialState.tokenUsage.cacheRead + (result.tokenUsage.cacheRead ?? 0),\n\t\t\t\t\t\tcacheWrite: initialState.tokenUsage.cacheWrite + (result.tokenUsage.cacheWrite ?? 0),\n\t\t\t\t\t},\n\t\t\t\t\tupdatedAt: new Date().toISOString(),\n\t\t\t\t};\n\t\t\t\tawait this.journal.save(finalState);\n\t\t\t\tthis.onEvent?.(\"workflow_run_finished\", {\n\t\t\t\t\trunId,\n\t\t\t\t\tstatus: \"completed\",\n\t\t\t\t\tagentCount: result.agentCount,\n\t\t\t\t\ttokens: result.tokenUsage.total,\n\t\t\t\t\tcost: result.tokenUsage.cost,\n\t\t\t\t});\n\t\t\t\treturn result;\n\t\t\t} catch (error) {\n\t\t\t\tconst status: PersistedRunState[\"status\"] =\n\t\t\t\t\t(error as WorkflowError)?.code === \"WORKFLOW_ABORTED\" ? \"aborted\" : \"failed\";\n\t\t\t\tconst finalState = {\n\t\t\t\t\t...initialState,\n\t\t\t\t\tjournal: live.journal,\n\t\t\t\t\tstatus,\n\t\t\t\t\terror: error instanceof Error ? error.message : String(error),\n\t\t\t\t\tupdatedAt: new Date().toISOString(),\n\t\t\t\t};\n\t\t\t\tawait this.journal.save(finalState);\n\t\t\t\tthis.onEvent?.(\"workflow_run_finished\", {\n\t\t\t\t\trunId,\n\t\t\t\t\tstatus,\n\t\t\t\t\tagentCount: agentsDone,\n\t\t\t\t\ttokens: 0,\n\t\t\t\t\tcost: 0,\n\t\t\t\t\terror: finalState.error,\n\t\t\t\t});\n\t\t\t\tthrow error;\n\t\t\t} finally {\n\t\t\t\tthis.abortControllers.delete(runId);\n\t\t\t}\n\t\t};\n\n\t\tif (options.await === false) {\n\t\t\t// El error ya se persiste en el estado; capturar evita unhandled.\n\t\t\tvoid settle().catch(() => {});\n\t\t\treturn { runId };\n\t\t}\n\t\tconst result = await settle();\n\t\treturn { runId, result: (result as { result?: unknown }).result };\n\t}\n\n\tabort(runId: string): boolean {\n\t\tconst controller = this.abortControllers.get(runId);\n\t\tif (!controller) return false;\n\t\tcontroller.abort();\n\t\treturn true;\n\t}\n\n\tprivate agentDirFromRunsDir(): string {\n\t\t// El agentDir es el padre de workflows/runs → workflows → agent.\n\t\t// OJO: preservar el / inicial (absoluto) — split+filter(Boolean) lo\n\t\t// elimina y producía una ruta RELATIVA → auth.json irresoluble.\n\t\tconst isAbsolute = this.runsDir.startsWith(\"/\");\n\t\tconst parts = this.runsDir.split(\"/\").filter(Boolean);\n\t\tconst parent = parts.slice(0, Math.max(0, parts.length - 2)).join(\"/\");\n\t\treturn isAbsolute ? `/${parent}` : parent;\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../src/core/workflows/manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Semáforos por proveedor + cap global anti-deadlock (TASK-04).
|
|
3
|
+
*
|
|
4
|
+
* Hermano de soft-budget (TASK-03): soft-budget limita requests por agente
|
|
5
|
+
* a lo largo del tiempo; provider-caps limita concurrencia simultánea por
|
|
6
|
+
* proveedor y global. Ambos son "presupuesto" pero ortogonales.
|
|
7
|
+
*
|
|
8
|
+
* Garantías:
|
|
9
|
+
* - 1) Cada proveedor tiene su propio Semaphore (maxConcurrent configurable).
|
|
10
|
+
* - 2) Un Semaphore global limita concurrencia total.
|
|
11
|
+
* - 3) Anti-deadlock: adquisición SIEMPRE ordenada (global primero, luego
|
|
12
|
+
* proveedores en orden lexicográfico), timeout 30s por adquisición,
|
|
13
|
+
* liberación garantizada en finally vía withCapacity / release devuelto.
|
|
14
|
+
*/
|
|
15
|
+
export declare const DEFAULT_ACQUIRE_TIMEOUT_MS = 30000;
|
|
16
|
+
export declare const DEFAULT_MAX_PER_PROVIDER = 2;
|
|
17
|
+
export declare const DEFAULT_MAX_GLOBAL = 4;
|
|
18
|
+
export declare class Semaphore {
|
|
19
|
+
readonly max: number;
|
|
20
|
+
private permits;
|
|
21
|
+
private waiters;
|
|
22
|
+
constructor(maxConcurrent: number);
|
|
23
|
+
/** Permits libres ahora. */
|
|
24
|
+
get available(): number;
|
|
25
|
+
/** En espera en cola. */
|
|
26
|
+
get waiting(): number;
|
|
27
|
+
/** En uso (max - available). Útil para asserts en tests. */
|
|
28
|
+
get active(): number;
|
|
29
|
+
/**
|
|
30
|
+
* Intento no bloqueante. true si tomó el slot, false si no había.
|
|
31
|
+
*/
|
|
32
|
+
tryAcquire(): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Adquiere un slot. Si no hay libres, se encola hasta que otro libere
|
|
35
|
+
* o hasta timeoutMs (defecto 30s). Timeout rechaza con Error.
|
|
36
|
+
*/
|
|
37
|
+
acquire(timeoutMs?: number): Promise<void>;
|
|
38
|
+
/**
|
|
39
|
+
* Libera un slot. Si hay encolados, el siguiente en FIFO toma el slot
|
|
40
|
+
* directamente (sin incrementar permits).
|
|
41
|
+
*/
|
|
42
|
+
release(): void;
|
|
43
|
+
/**
|
|
44
|
+
* Helper: adquiere, ejecuta fn, libera en finally (aunque fn lance).
|
|
45
|
+
*/
|
|
46
|
+
withPermit<T>(fn: () => Promise<T>, timeoutMs?: number): Promise<T>;
|
|
47
|
+
}
|
|
48
|
+
export interface ProviderCapsOptions {
|
|
49
|
+
/** Máximo concurrente por proveedor. */
|
|
50
|
+
maxPerProvider: number;
|
|
51
|
+
/** Máximo concurrente global (across providers). */
|
|
52
|
+
maxGlobal: number;
|
|
53
|
+
/** Timeout por adquisición (ms). */
|
|
54
|
+
timeoutMs: number;
|
|
55
|
+
}
|
|
56
|
+
export declare const DEFAULT_PROVIDER_CAPS_OPTIONS: ProviderCapsOptions;
|
|
57
|
+
export declare class ProviderCaps {
|
|
58
|
+
private readonly opts;
|
|
59
|
+
private readonly global;
|
|
60
|
+
private readonly perProvider;
|
|
61
|
+
constructor(options?: Partial<ProviderCapsOptions>);
|
|
62
|
+
get globalSemaphore(): Semaphore;
|
|
63
|
+
getPerProviderOptions(): ProviderCapsOptions;
|
|
64
|
+
/**
|
|
65
|
+
* Obtiene (o crea) el semáforo de un proveedor. Útil para tests / inspección.
|
|
66
|
+
*/
|
|
67
|
+
getSemaphore(provider: string): Semaphore;
|
|
68
|
+
/**
|
|
69
|
+
* Adquiere cap global + cap del proveedor en ORDEN FIJO (global primero,
|
|
70
|
+
* luego proveedor). Timeout por cada adquisición (defecto 30s).
|
|
71
|
+
* Devuelve función release() idempotente que libera ambos en orden inverso.
|
|
72
|
+
* Si la segunda adquisición falla por timeout, la primera se libera.
|
|
73
|
+
*/
|
|
74
|
+
acquire(provider: string, timeoutMs?: number): Promise<() => void>;
|
|
75
|
+
/**
|
|
76
|
+
* Adquiere global + N proveedores (ordenado lexicográficamente para
|
|
77
|
+
* anti-deadlock). Devuelve release idempotente.
|
|
78
|
+
*/
|
|
79
|
+
acquireMany(providers: string[], timeoutMs?: number): Promise<() => void>;
|
|
80
|
+
/**
|
|
81
|
+
* Helper anti-deadlock completo: adquiere (global+provider) y ejecuta fn,
|
|
82
|
+
* liberando SIEMPRE en finally aunque fn lance o timeout.
|
|
83
|
+
*/
|
|
84
|
+
withCapacity<T>(provider: string, fn: () => Promise<T>, timeoutMs?: number): Promise<T>;
|
|
85
|
+
/**
|
|
86
|
+
* Helper para múltiples proveedores.
|
|
87
|
+
*/
|
|
88
|
+
withCapacityMany<T>(providers: string[], fn: () => Promise<T>, timeoutMs?: number): Promise<T>;
|
|
89
|
+
/** Snapshot para debugging/tests. */
|
|
90
|
+
snapshot(): {
|
|
91
|
+
global: {
|
|
92
|
+
max: number;
|
|
93
|
+
available: number;
|
|
94
|
+
waiting: number;
|
|
95
|
+
};
|
|
96
|
+
perProvider: Record<string, {
|
|
97
|
+
max: number;
|
|
98
|
+
available: number;
|
|
99
|
+
waiting: number;
|
|
100
|
+
}>;
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=provider-caps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-caps.d.ts","sourceRoot":"","sources":["../../../src/core/workflows/provider-caps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,eAAO,MAAM,0BAA0B,QAAS,CAAC;AACjD,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAC1C,eAAO,MAAM,kBAAkB,IAAI,CAAC;AASpC,qBAAa,SAAS;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAgB;gBAEnB,aAAa,EAAE,MAAM;IAQjC,4BAA4B;IAC5B,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,yBAAyB;IACzB,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,4DAA4D;IAC5D,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;OAEG;IACH,UAAU,IAAI,OAAO;IAQrB;;;OAGG;IACH,OAAO,CAAC,SAAS,GAAE,MAAmC,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BtE;;;OAGG;IACH,OAAO,IAAI,IAAI;IAaf;;OAEG;IACG,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;CAQzE;AAID,MAAM,WAAW,mBAAmB;IACnC,wCAAwC;IACxC,cAAc,EAAE,MAAM,CAAC;IACvB,oDAAoD;IACpD,SAAS,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,6BAA6B,EAAE,mBAI3C,CAAC;AAEF,qBAAa,YAAY;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAsB;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IACnC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqC;gBAErD,OAAO,GAAE,OAAO,CAAC,mBAAmB,CAAM;IActD,IAAI,eAAe,IAAI,SAAS,CAE/B;IAED,qBAAqB,IAAI,mBAAmB;IAI5C;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS;IASzC;;;;;OAKG;IACG,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC;IAIxE;;;OAGG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC;IAsC/E;;;OAGG;IACG,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAS7F;;OAEG;IACG,gBAAgB,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IASpG,qCAAqC;IACrC,QAAQ,IAAI;QACX,MAAM,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;QAC5D,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACjF;CAUD"}
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Semáforos por proveedor + cap global anti-deadlock (TASK-04).
|
|
3
|
+
*
|
|
4
|
+
* Hermano de soft-budget (TASK-03): soft-budget limita requests por agente
|
|
5
|
+
* a lo largo del tiempo; provider-caps limita concurrencia simultánea por
|
|
6
|
+
* proveedor y global. Ambos son "presupuesto" pero ortogonales.
|
|
7
|
+
*
|
|
8
|
+
* Garantías:
|
|
9
|
+
* - 1) Cada proveedor tiene su propio Semaphore (maxConcurrent configurable).
|
|
10
|
+
* - 2) Un Semaphore global limita concurrencia total.
|
|
11
|
+
* - 3) Anti-deadlock: adquisición SIEMPRE ordenada (global primero, luego
|
|
12
|
+
* proveedores en orden lexicográfico), timeout 30s por adquisición,
|
|
13
|
+
* liberación garantizada en finally vía withCapacity / release devuelto.
|
|
14
|
+
*/
|
|
15
|
+
export const DEFAULT_ACQUIRE_TIMEOUT_MS = 30_000;
|
|
16
|
+
export const DEFAULT_MAX_PER_PROVIDER = 2;
|
|
17
|
+
export const DEFAULT_MAX_GLOBAL = 4;
|
|
18
|
+
export class Semaphore {
|
|
19
|
+
max;
|
|
20
|
+
permits;
|
|
21
|
+
waiters = [];
|
|
22
|
+
constructor(maxConcurrent) {
|
|
23
|
+
if (!Number.isInteger(maxConcurrent) || maxConcurrent <= 0) {
|
|
24
|
+
throw new Error(`Semaphore maxConcurrent debe ser entero >0, recibido ${maxConcurrent}`);
|
|
25
|
+
}
|
|
26
|
+
this.max = maxConcurrent;
|
|
27
|
+
this.permits = maxConcurrent;
|
|
28
|
+
}
|
|
29
|
+
/** Permits libres ahora. */
|
|
30
|
+
get available() {
|
|
31
|
+
return this.permits;
|
|
32
|
+
}
|
|
33
|
+
/** En espera en cola. */
|
|
34
|
+
get waiting() {
|
|
35
|
+
return this.waiters.length;
|
|
36
|
+
}
|
|
37
|
+
/** En uso (max - available). Útil para asserts en tests. */
|
|
38
|
+
get active() {
|
|
39
|
+
return this.max - this.permits;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Intento no bloqueante. true si tomó el slot, false si no había.
|
|
43
|
+
*/
|
|
44
|
+
tryAcquire() {
|
|
45
|
+
if (this.permits > 0) {
|
|
46
|
+
this.permits--;
|
|
47
|
+
return true;
|
|
48
|
+
}
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Adquiere un slot. Si no hay libres, se encola hasta que otro libere
|
|
53
|
+
* o hasta timeoutMs (defecto 30s). Timeout rechaza con Error.
|
|
54
|
+
*/
|
|
55
|
+
acquire(timeoutMs = DEFAULT_ACQUIRE_TIMEOUT_MS) {
|
|
56
|
+
if (this.permits > 0) {
|
|
57
|
+
this.permits--;
|
|
58
|
+
return Promise.resolve();
|
|
59
|
+
}
|
|
60
|
+
return new Promise((resolve, reject) => {
|
|
61
|
+
let timer;
|
|
62
|
+
const waiter = {
|
|
63
|
+
resolve: () => {
|
|
64
|
+
clearTimeout(timer);
|
|
65
|
+
resolve();
|
|
66
|
+
},
|
|
67
|
+
reject: (err) => {
|
|
68
|
+
clearTimeout(timer);
|
|
69
|
+
reject(err);
|
|
70
|
+
},
|
|
71
|
+
};
|
|
72
|
+
this.waiters.push(waiter);
|
|
73
|
+
if (timeoutMs > 0) {
|
|
74
|
+
timer = setTimeout(() => {
|
|
75
|
+
const idx = this.waiters.indexOf(waiter);
|
|
76
|
+
if (idx !== -1)
|
|
77
|
+
this.waiters.splice(idx, 1);
|
|
78
|
+
waiter.reject(new Error(`Semaphore acquire timeout after ${timeoutMs}ms (max=${this.max})`));
|
|
79
|
+
}, timeoutMs);
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Libera un slot. Si hay encolados, el siguiente en FIFO toma el slot
|
|
85
|
+
* directamente (sin incrementar permits).
|
|
86
|
+
*/
|
|
87
|
+
release() {
|
|
88
|
+
if (this.waiters.length > 0) {
|
|
89
|
+
const next = this.waiters.shift();
|
|
90
|
+
// Transferencia directa del permit: no tocamos this.permits
|
|
91
|
+
next.resolve();
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
if (this.permits < this.max) {
|
|
95
|
+
this.permits++;
|
|
96
|
+
}
|
|
97
|
+
// Si permits ya == max, release extra es no-op (evita overflow por doble release)
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Helper: adquiere, ejecuta fn, libera en finally (aunque fn lance).
|
|
101
|
+
*/
|
|
102
|
+
async withPermit(fn, timeoutMs) {
|
|
103
|
+
await this.acquire(timeoutMs);
|
|
104
|
+
try {
|
|
105
|
+
return await fn();
|
|
106
|
+
}
|
|
107
|
+
finally {
|
|
108
|
+
this.release();
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
export const DEFAULT_PROVIDER_CAPS_OPTIONS = {
|
|
113
|
+
maxPerProvider: DEFAULT_MAX_PER_PROVIDER,
|
|
114
|
+
maxGlobal: DEFAULT_MAX_GLOBAL,
|
|
115
|
+
timeoutMs: DEFAULT_ACQUIRE_TIMEOUT_MS,
|
|
116
|
+
};
|
|
117
|
+
export class ProviderCaps {
|
|
118
|
+
opts;
|
|
119
|
+
global;
|
|
120
|
+
perProvider = new Map();
|
|
121
|
+
constructor(options = {}) {
|
|
122
|
+
this.opts = {
|
|
123
|
+
maxPerProvider: options.maxPerProvider ?? DEFAULT_PROVIDER_CAPS_OPTIONS.maxPerProvider,
|
|
124
|
+
maxGlobal: options.maxGlobal ?? DEFAULT_PROVIDER_CAPS_OPTIONS.maxGlobal,
|
|
125
|
+
timeoutMs: options.timeoutMs ?? DEFAULT_PROVIDER_CAPS_OPTIONS.timeoutMs,
|
|
126
|
+
};
|
|
127
|
+
if (this.opts.maxPerProvider <= 0 || this.opts.maxGlobal <= 0) {
|
|
128
|
+
throw new Error(`ProviderCaps max debe ser >0 (perProvider=${this.opts.maxPerProvider} global=${this.opts.maxGlobal})`);
|
|
129
|
+
}
|
|
130
|
+
this.global = new Semaphore(this.opts.maxGlobal);
|
|
131
|
+
}
|
|
132
|
+
get globalSemaphore() {
|
|
133
|
+
return this.global;
|
|
134
|
+
}
|
|
135
|
+
getPerProviderOptions() {
|
|
136
|
+
return { ...this.opts };
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Obtiene (o crea) el semáforo de un proveedor. Útil para tests / inspección.
|
|
140
|
+
*/
|
|
141
|
+
getSemaphore(provider) {
|
|
142
|
+
let s = this.perProvider.get(provider);
|
|
143
|
+
if (!s) {
|
|
144
|
+
s = new Semaphore(this.opts.maxPerProvider);
|
|
145
|
+
this.perProvider.set(provider, s);
|
|
146
|
+
}
|
|
147
|
+
return s;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Adquiere cap global + cap del proveedor en ORDEN FIJO (global primero,
|
|
151
|
+
* luego proveedor). Timeout por cada adquisición (defecto 30s).
|
|
152
|
+
* Devuelve función release() idempotente que libera ambos en orden inverso.
|
|
153
|
+
* Si la segunda adquisición falla por timeout, la primera se libera.
|
|
154
|
+
*/
|
|
155
|
+
async acquire(provider, timeoutMs) {
|
|
156
|
+
return this.acquireMany([provider], timeoutMs);
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Adquiere global + N proveedores (ordenado lexicográficamente para
|
|
160
|
+
* anti-deadlock). Devuelve release idempotente.
|
|
161
|
+
*/
|
|
162
|
+
async acquireMany(providers, timeoutMs) {
|
|
163
|
+
const t = timeoutMs ?? this.opts.timeoutMs;
|
|
164
|
+
const sorted = [...new Set(providers)].sort();
|
|
165
|
+
const acquired = [];
|
|
166
|
+
let released = false;
|
|
167
|
+
const doRelease = () => {
|
|
168
|
+
if (released)
|
|
169
|
+
return;
|
|
170
|
+
released = true;
|
|
171
|
+
// Liberación en orden inverso a adquisición
|
|
172
|
+
for (let i = acquired.length - 1; i >= 0; i--) {
|
|
173
|
+
try {
|
|
174
|
+
acquired[i].release();
|
|
175
|
+
}
|
|
176
|
+
catch {
|
|
177
|
+
// no-op: release nunca debería lanzar, pero no romper el resto
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
};
|
|
181
|
+
try {
|
|
182
|
+
// 1) global primero SIEMPRE
|
|
183
|
+
await this.global.acquire(t);
|
|
184
|
+
acquired.push(this.global);
|
|
185
|
+
// 2) luego proveedores en orden lexicográfico
|
|
186
|
+
for (const p of sorted) {
|
|
187
|
+
const sem = this.getSemaphore(p);
|
|
188
|
+
await sem.acquire(t);
|
|
189
|
+
acquired.push(sem);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
catch (err) {
|
|
193
|
+
doRelease();
|
|
194
|
+
throw err;
|
|
195
|
+
}
|
|
196
|
+
return doRelease;
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Helper anti-deadlock completo: adquiere (global+provider) y ejecuta fn,
|
|
200
|
+
* liberando SIEMPRE en finally aunque fn lance o timeout.
|
|
201
|
+
*/
|
|
202
|
+
async withCapacity(provider, fn, timeoutMs) {
|
|
203
|
+
const release = await this.acquire(provider, timeoutMs);
|
|
204
|
+
try {
|
|
205
|
+
return await fn();
|
|
206
|
+
}
|
|
207
|
+
finally {
|
|
208
|
+
release();
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Helper para múltiples proveedores.
|
|
213
|
+
*/
|
|
214
|
+
async withCapacityMany(providers, fn, timeoutMs) {
|
|
215
|
+
const release = await this.acquireMany(providers, timeoutMs);
|
|
216
|
+
try {
|
|
217
|
+
return await fn();
|
|
218
|
+
}
|
|
219
|
+
finally {
|
|
220
|
+
release();
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
/** Snapshot para debugging/tests. */
|
|
224
|
+
snapshot() {
|
|
225
|
+
const perProvider = {};
|
|
226
|
+
for (const [k, s] of this.perProvider) {
|
|
227
|
+
perProvider[k] = { max: s.max, available: s.available, waiting: s.waiting };
|
|
228
|
+
}
|
|
229
|
+
return {
|
|
230
|
+
global: { max: this.global.max, available: this.global.available, waiting: this.global.waiting },
|
|
231
|
+
perProvider,
|
|
232
|
+
};
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
//# sourceMappingURL=provider-caps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-caps.js","sourceRoot":"","sources":["../../../src/core/workflows/provider-caps.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-script.d.ts","sourceRoot":"","sources":["../../../src/core/workflows/resolve-script.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAYH,MAAM,WAAW,qBAAqB;IACrC,oDAAoD;IACpD,MAAM,EAAE,SAAS,GAAG,aAAa,CAAC;IAClC,
|
|
1
|
+
{"version":3,"file":"resolve-script.d.ts","sourceRoot":"","sources":["../../../src/core/workflows/resolve-script.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAYH,MAAM,WAAW,qBAAqB;IACrC,oDAAoD;IACpD,MAAM,EAAE,SAAS,GAAG,aAAa,CAAC;IAClC,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wDAAwD;AACxD,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAexE;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,qBAAqB,GAAG,IAAI,CAexG;AAED,wEAAwE;AACxE,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CASnG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-script.js","sourceRoot":"","sources":["../../../src/core/workflows/resolve-script.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EACN,2BAA2B,EAC3B,wBAAwB,EACxB,0BAA0B,EAC1B,8BAA8B,EAC9B,0BAA0B,GAC1B,MAAM,eAAe,CAAC;AAavB,wDAAwD;AACxD,MAAM,UAAU,4BAA4B,CAAC,IAAY
|
|
1
|
+
{"version":3,"file":"resolve-script.js","sourceRoot":"","sources":["../../../src/core/workflows/resolve-script.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EACN,2BAA2B,EAC3B,wBAAwB,EACxB,0BAA0B,EAC1B,8BAA8B,EAC9B,0BAA0B,GAC1B,MAAM,eAAe,CAAC;AAavB,wDAAwD;AACxD,MAAM,UAAU,4BAA4B,CAAC,IAAY;IACxD,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;QAC/C,KAAK,eAAe;YACnB,OAAO,0BAA0B,CAAC,EAAE,CAAC,CAAC;QACvC,KAAK,aAAa;YACjB,OAAO,wBAAwB,CAAC,EAAE,CAAC,CAAC;QACrC,KAAK,eAAe;YACnB,OAAO,0BAA0B,EAAE,CAAC;QACrC,KAAK,gBAAgB;YACpB,OAAO,2BAA2B,CAAC,EAAE,CAAC,CAAC;QACxC,KAAK,mBAAmB;YACvB,OAAO,8BAA8B,CAAC,EAAE,CAAC,CAAC;QAC3C;YACC,OAAO,IAAI,CAAC;IACd,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CAAC,QAAgB,EAAE,IAAY;IACzE,MAAM,OAAO,GAAG,4BAA4B,CAAC,IAAI,CAAC,CAAC;IACnD,IAAI,OAAO;QAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAExG,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;IAClD,KAAK,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC/C,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QAChE,CAAC;QAAC,MAAM,CAAC;YACR,sBAAsB;QACvB,CAAC;IACF,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,uBAAuB,CAAC,QAAgB;IACvD,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACxC,OAAO,WAAW,CAAC,GAAG,CAAC;aACrB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;aAChE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrF,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,EAAE,CAAC;IACX,CAAC;AACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/core/workflows/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH,OAAO,EAAe,iBAAiB,EAAE,KAAK,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAIN,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,MAAM,YAAY,CAAC;AAUpB,MAAM,WAAW,sBAAsB;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,qBAAqB,CAAC;IACrC,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACjC,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC9C;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IACnF,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IACjF,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACrF,oHAAkH;IAClH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,KAAK,IAAI,CAAC;IACjF,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACjE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED,kDAAiD;AACjD,wBAAgB,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAe5F;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAuFxF;AAED,wBAAsB,WAAW,CAAC,CAAC,GAAG,OAAO,EAC5C,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,sBAAsB,GAC7B,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CA4R/B;AAED,kDAAkD;AAClD,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAC7B,YAAY,EAAE,iBAAiB,EAAE,CAAC","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.d.ts","sourceRoot":"","sources":["../../../src/core/workflows/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH,OAAO,EAAe,iBAAiB,EAAE,KAAK,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAIN,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EACtB,MAAM,YAAY,CAAC;AAUpB,MAAM,WAAW,sBAAsB;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,qBAAqB,CAAC;IACrC,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACjC,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC9C;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IACnF,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IACjF,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACrF,kHAAkH;IAClH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,KAAK,IAAI,CAAC;IACjF,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACjE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED,iDAAiD;AACjD,wBAAgB,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAe5F;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAuFxF;AAED,wBAAsB,WAAW,CAAC,CAAC,GAAG,OAAO,EAC5C,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,sBAAsB,GAC7B,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CA4R/B;AAED,kDAAkD;AAClD,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAC7B,YAAY,EAAE,iBAAiB,EAAE,CAAC"}
|