@hoilab/ada-cli 0.85.0 → 0.85.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ada-publico.d.ts.map +1 -1
- package/dist/ada-publico.js.map +1 -1
- package/dist/bun/cli.d.ts.map +1 -1
- package/dist/bun/cli.js.map +1 -1
- package/dist/bun/register-bedrock.d.ts.map +1 -1
- package/dist/bun/register-bedrock.js.map +1 -1
- package/dist/bun/restore-sandbox-env.d.ts.map +1 -1
- package/dist/bun/restore-sandbox-env.js.map +1 -1
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/audit-command.d.ts.map +1 -1
- package/dist/cli/audit-command.js.map +1 -1
- package/dist/cli/auth-check.d.ts.map +1 -1
- package/dist/cli/auth-check.js.map +1 -1
- package/dist/cli/auth-command.d.ts.map +1 -1
- package/dist/cli/auth-command.js.map +1 -1
- package/dist/cli/banco-command.d.ts.map +1 -1
- package/dist/cli/banco-command.js.map +1 -1
- package/dist/cli/cleanse-command.d.ts.map +1 -1
- package/dist/cli/cleanse-command.js +5 -2
- package/dist/cli/cleanse-command.js.map +1 -1
- package/dist/cli/commit-command.d.ts +8 -6
- package/dist/cli/commit-command.d.ts.map +1 -1
- package/dist/cli/commit-command.js +124 -92
- package/dist/cli/commit-command.js.map +1 -1
- package/dist/cli/completion.d.ts +20 -0
- package/dist/cli/completion.d.ts.map +1 -0
- package/dist/cli/completion.js +75 -0
- package/dist/cli/completion.js.map +1 -0
- package/dist/cli/computer-command.d.ts.map +1 -1
- package/dist/cli/computer-command.js.map +1 -1
- package/dist/cli/config-selector.d.ts.map +1 -1
- package/dist/cli/config-selector.js.map +1 -1
- package/dist/cli/credential-print.d.ts.map +1 -1
- package/dist/cli/credential-print.js.map +1 -1
- package/dist/cli/discover-command.d.ts.map +1 -1
- package/dist/cli/discover-command.js +5 -1
- package/dist/cli/discover-command.js.map +1 -1
- package/dist/cli/experimental/auth.d.ts.map +1 -1
- package/dist/cli/experimental/auth.js.map +1 -1
- package/dist/cli/experimental/cli.d.ts +1 -1
- package/dist/cli/experimental/cli.d.ts.map +1 -1
- package/dist/cli/experimental/cli.js.map +1 -1
- package/dist/cli/experimental/command-options.d.ts.map +1 -1
- package/dist/cli/experimental/command-options.js.map +1 -1
- package/dist/cli/experimental/command.d.ts.map +1 -1
- package/dist/cli/experimental/command.js.map +1 -1
- package/dist/cli/experimental/commands/client.d.ts.map +1 -1
- package/dist/cli/experimental/commands/client.js.map +1 -1
- package/dist/cli/experimental/commands/pi.d.ts.map +1 -1
- package/dist/cli/experimental/commands/pi.js.map +1 -1
- package/dist/cli/experimental/commands/server.d.ts.map +1 -1
- package/dist/cli/experimental/commands/server.js.map +1 -1
- package/dist/cli/experimental/transport-address.d.ts.map +1 -1
- package/dist/cli/experimental/transport-address.js.map +1 -1
- package/dist/cli/file-processor.d.ts.map +1 -1
- package/dist/cli/file-processor.js.map +1 -1
- package/dist/cli/guardrails.d.ts +14 -0
- package/dist/cli/guardrails.d.ts.map +1 -0
- package/dist/cli/guardrails.js +47 -0
- package/dist/cli/guardrails.js.map +1 -0
- package/dist/cli/hashline-command.d.ts.map +1 -1
- package/dist/cli/hashline-command.js.map +1 -1
- package/dist/cli/home-screen.d.ts.map +1 -1
- package/dist/cli/home-screen.js +1 -0
- package/dist/cli/home-screen.js.map +1 -1
- package/dist/cli/import-command.d.ts.map +1 -1
- package/dist/cli/import-command.js.map +1 -1
- package/dist/cli/initial-message.d.ts +1 -1
- package/dist/cli/initial-message.d.ts.map +1 -1
- package/dist/cli/initial-message.js.map +1 -1
- package/dist/cli/list-models.d.ts.map +1 -1
- package/dist/cli/list-models.js.map +1 -1
- package/dist/cli/politica-command.d.ts.map +1 -1
- package/dist/cli/politica-command.js.map +1 -1
- package/dist/cli/project-trust.d.ts.map +1 -1
- package/dist/cli/project-trust.js.map +1 -1
- package/dist/cli/refine-command.d.ts.map +1 -1
- package/dist/cli/refine-command.js.map +1 -1
- package/dist/cli/review-command.d.ts.map +1 -1
- package/dist/cli/review-command.js +77 -13
- package/dist/cli/review-command.js.map +1 -1
- package/dist/cli/schedule-command.d.ts.map +1 -1
- package/dist/cli/schedule-command.js.map +1 -1
- package/dist/cli/serve-command.d.ts +0 -1
- package/dist/cli/serve-command.d.ts.map +1 -1
- package/dist/cli/serve-command.js +12 -6
- package/dist/cli/serve-command.js.map +1 -1
- package/dist/cli/session-picker.d.ts.map +1 -1
- package/dist/cli/session-picker.js.map +1 -1
- package/dist/cli/startup-ui.d.ts.map +1 -1
- package/dist/cli/startup-ui.js.map +1 -1
- package/dist/cli/telegram-command.d.ts.map +1 -1
- package/dist/cli/telegram-command.js.map +1 -1
- package/dist/cli/telemetria-command.d.ts.map +1 -1
- package/dist/cli/telemetria-command.js.map +1 -1
- package/dist/cli/undo-command.d.ts.map +1 -1
- package/dist/cli/undo-command.js.map +1 -1
- package/dist/cli/update-cli.d.ts +82 -0
- package/dist/cli/update-cli.d.ts.map +1 -0
- package/dist/cli/update-cli.js +372 -0
- package/dist/cli/update-cli.js.map +1 -0
- package/dist/cli/usage-command.d.ts.map +1 -1
- package/dist/cli/usage-command.js +75 -6
- package/dist/cli/usage-command.js.map +1 -1
- package/dist/cli/wiki-command.d.ts.map +1 -1
- package/dist/cli/wiki-command.js.map +1 -1
- package/dist/cli.d.ts +0 -6
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +0 -0
- package/dist/cli.js.map +1 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js.map +1 -1
- package/dist/client/remote-session.d.ts.map +1 -1
- package/dist/client/remote-session.js.map +1 -1
- package/dist/client/transcript.d.ts.map +1 -1
- package/dist/client/transcript.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/core/ada.d.ts +5 -0
- package/dist/core/ada.d.ts.map +1 -1
- package/dist/core/ada.js +5 -0
- package/dist/core/ada.js.map +1 -1
- package/dist/core/advisor/guarda.d.ts.map +1 -1
- package/dist/core/advisor/guarda.js.map +1 -1
- package/dist/core/advisor/runtime.d.ts.map +1 -1
- package/dist/core/advisor/runtime.js.map +1 -1
- package/dist/core/advisor/sesion.d.ts.map +1 -1
- package/dist/core/advisor/sesion.js.map +1 -1
- package/dist/core/agent-session-runtime.d.ts.map +1 -1
- package/dist/core/agent-session-runtime.js.map +1 -1
- package/dist/core/agent-session-services.d.ts.map +1 -1
- package/dist/core/agent-session-services.js +33 -0
- package/dist/core/agent-session-services.js.map +1 -1
- package/dist/core/agent-session.d.ts +67 -0
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +43 -2
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/agents/loader.d.ts.map +1 -1
- package/dist/core/agents/loader.js.map +1 -1
- package/dist/core/appendonly/append-only-context.d.ts +118 -0
- package/dist/core/appendonly/append-only-context.d.ts.map +1 -0
- package/dist/core/appendonly/append-only-context.js +256 -0
- package/dist/core/appendonly/append-only-context.js.map +1 -0
- package/dist/core/appendonly/auto.d.ts +30 -0
- package/dist/core/appendonly/auto.d.ts.map +1 -0
- package/dist/core/appendonly/auto.js +68 -0
- package/dist/core/appendonly/auto.js.map +1 -0
- package/dist/core/appendonly/extension.d.ts +29 -0
- package/dist/core/appendonly/extension.d.ts.map +1 -0
- package/dist/core/appendonly/extension.js +51 -0
- package/dist/core/appendonly/extension.js.map +1 -0
- package/dist/core/appendonly/index.d.ts +41 -0
- package/dist/core/appendonly/index.d.ts.map +1 -0
- package/dist/core/appendonly/index.js +42 -0
- package/dist/core/appendonly/index.js.map +1 -0
- package/dist/core/aprobacion/generados.d.ts.map +1 -1
- package/dist/core/aprobacion/generados.js.map +1 -1
- package/dist/core/aprobacion/politica-de-maquina.d.ts.map +1 -1
- package/dist/core/aprobacion/politica-de-maquina.js.map +1 -1
- package/dist/core/aprobacion/politica.d.ts +1 -1
- package/dist/core/aprobacion/politica.d.ts.map +1 -1
- package/dist/core/aprobacion/politica.js.map +1 -1
- package/dist/core/arranque/atajos.d.ts.map +1 -1
- package/dist/core/arranque/atajos.js +20 -0
- package/dist/core/arranque/atajos.js.map +1 -1
- package/dist/core/audit/exportacion.d.ts.map +1 -1
- package/dist/core/audit/exportacion.js +5 -3
- package/dist/core/audit/exportacion.js.map +1 -1
- package/dist/core/audit/libro.d.ts +7 -0
- package/dist/core/audit/libro.d.ts.map +1 -1
- package/dist/core/audit/libro.js.map +1 -1
- package/dist/core/audit/registro-sesion.d.ts.map +1 -1
- package/dist/core/audit/registro-sesion.js.map +1 -1
- package/dist/core/audit/retencion.d.ts.map +1 -1
- package/dist/core/audit/retencion.js.map +1 -1
- package/dist/core/audit/rutas.d.ts.map +1 -1
- package/dist/core/audit/rutas.js.map +1 -1
- package/dist/core/auth-guidance.d.ts.map +1 -1
- package/dist/core/auth-guidance.js.map +1 -1
- package/dist/core/auth-storage.d.ts.map +1 -1
- package/dist/core/auth-storage.js.map +1 -1
- package/dist/core/banco/almacenamiento.d.ts.map +1 -1
- package/dist/core/banco/almacenamiento.js.map +1 -1
- package/dist/core/banco/analisis.d.ts.map +1 -1
- package/dist/core/banco/analisis.js.map +1 -1
- package/dist/core/banco/asides.d.ts +64 -0
- package/dist/core/banco/asides.d.ts.map +1 -0
- package/dist/core/banco/asides.js +113 -0
- package/dist/core/banco/asides.js.map +1 -0
- package/dist/core/banco/bloques.d.ts.map +1 -1
- package/dist/core/banco/bloques.js.map +1 -1
- package/dist/core/banco/cargas.d.ts.map +1 -1
- package/dist/core/banco/cargas.js.map +1 -1
- package/dist/core/banco/comparar.d.ts.map +1 -1
- package/dist/core/banco/comparar.js.map +1 -1
- package/dist/core/banco/cow-isolation.d.ts +74 -0
- package/dist/core/banco/cow-isolation.d.ts.map +1 -0
- package/dist/core/banco/cow-isolation.js +259 -0
- package/dist/core/banco/cow-isolation.js.map +1 -0
- package/dist/core/banco/ejecutar.d.ts.map +1 -1
- package/dist/core/banco/ejecutar.js.map +1 -1
- package/dist/core/banco/generar.d.ts.map +1 -1
- package/dist/core/banco/generar.js.map +1 -1
- package/dist/core/banco/mutaciones.d.ts.map +1 -1
- package/dist/core/banco/mutaciones.js.map +1 -1
- package/dist/core/banco/park-revive.d.ts +67 -0
- package/dist/core/banco/park-revive.d.ts.map +1 -0
- package/dist/core/banco/park-revive.js +130 -0
- package/dist/core/banco/park-revive.js.map +1 -0
- package/dist/core/banco/pruning.d.ts +48 -0
- package/dist/core/banco/pruning.d.ts.map +1 -0
- package/dist/core/banco/pruning.js +146 -0
- package/dist/core/banco/pruning.js.map +1 -0
- package/dist/core/banco/steering.d.ts +81 -0
- package/dist/core/banco/steering.d.ts.map +1 -0
- package/dist/core/banco/steering.js +96 -0
- package/dist/core/banco/steering.js.map +1 -0
- package/dist/core/banco/tipos.d.ts.map +1 -1
- package/dist/core/banco/tipos.js.map +1 -1
- package/dist/core/bash-executor.d.ts.map +1 -1
- package/dist/core/bash-executor.js.map +1 -1
- package/dist/core/blobs/almacen.d.ts.map +1 -1
- package/dist/core/blobs/almacen.js.map +1 -1
- package/dist/core/blobs/broker.d.ts +1 -0
- package/dist/core/blobs/broker.d.ts.map +1 -1
- package/dist/core/blobs/broker.js +1 -1
- package/dist/core/blobs/broker.js.map +1 -1
- package/dist/core/blobs/index.d.ts +1 -0
- package/dist/core/blobs/index.d.ts.map +1 -1
- package/dist/core/blobs/index.js +1 -0
- package/dist/core/blobs/index.js.map +1 -1
- package/dist/core/blobs/payload.d.ts.map +1 -1
- package/dist/core/blobs/payload.js.map +1 -1
- package/dist/core/blobs/proveedor.d.ts.map +1 -1
- package/dist/core/blobs/proveedor.js.map +1 -1
- package/dist/core/blobs/uploaders.d.ts +105 -0
- package/dist/core/blobs/uploaders.d.ts.map +1 -0
- package/dist/core/blobs/uploaders.js +224 -0
- package/dist/core/blobs/uploaders.js.map +1 -0
- package/dist/core/broker/broker.d.ts +54 -0
- package/dist/core/broker/broker.d.ts.map +1 -0
- package/dist/core/broker/broker.js +216 -0
- package/dist/core/broker/broker.js.map +1 -0
- package/dist/core/broker/index.d.ts +21 -0
- package/dist/core/broker/index.d.ts.map +1 -0
- package/dist/core/broker/index.js +33 -0
- package/dist/core/broker/index.js.map +1 -0
- package/dist/core/broker/ps.d.ts +20 -0
- package/dist/core/broker/ps.d.ts.map +1 -0
- package/dist/core/broker/ps.js +55 -0
- package/dist/core/broker/ps.js.map +1 -0
- package/dist/core/broker/types.d.ts +45 -0
- package/dist/core/broker/types.d.ts.map +1 -0
- package/dist/core/broker/types.js +19 -0
- package/dist/core/broker/types.js.map +1 -0
- package/dist/core/browser/cdp.d.ts.map +1 -1
- package/dist/core/browser/cdp.js.map +1 -1
- package/dist/core/browser/politica.d.ts.map +1 -1
- package/dist/core/browser/politica.js.map +1 -1
- package/dist/core/browser/sesion.d.ts.map +1 -1
- package/dist/core/browser/sesion.js.map +1 -1
- package/dist/core/browser/tools.d.ts.map +1 -1
- package/dist/core/browser/tools.js.map +1 -1
- package/dist/core/cache-stats.d.ts.map +1 -1
- package/dist/core/cache-stats.js.map +1 -1
- package/dist/core/capability/capability.test.d.ts +12 -0
- package/dist/core/capability/capability.test.d.ts.map +1 -0
- package/dist/core/capability/capability.test.js +258 -0
- package/dist/core/capability/capability.test.js.map +1 -0
- package/dist/core/capability/fs.d.ts +32 -0
- package/dist/core/capability/fs.d.ts.map +1 -0
- package/dist/core/capability/fs.js +106 -0
- package/dist/core/capability/fs.js.map +1 -0
- package/dist/core/capability/index.d.ts +68 -0
- package/dist/core/capability/index.d.ts.map +1 -0
- package/dist/core/capability/index.js +258 -0
- package/dist/core/capability/index.js.map +1 -0
- package/dist/core/capability/types.d.ts +168 -0
- package/dist/core/capability/types.d.ts.map +1 -0
- package/dist/core/capability/types.js +16 -0
- package/dist/core/capability/types.js.map +1 -0
- package/dist/core/carga-plugins/index.d.ts +49 -0
- package/dist/core/carga-plugins/index.d.ts.map +1 -0
- package/dist/core/carga-plugins/index.js +85 -0
- package/dist/core/carga-plugins/index.js.map +1 -0
- package/dist/core/carga-plugins/invalidacion.d.ts +60 -0
- package/dist/core/carga-plugins/invalidacion.d.ts.map +1 -0
- package/dist/core/carga-plugins/invalidacion.js +94 -0
- package/dist/core/carga-plugins/invalidacion.js.map +1 -0
- package/dist/core/carga-plugins/paralelo.d.ts +48 -0
- package/dist/core/carga-plugins/paralelo.d.ts.map +1 -0
- package/dist/core/carga-plugins/paralelo.js +47 -0
- package/dist/core/carga-plugins/paralelo.js.map +1 -0
- package/dist/core/colaboracion/autoresearch.d.ts +56 -0
- package/dist/core/colaboracion/autoresearch.d.ts.map +1 -0
- package/dist/core/colaboracion/autoresearch.js +95 -0
- package/dist/core/colaboracion/autoresearch.js.map +1 -0
- package/dist/core/colaboracion/index.d.ts +10 -0
- package/dist/core/colaboracion/index.d.ts.map +1 -0
- package/dist/core/colaboracion/index.js +7 -0
- package/dist/core/colaboracion/index.js.map +1 -0
- package/dist/core/colaboracion/kernels.d.ts +63 -0
- package/dist/core/colaboracion/kernels.d.ts.map +1 -0
- package/dist/core/colaboracion/kernels.js +99 -0
- package/dist/core/colaboracion/kernels.js.map +1 -0
- package/dist/core/colaboracion/rele/index.d.ts +8 -0
- package/dist/core/colaboracion/rele/index.d.ts.map +1 -0
- package/dist/core/colaboracion/rele/index.js +6 -0
- package/dist/core/colaboracion/rele/index.js.map +1 -0
- package/dist/core/colaboracion/rele/rele-servidor.d.ts +69 -0
- package/dist/core/colaboracion/rele/rele-servidor.d.ts.map +1 -0
- package/dist/core/colaboracion/rele/rele-servidor.js +197 -0
- package/dist/core/colaboracion/rele/rele-servidor.js.map +1 -0
- package/dist/core/colaboracion/rele/suscriptor.d.ts +31 -0
- package/dist/core/colaboracion/rele/suscriptor.d.ts.map +1 -0
- package/dist/core/colaboracion/rele/suscriptor.js +173 -0
- package/dist/core/colaboracion/rele/suscriptor.js.map +1 -0
- package/dist/core/colaboracion/sesion-colaborativa.d.ts +61 -0
- package/dist/core/colaboracion/sesion-colaborativa.d.ts.map +1 -0
- package/dist/core/colaboracion/sesion-colaborativa.js +127 -0
- package/dist/core/colaboracion/sesion-colaborativa.js.map +1 -0
- package/dist/core/commits/agentic.d.ts +101 -0
- package/dist/core/commits/agentic.d.ts.map +1 -0
- package/dist/core/commits/agentic.js +268 -0
- package/dist/core/commits/agentic.js.map +1 -0
- package/dist/core/commits/changelog.d.ts +37 -0
- package/dist/core/commits/changelog.d.ts.map +1 -0
- package/dist/core/commits/changelog.js +155 -0
- package/dist/core/commits/changelog.js.map +1 -0
- package/dist/core/commits/diff.d.ts.map +1 -0
- package/dist/core/commits/diff.js.map +1 -0
- package/dist/core/commits/git.d.ts +43 -0
- package/dist/core/commits/git.d.ts.map +1 -0
- package/dist/core/commits/git.js +61 -0
- package/dist/core/commits/git.js.map +1 -0
- package/dist/core/commits/split.d.ts +45 -0
- package/dist/core/commits/split.d.ts.map +1 -0
- package/dist/core/commits/split.js +128 -0
- package/dist/core/commits/split.js.map +1 -0
- package/dist/core/compactacion/comandos.d.ts +53 -0
- package/dist/core/compactacion/comandos.d.ts.map +1 -0
- package/dist/core/compactacion/comandos.js +155 -0
- package/dist/core/compactacion/comandos.js.map +1 -0
- package/dist/core/compactacion/extension.d.ts +28 -0
- package/dist/core/compactacion/extension.d.ts.map +1 -0
- package/dist/core/compactacion/extension.js +159 -0
- package/dist/core/compactacion/extension.js.map +1 -0
- package/dist/core/compactacion/handoff.d.ts +61 -0
- package/dist/core/compactacion/handoff.d.ts.map +1 -0
- package/dist/core/compactacion/handoff.js +139 -0
- package/dist/core/compactacion/handoff.js.map +1 -0
- package/dist/core/compactacion/index.d.ts +15 -0
- package/dist/core/compactacion/index.d.ts.map +1 -0
- package/dist/core/compactacion/index.js +15 -0
- package/dist/core/compactacion/index.js.map +1 -0
- package/dist/core/compactacion/prune.d.ts +38 -0
- package/dist/core/compactacion/prune.d.ts.map +1 -0
- package/dist/core/compactacion/prune.js +81 -0
- package/dist/core/compactacion/prune.js.map +1 -0
- package/dist/core/compactacion/shake.d.ts +40 -0
- package/dist/core/compactacion/shake.d.ts.map +1 -0
- package/dist/core/compactacion/shake.js +106 -0
- package/dist/core/compactacion/shake.js.map +1 -0
- package/dist/core/compactacion/tipos.d.ts +54 -0
- package/dist/core/compactacion/tipos.d.ts.map +1 -0
- package/dist/core/compactacion/tipos.js +44 -0
- package/dist/core/compactacion/tipos.js.map +1 -0
- package/dist/core/compactar/index.d.ts.map +1 -1
- package/dist/core/compactar/index.js.map +1 -1
- package/dist/core/compactar/registro-denso.d.ts.map +1 -1
- package/dist/core/compactar/registro-denso.js.map +1 -1
- package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
- package/dist/core/compaction/branch-summarization.js.map +1 -1
- package/dist/core/compaction/compaction.d.ts.map +1 -1
- package/dist/core/compaction/compaction.js.map +1 -1
- package/dist/core/compaction/index.d.ts.map +1 -1
- package/dist/core/compaction/index.js.map +1 -1
- package/dist/core/compaction/utils.d.ts.map +1 -1
- package/dist/core/compaction/utils.js.map +1 -1
- package/dist/core/computer/captura.d.ts.map +1 -1
- package/dist/core/computer/captura.js.map +1 -1
- package/dist/core/computer/driver.d.ts.map +1 -1
- package/dist/core/computer/driver.js.map +1 -1
- package/dist/core/computer/motor/actions.d.ts.map +1 -1
- package/dist/core/computer/motor/actions.js.map +1 -1
- package/dist/core/computer/motor/bridge.d.ts +2 -2
- package/dist/core/computer/motor/bridge.d.ts.map +1 -1
- package/dist/core/computer/motor/bridge.js.map +1 -1
- package/dist/core/computer/motor/cdp.d.ts.map +1 -1
- package/dist/core/computer/motor/cdp.js.map +1 -1
- package/dist/core/computer/motor/config.d.ts.map +1 -1
- package/dist/core/computer/motor/config.js.map +1 -1
- package/dist/core/computer/motor/contract.d.ts.map +1 -1
- package/dist/core/computer/motor/contract.js.map +1 -1
- package/dist/core/computer/motor/note.d.ts.map +1 -1
- package/dist/core/computer/motor/note.js.map +1 -1
- package/dist/core/computer/motor/outline.d.ts.map +1 -1
- package/dist/core/computer/motor/outline.js.map +1 -1
- package/dist/core/computer/motor/output.d.ts.map +1 -1
- package/dist/core/computer/motor/output.js.map +1 -1
- package/dist/core/computer/motor/permissions.d.ts.map +1 -1
- package/dist/core/computer/motor/permissions.js.map +1 -1
- package/dist/core/computer/motor/platform/architecture.d.ts.map +1 -1
- package/dist/core/computer/motor/platform/architecture.js.map +1 -1
- package/dist/core/computer/motor/platform/coerce.d.ts.map +1 -1
- package/dist/core/computer/motor/platform/coerce.js.map +1 -1
- package/dist/core/computer/motor/platform/index.d.ts.map +1 -1
- package/dist/core/computer/motor/platform/index.js.map +1 -1
- package/dist/core/computer/motor/platform/linux/backend.d.ts.map +1 -1
- package/dist/core/computer/motor/platform/linux/backend.js.map +1 -1
- package/dist/core/computer/motor/platform/linux/helper.d.ts.map +1 -1
- package/dist/core/computer/motor/platform/linux/helper.js.map +1 -1
- package/dist/core/computer/motor/platform/macos/backend.d.ts.map +1 -1
- package/dist/core/computer/motor/platform/macos/backend.js.map +1 -1
- package/dist/core/computer/motor/platform/macos/browser.d.ts.map +1 -1
- package/dist/core/computer/motor/platform/macos/browser.js.map +1 -1
- package/dist/core/computer/motor/platform/macos/helper.d.ts.map +1 -1
- package/dist/core/computer/motor/platform/macos/helper.js.map +1 -1
- package/dist/core/computer/motor/platform/macos/permissions.d.ts.map +1 -1
- package/dist/core/computer/motor/platform/macos/permissions.js.map +1 -1
- package/dist/core/computer/motor/platform/types.d.ts.map +1 -1
- package/dist/core/computer/motor/platform/types.js.map +1 -1
- package/dist/core/computer/motor/platform/windows/backend.d.ts.map +1 -1
- package/dist/core/computer/motor/platform/windows/backend.js.map +1 -1
- package/dist/core/computer/motor/platform/windows/helper.d.ts.map +1 -1
- package/dist/core/computer/motor/platform/windows/helper.js.map +1 -1
- package/dist/core/computer/motor/root-selection.d.ts.map +1 -1
- package/dist/core/computer/motor/root-selection.js.map +1 -1
- package/dist/core/computer/motor/runtime.d.ts.map +1 -1
- package/dist/core/computer/motor/runtime.js.map +1 -1
- package/dist/core/computer/motor/state.d.ts.map +1 -1
- package/dist/core/computer/motor/state.js.map +1 -1
- package/dist/core/computer/motor/view.d.ts.map +1 -1
- package/dist/core/computer/motor/view.js.map +1 -1
- package/dist/core/computer/motor-ada.d.ts.map +1 -1
- package/dist/core/computer/motor-ada.js.map +1 -1
- package/dist/core/computer/politica.d.ts.map +1 -1
- package/dist/core/computer/politica.js.map +1 -1
- package/dist/core/computer/tools.d.ts.map +1 -1
- package/dist/core/computer/tools.js.map +1 -1
- package/dist/core/config/quarantine.d.ts +57 -0
- package/dist/core/config/quarantine.d.ts.map +1 -0
- package/dist/core/config/quarantine.js +161 -0
- package/dist/core/config/quarantine.js.map +1 -0
- package/dist/core/config-viva/ambito.d.ts +46 -0
- package/dist/core/config-viva/ambito.d.ts.map +1 -0
- package/dist/core/config-viva/ambito.js +62 -0
- package/dist/core/config-viva/ambito.js.map +1 -0
- package/dist/core/config-viva/cache-negativa.d.ts +50 -0
- package/dist/core/config-viva/cache-negativa.d.ts.map +1 -0
- package/dist/core/config-viva/cache-negativa.js +78 -0
- package/dist/core/config-viva/cache-negativa.js.map +1 -0
- package/dist/core/config-viva/headers-vivos.d.ts +41 -0
- package/dist/core/config-viva/headers-vivos.d.ts.map +1 -0
- package/dist/core/config-viva/headers-vivos.js +43 -0
- package/dist/core/config-viva/headers-vivos.js.map +1 -0
- package/dist/core/config-viva/index.d.ts +16 -0
- package/dist/core/config-viva/index.d.ts.map +1 -0
- package/dist/core/config-viva/index.js +16 -0
- package/dist/core/config-viva/index.js.map +1 -0
- package/dist/core/config-viva/proveedor.d.ts +48 -0
- package/dist/core/config-viva/proveedor.d.ts.map +1 -0
- package/dist/core/config-viva/proveedor.js +78 -0
- package/dist/core/config-viva/proveedor.js.map +1 -0
- package/dist/core/context-breakdown.d.ts.map +1 -1
- package/dist/core/context-breakdown.js.map +1 -1
- package/dist/core/credenciales/cliente.d.ts.map +1 -1
- package/dist/core/credenciales/cliente.js.map +1 -1
- package/dist/core/credenciales/pool.d.ts +36 -1
- package/dist/core/credenciales/pool.d.ts.map +1 -1
- package/dist/core/credenciales/pool.js +56 -7
- package/dist/core/credenciales/pool.js.map +1 -1
- package/dist/core/credenciales/ranking.d.ts +56 -0
- package/dist/core/credenciales/ranking.d.ts.map +1 -0
- package/dist/core/credenciales/ranking.js +94 -0
- package/dist/core/credenciales/ranking.js.map +1 -0
- package/dist/core/credenciales/ratelimit.d.ts +54 -0
- package/dist/core/credenciales/ratelimit.d.ts.map +1 -0
- package/dist/core/credenciales/ratelimit.js +116 -0
- package/dist/core/credenciales/ratelimit.js.map +1 -0
- package/dist/core/credenciales/reposo.d.ts.map +1 -1
- package/dist/core/credenciales/reposo.js.map +1 -1
- package/dist/core/credenciales/servidor.d.ts +8 -0
- package/dist/core/credenciales/servidor.d.ts.map +1 -1
- package/dist/core/credenciales/servidor.js +9 -1
- package/dist/core/credenciales/servidor.js.map +1 -1
- package/dist/core/defaults.d.ts.map +1 -1
- package/dist/core/defaults.js.map +1 -1
- package/dist/core/descubrimiento/comandos.d.ts.map +1 -1
- package/dist/core/descubrimiento/comandos.js.map +1 -1
- package/dist/core/descubrimiento/mcp.d.ts +12 -0
- package/dist/core/descubrimiento/mcp.d.ts.map +1 -1
- package/dist/core/descubrimiento/mcp.js +32 -0
- package/dist/core/descubrimiento/mcp.js.map +1 -1
- package/dist/core/descubrimiento/reglas.d.ts.map +1 -1
- package/dist/core/descubrimiento/reglas.js.map +1 -1
- package/dist/core/descubrimiento/runtimes/index.d.ts +24 -0
- package/dist/core/descubrimiento/runtimes/index.d.ts.map +1 -0
- package/dist/core/descubrimiento/runtimes/index.js +109 -0
- package/dist/core/descubrimiento/runtimes/index.js.map +1 -0
- package/dist/core/descubrimiento/runtimes/litellm.d.ts +12 -0
- package/dist/core/descubrimiento/runtimes/litellm.d.ts.map +1 -0
- package/dist/core/descubrimiento/runtimes/litellm.js +185 -0
- package/dist/core/descubrimiento/runtimes/litellm.js.map +1 -0
- package/dist/core/descubrimiento/runtimes/lm-studio.d.ts +13 -0
- package/dist/core/descubrimiento/runtimes/lm-studio.d.ts.map +1 -0
- package/dist/core/descubrimiento/runtimes/lm-studio.js +142 -0
- package/dist/core/descubrimiento/runtimes/lm-studio.js.map +1 -0
- package/dist/core/descubrimiento/runtimes/ollama.d.ts +8 -0
- package/dist/core/descubrimiento/runtimes/ollama.d.ts.map +1 -0
- package/dist/core/descubrimiento/runtimes/ollama.js +96 -0
- package/dist/core/descubrimiento/runtimes/ollama.js.map +1 -0
- package/dist/core/descubrimiento/runtimes/tipos.d.ts +47 -0
- package/dist/core/descubrimiento/runtimes/tipos.d.ts.map +1 -0
- package/dist/core/descubrimiento/runtimes/tipos.js +10 -0
- package/dist/core/descubrimiento/runtimes/tipos.js.map +1 -0
- package/dist/core/descubrimiento/skills.d.ts.map +1 -1
- package/dist/core/descubrimiento/skills.js.map +1 -1
- package/dist/core/diagnostics.d.ts.map +1 -1
- package/dist/core/diagnostics.js.map +1 -1
- package/dist/core/dificultad/clasificador.d.ts.map +1 -1
- package/dist/core/dificultad/clasificador.js.map +1 -1
- package/dist/core/edicion/diario.d.ts.map +1 -1
- package/dist/core/edicion/diario.js.map +1 -1
- package/dist/core/edicion/hashline.d.ts.map +1 -1
- package/dist/core/edicion/hashline.js.map +1 -1
- package/dist/core/edicion/hueco.d.ts.map +1 -1
- package/dist/core/edicion/hueco.js.map +1 -1
- package/dist/core/edicion/ipynb.d.ts +51 -0
- package/dist/core/edicion/ipynb.d.ts.map +1 -0
- package/dist/core/edicion/ipynb.js +110 -0
- package/dist/core/edicion/ipynb.js.map +1 -0
- package/dist/core/edicion/limpiar-carga.d.ts.map +1 -1
- package/dist/core/edicion/limpiar-carga.js.map +1 -1
- package/dist/core/edicion/observador.d.ts.map +1 -1
- package/dist/core/edicion/observador.js.map +1 -1
- package/dist/core/edicion/parecido.d.ts.map +1 -1
- package/dist/core/edicion/parecido.js.map +1 -1
- package/dist/core/edicion/parseo.d.ts.map +1 -1
- package/dist/core/edicion/parseo.js.map +1 -1
- package/dist/core/edicion/portapapeles.d.ts +28 -0
- package/dist/core/edicion/portapapeles.d.ts.map +1 -0
- package/dist/core/edicion/portapapeles.js +49 -0
- package/dist/core/edicion/portapapeles.js.map +1 -0
- package/dist/core/edicion/reparacion.d.ts.map +1 -1
- package/dist/core/edicion/reparacion.js.map +1 -1
- package/dist/core/edicion/rutas-difusas.d.ts +44 -0
- package/dist/core/edicion/rutas-difusas.d.ts.map +1 -0
- package/dist/core/edicion/rutas-difusas.js +93 -0
- package/dist/core/edicion/rutas-difusas.js.map +1 -0
- package/dist/core/edicion/sangria.d.ts.map +1 -1
- package/dist/core/edicion/sangria.js.map +1 -1
- package/dist/core/edicion/tipos.d.ts.map +1 -1
- package/dist/core/edicion/tipos.js.map +1 -1
- package/dist/core/engine-personality.d.ts.map +1 -1
- package/dist/core/engine-personality.js.map +1 -1
- package/dist/core/errores/proveedor.d.ts.map +1 -1
- package/dist/core/errores/proveedor.js.map +1 -1
- package/dist/core/estructural/buscar.d.ts.map +1 -1
- package/dist/core/estructural/buscar.js.map +1 -1
- package/dist/core/estructural/editar.d.ts.map +1 -1
- package/dist/core/estructural/editar.js.map +1 -1
- package/dist/core/estructural/tools.d.ts.map +1 -1
- package/dist/core/estructural/tools.js.map +1 -1
- package/dist/core/event-bus.d.ts.map +1 -1
- package/dist/core/event-bus.js.map +1 -1
- package/dist/core/exec.d.ts.map +1 -1
- package/dist/core/exec.js.map +1 -1
- package/dist/core/experimental.d.ts.map +1 -1
- package/dist/core/experimental.js.map +1 -1
- package/dist/core/export-html/ansi-to-html.d.ts.map +1 -1
- package/dist/core/export-html/ansi-to-html.js.map +1 -1
- package/dist/core/export-html/index.d.ts.map +1 -1
- package/dist/core/export-html/index.js +183 -13
- package/dist/core/export-html/index.js.map +1 -1
- package/dist/core/export-html/template.css +88 -4
- package/dist/core/export-html/template.html +3 -1
- package/dist/core/export-html/template.js +84 -0
- package/dist/core/export-html/tool-renderer.d.ts.map +1 -1
- package/dist/core/export-html/tool-renderer.js.map +1 -1
- package/dist/core/extensiones/suplantacion.d.ts.map +1 -1
- package/dist/core/extensiones/suplantacion.js.map +1 -1
- package/dist/core/extensiones/vigilancia.d.ts.map +1 -1
- package/dist/core/extensiones/vigilancia.js.map +1 -1
- package/dist/core/extensions/index.d.ts.map +1 -1
- package/dist/core/extensions/index.js.map +1 -1
- package/dist/core/extensions/loader.d.ts.map +1 -1
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/extensions/runner.d.ts.map +1 -1
- package/dist/core/extensions/runner.js.map +1 -1
- package/dist/core/extensions/types.d.ts.map +1 -1
- package/dist/core/extensions/types.js.map +1 -1
- package/dist/core/extensions/wrapper.d.ts.map +1 -1
- package/dist/core/extensions/wrapper.js.map +1 -1
- package/dist/core/footer-data-provider.d.ts.map +1 -1
- package/dist/core/footer-data-provider.js.map +1 -1
- package/dist/core/gc/archivo-frio.d.ts +33 -0
- package/dist/core/gc/archivo-frio.d.ts.map +1 -0
- package/dist/core/gc/archivo-frio.js +152 -0
- package/dist/core/gc/archivo-frio.js.map +1 -0
- package/dist/core/gc/blobs-gc.d.ts +25 -0
- package/dist/core/gc/blobs-gc.d.ts.map +1 -0
- package/dist/core/gc/blobs-gc.js +143 -0
- package/dist/core/gc/blobs-gc.js.map +1 -0
- package/dist/core/gc/index.d.ts +42 -0
- package/dist/core/gc/index.d.ts.map +1 -0
- package/dist/core/gc/index.js +50 -0
- package/dist/core/gc/index.js.map +1 -0
- package/dist/core/gc/lock.d.ts +19 -0
- package/dist/core/gc/lock.d.ts.map +1 -0
- package/dist/core/gc/lock.js +48 -0
- package/dist/core/gc/lock.js.map +1 -0
- package/dist/core/gc/reconciliacion.d.ts +19 -0
- package/dist/core/gc/reconciliacion.d.ts.map +1 -0
- package/dist/core/gc/reconciliacion.js +102 -0
- package/dist/core/gc/reconciliacion.js.map +1 -0
- package/dist/core/gc/wal.d.ts +15 -0
- package/dist/core/gc/wal.d.ts.map +1 -0
- package/dist/core/gc/wal.js +44 -0
- package/dist/core/gc/wal.js.map +1 -0
- package/dist/core/harness/fuentes-de-contexto.d.ts.map +1 -1
- package/dist/core/harness/fuentes-de-contexto.js.map +1 -1
- package/dist/core/harness/refine.d.ts.map +1 -1
- package/dist/core/harness/refine.js.map +1 -1
- package/dist/core/harness/store.d.ts.map +1 -1
- package/dist/core/harness/store.js.map +1 -1
- package/dist/core/higiene/index.d.ts +8 -0
- package/dist/core/higiene/index.d.ts.map +1 -0
- package/dist/core/higiene/index.js +8 -0
- package/dist/core/higiene/index.js.map +1 -0
- package/dist/core/higiene/managed-timers.d.ts +19 -0
- package/dist/core/higiene/managed-timers.d.ts.map +1 -0
- package/dist/core/higiene/managed-timers.js +68 -0
- package/dist/core/higiene/managed-timers.js.map +1 -0
- package/dist/core/higiene/race-handler.d.ts +7 -0
- package/dist/core/higiene/race-handler.d.ts.map +1 -0
- package/dist/core/higiene/race-handler.js +32 -0
- package/dist/core/higiene/race-handler.js.map +1 -0
- package/dist/core/higiene/withHostGuard.d.ts +27 -0
- package/dist/core/higiene/withHostGuard.d.ts.map +1 -0
- package/dist/core/higiene/withHostGuard.js +79 -0
- package/dist/core/higiene/withHostGuard.js.map +1 -0
- package/dist/core/hooks/contract.d.ts.map +1 -1
- package/dist/core/hooks/contract.js.map +1 -1
- package/dist/core/hooks/runner.d.ts.map +1 -1
- package/dist/core/hooks/runner.js.map +1 -1
- package/dist/core/hooks/session-hooks.d.ts.map +1 -1
- package/dist/core/hooks/session-hooks.js.map +1 -1
- package/dist/core/hooks-ts/cargador.d.ts +29 -0
- package/dist/core/hooks-ts/cargador.d.ts.map +1 -0
- package/dist/core/hooks-ts/cargador.js +51 -0
- package/dist/core/hooks-ts/cargador.js.map +1 -0
- package/dist/core/hooks-ts/index.d.ts +25 -0
- package/dist/core/hooks-ts/index.d.ts.map +1 -0
- package/dist/core/hooks-ts/index.js +25 -0
- package/dist/core/hooks-ts/index.js.map +1 -0
- package/dist/core/hooks-ts/runner.d.ts +40 -0
- package/dist/core/hooks-ts/runner.d.ts.map +1 -0
- package/dist/core/hooks-ts/runner.js +95 -0
- package/dist/core/hooks-ts/runner.js.map +1 -0
- package/dist/core/hooks-ts/tipos.d.ts +69 -0
- package/dist/core/hooks-ts/tipos.d.ts.map +1 -0
- package/dist/core/hooks-ts/tipos.js +90 -0
- package/dist/core/hooks-ts/tipos.js.map +1 -0
- package/dist/core/http-dispatcher.d.ts.map +1 -1
- package/dist/core/http-dispatcher.js.map +1 -1
- package/dist/core/importar/formatos.d.ts.map +1 -1
- package/dist/core/importar/formatos.js.map +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/interactivo/deteccion.d.ts.map +1 -1
- package/dist/core/interactivo/deteccion.js.map +1 -1
- package/dist/core/interactivo/sesion.d.ts.map +1 -1
- package/dist/core/interactivo/sesion.js.map +1 -1
- package/dist/core/interactivo/tools.d.ts.map +1 -1
- package/dist/core/interactivo/tools.js.map +1 -1
- package/dist/core/keybindings.d.ts +170 -170
- package/dist/core/keybindings.d.ts.map +1 -1
- package/dist/core/keybindings.js.map +1 -1
- package/dist/core/lectura/mapa.d.ts.map +1 -1
- package/dist/core/lectura/mapa.js.map +1 -1
- package/dist/core/lectura/pdf.d.ts.map +1 -1
- package/dist/core/lectura/pdf.js.map +1 -1
- package/dist/core/lectura/sniffer.d.ts +54 -0
- package/dist/core/lectura/sniffer.d.ts.map +1 -0
- package/dist/core/lectura/sniffer.js +106 -0
- package/dist/core/lectura/sniffer.js.map +1 -0
- package/dist/core/limpieza/comprobadores.d.ts +16 -2
- package/dist/core/limpieza/comprobadores.d.ts.map +1 -1
- package/dist/core/limpieza/comprobadores.js +200 -6
- package/dist/core/limpieza/comprobadores.js.map +1 -1
- package/dist/core/limpieza/flujo.d.ts +36 -0
- package/dist/core/limpieza/flujo.d.ts.map +1 -0
- package/dist/core/limpieza/flujo.js +89 -0
- package/dist/core/limpieza/flujo.js.map +1 -0
- package/dist/core/limpieza/parseo.d.ts.map +1 -1
- package/dist/core/limpieza/parseo.js.map +1 -1
- package/dist/core/limpieza/peso.d.ts +17 -0
- package/dist/core/limpieza/peso.d.ts.map +1 -0
- package/dist/core/limpieza/peso.js +52 -0
- package/dist/core/limpieza/peso.js.map +1 -0
- package/dist/core/limpieza/pool.d.ts +44 -0
- package/dist/core/limpieza/pool.d.ts.map +1 -0
- package/dist/core/limpieza/pool.js +123 -0
- package/dist/core/limpieza/pool.js.map +1 -0
- package/dist/core/limpieza/reparacion.d.ts +19 -2
- package/dist/core/limpieza/reparacion.d.ts.map +1 -1
- package/dist/core/limpieza/reparacion.js +95 -8
- package/dist/core/limpieza/reparacion.js.map +1 -1
- package/dist/core/limpieza/tablero.d.ts +47 -0
- package/dist/core/limpieza/tablero.d.ts.map +1 -0
- package/dist/core/limpieza/tablero.js +78 -0
- package/dist/core/limpieza/tablero.js.map +1 -0
- package/dist/core/limpieza/tipos.d.ts +25 -0
- package/dist/core/limpieza/tipos.d.ts.map +1 -1
- package/dist/core/limpieza/tipos.js.map +1 -1
- package/dist/core/lsp/cliente.d.ts +7 -0
- package/dist/core/lsp/cliente.d.ts.map +1 -1
- package/dist/core/lsp/cliente.js +4 -2
- package/dist/core/lsp/cliente.js.map +1 -1
- package/dist/core/lsp/descubrimiento.d.ts.map +1 -1
- package/dist/core/lsp/descubrimiento.js.map +1 -1
- package/dist/core/lsp/ediciones.d.ts.map +1 -1
- package/dist/core/lsp/ediciones.js.map +1 -1
- package/dist/core/lsp/extension.d.ts +9 -0
- package/dist/core/lsp/extension.d.ts.map +1 -1
- package/dist/core/lsp/extension.js +60 -4
- package/dist/core/lsp/extension.js.map +1 -1
- package/dist/core/lsp/formato.d.ts +72 -0
- package/dist/core/lsp/formato.d.ts.map +1 -0
- package/dist/core/lsp/formato.js +117 -0
- package/dist/core/lsp/formato.js.map +1 -0
- package/dist/core/lsp/tools.d.ts +3 -3
- package/dist/core/lsp/tools.d.ts.map +1 -1
- package/dist/core/lsp/tools.js.map +1 -1
- package/dist/core/lsp/writethrough.d.ts +165 -0
- package/dist/core/lsp/writethrough.d.ts.map +1 -0
- package/dist/core/lsp/writethrough.js +282 -0
- package/dist/core/lsp/writethrough.js.map +1 -0
- package/dist/core/marketplace/catalogo.d.ts +32 -0
- package/dist/core/marketplace/catalogo.d.ts.map +1 -0
- package/dist/core/marketplace/catalogo.js +122 -0
- package/dist/core/marketplace/catalogo.js.map +1 -0
- package/dist/core/marketplace/doctor.d.ts +47 -0
- package/dist/core/marketplace/doctor.d.ts.map +1 -0
- package/dist/core/marketplace/doctor.js +155 -0
- package/dist/core/marketplace/doctor.js.map +1 -0
- package/dist/core/marketplace/features.d.ts +22 -0
- package/dist/core/marketplace/features.d.ts.map +1 -0
- package/dist/core/marketplace/features.js +70 -0
- package/dist/core/marketplace/features.js.map +1 -0
- package/dist/core/marketplace/index.d.ts +33 -0
- package/dist/core/marketplace/index.d.ts.map +1 -0
- package/dist/core/marketplace/index.js +33 -0
- package/dist/core/marketplace/index.js.map +1 -0
- package/dist/core/marketplace/instalar.d.ts +27 -0
- package/dist/core/marketplace/instalar.d.ts.map +1 -0
- package/dist/core/marketplace/instalar.js +50 -0
- package/dist/core/marketplace/instalar.js.map +1 -0
- package/dist/core/mcp/client.d.ts.map +1 -1
- package/dist/core/mcp/client.js.map +1 -1
- package/dist/core/mcp/manager.d.ts.map +1 -1
- package/dist/core/mcp/manager.js.map +1 -1
- package/dist/core/mcp/oauth.d.ts +138 -0
- package/dist/core/mcp/oauth.d.ts.map +1 -0
- package/dist/core/mcp/oauth.js +348 -0
- package/dist/core/mcp/oauth.js.map +1 -0
- package/dist/core/mcp/tools.d.ts.map +1 -1
- package/dist/core/mcp/tools.js.map +1 -1
- package/dist/core/memoria/almacen.d.ts +56 -0
- package/dist/core/memoria/almacen.d.ts.map +1 -0
- package/dist/core/memoria/almacen.js +214 -0
- package/dist/core/memoria/almacen.js.map +1 -0
- package/dist/core/memoria/dr/respaldo.d.ts +34 -0
- package/dist/core/memoria/dr/respaldo.d.ts.map +1 -0
- package/dist/core/memoria/dr/respaldo.js +133 -0
- package/dist/core/memoria/dr/respaldo.js.map +1 -0
- package/dist/core/memoria/embeddings.d.ts +21 -0
- package/dist/core/memoria/embeddings.d.ts.map +1 -0
- package/dist/core/memoria/embeddings.js +87 -0
- package/dist/core/memoria/embeddings.js.map +1 -0
- package/dist/core/memoria/grafo.d.ts +56 -0
- package/dist/core/memoria/grafo.d.ts.map +1 -0
- package/dist/core/memoria/grafo.js +143 -0
- package/dist/core/memoria/grafo.js.map +1 -0
- package/dist/core/memoria/redaccion.d.ts +32 -0
- package/dist/core/memoria/redaccion.d.ts.map +1 -0
- package/dist/core/memoria/redaccion.js +76 -0
- package/dist/core/memoria/redaccion.js.map +1 -0
- package/dist/core/memoria/servidor/almacen-json.d.ts +26 -0
- package/dist/core/memoria/servidor/almacen-json.d.ts.map +1 -0
- package/dist/core/memoria/servidor/almacen-json.js +90 -0
- package/dist/core/memoria/servidor/almacen-json.js.map +1 -0
- package/dist/core/memoria/servidor/servidor.d.ts +43 -0
- package/dist/core/memoria/servidor/servidor.d.ts.map +1 -0
- package/dist/core/memoria/servidor/servidor.js +195 -0
- package/dist/core/memoria/servidor/servidor.js.map +1 -0
- package/dist/core/memoria/servidor/tipos.d.ts +44 -0
- package/dist/core/memoria/servidor/tipos.d.ts.map +1 -0
- package/dist/core/memoria/servidor/tipos.js +12 -0
- package/dist/core/memoria/servidor/tipos.js.map +1 -0
- package/dist/core/memoria/tipos.d.ts +63 -0
- package/dist/core/memoria/tipos.d.ts.map +1 -0
- package/dist/core/memoria/tipos.js +14 -0
- package/dist/core/memoria/tipos.js.map +1 -0
- package/dist/core/memory-engine/audit-export.d.ts.map +1 -1
- package/dist/core/memory-engine/audit-export.js.map +1 -1
- package/dist/core/memory-engine/audit-indice.d.ts.map +1 -1
- package/dist/core/memory-engine/audit-indice.js.map +1 -1
- package/dist/core/memory-engine/audit.d.ts.map +1 -1
- package/dist/core/memory-engine/audit.js.map +1 -1
- package/dist/core/memory-engine/engine.d.ts +7 -0
- package/dist/core/memory-engine/engine.d.ts.map +1 -1
- package/dist/core/memory-engine/engine.js.map +1 -1
- package/dist/core/memory-engine/inverted-index.d.ts.map +1 -1
- package/dist/core/memory-engine/inverted-index.js.map +1 -1
- package/dist/core/memory-engine/keychain.d.ts.map +1 -1
- package/dist/core/memory-engine/keychain.js.map +1 -1
- package/dist/core/memory-engine/observation-store.d.ts +1 -0
- package/dist/core/memory-engine/observation-store.d.ts.map +1 -1
- package/dist/core/memory-engine/observation-store.js.map +1 -1
- package/dist/core/memory-engine/refinements.d.ts.map +1 -1
- package/dist/core/memory-engine/refinements.js.map +1 -1
- package/dist/core/memory-engine/scanner.d.ts.map +1 -1
- package/dist/core/memory-engine/scanner.js.map +1 -1
- package/dist/core/memory-engine/security.d.ts.map +1 -1
- package/dist/core/memory-engine/security.js.map +1 -1
- package/dist/core/memory-engine/session-indexer.d.ts.map +1 -1
- package/dist/core/memory-engine/session-indexer.js.map +1 -1
- package/dist/core/memory-engine/tools.d.ts.map +1 -1
- package/dist/core/memory-engine/tools.js.map +1 -1
- package/dist/core/memory-engine/types.d.ts.map +1 -1
- package/dist/core/memory-engine/types.js.map +1 -1
- package/dist/core/memory-engine/vault.d.ts.map +1 -1
- package/dist/core/memory-engine/vault.js.map +1 -1
- package/dist/core/messages.d.ts.map +1 -1
- package/dist/core/messages.js.map +1 -1
- package/dist/core/metaharness/cli.d.ts +19 -0
- package/dist/core/metaharness/cli.d.ts.map +1 -0
- package/dist/core/metaharness/cli.js +171 -0
- package/dist/core/metaharness/cli.js.map +1 -0
- package/dist/core/metaharness/comparar.d.ts +21 -0
- package/dist/core/metaharness/comparar.d.ts.map +1 -0
- package/dist/core/metaharness/comparar.js +64 -0
- package/dist/core/metaharness/comparar.js.map +1 -0
- package/dist/core/metaharness/ejecutar.d.ts +70 -0
- package/dist/core/metaharness/ejecutar.d.ts.map +1 -0
- package/dist/core/metaharness/ejecutar.js +249 -0
- package/dist/core/metaharness/ejecutar.js.map +1 -0
- package/dist/core/metaharness/tipos.d.ts +142 -0
- package/dist/core/metaharness/tipos.d.ts.map +1 -0
- package/dist/core/metaharness/tipos.js +17 -0
- package/dist/core/metaharness/tipos.js.map +1 -0
- package/dist/core/model-config.d.ts +8 -8
- package/dist/core/model-config.d.ts.map +1 -1
- package/dist/core/model-config.js.map +1 -1
- package/dist/core/model-registry.d.ts.map +1 -1
- package/dist/core/model-registry.js.map +1 -1
- package/dist/core/model-resolver.d.ts.map +1 -1
- package/dist/core/model-resolver.js.map +1 -1
- package/dist/core/model-runtime.d.ts.map +1 -1
- package/dist/core/model-runtime.js.map +1 -1
- package/dist/core/models-store.d.ts.map +1 -1
- package/dist/core/models-store.js.map +1 -1
- package/dist/core/muestreo-restringido.d.ts.map +1 -1
- package/dist/core/muestreo-restringido.js.map +1 -1
- package/dist/core/orphan-process-journal.d.ts.map +1 -1
- package/dist/core/orphan-process-journal.js.map +1 -1
- package/dist/core/output-guard.d.ts.map +1 -1
- package/dist/core/output-guard.js.map +1 -1
- package/dist/core/package-manager.d.ts.map +1 -1
- package/dist/core/package-manager.js.map +1 -1
- package/dist/core/parche/aplicar.d.ts +19 -0
- package/dist/core/parche/aplicar.d.ts.map +1 -0
- package/dist/core/parche/aplicar.js +243 -0
- package/dist/core/parche/aplicar.js.map +1 -0
- package/dist/core/parche/parser.d.ts +38 -0
- package/dist/core/parche/parser.d.ts.map +1 -0
- package/dist/core/parche/parser.js +217 -0
- package/dist/core/parche/parser.js.map +1 -0
- package/dist/core/parche/registro.d.ts +12 -0
- package/dist/core/parche/registro.d.ts.map +1 -0
- package/dist/core/parche/registro.js +58 -0
- package/dist/core/parche/registro.js.map +1 -0
- package/dist/core/perfiles/index.d.ts +22 -0
- package/dist/core/perfiles/index.d.ts.map +1 -0
- package/dist/core/perfiles/index.js +21 -0
- package/dist/core/perfiles/index.js.map +1 -0
- package/dist/core/perfiles/resolver.d.ts +51 -0
- package/dist/core/perfiles/resolver.d.ts.map +1 -0
- package/dist/core/perfiles/resolver.js +329 -0
- package/dist/core/perfiles/resolver.js.map +1 -0
- package/dist/core/perfiles/tipos.d.ts +69 -0
- package/dist/core/perfiles/tipos.d.ts.map +1 -0
- package/dist/core/perfiles/tipos.js +98 -0
- package/dist/core/perfiles/tipos.js.map +1 -0
- package/dist/core/pi-manifest.d.ts.map +1 -1
- package/dist/core/pi-manifest.js.map +1 -1
- package/dist/core/privacidad/categorias-especiales.d.ts.map +1 -1
- package/dist/core/privacidad/categorias-especiales.js +4 -0
- package/dist/core/privacidad/categorias-especiales.js.map +1 -1
- package/dist/core/privacidad/tapar.d.ts.map +1 -1
- package/dist/core/privacidad/tapar.js.map +1 -1
- package/dist/core/project-memory.d.ts.map +1 -1
- package/dist/core/project-memory.js.map +1 -1
- package/dist/core/project-trust.d.ts.map +1 -1
- package/dist/core/project-trust.js.map +1 -1
- package/dist/core/prompt-cache/diagnostics.d.ts.map +1 -1
- package/dist/core/prompt-cache/diagnostics.js.map +1 -1
- package/dist/core/prompt-cache/index.d.ts.map +1 -1
- package/dist/core/prompt-cache/index.js.map +1 -1
- package/dist/core/prompt-cache/payload.d.ts.map +1 -1
- package/dist/core/prompt-cache/payload.js.map +1 -1
- package/dist/core/prompt-cache/stabilize.d.ts.map +1 -1
- package/dist/core/prompt-cache/stabilize.js.map +1 -1
- package/dist/core/prompt-cache/stats.d.ts.map +1 -1
- package/dist/core/prompt-cache/stats.js.map +1 -1
- package/dist/core/prompt-eleccion.d.ts.map +1 -1
- package/dist/core/prompt-eleccion.js.map +1 -1
- package/dist/core/prompt-optimizer.d.ts.map +1 -1
- package/dist/core/prompt-optimizer.js.map +1 -1
- package/dist/core/prompt-templates.d.ts.map +1 -1
- package/dist/core/prompt-templates.js.map +1 -1
- package/dist/core/prompts/montar.d.ts.map +1 -1
- package/dist/core/prompts/montar.js.map +1 -1
- package/dist/core/prompts/plantilla.d.ts.map +1 -1
- package/dist/core/prompts/plantilla.js.map +1 -1
- package/dist/core/proveedores-registry/definiciones.d.ts +15 -0
- package/dist/core/proveedores-registry/definiciones.d.ts.map +1 -0
- package/dist/core/proveedores-registry/definiciones.js +22 -0
- package/dist/core/proveedores-registry/definiciones.js.map +1 -0
- package/dist/core/proveedores-registry/index.d.ts +14 -0
- package/dist/core/proveedores-registry/index.d.ts.map +1 -0
- package/dist/core/proveedores-registry/index.js +13 -0
- package/dist/core/proveedores-registry/index.js.map +1 -0
- package/dist/core/proveedores-registry/resolver.d.ts +25 -0
- package/dist/core/proveedores-registry/resolver.d.ts.map +1 -0
- package/dist/core/proveedores-registry/resolver.js +69 -0
- package/dist/core/proveedores-registry/resolver.js.map +1 -0
- package/dist/core/proveedores-registry/tipos.d.ts +47 -0
- package/dist/core/proveedores-registry/tipos.d.ts.map +1 -0
- package/dist/core/proveedores-registry/tipos.js +15 -0
- package/dist/core/proveedores-registry/tipos.js.map +1 -0
- package/dist/core/provider-attribution.d.ts.map +1 -1
- package/dist/core/provider-attribution.js.map +1 -1
- package/dist/core/provider-composer.d.ts.map +1 -1
- package/dist/core/provider-composer.js.map +1 -1
- package/dist/core/radius.d.ts.map +1 -1
- package/dist/core/radius.js.map +1 -1
- package/dist/core/remote-catalog-provider.d.ts.map +1 -1
- package/dist/core/remote-catalog-provider.js.map +1 -1
- package/dist/core/remoto/destino.d.ts.map +1 -1
- package/dist/core/remoto/destino.js.map +1 -1
- package/dist/core/remoto/ejecutor.d.ts.map +1 -1
- package/dist/core/remoto/ejecutor.js.map +1 -1
- package/dist/core/remoto/ficheros.d.ts.map +1 -1
- package/dist/core/remoto/ficheros.js.map +1 -1
- package/dist/core/remoto/registro-extension.d.ts.map +1 -1
- package/dist/core/remoto/registro-extension.js.map +1 -1
- package/dist/core/remoto/tools.d.ts.map +1 -1
- package/dist/core/remoto/tools.js.map +1 -1
- package/dist/core/reparacion/index.d.ts +2 -0
- package/dist/core/reparacion/index.d.ts.map +1 -0
- package/dist/core/reparacion/index.js +2 -0
- package/dist/core/reparacion/index.js.map +1 -0
- package/dist/core/reparacion/reparar-hunk.d.ts +27 -0
- package/dist/core/reparacion/reparar-hunk.d.ts.map +1 -0
- package/dist/core/reparacion/reparar-hunk.js +139 -0
- package/dist/core/reparacion/reparar-hunk.js.map +1 -0
- package/dist/core/resolve-config-value.d.ts.map +1 -1
- package/dist/core/resolve-config-value.js.map +1 -1
- package/dist/core/resource-loader.d.ts +13 -0
- package/dist/core/resource-loader.d.ts.map +1 -1
- package/dist/core/resource-loader.js +7 -4
- package/dist/core/resource-loader.js.map +1 -1
- package/dist/core/revision/dispositions.d.ts +86 -0
- package/dist/core/revision/dispositions.d.ts.map +1 -0
- package/dist/core/revision/dispositions.js +137 -0
- package/dist/core/revision/dispositions.js.map +1 -0
- package/dist/core/revision/hallazgo.d.ts.map +1 -1
- package/dist/core/revision/hallazgo.js.map +1 -1
- package/dist/core/revision/procedencia.d.ts +63 -0
- package/dist/core/revision/procedencia.d.ts.map +1 -0
- package/dist/core/revision/procedencia.js +72 -0
- package/dist/core/revision/procedencia.js.map +1 -0
- package/dist/core/revision/publicar.d.ts +26 -0
- package/dist/core/revision/publicar.d.ts.map +1 -0
- package/dist/core/revision/publicar.js +34 -0
- package/dist/core/revision/publicar.js.map +1 -0
- package/dist/core/revision/revisor.d.ts.map +1 -1
- package/dist/core/revision/revisor.js.map +1 -1
- package/dist/core/revision/sarif.d.ts.map +1 -1
- package/dist/core/revision/sarif.js.map +1 -1
- package/dist/core/router-uris/index.d.ts +12 -0
- package/dist/core/router-uris/index.d.ts.map +1 -0
- package/dist/core/router-uris/index.js +12 -0
- package/dist/core/router-uris/index.js.map +1 -0
- package/dist/core/router-uris/router.d.ts +2 -0
- package/dist/core/router-uris/router.d.ts.map +1 -0
- package/dist/core/router-uris/router.js +2 -0
- package/dist/core/router-uris/router.js.map +1 -0
- package/dist/core/runtime-credentials.d.ts.map +1 -1
- package/dist/core/runtime-credentials.js.map +1 -1
- package/dist/core/rutas/envoltorio.d.ts +20 -0
- package/dist/core/rutas/envoltorio.d.ts.map +1 -0
- package/dist/core/rutas/envoltorio.js +48 -0
- package/dist/core/rutas/envoltorio.js.map +1 -0
- package/dist/core/rutas/index.d.ts +11 -0
- package/dist/core/rutas/index.d.ts.map +1 -0
- package/dist/core/rutas/index.js +11 -0
- package/dist/core/rutas/index.js.map +1 -0
- package/dist/core/rutas/router.d.ts +82 -0
- package/dist/core/rutas/router.d.ts.map +1 -0
- package/dist/core/rutas/router.js +161 -0
- package/dist/core/rutas/router.js.map +1 -0
- package/dist/core/scheduler/scheduler.d.ts.map +1 -1
- package/dist/core/scheduler/scheduler.js.map +1 -1
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/secretos/extension.d.ts +31 -0
- package/dist/core/secretos/extension.d.ts.map +1 -0
- package/dist/core/secretos/extension.js +64 -0
- package/dist/core/secretos/extension.js.map +1 -0
- package/dist/core/secretos/index.d.ts +75 -0
- package/dist/core/secretos/index.d.ts.map +1 -0
- package/dist/core/secretos/index.js +385 -0
- package/dist/core/secretos/index.js.map +1 -0
- package/dist/core/secretos/message-transform.d.ts +44 -0
- package/dist/core/secretos/message-transform.d.ts.map +1 -0
- package/dist/core/secretos/message-transform.js +246 -0
- package/dist/core/secretos/message-transform.js.map +1 -0
- package/dist/core/secretos/obfuscator.d.ts +30 -0
- package/dist/core/secretos/obfuscator.d.ts.map +1 -0
- package/dist/core/secretos/obfuscator.js +1182 -0
- package/dist/core/secretos/obfuscator.js.map +1 -0
- package/dist/core/secretos/placeholder-scan.d.ts +96 -0
- package/dist/core/secretos/placeholder-scan.d.ts.map +1 -0
- package/dist/core/secretos/placeholder-scan.js +433 -0
- package/dist/core/secretos/placeholder-scan.js.map +1 -0
- package/dist/core/secretos/placeholder.d.ts +95 -0
- package/dist/core/secretos/placeholder.d.ts.map +1 -0
- package/dist/core/secretos/placeholder.js +283 -0
- package/dist/core/secretos/placeholder.js.map +1 -0
- package/dist/core/secretos/regex.d.ts +3 -0
- package/dist/core/secretos/regex.d.ts.map +1 -0
- package/dist/core/secretos/regex.js +19 -0
- package/dist/core/secretos/regex.js.map +1 -0
- package/dist/core/secretos/replacement.d.ts +83 -0
- package/dist/core/secretos/replacement.d.ts.map +1 -0
- package/dist/core/secretos/replacement.js +211 -0
- package/dist/core/secretos/replacement.js.map +1 -0
- package/dist/core/sesion/cerrar-llamadas-abiertas.d.ts.map +1 -1
- package/dist/core/sesion/cerrar-llamadas-abiertas.js.map +1 -1
- package/dist/core/sesion/journal-tree.d.ts +73 -0
- package/dist/core/sesion/journal-tree.d.ts.map +1 -0
- package/dist/core/sesion/journal-tree.js +241 -0
- package/dist/core/sesion/journal-tree.js.map +1 -0
- package/dist/core/sesion/turn-recovery.d.ts +48 -0
- package/dist/core/sesion/turn-recovery.d.ts.map +1 -0
- package/dist/core/sesion/turn-recovery.js +182 -0
- package/dist/core/sesion/turn-recovery.js.map +1 -0
- package/dist/core/session-cwd.d.ts.map +1 -1
- package/dist/core/session-cwd.js.map +1 -1
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/settings-diagnostics.d.ts.map +1 -1
- package/dist/core/settings-diagnostics.js.map +1 -1
- package/dist/core/settings-manager.d.ts +2 -2
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/share/cifrado.d.ts +39 -0
- package/dist/core/share/cifrado.d.ts.map +1 -0
- package/dist/core/share/cifrado.js +81 -0
- package/dist/core/share/cifrado.js.map +1 -0
- package/dist/core/share/exportar.d.ts +69 -0
- package/dist/core/share/exportar.d.ts.map +1 -0
- package/dist/core/share/exportar.js +247 -0
- package/dist/core/share/exportar.js.map +1 -0
- package/dist/core/skills.d.ts.map +1 -1
- package/dist/core/skills.js.map +1 -1
- package/dist/core/slash-commands.d.ts.map +1 -1
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/core/source-info.d.ts.map +1 -1
- package/dist/core/source-info.js.map +1 -1
- package/dist/core/stream-guard/guardia.d.ts +45 -0
- package/dist/core/stream-guard/guardia.d.ts.map +1 -0
- package/dist/core/stream-guard/guardia.js +100 -0
- package/dist/core/stream-guard/guardia.js.map +1 -0
- package/dist/core/stream-guard/index.d.ts +9 -0
- package/dist/core/stream-guard/index.d.ts.map +1 -0
- package/dist/core/stream-guard/index.js +7 -0
- package/dist/core/stream-guard/index.js.map +1 -0
- package/dist/core/stream-guard/replay.d.ts +39 -0
- package/dist/core/stream-guard/replay.d.ts.map +1 -0
- package/dist/core/stream-guard/replay.js +68 -0
- package/dist/core/stream-guard/replay.js.map +1 -0
- package/dist/core/system-prompt.d.ts.map +1 -1
- package/dist/core/system-prompt.js.map +1 -1
- package/dist/core/telemetria/otlp.d.ts.map +1 -1
- package/dist/core/telemetria/otlp.js.map +1 -1
- package/dist/core/telemetry/otel-genai.d.ts +44 -0
- package/dist/core/telemetry/otel-genai.d.ts.map +1 -0
- package/dist/core/telemetry/otel-genai.js +124 -0
- package/dist/core/telemetry/otel-genai.js.map +1 -0
- package/dist/core/telemetry.d.ts.map +1 -1
- package/dist/core/telemetry.js.map +1 -1
- package/dist/core/terminal/backlog-guard.d.ts +53 -0
- package/dist/core/terminal/backlog-guard.d.ts.map +1 -0
- package/dist/core/terminal/backlog-guard.js +122 -0
- package/dist/core/terminal/backlog-guard.js.map +1 -0
- package/dist/core/terminal/conpty.d.ts +29 -0
- package/dist/core/terminal/conpty.d.ts.map +1 -0
- package/dist/core/terminal/conpty.js +67 -0
- package/dist/core/terminal/conpty.js.map +1 -0
- package/dist/core/terminal/conptyChunking.d.ts +2 -0
- package/dist/core/terminal/conptyChunking.d.ts.map +1 -0
- package/dist/core/terminal/conptyChunking.js +2 -0
- package/dist/core/terminal/conptyChunking.js.map +1 -0
- package/dist/core/terminal/index.d.ts +5 -0
- package/dist/core/terminal/index.d.ts.map +1 -0
- package/dist/core/terminal/index.js +5 -0
- package/dist/core/terminal/index.js.map +1 -0
- package/dist/core/terminal/loop-watchdog.d.ts +43 -0
- package/dist/core/terminal/loop-watchdog.d.ts.map +1 -0
- package/dist/core/terminal/loop-watchdog.js +117 -0
- package/dist/core/terminal/loop-watchdog.js.map +1 -0
- package/dist/core/terminal/runner.d.ts +55 -0
- package/dist/core/terminal/runner.d.ts.map +1 -0
- package/dist/core/terminal/runner.js +102 -0
- package/dist/core/terminal/runner.js.map +1 -0
- package/dist/core/timings.d.ts.map +1 -1
- package/dist/core/timings.js.map +1 -1
- package/dist/core/tools/apply_patch.d.ts +29 -0
- package/dist/core/tools/apply_patch.d.ts.map +1 -0
- package/dist/core/tools/apply_patch.js +54 -0
- package/dist/core/tools/apply_patch.js.map +1 -0
- package/dist/core/tools/bash.d.ts.map +1 -1
- package/dist/core/tools/bash.js.map +1 -1
- package/dist/core/tools/coercion-argumentos.d.ts.map +1 -1
- package/dist/core/tools/coercion-argumentos.js.map +1 -1
- package/dist/core/tools/edit-diff.d.ts.map +1 -1
- package/dist/core/tools/edit-diff.js.map +1 -1
- package/dist/core/tools/edit.d.ts.map +1 -1
- package/dist/core/tools/edit.js +43 -1
- package/dist/core/tools/edit.js.map +1 -1
- package/dist/core/tools/file-mutation-queue.d.ts.map +1 -1
- package/dist/core/tools/file-mutation-queue.js.map +1 -1
- package/dist/core/tools/find.d.ts.map +1 -1
- package/dist/core/tools/find.js.map +1 -1
- package/dist/core/tools/grep.d.ts.map +1 -1
- package/dist/core/tools/grep.js.map +1 -1
- package/dist/core/tools/index.d.ts.map +1 -1
- package/dist/core/tools/index.js.map +1 -1
- package/dist/core/tools/json-tolerante.d.ts.map +1 -1
- package/dist/core/tools/json-tolerante.js.map +1 -1
- package/dist/core/tools/ls.d.ts.map +1 -1
- package/dist/core/tools/ls.js.map +1 -1
- package/dist/core/tools/noop-loop-guard.d.ts +46 -0
- package/dist/core/tools/noop-loop-guard.d.ts.map +1 -0
- package/dist/core/tools/noop-loop-guard.js +57 -0
- package/dist/core/tools/noop-loop-guard.js.map +1 -0
- package/dist/core/tools/output-accumulator.d.ts.map +1 -1
- package/dist/core/tools/output-accumulator.js.map +1 -1
- package/dist/core/tools/path-utils.d.ts.map +1 -1
- package/dist/core/tools/path-utils.js.map +1 -1
- package/dist/core/tools/project-memory-tool.d.ts.map +1 -1
- package/dist/core/tools/project-memory-tool.js.map +1 -1
- package/dist/core/tools/read.d.ts.map +1 -1
- package/dist/core/tools/read.js.map +1 -1
- package/dist/core/tools/render-utils.d.ts.map +1 -1
- package/dist/core/tools/render-utils.js.map +1 -1
- package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -1
- package/dist/core/tools/tool-definition-wrapper.js.map +1 -1
- package/dist/core/tools/truncate.d.ts.map +1 -1
- package/dist/core/tools/truncate.js.map +1 -1
- package/dist/core/tools/write.d.ts.map +1 -1
- package/dist/core/tools/write.js.map +1 -1
- package/dist/core/trust-manager.d.ts.map +1 -1
- package/dist/core/trust-manager.js.map +1 -1
- package/dist/core/ttsr/captura.d.ts +72 -0
- package/dist/core/ttsr/captura.d.ts.map +1 -0
- package/dist/core/ttsr/captura.js +183 -0
- package/dist/core/ttsr/captura.js.map +1 -0
- package/dist/core/ttsr/index.d.ts +24 -0
- package/dist/core/ttsr/index.d.ts.map +1 -0
- package/dist/core/ttsr/index.js +57 -0
- package/dist/core/ttsr/index.js.map +1 -0
- package/dist/core/ttsr/preview.d.ts +48 -0
- package/dist/core/ttsr/preview.d.ts.map +1 -0
- package/dist/core/ttsr/preview.js +83 -0
- package/dist/core/ttsr/preview.js.map +1 -0
- package/dist/core/turno-vacio/detectar.d.ts.map +1 -1
- package/dist/core/turno-vacio/detectar.js.map +1 -1
- package/dist/core/undo/journal.d.ts.map +1 -1
- package/dist/core/undo/journal.js.map +1 -1
- package/dist/core/urls-internas/auditoria.d.ts.map +1 -1
- package/dist/core/urls-internas/auditoria.js.map +1 -1
- package/dist/core/urls-internas/boveda.d.ts.map +1 -1
- package/dist/core/urls-internas/boveda.js.map +1 -1
- package/dist/core/urls-internas/lector.d.ts +14 -10
- package/dist/core/urls-internas/lector.d.ts.map +1 -1
- package/dist/core/urls-internas/lector.js +50 -36
- package/dist/core/urls-internas/lector.js.map +1 -1
- package/dist/core/urls-internas/memoria.d.ts.map +1 -1
- package/dist/core/urls-internas/memoria.js.map +1 -1
- package/dist/core/urls-internas/parse.d.ts +6 -13
- package/dist/core/urls-internas/parse.d.ts.map +1 -1
- package/dist/core/urls-internas/parse.js +6 -17
- package/dist/core/urls-internas/parse.js.map +1 -1
- package/dist/core/urls-internas/reglas.d.ts.map +1 -1
- package/dist/core/urls-internas/reglas.js.map +1 -1
- package/dist/core/usage/aggregate.d.ts +1 -0
- package/dist/core/usage/aggregate.d.ts.map +1 -1
- package/dist/core/usage/aggregate.js +1 -1
- package/dist/core/usage/aggregate.js.map +1 -1
- package/dist/core/usage/cuota/anthropic.d.ts.map +1 -1
- package/dist/core/usage/cuota/anthropic.js.map +1 -1
- package/dist/core/usage/cuota/cache.d.ts.map +1 -1
- package/dist/core/usage/cuota/cache.js.map +1 -1
- package/dist/core/usage/cuota/github-copilot.d.ts.map +1 -1
- package/dist/core/usage/cuota/github-copilot.js.map +1 -1
- package/dist/core/usage/cuota/google-gemini.d.ts.map +1 -1
- package/dist/core/usage/cuota/google-gemini.js.map +1 -1
- package/dist/core/usage/cuota/index.d.ts.map +1 -1
- package/dist/core/usage/cuota/index.js.map +1 -1
- package/dist/core/usage/cuota/openai-codex.d.ts.map +1 -1
- package/dist/core/usage/cuota/openai-codex.js.map +1 -1
- package/dist/core/usage/cuota/openrouter.d.ts.map +1 -1
- package/dist/core/usage/cuota/openrouter.js.map +1 -1
- package/dist/core/usage/cuota/tipos.d.ts.map +1 -1
- package/dist/core/usage/cuota/tipos.js.map +1 -1
- package/dist/core/usage/index.d.ts +11 -0
- package/dist/core/usage/index.d.ts.map +1 -0
- package/dist/core/usage/index.js +11 -0
- package/dist/core/usage/index.js.map +1 -0
- package/dist/core/usage/multi.d.ts +62 -0
- package/dist/core/usage/multi.d.ts.map +1 -0
- package/dist/core/usage/multi.js +122 -0
- package/dist/core/usage/multi.js.map +1 -0
- package/dist/core/usage/redaccion.d.ts +48 -0
- package/dist/core/usage/redaccion.d.ts.map +1 -0
- package/dist/core/usage/redaccion.js +72 -0
- package/dist/core/usage/redaccion.js.map +1 -0
- package/dist/core/usage-totals.d.ts.map +1 -1
- package/dist/core/usage-totals.js.map +1 -1
- package/dist/core/utils/atomic-write.d.ts +55 -0
- package/dist/core/utils/atomic-write.d.ts.map +1 -0
- package/dist/core/utils/atomic-write.js +293 -0
- package/dist/core/utils/atomic-write.js.map +1 -0
- package/dist/core/utils/git.d.ts +24 -0
- package/dist/core/utils/git.d.ts.map +1 -0
- package/dist/core/utils/git.js +107 -0
- package/dist/core/utils/git.js.map +1 -0
- package/dist/core/utils/logger.d.ts +26 -0
- package/dist/core/utils/logger.d.ts.map +1 -0
- package/dist/core/utils/logger.js +104 -0
- package/dist/core/utils/logger.js.map +1 -0
- package/dist/core/utils/shell-snapshot.d.ts +21 -0
- package/dist/core/utils/shell-snapshot.d.ts.map +1 -0
- package/dist/core/utils/shell-snapshot.js +32 -0
- package/dist/core/utils/shell-snapshot.js.map +1 -0
- package/dist/core/utils/startup-watchdog.d.ts +11 -0
- package/dist/core/utils/startup-watchdog.d.ts.map +1 -0
- package/dist/core/utils/startup-watchdog.js +34 -0
- package/dist/core/utils/startup-watchdog.js.map +1 -0
- package/dist/core/utils/tls-ca-shim.d.ts +17 -0
- package/dist/core/utils/tls-ca-shim.d.ts.map +1 -0
- package/dist/core/utils/tls-ca-shim.js +33 -0
- package/dist/core/utils/tls-ca-shim.js.map +1 -0
- package/dist/core/web/agregador.d.ts +67 -0
- package/dist/core/web/agregador.d.ts.map +1 -0
- package/dist/core/web/agregador.js +182 -0
- package/dist/core/web/agregador.js.map +1 -0
- package/dist/core/web/busqueda-nativa.d.ts.map +1 -1
- package/dist/core/web/busqueda-nativa.js.map +1 -1
- package/dist/core/web/consulta.d.ts +53 -0
- package/dist/core/web/consulta.d.ts.map +1 -0
- package/dist/core/web/consulta.js +213 -0
- package/dist/core/web/consulta.js.map +1 -0
- package/dist/core/web/destino.d.ts +11 -0
- package/dist/core/web/destino.d.ts.map +1 -1
- package/dist/core/web/destino.js +35 -0
- package/dist/core/web/destino.js.map +1 -1
- package/dist/core/web/load-page.d.ts +52 -0
- package/dist/core/web/load-page.d.ts.map +1 -0
- package/dist/core/web/load-page.js +221 -0
- package/dist/core/web/load-page.js.map +1 -0
- package/dist/core/web/proveedores/brave.d.ts.map +1 -1
- package/dist/core/web/proveedores/brave.js.map +1 -1
- package/dist/core/web/proveedores/claves.d.ts.map +1 -1
- package/dist/core/web/proveedores/claves.js.map +1 -1
- package/dist/core/web/proveedores/duckduckgo.d.ts.map +1 -1
- package/dist/core/web/proveedores/duckduckgo.js.map +1 -1
- package/dist/core/web/proveedores/ecosia.d.ts.map +1 -1
- package/dist/core/web/proveedores/ecosia.js.map +1 -1
- package/dist/core/web/proveedores/exa.d.ts.map +1 -1
- package/dist/core/web/proveedores/exa.js.map +1 -1
- package/dist/core/web/proveedores/mojeek.d.ts.map +1 -1
- package/dist/core/web/proveedores/mojeek.js.map +1 -1
- package/dist/core/web/proveedores/navegador.d.ts.map +1 -1
- package/dist/core/web/proveedores/navegador.js.map +1 -1
- package/dist/core/web/proveedores/registro.d.ts.map +1 -1
- package/dist/core/web/proveedores/registro.js.map +1 -1
- package/dist/core/web/proveedores/searxng.d.ts.map +1 -1
- package/dist/core/web/proveedores/searxng.js.map +1 -1
- package/dist/core/web/proveedores/serper.d.ts.map +1 -1
- package/dist/core/web/proveedores/serper.js.map +1 -1
- package/dist/core/web/proveedores/tavily.d.ts.map +1 -1
- package/dist/core/web/proveedores/tavily.js.map +1 -1
- package/dist/core/web/proveedores/tipos.d.ts.map +1 -1
- package/dist/core/web/proveedores/tipos.js.map +1 -1
- package/dist/core/web/registro-red.d.ts.map +1 -1
- package/dist/core/web/registro-red.js.map +1 -1
- package/dist/core/web/scrapers/cisa-kev.d.ts.map +1 -1
- package/dist/core/web/scrapers/cisa-kev.js.map +1 -1
- package/dist/core/web/scrapers/crates-io.d.ts.map +1 -1
- package/dist/core/web/scrapers/crates-io.js.map +1 -1
- package/dist/core/web/scrapers/docs-rs.d.ts.map +1 -1
- package/dist/core/web/scrapers/docs-rs.js.map +1 -1
- package/dist/core/web/scrapers/github.d.ts.map +1 -1
- package/dist/core/web/scrapers/github.js.map +1 -1
- package/dist/core/web/scrapers/go-pkg.d.ts.map +1 -1
- package/dist/core/web/scrapers/go-pkg.js.map +1 -1
- package/dist/core/web/scrapers/hex.d.ts.map +1 -1
- package/dist/core/web/scrapers/hex.js.map +1 -1
- package/dist/core/web/scrapers/maven.d.ts.map +1 -1
- package/dist/core/web/scrapers/maven.js.map +1 -1
- package/dist/core/web/scrapers/mdn.d.ts.map +1 -1
- package/dist/core/web/scrapers/mdn.js.map +1 -1
- package/dist/core/web/scrapers/npm.d.ts.map +1 -1
- package/dist/core/web/scrapers/npm.js.map +1 -1
- package/dist/core/web/scrapers/nuget.d.ts.map +1 -1
- package/dist/core/web/scrapers/nuget.js.map +1 -1
- package/dist/core/web/scrapers/nvd.d.ts.map +1 -1
- package/dist/core/web/scrapers/nvd.js.map +1 -1
- package/dist/core/web/scrapers/pypi.d.ts.map +1 -1
- package/dist/core/web/scrapers/pypi.js.map +1 -1
- package/dist/core/web/scrapers/registro.d.ts.map +1 -1
- package/dist/core/web/scrapers/registro.js.map +1 -1
- package/dist/core/web/scrapers/rubygems.d.ts.map +1 -1
- package/dist/core/web/scrapers/rubygems.js.map +1 -1
- package/dist/core/web/scrapers/stackoverflow.d.ts.map +1 -1
- package/dist/core/web/scrapers/stackoverflow.js.map +1 -1
- package/dist/core/web/scrapers/tipos.d.ts.map +1 -1
- package/dist/core/web/scrapers/tipos.js.map +1 -1
- package/dist/core/web/texto.d.ts.map +1 -1
- package/dist/core/web/texto.js.map +1 -1
- package/dist/core/web/tools.d.ts +1 -8
- package/dist/core/web/tools.d.ts.map +1 -1
- package/dist/core/web/tools.js +2 -33
- package/dist/core/web/tools.js.map +1 -1
- package/dist/core/wiki/almacen.d.ts.map +1 -1
- package/dist/core/wiki/almacen.js.map +1 -1
- package/dist/core/wiki/citas.d.ts.map +1 -1
- package/dist/core/wiki/citas.js.map +1 -1
- package/dist/core/workflows/agent-runner.d.ts.map +1 -1
- package/dist/core/workflows/agent-runner.js.map +1 -1
- package/dist/core/workflows/builtins.d.ts.map +1 -1
- package/dist/core/workflows/builtins.js.map +1 -1
- package/dist/core/workflows/contrato/esquema.d.ts.map +1 -1
- package/dist/core/workflows/contrato/esquema.js.map +1 -1
- package/dist/core/workflows/contrato/reparar-argumentos.d.ts.map +1 -1
- package/dist/core/workflows/contrato/reparar-argumentos.js.map +1 -1
- package/dist/core/workflows/contrato/validador.d.ts.map +1 -1
- package/dist/core/workflows/contrato/validador.js.map +1 -1
- package/dist/core/workflows/contrato/yield.d.ts.map +1 -1
- package/dist/core/workflows/contrato/yield.js.map +1 -1
- package/dist/core/workflows/goal-engine/engine.d.ts +5 -0
- package/dist/core/workflows/goal-engine/engine.d.ts.map +1 -1
- package/dist/core/workflows/goal-engine/engine.js.map +1 -1
- package/dist/core/workflows/goal-engine/errors.d.ts.map +1 -1
- package/dist/core/workflows/goal-engine/errors.js.map +1 -1
- package/dist/core/workflows/goal-engine/index.d.ts.map +1 -1
- package/dist/core/workflows/goal-engine/index.js.map +1 -1
- package/dist/core/workflows/goal-engine/persistence.d.ts.map +1 -1
- package/dist/core/workflows/goal-engine/persistence.js.map +1 -1
- package/dist/core/workflows/goal-engine/prompts.d.ts.map +1 -1
- package/dist/core/workflows/goal-engine/prompts.js.map +1 -1
- package/dist/core/workflows/goal-engine/state.d.ts.map +1 -1
- package/dist/core/workflows/goal-engine/state.js.map +1 -1
- package/dist/core/workflows/goal-engine/tools.d.ts.map +1 -1
- package/dist/core/workflows/goal-engine/tools.js.map +1 -1
- package/dist/core/workflows/goal-engine/types.d.ts.map +1 -1
- package/dist/core/workflows/goal-engine/types.js.map +1 -1
- package/dist/core/workflows/goal-engine/worktree-fingerprint.d.ts.map +1 -1
- package/dist/core/workflows/goal-engine/worktree-fingerprint.js.map +1 -1
- package/dist/core/workflows/graph-sync.d.ts.map +1 -1
- package/dist/core/workflows/graph-sync.js.map +1 -1
- package/dist/core/workflows/graph.d.ts.map +1 -1
- package/dist/core/workflows/graph.js.map +1 -1
- package/dist/core/workflows/index.d.ts +6 -0
- package/dist/core/workflows/index.d.ts.map +1 -1
- package/dist/core/workflows/index.js +3 -0
- package/dist/core/workflows/index.js.map +1 -1
- package/dist/core/workflows/journal.d.ts.map +1 -1
- package/dist/core/workflows/journal.js.map +1 -1
- package/dist/core/workflows/manager.d.ts.map +1 -1
- package/dist/core/workflows/manager.js.map +1 -1
- package/dist/core/workflows/provider-caps.d.ts +103 -0
- package/dist/core/workflows/provider-caps.d.ts.map +1 -0
- package/dist/core/workflows/provider-caps.js +235 -0
- package/dist/core/workflows/provider-caps.js.map +1 -0
- package/dist/core/workflows/resolve-script.d.ts.map +1 -1
- package/dist/core/workflows/resolve-script.js.map +1 -1
- package/dist/core/workflows/runtime.d.ts.map +1 -1
- package/dist/core/workflows/runtime.js.map +1 -1
- package/dist/core/workflows/save-as-skill.d.ts.map +1 -1
- package/dist/core/workflows/save-as-skill.js.map +1 -1
- package/dist/core/workflows/shared-store.d.ts.map +1 -1
- package/dist/core/workflows/shared-store.js.map +1 -1
- package/dist/core/workflows/soft-budget.d.ts +27 -0
- package/dist/core/workflows/soft-budget.d.ts.map +1 -0
- package/dist/core/workflows/soft-budget.js +47 -0
- package/dist/core/workflows/soft-budget.js.map +1 -0
- package/dist/core/workflows/subagent-host.d.ts.map +1 -1
- package/dist/core/workflows/subagent-host.js.map +1 -1
- package/dist/core/workflows/tool-scheduling.d.ts +47 -0
- package/dist/core/workflows/tool-scheduling.d.ts.map +1 -0
- package/dist/core/workflows/tool-scheduling.js +102 -0
- package/dist/core/workflows/tool-scheduling.js.map +1 -0
- package/dist/core/workflows/tool-workflow.d.ts.map +1 -1
- package/dist/core/workflows/tool-workflow.js.map +1 -1
- package/dist/core/workflows/types.d.ts.map +1 -1
- package/dist/core/workflows/types.js.map +1 -1
- package/dist/core/workflows/worktree.d.ts.map +1 -1
- package/dist/core/workflows/worktree.js.map +1 -1
- package/dist/extensions/index.d.ts.map +1 -1
- package/dist/extensions/index.js.map +1 -1
- package/dist/extensions/llama/client.d.ts.map +1 -1
- package/dist/extensions/llama/client.js.map +1 -1
- package/dist/extensions/llama/huggingface.d.ts.map +1 -1
- package/dist/extensions/llama/huggingface.js.map +1 -1
- package/dist/extensions/llama/index.d.ts.map +1 -1
- package/dist/extensions/llama/index.js.map +1 -1
- package/dist/extensions/llama/provider.d.ts.map +1 -1
- package/dist/extensions/llama/provider.js.map +1 -1
- package/dist/extensions/llama/ui.d.ts.map +1 -1
- package/dist/extensions/llama/ui.js.map +1 -1
- package/dist/extensions/remoto/index.d.ts.map +1 -1
- package/dist/extensions/remoto/index.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +71 -3
- package/dist/main.js.map +1 -1
- package/dist/migrations.d.ts.map +1 -1
- package/dist/migrations.js.map +1 -1
- package/dist/modes/acp/acp-mode.d.ts.map +1 -1
- package/dist/modes/acp/acp-mode.js.map +1 -1
- package/dist/modes/acp/events.d.ts.map +1 -1
- package/dist/modes/acp/events.js.map +1 -1
- package/dist/modes/index.d.ts.map +1 -1
- package/dist/modes/index.js.map +1 -1
- package/dist/modes/interactive/components/armin.d.ts.map +1 -1
- package/dist/modes/interactive/components/armin.js.map +1 -1
- package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/assistant-message.js.map +1 -1
- package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -1
- package/dist/modes/interactive/components/bash-execution.js.map +1 -1
- package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -1
- package/dist/modes/interactive/components/bordered-loader.js.map +1 -1
- package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/branch-summary-message.js.map +1 -1
- package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -1
- package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/config-selector.js.map +1 -1
- package/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -1
- package/dist/modes/interactive/components/countdown-timer.js.map +1 -1
- package/dist/modes/interactive/components/custom-editor.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-editor.js.map +1 -1
- package/dist/modes/interactive/components/custom-entry.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-entry.js.map +1 -1
- package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/custom-message.js.map +1 -1
- package/dist/modes/interactive/components/daxnuts.d.ts.map +1 -1
- package/dist/modes/interactive/components/daxnuts.js.map +1 -1
- package/dist/modes/interactive/components/diff.d.ts.map +1 -1
- package/dist/modes/interactive/components/diff.js.map +1 -1
- package/dist/modes/interactive/components/dynamic-border.d.ts.map +1 -1
- package/dist/modes/interactive/components/dynamic-border.js.map +1 -1
- package/dist/modes/interactive/components/earendil-announcement.d.ts.map +1 -1
- package/dist/modes/interactive/components/earendil-announcement.js.map +1 -1
- package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-editor.js.map +1 -1
- package/dist/modes/interactive/components/extension-input.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-input.js.map +1 -1
- package/dist/modes/interactive/components/extension-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/extension-selector.js.map +1 -1
- package/dist/modes/interactive/components/first-time-setup.d.ts.map +1 -1
- package/dist/modes/interactive/components/first-time-setup.js.map +1 -1
- package/dist/modes/interactive/components/footer.d.ts.map +1 -1
- package/dist/modes/interactive/components/footer.js.map +1 -1
- package/dist/modes/interactive/components/home-screen.d.ts +2 -0
- package/dist/modes/interactive/components/home-screen.d.ts.map +1 -1
- package/dist/modes/interactive/components/home-screen.js +5 -6
- package/dist/modes/interactive/components/home-screen.js.map +1 -1
- package/dist/modes/interactive/components/index.d.ts.map +1 -1
- package/dist/modes/interactive/components/index.js.map +1 -1
- package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -1
- package/dist/modes/interactive/components/keybinding-hints.js.map +1 -1
- package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
- package/dist/modes/interactive/components/login-dialog.js.map +1 -1
- package/dist/modes/interactive/components/markdown-transform.d.ts.map +1 -1
- package/dist/modes/interactive/components/markdown-transform.js.map +1 -1
- package/dist/modes/interactive/components/mermaid.d.ts.map +1 -1
- package/dist/modes/interactive/components/mermaid.js.map +1 -1
- package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/model-selector.js.map +1 -1
- package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
- package/dist/modes/interactive/components/prompt-optimization.d.ts.map +1 -1
- package/dist/modes/interactive/components/prompt-optimization.js.map +1 -1
- package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
- package/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -1
- package/dist/modes/interactive/components/session-selector-search.js.map +1 -1
- package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/session-selector.js.map +1 -1
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/dist/modes/interactive/components/settings-submenu.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-submenu.js.map +1 -1
- package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/show-images-selector.js.map +1 -1
- package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -1
- package/dist/modes/interactive/components/status-indicator.d.ts.map +1 -1
- package/dist/modes/interactive/components/status-indicator.js.map +1 -1
- package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/theme-selector.js.map +1 -1
- package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
- package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
- package/dist/modes/interactive/components/tool-execution.js.map +1 -1
- package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/tree-selector.js.map +1 -1
- package/dist/modes/interactive/components/trust-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/trust-selector.js.map +1 -1
- package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/user-message-selector.js.map +1 -1
- package/dist/modes/interactive/components/user-message.d.ts.map +1 -1
- package/dist/modes/interactive/components/user-message.js.map +1 -1
- package/dist/modes/interactive/components/visual-truncate.d.ts.map +1 -1
- package/dist/modes/interactive/components/visual-truncate.js.map +1 -1
- package/dist/modes/interactive/external-editor.d.ts.map +1 -1
- package/dist/modes/interactive/external-editor.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +19 -0
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +29 -0
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/model-catalog-refresh.d.ts.map +1 -1
- package/dist/modes/interactive/model-catalog-refresh.js.map +1 -1
- package/dist/modes/interactive/model-search.d.ts.map +1 -1
- package/dist/modes/interactive/model-search.js.map +1 -1
- package/dist/modes/interactive/theme/theme-controller.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme-controller.js.map +1 -1
- package/dist/modes/interactive/theme/theme.d.ts +2 -2
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme.js.map +1 -1
- package/dist/modes/json-event.d.ts.map +1 -1
- package/dist/modes/json-event.js.map +1 -1
- package/dist/modes/print-mode.d.ts.map +1 -1
- package/dist/modes/print-mode.js.map +1 -1
- package/dist/modes/rpc/jsonl.d.ts.map +1 -1
- package/dist/modes/rpc/jsonl.js.map +1 -1
- package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-client.js.map +1 -1
- package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-types.js.map +1 -1
- package/dist/package-manager-cli.d.ts.map +1 -1
- package/dist/package-manager-cli.js.map +1 -1
- package/dist/rpc-entry.d.ts.map +1 -1
- package/dist/rpc-entry.js +0 -0
- package/dist/rpc-entry.js.map +1 -1
- package/dist/server/attach.d.ts.map +1 -1
- package/dist/server/attach.js.map +1 -1
- package/dist/server/create-harness.d.ts.map +1 -1
- package/dist/server/create-harness.js.map +1 -1
- package/dist/server/extension-ops.d.ts.map +1 -1
- package/dist/server/extension-ops.js.map +1 -1
- package/dist/server/pi-server-service.d.ts.map +1 -1
- package/dist/server/pi-server-service.js.map +1 -1
- package/dist/server/scheduler-tick.d.ts.map +1 -1
- package/dist/server/scheduler-tick.js.map +1 -1
- package/dist/server/serve.d.ts.map +1 -1
- package/dist/server/serve.js.map +1 -1
- package/dist/server/transcript.d.ts.map +1 -1
- package/dist/server/transcript.js.map +1 -1
- package/dist/telegram/api.d.ts +6 -0
- package/dist/telegram/api.d.ts.map +1 -1
- package/dist/telegram/api.js.map +1 -1
- package/dist/telegram/bridge.d.ts.map +1 -1
- package/dist/telegram/bridge.js.map +1 -1
- package/dist/telegram/journal.d.ts.map +1 -1
- package/dist/telegram/journal.js.map +1 -1
- package/dist/telegram/servidor.d.ts.map +1 -1
- package/dist/telegram/servidor.js.map +1 -1
- package/dist/utils/abort.d.ts.map +1 -1
- package/dist/utils/abort.js.map +1 -1
- package/dist/utils/ansi.d.ts.map +1 -1
- package/dist/utils/ansi.js.map +1 -1
- package/dist/utils/changelog.d.ts.map +1 -1
- package/dist/utils/changelog.js.map +1 -1
- package/dist/utils/child-process.d.ts.map +1 -1
- package/dist/utils/child-process.js.map +1 -1
- package/dist/utils/clipboard-image.d.ts.map +1 -1
- package/dist/utils/clipboard-image.js.map +1 -1
- package/dist/utils/clipboard-native.d.ts.map +1 -1
- package/dist/utils/clipboard-native.js.map +1 -1
- package/dist/utils/clipboard.d.ts.map +1 -1
- package/dist/utils/clipboard.js.map +1 -1
- package/dist/utils/deprecation.d.ts.map +1 -1
- package/dist/utils/deprecation.js.map +1 -1
- package/dist/utils/exif-orientation.d.ts.map +1 -1
- package/dist/utils/exif-orientation.js.map +1 -1
- package/dist/utils/frontmatter.d.ts.map +1 -1
- package/dist/utils/frontmatter.js.map +1 -1
- package/dist/utils/fs-watch.d.ts.map +1 -1
- package/dist/utils/fs-watch.js.map +1 -1
- package/dist/utils/git.d.ts.map +1 -1
- package/dist/utils/git.js.map +1 -1
- package/dist/utils/html.d.ts.map +1 -1
- package/dist/utils/html.js.map +1 -1
- package/dist/utils/image-convert.d.ts.map +1 -1
- package/dist/utils/image-convert.js.map +1 -1
- package/dist/utils/image-process.d.ts.map +1 -1
- package/dist/utils/image-process.js.map +1 -1
- package/dist/utils/image-resize-core.d.ts.map +1 -1
- package/dist/utils/image-resize-core.js.map +1 -1
- package/dist/utils/image-resize-worker.d.ts.map +1 -1
- package/dist/utils/image-resize-worker.js.map +1 -1
- package/dist/utils/image-resize.d.ts.map +1 -1
- package/dist/utils/image-resize.js.map +1 -1
- package/dist/utils/json.d.ts.map +1 -1
- package/dist/utils/json.js.map +1 -1
- package/dist/utils/management-http.d.ts.map +1 -1
- package/dist/utils/management-http.js.map +1 -1
- package/dist/utils/mime.d.ts.map +1 -1
- package/dist/utils/mime.js.map +1 -1
- package/dist/utils/open-browser.d.ts.map +1 -1
- package/dist/utils/open-browser.js.map +1 -1
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js.map +1 -1
- package/dist/utils/photon.d.ts.map +1 -1
- package/dist/utils/photon.js.map +1 -1
- package/dist/utils/pi-user-agent.d.ts.map +1 -1
- package/dist/utils/pi-user-agent.js.map +1 -1
- package/dist/utils/shell.d.ts.map +1 -1
- package/dist/utils/shell.js.map +1 -1
- package/dist/utils/sleep.d.ts.map +1 -1
- package/dist/utils/sleep.js.map +1 -1
- package/dist/utils/syntax-highlight.d.ts.map +1 -1
- package/dist/utils/syntax-highlight.js.map +1 -1
- package/dist/utils/text.d.ts.map +1 -1
- package/dist/utils/text.js.map +1 -1
- package/dist/utils/tool-result-images.d.ts.map +1 -1
- package/dist/utils/tool-result-images.js.map +1 -1
- package/dist/utils/tools-manager.d.ts.map +1 -1
- package/dist/utils/tools-manager.js.map +1 -1
- package/dist/utils/version-check.d.ts.map +1 -1
- package/dist/utils/version-check.js.map +1 -1
- package/dist/utils/windows-self-update.d.ts.map +1 -1
- package/dist/utils/windows-self-update.js.map +1 -1
- package/docs/development-fork.md +170 -0
- package/docs/docs.json +25 -0
- package/docs/modules-infraestructura.md +115 -0
- package/docs/modules-motor.md +160 -0
- package/docs/modules-producto.md +179 -0
- package/docs/modules-seguridad.md +158 -0
- package/package.json +113 -113
- package/dist/core/commit/diff.d.ts.map +0 -1
- package/dist/core/commit/diff.js.map +0 -1
- package/dist/core/commit/mensaje.d.ts +0 -80
- package/dist/core/commit/mensaje.d.ts.map +0 -1
- package/dist/core/commit/mensaje.js +0 -207
- package/dist/core/commit/mensaje.js.map +0 -1
- /package/dist/core/{commit → commits}/diff.d.ts +0 -0
- /package/dist/core/{commit → commits}/diff.js +0 -0
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
|
|
2
|
+
if (typeof path === "string" && /^\.\.?\//.test(path)) {
|
|
3
|
+
return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
|
|
4
|
+
return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
|
|
5
|
+
});
|
|
6
|
+
}
|
|
7
|
+
return path;
|
|
8
|
+
};
|
|
9
|
+
import { existsSync } from "node:fs";
|
|
10
|
+
import { createInterface } from "node:readline";
|
|
11
|
+
import { AlmacenJson } from "./almacen-json.js";
|
|
12
|
+
/**
|
|
13
|
+
* Servidor MCP standalone de memoria: proceso JSON-RPC 2.0 sobre stdio que
|
|
14
|
+
* expone el almacén a CUALQUIER agente (CLI, Desktop, externo), no solo al
|
|
15
|
+
* que lo embebe. Hallazgo ME3 de la auditoría omp: mnemopi lo resuelve con
|
|
16
|
+
* `mcp-server.ts` + `mnemopi_shared_*`; aquí la superficie es
|
|
17
|
+
* `memoria_shared_*`.
|
|
18
|
+
*
|
|
19
|
+
* El núcleo (`procesarMensaje`) es puro respecto al transporte: recibe un
|
|
20
|
+
* mensaje ya parseado y devuelve la respuesta (o `null` para notificaciones,
|
|
21
|
+
* que no se responden). `iniciarServidorStdio` solo enchufa stdin/stdout
|
|
22
|
+
* alrededor; así el roundtrip se puede probar sin spawnear un proceso.
|
|
23
|
+
*
|
|
24
|
+
* Los nombres de tool comparten prefijo fijo (`memoria_shared_`) y sus
|
|
25
|
+
* esquemas no dependen del estado: clientes pueden cachear tools/list.
|
|
26
|
+
*/
|
|
27
|
+
const VERSION_PROTOCOLO = "2025-06-18";
|
|
28
|
+
const VERSION_SERVIDOR = "0.1.0";
|
|
29
|
+
export const PREFIJO_TOOLS = "memoria_shared_";
|
|
30
|
+
export const HERRAMIENTAS = [
|
|
31
|
+
{
|
|
32
|
+
name: `${PREFIJO_TOOLS}remember`,
|
|
33
|
+
description: "Guarda un recuerdo en el almacén de memoria compartido. Devuelve el id asignado o el motivo del rechazo.",
|
|
34
|
+
inputSchema: {
|
|
35
|
+
type: "object",
|
|
36
|
+
properties: {
|
|
37
|
+
contenido: { type: "string", description: "Texto del recuerdo (no vacío)." },
|
|
38
|
+
fuente: { type: "string", enum: ["usuario", "agente", "sistema"] },
|
|
39
|
+
ttlMs: { type: "number", description: "Tiempo de vida en milisegundos." },
|
|
40
|
+
},
|
|
41
|
+
required: ["contenido"],
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
name: `${PREFIJO_TOOLS}recall`,
|
|
46
|
+
description: "Recupera recuerdos relevantes para una consulta.",
|
|
47
|
+
inputSchema: {
|
|
48
|
+
type: "object",
|
|
49
|
+
properties: {
|
|
50
|
+
consulta: { type: "string" },
|
|
51
|
+
limite: { type: "number", description: "Máximo de recuerdos (10 por defecto)." },
|
|
52
|
+
},
|
|
53
|
+
required: ["consulta"],
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
];
|
|
57
|
+
export function crearContexto(opts) {
|
|
58
|
+
return {
|
|
59
|
+
almacen: opts.almacen,
|
|
60
|
+
infoServidor: { name: opts.nombre ?? "ada-memoria", version: opts.version ?? VERSION_SERVIDOR },
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Carga el almacén de memoria del slice ME1/ME2 (`../almacen.ts`,
|
|
65
|
+
* `MemoriaHibrida`) si existe y expone la forma esperada; si no, cae al
|
|
66
|
+
* fallback JSON local. El import dinámico es imprescindible aquí: el módulo
|
|
67
|
+
* es propiedad de otro directorio y puede no existir todavía (o la extensión
|
|
68
|
+
* cambia entre fuente `.ts` y dist `.js`), y un import estático rompería la
|
|
69
|
+
* build de `servidor/` de forma acoplada.
|
|
70
|
+
*/
|
|
71
|
+
export async function cargarAlmacen(directorio) {
|
|
72
|
+
const candidatos = ["../almacen.ts", "../almacen.js"].filter((s) => existsSync(new URL(s, import.meta.url)));
|
|
73
|
+
for (const especificador of candidatos) {
|
|
74
|
+
try {
|
|
75
|
+
const mod = (await import(__rewriteRelativeImportExtension(especificador)));
|
|
76
|
+
if (typeof mod?.MemoriaHibrida === "function")
|
|
77
|
+
return new mod.MemoriaHibrida({ directorio });
|
|
78
|
+
}
|
|
79
|
+
catch {
|
|
80
|
+
// Siguiente candidato; al final cae al fallback JSON.
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return new AlmacenJson(directorio);
|
|
84
|
+
}
|
|
85
|
+
function respuestaOk(id, result) {
|
|
86
|
+
return { jsonrpc: "2.0", id, result };
|
|
87
|
+
}
|
|
88
|
+
function respuestaError(id, code, message) {
|
|
89
|
+
return { jsonrpc: "2.0", id, error: { code, message } };
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Procesa un mensaje JSON-RPC 2.0 y devuelve la respuesta, o `null` si es una
|
|
93
|
+
* notificación (sin `id`). Errores estándar: -32601 método desconocido,
|
|
94
|
+
* -32602 parámetros inválidos, -32603 fallo interno.
|
|
95
|
+
*/
|
|
96
|
+
export async function procesarMensaje(mensaje, ctx) {
|
|
97
|
+
const peticion = mensaje;
|
|
98
|
+
if (typeof peticion?.method !== "string") {
|
|
99
|
+
return respuestaError(peticion?.id ?? null, -32600, "Petición inválida: falta method");
|
|
100
|
+
}
|
|
101
|
+
// Notificación (sin id): no se responde, ni siquiera con error.
|
|
102
|
+
if (peticion.id === undefined)
|
|
103
|
+
return null;
|
|
104
|
+
switch (peticion.method) {
|
|
105
|
+
case "initialize":
|
|
106
|
+
return respuestaOk(peticion.id, {
|
|
107
|
+
protocolVersion: VERSION_PROTOCOLO,
|
|
108
|
+
capabilities: { tools: {} },
|
|
109
|
+
serverInfo: ctx.infoServidor,
|
|
110
|
+
});
|
|
111
|
+
case "ping":
|
|
112
|
+
return respuestaOk(peticion.id, {});
|
|
113
|
+
case "tools/list":
|
|
114
|
+
return respuestaOk(peticion.id, { tools: HERRAMIENTAS });
|
|
115
|
+
case "tools/call": {
|
|
116
|
+
const params = peticion.params ?? {};
|
|
117
|
+
const nombre = params.name;
|
|
118
|
+
if (typeof nombre !== "string" || !HERRAMIENTAS.some((h) => h.name === nombre)) {
|
|
119
|
+
return respuestaError(peticion.id, -32602, `Tool desconocida: ${String(nombre)}`);
|
|
120
|
+
}
|
|
121
|
+
try {
|
|
122
|
+
const args = (params.arguments ?? {});
|
|
123
|
+
const resultado = await ejecutarTool(nombre, args, ctx);
|
|
124
|
+
// Formato MCP: contenido textual; isError marca fallo de la tool.
|
|
125
|
+
if (resultado.isError) {
|
|
126
|
+
return respuestaOk(peticion.id, {
|
|
127
|
+
content: [{ type: "text", text: resultado.texto }],
|
|
128
|
+
isError: true,
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
return respuestaOk(peticion.id, { content: [{ type: "text", text: resultado.texto }] });
|
|
132
|
+
}
|
|
133
|
+
catch (error) {
|
|
134
|
+
return respuestaError(peticion.id, -32603, error instanceof Error ? error.message : String(error));
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
default:
|
|
138
|
+
return respuestaError(peticion.id, -32601, `Método desconocido: ${peticion.method}`);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
async function ejecutarTool(nombre, args, ctx) {
|
|
142
|
+
switch (nombre) {
|
|
143
|
+
case `${PREFIJO_TOOLS}remember`: {
|
|
144
|
+
const contenido = args.contenido;
|
|
145
|
+
if (typeof contenido !== "string" || !contenido.trim()) {
|
|
146
|
+
return { texto: "Parámetro 'contenido' requerido (string no vacío).", isError: true };
|
|
147
|
+
}
|
|
148
|
+
const opciones = {};
|
|
149
|
+
if (typeof args.fuente === "string")
|
|
150
|
+
opciones.fuente = args.fuente;
|
|
151
|
+
if (typeof args.ttlMs === "number")
|
|
152
|
+
opciones.ttlMs = args.ttlMs;
|
|
153
|
+
const r = ctx.almacen.escribir(contenido, Object.keys(opciones).length > 0 ? opciones : undefined);
|
|
154
|
+
if (!r.ok)
|
|
155
|
+
return { texto: `Rechazado: ${r.motivo}`, isError: true };
|
|
156
|
+
return { texto: JSON.stringify({ id: r.id }) };
|
|
157
|
+
}
|
|
158
|
+
case `${PREFIJO_TOOLS}recall`: {
|
|
159
|
+
const consulta = args.consulta;
|
|
160
|
+
if (typeof consulta !== "string" || !consulta.trim()) {
|
|
161
|
+
return { texto: "Parámetro 'consulta' requerido (string no vacío).", isError: true };
|
|
162
|
+
}
|
|
163
|
+
const limite = typeof args.limite === "number" ? args.limite : undefined;
|
|
164
|
+
const recuerdos = ctx.almacen.recordar(consulta, limite);
|
|
165
|
+
return { texto: JSON.stringify(recuerdos) };
|
|
166
|
+
}
|
|
167
|
+
default:
|
|
168
|
+
return { texto: `Tool desconocida: ${nombre}`, isError: true };
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Bucle stdio: línea = mensaje JSON. Las respuestas salen como líneas NDJSON
|
|
173
|
+
* por stdout; los errores de parseo se responden con -32700 conservando el
|
|
174
|
+
* orden (nunca se mezclan respuestas de dos mensajes).
|
|
175
|
+
*/
|
|
176
|
+
export async function iniciarServidorStdio(ctx) {
|
|
177
|
+
const rl = createInterface({ input: process.stdin, terminal: false });
|
|
178
|
+
for await (const linea of rl) {
|
|
179
|
+
const recortada = linea.trim();
|
|
180
|
+
if (!recortada)
|
|
181
|
+
continue;
|
|
182
|
+
let salida;
|
|
183
|
+
try {
|
|
184
|
+
const mensaje = JSON.parse(recortada);
|
|
185
|
+
const respuesta = await procesarMensaje(mensaje, ctx);
|
|
186
|
+
salida = respuesta ? `${JSON.stringify(respuesta)}\n` : "";
|
|
187
|
+
}
|
|
188
|
+
catch {
|
|
189
|
+
salida = `${JSON.stringify(respuestaError(null, -32700, "JSON inválido"))}\n`;
|
|
190
|
+
}
|
|
191
|
+
if (salida)
|
|
192
|
+
process.stdout.write(salida);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
//# sourceMappingURL=servidor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"servidor.js","sourceRoot":"","sources":["../../../../src/core/memoria/servidor/servidor.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD;;;;;;;;;;;;;;GAcG;AAEH,MAAM,iBAAiB,GAAG,YAAY,CAAC;AACvC,MAAM,gBAAgB,GAAG,OAAO,CAAC;AACjC,MAAM,CAAC,MAAM,aAAa,GAAG,iBAA0B,CAAC;AAQxD,MAAM,CAAC,MAAM,YAAY,GAAqB;IAC7C;QACC,IAAI,EAAE,GAAG,aAAa,UAAU;QAChC,WAAW,EACV,0GAA0G;QAC3G,WAAW,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACX,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gCAAgC,EAAE;gBAC5E,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE;gBAClE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iCAAiC,EAAE;aACzE;YACD,QAAQ,EAAE,CAAC,WAAW,CAAC;SACvB;KACD;IACD;QACC,IAAI,EAAE,GAAG,aAAa,QAAQ;QAC9B,WAAW,EAAE,kDAAkD;QAC/D,WAAW,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACX,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAC5B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uCAAuC,EAAE;aAChF;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACtB;KACD;CACD,CAAC;AAQF,MAAM,UAAU,aAAa,CAAC,IAAoE;IACjG,OAAO;QACN,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,IAAI,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,gBAAgB,EAAE;KAC/F,CAAC;AACH,CAAC;AAID;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,UAAmB;IACtD,MAAM,UAAU,GAAG,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC7G,KAAK,MAAM,aAAa,IAAI,UAAU,EAAE,CAAC;QACxC,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,CAAC,MAAM,MAAM,kCAAC,aAAa,EAAC,CAAqC,CAAC;YAC9E,IAAI,OAAO,GAAG,EAAE,cAAc,KAAK,UAAU;gBAAE,OAAO,IAAI,GAAG,CAAC,cAAc,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;QAC9F,CAAC;QAAC,MAAM,CAAC;YACR,sDAAsD;QACvD,CAAC;IACF,CAAC;IACD,OAAO,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC;AACpC,CAAC;AASD,SAAS,WAAW,CAAC,EAAW,EAAE,MAAe;IAChD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;AACvC,CAAC;AAED,SAAS,cAAc,CAAC,EAAW,EAAE,IAAY,EAAE,OAAe;IACjE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC;AACzD,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACpC,OAAgB,EAChB,GAAqB;IAErB,MAAM,QAAQ,GAAG,OAA0B,CAAC;IAC5C,IAAI,OAAO,QAAQ,EAAE,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1C,OAAO,cAAc,CAAC,QAAQ,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,KAAK,EAAE,iCAAiC,CAAC,CAAC;IACxF,CAAC;IACD,gEAAgE;IAChE,IAAI,QAAQ,CAAC,EAAE,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAE3C,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC;QACzB,KAAK,YAAY;YAChB,OAAO,WAAW,CAAC,QAAQ,CAAC,EAAE,EAAE;gBAC/B,eAAe,EAAE,iBAAiB;gBAClC,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;gBAC3B,UAAU,EAAE,GAAG,CAAC,YAAY;aAC5B,CAAC,CAAC;QACJ,KAAK,MAAM;YACV,OAAO,WAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACrC,KAAK,YAAY;YAChB,OAAO,WAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;QAC1D,KAAK,YAAY,CAAC,CAAC,CAAC;YACnB,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;YACrC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;YAC3B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,CAAC;gBAChF,OAAO,cAAc,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,qBAAqB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACnF,CAAC;YACD,IAAI,CAAC;gBACJ,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAA4B,CAAC;gBACjE,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;gBACxD,kEAAkE;gBAClE,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;oBACvB,OAAO,WAAW,CAAC,QAAQ,CAAC,EAAE,EAAE;wBAC/B,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC;wBAClD,OAAO,EAAE,IAAI;qBACb,CAAC,CAAC;gBACJ,CAAC;gBACD,OAAO,WAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YACzF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,OAAO,cAAc,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACpG,CAAC;QACF,CAAC;QACD;YACC,OAAO,cAAc,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACvF,CAAC;AACF,CAAC;AAED,KAAK,UAAU,YAAY,CAC1B,MAAc,EACd,IAA6B,EAC7B,GAAqB;IAErB,QAAQ,MAAM,EAAE,CAAC;QAChB,KAAK,GAAG,aAAa,UAAU,CAAC,CAAC,CAAC;YACjC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACjC,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;gBACxD,OAAO,EAAE,KAAK,EAAE,oDAAoD,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACvF,CAAC;YACD,MAAM,QAAQ,GAA4B,EAAE,CAAC;YAC7C,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ;gBAAE,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YACnE,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ;gBAAE,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAChE,MAAM,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,CAC7B,SAAS,EACT,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAE,QAAsD,CAAC,CAAC,CAAC,SAAS,CACtG,CAAC;YACF,IAAI,CAAC,CAAC,CAAC,EAAE;gBAAE,OAAO,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACrE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QAChD,CAAC;QACD,KAAK,GAAG,aAAa,QAAQ,CAAC,CAAC,CAAC;YAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC/B,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;gBACtD,OAAO,EAAE,KAAK,EAAE,mDAAmD,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACtF,CAAC;YACD,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YACzE,MAAM,SAAS,GAAe,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACrE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7C,CAAC;QACD;YACC,OAAO,EAAE,KAAK,EAAE,qBAAqB,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACjE,CAAC;AACF,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,GAAqB;IAC/D,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;IACtE,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,EAAE,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,SAAS;YAAE,SAAS;QACzB,IAAI,MAAc,CAAC;QACnB,IAAI,CAAC;YACJ,MAAM,OAAO,GAAY,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC/C,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACtD,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,CAAC;QAAC,MAAM,CAAC;YACR,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC;QAC/E,CAAC;QACD,IAAI,MAAM;YAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Contrato mínimo que el servidor MCP de memoria y el DR backup exigen a un
|
|
3
|
+
* almacén de recuerdos.
|
|
4
|
+
*
|
|
5
|
+
* Es deliberadamente un subconjunto de la interfaz de `MemoriaHibrida`
|
|
6
|
+
* (`../almacen.ts`): el servidor importa ese almacén si existe y, si no,
|
|
7
|
+
* cae al fallback JSON local (`almacen-json.ts`) que implementa este mismo
|
|
8
|
+
* contrato. Así la superficie MCP no se acopla a los internos del almacén
|
|
9
|
+
* híbrido ni a su ciclo de vida.
|
|
10
|
+
*/
|
|
11
|
+
/** Un recuerdo devuelto por una consulta. */
|
|
12
|
+
export interface Recuerdo {
|
|
13
|
+
id: string;
|
|
14
|
+
contenido: string;
|
|
15
|
+
puntuacion?: number;
|
|
16
|
+
}
|
|
17
|
+
/** Opciones de escritura (espejo de `MemoriaHibrida.escribir`). */
|
|
18
|
+
export interface OpcionesEscritura {
|
|
19
|
+
fuente?: "usuario" | "agente" | "sistema";
|
|
20
|
+
ttlMs?: number;
|
|
21
|
+
}
|
|
22
|
+
export type ResultadoEscritura = {
|
|
23
|
+
ok: true;
|
|
24
|
+
id: string;
|
|
25
|
+
} | {
|
|
26
|
+
ok: false;
|
|
27
|
+
motivo: string;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* El almacén visto por el servidor MCP y por el DR.
|
|
31
|
+
*
|
|
32
|
+
* `listar` y `reemplazarTodo` son las dos operaciones extra que necesita el
|
|
33
|
+
* respaldo de recuperación ante desastres: volcar todo y sustituir todo. Son
|
|
34
|
+
* opcionales porque un almacén puede exponer solo lectura/escritura; sin
|
|
35
|
+
* ellas, ese almacén no es respaldable vía esta capa (el DR lo rechaza con
|
|
36
|
+
* un motivo claro en vez de inventarse un vaciado parcial).
|
|
37
|
+
*/
|
|
38
|
+
export interface AlmacenMemoria {
|
|
39
|
+
escribir(contenido: string, opciones?: OpcionesEscritura): ResultadoEscritura;
|
|
40
|
+
recordar(consulta: string, limite?: number): Recuerdo[];
|
|
41
|
+
listar?(): Recuerdo[];
|
|
42
|
+
reemplazarTodo?(recuerdos: Recuerdo[]): void;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=tipos.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tipos.d.ts","sourceRoot":"","sources":["../../../../src/core/memoria/servidor/tipos.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,6CAA6C;AAC7C,MAAM,WAAW,QAAQ;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,mEAAmE;AACnE,MAAM,WAAW,iBAAiB;IACjC,MAAM,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,kBAAkB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1F;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,kBAAkB,CAAC;IAC9E,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,EAAE,CAAC;IACxD,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;IACtB,cAAc,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;CAC7C"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Contrato mínimo que el servidor MCP de memoria y el DR backup exigen a un
|
|
3
|
+
* almacén de recuerdos.
|
|
4
|
+
*
|
|
5
|
+
* Es deliberadamente un subconjunto de la interfaz de `MemoriaHibrida`
|
|
6
|
+
* (`../almacen.ts`): el servidor importa ese almacén si existe y, si no,
|
|
7
|
+
* cae al fallback JSON local (`almacen-json.ts`) que implementa este mismo
|
|
8
|
+
* contrato. Así la superficie MCP no se acopla a los internos del almacén
|
|
9
|
+
* híbrido ni a su ciclo de vida.
|
|
10
|
+
*/
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=tipos.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tipos.js","sourceRoot":"","sources":["../../../../src/core/memoria/servidor/tipos.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tipos compartidos de la memoria vectorial híbrida (ME1/ME2).
|
|
3
|
+
*
|
|
4
|
+
* Ciclo de vida (AUDITORIA-OMP.md ME2): toda memoria nace con sello temporal,
|
|
5
|
+
* se refresca al usarse, decae con la edad y se purga cuando expira o queda
|
|
6
|
+
* sustituida. La lectura SIEMPRE filtra expirados y sustituidos — la purga es
|
|
7
|
+
* solo la recolección física posterior.
|
|
8
|
+
*/
|
|
9
|
+
/** Quién originó la memoria — decide su peso en el ranking. */
|
|
10
|
+
export type FuenteMemoria = "usuario" | "agente" | "sistema";
|
|
11
|
+
export declare const PESO_POR_FUENTE: Record<FuenteMemoria, number>;
|
|
12
|
+
/** Un registro de memoria con ciclo de vida completo. */
|
|
13
|
+
export interface RegistroMemoria {
|
|
14
|
+
id: string;
|
|
15
|
+
contenido: string;
|
|
16
|
+
/** Embedding local hash-based (sin red), normalizado. */
|
|
17
|
+
embedding: number[];
|
|
18
|
+
creadoEn: number;
|
|
19
|
+
/** Última vez que se refrescó — base del decaimiento. */
|
|
20
|
+
refrescadoEn: number;
|
|
21
|
+
/** Marca temporal tras la cual el registro está expirado (valid_until). */
|
|
22
|
+
expiraEn: number;
|
|
23
|
+
/** Si existe, este registro quedó sustituido por otro (superseded_by). */
|
|
24
|
+
sustituidoPor?: string;
|
|
25
|
+
fuente: FuenteMemoria;
|
|
26
|
+
}
|
|
27
|
+
/** Resultado de una escritura (siempre tras pasar por redacción PR6). */
|
|
28
|
+
export type EscrituraMemoria = {
|
|
29
|
+
ok: true;
|
|
30
|
+
id: string;
|
|
31
|
+
redacciones: Redaccion[];
|
|
32
|
+
} | {
|
|
33
|
+
ok: false;
|
|
34
|
+
motivo: string;
|
|
35
|
+
};
|
|
36
|
+
/** Un secreto detectado y tapado antes de tocar disco o vector. */
|
|
37
|
+
export interface Redaccion {
|
|
38
|
+
patron: string;
|
|
39
|
+
veces: number;
|
|
40
|
+
}
|
|
41
|
+
/** Resultado de recall híbrido: mezcla vectorial + léxico (BM25) + frescura. */
|
|
42
|
+
export interface ResultadoRecall {
|
|
43
|
+
id: string;
|
|
44
|
+
contenido: string;
|
|
45
|
+
puntuacion: number;
|
|
46
|
+
/** Componentes expuestos para diagnóstico/tests — el orden usa `puntuacion`. */
|
|
47
|
+
componentes: {
|
|
48
|
+
vector: number;
|
|
49
|
+
bm25: number;
|
|
50
|
+
frescura: number;
|
|
51
|
+
fuente: number;
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
/** Opciones de construcción del almacén. */
|
|
55
|
+
export interface OpcionesMemoria {
|
|
56
|
+
/** Si se da, persiste JSON atómicamente en `<directorio>/memoria-hibrida.json`. */
|
|
57
|
+
directorio?: string;
|
|
58
|
+
/** Reloj inyectable para tests de ciclo de vida. Por defecto Date.now. */
|
|
59
|
+
ahora?: () => number;
|
|
60
|
+
/** TTL por defecto de una memoria nueva (ms). */
|
|
61
|
+
ttlPorDefectoMs?: number;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=tipos.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tipos.d.ts","sourceRoot":"","sources":["../../../src/core/memoria/tipos.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,+DAA+D;AAC/D,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE7D,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAIzD,CAAC;AAEF,yDAAyD;AACzD,MAAM,WAAW,eAAe;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,yDAAyD;IACzD,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,YAAY,EAAE,MAAM,CAAC;IACrB,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,CAAC;IACjB,0EAA0E;IAC1E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,aAAa,CAAC;CACtB;AAED,yEAAyE;AACzE,MAAM,MAAM,gBAAgB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,SAAS,EAAE,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAElH,mEAAmE;AACnE,MAAM,WAAW,SAAS;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACd;AAED,gFAAgF;AAChF,MAAM,WAAW,eAAe;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,gFAAgF;IAChF,WAAW,EAAE;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;KACf,CAAC;CACF;AAED,4CAA4C;AAC5C,MAAM,WAAW,eAAe;IAC/B,mFAAmF;IACnF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;IACrB,iDAAiD;IACjD,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tipos compartidos de la memoria vectorial híbrida (ME1/ME2).
|
|
3
|
+
*
|
|
4
|
+
* Ciclo de vida (AUDITORIA-OMP.md ME2): toda memoria nace con sello temporal,
|
|
5
|
+
* se refresca al usarse, decae con la edad y se purga cuando expira o queda
|
|
6
|
+
* sustituida. La lectura SIEMPRE filtra expirados y sustituidos — la purga es
|
|
7
|
+
* solo la recolección física posterior.
|
|
8
|
+
*/
|
|
9
|
+
export const PESO_POR_FUENTE = {
|
|
10
|
+
usuario: 1,
|
|
11
|
+
agente: 0.7,
|
|
12
|
+
sistema: 0.4,
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=tipos.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tipos.js","sourceRoot":"","sources":["../../../src/core/memoria/tipos.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,MAAM,CAAC,MAAM,eAAe,GAAkC;IAC7D,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,GAAG;IACX,OAAO,EAAE,GAAG;CACZ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit-export.d.ts","sourceRoot":"","sources":["../../../src/core/memory-engine/audit-export.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,MAAM,WAAW,gBAAgB;IAChC,
|
|
1
|
+
{"version":3,"file":"audit-export.d.ts","sourceRoot":"","sources":["../../../src/core/memory-engine/audit-export.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,MAAM,WAAW,gBAAgB;IAChC,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,MAAM,EAAE,MAAM,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC5C,uCAAuC;IACvC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;CACpE;AAED,MAAM,WAAW,mBAAmB;IACnC,OAAO,EAAE,CAAC,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;;OAQG;IACH,KAAK,EAAE,oBAAoB,CAAC;IAC5B,MAAM,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD,2DAA2D;IAC3D,WAAW,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACtC,KAAK,EAAE,gBAAgB,EACvB,MAAM,EAAE,MAAM,EACd,GAAG,GAAE,MAAM,MAAuC,GAChD,OAAO,CAAC,mBAAmB,CAAC,CA+E9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit-export.js","sourceRoot":"","sources":["../../../src/core/memory-engine/audit-export.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAqCjC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACtC,KAAuB,EACvB,MAAc,EACd,
|
|
1
|
+
{"version":3,"file":"audit-export.js","sourceRoot":"","sources":["../../../src/core/memory-engine/audit-export.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit-indice.d.ts","sourceRoot":"","sources":["../../../src/core/memory-engine/audit-indice.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiEG;AAKH,mEAAmE;AACnE,eAAO,MAAM,SAAS,UAAU,CAAC;AAEjC;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,iBAAiB,CAAC;AAK/C,wFAAkF;AAClF,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;AAEjE;;;;;;;;;GASG;AACH,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,iBAAiB,GAAG,UAAU,CAAC;AAEvG,MAAM,WAAW,oBAAoB;IACpC,MAAM,EAAE,iBAAiB,CAAC;IAC1B;;;;;OAKG;IACH,KAAK,EAAE,OAAO,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,kDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0EAAwE;IACxE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,0FAAsF;IACtF,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACnD,4EAA2E;IAC3E,WAAW,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACtE;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,4EAA4E;AAC5E,KAAK,WAAW,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC;AAUvF;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI9F;AAgBD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAuJxG","sourcesContent":["/**\n * El índice del audit del motor de memoria: lo que DEBERÍA existir.\n *\n * EL AGUJERO, medido antes de escribir nada, sobre un directorio temporal con\n * cinco entradas y la implementación de `audit.ts` tal como estaba:\n *\n * 1) las 5 entradas intactas : {\"valid\":true,\"entriesChecked\":5}\n * 2) editada la del medio : {\"valid\":false,\"entriesChecked\":2}\n * 3) fichero BORRADO entero : {\"valid\":true,\"entriesChecked\":0} <- éxito\n * 4) TRUNCADO (-2 últimas) : {\"valid\":true,\"entriesChecked\":3} <- éxito\n * 5) QUITADA una del medio : {\"valid\":false,\"entriesChecked\":2}\n *\n * Y las dos que sacan la forma completa:\n *\n * B) directorio `audit/` borrado : {\"valid\":false,\"entriesChecked\":0}\n * C) instalación nueva : {\"valid\":false,\"entriesChecked\":0} <- lo mismo\n *\n * O sea: no había tres estados, había dos, y ninguno caía donde debía. Un\n * borrado se leía como éxito y una instalación virgen se leía como\n * manipulación — un detector que acusa a toda instalación limpia deja de\n * leerse, y con él se va también la señal de la manipulación real.\n *\n * LA RAZÓN DE FONDO, y por eso esto es un módulo aparte y no un `if` más en\n * `verify`: la cadena de hashes NO PUEDE, por construcción, hablar de lo que ya\n * no está. `readdir(audit/)` solo sabe contestar «lo que hay». Para contestar\n * «lo que debería haber» hace falta un registro APARTE, que es exactamente lo\n * que `audit/libro.ts` resolvió con su índice de dos directorios.\n *\n * LA DIFERENCIA CON `libro.ts`, que es la que decide el diseño: allí el ancla\n * es un ENLACE DURO por fichero, y basta porque el ataque que importa es `rm`.\n * Aquí no basta. Un enlace duro comparte inodo, así que `truncate` recorta los\n * bytes de los DOS nombres a la vez y el caso 4 seguiría pasando entero. Y el\n * caso 4 tiene una variante peor, la que de verdad ocurre: truncar y dejar que\n * el proceso siga: `load()` lee la última entrada superviviente, retoma `seq` y\n * `lastHash` desde ahí y encadena por encima del hueco. Quedan `seq` 1,2,3,4\n * correlativos y cadena perfecta, con dos entradas desaparecidas y ni una sola\n * señal.\n *\n * Por eso el ancla de aquí es por ENTRADA y no por fichero: un fichero\n * `<nombre>.ancla` en `audit-indice/`, append-only, con el hash de cada entrada\n * escrita, uno por línea. Verificar es entonces una resta de conjuntos: los\n * hashes que el índice recuerda y que ya no aparecen en el log son entradas que\n * han desaparecido, se las hayan llevado borrando el fichero, recortándole la\n * cola o quitándolas del medio.\n *\n * DOS DECISIONES QUE CONVIENE NO DESHACER SIN PENSARLAS:\n *\n * 1. **Se ancla DESPUÉS de escribir la entrada, nunca antes.** Al revés —\n * escribir el ancla primero— un proceso que muera entre las dos escrituras\n * dejaría un hash anclado cuya entrada no llegó nunca, y la siguiente\n * verificación acusaría de manipulación a un simple corte de luz. Se prefiere\n * el fallo del otro lado: durante esa ventana de microsegundos la última\n * entrada está sin anclar y su desaparición no se detectaría. Un falso\n * negativo estrechísimo es mejor que un falso positivo en cada caída.\n * 2. **Lo que sobra no acusa.** Entradas del log que no estén en el índice NO\n * son un hallazgo: son logs escritos antes de que el índice existiera, o la\n * ventana del punto anterior. Solo cuenta lo que el índice recuerda y ya no\n * está. Sin esta asimetría, el día de la actualización toda instalación\n * existente gritaría «manipulado».\n *\n * HASTA DÓNDE LLEGA, dicho sin adornos: quien borre los DOS directorios deja un\n * registro vacío indistinguible de una instalación nueva. Contra eso no hay\n * ancla local que valga —cualquier ancla en el mismo disco y con los mismos\n * permisos se borra igual—; hace falta un ancla externa. Lo que esto elimina es\n * que un solo `rm` o un solo `truncate` pasen desapercibidos.\n */\n\nimport { appendFile, mkdir, readdir, readFile } from \"node:fs/promises\";\nimport { join } from \"node:path\";\n\n/** Donde vive el log: `<rootDir>/audit/audit-YYYY-MM-DD.jsonl`. */\nexport const DIR_AUDIT = \"audit\";\n\n/**\n * El índice: `<rootDir>/audit-indice/<nombre del log>.ancla`.\n *\n * Va FUERA de `audit/` a propósito. Dentro, el `rm -rf audit/` que este\n * mecanismo existe para detectar se llevaría por delante también la prueba.\n */\nexport const DIR_INDICE_AUDIT = \"audit-indice\";\n\nconst RE_LOG = /^audit-.*\\.jsonl$/;\nconst SUFIJO_ANCLA = \".ancla\";\n\n/** Los tres estados. «Vacío» NO es «íntegro»: ver la cabecera de este fichero. */\nexport type EstadoDelRegistro = \"integro\" | \"alterado\" | \"vacio\";\n\n/**\n * Por qué está alterado, que no es lo mismo que el hecho de que lo esté.\n *\n * Un detector que diera el mismo veredicto a tres causas distintas no\n * distinguiría ninguna, y el mensaje acabaría acusando de lo que no es.\n *\n * `ilegible` es el que no acusa de nada: es «no lo he podido mirar», y va\n * separado de los demás porque para quien responde a una auditoría no es lo\n * mismo que «lo he mirado y no cuadra».\n */\nexport type CausaDeAlteracion = \"editada\" | \"enlace-roto\" | \"borrado\" | \"faltan-entradas\" | \"ilegible\";\n\nexport interface VeredictoDelRegistro {\n\testado: EstadoDelRegistro;\n\t/**\n\t * Compat con quien ya lee este veredicto: el modo interactivo, la ruta\n\t * `/api/memory/audit` del escritorio y `audit-export.ts`. Es `estado ===\n\t * \"integro\" || estado === \"vacio\"` — una instalación virgen no está\n\t * manipulada, y quien quiera distinguirlas tiene `estado`.\n\t */\n\tvalid: boolean;\n\tentriesChecked: number;\n\t/** Sello de tiempo de la primera entrada que no cuadra. */\n\ttamperedAt?: string;\n\tcausa?: CausaDeAlteracion;\n\t/** Por qué no verifica, en una frase estable. */\n\tmotivo?: string;\n\t/** Dónde mirar. Sin esto el aviso de manipulación se queda en susto. */\n\tficheroAlterado?: string;\n\t/** Ficheros que el índice recuerda y que ya no están, con cuántas entradas tenían. */\n\tborrados?: { fichero: string; entradas: number }[];\n\t/** Ficheros que siguen ahí pero a los que les faltan entradas ancladas. */\n\tincompletos?: { fichero: string; entradas: number; faltan: number }[];\n\t/**\n\t * Ficheros del log sin ancla en el índice: logs anteriores al índice.\n\t *\n\t * NO es una acusación y por eso va aparte: meterlo en `estado: \"alterado\"`\n\t * habría hecho que toda instalación ya existente gritara «manipulado» el día\n\t * de la actualización.\n\t */\n\tsinAncla?: string[];\n}\n\n/** Carga a hashear de una entrada, tal y como `audit.ts` la reconstruye. */\ntype Rehasheador = (prevHash: string | null, carga: Record<string, unknown>) => string;\n\n/** Lo mínimo que la verificación necesita saber de una entrada. */\ninterface EntradaLeida {\n\tts?: string;\n\thash?: string;\n\tprevHash?: string | null;\n\t[campo: string]: unknown;\n}\n\n/**\n * Anota en el índice el hash de una entrada recién escrita.\n *\n * Append-only y una línea por entrada: sobrescribir un ancla con «la última»\n * la volvería inútil justo en el caso que importa, porque tras un truncado el\n * proceso siguiente la sobrescribiría con un número MENOR y borraría la prueba.\n */\nexport async function anclarEntrada(raiz: string, fichero: string, hash: string): Promise<void> {\n\tconst dir = join(raiz, DIR_INDICE_AUDIT);\n\tawait mkdir(dir, { recursive: true });\n\tawait appendFile(join(dir, fichero + SUFIJO_ANCLA), `${hash}\\n`, \"utf-8\");\n}\n\n/** `null` = no se ha podido mirar, que no es lo mismo que «no hay nada». */\nasync function listar(dir: string, filtro: RegExp): Promise<string[] | null> {\n\ttry {\n\t\treturn (await readdir(dir)).filter((f) => filtro.test(f)).sort();\n\t} catch (error) {\n\t\tif ((error as NodeJS.ErrnoException).code === \"ENOENT\") return [];\n\t\treturn null;\n\t}\n}\n\nfunction veredictoIlegible(motivo: string, comprobadas = 0): VeredictoDelRegistro {\n\treturn { estado: \"alterado\", valid: false, entriesChecked: comprobadas, causa: \"ilegible\", motivo };\n}\n\n/**\n * Verifica el registro entero y contesta TRES estados.\n *\n * Reparto de tareas, que es lo que hace que esto no sea un parche:\n *\n * · la cadena de hashes dice si lo que HAY está intacto y en orden;\n * · el índice dice si lo que hay es TODO lo que hubo.\n *\n * Ninguna de las dos puede contestar la pregunta de la otra.\n *\n * `rehash` se inyecta en vez de importarse para no crear un ciclo con\n * `audit.ts`, que es quien tiene la única canonicalización buena — la misma que\n * usa al escribir, reconstruida con un rest para que las dos caras no puedan\n * divergir.\n */\nexport async function verificarRegistro(raiz: string, rehash: Rehasheador): Promise<VeredictoDelRegistro> {\n\tconst dirAudit = join(raiz, DIR_AUDIT);\n\tconst dirIndice = join(raiz, DIR_INDICE_AUDIT);\n\n\tconst logs = await listar(dirAudit, RE_LOG);\n\tif (logs === null)\n\t\treturn veredictoIlegible(\"no se ha podido leer el directorio del registro: no es «está bien», es «no lo sé»\");\n\tconst anclas = await listar(dirIndice, new RegExp(`^audit-.*\\\\.jsonl\\\\${SUFIJO_ANCLA}$`));\n\tif (anclas === null)\n\t\treturn veredictoIlegible(\"no se ha podido leer el índice del registro: no es «está bien», es «no lo sé»\");\n\n\t// Lo que el índice recuerda, por fichero.\n\tconst recordados = new Map<string, string[]>();\n\tfor (const ancla of anclas) {\n\t\tconst nombre = ancla.slice(0, -SUFIJO_ANCLA.length);\n\t\ttry {\n\t\t\tconst hashes = (await readFile(join(dirIndice, ancla), \"utf-8\")).split(\"\\n\").filter(Boolean);\n\t\t\tif (hashes.length > 0) recordados.set(nombre, hashes);\n\t\t} catch {\n\t\t\treturn veredictoIlegible(`no se ha podido leer el ancla de ${nombre}: no es «está bien», es «no lo sé»`);\n\t\t}\n\t}\n\n\t// Un registro que nunca se escribió NO es un registro íntegro. Este es el\n\t// caso C: sin esto, la instalación virgen daba el mismo veredicto que el\n\t// directorio borrado del caso B.\n\tif (logs.length === 0 && recordados.size === 0) {\n\t\treturn { estado: \"vacio\", valid: true, entriesChecked: 0 };\n\t}\n\n\tconst presentes = new Set(logs);\n\tconst borrados: { fichero: string; entradas: number }[] = [];\n\tconst incompletos: { fichero: string; entradas: number; faltan: number }[] = [];\n\tconst sinAncla: string[] = [];\n\n\t// Los ficheros que el índice recuerda y ya NO están. Se cuentan antes de\n\t// recorrer la cadena porque son la EXPLICACIÓN de los enlaces rotos que\n\t// vengan después: sin esto, un fichero borrado se denunciaría como «enlace\n\t// roto» en el fichero siguiente, acusando de mover entradas a quien borró un\n\t// día entero.\n\tfor (const [nombre, hashes] of recordados) {\n\t\tif (!presentes.has(nombre)) borrados.push({ fichero: nombre, entradas: hashes.length });\n\t}\n\n\tlet prevHash: string | null = null;\n\tlet comprobadas = 0;\n\t// La cadena del audit de memoria es GLOBAL entre ficheros —`append` nunca\n\t// reinicia `prevHash` al cambiar de día—, así que se arrastra de un fichero\n\t// al siguiente. Es justo al revés que en `libro.ts`, donde cada fichero es\n\t// una sesión y empieza en `null`.\n\tfor (const nombre of logs) {\n\t\tconst anclados = recordados.get(nombre);\n\t\tif (!anclados) sinAncla.push(nombre);\n\t\tlet crudo: string;\n\t\ttry {\n\t\t\tcrudo = await readFile(join(dirAudit, nombre), \"utf-8\");\n\t\t} catch {\n\t\t\treturn {\n\t\t\t\t...veredictoIlegible(`no se ha podido leer ${nombre}: no es «está bien», es «no lo sé»`, comprobadas),\n\t\t\t\tficheroAlterado: nombre,\n\t\t\t};\n\t\t}\n\t\tconst vistos = new Set<string>();\n\t\tfor (const linea of crudo.split(\"\\n\").filter(Boolean)) {\n\t\t\tlet entrada: EntradaLeida;\n\t\t\ttry {\n\t\t\t\tentrada = JSON.parse(linea) as EntradaLeida;\n\t\t\t} catch {\n\t\t\t\treturn {\n\t\t\t\t\testado: \"alterado\",\n\t\t\t\t\tvalid: false,\n\t\t\t\t\tentriesChecked: comprobadas,\n\t\t\t\t\tcausa: \"editada\",\n\t\t\t\t\tmotivo: \"hay una línea que no es JSON válido\",\n\t\t\t\t\tficheroAlterado: nombre,\n\t\t\t\t\t...(borrados.length ? { borrados } : {}),\n\t\t\t\t};\n\t\t\t}\n\t\t\tconst { hash, prevHash: declarado, ...carga } = entrada;\n\t\t\t// Dos preguntas distintas que antes iban juntas y contestaban lo mismo:\n\t\t\t//\n\t\t\t// · ¿el hash cuadra con SU PROPIO contenido? -> la han editado.\n\t\t\t// · ¿su `prevHash` apunta a la anterior? -> faltan entradas o\n\t\t\t// están cambiadas de orden.\n\t\t\tif (typeof hash !== \"string\" || hash !== rehash(declarado ?? null, carga)) {\n\t\t\t\treturn {\n\t\t\t\t\testado: \"alterado\",\n\t\t\t\t\tvalid: false,\n\t\t\t\t\tentriesChecked: comprobadas,\n\t\t\t\t\ttamperedAt: entrada.ts,\n\t\t\t\t\tcausa: \"editada\",\n\t\t\t\t\tmotivo: \"el hash de una entrada no cuadra con su contenido: la han editado\",\n\t\t\t\t\tficheroAlterado: nombre,\n\t\t\t\t\t...(borrados.length ? { borrados } : {}),\n\t\t\t\t};\n\t\t\t}\n\t\t\tif ((declarado ?? null) !== prevHash) {\n\t\t\t\t// Un enlace roto DESPUÉS de una ausencia ya conocida no es un\n\t\t\t\t// hallazgo nuevo: es su consecuencia. Se sigue leyendo para poder\n\t\t\t\t// contar lo que queda, y la causa se decide al final.\n\t\t\t\tif (borrados.length === 0 && incompletos.length === 0) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\testado: \"alterado\",\n\t\t\t\t\t\tvalid: false,\n\t\t\t\t\t\tentriesChecked: comprobadas,\n\t\t\t\t\t\ttamperedAt: entrada.ts,\n\t\t\t\t\t\tcausa: \"enlace-roto\",\n\t\t\t\t\t\tmotivo:\n\t\t\t\t\t\t\t\"el enlace de una entrada no apunta a la anterior: faltan entradas o están cambiadas de orden\",\n\t\t\t\t\t\tficheroAlterado: nombre,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t\tvistos.add(hash);\n\t\t\tprevHash = hash;\n\t\t\tcomprobadas++;\n\t\t}\n\t\t// La resta que la cadena no puede hacer: lo que el índice recuerda y el\n\t\t// fichero ya no enseña. Cubre el truncado, el truncado-y-seguir-\n\t\t// escribiendo, y la entrada quitada del medio.\n\t\tif (anclados) {\n\t\t\tconst faltan = anclados.filter((h) => !vistos.has(h)).length;\n\t\t\tif (faltan > 0) incompletos.push({ fichero: nombre, entradas: anclados.length, faltan });\n\t\t}\n\t}\n\n\tif (borrados.length > 0 || incompletos.length > 0) {\n\t\tconst soloBorrados = incompletos.length === 0;\n\t\treturn {\n\t\t\testado: \"alterado\",\n\t\t\tvalid: false,\n\t\t\tentriesChecked: comprobadas,\n\t\t\tcausa: soloBorrados ? \"borrado\" : \"faltan-entradas\",\n\t\t\tmotivo: soloBorrados\n\t\t\t\t? \"el índice recuerda ficheros que ya no están: los han borrado\"\n\t\t\t\t: \"faltan entradas que el índice recuerda haber escrito: las han quitado del registro\",\n\t\t\t...(borrados.length ? { borrados } : {}),\n\t\t\t...(incompletos.length ? { incompletos } : {}),\n\t\t\t...(sinAncla.length ? { sinAncla } : {}),\n\t\t};\n\t}\n\n\t// Un registro con ancla y sin entradas todavía sigue siendo un registro\n\t// vacío: `estado: \"vacio\"` y no `\"integro\"`, para que la respuesta no\n\t// dependa de si el índice llegó a crearse antes de la primera entrada.\n\treturn {\n\t\testado: comprobadas === 0 ? \"vacio\" : \"integro\",\n\t\tvalid: true,\n\t\tentriesChecked: comprobadas,\n\t\t...(sinAncla.length ? { sinAncla } : {}),\n\t};\n}\n"]}
|
|
1
|
+
{"version":3,"file":"audit-indice.d.ts","sourceRoot":"","sources":["../../../src/core/memory-engine/audit-indice.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiEG;AAKH,mEAAmE;AACnE,eAAO,MAAM,SAAS,UAAU,CAAC;AAEjC;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,iBAAiB,CAAC;AAK/C,kFAAkF;AAClF,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;AAEjE;;;;;;;;;GASG;AACH,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,iBAAiB,GAAG,UAAU,CAAC;AAEvG,MAAM,WAAW,oBAAoB;IACpC,MAAM,EAAE,iBAAiB,CAAC;IAC1B;;;;;OAKG;IACH,KAAK,EAAE,OAAO,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sFAAsF;IACtF,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACnD,2EAA2E;IAC3E,WAAW,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACtE;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,4EAA4E;AAC5E,KAAK,WAAW,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC;AAUvF;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI9F;AAgBD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAuJxG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit-indice.js","sourceRoot":"","sources":["../../../src/core/memory-engine/audit-indice.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * El índice del audit del motor de memoria: lo que DEBERÍA existir.\n *\n * EL AGUJERO, medido antes de escribir nada, sobre un directorio temporal con\n * cinco entradas y la implementación de `audit.ts` tal como estaba:\n *\n * 1) las 5 entradas intactas : {\"valid\":true,\"entriesChecked\":5}\n * 2) editada la del medio : {\"valid\":false,\"entriesChecked\":2}\n * 3) fichero BORRADO entero : {\"valid\":true,\"entriesChecked\":0} <- éxito\n * 4) TRUNCADO (-2 últimas) : {\"valid\":true,\"entriesChecked\":3} <- éxito\n * 5) QUITADA una del medio : {\"valid\":false,\"entriesChecked\":2}\n *\n * Y las dos que sacan la forma completa:\n *\n * B) directorio `audit/` borrado : {\"valid\":false,\"entriesChecked\":0}\n * C) instalación nueva : {\"valid\":false,\"entriesChecked\":0} <- lo mismo\n *\n * O sea: no había tres estados, había dos, y ninguno caía donde debía. Un\n * borrado se leía como éxito y una instalación virgen se leía como\n * manipulación — un detector que acusa a toda instalación limpia deja de\n * leerse, y con él se va también la señal de la manipulación real.\n *\n * LA RAZÓN DE FONDO, y por eso esto es un módulo aparte y no un `if` más en\n * `verify`: la cadena de hashes NO PUEDE, por construcción, hablar de lo que ya\n * no está. `readdir(audit/)` solo sabe contestar «lo que hay». Para contestar\n * «lo que debería haber» hace falta un registro APARTE, que es exactamente lo\n * que `audit/libro.ts` resolvió con su índice de dos directorios.\n *\n * LA DIFERENCIA CON `libro.ts`, que es la que decide el diseño: allí el ancla\n * es un ENLACE DURO por fichero, y basta porque el ataque que importa es `rm`.\n * Aquí no basta. Un enlace duro comparte inodo, así que `truncate` recorta los\n * bytes de los DOS nombres a la vez y el caso 4 seguiría pasando entero. Y el\n * caso 4 tiene una variante peor, la que de verdad ocurre: truncar y dejar que\n * el proceso siga: `load()` lee la última entrada superviviente, retoma `seq` y\n * `lastHash` desde ahí y encadena por encima del hueco. Quedan `seq` 1,2,3,4\n * correlativos y cadena perfecta, con dos entradas desaparecidas y ni una sola\n * señal.\n *\n * Por eso el ancla de aquí es por ENTRADA y no por fichero: un fichero\n * `<nombre>.ancla` en `audit-indice/`, append-only, con el hash de cada entrada\n * escrita, uno por línea. Verificar es entonces una resta de conjuntos: los\n * hashes que el índice recuerda y que ya no aparecen en el log son entradas que\n * han desaparecido, se las hayan llevado borrando el fichero, recortándole la\n * cola o quitándolas del medio.\n *\n * DOS DECISIONES QUE CONVIENE NO DESHACER SIN PENSARLAS:\n *\n * 1. **Se ancla DESPUÉS de escribir la entrada, nunca antes.** Al revés —\n * escribir el ancla primero— un proceso que muera entre las dos escrituras\n * dejaría un hash anclado cuya entrada no llegó nunca, y la siguiente\n * verificación acusaría de manipulación a un simple corte de luz. Se prefiere\n * el fallo del otro lado: durante esa ventana de microsegundos la última\n * entrada está sin anclar y su desaparición no se detectaría. Un falso\n * negativo estrechísimo es mejor que un falso positivo en cada caída.\n * 2. **Lo que sobra no acusa.** Entradas del log que no estén en el índice NO\n * son un hallazgo: son logs escritos antes de que el índice existiera, o la\n * ventana del punto anterior. Solo cuenta lo que el índice recuerda y ya no\n * está. Sin esta asimetría, el día de la actualización toda instalación\n * existente gritaría «manipulado».\n *\n * HASTA DÓNDE LLEGA, dicho sin adornos: quien borre los DOS directorios deja un\n * registro vacío indistinguible de una instalación nueva. Contra eso no hay\n * ancla local que valga —cualquier ancla en el mismo disco y con los mismos\n * permisos se borra igual—; hace falta un ancla externa. Lo que esto elimina es\n * que un solo `rm` o un solo `truncate` pasen desapercibidos.\n */\n\nimport { appendFile, mkdir, readdir, readFile } from \"node:fs/promises\";\nimport { join } from \"node:path\";\n\n/** Donde vive el log: `<rootDir>/audit/audit-YYYY-MM-DD.jsonl`. */\nexport const DIR_AUDIT = \"audit\";\n\n/**\n * El índice: `<rootDir>/audit-indice/<nombre del log>.ancla`.\n *\n * Va FUERA de `audit/` a propósito. Dentro, el `rm -rf audit/` que este\n * mecanismo existe para detectar se llevaría por delante también la prueba.\n */\nexport const DIR_INDICE_AUDIT = \"audit-indice\";\n\nconst RE_LOG = /^audit-.*\\.jsonl$/;\nconst SUFIJO_ANCLA = \".ancla\";\n\n/** Los tres estados. «Vacío» NO es «íntegro»: ver la cabecera de este fichero. */\nexport type EstadoDelRegistro = \"integro\" | \"alterado\" | \"vacio\";\n\n/**\n * Por qué está alterado, que no es lo mismo que el hecho de que lo esté.\n *\n * Un detector que diera el mismo veredicto a tres causas distintas no\n * distinguiría ninguna, y el mensaje acabaría acusando de lo que no es.\n *\n * `ilegible` es el que no acusa de nada: es «no lo he podido mirar», y va\n * separado de los demás porque para quien responde a una auditoría no es lo\n * mismo que «lo he mirado y no cuadra».\n */\nexport type CausaDeAlteracion = \"editada\" | \"enlace-roto\" | \"borrado\" | \"faltan-entradas\" | \"ilegible\";\n\nexport interface VeredictoDelRegistro {\n\testado: EstadoDelRegistro;\n\t/**\n\t * Compat con quien ya lee este veredicto: el modo interactivo, la ruta\n\t * `/api/memory/audit` del escritorio y `audit-export.ts`. Es `estado ===\n\t * \"integro\" || estado === \"vacio\"` — una instalación virgen no está\n\t * manipulada, y quien quiera distinguirlas tiene `estado`.\n\t */\n\tvalid: boolean;\n\tentriesChecked: number;\n\t/** Sello de tiempo de la primera entrada que no cuadra. */\n\ttamperedAt?: string;\n\tcausa?: CausaDeAlteracion;\n\t/** Por qué no verifica, en una frase estable. */\n\tmotivo?: string;\n\t/** Dónde mirar. Sin esto el aviso de manipulación se queda en susto. */\n\tficheroAlterado?: string;\n\t/** Ficheros que el índice recuerda y que ya no están, con cuántas entradas tenían. */\n\tborrados?: { fichero: string; entradas: number }[];\n\t/** Ficheros que siguen ahí pero a los que les faltan entradas ancladas. */\n\tincompletos?: { fichero: string; entradas: number; faltan: number }[];\n\t/**\n\t * Ficheros del log sin ancla en el índice: logs anteriores al índice.\n\t *\n\t * NO es una acusación y por eso va aparte: meterlo en `estado: \"alterado\"`\n\t * habría hecho que toda instalación ya existente gritara «manipulado» el día\n\t * de la actualización.\n\t */\n\tsinAncla?: string[];\n}\n\n/** Carga a hashear de una entrada, tal y como `audit.ts` la reconstruye. */\ntype Rehasheador = (prevHash: string | null, carga: Record<string, unknown>) => string;\n\n/** Lo mínimo que la verificación necesita saber de una entrada. */\ninterface EntradaLeida {\n\tts?: string;\n\thash?: string;\n\tprevHash?: string | null;\n\t[campo: string]: unknown;\n}\n\n/**\n * Anota en el índice el hash de una entrada recién escrita.\n *\n * Append-only y una línea por entrada: sobrescribir un ancla con «la última»\n * la volvería inútil justo en el caso que importa, porque tras un truncado el\n * proceso siguiente la sobrescribiría con un número MENOR y borraría la prueba.\n */\nexport async function anclarEntrada(raiz: string, fichero: string, hash: string): Promise<void> {\n\tconst dir = join(raiz, DIR_INDICE_AUDIT);\n\tawait mkdir(dir, { recursive: true });\n\tawait appendFile(join(dir, fichero + SUFIJO_ANCLA), `${hash}\\n`, \"utf-8\");\n}\n\n/** `null` = no se ha podido mirar, que no es lo mismo que «no hay nada». */\nasync function listar(dir: string, filtro: RegExp): Promise<string[] | null> {\n\ttry {\n\t\treturn (await readdir(dir)).filter((f) => filtro.test(f)).sort();\n\t} catch (error) {\n\t\tif ((error as NodeJS.ErrnoException).code === \"ENOENT\") return [];\n\t\treturn null;\n\t}\n}\n\nfunction veredictoIlegible(motivo: string, comprobadas = 0): VeredictoDelRegistro {\n\treturn { estado: \"alterado\", valid: false, entriesChecked: comprobadas, causa: \"ilegible\", motivo };\n}\n\n/**\n * Verifica el registro entero y contesta TRES estados.\n *\n * Reparto de tareas, que es lo que hace que esto no sea un parche:\n *\n * · la cadena de hashes dice si lo que HAY está intacto y en orden;\n * · el índice dice si lo que hay es TODO lo que hubo.\n *\n * Ninguna de las dos puede contestar la pregunta de la otra.\n *\n * `rehash` se inyecta en vez de importarse para no crear un ciclo con\n * `audit.ts`, que es quien tiene la única canonicalización buena — la misma que\n * usa al escribir, reconstruida con un rest para que las dos caras no puedan\n * divergir.\n */\nexport async function verificarRegistro(raiz: string, rehash: Rehasheador): Promise<VeredictoDelRegistro> {\n\tconst dirAudit = join(raiz, DIR_AUDIT);\n\tconst dirIndice = join(raiz, DIR_INDICE_AUDIT);\n\n\tconst logs = await listar(dirAudit, RE_LOG);\n\tif (logs === null)\n\t\treturn veredictoIlegible(\"no se ha podido leer el directorio del registro: no es «está bien», es «no lo sé»\");\n\tconst anclas = await listar(dirIndice, new RegExp(`^audit-.*\\\\.jsonl\\\\${SUFIJO_ANCLA}$`));\n\tif (anclas === null)\n\t\treturn veredictoIlegible(\"no se ha podido leer el índice del registro: no es «está bien», es «no lo sé»\");\n\n\t// Lo que el índice recuerda, por fichero.\n\tconst recordados = new Map<string, string[]>();\n\tfor (const ancla of anclas) {\n\t\tconst nombre = ancla.slice(0, -SUFIJO_ANCLA.length);\n\t\ttry {\n\t\t\tconst hashes = (await readFile(join(dirIndice, ancla), \"utf-8\")).split(\"\\n\").filter(Boolean);\n\t\t\tif (hashes.length > 0) recordados.set(nombre, hashes);\n\t\t} catch {\n\t\t\treturn veredictoIlegible(`no se ha podido leer el ancla de ${nombre}: no es «está bien», es «no lo sé»`);\n\t\t}\n\t}\n\n\t// Un registro que nunca se escribió NO es un registro íntegro. Este es el\n\t// caso C: sin esto, la instalación virgen daba el mismo veredicto que el\n\t// directorio borrado del caso B.\n\tif (logs.length === 0 && recordados.size === 0) {\n\t\treturn { estado: \"vacio\", valid: true, entriesChecked: 0 };\n\t}\n\n\tconst presentes = new Set(logs);\n\tconst borrados: { fichero: string; entradas: number }[] = [];\n\tconst incompletos: { fichero: string; entradas: number; faltan: number }[] = [];\n\tconst sinAncla: string[] = [];\n\n\t// Los ficheros que el índice recuerda y ya NO están. Se cuentan antes de\n\t// recorrer la cadena porque son la EXPLICACIÓN de los enlaces rotos que\n\t// vengan después: sin esto, un fichero borrado se denunciaría como «enlace\n\t// roto» en el fichero siguiente, acusando de mover entradas a quien borró un\n\t// día entero.\n\tfor (const [nombre, hashes] of recordados) {\n\t\tif (!presentes.has(nombre)) borrados.push({ fichero: nombre, entradas: hashes.length });\n\t}\n\n\tlet prevHash: string | null = null;\n\tlet comprobadas = 0;\n\t// La cadena del audit de memoria es GLOBAL entre ficheros —`append` nunca\n\t// reinicia `prevHash` al cambiar de día—, así que se arrastra de un fichero\n\t// al siguiente. Es justo al revés que en `libro.ts`, donde cada fichero es\n\t// una sesión y empieza en `null`.\n\tfor (const nombre of logs) {\n\t\tconst anclados = recordados.get(nombre);\n\t\tif (!anclados) sinAncla.push(nombre);\n\t\tlet crudo: string;\n\t\ttry {\n\t\t\tcrudo = await readFile(join(dirAudit, nombre), \"utf-8\");\n\t\t} catch {\n\t\t\treturn {\n\t\t\t\t...veredictoIlegible(`no se ha podido leer ${nombre}: no es «está bien», es «no lo sé»`, comprobadas),\n\t\t\t\tficheroAlterado: nombre,\n\t\t\t};\n\t\t}\n\t\tconst vistos = new Set<string>();\n\t\tfor (const linea of crudo.split(\"\\n\").filter(Boolean)) {\n\t\t\tlet entrada: EntradaLeida;\n\t\t\ttry {\n\t\t\t\tentrada = JSON.parse(linea) as EntradaLeida;\n\t\t\t} catch {\n\t\t\t\treturn {\n\t\t\t\t\testado: \"alterado\",\n\t\t\t\t\tvalid: false,\n\t\t\t\t\tentriesChecked: comprobadas,\n\t\t\t\t\tcausa: \"editada\",\n\t\t\t\t\tmotivo: \"hay una línea que no es JSON válido\",\n\t\t\t\t\tficheroAlterado: nombre,\n\t\t\t\t\t...(borrados.length ? { borrados } : {}),\n\t\t\t\t};\n\t\t\t}\n\t\t\tconst { hash, prevHash: declarado, ...carga } = entrada;\n\t\t\t// Dos preguntas distintas que antes iban juntas y contestaban lo mismo:\n\t\t\t//\n\t\t\t// · ¿el hash cuadra con SU PROPIO contenido? -> la han editado.\n\t\t\t// · ¿su `prevHash` apunta a la anterior? -> faltan entradas o\n\t\t\t// están cambiadas de orden.\n\t\t\tif (typeof hash !== \"string\" || hash !== rehash(declarado ?? null, carga)) {\n\t\t\t\treturn {\n\t\t\t\t\testado: \"alterado\",\n\t\t\t\t\tvalid: false,\n\t\t\t\t\tentriesChecked: comprobadas,\n\t\t\t\t\ttamperedAt: entrada.ts,\n\t\t\t\t\tcausa: \"editada\",\n\t\t\t\t\tmotivo: \"el hash de una entrada no cuadra con su contenido: la han editado\",\n\t\t\t\t\tficheroAlterado: nombre,\n\t\t\t\t\t...(borrados.length ? { borrados } : {}),\n\t\t\t\t};\n\t\t\t}\n\t\t\tif ((declarado ?? null) !== prevHash) {\n\t\t\t\t// Un enlace roto DESPUÉS de una ausencia ya conocida no es un\n\t\t\t\t// hallazgo nuevo: es su consecuencia. Se sigue leyendo para poder\n\t\t\t\t// contar lo que queda, y la causa se decide al final.\n\t\t\t\tif (borrados.length === 0 && incompletos.length === 0) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\testado: \"alterado\",\n\t\t\t\t\t\tvalid: false,\n\t\t\t\t\t\tentriesChecked: comprobadas,\n\t\t\t\t\t\ttamperedAt: entrada.ts,\n\t\t\t\t\t\tcausa: \"enlace-roto\",\n\t\t\t\t\t\tmotivo:\n\t\t\t\t\t\t\t\"el enlace de una entrada no apunta a la anterior: faltan entradas o están cambiadas de orden\",\n\t\t\t\t\t\tficheroAlterado: nombre,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t\tvistos.add(hash);\n\t\t\tprevHash = hash;\n\t\t\tcomprobadas++;\n\t\t}\n\t\t// La resta que la cadena no puede hacer: lo que el índice recuerda y el\n\t\t// fichero ya no enseña. Cubre el truncado, el truncado-y-seguir-\n\t\t// escribiendo, y la entrada quitada del medio.\n\t\tif (anclados) {\n\t\t\tconst faltan = anclados.filter((h) => !vistos.has(h)).length;\n\t\t\tif (faltan > 0) incompletos.push({ fichero: nombre, entradas: anclados.length, faltan });\n\t\t}\n\t}\n\n\tif (borrados.length > 0 || incompletos.length > 0) {\n\t\tconst soloBorrados = incompletos.length === 0;\n\t\treturn {\n\t\t\testado: \"alterado\",\n\t\t\tvalid: false,\n\t\t\tentriesChecked: comprobadas,\n\t\t\tcausa: soloBorrados ? \"borrado\" : \"faltan-entradas\",\n\t\t\tmotivo: soloBorrados\n\t\t\t\t? \"el índice recuerda ficheros que ya no están: los han borrado\"\n\t\t\t\t: \"faltan entradas que el índice recuerda haber escrito: las han quitado del registro\",\n\t\t\t...(borrados.length ? { borrados } : {}),\n\t\t\t...(incompletos.length ? { incompletos } : {}),\n\t\t\t...(sinAncla.length ? { sinAncla } : {}),\n\t\t};\n\t}\n\n\t// Un registro con ancla y sin entradas todavía sigue siendo un registro\n\t// vacío: `estado: \"vacio\"` y no `\"integro\"`, para que la respuesta no\n\t// dependa de si el índice llegó a crearse antes de la primera entrada.\n\treturn {\n\t\testado: comprobadas === 0 ? \"vacio\" : \"integro\",\n\t\tvalid: true,\n\t\tentriesChecked: comprobadas,\n\t\t...(sinAncla.length ? { sinAncla } : {}),\n\t};\n}\n"]}
|
|
1
|
+
{"version":3,"file":"audit-indice.js","sourceRoot":"","sources":["../../../src/core/memory-engine/audit-indice.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../../src/core/memory-engine/audit.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGrC,OAAO,EAA4B,KAAK,oBAAoB,EAAqB,MAAM,mBAAmB,CAAC;AAE3G,MAAM,WAAW,UAAU;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EACH,KAAK,GACL,SAAS,GACT,QAAQ,GACR,UAAU,GACV,aAAa,GACb,QAAQ,GACR,SAAS,GACT,OAAO,GACP,QAAQ,GACR,UAAU,GACV,WAAW,CAAC;IACf,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,CAAC;IAC9D,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,OAAO,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAOD,qBAAa,QAAQ;IACpB,OAAO,CAAC,GAAG,CAAS;IACpB
|
|
1
|
+
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../../src/core/memory-engine/audit.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGrC,OAAO,EAA4B,KAAK,oBAAoB,EAAqB,MAAM,mBAAmB,CAAC;AAE3G,MAAM,WAAW,UAAU;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EACH,KAAK,GACL,SAAS,GACT,QAAQ,GACR,UAAU,GACV,aAAa,GACb,QAAQ,GACR,SAAS,GACT,OAAO,GACP,QAAQ,GACR,UAAU,GACV,WAAW,CAAC;IACf,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,CAAC;IAC9D,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,OAAO,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAOD,qBAAa,QAAQ;IACpB,OAAO,CAAC,GAAG,CAAS;IACpB,+EAA+E;IAC/E,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,GAAG,CAAK;IAChB,OAAO,CAAC,QAAQ,CAAuB;gBAE3B,OAAO,EAAE,MAAM;IAK3B,OAAO,CAAC,OAAO;IAIf,4EAA4E;IACtE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA4BrB,MAAM,CACX,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,GAAG,IAAI,GAAG,MAAM,GAAG,UAAU,CAAC,GAAG;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,GACzF,OAAO,CAAC,IAAI,CAAC;IA8BhB,uDAAuD;IACjD,IAAI,CAAC,KAAK,SAAK,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IA4B7D;;;;;;;;;;;;;OAaG;IACG,MAAM,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAI7C,IAAI,OAAO,IAAI,MAAM,CAEpB;CACD;AAED,OAAO,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../../src/core/memory-engine/audit.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Audit log for the Ada Memory Engine — append-only JSONL with a hash chain.\n *\n * Every memory write, rejection, consolidation and (optionally) search is\n * recorded with: timestamp, actor, target, outcome and reason. Each entry\n * carries the hash of the previous entry, so tampering with any record is\n * detectable by re-verifying the chain (enterprise security auditing).\n */\n\nimport { createHash } from \"node:crypto\";\nimport { existsSync } from \"node:fs\";\nimport { appendFile, mkdir, readFile } from \"node:fs/promises\";\nimport { basename, join } from \"node:path\";\nimport { anclarEntrada, DIR_AUDIT, type VeredictoDelRegistro, verificarRegistro } from \"./audit-indice.ts\";\n\nexport interface AuditEntry {\n\tseq: number;\n\tts: string; // ISO\n\taction:\n\t\t| \"add\"\n\t\t| \"replace\"\n\t\t| \"remove\"\n\t\t| \"rejected\"\n\t\t| \"consolidate\"\n\t\t| \"search\"\n\t\t| \"migrate\"\n\t\t| \"flush\"\n\t\t| \"review\"\n\t\t| \"detected\"\n\t\t| \"vault-use\";\n\tsource: \"agent\" | \"user\" | \"auto\" | \"cli\" | \"desktop\" | \"api\";\n\ttarget: string; // global | user | project | failure | session\n\tscope: string; // project hash or \"global\"\n\tsessionId?: string;\n\tok: boolean;\n\tcategories?: string[];\n\treason?: string;\n\thash: string;\n\tprevHash: string | null;\n}\n\nfunction hashEntry(prevHash: string | null, payload: Record<string, unknown>): string {\n\tconst canonical = JSON.stringify({ prevHash, ...payload });\n\treturn createHash(\"sha256\").update(canonical).digest(\"hex\");\n}\n\nexport class AuditLog {\n\tprivate dir: string;\n\t/** La raíz, porque el índice vive FUERA de `audit/`. Ver `audit-indice.ts`. */\n\tprivate raiz: string;\n\tprivate seq = 0;\n\tprivate lastHash: string | null = null;\n\n\tconstructor(rootDir: string) {\n\t\tthis.raiz = rootDir;\n\t\tthis.dir = join(rootDir, DIR_AUDIT);\n\t}\n\n\tprivate fileFor(date: string): string {\n\t\treturn join(this.dir, `audit-${date}.jsonl`);\n\t}\n\n\t/** Load the latest sequence number + hash from the newest existing file. */\n\tasync load(): Promise<void> {\n\t\ttry {\n\t\t\tawait mkdir(this.dir, { recursive: true });\n\t\t} catch {\n\t\t\treturn;\n\t\t}\n\t\t// Find the most recent audit file.\n\t\tlet latest: string | null = null;\n\t\ttry {\n\t\t\tconst { readdir } = await import(\"node:fs/promises\");\n\t\t\tconst files = (await readdir(this.dir)).filter((f) => /^audit-\\d{4}-\\d{2}-\\d{2}\\.jsonl$/.test(f)).sort();\n\t\t\tlatest = files.length > 0 ? files[files.length - 1] : null;\n\t\t} catch {\n\t\t\treturn;\n\t\t}\n\t\tif (!latest) return;\n\t\ttry {\n\t\t\tconst raw = await readFile(join(this.dir, latest), \"utf-8\");\n\t\t\tconst lines = raw.split(\"\\n\").filter(Boolean);\n\t\t\tif (lines.length === 0) return;\n\t\t\tconst last = JSON.parse(lines[lines.length - 1]) as AuditEntry;\n\t\t\tthis.seq = typeof last.seq === \"number\" ? last.seq : 0;\n\t\t\tthis.lastHash = typeof last.hash === \"string\" ? last.hash : null;\n\t\t} catch {\n\t\t\t// Corrupt tail: restart sequence (previous records remain intact).\n\t\t}\n\t}\n\n\tasync append(\n\t\tentry: Omit<AuditEntry, \"seq\" | \"ts\" | \"hash\" | \"prevHash\"> & { ts?: string; seq?: number },\n\t): Promise<void> {\n\t\ttry {\n\t\t\tconst date = new Date().toISOString().slice(0, 10);\n\t\t\tconst file = this.fileFor(date);\n\t\t\tawait mkdir(this.dir, { recursive: true });\n\t\t\tconst payload = {\n\t\t\t\tseq: entry.seq ?? ++this.seq,\n\t\t\t\tts: entry.ts ?? new Date().toISOString(),\n\t\t\t\taction: entry.action,\n\t\t\t\tsource: entry.source,\n\t\t\t\ttarget: entry.target,\n\t\t\t\tscope: entry.scope,\n\t\t\t\tok: entry.ok,\n\t\t\t\tcategories: entry.categories,\n\t\t\t\treason: entry.reason,\n\t\t\t\tsessionId: entry.sessionId,\n\t\t\t};\n\t\t\tconst hash = hashEntry(this.lastHash, payload);\n\t\t\tconst full: AuditEntry = { ...payload, hash, prevHash: this.lastHash };\n\t\t\tthis.lastHash = hash;\n\t\t\tawait appendFile(file, `${JSON.stringify(full)}\\n`, \"utf-8\");\n\t\t\t// DESPUÉS de la entrada, nunca antes: al revés, una caída entre las dos\n\t\t\t// escrituras dejaría un hash anclado sin entrada y `verify` acusaría de\n\t\t\t// manipulación a un corte de luz. Ver `audit-indice.ts`.\n\t\t\tawait anclarEntrada(this.raiz, basename(file), hash);\n\t\t} catch {\n\t\t\t// Audit must never break the conversation.\n\t\t}\n\t}\n\n\t/** Read the most recent entries across audit files. */\n\tasync read(limit = 50, since?: string): Promise<AuditEntry[]> {\n\t\ttry {\n\t\t\tconst { readdir } = await import(\"node:fs/promises\");\n\t\t\tconst files = (await readdir(this.dir))\n\t\t\t\t.filter((f) => /^audit-.*\\.jsonl$/.test(f))\n\t\t\t\t.sort()\n\t\t\t\t.reverse();\n\t\t\tconst out: AuditEntry[] = [];\n\t\t\tfor (const file of files) {\n\t\t\t\ttry {\n\t\t\t\t\tconst raw = await readFile(join(this.dir, file), \"utf-8\");\n\t\t\t\t\tconst lines = raw.split(\"\\n\").filter(Boolean);\n\t\t\t\t\tfor (const line of lines.reverse()) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst entry = JSON.parse(line) as AuditEntry;\n\t\t\t\t\t\t\tif (since && entry.ts < since) continue;\n\t\t\t\t\t\t\tout.push(entry);\n\t\t\t\t\t\t\tif (out.length >= limit) return out;\n\t\t\t\t\t\t} catch {}\n\t\t\t\t\t}\n\t\t\t\t} catch {}\n\t\t\t}\n\t\t\treturn out;\n\t\t} catch {\n\t\t\treturn [];\n\t\t}\n\t}\n\n\t/**\n\t * Verifica el registro y contesta TRES estados: íntegro, alterado y vacío.\n\t *\n\t * El recorrido de la cadena vive ahora en `audit-indice.ts` junto a lo que le\n\t * faltaba —el registro de lo que DEBERÍA existir—, porque separarlos era el\n\t * agujero: la cadena de hashes prueba integridad DENTRO de lo que hay y no\n\t * puede, por construcción, hablar de lo que ya no está. Aquí se queda solo la\n\t * canonicalización, que es lo único que tiene que compartir con `append` y no\n\t * puede divergir de ella.\n\t *\n\t * Medido: con esto, borrar el fichero pasa de `{valid:true, entriesChecked:0}`\n\t * a `{estado:\"alterado\"}` nombrando lo que falta, y una instalación nueva pasa\n\t * de `{valid:false}` —acusar a toda instalación limpia— a `{estado:\"vacio\"}`.\n\t */\n\tasync verify(): Promise<VeredictoDelRegistro> {\n\t\treturn verificarRegistro(this.raiz, hashEntry);\n\t}\n\n\tget lastSeq(): number {\n\t\treturn this.seq;\n\t}\n}\n\nexport { existsSync };\n"]}
|
|
1
|
+
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../../src/core/memory-engine/audit.ts"],"names":[],"mappings":"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"}
|