@hoilab/ada-cli 0.84.21 → 0.85.0
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/CHANGELOG.md +49 -2
- package/README.es.md +174 -0
- package/README.md +203 -658
- package/dist/ada-publico.d.ts +35 -0
- package/dist/ada-publico.d.ts.map +1 -0
- package/dist/ada-publico.js +40 -0
- package/dist/ada-publico.js.map +1 -0
- package/dist/cli/args.d.ts +3 -0
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +11 -0
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/audit-command.d.ts +15 -0
- package/dist/cli/audit-command.d.ts.map +1 -0
- package/dist/cli/audit-command.js +280 -0
- package/dist/cli/audit-command.js.map +1 -0
- package/dist/cli/banco-command.d.ts +15 -0
- package/dist/cli/banco-command.d.ts.map +1 -0
- package/dist/cli/banco-command.js +213 -0
- package/dist/cli/banco-command.js.map +1 -0
- package/dist/cli/cleanse-command.d.ts +11 -0
- package/dist/cli/cleanse-command.d.ts.map +1 -0
- package/dist/cli/cleanse-command.js +101 -0
- package/dist/cli/cleanse-command.js.map +1 -0
- package/dist/cli/commit-command.d.ts +31 -0
- package/dist/cli/commit-command.d.ts.map +1 -0
- package/dist/cli/commit-command.js +158 -0
- package/dist/cli/commit-command.js.map +1 -0
- package/dist/cli/computer-command.d.ts +12 -0
- package/dist/cli/computer-command.d.ts.map +1 -0
- package/dist/cli/computer-command.js +141 -0
- package/dist/cli/computer-command.js.map +1 -0
- package/dist/cli/discover-command.d.ts +18 -0
- package/dist/cli/discover-command.d.ts.map +1 -0
- package/dist/cli/discover-command.js +108 -0
- package/dist/cli/discover-command.js.map +1 -0
- package/dist/cli/file-processor.d.ts.map +1 -1
- package/dist/cli/file-processor.js +2 -1
- package/dist/cli/file-processor.js.map +1 -1
- package/dist/cli/hashline-command.d.ts +11 -0
- package/dist/cli/hashline-command.d.ts.map +1 -0
- package/dist/cli/hashline-command.js +106 -0
- package/dist/cli/hashline-command.js.map +1 -0
- package/dist/cli/home-screen.d.ts.map +1 -1
- package/dist/cli/home-screen.js +2 -2
- package/dist/cli/home-screen.js.map +1 -1
- package/dist/cli/import-command.d.ts +35 -0
- package/dist/cli/import-command.d.ts.map +1 -0
- package/dist/cli/import-command.js +164 -0
- package/dist/cli/import-command.js.map +1 -0
- package/dist/cli/politica-command.d.ts +20 -0
- package/dist/cli/politica-command.d.ts.map +1 -0
- package/dist/cli/politica-command.js +93 -0
- package/dist/cli/politica-command.js.map +1 -0
- package/dist/cli/refine-command.d.ts +18 -0
- package/dist/cli/refine-command.d.ts.map +1 -0
- package/dist/cli/refine-command.js +101 -0
- package/dist/cli/refine-command.js.map +1 -0
- package/dist/cli/review-command.d.ts +24 -0
- package/dist/cli/review-command.d.ts.map +1 -0
- package/dist/cli/review-command.js +168 -0
- package/dist/cli/review-command.js.map +1 -0
- package/dist/cli/schedule-command.d.ts +17 -0
- package/dist/cli/schedule-command.d.ts.map +1 -0
- package/dist/cli/schedule-command.js +117 -0
- package/dist/cli/schedule-command.js.map +1 -0
- package/dist/cli/serve-command.d.ts +72 -0
- package/dist/cli/serve-command.d.ts.map +1 -0
- package/dist/cli/serve-command.js +568 -0
- package/dist/cli/serve-command.js.map +1 -0
- package/dist/cli/startup-ui.d.ts.map +1 -1
- package/dist/cli/startup-ui.js +9 -3
- package/dist/cli/startup-ui.js.map +1 -1
- package/dist/cli/telegram-command.d.ts +18 -0
- package/dist/cli/telegram-command.d.ts.map +1 -0
- package/dist/cli/telegram-command.js +137 -0
- package/dist/cli/telegram-command.js.map +1 -0
- package/dist/cli/telemetria-command.d.ts +22 -0
- package/dist/cli/telemetria-command.d.ts.map +1 -0
- package/dist/cli/telemetria-command.js +127 -0
- package/dist/cli/telemetria-command.js.map +1 -0
- package/dist/cli/undo-command.d.ts +9 -0
- package/dist/cli/undo-command.d.ts.map +1 -0
- package/dist/cli/undo-command.js +56 -0
- package/dist/cli/undo-command.js.map +1 -0
- package/dist/cli/usage-command.d.ts +10 -0
- package/dist/cli/usage-command.d.ts.map +1 -0
- package/dist/cli/usage-command.js +209 -0
- package/dist/cli/usage-command.js.map +1 -0
- package/dist/cli/wiki-command.d.ts +9 -0
- package/dist/cli/wiki-command.d.ts.map +1 -0
- package/dist/cli/wiki-command.js +76 -0
- package/dist/cli/wiki-command.js.map +1 -0
- package/dist/cli.d.ts +6 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +10 -11
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +3 -2
- package/dist/config.js.map +1 -1
- package/dist/core/ada.d.ts +58 -0
- package/dist/core/ada.d.ts.map +1 -0
- package/dist/core/ada.js +61 -0
- package/dist/core/ada.js.map +1 -0
- package/dist/core/advisor/guarda.d.ts +66 -0
- package/dist/core/advisor/guarda.d.ts.map +1 -0
- package/dist/core/advisor/guarda.js +191 -0
- package/dist/core/advisor/guarda.js.map +1 -0
- package/dist/core/advisor/runtime.d.ts +66 -0
- package/dist/core/advisor/runtime.d.ts.map +1 -0
- package/dist/core/advisor/runtime.js +121 -0
- package/dist/core/advisor/runtime.js.map +1 -0
- package/dist/core/advisor/sesion.d.ts +109 -0
- package/dist/core/advisor/sesion.d.ts.map +1 -0
- package/dist/core/advisor/sesion.js +139 -0
- package/dist/core/advisor/sesion.js.map +1 -0
- package/dist/core/agent-session.d.ts +85 -7
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +862 -78
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/agents/loader.d.ts +77 -0
- package/dist/core/agents/loader.d.ts.map +1 -0
- package/dist/core/agents/loader.js +154 -0
- package/dist/core/agents/loader.js.map +1 -0
- package/dist/core/aprobacion/generados.d.ts +37 -0
- package/dist/core/aprobacion/generados.d.ts.map +1 -0
- package/dist/core/aprobacion/generados.js +85 -0
- package/dist/core/aprobacion/generados.js.map +1 -0
- package/dist/core/aprobacion/politica-de-maquina.d.ts +90 -0
- package/dist/core/aprobacion/politica-de-maquina.d.ts.map +1 -0
- package/dist/core/aprobacion/politica-de-maquina.js +212 -0
- package/dist/core/aprobacion/politica-de-maquina.js.map +1 -0
- package/dist/core/aprobacion/politica.d.ts +90 -0
- package/dist/core/aprobacion/politica.d.ts.map +1 -0
- package/dist/core/aprobacion/politica.js +375 -0
- package/dist/core/aprobacion/politica.js.map +1 -0
- package/dist/core/arranque/atajos.d.ts +46 -0
- package/dist/core/arranque/atajos.d.ts.map +1 -0
- package/dist/core/arranque/atajos.js +113 -0
- package/dist/core/arranque/atajos.js.map +1 -0
- package/dist/core/audit/exportacion.d.ts +54 -0
- package/dist/core/audit/exportacion.d.ts.map +1 -0
- package/dist/core/audit/exportacion.js +265 -0
- package/dist/core/audit/exportacion.js.map +1 -0
- package/dist/core/audit/libro.d.ts +318 -0
- package/dist/core/audit/libro.d.ts.map +1 -0
- package/dist/core/audit/libro.js +508 -0
- package/dist/core/audit/libro.js.map +1 -0
- package/dist/core/audit/registro-sesion.d.ts +78 -0
- package/dist/core/audit/registro-sesion.d.ts.map +1 -0
- package/dist/core/audit/registro-sesion.js +202 -0
- package/dist/core/audit/registro-sesion.js.map +1 -0
- package/dist/core/audit/retencion.d.ts +82 -0
- package/dist/core/audit/retencion.d.ts.map +1 -0
- package/dist/core/audit/retencion.js +152 -0
- package/dist/core/audit/retencion.js.map +1 -0
- package/dist/core/audit/rutas.d.ts +23 -0
- package/dist/core/audit/rutas.d.ts.map +1 -0
- package/dist/core/audit/rutas.js +23 -0
- package/dist/core/audit/rutas.js.map +1 -0
- package/dist/core/auth-storage.d.ts +0 -3
- package/dist/core/auth-storage.d.ts.map +1 -1
- package/dist/core/auth-storage.js +21 -8
- package/dist/core/auth-storage.js.map +1 -1
- package/dist/core/banco/almacenamiento.d.ts +18 -0
- package/dist/core/banco/almacenamiento.d.ts.map +1 -0
- package/dist/core/banco/almacenamiento.js +50 -0
- package/dist/core/banco/almacenamiento.js.map +1 -0
- package/dist/core/banco/analisis.d.ts +37 -0
- package/dist/core/banco/analisis.d.ts.map +1 -0
- package/dist/core/banco/analisis.js +164 -0
- package/dist/core/banco/analisis.js.map +1 -0
- package/dist/core/banco/bloques.d.ts +39 -0
- package/dist/core/banco/bloques.d.ts.map +1 -0
- package/dist/core/banco/bloques.js +84 -0
- package/dist/core/banco/bloques.js.map +1 -0
- package/dist/core/banco/cargas.d.ts +84 -0
- package/dist/core/banco/cargas.d.ts.map +1 -0
- package/dist/core/banco/cargas.js +520 -0
- package/dist/core/banco/cargas.js.map +1 -0
- package/dist/core/banco/comparar.d.ts +29 -0
- package/dist/core/banco/comparar.d.ts.map +1 -0
- package/dist/core/banco/comparar.js +28 -0
- package/dist/core/banco/comparar.js.map +1 -0
- package/dist/core/banco/ejecutar.d.ts +44 -0
- package/dist/core/banco/ejecutar.d.ts.map +1 -0
- package/dist/core/banco/ejecutar.js +183 -0
- package/dist/core/banco/ejecutar.js.map +1 -0
- package/dist/core/banco/generar.d.ts +24 -0
- package/dist/core/banco/generar.d.ts.map +1 -0
- package/dist/core/banco/generar.js +159 -0
- package/dist/core/banco/generar.js.map +1 -0
- package/dist/core/banco/mutaciones.d.ts +25 -0
- package/dist/core/banco/mutaciones.d.ts.map +1 -0
- package/dist/core/banco/mutaciones.js +215 -0
- package/dist/core/banco/mutaciones.js.map +1 -0
- package/dist/core/banco/tipos.d.ts +121 -0
- package/dist/core/banco/tipos.d.ts.map +1 -0
- package/dist/core/banco/tipos.js +16 -0
- package/dist/core/banco/tipos.js.map +1 -0
- package/dist/core/blobs/almacen.d.ts +81 -0
- package/dist/core/blobs/almacen.d.ts.map +1 -0
- package/dist/core/blobs/almacen.js +198 -0
- package/dist/core/blobs/almacen.js.map +1 -0
- package/dist/core/blobs/broker.d.ts +103 -0
- package/dist/core/blobs/broker.d.ts.map +1 -0
- package/dist/core/blobs/broker.js +204 -0
- package/dist/core/blobs/broker.js.map +1 -0
- package/dist/core/blobs/index.d.ts +70 -0
- package/dist/core/blobs/index.d.ts.map +1 -0
- package/dist/core/blobs/index.js +232 -0
- package/dist/core/blobs/index.js.map +1 -0
- package/dist/core/blobs/payload.d.ts +55 -0
- package/dist/core/blobs/payload.d.ts.map +1 -0
- package/dist/core/blobs/payload.js +255 -0
- package/dist/core/blobs/payload.js.map +1 -0
- package/dist/core/blobs/proveedor.d.ts +85 -0
- package/dist/core/blobs/proveedor.d.ts.map +1 -0
- package/dist/core/blobs/proveedor.js +196 -0
- package/dist/core/blobs/proveedor.js.map +1 -0
- package/dist/core/browser/cdp.d.ts +41 -0
- package/dist/core/browser/cdp.d.ts.map +1 -0
- package/dist/core/browser/cdp.js +119 -0
- package/dist/core/browser/cdp.js.map +1 -0
- package/dist/core/browser/politica.d.ts +51 -0
- package/dist/core/browser/politica.d.ts.map +1 -0
- package/dist/core/browser/politica.js +123 -0
- package/dist/core/browser/politica.js.map +1 -0
- package/dist/core/browser/sesion.d.ts +52 -0
- package/dist/core/browser/sesion.d.ts.map +1 -0
- package/dist/core/browser/sesion.js +176 -0
- package/dist/core/browser/sesion.js.map +1 -0
- package/dist/core/browser/tools.d.ts +16 -0
- package/dist/core/browser/tools.d.ts.map +1 -0
- package/dist/core/browser/tools.js +279 -0
- package/dist/core/browser/tools.js.map +1 -0
- package/dist/core/commit/diff.d.ts +56 -0
- package/dist/core/commit/diff.d.ts.map +1 -0
- package/dist/core/commit/diff.js +145 -0
- package/dist/core/commit/diff.js.map +1 -0
- package/dist/core/commit/mensaje.d.ts +80 -0
- package/dist/core/commit/mensaje.d.ts.map +1 -0
- package/dist/core/commit/mensaje.js +207 -0
- package/dist/core/commit/mensaje.js.map +1 -0
- package/dist/core/compactar/index.d.ts +52 -0
- package/dist/core/compactar/index.d.ts.map +1 -0
- package/dist/core/compactar/index.js +91 -0
- package/dist/core/compactar/index.js.map +1 -0
- package/dist/core/compactar/registro-denso.d.ts +160 -0
- package/dist/core/compactar/registro-denso.d.ts.map +1 -0
- package/dist/core/compactar/registro-denso.js +620 -0
- package/dist/core/compactar/registro-denso.js.map +1 -0
- package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
- package/dist/core/compaction/branch-summarization.js +3 -0
- package/dist/core/compaction/branch-summarization.js.map +1 -1
- package/dist/core/compaction/compaction.d.ts +4 -3
- package/dist/core/compaction/compaction.d.ts.map +1 -1
- package/dist/core/compaction/compaction.js +41 -32
- package/dist/core/compaction/compaction.js.map +1 -1
- package/dist/core/computer/captura.d.ts +35 -0
- package/dist/core/computer/captura.d.ts.map +1 -0
- package/dist/core/computer/captura.js +140 -0
- package/dist/core/computer/captura.js.map +1 -0
- package/dist/core/computer/driver.d.ts +130 -0
- package/dist/core/computer/driver.d.ts.map +1 -0
- package/dist/core/computer/driver.js +206 -0
- package/dist/core/computer/driver.js.map +1 -0
- package/dist/core/computer/motor/actions.d.ts +109 -0
- package/dist/core/computer/motor/actions.d.ts.map +1 -0
- package/dist/core/computer/motor/actions.js +157 -0
- package/dist/core/computer/motor/actions.js.map +1 -0
- package/dist/core/computer/motor/bridge.d.ts +232 -0
- package/dist/core/computer/motor/bridge.d.ts.map +1 -0
- package/dist/core/computer/motor/bridge.js +2335 -0
- package/dist/core/computer/motor/bridge.js.map +1 -0
- package/dist/core/computer/motor/cdp.d.ts +107 -0
- package/dist/core/computer/motor/cdp.d.ts.map +1 -0
- package/dist/core/computer/motor/cdp.js +659 -0
- package/dist/core/computer/motor/cdp.js.map +1 -0
- package/dist/core/computer/motor/config.d.ts +23 -0
- package/dist/core/computer/motor/config.d.ts.map +1 -0
- package/dist/core/computer/motor/config.js +100 -0
- package/dist/core/computer/motor/config.js.map +1 -0
- package/dist/core/computer/motor/contract.d.ts +81 -0
- package/dist/core/computer/motor/contract.d.ts.map +1 -0
- package/dist/core/computer/motor/contract.js +14 -0
- package/dist/core/computer/motor/contract.js.map +1 -0
- package/dist/core/computer/motor/note.d.ts +37 -0
- package/dist/core/computer/motor/note.d.ts.map +1 -0
- package/dist/core/computer/motor/note.js +162 -0
- package/dist/core/computer/motor/note.js.map +1 -0
- package/dist/core/computer/motor/outline.d.ts +155 -0
- package/dist/core/computer/motor/outline.d.ts.map +1 -0
- package/dist/core/computer/motor/outline.js +590 -0
- package/dist/core/computer/motor/outline.js.map +1 -0
- package/dist/core/computer/motor/output.d.ts +18 -0
- package/dist/core/computer/motor/output.d.ts.map +1 -0
- package/dist/core/computer/motor/output.js +148 -0
- package/dist/core/computer/motor/output.js.map +1 -0
- package/dist/core/computer/motor/permissions.d.ts +41 -0
- package/dist/core/computer/motor/permissions.d.ts.map +1 -0
- package/dist/core/computer/motor/permissions.js +51 -0
- package/dist/core/computer/motor/permissions.js.map +1 -0
- package/dist/core/computer/motor/platform/architecture.d.ts +5 -0
- package/dist/core/computer/motor/platform/architecture.d.ts.map +1 -0
- package/dist/core/computer/motor/platform/architecture.js +21 -0
- package/dist/core/computer/motor/platform/architecture.js.map +1 -0
- package/dist/core/computer/motor/platform/coerce.d.ts +4 -0
- package/dist/core/computer/motor/platform/coerce.d.ts.map +1 -0
- package/dist/core/computer/motor/platform/coerce.js +17 -0
- package/dist/core/computer/motor/platform/coerce.js.map +1 -0
- package/dist/core/computer/motor/platform/index.d.ts +4 -0
- package/dist/core/computer/motor/platform/index.d.ts.map +1 -0
- package/dist/core/computer/motor/platform/index.js +79 -0
- package/dist/core/computer/motor/platform/index.js.map +1 -0
- package/dist/core/computer/motor/platform/linux/backend.d.ts +3 -0
- package/dist/core/computer/motor/platform/linux/backend.d.ts.map +1 -0
- package/dist/core/computer/motor/platform/linux/backend.js +173 -0
- package/dist/core/computer/motor/platform/linux/backend.js.map +1 -0
- package/dist/core/computer/motor/platform/linux/helper.d.ts +29 -0
- package/dist/core/computer/motor/platform/linux/helper.d.ts.map +1 -0
- package/dist/core/computer/motor/platform/linux/helper.js +261 -0
- package/dist/core/computer/motor/platform/linux/helper.js.map +1 -0
- package/dist/core/computer/motor/platform/macos/backend.d.ts +3 -0
- package/dist/core/computer/motor/platform/macos/backend.d.ts.map +1 -0
- package/dist/core/computer/motor/platform/macos/backend.js +124 -0
- package/dist/core/computer/motor/platform/macos/backend.js.map +1 -0
- package/dist/core/computer/motor/platform/macos/browser.d.ts +7 -0
- package/dist/core/computer/motor/platform/macos/browser.d.ts.map +1 -0
- package/dist/core/computer/motor/platform/macos/browser.js +101 -0
- package/dist/core/computer/motor/platform/macos/browser.js.map +1 -0
- package/dist/core/computer/motor/platform/macos/helper-path.mjs +34 -0
- package/dist/core/computer/motor/platform/macos/helper.d.ts +32 -0
- package/dist/core/computer/motor/platform/macos/helper.d.ts.map +1 -0
- package/dist/core/computer/motor/platform/macos/helper.js +277 -0
- package/dist/core/computer/motor/platform/macos/helper.js.map +1 -0
- package/dist/core/computer/motor/platform/macos/permissions.d.ts +4 -0
- package/dist/core/computer/motor/platform/macos/permissions.d.ts.map +1 -0
- package/dist/core/computer/motor/platform/macos/permissions.js +118 -0
- package/dist/core/computer/motor/platform/macos/permissions.js.map +1 -0
- package/dist/core/computer/motor/platform/types.d.ts +263 -0
- package/dist/core/computer/motor/platform/types.d.ts.map +1 -0
- package/dist/core/computer/motor/platform/types.js +2 -0
- package/dist/core/computer/motor/platform/types.js.map +1 -0
- package/dist/core/computer/motor/platform/windows/backend.d.ts +3 -0
- package/dist/core/computer/motor/platform/windows/backend.d.ts.map +1 -0
- package/dist/core/computer/motor/platform/windows/backend.js +163 -0
- package/dist/core/computer/motor/platform/windows/backend.js.map +1 -0
- package/dist/core/computer/motor/platform/windows/helper.d.ts +18 -0
- package/dist/core/computer/motor/platform/windows/helper.d.ts.map +1 -0
- package/dist/core/computer/motor/platform/windows/helper.js +174 -0
- package/dist/core/computer/motor/platform/windows/helper.js.map +1 -0
- package/dist/core/computer/motor/root-selection.d.ts +6 -0
- package/dist/core/computer/motor/root-selection.d.ts.map +1 -0
- package/dist/core/computer/motor/root-selection.js +28 -0
- package/dist/core/computer/motor/root-selection.js.map +1 -0
- package/dist/core/computer/motor/runtime.d.ts +50 -0
- package/dist/core/computer/motor/runtime.d.ts.map +1 -0
- package/dist/core/computer/motor/runtime.js +119 -0
- package/dist/core/computer/motor/runtime.js.map +1 -0
- package/dist/core/computer/motor/state.d.ts +68 -0
- package/dist/core/computer/motor/state.d.ts.map +1 -0
- package/dist/core/computer/motor/state.js +100 -0
- package/dist/core/computer/motor/state.js.map +1 -0
- package/dist/core/computer/motor/view.d.ts +6 -0
- package/dist/core/computer/motor/view.d.ts.map +1 -0
- package/dist/core/computer/motor/view.js +185 -0
- package/dist/core/computer/motor/view.js.map +1 -0
- package/dist/core/computer/motor-ada.d.ts +159 -0
- package/dist/core/computer/motor-ada.d.ts.map +1 -0
- package/dist/core/computer/motor-ada.js +412 -0
- package/dist/core/computer/motor-ada.js.map +1 -0
- package/dist/core/computer/politica.d.ts +56 -0
- package/dist/core/computer/politica.d.ts.map +1 -0
- package/dist/core/computer/politica.js +163 -0
- package/dist/core/computer/politica.js.map +1 -0
- package/dist/core/computer/tools.d.ts +26 -0
- package/dist/core/computer/tools.d.ts.map +1 -0
- package/dist/core/computer/tools.js +399 -0
- package/dist/core/computer/tools.js.map +1 -0
- package/dist/core/context-breakdown.d.ts +80 -0
- package/dist/core/context-breakdown.d.ts.map +1 -0
- package/dist/core/context-breakdown.js +87 -0
- package/dist/core/context-breakdown.js.map +1 -0
- package/dist/core/credenciales/cliente.d.ts +60 -0
- package/dist/core/credenciales/cliente.d.ts.map +1 -0
- package/dist/core/credenciales/cliente.js +81 -0
- package/dist/core/credenciales/cliente.js.map +1 -0
- package/dist/core/credenciales/pool.d.ts +96 -0
- package/dist/core/credenciales/pool.d.ts.map +1 -0
- package/dist/core/credenciales/pool.js +128 -0
- package/dist/core/credenciales/pool.js.map +1 -0
- package/dist/core/credenciales/reposo.d.ts +93 -0
- package/dist/core/credenciales/reposo.d.ts.map +1 -0
- package/dist/core/credenciales/reposo.js +489 -0
- package/dist/core/credenciales/reposo.js.map +1 -0
- package/dist/core/credenciales/servidor.d.ts +55 -0
- package/dist/core/credenciales/servidor.d.ts.map +1 -0
- package/dist/core/credenciales/servidor.js +205 -0
- package/dist/core/credenciales/servidor.js.map +1 -0
- package/dist/core/defaults.d.ts +1 -0
- package/dist/core/defaults.d.ts.map +1 -1
- package/dist/core/defaults.js +9 -0
- package/dist/core/defaults.js.map +1 -1
- package/dist/core/descubrimiento/comandos.d.ts +30 -0
- package/dist/core/descubrimiento/comandos.d.ts.map +1 -0
- package/dist/core/descubrimiento/comandos.js +76 -0
- package/dist/core/descubrimiento/comandos.js.map +1 -0
- package/dist/core/descubrimiento/mcp.d.ts +42 -0
- package/dist/core/descubrimiento/mcp.d.ts.map +1 -0
- package/dist/core/descubrimiento/mcp.js +130 -0
- package/dist/core/descubrimiento/mcp.js.map +1 -0
- package/dist/core/descubrimiento/reglas.d.ts +61 -0
- package/dist/core/descubrimiento/reglas.d.ts.map +1 -0
- package/dist/core/descubrimiento/reglas.js +134 -0
- package/dist/core/descubrimiento/reglas.js.map +1 -0
- package/dist/core/descubrimiento/skills.d.ts +57 -0
- package/dist/core/descubrimiento/skills.d.ts.map +1 -0
- package/dist/core/descubrimiento/skills.js +113 -0
- package/dist/core/descubrimiento/skills.js.map +1 -0
- package/dist/core/dificultad/clasificador.d.ts +133 -0
- package/dist/core/dificultad/clasificador.d.ts.map +1 -0
- package/dist/core/dificultad/clasificador.js +288 -0
- package/dist/core/dificultad/clasificador.js.map +1 -0
- package/dist/core/edicion/diario.d.ts +37 -0
- package/dist/core/edicion/diario.d.ts.map +1 -0
- package/dist/core/edicion/diario.js +51 -0
- package/dist/core/edicion/diario.js.map +1 -0
- package/dist/core/edicion/hashline.d.ts +71 -0
- package/dist/core/edicion/hashline.d.ts.map +1 -0
- package/dist/core/edicion/hashline.js +111 -0
- package/dist/core/edicion/hashline.js.map +1 -0
- package/dist/core/edicion/hueco.d.ts +64 -0
- package/dist/core/edicion/hueco.d.ts.map +1 -0
- package/dist/core/edicion/hueco.js +162 -0
- package/dist/core/edicion/hueco.js.map +1 -0
- package/dist/core/edicion/limpiar-carga.d.ts +39 -0
- package/dist/core/edicion/limpiar-carga.d.ts.map +1 -0
- package/dist/core/edicion/limpiar-carga.js +121 -0
- package/dist/core/edicion/limpiar-carga.js.map +1 -0
- package/dist/core/edicion/observador.d.ts +80 -0
- package/dist/core/edicion/observador.d.ts.map +1 -0
- package/dist/core/edicion/observador.js +183 -0
- package/dist/core/edicion/observador.js.map +1 -0
- package/dist/core/edicion/parecido.d.ts +53 -0
- package/dist/core/edicion/parecido.d.ts.map +1 -0
- package/dist/core/edicion/parecido.js +145 -0
- package/dist/core/edicion/parecido.js.map +1 -0
- package/dist/core/edicion/parseo.d.ts +58 -0
- package/dist/core/edicion/parseo.d.ts.map +1 -0
- package/dist/core/edicion/parseo.js +124 -0
- package/dist/core/edicion/parseo.js.map +1 -0
- package/dist/core/edicion/reparacion.d.ts +67 -0
- package/dist/core/edicion/reparacion.d.ts.map +1 -0
- package/dist/core/edicion/reparacion.js +202 -0
- package/dist/core/edicion/reparacion.js.map +1 -0
- package/dist/core/edicion/sangria.d.ts +121 -0
- package/dist/core/edicion/sangria.d.ts.map +1 -0
- package/dist/core/edicion/sangria.js +341 -0
- package/dist/core/edicion/sangria.js.map +1 -0
- package/dist/core/edicion/tipos.d.ts +58 -0
- package/dist/core/edicion/tipos.d.ts.map +1 -0
- package/dist/core/edicion/tipos.js +160 -0
- package/dist/core/edicion/tipos.js.map +1 -0
- package/dist/core/engine-personality.d.ts +12 -0
- package/dist/core/engine-personality.d.ts.map +1 -0
- package/dist/core/engine-personality.js +53 -0
- package/dist/core/engine-personality.js.map +1 -0
- package/dist/core/errores/proveedor.d.ts +53 -0
- package/dist/core/errores/proveedor.d.ts.map +1 -0
- package/dist/core/errores/proveedor.js +191 -0
- package/dist/core/errores/proveedor.js.map +1 -0
- package/dist/core/estructural/buscar.d.ts +61 -0
- package/dist/core/estructural/buscar.d.ts.map +1 -0
- package/dist/core/estructural/buscar.js +261 -0
- package/dist/core/estructural/buscar.js.map +1 -0
- package/dist/core/estructural/editar.d.ts +36 -0
- package/dist/core/estructural/editar.d.ts.map +1 -0
- package/dist/core/estructural/editar.js +123 -0
- package/dist/core/estructural/editar.js.map +1 -0
- package/dist/core/estructural/tools.d.ts +11 -0
- package/dist/core/estructural/tools.d.ts.map +1 -0
- package/dist/core/estructural/tools.js +100 -0
- package/dist/core/estructural/tools.js.map +1 -0
- package/dist/core/experimental.d.ts.map +1 -1
- package/dist/core/experimental.js +10 -1
- package/dist/core/experimental.js.map +1 -1
- package/dist/core/extensiones/suplantacion.d.ts +49 -0
- package/dist/core/extensiones/suplantacion.d.ts.map +1 -0
- package/dist/core/extensiones/suplantacion.js +61 -0
- package/dist/core/extensiones/suplantacion.js.map +1 -0
- package/dist/core/extensiones/vigilancia.d.ts +54 -0
- package/dist/core/extensiones/vigilancia.d.ts.map +1 -0
- package/dist/core/extensiones/vigilancia.js +217 -0
- package/dist/core/extensiones/vigilancia.js.map +1 -0
- package/dist/core/extensions/index.d.ts +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 +21 -6
- package/dist/core/extensions/loader.js.map +1 -1
- package/dist/core/extensions/types.d.ts +23 -4
- package/dist/core/extensions/types.d.ts.map +1 -1
- package/dist/core/extensions/types.js.map +1 -1
- package/dist/core/harness/fuentes-de-contexto.d.ts +29 -0
- package/dist/core/harness/fuentes-de-contexto.d.ts.map +1 -0
- package/dist/core/harness/fuentes-de-contexto.js +44 -0
- package/dist/core/harness/fuentes-de-contexto.js.map +1 -0
- package/dist/core/harness/refine.d.ts +40 -0
- package/dist/core/harness/refine.d.ts.map +1 -0
- package/dist/core/harness/refine.js +109 -0
- package/dist/core/harness/refine.js.map +1 -0
- package/dist/core/harness/store.d.ts +75 -0
- package/dist/core/harness/store.d.ts.map +1 -0
- package/dist/core/harness/store.js +149 -0
- package/dist/core/harness/store.js.map +1 -0
- package/dist/core/hooks/contract.d.ts +85 -0
- package/dist/core/hooks/contract.d.ts.map +1 -0
- package/dist/core/hooks/contract.js +140 -0
- package/dist/core/hooks/contract.js.map +1 -0
- package/dist/core/hooks/runner.d.ts +42 -0
- package/dist/core/hooks/runner.d.ts.map +1 -0
- package/dist/core/hooks/runner.js +85 -0
- package/dist/core/hooks/runner.js.map +1 -0
- package/dist/core/hooks/session-hooks.d.ts +62 -0
- package/dist/core/hooks/session-hooks.d.ts.map +1 -0
- package/dist/core/hooks/session-hooks.js +84 -0
- package/dist/core/hooks/session-hooks.js.map +1 -0
- package/dist/core/importar/formatos.d.ts +69 -0
- package/dist/core/importar/formatos.d.ts.map +1 -0
- package/dist/core/importar/formatos.js +235 -0
- package/dist/core/importar/formatos.js.map +1 -0
- package/dist/core/interactivo/deteccion.d.ts +44 -0
- package/dist/core/interactivo/deteccion.d.ts.map +1 -0
- package/dist/core/interactivo/deteccion.js +82 -0
- package/dist/core/interactivo/deteccion.js.map +1 -0
- package/dist/core/interactivo/sesion.d.ts +50 -0
- package/dist/core/interactivo/sesion.d.ts.map +1 -0
- package/dist/core/interactivo/sesion.js +156 -0
- package/dist/core/interactivo/sesion.js.map +1 -0
- package/dist/core/interactivo/tools.d.ts +21 -0
- package/dist/core/interactivo/tools.d.ts.map +1 -0
- package/dist/core/interactivo/tools.js +122 -0
- package/dist/core/interactivo/tools.js.map +1 -0
- package/dist/core/keybindings.d.ts.map +1 -1
- package/dist/core/keybindings.js +2 -1
- package/dist/core/keybindings.js.map +1 -1
- package/dist/core/lectura/mapa.d.ts +70 -0
- package/dist/core/lectura/mapa.d.ts.map +1 -0
- package/dist/core/lectura/mapa.js +177 -0
- package/dist/core/lectura/mapa.js.map +1 -0
- package/dist/core/lectura/pdf.d.ts +49 -0
- package/dist/core/lectura/pdf.d.ts.map +1 -0
- package/dist/core/lectura/pdf.js +337 -0
- package/dist/core/lectura/pdf.js.map +1 -0
- package/dist/core/limpieza/comprobadores.d.ts +28 -0
- package/dist/core/limpieza/comprobadores.d.ts.map +1 -0
- package/dist/core/limpieza/comprobadores.js +311 -0
- package/dist/core/limpieza/comprobadores.js.map +1 -0
- package/dist/core/limpieza/parseo.d.ts +19 -0
- package/dist/core/limpieza/parseo.d.ts.map +1 -0
- package/dist/core/limpieza/parseo.js +124 -0
- package/dist/core/limpieza/parseo.js.map +1 -0
- package/dist/core/limpieza/reparacion.d.ts +77 -0
- package/dist/core/limpieza/reparacion.d.ts.map +1 -0
- package/dist/core/limpieza/reparacion.js +254 -0
- package/dist/core/limpieza/reparacion.js.map +1 -0
- package/dist/core/limpieza/tipos.d.ts +56 -0
- package/dist/core/limpieza/tipos.d.ts.map +1 -0
- package/dist/core/limpieza/tipos.js +9 -0
- package/dist/core/limpieza/tipos.js.map +1 -0
- package/dist/core/lsp/cliente.d.ts +52 -0
- package/dist/core/lsp/cliente.d.ts.map +1 -0
- package/dist/core/lsp/cliente.js +232 -0
- package/dist/core/lsp/cliente.js.map +1 -0
- package/dist/core/lsp/descubrimiento.d.ts +62 -0
- package/dist/core/lsp/descubrimiento.d.ts.map +1 -0
- package/dist/core/lsp/descubrimiento.js +152 -0
- package/dist/core/lsp/descubrimiento.js.map +1 -0
- package/dist/core/lsp/ediciones.d.ts +59 -0
- package/dist/core/lsp/ediciones.d.ts.map +1 -0
- package/dist/core/lsp/ediciones.js +89 -0
- package/dist/core/lsp/ediciones.js.map +1 -0
- package/dist/core/lsp/extension.d.ts +28 -0
- package/dist/core/lsp/extension.d.ts.map +1 -0
- package/dist/core/lsp/extension.js +34 -0
- package/dist/core/lsp/extension.js.map +1 -0
- package/dist/core/lsp/tools.d.ts +45 -0
- package/dist/core/lsp/tools.d.ts.map +1 -0
- package/dist/core/lsp/tools.js +265 -0
- package/dist/core/lsp/tools.js.map +1 -0
- package/dist/core/mcp/client.d.ts +60 -0
- package/dist/core/mcp/client.d.ts.map +1 -0
- package/dist/core/mcp/client.js +139 -0
- package/dist/core/mcp/client.js.map +1 -0
- package/dist/core/mcp/manager.d.ts +86 -0
- package/dist/core/mcp/manager.d.ts.map +1 -0
- package/dist/core/mcp/manager.js +124 -0
- package/dist/core/mcp/manager.js.map +1 -0
- package/dist/core/mcp/tools.d.ts +15 -0
- package/dist/core/mcp/tools.d.ts.map +1 -0
- package/dist/core/mcp/tools.js +84 -0
- package/dist/core/mcp/tools.js.map +1 -0
- package/dist/core/memory-engine/audit-export.d.ts +56 -0
- package/dist/core/memory-engine/audit-export.d.ts.map +1 -0
- package/dist/core/memory-engine/audit-export.js +100 -0
- package/dist/core/memory-engine/audit-export.js.map +1 -0
- package/dist/core/memory-engine/audit-indice.d.ts +153 -0
- package/dist/core/memory-engine/audit-indice.d.ts.map +1 -0
- package/dist/core/memory-engine/audit-indice.js +271 -0
- package/dist/core/memory-engine/audit-indice.js.map +1 -0
- package/dist/core/memory-engine/audit.d.ts +18 -6
- package/dist/core/memory-engine/audit.d.ts.map +1 -1
- package/dist/core/memory-engine/audit.js +32 -50
- package/dist/core/memory-engine/audit.js.map +1 -1
- package/dist/core/memory-engine/engine.d.ts +21 -4
- package/dist/core/memory-engine/engine.d.ts.map +1 -1
- package/dist/core/memory-engine/engine.js +219 -55
- 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 +67 -10
- 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 +1 -6
- package/dist/core/memory-engine/keychain.js.map +1 -1
- package/dist/core/memory-engine/observation-store.d.ts +0 -1
- package/dist/core/memory-engine/observation-store.d.ts.map +1 -1
- package/dist/core/memory-engine/observation-store.js +40 -12
- package/dist/core/memory-engine/observation-store.js.map +1 -1
- package/dist/core/memory-engine/refinements.d.ts +51 -0
- package/dist/core/memory-engine/refinements.d.ts.map +1 -0
- package/dist/core/memory-engine/refinements.js +99 -0
- package/dist/core/memory-engine/refinements.js.map +1 -0
- package/dist/core/memory-engine/scanner.d.ts.map +1 -1
- package/dist/core/memory-engine/scanner.js +25 -5
- 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 +131 -23
- 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 +8 -2
- package/dist/core/memory-engine/session-indexer.js.map +1 -1
- package/dist/core/memory-engine/tools.d.ts +2 -2
- package/dist/core/memory-engine/tools.d.ts.map +1 -1
- package/dist/core/memory-engine/tools.js +41 -8
- package/dist/core/memory-engine/tools.js.map +1 -1
- package/dist/core/memory-engine/types.d.ts +2 -0
- 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 +2 -2
- package/dist/core/memory-engine/vault.js.map +1 -1
- package/dist/core/model-config.d.ts.map +1 -1
- package/dist/core/model-config.js +2 -1
- package/dist/core/model-config.js.map +1 -1
- package/dist/core/model-resolver.d.ts +1 -0
- package/dist/core/model-resolver.d.ts.map +1 -1
- package/dist/core/model-resolver.js +19 -7
- package/dist/core/model-resolver.js.map +1 -1
- package/dist/core/models-store.d.ts.map +1 -1
- package/dist/core/models-store.js +2 -1
- package/dist/core/models-store.js.map +1 -1
- package/dist/core/muestreo-restringido.d.ts +49 -0
- package/dist/core/muestreo-restringido.d.ts.map +1 -0
- package/dist/core/muestreo-restringido.js +65 -0
- package/dist/core/muestreo-restringido.js.map +1 -0
- package/dist/core/orphan-process-journal.d.ts +48 -0
- package/dist/core/orphan-process-journal.d.ts.map +1 -0
- package/dist/core/orphan-process-journal.js +116 -0
- package/dist/core/orphan-process-journal.js.map +1 -0
- package/dist/core/package-manager.d.ts.map +1 -1
- package/dist/core/package-manager.js +11 -6
- package/dist/core/package-manager.js.map +1 -1
- package/dist/core/pi-manifest.d.ts.map +1 -1
- package/dist/core/pi-manifest.js +2 -1
- package/dist/core/pi-manifest.js.map +1 -1
- package/dist/core/privacidad/categorias-especiales.d.ts +186 -0
- package/dist/core/privacidad/categorias-especiales.d.ts.map +1 -0
- package/dist/core/privacidad/categorias-especiales.js +745 -0
- package/dist/core/privacidad/categorias-especiales.js.map +1 -0
- package/dist/core/privacidad/tapar.d.ts +48 -0
- package/dist/core/privacidad/tapar.d.ts.map +1 -0
- package/dist/core/privacidad/tapar.js +66 -0
- package/dist/core/privacidad/tapar.js.map +1 -0
- package/dist/core/prompt-cache/diagnostics.d.ts +33 -0
- package/dist/core/prompt-cache/diagnostics.d.ts.map +1 -0
- package/dist/core/prompt-cache/diagnostics.js +100 -0
- package/dist/core/prompt-cache/diagnostics.js.map +1 -0
- package/dist/core/prompt-cache/index.d.ts +33 -0
- package/dist/core/prompt-cache/index.d.ts.map +1 -0
- package/dist/core/prompt-cache/index.js +189 -0
- package/dist/core/prompt-cache/index.js.map +1 -0
- package/dist/core/prompt-cache/payload.d.ts +58 -0
- package/dist/core/prompt-cache/payload.d.ts.map +1 -0
- package/dist/core/prompt-cache/payload.js +122 -0
- package/dist/core/prompt-cache/payload.js.map +1 -0
- package/dist/core/prompt-cache/stabilize.d.ts +65 -0
- package/dist/core/prompt-cache/stabilize.d.ts.map +1 -0
- package/dist/core/prompt-cache/stabilize.js +137 -0
- package/dist/core/prompt-cache/stabilize.js.map +1 -0
- package/dist/core/prompt-cache/stats.d.ts +55 -0
- package/dist/core/prompt-cache/stats.d.ts.map +1 -0
- package/dist/core/prompt-cache/stats.js +158 -0
- package/dist/core/prompt-cache/stats.js.map +1 -0
- package/dist/core/prompt-eleccion.d.ts +38 -0
- package/dist/core/prompt-eleccion.d.ts.map +1 -0
- package/dist/core/prompt-eleccion.js +46 -0
- package/dist/core/prompt-eleccion.js.map +1 -0
- package/dist/core/prompt-optimizer.d.ts +53 -0
- package/dist/core/prompt-optimizer.d.ts.map +1 -0
- package/dist/core/prompt-optimizer.js +138 -0
- package/dist/core/prompt-optimizer.js.map +1 -0
- package/dist/core/prompts/montar.d.ts +75 -0
- package/dist/core/prompts/montar.d.ts.map +1 -0
- package/dist/core/prompts/montar.js +146 -0
- package/dist/core/prompts/montar.js.map +1 -0
- package/dist/core/prompts/plantilla.d.ts +54 -0
- package/dist/core/prompts/plantilla.d.ts.map +1 -0
- package/dist/core/prompts/plantilla.js +153 -0
- package/dist/core/prompts/plantilla.js.map +1 -0
- package/dist/core/prompts/sistema.md +134 -0
- package/dist/core/provider-attribution.d.ts +24 -2
- package/dist/core/provider-attribution.d.ts.map +1 -1
- package/dist/core/provider-attribution.js +24 -42
- package/dist/core/provider-attribution.js.map +1 -1
- package/dist/core/remote-catalog-provider.d.ts.map +1 -1
- package/dist/core/remote-catalog-provider.js +2 -1
- package/dist/core/remote-catalog-provider.js.map +1 -1
- package/dist/core/remoto/destino.d.ts +38 -0
- package/dist/core/remoto/destino.d.ts.map +1 -0
- package/dist/core/remoto/destino.js +105 -0
- package/dist/core/remoto/destino.js.map +1 -0
- package/dist/core/remoto/ejecutor.d.ts +59 -0
- package/dist/core/remoto/ejecutor.d.ts.map +1 -0
- package/dist/core/remoto/ejecutor.js +225 -0
- package/dist/core/remoto/ejecutor.js.map +1 -0
- package/dist/core/remoto/ficheros.d.ts +29 -0
- package/dist/core/remoto/ficheros.d.ts.map +1 -0
- package/dist/core/remoto/ficheros.js +90 -0
- package/dist/core/remoto/ficheros.js.map +1 -0
- package/dist/core/remoto/registro-extension.d.ts +15 -0
- package/dist/core/remoto/registro-extension.d.ts.map +1 -0
- package/dist/core/remoto/registro-extension.js +17 -0
- package/dist/core/remoto/registro-extension.js.map +1 -0
- package/dist/core/remoto/tools.d.ts +28 -0
- package/dist/core/remoto/tools.d.ts.map +1 -0
- package/dist/core/remoto/tools.js +31 -0
- package/dist/core/remoto/tools.js.map +1 -0
- package/dist/core/resource-loader.d.ts +58 -0
- package/dist/core/resource-loader.d.ts.map +1 -1
- package/dist/core/resource-loader.js +326 -8
- package/dist/core/resource-loader.js.map +1 -1
- package/dist/core/revision/hallazgo.d.ts +51 -0
- package/dist/core/revision/hallazgo.d.ts.map +1 -0
- package/dist/core/revision/hallazgo.js +73 -0
- package/dist/core/revision/hallazgo.js.map +1 -0
- package/dist/core/revision/revisor.d.ts +81 -0
- package/dist/core/revision/revisor.d.ts.map +1 -0
- package/dist/core/revision/revisor.js +132 -0
- package/dist/core/revision/revisor.js.map +1 -0
- package/dist/core/revision/sarif.d.ts +30 -0
- package/dist/core/revision/sarif.d.ts.map +1 -0
- package/dist/core/revision/sarif.js +83 -0
- package/dist/core/revision/sarif.js.map +1 -0
- package/dist/core/scheduler/scheduler.d.ts +87 -0
- package/dist/core/scheduler/scheduler.d.ts.map +1 -0
- package/dist/core/scheduler/scheduler.js +178 -0
- package/dist/core/scheduler/scheduler.js.map +1 -0
- package/dist/core/sdk.d.ts +8 -0
- package/dist/core/sdk.d.ts.map +1 -1
- package/dist/core/sdk.js +11 -1
- package/dist/core/sdk.js.map +1 -1
- package/dist/core/sesion/cerrar-llamadas-abiertas.d.ts +49 -0
- package/dist/core/sesion/cerrar-llamadas-abiertas.d.ts.map +1 -0
- package/dist/core/sesion/cerrar-llamadas-abiertas.js +77 -0
- package/dist/core/sesion/cerrar-llamadas-abiertas.js.map +1 -0
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +2 -1
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/settings-diagnostics.d.ts +9 -0
- package/dist/core/settings-diagnostics.d.ts.map +1 -0
- package/dist/core/settings-diagnostics.js +21 -0
- package/dist/core/settings-diagnostics.js.map +1 -0
- package/dist/core/settings-manager.d.ts +156 -0
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +255 -10
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/skills.d.ts.map +1 -1
- package/dist/core/skills.js +51 -33
- package/dist/core/skills.js.map +1 -1
- package/dist/core/slash-commands.d.ts.map +1 -1
- package/dist/core/slash-commands.js +2 -1
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/core/system-prompt.d.ts +17 -0
- package/dist/core/system-prompt.d.ts.map +1 -1
- package/dist/core/system-prompt.js +13 -5
- package/dist/core/system-prompt.js.map +1 -1
- package/dist/core/telemetria/otlp.d.ts +122 -0
- package/dist/core/telemetria/otlp.d.ts.map +1 -0
- package/dist/core/telemetria/otlp.js +373 -0
- package/dist/core/telemetria/otlp.js.map +1 -0
- package/dist/core/tools/coercion-argumentos.d.ts +48 -0
- package/dist/core/tools/coercion-argumentos.d.ts.map +1 -0
- package/dist/core/tools/coercion-argumentos.js +99 -0
- package/dist/core/tools/coercion-argumentos.js.map +1 -0
- package/dist/core/tools/edit-diff.d.ts +0 -12
- package/dist/core/tools/edit-diff.d.ts.map +1 -1
- package/dist/core/tools/edit-diff.js +234 -12
- 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 +28 -5
- 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 +5 -0
- package/dist/core/tools/file-mutation-queue.js.map +1 -1
- package/dist/core/tools/index.d.ts.map +1 -1
- package/dist/core/tools/index.js +2 -2
- package/dist/core/tools/index.js.map +1 -1
- package/dist/core/tools/json-tolerante.d.ts +30 -0
- package/dist/core/tools/json-tolerante.d.ts.map +1 -0
- package/dist/core/tools/json-tolerante.js +70 -0
- package/dist/core/tools/json-tolerante.js.map +1 -0
- package/dist/core/tools/project-memory-tool.d.ts.map +1 -1
- package/dist/core/tools/project-memory-tool.js +4 -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 +17 -0
- package/dist/core/tools/read.js.map +1 -1
- package/dist/core/tools/tool-definition-wrapper.d.ts +14 -1
- package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -1
- package/dist/core/tools/tool-definition-wrapper.js +17 -1
- package/dist/core/tools/tool-definition-wrapper.js.map +1 -1
- package/dist/core/trust-manager.d.ts.map +1 -1
- package/dist/core/trust-manager.js +2 -1
- package/dist/core/trust-manager.js.map +1 -1
- package/dist/core/turno-vacio/detectar.d.ts +38 -0
- package/dist/core/turno-vacio/detectar.d.ts.map +1 -0
- package/dist/core/turno-vacio/detectar.js +66 -0
- package/dist/core/turno-vacio/detectar.js.map +1 -0
- package/dist/core/undo/journal.d.ts +57 -0
- package/dist/core/undo/journal.d.ts.map +1 -0
- package/dist/core/undo/journal.js +178 -0
- package/dist/core/undo/journal.js.map +1 -0
- package/dist/core/urls-internas/auditoria.d.ts +10 -0
- package/dist/core/urls-internas/auditoria.d.ts.map +1 -0
- package/dist/core/urls-internas/auditoria.js +42 -0
- package/dist/core/urls-internas/auditoria.js.map +1 -0
- package/dist/core/urls-internas/boveda.d.ts +13 -0
- package/dist/core/urls-internas/boveda.d.ts.map +1 -0
- package/dist/core/urls-internas/boveda.js +40 -0
- package/dist/core/urls-internas/boveda.js.map +1 -0
- package/dist/core/urls-internas/lector.d.ts +30 -0
- package/dist/core/urls-internas/lector.d.ts.map +1 -0
- package/dist/core/urls-internas/lector.js +56 -0
- package/dist/core/urls-internas/lector.js.map +1 -0
- package/dist/core/urls-internas/memoria.d.ts +11 -0
- package/dist/core/urls-internas/memoria.d.ts.map +1 -0
- package/dist/core/urls-internas/memoria.js +25 -0
- package/dist/core/urls-internas/memoria.js.map +1 -0
- package/dist/core/urls-internas/parse.d.ts +28 -0
- package/dist/core/urls-internas/parse.d.ts.map +1 -0
- package/dist/core/urls-internas/parse.js +32 -0
- package/dist/core/urls-internas/parse.js.map +1 -0
- package/dist/core/urls-internas/reglas.d.ts +10 -0
- package/dist/core/urls-internas/reglas.d.ts.map +1 -0
- package/dist/core/urls-internas/reglas.js +31 -0
- package/dist/core/urls-internas/reglas.js.map +1 -0
- package/dist/core/usage/aggregate.d.ts +68 -0
- package/dist/core/usage/aggregate.d.ts.map +1 -0
- package/dist/core/usage/aggregate.js +93 -0
- package/dist/core/usage/aggregate.js.map +1 -0
- package/dist/core/usage/cuota/anthropic.d.ts +10 -0
- package/dist/core/usage/cuota/anthropic.d.ts.map +1 -0
- package/dist/core/usage/cuota/anthropic.js +63 -0
- package/dist/core/usage/cuota/anthropic.js.map +1 -0
- package/dist/core/usage/cuota/cache.d.ts +20 -0
- package/dist/core/usage/cuota/cache.d.ts.map +1 -0
- package/dist/core/usage/cuota/cache.js +36 -0
- package/dist/core/usage/cuota/cache.js.map +1 -0
- package/dist/core/usage/cuota/github-copilot.d.ts +9 -0
- package/dist/core/usage/cuota/github-copilot.d.ts.map +1 -0
- package/dist/core/usage/cuota/github-copilot.js +67 -0
- package/dist/core/usage/cuota/github-copilot.js.map +1 -0
- package/dist/core/usage/cuota/google-gemini.d.ts +9 -0
- package/dist/core/usage/cuota/google-gemini.d.ts.map +1 -0
- package/dist/core/usage/cuota/google-gemini.js +72 -0
- package/dist/core/usage/cuota/google-gemini.js.map +1 -0
- package/dist/core/usage/cuota/index.d.ts +25 -0
- package/dist/core/usage/cuota/index.d.ts.map +1 -0
- package/dist/core/usage/cuota/index.js +50 -0
- package/dist/core/usage/cuota/index.js.map +1 -0
- package/dist/core/usage/cuota/openai-codex.d.ts +9 -0
- package/dist/core/usage/cuota/openai-codex.d.ts.map +1 -0
- package/dist/core/usage/cuota/openai-codex.js +59 -0
- package/dist/core/usage/cuota/openai-codex.js.map +1 -0
- package/dist/core/usage/cuota/openrouter.d.ts +10 -0
- package/dist/core/usage/cuota/openrouter.d.ts.map +1 -0
- package/dist/core/usage/cuota/openrouter.js +47 -0
- package/dist/core/usage/cuota/openrouter.js.map +1 -0
- package/dist/core/usage/cuota/tipos.d.ts +50 -0
- package/dist/core/usage/cuota/tipos.d.ts.map +1 -0
- package/dist/core/usage/cuota/tipos.js +25 -0
- package/dist/core/usage/cuota/tipos.js.map +1 -0
- package/dist/core/web/busqueda-nativa.d.ts +82 -0
- package/dist/core/web/busqueda-nativa.d.ts.map +1 -0
- package/dist/core/web/busqueda-nativa.js +163 -0
- package/dist/core/web/busqueda-nativa.js.map +1 -0
- package/dist/core/web/destino.d.ts +58 -0
- package/dist/core/web/destino.d.ts.map +1 -0
- package/dist/core/web/destino.js +127 -0
- package/dist/core/web/destino.js.map +1 -0
- package/dist/core/web/proveedores/brave.d.ts +6 -0
- package/dist/core/web/proveedores/brave.d.ts.map +1 -0
- package/dist/core/web/proveedores/brave.js +20 -0
- package/dist/core/web/proveedores/brave.js.map +1 -0
- package/dist/core/web/proveedores/claves.d.ts +19 -0
- package/dist/core/web/proveedores/claves.d.ts.map +1 -0
- package/dist/core/web/proveedores/claves.js +36 -0
- package/dist/core/web/proveedores/claves.js.map +1 -0
- package/dist/core/web/proveedores/duckduckgo.d.ts +3 -0
- package/dist/core/web/proveedores/duckduckgo.d.ts.map +1 -0
- package/dist/core/web/proveedores/duckduckgo.js +109 -0
- package/dist/core/web/proveedores/duckduckgo.js.map +1 -0
- package/dist/core/web/proveedores/ecosia.d.ts +3 -0
- package/dist/core/web/proveedores/ecosia.d.ts.map +1 -0
- package/dist/core/web/proveedores/ecosia.js +72 -0
- package/dist/core/web/proveedores/ecosia.js.map +1 -0
- package/dist/core/web/proveedores/exa.d.ts +6 -0
- package/dist/core/web/proveedores/exa.d.ts.map +1 -0
- package/dist/core/web/proveedores/exa.js +24 -0
- package/dist/core/web/proveedores/exa.js.map +1 -0
- package/dist/core/web/proveedores/mojeek.d.ts +3 -0
- package/dist/core/web/proveedores/mojeek.d.ts.map +1 -0
- package/dist/core/web/proveedores/mojeek.js +65 -0
- package/dist/core/web/proveedores/mojeek.js.map +1 -0
- package/dist/core/web/proveedores/navegador.d.ts +10 -0
- package/dist/core/web/proveedores/navegador.d.ts.map +1 -0
- package/dist/core/web/proveedores/navegador.js +13 -0
- package/dist/core/web/proveedores/navegador.js.map +1 -0
- package/dist/core/web/proveedores/registro.d.ts +43 -0
- package/dist/core/web/proveedores/registro.d.ts.map +1 -0
- package/dist/core/web/proveedores/registro.js +49 -0
- package/dist/core/web/proveedores/registro.js.map +1 -0
- package/dist/core/web/proveedores/searxng.d.ts +9 -0
- package/dist/core/web/proveedores/searxng.d.ts.map +1 -0
- package/dist/core/web/proveedores/searxng.js +17 -0
- package/dist/core/web/proveedores/searxng.js.map +1 -0
- package/dist/core/web/proveedores/serper.d.ts +9 -0
- package/dist/core/web/proveedores/serper.d.ts.map +1 -0
- package/dist/core/web/proveedores/serper.js +19 -0
- package/dist/core/web/proveedores/serper.js.map +1 -0
- package/dist/core/web/proveedores/tavily.d.ts +6 -0
- package/dist/core/web/proveedores/tavily.d.ts.map +1 -0
- package/dist/core/web/proveedores/tavily.js +19 -0
- package/dist/core/web/proveedores/tavily.js.map +1 -0
- package/dist/core/web/proveedores/tipos.d.ts +36 -0
- package/dist/core/web/proveedores/tipos.d.ts.map +1 -0
- package/dist/core/web/proveedores/tipos.js +10 -0
- package/dist/core/web/proveedores/tipos.js.map +1 -0
- package/dist/core/web/registro-red.d.ts +43 -0
- package/dist/core/web/registro-red.d.ts.map +1 -0
- package/dist/core/web/registro-red.js +86 -0
- package/dist/core/web/registro-red.js.map +1 -0
- package/dist/core/web/scrapers/cisa-kev.d.ts +10 -0
- package/dist/core/web/scrapers/cisa-kev.d.ts.map +1 -0
- package/dist/core/web/scrapers/cisa-kev.js +38 -0
- package/dist/core/web/scrapers/cisa-kev.js.map +1 -0
- package/dist/core/web/scrapers/crates-io.d.ts +11 -0
- package/dist/core/web/scrapers/crates-io.d.ts.map +1 -0
- package/dist/core/web/scrapers/crates-io.js +29 -0
- package/dist/core/web/scrapers/crates-io.js.map +1 -0
- package/dist/core/web/scrapers/docs-rs.d.ts +10 -0
- package/dist/core/web/scrapers/docs-rs.d.ts.map +1 -0
- package/dist/core/web/scrapers/docs-rs.js +35 -0
- package/dist/core/web/scrapers/docs-rs.js.map +1 -0
- package/dist/core/web/scrapers/github.d.ts +3 -0
- package/dist/core/web/scrapers/github.d.ts.map +1 -0
- package/dist/core/web/scrapers/github.js +72 -0
- package/dist/core/web/scrapers/github.js.map +1 -0
- package/dist/core/web/scrapers/go-pkg.d.ts +7 -0
- package/dist/core/web/scrapers/go-pkg.d.ts.map +1 -0
- package/dist/core/web/scrapers/go-pkg.js +30 -0
- package/dist/core/web/scrapers/go-pkg.js.map +1 -0
- package/dist/core/web/scrapers/hex.d.ts +6 -0
- package/dist/core/web/scrapers/hex.d.ts.map +1 -0
- package/dist/core/web/scrapers/hex.js +27 -0
- package/dist/core/web/scrapers/hex.js.map +1 -0
- package/dist/core/web/scrapers/maven.d.ts +8 -0
- package/dist/core/web/scrapers/maven.d.ts.map +1 -0
- package/dist/core/web/scrapers/maven.js +41 -0
- package/dist/core/web/scrapers/maven.js.map +1 -0
- package/dist/core/web/scrapers/mdn.d.ts +6 -0
- package/dist/core/web/scrapers/mdn.d.ts.map +1 -0
- package/dist/core/web/scrapers/mdn.js +28 -0
- package/dist/core/web/scrapers/mdn.js.map +1 -0
- package/dist/core/web/scrapers/npm.d.ts +11 -0
- package/dist/core/web/scrapers/npm.d.ts.map +1 -0
- package/dist/core/web/scrapers/npm.js +57 -0
- package/dist/core/web/scrapers/npm.js.map +1 -0
- package/dist/core/web/scrapers/nuget.d.ts +8 -0
- package/dist/core/web/scrapers/nuget.d.ts.map +1 -0
- package/dist/core/web/scrapers/nuget.js +22 -0
- package/dist/core/web/scrapers/nuget.js.map +1 -0
- package/dist/core/web/scrapers/nvd.d.ts +7 -0
- package/dist/core/web/scrapers/nvd.d.ts.map +1 -0
- package/dist/core/web/scrapers/nvd.js +37 -0
- package/dist/core/web/scrapers/nvd.js.map +1 -0
- package/dist/core/web/scrapers/pypi.d.ts +6 -0
- package/dist/core/web/scrapers/pypi.d.ts.map +1 -0
- package/dist/core/web/scrapers/pypi.js +31 -0
- package/dist/core/web/scrapers/pypi.js.map +1 -0
- package/dist/core/web/scrapers/registro.d.ts +13 -0
- package/dist/core/web/scrapers/registro.d.ts.map +1 -0
- package/dist/core/web/scrapers/registro.js +65 -0
- package/dist/core/web/scrapers/registro.js.map +1 -0
- package/dist/core/web/scrapers/rubygems.d.ts +6 -0
- package/dist/core/web/scrapers/rubygems.d.ts.map +1 -0
- package/dist/core/web/scrapers/rubygems.js +23 -0
- package/dist/core/web/scrapers/rubygems.js.map +1 -0
- package/dist/core/web/scrapers/stackoverflow.d.ts +3 -0
- package/dist/core/web/scrapers/stackoverflow.d.ts.map +1 -0
- package/dist/core/web/scrapers/stackoverflow.js +46 -0
- package/dist/core/web/scrapers/stackoverflow.js.map +1 -0
- package/dist/core/web/scrapers/tipos.d.ts +42 -0
- package/dist/core/web/scrapers/tipos.d.ts.map +1 -0
- package/dist/core/web/scrapers/tipos.js +23 -0
- package/dist/core/web/scrapers/tipos.js.map +1 -0
- package/dist/core/web/texto.d.ts +10 -0
- package/dist/core/web/texto.d.ts.map +1 -0
- package/dist/core/web/texto.js +26 -0
- package/dist/core/web/texto.js.map +1 -0
- package/dist/core/web/tools.d.ts +91 -0
- package/dist/core/web/tools.d.ts.map +1 -0
- package/dist/core/web/tools.js +304 -0
- package/dist/core/web/tools.js.map +1 -0
- package/dist/core/wiki/almacen.d.ts +33 -0
- package/dist/core/wiki/almacen.d.ts.map +1 -0
- package/dist/core/wiki/almacen.js +93 -0
- package/dist/core/wiki/almacen.js.map +1 -0
- package/dist/core/wiki/citas.d.ts +111 -0
- package/dist/core/wiki/citas.d.ts.map +1 -0
- package/dist/core/wiki/citas.js +146 -0
- package/dist/core/wiki/citas.js.map +1 -0
- package/dist/core/workflows/agent-runner.d.ts +88 -0
- package/dist/core/workflows/agent-runner.d.ts.map +1 -0
- package/dist/core/workflows/agent-runner.js +312 -0
- package/dist/core/workflows/agent-runner.js.map +1 -0
- package/dist/core/workflows/builtins.d.ts +41 -0
- package/dist/core/workflows/builtins.d.ts.map +1 -0
- package/dist/core/workflows/builtins.js +283 -0
- package/dist/core/workflows/builtins.js.map +1 -0
- package/dist/core/workflows/contrato/esquema.d.ts +32 -0
- package/dist/core/workflows/contrato/esquema.d.ts.map +1 -0
- package/dist/core/workflows/contrato/esquema.js +25 -0
- package/dist/core/workflows/contrato/esquema.js.map +1 -0
- package/dist/core/workflows/contrato/reparar-argumentos.d.ts +69 -0
- package/dist/core/workflows/contrato/reparar-argumentos.d.ts.map +1 -0
- package/dist/core/workflows/contrato/reparar-argumentos.js +117 -0
- package/dist/core/workflows/contrato/reparar-argumentos.js.map +1 -0
- package/dist/core/workflows/contrato/validador.d.ts +30 -0
- package/dist/core/workflows/contrato/validador.d.ts.map +1 -0
- package/dist/core/workflows/contrato/validador.js +56 -0
- package/dist/core/workflows/contrato/validador.js.map +1 -0
- package/dist/core/workflows/contrato/yield.d.ts +65 -0
- package/dist/core/workflows/contrato/yield.d.ts.map +1 -0
- package/dist/core/workflows/contrato/yield.js +80 -0
- package/dist/core/workflows/contrato/yield.js.map +1 -0
- package/dist/core/workflows/goal-engine/engine.d.ts +151 -0
- package/dist/core/workflows/goal-engine/engine.d.ts.map +1 -0
- package/dist/core/workflows/goal-engine/engine.js +503 -0
- package/dist/core/workflows/goal-engine/engine.js.map +1 -0
- package/dist/core/workflows/goal-engine/errors.d.ts +7 -0
- package/dist/core/workflows/goal-engine/errors.d.ts.map +1 -0
- package/dist/core/workflows/goal-engine/errors.js +9 -0
- package/dist/core/workflows/goal-engine/errors.js.map +1 -0
- package/dist/core/workflows/goal-engine/index.d.ts +13 -0
- package/dist/core/workflows/goal-engine/index.d.ts.map +1 -0
- package/dist/core/workflows/goal-engine/index.js +8 -0
- package/dist/core/workflows/goal-engine/index.js.map +1 -0
- package/dist/core/workflows/goal-engine/persistence.d.ts +31 -0
- package/dist/core/workflows/goal-engine/persistence.d.ts.map +1 -0
- package/dist/core/workflows/goal-engine/persistence.js +145 -0
- package/dist/core/workflows/goal-engine/persistence.js.map +1 -0
- package/dist/core/workflows/goal-engine/prompts.d.ts +37 -0
- package/dist/core/workflows/goal-engine/prompts.d.ts.map +1 -0
- package/dist/core/workflows/goal-engine/prompts.js +131 -0
- package/dist/core/workflows/goal-engine/prompts.js.map +1 -0
- package/dist/core/workflows/goal-engine/state.d.ts +41 -0
- package/dist/core/workflows/goal-engine/state.d.ts.map +1 -0
- package/dist/core/workflows/goal-engine/state.js +397 -0
- package/dist/core/workflows/goal-engine/state.js.map +1 -0
- package/dist/core/workflows/goal-engine/tools.d.ts +31 -0
- package/dist/core/workflows/goal-engine/tools.d.ts.map +1 -0
- package/dist/core/workflows/goal-engine/tools.js +211 -0
- package/dist/core/workflows/goal-engine/tools.js.map +1 -0
- package/dist/core/workflows/goal-engine/types.d.ts +286 -0
- package/dist/core/workflows/goal-engine/types.d.ts.map +1 -0
- package/dist/core/workflows/goal-engine/types.js +17 -0
- package/dist/core/workflows/goal-engine/types.js.map +1 -0
- package/dist/core/workflows/goal-engine/worktree-fingerprint.d.ts +23 -0
- package/dist/core/workflows/goal-engine/worktree-fingerprint.d.ts.map +1 -0
- package/dist/core/workflows/goal-engine/worktree-fingerprint.js +72 -0
- package/dist/core/workflows/goal-engine/worktree-fingerprint.js.map +1 -0
- package/dist/core/workflows/graph-sync.d.ts +67 -0
- package/dist/core/workflows/graph-sync.d.ts.map +1 -0
- package/dist/core/workflows/graph-sync.js +188 -0
- package/dist/core/workflows/graph-sync.js.map +1 -0
- package/dist/core/workflows/graph.d.ts +143 -0
- package/dist/core/workflows/graph.d.ts.map +1 -0
- package/dist/core/workflows/graph.js +319 -0
- package/dist/core/workflows/graph.js.map +1 -0
- package/dist/core/workflows/index.d.ts +26 -0
- package/dist/core/workflows/index.d.ts.map +1 -0
- package/dist/core/workflows/index.js +18 -0
- package/dist/core/workflows/index.js.map +1 -0
- package/dist/core/workflows/journal.d.ts +68 -0
- package/dist/core/workflows/journal.d.ts.map +1 -0
- package/dist/core/workflows/journal.js +83 -0
- package/dist/core/workflows/journal.js.map +1 -0
- package/dist/core/workflows/manager.d.ts +122 -0
- package/dist/core/workflows/manager.d.ts.map +1 -0
- package/dist/core/workflows/manager.js +351 -0
- package/dist/core/workflows/manager.js.map +1 -0
- package/dist/core/workflows/resolve-script.d.ts +35 -0
- package/dist/core/workflows/resolve-script.d.ts.map +1 -0
- package/dist/core/workflows/resolve-script.js +66 -0
- package/dist/core/workflows/resolve-script.js.map +1 -0
- package/dist/core/workflows/runtime.d.ts +62 -0
- package/dist/core/workflows/runtime.d.ts.map +1 -0
- package/dist/core/workflows/runtime.js +380 -0
- package/dist/core/workflows/runtime.js.map +1 -0
- package/dist/core/workflows/save-as-skill.d.ts +27 -0
- package/dist/core/workflows/save-as-skill.d.ts.map +1 -0
- package/dist/core/workflows/save-as-skill.js +54 -0
- package/dist/core/workflows/save-as-skill.js.map +1 -0
- package/dist/core/workflows/shared-store.d.ts +31 -0
- package/dist/core/workflows/shared-store.d.ts.map +1 -0
- package/dist/core/workflows/shared-store.js +80 -0
- package/dist/core/workflows/shared-store.js.map +1 -0
- package/dist/core/workflows/subagent-host.d.ts +50 -0
- package/dist/core/workflows/subagent-host.d.ts.map +1 -0
- package/dist/core/workflows/subagent-host.js +225 -0
- package/dist/core/workflows/subagent-host.js.map +1 -0
- package/dist/core/workflows/tool-workflow.d.ts +22 -0
- package/dist/core/workflows/tool-workflow.d.ts.map +1 -0
- package/dist/core/workflows/tool-workflow.js +120 -0
- package/dist/core/workflows/tool-workflow.js.map +1 -0
- package/dist/core/workflows/types.d.ts +191 -0
- package/dist/core/workflows/types.d.ts.map +1 -0
- package/dist/core/workflows/types.js +26 -0
- package/dist/core/workflows/types.js.map +1 -0
- package/dist/core/workflows/worktree.d.ts +42 -0
- package/dist/core/workflows/worktree.d.ts.map +1 -0
- package/dist/core/workflows/worktree.js +107 -0
- package/dist/core/workflows/worktree.js.map +1 -0
- package/dist/extensions/llama/index.d.ts.map +1 -1
- package/dist/extensions/llama/index.js +2 -0
- 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 +6 -2
- package/dist/extensions/llama/provider.js.map +1 -1
- package/dist/extensions/remoto/index.d.ts +22 -0
- package/dist/extensions/remoto/index.d.ts.map +1 -0
- package/dist/extensions/remoto/index.js +54 -0
- package/dist/extensions/remoto/index.js.map +1 -0
- package/dist/index.d.ts +1 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -13
- package/dist/index.js.map +1 -1
- package/dist/main.d.ts +4 -0
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +26 -15
- package/dist/main.js.map +1 -1
- package/dist/migrations.d.ts.map +1 -1
- package/dist/migrations.js +4 -3
- package/dist/migrations.js.map +1 -1
- package/dist/modes/acp/acp-mode.d.ts +42 -0
- package/dist/modes/acp/acp-mode.d.ts.map +1 -0
- package/dist/modes/acp/acp-mode.js +190 -0
- package/dist/modes/acp/acp-mode.js.map +1 -0
- package/dist/modes/acp/events.d.ts +74 -0
- package/dist/modes/acp/events.d.ts.map +1 -0
- package/dist/modes/acp/events.js +116 -0
- package/dist/modes/acp/events.js.map +1 -0
- package/dist/modes/interactive/components/home-screen.d.ts.map +1 -1
- package/dist/modes/interactive/components/home-screen.js +2 -2
- package/dist/modes/interactive/components/home-screen.js.map +1 -1
- package/dist/modes/interactive/components/model-selector.d.ts +9 -3
- package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/model-selector.js +56 -12
- package/dist/modes/interactive/components/model-selector.js.map +1 -1
- package/dist/modes/interactive/components/prompt-optimization.d.ts +16 -0
- package/dist/modes/interactive/components/prompt-optimization.d.ts.map +1 -0
- package/dist/modes/interactive/components/prompt-optimization.js +46 -0
- package/dist/modes/interactive/components/prompt-optimization.js.map +1 -0
- package/dist/modes/interactive/components/settings-selector.d.ts +19 -2
- package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/settings-selector.js +180 -56
- package/dist/modes/interactive/components/settings-selector.js.map +1 -1
- package/dist/modes/interactive/components/settings-submenu.d.ts +72 -0
- package/dist/modes/interactive/components/settings-submenu.d.ts.map +1 -0
- package/dist/modes/interactive/components/settings-submenu.js +165 -0
- package/dist/modes/interactive/components/settings-submenu.js.map +1 -0
- package/dist/modes/interactive/components/thinking-selector.d.ts +15 -3
- package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
- package/dist/modes/interactive/components/thinking-selector.js +74 -17
- package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
- package/dist/modes/interactive/external-editor.d.ts.map +1 -1
- package/dist/modes/interactive/external-editor.js +2 -1
- package/dist/modes/interactive/external-editor.js.map +1 -1
- package/dist/modes/interactive/interactive-mode.d.ts +21 -1
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +709 -75
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
- package/dist/modes/interactive/theme/theme.js +4 -3
- package/dist/modes/interactive/theme/theme.js.map +1 -1
- package/dist/modes/json-event.d.ts +16 -13
- package/dist/modes/json-event.d.ts.map +1 -1
- package/dist/modes/json-event.js +20 -6
- 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 +11 -0
- package/dist/modes/print-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
- package/dist/modes/rpc/rpc-mode.js +173 -0
- package/dist/modes/rpc/rpc-mode.js.map +1 -1
- package/dist/modes/rpc/rpc-types.d.ts +29 -0
- 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 +27 -5
- package/dist/package-manager-cli.js.map +1 -1
- package/dist/server/attach.d.ts +56 -0
- package/dist/server/attach.d.ts.map +1 -0
- package/dist/server/attach.js +130 -0
- package/dist/server/attach.js.map +1 -0
- package/dist/server/extension-ops.d.ts +40 -0
- package/dist/server/extension-ops.d.ts.map +1 -0
- package/dist/server/extension-ops.js +146 -0
- package/dist/server/extension-ops.js.map +1 -0
- package/dist/server/pi-server-service.d.ts +85 -0
- package/dist/server/pi-server-service.d.ts.map +1 -0
- package/dist/server/pi-server-service.js +213 -0
- package/dist/server/pi-server-service.js.map +1 -0
- package/dist/server/scheduler-tick.d.ts +32 -0
- package/dist/server/scheduler-tick.d.ts.map +1 -0
- package/dist/server/scheduler-tick.js +47 -0
- package/dist/server/scheduler-tick.js.map +1 -0
- package/dist/server/serve.d.ts +25 -0
- package/dist/server/serve.d.ts.map +1 -0
- package/dist/server/serve.js +83 -0
- package/dist/server/serve.js.map +1 -0
- package/dist/server/transcript.d.ts +38 -0
- package/dist/server/transcript.d.ts.map +1 -0
- package/dist/server/transcript.js +176 -0
- package/dist/server/transcript.js.map +1 -0
- package/dist/skills/ada-engine/SKILL.md +153 -0
- package/dist/skills/skill-creator/SKILL.md +90 -0
- package/dist/telegram/api.d.ts +75 -0
- package/dist/telegram/api.d.ts.map +1 -0
- package/dist/telegram/api.js +104 -0
- package/dist/telegram/api.js.map +1 -0
- package/dist/telegram/bridge.d.ts +85 -0
- package/dist/telegram/bridge.d.ts.map +1 -0
- package/dist/telegram/bridge.js +182 -0
- package/dist/telegram/bridge.js.map +1 -0
- package/dist/telegram/journal.d.ts +67 -0
- package/dist/telegram/journal.d.ts.map +1 -0
- package/dist/telegram/journal.js +119 -0
- package/dist/telegram/journal.js.map +1 -0
- package/dist/telegram/servidor.d.ts +15 -0
- package/dist/telegram/servidor.d.ts.map +1 -0
- package/dist/telegram/servidor.js +74 -0
- package/dist/telegram/servidor.js.map +1 -0
- package/dist/utils/frontmatter.d.ts.map +1 -1
- package/dist/utils/frontmatter.js +2 -1
- package/dist/utils/frontmatter.js.map +1 -1
- package/dist/utils/management-http.d.ts +5 -3
- package/dist/utils/management-http.d.ts.map +1 -1
- package/dist/utils/management-http.js +14 -10
- package/dist/utils/management-http.js.map +1 -1
- package/dist/utils/shell.d.ts +11 -0
- package/dist/utils/shell.d.ts.map +1 -1
- package/dist/utils/shell.js +11 -0
- package/dist/utils/shell.js.map +1 -1
- package/dist/utils/text.d.ts +8 -0
- package/dist/utils/text.d.ts.map +1 -0
- package/dist/utils/text.js +9 -0
- package/dist/utils/text.js.map +1 -0
- package/dist/utils/version-check.d.ts.map +1 -1
- package/dist/utils/version-check.js +29 -1
- package/dist/utils/version-check.js.map +1 -1
- package/docs/compaction.md +25 -10
- package/docs/compliance.md +241 -0
- package/docs/containerization.md +24 -24
- package/docs/custom-provider.md +15 -12
- package/docs/development.md +47 -10
- package/docs/docs.json +14 -2
- package/docs/environment-variables.md +20 -17
- package/docs/extensions.md +62 -51
- package/docs/index.md +15 -21
- package/docs/json.md +10 -5
- package/docs/keybindings.md +5 -5
- package/docs/llama-cpp.md +9 -7
- package/docs/models.md +18 -12
- package/docs/packages.md +45 -45
- package/docs/prompt-templates.md +5 -5
- package/docs/providers.md +12 -12
- package/docs/quickstart.md +39 -39
- package/docs/rpc.md +21 -15
- package/docs/sdk.md +38 -38
- package/docs/security.md +26 -21
- package/docs/session-format.md +7 -7
- package/docs/sessions.md +14 -14
- package/docs/settings.md +47 -22
- package/docs/shell-aliases.md +2 -2
- package/docs/skills.md +14 -13
- package/docs/terminal-setup.md +14 -14
- package/docs/termux.md +7 -7
- package/docs/themes.md +11 -11
- package/docs/tmux.md +4 -4
- package/docs/tui.md +3 -3
- package/docs/usage.md +54 -54
- package/docs/windows.md +2 -2
- package/examples/extensions/border-status-editor.ts +1 -1
- package/examples/extensions/git-checkpoint.ts +2 -2
- package/examples/extensions/notify.ts +3 -1
- package/examples/extensions/subagent/README.md +1 -1
- package/examples/extensions/subagent/index.ts +6 -1
- package/examples/extensions/titlebar-spinner.ts +1 -1
- package/examples/rpc-extension-ui.ts +1 -1
- package/examples/sdk/06-extensions.ts +1 -1
- package/examples/sdk/12-full-control.ts +9 -0
- package/examples/sdk/README.md +1 -1
- package/npm-shrinkwrap.json +35 -261
- package/package.json +9 -3
|
@@ -6,14 +6,17 @@ import * as crypto from "node:crypto";
|
|
|
6
6
|
import * as fs from "node:fs";
|
|
7
7
|
import * as os from "node:os";
|
|
8
8
|
import * as path from "node:path";
|
|
9
|
+
import { DEFAULT_RADIUS_GATEWAY } from "@earendil-works/pi-ai/providers/radius-config";
|
|
9
10
|
import * as TuiLayouts from "@earendil-works/pi-tui";
|
|
10
11
|
import { CombinedAutocompleteProvider, Container, fuzzyFilter, getCapabilities, hyperlink, Markdown, matchesKey, ProcessTerminal, Spacer, setKeybindings, Text, TruncatedText, TuiAltScreen, TuiMainScreen, visibleWidth, } from "@earendil-works/pi-tui";
|
|
11
12
|
import chalk from "chalk";
|
|
12
13
|
import { spawn, spawnSync } from "child_process";
|
|
14
|
+
import { getAuthCredential } from "../../cli/auth-command.js";
|
|
13
15
|
import { APP_NAME, APP_TITLE, CONFIG_DIR_NAME, getAgentDir, getAuthPath, getDebugLogPath, getDocsPath, getShareViewerUrl, VERSION, } from "../../config.js";
|
|
14
16
|
import { parseSkillBlock } from "../../core/agent-session.js";
|
|
15
17
|
import { SessionImportFileNotFoundError } from "../../core/agent-session-runtime.js";
|
|
16
18
|
import { CACHE_TTL_MS, collectCacheMisses, computeCacheWaste, detectCacheMiss, } from "../../core/cache-stats.js";
|
|
19
|
+
import { DEFAULT_THINKING_LEVEL, THINKING_LEVEL_OPTIONS } from "../../core/defaults.js";
|
|
17
20
|
import { FooterDataProvider } from "../../core/footer-data-provider.js";
|
|
18
21
|
import { configureHttpDispatcher, formatHttpIdleTimeoutMs } from "../../core/http-dispatcher.js";
|
|
19
22
|
import { KeybindingsManager } from "../../core/keybindings.js";
|
|
@@ -24,16 +27,15 @@ import { DefaultPackageManager } from "../../core/package-manager.js";
|
|
|
24
27
|
import { formatMissingSessionCwdPrompt, MissingSessionCwdError } from "../../core/session-cwd.js";
|
|
25
28
|
import { SessionManager, sessionEntryToContextMessages } from "../../core/session-manager.js";
|
|
26
29
|
import { BUILTIN_SLASH_COMMANDS } from "../../core/slash-commands.js";
|
|
27
|
-
import { isInstallTelemetryEnabled } from "../../core/telemetry.js";
|
|
28
30
|
import { hasTrustRequiringProjectResources, ProjectTrustStore } from "../../core/trust-manager.js";
|
|
29
31
|
import { getUsageCostBreakdown } from "../../core/usage-totals.js";
|
|
32
|
+
import { reduceGoal } from "../../core/workflows/goal-engine/state.js";
|
|
30
33
|
import { getChangelogPath, getNewEntries, normalizeChangelogLinks, parseChangelog } from "../../utils/changelog.js";
|
|
31
34
|
import { copyToClipboard, readClipboardText } from "../../utils/clipboard.js";
|
|
32
35
|
import { extensionForImageMimeType, readClipboardImage } from "../../utils/clipboard-image.js";
|
|
33
36
|
import { parseGitUrl } from "../../utils/git.js";
|
|
34
37
|
import { openBrowser } from "../../utils/open-browser.js";
|
|
35
38
|
import { getCwdRelativePath } from "../../utils/paths.js";
|
|
36
|
-
import { getPiUserAgent } from "../../utils/pi-user-agent.js";
|
|
37
39
|
import { killTrackedDetachedChildren } from "../../utils/shell.js";
|
|
38
40
|
import { ensureTool } from "../../utils/tools-manager.js";
|
|
39
41
|
import { checkForNewPiVersion } from "../../utils/version-check.js";
|
|
@@ -58,11 +60,13 @@ import { LoginDialogComponent } from "./components/login-dialog.js";
|
|
|
58
60
|
import { createMermaidMarkdownTransformer } from "./components/mermaid.js";
|
|
59
61
|
import { ModelSelectorComponent } from "./components/model-selector.js";
|
|
60
62
|
import { formatAuthSelectorProviderType, OAuthSelectorComponent, } from "./components/oauth-selector.js";
|
|
63
|
+
import { PromptOptimization } from "./components/prompt-optimization.js";
|
|
61
64
|
import { ScopedModelsSelectorComponent } from "./components/scoped-models-selector.js";
|
|
62
65
|
import { SessionSelectorComponent } from "./components/session-selector.js";
|
|
63
66
|
import { SettingsSelectorComponent } from "./components/settings-selector.js";
|
|
64
67
|
import { SkillInvocationMessageComponent } from "./components/skill-invocation-message.js";
|
|
65
68
|
import { BranchSummaryStatusIndicator, CompactionStatusIndicator, IdleStatus, RetryStatusIndicator, WorkingStatusIndicator, } from "./components/status-indicator.js";
|
|
69
|
+
import { ThinkingSelectorComponent } from "./components/thinking-selector.js";
|
|
66
70
|
import { ToolExecutionComponent } from "./components/tool-execution.js";
|
|
67
71
|
import { TreeSelectorComponent } from "./components/tree-selector.js";
|
|
68
72
|
import { TrustSelectorComponent } from "./components/trust-selector.js";
|
|
@@ -91,6 +95,9 @@ class ExpandableText extends Text {
|
|
|
91
95
|
function isCustomSessionEntry(item) {
|
|
92
96
|
return "type" in item && item.type === "custom";
|
|
93
97
|
}
|
|
98
|
+
function isCompactionCostNotice(item) {
|
|
99
|
+
return "type" in item && item.type === "compaction_cost";
|
|
100
|
+
}
|
|
94
101
|
const DEAD_TERMINAL_ERROR_CODES = new Set(["EIO", "EPIPE", "ENOTCONN"]);
|
|
95
102
|
function isDeadTerminalError(error) {
|
|
96
103
|
if (!error || typeof error !== "object" || !("code" in error)) {
|
|
@@ -130,6 +137,11 @@ export function formatResumeCommand(sessionManager) {
|
|
|
130
137
|
function hasDefaultModelProvider(providerId) {
|
|
131
138
|
return providerId in defaultModelPerProvider;
|
|
132
139
|
}
|
|
140
|
+
function llamaCppPostLoginGuidance(actionLabel, loadedModelCount) {
|
|
141
|
+
return loadedModelCount === 0
|
|
142
|
+
? `${actionLabel}. No llama.cpp models are loaded. Use /llama to load a model, then /model to select it.`
|
|
143
|
+
: `${actionLabel}. Use /model to select a loaded llama.cpp model, or /llama to manage models.`;
|
|
144
|
+
}
|
|
133
145
|
const AUTH_TYPE_ORDER = { oauth: 0, api_key: 1 };
|
|
134
146
|
function createFuzzyAutocompleteItems(items, prefix, getSearchText, toAutocompleteItem) {
|
|
135
147
|
const filtered = fuzzyFilter(items, prefix, getSearchText);
|
|
@@ -465,6 +477,15 @@ export class InteractiveMode {
|
|
|
465
477
|
}));
|
|
466
478
|
};
|
|
467
479
|
}
|
|
480
|
+
const thinkingCommand = slashCommands.find((command) => command.name === "thinking");
|
|
481
|
+
if (thinkingCommand) {
|
|
482
|
+
thinkingCommand.getArgumentCompletions = (prefix) => {
|
|
483
|
+
return createFuzzyAutocompleteItems(this.session.getAvailableThinkingLevels(), prefix, (level) => level, (level) => ({
|
|
484
|
+
value: level,
|
|
485
|
+
label: level,
|
|
486
|
+
}));
|
|
487
|
+
};
|
|
488
|
+
}
|
|
468
489
|
const loginCommand = slashCommands.find((command) => command.name === "login");
|
|
469
490
|
if (loginCommand) {
|
|
470
491
|
loginCommand.getArgumentCompletions = (prefix) => {
|
|
@@ -679,7 +700,7 @@ export class InteractiveMode {
|
|
|
679
700
|
const accent = (text) => theme.fg("accent", text);
|
|
680
701
|
const dim = (text) => theme.fg("dim", text);
|
|
681
702
|
const muted = (text) => theme.fg("muted", text);
|
|
682
|
-
const
|
|
703
|
+
const _logo = theme.bold(theme.fg("accent", APP_NAME)) + theme.fg("dim", ` v${this.version}`);
|
|
683
704
|
// Welcome screen (central): ASCII logo + environment status + quick commands
|
|
684
705
|
const asciiLogo = [
|
|
685
706
|
" █████╗ ██████╗ █████╗",
|
|
@@ -836,7 +857,18 @@ export class InteractiveMode {
|
|
|
836
857
|
}
|
|
837
858
|
});
|
|
838
859
|
// Show startup warnings
|
|
839
|
-
const { migratedProviders, modelFallbackMessage, initialMessage, initialImages, initialMessages } = this.options;
|
|
860
|
+
const { migratedProviders, startupDiagnostics, modelFallbackMessage, initialMessage, initialImages, initialMessages, } = this.options;
|
|
861
|
+
for (const diagnostic of startupDiagnostics ?? []) {
|
|
862
|
+
if (diagnostic.type === "error") {
|
|
863
|
+
this.showError(diagnostic.message);
|
|
864
|
+
}
|
|
865
|
+
else if (diagnostic.type === "warning") {
|
|
866
|
+
this.showWarning(diagnostic.message);
|
|
867
|
+
}
|
|
868
|
+
else {
|
|
869
|
+
this.showStatus(diagnostic.message);
|
|
870
|
+
}
|
|
871
|
+
}
|
|
840
872
|
if (migratedProviders && migratedProviders.length > 0) {
|
|
841
873
|
this.showWarning(`Migrated credentials to auth.json: ${migratedProviders.join(", ")}`);
|
|
842
874
|
}
|
|
@@ -954,33 +986,15 @@ export class InteractiveMode {
|
|
|
954
986
|
if (!lastVersion) {
|
|
955
987
|
// Fresh install - record the version, send telemetry, don't show changelog
|
|
956
988
|
this.settingsManager.setLastChangelogVersion(VERSION);
|
|
957
|
-
this.reportInstallTelemetry(VERSION);
|
|
958
989
|
return undefined;
|
|
959
990
|
}
|
|
960
991
|
const newEntries = getNewEntries(entries, lastVersion);
|
|
961
992
|
if (newEntries.length > 0) {
|
|
962
993
|
this.settingsManager.setLastChangelogVersion(VERSION);
|
|
963
|
-
this.reportInstallTelemetry(VERSION);
|
|
964
994
|
return newEntries.map((e) => normalizeChangelogLinks(e.content, e)).join("\n\n");
|
|
965
995
|
}
|
|
966
996
|
return undefined;
|
|
967
997
|
}
|
|
968
|
-
reportInstallTelemetry(version) {
|
|
969
|
-
if (process.env.PI_OFFLINE) {
|
|
970
|
-
return;
|
|
971
|
-
}
|
|
972
|
-
if (!isInstallTelemetryEnabled(this.settingsManager)) {
|
|
973
|
-
return;
|
|
974
|
-
}
|
|
975
|
-
void fetch(`https://pi.dev/api/report-install?version=${encodeURIComponent(version)}`, {
|
|
976
|
-
headers: {
|
|
977
|
-
"User-Agent": getPiUserAgent(version),
|
|
978
|
-
},
|
|
979
|
-
signal: AbortSignal.timeout(5000),
|
|
980
|
-
})
|
|
981
|
-
.then(() => undefined)
|
|
982
|
-
.catch(() => undefined);
|
|
983
|
-
}
|
|
984
998
|
getMarkdownThemeWithSettings() {
|
|
985
999
|
return {
|
|
986
1000
|
...getMarkdownTheme(),
|
|
@@ -2378,6 +2392,12 @@ export class InteractiveMode {
|
|
|
2378
2392
|
await this.handleModelCommand(searchTerm);
|
|
2379
2393
|
return;
|
|
2380
2394
|
}
|
|
2395
|
+
if (text === "/thinking" || text.startsWith("/thinking ")) {
|
|
2396
|
+
const searchTerm = text.startsWith("/thinking ") ? text.slice(10).trim() : undefined;
|
|
2397
|
+
this.editor.setText("");
|
|
2398
|
+
this.handleThinkingCommand(searchTerm);
|
|
2399
|
+
return;
|
|
2400
|
+
}
|
|
2381
2401
|
if (text === "/export" || text.startsWith("/export ")) {
|
|
2382
2402
|
await this.handleExportCommand(text);
|
|
2383
2403
|
this.editor.setText("");
|
|
@@ -2429,6 +2449,24 @@ export class InteractiveMode {
|
|
|
2429
2449
|
void this.handleVaultCommand(args);
|
|
2430
2450
|
return;
|
|
2431
2451
|
}
|
|
2452
|
+
if (text === "/goal" || text.startsWith("/goal ")) {
|
|
2453
|
+
const args = text.startsWith("/goal ") ? text.slice(6).trim() : "";
|
|
2454
|
+
this.editor.setText("");
|
|
2455
|
+
void this.handleGoalCommand(args);
|
|
2456
|
+
return;
|
|
2457
|
+
}
|
|
2458
|
+
if (text === "/graph" || text.startsWith("/graph ")) {
|
|
2459
|
+
const args = text.startsWith("/graph ") ? text.slice(7).trim() : "";
|
|
2460
|
+
this.editor.setText("");
|
|
2461
|
+
void this.handleGraphCommand(args);
|
|
2462
|
+
return;
|
|
2463
|
+
}
|
|
2464
|
+
if (text === "/workflow" || text.startsWith("/workflow ")) {
|
|
2465
|
+
const args = text.startsWith("/workflow ") ? text.slice(10).trim() : "";
|
|
2466
|
+
this.editor.setText("");
|
|
2467
|
+
void this.handleWorkflowCommand(args);
|
|
2468
|
+
return;
|
|
2469
|
+
}
|
|
2432
2470
|
if (text === "/changelog") {
|
|
2433
2471
|
this.handleChangelogCommand();
|
|
2434
2472
|
this.editor.setText("");
|
|
@@ -2584,6 +2622,9 @@ export class InteractiveMode {
|
|
|
2584
2622
|
this.showStatus(event.message);
|
|
2585
2623
|
}
|
|
2586
2624
|
break;
|
|
2625
|
+
case "prompt_optimization":
|
|
2626
|
+
this.showPromptOptimization(event);
|
|
2627
|
+
break;
|
|
2587
2628
|
case "agent_start":
|
|
2588
2629
|
this.pendingTools.clear();
|
|
2589
2630
|
if (this.settingsManager.getShowTerminalProgress()) {
|
|
@@ -2788,9 +2829,21 @@ export class InteractiveMode {
|
|
|
2788
2829
|
}
|
|
2789
2830
|
}
|
|
2790
2831
|
else if (event.result) {
|
|
2832
|
+
const entries = this.sessionManager.buildContextEntries();
|
|
2833
|
+
if (entries[0]?.type !== "compaction") {
|
|
2834
|
+
throw new Error("Completed compaction is missing from the session context");
|
|
2835
|
+
}
|
|
2791
2836
|
this.chatContainer.clear();
|
|
2792
|
-
|
|
2837
|
+
// The latest compaction is prepended for model context; append it below at its chronological position.
|
|
2838
|
+
this.renderSessionEntries(entries.slice(1));
|
|
2793
2839
|
this.addMessageToChat(createCompactionSummaryMessage(event.result.summary, event.result.tokensBefore, new Date().toISOString()));
|
|
2840
|
+
if (event.result.usage) {
|
|
2841
|
+
this.addCompactionCostNotice({
|
|
2842
|
+
type: "compaction_cost",
|
|
2843
|
+
kind: "compaction",
|
|
2844
|
+
usage: event.result.usage,
|
|
2845
|
+
});
|
|
2846
|
+
}
|
|
2794
2847
|
this.footer.invalidate();
|
|
2795
2848
|
}
|
|
2796
2849
|
else if (event.errorMessage) {
|
|
@@ -2882,6 +2935,23 @@ export class InteractiveMode {
|
|
|
2882
2935
|
* If multiple status messages are emitted back-to-back (without anything else being added to the chat),
|
|
2883
2936
|
* we update the previous status line instead of appending new ones to avoid log spam.
|
|
2884
2937
|
*/
|
|
2938
|
+
/** Muestra cómo el optimizador mejoró el prompt (o qué pregunta aclarar). */
|
|
2939
|
+
showPromptOptimization(event) {
|
|
2940
|
+
const component = new PromptOptimization(this.ui, event);
|
|
2941
|
+
if (this.streamingComponent) {
|
|
2942
|
+
const idx = this.chatContainer.children.indexOf(this.streamingComponent);
|
|
2943
|
+
if (idx >= 0) {
|
|
2944
|
+
this.chatContainer.children.splice(idx, 0, component);
|
|
2945
|
+
}
|
|
2946
|
+
else {
|
|
2947
|
+
this.chatContainer.addChild(component);
|
|
2948
|
+
}
|
|
2949
|
+
}
|
|
2950
|
+
else {
|
|
2951
|
+
this.chatContainer.addChild(component);
|
|
2952
|
+
}
|
|
2953
|
+
this.ui.requestRender();
|
|
2954
|
+
}
|
|
2885
2955
|
showStatus(message) {
|
|
2886
2956
|
const children = this.chatContainer.children;
|
|
2887
2957
|
const last = children.length > 0 ? children[children.length - 1] : undefined;
|
|
@@ -2936,8 +3006,7 @@ export class InteractiveMode {
|
|
|
2936
3006
|
// (sensitive data will not be stored in memory).
|
|
2937
3007
|
const text = customMessageText(message.content);
|
|
2938
3008
|
this.chatContainer.addChild(new Spacer(1));
|
|
2939
|
-
this.chatContainer.addChild(new Text(theme.fg("warning", "⚠️ ") + theme.bold(theme.fg("warning", "Ada Memory"))
|
|
2940
|
-
"\n" + text, 1, 0));
|
|
3009
|
+
this.chatContainer.addChild(new Text(`${theme.fg("warning", "⚠️ ") + theme.bold(theme.fg("warning", "Ada Memory"))}\n${text}`, 1, 0));
|
|
2941
3010
|
break;
|
|
2942
3011
|
}
|
|
2943
3012
|
const renderer = this.session.extensionRunner.getMessageRenderer(message.customType);
|
|
@@ -3021,6 +3090,10 @@ export class InteractiveMode {
|
|
|
3021
3090
|
this.addCustomEntryToChat(item);
|
|
3022
3091
|
continue;
|
|
3023
3092
|
}
|
|
3093
|
+
if (isCompactionCostNotice(item)) {
|
|
3094
|
+
this.addCompactionCostNotice(item);
|
|
3095
|
+
continue;
|
|
3096
|
+
}
|
|
3024
3097
|
const message = item;
|
|
3025
3098
|
// Assistant messages need special handling for tool calls
|
|
3026
3099
|
if (message.role === "assistant") {
|
|
@@ -3088,10 +3161,28 @@ export class InteractiveMode {
|
|
|
3088
3161
|
if (entry.type === "custom") {
|
|
3089
3162
|
return [entry];
|
|
3090
3163
|
}
|
|
3091
|
-
|
|
3164
|
+
const messages = sessionEntryToContextMessages(entry);
|
|
3165
|
+
if ((entry.type === "compaction" || entry.type === "branch_summary") && entry.usage && messages.length > 0) {
|
|
3166
|
+
return [...messages, { type: "compaction_cost", kind: entry.type, usage: entry.usage }];
|
|
3167
|
+
}
|
|
3168
|
+
return messages;
|
|
3092
3169
|
});
|
|
3093
3170
|
this.renderSessionItems(items, options);
|
|
3094
3171
|
}
|
|
3172
|
+
/**
|
|
3173
|
+
* Render billing usage for a compaction or branch summary. The notice is derived
|
|
3174
|
+
* from persisted summary usage and is not stored as a separate session entry.
|
|
3175
|
+
*/
|
|
3176
|
+
addCompactionCostNotice(notice) {
|
|
3177
|
+
if (!this.settingsManager.getShowCacheMissNotices())
|
|
3178
|
+
return;
|
|
3179
|
+
const { usage } = notice;
|
|
3180
|
+
const tokens = usage.input + usage.output + usage.cacheRead + usage.cacheWrite;
|
|
3181
|
+
const cost = usage.cost.total >= 0.01 ? ` (~$${usage.cost.total.toFixed(2)})` : "";
|
|
3182
|
+
const label = notice.kind === "compaction" ? "Compaction" : "Branch summary";
|
|
3183
|
+
this.chatContainer.addChild(new Spacer(1));
|
|
3184
|
+
this.chatContainer.addChild(new Text(theme.fg("warning", `${label}: ${formatTokens(tokens)} tokens billed${cost}`), 1, 0));
|
|
3185
|
+
}
|
|
3095
3186
|
/**
|
|
3096
3187
|
* Show a transcript notice when a completed assistant message paid for a
|
|
3097
3188
|
* significant cache miss. Only states observable facts: the miss itself,
|
|
@@ -3728,21 +3819,35 @@ export class InteractiveMode {
|
|
|
3728
3819
|
showSettingsSelector() {
|
|
3729
3820
|
this.showSelector((done) => {
|
|
3730
3821
|
let selector;
|
|
3822
|
+
const defaultProvider = this.settingsManager.getDefaultProvider();
|
|
3823
|
+
const defaultModelId = this.settingsManager.getDefaultModel();
|
|
3824
|
+
const defaultModel = defaultProvider && defaultModelId ? `${defaultProvider}/${defaultModelId}` : "not set";
|
|
3731
3825
|
selector = new SettingsSelectorComponent({
|
|
3732
3826
|
autoCompact: this.session.autoCompactionEnabled,
|
|
3827
|
+
defaultModel,
|
|
3828
|
+
currentModel: this.session.model,
|
|
3829
|
+
availableDefaultModels: this.session.modelRuntime.getAvailableSnapshot(),
|
|
3733
3830
|
showImages: this.settingsManager.getShowImages(),
|
|
3734
3831
|
imageWidthCells: this.settingsManager.getImageWidthCells(),
|
|
3735
3832
|
autoResizeImages: this.settingsManager.getImageAutoResize(),
|
|
3736
3833
|
blockImages: this.settingsManager.getBlockImages(),
|
|
3737
3834
|
projectMemory: this.settingsManager.getProjectMemoryEnabled(),
|
|
3738
3835
|
memoryMode: this.settingsManager.getMemoryMode(),
|
|
3836
|
+
// Ada Intelligence Engine (§16.2)
|
|
3837
|
+
workflowsEnabled: this.settingsManager.getWorkflowsEnabled(),
|
|
3838
|
+
goalEngineEnabled: this.settingsManager.getGoalEngineEnabled(),
|
|
3839
|
+
goalWorkTier: this.settingsManager.getGoalWorkTier(),
|
|
3840
|
+
goalMaxTurns: this.settingsManager.getGoalMaxTurns(),
|
|
3841
|
+
goalRepeatTolerance: this.settingsManager.getGoalRepeatTolerance(),
|
|
3842
|
+
promptOptimizerMode: this.settingsManager.getPromptOptimizerMode(),
|
|
3739
3843
|
enableSkillCommands: this.settingsManager.getEnableSkillCommands(),
|
|
3740
3844
|
steeringMode: this.session.steeringMode,
|
|
3741
3845
|
followUpMode: this.session.followUpMode,
|
|
3742
3846
|
transport: this.settingsManager.getTransport(),
|
|
3743
3847
|
httpIdleTimeoutMs: this.settingsManager.getHttpIdleTimeoutMs(),
|
|
3744
|
-
thinkingLevel: this.
|
|
3745
|
-
availableThinkingLevels:
|
|
3848
|
+
thinkingLevel: this.settingsManager.getDefaultThinkingLevel() ?? DEFAULT_THINKING_LEVEL,
|
|
3849
|
+
availableThinkingLevels: [...THINKING_LEVEL_OPTIONS],
|
|
3850
|
+
modelThinkingLevels: this.settingsManager.getAllModelThinkingLevels(),
|
|
3746
3851
|
currentTheme: this.themeController.getThemeSelection() || "dark",
|
|
3747
3852
|
terminalTheme: this.themeController.getTerminalTheme(),
|
|
3748
3853
|
availableThemes: getAvailableThemes(),
|
|
@@ -3800,6 +3905,26 @@ export class InteractiveMode {
|
|
|
3800
3905
|
// Rebuild the prompt so the new injection mode takes effect.
|
|
3801
3906
|
this.session.rebuildSystemPrompt();
|
|
3802
3907
|
},
|
|
3908
|
+
onWorkflowsEnabledChange: (enabled) => {
|
|
3909
|
+
this.settingsManager.setWorkflowsEnabled(enabled);
|
|
3910
|
+
},
|
|
3911
|
+
onPromptOptimizerModeChange: (mode) => {
|
|
3912
|
+
this.settingsManager.setPromptOptimizerMode(mode);
|
|
3913
|
+
// Aplica el modo en la sesión en vivo (sin reiniciar).
|
|
3914
|
+
this.session.setPromptOptimizerMode(mode);
|
|
3915
|
+
},
|
|
3916
|
+
onGoalEngineEnabledChange: (enabled) => {
|
|
3917
|
+
this.settingsManager.setGoalEngineEnabled(enabled);
|
|
3918
|
+
},
|
|
3919
|
+
onGoalWorkTierChange: (tier) => {
|
|
3920
|
+
this.settingsManager.setGoalWorkTier(tier);
|
|
3921
|
+
},
|
|
3922
|
+
onGoalMaxTurnsChange: (turns) => {
|
|
3923
|
+
this.settingsManager.setGoalMaxTurns(turns);
|
|
3924
|
+
},
|
|
3925
|
+
onRepeatToleranceChange: (tolerance) => {
|
|
3926
|
+
this.settingsManager.setGoalRepeatTolerance(tolerance);
|
|
3927
|
+
},
|
|
3803
3928
|
onEnableSkillCommandsChange: (enabled) => {
|
|
3804
3929
|
this.settingsManager.setEnableSkillCommands(enabled);
|
|
3805
3930
|
this.setupAutocompleteProvider();
|
|
@@ -3819,10 +3944,26 @@ export class InteractiveMode {
|
|
|
3819
3944
|
configureHttpDispatcher(timeoutMs);
|
|
3820
3945
|
this.showStatus(`HTTP idle timeout: ${formatHttpIdleTimeoutMs(timeoutMs)}`);
|
|
3821
3946
|
},
|
|
3822
|
-
|
|
3823
|
-
this.
|
|
3824
|
-
|
|
3825
|
-
this.
|
|
3947
|
+
onModelThinkingLevelChange: (provider, modelId, level) => {
|
|
3948
|
+
this.settingsManager.setModelThinkingLevel(provider, modelId, level);
|
|
3949
|
+
// If the override is for the current model, apply it to the session too
|
|
3950
|
+
const current = this.session.model;
|
|
3951
|
+
if (current && current.provider === provider && current.id === modelId) {
|
|
3952
|
+
this.session.setThinkingLevel(level);
|
|
3953
|
+
this.footer.invalidate();
|
|
3954
|
+
this.updateEditorBorderColor();
|
|
3955
|
+
}
|
|
3956
|
+
},
|
|
3957
|
+
onModelThinkingLevelRemove: (provider, modelId) => {
|
|
3958
|
+
this.settingsManager.removeModelThinkingLevel(provider, modelId);
|
|
3959
|
+
// If the override was for the current model, revert to global default
|
|
3960
|
+
const current = this.session.model;
|
|
3961
|
+
if (current && current.provider === provider && current.id === modelId) {
|
|
3962
|
+
const globalDefault = this.settingsManager.getDefaultThinkingLevel() ?? DEFAULT_THINKING_LEVEL;
|
|
3963
|
+
this.session.setThinkingLevel(globalDefault);
|
|
3964
|
+
this.footer.invalidate();
|
|
3965
|
+
this.updateEditorBorderColor();
|
|
3966
|
+
}
|
|
3826
3967
|
},
|
|
3827
3968
|
onThemeChange: (themeSetting) => {
|
|
3828
3969
|
this.settingsManager.setTheme(themeSetting);
|
|
@@ -3943,6 +4084,44 @@ export class InteractiveMode {
|
|
|
3943
4084
|
return { component: selector, focus: selector.getSettingsList() };
|
|
3944
4085
|
});
|
|
3945
4086
|
}
|
|
4087
|
+
handleThinkingCommand(searchTerm) {
|
|
4088
|
+
const availableLevels = this.session.getAvailableThinkingLevels();
|
|
4089
|
+
if (!searchTerm) {
|
|
4090
|
+
this.showThinkingSelector();
|
|
4091
|
+
return;
|
|
4092
|
+
}
|
|
4093
|
+
const normalized = searchTerm.trim().toLowerCase();
|
|
4094
|
+
const level = availableLevels.find((candidate) => candidate.toLowerCase() === normalized);
|
|
4095
|
+
if (!level) {
|
|
4096
|
+
this.showError(`Unknown thinking level "${searchTerm}". Available levels: ${availableLevels.join(", ")}.`);
|
|
4097
|
+
return;
|
|
4098
|
+
}
|
|
4099
|
+
this.selectThinkingLevel(level, false);
|
|
4100
|
+
}
|
|
4101
|
+
selectThinkingLevel(level, persist) {
|
|
4102
|
+
try {
|
|
4103
|
+
this.session.setThinkingLevel(level, { persist });
|
|
4104
|
+
this.footer.invalidate();
|
|
4105
|
+
this.updateEditorBorderColor();
|
|
4106
|
+
this.showStatus(persist ? `Default thinking level: ${level}` : `Thinking level: ${level}`);
|
|
4107
|
+
}
|
|
4108
|
+
catch (error) {
|
|
4109
|
+
this.showError(error instanceof Error ? error.message : String(error));
|
|
4110
|
+
}
|
|
4111
|
+
}
|
|
4112
|
+
showThinkingSelector() {
|
|
4113
|
+
this.showSelector((done) => {
|
|
4114
|
+
const selectLevel = (level, persist) => {
|
|
4115
|
+
this.selectThinkingLevel(level, persist);
|
|
4116
|
+
done();
|
|
4117
|
+
};
|
|
4118
|
+
const selector = new ThinkingSelectorComponent(this.session.thinkingLevel ?? DEFAULT_THINKING_LEVEL, this.session.getAvailableThinkingLevels(), (level) => selectLevel(level, false), () => {
|
|
4119
|
+
done();
|
|
4120
|
+
this.ui.requestRender();
|
|
4121
|
+
}, (level) => selectLevel(level, true), this.settingsManager.getDefaultThinkingLevel() ?? DEFAULT_THINKING_LEVEL);
|
|
4122
|
+
return { component: selector, focus: selector };
|
|
4123
|
+
});
|
|
4124
|
+
}
|
|
3946
4125
|
async handleModelCommand(searchTerm) {
|
|
3947
4126
|
if (!searchTerm) {
|
|
3948
4127
|
this.showModelSelector();
|
|
@@ -3951,7 +4130,7 @@ export class InteractiveMode {
|
|
|
3951
4130
|
const model = await this.findExactModelMatch(searchTerm);
|
|
3952
4131
|
if (model) {
|
|
3953
4132
|
try {
|
|
3954
|
-
await this.session.setModel(model);
|
|
4133
|
+
await this.session.setModel(model, { persist: false });
|
|
3955
4134
|
this.footer.invalidate();
|
|
3956
4135
|
this.updateEditorBorderColor();
|
|
3957
4136
|
this.showStatus(`Model: ${model.id}`);
|
|
@@ -4080,13 +4259,13 @@ export class InteractiveMode {
|
|
|
4080
4259
|
}
|
|
4081
4260
|
showModelSelector(initialSearchInput) {
|
|
4082
4261
|
this.showSelector((done) => {
|
|
4083
|
-
const
|
|
4262
|
+
const selectModel = async (model, persist) => {
|
|
4084
4263
|
try {
|
|
4085
|
-
await this.session.setModel(model);
|
|
4264
|
+
await this.session.setModel(model, { persist });
|
|
4086
4265
|
this.footer.invalidate();
|
|
4087
4266
|
this.updateEditorBorderColor();
|
|
4088
4267
|
done();
|
|
4089
|
-
this.showStatus(`Model: ${model.id}`);
|
|
4268
|
+
this.showStatus(persist ? `Default model: ${model.provider}/${model.id}` : `Model: ${model.id}`);
|
|
4090
4269
|
void this.maybeWarnAboutAnthropicSubscriptionAuth(model);
|
|
4091
4270
|
this.checkDaxnutsEasterEgg(model);
|
|
4092
4271
|
}
|
|
@@ -4094,10 +4273,13 @@ export class InteractiveMode {
|
|
|
4094
4273
|
done();
|
|
4095
4274
|
this.showError(error instanceof Error ? error.message : String(error));
|
|
4096
4275
|
}
|
|
4097
|
-
}
|
|
4276
|
+
};
|
|
4277
|
+
const defaultProvider = this.settingsManager.getDefaultProvider();
|
|
4278
|
+
const defaultModel = this.settingsManager.getDefaultModel();
|
|
4279
|
+
const selector = new ModelSelectorComponent(this.ui, this.session.model, this.session.modelRuntime, this.session.scopedModels, (model) => selectModel(model, false), () => {
|
|
4098
4280
|
done();
|
|
4099
4281
|
this.ui.requestRender();
|
|
4100
|
-
}, initialSearchInput);
|
|
4282
|
+
}, initialSearchInput, (model) => selectModel(model, true), defaultProvider && defaultModel ? { provider: defaultProvider, id: defaultModel } : undefined);
|
|
4101
4283
|
return { component: selector, focus: selector, dispose: () => selector.dispose() };
|
|
4102
4284
|
});
|
|
4103
4285
|
}
|
|
@@ -4653,7 +4835,11 @@ export class InteractiveMode {
|
|
|
4653
4835
|
if (isUnknownModel(previousModel)) {
|
|
4654
4836
|
const availableModels = this.session.modelRuntime.getAvailableSnapshot();
|
|
4655
4837
|
const providerModels = availableModels.filter((model) => model.provider === providerId);
|
|
4656
|
-
|
|
4838
|
+
// Matches LLAMA_PROVIDER_ID from extensions/llama/provider.ts; kept inline to avoid coupling interactive mode to the built-in extension.
|
|
4839
|
+
if (providerId === "llama.cpp") {
|
|
4840
|
+
selectionError = llamaCppPostLoginGuidance(actionLabel, providerModels.length);
|
|
4841
|
+
}
|
|
4842
|
+
else if (!hasDefaultModelProvider(providerId)) {
|
|
4657
4843
|
selectionError = `${actionLabel}, but no default model is configured for provider "${providerId}". Use /model to select a model.`;
|
|
4658
4844
|
}
|
|
4659
4845
|
else if (providerModels.length === 0) {
|
|
@@ -4667,7 +4853,7 @@ export class InteractiveMode {
|
|
|
4667
4853
|
}
|
|
4668
4854
|
else {
|
|
4669
4855
|
try {
|
|
4670
|
-
await this.session.setModel(selectedModel);
|
|
4856
|
+
await this.session.setModel(selectedModel, { persist: true });
|
|
4671
4857
|
}
|
|
4672
4858
|
catch (error) {
|
|
4673
4859
|
selectedModel = undefined;
|
|
@@ -5037,50 +5223,119 @@ export class InteractiveMode {
|
|
|
5037
5223
|
}
|
|
5038
5224
|
}
|
|
5039
5225
|
async handleShareCommand() {
|
|
5040
|
-
//
|
|
5226
|
+
// Radius artifacts natively support JSONL sessions. Gist fallback keeps the legacy HTML upload.
|
|
5227
|
+
const jsonlFile = path.join(os.tmpdir(), "session.jsonl");
|
|
5228
|
+
let htmlFile = null;
|
|
5041
5229
|
try {
|
|
5042
|
-
|
|
5043
|
-
|
|
5044
|
-
|
|
5230
|
+
try {
|
|
5231
|
+
this.session.exportToJsonl(jsonlFile);
|
|
5232
|
+
}
|
|
5233
|
+
catch (error) {
|
|
5234
|
+
this.showError(`Failed to export session: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
5235
|
+
return;
|
|
5236
|
+
}
|
|
5237
|
+
if (await this.tryShareViaRadius(jsonlFile))
|
|
5045
5238
|
return;
|
|
5239
|
+
try {
|
|
5240
|
+
const authResult = spawnSync("gh", ["auth", "status"], { encoding: "utf-8" });
|
|
5241
|
+
if (authResult.status !== 0) {
|
|
5242
|
+
this.showError("GitHub CLI is not logged in. Run 'gh auth login' first.");
|
|
5243
|
+
return;
|
|
5244
|
+
}
|
|
5046
5245
|
}
|
|
5246
|
+
catch {
|
|
5247
|
+
this.showError("GitHub CLI (gh) is not installed. Install it from https://cli.github.com/");
|
|
5248
|
+
return;
|
|
5249
|
+
}
|
|
5250
|
+
try {
|
|
5251
|
+
htmlFile = path.join(os.tmpdir(), "session.html");
|
|
5252
|
+
await this.session.exportToHtml(htmlFile, { themeName: theme.name });
|
|
5253
|
+
}
|
|
5254
|
+
catch (error) {
|
|
5255
|
+
this.showError(`Failed to export session: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
5256
|
+
return;
|
|
5257
|
+
}
|
|
5258
|
+
await this.shareViaGist(htmlFile);
|
|
5047
5259
|
}
|
|
5048
|
-
|
|
5049
|
-
|
|
5050
|
-
|
|
5260
|
+
finally {
|
|
5261
|
+
for (const tmpFile of [jsonlFile, htmlFile]) {
|
|
5262
|
+
try {
|
|
5263
|
+
if (tmpFile !== null) {
|
|
5264
|
+
fs.unlinkSync(tmpFile);
|
|
5265
|
+
}
|
|
5266
|
+
}
|
|
5267
|
+
catch {
|
|
5268
|
+
// Ignore cleanup errors
|
|
5269
|
+
}
|
|
5270
|
+
}
|
|
5051
5271
|
}
|
|
5052
|
-
|
|
5053
|
-
|
|
5272
|
+
}
|
|
5273
|
+
async tryShareViaRadius(tmpFile) {
|
|
5274
|
+
const provider = this.session.modelRuntime.getProvider("radius");
|
|
5275
|
+
if (!provider)
|
|
5276
|
+
return false;
|
|
5277
|
+
const gatewayUrl = DEFAULT_RADIUS_GATEWAY;
|
|
5278
|
+
const token = getAuthCredential(await this.session.modelRuntime.getAuth("radius", { minOAuthValidityMs: 5 * 60_000 }));
|
|
5279
|
+
if (!token)
|
|
5280
|
+
return false;
|
|
5281
|
+
const loader = new BorderedLoader(this.ui, theme, "Uploading to Radius...");
|
|
5282
|
+
this.editorContainer.clear();
|
|
5283
|
+
this.editorContainer.addChild(loader);
|
|
5284
|
+
this.ui.setFocus(loader);
|
|
5285
|
+
this.ui.requestRender();
|
|
5286
|
+
loader.onAbort = () => {
|
|
5287
|
+
this.restoreShareEditor(loader);
|
|
5288
|
+
this.showStatus("Share cancelled");
|
|
5289
|
+
};
|
|
5054
5290
|
try {
|
|
5055
|
-
|
|
5291
|
+
const body = fs.readFileSync(tmpFile);
|
|
5292
|
+
const url = new URL("/v1/artifacts", gatewayUrl);
|
|
5293
|
+
url.searchParams.set("visibility", "organization");
|
|
5294
|
+
url.searchParams.set("title", "Pi session");
|
|
5295
|
+
const response = await fetch(url, {
|
|
5296
|
+
method: "POST",
|
|
5297
|
+
headers: {
|
|
5298
|
+
Authorization: `Bearer ${token}`,
|
|
5299
|
+
"Content-Type": "application/x-ndjson",
|
|
5300
|
+
"Content-Length": String(body.byteLength),
|
|
5301
|
+
},
|
|
5302
|
+
body,
|
|
5303
|
+
signal: loader.signal,
|
|
5304
|
+
});
|
|
5305
|
+
if (loader.signal.aborted)
|
|
5306
|
+
return true;
|
|
5307
|
+
const json = (await response.json().catch(() => null));
|
|
5308
|
+
if (loader.signal.aborted)
|
|
5309
|
+
return true;
|
|
5310
|
+
this.restoreShareEditor(loader);
|
|
5311
|
+
if (!response.ok || !json?.artifact) {
|
|
5312
|
+
this.showError(`Failed to upload Radius artifact: ${json?.error || response.statusText || response.status}`);
|
|
5313
|
+
return true;
|
|
5314
|
+
}
|
|
5315
|
+
const shareUrl = json.artifact.canonical_url;
|
|
5316
|
+
this.showStatus(`Share URL: ${hyperlink(shareUrl, shareUrl)}`);
|
|
5317
|
+
return true;
|
|
5056
5318
|
}
|
|
5057
5319
|
catch (error) {
|
|
5058
|
-
|
|
5059
|
-
|
|
5320
|
+
if (!loader.signal.aborted) {
|
|
5321
|
+
this.restoreShareEditor(loader);
|
|
5322
|
+
this.showError(`Failed to upload Radius artifact: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
5323
|
+
}
|
|
5324
|
+
return true;
|
|
5060
5325
|
}
|
|
5326
|
+
}
|
|
5327
|
+
async shareViaGist(tmpFile) {
|
|
5061
5328
|
// Show cancellable loader, replacing the editor
|
|
5062
5329
|
const loader = new BorderedLoader(this.ui, theme, "Creating gist...");
|
|
5063
5330
|
this.editorContainer.clear();
|
|
5064
5331
|
this.editorContainer.addChild(loader);
|
|
5065
5332
|
this.ui.setFocus(loader);
|
|
5066
5333
|
this.ui.requestRender();
|
|
5067
|
-
const restoreEditor = () => {
|
|
5068
|
-
loader.dispose();
|
|
5069
|
-
this.editorContainer.clear();
|
|
5070
|
-
this.editorContainer.addChild(this.editor);
|
|
5071
|
-
this.ui.setFocus(this.editor);
|
|
5072
|
-
try {
|
|
5073
|
-
fs.unlinkSync(tmpFile);
|
|
5074
|
-
}
|
|
5075
|
-
catch {
|
|
5076
|
-
// Ignore cleanup errors
|
|
5077
|
-
}
|
|
5078
|
-
};
|
|
5079
5334
|
// Create a secret gist asynchronously
|
|
5080
5335
|
let proc = null;
|
|
5081
5336
|
loader.onAbort = () => {
|
|
5082
5337
|
proc?.kill();
|
|
5083
|
-
|
|
5338
|
+
this.restoreShareEditor(loader);
|
|
5084
5339
|
this.showStatus("Share cancelled");
|
|
5085
5340
|
};
|
|
5086
5341
|
try {
|
|
@@ -5098,7 +5353,7 @@ export class InteractiveMode {
|
|
|
5098
5353
|
});
|
|
5099
5354
|
if (loader.signal.aborted)
|
|
5100
5355
|
return;
|
|
5101
|
-
|
|
5356
|
+
this.restoreShareEditor(loader);
|
|
5102
5357
|
if (result.code !== 0) {
|
|
5103
5358
|
const errorMsg = result.stderr?.trim() || "Unknown error";
|
|
5104
5359
|
this.showError(`Failed to create gist: ${errorMsg}`);
|
|
@@ -5114,15 +5369,21 @@ export class InteractiveMode {
|
|
|
5114
5369
|
}
|
|
5115
5370
|
// Create the preview URL
|
|
5116
5371
|
const previewUrl = getShareViewerUrl(gistId);
|
|
5117
|
-
this.showStatus(`Share URL: ${previewUrl}\nGist: ${gistUrl}`);
|
|
5372
|
+
this.showStatus(`Share URL: ${hyperlink(previewUrl, previewUrl)}\nGist: ${hyperlink(gistUrl, gistUrl)}`);
|
|
5118
5373
|
}
|
|
5119
5374
|
catch (error) {
|
|
5120
5375
|
if (!loader.signal.aborted) {
|
|
5121
|
-
|
|
5376
|
+
this.restoreShareEditor(loader);
|
|
5122
5377
|
this.showError(`Failed to create gist: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
5123
5378
|
}
|
|
5124
5379
|
}
|
|
5125
5380
|
}
|
|
5381
|
+
restoreShareEditor(loader) {
|
|
5382
|
+
loader.dispose();
|
|
5383
|
+
this.editorContainer.clear();
|
|
5384
|
+
this.editorContainer.addChild(this.editor);
|
|
5385
|
+
this.ui.setFocus(this.editor);
|
|
5386
|
+
}
|
|
5126
5387
|
async handleCopyCommand(options = {}) {
|
|
5127
5388
|
const text = this.session.getLastAssistantText();
|
|
5128
5389
|
if (!text) {
|
|
@@ -5251,7 +5512,10 @@ export class InteractiveMode {
|
|
|
5251
5512
|
let info = `${theme.bold("🧠 Ada Memory")}\n\n`;
|
|
5252
5513
|
info += `${theme.fg("dim", "Enabled:")} ${status.enabled ? "yes" : "no"} · ${theme.fg("dim", "Mode:")} ${status.mode}\n`;
|
|
5253
5514
|
info += `${theme.fg("dim", "Indexes:")} ${status.memoryIndexDocs} memory docs · ${status.sessionIndexDocs} session docs\n\n`;
|
|
5254
|
-
info +=
|
|
5515
|
+
info +=
|
|
5516
|
+
entries.length > 0
|
|
5517
|
+
? entries.join("\n")
|
|
5518
|
+
: theme.fg("dim", "No memory entries yet. Ask the agent to remember something, or use memory_add.");
|
|
5255
5519
|
this.chatContainer.addChild(new Spacer(1));
|
|
5256
5520
|
this.chatContainer.addChild(new Text(info, 1, 0));
|
|
5257
5521
|
this.ui.requestRender();
|
|
@@ -5295,7 +5559,7 @@ export class InteractiveMode {
|
|
|
5295
5559
|
const entries = await memoryEngine.auditEntries(25);
|
|
5296
5560
|
const lines = [
|
|
5297
5561
|
`${theme.bold("🛡️ Memory audit")}`,
|
|
5298
|
-
`${theme.fg("dim", "Integrity:")} ${integrity.valid ? theme.fg("success",
|
|
5562
|
+
`${theme.fg("dim", "Integrity:")} ${integrity.valid ? theme.fg("success", `OK (${integrity.entriesChecked} entries)`) : theme.fg("error", `TAMPERED at ${integrity.tamperedAt ?? "?"}`)}`,
|
|
5299
5563
|
];
|
|
5300
5564
|
if (entries.length === 0) {
|
|
5301
5565
|
lines.push(theme.fg("dim", "No audit entries yet."));
|
|
@@ -5358,7 +5622,10 @@ export class InteractiveMode {
|
|
|
5358
5622
|
return;
|
|
5359
5623
|
}
|
|
5360
5624
|
vault.add(name, value);
|
|
5361
|
-
show([
|
|
5625
|
+
show([
|
|
5626
|
+
`✅ '${name}' saved to the project vault (encrypted).`,
|
|
5627
|
+
` Use @vault:${name} in a message to pass it to the agent.`,
|
|
5628
|
+
]);
|
|
5362
5629
|
return;
|
|
5363
5630
|
}
|
|
5364
5631
|
case "session": {
|
|
@@ -5406,7 +5673,7 @@ export class InteractiveMode {
|
|
|
5406
5673
|
}
|
|
5407
5674
|
if (!name) {
|
|
5408
5675
|
const names = available
|
|
5409
|
-
.map((e) => ` ${e.name} (${e.source === "session" ? "sesión" : "proyecto"}${e.category ?
|
|
5676
|
+
.map((e) => ` ${e.name} (${e.source === "session" ? "sesión" : "proyecto"}${e.category ? ` · ${e.category}` : ""})`)
|
|
5410
5677
|
.join("\n");
|
|
5411
5678
|
show([
|
|
5412
5679
|
"Secretos disponibles:",
|
|
@@ -5418,12 +5685,13 @@ export class InteractiveMode {
|
|
|
5418
5685
|
}
|
|
5419
5686
|
const exists = available.some((e) => e.name === name);
|
|
5420
5687
|
show(exists
|
|
5421
|
-
? [
|
|
5688
|
+
? [
|
|
5689
|
+
`Listo. Escribe esto en el chat: @vault:${name}`,
|
|
5690
|
+
"El agente recibirá el valor; nunca se persiste en la sesión.",
|
|
5691
|
+
]
|
|
5422
5692
|
: [`No existe el secreto '${name}'. /vault list para verlos.`]);
|
|
5423
5693
|
return;
|
|
5424
5694
|
}
|
|
5425
|
-
case "list":
|
|
5426
|
-
case "status":
|
|
5427
5695
|
default: {
|
|
5428
5696
|
const status = vault.status();
|
|
5429
5697
|
const entries = vault.list();
|
|
@@ -5447,6 +5715,372 @@ export class InteractiveMode {
|
|
|
5447
5715
|
}
|
|
5448
5716
|
}
|
|
5449
5717
|
}
|
|
5718
|
+
/** /goal <intent> | status | approve | pause | resume | list — Goal Engine CLI (§16.4). */
|
|
5719
|
+
async handleGoalCommand(args) {
|
|
5720
|
+
const goalEngine = this.session.resourceLoader.getGoalEngine?.();
|
|
5721
|
+
const show = (lines) => {
|
|
5722
|
+
this.chatContainer.addChild(new Spacer(1));
|
|
5723
|
+
this.chatContainer.addChild(new Text(lines.join("\n"), 1, 0));
|
|
5724
|
+
this.ui.requestRender();
|
|
5725
|
+
};
|
|
5726
|
+
if (!goalEngine) {
|
|
5727
|
+
show(["Goal Engine unavailable."]);
|
|
5728
|
+
return;
|
|
5729
|
+
}
|
|
5730
|
+
const [action, ...rest] = args.split(/\s+/).filter(Boolean);
|
|
5731
|
+
switch (action ?? "list") {
|
|
5732
|
+
case "list": {
|
|
5733
|
+
const goals = await goalEngine.list().catch(() => []);
|
|
5734
|
+
show([
|
|
5735
|
+
"Goals:",
|
|
5736
|
+
...(goals.length === 0
|
|
5737
|
+
? [" (none)"]
|
|
5738
|
+
: goals.map((g) => ` ${g.status === "active" ? "◆" : "·"} ${g.id} [${g.status}] ${g.goal}`)),
|
|
5739
|
+
]);
|
|
5740
|
+
return;
|
|
5741
|
+
}
|
|
5742
|
+
case "status": {
|
|
5743
|
+
const id = rest[0] ?? "";
|
|
5744
|
+
if (!id) {
|
|
5745
|
+
show(["Uso: /goal status <id>"]);
|
|
5746
|
+
return;
|
|
5747
|
+
}
|
|
5748
|
+
const state = await goalEngine.get(id);
|
|
5749
|
+
if (!state) {
|
|
5750
|
+
show([`Goal no encontrado: ${id}`]);
|
|
5751
|
+
return;
|
|
5752
|
+
}
|
|
5753
|
+
show([
|
|
5754
|
+
`Goal: ${state.goal}`,
|
|
5755
|
+
` id: ${state.id} · fase: ${state.phase} · estado: ${state.status}`,
|
|
5756
|
+
` turnos: ${state.turnsUsed}/25 · repetidos: ${state.repeatedTurns}`,
|
|
5757
|
+
` iteración: ${state.iteration}${state.iterations.length > 0 ? ` (${state.iterations.length} registrada${state.iterations.length === 1 ? "" : "s"})` : ""}`,
|
|
5758
|
+
...(state.judge.lastVerdict
|
|
5759
|
+
? [` juez: ${state.judge.lastVerdict} — ${state.judge.lastReason ?? ""}`]
|
|
5760
|
+
: []),
|
|
5761
|
+
...(state.replanRationale ? [` último replan: ${state.replanRationale}`] : []),
|
|
5762
|
+
...(state.evidence.length > 0 ? [` evidencia: ${state.evidence.length} citas`] : []),
|
|
5763
|
+
...(state.tasks.length > 0
|
|
5764
|
+
? [
|
|
5765
|
+
` plan (${state.tasks.length}):`,
|
|
5766
|
+
...state.tasks.map((t) => ` ${t.status === "done" ? "✓" : t.status === "running" ? "◐" : "○"} ${t.title}`),
|
|
5767
|
+
]
|
|
5768
|
+
: []),
|
|
5769
|
+
]);
|
|
5770
|
+
return;
|
|
5771
|
+
}
|
|
5772
|
+
case "replan": {
|
|
5773
|
+
// P1: re-planificación manual (también automática tras continue).
|
|
5774
|
+
const id = rest[0] ?? "";
|
|
5775
|
+
if (!id) {
|
|
5776
|
+
show(["Uso: /goal replan <id>"]);
|
|
5777
|
+
return;
|
|
5778
|
+
}
|
|
5779
|
+
const state = await goalEngine.replan(id).catch((e) => {
|
|
5780
|
+
show(["No se pudo re-planificar:", ` ${e instanceof Error ? e.message : String(e)}`]);
|
|
5781
|
+
return null;
|
|
5782
|
+
});
|
|
5783
|
+
if (state)
|
|
5784
|
+
show([
|
|
5785
|
+
`Re-planificado → iteración ${state.iteration}`,
|
|
5786
|
+
` ${state.replanRationale ?? ""}`,
|
|
5787
|
+
...state.tasks.map((t) => ` ○ ${t.title}`),
|
|
5788
|
+
]);
|
|
5789
|
+
return;
|
|
5790
|
+
}
|
|
5791
|
+
case "add": {
|
|
5792
|
+
// P2: añadir sub-tarea en cualquier fase.
|
|
5793
|
+
const id = rest[0] ?? "";
|
|
5794
|
+
const title = rest.slice(1).join(" ");
|
|
5795
|
+
if (!id || !title) {
|
|
5796
|
+
show(["Uso: /goal add <id> <título>"]);
|
|
5797
|
+
return;
|
|
5798
|
+
}
|
|
5799
|
+
const state = await goalEngine.addTask(id, title).catch(() => null);
|
|
5800
|
+
show(state
|
|
5801
|
+
? [`Añadida: ${title}`, ` plan (${state.tasks.length} sub-tareas)`]
|
|
5802
|
+
: ["No se pudo añadir (id inválido)"]);
|
|
5803
|
+
return;
|
|
5804
|
+
}
|
|
5805
|
+
case "rm": {
|
|
5806
|
+
// P2: quitar sub-tarea.
|
|
5807
|
+
const id = rest[0] ?? "";
|
|
5808
|
+
const taskId = rest[1] ?? "";
|
|
5809
|
+
if (!id || !taskId) {
|
|
5810
|
+
show(["Uso: /goal rm <id> <taskId>"]);
|
|
5811
|
+
return;
|
|
5812
|
+
}
|
|
5813
|
+
const state = await goalEngine.get(id);
|
|
5814
|
+
if (!state) {
|
|
5815
|
+
show(["Goal no encontrado"]);
|
|
5816
|
+
return;
|
|
5817
|
+
}
|
|
5818
|
+
const { state: next } = reduceGoal(state, { type: "goal_task_remove", taskId }, {
|
|
5819
|
+
repeatTolerance: 1,
|
|
5820
|
+
});
|
|
5821
|
+
await goalEngine.commit(state, next);
|
|
5822
|
+
show([`Quitada. Plan (${next.tasks.length}):`, ...next.tasks.map((t) => ` ${t.title}`)]);
|
|
5823
|
+
return;
|
|
5824
|
+
}
|
|
5825
|
+
case "mv": {
|
|
5826
|
+
// P2: reordenar sub-tarea.
|
|
5827
|
+
const id = rest[0] ?? "";
|
|
5828
|
+
const taskId = rest[1] ?? "";
|
|
5829
|
+
const dir = rest[2] === "down" ? "down" : "up";
|
|
5830
|
+
if (!id || !taskId) {
|
|
5831
|
+
show(["Uso: /goal mv <id> <taskId> up|down"]);
|
|
5832
|
+
return;
|
|
5833
|
+
}
|
|
5834
|
+
const state = await goalEngine.get(id);
|
|
5835
|
+
if (!state) {
|
|
5836
|
+
show(["Goal no encontrado"]);
|
|
5837
|
+
return;
|
|
5838
|
+
}
|
|
5839
|
+
const { state: next } = reduceGoal(state, { type: "goal_task_move", taskId, dir }, {
|
|
5840
|
+
repeatTolerance: 1,
|
|
5841
|
+
});
|
|
5842
|
+
await goalEngine.commit(state, next);
|
|
5843
|
+
show([`Reordenado. Plan (${next.tasks.length}):`, ...next.tasks.map((t) => ` ${t.title}`)]);
|
|
5844
|
+
return;
|
|
5845
|
+
}
|
|
5846
|
+
case "new": {
|
|
5847
|
+
const intent = rest.join(" ");
|
|
5848
|
+
if (!intent) {
|
|
5849
|
+
show(["Uso: /goal new <intent>"]);
|
|
5850
|
+
return;
|
|
5851
|
+
}
|
|
5852
|
+
const state = await goalEngine.createGoal({
|
|
5853
|
+
goal: intent,
|
|
5854
|
+
doneCriteria: [],
|
|
5855
|
+
verifyCommand: "",
|
|
5856
|
+
});
|
|
5857
|
+
show([`Contrato creado: ${state.id}`, " Aprueba con: /goal approve <id>", ` ${intent}`]);
|
|
5858
|
+
return;
|
|
5859
|
+
}
|
|
5860
|
+
case "approve": {
|
|
5861
|
+
const id = rest[0] ?? "";
|
|
5862
|
+
if (!id) {
|
|
5863
|
+
show(["Uso: /goal approve <id>"]);
|
|
5864
|
+
return;
|
|
5865
|
+
}
|
|
5866
|
+
const state = await goalEngine.approve(id).catch(() => null);
|
|
5867
|
+
show(state ? [`Goal activo: ${state.goal}`] : ["No se pudo aprobar (id inválido)"]);
|
|
5868
|
+
return;
|
|
5869
|
+
}
|
|
5870
|
+
case "pause": {
|
|
5871
|
+
const id = rest[0] ?? "";
|
|
5872
|
+
if (!id) {
|
|
5873
|
+
show(["Uso: /goal pause <id>"]);
|
|
5874
|
+
return;
|
|
5875
|
+
}
|
|
5876
|
+
const state = await goalEngine.pause(id, "pausado desde CLI");
|
|
5877
|
+
show([`Pausado: ${state.status}`]);
|
|
5878
|
+
return;
|
|
5879
|
+
}
|
|
5880
|
+
case "resume": {
|
|
5881
|
+
const id = rest[0] ?? "";
|
|
5882
|
+
if (!id) {
|
|
5883
|
+
show(["Uso: /goal resume <id>"]);
|
|
5884
|
+
return;
|
|
5885
|
+
}
|
|
5886
|
+
const state = await goalEngine.resume(id).catch(() => null);
|
|
5887
|
+
show(state ? [`Reanudado: ${state.status}`] : ["No se pudo reanudar"]);
|
|
5888
|
+
return;
|
|
5889
|
+
}
|
|
5890
|
+
case "plan-on": {
|
|
5891
|
+
// P5: modo plan-only (persistente).
|
|
5892
|
+
this.settingsManager.setPlanOnlyEnabled(true);
|
|
5893
|
+
// Y se remonta el prompt: la sección de modo plan es condicional,
|
|
5894
|
+
// así que sin esto el guardián empezaría a denegar escrituras en una
|
|
5895
|
+
// sesión cuyo prompt todavía no menciona el modo — y el modelo
|
|
5896
|
+
// aprendería la regla a golpes hasta el siguiente arranque.
|
|
5897
|
+
this.session.rebuildSystemPrompt();
|
|
5898
|
+
show(["Plan-only ACTIVADO: el goal no ejecutará hasta aprobar el plan."]);
|
|
5899
|
+
return;
|
|
5900
|
+
}
|
|
5901
|
+
case "plan-off": {
|
|
5902
|
+
this.settingsManager.setPlanOnlyEnabled(false);
|
|
5903
|
+
this.session.rebuildSystemPrompt();
|
|
5904
|
+
show(["Plan-only desactivado: el goal lanza sub-tareas automáticamente."]);
|
|
5905
|
+
return;
|
|
5906
|
+
}
|
|
5907
|
+
default:
|
|
5908
|
+
show([
|
|
5909
|
+
"Subcomandos: new <intent> | list | status <id> | approve <id> | pause <id> | resume <id> | replan <id> | add <id> <título> | rm <id> <taskId> | mv <id> <taskId> up|down | plan-on | plan-off",
|
|
5910
|
+
]);
|
|
5911
|
+
return;
|
|
5912
|
+
}
|
|
5913
|
+
}
|
|
5914
|
+
/** /graph gaps | context <id> | search <term> | add — Grafo CLI (§16.4). */
|
|
5915
|
+
async handleGraphCommand(args) {
|
|
5916
|
+
const graph = this.session.resourceLoader.getGraph?.();
|
|
5917
|
+
const show = (lines) => {
|
|
5918
|
+
this.chatContainer.addChild(new Spacer(1));
|
|
5919
|
+
this.chatContainer.addChild(new Text(lines.join("\n"), 1, 0));
|
|
5920
|
+
this.ui.requestRender();
|
|
5921
|
+
};
|
|
5922
|
+
if (!graph) {
|
|
5923
|
+
show(["Graph unavailable."]);
|
|
5924
|
+
return;
|
|
5925
|
+
}
|
|
5926
|
+
const [action, ...rest] = args.split(/\s+/).filter(Boolean);
|
|
5927
|
+
switch (action ?? "gaps") {
|
|
5928
|
+
case "gaps": {
|
|
5929
|
+
const gaps = graph.gaps();
|
|
5930
|
+
show([
|
|
5931
|
+
"Gaps (spine incompleto):",
|
|
5932
|
+
...(gaps.length === 0 ? [" ✓ spine completo"] : gaps.map((g) => ` ${g.id}: falta ${g.missing}`)),
|
|
5933
|
+
]);
|
|
5934
|
+
return;
|
|
5935
|
+
}
|
|
5936
|
+
case "context": {
|
|
5937
|
+
const id = rest[0] ?? "";
|
|
5938
|
+
if (!id) {
|
|
5939
|
+
show(["Uso: /graph context <id>"]);
|
|
5940
|
+
return;
|
|
5941
|
+
}
|
|
5942
|
+
const res = graph.context(id);
|
|
5943
|
+
if (!res.ok || !res.data || !res.data.node) {
|
|
5944
|
+
show([`Error: ${res.error ?? "no encontrado"}`]);
|
|
5945
|
+
return;
|
|
5946
|
+
}
|
|
5947
|
+
show([
|
|
5948
|
+
`Nodo: ${res.data.node.id} [${res.data.node.type}]`,
|
|
5949
|
+
` ${res.data.node.description}`,
|
|
5950
|
+
` vecinos: ${res.data.neighbors.length}`,
|
|
5951
|
+
...res.data.neighbors.map((e) => ` ${e.subject} --${e.predicate}--> ${e.object}`),
|
|
5952
|
+
]);
|
|
5953
|
+
return;
|
|
5954
|
+
}
|
|
5955
|
+
case "search": {
|
|
5956
|
+
const term = rest.join(" ");
|
|
5957
|
+
if (!term) {
|
|
5958
|
+
show(["Uso: /graph search <term>"]);
|
|
5959
|
+
return;
|
|
5960
|
+
}
|
|
5961
|
+
const hits = graph.search(term);
|
|
5962
|
+
show([
|
|
5963
|
+
`Resultados para "${term}":`,
|
|
5964
|
+
...(hits.length === 0 ? [" (ninguno)"] : hits.map((h) => ` ${h.node.id} — ${h.node.description}`)),
|
|
5965
|
+
]);
|
|
5966
|
+
return;
|
|
5967
|
+
}
|
|
5968
|
+
case "gate": {
|
|
5969
|
+
const res = graph.gate();
|
|
5970
|
+
show(res.data?.passed ? ["✓ Gate superado"] : [`✗ Gate bloqueado:`, ...(res.data?.failures ?? [])]);
|
|
5971
|
+
return;
|
|
5972
|
+
}
|
|
5973
|
+
default:
|
|
5974
|
+
show(["Subcomandos: gaps | context <id> | search <term> | gate"]);
|
|
5975
|
+
return;
|
|
5976
|
+
}
|
|
5977
|
+
}
|
|
5978
|
+
/** /workflow run <name> [k=v...] | list | status <id> | abort <id> — CLI del engine (§16.4). */
|
|
5979
|
+
async handleWorkflowCommand(args) {
|
|
5980
|
+
const manager = this.session.resourceLoader.getWorkflowManager?.();
|
|
5981
|
+
const show = (lines) => {
|
|
5982
|
+
this.chatContainer.addChild(new Spacer(1));
|
|
5983
|
+
this.chatContainer.addChild(new Text(lines.join("\n"), 1, 0));
|
|
5984
|
+
this.ui.requestRender();
|
|
5985
|
+
};
|
|
5986
|
+
if (!manager) {
|
|
5987
|
+
show(["Workflow manager unavailable."]);
|
|
5988
|
+
return;
|
|
5989
|
+
}
|
|
5990
|
+
const [action, ...rest] = args.split(/\s+/).filter(Boolean);
|
|
5991
|
+
switch (action ?? "list") {
|
|
5992
|
+
case "list": {
|
|
5993
|
+
const runs = await manager.list().catch(() => []);
|
|
5994
|
+
show([
|
|
5995
|
+
"Workflow runs:",
|
|
5996
|
+
...(runs.length === 0
|
|
5997
|
+
? [" (ninguno)"]
|
|
5998
|
+
: runs.slice(0, 20).map((r) => ` ${r.runId} [${r.status}] ${r.name} — ${r.updatedAt}`)),
|
|
5999
|
+
]);
|
|
6000
|
+
return;
|
|
6001
|
+
}
|
|
6002
|
+
case "status": {
|
|
6003
|
+
const runId = rest[0] ?? "";
|
|
6004
|
+
if (!runId) {
|
|
6005
|
+
show(["Uso: /workflow status <runId>"]);
|
|
6006
|
+
return;
|
|
6007
|
+
}
|
|
6008
|
+
const state = await manager.state(runId).catch(() => null);
|
|
6009
|
+
if (!state) {
|
|
6010
|
+
show([`Run no encontrado: ${runId}`]);
|
|
6011
|
+
return;
|
|
6012
|
+
}
|
|
6013
|
+
show([
|
|
6014
|
+
`Run: ${state.name} (${state.runId})`,
|
|
6015
|
+
` estado: ${state.status} · fase: ${state.currentPhase ?? "—"}`,
|
|
6016
|
+
` agentes: ${state.agentCount} · tokens: ${state.tokenUsage.total} · coste: $${state.tokenUsage.cost.toFixed(4)}`,
|
|
6017
|
+
]);
|
|
6018
|
+
return;
|
|
6019
|
+
}
|
|
6020
|
+
case "abort": {
|
|
6021
|
+
const runId = rest[0] ?? "";
|
|
6022
|
+
if (!runId) {
|
|
6023
|
+
show(["Uso: /workflow abort <runId>"]);
|
|
6024
|
+
return;
|
|
6025
|
+
}
|
|
6026
|
+
const aborted = manager.abort(runId);
|
|
6027
|
+
show(aborted ? [`Abort solicitado: ${runId}`] : [`No se pudo abortar (¿run inexistente?): ${runId}`]);
|
|
6028
|
+
return;
|
|
6029
|
+
}
|
|
6030
|
+
case "run": {
|
|
6031
|
+
const name = rest[0];
|
|
6032
|
+
if (!name) {
|
|
6033
|
+
show([
|
|
6034
|
+
"Uso: /workflow run <name> [k=v...]",
|
|
6035
|
+
" builtins: deep_research · code_review · product_build · codebase_audit · multi_perspective",
|
|
6036
|
+
]);
|
|
6037
|
+
return;
|
|
6038
|
+
}
|
|
6039
|
+
// args k=v
|
|
6040
|
+
const wfArgs = {};
|
|
6041
|
+
for (const part of rest.slice(1)) {
|
|
6042
|
+
const eq = part.indexOf("=");
|
|
6043
|
+
if (eq > 0)
|
|
6044
|
+
wfArgs[part.slice(0, eq)] = part.slice(eq + 1);
|
|
6045
|
+
}
|
|
6046
|
+
const script = await this.resolveBuiltinWorkflow(name);
|
|
6047
|
+
if (!script) {
|
|
6048
|
+
show([`Workflow no encontrado: ${name}`]);
|
|
6049
|
+
return;
|
|
6050
|
+
}
|
|
6051
|
+
// Confirmación de coste estimado (fail-closed).
|
|
6052
|
+
const ok = await this.confirm(`Lanzar workflow "${name}" con ${Object.keys(wfArgs).length} args. Coste estimado: variable (ver settings.workflows.budget). ¿Continuar?`);
|
|
6053
|
+
if (!ok) {
|
|
6054
|
+
show(["Cancelado."]);
|
|
6055
|
+
return;
|
|
6056
|
+
}
|
|
6057
|
+
show([`Lanzando ${name}… (progreso: /workflow list, /workflow status <runId>)`]);
|
|
6058
|
+
void manager
|
|
6059
|
+
.execute(script, { args: wfArgs, sessionId: this.session.sessionManager.getSessionId() })
|
|
6060
|
+
.then((r) => show([`✓ ${name} terminó (${r.runId}).`]))
|
|
6061
|
+
.catch((e) => show([`✗ ${name} falló: ${e instanceof Error ? e.message : String(e)}`]));
|
|
6062
|
+
return;
|
|
6063
|
+
}
|
|
6064
|
+
default:
|
|
6065
|
+
show(["Subcomandos: run <name> [k=v...] | list | status <runId> | abort <runId>"]);
|
|
6066
|
+
return;
|
|
6067
|
+
}
|
|
6068
|
+
}
|
|
6069
|
+
/**
|
|
6070
|
+
* Confirmación fail-closed del TUI: pide "y"/"yes" explícito en el input
|
|
6071
|
+
* de diálogo. Cualquier otra respuesta (o escape) = NO.
|
|
6072
|
+
*/
|
|
6073
|
+
async confirm(prompt) {
|
|
6074
|
+
const answer = await this.showExtensionInput(`${prompt} [y/N]`, "y");
|
|
6075
|
+
const normalized = (answer ?? "").trim().toLowerCase();
|
|
6076
|
+
return normalized === "y" || normalized === "yes";
|
|
6077
|
+
}
|
|
6078
|
+
/** Resuelve un workflow builtin (deep_research, code_review, …) a su script. */
|
|
6079
|
+
/** Resuelve un workflow por nombre: builtin o script guardado del usuario. */
|
|
6080
|
+
async resolveBuiltinWorkflow(name) {
|
|
6081
|
+
const { resolveWorkflowScriptByName } = await import("../../core/workflows/resolve-script.js");
|
|
6082
|
+
return resolveWorkflowScriptByName(this.session.resourceLoader.getAgentDir(), name)?.script ?? null;
|
|
6083
|
+
}
|
|
5450
6084
|
handleChangelogCommand() {
|
|
5451
6085
|
const changelogPath = getChangelogPath();
|
|
5452
6086
|
const allEntries = parseChangelog(changelogPath);
|