stratum-cli 0.10.0 → 0.11.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/.stratumrc.json.example +11 -1
- package/CHANGELOG.md +30 -0
- package/dist/index.js +4798 -1744
- package/evals/scenarios/cache/cache-compression-prefix-not-worth.json +92 -0
- package/evals/scenarios/cache/cache-compression-reuses-prefix.json +101 -0
- package/evals/scenarios/replay/replay-rename-across-files.json +85 -0
- package/package.json +1 -1
package/.stratumrc.json.example
CHANGED
|
@@ -160,7 +160,8 @@
|
|
|
160
160
|
"maxToolRetries": 3,
|
|
161
161
|
"toolErrorFormat": "xml",
|
|
162
162
|
"compressionKeepRounds": 6,
|
|
163
|
-
"compressionTimeoutMs": 120000
|
|
163
|
+
"compressionTimeoutMs": 120000,
|
|
164
|
+
"compressionReusePrefix": false
|
|
164
165
|
},
|
|
165
166
|
"agents": {
|
|
166
167
|
"defaultProfile": "general",
|
|
@@ -230,6 +231,15 @@
|
|
|
230
231
|
"pyright": {}
|
|
231
232
|
}
|
|
232
233
|
},
|
|
234
|
+
"plugins": {
|
|
235
|
+
"enabled": true,
|
|
236
|
+
"hookTimeoutMs": 5000,
|
|
237
|
+
"setupTimeoutMs": 10000,
|
|
238
|
+
"batchTimeoutMs": 15000,
|
|
239
|
+
"entries": {
|
|
240
|
+
"guard-env": { "path": "~/dev/guard-env/index.js", "options": { "tag": "dev" } }
|
|
241
|
+
}
|
|
242
|
+
},
|
|
233
243
|
"daemon": {
|
|
234
244
|
"idleExitMinutes": 0,
|
|
235
245
|
"eventBuffer": 2000,
|
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,36 @@ El formato sigue [Keep a Changelog](https://keepachangelog.com/es-ES/1.1.0/) y l
|
|
|
6
6
|
|
|
7
7
|
> Las versiones anteriores a la 0.2.1-beta.0 solo existen como tags de git: la primera publicación en npm fue la 0.2.1-beta.0.
|
|
8
8
|
|
|
9
|
+
## [0.11.0] — 2026-10-29
|
|
10
|
+
|
|
11
|
+
Es la versión de la CLI que necesita **Stratum Desktop 0.7.0**.
|
|
12
|
+
|
|
13
|
+
### Añadido
|
|
14
|
+
- **Plugins en proceso** (PL1): módulos JS/TS que se cargan de `~/.stratum/plugins/`, de `plugins.entries` en la config global o con `--plugin <ruta>`. Solo restringen: `tool.before` puede vetar una llamada (falla cerrado: si lanza o vence su plazo, veta) y `tool.after` anotar lo que ve el modelo; nunca aprueban ni cambian argumentos. `stratum plugin list`, `/plugins` y `--no-plugins` en `run` y `chat`. El asistente de Desktop no carga ninguno.
|
|
15
|
+
- **`Ctrl+B` pasa a segundo plano un `exec` en curso**: el proceso sigue vivo como job, con la salida acumulada, y el agente recupera el turno al momento.
|
|
16
|
+
- TUI: **tarjetas de tool por intención** (terminal, diff, lectura, búsqueda, web): `+N −M` en `edit_file`, líneas en `exec` y `read_file`; al expandir, el diff coloreado con el informe LSP y la cola de la salida de `exec`.
|
|
17
|
+
- TUI: **indicador de trabajo** con el símbolo de Stratum y las frases de estratos (las mismas que Desktop), con la tool o el subagente en curso encima. Bienvenida con provider · modelo, carpeta y sesiones recientes. Cierre de turno «✓ hecho · 42 s» y aviso al terminal en turnos de 30 s o más.
|
|
18
|
+
- TUI: **subagentes en su propia ventana** (`/subagents [perfil#n]`), de solo lectura y en vivo, en la pantalla alternativa del terminal; en la conversación principal ocupan una línea.
|
|
19
|
+
- TUI: «cambios por turno» en el pie (`✎ N ficheros · +X −Y`); `/context` con el reparto estimado de la entrada (sistema, tools, memorias, conversación) y el umbral real de compresión.
|
|
20
|
+
- TUI: textos unificados en español.
|
|
21
|
+
- `stratum sessions export <id> [--format json|markdown] [-o fichero]`, con el historial redactado.
|
|
22
|
+
- `stratum eval import <traza>`: convierte una sesión grabada en un escenario de replay; criterio nuevo `workspace_expected`, que puntúa los ficheros que dejó la sesión.
|
|
23
|
+
- Las lecturas de un mismo lote de tools corren en paralelo (hasta 2); las escrituras siguen en serie y esperan a lo anterior.
|
|
24
|
+
- Aviso de **llamada repetida**: misma tool con los mismos argumentos sin que nada cambie entre medias. No veta; se le indica al modelo.
|
|
25
|
+
- `/model`, `/provider`, `/agent`, `/readonly` y `/profile` se publican en el daemon al momento.
|
|
26
|
+
- Stratum Protocol: `tool.blocked` admite la fuente `plugin`.
|
|
27
|
+
- TUI: **`/btw <pregunta>`**, una pregunta lateral sobre la conversación, también con el agente trabajando. Responde sin tools y no entra en el historial, la memoria ni el uso de la sesión. En la traza aparece con el origen `side-question`.
|
|
28
|
+
- TUI: `/verbosity` se recuerda entre sesiones (`tui.verbosity`). Se guarda en la config global, salvo que el `.stratumrc.json` del proyecto ya declare la clave.
|
|
29
|
+
- Las sesiones guardan sus tokens y su desglose de uso: `chat --resume` y `/sessions resume` los restauran (`--fork` empieza a cero).
|
|
30
|
+
- `agent.compressionReusePrefix` (opt-in, por defecto `false`): la compresión de contexto de `chat`/`run` puede mandar el historial tal cual, para aprovechar la caché de prefijo del backend, solo cuando deja fuera de caché menos que el resumen de siempre. Ver `docs/prompt-caching.md`.
|
|
31
|
+
|
|
32
|
+
### Corregido
|
|
33
|
+
- `/sessions resume` en caliente: la barra de estado y las pastillas seguían mostrando los tokens de la sesión anterior, y el agente sumaba los de las dos sesiones.
|
|
34
|
+
- `chat --resume` reiniciaba a 0 el contador de tool calls de la sesión al guardarla de nuevo.
|
|
35
|
+
- Compactación de la memoria de sesión (M11) y `sessions.context`: la calibración de tokens salía multiplicada por 3,5 y las tools se contaban dos veces, así que se compactaba a destiempo.
|
|
36
|
+
- `/model` desde la bienvenida abría el selector sin pintarlo.
|
|
37
|
+
- El pie del prompt recortaba la telemetría cuando no cabía; ahora recorta el aviso.
|
|
38
|
+
|
|
9
39
|
## [0.10.0] — 2026-10-23
|
|
10
40
|
|
|
11
41
|
Es la versión de la CLI que necesita **Stratum Desktop 0.6.0** para cambiar de provider.
|