@jmanuelcorral/openteam 0.23.0 → 0.24.1

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.
Files changed (63) hide show
  1. package/README.es.md +28 -8
  2. package/README.md +24 -7
  3. package/dist/certificates/graph-release-certificate.json +2 -2
  4. package/dist/certificates/graph-shadow-certificate.json +2 -2
  5. package/dist/cli/setupAdapters.d.ts +2 -2
  6. package/dist/cli/setupAdapters.d.ts.map +1 -1
  7. package/dist/cli.js +955 -380
  8. package/dist/commands/agents.d.ts +6 -4
  9. package/dist/commands/agents.d.ts.map +1 -1
  10. package/dist/commands/dispatch.d.ts +1 -1
  11. package/dist/commands/dispatch.d.ts.map +1 -1
  12. package/dist/commands/setup.d.ts +22 -33
  13. package/dist/commands/setup.d.ts.map +1 -1
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +1497 -334
  16. package/dist/local/lemonade.d.ts.map +1 -1
  17. package/dist/local/lemonadeRequestGuard.d.ts +11 -0
  18. package/dist/local/lemonadeRequestGuard.d.ts.map +1 -0
  19. package/dist/local/lemonadeResidency.d.ts +22 -0
  20. package/dist/local/lemonadeResidency.d.ts.map +1 -0
  21. package/dist/local/modelResidency.d.ts +4 -0
  22. package/dist/local/modelResidency.d.ts.map +1 -0
  23. package/dist/local/slotPool.d.ts +13 -7
  24. package/dist/local/slotPool.d.ts.map +1 -1
  25. package/dist/messages/executionSetup.d.ts +19 -2
  26. package/dist/messages/executionSetup.d.ts.map +1 -1
  27. package/dist/messages/modelResidency.d.ts +19 -0
  28. package/dist/messages/modelResidency.d.ts.map +1 -0
  29. package/dist/messages/orchestration.d.ts +1 -0
  30. package/dist/messages/orchestration.d.ts.map +1 -1
  31. package/dist/messages/reload.d.ts +21 -0
  32. package/dist/messages/reload.d.ts.map +1 -0
  33. package/dist/opencodeArtifacts/createRosterReload.d.ts +2 -0
  34. package/dist/opencodeArtifacts/createRosterReload.d.ts.map +1 -0
  35. package/dist/opencodeArtifacts/orchestratorAgent.d.ts.map +1 -1
  36. package/dist/opencodeArtifacts/slashCommand.d.ts.map +1 -1
  37. package/dist/opencodeArtifacts/teamPreparation.d.ts.map +1 -1
  38. package/dist/orchestrator/coordinator.d.ts.map +1 -1
  39. package/dist/orchestrator/roster.d.ts +0 -7
  40. package/dist/orchestrator/roster.d.ts.map +1 -1
  41. package/dist/orchestrator/runtimeSelection.d.ts +4 -3
  42. package/dist/orchestrator/runtimeSelection.d.ts.map +1 -1
  43. package/dist/orchestrator/sessionStatus.d.ts +12 -0
  44. package/dist/orchestrator/sessionStatus.d.ts.map +1 -0
  45. package/dist/orchestrator/subsessions.d.ts +2 -10
  46. package/dist/orchestrator/subsessions.d.ts.map +1 -1
  47. package/dist/plugin/availability.d.ts +4 -1
  48. package/dist/plugin/availability.d.ts.map +1 -1
  49. package/dist/plugin/hooks.d.ts +2 -0
  50. package/dist/plugin/hooks.d.ts.map +1 -1
  51. package/dist/plugin/memoryTool.d.ts +9 -3
  52. package/dist/plugin/memoryTool.d.ts.map +1 -1
  53. package/dist/plugin/modelResidency.d.ts +47 -0
  54. package/dist/plugin/modelResidency.d.ts.map +1 -0
  55. package/dist/plugin/reloadTool.d.ts +33 -0
  56. package/dist/plugin/reloadTool.d.ts.map +1 -0
  57. package/dist/router/types.d.ts +2 -0
  58. package/dist/router/types.d.ts.map +1 -1
  59. package/dist/telemetry/diagnostics.d.ts +1 -1
  60. package/dist/telemetry/diagnostics.d.ts.map +1 -1
  61. package/dist/telemetry/events.d.ts +24 -0
  62. package/dist/telemetry/events.d.ts.map +1 -1
  63. package/package.json +1 -1
