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.
Files changed (47) hide show
  1. package/dist/auto/classifier.d.ts +29 -0
  2. package/dist/auto/classifier.d.ts.map +1 -0
  3. package/dist/auto/classifier.js +126 -0
  4. package/dist/auto/classifier.js.map +1 -0
  5. package/dist/auto/composer.d.ts +105 -0
  6. package/dist/auto/composer.d.ts.map +1 -0
  7. package/dist/auto/composer.js +454 -0
  8. package/dist/auto/composer.js.map +1 -0
  9. package/dist/auto/director-prompt.d.ts +25 -0
  10. package/dist/auto/director-prompt.d.ts.map +1 -0
  11. package/dist/auto/director-prompt.js +53 -0
  12. package/dist/auto/director-prompt.js.map +1 -0
  13. package/dist/auto/index.d.ts +15 -0
  14. package/dist/auto/index.d.ts.map +1 -0
  15. package/dist/auto/index.js +13 -0
  16. package/dist/auto/index.js.map +1 -0
  17. package/dist/cli/agent-relay-mcp.d.ts +1 -1
  18. package/dist/cli/agent-relay-mcp.d.ts.map +1 -1
  19. package/dist/cli/agent-relay-mcp.js +670 -610
  20. package/dist/cli/agent-relay-mcp.js.map +1 -1
  21. package/dist/cli/bootstrap.d.ts.map +1 -1
  22. package/dist/cli/bootstrap.js +2 -0
  23. package/dist/cli/bootstrap.js.map +1 -1
  24. package/dist/cli/commands/core.d.ts +1 -0
  25. package/dist/cli/commands/core.d.ts.map +1 -1
  26. package/dist/cli/commands/core.js +1 -1
  27. package/dist/cli/commands/core.js.map +1 -1
  28. package/dist/cli/commands/fleet.d.ts +16 -0
  29. package/dist/cli/commands/fleet.d.ts.map +1 -0
  30. package/dist/cli/commands/fleet.js +188 -0
  31. package/dist/cli/commands/fleet.js.map +1 -0
  32. package/dist/cli/commands/local-agent.d.ts.map +1 -1
  33. package/dist/cli/commands/local-agent.js +71 -13
  34. package/dist/cli/commands/local-agent.js.map +1 -1
  35. package/dist/cli/lib/broker-lifecycle.d.ts +5 -1
  36. package/dist/cli/lib/broker-lifecycle.d.ts.map +1 -1
  37. package/dist/cli/lib/broker-lifecycle.js +32 -2
  38. package/dist/cli/lib/broker-lifecycle.js.map +1 -1
  39. package/dist/cli/lib/client-factory.d.ts +2 -0
  40. package/dist/cli/lib/client-factory.d.ts.map +1 -1
  41. package/dist/cli/lib/client-factory.js.map +1 -1
  42. package/dist/cli/lib/fleet-sidecar.d.ts +53 -0
  43. package/dist/cli/lib/fleet-sidecar.d.ts.map +1 -0
  44. package/dist/cli/lib/fleet-sidecar.js +400 -0
  45. package/dist/cli/lib/fleet-sidecar.js.map +1 -0
  46. package/dist/index.cjs +2545 -16773
  47. 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;AAOrC,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,CAmLN"}
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 name = opts.name ?? provider;
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: opts.task,
117
- model: opts.model,
156
+ task: resolved.task,
157
+ model: resolved.model,
158
+ spawnMode: spawnMode === 'task-exit' ? 'task_exit' : spawnMode,
159
+ exitAfterTask: opts.exitAfterTask,
118
160
  });
119
- deps.log(`Spawned ${name} (${provider}).`);
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 name = options.name ?? provider;
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: options.task,
145
- model: options.model,
199
+ task: resolved.task,
200
+ model: resolved.model,
201
+ spawnMode: spawnMode === 'task-exit' ? 'task_exit' : spawnMode,
202
+ exitAfterTask: options.exitAfterTask,
146
203
  });
147
- deps.log(`Spawned ${name} (${provider}). Attaching (${mode})…`);
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,EAAE,gBAAgB,EAA+C,MAAM,qBAAqB,CAAC;AAKzG,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;AAwjCD,wBAAsB,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgX5F;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"}
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 = shutdownUpResources(relay, dashboardProcess, paths.dataDir, deps, ownsBroker);
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) {