@jmanuelcorral/openteam 0.9.3 → 0.10.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 +1 -1
- package/README.md +1 -1
- package/dist/cli.js +362 -34
- package/dist/commands/dispatch.d.ts.map +1 -1
- package/dist/commands/doctor.d.ts +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/rolesInit.d.ts +55 -0
- package/dist/commands/rolesInit.d.ts.map +1 -0
- package/dist/commands/setup.d.ts +17 -0
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/config/errors.d.ts.map +1 -1
- package/dist/config/schema.d.ts +2 -0
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +193 -31
- package/dist/messages/commands.d.ts +36 -0
- package/dist/messages/commands.d.ts.map +1 -1
- package/dist/opencodeArtifacts/orchestratorAgent.d.ts.map +1 -1
- package/dist/orchestrator/roles.d.ts +20 -0
- package/dist/orchestrator/roles.d.ts.map +1 -1
- package/dist/orchestrator/roster.d.ts +10 -2
- package/dist/orchestrator/roster.d.ts.map +1 -1
- package/dist/orchestrator/rosterPersistence.d.ts +14 -13
- package/dist/orchestrator/rosterPersistence.d.ts.map +1 -1
- package/dist/orchestrator/runtimeSelection.d.ts.map +1 -1
- package/dist/plugin/registerCastTool.d.ts +52 -0
- package/dist/plugin/registerCastTool.d.ts.map +1 -0
- package/dist/router/chooseModel.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatch.d.ts","sourceRoot":"","sources":["../../src/commands/dispatch.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"dispatch.d.ts","sourceRoot":"","sources":["../../src/commands/dispatch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { LegacyLayoutFinding } from "../config/legacyPaths";
|
|
2
|
-
import type
|
|
2
|
+
import { type OpenTeamConfig } from "../config/schema";
|
|
3
3
|
import type { LocalRuntimeSnapshot } from "../local/types";
|
|
4
4
|
import { type DiagnosticCode } from "../telemetry/diagnostics";
|
|
5
5
|
import type { GraphViewHealth } from "../telemetry/graphView";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { LocalRuntimeId } from "../local/types";
|
|
2
|
+
import type { Prompter } from "./setup";
|
|
3
|
+
/**
|
|
4
|
+
* `openteam roles init` — assisted composition of per-role routing policy.
|
|
5
|
+
*
|
|
6
|
+
* Background (#206). The roster is the portable answer to *who*: `roleID` ->
|
|
7
|
+
* themed `agentName`. Routing policy is the answer to *how*, and lives under
|
|
8
|
+
* `orchestrator.roles` in the config. Nothing connected the two, so a roster
|
|
9
|
+
* role that is not a `TEAM_ROLES` key resolved no profile and fell through to
|
|
10
|
+
* {@link synthesiseFallbackProfile}, which is deliberately frontier-eligible.
|
|
11
|
+
*
|
|
12
|
+
* The failure mode this closes is a privacy one: humans naturally write "local
|
|
13
|
+
* only" as prose in the roster, but prose lives OUTSIDE the JSON fence and is
|
|
14
|
+
* never read, so the stated intent was silently dropped.
|
|
15
|
+
*
|
|
16
|
+
* Destination split — deliberate, and the reason this command writes two files:
|
|
17
|
+
*
|
|
18
|
+
* - **Intent** (`requiresLocalRuntime`, tiers) -> `.opencode/openteam.json`,
|
|
19
|
+
* which is tracked and portable, so the privacy decision travels with the
|
|
20
|
+
* roster to every clone and to CI. Putting it in an ignored file instead
|
|
21
|
+
* would recreate the exact bug on every fresh clone.
|
|
22
|
+
* - **Binding** (`localRuntimes`) -> `.opencode/openteam-local/config.local.json`,
|
|
23
|
+
* which is git-ignored, because which runtimes exist is a property of one
|
|
24
|
+
* machine. This is the same P15b boundary the rest of the config already uses.
|
|
25
|
+
*
|
|
26
|
+
* Interactivity is why this is a separate command rather than a step inside
|
|
27
|
+
* `doctor`: `doctor` is a pure renderer and also runs as `/openteam doctor`
|
|
28
|
+
* inside opencode, where there is no TTY to answer a prompt.
|
|
29
|
+
*/
|
|
30
|
+
export declare const ROLES_INIT_LOCAL_ONLY = "local-only";
|
|
31
|
+
export declare const ROLES_INIT_FRONTIER_OK = "frontier-ok";
|
|
32
|
+
export declare const ROLES_INIT_SKIP = "skip";
|
|
33
|
+
/** A local runtime the host machine can actually reach. */
|
|
34
|
+
export type RolesInitRuntime = {
|
|
35
|
+
readonly id: LocalRuntimeId;
|
|
36
|
+
readonly available: boolean;
|
|
37
|
+
};
|
|
38
|
+
export type RolesInitDeps = {
|
|
39
|
+
prompt: Prompter;
|
|
40
|
+
/** Paths are relative to the project root; the storage is already rooted. */
|
|
41
|
+
readFile: (path: string) => Promise<string | undefined>;
|
|
42
|
+
writeFile: (path: string, contents: string) => Promise<void>;
|
|
43
|
+
/**
|
|
44
|
+
* Optional runtime discovery. When absent (or when nothing is reachable) the
|
|
45
|
+
* command records intent only and leaves the runtime binding unset, which
|
|
46
|
+
* keeps today's behaviour: the role dispatches to whatever local routing picks.
|
|
47
|
+
*/
|
|
48
|
+
detectRuntimes?: () => Promise<readonly RolesInitRuntime[]>;
|
|
49
|
+
};
|
|
50
|
+
export type RolesInitResult = {
|
|
51
|
+
readonly stdout: string;
|
|
52
|
+
readonly exitCode: number;
|
|
53
|
+
};
|
|
54
|
+
export declare function runRolesInit(deps: RolesInitDeps): Promise<RolesInitResult>;
|
|
55
|
+
//# sourceMappingURL=rolesInit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rolesInit.d.ts","sourceRoot":"","sources":["../../src/commands/rolesInit.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAUrD,OAAO,KAAK,EAAE,QAAQ,EAAgB,MAAM,SAAS,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,eAAO,MAAM,qBAAqB,eAAe,CAAC;AAClD,eAAO,MAAM,sBAAsB,gBAAgB,CAAC;AACpD,eAAO,MAAM,eAAe,SAAS,CAAC;AAOtC,2DAA2D;AAC3D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,EAAE,EAAE,cAAc,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,QAAQ,CAAC;IACjB,6EAA6E;IAC7E,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACxD,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,SAAS,gBAAgB,EAAE,CAAC,CAAC;CAC7D,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B,CAAC;AAkGF,wBAAsB,YAAY,CAChC,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,eAAe,CAAC,CA4I1B"}
|
package/dist/commands/setup.d.ts
CHANGED
|
@@ -79,6 +79,14 @@ export type RuntimeChoice = {
|
|
|
79
79
|
baseURL?: string;
|
|
80
80
|
defaultModelID: string;
|
|
81
81
|
models: string[];
|
|
82
|
+
/**
|
|
83
|
+
* Concurrent generation slots this runtime really has (#144/#207). Optional on
|
|
84
|
+
* the answer so existing construction sites stay valid; `buildOpenTeamConfig`
|
|
85
|
+
* falls back to `DEFAULT_LOCAL_MAX_CONCURRENCY` and always writes the resolved
|
|
86
|
+
* value, so the cap in force is visible in the generated file instead of being
|
|
87
|
+
* an invisible read-time default nobody knows to override.
|
|
88
|
+
*/
|
|
89
|
+
maxConcurrency?: number;
|
|
82
90
|
};
|
|
83
91
|
export type FrontierChoice = FrontierChoiceType;
|
|
84
92
|
export type SetupAnswers = {
|
|
@@ -87,6 +95,15 @@ export type SetupAnswers = {
|
|
|
87
95
|
routerMode: RouterMode;
|
|
88
96
|
privacyMode: PrivacyMode;
|
|
89
97
|
yolo: boolean;
|
|
98
|
+
/**
|
|
99
|
+
* Run without frontier models at all (#209).
|
|
100
|
+
*
|
|
101
|
+
* `frontier` stays populated even when this is true: the schema requires a
|
|
102
|
+
* `baseline.hardDefault`, and keeping it recorded means flipping
|
|
103
|
+
* `router.localOnly` back to false in the file restores a working frontier
|
|
104
|
+
* baseline without re-running setup.
|
|
105
|
+
*/
|
|
106
|
+
localOnly?: boolean;
|
|
90
107
|
};
|
|
91
108
|
export type OpencodeProviderConfig = {
|
|
92
109
|
npm: string;
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/config/errors.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,WAAW,CAAC;AAIlC,eAAO,MAAM,yBAAyB,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/config/errors.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,WAAW,CAAC;AAIlC,eAAO,MAAM,yBAAyB,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CA2GzE,CAAC;AAgIL,KAAK,6BAA6B,GAAG;IACnC,QAAQ,CAAC,eAAe,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC;IAClE,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;CACxC,CAAC;AAEF,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,6BAAkC,GAC1C,MAAM,CA0BR;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAKxD"}
|
package/dist/config/schema.d.ts
CHANGED
|
@@ -277,6 +277,7 @@ export declare const OpenTeamConfigObjectSchema: z.ZodObject<{
|
|
|
277
277
|
trivialPromptMaxChars: z.ZodDefault<z.ZodNumber>;
|
|
278
278
|
frontierPromptMinChars: z.ZodDefault<z.ZodNumber>;
|
|
279
279
|
frontierOnly: z.ZodDefault<z.ZodBoolean>;
|
|
280
|
+
localOnly: z.ZodDefault<z.ZodBoolean>;
|
|
280
281
|
}, z.core.$strict>>;
|
|
281
282
|
local: z.ZodDefault<z.ZodObject<{
|
|
282
283
|
runtimes: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
@@ -429,6 +430,7 @@ export declare const OpenTeamConfigSchema: z.ZodObject<{
|
|
|
429
430
|
trivialPromptMaxChars: z.ZodDefault<z.ZodNumber>;
|
|
430
431
|
frontierPromptMinChars: z.ZodDefault<z.ZodNumber>;
|
|
431
432
|
frontierOnly: z.ZodDefault<z.ZodBoolean>;
|
|
433
|
+
localOnly: z.ZodDefault<z.ZodBoolean>;
|
|
432
434
|
}, z.core.$strict>>;
|
|
433
435
|
local: z.ZodDefault<z.ZodObject<{
|
|
434
436
|
runtimes: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,KAAK,gBAAgB,EAEtB,MAAM,uBAAuB,CAAC;AAG/B,eAAO,MAAM,cAAc;;;kBAKhB,CAAC;AAEZ,eAAO,MAAM,gBAAgB;;;;EAA6C,CAAC;AAC3E,eAAO,MAAM,iBAAiB;;;;EAI5B,CAAC;AACH,eAAO,MAAM,kBAAkB;;;EAA6B,CAAC;AAE7D;;;GAGG;AACH,eAAO,MAAM,eAAe;;;;EAAsC,CAAC;AAEnE;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB;;;EAAmC,CAAC;AAElE;;;GAGG;AAEH;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,wCAAwC,CAAC;AAChF,eAAO,MAAM,2BAA2B,6CACI,CAAC;AAE7C,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;kBAmCnB,CAAC;AAEZ,eAAO,MAAM,iBAAiB;;;EAAqC,CAAC;AAEpE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;mBAiD5B,CAAC;AAEL;;GAEG;AAEH;;;;GAIG;AACH,eAAO,MAAM,iCAAiC,0CACL,CAAC;AAE1C,eAAO,MAAM,mBAAmB;;;;;mBAa5B,CAAC;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.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":"AACA,OAAO,EACL,KAAK,MAAM,EAEX,KAAK,YAAY,EAGlB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,KAAK,EAAE,OAAO,EAAwB,MAAM,qBAAqB,CAAC;AAEzE,OAAO,EAGL,KAAK,cAAc,EAGpB,MAAM,2BAA2B,CAAC;AAOnC,OAAO,EAEL,KAAK,YAAY,EAElB,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,iBAAiB,CAAC;AAezB,OAAO,EAEL,eAAe,EAEhB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -4,7 +4,7 @@ var __require = /* @__PURE__ */ createRequire(import.meta.url);
|
|
|
4
4
|
// src/index.ts
|
|
5
5
|
import { dirname as dirname4 } from "node:path";
|
|
6
6
|
import {
|
|
7
|
-
tool as
|
|
7
|
+
tool as tool6
|
|
8
8
|
} from "@opencode-ai/plugin";
|
|
9
9
|
|
|
10
10
|
// src/cli/graphOperator.ts
|
|
@@ -95,7 +95,8 @@ var AgentRoleProfileSchema = z.object({
|
|
|
95
95
|
preferredFrontierModels: z.array(z.union([modelSelectionSchema, z.literal("auto")])),
|
|
96
96
|
localFirst: z.boolean(),
|
|
97
97
|
requiresLocalRuntime: z.boolean().optional(),
|
|
98
|
-
localRuntimes: z.array(z.enum(["ollama", "lmstudio", "foundry-local", "lemonade"])).optional()
|
|
98
|
+
localRuntimes: z.array(z.enum(["ollama", "lmstudio", "foundry-local", "lemonade"])).optional(),
|
|
99
|
+
localModels: z.partialRecord(z.enum(["ollama", "lmstudio", "foundry-local", "lemonade"]), z.string().min(1)).optional()
|
|
99
100
|
}).strict();
|
|
100
101
|
var TEAM_ROLES = {
|
|
101
102
|
architect: {
|
|
@@ -386,6 +387,9 @@ var OrchestratorRolesSchema = z2.record(z2.string().min(1), z2.unknown()).defaul
|
|
|
386
387
|
if (parsed.data.localRuntimes !== undefined) {
|
|
387
388
|
profile.localRuntimes = parsed.data.localRuntimes;
|
|
388
389
|
}
|
|
390
|
+
if (parsed.data.localModels !== undefined) {
|
|
391
|
+
profile.localModels = parsed.data.localModels;
|
|
392
|
+
}
|
|
389
393
|
parsedRoles[roleID] = profile;
|
|
390
394
|
}
|
|
391
395
|
return parsedRoles;
|
|
@@ -468,13 +472,23 @@ var OpenTeamConfigObjectSchema = z2.object({
|
|
|
468
472
|
localDefault: ModelRefSchema.nullable().default(null),
|
|
469
473
|
trivialPromptMaxChars: z2.number().int().positive().default(280),
|
|
470
474
|
frontierPromptMinChars: z2.number().int().positive().default(2000),
|
|
471
|
-
frontierOnly: z2.boolean().default(false)
|
|
472
|
-
|
|
475
|
+
frontierOnly: z2.boolean().default(false),
|
|
476
|
+
localOnly: z2.boolean().default(false)
|
|
477
|
+
}).strict().superRefine((router, ctx) => {
|
|
478
|
+
if (router.frontierOnly && router.localOnly) {
|
|
479
|
+
ctx.addIssue({
|
|
480
|
+
code: "custom",
|
|
481
|
+
path: ["localOnly"],
|
|
482
|
+
message: "router.localOnly and router.frontierOnly cannot both be true"
|
|
483
|
+
});
|
|
484
|
+
}
|
|
485
|
+
}).default({
|
|
473
486
|
mode: "balanced",
|
|
474
487
|
localDefault: null,
|
|
475
488
|
trivialPromptMaxChars: 280,
|
|
476
489
|
frontierPromptMinChars: 2000,
|
|
477
|
-
frontierOnly: false
|
|
490
|
+
frontierOnly: false,
|
|
491
|
+
localOnly: false
|
|
478
492
|
}),
|
|
479
493
|
local: z2.object({
|
|
480
494
|
runtimes: z2.array(LocalRuntimeSchema).default([])
|
|
@@ -2650,7 +2664,8 @@ var KNOWN_CONFIG_KEYS_BY_PATH = new Map([
|
|
|
2650
2664
|
"localDefault",
|
|
2651
2665
|
"trivialPromptMaxChars",
|
|
2652
2666
|
"frontierPromptMinChars",
|
|
2653
|
-
"frontierOnly"
|
|
2667
|
+
"frontierOnly",
|
|
2668
|
+
"localOnly"
|
|
2654
2669
|
]
|
|
2655
2670
|
],
|
|
2656
2671
|
["router.localDefault", MODEL_REF_KEYS],
|
|
@@ -3673,16 +3688,21 @@ function buildOrchestratorAgent(frontier, options = {}) {
|
|
|
3673
3688
|
" `routing-cost` (plus the guaranteed `orchestrator`, `guardian`,",
|
|
3674
3689
|
" `scribe`, `ralph`). The roleID space is open: use free-form project",
|
|
3675
3690
|
" roleIDs only when no curated role fits.",
|
|
3676
|
-
`5. **Register the cast**
|
|
3677
|
-
"
|
|
3678
|
-
"
|
|
3679
|
-
|
|
3691
|
+
`5. **Register the cast** by calling the \`openteam-register-cast\` tool`,
|
|
3692
|
+
" with `{ universe, entries: [{ roleID, agentName }] }`. The tool validates",
|
|
3693
|
+
" the payload, re-asserts any missing guaranteed role, and persists the",
|
|
3694
|
+
` roster to \`${OPENTEAM_ROSTER_PATH}\` — outside \`.opencode/agent/\`,`,
|
|
3695
|
+
" which would otherwise load it as a phantom agent. Never write that file",
|
|
3696
|
+
" by hand: an invalid draft is rejected naming the offending field and",
|
|
3697
|
+
" nothing is written. Always reuse the same cast; do not re-cast without",
|
|
3698
|
+
" reason.",
|
|
3680
3699
|
"",
|
|
3681
3700
|
"## Roster file format",
|
|
3682
3701
|
"",
|
|
3683
|
-
"
|
|
3684
|
-
"`{ universe, entries: [{ roleID, agentName }] }
|
|
3685
|
-
"
|
|
3702
|
+
"`openteam-register-cast` persists the roster as Markdown with exactly one",
|
|
3703
|
+
"fenced `json` block matching `{ universe, entries: [{ roleID, agentName }] }`,",
|
|
3704
|
+
"and preserves any prose already in the document. Never write a table: the",
|
|
3705
|
+
"parser reads only the fenced block. Minimal parseable example:",
|
|
3686
3706
|
"",
|
|
3687
3707
|
"# openteam roster",
|
|
3688
3708
|
"",
|
|
@@ -3740,8 +3760,8 @@ function buildOrchestratorAgent(frontier, options = {}) {
|
|
|
3740
3760
|
" frontier only for architecture, security or ambiguous debugging:",
|
|
3741
3761
|
" openteam already routes cheapest-capable automatically.",
|
|
3742
3762
|
" - A focused, actionable role prompt.",
|
|
3743
|
-
|
|
3744
|
-
" tasks** to the newly created team with the `task` tool.",
|
|
3763
|
+
"4. Register the cast with the `openteam-register-cast` tool and **hand out",
|
|
3764
|
+
" the tasks** to the newly created team with the `task` tool.",
|
|
3745
3765
|
"",
|
|
3746
3766
|
"## Standard team roles",
|
|
3747
3767
|
"",
|
|
@@ -5785,6 +5805,16 @@ function chooseModel(input) {
|
|
|
5785
5805
|
if (override === "alwaysFrontier") {
|
|
5786
5806
|
return finalizeDecision(input, tier, frontier, budgetAction, decision(frontier.model, "frontier", ["explicit-always-frontier"], []));
|
|
5787
5807
|
}
|
|
5808
|
+
if (input.config.router.localOnly) {
|
|
5809
|
+
if (local === null) {
|
|
5810
|
+
return finalizeDecision(input, tier, frontier, budgetAction, blockedDecision(frontier.model, ["router-local-only", "forced-local-none-configured"], "forced-local-none-configured"));
|
|
5811
|
+
}
|
|
5812
|
+
return finalizeDecision(input, tier, frontier, budgetAction, resolveLocalPrimary(input, local, frontier.model, {
|
|
5813
|
+
baseRationale: ["router-local-only"],
|
|
5814
|
+
allowFrontier: false,
|
|
5815
|
+
noLocalRationale: "forced-local-unavailable"
|
|
5816
|
+
}));
|
|
5817
|
+
}
|
|
5788
5818
|
if (input.config.router.frontierOnly) {
|
|
5789
5819
|
return finalizeDecision(input, tier, frontier, budgetAction, decision(frontier.model, "frontier", ["router-frontier-only"], []));
|
|
5790
5820
|
}
|
|
@@ -5895,6 +5925,10 @@ function configuredRuntime(runtimeId, config) {
|
|
|
5895
5925
|
function runtimeIdOfModel(model, config) {
|
|
5896
5926
|
return config.local.runtimes.find((runtime) => sameModel(runtime.defaultModel, model))?.id;
|
|
5897
5927
|
}
|
|
5928
|
+
function roleLocalModel(role, runtimeId, fallback) {
|
|
5929
|
+
const pinned = role.localModels?.[runtimeId];
|
|
5930
|
+
return pinned === undefined ? fallback : { providerID: runtimeId, modelID: pinned };
|
|
5931
|
+
}
|
|
5898
5932
|
function selectDispatchRuntime(role, decision2, reachable, config) {
|
|
5899
5933
|
if (decision2.routeKind !== "local") {
|
|
5900
5934
|
return { runtimeId: undefined, decision: decision2 };
|
|
@@ -5909,15 +5943,25 @@ function selectDispatchRuntime(role, decision2, reachable, config) {
|
|
|
5909
5943
|
if (runtime === undefined) {
|
|
5910
5944
|
continue;
|
|
5911
5945
|
}
|
|
5912
|
-
const model = runtime.defaultModel;
|
|
5946
|
+
const model = roleLocalModel(role, runtimeId, runtime.defaultModel);
|
|
5913
5947
|
return {
|
|
5914
5948
|
runtimeId,
|
|
5915
5949
|
decision: { ...decision2, selected: model }
|
|
5916
5950
|
};
|
|
5917
5951
|
}
|
|
5918
5952
|
}
|
|
5953
|
+
const resolvedRuntimeId = runtimeIdOfModel(decision2.selected, config);
|
|
5954
|
+
if (resolvedRuntimeId !== undefined) {
|
|
5955
|
+
const pinned = roleLocalModel(role, resolvedRuntimeId, decision2.selected);
|
|
5956
|
+
if (pinned !== decision2.selected) {
|
|
5957
|
+
return {
|
|
5958
|
+
runtimeId: resolvedRuntimeId,
|
|
5959
|
+
decision: { ...decision2, selected: pinned }
|
|
5960
|
+
};
|
|
5961
|
+
}
|
|
5962
|
+
}
|
|
5919
5963
|
return {
|
|
5920
|
-
runtimeId:
|
|
5964
|
+
runtimeId: resolvedRuntimeId,
|
|
5921
5965
|
decision: decision2
|
|
5922
5966
|
};
|
|
5923
5967
|
}
|
|
@@ -6859,22 +6903,40 @@ async function dispatchGuaranteedRole(agentName, agentFileExists, dispatch) {
|
|
|
6859
6903
|
}
|
|
6860
6904
|
|
|
6861
6905
|
// src/orchestrator/rosterPersistence.ts
|
|
6862
|
-
function
|
|
6906
|
+
function rosterFence(roster) {
|
|
6863
6907
|
const data = { universe: roster.universe, entries: roster.entries };
|
|
6864
|
-
|
|
6908
|
+
return `\`\`\`json
|
|
6909
|
+
${JSON.stringify(data, null, 2)}
|
|
6910
|
+
\`\`\``;
|
|
6911
|
+
}
|
|
6912
|
+
function serializeRoster(roster) {
|
|
6865
6913
|
return `# openteam roster
|
|
6866
6914
|
|
|
6867
6915
|
Universe: ${roster.universe}
|
|
6868
6916
|
|
|
6869
|
-
|
|
6870
|
-
${json}
|
|
6871
|
-
\`\`\`
|
|
6917
|
+
${rosterFence(roster)}
|
|
6872
6918
|
`;
|
|
6873
6919
|
}
|
|
6920
|
+
function replaceRosterFence(existing, roster) {
|
|
6921
|
+
if (existing === undefined || existing.trim() === "") {
|
|
6922
|
+
return serializeRoster(roster);
|
|
6923
|
+
}
|
|
6924
|
+
const fence = rosterFence(roster);
|
|
6925
|
+
if (ROSTER_JSON_FENCE.test(existing)) {
|
|
6926
|
+
return existing.replace(ROSTER_JSON_FENCE, () => fence);
|
|
6927
|
+
}
|
|
6928
|
+
return `${serializeRoster(roster)}
|
|
6929
|
+
${existing}`;
|
|
6930
|
+
}
|
|
6874
6931
|
async function persistRoster(storage, roster, path2 = OPENTEAM_ROSTER_PATH) {
|
|
6875
6932
|
await storage.write(path2, serializeRoster(roster));
|
|
6876
6933
|
return path2;
|
|
6877
6934
|
}
|
|
6935
|
+
async function persistRosterPreservingProse(storage, roster, path2 = OPENTEAM_ROSTER_PATH) {
|
|
6936
|
+
const existing = await storage.read(path2);
|
|
6937
|
+
await storage.write(path2, replaceRosterFence(existing, roster));
|
|
6938
|
+
return path2;
|
|
6939
|
+
}
|
|
6878
6940
|
async function loadRosterFile(storage, path2 = OPENTEAM_ROSTER_PATH) {
|
|
6879
6941
|
const content = await storage.read(path2);
|
|
6880
6942
|
if (content === undefined) {
|
|
@@ -7874,10 +7936,23 @@ function renderConsoleStatus(console_) {
|
|
|
7874
7936
|
}
|
|
7875
7937
|
|
|
7876
7938
|
// src/commands/doctor.ts
|
|
7877
|
-
function runtimeLine(snapshot) {
|
|
7939
|
+
function runtimeLine(snapshot, runtime) {
|
|
7878
7940
|
const mark = snapshot.reachable ? "✓" : "✗";
|
|
7879
7941
|
const detail = snapshot.reachable ? `${snapshot.models.length} model(s)` : snapshot.error ?? "unreachable";
|
|
7880
|
-
|
|
7942
|
+
const declared = runtime?.maxConcurrency;
|
|
7943
|
+
const slots = declared === undefined ? ` · ${DEFAULT_LOCAL_MAX_CONCURRENCY} slot(s) (default)` : ` · ${declared} slot(s) (declared)`;
|
|
7944
|
+
return ` ${mark} ${snapshot.id.padEnd(14)} ${snapshot.baseURL || "(no baseURL)"} — ${detail}${slots}`;
|
|
7945
|
+
}
|
|
7946
|
+
function isNetworkRuntime(baseURL) {
|
|
7947
|
+
if (baseURL.length === 0) {
|
|
7948
|
+
return false;
|
|
7949
|
+
}
|
|
7950
|
+
try {
|
|
7951
|
+
const host = new URL(baseURL).hostname.toLowerCase();
|
|
7952
|
+
return host !== "localhost" && host !== "127.0.0.1" && host !== "::1" && host !== "[::1]" && !host.endsWith(".localhost");
|
|
7953
|
+
} catch {
|
|
7954
|
+
return false;
|
|
7955
|
+
}
|
|
7881
7956
|
}
|
|
7882
7957
|
function failureReasonText(reason, searchedPaths) {
|
|
7883
7958
|
switch (reason) {
|
|
@@ -8033,7 +8108,8 @@ function rosterHealthSection(audit, loadError, rosterRoleCount) {
|
|
|
8033
8108
|
if (unprofiled.length > 0) {
|
|
8034
8109
|
const roleIDs = unprofiled.map((entry) => entry.roleID).join(", ");
|
|
8035
8110
|
lines.push(` · unprofiled roleID(s): ${roleIDs}`);
|
|
8036
|
-
lines.push("
|
|
8111
|
+
lines.push(" routing: no profile means frontier-eligible — work for these roles can escalate to a frontier model. A 'local only' note in the roster prose does NOT prevent this: prose outside the JSON fence is never read.");
|
|
8112
|
+
lines.push(' remedy: run `openteam roles init` to compose a profile interactively, or add one by hand under orchestrator.roles in .opencode/openteam.json with "requiresLocalRuntime": true to pin the role local; for curated routing, change roleID to a TEAM_ROLES key instead.');
|
|
8037
8113
|
}
|
|
8038
8114
|
return lines;
|
|
8039
8115
|
}
|
|
@@ -8068,8 +8144,16 @@ function renderDoctor(input) {
|
|
|
8068
8144
|
lines.push(" (no runtime enabled)");
|
|
8069
8145
|
} else {
|
|
8070
8146
|
for (const snapshot of input.snapshots) {
|
|
8071
|
-
lines.push(runtimeLine(snapshot));
|
|
8147
|
+
lines.push(runtimeLine(snapshot, enabledRuntimes.find((r) => r.id === snapshot.id)));
|
|
8148
|
+
}
|
|
8149
|
+
}
|
|
8150
|
+
for (const snapshot of input.snapshots) {
|
|
8151
|
+
if (!isNetworkRuntime(snapshot.baseURL)) {
|
|
8152
|
+
continue;
|
|
8072
8153
|
}
|
|
8154
|
+
const runtime = enabledRuntimes.find((r) => r.id === snapshot.id);
|
|
8155
|
+
const cap = runtime?.maxConcurrency ?? DEFAULT_LOCAL_MAX_CONCURRENCY;
|
|
8156
|
+
lines.push(` ⚠ ${snapshot.id} is reached over the network: its ${cap}-slot cap is enforced per openteam process, so`, " two processes at once (an opencode session plus 'openteam console') can together exceed it.");
|
|
8073
8157
|
}
|
|
8074
8158
|
lines.push(` telemetry: ${input.telemetryPath} — ${input.telemetryRecords} record(s)`);
|
|
8075
8159
|
if (input.diagnostics !== undefined) {
|
|
@@ -9115,6 +9199,7 @@ var HELP = [
|
|
|
9115
9199
|
" openteam local off Use frontier models only (no local runtime)",
|
|
9116
9200
|
" openteam local on Re-enable local-first routing",
|
|
9117
9201
|
" openteam doctor Diagnose runtimes and config",
|
|
9202
|
+
" openteam roles init Compose per-role routing policy for unprofiled roster roles",
|
|
9118
9203
|
" openteam migrate Relocate pre-P15b artifacts to their split homes (idempotent)",
|
|
9119
9204
|
" openteam agents List agents and each one's LLM (local/frontier)",
|
|
9120
9205
|
" openteam console Launch the multi-session web Console (Ctrl+C to stop; --open opens the browser)",
|
|
@@ -12541,6 +12626,78 @@ function createOrchestrateTool(deps) {
|
|
|
12541
12626
|
});
|
|
12542
12627
|
}
|
|
12543
12628
|
|
|
12629
|
+
// src/plugin/registerCastTool.ts
|
|
12630
|
+
import { tool as tool5 } from "@opencode-ai/plugin";
|
|
12631
|
+
import { z as z26 } from "zod";
|
|
12632
|
+
var CastEntrySchema = z26.object({
|
|
12633
|
+
roleID: z26.string().min(1).describe("Stable role identifier, e.g. scribe or guardian"),
|
|
12634
|
+
agentName: z26.string().min(1).describe("Themed character name assigned to the role")
|
|
12635
|
+
}).strict();
|
|
12636
|
+
var RegisterCastPayloadSchema = z26.object({
|
|
12637
|
+
universe: z26.string().min(1).describe("Casting universe for this roster"),
|
|
12638
|
+
entries: z26.array(CastEntrySchema).min(1).describe("Role-to-name mappings")
|
|
12639
|
+
}).strict();
|
|
12640
|
+
function offendingFields(error) {
|
|
12641
|
+
const fields = error.issues.flatMap((issue) => {
|
|
12642
|
+
const base = issue.path.map((segment) => String(segment));
|
|
12643
|
+
if (issue.code === "unrecognized_keys") {
|
|
12644
|
+
return issue.keys.map((key) => [...base, key].join("."));
|
|
12645
|
+
}
|
|
12646
|
+
return [base.join(".") || "(root)"];
|
|
12647
|
+
});
|
|
12648
|
+
return [...new Set(fields)];
|
|
12649
|
+
}
|
|
12650
|
+
async function registerCast(storage, draft, path4 = OPENTEAM_ROSTER_PATH) {
|
|
12651
|
+
const parsed = RegisterCastPayloadSchema.safeParse(draft);
|
|
12652
|
+
if (!parsed.success) {
|
|
12653
|
+
const fields = offendingFields(parsed.error);
|
|
12654
|
+
return {
|
|
12655
|
+
ok: false,
|
|
12656
|
+
error: `cast draft rejected — invalid field(s): ${fields.join(", ")}`,
|
|
12657
|
+
fields
|
|
12658
|
+
};
|
|
12659
|
+
}
|
|
12660
|
+
const roster = enforceGuaranteedRoles({
|
|
12661
|
+
universe: parsed.data.universe,
|
|
12662
|
+
entries: parsed.data.entries
|
|
12663
|
+
});
|
|
12664
|
+
const written = await persistRosterPreservingProse(storage, roster, path4);
|
|
12665
|
+
return { ok: true, path: written, roster };
|
|
12666
|
+
}
|
|
12667
|
+
function unprofiledRoleIDs(roster, configuredRoles) {
|
|
12668
|
+
return roster.entries.filter((entry) => getRoleProfile(entry.roleID, configuredRoles) === undefined && !isKnownNonWorkerRole(entry.roleID)).map((entry) => entry.roleID);
|
|
12669
|
+
}
|
|
12670
|
+
function createRegisterCastTool(deps) {
|
|
12671
|
+
return tool5({
|
|
12672
|
+
description: "Registers the orchestrator's cast as the project roster. Use this " + "instead of writing the roster file directly: the payload is validated " + "before anything is persisted, guaranteed roles are added automatically, " + "and curated prose already in the document is preserved.",
|
|
12673
|
+
args: {
|
|
12674
|
+
universe: tool5.schema.string().describe("Casting universe for this roster"),
|
|
12675
|
+
entries: tool5.schema.array(tool5.schema.object({
|
|
12676
|
+
roleID: tool5.schema.string().describe("Stable role identifier, e.g. scribe or guardian"),
|
|
12677
|
+
agentName: tool5.schema.string().describe("Themed character name assigned to the role")
|
|
12678
|
+
})).describe("Role-to-name mappings")
|
|
12679
|
+
},
|
|
12680
|
+
async execute(args) {
|
|
12681
|
+
const result = await registerCast(deps.storage, args, deps.rosterPath ?? OPENTEAM_ROSTER_PATH);
|
|
12682
|
+
if (!result.ok) {
|
|
12683
|
+
return `validation error: ${result.error}`;
|
|
12684
|
+
}
|
|
12685
|
+
const roles = result.roster.entries.map((entry) => `${entry.roleID}=${entry.agentName}`).join(", ");
|
|
12686
|
+
const registered = `registered ${result.roster.entries.length} roles in ${result.path} (${roles})`;
|
|
12687
|
+
const unprofiled = unprofiledRoleIDs(result.roster, deps.configuredRoles);
|
|
12688
|
+
if (unprofiled.length === 0) {
|
|
12689
|
+
return registered;
|
|
12690
|
+
}
|
|
12691
|
+
return [
|
|
12692
|
+
registered,
|
|
12693
|
+
`warning: ${unprofiled.join(", ")} resolve no routing profile, so they are frontier-eligible — their work can escalate to a frontier model. Describing a role as "local only" in the roster prose does NOT prevent this: prose outside the JSON block is never read.`,
|
|
12694
|
+
'remedy: tell the human to run `openteam roles init` to pin those roles local, or add a profile under orchestrator.roles in .opencode/openteam.json with "requiresLocalRuntime": true.'
|
|
12695
|
+
].join(`
|
|
12696
|
+
`);
|
|
12697
|
+
}
|
|
12698
|
+
});
|
|
12699
|
+
}
|
|
12700
|
+
|
|
12544
12701
|
// src/plugin/sessionTracker.ts
|
|
12545
12702
|
function createSessionTracker() {
|
|
12546
12703
|
const knownSessions = new Set;
|
|
@@ -12813,7 +12970,7 @@ var createOtlpSpanExporter = (connection, config) => {
|
|
|
12813
12970
|
// package.json
|
|
12814
12971
|
var package_default = {
|
|
12815
12972
|
name: "@jmanuelcorral/openteam",
|
|
12816
|
-
version: "0.
|
|
12973
|
+
version: "0.10.0",
|
|
12817
12974
|
packageManager: "bun@1.3.14",
|
|
12818
12975
|
description: "Cost-aware, local-first routing plugin for opencode with cheapest-capable frontier fallback and multi-agent orchestration.",
|
|
12819
12976
|
license: "MIT",
|
|
@@ -13386,11 +13543,11 @@ function createLoopTool(deps) {
|
|
|
13386
13543
|
const defaultRalphAgent = TEAM_ROLES[RALPH_ROLE_ID]?.opencodeAgent ?? RALPH_ROLE_ID;
|
|
13387
13544
|
const agentDir = dirname4(ORCHESTRATOR_AGENT_PATH);
|
|
13388
13545
|
const agentFileExists = (agentName) => deps.storage.exists(`${agentDir}/${agentName}.md`);
|
|
13389
|
-
return
|
|
13546
|
+
return tool6({
|
|
13390
13547
|
description: "Runs openteam's bounded Ralph-pattern loop: dispatches the guaranteed " + "ralph role repeatedly until done or the iteration cap. Ensures a roster " + "exists and fails closed when the ralph agent file is missing (run " + "`openteam setup`).",
|
|
13391
13548
|
args: {
|
|
13392
|
-
prompt:
|
|
13393
|
-
maxIterations:
|
|
13549
|
+
prompt: tool6.schema.string().describe("Work prompt for the ralph loop"),
|
|
13550
|
+
maxIterations: tool6.schema.number().int().positive().optional().describe("Iteration cap (defaults to the ralph loop default)")
|
|
13394
13551
|
},
|
|
13395
13552
|
async execute(args) {
|
|
13396
13553
|
const prompt = typeof args.prompt === "string" ? args.prompt : "";
|
|
@@ -13592,6 +13749,10 @@ var server = async (ctx, rawOptions) => {
|
|
|
13592
13749
|
runtimeLimiter
|
|
13593
13750
|
}
|
|
13594
13751
|
});
|
|
13752
|
+
const registerCastTool = createRegisterCastTool({
|
|
13753
|
+
storage,
|
|
13754
|
+
configuredRoles: config.orchestrator?.roles
|
|
13755
|
+
});
|
|
13595
13756
|
return {
|
|
13596
13757
|
...hooks,
|
|
13597
13758
|
tool: {
|
|
@@ -13599,7 +13760,8 @@ var server = async (ctx, rawOptions) => {
|
|
|
13599
13760
|
"openteam-graph": graphSurface.definition,
|
|
13600
13761
|
"openteam-orchestrate": orchestrateTool,
|
|
13601
13762
|
"openteam-memory": memoryTool,
|
|
13602
|
-
"openteam-loop": loopTool
|
|
13763
|
+
"openteam-loop": loopTool,
|
|
13764
|
+
"openteam-register-cast": registerCastTool
|
|
13603
13765
|
},
|
|
13604
13766
|
"tool.execute.before": async (input) => {
|
|
13605
13767
|
toolcalls.before(input);
|