package/README.es.md CHANGED
@@ -137,6 +137,12 @@ openteam setup
137
137
 
138
138
  > El antiguo comando `openteam init` sigue funcionando como **alias obsoleto** de `openteam setup`.
139
139
 
140
+ **Lemonade solo usa modelos activos.** Los modelos descargados pero no cargados,
141
+ en transición o cuyo estado no se pueda verificar no son seleccionables; una
142
+ lista vacía tampoco permite introducir un ID supuesto. openteam no carga ni
143
+ descarga modelos para hacer funcionar una selección. Consulta la
144
+ [política y los límites del servidor](docs/adr/lemonade-active-models.md).
145
+
140
146
  El asistente:
141
147
 
142
148
  1. Sondea runtimes locales y primero pregunta cuáles habilitar. Elegir
@@ -179,11 +185,13 @@ bootstrap exacto. Los workers generados omiten `model` en frontmatter: manda su
179
185
  política en `.opencode/openteam.json`. Guardian, scribe y ralph no están
180
186
  forzados a local por nombre.
181
187
 
182
- Ese orquestador no trae subagentes específicos del proyecto precreados. Ante
183
- cada petición de trabajo compara las capacidades necesarias con el roster y
184
- los subagentes existentes. Reutiliza a quienes pueden cubrirla y contrata solo
185
- las especialidades que falten, conservando el reparto. Si a un miembro solo le
186
- falta el perfil de ejecución, el registro configura a ese mismo miembro con
188
+ Setup **no crea workers**, ni genéricos ni específicos del proyecto. Los
189
+ perfiles de roles integrados son defaults de ejecución, no agentes `.md`
190
+ adicionales. Ante cada petición de trabajo el primario compara las capacidades
191
+ necesarias con el roster y los subagentes existentes. Reutiliza a quienes
192
+ pueden cubrirla y contrata solo las especialidades que falten, conservando
193
+ el reparto. Si a un miembro solo le falta el perfil de ejecución, el registro
194
+ configura a ese mismo miembro con
187
195
  `model: "auto"`, sin duplicarlo ni enviarte a un asistente de terminal.
188
196
  Las políticas existentes no cambian y las nuevas heredan el dominio global.
189
197
  La ubicación de modelos viene de estas políticas, no de clasificar sensibilidad.
@@ -261,7 +269,7 @@ La versión publicada más reciente aparece en
261
269
  Notas al actualizar:
262
270
 
263
271
  - **No necesitas volver a ejecutar `openteam setup`** para actualizar el plugin: opencode resuelve el paquete `@jmanuelcorral/openteam` declarado en `opencode.json` a la versión instalada. Reinicia opencode para que recargue el plugin.
264
- - Vuelve a ejecutar `openteam setup` para instalar comandos generados nuevos como `/create_roster` o regenerar la configuración (runtimes, modelos o baseline). Revisa su confirmación antes de sobrescribir `opencode.json`, `.opencode/openteam.json` o `.opencode/agent/openteam.md`; **no toca los subagentes** que el orquestador haya creado a demanda.
272
+ - Vuelve a ejecutar `openteam setup` para instalar comandos generados nuevos como `/create_roster` o regenerar la configuración (runtimes, modelos o baseline). Revisa su confirmación antes de sobrescribir `opencode.json`, `.opencode/openteam.json` o `.opencode/agent/openteam.md`; **no sobrescribe ni elimina archivos de workers existentes**, incluidos los genéricos de instalaciones anteriores.
265
273
  - Ajustes puntuales sin reinit: `openteam baseline set <provider/model>` o `openteam baseline auto`.
266
274
 
267
275
  ## Configuración
