@jmanuelcorral/openteam 0.27.1 → 0.29.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/.opencode/openteam.example.json +7 -1
- package/README.es.md +37 -1
- package/README.md +42 -1
- package/dist/certificates/graph-release-certificate.json +2 -2
- package/dist/certificates/graph-shadow-certificate.json +2 -2
- package/dist/certificates/opencode-2.0.5/graph-release-certificate.json +2 -2
- package/dist/certificates/opencode-2.0.5/graph-shadow-certificate.json +2 -2
- package/dist/cli.js +5820 -3734
- package/dist/config/errors.d.ts.map +1 -1
- package/dist/config/schema.d.ts +18 -0
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/console/agentView.d.ts +13 -0
- package/dist/console/agentView.d.ts.map +1 -0
- package/dist/console/assets.d.ts.map +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 +1 -0
- package/dist/console/render.d.ts.map +1 -1
- package/dist/graph/schema.d.ts +6 -0
- package/dist/graph/schema.d.ts.map +1 -1
- package/dist/graph/validate.d.ts +4 -1
- package/dist/graph/validate.d.ts.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7002 -5534
- package/dist/lifecycle/contracts.d.ts +2 -2
- package/dist/lifecycle/contracts.d.ts.map +1 -1
- package/dist/lifecycle/schema.d.ts +6 -0
- package/dist/lifecycle/schema.d.ts.map +1 -1
- package/dist/local/concurrency.d.ts +1 -1
- package/dist/local/concurrency.d.ts.map +1 -1
- package/dist/messages/agentView.d.ts +79 -0
- package/dist/messages/agentView.d.ts.map +1 -0
- package/dist/messages/consoleDetail.d.ts +9 -0
- package/dist/messages/consoleDetail.d.ts.map +1 -1
- package/dist/messages/orchestration.d.ts +26 -0
- package/dist/messages/orchestration.d.ts.map +1 -1
- package/dist/messages/planExecution.d.ts +29 -0
- package/dist/messages/planExecution.d.ts.map +1 -0
- package/dist/opencodeArtifacts/orchestratorAgent.d.ts.map +1 -1
- package/dist/opencodeArtifacts/slashCommand.d.ts.map +1 -1
- package/dist/orchestrator/coordinator.d.ts +14 -1
- package/dist/orchestrator/coordinator.d.ts.map +1 -1
- package/dist/orchestrator/outputContract.d.ts +4 -0
- package/dist/orchestrator/outputContract.d.ts.map +1 -1
- package/dist/orchestrator/planExecution.d.ts +112 -0
- package/dist/orchestrator/planExecution.d.ts.map +1 -0
- package/dist/orchestrator/reportDelivery.d.ts +13 -0
- package/dist/orchestrator/reportDelivery.d.ts.map +1 -0
- package/dist/orchestrator/subsessions.d.ts +5 -0
- package/dist/orchestrator/subsessions.d.ts.map +1 -1
- package/dist/orchestrator/taskEffort.d.ts +39 -0
- package/dist/orchestrator/taskEffort.d.ts.map +1 -0
- package/dist/plugin/capture.d.ts +3 -0
- package/dist/plugin/capture.d.ts.map +1 -1
- package/dist/plugin/executeTool.d.ts +12 -0
- package/dist/plugin/executeTool.d.ts.map +1 -0
- package/dist/plugin/nativeHost.d.ts.map +1 -1
- package/dist/plugin/nativeHostContext.d.ts +1 -1
- package/dist/plugin/nativeHostContext.d.ts.map +1 -1
- package/dist/plugin/nativeSessions.d.ts +9 -0
- package/dist/plugin/nativeSessions.d.ts.map +1 -1
- package/dist/plugin/orchestrateTool.d.ts +14 -1
- package/dist/plugin/orchestrateTool.d.ts.map +1 -1
- package/dist/plugin/reportTool.d.ts +4 -0
- package/dist/plugin/reportTool.d.ts.map +1 -0
- package/dist/plugin/runtimeContext.d.ts +14 -0
- package/dist/plugin/runtimeContext.d.ts.map +1 -1
- package/dist/plugin/toolcalls.d.ts +9 -1
- package/dist/plugin/toolcalls.d.ts.map +1 -1
- package/dist/storage/scopedArtifacts.d.ts +7 -0
- package/dist/storage/scopedArtifacts.d.ts.map +1 -0
- package/dist/telemetry/aggregate.d.ts +7 -0
- package/dist/telemetry/aggregate.d.ts.map +1 -1
- package/dist/telemetry/events.d.ts +68 -2
- package/dist/telemetry/events.d.ts.map +1 -1
- package/package.json +1 -1
package/README.es.md
CHANGED
|
@@ -221,6 +221,24 @@ Antes de delegar, el orquestador **planifica dependencias y paraleliza**: descom
|
|
|
221
221
|
|
|
222
222
|
En la **lista de tareas** (`todowrite`, la que ves en el todo general de opencode) cada entrada lleva **visible el responsable**. opencode no tiene un campo de "agente" en sus todos (solo `content`/`status`/`priority`, y la lista es por sesión), así que el orquestador usa una convención en el texto: prefija cada tarea con el nombre del casting, p. ej. `[@Basher] Implementar el router` o `[@openteam] Sintetizar resultados`. Así, de un vistazo, sabes quién es responsable de cada tarea.
|
|
223
223
|
|
|
224
|
+
### Ejecutar el plan completo
|
|
225
|
+
|
|
226
|
+
Usa `/execute` para el plan acordado en la conversación, o
|
|
227
|
+
`/execute docs/mvp-plan.md` para un plan del proyecto. El comando prepara un
|
|
228
|
+
manifiesto local y entrega todas las oleadas a un supervisor en código:
|
|
229
|
+
reintentos acotados, relevos entre modelos autorizados, aceptación independiente
|
|
230
|
+
y correcciones de las tareas rechazadas. No necesita otro «continúa» después
|
|
231
|
+
de cada lote correcto.
|
|
232
|
+
|
|
233
|
+
Se mantienen los límites configurados: no es ejecución ilimitada.
|
|
234
|
+
`/execute status <planID>` muestra el progreso y
|
|
235
|
+
`/execute resume <planID>` reanuda un plan detenido de forma segura en un nuevo
|
|
236
|
+
turno del usuario. No se duplican automáticamente ejecuciones que quedaron
|
|
237
|
+
en curso tras una caída. Consulta la
|
|
238
|
+
[guía de ejecución y reanudación](docs/guide/commands.md#execute-the-complete-plan-execute)
|
|
239
|
+
en inglés. Las instalaciones existentes necesitan el plugin actualizado,
|
|
240
|
+
el comando generado por setup y una recarga de opencode.
|
|
241
|
+
|
|
224
242
|
## Probar en otra máquina
|
|
225
243
|
|
|
226
244
|
Para instalar y probar openteam en otro equipo que ya tenga [opencode](https://opencode.ai) y [Bun](https://bun.sh):
|
|
@@ -373,6 +391,10 @@ ejecutas desde un subdirectorio verás "provider not configured" y debes hacer
|
|
|
373
391
|
| `orchestrator` | objeto opcional | ausente | Contiene políticas de primary/roles y límites de pasadas. |
|
|
374
392
|
| `orchestrator.maxRetries` | entero no negativo opcional | efectivo `2` | Límite superior de pasadas openteam extra por modelo autorizado; `2` efectivo permite hasta tres pasadas. El default se aplica en runtime, no se materializa en el schema. |
|
|
375
393
|
| `orchestrator.maxModelsPerNode` | entero positivo opcional | efectivo `2` | Total de candidatos por nodo: el seleccionado más como máximo un fallback por defecto. El default de runtime no se materializa; combinado con reintentos permite como máximo seis intentos. |
|
|
394
|
+
| `orchestrator.taskBudget.maxBatches` | entero `1..1000`, opcional | `8` | Lotes acumulados de una petición raíz, incluidos los anidados. |
|
|
395
|
+
| `orchestrator.taskBudget.maxAttempts` | entero `1..10000`, opcional | `32` | Intentos acumulados, incluidos reintentos y relevos de modelo. |
|
|
396
|
+
| `orchestrator.taskBudget.maxDurationMs` | entero `1000..86400000`, opcional | `7200000` | Plazo desde la petición raíz, con gracia adicional acotada para confirmar la parada. |
|
|
397
|
+
| `orchestrator.taskBudget.maxDepth` | entero `0..32`, opcional | `3` | Profundidad máxima de lotes anidados; la raíz es cero. |
|
|
376
398
|
| `orchestrator.primary` | `ExecutionPolicy` parcial opcional | ausente | Política del coordinador primario; todos sus campos son opcionales. |
|
|
377
399
|
| `orchestrator.roles` | `Record<string, AgentRoleProfile parcial>` raw | `{}` si existe `orchestrator` | Las entradas raw pueden ser parciales. Las cargadas quedan totalmente fusionadas y validadas: primero perfil integrado o, si no existe, sintetizado; después prevalece el override raw. |
|
|
378
400
|
| `orchestrator.roles.<role>.opencodeAgent` | `string` no vacío opcional | role ID | Nombre del agente opencode al que se despacha ese rol. |
|
|
@@ -737,6 +759,20 @@ ejecuta dependientes. Consulta
|
|
|
737
759
|
|
|
738
760
|
### Console web multi-sesión (se lanza desde la CLI)
|
|
739
761
|
|
|
762
|
+
Los lotes relacionados y anidados comparten por defecto **8 lotes, 32 intentos,
|
|
763
|
+
2 horas y profundidad 3** por petición raíz. `orchestrator.taskBudget` permite
|
|
764
|
+
ajustar los límites; reiniciar el plugin o emitir otra llamada no reinicia el
|
|
765
|
+
presupuesto. Una nueva petición raíz del usuario sí inicia otra tarea.
|
|
766
|
+
`openteam-submit-report` guarda únicamente el informe asignado al trabajador,
|
|
767
|
+
respetando los permisos. La reparación del informe continúa en su misma sesión
|
|
768
|
+
y consume los límites existentes.
|
|
769
|
+
|
|
770
|
+
Agent tree incorpora grafo de operaciones, cronología real, reproducción,
|
|
771
|
+
filtros, controles del lienzo e inspector con conversación visible. Conserva
|
|
772
|
+
los reintentos y fallos de lotes relacionados aunque el padre se recupere.
|
|
773
|
+
Las métricas ausentes o ceros sin verificar se muestran como
|
|
774
|
+
**Unavailable / partial**; no se inventan costes, velocidad ni ahorros.
|
|
775
|
+
|
|
740
776
|
openteam expone una **Console web local** que **lanzas tú desde la CLI** con
|
|
741
777
|
`openteam console`.
|
|
742
778
|
Agrega **todas** las sesiones de opencode a la vez: puedes tener varias pestañas
|
|
@@ -1036,7 +1072,7 @@ Consulta [docs/es/compatibility.md](docs/es/compatibility.md). Resumen verificad
|
|
|
1036
1072
|
|
|
1037
1073
|
| Superficie | Versión / contrato |
|
|
1038
1074
|
| --- | --- |
|
|
1039
|
-
| openteam | `0.
|
|
1075
|
+
| openteam | `0.29.0`; versión actual del paquete |
|
|
1040
1076
|
| Host opencode | `1.18.19` legacy; soporte nativo estable `>=2.0.5 <3.0.0` |
|
|
1041
1077
|
| `@opencode-ai/plugin` | `1.18.19` |
|
|
1042
1078
|
| `@opencode-ai/sdk` | `1.18.19` |
|
package/README.md
CHANGED
|
@@ -232,6 +232,23 @@ The team has a **themed identity**: the orchestrator picks (or asks for) a **uni
|
|
|
232
232
|
|
|
233
233
|
Before delegating, the orchestrator **plans dependencies and parallelizes**: it splits the request into tasks and, since opencode runs all `task` calls emitted in a single turn in parallel (Vercel AI SDK), it launches independent tasks together and sequences only the dependent ones into waves. Work that collides on the same files is separated into distinct waves to avoid conflicts. In the **todo list** each entry shows the responsible agent via a name prefix, e.g. `[@Basher] Implement the router`.
|
|
234
234
|
|
|
235
|
+
### Execute the whole plan
|
|
236
|
+
|
|
237
|
+
Use `/execute` for the agreed plan in the conversation, or
|
|
238
|
+
`/execute docs/mvp-plan.md` for a project plan. The command prepares a local
|
|
239
|
+
manifest and hands all dependency waves to a code-driven supervisor, including
|
|
240
|
+
bounded retries, authorized model handoffs, independent acceptance and
|
|
241
|
+
targeted corrections after a rejected review. It does not ask for another
|
|
242
|
+
"continue" after each successful batch.
|
|
243
|
+
|
|
244
|
+
The existing limits still apply; execution is not unlimited. Progress is
|
|
245
|
+
available through `/execute status <planID>`, and a safely stopped plan can
|
|
246
|
+
continue through `/execute resume <planID>` in a new user turn. Crashed
|
|
247
|
+
in-flight executions are not silently duplicated. See
|
|
248
|
+
[commands and stop/resume semantics](docs/guide/commands.md#execute-the-complete-plan-execute).
|
|
249
|
+
Existing installations need the updated plugin and setup-generated command,
|
|
250
|
+
followed by an opencode reload.
|
|
251
|
+
|
|
235
252
|
## Try it on another machine
|
|
236
253
|
|
|
237
254
|
To install and try openteam on another machine that already has [opencode](https://opencode.ai) and [Bun](https://bun.sh):
|
|
@@ -379,6 +396,10 @@ configured" and should `cd` to the project root first.
|
|
|
379
396
|
| `orchestrator` | object, optional | absent | Holds primary/role policy and pass limits. |
|
|
380
397
|
| `orchestrator.maxRetries` | non-negative integer, optional | effective `2` | Upper bound of extra openteam passes per authorized model; effective `2` permits up to three passes. The default is applied at runtime, not materialized by the schema. |
|
|
381
398
|
| `orchestrator.maxModelsPerNode` | positive integer, optional | effective `2` | Total model candidates used by one node: the selected model plus at most one fallback by default. The runtime default is not materialized; with retry defaults it permits at most six attempts. |
|
|
399
|
+
| `orchestrator.taskBudget.maxBatches` | integer `1..1000`, optional | `8` | Cumulative batches for one trusted root user turn, including nested workers. |
|
|
400
|
+
| `orchestrator.taskBudget.maxAttempts` | integer `1..10000`, optional | `32` | Cumulative admitted attempts, including retries and model handoffs. |
|
|
401
|
+
| `orchestrator.taskBudget.maxDurationMs` | integer `1000..86400000`, optional | `7200000` | Task deadline from the root user turn; bounds queueing, creation and prompting, with separate bounded stop-confirmation grace. |
|
|
402
|
+
| `orchestrator.taskBudget.maxDepth` | integer `0..32`, optional | `3` | Maximum nested batch depth; root is depth zero. |
|
|
382
403
|
| `orchestrator.primary` | partial `ExecutionPolicy`, optional | absent | Policy for the primary coordinator. Every field is optional. |
|
|
383
404
|
| `orchestrator.roles` | raw `Record<string, partial AgentRoleProfile>` | `{}` when `orchestrator` exists | Raw entries may be partial. Loaded entries are fully merged and validated: built-in profile first, otherwise a synthesized profile, then the raw override. |
|
|
384
405
|
| `orchestrator.roles.<role>.opencodeAgent` | non-empty string, optional | role ID | opencode agent name to dispatch for that role. |
|
|
@@ -710,6 +731,21 @@ retries.
|
|
|
710
731
|
The batch, objective, report path, and durable work state are preserved. An
|
|
711
732
|
exact pin without `fallbacks` authorizes no second model.
|
|
712
733
|
|
|
734
|
+
Related and nested batches also share a persisted task allowance: by default
|
|
735
|
+
**8 batches, 32 attempts, 2 hours and nesting depth 3**. Configure the optional
|
|
736
|
+
`orchestrator.taskBudget` block and restart opencode to change future-task
|
|
737
|
+
limits. Another model-authored call or plugin reload cannot reset the task.
|
|
738
|
+
A new root user turn starts a new task; old workers keep their old allowance.
|
|
739
|
+
Exhaustion is explicit, not a successful completion.
|
|
740
|
+
|
|
741
|
+
Workers prefer **`openteam-submit-report`** with `status` and bounded,
|
|
742
|
+
substantive `findings`. The coordinator assigns its only writable report path
|
|
743
|
+
and preserves operator permission checks. Same-model report repair continues
|
|
744
|
+
in the same worker session without another full implementation restart.
|
|
745
|
+
Confirmed length-ended invalid native tool input requests smaller fresh calls
|
|
746
|
+
within existing limits; malformed JSON is never repaired and executed.
|
|
747
|
+
See the [reliability decision](docs/adr/task-effort-and-agent-view.md).
|
|
748
|
+
|
|
713
749
|
Every pass, including a single pass with `maxRetries: 0`, needs a standalone
|
|
714
750
|
`openteam-status: done` declaration **and** a durable report with at least 40
|
|
715
751
|
substantive body characters after actual declaration lines are removed. The
|
|
@@ -740,6 +776,11 @@ agent decisions and meetings, orchestration progress, the team, and commits.
|
|
|
740
776
|
These controls and estimates are finite/auditable, but they are not provider
|
|
741
777
|
invoice accounting.
|
|
742
778
|
|
|
779
|
+
Agent tree includes the operation graph, real chronology/replay, filters,
|
|
780
|
+
canvas controls and a default-readable inspector. Missing/unverified usage is
|
|
781
|
+
shown as **unavailable / partial**, not confirmed zero. Unknown tool duration
|
|
782
|
+
stays unknown, and routing estimates are distinct from measured usage.
|
|
783
|
+
|
|
743
784
|
**Conversations are visible by default.** Active Agent tree and Logs views
|
|
744
785
|
automatically show operator prompts, visible agent responses and recorded tool
|
|
745
786
|
interactions, with live updates. Reads use opencode's current session history,
|
|
@@ -985,7 +1026,7 @@ See [docs/compatibility.md](docs/compatibility.md). Verified summary as of `2026
|
|
|
985
1026
|
|
|
986
1027
|
| Surface | Version / contract |
|
|
987
1028
|
| --- | --- |
|
|
988
|
-
| openteam | `0.
|
|
1029
|
+
| openteam | `0.29.0`; current package version |
|
|
989
1030
|
| opencode host | `1.18.19` legacy; stable `>=2.0.5 <3.0.0` native support |
|
|
990
1031
|
| `@opencode-ai/plugin` | `1.18.19` |
|
|
991
1032
|
| `@opencode-ai/sdk` | `1.18.19` |
|
|
@@ -34,12 +34,12 @@
|
|
|
34
34
|
"idempotent": true
|
|
35
35
|
},
|
|
36
36
|
"performance": {
|
|
37
|
-
"p95Millis": 0.
|
|
37
|
+
"p95Millis": 0.47901600000000144,
|
|
38
38
|
"budgetMillis": 50,
|
|
39
39
|
"samples": 100
|
|
40
40
|
}
|
|
41
41
|
},
|
|
42
42
|
"verdict": "pass",
|
|
43
43
|
"failedGates": [],
|
|
44
|
-
"digest": "
|
|
44
|
+
"digest": "44aeaf7a4b36e7fdb1964d3e55fe5629935f6272fa3c9740c1cb782057c623bf"
|
|
45
45
|
}
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"rawFindings": 0
|
|
21
21
|
},
|
|
22
22
|
"overhead": {
|
|
23
|
-
"p95Millis": 0.
|
|
23
|
+
"p95Millis": 0.3261810000000196,
|
|
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": "395156061660f3ce03b6c9e58f46263101a172c6774aebc7db88ed3b288abba4"
|
|
39
39
|
}
|
|
@@ -34,12 +34,12 @@
|
|
|
34
34
|
"idempotent": true
|
|
35
35
|
},
|
|
36
36
|
"performance": {
|
|
37
|
-
"p95Millis": 0.
|
|
37
|
+
"p95Millis": 0.5075500000000375,
|
|
38
38
|
"budgetMillis": 50,
|
|
39
39
|
"samples": 100
|
|
40
40
|
}
|
|
41
41
|
},
|
|
42
42
|
"verdict": "pass",
|
|
43
43
|
"failedGates": [],
|
|
44
|
-
"digest": "
|
|
44
|
+
"digest": "c533e17eb7ff46851e38cf3be50a0ff66fca1950f8a2c9ceb934c8315b38c681"
|
|
45
45
|
}
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"rawFindings": 0
|
|
21
21
|
},
|
|
22
22
|
"overhead": {
|
|
23
|
-
"p95Millis": 0.
|
|
23
|
+
"p95Millis": 0.19061699999997472,
|
|
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": "ccd3e10ad399c38c2d59441b26210d1d9285c883f12c4206964ee834569d520e"
|
|
39
39
|
}
|