@jmanuelcorral/openteam 0.1.9 → 0.1.10

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.md CHANGED
@@ -215,6 +215,8 @@ Como Squad, el equipo tiene **identidad temática**: el orquestador elige (o te
215
215
  - **ralph** — automatización y triage: monitoriza el trabajo pendiente, lo prioriza, coordina la ejecución y **escala al humano** ante bloqueos o aprobaciones.
216
216
  - **guardian** — seguridad y privacidad: **detecta y enmascara datos sensibles** (PII, secretos, API keys, tokens) antes de que salgan a frontier y hace revisión de seguridad; corre siempre en local y respeta `forceLocalOnSensitive`.
217
217
 
218
+ Antes de delegar, el orquestador **planifica dependencias y paraleliza**: descompone la petición en tareas, y como opencode ejecuta en paralelo todas las llamadas `task` emitidas en un mismo turno (Vercel AI SDK), lanza a la vez las tareas independientes y secuencia por olas solo las que dependen de un resultado previo. El trabajo que colisiona sobre los mismos ficheros se separa en olas distintas para evitar conflictos.
219
+
218
220
  ## Probar en otra máquina
219
221
 
220
222
  Para instalar y probar openteam en otro equipo que ya tenga [opencode](https://opencode.ai) y [Bun](https://bun.sh):
package/dist/cli.js CHANGED
@@ -1179,7 +1179,7 @@ function buildOrchestratorAgent(frontier) {
1179
1179
  const model = `${frontier.providerID}/${frontier.modelID}`;
1180
1180
  const frontmatter = [
1181
1181
  "---",
1182
- 'description: "Orquestador openteam estilo Squad: en cada petición comprueba si existe equipo; si no, entiende las tareas y crea el equipo de subagentes a demanda, y coordina el trabajo con routing local-first."',
1182
+ 'description: "Orquestador openteam estilo Squad: en cada petición comprueba si existe equipo; si no, entiende las tareas y crea el equipo de subagentes a demanda, planifica dependencias y paraleliza el trabajo independiente, con routing local-first."',
1183
1183
  "mode: primary",
1184
1184
  `model: ${model}`,
1185
1185
  "temperature: 0.2",
@@ -1273,12 +1273,40 @@ function buildOrchestratorAgent(frontier) {
1273
1273
  " deja pasar datos sensibles a frontier. Revisa las entradas y salidas de los",
1274
1274
  " demás agentes cuando toquen datos sensibles.",
1275
1275
  "",
1276
+ "## Planificación y paralelización del trabajo",
1277
+ "",
1278
+ "Antes de delegar, **descompón la petición en tareas** y decide qué se puede",
1279
+ "hacer a la vez. opencode ejecuta **en paralelo todas las llamadas `task` que",
1280
+ "emitas en un mismo turno**, así que aprovéchalo:",
1281
+ "",
1282
+ "1. Lista las subtareas y traza sus **dependencias** (qué necesita el output",
1283
+ " de qué). Piensa en un grafo: nodos = tareas, aristas = dependencias.",
1284
+ "2. **Tareas independientes → lánzalas en paralelo**: emite varias llamadas",
1285
+ " `task` en el **mismo mensaje** (una por subagente). Se ejecutan a la vez,",
1286
+ " cada una en su propia subsesión.",
1287
+ "3. **Tareas dependientes → secuéncialas**: espera a que terminen las tareas",
1288
+ " de las que dependen, **sincroniza** sus resultados y solo entonces lanza",
1289
+ " la siguiente ola. Trabaja por olas (topological order): en cada ola,",
1290
+ " paraleliza todo lo que ya no tenga dependencias pendientes.",
1291
+ "4. **No paralelices trabajo que colisione** sobre los mismos ficheros o",
1292
+ " estado: eso son dependencias implícitas; sepáralo en olas distintas para",
1293
+ " evitar conflictos de escritura.",
1294
+ "5. Reparte por **capacidad**: los roles mecánicos/bulk en local, y reserva",
1295
+ " frontier para lo difícil; el paralelismo no cambia el routing de openteam.",
1296
+ "6. El `guardian` sigue siendo el gate previo a frontier **también** en",
1297
+ " paralelo: nada sensible sale sin pasar por él, aunque haya varias olas.",
1298
+ "",
1299
+ "Explica brevemente al usuario tu plan (qué va en paralelo y qué en serie, y",
1300
+ "por qué) antes o mientras lanzas las tareas.",
1301
+ "",
1276
1302
  "## Operación",
1277
1303
  "",
1278
1304
  "- **Empieza siempre comprobando el equipo** (roster + subagentes) antes de",
1279
1305
  " delegar; si falta, créalo antes de repartir el trabajo.",
1280
1306
  "- Delega el trabajo con la herramienta `task` al subagente adecuado; tú te",
1281
1307
  " mantienes como coordinador y no implementas lo que puede hacer un subagente.",
1308
+ "- **Lanza en un solo turno las tareas independientes** para que corran en",
1309
+ " paralelo; secuencia solo las que dependen de un resultado previo.",
1282
1310
  "- Crea subagentes **justo cuando el trabajo lo pide**, nunca “por si acaso”.",
1283
1311
  " Revisa `.opencode/agent/` y el `roster.md`, y reutiliza los existentes antes",
1284
1312
  " de crear uno nuevo.",
@@ -1 +1 @@
1
- {"version":3,"file":"orchestratorAgent.d.ts","sourceRoot":"","sources":["../../src/commands/orchestratorAgent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAE7C;;;GAGG;AACH,eAAO,MAAM,uBAAuB,gCAAgC,CAAC;AAErE;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,CA0HvE"}
1
+ {"version":3,"file":"orchestratorAgent.d.ts","sourceRoot":"","sources":["../../src/commands/orchestratorAgent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAE7C;;;GAGG;AACH,eAAO,MAAM,uBAAuB,gCAAgC,CAAC;AAErE;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,CAsJvE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jmanuelcorral/openteam",
3
- "version": "0.1.9",
3
+ "version": "0.1.10",
4
4
  "description": "Plugin opencode de routing coste-consciente local-first con orquestación Squad.",
5
5
  "license": "MIT",
6
6
  "author": "Jose Manuel Corral",