@@ -517,7 +525,9 @@ validada y crea los subagentes que falten en `.opencode/agent/<agentName>.md`.
517
525
  El registro también inicializa los perfiles específicos que falten en
518
526
  `.opencode/openteam.json` con `model: "auto"`, conservando los perfiles
519
527
  existentes, la política del primario, los overrides de máquina y los permisos.
520
- Verifica el equipo persistido y termina, sin implementar ni repartir tareas.
528
+ Los archivos de workers siguen los aliases del roster: `scribe -> c3po`
529
+ necesita `c3po.md`, no otro archivo `scribe.md`.
530
+ Verifica el equipo persistido sin implementar ni repartir tareas.
521
531
  Las peticiones de trabajo normales usan la misma preparación y después
522
532
  continúan con la tarea solicitada. `openteam roles init` se conserva como
523
533
  opción de compatibilidad para workers antiguos sin perfil, no como paso
@@ -532,6 +542,16 @@ garantizados. Las políticas exactas muestran `provider/model` y sus fallbacks;
532
542
  `auto` indica que el modelo concreto se seleccionará al ejecutar una tarea,
533
543
  sin inventar una asignación.
534
544
 
545
+ Después del resumen correcto de `/create_roster`, el primario pregunta si
546
+ quieres recargar opencode para que descubra los agentes. Solo una respuesta
547
+ afirmativa explícita solicita la recarga de la instancia del proyecto. Rechazarla
548
+ o no responder conserva el equipo preparado sin recargar. Los permisos de
549
+ opencode siguen aplicándose. La solicitud tiene un límite de 30 segundos,
550
+ incluida la autorización del permiso, y espera a que terminen el turno de
551
+ confirmación y las demás sesiones activas. Un nuevo turno en cualquier sesión
552
+ del proyecto la cancela. No
553
+ reinicia el proceso, no borra el historial guardado ni autoriza implementación.
554
+
535
555
  ### 3. CLI (`bin`)
536
556
 
537
557
  El paquete expone el binario `openteam`. Con instalación global:
