@saulwade/swl-ses 1.5.0 → 1.5.2
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/CLAUDE.md +19 -2
- package/README.md +561 -561
- package/agentes/arquitecto-swl.md +33 -1
- package/agentes/nemesis-auditor-swl.md +59 -19
- package/bin/swl-mcp-server.js +214 -214
- package/comandos/swl/.evolved.json +22 -22
- package/comandos/swl/contribuir.md +233 -233
- package/comandos/swl/nemesis.md +230 -56
- package/gateway/lib/event-channel.js +191 -191
- package/habilidades/backend-production-resilience/SKILL.md +288 -288
- package/habilidades/benchmark-memoria/SKILL.md +186 -186
- package/habilidades/diagrama-arquitectura/assets/template.html +276 -276
- package/habilidades/doubt-driven-review/SKILL.md +171 -171
- package/habilidades/doubt-driven-review/recursos/EXAMPLES.md +130 -130
- package/habilidades/ejecutar-task-iterativo/SKILL.md +278 -278
- package/habilidades/eval-framework/SKILL.md +212 -212
- package/habilidades/feynman-auditor-swl/SKILL.md +123 -123
- package/habilidades/feynman-auditor-swl/recursos/preguntas-language-agnostic.md +108 -108
- package/habilidades/harness-claude-code/SKILL.md +299 -299
- package/habilidades/infra-github-actions/SKILL.md +166 -166
- package/habilidades/legacy-code-rescue/SKILL.md +267 -267
- package/habilidades/manejo-errores/.evolved.json +8 -8
- package/habilidades/meta-skills-estandar/SKILL.md +225 -1
- package/habilidades/meta-skills-estandar/recursos/convencion-examples.md +93 -93
- package/habilidades/meta-skills-estandar/recursos/skills-as-agents.md +163 -163
- package/habilidades/nemesis-evaluacion-json/SKILL.md +266 -0
- package/habilidades/nemesis-redistribuir/SKILL.md +341 -0
- package/habilidades/node-experto/SKILL.md +105 -4
- package/habilidades/patrones-python/SKILL.md +229 -229
- package/habilidades/patrones-python/recursos/patrones-avanzados.md +469 -469
- package/habilidades/planear-fase/SKILL.md +319 -319
- package/habilidades/protocolo-revision-swl/SKILL.md +350 -276
- package/habilidades/release-semver/.evolved.json +8 -8
- package/habilidades/state-inconsistency-auditor-swl/SKILL.md +166 -166
- package/habilidades/state-inconsistency-auditor-swl/recursos/coupled-state-patterns.md +147 -147
- package/habilidades/tdd-workflow/SKILL.md +150 -4
- package/habilidades/testing-python/SKILL.md +340 -340
- package/habilidades/verificar-trabajo/SKILL.md +8 -3
- package/habilidades/web-fetcher-routing/SKILL.md +75 -75
- package/hooks/check-update.js +31 -3
- package/hooks/claudemd-bloat-detector.js +161 -161
- package/hooks/lib/agent-routing.js +107 -107
- package/hooks/lib/auto-consolidator.js +335 -335
- package/hooks/lib/error-classifier.js +308 -308
- package/hooks/lib/merkle-audit.js +96 -96
- package/hooks/lib/provenance-tracker.js +191 -191
- package/hooks/lib/rate-limit-tracker.js +253 -253
- package/hooks/lib/resource-quota.js +122 -122
- package/hooks/lib/retry-jitter.js +165 -165
- package/hooks/lib/security-net.js +201 -201
- package/hooks/lib/skill-auditor.js +588 -588
- package/hooks/lib/sync-status.js +228 -228
- package/hooks/lib/taint-tracker.js +107 -107
- package/hooks/lib/text-similarity.js +241 -241
- package/hooks/lib/toon-compressor.js +245 -245
- package/hooks/registro-turnos.js +209 -209
- package/hooks/sugerir-regenerar-inventario.js +170 -170
- package/hooks/validar-formato-post-subagente.js +140 -140
- package/hooks/validar-memoria-hook.js +218 -218
- package/instintos/prompt-appendices.yaml +57 -57
- package/manifiestos/agent-output-schemas.json +57 -57
- package/manifiestos/modulos.json +1324 -1321
- package/manifiestos/skills-lock.json +1114 -1114
- package/package.json +2 -2
- package/plantillas/auditor-veto-template.md +105 -105
- package/plantillas/github-workflows/README.md +47 -47
- package/plantillas/github-workflows/release-please.yml +44 -44
- package/plantillas/github-workflows/swl-ci.yml +107 -107
- package/plantillas/github-workflows/swl-security.yml +51 -51
- package/plugin.json +353 -351
- package/reglas/analisis-previo-tareas-grandes.md +172 -172
- package/reglas/arreglar-al-detectar.md +147 -147
- package/reglas/fragmentos-compartidos.md +152 -152
- package/reglas/harness-claude-code.md +213 -213
- package/reglas/registro-componentes-nuevos.md +192 -0
- package/reglas/usar-context7.md +226 -226
- package/schemas/diary-entry.schema.json +80 -80
- package/scripts/actualizar.js +110 -1
- package/scripts/audit-tools/audit-history.js +330 -330
- package/scripts/audit-tools/bundle-tracker.js +290 -290
- package/scripts/audit-tools/canary-monitor.js +352 -352
- package/scripts/audit-tools/code-profiler.js +605 -605
- package/scripts/audit-tools/dep-doctor.js +320 -320
- package/scripts/audit-tools/env-validator.js +206 -206
- package/scripts/audit-tools/lib/fs-walk.js +48 -48
- package/scripts/audit-tools/lib/output.js +23 -23
- package/scripts/audit-tools/migration-checker.js +392 -392
- package/scripts/audit-tools/pentest-scanner.js +1436 -1436
- package/scripts/benchmark-memoria.js +167 -167
- package/scripts/configurar-branch-protection.js +418 -418
- package/scripts/derivar-feature-list.js +489 -489
- package/scripts/detectar-aprendizajes-duplicados.js +151 -151
- package/scripts/doctor.js +58 -4
- package/scripts/field-report.js +199 -199
- package/scripts/generar-checklists-consolidados.js +273 -273
- package/scripts/generar-inventario.js +420 -420
- package/scripts/generar-matriz-lenguajes.js +271 -271
- package/scripts/lib/artefactos-python.js +43 -43
- package/scripts/lib/benchmark-metrics.js +160 -160
- package/scripts/lib/budget-enforcer.js +252 -252
- package/scripts/lib/configurar-ci.js +380 -380
- package/scripts/lib/contadores-inventario.js +217 -217
- package/scripts/lib/detectar-stack-detallado.js +307 -307
- package/scripts/lib/diary-entry.js +234 -234
- package/scripts/lib/eval-metrics-store.js +218 -218
- package/scripts/lib/eval-quality.js +171 -171
- package/scripts/lib/eval-schemas.js +144 -144
- package/scripts/lib/eval-self-correct.js +106 -106
- package/scripts/lib/eval-validator.js +185 -185
- package/scripts/lib/expandir-targets.js +71 -71
- package/scripts/lib/jaccard-similarity.js +98 -98
- package/scripts/lib/longmemeval-runner.js +125 -125
- package/scripts/lib/mcp_config.py +127 -0
- package/scripts/lib/npm-version.js +261 -261
- package/scripts/lib/paquetes-conocidos.js +50 -50
- package/scripts/lib/prompt-builder.js +264 -264
- package/scripts/lib/rrf-fusion.js +175 -175
- package/scripts/lib/scoring-instintos.js +277 -277
- package/scripts/lib/semantic-search.js +252 -252
- package/scripts/lib/toml-merge.js +204 -204
- package/scripts/lib/transformadores/codex.js +375 -375
- package/scripts/lib/transformadores/cursor.js +359 -359
- package/scripts/limpiar-artefactos-python.js +131 -131
- package/scripts/mcp-orchestrator.py +8 -18
- package/scripts/mcp-pool-manager.py +12 -23
- package/scripts/mcp-server/README.md +170 -170
- package/scripts/mcp-server/auth.js +105 -105
- package/scripts/mcp-server/cache.js +106 -106
- package/scripts/mcp-server/telemetry.js +78 -78
- package/scripts/migrar-csv-a-array.js +168 -168
- package/scripts/migrar-fase-dominio.js +201 -201
- package/scripts/publicar.js +511 -511
- package/scripts/run-eval.js +141 -141
- package/scripts/validar-userland-vacio.js +110 -110
package/scripts/actualizar.js
CHANGED
|
@@ -5,9 +5,15 @@
|
|
|
5
5
|
* Actualiza componentes instalados preservando _userland/.
|
|
6
6
|
* Interactivo: muestra versiones, pide confirmación, muestra progreso.
|
|
7
7
|
* No-interactivo con --force o sin TTY.
|
|
8
|
+
*
|
|
9
|
+
* Modo --check (read-only):
|
|
10
|
+
* Solo muestra el estado actual de versiones (local vs npm vs runtimes instalados).
|
|
11
|
+
* No pide confirmación. No actualiza nada. Util para el autor o usuarios que
|
|
12
|
+
* quieren verificar si están al dia sin esperar al hook automatico.
|
|
8
13
|
*/
|
|
9
14
|
|
|
10
15
|
const fs = require('fs');
|
|
16
|
+
const os = require('os');
|
|
11
17
|
const path = require('path');
|
|
12
18
|
const { detectarRuntimes } = require('./lib/detectar-runtime');
|
|
13
19
|
const { cargarEstado } = require('./lib/estado');
|
|
@@ -15,7 +21,7 @@ const {
|
|
|
15
21
|
color, icono, encabezado, formatearPaso, formatearAdvertencia,
|
|
16
22
|
spinner, preguntarSiNo, lineaSeparadora, ES_TTY,
|
|
17
23
|
} = require('./lib/ui');
|
|
18
|
-
const { versionRemotaParalela } = require('./lib/npm-version');
|
|
24
|
+
const { versionRemotaParalela, compararSemver } = require('./lib/npm-version');
|
|
19
25
|
|
|
20
26
|
const VERSION_LOCAL = require('../package.json').version;
|
|
21
27
|
|
|
@@ -28,7 +34,110 @@ async function obtenerVersionRemota() {
|
|
|
28
34
|
return r.version || VERSION_LOCAL;
|
|
29
35
|
}
|
|
30
36
|
|
|
37
|
+
/**
|
|
38
|
+
* Modo --check: muestra el estado actual sin actualizar. Read-only.
|
|
39
|
+
*
|
|
40
|
+
* Salida:
|
|
41
|
+
* - Version del paquete que esta ejecutando este CLI (VERSION_LOCAL).
|
|
42
|
+
* - Version mas reciente publicada en npm.
|
|
43
|
+
* - Comparacion semver: al dia / adelantado / atras.
|
|
44
|
+
* - Estado del hook check-update.js: ultima verificacion automatica.
|
|
45
|
+
* - Tabla por runtime instalado (si los detecta) con su versionSistema.
|
|
46
|
+
*/
|
|
47
|
+
async function checkStatus() {
|
|
48
|
+
console.log(encabezado('swl-ses update --check', VERSION_LOCAL));
|
|
49
|
+
|
|
50
|
+
// Resolver version remota con timeout corto
|
|
51
|
+
const remota = await obtenerVersionRemota();
|
|
52
|
+
const cmp = compararSemver(VERSION_LOCAL, remota);
|
|
53
|
+
|
|
54
|
+
let estadoVersion;
|
|
55
|
+
if (cmp === null) {
|
|
56
|
+
estadoVersion = color.amarillo('Comparacion no disponible (formato inesperado)');
|
|
57
|
+
} else if (cmp === 0) {
|
|
58
|
+
estadoVersion = color.verde('Al dia');
|
|
59
|
+
} else if (cmp < 0) {
|
|
60
|
+
estadoVersion = color.amarillo(`Nueva version disponible (${remota})`);
|
|
61
|
+
} else {
|
|
62
|
+
estadoVersion = color.dim(`Local mas reciente que npm (${VERSION_LOCAL} > ${remota}, publicacion pendiente)`);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
console.log(` Paquete ejecutado: ${color.negrita('v' + VERSION_LOCAL)}`);
|
|
66
|
+
console.log(` Version en npm: ${color.negrita('v' + remota)}`);
|
|
67
|
+
console.log(` Estado: ${estadoVersion}`);
|
|
68
|
+
console.log('');
|
|
69
|
+
|
|
70
|
+
// Estado del hook automatico (check-update.js).
|
|
71
|
+
// SWL_UPDATE_FLAG_PATH override solo para tests (evita race con flag único).
|
|
72
|
+
const flagPath = process.env.SWL_UPDATE_FLAG_PATH || path.join(os.tmpdir(), 'swl-ses-update-check.json');
|
|
73
|
+
try {
|
|
74
|
+
const flag = JSON.parse(fs.readFileSync(flagPath, 'utf8'));
|
|
75
|
+
const horas = ((Date.now() - flag.timestamp) / 3600000).toFixed(1);
|
|
76
|
+
console.log(` ${color.negrita('Hook automatico (check-update.js):')}`);
|
|
77
|
+
console.log(` Ultima verificacion: hace ${horas}h`);
|
|
78
|
+
console.log(` Local registrada: ${flag.local}`);
|
|
79
|
+
console.log(` Remota registrada: ${flag.remota || color.dim('(no resuelta)')}`);
|
|
80
|
+
console.log(` hayNueva: ${flag.hayNueva ? color.amarillo('si') : color.verde('no')}`);
|
|
81
|
+
console.log(` Flag: ${flagPath}`);
|
|
82
|
+
} catch {
|
|
83
|
+
console.log(` ${color.negrita('Hook automatico (check-update.js):')}`);
|
|
84
|
+
console.log(` ${color.dim('Sin flag de throttle — el hook nunca se ha ejecutado en este equipo,')}`);
|
|
85
|
+
console.log(` ${color.dim('o el archivo temp/swl-ses-update-check.json fue removido.')}`);
|
|
86
|
+
}
|
|
87
|
+
console.log('');
|
|
88
|
+
|
|
89
|
+
// Estado por runtime instalado
|
|
90
|
+
const runtimes = detectarRuntimes();
|
|
91
|
+
if (runtimes.length === 0) {
|
|
92
|
+
console.log(formatearAdvertencia('Runtimes', 'No se detectaron runtimes con instalacion SWL'));
|
|
93
|
+
console.log('');
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
console.log(` ${color.negrita('Runtimes detectados:')}`);
|
|
98
|
+
let totalRuntimes = 0;
|
|
99
|
+
for (const runtime of runtimes) {
|
|
100
|
+
const dirs = [runtime.global, path.resolve(runtime.local)];
|
|
101
|
+
for (const dir of dirs) {
|
|
102
|
+
if (!fs.existsSync(dir)) continue;
|
|
103
|
+
const estado = cargarEstado(dir);
|
|
104
|
+
if (!estado) continue;
|
|
105
|
+
|
|
106
|
+
const esGlobal = dir === runtime.global;
|
|
107
|
+
const ubicacion = esGlobal ? 'global' : 'proyecto';
|
|
108
|
+
const v = estado.versionSistema || 'desconocida';
|
|
109
|
+
|
|
110
|
+
const cmpRuntime = compararSemver(v, remota);
|
|
111
|
+
let etiqueta;
|
|
112
|
+
if (cmpRuntime === null) {
|
|
113
|
+
etiqueta = color.dim('(version no reconocida)');
|
|
114
|
+
} else if (cmpRuntime === 0) {
|
|
115
|
+
etiqueta = color.verde('al dia');
|
|
116
|
+
} else if (cmpRuntime < 0) {
|
|
117
|
+
etiqueta = color.amarillo(`atrasada (npm: ${remota})`);
|
|
118
|
+
} else {
|
|
119
|
+
etiqueta = color.dim('adelantada');
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
console.log(` ${runtime.nombre} (${ubicacion}): v${v} ${etiqueta}`);
|
|
123
|
+
totalRuntimes++;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
if (totalRuntimes === 0) {
|
|
127
|
+
console.log(` ${color.dim('(ninguno con .swl-install-state.json valido)')}`);
|
|
128
|
+
}
|
|
129
|
+
console.log('');
|
|
130
|
+
console.log(` ${color.dim('Modo --check es read-only. Para actualizar:')} npx -y @saulwade/swl-ses@latest update`);
|
|
131
|
+
console.log('');
|
|
132
|
+
}
|
|
133
|
+
|
|
31
134
|
async function update(opciones) {
|
|
135
|
+
// Modo read-only: solo reportar estado, no tocar nada
|
|
136
|
+
if (opciones.check) {
|
|
137
|
+
await checkStatus();
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
|
|
32
141
|
const force = opciones.force || !ES_TTY;
|
|
33
142
|
|
|
34
143
|
// Obtener la versión más reciente del registro npm
|