@jmanuelcorral/openteam 0.24.1 → 0.26.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/README.es.md +42 -10
- package/README.md +37 -8
- package/dist/certificates/graph-release-certificate.json +2 -2
- package/dist/certificates/graph-shadow-certificate.json +2 -2
- package/dist/cli/setupAdapters.d.ts.map +1 -1
- package/dist/cli.js +1200 -384
- package/dist/commands/agents.d.ts.map +1 -1
- package/dist/commands/dispatch.d.ts.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/setup.d.ts +20 -15
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/config/schema.d.ts +101 -7
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/console/assets.d.ts.map +1 -1
- package/dist/console/conversation.d.ts +5 -1
- package/dist/console/conversation.d.ts.map +1 -1
- package/dist/console/credentials.d.ts +4 -0
- package/dist/console/credentials.d.ts.map +1 -0
- package/dist/console/inspector.d.ts +1 -1
- package/dist/console/inspector.d.ts.map +1 -1
- package/dist/console/refresh.d.ts +1 -1
- package/dist/console/refresh.d.ts.map +1 -1
- package/dist/console/render.d.ts.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +657 -128
- package/dist/local/lemonadeResidency.d.ts +2 -14
- package/dist/local/lemonadeResidency.d.ts.map +1 -1
- package/dist/local/llamaSwap.d.ts +5 -0
- package/dist/local/llamaSwap.d.ts.map +1 -0
- package/dist/local/llamaSwapRequestGuard.d.ts +11 -0
- package/dist/local/llamaSwapRequestGuard.d.ts.map +1 -0
- package/dist/local/llamaSwapResidency.d.ts +9 -0
- package/dist/local/llamaSwapResidency.d.ts.map +1 -0
- package/dist/local/modelResidency.d.ts +1 -0
- package/dist/local/modelResidency.d.ts.map +1 -1
- package/dist/local/registry.d.ts.map +1 -1
- package/dist/local/residency.d.ts +16 -0
- package/dist/local/residency.d.ts.map +1 -0
- package/dist/local/types.d.ts +10 -2
- package/dist/local/types.d.ts.map +1 -1
- package/dist/messages/consoleDetail.d.ts +8 -5
- package/dist/messages/consoleDetail.d.ts.map +1 -1
- package/dist/messages/executionSetup.d.ts +22 -3
- package/dist/messages/executionSetup.d.ts.map +1 -1
- package/dist/messages/memoryRuntime.d.ts +6 -0
- package/dist/messages/memoryRuntime.d.ts.map +1 -0
- package/dist/messages/memoryTool.d.ts +1 -1
- package/dist/messages/memoryTool.d.ts.map +1 -1
- package/dist/messages/modelResidency.d.ts +20 -2
- package/dist/messages/modelResidency.d.ts.map +1 -1
- package/dist/plugin/availability.d.ts.map +1 -1
- package/dist/plugin/memoryTool.d.ts.map +1 -1
- package/dist/plugin/modelResidency.d.ts.map +1 -1
- package/dist/storage/index/memoryRuntime.d.ts.map +1 -1
- package/dist/web/conversationRoute.d.ts +2 -2
- package/dist/web/conversationRoute.d.ts.map +1 -1
- package/dist/web/server.d.ts +1 -1
- package/dist/web/server.d.ts.map +1 -1
- package/package.json +1 -1
package/README.es.md
CHANGED
|
@@ -41,7 +41,7 @@ estrecha un agente a `local` bajo el modo global `mixed`.
|
|
|
41
41
|
## Características
|
|
42
42
|
|
|
43
43
|
- Routing por turno desde el hook `chat.message`, mutando `output.message.model` antes de que opencode persista el mensaje.
|
|
44
|
-
- Registro de runtimes locales OpenAI-compatible: Ollama, LM Studio, Lemonade Server y Foundry Local.
|
|
44
|
+
- Registro de runtimes locales OpenAI-compatible: Ollama, LM Studio, Lemonade Server, llama-swap y Foundry Local.
|
|
45
45
|
- Perfiles de capacidad desde Models.dev, con cache y fallback curado cuando el catálogo no está disponible.
|
|
46
46
|
- Selección automática **cheapest-capable** por coste, disponibilidad, soporte de tools y contexto dentro del dominio permitido.
|
|
47
47
|
- Presupuestos por sesión, mes y tokens frontier por sesión.
|
|
@@ -62,6 +62,7 @@ estrecha un agente a `local` bajo el modo global `mixed`.
|
|
|
62
62
|
- Ollama en `http://localhost:11434/v1`.
|
|
63
63
|
- LM Studio en `http://localhost:1234/v1`.
|
|
64
64
|
- Lemonade Server en `http://localhost:13305/api/v1`.
|
|
65
|
+
- llama-swap en `http://localhost:8080/v1`.
|
|
65
66
|
- Foundry Local con puerto dinámico descubierto por CLI en Windows.
|
|
66
67
|
|
|
67
68
|
## Instalación
|
|
@@ -114,7 +115,7 @@ la política del operador en `.opencode/openteam.json`.
|
|
|
114
115
|
## Quickstart: `openteam setup`
|
|
115
116
|
|
|
116
117
|
La forma más rápida de dejar un repositorio listo es `openteam setup`. Detecta
|
|
117
|
-
Ollama, LM Studio, Lemonade Server y Foundry Local —todos opcionales—, permite
|
|
118
|
+
Ollama, LM Studio, Lemonade Server, llama-swap y Foundry Local —todos opcionales—, permite
|
|
118
119
|
elegir modelos locales y el **frontier baseline** (cheapest-capable primero), y
|
|
119
120
|
genera la configuración y los artefactos de agentes/comandos:
|
|
120
121
|
|
|
@@ -143,6 +144,14 @@ lista vacía tampoco permite introducir un ID supuesto. openteam no carga ni
|
|
|
143
144
|
descarga modelos para hacer funcionar una selección. Consulta la
|
|
144
145
|
[política y los límites del servidor](docs/adr/lemonade-active-models.md).
|
|
145
146
|
|
|
147
|
+
**llama-swap también exige modelos activos.** La integración inicial admite
|
|
148
|
+
IDs locales canónicos con estado `ready` verificable y sin perfil de
|
|
149
|
+
enrutamiento activo, en un servidor sin autenticación restringido por la red.
|
|
150
|
+
Los límites declarados de contexto y salida se trasladan durante setup a
|
|
151
|
+
opencode para compactar; el soporte de herramientas desconocido no se inventa.
|
|
152
|
+
Consulta la [guía de llama-swap](docs/es/guide/llama-swap.md), incluidos los
|
|
153
|
+
límites de la comprobación no atómica del cliente.
|
|
154
|
+
|
|
146
155
|
El asistente:
|
|
147
156
|
|
|
148
157
|
1. Sondea runtimes locales y primero pregunta cuáles habilitar. Elegir
|
|
@@ -232,7 +241,7 @@ Para instalar y probar openteam en otro equipo que ya tenga [opencode](https://o
|
|
|
232
241
|
# La opción puntual ya ejecutó setup en el paso anterior.
|
|
233
242
|
```
|
|
234
243
|
|
|
235
|
-
El asistente detecta Ollama / LM Studio / Foundry Local, te deja elegir los modelos locales (locales o en otra máquina de la red) o **ninguno** para funcionar solo con frontier, y el frontier baseline, y escribe la configuración.
|
|
244
|
+
El asistente detecta Ollama / LM Studio / Lemonade Server / llama-swap / Foundry Local, te deja elegir los modelos locales (locales o en otra máquina de la red) o **ninguno** para funcionar solo con frontier, y el frontier baseline, y escribe la configuración.
|
|
236
245
|
|
|
237
246
|
3. **Autentica el provider frontier** que hayas elegido:
|
|
238
247
|
|
|
@@ -348,9 +357,9 @@ ejecutas desde un subdirectorio verás "provider not configured" y debes hacer
|
|
|
348
357
|
| `router.localDefault` | `ModelRef \| null` | `null` | Modelo local principal. No configurado por defecto — ningún modelo local se enruta hasta que configures uno con `openteam setup` o manualmente. |
|
|
349
358
|
| `local.runtimes` | `LocalRuntime[]` | `[]` | Runtimes locales a sondear. Vacío por defecto — ningún runtime está configurado hasta que ejecutes `openteam setup` o añadas una entrada manualmente. |
|
|
350
359
|
| `local.runtimes[].id` | `string` | requerido | Identidad de instancia, única dentro del array. Libre (`lmstudio-a`, `lemonade-lan`) para que dos máquinas del mismo tipo sean distintas; si se omite `kind`, debe ser en sí mismo un tipo de runtime (retrocompatibilidad). |
|
|
351
|
-
| `local.runtimes[].kind` | `"ollama" \| "lmstudio" \| "foundry-local" \| "lemonade"` opcional | migra desde `id` | Tipo de runtime que selecciona el adaptador. Opcional: si falta, se usa `id` como tipo, así toda config previa sigue funcionando sin cambios. |
|
|
360
|
+
| `local.runtimes[].kind` | `"ollama" \| "lmstudio" \| "foundry-local" \| "lemonade" \| "llama-swap"` opcional | migra desde `id` | Tipo de runtime que selecciona el adaptador. Opcional: si falta, se usa `id` como tipo, así toda config previa sigue funcionando sin cambios. |
|
|
352
361
|
| `local.runtimes[].enabled` | `boolean` | `true` | Habilita o deshabilita ese runtime. |
|
|
353
|
-
| `local.runtimes[].baseURL` | URL opcional | según runtime/config | Endpoint OpenAI-compatible (`/v1` para Ollama/LM Studio, `/api/v1` para Lemonade); Foundry Local puede omitirlo si usa discovery. |
|
|
362
|
+
| `local.runtimes[].baseURL` | URL opcional | según runtime/config | Endpoint OpenAI-compatible (`/v1` para Ollama/LM Studio/llama-swap, `/api/v1` para Lemonade); Foundry Local puede omitirlo si usa discovery. |
|
|
354
363
|
| `local.runtimes[].discovery` | `"cli" \| "sdk" \| "manual"` opcional | sin default por item | Discovery de Foundry Local; el registry usa CLI si está configurado y no es `manual`. |
|
|
355
364
|
| `local.runtimes[].defaultModel` | `ModelRef` | requerido | Modelo por defecto de ese runtime. |
|
|
356
365
|
| `local.runtimes[].maxConcurrency` | entero positivo opcional | `4` | Límite de generaciones concurrentes de esta instancia (su número real de slots). Se aplica por instancia. |
|
|
@@ -735,9 +744,18 @@ JSONL por sesión y la Console los vigila (`fs.watch`) y **agrega**.
|
|
|
735
744
|
|
|
736
745
|
Muestra en vivo: **uso de tokens registrado y estimaciones de coste por
|
|
737
746
|
mensaje** (input/output/reasoning/cache), toolcalls con duración, routing
|
|
738
|
-
reciente, decisiones, reuniones, progreso, equipo y commits.
|
|
739
|
-
de prompt, nunca el texto. Los límites y estimaciones son
|
|
740
|
-
pero no sustituyen la factura del provider. Se actualiza
|
|
747
|
+
reciente, decisiones, reuniones, progreso, equipo y commits. La telemetría solo
|
|
748
|
+
contiene hashes de prompt, nunca el texto. Los límites y estimaciones son
|
|
749
|
+
finitos y auditables, pero no sustituyen la factura del provider. Se actualiza
|
|
750
|
+
por **SSE**.
|
|
751
|
+
|
|
752
|
+
**Las conversaciones aparecen por defecto.** Las vistas activas del árbol y
|
|
753
|
+
Logs muestran automáticamente tus prompts, las respuestas visibles de los
|
|
754
|
+
agentes y las interacciones registradas con herramientas, con actualizaciones
|
|
755
|
+
en vivo. Se lee el historial actual de opencode, sin copiar prompts a la
|
|
756
|
+
telemetría. No hace falta activar diagnóstico ni revelar cada agente; un
|
|
757
|
+
`console.sessionHistory.contentEnabled: false` explícito conserva la vista de
|
|
758
|
+
metadatos. Leer contenido no habilita el envío de prompts ni una PTY.
|
|
741
759
|
|
|
742
760
|
Cada pestaña de sesión incluye además una **vista "Sesión"**: una consola por la
|
|
743
761
|
que puedes **ver la salida en vivo** (SSE) y **enviar prompts** o **responder
|
|
@@ -785,7 +803,7 @@ Graph; el DAG separado de Graph sigue el `graph.mode` efectivo. Consulta
|
|
|
785
803
|
[Línea de tiempo de agentes](docs/es/guide/agent-timeline.md) y
|
|
786
804
|
[Web de observabilidad del grafo](docs/es/guide/graph-observability-web.md).
|
|
787
805
|
|
|
788
|
-
> **Seguridad**: el servidor escucha **solo en loopback** (`127.0.0.1`/`localhost`, validado por Zod) y
|
|
806
|
+
> **Seguridad**: el servidor escucha **solo en loopback** (`127.0.0.1`/`localhost`, validado por Zod). Las conversaciones exigen token efímero y validación del workspace exacto, ocultan patrones conocidos de credenciales y usan `no-store`. La telemetría, el ciclo de vida y el estado mantienen solo referencias; no se les copia el texto. El envío de prompts y la PTY conservan permisos independientes. Si el puerto está ocupado y `autoPortFallback` es `true`, se prueba el siguiente libre. El acceso remoto mediante `openteam tunnel` se **eliminó del MVP** (2026-08-31); no existe un camino de exposición remota integrado.
|
|
789
807
|
|
|
790
808
|
**Estabilidad de la interfaz.** La superficie web de la Console es **pre-1.0**: su UI, sus endpoints, el bloque de configuración `console` y el formato de eventos pueden cambiar todavía. El router, los presupuestos, la telemetría y el core de memoria son estables.
|
|
791
809
|
|
|
@@ -911,6 +929,20 @@ foundry service status
|
|
|
911
929
|
|
|
912
930
|
openteam extrae el puerto de la salida del CLI y normaliza el endpoint a `http://localhost:<PORT>/v1`.
|
|
913
931
|
|
|
932
|
+
### llama-swap
|
|
933
|
+
|
|
934
|
+
Prepara el modelo en llama-swap antes de ejecutar setup. Estas consultas solo
|
|
935
|
+
leen el catálogo, la disponibilidad y el perfil activo:
|
|
936
|
+
|
|
937
|
+
```powershell
|
|
938
|
+
Invoke-RestMethod -Uri "http://localhost:8080/v1/models" -Method Get
|
|
939
|
+
Invoke-RestMethod -Uri "http://localhost:8080/running" -Method Get
|
|
940
|
+
Invoke-RestMethod -Uri "http://localhost:8080/api/profiles" -Method Get
|
|
941
|
+
```
|
|
942
|
+
|
|
943
|
+
Consulta la [guía de llama-swap](docs/es/guide/llama-swap.md) para la selección
|
|
944
|
+
de modelos listos, límites de contexto/salida y transportes soportados.
|
|
945
|
+
|
|
914
946
|
### Telemetría
|
|
915
947
|
|
|
916
948
|
```powershell
|
|
@@ -1002,7 +1034,7 @@ Consulta [docs/compatibility.md](docs/compatibility.md). Resumen verificado el `
|
|
|
1002
1034
|
|
|
1003
1035
|
| Superficie | Versión / contrato |
|
|
1004
1036
|
| --- | --- |
|
|
1005
|
-
| openteam | `0.
|
|
1037
|
+
| openteam | `0.26.0`; versión actual del paquete |
|
|
1006
1038
|
| `@opencode-ai/plugin` | `1.18.19` |
|
|
1007
1039
|
| `@opencode-ai/sdk` | `1.18.19` |
|
|
1008
1040
|
| Hook de routing | `chat.message`; no `chat.params` para cambiar modelo |
|
package/README.md
CHANGED
|
@@ -47,7 +47,7 @@ or narrow an agent to `local` under global `mixed`, when frontier is prohibited.
|
|
|
47
47
|
## Features
|
|
48
48
|
|
|
49
49
|
- Per-turn routing from the `chat.message` hook, mutating `output.message.model` before opencode persists the message.
|
|
50
|
-
- Registration of OpenAI-compatible local runtimes: **Ollama**, **LM Studio**, **Lemonade Server** and **Foundry Local**.
|
|
50
|
+
- Registration of OpenAI-compatible local runtimes: **Ollama**, **LM Studio**, **Lemonade Server**, **llama-swap** and **Foundry Local**.
|
|
51
51
|
- Capability profiles from [Models.dev](https://models.dev), with cache and a curated fallback when the catalog is unavailable.
|
|
52
52
|
- **Cheapest-capable** automatic selection by cost, availability, tool support, and context requirements inside the allowed domain.
|
|
53
53
|
- Budgets per session, per month and per frontier tokens per session.
|
|
@@ -70,9 +70,10 @@ or narrow an agent to `local` under global `mixed`, when frontier is prohibited.
|
|
|
70
70
|
- Ollama at `http://localhost:11434/v1`.
|
|
71
71
|
- LM Studio at `http://localhost:1234/v1`.
|
|
72
72
|
- Lemonade Server at `http://localhost:13305/api/v1`.
|
|
73
|
+
- llama-swap at `http://localhost:8080/v1`.
|
|
73
74
|
- Foundry Local with a dynamic port discovered via CLI on Windows.
|
|
74
75
|
|
|
75
|
-
> Local runtimes are **optional**. You can run openteam **frontier-only**, or point it at an Ollama / LM Studio / Lemonade Server running on **another machine on your LAN**.
|
|
76
|
+
> Local runtimes are **optional**. You can run openteam **frontier-only**, or point it at an Ollama / LM Studio / Lemonade Server / llama-swap running on **another machine on your LAN**.
|
|
76
77
|
|
|
77
78
|
## Installation
|
|
78
79
|
|
|
@@ -125,7 +126,7 @@ operator policy in `.opencode/openteam.json`.
|
|
|
125
126
|
## Quickstart: `openteam setup`
|
|
126
127
|
|
|
127
128
|
`openteam setup` detects the installed local runtimes (Ollama, LM Studio,
|
|
128
|
-
Lemonade Server, Foundry Local — all optional), lets you pick local models and
|
|
129
|
+
Lemonade Server, llama-swap, Foundry Local — all optional), lets you pick local models and
|
|
129
130
|
the **frontier baseline** (sorted cheapest-capable first), and writes the
|
|
130
131
|
project configuration and generated agent/command artifacts:
|
|
131
132
|
|
|
@@ -153,6 +154,13 @@ or unverified models are not selectable, and an empty active list does not
|
|
|
153
154
|
allow a guessed model ID. openteam does not load or unload models to make a
|
|
154
155
|
selection work. See the [policy and server-side limits](docs/adr/lemonade-active-models.md).
|
|
155
156
|
|
|
157
|
+
**llama-swap also requires active models.** The initial integration accepts
|
|
158
|
+
canonical local model IDs with verified `ready` state and no active routing
|
|
159
|
+
profile, on an unauthenticated, network-restricted server. Declared context
|
|
160
|
+
and output ceilings feed setup's opencode compaction limits; missing tool
|
|
161
|
+
support is not guessed. See the [llama-swap guide](docs/guide/llama-swap.md)
|
|
162
|
+
for configuration and the non-atomic server-side boundary.
|
|
163
|
+
|
|
156
164
|
The wizard:
|
|
157
165
|
|
|
158
166
|
1. Probes local runtimes, then first asks which ones to enable. Choosing
|
|
@@ -244,7 +252,7 @@ To install and try openteam on another machine that already has [opencode](https
|
|
|
244
252
|
# The one-off option already ran setup in the previous step.
|
|
245
253
|
```
|
|
246
254
|
|
|
247
|
-
The wizard detects Ollama / LM Studio / Foundry Local, lets you pick the local models (local or on another machine on the LAN) or **none** to run frontier-only, and the frontier baseline, then writes the configuration.
|
|
255
|
+
The wizard detects Ollama / LM Studio / Lemonade Server / llama-swap / Foundry Local, lets you pick the local models (local or on another machine on the LAN) or **none** to run frontier-only, and the frontier baseline, then writes the configuration.
|
|
248
256
|
|
|
249
257
|
3. **Authenticate the frontier provider** you chose:
|
|
250
258
|
|
|
@@ -355,9 +363,9 @@ configured" and should `cd` to the project root first.
|
|
|
355
363
|
| `router.localDefault` | `ModelRef \| null` | `null` | Primary local model. Not set by default — no local model is routed until you configure one via `openteam setup` or by hand. |
|
|
356
364
|
| `local.runtimes` | `LocalRuntime[]` | `[]` | Local runtimes to probe. Empty by default — no runtime is configured until you run `openteam setup` or add an entry by hand. |
|
|
357
365
|
| `local.runtimes[].id` | string | required | Instance identity, unique within the array. Free-form (`lmstudio-a`, `lemonade-lan`) so two machines of the same kind are distinct; when `kind` is omitted it must itself be a runtime kind (back-compat). |
|
|
358
|
-
| `local.runtimes[].kind` | `"ollama" \| "lmstudio" \| "foundry-local" \| "lemonade"` optional | migrates from `id` | Runtime kind selecting the adapter. Optional: when absent, `id` is treated as the kind, so pre-existing configs keep working unchanged. |
|
|
366
|
+
| `local.runtimes[].kind` | `"ollama" \| "lmstudio" \| "foundry-local" \| "lemonade" \| "llama-swap"` optional | migrates from `id` | Runtime kind selecting the adapter. Optional: when absent, `id` is treated as the kind, so pre-existing configs keep working unchanged. |
|
|
359
367
|
| `local.runtimes[].enabled` | `boolean` | `true` | Enable or disable that runtime. |
|
|
360
|
-
| `local.runtimes[].baseURL` | optional URL | per runtime/config | OpenAI-compatible endpoint (`/v1` for Ollama/LM Studio, `/api/v1` for Lemonade); Foundry Local may omit it when using discovery. |
|
|
368
|
+
| `local.runtimes[].baseURL` | optional URL | per runtime/config | OpenAI-compatible endpoint (`/v1` for Ollama/LM Studio/llama-swap, `/api/v1` for Lemonade); Foundry Local may omit it when using discovery. |
|
|
361
369
|
| `local.runtimes[].discovery` | `"cli" \| "sdk" \| "manual"` optional | none per item | Foundry Local discovery; the registry uses CLI when configured and not `manual`. |
|
|
362
370
|
| `local.runtimes[].defaultModel` | `ModelRef` | required | Default model for that runtime. |
|
|
363
371
|
| `local.runtimes[].maxConcurrency` | positive integer, optional | `4` | Concurrent-generation cap for this instance (its real slot count). Applied per instance. |
|
|
@@ -730,6 +738,13 @@ agent decisions and meetings, orchestration progress, the team, and commits.
|
|
|
730
738
|
These controls and estimates are finite/auditable, but they are not provider
|
|
731
739
|
invoice accounting.
|
|
732
740
|
|
|
741
|
+
**Conversations are visible by default.** Active Agent tree and Logs views
|
|
742
|
+
automatically show operator prompts, visible agent responses and recorded tool
|
|
743
|
+
interactions, with live updates. Reads use opencode's current session history,
|
|
744
|
+
not prompt copies in telemetry. No diagnostic flag or per-agent reveal is
|
|
745
|
+
required; explicit `console.sessionHistory.contentEnabled: false` keeps a
|
|
746
|
+
metadata-only view. Content access does not enable terminal input or a PTY.
|
|
747
|
+
|
|
733
748
|
Each session tab also includes a **"Session" view**: a console where you can **watch the live output** (SSE) and **send prompts** or **answer permissions** for that opencode session, authenticated with an **ephemeral token** per launch. Optionally, with the `terminal.pty` flag, a **"Terminal" view** opens a **real shell** in the workspace via opencode's PTY API (no `node-pty`).
|
|
734
749
|
|
|
735
750
|
```powershell
|
|
@@ -769,7 +784,7 @@ authority; the separate Graph DAG follows the effective `graph.mode`. See
|
|
|
769
784
|
[Agent timeline](docs/guide/agent-timeline.md) and
|
|
770
785
|
[Graph observability web](docs/guide/graph-observability-web.md).
|
|
771
786
|
|
|
772
|
-
> **Security**: the server listens **on loopback only** (`127.0.0.1`/`localhost`, Zod-validated)
|
|
787
|
+
> **Security**: the server listens **on loopback only** (`127.0.0.1`/`localhost`, Zod-validated). Conversation reads require the ephemeral token and exact-workspace validation, mask known credential patterns and use `no-store`. Telemetry/lifecycle/state remain reference-only; conversation text is not copied into them. Session input and PTY retain their separate permissions. If the port is busy and `autoPortFallback` is `true`, the Console tries the next free one. Remote access via `openteam tunnel` was **removed from the MVP** (2026-08-31); there is no built-in remote-exposure path.
|
|
773
788
|
|
|
774
789
|
**Interface stability.** The Console's web surface is **pre-1.0**: its UI, endpoints, `console` config block and event format may still change. The routing, budgets, telemetry and memory core are stable.
|
|
775
790
|
|
|
@@ -866,6 +881,20 @@ foundry service status
|
|
|
866
881
|
|
|
867
882
|
openteam extracts the port from the CLI output and normalizes the endpoint to `http://localhost:<PORT>/v1`.
|
|
868
883
|
|
|
884
|
+
### llama-swap
|
|
885
|
+
|
|
886
|
+
Prepare the intended model with llama-swap before setup. These calls only read
|
|
887
|
+
the catalog, readiness and profile state:
|
|
888
|
+
|
|
889
|
+
```powershell
|
|
890
|
+
Invoke-RestMethod -Uri "http://localhost:8080/v1/models" -Method Get
|
|
891
|
+
Invoke-RestMethod -Uri "http://localhost:8080/running" -Method Get
|
|
892
|
+
Invoke-RestMethod -Uri "http://localhost:8080/api/profiles" -Method Get
|
|
893
|
+
```
|
|
894
|
+
|
|
895
|
+
See the [llama-swap guide](docs/guide/llama-swap.md) for ready-only selection,
|
|
896
|
+
declared context/output limits and supported transport boundaries.
|
|
897
|
+
|
|
869
898
|
### Telemetry
|
|
870
899
|
|
|
871
900
|
openteam writes a hash-only `CostRecord` JSONL log (never raw prompts). Tail the most recent entries:
|
|
@@ -954,7 +983,7 @@ See [docs/compatibility.md](docs/compatibility.md). Verified summary as of `2026
|
|
|
954
983
|
|
|
955
984
|
| Surface | Version / contract |
|
|
956
985
|
| --- | --- |
|
|
957
|
-
| openteam | `0.
|
|
986
|
+
| openteam | `0.26.0`; current package version |
|
|
958
987
|
| `@opencode-ai/plugin` | `1.18.19` |
|
|
959
988
|
| `@opencode-ai/sdk` | `1.18.19` |
|
|
960
989
|
| 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.
|
|
37
|
+
"p95Millis": 0.3665430000000356,
|
|
38
38
|
"budgetMillis": 50,
|
|
39
39
|
"samples": 100
|
|
40
40
|
}
|
|
41
41
|
},
|
|
42
42
|
"verdict": "pass",
|
|
43
43
|
"failedGates": [],
|
|
44
|
-
"digest": "
|
|
44
|
+
"digest": "b10ff6b124af850edf12082169fc980f87190f4c06c950e7324a95f32447aa8a"
|
|
45
45
|
}
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"rawFindings": 0
|
|
21
21
|
},
|
|
22
22
|
"overhead": {
|
|
23
|
-
"p95Millis": 0.
|
|
23
|
+
"p95Millis": 0.277688999999981,
|
|
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": "
|
|
38
|
+
"digest": "0a32756f8be276eafc5ed1577804aa71f52bdae689a425c2d6566e8d45d0d0f1"
|
|
39
39
|
}
|
|
@@ -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;
|
|
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;AAKhC,OAAO,KAAK,EAAE,gBAAgB,EAAwB,MAAM,gBAAgB,CAAC;AAyB7E,qDAAqD;AACrD,eAAO,MAAM,aAAa,EAAE,QA8E3B,CAAC;AAmCF;;;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"}
|