@@ -982,7 +1002,7 @@ Consulta [docs/compatibility.md](docs/compatibility.md). Resumen verificado el `
982
1002
 
983
1003
  | Superficie | Versión / contrato |
984
1004
  | --- | --- |
985
- | openteam | `0.23.0`; versión actual del paquete |
1005
+ | openteam | `0.24.1`; versión actual del paquete |
986
1006
  | `@opencode-ai/plugin` | `1.18.19` |
987
1007
  | `@opencode-ai/sdk` | `1.18.19` |
988
1008
  | Hook de routing | `chat.message`; no `chat.params` para cambiar modelo |
package/README.md CHANGED
@@ -148,6 +148,11 @@ openteam setup
148
148
 
149
149
  > The old `openteam init` command still works as a **deprecated alias** of `openteam setup`.
150
150
 
151
+ **Lemonade uses active models only.** Downloaded-but-unloaded, transitioning
152
+ or unverified models are not selectable, and an empty active list does not
153
+ allow a guessed model ID. openteam does not load or unload models to make a
154
+ selection work. See the [policy and server-side limits](docs/adr/lemonade-active-models.md).
155
+
151
156
  The wizard:
152
157
 
153
158
  1. Probes local runtimes, then first asks which ones to enable. Choosing
@@ -192,9 +197,10 @@ bootstrap model. Generated workers intentionally omit frontmatter `model`; their
192
197
  policies in `.opencode/openteam.json` are authoritative. Guardian, scribe, and
193
198
  ralph are not forced local by name.
194
199
 
195
- That orchestrator ships **no project-specific pre-created subagents**. For each
196
- substantive request it compares the required capabilities with the roster and
197
- existing subagents. It reuses capable members and hires only missing
200
+ Setup creates **no worker agents**, generic or project-specific. Built-in role
201
+ profiles are execution defaults, not additional `.md` agents. For each
202
+ substantive request the primary compares the required capabilities with the
203
+ roster and existing subagents. It reuses capable members and hires only missing
198
204
  specialists, preserving the existing cast. If a member merely lacks an
199
205
  execution profile, registration configures that same member with `model: "auto"`
200
206
  instead of hiring a duplicate or sending you to a terminal wizard.
@@ -275,7 +281,7 @@ The most recent published version is shown at
275
281
  Notes when updating:
276
282
 
277
283
  - **You do not need to re-run `openteam setup`** to update the plugin: opencode resolves the `@jmanuelcorral/openteam` package declared in `opencode.json` to the installed version. Restart opencode so it reloads the plugin.
278
- - Re-run `openteam setup` to install new generated commands such as `/create_roster` or regenerate configuration (runtimes, models or baseline). Review its confirmation before overwriting `opencode.json`, `.opencode/openteam.json` or `.opencode/agent/openteam.md`; it **does not touch the subagents** the orchestrator created on demand.
284
+ - Re-run `openteam setup` to install new generated commands such as `/create_roster` or regenerate configuration (runtimes, models or baseline). Review its confirmation before overwriting `opencode.json`, `.opencode/openteam.json` or `.opencode/agent/openteam.md`; it **does not overwrite or remove existing worker files**, including generic files from older installations.
279
285
  - One-off adjustments without a re-init: `openteam baseline set <provider/model>` or `openteam baseline auto`.
280
286
 
281
287
  ## Configuration
@@ -522,8 +528,10 @@ agents, registers `.opencode/openteam/roster.md` through the validated tool,
522
528
  and creates missing `.opencode/agent/<agentName>.md` subagents. Registration
523
529
  also initializes missing custom worker profiles in `.opencode/openteam.json`
524
530
  with `model: "auto"`; it preserves existing profiles, the primary policy,
525
- machine-local overrides and permissions. It verifies the persisted team and
526
- stops—no implementation or task distribution. Ordinary work requests use the
531
+ machine-local overrides and permissions. Worker filenames follow the roster's
532
+ aliases: `scribe -> c3po` needs `c3po.md`, not an additional `scribe.md`.
533
+ It verifies the persisted team without
534
+ starting implementation or distributing tasks. Ordinary work requests use the
527
535
  same preparation, then continue with the requested task.
528
536
  `openteam roles init` remains an optional compatibility command for legacy
529
537
  unprofiled workers, not a required onboarding step. Rerun setup after updating
@@ -536,6 +544,15 @@ work starts. It includes the primary and guaranteed roles. Exact model policies
536
544
  show `provider/model` and any configured fallbacks; `auto` explicitly means the
537
545
  concrete model will be selected when a task is dispatched, not a guessed model.
538
546
 
547
+ After the successful `/create_roster` summary, the primary asks whether you want
548
+ to reload opencode to discover the agents. Only an explicit affirmative answer
549
+ requests a project-instance reload; declining or not answering leaves the
550
+ prepared team in place without reloading. Host permissions still apply.
551
+ The request has a 30-second limit, including permission approval, and waits
552
+ for the confirming turn and other active sessions to finish. A new turn in any
553
+ project session cancels it. It does not restart the process, delete saved
554
+ conversation history, or authorize implementation work.
555
+
539
556
  ### 3. CLI (`bin`)
540
557
 
541
558
  The package exposes the `openteam` binary. With a global install:
@@ -937,7 +954,7 @@ See [docs/compatibility.md](docs/compatibility.md). Verified summary as of `2026
937
954
 
938
955
  | Surface | Version / contract |
939
956
  | --- | --- |
940
- | openteam | `0.23.0`; current package version |
957
+ | openteam | `0.24.1`; current package version |
941
958
  | `@opencode-ai/plugin` | `1.18.19` |
942
959
  | `@opencode-ai/sdk` | `1.18.19` |
943
960
  | Routing hook | `chat.message`; not `chat.params` for model changes |
@@ -34,12 +34,12 @@
34
34
  "idempotent": true
35
35
  },
36
36
  "performance": {
37
- "p95Millis": 0.4792839999999501,
37
+ "p95Millis": 0.5172820000000229,
38
38
  "budgetMillis": 50,
39
39
  "samples": 100
40
40
  }
