youmd 0.9.3 → 0.9.5
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/dist/commands/orchestrate.d.ts.map +1 -1
- package/dist/commands/orchestrate.js +4 -2
- package/dist/commands/orchestrate.js.map +1 -1
- package/dist/commands/remote.d.ts +2 -0
- package/dist/commands/remote.d.ts.map +1 -1
- package/dist/commands/remote.js +4 -2
- package/dist/commands/remote.js.map +1 -1
- package/dist/commands/sync.d.ts.map +1 -1
- package/dist/commands/sync.js +25 -0
- package/dist/commands/sync.js.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/orchestrator/capabilities.d.ts +56 -0
- package/dist/lib/orchestrator/capabilities.d.ts.map +1 -0
- package/dist/lib/orchestrator/capabilities.js +219 -0
- package/dist/lib/orchestrator/capabilities.js.map +1 -0
- package/dist/lib/orchestrator/tools.d.ts +6 -0
- package/dist/lib/orchestrator/tools.d.ts.map +1 -1
- package/dist/lib/orchestrator/tools.js +179 -5
- package/dist/lib/orchestrator/tools.js.map +1 -1
- package/dist/lib/remote-executor.d.ts +12 -1
- package/dist/lib/remote-executor.d.ts.map +1 -1
- package/dist/lib/remote-executor.js +101 -0
- package/dist/lib/remote-executor.js.map +1 -1
- package/dist/lib/vault-autorestore.d.ts +31 -0
- package/dist/lib/vault-autorestore.d.ts.map +1 -0
- package/dist/lib/vault-autorestore.js +75 -0
- package/dist/lib/vault-autorestore.js.map +1 -0
- package/dist/mcp/registry.d.ts.map +1 -1
- package/dist/mcp/registry.js +3 -2
- package/dist/mcp/registry.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
export interface HarnessCapability {
|
|
2
|
+
/** Task kinds this harness is strong at, e.g. "coding", "frontend", "scripts". */
|
|
3
|
+
strengths: string[];
|
|
4
|
+
/** Short human note shown in get_capabilities. */
|
|
5
|
+
notes?: string;
|
|
6
|
+
}
|
|
7
|
+
/** harness name → capability. Keyed by string so config can add executors we haven't met yet. */
|
|
8
|
+
export type CapabilityMap = Record<string, HarnessCapability>;
|
|
9
|
+
/** Picked when nothing matches (and used as the tie-break anchor). */
|
|
10
|
+
export declare const FALLBACK_HARNESS = "claude";
|
|
11
|
+
/**
|
|
12
|
+
* Built-in defaults. Deliberately modest: these are routing hints, not benchmarks, and any
|
|
13
|
+
* install can replace a harness's entry wholesale via the JSON overrides (see loadCapabilityMap).
|
|
14
|
+
*/
|
|
15
|
+
export declare const DEFAULT_CAPABILITIES: CapabilityMap;
|
|
16
|
+
/**
|
|
17
|
+
* Keyword table for goal-text scanning: task kind → words/phrases that signal it.
|
|
18
|
+
* Exported so tests (and humans reviewing overrides) can pin exactly what routes where.
|
|
19
|
+
* Matching is case-insensitive on word boundaries — "script" does NOT match "description".
|
|
20
|
+
*/
|
|
21
|
+
export declare const CAPABILITY_KEYWORDS: Record<string, string[]>;
|
|
22
|
+
/** Path of the per-install override file (merged over the defaults when present). */
|
|
23
|
+
export declare function homeCapabilityPath(): string;
|
|
24
|
+
export interface LoadedCapabilityMap {
|
|
25
|
+
map: CapabilityMap;
|
|
26
|
+
/** Where each harness's entry came from: built-in default or a user override file. */
|
|
27
|
+
sources: Record<string, "default" | "override">;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Merge order (later wins, per harness):
|
|
31
|
+
* DEFAULT_CAPABILITIES ← ~/.you/orchestrator/capabilities.json ← $YOU_CAPABILITY_MAP file
|
|
32
|
+
* An override entry replaces that harness's entry wholesale (its strengths list is the new
|
|
33
|
+
* truth); harnesses it does not mention keep their previous entry. Malformed input never throws.
|
|
34
|
+
*/
|
|
35
|
+
export declare function loadCapabilityMapDetailed(): LoadedCapabilityMap;
|
|
36
|
+
/** The merged capability map (see loadCapabilityMapDetailed for merge semantics). */
|
|
37
|
+
export declare function loadCapabilityMap(): CapabilityMap;
|
|
38
|
+
export interface HarnessPick {
|
|
39
|
+
harness: string;
|
|
40
|
+
/** Task kinds that drove the pick (empty when falling back to the default). */
|
|
41
|
+
matched: string[];
|
|
42
|
+
/** Human-readable why, e.g. "matched: scripts" — surfaced in spawn_agent's response. */
|
|
43
|
+
reason: string;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Deterministically pick a harness for a task kind or free-text goal:
|
|
47
|
+
* 1. exact task-kind match against strengths (input IS a kind, e.g. "frontend");
|
|
48
|
+
* 2. keyword scan of the goal text (CAPABILITY_KEYWORDS) — most matched kinds wins,
|
|
49
|
+
* first-listed harness in the map breaks ties;
|
|
50
|
+
* 3. FALLBACK_HARNESS ("claude") as the safe default.
|
|
51
|
+
* Pure function of (input, map): no I/O when a map is supplied.
|
|
52
|
+
*/
|
|
53
|
+
export declare function pickHarness(taskKindOrGoal: string, map?: CapabilityMap): HarnessPick;
|
|
54
|
+
/** One readable line per harness (name, source, strengths, notes) — for get_capabilities. */
|
|
55
|
+
export declare function describeCapabilityMap(loaded?: LoadedCapabilityMap): string;
|
|
56
|
+
//# sourceMappingURL=capabilities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../../src/lib/orchestrator/capabilities.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,iBAAiB;IAChC,kFAAkF;IAClF,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,iGAAiG;AACjG,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAE9D,sEAAsE;AACtE,eAAO,MAAM,gBAAgB,WAAW,CAAC;AAEzC;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,aAalC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CASxD,CAAC;AAEF,qFAAqF;AACrF,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAgCD,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,aAAa,CAAC;IACnB,sFAAsF;IACtF,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,UAAU,CAAC,CAAC;CACjD;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,IAAI,mBAAmB,CAkB/D;AAED,qFAAqF;AACrF,wBAAgB,iBAAiB,IAAI,aAAa,CAEjD;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,+EAA+E;IAC/E,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,wFAAwF;IACxF,MAAM,EAAE,MAAM,CAAC;CAChB;AAqBD;;;;;;;GAOG;AACH,wBAAgB,WAAW,CACzB,cAAc,EAAE,MAAM,EACtB,GAAG,GAAE,aAAmC,GACvC,WAAW,CA2Bb;AAED,6FAA6F;AAC7F,wBAAgB,qBAAqB,CACnC,MAAM,GAAE,mBAAiD,GACxD,MAAM,CAYR"}
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// capabilities.ts — the orchestrator's capability map (roadmap item 5).
|
|
3
|
+
//
|
|
4
|
+
// A registry of which worker harness is best at which task kinds, so U picks the executor —
|
|
5
|
+
// not the user. Agnostic by construction (orchestrator doc §3): the defaults below are modest,
|
|
6
|
+
// editable claims, and every install can override them with plain JSON config
|
|
7
|
+
// (~/.you/orchestrator/capabilities.json, or a file pointed at by YOU_CAPABILITY_MAP) —
|
|
8
|
+
// new executors are config, not forks. No LLM, no network in this file: pure deterministic
|
|
9
|
+
// lookup that spawn_agent uses when the model does not name a harness. Malformed config must
|
|
10
|
+
// never break routing — every load error falls back to the built-in defaults silently.
|
|
11
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
12
|
+
if (k2 === undefined) k2 = k;
|
|
13
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
14
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
15
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
16
|
+
}
|
|
17
|
+
Object.defineProperty(o, k2, desc);
|
|
18
|
+
}) : (function(o, m, k, k2) {
|
|
19
|
+
if (k2 === undefined) k2 = k;
|
|
20
|
+
o[k2] = m[k];
|
|
21
|
+
}));
|
|
22
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
23
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
24
|
+
}) : function(o, v) {
|
|
25
|
+
o["default"] = v;
|
|
26
|
+
});
|
|
27
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
28
|
+
var ownKeys = function(o) {
|
|
29
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
30
|
+
var ar = [];
|
|
31
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
32
|
+
return ar;
|
|
33
|
+
};
|
|
34
|
+
return ownKeys(o);
|
|
35
|
+
};
|
|
36
|
+
return function (mod) {
|
|
37
|
+
if (mod && mod.__esModule) return mod;
|
|
38
|
+
var result = {};
|
|
39
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
40
|
+
__setModuleDefault(result, mod);
|
|
41
|
+
return result;
|
|
42
|
+
};
|
|
43
|
+
})();
|
|
44
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
|
+
exports.CAPABILITY_KEYWORDS = exports.DEFAULT_CAPABILITIES = exports.FALLBACK_HARNESS = void 0;
|
|
46
|
+
exports.homeCapabilityPath = homeCapabilityPath;
|
|
47
|
+
exports.loadCapabilityMapDetailed = loadCapabilityMapDetailed;
|
|
48
|
+
exports.loadCapabilityMap = loadCapabilityMap;
|
|
49
|
+
exports.pickHarness = pickHarness;
|
|
50
|
+
exports.describeCapabilityMap = describeCapabilityMap;
|
|
51
|
+
const fs = __importStar(require("fs"));
|
|
52
|
+
const path = __importStar(require("path"));
|
|
53
|
+
const config_1 = require("../config");
|
|
54
|
+
/** Picked when nothing matches (and used as the tie-break anchor). */
|
|
55
|
+
exports.FALLBACK_HARNESS = "claude";
|
|
56
|
+
/**
|
|
57
|
+
* Built-in defaults. Deliberately modest: these are routing hints, not benchmarks, and any
|
|
58
|
+
* install can replace a harness's entry wholesale via the JSON overrides (see loadCapabilityMap).
|
|
59
|
+
*/
|
|
60
|
+
exports.DEFAULT_CAPABILITIES = {
|
|
61
|
+
claude: {
|
|
62
|
+
strengths: ["coding", "refactor", "tests", "debugging", "multi-step", "planning", "research"],
|
|
63
|
+
notes: "strongest at substantial multi-step code work; the safe default",
|
|
64
|
+
},
|
|
65
|
+
codex: {
|
|
66
|
+
strengths: ["scripts", "quick-edit", "automation"],
|
|
67
|
+
notes: "fast for small, well-scoped code edits and one-off scripts",
|
|
68
|
+
},
|
|
69
|
+
cursor: {
|
|
70
|
+
strengths: ["frontend", "ui", "design"],
|
|
71
|
+
notes: "best for frontend/UI iteration inside an existing app",
|
|
72
|
+
},
|
|
73
|
+
};
|
|
74
|
+
/**
|
|
75
|
+
* Keyword table for goal-text scanning: task kind → words/phrases that signal it.
|
|
76
|
+
* Exported so tests (and humans reviewing overrides) can pin exactly what routes where.
|
|
77
|
+
* Matching is case-insensitive on word boundaries — "script" does NOT match "description".
|
|
78
|
+
*/
|
|
79
|
+
exports.CAPABILITY_KEYWORDS = {
|
|
80
|
+
coding: ["implement", "build", "feature", "bug", "bugfix", "endpoint", "api"],
|
|
81
|
+
refactor: ["refactor", "rename", "restructure", "clean up", "cleanup"],
|
|
82
|
+
tests: ["test", "tests", "vitest", "coverage", "spec"],
|
|
83
|
+
frontend: ["frontend", "ui", "css", "tailwind", "component", "landing page", "styling", "design"],
|
|
84
|
+
research: ["research", "investigate", "compare", "survey"],
|
|
85
|
+
planning: ["plan", "planning", "roadmap", "architecture", "spec out"],
|
|
86
|
+
scripts: ["script", "one-liner", "cron", "automation", "shell"],
|
|
87
|
+
"quick-edit": ["quick edit", "small change", "one-line change", "typo"],
|
|
88
|
+
};
|
|
89
|
+
/** Path of the per-install override file (merged over the defaults when present). */
|
|
90
|
+
function homeCapabilityPath() {
|
|
91
|
+
return path.join((0, config_1.getWritableHomeBundleDir)(), "orchestrator", "capabilities.json");
|
|
92
|
+
}
|
|
93
|
+
/** Validate + normalize a parsed override. Drops anything malformed instead of throwing. */
|
|
94
|
+
function sanitizeCapabilityMap(raw) {
|
|
95
|
+
if (!raw || typeof raw !== "object" || Array.isArray(raw))
|
|
96
|
+
return undefined;
|
|
97
|
+
const out = {};
|
|
98
|
+
for (const [name, value] of Object.entries(raw)) {
|
|
99
|
+
if (!name.trim() || !value || typeof value !== "object" || Array.isArray(value))
|
|
100
|
+
continue;
|
|
101
|
+
const strengths = value.strengths;
|
|
102
|
+
if (!Array.isArray(strengths))
|
|
103
|
+
continue;
|
|
104
|
+
const clean = strengths
|
|
105
|
+
.filter((s) => typeof s === "string" && s.trim().length > 0)
|
|
106
|
+
.map((s) => s.trim().toLowerCase());
|
|
107
|
+
if (clean.length === 0)
|
|
108
|
+
continue;
|
|
109
|
+
const notes = value.notes;
|
|
110
|
+
out[name.trim().toLowerCase()] = {
|
|
111
|
+
strengths: Array.from(new Set(clean)),
|
|
112
|
+
...(typeof notes === "string" && notes.trim() ? { notes: notes.trim() } : {}),
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
return Object.keys(out).length > 0 ? out : undefined;
|
|
116
|
+
}
|
|
117
|
+
/** Read + parse an override file. Missing/unreadable/malformed → undefined, never a throw. */
|
|
118
|
+
function readOverrideFile(file) {
|
|
119
|
+
try {
|
|
120
|
+
return sanitizeCapabilityMap(JSON.parse(fs.readFileSync(file, "utf-8")));
|
|
121
|
+
}
|
|
122
|
+
catch {
|
|
123
|
+
return undefined;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Merge order (later wins, per harness):
|
|
128
|
+
* DEFAULT_CAPABILITIES ← ~/.you/orchestrator/capabilities.json ← $YOU_CAPABILITY_MAP file
|
|
129
|
+
* An override entry replaces that harness's entry wholesale (its strengths list is the new
|
|
130
|
+
* truth); harnesses it does not mention keep their previous entry. Malformed input never throws.
|
|
131
|
+
*/
|
|
132
|
+
function loadCapabilityMapDetailed() {
|
|
133
|
+
const map = {};
|
|
134
|
+
const sources = {};
|
|
135
|
+
for (const [name, cap] of Object.entries(exports.DEFAULT_CAPABILITIES)) {
|
|
136
|
+
map[name] = { ...cap, strengths: [...cap.strengths] };
|
|
137
|
+
sources[name] = "default";
|
|
138
|
+
}
|
|
139
|
+
const overrides = [readOverrideFile(homeCapabilityPath())];
|
|
140
|
+
const envPath = (process.env.YOU_CAPABILITY_MAP || "").trim();
|
|
141
|
+
if (envPath)
|
|
142
|
+
overrides.push(readOverrideFile(envPath));
|
|
143
|
+
for (const override of overrides) {
|
|
144
|
+
if (!override)
|
|
145
|
+
continue;
|
|
146
|
+
for (const [name, cap] of Object.entries(override)) {
|
|
147
|
+
map[name] = { ...cap, strengths: [...cap.strengths] };
|
|
148
|
+
sources[name] = "override";
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
return { map, sources };
|
|
152
|
+
}
|
|
153
|
+
/** The merged capability map (see loadCapabilityMapDetailed for merge semantics). */
|
|
154
|
+
function loadCapabilityMap() {
|
|
155
|
+
return loadCapabilityMapDetailed().map;
|
|
156
|
+
}
|
|
157
|
+
function keywordRegex(keyword) {
|
|
158
|
+
const escaped = keyword.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
159
|
+
return new RegExp(`\\b${escaped}\\b`, "i");
|
|
160
|
+
}
|
|
161
|
+
/** Harness whose strengths cover the most matched kinds; first-listed breaks ties. */
|
|
162
|
+
function harnessForKinds(kinds, map) {
|
|
163
|
+
let best;
|
|
164
|
+
for (const [name, cap] of Object.entries(map)) {
|
|
165
|
+
const matched = kinds.filter((k) => cap.strengths.includes(k));
|
|
166
|
+
if (matched.length === 0)
|
|
167
|
+
continue;
|
|
168
|
+
if (!best || matched.length > best.matched.length)
|
|
169
|
+
best = { harness: name, matched };
|
|
170
|
+
}
|
|
171
|
+
return best;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Deterministically pick a harness for a task kind or free-text goal:
|
|
175
|
+
* 1. exact task-kind match against strengths (input IS a kind, e.g. "frontend");
|
|
176
|
+
* 2. keyword scan of the goal text (CAPABILITY_KEYWORDS) — most matched kinds wins,
|
|
177
|
+
* first-listed harness in the map breaks ties;
|
|
178
|
+
* 3. FALLBACK_HARNESS ("claude") as the safe default.
|
|
179
|
+
* Pure function of (input, map): no I/O when a map is supplied.
|
|
180
|
+
*/
|
|
181
|
+
function pickHarness(taskKindOrGoal, map = loadCapabilityMap()) {
|
|
182
|
+
const input = String(taskKindOrGoal ?? "").trim().toLowerCase();
|
|
183
|
+
if (input) {
|
|
184
|
+
// 1. The caller named a task kind directly.
|
|
185
|
+
for (const [name, cap] of Object.entries(map)) {
|
|
186
|
+
if (cap.strengths.includes(input)) {
|
|
187
|
+
return { harness: name, matched: [input], reason: `matched task kind: ${input}` };
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
// 2. Keyword scan of the goal text.
|
|
191
|
+
const kinds = Object.entries(exports.CAPABILITY_KEYWORDS)
|
|
192
|
+
.filter(([, words]) => words.some((w) => keywordRegex(w).test(input)))
|
|
193
|
+
.map(([kind]) => kind);
|
|
194
|
+
const best = harnessForKinds(kinds, map);
|
|
195
|
+
if (best) {
|
|
196
|
+
return {
|
|
197
|
+
harness: best.harness,
|
|
198
|
+
matched: best.matched,
|
|
199
|
+
reason: `matched: ${best.matched.join(", ")}`,
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
// 3. Safe default (fall back to the first mapped harness if an override removed claude).
|
|
204
|
+
const fallback = map[exports.FALLBACK_HARNESS] ? exports.FALLBACK_HARNESS : Object.keys(map)[0] || exports.FALLBACK_HARNESS;
|
|
205
|
+
return { harness: fallback, matched: [], reason: "default (no capability match)" };
|
|
206
|
+
}
|
|
207
|
+
/** One readable line per harness (name, source, strengths, notes) — for get_capabilities. */
|
|
208
|
+
function describeCapabilityMap(loaded = loadCapabilityMapDetailed()) {
|
|
209
|
+
const lines = Object.entries(loaded.map).map(([name, cap]) => {
|
|
210
|
+
const source = loaded.sources[name] || "default";
|
|
211
|
+
const notes = cap.notes ? ` :: ${cap.notes}` : "";
|
|
212
|
+
return `${name} [${source}] strengths: ${cap.strengths.join(", ")}${notes}`;
|
|
213
|
+
});
|
|
214
|
+
if (lines.length === 0)
|
|
215
|
+
return "capability map is empty (defaults missing — this should not happen)";
|
|
216
|
+
lines.push("", `Override per harness via ${homeCapabilityPath()} or YOU_CAPABILITY_MAP=<file.json>. Omit \`harness\` on spawn_agent to auto-pick from this map.`);
|
|
217
|
+
return lines.join("\n");
|
|
218
|
+
}
|
|
219
|
+
//# sourceMappingURL=capabilities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../../src/lib/orchestrator/capabilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,12 @@ export interface BuildToolsOptions {
|
|
|
8
8
|
}
|
|
9
9
|
/** Build the orchestrator tool set (process supervision over worker harnesses). */
|
|
10
10
|
export declare function buildOrchestratorTools(opts?: BuildToolsOptions): LoopTool[];
|
|
11
|
+
/**
|
|
12
|
+
* Build the READ-ONLY brain tool set (identity + portfolio graph). These let U route a goal to the
|
|
13
|
+
* right project/repo/machine/harness before delegating. All handlers catch errors and return a
|
|
14
|
+
* readable string; none throw, and each degrades to a clear "not authenticated" message.
|
|
15
|
+
*/
|
|
16
|
+
export declare function buildBrainTools(): LoopTool[];
|
|
11
17
|
/**
|
|
12
18
|
* A harness/model-agnostic model caller: try the You.md chat proxy (no key needed), fall back to
|
|
13
19
|
* the user's OpenRouter key if present. Mirrors the proven onboarding.ts pattern.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/lib/orchestrator/tools.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,EAAe,WAAW,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/lib/orchestrator/tools.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,EAAe,WAAW,EAAE,MAAM,QAAQ,CAAC;AAyB5D,4FAA4F;AAC5F,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAe1F;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AA4BD,mFAAmF;AACnF,wBAAgB,sBAAsB,CAAC,IAAI,GAAE,iBAAsB,GAAG,QAAQ,EAAE,CAqI/E;AAqCD;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,QAAQ,EAAE,CA+F5C;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,WAAW,CA4C7C"}
|
|
@@ -40,10 +40,12 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
40
40
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41
41
|
exports.resolveProjectDir = resolveProjectDir;
|
|
42
42
|
exports.buildOrchestratorTools = buildOrchestratorTools;
|
|
43
|
+
exports.buildBrainTools = buildBrainTools;
|
|
43
44
|
exports.makeModelCaller = makeModelCaller;
|
|
44
45
|
const os = __importStar(require("os"));
|
|
45
46
|
const path = __importStar(require("path"));
|
|
46
47
|
const supervisor_1 = require("./supervisor");
|
|
48
|
+
const capabilities_1 = require("./capabilities");
|
|
47
49
|
const config_1 = require("../config");
|
|
48
50
|
const remote_command_1 = require("../remote-command");
|
|
49
51
|
const api_1 = require("../api");
|
|
@@ -97,25 +99,37 @@ function buildOrchestratorTools(opts = {}) {
|
|
|
97
99
|
return [
|
|
98
100
|
{
|
|
99
101
|
name: "spawn_agent",
|
|
100
|
-
description: "Launch a worker agent harness on a task in a project (delegate the actual work). Add `machine` to run it on another computer (that host must have YOU_REMOTE_AGENT_HOST=1).",
|
|
102
|
+
description: "Launch a worker agent harness on a task in a project (delegate the actual work). Omit `harness` to auto-pick the best executor from the capability map (see get_capabilities). Add `machine` to run it on another computer (that host must have YOU_REMOTE_AGENT_HOST=1).",
|
|
101
103
|
parameters: {
|
|
102
|
-
harness: "claude | codex | cursor (custom = local only)",
|
|
104
|
+
harness: "(optional) claude | codex | cursor (custom = local only); when omitted, auto-picked from the capability map based on the goal",
|
|
103
105
|
goal: "the task prompt for the worker",
|
|
104
106
|
project: "(optional) You.md project name or absolute path to run in",
|
|
105
107
|
dir: "(optional, local only) explicit working directory (overrides project)",
|
|
106
108
|
machine: "(optional) remote machine hostname to run on instead of this host",
|
|
107
109
|
},
|
|
108
110
|
run: async (args) => {
|
|
109
|
-
const harness = String(args.harness || "claude");
|
|
110
111
|
const goal = String(args.goal || "").trim();
|
|
111
112
|
if (!goal)
|
|
112
113
|
return "error: spawn_agent requires a non-empty goal";
|
|
114
|
+
// Capability-map routing: an explicit harness is honored unchanged; when absent, U picks
|
|
115
|
+
// the executor deterministically from the merged map (defaults + user overrides).
|
|
116
|
+
let harness;
|
|
117
|
+
let pickedNote = "";
|
|
118
|
+
if (args.harness) {
|
|
119
|
+
harness = String(args.harness);
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
const pick = (0, capabilities_1.pickHarness)(goal);
|
|
123
|
+
harness = pick.harness;
|
|
124
|
+
pickedNote = ` — auto-picked ${pick.harness} (${pick.reason})`;
|
|
125
|
+
}
|
|
113
126
|
if (args.machine) {
|
|
114
|
-
|
|
127
|
+
const remote = await runRemoteAgentAction(String(args.machine), "agent.spawn", {
|
|
115
128
|
harness,
|
|
116
129
|
goal,
|
|
117
130
|
project: args.project ? String(args.project) : undefined,
|
|
118
131
|
});
|
|
132
|
+
return `${remote}${pickedNote}`;
|
|
119
133
|
}
|
|
120
134
|
const dir = args.dir
|
|
121
135
|
? String(args.dir)
|
|
@@ -129,7 +143,20 @@ function buildOrchestratorTools(opts = {}) {
|
|
|
129
143
|
});
|
|
130
144
|
if (!res.ok || !res.worker)
|
|
131
145
|
return `error: ${res.error}`;
|
|
132
|
-
return `launched ${harness} worker ${res.worker.id} (pid ${res.worker.pid}) in ${dir}`;
|
|
146
|
+
return `launched ${harness} worker ${res.worker.id} (pid ${res.worker.pid}) in ${dir}${pickedNote}`;
|
|
147
|
+
},
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
name: "get_capabilities",
|
|
151
|
+
description: "READ-ONLY. The harness capability map: which worker harness is best at which task kinds (coding, frontend, scripts, research, ...). Consult it to choose `harness` for spawn_agent — or omit harness and it is auto-picked from this map.",
|
|
152
|
+
parameters: {},
|
|
153
|
+
run: async () => {
|
|
154
|
+
try {
|
|
155
|
+
return (0, capabilities_1.describeCapabilityMap)();
|
|
156
|
+
}
|
|
157
|
+
catch (err) {
|
|
158
|
+
return `error reading capability map: ${err.message}`;
|
|
159
|
+
}
|
|
133
160
|
},
|
|
134
161
|
},
|
|
135
162
|
{
|
|
@@ -204,6 +231,153 @@ function buildOrchestratorTools(opts = {}) {
|
|
|
204
231
|
},
|
|
205
232
|
];
|
|
206
233
|
}
|
|
234
|
+
// ─── Brain tools (READ-ONLY identity/portfolio routing) ─────────────────────────
|
|
235
|
+
//
|
|
236
|
+
// These give U the "brain" it needs to route work BEFORE spawning: who the user is, what
|
|
237
|
+
// projects/repos/machines exist, and the goal/stack/repo for a single project. They reuse the
|
|
238
|
+
// existing read-only api.ts client methods (getMe / getPortfolioGraph) — no new endpoints — and
|
|
239
|
+
// degrade gracefully when unauthenticated, mirroring how list_machines handles that case.
|
|
240
|
+
/** Narrow a portfolio-graph project match by name or slug (case/format tolerant). */
|
|
241
|
+
function normalizeKey(value) {
|
|
242
|
+
return value.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "");
|
|
243
|
+
}
|
|
244
|
+
function findProject(snapshot, query) {
|
|
245
|
+
const q = normalizeKey(query);
|
|
246
|
+
if (!q)
|
|
247
|
+
return undefined;
|
|
248
|
+
return snapshot.projects.find((p) => {
|
|
249
|
+
const slug = normalizeKey(p.slug || "");
|
|
250
|
+
const name = normalizeKey(p.name || "");
|
|
251
|
+
const repo = normalizeKey(p.repoName || p.directoryName || "");
|
|
252
|
+
return slug === q || name === q || repo === q || q.includes(slug);
|
|
253
|
+
});
|
|
254
|
+
}
|
|
255
|
+
/** One-line summary of a project for list_projects. */
|
|
256
|
+
function projectLine(p) {
|
|
257
|
+
const repo = p.repoFullName || p.repoName || p.directoryName || p.repoPath || "-";
|
|
258
|
+
const status = p.status || p.focusStatus || "?";
|
|
259
|
+
const stack = p.stackName || p.stackSlug || "-";
|
|
260
|
+
const focus = p.focusStatus ? ` focus=${p.focusStatus}` : "";
|
|
261
|
+
return `${p.slug || p.name} [${status}]${focus} stack=${stack} repo=${repo}`;
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* Build the READ-ONLY brain tool set (identity + portfolio graph). These let U route a goal to the
|
|
265
|
+
* right project/repo/machine/harness before delegating. All handlers catch errors and return a
|
|
266
|
+
* readable string; none throw, and each degrades to a clear "not authenticated" message.
|
|
267
|
+
*/
|
|
268
|
+
function buildBrainTools() {
|
|
269
|
+
return [
|
|
270
|
+
{
|
|
271
|
+
name: "get_identity",
|
|
272
|
+
description: "READ-ONLY. Who the user is and their current context (name, role, plan, latest identity bundle summary). Call this FIRST to orient before routing or spawning workers.",
|
|
273
|
+
parameters: {},
|
|
274
|
+
run: async () => {
|
|
275
|
+
if (!(0, config_1.isAuthenticated)())
|
|
276
|
+
return "not authenticated — run `you login` (no identity/brain data available)";
|
|
277
|
+
try {
|
|
278
|
+
const res = await (0, api_1.getMe)();
|
|
279
|
+
if (!res.ok || !res.data) {
|
|
280
|
+
const msg = (0, api_1.apiErrorMessage)(res.data);
|
|
281
|
+
return `error: could not fetch identity${msg ? ` — ${msg}` : ` (status ${res.status})`}`;
|
|
282
|
+
}
|
|
283
|
+
const user = (0, api_1.getMeUser)(res.data);
|
|
284
|
+
const lines = [];
|
|
285
|
+
if (user.displayName)
|
|
286
|
+
lines.push(`Name: ${user.displayName}`);
|
|
287
|
+
if (user.username)
|
|
288
|
+
lines.push(`Username: ${user.username}`);
|
|
289
|
+
if (user.email)
|
|
290
|
+
lines.push(`Email: ${user.email}`);
|
|
291
|
+
if (user.plan)
|
|
292
|
+
lines.push(`Plan: ${user.plan}`);
|
|
293
|
+
const bundle = res.data.latestBundle;
|
|
294
|
+
if (bundle) {
|
|
295
|
+
lines.push(`Latest bundle: v${bundle.version}${bundle.isPublished ? " (published)" : " (draft)"}`);
|
|
296
|
+
}
|
|
297
|
+
lines.push(`Bundles: ${res.data.bundleCount ?? 0}`);
|
|
298
|
+
return lines.length ? lines.join("\n") : "(no identity fields available)";
|
|
299
|
+
}
|
|
300
|
+
catch (err) {
|
|
301
|
+
return `error fetching identity: ${err.message}`;
|
|
302
|
+
}
|
|
303
|
+
},
|
|
304
|
+
},
|
|
305
|
+
{
|
|
306
|
+
name: "list_projects",
|
|
307
|
+
description: "READ-ONLY. List the user's projects from the You.md portfolio graph (slug, status, focus, stack, repo). Use this to see which project/repo a goal maps to before spawning a worker.",
|
|
308
|
+
parameters: {},
|
|
309
|
+
run: async () => {
|
|
310
|
+
if (!(0, config_1.isAuthenticated)())
|
|
311
|
+
return "not authenticated — run `you login` (no portfolio/brain data available)";
|
|
312
|
+
try {
|
|
313
|
+
const res = await (0, api_1.getPortfolioGraph)();
|
|
314
|
+
if (!res.ok || !res.data) {
|
|
315
|
+
const msg = (0, api_1.apiErrorMessage)(res.data);
|
|
316
|
+
return `error: could not fetch portfolio graph${msg ? ` — ${msg}` : ` (status ${res.status})`}`;
|
|
317
|
+
}
|
|
318
|
+
const projects = res.data.projects || [];
|
|
319
|
+
if (projects.length === 0)
|
|
320
|
+
return "no projects in the portfolio graph yet";
|
|
321
|
+
return projects.map(projectLine).join("\n");
|
|
322
|
+
}
|
|
323
|
+
catch (err) {
|
|
324
|
+
return `error listing projects: ${err.message}`;
|
|
325
|
+
}
|
|
326
|
+
},
|
|
327
|
+
},
|
|
328
|
+
{
|
|
329
|
+
name: "get_project",
|
|
330
|
+
description: "READ-ONLY. Details for ONE project by name/slug: goal, focus, stack, repo, product URL, tags, environments. Use to resolve a goal like \"push the youmd PR\" to the right repo + machine + harness before delegating.",
|
|
331
|
+
parameters: { project: "project name or slug (e.g. youmd)" },
|
|
332
|
+
run: async (args) => {
|
|
333
|
+
const query = String(args.project || "").trim();
|
|
334
|
+
if (!query)
|
|
335
|
+
return "error: get_project requires a project name/slug";
|
|
336
|
+
if (!(0, config_1.isAuthenticated)())
|
|
337
|
+
return "not authenticated — run `you login` (no portfolio/brain data available)";
|
|
338
|
+
try {
|
|
339
|
+
const res = await (0, api_1.getPortfolioGraph)({ includeTasks: true });
|
|
340
|
+
if (!res.ok || !res.data) {
|
|
341
|
+
const msg = (0, api_1.apiErrorMessage)(res.data);
|
|
342
|
+
return `error: could not fetch portfolio graph${msg ? ` — ${msg}` : ` (status ${res.status})`}`;
|
|
343
|
+
}
|
|
344
|
+
const p = findProject(res.data, query);
|
|
345
|
+
if (!p) {
|
|
346
|
+
const known = (res.data.projects || []).map((x) => x.slug || x.name).slice(0, 20).join(", ");
|
|
347
|
+
return `no project matched "${query}". Known projects: ${known || "(none)"}`;
|
|
348
|
+
}
|
|
349
|
+
const lines = [];
|
|
350
|
+
lines.push(`Project: ${p.name || p.slug}${p.slug && p.slug !== p.name ? ` (${p.slug})` : ""}`);
|
|
351
|
+
if (p.status || p.focusStatus)
|
|
352
|
+
lines.push(`Status: ${p.status || p.focusStatus}`);
|
|
353
|
+
if (p.stackName || p.stackSlug)
|
|
354
|
+
lines.push(`Stack: ${p.stackName || p.stackSlug}`);
|
|
355
|
+
if (p.goal)
|
|
356
|
+
lines.push(`Goal: ${p.goal}`);
|
|
357
|
+
if (p.focus)
|
|
358
|
+
lines.push(`Focus: ${p.focus}`);
|
|
359
|
+
if (p.summary)
|
|
360
|
+
lines.push(`Summary: ${p.summary}`);
|
|
361
|
+
const repo = p.repoFullName || p.repoName || p.directoryName || p.repoPath;
|
|
362
|
+
if (repo)
|
|
363
|
+
lines.push(`Repo: ${repo}`);
|
|
364
|
+
if (p.repoUrl)
|
|
365
|
+
lines.push(`Repo URL: ${p.repoUrl}`);
|
|
366
|
+
if (p.productUrl)
|
|
367
|
+
lines.push(`Product: ${p.productUrl}`);
|
|
368
|
+
if (Array.isArray(p.environments) && p.environments.length)
|
|
369
|
+
lines.push(`Environments: ${p.environments.join(", ")}`);
|
|
370
|
+
if (Array.isArray(p.tags) && p.tags.length)
|
|
371
|
+
lines.push(`Tags: ${p.tags.join(", ")}`);
|
|
372
|
+
return lines.join("\n");
|
|
373
|
+
}
|
|
374
|
+
catch (err) {
|
|
375
|
+
return `error fetching project: ${err.message}`;
|
|
376
|
+
}
|
|
377
|
+
},
|
|
378
|
+
},
|
|
379
|
+
];
|
|
380
|
+
}
|
|
207
381
|
/**
|
|
208
382
|
* A harness/model-agnostic model caller: try the You.md chat proxy (no key needed), fall back to
|
|
209
383
|
* the user's OpenRouter key if present. Mirrors the proven onboarding.ts pattern.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/lib/orchestrator/tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/lib/orchestrator/tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
export type RemoteActionMutating = "no" | "reversible";
|
|
25
25
|
/** The exact set of actions a remote machine may trigger. The keys ARE the
|
|
26
26
|
* security boundary — extending it requires a code change + review. */
|
|
27
|
-
export declare const ALLOWED_REMOTE_ACTIONS: readonly ["git.status", "git.last_activity", "git.commit_push", "git.pull", "agent.status", "agent.spawn", "agent.list", "agent.output", "agent.stop"];
|
|
27
|
+
export declare const ALLOWED_REMOTE_ACTIONS: readonly ["git.status", "git.last_activity", "git.commit_push", "git.pull", "skill.inventory", "machine.verify", "agent.status", "agent.spawn", "agent.list", "agent.output", "agent.stop"];
|
|
28
28
|
export type RemoteAction = (typeof ALLOWED_REMOTE_ACTIONS)[number];
|
|
29
29
|
export interface RemoteActionSpec {
|
|
30
30
|
/** Whether the action requires a resolved project directory. */
|
|
@@ -95,6 +95,17 @@ export declare function resolveProjectDir(project: unknown, opts?: {
|
|
|
95
95
|
ok: false;
|
|
96
96
|
reason: string;
|
|
97
97
|
};
|
|
98
|
+
export declare function resolveMachineVerifyRoot(root: unknown, opts?: {
|
|
99
|
+
startDir?: string;
|
|
100
|
+
homeDir?: string;
|
|
101
|
+
}): {
|
|
102
|
+
ok: true;
|
|
103
|
+
dir: string;
|
|
104
|
+
token: string;
|
|
105
|
+
} | {
|
|
106
|
+
ok: false;
|
|
107
|
+
reason: string;
|
|
108
|
+
};
|
|
98
109
|
export interface ExecuteRemoteOptions {
|
|
99
110
|
action: unknown;
|
|
100
111
|
args?: Record<string, unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-executor.d.ts","sourceRoot":"","sources":["../../src/lib/remote-executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAuBH,+EAA+E;AAC/E,MAAM,MAAM,oBAAoB,GAAG,IAAI,GAAG,YAAY,CAAC;AAEvD;wEACwE;AACxE,eAAO,MAAM,sBAAsB,
|
|
1
|
+
{"version":3,"file":"remote-executor.d.ts","sourceRoot":"","sources":["../../src/lib/remote-executor.ts"],"names":[],"mappings":"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"}
|