@jmanuelcorral/openteam 0.14.0 → 0.15.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 +2 -2
- package/README.md +2 -2
- package/dist/cli.js +110 -20
- package/dist/commands/setup.d.ts +27 -7
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/config/runtime.d.ts +1 -1
- package/dist/config/runtime.d.ts.map +1 -1
- package/dist/index.js +5 -5
- package/dist/orchestrator/runtimeSelection.d.ts.map +1 -1
- package/package.json +1 -1
package/README.es.md
CHANGED
|
@@ -218,7 +218,7 @@ openteam setup
|
|
|
218
218
|
El asistente:
|
|
219
219
|
|
|
220
220
|
1. Sondea los runtimes locales y marca los detectados.
|
|
221
|
-
2. Te deja habilitar runtimes (o **ninguno**: puedes usar openteam **solo con modelos frontier**) y, por cada runtime que habilites, elegir si corre **en esta máquina** o **en otra máquina de la red local** (introduciendo su URL, p. ej. `http://192.168.1.50:11434/v1`); luego eliges el modelo por defecto de cada uno (o lo escribes si no se detectan modelos).
|
|
221
|
+
2. Te deja habilitar runtimes (o **ninguno**: puedes usar openteam **solo con modelos frontier**) y, por cada runtime que habilites, elegir si corre **en esta máquina** o **en otra máquina de la red local** (introduciendo su URL, p. ej. `http://192.168.1.50:11434/v1`); luego eliges el modelo por defecto de cada uno (o lo escribes si no se detectan modelos). Si tienes **más de una máquina del mismo tipo** (p. ej. dos hosts LM Studio), declara cada una como una instancia aparte con su propio id (`lmstudio-a`, `lmstudio-b`), URL y modelos. Para cada instancia también pregunta cuántos **slots de generación concurrente** tiene el runtime (por defecto `4`), para que puedas dejar un slot libre para el trabajo interactivo en vez de saturar el servidor.
|
|
222
222
|
3. Ofrece el modelo frontier baseline a partir del **catálogo completo de [Models.dev](https://models.dev)** que openteam ya integra: una lista rápida con los más **baratos-capaces primero** (incluidos los **gratuitos**, etiquetados como `gratis`), una opción **«Ver todos los modelos por proveedor…»** para navegar el catálogo completo, y **«Otro (custom)»** para escribir un `provider/model`. Si el catálogo no se puede cargar (offline), cae a la lista curada.
|
|
223
223
|
4. Pregunta el modo de routing (`balanced`/`economy`/`quality`), la política de privacidad y si quieres activar el **modo YOLO** (auto-aprobar permisos de opencode). Si no habilitas ningún runtime local, avisa de que estás en **modo solo frontier** y recomienda `consentBeforeFrontier` (porque `forceLocalOnSensitive` no tendría destino local).
|
|
224
224
|
5. Si ya existe `opencode.json` o `.opencode/openteam.json`, pide confirmación antes de sobrescribir.
|
|
@@ -824,7 +824,7 @@ Consulta [docs/compatibility.md](docs/compatibility.md). Resumen verificado el `
|
|
|
824
824
|
|
|
825
825
|
| Superficie | Versión / contrato |
|
|
826
826
|
| --- | --- |
|
|
827
|
-
| openteam | `0.
|
|
827
|
+
| openteam | `0.15.0`; versión actual del paquete |
|
|
828
828
|
| `@opencode-ai/plugin` | `1.18.19` |
|
|
829
829
|
| `@opencode-ai/sdk` | `1.18.19` |
|
|
830
830
|
| Hook de routing | `chat.message`; no `chat.params` para cambiar modelo |
|
package/README.md
CHANGED
|
@@ -177,7 +177,7 @@ openteam setup
|
|
|
177
177
|
The wizard:
|
|
178
178
|
|
|
179
179
|
1. Probes local runtimes and marks the detected ones.
|
|
180
|
-
2. Lets you enable runtimes (or **none** — frontier-only) and, per enabled runtime, choose whether it runs **on this machine** or **on another machine on the LAN** (by entering its URL, e.g. `http://192.168.1.50:11434/v1`), then pick each default model.
|
|
180
|
+
2. Lets you enable runtimes (or **none** — frontier-only) and, per enabled runtime, choose whether it runs **on this machine** or **on another machine on the LAN** (by entering its URL, e.g. `http://192.168.1.50:11434/v1`), then pick each default model. If you run **more than one machine of the same kind** (e.g. two LM Studio hosts), it declares each as a separate instance with its own id (`lmstudio-a`, `lmstudio-b`), URL and models. For every instance it also asks how many **concurrent generation slots** the runtime has (defaulting to `4`), so you can leave a slot free for interactive work instead of saturating the server.
|
|
181
181
|
3. Offers the frontier baseline from the **full [Models.dev](https://models.dev) catalog** that openteam integrates: a quick list with the **cheapest-capable first** (including **free** models, tagged `free`), a "Browse all models by provider…" option, and "Other (custom)" to type a `provider/model`. If the catalog can't be loaded (offline), it falls back to the curated list.
|
|
182
182
|
4. Asks for the routing mode (`balanced` / `economy` / `quality`), the privacy policy, and whether to enable **YOLO mode** (auto-approve opencode permissions). If you enable no local runtime, it warns you are in **frontier-only mode** and recommends `consentBeforeFrontier`.
|
|
183
183
|
5. If `opencode.json` or `.opencode/openteam.json` already exist, it asks for confirmation before overwriting.
|
|
@@ -713,7 +713,7 @@ See [docs/compatibility.md](docs/compatibility.md). Verified summary as of `2026
|
|
|
713
713
|
|
|
714
714
|
| Surface | Version / contract |
|
|
715
715
|
| --- | --- |
|
|
716
|
-
| openteam | `0.
|
|
716
|
+
| openteam | `0.15.0`; current package version |
|
|
717
717
|
| `@opencode-ai/plugin` | `1.18.19` |
|
|
718
718
|
| `@opencode-ai/sdk` | `1.18.19` |
|
|
719
719
|
| Routing hook | `chat.message`; not `chat.params` for model changes |
|
package/dist/cli.js
CHANGED
|
@@ -1568,7 +1568,7 @@ function runtimeIdOfModel(model, config) {
|
|
|
1568
1568
|
}
|
|
1569
1569
|
function roleLocalModel(role, runtimeId, fallback) {
|
|
1570
1570
|
const pinned = role.localModels?.[runtimeId];
|
|
1571
|
-
return pinned === undefined ? fallback : {
|
|
1571
|
+
return pinned === undefined ? fallback : { ...fallback, modelID: pinned };
|
|
1572
1572
|
}
|
|
1573
1573
|
function selectDispatchRuntime(role, decision2, reachable, config) {
|
|
1574
1574
|
if (decision2.routeKind !== "local") {
|
|
@@ -3358,9 +3358,9 @@ async function loadRuntimeOpenTeamConfig(storage, options, path = DEFAULT_CONFIG
|
|
|
3358
3358
|
}
|
|
3359
3359
|
const configOptions = configOptionsFromPluginOptions(options);
|
|
3360
3360
|
const optionsFound = configOptions !== undefined;
|
|
3361
|
-
const overlayContent = await storage.read(overlayPath);
|
|
3361
|
+
const overlayContent = overlayPath === null ? undefined : await storage.read(overlayPath);
|
|
3362
3362
|
const overlayFound = overlayContent !== undefined;
|
|
3363
|
-
const overlayRaw = overlayFound ? parseConfigFileJson(overlayPath, overlayContent) : undefined;
|
|
3363
|
+
const overlayRaw = overlayFound && overlayPath !== null ? parseConfigFileJson(overlayPath, overlayContent) : undefined;
|
|
3364
3364
|
const mergedRaw = mergeConfigInputs(mergeConfigInputs(fileRaw, configOptions), overlayRaw);
|
|
3365
3365
|
const mergedSources = [
|
|
3366
3366
|
fileFound ? path : undefined,
|
|
@@ -3376,7 +3376,7 @@ async function loadRuntimeOpenTeamConfig(storage, options, path = DEFAULT_CONFIG
|
|
|
3376
3376
|
fileFound,
|
|
3377
3377
|
optionsFound,
|
|
3378
3378
|
overlayFound,
|
|
3379
|
-
searchedPaths: [path, overlayPath]
|
|
3379
|
+
searchedPaths: overlayPath === null ? [path] : [path, overlayPath]
|
|
3380
3380
|
};
|
|
3381
3381
|
}
|
|
3382
3382
|
|
|
@@ -11635,23 +11635,38 @@ function knownRuntime(id) {
|
|
|
11635
11635
|
function firstEnabled(runtimes) {
|
|
11636
11636
|
return runtimes.find((runtime) => runtime.enabled);
|
|
11637
11637
|
}
|
|
11638
|
+
function choiceKind(choice) {
|
|
11639
|
+
return choice.kind ?? choice.id;
|
|
11640
|
+
}
|
|
11641
|
+
function choiceProviderID(choice) {
|
|
11642
|
+
return choice.providerID ?? choice.id;
|
|
11643
|
+
}
|
|
11638
11644
|
function buildOpenTeamConfig(answers) {
|
|
11639
11645
|
const runtimes = answers.runtimes.filter((choice) => choice.enabled).map((choice) => {
|
|
11640
11646
|
const runtime = {
|
|
11641
11647
|
id: choice.id,
|
|
11642
11648
|
enabled: choice.enabled,
|
|
11643
|
-
defaultModel: {
|
|
11649
|
+
defaultModel: {
|
|
11650
|
+
providerID: choiceProviderID(choice),
|
|
11651
|
+
modelID: choice.defaultModelID
|
|
11652
|
+
},
|
|
11644
11653
|
maxConcurrency: choice.maxConcurrency ?? DEFAULT_LOCAL_MAX_CONCURRENCY
|
|
11645
11654
|
};
|
|
11655
|
+
if (choice.kind !== undefined && choice.kind !== choice.id) {
|
|
11656
|
+
runtime.kind = choice.kind;
|
|
11657
|
+
}
|
|
11646
11658
|
if (choice.baseURL !== undefined) {
|
|
11647
11659
|
runtime.baseURL = choice.baseURL;
|
|
11648
|
-
} else if (knownRuntime(choice
|
|
11660
|
+
} else if (knownRuntime(choiceKind(choice)).dynamicPort === true) {
|
|
11649
11661
|
runtime.discovery = "cli";
|
|
11650
11662
|
}
|
|
11651
11663
|
return runtime;
|
|
11652
11664
|
});
|
|
11653
11665
|
const primaryLocal = firstEnabled(answers.runtimes);
|
|
11654
|
-
const localDefault2 = primaryLocal !== undefined ? {
|
|
11666
|
+
const localDefault2 = primaryLocal !== undefined ? {
|
|
11667
|
+
providerID: choiceProviderID(primaryLocal),
|
|
11668
|
+
modelID: primaryLocal.defaultModelID
|
|
11669
|
+
} : null;
|
|
11655
11670
|
const localOnly = answers.localOnly === true && primaryLocal !== undefined;
|
|
11656
11671
|
return OpenTeamConfigSchema.parse({
|
|
11657
11672
|
baseline: {
|
|
@@ -11672,11 +11687,12 @@ function buildOpenTeamConfig(answers) {
|
|
|
11672
11687
|
}
|
|
11673
11688
|
function buildOpencodeConfig(answers) {
|
|
11674
11689
|
const provider = {};
|
|
11690
|
+
const providerOwner = new Map;
|
|
11675
11691
|
for (const choice of answers.runtimes) {
|
|
11676
11692
|
if (!choice.enabled) {
|
|
11677
11693
|
continue;
|
|
11678
11694
|
}
|
|
11679
|
-
const meta = knownRuntime(choice
|
|
11695
|
+
const meta = knownRuntime(choiceKind(choice));
|
|
11680
11696
|
const baseURL = choice.baseURL ?? meta.defaultBaseURL;
|
|
11681
11697
|
if (baseURL === undefined) {
|
|
11682
11698
|
continue;
|
|
@@ -11686,16 +11702,33 @@ function buildOpencodeConfig(answers) {
|
|
|
11686
11702
|
for (const modelID of modelIDs) {
|
|
11687
11703
|
models[modelID] = { name: modelID };
|
|
11688
11704
|
}
|
|
11689
|
-
|
|
11705
|
+
const providerID = choiceProviderID(choice);
|
|
11706
|
+
const owner = providerOwner.get(providerID);
|
|
11707
|
+
if (owner !== undefined) {
|
|
11708
|
+
if (owner.baseURL !== baseURL) {
|
|
11709
|
+
throw new Error(`local runtimes "${owner.instanceId}" and "${choice.id}" both use ` + `opencode provider "${providerID}" but declare different baseURLs ` + `(${owner.baseURL} vs ${baseURL}); give each instance a distinct ` + "providerID so opencode can reach both machines.");
|
|
11710
|
+
}
|
|
11711
|
+
const existing = provider[providerID];
|
|
11712
|
+
if (existing !== undefined) {
|
|
11713
|
+
provider[providerID] = {
|
|
11714
|
+
...existing,
|
|
11715
|
+
models: { ...existing.models, ...models }
|
|
11716
|
+
};
|
|
11717
|
+
}
|
|
11718
|
+
continue;
|
|
11719
|
+
}
|
|
11720
|
+
const name = choice.id === choiceKind(choice) ? `${meta.label} (local)` : `${meta.label} (local · ${choice.id})`;
|
|
11721
|
+
provider[providerID] = {
|
|
11690
11722
|
npm: "@ai-sdk/openai-compatible",
|
|
11691
|
-
name
|
|
11723
|
+
name,
|
|
11692
11724
|
options: { baseURL },
|
|
11693
11725
|
models
|
|
11694
11726
|
};
|
|
11727
|
+
providerOwner.set(providerID, { instanceId: choice.id, baseURL });
|
|
11695
11728
|
}
|
|
11696
11729
|
const primaryLocal = firstEnabled(answers.runtimes);
|
|
11697
11730
|
const localOnly = answers.localOnly === true && primaryLocal !== undefined;
|
|
11698
|
-
const mainModel = localOnly && primaryLocal !== undefined ? `${primaryLocal
|
|
11731
|
+
const mainModel = localOnly && primaryLocal !== undefined ? `${choiceProviderID(primaryLocal)}/${primaryLocal.defaultModelID}` : `${answers.frontier.providerID}/${answers.frontier.modelID}`;
|
|
11699
11732
|
const config = {
|
|
11700
11733
|
$schema: "https://opencode.ai/config.json",
|
|
11701
11734
|
plugin: [OPENTEAM_PLUGIN_SPEC],
|
|
@@ -11705,7 +11738,7 @@ function buildOpencodeConfig(answers) {
|
|
|
11705
11738
|
config.provider = provider;
|
|
11706
11739
|
}
|
|
11707
11740
|
if (primaryLocal !== undefined) {
|
|
11708
|
-
config.small_model = `${primaryLocal
|
|
11741
|
+
config.small_model = `${choiceProviderID(primaryLocal)}/${primaryLocal.defaultModelID}`;
|
|
11709
11742
|
}
|
|
11710
11743
|
if (answers.yolo) {
|
|
11711
11744
|
config.permission = { "*": "allow" };
|
|
@@ -11910,6 +11943,62 @@ async function resolveEnabledRuntime(deps, meta, info) {
|
|
|
11910
11943
|
}
|
|
11911
11944
|
return choice;
|
|
11912
11945
|
}
|
|
11946
|
+
function instanceSuffix(index) {
|
|
11947
|
+
return index < 26 ? String.fromCharCode(97 + index) : String(index + 1);
|
|
11948
|
+
}
|
|
11949
|
+
async function promptSlotCount(prompt, meta) {
|
|
11950
|
+
const raw = await prompt.text({
|
|
11951
|
+
message: `How many concurrent generation slots does ${meta.label} have? (match its real capacity; leaving one free keeps interactive work responsive)`,
|
|
11952
|
+
placeholder: String(DEFAULT_LOCAL_MAX_CONCURRENCY),
|
|
11953
|
+
initial: String(DEFAULT_LOCAL_MAX_CONCURRENCY)
|
|
11954
|
+
});
|
|
11955
|
+
const parsed = Number.parseInt(raw.trim(), 10);
|
|
11956
|
+
return Number.isInteger(parsed) && parsed > 0 ? parsed : DEFAULT_LOCAL_MAX_CONCURRENCY;
|
|
11957
|
+
}
|
|
11958
|
+
async function promptInstanceId(prompt, meta, defaultId, usedIds) {
|
|
11959
|
+
for (;; ) {
|
|
11960
|
+
const raw = await prompt.text({
|
|
11961
|
+
message: `Instance id for this ${meta.label} machine (unique across your fleet)`,
|
|
11962
|
+
placeholder: defaultId,
|
|
11963
|
+
initial: defaultId
|
|
11964
|
+
});
|
|
11965
|
+
const id = raw.trim().length > 0 ? raw.trim() : defaultId;
|
|
11966
|
+
if (!usedIds.has(id)) {
|
|
11967
|
+
return id;
|
|
11968
|
+
}
|
|
11969
|
+
prompt.note(`Instance id "${id}" is already used; enter a different one.`, "Duplicate instance id");
|
|
11970
|
+
}
|
|
11971
|
+
}
|
|
11972
|
+
async function resolveRuntimeInstances(deps, meta, info, usedIds) {
|
|
11973
|
+
const fleet = await deps.prompt.confirm({
|
|
11974
|
+
message: `Do you run more than one ${meta.label} machine? (declare each host with its own URL and slot count)`,
|
|
11975
|
+
initial: false
|
|
11976
|
+
});
|
|
11977
|
+
if (!fleet) {
|
|
11978
|
+
const choice = await resolveEnabledRuntime(deps, meta, info);
|
|
11979
|
+
choice.maxConcurrency = await promptSlotCount(deps.prompt, meta);
|
|
11980
|
+
usedIds.add(choice.id);
|
|
11981
|
+
return [choice];
|
|
11982
|
+
}
|
|
11983
|
+
const instances = [];
|
|
11984
|
+
for (;; ) {
|
|
11985
|
+
const defaultId = `${meta.id}-${instanceSuffix(instances.length)}`;
|
|
11986
|
+
const id = await promptInstanceId(deps.prompt, meta, defaultId, usedIds);
|
|
11987
|
+
const choice = await resolveEnabledRuntime(deps, meta, info);
|
|
11988
|
+
choice.id = id;
|
|
11989
|
+
choice.kind = meta.id;
|
|
11990
|
+
choice.maxConcurrency = await promptSlotCount(deps.prompt, meta);
|
|
11991
|
+
usedIds.add(id);
|
|
11992
|
+
instances.push(choice);
|
|
11993
|
+
const another = await deps.prompt.confirm({
|
|
11994
|
+
message: `Add another ${meta.label} machine?`,
|
|
11995
|
+
initial: false
|
|
11996
|
+
});
|
|
11997
|
+
if (!another) {
|
|
11998
|
+
return instances;
|
|
11999
|
+
}
|
|
12000
|
+
}
|
|
12001
|
+
}
|
|
11913
12002
|
async function runSetup(deps) {
|
|
11914
12003
|
const { prompt } = deps;
|
|
11915
12004
|
try {
|
|
@@ -11937,6 +12026,7 @@ async function runSetup(deps) {
|
|
|
11937
12026
|
});
|
|
11938
12027
|
const enabled = new Set(enabledIds.filter((id) => id !== RUNTIME_NONE));
|
|
11939
12028
|
const runtimes = [];
|
|
12029
|
+
const usedIds = new Set;
|
|
11940
12030
|
for (const meta of KNOWN_RUNTIMES) {
|
|
11941
12031
|
const info = detectedById.get(meta.id);
|
|
11942
12032
|
const isEnabled = enabled.has(meta.id);
|
|
@@ -11954,7 +12044,7 @@ async function runSetup(deps) {
|
|
|
11954
12044
|
runtimes.push(choice);
|
|
11955
12045
|
continue;
|
|
11956
12046
|
}
|
|
11957
|
-
runtimes.push(await
|
|
12047
|
+
runtimes.push(...await resolveRuntimeInstances(deps, meta, info, usedIds));
|
|
11958
12048
|
}
|
|
11959
12049
|
const hasLocalEnabled = enabled.size > 0;
|
|
11960
12050
|
const localOnly = hasLocalEnabled ? await prompt.confirm({
|
|
@@ -15685,7 +15775,7 @@ async function buildMemoryRuntimeFromConfig(config, deps, options = {}) {
|
|
|
15685
15775
|
// package.json
|
|
15686
15776
|
var package_default = {
|
|
15687
15777
|
name: "@jmanuelcorral/openteam",
|
|
15688
|
-
version: "0.
|
|
15778
|
+
version: "0.15.0",
|
|
15689
15779
|
packageManager: "bun@1.3.14",
|
|
15690
15780
|
description: "Cost-aware, local-first routing plugin for opencode with cheapest-capable frontier fallback and multi-agent orchestration.",
|
|
15691
15781
|
license: "MIT",
|
|
@@ -15857,12 +15947,12 @@ async function readConfigFile(path4, resolution) {
|
|
|
15857
15947
|
}
|
|
15858
15948
|
}
|
|
15859
15949
|
async function loadConfig(path4, resolution = { explicit: false }) {
|
|
15860
|
-
const
|
|
15861
|
-
|
|
15862
|
-
|
|
15863
|
-
}
|
|
15864
|
-
const
|
|
15865
|
-
return
|
|
15950
|
+
const configStorage = resolution.explicit ? {
|
|
15951
|
+
...storage,
|
|
15952
|
+
read: (requestedPath) => requestedPath === path4 ? readConfigFile(path4, resolution) : storage.read(requestedPath)
|
|
15953
|
+
} : storage;
|
|
15954
|
+
const overlayPath = resolution.explicit ? null : DEFAULT_LOCAL_OVERLAY_PATH;
|
|
15955
|
+
return (await loadRuntimeOpenTeamConfig(configStorage, undefined, path4, overlayPath)).config;
|
|
15866
15956
|
}
|
|
15867
15957
|
async function saveConfig(config, path4, resolution = { explicit: false }) {
|
|
15868
15958
|
if (!resolution.explicit) {
|
package/dist/commands/setup.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ModelCapabilityProfile } from "../capabilities/types";
|
|
2
2
|
import { type OpenTeamConfig, type PrivacyMode, type RouterMode } from "../config/schema";
|
|
3
|
-
import type { LocalRuntimeId } from "../local/types";
|
|
3
|
+
import type { LocalRuntimeId, LocalRuntimeKind } from "../local/types";
|
|
4
4
|
import type { CliResult } from "./dispatch";
|
|
5
5
|
import { type FrontierChoice as FrontierChoiceType } from "./frontierCatalog";
|
|
6
6
|
/** Nombre del paquete npm del plugin, declarado en el opencode.json generado. */
|
|
@@ -73,7 +73,7 @@ export declare function buildOpencodeGitignore(existing?: string): string;
|
|
|
73
73
|
*/
|
|
74
74
|
export declare function missingGeneratedStateRules(gitignore: string): string[];
|
|
75
75
|
export type KnownRuntime = {
|
|
76
|
-
id:
|
|
76
|
+
id: LocalRuntimeKind;
|
|
77
77
|
label: string;
|
|
78
78
|
defaultBaseURL?: string;
|
|
79
79
|
fallbackModelID: string;
|
|
@@ -93,16 +93,36 @@ export type DetectedRuntime = {
|
|
|
93
93
|
};
|
|
94
94
|
export type RuntimeChoice = {
|
|
95
95
|
id: LocalRuntimeId;
|
|
96
|
+
/**
|
|
97
|
+
* Adapter kind of this instance (#214/#217). Optional so pre-fleet
|
|
98
|
+
* construction sites (where the id IS the kind) stay valid; when absent the
|
|
99
|
+
* id is treated as the kind. `buildOpenTeamConfig` emits an explicit `kind`
|
|
100
|
+
* only when it differs from the instance id, keeping single-instance output
|
|
101
|
+
* byte-identical.
|
|
102
|
+
*/
|
|
103
|
+
kind?: LocalRuntimeKind;
|
|
104
|
+
/**
|
|
105
|
+
* opencode provider this instance's model resolves against (#216/#217).
|
|
106
|
+
* Optional and defaults to the instance `id`, never the kind: opencode holds a
|
|
107
|
+
* single `baseURL` per provider entry, so two same-kind hosts must resolve to
|
|
108
|
+
* two distinct providers or the fleet silently collapses onto one machine. For
|
|
109
|
+
* a single-instance install id == kind, so the default keeps output
|
|
110
|
+
* byte-identical. Kept separately settable for the rare case where two
|
|
111
|
+
* instances genuinely share one endpoint.
|
|
112
|
+
*/
|
|
113
|
+
providerID?: string;
|
|
96
114
|
enabled: boolean;
|
|
97
115
|
baseURL?: string;
|
|
98
116
|
defaultModelID: string;
|
|
99
117
|
models: string[];
|
|
100
118
|
/**
|
|
101
|
-
* Concurrent generation slots this runtime really has (#144/#207).
|
|
102
|
-
* the
|
|
103
|
-
*
|
|
104
|
-
*
|
|
105
|
-
*
|
|
119
|
+
* Concurrent generation slots this runtime really has (#144/#207/#217).
|
|
120
|
+
* Elicited per instance by the wizard (gap #217 was that it never asked).
|
|
121
|
+
* Optional on the answer so existing construction sites stay valid;
|
|
122
|
+
* `buildOpenTeamConfig` falls back to `DEFAULT_LOCAL_MAX_CONCURRENCY` and
|
|
123
|
+
* always writes the resolved value, so the cap in force is visible in the
|
|
124
|
+
* generated file instead of being an invisible read-time default nobody knows
|
|
125
|
+
* to override.
|
|
106
126
|
*/
|
|
107
127
|
maxConcurrency?: number;
|
|
108
128
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAMpE,OAAO,EAOL,KAAK,cAAc,EAEnB,KAAK,WAAW,EAChB,KAAK,UAAU,EAChB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
|
package/dist/config/runtime.d.ts
CHANGED
|
@@ -57,6 +57,6 @@ export declare function mergeConfigInputs(fileConfig: unknown, options: unknown)
|
|
|
57
57
|
export declare function parseConfigFileJson(path: string, content: string): unknown;
|
|
58
58
|
export declare function validateConfigFile(path: string, raw: unknown): OpenTeamConfig;
|
|
59
59
|
export declare function validateConfigInput(label: string, raw: unknown): OpenTeamConfig;
|
|
60
|
-
export declare function loadRuntimeOpenTeamConfig(storage: StorageProvider, options: unknown, path?: string, overlayPath?: string): Promise<RuntimeConfigResolution>;
|
|
60
|
+
export declare function loadRuntimeOpenTeamConfig(storage: StorageProvider, options: unknown, path?: string, overlayPath?: string | null): Promise<RuntimeConfigResolution>;
|
|
61
61
|
export {};
|
|
62
62
|
//# sourceMappingURL=runtime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/config/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAM3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE1C,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3C,CAAC;AAEF,eAAO,MAAM,WAAW,YACtB,UAAU,EACV,QAAQ,EACR,OAAO,EACP,SAAS,EACT,aAAa,EACb,SAAS,EACT,SAAS,EACT,QAAQ,EACR,OAAO,EACP,cAAc,EACd,eAAe,CACP,CAAC;AAGX,eAAO,MAAM,2BAA2B,cAAc,CAAC;AAMvD,eAAO,MAAM,kCAAkC;;;;kBAMpC,CAAC;AAEZ,eAAO,MAAM,4BAA4B;;;;mBAKrC,CAAC;AAEL,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;kBAM3B,CAAC;AAEZ,eAAO,MAAM,gCAAgC,EAAE,WAAW,CACxD,MAAM,EACN,SAAS,MAAM,EAAE,CAOjB,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AACtE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAa5E,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,OAAO,GAAG,aAAa,CAgBrE;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,OAAO,GAAG,gBAAgB,CAKtE;AAED,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,OAAO,GACb,UAAU,GAAG,SAAS,CAcxB;AAcD,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,OAAO,EACnB,OAAO,EAAE,OAAO,GACf,OAAO,CAWT;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAU1E;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,cAAc,CAE7E;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,OAAO,GACX,cAAc,CAMhB;AAED,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,OAAO,EAChB,IAAI,SAAsB,EAC1B,WAAW,
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/config/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAM3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE1C,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3C,CAAC;AAEF,eAAO,MAAM,WAAW,YACtB,UAAU,EACV,QAAQ,EACR,OAAO,EACP,SAAS,EACT,aAAa,EACb,SAAS,EACT,SAAS,EACT,QAAQ,EACR,OAAO,EACP,cAAc,EACd,eAAe,CACP,CAAC;AAGX,eAAO,MAAM,2BAA2B,cAAc,CAAC;AAMvD,eAAO,MAAM,kCAAkC;;;;kBAMpC,CAAC;AAEZ,eAAO,MAAM,4BAA4B;;;;mBAKrC,CAAC;AAEL,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;kBAM3B,CAAC;AAEZ,eAAO,MAAM,gCAAgC,EAAE,WAAW,CACxD,MAAM,EACN,SAAS,MAAM,EAAE,CAOjB,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AACtE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAa5E,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,OAAO,GAAG,aAAa,CAgBrE;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,OAAO,GAAG,gBAAgB,CAKtE;AAED,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,OAAO,GACb,UAAU,GAAG,SAAS,CAcxB;AAcD,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,OAAO,EACnB,OAAO,EAAE,OAAO,GACf,OAAO,CAWT;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAU1E;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,cAAc,CAE7E;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,OAAO,GACX,cAAc,CAMhB;AAED,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,OAAO,EAChB,IAAI,SAAsB,EAC1B,WAAW,GAAE,MAAM,GAAG,IAAiC,GACtD,OAAO,CAAC,uBAAuB,CAAC,CAsDlC"}
|
package/dist/index.js
CHANGED
|
@@ -3473,9 +3473,9 @@ async function loadRuntimeOpenTeamConfig(storage, options, path = DEFAULT_CONFIG
|
|
|
3473
3473
|
}
|
|
3474
3474
|
const configOptions = configOptionsFromPluginOptions(options);
|
|
3475
3475
|
const optionsFound = configOptions !== undefined;
|
|
3476
|
-
const overlayContent = await storage.read(overlayPath);
|
|
3476
|
+
const overlayContent = overlayPath === null ? undefined : await storage.read(overlayPath);
|
|
3477
3477
|
const overlayFound = overlayContent !== undefined;
|
|
3478
|
-
const overlayRaw = overlayFound ? parseConfigFileJson(overlayPath, overlayContent) : undefined;
|
|
3478
|
+
const overlayRaw = overlayFound && overlayPath !== null ? parseConfigFileJson(overlayPath, overlayContent) : undefined;
|
|
3479
3479
|
const mergedRaw = mergeConfigInputs(mergeConfigInputs(fileRaw, configOptions), overlayRaw);
|
|
3480
3480
|
const mergedSources = [
|
|
3481
3481
|
fileFound ? path : undefined,
|
|
@@ -3491,7 +3491,7 @@ async function loadRuntimeOpenTeamConfig(storage, options, path = DEFAULT_CONFIG
|
|
|
3491
3491
|
fileFound,
|
|
3492
3492
|
optionsFound,
|
|
3493
3493
|
overlayFound,
|
|
3494
|
-
searchedPaths: [path, overlayPath]
|
|
3494
|
+
searchedPaths: overlayPath === null ? [path] : [path, overlayPath]
|
|
3495
3495
|
};
|
|
3496
3496
|
}
|
|
3497
3497
|
|
|
@@ -5985,7 +5985,7 @@ function runtimeIdOfModel(model, config) {
|
|
|
5985
5985
|
}
|
|
5986
5986
|
function roleLocalModel(role, runtimeId, fallback) {
|
|
5987
5987
|
const pinned = role.localModels?.[runtimeId];
|
|
5988
|
-
return pinned === undefined ? fallback : {
|
|
5988
|
+
return pinned === undefined ? fallback : { ...fallback, modelID: pinned };
|
|
5989
5989
|
}
|
|
5990
5990
|
function selectDispatchRuntime(role, decision2, reachable, config) {
|
|
5991
5991
|
if (decision2.routeKind !== "local") {
|
|
@@ -13266,7 +13266,7 @@ var createOtlpSpanExporter = (connection, config) => {
|
|
|
13266
13266
|
// package.json
|
|
13267
13267
|
var package_default = {
|
|
13268
13268
|
name: "@jmanuelcorral/openteam",
|
|
13269
|
-
version: "0.
|
|
13269
|
+
version: "0.15.0",
|
|
13270
13270
|
packageManager: "bun@1.3.14",
|
|
13271
13271
|
description: "Cost-aware, local-first routing plugin for opencode with cheapest-capable frontier fallback and multi-agent orchestration.",
|
|
13272
13272
|
license: "MIT",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtimeSelection.d.ts","sourceRoot":"","sources":["../../src/orchestrator/runtimeSelection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD;;;;;;;;;;GAUG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,CAAC,SAAS,EAAE,cAAc,GAAG,SAAS,CAAC;IAC/C,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;CACpC,CAAC;AASF;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,cAAc,GACrB,cAAc,GAAG,SAAS,CAI5B;
|
|
1
|
+
{"version":3,"file":"runtimeSelection.d.ts","sourceRoot":"","sources":["../../src/orchestrator/runtimeSelection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD;;;;;;;;;;GAUG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,CAAC,SAAS,EAAE,cAAc,GAAG,SAAS,CAAC;IAC/C,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;CACpC,CAAC;AASF;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,cAAc,GACrB,cAAc,GAAG,SAAS,CAI5B;AAuBD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,gBAAgB,EACtB,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAE,WAAW,CAAC,cAAc,CAAC,GAAG,SAAS,EAClD,MAAM,EAAE,cAAc,GACrB,wBAAwB,CAsC1B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jmanuelcorral/openteam",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.15.0",
|
|
4
4
|
"packageManager": "bun@1.3.14",
|
|
5
5
|
"description": "Cost-aware, local-first routing plugin for opencode with cheapest-capable frontier fallback and multi-agent orchestration.",
|
|
6
6
|
"license": "MIT",
|