41
41
  },
42
42
  "verdict": "pass",
43
43
  "failedGates": [],
44
- "digest": "72b3b98e2278639b9538d015e4720dd1ff354747794b2a82edfbec4edf8daa42"
44
+ "digest": "ca432b799decdb8cb51c4dd99513b2a044566f51b959a7a5467ad6c0a49f5ff5"
45
45
  }
@@ -20,7 +20,7 @@
20
20
  "rawFindings": 0
21
21
  },
22
22
  "overhead": {
23
- "p95Millis": 0.41316100000000233,
23
+ "p95Millis": 0.37030599999999936,
24
24
  "budgetMillis": 25,
25
25
  "samples": 1000
26
26
  },
@@ -35,5 +35,5 @@
35
35
  },
36
36
  "verdict": "pass",
37
37
  "failedGates": [],
38
- "digest": "21dd6a80d50423141de35101999ca98ca61d6c0447301a1293e353875d5e4007"
38
+ "digest": "3bf65af9802ad8a0cf385b1c03776445cb6bda020c51ae31d6a6d73b0589fc89"
39
39
  }
@@ -1,7 +1,7 @@
1
1
  import type { ModelCapabilityProfile } from "../capabilities/types";
2
2
  import type { DetectedRuntime, Prompter } from "../commands/setup";
3
3
  import { type ExecLike } from "../local/foundry-local";
4
- import type { LocalRuntimeId } from "../local/types";
4
+ import type { LocalRuntimeKind } from "../local/types";
5
5
  /** Prompter interactivo basado en @clack/prompts. */
6
6
  export declare const clackPrompter: Prompter;
7
7
  /**
@@ -14,5 +14,5 @@ export declare function createDetect(exec: ExecLike): () => Promise<DetectedRunt
14
14
  * Sondea un runtime local en una `baseURL` concreta (p.ej. Ollama/LM Studio en
15
15
  * otra máquina de la red local) para listar sus modelos durante `setup`.
16
16
  */
17
- export declare function createProbeRuntime(exec: ExecLike): (id: LocalRuntimeId, baseURL: string) => Promise<DetectedRuntime>;
17
+ export declare function createProbeRuntime(exec: ExecLike): (kind: LocalRuntimeKind, baseURL: string) => Promise<DetectedRuntime>;
18
18
  //# sourceMappingURL=setupAdapters.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"setupAdapters.d.ts","sourceRoot":"","sources":["../../src/cli/setupAdapters.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,KAAK,EACV,eAAe,EAEf,QAAQ,EAET,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,KAAK,QAAQ,EAEd,MAAM,wBAAwB,CAAC;AAGhC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAyBrD,qDAAqD;AACrD,eAAO,MAAM,aAAa,EAAE,QA8E3B,CAAC;AA6BF;;;GAGG;AACH,wBAAgB,0BAA0B,IAAI,MAAM,OAAO,CACzD,sBAAsB,EAAE,CACzB,CAcA;AACD,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC,CA6B7E;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,QAAQ,GACb,CAAC,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,CAAC,CA8BnE"}
1
+ {"version":3,"file":"setupAdapters.d.ts","sourceRoot":"","sources":["../../src/cli/setupAdapters.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,KAAK,EACV,eAAe,EAEf,QAAQ,EAET,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,KAAK,QAAQ,EAEd,MAAM,wBAAwB,CAAC;AAIhC,OAAO,KAAK,EAAE,gBAAgB,EAAwB,MAAM,gBAAgB,CAAC;AAyB7E,qDAAqD;AACrD,eAAO,MAAM,aAAa,EAAE,QA8E3B,CAAC;AA6BF;;;GAGG;AACH,wBAAgB,0BAA0B,IAAI,MAAM,OAAO,CACzD,sBAAsB,EAAE,CACzB,CAcA;AACD,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC,CAiB7E;AAqBD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,QAAQ,GACb,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,eAAe,CAAC,CAmBvE"}