@jmanuelcorral/openteam 0.23.0 → 0.24.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 +22 -8
- package/README.md +19 -7
- package/dist/certificates/graph-release-certificate.json +2 -2
- package/dist/certificates/graph-shadow-certificate.json +2 -2
- package/dist/cli.js +131 -84
- package/dist/commands/setup.d.ts +0 -19
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +508 -54
- package/dist/messages/executionSetup.d.ts +0 -2
- package/dist/messages/executionSetup.d.ts.map +1 -1
- package/dist/messages/orchestration.d.ts +1 -0
- package/dist/messages/orchestration.d.ts.map +1 -1
- package/dist/messages/reload.d.ts +21 -0
- package/dist/messages/reload.d.ts.map +1 -0
- package/dist/opencodeArtifacts/createRosterReload.d.ts +2 -0
- package/dist/opencodeArtifacts/createRosterReload.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/opencodeArtifacts/teamPreparation.d.ts.map +1 -1
- package/dist/orchestrator/roster.d.ts +0 -7
- package/dist/orchestrator/roster.d.ts.map +1 -1
- package/dist/orchestrator/sessionStatus.d.ts +12 -0
- package/dist/orchestrator/sessionStatus.d.ts.map +1 -0
- package/dist/orchestrator/subsessions.d.ts +2 -10
- package/dist/orchestrator/subsessions.d.ts.map +1 -1
- package/dist/plugin/reloadTool.d.ts +33 -0
- package/dist/plugin/reloadTool.d.ts.map +1 -0
- package/dist/telemetry/diagnostics.d.ts +1 -1
- package/dist/telemetry/diagnostics.d.ts.map +1 -1
- package/dist/telemetry/events.d.ts +24 -0
- package/dist/telemetry/events.d.ts.map +1 -1
- package/package.json +1 -1
package/README.es.md
CHANGED
|
@@ -179,11 +179,13 @@ bootstrap exacto. Los workers generados omiten `model` en frontmatter: manda su
|
|
|
179
179
|
política en `.opencode/openteam.json`. Guardian, scribe y ralph no están
|
|
180
180
|
forzados a local por nombre.
|
|
181
181
|
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
182
|
+
Setup **no crea workers**, ni genéricos ni específicos del proyecto. Los
|
|
183
|
+
perfiles de roles integrados son defaults de ejecución, no agentes `.md`
|
|
184
|
+
adicionales. Ante cada petición de trabajo el primario compara las capacidades
|
|
185
|
+
necesarias con el roster y los subagentes existentes. Reutiliza a quienes
|
|
186
|
+
pueden cubrirla y contrata solo las especialidades que falten, conservando
|
|
187
|
+
el reparto. Si a un miembro solo le falta el perfil de ejecución, el registro
|
|
188
|
+
configura a ese mismo miembro con
|
|
187
189
|
`model: "auto"`, sin duplicarlo ni enviarte a un asistente de terminal.
|
|
188
190
|
Las políticas existentes no cambian y las nuevas heredan el dominio global.
|
|
189
191
|
La ubicación de modelos viene de estas políticas, no de clasificar sensibilidad.
|
|
@@ -261,7 +263,7 @@ La versión publicada más reciente aparece en
|
|
|
261
263
|
Notas al actualizar:
|
|
262
264
|
|
|
263
265
|
- **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
|
|
266
|
+
- 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
267
|
- Ajustes puntuales sin reinit: `openteam baseline set <provider/model>` o `openteam baseline auto`.
|
|
266
268
|
|
|
267
269
|
## Configuración
|
|
@@ -517,7 +519,9 @@ validada y crea los subagentes que falten en `.opencode/agent/<agentName>.md`.
|
|
|
517
519
|
El registro también inicializa los perfiles específicos que falten en
|
|
518
520
|
`.opencode/openteam.json` con `model: "auto"`, conservando los perfiles
|
|
519
521
|
existentes, la política del primario, los overrides de máquina y los permisos.
|
|
520
|
-
|
|
522
|
+
Los archivos de workers siguen los aliases del roster: `scribe -> c3po`
|
|
523
|
+
necesita `c3po.md`, no otro archivo `scribe.md`.
|
|
524
|
+
Verifica el equipo persistido sin implementar ni repartir tareas.
|
|
521
525
|
Las peticiones de trabajo normales usan la misma preparación y después
|
|
522
526
|
continúan con la tarea solicitada. `openteam roles init` se conserva como
|
|
523
527
|
opción de compatibilidad para workers antiguos sin perfil, no como paso
|
|
@@ -532,6 +536,16 @@ garantizados. Las políticas exactas muestran `provider/model` y sus fallbacks;
|
|
|
532
536
|
`auto` indica que el modelo concreto se seleccionará al ejecutar una tarea,
|
|
533
537
|
sin inventar una asignación.
|
|
534
538
|
|
|
539
|
+
Después del resumen correcto de `/create_roster`, el primario pregunta si
|
|
540
|
+
quieres recargar opencode para que descubra los agentes. Solo una respuesta
|
|
541
|
+
afirmativa explícita solicita la recarga de la instancia del proyecto. Rechazarla
|
|
542
|
+
o no responder conserva el equipo preparado sin recargar. Los permisos de
|
|
543
|
+
opencode siguen aplicándose. La solicitud tiene un límite de 30 segundos,
|
|
544
|
+
incluida la autorización del permiso, y espera a que terminen el turno de
|
|
545
|
+
confirmación y las demás sesiones activas. Un nuevo turno en cualquier sesión
|
|
546
|
+
del proyecto la cancela. No
|
|
547
|
+
reinicia el proceso, no borra el historial guardado ni autoriza implementación.
|
|
548
|
+
|
|
535
549
|
### 3. CLI (`bin`)
|
|
536
550
|
|
|
537
551
|
El paquete expone el binario `openteam`. Con instalación global:
|
|
@@ -982,7 +996,7 @@ Consulta [docs/compatibility.md](docs/compatibility.md). Resumen verificado el `
|
|
|
982
996
|
|
|
983
997
|
| Superficie | Versión / contrato |
|
|
984
998
|
| --- | --- |
|
|
985
|
-
| openteam | `0.
|
|
999
|
+
| openteam | `0.24.0`; versión actual del paquete |
|
|
986
1000
|
| `@opencode-ai/plugin` | `1.18.19` |
|
|
987
1001
|
| `@opencode-ai/sdk` | `1.18.19` |
|
|
988
1002
|
| Hook de routing | `chat.message`; no `chat.params` para cambiar modelo |
|
package/README.md
CHANGED
|
@@ -192,9 +192,10 @@ bootstrap model. Generated workers intentionally omit frontmatter `model`; their
|
|
|
192
192
|
policies in `.opencode/openteam.json` are authoritative. Guardian, scribe, and
|
|
193
193
|
ralph are not forced local by name.
|
|
194
194
|
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
195
|
+
Setup creates **no worker agents**, generic or project-specific. Built-in role
|
|
196
|
+
profiles are execution defaults, not additional `.md` agents. For each
|
|
197
|
+
substantive request the primary compares the required capabilities with the
|
|
198
|
+
roster and existing subagents. It reuses capable members and hires only missing
|
|
198
199
|
specialists, preserving the existing cast. If a member merely lacks an
|
|
199
200
|
execution profile, registration configures that same member with `model: "auto"`
|
|
200
201
|
instead of hiring a duplicate or sending you to a terminal wizard.
|
|
@@ -275,7 +276,7 @@ The most recent published version is shown at
|
|
|
275
276
|
Notes when updating:
|
|
276
277
|
|
|
277
278
|
- **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
|
|
279
|
+
- 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
280
|
- One-off adjustments without a re-init: `openteam baseline set <provider/model>` or `openteam baseline auto`.
|
|
280
281
|
|
|
281
282
|
## Configuration
|
|
@@ -522,8 +523,10 @@ agents, registers `.opencode/openteam/roster.md` through the validated tool,
|
|
|
522
523
|
and creates missing `.opencode/agent/<agentName>.md` subagents. Registration
|
|
523
524
|
also initializes missing custom worker profiles in `.opencode/openteam.json`
|
|
524
525
|
with `model: "auto"`; it preserves existing profiles, the primary policy,
|
|
525
|
-
machine-local overrides and permissions.
|
|
526
|
-
|
|
526
|
+
machine-local overrides and permissions. Worker filenames follow the roster's
|
|
527
|
+
aliases: `scribe -> c3po` needs `c3po.md`, not an additional `scribe.md`.
|
|
528
|
+
It verifies the persisted team without
|
|
529
|
+
starting implementation or distributing tasks. Ordinary work requests use the
|
|
527
530
|
same preparation, then continue with the requested task.
|
|
528
531
|
`openteam roles init` remains an optional compatibility command for legacy
|
|
529
532
|
unprofiled workers, not a required onboarding step. Rerun setup after updating
|
|
@@ -536,6 +539,15 @@ work starts. It includes the primary and guaranteed roles. Exact model policies
|
|
|
536
539
|
show `provider/model` and any configured fallbacks; `auto` explicitly means the
|
|
537
540
|
concrete model will be selected when a task is dispatched, not a guessed model.
|
|
538
541
|
|
|
542
|
+
After the successful `/create_roster` summary, the primary asks whether you want
|
|
543
|
+
to reload opencode to discover the agents. Only an explicit affirmative answer
|
|
544
|
+
requests a project-instance reload; declining or not answering leaves the
|
|
545
|
+
prepared team in place without reloading. Host permissions still apply.
|
|
546
|
+
The request has a 30-second limit, including permission approval, and waits
|
|
547
|
+
for the confirming turn and other active sessions to finish. A new turn in any
|
|
548
|
+
project session cancels it. It does not restart the process, delete saved
|
|
549
|
+
conversation history, or authorize implementation work.
|
|
550
|
+
|
|
539
551
|
### 3. CLI (`bin`)
|
|
540
552
|
|
|
541
553
|
The package exposes the `openteam` binary. With a global install:
|
|
@@ -937,7 +949,7 @@ See [docs/compatibility.md](docs/compatibility.md). Verified summary as of `2026
|
|
|
937
949
|
|
|
938
950
|
| Surface | Version / contract |
|
|
939
951
|
| --- | --- |
|
|
940
|
-
| openteam | `0.
|
|
952
|
+
| openteam | `0.24.0`; current package version |
|
|
941
953
|
| `@opencode-ai/plugin` | `1.18.19` |
|
|
942
954
|
| `@opencode-ai/sdk` | `1.18.19` |
|
|
943
955
|
| 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.4944939999999747,
|
|
38
38
|
"budgetMillis": 50,
|
|
39
39
|
"samples": 100
|
|
40
40
|
}
|
|
41
41
|
},
|
|
42
42
|
"verdict": "pass",
|
|
43
43
|
"failedGates": [],
|
|
44
|
-
"digest": "
|
|
44
|
+
"digest": "136f1df46d2aee4ca80d9468e5fa106d343fe5f41d5792a28bd367425cf3c0f0"
|
|
45
45
|
}
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"rawFindings": 0
|
|
21
21
|
},
|
|
22
22
|
"overhead": {
|
|
23
|
-
"p95Millis": 0.
|
|
23
|
+
"p95Millis": 0.357799,
|
|
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": "35c1a5f4fb0142c17d55596462fe2dfeb105e475a9e571b402422171d567833f"
|
|
39
39
|
}
|
package/dist/cli.js
CHANGED
|
@@ -1654,6 +1654,28 @@ var ModelCapabilityProfileSchema = z5.object({
|
|
|
1654
1654
|
availability: z5.enum(["available", "degraded", "unavailable"])
|
|
1655
1655
|
}).strict();
|
|
1656
1656
|
|
|
1657
|
+
// src/messages/reload.ts
|
|
1658
|
+
var reloadMessages = {
|
|
1659
|
+
description: "Queue a project-instance reload only after the user explicitly answers the fresh /create_roster reload question affirmatively. General tool approval, YOLO and earlier project-description answers are not consent. End this turn after queuing; do not dispatch work. Cancel withdraws a pending request.",
|
|
1660
|
+
action: "Request a confirmed reload or cancel this session's queued request.",
|
|
1661
|
+
confirmed: "True only for an unambiguous affirmative human answer to the current reload question, after successful preparation and the full Agent/Role/Model and file summaries. This field records consent; it does not independently prove a human answered.",
|
|
1662
|
+
invalid: "Reload not queued: provide only action (request or cancel) and explicit boolean confirmed. No target directory or other arguments are accepted.",
|
|
1663
|
+
declined: "Reload not queued: explicit affirmative consent to the current reload question is required. No files or policies were changed.",
|
|
1664
|
+
denied: "Reload is restricted to the openteam primary in this plugin's project.",
|
|
1665
|
+
closed: "This reload controller is no longer active. Check the current opencode instance before requesting another reload; agent discovery has not been verified.",
|
|
1666
|
+
other: "A reload request is already pending for another session. This call does not replace or extend its confirmation.",
|
|
1667
|
+
authorizing: "Host permission for this project's reload is still pending. This call queues nothing and does not extend the confirmation deadline.",
|
|
1668
|
+
none: "There is no queued reload for this session to cancel.",
|
|
1669
|
+
"reload-queued": "Reload queued, not completed. Waiting up to 30 seconds for this tool and confirming turn to finish and for all project sessions to be idle. End this turn now; no project work or agent readiness is implied.",
|
|
1670
|
+
"reload-waiting": "Reload is still waiting: project sessions are busy or retrying. They will not be aborted; the original 30-second deadline is unchanged.",
|
|
1671
|
+
"reload-accepted": "opencode accepted the project-instance reload request. Agent discovery and readiness have not been verified; existing discovery safeguards still apply.",
|
|
1672
|
+
"reload-cancelled": "The pending reload was cancelled before disposal was requested. Prepared files, history and policies are unchanged.",
|
|
1673
|
+
"reload-timeout": "Reload was not requested: the 30-second idle deadline expired. A new explicit confirmation is required; nothing will retry automatically.",
|
|
1674
|
+
"reload-status-failed": "Reload was not requested: project activity was missing, malformed, unavailable or did not respond within 5 seconds. No idle state was assumed and no automatic retry is armed.",
|
|
1675
|
+
"reload-dispose-failed": "opencode did not confirm acceptance of the reload request. No automatic retry is armed; check the current instance before trying again. Agent readiness is unverified.",
|
|
1676
|
+
"reload-unconfirmed": "Reload acceptance is unconfirmed because the request timed out, was cancelled or the instance was disposed while it was in flight. The host may still finish it; no automatic retry is armed. Check the current instance and agent discovery."
|
|
1677
|
+
};
|
|
1678
|
+
|
|
1657
1679
|
// src/telemetry/diagnostics.ts
|
|
1658
1680
|
var DIAGNOSTIC_CODES = [
|
|
1659
1681
|
"availability-refresh-failed",
|
|
@@ -1666,6 +1688,14 @@ var DIAGNOSTIC_CODES = [
|
|
|
1666
1688
|
"opencode-server-url",
|
|
1667
1689
|
"opencode-version-read-failed",
|
|
1668
1690
|
"privacy-inert",
|
|
1691
|
+
"reload-queued",
|
|
1692
|
+
"reload-waiting",
|
|
1693
|
+
"reload-accepted",
|
|
1694
|
+
"reload-cancelled",
|
|
1695
|
+
"reload-timeout",
|
|
1696
|
+
"reload-status-failed",
|
|
1697
|
+
"reload-dispose-failed",
|
|
1698
|
+
"reload-unconfirmed",
|
|
1669
1699
|
"soak-evidence-rejected",
|
|
1670
1700
|
"telemetry-warning",
|
|
1671
1701
|
"telemetry-write-failed",
|
|
@@ -1693,6 +1723,15 @@ function diagnosticDescription(code) {
|
|
|
1693
1723
|
return "openteam could not read the live opencode version; graph gates fail closed when this happens.";
|
|
1694
1724
|
case "privacy-inert":
|
|
1695
1725
|
return routingMessages.privacyModeDeprecated;
|
|
1726
|
+
case "reload-queued":
|
|
1727
|
+
case "reload-waiting":
|
|
1728
|
+
case "reload-accepted":
|
|
1729
|
+
case "reload-cancelled":
|
|
1730
|
+
case "reload-timeout":
|
|
1731
|
+
case "reload-status-failed":
|
|
1732
|
+
case "reload-dispose-failed":
|
|
1733
|
+
case "reload-unconfirmed":
|
|
1734
|
+
return reloadMessages[code];
|
|
1696
1735
|
case "soak-evidence-rejected":
|
|
1697
1736
|
return "Graph soak evidence contained rejected observation lines; cutover gate evidence may be incomplete.";
|
|
1698
1737
|
case "telemetry-warning":
|
|
@@ -3339,12 +3378,14 @@ var executionSetupMessages = {
|
|
|
3339
3378
|
`Local runtimes: ${params.localRuntimes}`,
|
|
3340
3379
|
`YOLO mode: ${params.yolo ? "enabled (auto-approves permissions)" : "disabled"}`,
|
|
3341
3380
|
"Web Console: launched separately with 'openteam console' (multi-session, loopback)",
|
|
3342
|
-
`Wrote: ${params.opencodePath}, ${params.configPath}, ${params.agentPath}, ${params.
|
|
3381
|
+
`Wrote: ${params.opencodePath}, ${params.configPath}, ${params.agentPath}, ${params.commandDir}/*.md (${params.commandCount} commands); ensured ${params.gitignorePath}`,
|
|
3382
|
+
"Worker files are created through conversational roster preparation, not setup; existing worker files were left untouched.",
|
|
3343
3383
|
"",
|
|
3344
3384
|
"Next steps:",
|
|
3345
3385
|
params.executionMode === "local" ? " 1. No frontier authentication is required while local execution is active" : " 1. Authenticate the frontier provider: opencode auth login",
|
|
3346
3386
|
params.executionMode === "local" ? executionSetupMessages.localRuntimeNextStep : params.executionMode === "mixed" ? executionSetupMessages.mixedNextStep : executionSetupMessages.frontierNextStep,
|
|
3347
|
-
" 3. Press Tab and pick the 'openteam' agent, or type / and pick an /openteam… command"
|
|
3387
|
+
" 3. Press Tab and pick the 'openteam' agent, or type / and pick an /openteam… command",
|
|
3388
|
+
" 4. Use /create_roster to compose the team without starting project work, or describe a task to prepare the team and begin work"
|
|
3348
3389
|
],
|
|
3349
3390
|
configuredTitle: "openteam configured",
|
|
3350
3391
|
complete: (paths) => `openteam setup complete: ${paths}`,
|
|
@@ -14568,6 +14609,48 @@ function withDeterministicGitLocale(env) {
|
|
|
14568
14609
|
};
|
|
14569
14610
|
}
|
|
14570
14611
|
|
|
14612
|
+
// src/opencodeArtifacts/createRosterReload.ts
|
|
14613
|
+
var CREATE_ROSTER_RELOAD_INSTRUCTIONS = [
|
|
14614
|
+
"## Reload confirmation — /create_roster only",
|
|
14615
|
+
"",
|
|
14616
|
+
"Only after successful persisted registration and verified agent files may you offer reload:",
|
|
14617
|
+
"read back the parseable persisted roster, including guaranteed roles; actually create each missing",
|
|
14618
|
+
"subagent file and verify every required existing or created file.",
|
|
14619
|
+
"First show the complete Agent/Role/Model table returned by `openteam-register-cast`,",
|
|
14620
|
+
"including primary, guaranteed and preserved agents with their unchanged tool-returned policy values.",
|
|
14621
|
+
"Then show the created-versus-preserved file summary and any warnings. Both must be visible",
|
|
14622
|
+
"BEFORE asking a fresh explicit reload question in this opencode conversation.",
|
|
14623
|
+
"If registration, file creation or verification failed or is partial, do not ask the reload question:",
|
|
14624
|
+
"report the exact blocker and do not claim readiness. If registration succeeded, still show its",
|
|
14625
|
+
"complete table even when file preparation later fails.",
|
|
14626
|
+
"",
|
|
14627
|
+
"Ask whether to reload this project's opencode agent definitions now, explaining the request is",
|
|
14628
|
+
"queued/waiting until the requesting turn completes and all project sessions are idle.",
|
|
14629
|
+
"Use the host question tool when available; otherwise ask a normal conversational question",
|
|
14630
|
+
"in opencode and WAIT for the user's answer. Never use a terminal wizard, tool permission",
|
|
14631
|
+
"approval or YOLO permission as reload consent. A greenfield project-description reply is NOT reload consent.",
|
|
14632
|
+
"Only an explicit affirmative answer to this specific reload question authorizes",
|
|
14633
|
+
'`openteam-reload` with `{ action: "request", confirmed: true }`.',
|
|
14634
|
+
"False, no, cancel, an ambiguous answer or no reply means no reload request.",
|
|
14635
|
+
"A decline before anything is queued needs no tool call; do not turn ambiguity into confirmation.",
|
|
14636
|
+
"To cancel an already queued request at the user's direction, use",
|
|
14637
|
+
'`openteam-reload` with `{ action: "cancel", confirmed: false }` and report its actual result.',
|
|
14638
|
+
"",
|
|
14639
|
+
"This internal tool is restricted to the product primary `openteam` and its bound project.",
|
|
14640
|
+
"Do not supply a directory, project, session or other model-selected target.",
|
|
14641
|
+
"Report queued/waiting honestly and end the confirming turn immediately.",
|
|
14642
|
+
"Do not await your own idle state, poll or hold the turn open. Do not start work or call",
|
|
14643
|
+
"`task` or `openteam-orchestrate`; do not rewrite/recast files or change models, permissions",
|
|
14644
|
+
"or execution policies. The idle wait has a finite timeout; surface timeout and failure results",
|
|
14645
|
+
"when the runtime reports them, including rejected requests, rather than promising success or silently retrying.",
|
|
14646
|
+
"SDK acceptance is not verified discovery or readiness. Preserve all existing discovery guards:",
|
|
14647
|
+
"if new agents remain undiscovered, surface the reload/discovery blocker;",
|
|
14648
|
+
"do not dispatch through a generic substitute or claim readiness.",
|
|
14649
|
+
"This workflow and all its replies remain composition only. After completion, decline or cancellation,",
|
|
14650
|
+
"wait for a separate work request; neither a reload answer nor queued acceptance starts project work."
|
|
14651
|
+
].join(`
|
|
14652
|
+
`);
|
|
14653
|
+
|
|
14571
14654
|
// src/opencodeArtifacts/rosterSummary.ts
|
|
14572
14655
|
var ROSTER_SUMMARY_INSTRUCTIONS = [
|
|
14573
14656
|
"After every successful cast creation, repair or extension, show the complete Agent/Role/Model table",
|
|
@@ -14600,6 +14683,20 @@ var TEAM_PREPARATION_INSTRUCTIONS = [
|
|
|
14600
14683
|
"machine bindings stay unchanged; do not require a terminal or manually edit policy to finish hiring.",
|
|
14601
14684
|
"Never infer execution domains from prose, relax permissions, or invent a concrete auto model.",
|
|
14602
14685
|
"Registration/review is idempotent: a capable configured team needs no extra members or file rewrites.",
|
|
14686
|
+
"`agentName`, not `roleID`, determines each worker filename.",
|
|
14687
|
+
"Create `.opencode/agent/<agentName>.md` only for registered roster entries.",
|
|
14688
|
+
"A built-in role profile is not an extra agent.",
|
|
14689
|
+
"Do not create a parallel `<roleID>.md` when the roster maps that role to another alias.",
|
|
14690
|
+
"An existing roster alias equal to its roleID is still valid; do not rename it.",
|
|
14691
|
+
"Do not run `openteam setup` to hire workers or repair their files.",
|
|
14692
|
+
"Preserve unrelated and legacy generic files; do not delete, overwrite or silently register them.",
|
|
14693
|
+
"Registration writes roster/profile state, not worker Markdown.",
|
|
14694
|
+
"Report only verified file changes; do not call pre-existing files newly created.",
|
|
14695
|
+
"When creating a scribe worker, put the following memory instructions in its charter:",
|
|
14696
|
+
"Use `openteam-memory` for durable, reusable facts, entities and typed relations.",
|
|
14697
|
+
"Send only redacted knowledge messages, never raw conversations, prompts or credentials.",
|
|
14698
|
+
"Honor operator permissions and memory settings; do not broaden them.",
|
|
14699
|
+
"A disabled-memory or nothing-recorded result is expected; do not retry it.",
|
|
14603
14700
|
"Create only missing agent definitions; preserve customized files. Show the registration table",
|
|
14604
14701
|
"and verify preparation before dispatch. If opencode cannot discover a new agent, surface",
|
|
14605
14702
|
"the reload/discovery blocker; do not dispatch through a generic substitute or claim readiness."
|
|
@@ -14641,33 +14738,43 @@ function buildOrchestratorAgent(model, options = {}) {
|
|
|
14641
14738
|
"primary agent: there is no pre-created team. You **build the team of",
|
|
14642
14739
|
"subagents on demand** according to the goal of the user and the repository.",
|
|
14643
14740
|
"",
|
|
14644
|
-
"## Golden rule: check the team on EVERY request",
|
|
14645
|
-
"",
|
|
14646
|
-
"Before answering or delegating **any** request, your **first action",
|
|
14647
|
-
"always** is to check whether a team already exists, even if the user does not",
|
|
14648
|
-
"explicitly ask you to create it. Never assume there is a team or that there is not:",
|
|
14649
|
-
`verify it by looking at \`${OPENTEAM_ROSTER_PATH}\` and the \`.opencode/agent/*.md\``,
|
|
14650
|
-
"files with `mode: subagent` (use `read`/`glob`/`list`).",
|
|
14651
|
-
"",
|
|
14652
|
-
ROSTER_SUMMARY_INSTRUCTIONS,
|
|
14653
|
-
"",
|
|
14654
|
-
TEAM_PREPARATION_INSTRUCTIONS,
|
|
14655
|
-
"",
|
|
14656
14741
|
"## Roster composition takes precedence",
|
|
14657
14742
|
"",
|
|
14658
14743
|
"For `/create_roster`, including replies to its pending questions, follow",
|
|
14659
14744
|
"the command's roster-only workflow: do not distribute tasks or start implementation.",
|
|
14745
|
+
"These rules override the ordinary golden rule and capability checks below.",
|
|
14746
|
+
"A bare yes to a pending reload question continues only reload confirmation:",
|
|
14747
|
+
"do not restart roster reads, capability preparation or registration.",
|
|
14660
14748
|
"Reuse or conservatively extend the existing cast and preserve customized agent files.",
|
|
14661
14749
|
"Use a supplied description; otherwise inspect real project source read-only.",
|
|
14662
14750
|
"If there is no meaningful source and no description, ask what the user wants to",
|
|
14663
14751
|
"build in this conversation and wait before any writes or cast registration.",
|
|
14664
14752
|
"Register through `openteam-register-cast`, create missing subagent files, verify",
|
|
14665
|
-
"the persisted roster and files, then
|
|
14753
|
+
"the persisted roster and files, then follow the reload confirmation below.",
|
|
14754
|
+
"Do not call `openteam-orchestrate` or",
|
|
14666
14755
|
"`task` for this workflow. A later answer to your question continues composition",
|
|
14667
14756
|
"only until it completes or the user cancels; it is not an implementation request.",
|
|
14668
14757
|
"",
|
|
14758
|
+
CREATE_ROSTER_RELOAD_INSTRUCTIONS,
|
|
14759
|
+
"",
|
|
14760
|
+
"## Golden rule: check the team on EVERY request",
|
|
14761
|
+
"",
|
|
14762
|
+
"The roster composition and pending reload-reply rules above take precedence.",
|
|
14763
|
+
"Before answering or delegating **any ordinary work** request, your **first action",
|
|
14764
|
+
"always** is to check whether a team already exists, even if the user does not",
|
|
14765
|
+
"explicitly ask you to create it. Never assume there is a team or that there is not:",
|
|
14766
|
+
`verify it by looking at \`${OPENTEAM_ROSTER_PATH}\` and the \`.opencode/agent/*.md\``,
|
|
14767
|
+
"files with `mode: subagent` (use `read`/`glob`/`list`).",
|
|
14768
|
+
"",
|
|
14769
|
+
ROSTER_SUMMARY_INSTRUCTIONS,
|
|
14770
|
+
"",
|
|
14771
|
+
TEAM_PREPARATION_INSTRUCTIONS,
|
|
14772
|
+
"",
|
|
14669
14773
|
"## For work requests, including analysis, review and documentation",
|
|
14670
14774
|
"",
|
|
14775
|
+
"Ordinary automatic hiring must NOT ask for reload or automatically reset the project.",
|
|
14776
|
+
"If discovery is blocked, surface the blocker and preserve the discovery guards instead.",
|
|
14777
|
+
"",
|
|
14671
14778
|
"- **If the team ALREADY exists** → review capability coverage, reuse suitable",
|
|
14672
14779
|
" members and extend only for uncovered needs. Complete any existing member's",
|
|
14673
14780
|
" profile through `openteam-register-cast`; do not hire for a configuration gap.",
|
|
@@ -15042,8 +15149,10 @@ function buildCreateRosterCommand() {
|
|
|
15042
15149
|
"required agent file exists. If anything failed, report the incomplete state and exact",
|
|
15043
15150
|
"blocker; do not delete preserved state or claim the team is ready.",
|
|
15044
15151
|
"Summarize the cast, role rationale/evidence, preserved versus newly created files, and",
|
|
15045
|
-
"any warnings.
|
|
15046
|
-
"
|
|
15152
|
+
"any warnings. Continue only to the reload confirmation below, including its pending replies;",
|
|
15153
|
+
"do not restart preparation when the user answers that reload question.",
|
|
15154
|
+
"",
|
|
15155
|
+
CREATE_ROSTER_RELOAD_INSTRUCTIONS,
|
|
15047
15156
|
"",
|
|
15048
15157
|
"## Project description (user input)",
|
|
15049
15158
|
"",
|
|
@@ -17700,7 +17809,7 @@ import { posix as pathPosix, win32 as pathWin32 } from "node:path";
|
|
|
17700
17809
|
// package.json
|
|
17701
17810
|
var package_default = {
|
|
17702
17811
|
name: "@jmanuelcorral/openteam",
|
|
17703
|
-
version: "0.
|
|
17812
|
+
version: "0.24.0",
|
|
17704
17813
|
packageManager: "bun@1.3.14",
|
|
17705
17814
|
description: "Cost-aware, local-first routing plugin for opencode with cheapest-capable frontier fallback and multi-agent orchestration.",
|
|
17706
17815
|
license: "MIT",
|
|
@@ -18054,57 +18163,6 @@ var GENERATED_OPENTEAM_STATE_GROUPS = [
|
|
|
18054
18163
|
{ kind: "file", paths: [SOAK_RECORDER_ID_PATH] }
|
|
18055
18164
|
];
|
|
18056
18165
|
var OPENCODE_DIR = ".opencode";
|
|
18057
|
-
var AGENT_DIR = `${OPENCODE_DIR}/agent`;
|
|
18058
|
-
var ROLE_AGENT_DESCRIPTIONS = {
|
|
18059
|
-
architect: "openteam architect subagent: high-level design, cross-cutting refactors and hard technical decisions.",
|
|
18060
|
-
integration: "openteam integration subagent: wires components together, owns end-to-end flows and cross-module glue.",
|
|
18061
|
-
"local-runtime": "openteam local-runtime subagent: local model operation, provider binding and runtime health.",
|
|
18062
|
-
"routing-cost": "openteam routing-cost subagent: cost-aware routing analysis and token/budget optimisation.",
|
|
18063
|
-
scribe: "openteam scribe subagent: the team's silent memory. Records decisions and learnings in .opencode/openteam/decisions.md without changing code. When a conversation yields durable, reusable knowledge — such as facts, entities, and the typed relations between them (e.g. a decision that affects a component) — also call the `openteam-memory` tool with those messages to record it in the team's semantic graph; it never stores the raw conversation, and a reply that memory is disabled or that nothing was recorded is expected, so do not retry.",
|
|
18064
|
-
ralph: "openteam ralph subagent: automation and triage driver. Monitors pending work, prioritises it and coordinates execution, escalating blockers to the human.",
|
|
18065
|
-
guardian: "openteam guardian subagent: an assignable security reviewer for threat analysis, exploitability checks and security-focused review.",
|
|
18066
|
-
tester: "openteam tester subagent: writes and runs tests, reproduces bugs and validates fixes.",
|
|
18067
|
-
reviewer: "openteam reviewer subagent: reviews diffs for correctness, security and quality."
|
|
18068
|
-
};
|
|
18069
|
-
function buildRoleAgent(agentName, description) {
|
|
18070
|
-
const frontmatter = [
|
|
18071
|
-
"---",
|
|
18072
|
-
`description: ${JSON.stringify(description)}`,
|
|
18073
|
-
"mode: subagent",
|
|
18074
|
-
"temperature: 0.2",
|
|
18075
|
-
"---"
|
|
18076
|
-
].join(`
|
|
18077
|
-
`);
|
|
18078
|
-
const body = [
|
|
18079
|
-
`You are the **${agentName}** subagent of openteam.`,
|
|
18080
|
-
"",
|
|
18081
|
-
description,
|
|
18082
|
-
"",
|
|
18083
|
-
"Your execution domain, selected model and ordered fallbacks come from the matching policy in `.opencode/openteam.json`; leave `model` unset here so the runtime policy remains authoritative.",
|
|
18084
|
-
"",
|
|
18085
|
-
"Stay focused on your role. Keep changes surgical and report what you did."
|
|
18086
|
-
].join(`
|
|
18087
|
-
`);
|
|
18088
|
-
return `${frontmatter}
|
|
18089
|
-
|
|
18090
|
-
${body}
|
|
18091
|
-
`;
|
|
18092
|
-
}
|
|
18093
|
-
function buildRoleAgentFiles(_config) {
|
|
18094
|
-
const seen = new Set;
|
|
18095
|
-
for (const role of Object.values(TEAM_ROLES)) {
|
|
18096
|
-
const agentName = role.opencodeAgent;
|
|
18097
|
-
if (agentName === undefined || seen.has(agentName)) {
|
|
18098
|
-
continue;
|
|
18099
|
-
}
|
|
18100
|
-
seen.add(agentName);
|
|
18101
|
-
}
|
|
18102
|
-
return [...seen].sort((a, b) => a.localeCompare(b)).map((agentName) => ({
|
|
18103
|
-
agentName,
|
|
18104
|
-
path: `${AGENT_DIR}/${agentName}.md`,
|
|
18105
|
-
contents: buildRoleAgent(agentName, ROLE_AGENT_DESCRIPTIONS[agentName] ?? `openteam ${agentName} subagent.`)
|
|
18106
|
-
}));
|
|
18107
|
-
}
|
|
18108
18166
|
function splitSetupPath(path2) {
|
|
18109
18167
|
return path2.split("/").filter((segment) => segment.length > 0);
|
|
18110
18168
|
}
|
|
@@ -19653,7 +19711,6 @@ async function runSetup(deps) {
|
|
|
19653
19711
|
opencodeWritePlan.set(file.path, serializeOpencodeConfig(plannedRaw));
|
|
19654
19712
|
}
|
|
19655
19713
|
}
|
|
19656
|
-
const roleAgentFiles = buildRoleAgentFiles(finalOpenTeamConfig);
|
|
19657
19714
|
const opencodeGitignorePath = OPENCODE_GITIGNORE_PATH;
|
|
19658
19715
|
const existingGitignore = await deps.fileExists(opencodeGitignorePath) ? await deps.readFile(opencodeGitignorePath) ?? "" : "";
|
|
19659
19716
|
const opencodeGitignore = buildOpencodeGitignore(existingGitignore);
|
|
@@ -19673,11 +19730,6 @@ async function runSetup(deps) {
|
|
|
19673
19730
|
if (await deps.fileExists(agentPath)) {
|
|
19674
19731
|
existing.add(ORCHESTRATOR_AGENT_PATH);
|
|
19675
19732
|
}
|
|
19676
|
-
for (const roleAgent of roleAgentFiles) {
|
|
19677
|
-
if (await deps.fileExists(roleAgent.path)) {
|
|
19678
|
-
existing.add(roleAgent.path);
|
|
19679
|
-
}
|
|
19680
|
-
}
|
|
19681
19733
|
for (const command of slashCommands) {
|
|
19682
19734
|
if (await deps.fileExists(command.path)) {
|
|
19683
19735
|
existing.add(command.path);
|
|
@@ -19725,9 +19777,6 @@ async function runSetup(deps) {
|
|
|
19725
19777
|
await deps.writeFile(path2, contents);
|
|
19726
19778
|
}
|
|
19727
19779
|
await deps.writeFile(agentPath, orchestratorAgent);
|
|
19728
|
-
for (const roleAgent of roleAgentFiles) {
|
|
19729
|
-
await deps.writeFile(roleAgent.path, roleAgent.contents);
|
|
19730
|
-
}
|
|
19731
19780
|
for (const command of slashCommands) {
|
|
19732
19781
|
await deps.writeFile(command.path, command.contents);
|
|
19733
19782
|
}
|
|
@@ -19748,8 +19797,6 @@ async function runSetup(deps) {
|
|
|
19748
19797
|
opencodePath: writtenOpencodePaths,
|
|
19749
19798
|
configPath: DEFAULT_CONFIG_PATH,
|
|
19750
19799
|
agentPath: ORCHESTRATOR_AGENT_PATH,
|
|
19751
|
-
agentDir: AGENT_DIR,
|
|
19752
|
-
roleAgentCount: roleAgentFiles.length,
|
|
19753
19800
|
commandDir: OPENTEAM_COMMAND_DIR,
|
|
19754
19801
|
commandCount: slashCommands.length,
|
|
19755
19802
|
gitignorePath: OPENCODE_GITIGNORE_PATH
|
|
@@ -19758,7 +19805,7 @@ async function runSetup(deps) {
|
|
|
19758
19805
|
prompt.outro(executionSetupMessages.done);
|
|
19759
19806
|
return {
|
|
19760
19807
|
exitCode: 0,
|
|
19761
|
-
stdout: executionSetupMessages.complete(`${writtenOpencodePaths}, ${DEFAULT_CONFIG_PATH}, ${ORCHESTRATOR_AGENT_PATH}, ${
|
|
19808
|
+
stdout: executionSetupMessages.complete(`${writtenOpencodePaths}, ${DEFAULT_CONFIG_PATH}, ${ORCHESTRATOR_AGENT_PATH}, ${OPENTEAM_COMMAND_DIR}/*.md, ${OPENCODE_GITIGNORE_PATH}`)
|
|
19762
19809
|
};
|
|
19763
19810
|
} catch (error) {
|
|
19764
19811
|
const message = error instanceof Error ? error.message : String(error);
|
|
@@ -25714,7 +25761,7 @@ function createGitLastCommit(exec) {
|
|
|
25714
25761
|
// src/cli.ts
|
|
25715
25762
|
var execFileAsync3 = promisify3(execFile3);
|
|
25716
25763
|
var execAsync = promisify3(exec);
|
|
25717
|
-
var
|
|
25764
|
+
var AGENT_DIR = dirname10(ORCHESTRATOR_AGENT_PATH);
|
|
25718
25765
|
var storage = createFsStorageProvider(process.cwd());
|
|
25719
25766
|
var CLI_LIFECYCLE_WRITER_IDENTITY = {
|
|
25720
25767
|
processID: process.pid,
|
|
@@ -25959,7 +26006,7 @@ var deps = {
|
|
|
25959
26006
|
telemetryPath: DEFAULT_TELEMETRY_PATH,
|
|
25960
26007
|
opencodeConfigPaths: OPENCODE_CONFIG_CANDIDATES,
|
|
25961
26008
|
orchestratorAgentPath: ORCHESTRATOR_AGENT_PATH,
|
|
25962
|
-
agentDir:
|
|
26009
|
+
agentDir: AGENT_DIR,
|
|
25963
26010
|
cachePort: realCacheAdapter,
|
|
25964
26011
|
purge: createCliPurgeRuntime(),
|
|
25965
26012
|
loadRosterForDoctor: readStoredRosterForDoctor,
|
|
@@ -26092,7 +26139,7 @@ async function main() {
|
|
|
26092
26139
|
sessionsDir: effectiveSessionsDir,
|
|
26093
26140
|
decisionsPath: resolveReadPathForCurrent(DEFAULT_DECISIONS_PATH, legacyExists),
|
|
26094
26141
|
backlogPath: resolveReadPathForCurrent(DEFAULT_BACKLOG_PATH, legacyExists),
|
|
26095
|
-
agentDir:
|
|
26142
|
+
agentDir: AGENT_DIR,
|
|
26096
26143
|
legacyTelemetryPath: effectiveTelemetryPath,
|
|
26097
26144
|
storage,
|
|
26098
26145
|
listAgentFiles: deps.listAgentFiles,
|
package/dist/commands/setup.d.ts
CHANGED
|
@@ -79,25 +79,6 @@ export declare function collectContextWindows(modelInfo: readonly LocalModelInfo
|
|
|
79
79
|
* everything would drop to `.opencode` and emit no usable rule.
|
|
80
80
|
*/
|
|
81
81
|
export declare const GENERATED_OPENTEAM_STATE_PATHS: readonly [".opencode/openteam-local/telemetry.jsonl", ".opencode/openteam-local/sessions", ".opencode/openteam-local/graph/runs", ".opencode/openteam-local/graph/worktrees", ".opencode/openteam-local/index.sqlite", ".opencode/openteam-local/memory/index.sqlite"];
|
|
82
|
-
/** One standard subagent file `setup` writes into `.opencode/agent/`. */
|
|
83
|
-
export type RoleAgentFile = {
|
|
84
|
-
readonly agentName: string;
|
|
85
|
-
readonly path: string;
|
|
86
|
-
readonly contents: string;
|
|
87
|
-
};
|
|
88
|
-
/**
|
|
89
|
-
* Standard subagent files `setup` writes so guaranteed-role dispatch resolves on
|
|
90
|
-
* a fresh install (#153, Defect B). Before this, every `TEAM_ROLES.opencodeAgent`
|
|
91
|
-
* target (`architect, integration, local-runtime, routing-cost, scribe, ralph,
|
|
92
|
-
* guardian, tester, reviewer`) had ZERO write site: `setup` wrote only the
|
|
93
|
-
* primary `openteam.md`, so the fail-closed guard `assertAgentFileForRole`
|
|
94
|
-
* (`src/orchestrator/roster.ts`) could never pass for a guaranteed role.
|
|
95
|
-
*
|
|
96
|
-
* The list is derived from `TEAM_ROLES` so it cannot drift from the roleID →
|
|
97
|
-
* agent contract. Deduplicated by `opencodeAgent` and sorted for a stable write
|
|
98
|
-
* order.
|
|
99
|
-
*/
|
|
100
|
-
export declare function buildRoleAgentFiles(_config?: OpenTeamConfig): RoleAgentFile[];
|
|
101
82
|
export declare const OPENCODE_GITIGNORE_GENERATED_STATE_RULES: readonly string[];
|
|
102
83
|
/**
|
|
103
84
|
* Pre-P15b generated ignore rule. Before the portable/local split, all openteam
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAkBpE,OAAO,EAOL,KAAK,QAAQ,EACb,KAAK,cAAc,EAEpB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,gBAAgB,EACjB,MAAM,gBAAgB,CAAC;AAUxB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAQ/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EACL,KAAK,cAAc,IAAI,kBAAkB,EAK1C,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAErD;;;;;;GAMG;AACH,OAAO,EAAE,qBAAqB,IAAI,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAErF,0DAA0D;AAC1D,eAAO,MAAM,uBAAuB,yBAAyB,CAAC;AAE9D;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAWhD;;;;GAIG;AACH,KAAK,mBAAmB,GAAG,WAAW,CACpC,WAAW,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CACvD,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,GAAG;IACnD;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAC/B,aAAa,CAAC,EAAE,MAAM,EACtB,WAAW,CAAC,EAAE,MAAM,GACnB,gBAAgB,CAkBlB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,SAAS,cAAc,EAAE,GAAG,SAAS,EAChD,YAAY,EAAE,SAAS,MAAM,EAAE,GAC9B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAYpC;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,8BAA8B,wQAOjC,CAAC;
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAe,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAM7E,OAAO,KAAK,EACV,OAAO,EAEP,qBAAqB,EACtB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAGL,KAAK,cAAc,EAGpB,MAAM,2BAA2B,CAAC;AAOnC,OAAO,EAEL,KAAK,YAAY,EAElB,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,EAML,KAAK,cAAc,EACpB,MAAM,iBAAiB,CAAC;AAsBzB,OAAO,EAEL,eAAe,EAGhB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|