@hoilab/ada-cli 0.85.0 → 0.85.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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.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/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.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/npm-shrinkwrap.json +2 -2
- 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/computer/motor/platform/macos/helper-path.mjs +0 -34
- package/dist/core/export-html/template.css +0 -1066
- package/dist/core/export-html/template.html +0 -55
- package/dist/core/export-html/template.js +0 -1864
- package/dist/core/export-html/vendor/highlight.min.js +0 -1213
- package/dist/core/export-html/vendor/marked.min.js +0 -78
- package/dist/core/prompts/sistema.md +0 -134
- package/dist/modes/interactive/assets/clankolas.png +0 -0
- package/dist/modes/interactive/theme/dark.json +0 -90
- package/dist/modes/interactive/theme/light.json +0 -89
- package/dist/modes/interactive/theme/theme-schema.json +0 -352
- package/dist/skills/ada-engine/SKILL.md +0 -153
- package/dist/skills/skill-creator/SKILL.md +0 -90
- /package/dist/core/{commit → commits}/diff.d.ts +0 -0
- /package/dist/core/{commit → commits}/diff.js +0 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tipos del discovery genérico de runtimes locales/proxies.
|
|
3
|
+
*
|
|
4
|
+
* Se apoya en `mcp.ts`/`reglas.ts` para descubrimiento de fichero,
|
|
5
|
+
* pero no los solapa: estos son endpoints HTTP que hablan OpenAI/Ollama/LM
|
|
6
|
+
* Studio / LiteLLM. `llama.cpp` dedicado ya existe en `extensions/llama/`
|
|
7
|
+
* — no se toca, se documenta (ver README implícito en index.ts).
|
|
8
|
+
*/
|
|
9
|
+
export type RuntimeKind = "ollama" | "lm-studio" | "lm-studio-legacy" | "openai-list" | "litellm" | "new-api" | "one-api";
|
|
10
|
+
export interface RuntimeModel {
|
|
11
|
+
id: string;
|
|
12
|
+
/** Context window si se pudo extraer (num_ctx / context_length / preset). */
|
|
13
|
+
contextLength?: number;
|
|
14
|
+
capabilities?: string[];
|
|
15
|
+
/** Origen del registro (rich endpoint vs fallback). */
|
|
16
|
+
source?: "rich" | "fallback";
|
|
17
|
+
}
|
|
18
|
+
export interface RuntimeEndpoint {
|
|
19
|
+
kind: RuntimeKind;
|
|
20
|
+
/** Base URL normalizada sin barra final, p. ej. http://127.0.0.1:11434 */
|
|
21
|
+
baseUrl: string;
|
|
22
|
+
headers?: Record<string, string>;
|
|
23
|
+
models: RuntimeModel[];
|
|
24
|
+
/** A qué APIs dice atender cuando viene de un proxy new-api/one-api. */
|
|
25
|
+
supportedEndpointTypes?: string[];
|
|
26
|
+
}
|
|
27
|
+
export interface ModelCatalogEntry extends RuntimeModel {
|
|
28
|
+
kind: RuntimeKind;
|
|
29
|
+
baseUrl: string;
|
|
30
|
+
/** Id del proveedor declarativo (proveedores-registry) cuya baseUrlDefault casa, si existe. */
|
|
31
|
+
proveedorId?: string;
|
|
32
|
+
}
|
|
33
|
+
export type ModelCatalog = ModelCatalogEntry[];
|
|
34
|
+
export interface DescubrirRuntimesOpts {
|
|
35
|
+
/** Fetch inyectable para tests. Por defecto globalThis.fetch. */
|
|
36
|
+
fetch?: typeof fetch;
|
|
37
|
+
/** Señal de cancelación externa. */
|
|
38
|
+
signal?: AbortSignal;
|
|
39
|
+
/**
|
|
40
|
+
* Bases candidatas explícitas además de las loopback por defecto.
|
|
41
|
+
* Cada entrada se prueba con timeout remoto (10s) salvo que sea loopback.
|
|
42
|
+
*/
|
|
43
|
+
extraBases?: string[];
|
|
44
|
+
/** Añade Authorization/headers si algún proxy las necesita. */
|
|
45
|
+
authHeaders?: Record<string, string>;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=tipos.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tipos.d.ts","sourceRoot":"","sources":["../../../../src/core/descubrimiento/runtimes/tipos.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,MAAM,WAAW,GACpB,QAAQ,GACR,WAAW,GACX,kBAAkB,GAClB,aAAa,GACb,SAAS,GACT,SAAS,GACT,SAAS,CAAC;AAEb,MAAM,WAAW,YAAY;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,6EAA6E;IAC7E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;CAC7B;AAED,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,WAAW,CAAC;IAClB,0EAA0E;IAC1E,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,wEAAwE;IACxE,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,iBAAkB,SAAQ,YAAY;IACtD,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,+FAA+F;IAC/F,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AACD,MAAM,MAAM,YAAY,GAAG,iBAAiB,EAAE,CAAC;AAE/C,MAAM,WAAW,qBAAqB;IACrC,iEAAiE;IACjE,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,oCAAoC;IACpC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tipos del discovery genérico de runtimes locales/proxies.
|
|
3
|
+
*
|
|
4
|
+
* Se apoya en `mcp.ts`/`reglas.ts` para descubrimiento de fichero,
|
|
5
|
+
* pero no los solapa: estos son endpoints HTTP que hablan OpenAI/Ollama/LM
|
|
6
|
+
* Studio / LiteLLM. `llama.cpp` dedicado ya existe en `extensions/llama/`
|
|
7
|
+
* — no se toca, se documenta (ver README implícito en index.ts).
|
|
8
|
+
*/
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=tipos.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tipos.js","sourceRoot":"","sources":["../../../../src/core/descubrimiento/runtimes/tipos.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../../src/core/descubrimiento/skills.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAOH,MAAM,WAAW,gBAAgB;IAChC,
|
|
1
|
+
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../../src/core/descubrimiento/skills.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAOH,MAAM,WAAW,gBAAgB;IAChC,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,6BAA6B;IAC7C,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,yCAAyC;IACzC,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,kEAAkE;IAClE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjD;AAYD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,6BAA6B,CA4B1E;AAED,MAAM,WAAW,cAAc;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,MAAM,EAAE,MAAM,CAAC;CACf;AAiCD;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,EAAE,CAiBxE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../../../src/core/descubrimiento/skills.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACtF,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AA0BjD,MAAM,OAAO,GAAmB;IAC/B,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,gBAAgB,EAAE;IACrD,EAAE,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,gBAAgB,EAAE;CACxD,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,GAAW
|
|
1
|
+
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../../../src/core/descubrimiento/skills.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/core/diagnostics.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IACjC,YAAY,EAAE,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IAClC,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,WAAW,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,iBAAiB,CAAC;CAC9B"
|
|
1
|
+
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/core/diagnostics.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IACjC,YAAY,EAAE,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IAClC,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,WAAW,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,iBAAiB,CAAC;CAC9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/core/diagnostics.ts"],"names":[],"mappings":""
|
|
1
|
+
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/core/diagnostics.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clasificador.d.ts","sourceRoot":"","sources":["../../../src/core/dificultad/clasificador.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAKnE,MAAM,MAAM,eAAe,GAAG,eAAe,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAE7E,MAAM,WAAW,UAAU;IAC1B,KAAK,EAAE,eAAe,CAAC;IACvB,uFAAqF;IACrF,MAAM,EAAE,MAAM,CAAC;IACf,mFAAiF;IACjF,QAAO,EAAE,MAAM,EAAE,CAAC;CAClB;AAyDD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAyE9D;AASD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAClC,UAAU,EAAE,OAAO,CAAC,eAAe,EAAE,eAAe,CAAC,EACrD,WAAW,EAAE,SAAS,aAAa,EAAE,GACnC,aAAa,GAAG,IAAI,CAiBtB;AAED,8DAA6D;AAC7D,MAAM,WAAW,iBAAiB;IACjC,4FAA0F;IAC1F,sBAAsB,EAAE,aAAa,GAAG,IAAI,CAAC;IAC7C,uEAAqE;IACrE,MAAM,EAAE,OAAO,CAAC;CAChB;AAED,wBAAgB,aAAa,IAAI,iBAAiB,CAEjD;AAED,MAAM,WAAW,eAAe;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,aAAa,CAAC;IAC3B,WAAW,EAAE,SAAS,aAAa,EAAE,CAAC;IACtC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,MAAM,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,MAAM,qBAAqB,GAC9B;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,GACtB;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,mCAAmC,CAAA;CAAE,GACjE;IAAE,MAAM,EAAE,YAAW,CAAC;IAAC,UAAU,EAAE,UAAU,CAAA;CAAE,GAC/C;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,UAAU,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,aAAa,CAAA;CAAE,GACtE;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,UAAU,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,aAAa,CAAC;IAAC,QAAQ,EAAE,aAAa,CAAA;CAAE,CAAC;AAEhG;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,eAAe,GAAG,qBAAqB,CAmBlF;AAED,sFAAsF;AACtF,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,qBAAqB,EAAE;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC,GAAG,MAAM,CAGzG;AAED,qFAAkF;AAClF,MAAM,WAAW,eAAe;IAC/B,WAAW,EAAE,aAAa,CAAC;IAC3B,WAAW,EAAE,SAAS,aAAa,EAAE,CAAC;IACtC,8EAA8E;IAC9E,KAAK,CAAC,KAAK,EAAE,aAAa,GAAG,aAAa,CAAC;IAC3C,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAgBD;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAC/C,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,eAAe,EACvB,GAAG,GAAE,MAAM,CAAC,UAAwB,GAClC,qBAAqB,CAiCvB;AAED,0DAAyD;AACzD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAEjD","sourcesContent":["/**\n * Presupuesto de razonamiento según la dificultad del turno.\n *\n * El nivel de pensamiento estaba fijo para toda la sesión: quien lo dejaba en\n * `high` pagaba razonamiento extendido para preguntar «¿qué hace este\n * fichero?», y quien lo dejaba en `low` pedía una refactorización completa con\n * el presupuesto de una consulta. Las dos mitades cuestan dinero, una en\n * tokens y la otra en calidad.\n *\n * Este clasificador decide el nivel a partir del texto del turno, SIN llamar\n * al modelo: una llamada extra para decidir cuánto gastar se come el ahorro.\n * Solo mira señales del propio texto (longitud, verbos de acción, ficheros\n * mencionados, trazas de error).\n *\n * Tres estados, no dos, en las dos capas:\n * - `clasificar` devuelve `indeterminada` cuando NO PUEDE clasificar (texto\n * vacío, un comando de barra, o un turno de dos palabras sin ninguna\n * señal como «sigue»). No es «fácil»: es «no lo sé», y quien llama no\n * debe tocar nada.\n * - `decidirPresupuesto` devuelve una acción explícita (`inactivo`,\n * `cedido`, `sin-señal`, `sin-cambio`, `aplicar`) en vez de un nivel\n * opcional, para que «no toco nada porque el usuario mandó» no se lea\n * igual que «no toco nada porque ya está bien».\n */\n\nimport type { ThinkingLevel } from \"@earendil-works/pi-agent-core\";\n\n/** Orden canónico de menor a mayor gasto (el mismo de `EXTENDED_THINKING_LEVELS`). */\nconst ORDEN: string[] = [\"off\", \"minimal\", \"low\", \"medium\", \"high\", \"xhigh\", \"max\"];\n\nexport type NivelDificultad = \"indeterminada\" | \"trivial\" | \"media\" | \"alta\";\n\nexport interface Dificultad {\n\tnivel: NivelDificultad;\n\t/** Puntuación acumulada; negativa o cero es trivial. Útil para depurar el corpus. */\n\tpuntos: number;\n\t/** Señales encontradas, en el orden en que se sumaron. Se enseñan al usuario. */\n\tseñales: string[];\n}\n\n/**\n * Verbos que implican cambiar el mundo (imperativo e infinitivo, y sus\n * equivalentes en inglés porque medio equipo escribe los prompts en inglés).\n * Se comparan sobre el texto normalizado sin acentos.\n *\n * Los troncos van sin la vocal final del tema («arregl», no «arregla») porque\n * la primera persona es una forma corriente en un turno y la que decide el\n * descuento por consulta directa de más abajo. Con «arregla\\w*» el ejemplo que\n * el propio comentario de ese descuento ponía —«cómo arreglo X»— no encontraba\n * ningún verbo, se llevaba el descuento entero y salía trivial: el comentario\n * decía una cosa y el código hacía la contraria.\n *\n * Los verbos corrientes del día a día («crea», «escribe», «haz», «mueve»,\n * «cambia», «quita», «revisa») faltaban por completo, y su ausencia NO era\n * neutra: sin ninguna señal el turno sumaba 0 puntos y 0 se leía como\n * «trivial», así que «crea un endpoint para facturas» bajaba el presupuesto a\n * `low`. El corpus de la primera versión no lo vio porque sus seis turnos\n * duros usaban justo los verbos de esta lista. Se arregla por los dos lados:\n * aquí, añadiéndolos, y abajo, no leyendo la ausencia de señal como facilidad.\n *\n * Estos van en formas ENUMERADAS, no en troncos, porque el tronco corto choca\n * con palabras que aparecen en consultas puras: «hac\\w*» se come el «hace» de\n * «¿qué hace este fichero?», «escrib\\w*» el «escribio» de «quién escribió\n * esto», y «cre\\w*» el «creo que» de cualquier frase dubitativa. Un falso\n * verbo ahí no solo sube el nivel: además anula el descuento por consulta\n * directa, que exige cero verbos.\n *\n * Techo conocido: sigue siendo una lista de troncos y formas a mano. Las\n * irregulares que no están aquí («rehago», «deshaz») se escapan. Si el corpus\n * de tráfico real lo pide, esto se cambia por un lematizador, no por más\n * troncos.\n */\nconst VERBOS_DE_ACCION =\n\t/\\b(refactoriz\\w*|reescrib\\w+|reimplement\\w+|implement\\w+|migra\\w*|arregl\\w*|corrig\\w+|corrij\\w+|correg\\w+|repar[aeo]\\w*|depur[aeo]\\w*|optimiz\\w*|integr[aeo]\\w*|disen\\w*|anade|anadir|agreg\\w*|elimin\\w*|borr[aeo]\\w*|renombr\\w*|actualiz\\w*|extra[ei]\\w*|divid\\w*|unific\\w*|automatiz\\w*|crea|crear|creame|escribe|escribir|escribeme|haz|hazme|hacer|genera|generar|construye|construir|soluciona|solucionar|resuelve|mueve|mover|traslada|trasladar|cambia|cambiar|convierte|convertir|separa|separar|quita|quitar|revisa|revisar|mejora|mejorar|simplifica|simplificar|documenta|documentar|valida|validar|reemplaza|reemplazar|sustituye|sustituir|refactor|rewrite|reimplement|implement|migrate|fix|debug|optimi[sz]e|integrate|redesign|refactoring|create|write|generate|solve|move|convert|split|replace|simplify|validate|review)\\b/g;\n\n/** Arranques de consulta pura: preguntan por algo que ya existe, no piden cambiarlo. */\nconst ARRANQUE_DE_CONSULTA =\n\t/^(que|cual|cuales|donde|como|quien|cuando|cuanto|para que|por que|what|which|where|how|who|when|why)\\b/;\n\n/** Trazas y mensajes de error pegados: casi siempre implican investigar. */\nconst SEÑAL_DE_ERROR =\n\t/(\\btraceback\\b|\\b\\w*error\\b\\s*:|\\bexception\\b|\\bpanic\\b|\\bsegfault\\b|\\bstack trace\\b|^\\s+at\\s+\\S+|\\bexit code\\s*[:=]?\\s*\\d+|\\bENOENT\\b|\\bECONNREFUSED\\b|\\bfailed to\\b|\\bassertionerror\\b)/im;\n\n/** Rutas y nombres de fichero con extensión conocida. */\nconst FICHERO =\n\t/\\b[\\w.@/-]+\\.(ts|tsx|js|jsx|mjs|cjs|py|go|rs|java|rb|php|c|h|cpp|json|yaml|yml|toml|md|sh|sql|css|html)\\b/g;\n\n/** Quita acentos y baja a minúsculas para que las expresiones no lleven cada variante. */\nfunction normalizar(texto: string): string {\n\treturn texto\n\t\t.normalize(\"NFD\")\n\t\t.replace(/[\\u0300-\\u036f]/g, \"\")\n\t\t.toLowerCase();\n}\n\n/**\n * Clasifica la dificultad de un turno. Función pura: mismo texto, misma salida.\n *\n * Devuelve `indeterminada` cuando no hay nada que clasificar. Un turno vacío,\n * un comando de barra o un «sigue» de dos palabras no son «triviales»: no\n * traen ninguna señal, y bajar el presupuesto por ellos sería decidir con una\n * señal que no existe.\n */\nexport function clasificarDificultad(texto: string): Dificultad {\n\tconst crudo = texto.trim();\n\tif (crudo.length === 0 || crudo.startsWith(\"/\")) {\n\t\treturn { nivel: \"indeterminada\", puntos: 0, señales: [] };\n\t}\n\n\tconst t = normalizar(crudo);\n\tconst señales: string[] = [];\n\tlet puntos = 0;\n\n\tconst verbos = t.match(VERBOS_DE_ACCION) ?? [];\n\tif (verbos.length > 0) {\n\t\tconst suma = Math.min(verbos.length * 2, 4);\n\t\tpuntos += suma;\n\t\tseñales.push(verbos.length === 1 ? \"1 verbo de accion\" : `${verbos.length} verbos de accion`);\n\t}\n\n\tconst ficheros = new Set(crudo.match(FICHERO) ?? []);\n\tif (ficheros.size > 0) {\n\t\tpuntos += Math.min(ficheros.size, 3);\n\t\tseñales.push(ficheros.size === 1 ? \"1 fichero\" : `${ficheros.size} ficheros`);\n\t}\n\n\tif (SEÑAL_DE_ERROR.test(crudo)) {\n\t\tpuntos += 3;\n\t\tseñales.push(\"traza de error\");\n\t}\n\n\tif (crudo.length > 400) {\n\t\tpuntos += 2;\n\t\tseñales.push(\"turno largo\");\n\t} else if (crudo.length > 160) {\n\t\tpuntos += 1;\n\t\tseñales.push(\"turno medio\");\n\t}\n\n\t// Una lista de puntos o varias líneas es casi siempre varias tareas.\n\tconst lineas = crudo.split(\"\\n\").filter((l) => l.trim().length > 0);\n\tif (lineas.length >= 3 || /^\\s*(?:[-*]|\\d+[.)])\\s+/m.test(crudo)) {\n\t\tpuntos += 1;\n\t\tseñales.push(\"varias tareas\");\n\t}\n\n\t// Una consulta pura sin ningún verbo de acción se abarata a propósito.\n\t// Con verbo de acción no se descuenta: «cómo arreglo X» es trabajo, y por\n\t// eso los troncos de arriba tienen que cubrir la primera persona. Este\n\t// comentario decía ya esto mientras «cómo arreglo X» salía trivial.\n\tif (ARRANQUE_DE_CONSULTA.test(t.replace(/^[¿¡\\s]+/, \"\")) && verbos.length === 0) {\n\t\tpuntos -= 2;\n\t\tseñales.push(\"consulta directa\");\n\t}\n\n\t// CERO señales no es «fácil»: es «no lo sé». Sin esta puerta, `trivial` era\n\t// el valor por defecto de todo lo que la lista de verbos no reconocía, y la\n\t// lista nunca va a reconocerlo todo. Medido: de catorce turnos de trabajo\n\t// reales escritos con verbos corrientes («crea un endpoint», «mueve la\n\t// lógica de auth a su propio paquete», «revisa la seguridad del endpoint de\n\t// pagos»), los catorce salían `trivial` y se llevaban el presupuesto más\n\t// barato — exactamente el daño que este módulo dice venir a evitar. Lo\n\t// mismo con «sigue» detrás de una refactorización: el agente continuaba la\n\t// tarea dura con el presupuesto de una consulta.\n\t//\n\t// `trivial` pasa a exigir evidencia POSITIVA de que el turno es una\n\t// consulta (el descuento de arriba, o cualquier otra señal que deje los\n\t// puntos por debajo de cero). Sin ninguna señal no tocamos el presupuesto:\n\t// quedarse en el nivel de la sesión es el error barato; bajar a `low` una\n\t// tarea de refactorización es el caro.\n\tif (señales.length === 0) {\n\t\treturn { nivel: \"indeterminada\", puntos, señales };\n\t}\n\n\tconst nivel: NivelDificultad = puntos >= 4 ? \"alta\" : puntos >= 1 ? \"media\" : \"trivial\";\n\treturn { nivel, puntos, señales };\n}\n\n/** Nivel canónico que pediríamos para cada dificultad si el modelo los tuviera todos. */\nconst NIVEL_IDEAL: Record<Exclude<NivelDificultad, \"indeterminada\">, ThinkingLevel> = {\n\ttrivial: \"low\",\n\tmedia: \"medium\",\n\talta: \"high\",\n};\n\n/**\n * Traduce la dificultad al nivel más cercano de los que el modelo soporta.\n *\n * No todos los modelos tienen los siete niveles; en caso de empate se elige el\n * más barato, porque equivocarse hacia abajo cuesta menos que hacia arriba.\n *\n * El empate se resuelve mirando el ÍNDICE, no el orden de llegada. Quedarse\n * con el primero solo da el más barato si `disponibles` viene ordenado de\n * menor a mayor gasto — cierto hoy porque `getSupportedThinkingLevels` filtra\n * `EXTENDED_THINKING_LEVELS` en ese orden, pero eso es una propiedad del\n * llamante de hoy, no del contrato de esta función. Con `[\"high\", \"low\"]` y\n * dificultad media (ambos a distancia 1) devolvía `high`: lo caro, justo lo\n * que el comentario prometía no hacer.\n */\nexport function nivelParaDificultad(\n\tdificultad: Exclude<NivelDificultad, \"indeterminada\">,\n\tdisponibles: readonly ThinkingLevel[],\n): ThinkingLevel | null {\n\tif (disponibles.length === 0) return null;\n\tconst objetivo = ORDEN.indexOf(NIVEL_IDEAL[dificultad]);\n\tlet mejor: ThinkingLevel | null = null;\n\tlet mejorDistancia = Number.POSITIVE_INFINITY;\n\tlet mejorIndice = Number.POSITIVE_INFINITY;\n\tfor (const candidato of disponibles) {\n\t\tconst i = ORDEN.indexOf(candidato);\n\t\tif (i < 0) continue;\n\t\tconst distancia = Math.abs(i - objetivo);\n\t\tif (distancia < mejorDistancia || (distancia === mejorDistancia && i < mejorIndice)) {\n\t\t\tmejor = candidato;\n\t\t\tmejorDistancia = distancia;\n\t\t\tmejorIndice = i;\n\t\t}\n\t}\n\treturn mejor;\n}\n\n/** Estado que sobrevive entre turnos de una misma sesión. */\nexport interface EstadoPresupuesto {\n\t/** Nivel efectivo que dejamos puesto la última vez. `null` = aún no hemos tocado nada. */\n\tnivelPuestoPorNosotros: ThinkingLevel | null;\n\t/** El usuario mandó a mano; no volvemos a decidir en esta sesión. */\n\tcedido: boolean;\n}\n\nexport function estadoInicial(): EstadoPresupuesto {\n\treturn { nivelPuestoPorNosotros: null, cedido: false };\n}\n\nexport interface EntradaDecision {\n\ttexto: string;\n\tnivelActual: ThinkingLevel;\n\tdisponibles: readonly ThinkingLevel[];\n\testado: EstadoPresupuesto;\n\tactivo: boolean;\n}\n\nexport type DecisionDePresupuesto =\n\t| { accion: \"inactivo\" }\n\t| { accion: \"cedido\"; motivo: \"el usuario eligio el nivel a mano\" }\n\t| { accion: \"sin-señal\"; dificultad: Dificultad }\n\t| { accion: \"sin-cambio\"; dificultad: Dificultad; nivel: ThinkingLevel }\n\t| { accion: \"aplicar\"; dificultad: Dificultad; nivel: ThinkingLevel; anterior: ThinkingLevel };\n\n/**\n * Decide qué hacer con el presupuesto de este turno.\n *\n * NO es pura: al detectar la cesión marca `entrada.estado.cedido`. La marca es\n * necesaria — si solo dedujéramos la cesión comparando niveles, el usuario que\n * cicla con shift+tab y vuelve a caer en el nivel que dejamos puesto haría que\n * volviésemos a decidir por él. Aquí decía «sin efectos secundarios» y era\n * falso; se corrige el comentario, no el código.\n *\n * La cesión es la puerta del usuario: en cuanto el nivel actual no es el que\n * nosotros dejamos puesto, alguien lo cambió a mano entre turnos y dejamos de\n * decidir para el resto de la sesión. Se detecta comparando nuestro propio\n * estado, sin pedirle a upstream que nos avise de nada.\n *\n * El primer turno lo decidimos siempre. El nivel con el que arranca la sesión\n * es una CONFIGURACIÓN (el default de settings, o el del modelo), no la\n * intención de este turno — y es justo lo que este clasificador viene a\n * sustituir. Lo que respetamos es el cambio explícito, que va acompañado del\n * aviso visible que explica cómo desactivarnos.\n */\nexport function decidirPresupuesto(entrada: EntradaDecision): DecisionDePresupuesto {\n\tif (!entrada.activo) return { accion: \"inactivo\" };\n\n\tconst puesto = entrada.estado.nivelPuestoPorNosotros;\n\tif (entrada.estado.cedido || (puesto !== null && entrada.nivelActual !== puesto)) {\n\t\tentrada.estado.cedido = true;\n\t\treturn { accion: \"cedido\", motivo: \"el usuario eligio el nivel a mano\" };\n\t}\n\n\tconst dificultad = clasificarDificultad(entrada.texto);\n\tif (dificultad.nivel === \"indeterminada\") {\n\t\treturn { accion: \"sin-señal\", dificultad };\n\t}\n\n\tconst nivel = nivelParaDificultad(dificultad.nivel, entrada.disponibles);\n\tif (nivel === null || nivel === entrada.nivelActual) {\n\t\treturn { accion: \"sin-cambio\", dificultad, nivel: nivel ?? entrada.nivelActual };\n\t}\n\treturn { accion: \"aplicar\", dificultad, nivel, anterior: entrada.nivelActual };\n}\n\n/** Texto que ve el usuario. El ajuste NO puede ser silencioso: cambia lo que paga. */\nexport function mensajeDeDecision(decision: Extract<DecisionDePresupuesto, { accion: \"aplicar\" }>): string {\n\tconst señales = decision.dificultad.señales.length > 0 ? decision.dificultad.señales.join(\", \") : \"sin señales\";\n\treturn `Razonamiento automatico: ${decision.anterior} -> ${decision.nivel} (dificultad ${decision.dificultad.nivel}: ${señales}). Cambialo a mano para desactivarlo en esta sesion.`;\n}\n\n/** Puerto mínimo con la sesión. Lo justo para no importar `AgentSession` aquí. */\nexport interface SesionAjustable {\n\tnivelActual: ThinkingLevel;\n\tdisponibles: readonly ThinkingLevel[];\n\t/** Aplica el nivel y devuelve el EFECTIVO (upstream lo recorta al modelo). */\n\tfijar(nivel: ThinkingLevel): ThinkingLevel;\n\tavisar(mensaje: string): void;\n}\n\n/**\n * El estado vive aquí, indexado por la sesión, y no como campo de\n * `AgentSession`: declarar un campo privado en esa clase sería un hunk más\n * contra el presupuesto de fork, que está agotado (116/116). La sesión es la\n * clave; cuando se recolecta, su estado se va con ella.\n */\nconst estados = new WeakMap<object, EstadoPresupuesto>();\n\n/** El interruptor de escape, sin tocar `settings-manager.ts` (otro hunk de upstream). */\nfunction estaActivo(env: NodeJS.ProcessEnv): boolean {\n\tconst v = env.ADA_DIFICULTAD_AUTO;\n\treturn v !== \"0\" && v !== \"false\" && v !== \"no\";\n}\n\n/**\n * Punto de entrada desde `agent-session.prompt()`. Decide, aplica y avisa.\n *\n * Devuelve la decisión para que se pueda comprobar desde fuera: una función\n * que solo tiene efectos secundarios es una función que nadie verifica.\n */\nexport function ajustarPresupuestoDeRazonamiento(\n\tclave: object,\n\ttexto: string,\n\tsesion: SesionAjustable,\n\tenv: NodeJS.ProcessEnv = process.env,\n): DecisionDePresupuesto {\n\tlet estado = estados.get(clave);\n\tif (!estado) {\n\t\testado = estadoInicial();\n\t\testados.set(clave, estado);\n\t}\n\n\tconst decision = decidirPresupuesto({\n\t\ttexto,\n\t\tnivelActual: sesion.nivelActual,\n\t\tdisponibles: sesion.disponibles,\n\t\testado,\n\t\tactivo: estaActivo(env),\n\t});\n\n\tif (decision.accion === \"aplicar\") {\n\t\t// Guardamos el nivel EFECTIVO, no el pedido: upstream lo recorta a las\n\t\t// capacidades del modelo y, si guardáramos el pedido, el turno siguiente\n\t\t// vería una diferencia y cedería creyendo que fue el usuario.\n\t\testado.nivelPuestoPorNosotros = sesion.fijar(decision.nivel);\n\t\tsesion.avisar(mensajeDeDecision(decision));\n\t} else if (decision.accion === \"sin-cambio\" || decision.accion === \"sin-señal\") {\n\t\t// Un turno en el que NO cambiamos nada también hay que anotarlo: lo que\n\t\t// queda puesto es el nivel actual, y es contra ese valor contra el que\n\t\t// se detecta al usuario. Anotando solo al cambiar,\n\t\t// `nivelPuestoPorNosotros` se quedaba en null mientras el objetivo\n\t\t// coincidiera con el nivel de arranque, y la puerta de cesión no se\n\t\t// armaba nunca: sesión en `medium`, turno «arregla esto» (media ->\n\t\t// medium, sin-cambio), el usuario sube a `high` a mano y el turno\n\t\t// siguiente se lo bajaba a `low` sin ceder ni avisar de nada.\n\t\testado.nivelPuestoPorNosotros = sesion.nivelActual;\n\t}\n\treturn decision;\n}\n\n/** Solo para pruebas: olvida el estado de una sesión. */\nexport function olvidarEstado(clave: object): void {\n\testados.delete(clave);\n}\n"]}
|
|
1
|
+
{"version":3,"file":"clasificador.d.ts","sourceRoot":"","sources":["../../../src/core/dificultad/clasificador.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAKnE,MAAM,MAAM,eAAe,GAAG,eAAe,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAE7E,MAAM,WAAW,UAAU;IAC1B,KAAK,EAAE,eAAe,CAAC;IACvB,qFAAqF;IACrF,MAAM,EAAE,MAAM,CAAC;IACf,iFAAiF;IACjF,OAAO,EAAE,MAAM,EAAE,CAAC;CAClB;AAyDD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAyE9D;AASD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAClC,UAAU,EAAE,OAAO,CAAC,eAAe,EAAE,eAAe,CAAC,EACrD,WAAW,EAAE,SAAS,aAAa,EAAE,GACnC,aAAa,GAAG,IAAI,CAiBtB;AAED,6DAA6D;AAC7D,MAAM,WAAW,iBAAiB;IACjC,0FAA0F;IAC1F,sBAAsB,EAAE,aAAa,GAAG,IAAI,CAAC;IAC7C,qEAAqE;IACrE,MAAM,EAAE,OAAO,CAAC;CAChB;AAED,wBAAgB,aAAa,IAAI,iBAAiB,CAEjD;AAED,MAAM,WAAW,eAAe;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,aAAa,CAAC;IAC3B,WAAW,EAAE,SAAS,aAAa,EAAE,CAAC;IACtC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,MAAM,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,MAAM,qBAAqB,GAC9B;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,GACtB;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,mCAAmC,CAAA;CAAE,GACjE;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,UAAU,EAAE,UAAU,CAAA;CAAE,GAC/C;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,UAAU,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,aAAa,CAAA;CAAE,GACtE;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,UAAU,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,aAAa,CAAC;IAAC,QAAQ,EAAE,aAAa,CAAA;CAAE,CAAC;AAEhG;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,eAAe,GAAG,qBAAqB,CAmBlF;AAED,sFAAsF;AACtF,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,qBAAqB,EAAE;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC,GAAG,MAAM,CAGzG;AAED,kFAAkF;AAClF,MAAM,WAAW,eAAe;IAC/B,WAAW,EAAE,aAAa,CAAC;IAC3B,WAAW,EAAE,SAAS,aAAa,EAAE,CAAC;IACtC,8EAA8E;IAC9E,KAAK,CAAC,KAAK,EAAE,aAAa,GAAG,aAAa,CAAC;IAC3C,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAgBD;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAC/C,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,eAAe,EACvB,GAAG,GAAE,MAAM,CAAC,UAAwB,GAClC,qBAAqB,CAiCvB;AAED,yDAAyD;AACzD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAEjD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clasificador.js","sourceRoot":"","sources":["../../../src/core/dificultad/clasificador.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Presupuesto de razonamiento según la dificultad del turno.\n *\n * El nivel de pensamiento estaba fijo para toda la sesión: quien lo dejaba en\n * `high` pagaba razonamiento extendido para preguntar «¿qué hace este\n * fichero?», y quien lo dejaba en `low` pedía una refactorización completa con\n * el presupuesto de una consulta. Las dos mitades cuestan dinero, una en\n * tokens y la otra en calidad.\n *\n * Este clasificador decide el nivel a partir del texto del turno, SIN llamar\n * al modelo: una llamada extra para decidir cuánto gastar se come el ahorro.\n * Solo mira señales del propio texto (longitud, verbos de acción, ficheros\n * mencionados, trazas de error).\n *\n * Tres estados, no dos, en las dos capas:\n * - `clasificar` devuelve `indeterminada` cuando NO PUEDE clasificar (texto\n * vacío, un comando de barra, o un turno de dos palabras sin ninguna\n * señal como «sigue»). No es «fácil»: es «no lo sé», y quien llama no\n * debe tocar nada.\n * - `decidirPresupuesto` devuelve una acción explícita (`inactivo`,\n * `cedido`, `sin-señal`, `sin-cambio`, `aplicar`) en vez de un nivel\n * opcional, para que «no toco nada porque el usuario mandó» no se lea\n * igual que «no toco nada porque ya está bien».\n */\n\nimport type { ThinkingLevel } from \"@earendil-works/pi-agent-core\";\n\n/** Orden canónico de menor a mayor gasto (el mismo de `EXTENDED_THINKING_LEVELS`). */\nconst ORDEN: string[] = [\"off\", \"minimal\", \"low\", \"medium\", \"high\", \"xhigh\", \"max\"];\n\nexport type NivelDificultad = \"indeterminada\" | \"trivial\" | \"media\" | \"alta\";\n\nexport interface Dificultad {\n\tnivel: NivelDificultad;\n\t/** Puntuación acumulada; negativa o cero es trivial. Útil para depurar el corpus. */\n\tpuntos: number;\n\t/** Señales encontradas, en el orden en que se sumaron. Se enseñan al usuario. */\n\tseñales: string[];\n}\n\n/**\n * Verbos que implican cambiar el mundo (imperativo e infinitivo, y sus\n * equivalentes en inglés porque medio equipo escribe los prompts en inglés).\n * Se comparan sobre el texto normalizado sin acentos.\n *\n * Los troncos van sin la vocal final del tema («arregl», no «arregla») porque\n * la primera persona es una forma corriente en un turno y la que decide el\n * descuento por consulta directa de más abajo. Con «arregla\\w*» el ejemplo que\n * el propio comentario de ese descuento ponía —«cómo arreglo X»— no encontraba\n * ningún verbo, se llevaba el descuento entero y salía trivial: el comentario\n * decía una cosa y el código hacía la contraria.\n *\n * Los verbos corrientes del día a día («crea», «escribe», «haz», «mueve»,\n * «cambia», «quita», «revisa») faltaban por completo, y su ausencia NO era\n * neutra: sin ninguna señal el turno sumaba 0 puntos y 0 se leía como\n * «trivial», así que «crea un endpoint para facturas» bajaba el presupuesto a\n * `low`. El corpus de la primera versión no lo vio porque sus seis turnos\n * duros usaban justo los verbos de esta lista. Se arregla por los dos lados:\n * aquí, añadiéndolos, y abajo, no leyendo la ausencia de señal como facilidad.\n *\n * Estos van en formas ENUMERADAS, no en troncos, porque el tronco corto choca\n * con palabras que aparecen en consultas puras: «hac\\w*» se come el «hace» de\n * «¿qué hace este fichero?», «escrib\\w*» el «escribio» de «quién escribió\n * esto», y «cre\\w*» el «creo que» de cualquier frase dubitativa. Un falso\n * verbo ahí no solo sube el nivel: además anula el descuento por consulta\n * directa, que exige cero verbos.\n *\n * Techo conocido: sigue siendo una lista de troncos y formas a mano. Las\n * irregulares que no están aquí («rehago», «deshaz») se escapan. Si el corpus\n * de tráfico real lo pide, esto se cambia por un lematizador, no por más\n * troncos.\n */\nconst VERBOS_DE_ACCION =\n\t/\\b(refactoriz\\w*|reescrib\\w+|reimplement\\w+|implement\\w+|migra\\w*|arregl\\w*|corrig\\w+|corrij\\w+|correg\\w+|repar[aeo]\\w*|depur[aeo]\\w*|optimiz\\w*|integr[aeo]\\w*|disen\\w*|anade|anadir|agreg\\w*|elimin\\w*|borr[aeo]\\w*|renombr\\w*|actualiz\\w*|extra[ei]\\w*|divid\\w*|unific\\w*|automatiz\\w*|crea|crear|creame|escribe|escribir|escribeme|haz|hazme|hacer|genera|generar|construye|construir|soluciona|solucionar|resuelve|mueve|mover|traslada|trasladar|cambia|cambiar|convierte|convertir|separa|separar|quita|quitar|revisa|revisar|mejora|mejorar|simplifica|simplificar|documenta|documentar|valida|validar|reemplaza|reemplazar|sustituye|sustituir|refactor|rewrite|reimplement|implement|migrate|fix|debug|optimi[sz]e|integrate|redesign|refactoring|create|write|generate|solve|move|convert|split|replace|simplify|validate|review)\\b/g;\n\n/** Arranques de consulta pura: preguntan por algo que ya existe, no piden cambiarlo. */\nconst ARRANQUE_DE_CONSULTA =\n\t/^(que|cual|cuales|donde|como|quien|cuando|cuanto|para que|por que|what|which|where|how|who|when|why)\\b/;\n\n/** Trazas y mensajes de error pegados: casi siempre implican investigar. */\nconst SEÑAL_DE_ERROR =\n\t/(\\btraceback\\b|\\b\\w*error\\b\\s*:|\\bexception\\b|\\bpanic\\b|\\bsegfault\\b|\\bstack trace\\b|^\\s+at\\s+\\S+|\\bexit code\\s*[:=]?\\s*\\d+|\\bENOENT\\b|\\bECONNREFUSED\\b|\\bfailed to\\b|\\bassertionerror\\b)/im;\n\n/** Rutas y nombres de fichero con extensión conocida. */\nconst FICHERO =\n\t/\\b[\\w.@/-]+\\.(ts|tsx|js|jsx|mjs|cjs|py|go|rs|java|rb|php|c|h|cpp|json|yaml|yml|toml|md|sh|sql|css|html)\\b/g;\n\n/** Quita acentos y baja a minúsculas para que las expresiones no lleven cada variante. */\nfunction normalizar(texto: string): string {\n\treturn texto\n\t\t.normalize(\"NFD\")\n\t\t.replace(/[\\u0300-\\u036f]/g, \"\")\n\t\t.toLowerCase();\n}\n\n/**\n * Clasifica la dificultad de un turno. Función pura: mismo texto, misma salida.\n *\n * Devuelve `indeterminada` cuando no hay nada que clasificar. Un turno vacío,\n * un comando de barra o un «sigue» de dos palabras no son «triviales»: no\n * traen ninguna señal, y bajar el presupuesto por ellos sería decidir con una\n * señal que no existe.\n */\nexport function clasificarDificultad(texto: string): Dificultad {\n\tconst crudo = texto.trim();\n\tif (crudo.length === 0 || crudo.startsWith(\"/\")) {\n\t\treturn { nivel: \"indeterminada\", puntos: 0, señales: [] };\n\t}\n\n\tconst t = normalizar(crudo);\n\tconst señales: string[] = [];\n\tlet puntos = 0;\n\n\tconst verbos = t.match(VERBOS_DE_ACCION) ?? [];\n\tif (verbos.length > 0) {\n\t\tconst suma = Math.min(verbos.length * 2, 4);\n\t\tpuntos += suma;\n\t\tseñales.push(verbos.length === 1 ? \"1 verbo de accion\" : `${verbos.length} verbos de accion`);\n\t}\n\n\tconst ficheros = new Set(crudo.match(FICHERO) ?? []);\n\tif (ficheros.size > 0) {\n\t\tpuntos += Math.min(ficheros.size, 3);\n\t\tseñales.push(ficheros.size === 1 ? \"1 fichero\" : `${ficheros.size} ficheros`);\n\t}\n\n\tif (SEÑAL_DE_ERROR.test(crudo)) {\n\t\tpuntos += 3;\n\t\tseñales.push(\"traza de error\");\n\t}\n\n\tif (crudo.length > 400) {\n\t\tpuntos += 2;\n\t\tseñales.push(\"turno largo\");\n\t} else if (crudo.length > 160) {\n\t\tpuntos += 1;\n\t\tseñales.push(\"turno medio\");\n\t}\n\n\t// Una lista de puntos o varias líneas es casi siempre varias tareas.\n\tconst lineas = crudo.split(\"\\n\").filter((l) => l.trim().length > 0);\n\tif (lineas.length >= 3 || /^\\s*(?:[-*]|\\d+[.)])\\s+/m.test(crudo)) {\n\t\tpuntos += 1;\n\t\tseñales.push(\"varias tareas\");\n\t}\n\n\t// Una consulta pura sin ningún verbo de acción se abarata a propósito.\n\t// Con verbo de acción no se descuenta: «cómo arreglo X» es trabajo, y por\n\t// eso los troncos de arriba tienen que cubrir la primera persona. Este\n\t// comentario decía ya esto mientras «cómo arreglo X» salía trivial.\n\tif (ARRANQUE_DE_CONSULTA.test(t.replace(/^[¿¡\\s]+/, \"\")) && verbos.length === 0) {\n\t\tpuntos -= 2;\n\t\tseñales.push(\"consulta directa\");\n\t}\n\n\t// CERO señales no es «fácil»: es «no lo sé». Sin esta puerta, `trivial` era\n\t// el valor por defecto de todo lo que la lista de verbos no reconocía, y la\n\t// lista nunca va a reconocerlo todo. Medido: de catorce turnos de trabajo\n\t// reales escritos con verbos corrientes («crea un endpoint», «mueve la\n\t// lógica de auth a su propio paquete», «revisa la seguridad del endpoint de\n\t// pagos»), los catorce salían `trivial` y se llevaban el presupuesto más\n\t// barato — exactamente el daño que este módulo dice venir a evitar. Lo\n\t// mismo con «sigue» detrás de una refactorización: el agente continuaba la\n\t// tarea dura con el presupuesto de una consulta.\n\t//\n\t// `trivial` pasa a exigir evidencia POSITIVA de que el turno es una\n\t// consulta (el descuento de arriba, o cualquier otra señal que deje los\n\t// puntos por debajo de cero). Sin ninguna señal no tocamos el presupuesto:\n\t// quedarse en el nivel de la sesión es el error barato; bajar a `low` una\n\t// tarea de refactorización es el caro.\n\tif (señales.length === 0) {\n\t\treturn { nivel: \"indeterminada\", puntos, señales };\n\t}\n\n\tconst nivel: NivelDificultad = puntos >= 4 ? \"alta\" : puntos >= 1 ? \"media\" : \"trivial\";\n\treturn { nivel, puntos, señales };\n}\n\n/** Nivel canónico que pediríamos para cada dificultad si el modelo los tuviera todos. */\nconst NIVEL_IDEAL: Record<Exclude<NivelDificultad, \"indeterminada\">, ThinkingLevel> = {\n\ttrivial: \"low\",\n\tmedia: \"medium\",\n\talta: \"high\",\n};\n\n/**\n * Traduce la dificultad al nivel más cercano de los que el modelo soporta.\n *\n * No todos los modelos tienen los siete niveles; en caso de empate se elige el\n * más barato, porque equivocarse hacia abajo cuesta menos que hacia arriba.\n *\n * El empate se resuelve mirando el ÍNDICE, no el orden de llegada. Quedarse\n * con el primero solo da el más barato si `disponibles` viene ordenado de\n * menor a mayor gasto — cierto hoy porque `getSupportedThinkingLevels` filtra\n * `EXTENDED_THINKING_LEVELS` en ese orden, pero eso es una propiedad del\n * llamante de hoy, no del contrato de esta función. Con `[\"high\", \"low\"]` y\n * dificultad media (ambos a distancia 1) devolvía `high`: lo caro, justo lo\n * que el comentario prometía no hacer.\n */\nexport function nivelParaDificultad(\n\tdificultad: Exclude<NivelDificultad, \"indeterminada\">,\n\tdisponibles: readonly ThinkingLevel[],\n): ThinkingLevel | null {\n\tif (disponibles.length === 0) return null;\n\tconst objetivo = ORDEN.indexOf(NIVEL_IDEAL[dificultad]);\n\tlet mejor: ThinkingLevel | null = null;\n\tlet mejorDistancia = Number.POSITIVE_INFINITY;\n\tlet mejorIndice = Number.POSITIVE_INFINITY;\n\tfor (const candidato of disponibles) {\n\t\tconst i = ORDEN.indexOf(candidato);\n\t\tif (i < 0) continue;\n\t\tconst distancia = Math.abs(i - objetivo);\n\t\tif (distancia < mejorDistancia || (distancia === mejorDistancia && i < mejorIndice)) {\n\t\t\tmejor = candidato;\n\t\t\tmejorDistancia = distancia;\n\t\t\tmejorIndice = i;\n\t\t}\n\t}\n\treturn mejor;\n}\n\n/** Estado que sobrevive entre turnos de una misma sesión. */\nexport interface EstadoPresupuesto {\n\t/** Nivel efectivo que dejamos puesto la última vez. `null` = aún no hemos tocado nada. */\n\tnivelPuestoPorNosotros: ThinkingLevel | null;\n\t/** El usuario mandó a mano; no volvemos a decidir en esta sesión. */\n\tcedido: boolean;\n}\n\nexport function estadoInicial(): EstadoPresupuesto {\n\treturn { nivelPuestoPorNosotros: null, cedido: false };\n}\n\nexport interface EntradaDecision {\n\ttexto: string;\n\tnivelActual: ThinkingLevel;\n\tdisponibles: readonly ThinkingLevel[];\n\testado: EstadoPresupuesto;\n\tactivo: boolean;\n}\n\nexport type DecisionDePresupuesto =\n\t| { accion: \"inactivo\" }\n\t| { accion: \"cedido\"; motivo: \"el usuario eligio el nivel a mano\" }\n\t| { accion: \"sin-señal\"; dificultad: Dificultad }\n\t| { accion: \"sin-cambio\"; dificultad: Dificultad; nivel: ThinkingLevel }\n\t| { accion: \"aplicar\"; dificultad: Dificultad; nivel: ThinkingLevel; anterior: ThinkingLevel };\n\n/**\n * Decide qué hacer con el presupuesto de este turno.\n *\n * NO es pura: al detectar la cesión marca `entrada.estado.cedido`. La marca es\n * necesaria — si solo dedujéramos la cesión comparando niveles, el usuario que\n * cicla con shift+tab y vuelve a caer en el nivel que dejamos puesto haría que\n * volviésemos a decidir por él. Aquí decía «sin efectos secundarios» y era\n * falso; se corrige el comentario, no el código.\n *\n * La cesión es la puerta del usuario: en cuanto el nivel actual no es el que\n * nosotros dejamos puesto, alguien lo cambió a mano entre turnos y dejamos de\n * decidir para el resto de la sesión. Se detecta comparando nuestro propio\n * estado, sin pedirle a upstream que nos avise de nada.\n *\n * El primer turno lo decidimos siempre. El nivel con el que arranca la sesión\n * es una CONFIGURACIÓN (el default de settings, o el del modelo), no la\n * intención de este turno — y es justo lo que este clasificador viene a\n * sustituir. Lo que respetamos es el cambio explícito, que va acompañado del\n * aviso visible que explica cómo desactivarnos.\n */\nexport function decidirPresupuesto(entrada: EntradaDecision): DecisionDePresupuesto {\n\tif (!entrada.activo) return { accion: \"inactivo\" };\n\n\tconst puesto = entrada.estado.nivelPuestoPorNosotros;\n\tif (entrada.estado.cedido || (puesto !== null && entrada.nivelActual !== puesto)) {\n\t\tentrada.estado.cedido = true;\n\t\treturn { accion: \"cedido\", motivo: \"el usuario eligio el nivel a mano\" };\n\t}\n\n\tconst dificultad = clasificarDificultad(entrada.texto);\n\tif (dificultad.nivel === \"indeterminada\") {\n\t\treturn { accion: \"sin-señal\", dificultad };\n\t}\n\n\tconst nivel = nivelParaDificultad(dificultad.nivel, entrada.disponibles);\n\tif (nivel === null || nivel === entrada.nivelActual) {\n\t\treturn { accion: \"sin-cambio\", dificultad, nivel: nivel ?? entrada.nivelActual };\n\t}\n\treturn { accion: \"aplicar\", dificultad, nivel, anterior: entrada.nivelActual };\n}\n\n/** Texto que ve el usuario. El ajuste NO puede ser silencioso: cambia lo que paga. */\nexport function mensajeDeDecision(decision: Extract<DecisionDePresupuesto, { accion: \"aplicar\" }>): string {\n\tconst señales = decision.dificultad.señales.length > 0 ? decision.dificultad.señales.join(\", \") : \"sin señales\";\n\treturn `Razonamiento automatico: ${decision.anterior} -> ${decision.nivel} (dificultad ${decision.dificultad.nivel}: ${señales}). Cambialo a mano para desactivarlo en esta sesion.`;\n}\n\n/** Puerto mínimo con la sesión. Lo justo para no importar `AgentSession` aquí. */\nexport interface SesionAjustable {\n\tnivelActual: ThinkingLevel;\n\tdisponibles: readonly ThinkingLevel[];\n\t/** Aplica el nivel y devuelve el EFECTIVO (upstream lo recorta al modelo). */\n\tfijar(nivel: ThinkingLevel): ThinkingLevel;\n\tavisar(mensaje: string): void;\n}\n\n/**\n * El estado vive aquí, indexado por la sesión, y no como campo de\n * `AgentSession`: declarar un campo privado en esa clase sería un hunk más\n * contra el presupuesto de fork, que está agotado (116/116). La sesión es la\n * clave; cuando se recolecta, su estado se va con ella.\n */\nconst estados = new WeakMap<object, EstadoPresupuesto>();\n\n/** El interruptor de escape, sin tocar `settings-manager.ts` (otro hunk de upstream). */\nfunction estaActivo(env: NodeJS.ProcessEnv): boolean {\n\tconst v = env.ADA_DIFICULTAD_AUTO;\n\treturn v !== \"0\" && v !== \"false\" && v !== \"no\";\n}\n\n/**\n * Punto de entrada desde `agent-session.prompt()`. Decide, aplica y avisa.\n *\n * Devuelve la decisión para que se pueda comprobar desde fuera: una función\n * que solo tiene efectos secundarios es una función que nadie verifica.\n */\nexport function ajustarPresupuestoDeRazonamiento(\n\tclave: object,\n\ttexto: string,\n\tsesion: SesionAjustable,\n\tenv: NodeJS.ProcessEnv = process.env,\n): DecisionDePresupuesto {\n\tlet estado = estados.get(clave);\n\tif (!estado) {\n\t\testado = estadoInicial();\n\t\testados.set(clave, estado);\n\t}\n\n\tconst decision = decidirPresupuesto({\n\t\ttexto,\n\t\tnivelActual: sesion.nivelActual,\n\t\tdisponibles: sesion.disponibles,\n\t\testado,\n\t\tactivo: estaActivo(env),\n\t});\n\n\tif (decision.accion === \"aplicar\") {\n\t\t// Guardamos el nivel EFECTIVO, no el pedido: upstream lo recorta a las\n\t\t// capacidades del modelo y, si guardáramos el pedido, el turno siguiente\n\t\t// vería una diferencia y cedería creyendo que fue el usuario.\n\t\testado.nivelPuestoPorNosotros = sesion.fijar(decision.nivel);\n\t\tsesion.avisar(mensajeDeDecision(decision));\n\t} else if (decision.accion === \"sin-cambio\" || decision.accion === \"sin-señal\") {\n\t\t// Un turno en el que NO cambiamos nada también hay que anotarlo: lo que\n\t\t// queda puesto es el nivel actual, y es contra ese valor contra el que\n\t\t// se detecta al usuario. Anotando solo al cambiar,\n\t\t// `nivelPuestoPorNosotros` se quedaba en null mientras el objetivo\n\t\t// coincidiera con el nivel de arranque, y la puerta de cesión no se\n\t\t// armaba nunca: sesión en `medium`, turno «arregla esto» (media ->\n\t\t// medium, sin-cambio), el usuario sube a `high` a mano y el turno\n\t\t// siguiente se lo bajaba a `low` sin ceder ni avisar de nada.\n\t\testado.nivelPuestoPorNosotros = sesion.nivelActual;\n\t}\n\treturn decision;\n}\n\n/** Solo para pruebas: olvida el estado de una sesión. */\nexport function olvidarEstado(clave: object): void {\n\testados.delete(clave);\n}\n"]}
|
|
1
|
+
{"version":3,"file":"clasificador.js","sourceRoot":"","sources":["../../../src/core/dificultad/clasificador.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diario.d.ts","sourceRoot":"","sources":["../../../src/core/edicion/diario.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAMH,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG,MAAM,GAAG,UAAU,GAAG,sBAAsB,CAAC;AAEnF,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,
|
|
1
|
+
{"version":3,"file":"diario.d.ts","sourceRoot":"","sources":["../../../src/core/edicion/diario.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAMH,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG,MAAM,GAAG,UAAU,GAAG,sBAAsB,CAAC;AAEnF,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,4CAA4C;IAC5C,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,gBAAgB,CAAC;CAC5B;AAED,qGAAqG;AACrG,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAExE;AAED,iIAAiI;AACjI,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,SAA2B,GAAG,MAAM,CAQ9F;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAS5F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diario.js","sourceRoot":"","sources":["../../../src/core/edicion/diario.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAa9D,
|
|
1
|
+
{"version":3,"file":"diario.js","sourceRoot":"","sources":["../../../src/core/edicion/diario.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAa9D,qGAAqG;AACrG,MAAM,UAAU,gBAAgB,CAAC,QAAgB,EAAE,KAAa;IAC/D,OAAO,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,KAAK,QAAQ,CAAC,CAAC;AAC3D,CAAC;AAED,iIAAiI;AACjI,MAAM,UAAU,gBAAgB,CAAC,OAAsB,EAAE,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;IACrF,OAAO,IAAI,CAAC,SAAS,CAAC;QACrB,EAAE;QACF,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,KAAK,EAAE,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,KAAK,CAAC;QAC1E,OAAO,EAAE,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC;QAChF,SAAS,EAAE,OAAO,CAAC,SAAS;KAC5B,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAAgB,EAAE,OAAsB;IAC5E,IAAI,CAAC;QACJ,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACtC,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtC,MAAM,UAAU,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9G,CAAC;IAAC,MAAM,CAAC;QACR,iDAAiD;IAClD,CAAC;AACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hashline.d.ts","sourceRoot":"","sources":["../../../src/core/edicion/hashline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAIH,
|
|
1
|
+
{"version":3,"file":"hashline.d.ts","sourceRoot":"","sources":["../../../src/core/edicion/hashline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAIH,mGAAmG;AACnG,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAG/F;AAED,4FAA4F;AAC5F,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEvG;AAED,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,wDAAwD;IACxD,MAAM,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,8GAA8G;AAC9G,MAAM,MAAM,eAAe,GAAG;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAKzE;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,CAgC1D;AAED,MAAM,MAAM,gBAAgB,GACzB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE;AACjC,uHAAuH;GACrH;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjC;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,gBAAgB,CAqBzF;AAED,oGAAoG;AACpG,wBAAgB,eAAe,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,gBAAgB,CAI5F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hashline.js","sourceRoot":"","sources":["../../../src/core/edicion/hashline.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Hashline — formato de edición anclado por hash de línea.\n *\n * Nuestro único formato de edición hoy (`edit`, en `core/tools/edit.ts`) casa\n * `oldText` contra el contenido actual del fichero: si el texto no está\n * literal, la edición falla con un error de \"no encontrado\". No hay forma de\n * decir \"quiero cambiar las líneas 10-12 tal como las vi\", así que un hunk\n * calculado sobre una versión del fichero que ya cambió por debajo (otro\n * proceso, otra pestaña del agente, el usuario a mano) se puede colar sobre\n * líneas que ya no son las que el hunk cree que son, con la única defensa de\n * que `oldText` deje de encontrarse — y si el nuevo contenido de esas líneas\n * es distinto pero de la misma LONGITUD y forma que el viejo `oldText`\n * (variable renombrada, número cambiado), ni eso lo detiene.\n *\n * Hashline cierra ese hueco por construcción: el hunk lleva un hash del\n * contenido exacto del rango que dice tocar, calculado sobre lo que el\n * llamante VIO. `aplicarHashline` recalcula ese mismo hash sobre el fichero\n * tal como está AHORA y rechaza el hunk si no coincide — sin tocar el\n * fichero — en vez de intentar adivinar dónde se movió el texto. La idea es\n * la de `@oh-my-pi/hashline` (paquete de referencia en\n * `/Users/31017423z/auditoria-omp/oh-my-pi/packages/hashline`): anclar cada\n * hunk a un hash de contenido y rechazar el que ya no cuadra. Lo que cambia\n * aquí es el alcance: ellos anclan el FICHERO ENTERO con una gramática de\n * varias operaciones (PUT/CUT/MV…) pensada para sustituir su tool de edición\n * completa; esto ancla cada RANGO de líneas por separado, como una quinta\n * opción de formato de edición, no un reemplazo del `edit` que ya existe.\n */\n\nimport { createHash } from \"node:crypto\";\n\n/** Etiqueta de 8 hex del contenido exacto de las líneas `desde..hasta` (1-indexado, inclusive). */\nexport function etiquetaDeRango(lineas: readonly string[], desde: number, hasta: number): string {\n\tconst texto = lineas.slice(desde - 1, hasta).join(\"\\n\");\n\treturn createHash(\"sha256\").update(texto).digest(\"hex\").slice(0, 8);\n}\n\n/** Construye la cabecera `[ruta#tag]` para el rango `desde..hasta` del contenido actual. */\nexport function construirCabecera(ruta: string, contenido: string, desde: number, hasta: number): string {\n\treturn `[${ruta}#${etiquetaDeRango(contenido.split(\"\\n\"), desde, hasta)}]`;\n}\n\nexport interface HunkHashline {\n\truta: string;\n\ttag: string;\n\t/** 1-indexado, inclusive. */\n\tdesde: number;\n\thasta: number;\n\t/** Líneas de sustitución, ya sin el `+` de cabecera. */\n\tcuerpo: string[];\n}\n\n/** `{hunk}` si parseó, `{error}` si no — dos formas distintas, nunca un `null` que mezcle los dos motivos. */\nexport type ResultadoParseo = { hunk: HunkHashline } | { error: string };\n\nconst RE_CABECERA = /^\\[(.+)#([0-9a-f]{8})\\]\\s*$/;\nconst RE_RANGO = /^(\\d+)(?:-(\\d+))?\\s*$/;\n\n/**\n * Parsea un hunk hashline de tres partes: cabecera `[ruta#tag]`, línea de\n * rango `A` o `A-B`, y cuerpo con cada línea de sustitución prefijada por\n * `+` (una línea `+` sola es una línea en blanco).\n */\nexport function parsearHunk(texto: string): ResultadoParseo {\n\tconst lineas = texto.replace(/\\r\\n/g, \"\\n\").split(\"\\n\");\n\t// Ignora líneas en blanco iniciales/finales: son ruido de quien compone el\n\t// hunk a mano, no parte del formato.\n\twhile (lineas.length > 0 && lineas[0].trim() === \"\") lineas.shift();\n\twhile (lineas.length > 0 && lineas.at(-1)?.trim() === \"\") lineas.pop();\n\n\tif (lineas.length < 2) return { error: \"hunk vacío: hace falta cabecera y línea de rango\" };\n\n\tconst cabecera = lineas[0].match(RE_CABECERA);\n\tif (!cabecera) return { error: `cabecera inválida: \"${lineas[0]}\" (se esperaba \"[ruta#8hex]\")` };\n\n\tconst rango = lineas[1].match(RE_RANGO);\n\tif (!rango) return { error: `rango inválido: \"${lineas[1]}\" (se esperaba \"A\" o \"A-B\")` };\n\tconst desde = Number(rango[1]);\n\tconst hasta = rango[2] !== undefined ? Number(rango[2]) : desde;\n\tif (desde < 1 || hasta < desde) return { error: `rango sin sentido: ${desde}-${hasta}` };\n\n\tconst cuerpo: string[] = [];\n\tfor (let i = 2; i < lineas.length; i++) {\n\t\tconst linea = lineas[i];\n\t\tif (linea === \"+\") {\n\t\t\tcuerpo.push(\"\");\n\t\t\tcontinue;\n\t\t}\n\t\tif (!linea.startsWith(\"+\")) {\n\t\t\treturn { error: `línea de cuerpo sin \"+\": \"${linea}\"` };\n\t\t}\n\t\tcuerpo.push(linea.slice(1));\n\t}\n\n\treturn { hunk: { ruta: cabecera[1], tag: cabecera[2], desde, hasta, cuerpo } };\n}\n\nexport type ResultadoAplicar =\n\t| { ok: true; contenido: string }\n\t/** El hunk parseó pero su tag no corresponde a las líneas actuales, o el rango cae fuera del fichero: nada se toca. */\n\t| { ok: false; motivo: string };\n\n/**\n * Aplica un hunk ya parseado sobre `contenidoActual`. Rechaza sin tocar nada\n * si el tag no coincide con lo que hay AHORA en ese rango — esa es toda la\n * garantía del formato: un hunk calculado sobre una versión vieja del\n * fichero nunca se aplica en silencio sobre líneas que ya cambiaron.\n */\nexport function aplicarHunk(contenidoActual: string, hunk: HunkHashline): ResultadoAplicar {\n\tconst lineas = contenidoActual.split(\"\\n\");\n\tif (hunk.hasta > lineas.length) {\n\t\treturn {\n\t\t\tok: false,\n\t\t\tmotivo: `el rango ${hunk.desde}-${hunk.hasta} cae fuera del fichero (tiene ${lineas.length} líneas)`,\n\t\t};\n\t}\n\n\tconst tagActual = etiquetaDeRango(lineas, hunk.desde, hunk.hasta);\n\tif (tagActual !== hunk.tag) {\n\t\treturn {\n\t\t\tok: false,\n\t\t\tmotivo:\n\t\t\t\t`tag obsoleto: el hunk trae #${hunk.tag} para las líneas ${hunk.desde}-${hunk.hasta} pero ahora mismo ` +\n\t\t\t\t`esas líneas etiquetan #${tagActual} — el fichero cambió por debajo desde que se calculó este hunk`,\n\t\t};\n\t}\n\n\tconst resultado = [...lineas.slice(0, hunk.desde - 1), ...hunk.cuerpo, ...lineas.slice(hunk.hasta)].join(\"\\n\");\n\treturn { ok: true, contenido: resultado };\n}\n\n/** Atajo: parsea y aplica en un paso, contra el contenido actual del fichero que nombra el hunk. */\nexport function aplicarHashline(contenidoActual: string, textoHunk: string): ResultadoAplicar {\n\tconst parseado = parsearHunk(textoHunk);\n\tif (\"error\" in parseado) return { ok: false, motivo: parseado.error };\n\treturn aplicarHunk(contenidoActual, parseado.hunk);\n}\n"]}
|
|
1
|
+
{"version":3,"file":"hashline.js","sourceRoot":"","sources":["../../../src/core/edicion/hashline.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hueco.d.ts","sourceRoot":"","sources":["../../../src/core/edicion/hueco.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AAEH,OAAO,EAAE,KAAK,gBAAgB,EAAmC,MAAM,cAAc,CAAC;AAiBtF;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAiF9G"
|
|
1
|
+
{"version":3,"file":"hueco.d.ts","sourceRoot":"","sources":["../../../src/core/edicion/hueco.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AAEH,OAAO,EAAE,KAAK,gBAAgB,EAAmC,MAAM,cAAc,CAAC;AAiBtF;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAiF9G"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hueco.js","sourceRoot":"","sources":["../../../src/core/edicion/hueco.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Casar una edición cuando el modelo ELIDE el medio con `...`.\n *\n * EL CASO. El modelo quiere reescribir una función de treinta líneas y cambia\n * dos. Retipear las otras veintiocho es caro y, sobre todo, es donde se\n * equivoca: cada línea retecleada es una oportunidad de meter un espacio de\n * más. Así que hace lo natural y nombra los extremos:\n *\n * function total(items: Item[]) {\n * ...\n * }\n *\n * Hasta ahora eso era un rechazo seguro —«el texto no coincide exactamente»— y\n * costaba un turno entero releyendo el fichero para volver a escribir a ciegas\n * lo que ya estaba bien.\n *\n * POR QUÉ ESTO ES MÁS PELIGROSO QUE LOS DEMÁS CAMINOS, y por qué las anclas se\n * comparan con IGUALDAD EXACTA de línea. Este camino se traga líneas que el\n * modelo NO ha nombrado: todo lo que hay entre las dos anclas desaparece. Un\n * fallo aquí no deja un espacio mal, borra código. Con esa apuesta encima de la\n * mesa, la comparación laxa no se paga: `casarIgnorandoSangria` puede permitirse\n * recortar la sangría porque el bloque que sustituye está enteramente escrito\n * por el modelo; aquí no.\n *\n * Y hay una razón medida, no estética. Sobre el fichero de siete líneas del\n * banco, el ancla de cierre es `}` y aparece DOS veces si se comparan las líneas\n * recortadas: la del `for` interior (` }`) y la de la función (`}`). Con\n * igualdad exacta hay una sola, y es la correcta. La comparación laxa habría\n * convertido este caso en una moneda al aire — o en un rechazo, si se es\n * honesto con la ambigüedad.\n *\n * ALCANCE MEDIDO, para que nadie se lleve una sorpresa. Con la regla de ancla\n * única, sobre las 1173 funciones de nivel superior de `src/core/` y el patrón\n * `cabecera` + `...` + `}`, casan 164 (14%): en la práctica solo la ÚLTIMA\n * función de cada fichero, porque el `}` de la columna cero de cualquier función\n * posterior vuelve ambigua el ancla de cierre. Es el lado seguro de la moneda\n * —rechazar cuesta un turno y tragarse líneas que nadie nombró cuesta código—,\n * pero conviene no confundir «recuperado» con «recuperado siempre»: el resto\n * sigue costando el turno. La carga `hueco-cierre-no-unico` lo mide, para que\n * quien lo cambie tenga que cambiar una cifra y no una intuición.\n *\n * TRES INVARIANTES:\n *\n * 1. **Anclas a los dos lados.** Un `...` al principio deja el hueco sin fondo:\n * el reemplazo se comería el fichero desde su inicio. Cae por el invariante 2\n * y no por una guarda propia — la guarda propia estaba escrita y no se podía\n * poner roja, así que se quitó; el detalle está en el cuerpo.\n * 2. **Cada ancla en un solo sitio.** La primera, única en todo el fichero; las\n * siguientes, únicas en lo que queda por detrás de la anterior. Dos\n * posiciones es una moneda al aire y se rechaza.\n * 3. **El `newText` no puede llevar elisión.** Si el modelo elide también en el\n * reemplazo, escribirlo dejaría un `...` literal dentro del código. Ese es el\n * fallo que se lee como éxito: la edición «entra» y el fichero no compila.\n */\n\nimport { type CasadoPorSangria, reSangrarComoElBloque, unidadDe } from \"./sangria.ts\";\n\n/**\n * Una línea que es SOLO una elisión, con el comentario que los modelos le\n * cuelgan delante (`// ...`, `# ...`, `-- ...`, o abierto y cerrado de bloque) o\n * sin él.\n *\n * Tiene que ser la línea entera. `...props,` es código real y no casa, que es\n * justo lo que se quiere: la elisión es un gesto deliberado del modelo y ocupa\n * su propia línea.\n */\nconst ELISION = /^\\s*(?:\\/\\/|#|--|\\/\\*)?\\s*(?:\\.{3}|…)\\s*(?:\\*\\/)?\\s*$/;\n\nfunction esLineaDeElision(linea: string): boolean {\n\treturn ELISION.test(linea);\n}\n\n/**\n * Casa `oldText` contra `contenido` cuando el patrón elide el medio con `...`.\n *\n * Devuelve `null` cuando no hay elisión, cuando alguna ancla falta, cuando\n * alguna casa en más de un sitio, o cuando el reemplazo también elide. `null`\n * significa «no puedo», nunca «no hay»: quien llama sigue con su propio error.\n */\nexport function casarHuecoElidido(contenido: string, oldText: string, newText: string): CasadoPorSangria | null {\n\tconst patron = oldText.split(\"\\n\");\n\t// Líneas vacías de los extremos: ruido de copiado, igual que en la sangría.\n\twhile (patron.length > 0 && patron[0].trim() === \"\") patron.shift();\n\twhile (patron.length > 0 && patron[patron.length - 1].trim() === \"\") patron.pop();\n\tif (!patron.some(esLineaDeElision)) return null;\n\n\t// Invariante 3: si el reemplazo elide, no hay nada que escribir sin inventar.\n\tif (newText.split(\"\\n\").some(esLineaDeElision)) return null;\n\n\t// El patrón partido por sus elisiones. Un trozo vacío significa una elisión\n\t// pegada a un extremo o a otra elisión — el hueco sin fondo del invariante 1.\n\t//\n\t// Aquí había una guarda explícita contra los trozos vacíos y la QUITÉ, porque\n\t// no se podía poner roja: la rompí a propósito y la puerta siguió en verde.\n\t// La razón es que el invariante 2 ya la cubre, y se demuestra: un ancla vacía\n\t// casa en TODAS las posiciones desde `desde`, o sea `lineas.length - desde + 1`\n\t// de ellas. Para una elisión delantera `desde` es 0 y eso son al menos dos\n\t// posiciones en cualquier fichero, luego «una sola posición» la rechaza\n\t// siempre. Una guarda que no se puede poner roja es una invariante declarada y\n\t// no comprobada, que es peor que no declararla.\n\tconst anclas: string[][] = [[]];\n\tfor (const linea of patron) {\n\t\tif (esLineaDeElision(linea)) anclas.push([]);\n\t\telse anclas[anclas.length - 1].push(linea);\n\t}\n\n\tconst lineas = contenido.split(\"\\n\");\n\n\t// Invariante 2: cada ancla en un solo sitio, y por detrás de la anterior.\n\tlet desde = 0;\n\tlet primeraLinea = -1;\n\tlet ultimaLinea = -1;\n\tfor (const ancla of anclas) {\n\t\tconst posiciones: number[] = [];\n\t\tfor (let i = desde; i + ancla.length <= lineas.length; i++) {\n\t\t\tlet casa = true;\n\t\t\tfor (let j = 0; j < ancla.length; j++) {\n\t\t\t\tif (lineas[i + j] !== ancla[j]) {\n\t\t\t\t\tcasa = false;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (casa) posiciones.push(i);\n\t\t}\n\t\tif (posiciones.length !== 1) return null;\n\t\tif (primeraLinea === -1) primeraLinea = posiciones[0];\n\t\tultimaLinea = posiciones[0] + ancla.length - 1;\n\t\tdesde = ultimaLinea + 1;\n\t}\n\n\t// Desplazamientos en el contenido original: hay que contar los saltos.\n\tlet indice = 0;\n\tfor (let i = 0; i < primeraLinea; i++) indice += lineas[i].length + 1;\n\tlet longitud = 0;\n\tfor (let i = primeraLinea; i <= ultimaLinea; i++) longitud += lineas[i].length + 1;\n\tlongitud -= 1;\n\n\t// El CARÁCTER de sangría sale del fichero, igual que en `casarIgnorandoSangria`.\n\t//\n\t// Aquí se escribía el `newText` tal cual, y eso rompía en este camino el\n\t// invariante 2 del módulo de al lado. Medido con la carga `hueco-elidido`: el\n\t// fichero se sangra con cuatro espacios, el modelo elide y manda\n\t// `\\treturn 0;`, y entraba un TABULADOR en un fichero de espacios. Es una de\n\t// las dos formas exactas en las que corrompe oh-my-pi —«aplica y deja la\n\t// sangría mal»—, y el banco la daba por correcta. En TypeScript es cosmético;\n\t// en Python es un error de sintaxis, o peor, una línea que se sale del bloque\n\t// `if` sin romper nada.\n\t//\n\t// Se re-sangra SOLO si el carácter no coincide, y por qué: cuando el modelo ya\n\t// usa el del fichero, reescribir la sangría de todas sus líneas tocaría bytes\n\t// que nadie ha pedido tocar — el interior de una plantilla multilínea es\n\t// contenido, no estructura. Con el carácter equivocado no hay elección: esas\n\t// líneas ya están mal.\n\tconst bloque = lineas.slice(primeraLinea, ultimaLinea + 1);\n\tconst nuevas = newText.split(\"\\n\");\n\tconst textoNuevo =\n\t\tunidadDe(bloque).caracter === unidadDe(nuevas).caracter\n\t\t\t? newText\n\t\t\t: reSangrarComoElBloque(nuevas, bloque).join(\"\\n\");\n\treturn { indice, longitud, textoNuevo };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"hueco.js","sourceRoot":"","sources":["../../../src/core/edicion/hueco.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Editar notebooks de Jupyter (.ipynb) sin destruirlos.
|
|
3
|
+
*
|
|
4
|
+
* EL PROBLEMA. Un .ipynb es un JSON con el código metido en cadenas dentro de
|
|
5
|
+
* arrays de líneas. El modelo lo trata como texto plano: una edición que toque
|
|
6
|
+
* una comilla escapa el JSON entero y el notebook deja de abrirse. Y aunque
|
|
7
|
+
* acierte, reescribirlo a mano cambia la indentación y el orden de claves, y
|
|
8
|
+
* el diff del usuario se llena de ruido en un fichero que él solo ha abierto
|
|
9
|
+
* para ejecutar celdas.
|
|
10
|
+
*
|
|
11
|
+
* LO QUE COPIAMOS DE oh-my-pi (edit/notebook.ts) Y LO QUE NO: la idea de
|
|
12
|
+
* editar por celdas sobre el JSON parseado es suya y es correcta. Aquí además:
|
|
13
|
+
*
|
|
14
|
+
* 1. **Re-serialización estable.** Mismo orden de claves (el que traía el
|
|
15
|
+
* fichero: JSON.parse las conserva y JSON.stringify no reordena),
|
|
16
|
+
* indentación 1 — la que usa Jupyter. El diff solo muestra la celda tocada.
|
|
17
|
+
* 2. **Validación al salir.** El resultado se vuelve a parsear antes de
|
|
18
|
+
* escribirlo: un editor de notebooks que escribe JSON roto es peor que no
|
|
19
|
+
* existir. Es el mismo contrato de `parseo.ts`, aplicado al contenedor.
|
|
20
|
+
* 3. **Sin dependencias nuevas.** `JSON.parse`/`stringify` nativos.
|
|
21
|
+
*
|
|
22
|
+
* WIRING PENDIENTE (patrón C01/D07): `src/core/tools/edit.ts` tiene hunks
|
|
23
|
+
* upstream vivos, así que el enganche no se hace aquí. Cuando toque, el
|
|
24
|
+
* despacho es una línea antes de leer el fichero: si `ruta.endsWith(".ipynb")`,
|
|
25
|
+
* llamar `aplicarEdicionNotebook(ruta, edits)` en vez del camino de texto
|
|
26
|
+
* plano. La API ya está expuesta por `core/ada.ts`.
|
|
27
|
+
*/
|
|
28
|
+
/** Una edición sobre una celda: `viejo` → `nuevo`. Sin `viejo`, reemplaza el source entero. */
|
|
29
|
+
export interface EdicionCelda {
|
|
30
|
+
/** Índice de la celda en `nb.cells` (0 = primera). */
|
|
31
|
+
celda: number;
|
|
32
|
+
/** Texto a sustituir dentro del source de la celda. Si falta, se reemplaza todo. */
|
|
33
|
+
viejo?: string;
|
|
34
|
+
nuevo: string;
|
|
35
|
+
}
|
|
36
|
+
export interface ResultadoNotebook {
|
|
37
|
+
/** El notebook re-serializado, listo para escribir. Ya validado contra re-parseo. */
|
|
38
|
+
contenido: string;
|
|
39
|
+
/** Cuántas celdas tiene el notebook. */
|
|
40
|
+
celdas: number;
|
|
41
|
+
}
|
|
42
|
+
/** Versión pura: aplica las ediciones sobre el contenido de un notebook y valida el resultado. */
|
|
43
|
+
export declare function aplicarEdicionesAContenido(contenido: string, edits: readonly EdicionCelda[]): ResultadoNotebook;
|
|
44
|
+
/**
|
|
45
|
+
* Lee `ruta`, aplica las ediciones por celda, valida y reescribe. Lanza con un
|
|
46
|
+
* mensaje accionable ante notebook inválido, celda fuera de rango o `viejo`
|
|
47
|
+
* ausente — y en ningún caso deja el fichero a medias: solo escribe tras
|
|
48
|
+
* validar el resultado completo.
|
|
49
|
+
*/
|
|
50
|
+
export declare function aplicarEdicionNotebook(ruta: string, edits: readonly EdicionCelda[]): Promise<ResultadoNotebook>;
|
|
51
|
+
//# sourceMappingURL=ipynb.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ipynb.d.ts","sourceRoot":"","sources":["../../../src/core/edicion/ipynb.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAIH,+FAA+F;AAC/F,MAAM,WAAW,YAAY;IAC5B,sDAAsD;IACtD,KAAK,EAAE,MAAM,CAAC;IACd,oFAAoF;IACpF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IACjC,qFAAqF;IACrF,SAAS,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC;CACf;AA0BD,kGAAkG;AAClG,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,YAAY,EAAE,GAAG,iBAAiB,CAsD/G;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,YAAY,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAKrH"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Editar notebooks de Jupyter (.ipynb) sin destruirlos.
|
|
3
|
+
*
|
|
4
|
+
* EL PROBLEMA. Un .ipynb es un JSON con el código metido en cadenas dentro de
|
|
5
|
+
* arrays de líneas. El modelo lo trata como texto plano: una edición que toque
|
|
6
|
+
* una comilla escapa el JSON entero y el notebook deja de abrirse. Y aunque
|
|
7
|
+
* acierte, reescribirlo a mano cambia la indentación y el orden de claves, y
|
|
8
|
+
* el diff del usuario se llena de ruido en un fichero que él solo ha abierto
|
|
9
|
+
* para ejecutar celdas.
|
|
10
|
+
*
|
|
11
|
+
* LO QUE COPIAMOS DE oh-my-pi (edit/notebook.ts) Y LO QUE NO: la idea de
|
|
12
|
+
* editar por celdas sobre el JSON parseado es suya y es correcta. Aquí además:
|
|
13
|
+
*
|
|
14
|
+
* 1. **Re-serialización estable.** Mismo orden de claves (el que traía el
|
|
15
|
+
* fichero: JSON.parse las conserva y JSON.stringify no reordena),
|
|
16
|
+
* indentación 1 — la que usa Jupyter. El diff solo muestra la celda tocada.
|
|
17
|
+
* 2. **Validación al salir.** El resultado se vuelve a parsear antes de
|
|
18
|
+
* escribirlo: un editor de notebooks que escribe JSON roto es peor que no
|
|
19
|
+
* existir. Es el mismo contrato de `parseo.ts`, aplicado al contenedor.
|
|
20
|
+
* 3. **Sin dependencias nuevas.** `JSON.parse`/`stringify` nativos.
|
|
21
|
+
*
|
|
22
|
+
* WIRING PENDIENTE (patrón C01/D07): `src/core/tools/edit.ts` tiene hunks
|
|
23
|
+
* upstream vivos, así que el enganche no se hace aquí. Cuando toque, el
|
|
24
|
+
* despacho es una línea antes de leer el fichero: si `ruta.endsWith(".ipynb")`,
|
|
25
|
+
* llamar `aplicarEdicionNotebook(ruta, edits)` en vez del camino de texto
|
|
26
|
+
* plano. La API ya está expuesta por `core/ada.ts`.
|
|
27
|
+
*/
|
|
28
|
+
import { readFile, writeFile } from "node:fs/promises";
|
|
29
|
+
/** El source de una celda, unido a texto editable. Devuelve `null` si no es ni string ni array de strings. */
|
|
30
|
+
function sourceATexto(source) {
|
|
31
|
+
if (typeof source === "string")
|
|
32
|
+
return source;
|
|
33
|
+
if (Array.isArray(source)) {
|
|
34
|
+
for (const linea of source) {
|
|
35
|
+
if (typeof linea !== "string")
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
return source.join("");
|
|
39
|
+
}
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
/** Texto → array de líneas con `\n` preservado (convención de Jupyter: todas menos la última). */
|
|
43
|
+
function textoASource(texto) {
|
|
44
|
+
if (texto === "")
|
|
45
|
+
return [];
|
|
46
|
+
const partes = texto.split("\n");
|
|
47
|
+
const lineas = partes.slice(0, -1).map((l) => `${l}\n`);
|
|
48
|
+
if (partes[partes.length - 1] !== "")
|
|
49
|
+
lineas.push(partes[partes.length - 1]);
|
|
50
|
+
return lineas;
|
|
51
|
+
}
|
|
52
|
+
/** Versión pura: aplica las ediciones sobre el contenido de un notebook y valida el resultado. */
|
|
53
|
+
export function aplicarEdicionesAContenido(contenido, edits) {
|
|
54
|
+
let nb;
|
|
55
|
+
try {
|
|
56
|
+
const parseado = JSON.parse(contenido);
|
|
57
|
+
if (typeof parseado !== "object" || parseado === null || !Array.isArray(parseado.cells)) {
|
|
58
|
+
throw new Error("no tiene la forma de un notebook (falta «cells»)");
|
|
59
|
+
}
|
|
60
|
+
nb = parseado;
|
|
61
|
+
}
|
|
62
|
+
catch (e) {
|
|
63
|
+
const motivo = e instanceof SyntaxError ? e.message : e instanceof Error ? e.message : String(e);
|
|
64
|
+
throw new Error(`El fichero no es un notebook válido: ${motivo}`);
|
|
65
|
+
}
|
|
66
|
+
for (const edit of edits) {
|
|
67
|
+
const celda = nb.cells[edit.celda];
|
|
68
|
+
if (!celda) {
|
|
69
|
+
throw new Error(`La celda ${edit.celda} no existe: el notebook tiene ${nb.cells.length} celdas (índices 0–${nb.cells.length - 1}).`);
|
|
70
|
+
}
|
|
71
|
+
const actual = sourceATexto(celda.source);
|
|
72
|
+
if (actual === null) {
|
|
73
|
+
throw new Error(`La celda ${edit.celda} tiene un «source» que no es texto ni lista de líneas; no se toca.`);
|
|
74
|
+
}
|
|
75
|
+
const reemplazo = edit.viejo === undefined
|
|
76
|
+
? edit.nuevo
|
|
77
|
+
: actual.includes(edit.viejo)
|
|
78
|
+
? actual.replace(edit.viejo, () => edit.nuevo)
|
|
79
|
+
: (() => {
|
|
80
|
+
throw new Error(`El texto a sustituir no está en la celda ${edit.celda}. Empieza por: ${JSON.stringify(actual.slice(0, 60))}${actual.length > 60 ? "…" : ""}`);
|
|
81
|
+
})();
|
|
82
|
+
celda.source =
|
|
83
|
+
typeof celda.source === "string"
|
|
84
|
+
? reemplazo // la celda era una cadena plana: se queda siendo cadena plana
|
|
85
|
+
: textoASource(reemplazo);
|
|
86
|
+
}
|
|
87
|
+
const serializado = JSON.stringify(nb, null, 1);
|
|
88
|
+
// Validación al salir: si esto falla hay un bug nuestro, no del modelo.
|
|
89
|
+
const reverificado = JSON.parse(serializado);
|
|
90
|
+
if (typeof reverificado !== "object" ||
|
|
91
|
+
reverificado === null ||
|
|
92
|
+
!Array.isArray(reverificado.cells) ||
|
|
93
|
+
reverificado.cells.length !== nb.cells.length) {
|
|
94
|
+
throw new Error("Error interno: el notebook re-serializado no re-parsea igual; no se escribe nada.");
|
|
95
|
+
}
|
|
96
|
+
return { contenido: serializado, celdas: nb.cells.length };
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Lee `ruta`, aplica las ediciones por celda, valida y reescribe. Lanza con un
|
|
100
|
+
* mensaje accionable ante notebook inválido, celda fuera de rango o `viejo`
|
|
101
|
+
* ausente — y en ningún caso deja el fichero a medias: solo escribe tras
|
|
102
|
+
* validar el resultado completo.
|
|
103
|
+
*/
|
|
104
|
+
export async function aplicarEdicionNotebook(ruta, edits) {
|
|
105
|
+
const contenido = await readFile(ruta, "utf-8");
|
|
106
|
+
const resultado = aplicarEdicionesAContenido(contenido, edits);
|
|
107
|
+
await writeFile(ruta, resultado.contenido, "utf-8");
|
|
108
|
+
return resultado;
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=ipynb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ipynb.js","sourceRoot":"","sources":["../../../src/core/edicion/ipynb.ts"],"names":[],"mappings":"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"}
|