@jmanuelcorral/openteam 0.9.4 → 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/AGENTS.md CHANGED
@@ -7,7 +7,7 @@ openteam is an opencode plugin built with **TypeScript + Bun** with **local-firs
7
7
  - Tests: `bun test`
8
8
  - Typecheck: `bun run typecheck`
9
9
  - Lint+format: `biome check .`
10
- - Required coverage: global lines >= 85% and branches >= 80%; `src/router/**` at 100%.
10
+ - Required coverage: global lines/functions >= 85%; `scripts/check-coverage.mjs` keeps `TARGET_PREFIXES` at 100% and `src/local/**` / `src/telemetry/**` at >= 90%; Bun lcov does not emit branch/statement records.
11
11
  - Determinism: run the specific router test when it exists (`bun test tests/router/determinism.test.ts` or an equivalent selector).
12
12
 
13
13
  ## Architecture rules
package/README.es.md CHANGED
@@ -473,7 +473,9 @@ openteam report --telemetry .opencode/openteam-local/telemetry.jsonl
473
473
  openteam yolo status
474
474
  openteam yolo on
475
475
  openteam local status
476
+ openteam local only
476
477
  openteam local off
478
+ openteam local on
477
479
  openteam clear-cache
478
480
  openteam clear-cache --delete
479
481
  ```
@@ -518,17 +520,18 @@ También puedes activarlo durante `openteam setup` (te lo pregunta), o al vuelo
518
520
 
519
521
  > **YOLO no desactiva la privacidad de openteam.** Solo afecta a las aprobaciones de permisos de opencode; con `privacyMode: "forceLocalOnSensitive"`, los prompts sensibles siguen sin salir a frontier. Úsalo solo en entornos de confianza: auto-aprueba también `bash`, escrituras y accesos fuera del workspace (salvo reglas `deny` explícitas).
520
522
 
521
- ### Solo frontier (sin runtime local): `openteam local`
523
+ ### Modo de routing: `openteam local`
522
524
 
523
- Si **no tienes ningún runtime local** (Ollama/LM Studio/Foundry Local) o prefieres no usarlo, puedes forzar que openteam enrute **siempre a modelos frontier**. `openteam setup` ya activa este modo automáticamente cuando no habilitas ningún runtime, pero puedes alternarlo en cualquier momento sin repetir el setup:
525
+ Usa `openteam local` para alternar entre los tres modos globales de routing sin repetir el setup:
524
526
 
525
527
  ```powershell
526
- openteam local status # ¿local-first o solo frontier? + runtimes configurados
528
+ openteam local status # ¿local-first, solo local o solo frontier? + runtimes configurados
527
529
  openteam local off # solo frontier (desactiva el routing local-first)
530
+ openteam local only # solo local (nunca escala a frontier)
528
531
  openteam local on # vuelve al routing local-first
529
532
  ```
530
533
 
531
- Esto persiste el flag `router.frontierOnly` en `.opencode/openteam.json`. Con `frontierOnly` activo, el router escoge el **frontier cheapest-capable** en lugar de la heurística local-first, pero **respeta la privacidad, los presupuestos y los overrides explícitos por tarea**: los prompts sensibles con `forceLocalOnSensitive` no salen a frontier, y `local off` degrada esa política a `consentBeforeFrontier` (imposible forzar local sin runtime) informándote del cambio.
534
+ `local off` persiste `router.frontierOnly=true`: el router escoge el **frontier cheapest-capable**, pero respeta privacidad, presupuestos y overrides explícitos por tarea. Los prompts sensibles con `forceLocalOnSensitive` no salen a frontier; `local off` degrada esa política a `consentBeforeFrontier` (imposible forzar local sin runtime) e informa del cambio. `local only` persiste `router.localOnly=true` y limpia `frontierOnly`; se niega a escribir la config salvo que haya al menos un runtime local habilitado.
532
535
 
533
536
  ### Actualizar el plugin y limpiar la caché: `openteam clear-cache`
534
537
 
@@ -819,7 +822,7 @@ Consulta [docs/compatibility.md](docs/compatibility.md). Resumen verificado el `
819
822
 
820
823
  | Superficie | Versión / contrato |
821
824
  | --- | --- |
822
- | openteam | `0.9.4`; versión actual del paquete |
825
+ | openteam | `0.11.0`; versión actual del paquete |
823
826
  | `@opencode-ai/plugin` | `1.18.19` |
824
827
  | `@opencode-ai/sdk` | `1.18.19` |
825
828
  | Hook de routing | `chat.message`; no `chat.params` para cambiar modelo |
package/README.md CHANGED
@@ -424,6 +424,9 @@ openteam console
424
424
  openteam report --telemetry .opencode/openteam-local/telemetry.jsonl
425
425
  openteam yolo status
426
426
  openteam local status
427
+ openteam local only
428
+ openteam local off
429
+ openteam local on
427
430
  openteam clear-cache
428
431
  openteam clear-cache --delete
429
432
  ```
@@ -448,17 +451,25 @@ openteam yolo off # disable YOLO
448
451
 
449
452
  > **YOLO does not disable openteam privacy.** It only affects opencode permission approvals; with `privacyMode: "forceLocalOnSensitive"`, sensitive prompts still never leave for frontier. Use it only in trusted environments.
450
453
 
451
- ### Frontier-only (no local runtime): `openteam local`
454
+ ### Routing mode: `openteam local`
452
455
 
453
- If you have **no local runtime** or prefer not to use one, you can force openteam to route **always to frontier models**:
456
+ Use `openteam local` to switch between the three global routing modes without
457
+ re-running setup:
454
458
 
455
459
  ```powershell
456
- openteam local status # local-first or frontier-only? + configured runtimes
460
+ openteam local status # local-first, local-only, or frontier-only? + configured runtimes
457
461
  openteam local off # frontier-only (disable local-first routing)
462
+ openteam local only # local-only (never escalate to frontier)
458
463
  openteam local on # back to local-first routing
459
464
  ```
460
465
 
461
- This persists the `router.frontierOnly` flag in `.opencode/openteam.json`. With `frontierOnly` active the router picks the **cheapest-capable frontier**, but still **respects privacy, budgets and explicit per-task overrides**. Sensitive prompts with `forceLocalOnSensitive` don't leave for frontier; `local off` degrades that policy to `consentBeforeFrontier` (local can't be forced without a runtime) and tells you about the change.
466
+ `local off` persists `router.frontierOnly=true`: the router picks the
467
+ **cheapest-capable frontier**, but still respects privacy, budgets and explicit
468
+ per-task overrides. Sensitive prompts with `forceLocalOnSensitive` don't leave
469
+ for frontier; `local off` degrades that policy to `consentBeforeFrontier` (local
470
+ can't be forced without a runtime) and tells you about the change. `local only`
471
+ persists `router.localOnly=true` and clears `frontierOnly`; it refuses to write
472
+ the config unless at least one local runtime is enabled.
462
473
 
463
474
  ### Updating the plugin and clearing the cache: `openteam clear-cache`
464
475
 
@@ -700,7 +711,7 @@ See [docs/compatibility.md](docs/compatibility.md). Verified summary as of `2026
700
711
 
701
712
  | Surface | Version / contract |
702
713
  | --- | --- |
703
- | openteam | `0.9.4`; current package version |
714
+ | openteam | `0.11.0`; current package version |
704
715
  | `@opencode-ai/plugin` | `1.18.19` |
705
716
  | `@opencode-ai/sdk` | `1.18.19` |
706
717
  | Routing hook | `chat.message`; not `chat.params` for model changes |