agent-relay 8.7.2 → 8.8.1
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/auto/classifier.d.ts +29 -0
- package/dist/auto/classifier.d.ts.map +1 -0
- package/dist/auto/classifier.js +126 -0
- package/dist/auto/classifier.js.map +1 -0
- package/dist/auto/composer.d.ts +105 -0
- package/dist/auto/composer.d.ts.map +1 -0
- package/dist/auto/composer.js +454 -0
- package/dist/auto/composer.js.map +1 -0
- package/dist/auto/director-prompt.d.ts +25 -0
- package/dist/auto/director-prompt.d.ts.map +1 -0
- package/dist/auto/director-prompt.js +53 -0
- package/dist/auto/director-prompt.js.map +1 -0
- package/dist/auto/index.d.ts +15 -0
- package/dist/auto/index.d.ts.map +1 -0
- package/dist/auto/index.js +13 -0
- package/dist/auto/index.js.map +1 -0
- package/dist/cli/agent-relay-mcp.d.ts +1 -1
- package/dist/cli/agent-relay-mcp.d.ts.map +1 -1
- package/dist/cli/agent-relay-mcp.js +670 -610
- package/dist/cli/agent-relay-mcp.js.map +1 -1
- package/dist/cli/bootstrap.d.ts.map +1 -1
- package/dist/cli/bootstrap.js +2 -0
- package/dist/cli/bootstrap.js.map +1 -1
- package/dist/cli/commands/core.d.ts +1 -0
- package/dist/cli/commands/core.d.ts.map +1 -1
- package/dist/cli/commands/core.js +1 -1
- package/dist/cli/commands/core.js.map +1 -1
- package/dist/cli/commands/fleet.d.ts +16 -0
- package/dist/cli/commands/fleet.d.ts.map +1 -0
- package/dist/cli/commands/fleet.js +188 -0
- package/dist/cli/commands/fleet.js.map +1 -0
- package/dist/cli/commands/local-agent.d.ts.map +1 -1
- package/dist/cli/commands/local-agent.js +71 -13
- package/dist/cli/commands/local-agent.js.map +1 -1
- package/dist/cli/lib/broker-lifecycle.d.ts +5 -1
- package/dist/cli/lib/broker-lifecycle.d.ts.map +1 -1
- package/dist/cli/lib/broker-lifecycle.js +32 -2
- package/dist/cli/lib/broker-lifecycle.js.map +1 -1
- package/dist/cli/lib/client-factory.d.ts +2 -0
- package/dist/cli/lib/client-factory.d.ts.map +1 -1
- package/dist/cli/lib/client-factory.js.map +1 -1
- package/dist/cli/lib/fleet-sidecar.d.ts +53 -0
- package/dist/cli/lib/fleet-sidecar.d.ts.map +1 -0
- package/dist/cli/lib/fleet-sidecar.js +400 -0
- package/dist/cli/lib/fleet-sidecar.js.map +1 -0
- package/dist/index.cjs +2545 -16773
- package/package.json +10 -8
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
import { pathToFileURL } from 'node:url';
|
|
3
|
+
import { createJiti } from 'jiti';
|
|
4
|
+
import { HarnessDriverClient } from '@agent-relay/harness-driver';
|
|
5
|
+
// Namespace import sidesteps bun --compile's named-import validation against the
|
|
6
|
+
// package .d.ts (see cli/lib/fleet-sidecar.ts).
|
|
7
|
+
import * as fleetSdk from '@agent-relay/fleet';
|
|
8
|
+
const { isFleetNodeDefinition } = fleetSdk;
|
|
9
|
+
import { withDefaults } from './core.js';
|
|
10
|
+
import { readBrokerConnection, startBrokerWithPortFallback } from '../lib/broker-lifecycle.js';
|
|
11
|
+
import { buildNodeSupervision, fleetStatusPath, readFleetSidecarStatus, serveFleetSidecar, } from '../lib/fleet-sidecar.js';
|
|
12
|
+
import { addSdkOptions, printJson, runSdk, sdkOptionsFromOpts, withSdkDefaults, } from '../lib/sdk-command.js';
|
|
13
|
+
function withFleetDefaults(overrides = {}) {
|
|
14
|
+
const core = overrides.core ?? withDefaults();
|
|
15
|
+
const sdk = overrides.sdk ?? withSdkDefaults();
|
|
16
|
+
return {
|
|
17
|
+
core,
|
|
18
|
+
sdk,
|
|
19
|
+
loadNodeDefinition,
|
|
20
|
+
log: (...args) => console.log(...args),
|
|
21
|
+
warn: (...args) => console.warn(...args),
|
|
22
|
+
error: (...args) => console.error(...args),
|
|
23
|
+
exit: core.exit,
|
|
24
|
+
...overrides,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
export function registerFleetCommands(program, overrides = {}) {
|
|
28
|
+
const deps = withFleetDefaults(overrides);
|
|
29
|
+
const group = program.command('fleet').description('Serve and inspect Agent Relay fleet nodes');
|
|
30
|
+
group
|
|
31
|
+
.command('serve')
|
|
32
|
+
.description('Serve a fleet node definition')
|
|
33
|
+
.argument('<file>', 'TS/JS node definition file')
|
|
34
|
+
.option('--name <name>', 'Override node name')
|
|
35
|
+
.option('--workspace <key>', 'Workspace key for broker registration and trigger sync')
|
|
36
|
+
.option('--max-agents <count>', 'Override maximum managed agents for this node')
|
|
37
|
+
.option('--base-url <url>', 'Override Relaycast API base URL')
|
|
38
|
+
.action(async (file, options) => {
|
|
39
|
+
try {
|
|
40
|
+
await runFleetServe(file, options, deps);
|
|
41
|
+
}
|
|
42
|
+
catch (error) {
|
|
43
|
+
deps.error(error instanceof Error ? error.message : String(error));
|
|
44
|
+
deps.exit(1);
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
addSdkOptions(group
|
|
48
|
+
.command('nodes')
|
|
49
|
+
.description('List fleet nodes in the workspace')
|
|
50
|
+
.option('--capability <name>', 'Filter by capability name')
|
|
51
|
+
.option('--name <name>', 'Filter by node name')).action(async (options) => {
|
|
52
|
+
await runSdk(deps.sdk, async () => {
|
|
53
|
+
const relay = deps.sdk.createWorkspaceRelay(sdkOptionsFromOpts(options));
|
|
54
|
+
printJson(deps.sdk, {
|
|
55
|
+
nodes: await relay.nodes.list({
|
|
56
|
+
capability: options.capability,
|
|
57
|
+
name: options.name,
|
|
58
|
+
}),
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
group
|
|
63
|
+
.command('status')
|
|
64
|
+
.description('Show local fleet broker and sidecar status')
|
|
65
|
+
.action(async () => {
|
|
66
|
+
try {
|
|
67
|
+
await runFleetStatus(deps);
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
deps.error(error instanceof Error ? error.message : String(error));
|
|
71
|
+
deps.exit(1);
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
export async function loadNodeDefinition(file) {
|
|
76
|
+
const absolutePath = path.resolve(file);
|
|
77
|
+
const jiti = createJiti(pathToFileURL(process.cwd()).href, {
|
|
78
|
+
interopDefault: true,
|
|
79
|
+
});
|
|
80
|
+
const loaded = (await jiti.import(absolutePath, { default: true }));
|
|
81
|
+
const definition = loaded && typeof loaded === 'object' && 'default' in loaded
|
|
82
|
+
? loaded.default
|
|
83
|
+
: loaded;
|
|
84
|
+
if (!isFleetNodeDefinition(definition)) {
|
|
85
|
+
throw new Error(`Fleet node file ${absolutePath} must default-export defineNode(...)`);
|
|
86
|
+
}
|
|
87
|
+
return definition;
|
|
88
|
+
}
|
|
89
|
+
async function runFleetServe(file, options, deps) {
|
|
90
|
+
const nodeDefinition = await deps.loadNodeDefinition(file);
|
|
91
|
+
const maxAgentsOverride = parsePositiveIntegerOption(options.maxAgents, '--max-agents');
|
|
92
|
+
const paths = deps.core.getProjectPaths();
|
|
93
|
+
deps.core.fs.mkdirSync(paths.dataDir, { recursive: true });
|
|
94
|
+
const workspaceKey = typeof options.workspace === 'string' ? options.workspace.trim() : '';
|
|
95
|
+
if (workspaceKey) {
|
|
96
|
+
deps.core.env.RELAY_WORKSPACE_KEY = workspaceKey;
|
|
97
|
+
deps.core.env.RELAY_API_KEY = workspaceKey;
|
|
98
|
+
}
|
|
99
|
+
const dashboardPort = Number.parseInt(deps.core.env.AGENT_RELAY_DASHBOARD_PORT ?? '3888', 10) || 3888;
|
|
100
|
+
const started = await startBrokerWithPortFallback(paths, dashboardPort, deps.core);
|
|
101
|
+
const connection = connectionFromFile(paths.dataDir);
|
|
102
|
+
const controller = new AbortController();
|
|
103
|
+
const stop = () => controller.abort();
|
|
104
|
+
deps.core.onSignal('SIGINT', stop);
|
|
105
|
+
deps.core.onSignal('SIGTERM', stop);
|
|
106
|
+
await serveFleetSidecar({
|
|
107
|
+
definition: nodeDefinition,
|
|
108
|
+
connection,
|
|
109
|
+
workspaceKey: workspaceKey || started.relay.workspaceKey,
|
|
110
|
+
baseUrl: typeof options.baseUrl === 'string' ? options.baseUrl : undefined,
|
|
111
|
+
nameOverride: typeof options.name === 'string' ? options.name : undefined,
|
|
112
|
+
maxAgentsOverride,
|
|
113
|
+
supervision: buildNodeSupervision({
|
|
114
|
+
argv: deps.core.argv,
|
|
115
|
+
cwd: process.cwd(),
|
|
116
|
+
env: deps.core.env,
|
|
117
|
+
}),
|
|
118
|
+
statusPath: fleetStatusPath(paths),
|
|
119
|
+
signal: controller.signal,
|
|
120
|
+
log: (message) => deps.log(message),
|
|
121
|
+
warn: (message) => deps.warn(message),
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
async function runFleetStatus(deps) {
|
|
125
|
+
const paths = deps.core.getProjectPaths();
|
|
126
|
+
const conn = readBrokerConnection(paths.dataDir);
|
|
127
|
+
const statusPath = fleetStatusPath(paths);
|
|
128
|
+
const sidecar = readFleetSidecarStatus(statusPath);
|
|
129
|
+
if (!conn) {
|
|
130
|
+
deps.log(JSON.stringify({
|
|
131
|
+
broker: { running: false },
|
|
132
|
+
sidecar: sidecar ? { ...sidecar, alive: isPidAlive(sidecar.pid) } : null,
|
|
133
|
+
}, null, 2));
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
const client = new HarnessDriverClient({ baseUrl: conn.url, apiKey: conn.api_key });
|
|
137
|
+
let broker;
|
|
138
|
+
try {
|
|
139
|
+
const session = await client.getSession();
|
|
140
|
+
broker = {
|
|
141
|
+
running: true,
|
|
142
|
+
url: conn.url,
|
|
143
|
+
pid: conn.pid,
|
|
144
|
+
workspaceKey: session.workspace_key,
|
|
145
|
+
brokerVersion: session.broker_version,
|
|
146
|
+
protocolVersion: session.protocol_version,
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
catch (error) {
|
|
150
|
+
broker = {
|
|
151
|
+
running: false,
|
|
152
|
+
url: conn.url,
|
|
153
|
+
pid: conn.pid,
|
|
154
|
+
error: error instanceof Error ? error.message : String(error),
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
deps.log(JSON.stringify({
|
|
158
|
+
broker,
|
|
159
|
+
sidecar: sidecar ? { ...sidecar, alive: isPidAlive(sidecar.pid) } : null,
|
|
160
|
+
}, null, 2));
|
|
161
|
+
}
|
|
162
|
+
function connectionFromFile(dataDir) {
|
|
163
|
+
const conn = readBrokerConnection(dataDir);
|
|
164
|
+
if (!conn) {
|
|
165
|
+
throw new Error(`Broker connection file was not written in ${dataDir}`);
|
|
166
|
+
}
|
|
167
|
+
return { url: conn.url, apiKey: conn.api_key };
|
|
168
|
+
}
|
|
169
|
+
function parsePositiveIntegerOption(value, label) {
|
|
170
|
+
if (value === undefined) {
|
|
171
|
+
return undefined;
|
|
172
|
+
}
|
|
173
|
+
const parsed = Number.parseInt(String(value), 10);
|
|
174
|
+
if (!Number.isInteger(parsed) || parsed <= 0) {
|
|
175
|
+
throw new Error(`${label} must be a positive integer`);
|
|
176
|
+
}
|
|
177
|
+
return parsed;
|
|
178
|
+
}
|
|
179
|
+
function isPidAlive(pid) {
|
|
180
|
+
try {
|
|
181
|
+
process.kill(pid, 0);
|
|
182
|
+
return true;
|
|
183
|
+
}
|
|
184
|
+
catch {
|
|
185
|
+
return false;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
//# sourceMappingURL=fleet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fleet.js","sourceRoot":"","sources":["../../../src/cli/commands/fleet.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-agent.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/local-agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAGlE,OAAO,EAIL,KAAK,uBAAuB,EAC7B,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"local-agent.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/local-agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAGlE,OAAO,EAIL,KAAK,uBAAuB,EAC7B,MAAM,6BAA6B,CAAC;AA2CrC,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,aAAa,CAAC;AAC1D,MAAM,MAAM,8BAA8B,GAAG,uBAAuB,CAAC;AAErE,0FAA0F;AAC1F,wBAAgB,SAAS,CACvB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAClE,OAAO,CAAC,MAAM,CAAC,CAUjB;AAED,KAAK,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC;AAEtC,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACvD,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,8BAA8B,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACrG,MAAM,EAAE,CACN,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,KAChE,OAAO,CAAC,MAAM,CAAC,CAAC;IACrB,GAAG,EAAE,MAAM,MAAM,CAAC;IAClB,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IAClD,kBAAkB,EAAE,MAAM,MAAM,CAAC;IACjC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,KAAK,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAC/B,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAClC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IACpC,IAAI,EAAE,MAAM,CAAC;CACd;AA6ED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,OAAO,EACd,SAAS,GAAE,OAAO,CAAC,sBAAsB,CAAM,GAC9C,IAAI,CAuON"}
|
|
@@ -6,6 +6,34 @@ import { spawnAgentWithClient } from '../lib/client-factory.js';
|
|
|
6
6
|
import { attachDrive } from '../lib/attach-drive.js';
|
|
7
7
|
import { attachView } from '../lib/attach-view.js';
|
|
8
8
|
import { attachPassthrough } from '../lib/attach-passthrough.js';
|
|
9
|
+
import { classifyTask, composeTeam, buildDirectorPrompt } from '../../auto/index.js';
|
|
10
|
+
// ── Auto-routing model resolution ─────────────────────────────────────────────
|
|
11
|
+
// Maps the routing tier to a concrete Claude model ID.
|
|
12
|
+
const CLAUDE_MODEL_IDS = {
|
|
13
|
+
haiku: 'claude-haiku-4-5-20251001',
|
|
14
|
+
sonnet: 'claude-sonnet-4-6',
|
|
15
|
+
opus: 'claude-opus-4-8',
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* If `model === 'auto'`, run the task classifier → team composer → Director
|
|
19
|
+
* meta-prompt builder and return resolved spawn options.
|
|
20
|
+
*
|
|
21
|
+
* Only applies to the 'claude' provider — other CLIs use model=auto as a
|
|
22
|
+
* passthrough until their routing tables are defined.
|
|
23
|
+
*/
|
|
24
|
+
function resolveAutoSpawn(provider, name, task, model) {
|
|
25
|
+
if (model !== 'auto' || provider !== 'claude' || !task) {
|
|
26
|
+
return { name, task, model };
|
|
27
|
+
}
|
|
28
|
+
const assessment = classifyTask(task);
|
|
29
|
+
const team = composeTeam(assessment, task);
|
|
30
|
+
const directorPrompt = buildDirectorPrompt(task, team);
|
|
31
|
+
return {
|
|
32
|
+
name: name === provider ? 'Director' : name,
|
|
33
|
+
task: directorPrompt,
|
|
34
|
+
model: CLAUDE_MODEL_IDS[team.lead.model],
|
|
35
|
+
};
|
|
36
|
+
}
|
|
9
37
|
/** Dispatch `local agent attach --mode` to the drive/view/passthrough session runners. */
|
|
10
38
|
export function runAttach(name, mode, options) {
|
|
11
39
|
switch (mode) {
|
|
@@ -101,33 +129,50 @@ export function registerLocalAgentCommands(group, overrides = {}) {
|
|
|
101
129
|
agent
|
|
102
130
|
.command('spawn')
|
|
103
131
|
.description('Spawn an agent with the given provider CLI')
|
|
104
|
-
.argument('<provider>', 'CLI provider (claude, codex, gemini, …)')
|
|
132
|
+
.argument('<provider>', 'CLI provider (claude, codex, gemini, droid, …); droid is high-risk for delegation/spawn tasks')
|
|
105
133
|
.option('--name <name>', 'Agent name (defaults to the provider)')
|
|
106
134
|
.option('--channels <channels...>', 'Channels to join', ['general'])
|
|
107
135
|
.option('--task <task>', 'Initial task prompt')
|
|
108
136
|
.option('--model <model>', 'Model override')
|
|
137
|
+
.option('--spawn-mode <mode>', 'Spawn lifecycle: interactive | task-exit', 'interactive')
|
|
138
|
+
.option('--exit-after-task', 'Exit the spawned agent after it completes the injected task')
|
|
109
139
|
.action(async (provider, opts) => {
|
|
110
140
|
await run(deps, async (client) => {
|
|
111
|
-
const
|
|
141
|
+
const spawnMode = opts.spawnMode;
|
|
142
|
+
if (spawnMode &&
|
|
143
|
+
spawnMode !== 'interactive' &&
|
|
144
|
+
spawnMode !== 'task-exit' &&
|
|
145
|
+
spawnMode !== 'task_exit') {
|
|
146
|
+
deps.error(`Unknown spawn mode "${spawnMode}". Expected one of: interactive, task-exit.`);
|
|
147
|
+
deps.exit(1);
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
const baseName = opts.name ?? provider;
|
|
151
|
+
const resolved = resolveAutoSpawn(provider, baseName, opts.task, opts.model);
|
|
112
152
|
await spawnAgentWithClient(client, {
|
|
113
|
-
name,
|
|
153
|
+
name: resolved.name,
|
|
114
154
|
cli: provider,
|
|
115
155
|
channels: opts.channels ?? ['general'],
|
|
116
|
-
task:
|
|
117
|
-
model:
|
|
156
|
+
task: resolved.task,
|
|
157
|
+
model: resolved.model,
|
|
158
|
+
spawnMode: spawnMode === 'task-exit' ? 'task_exit' : spawnMode,
|
|
159
|
+
exitAfterTask: opts.exitAfterTask,
|
|
118
160
|
});
|
|
119
|
-
|
|
161
|
+
const autoNote = opts.model === 'auto' ? ' (auto-routed)' : '';
|
|
162
|
+
deps.log(`Spawned ${resolved.name} (${provider})${autoNote}.`);
|
|
120
163
|
});
|
|
121
164
|
});
|
|
122
165
|
agent
|
|
123
166
|
.command('new')
|
|
124
167
|
.description('Spawn an agent and attach to it')
|
|
125
|
-
.argument('<provider>', 'CLI provider (claude, codex, gemini, …)')
|
|
168
|
+
.argument('<provider>', 'CLI provider (claude, codex, gemini, droid, …); droid is high-risk for delegation/spawn tasks')
|
|
126
169
|
.option('--name <name>', 'Agent name (defaults to the provider)')
|
|
127
170
|
.option('--mode <mode>', 'Attach mode: drive | view | passthrough', 'drive')
|
|
128
171
|
.option('--channels <channels...>', 'Channels to join', ['general'])
|
|
129
172
|
.option('--task <task>', 'Initial task prompt')
|
|
130
173
|
.option('--model <model>', 'Model override')
|
|
174
|
+
.option('--spawn-mode <mode>', 'Spawn lifecycle: interactive | task-exit', 'interactive')
|
|
175
|
+
.option('--exit-after-task', 'Exit the spawned agent after it completes the injected task')
|
|
131
176
|
.action(async (provider, options) => {
|
|
132
177
|
const mode = options.mode ?? 'drive';
|
|
133
178
|
if (mode !== 'drive' && mode !== 'view' && mode !== 'passthrough') {
|
|
@@ -135,20 +180,33 @@ export function registerLocalAgentCommands(group, overrides = {}) {
|
|
|
135
180
|
deps.exit(1);
|
|
136
181
|
return;
|
|
137
182
|
}
|
|
138
|
-
const
|
|
183
|
+
const spawnMode = options.spawnMode;
|
|
184
|
+
if (spawnMode &&
|
|
185
|
+
spawnMode !== 'interactive' &&
|
|
186
|
+
spawnMode !== 'task-exit' &&
|
|
187
|
+
spawnMode !== 'task_exit') {
|
|
188
|
+
deps.error(`Unknown spawn mode "${spawnMode}". Expected one of: interactive, task-exit.`);
|
|
189
|
+
deps.exit(1);
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
const baseName = options.name ?? provider;
|
|
193
|
+
const resolved = resolveAutoSpawn(provider, baseName, options.task, options.model);
|
|
139
194
|
await run(deps, async (client) => {
|
|
140
195
|
await spawnAgentWithClient(client, {
|
|
141
|
-
name,
|
|
196
|
+
name: resolved.name,
|
|
142
197
|
cli: provider,
|
|
143
198
|
channels: options.channels ?? ['general'],
|
|
144
|
-
task:
|
|
145
|
-
model:
|
|
199
|
+
task: resolved.task,
|
|
200
|
+
model: resolved.model,
|
|
201
|
+
spawnMode: spawnMode === 'task-exit' ? 'task_exit' : spawnMode,
|
|
202
|
+
exitAfterTask: options.exitAfterTask,
|
|
146
203
|
});
|
|
147
|
-
|
|
204
|
+
const autoNote = options.model === 'auto' ? ' (auto-routed)' : '';
|
|
205
|
+
deps.log(`Spawned ${resolved.name} (${provider}). Attaching (${mode})${autoNote}…`);
|
|
148
206
|
});
|
|
149
207
|
// `new` spawns and attaches on the same default local broker — broker
|
|
150
208
|
// override flags belong on the standalone `attach` command.
|
|
151
|
-
const code = await deps.attach(name, mode, {});
|
|
209
|
+
const code = await deps.attach(resolved.name, mode, {});
|
|
152
210
|
if (code !== 0) {
|
|
153
211
|
deps.exit(code);
|
|
154
212
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-agent.js","sourceRoot":"","sources":["../../../src/cli/commands/local-agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"local-agent.js","sourceRoot":"","sources":["../../../src/cli/commands/local-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CoreDependencies } from '../commands/core.js';
|
|
1
|
+
import type { CoreDependencies, CoreProjectPaths, CoreRelay } from '../commands/core.js';
|
|
2
2
|
type UpOptions = {
|
|
3
3
|
dashboard?: boolean;
|
|
4
4
|
port?: string;
|
|
@@ -51,6 +51,10 @@ export declare function describeError(err: unknown): string;
|
|
|
51
51
|
export declare function classifyBrokerStartError(err: unknown): string;
|
|
52
52
|
/** Exported for testing. */
|
|
53
53
|
export declare function classifyBrokerStartStage(err: unknown, message: string, wantsDashboard: boolean): string;
|
|
54
|
+
export declare function startBrokerWithPortFallback(paths: CoreProjectPaths, dashboardPort: number, deps: CoreDependencies, brokerName?: string): Promise<{
|
|
55
|
+
relay: CoreRelay;
|
|
56
|
+
apiPort: number;
|
|
57
|
+
}>;
|
|
54
58
|
export declare function runUpCommand(options: UpOptions, deps: CoreDependencies): Promise<void>;
|
|
55
59
|
export declare function runDownCommand(options: DownOptions, deps: CoreDependencies): Promise<void>;
|
|
56
60
|
export declare function runStatusCommand(deps: CoreDependencies, options?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broker-lifecycle.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/broker-lifecycle.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"broker-lifecycle.d.ts","sourceRoot":"","sources":["../../../src/cli/lib/broker-lifecycle.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,SAAS,EAGV,MAAM,qBAAqB,CAAC;AAW7B,KAAK,SAAS,GAAG;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAWF,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACb;AAwDD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAE7E;AAcD;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAuBlD;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAU7D;AAED,4BAA4B;AAC5B,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,GAAG,MAAM,CAQvG;AAwBD,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE,gBAAgB,EACvB,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,gBAAgB,EACtB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC;IAAE,KAAK,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAWhD;AA8iCD,wBAAsB,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuX5F;AAGD,wBAAsB,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkHhG;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,gBAAgB,EACtB,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAChD,OAAO,CAAC,IAAI,CAAC,CAkDf"}
|
|
@@ -5,6 +5,7 @@ import { HarnessDriverClient } from '@agent-relay/harness-driver';
|
|
|
5
5
|
import { track } from '../telemetry/index.js';
|
|
6
6
|
import { buildBundledAgentRelayMcpCommand } from './agent-relay-mcp-command.js';
|
|
7
7
|
import { errorClassName } from './telemetry-helpers.js';
|
|
8
|
+
import { createImplicitLocalFleetNode, fleetStatusPath, startFleetSidecar, } from './fleet-sidecar.js';
|
|
8
9
|
const MAX_API_PORT_ATTEMPTS = 25;
|
|
9
10
|
const MAX_DASHBOARD_PORT_ATTEMPTS = 25;
|
|
10
11
|
const MAX_PORT = 65535;
|
|
@@ -142,7 +143,7 @@ async function resolveApiPortWithFallback(startApiPort, maxAttempts, deps) {
|
|
|
142
143
|
}
|
|
143
144
|
throw new Error(`Failed to find an available API port near ${startApiPort}.`);
|
|
144
145
|
}
|
|
145
|
-
async function startBrokerWithPortFallback(paths, dashboardPort, deps, brokerName) {
|
|
146
|
+
export async function startBrokerWithPortFallback(paths, dashboardPort, deps, brokerName) {
|
|
146
147
|
// Resolve a free API port BEFORE spawning the broker. This avoids
|
|
147
148
|
// spawning (and flocking) multiple --persist brokers during retry,
|
|
148
149
|
// which caused stale-flock "already running" errors.
|
|
@@ -152,6 +153,29 @@ async function startBrokerWithPortFallback(paths, dashboardPort, deps, brokerNam
|
|
|
152
153
|
await candidate.getStatus();
|
|
153
154
|
return { relay: candidate, apiPort };
|
|
154
155
|
}
|
|
156
|
+
function startImplicitLocalFleetSidecar(paths, relay, options, deps, teamsConfig = deps.loadTeamsConfig(paths.projectRoot)) {
|
|
157
|
+
if (deps.env.AGENT_RELAY_DISABLE_IMPLICIT_FLEET_NODE === '1') {
|
|
158
|
+
return undefined;
|
|
159
|
+
}
|
|
160
|
+
const conn = readBrokerConnectionFromFs(deps.fs, paths.dataDir);
|
|
161
|
+
if (!conn) {
|
|
162
|
+
deps.warn('Fleet local node skipped: broker connection file was not available.');
|
|
163
|
+
return undefined;
|
|
164
|
+
}
|
|
165
|
+
const node = createImplicitLocalFleetNode({
|
|
166
|
+
paths,
|
|
167
|
+
teamsConfig,
|
|
168
|
+
name: options.brokerName ?? (path.basename(paths.projectRoot) || 'local-node'),
|
|
169
|
+
});
|
|
170
|
+
return startFleetSidecar({
|
|
171
|
+
definition: node,
|
|
172
|
+
connection: { url: conn.url, apiKey: conn.api_key },
|
|
173
|
+
workspaceKey: relay.workspaceKey,
|
|
174
|
+
statusPath: fleetStatusPath(paths),
|
|
175
|
+
reconnect: true,
|
|
176
|
+
warn: (message) => deps.warn(message),
|
|
177
|
+
});
|
|
178
|
+
}
|
|
155
179
|
async function resolveDashboardPortWithFallback(dashboardPort, dashboardPortCandidates, deps) {
|
|
156
180
|
for (let attempt = 0; attempt < dashboardPortCandidates; attempt += 1) {
|
|
157
181
|
const candidatePort = dashboardPort + attempt;
|
|
@@ -1065,6 +1089,7 @@ export async function runUpCommand(options, deps) {
|
|
|
1065
1089
|
let relay = null;
|
|
1066
1090
|
let apiPort = dashboardPort + 1;
|
|
1067
1091
|
let dashboardProcess;
|
|
1092
|
+
let fleetSidecar;
|
|
1068
1093
|
const dashboardVerbose = Boolean(options.verbose) || isDebugLikeLoggingEnabled(deps);
|
|
1069
1094
|
let shuttingDown = false;
|
|
1070
1095
|
let sigintCount = 0;
|
|
@@ -1076,7 +1101,10 @@ export async function runUpCommand(options, deps) {
|
|
|
1076
1101
|
shutdownPromise = Promise.resolve();
|
|
1077
1102
|
}
|
|
1078
1103
|
else {
|
|
1079
|
-
shutdownPromise =
|
|
1104
|
+
shutdownPromise = (async () => {
|
|
1105
|
+
await fleetSidecar?.stop();
|
|
1106
|
+
await shutdownUpResources(relay, dashboardProcess, paths.dataDir, deps, ownsBroker);
|
|
1107
|
+
})();
|
|
1080
1108
|
}
|
|
1081
1109
|
}
|
|
1082
1110
|
await shutdownPromise;
|
|
@@ -1144,6 +1172,7 @@ export async function runUpCommand(options, deps) {
|
|
|
1144
1172
|
waitForDashboard(startedDashboardPort, dashboardProcess, deps, () => shuttingDown).catch(() => { });
|
|
1145
1173
|
}
|
|
1146
1174
|
}
|
|
1175
|
+
fleetSidecar = startImplicitLocalFleetSidecar(paths, relay, options, deps);
|
|
1147
1176
|
deps.onSignal('SIGINT', async () => {
|
|
1148
1177
|
sigintCount += 1;
|
|
1149
1178
|
if (shuttingDown) {
|
|
@@ -1221,6 +1250,7 @@ export async function runUpCommand(options, deps) {
|
|
|
1221
1250
|
}
|
|
1222
1251
|
}
|
|
1223
1252
|
const teamsConfig = deps.loadTeamsConfig(paths.projectRoot);
|
|
1253
|
+
fleetSidecar = startImplicitLocalFleetSidecar(paths, relay, options, deps, teamsConfig);
|
|
1224
1254
|
const shouldSpawn = options.spawn === true ? true : options.spawn === false ? false : Boolean(teamsConfig?.autoSpawn);
|
|
1225
1255
|
if (shouldSpawn && teamsConfig && teamsConfig.agents.length > 0) {
|
|
1226
1256
|
if (wantsDashboard) {
|