@agent-relay/factory 0.1.14 → 0.1.15

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.md CHANGED
@@ -114,8 +114,10 @@ From a source checkout instead of an npm install, run
114
114
  | `factory canary <KEY\|path>` | Assert a known "Ready for Agent" issue is dispatch-ready by the real dry-run triage path. Prints `{ok,issue,status,reason}`; exits non-zero (with the skip reason) if it isn't. |
115
115
 
116
116
  Global options work anywhere in the args: `--config <path>`, `--dry-run`,
117
- `--backend <internal|relay>`. The internal backend reuses a relay broker that's
118
- already running for your workspace, and starts one if none is.
117
+ `--backend <internal|relay>`, and `--agent-exit-timeout <ms>`. The internal
118
+ backend reuses a relay broker that's already running for your workspace, and
119
+ starts one if none is. For self-started brokers, the agent-exit timeout defaults
120
+ to 30 minutes and can also be set with `FACTORY_AGENT_EXIT_TIMEOUT_MS`.
119
121
 
120
122
  (There are a few more operational commands — `loop-status`, `kill-loop`,
121
123
  `reap-orphans`, `close-probe` — for running the daemon in production.)
@@ -25,6 +25,7 @@ interface GlobalOptions {
25
25
  backend: FleetBackend;
26
26
  config?: string;
27
27
  dryRun: boolean;
28
+ agentExitTimeoutMs?: number;
28
29
  }
29
30
  type ParsedCommand = {
30
31
  kind: 'spawn';
@@ -1 +1 @@
1
- {"version":3,"file":"fleet.d.ts","sourceRoot":"","sources":["../../src/cli/fleet.ts"],"names":[],"mappings":"AAKA,OAAO,EAKL,aAAa,EACb,WAAW,EACX,iBAAiB,EAYjB,KAAK,UAAU,EACf,KAAK,OAAO,EACZ,KAAK,aAAa,EAElB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,sBAAsB,EAE3B,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,+BAA+B,EACpC,KAAK,wBAAwB,EAC9B,MAAM,UAAU,CAAA;AAGjB,UAAU,YAAY;IACpB,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB,aAAa,CAAC,EAAE,OAAO,aAAa,CAAA;IACpC,WAAW,CAAC,EAAE,OAAO,WAAW,CAAA;IAChC,iBAAiB,CAAC,EAAE,OAAO,iBAAiB,CAAA;IAC5C,oBAAoB,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,+BAA+B,KAAK,OAAO,CAAC,WAAW,CAAC,CAAA;IACzF,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC,wBAAwB,CAAC,CAAA;IAC1D,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAA;IAC9F,gBAAgB,CAAC,EAAE,CACjB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QAAE,sBAAsB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,KACrD,OAAO,CAAC,IAAI,CAAC,CAAA;IAClB,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IAChD,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;IAC1C,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;IAC1C,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,eAAe,CAAC,EAAE,QAAQ,CAAA;IAC1B,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;IAClB,qBAAqB,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,CAAA;IAC5D,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CACxC;AAED,UAAU,aAAa;IACrB,OAAO,EAAE,YAAY,CAAA;IACrB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,OAAO,CAAA;CAChB;AAOD,KAAK,aAAa,GACd;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE;QAAE,UAAU,EAAE,UAAU,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAC7J;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAClD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,aAAa,GAAG,WAAW,GAAG,cAAc,CAAA;CAAE,GAC1G;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACzC;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACzC;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,qBAAqB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAElF,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,GAAE,YAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CA0G1F;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,aAAa,CAe/D;AAyCD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;IAAE,OAAO,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAkB7F;AA8RD,wBAAgB,2BAA2B,CAAC,QAAQ,SAAgB,GAAG,MAAM,GAAG,SAAS,CAaxF;AA6MD,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,OAAO,EAChB,IAAI,GAAE;IACJ,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7B,WAAW,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,CAAA;CAC9C,GACL,MAAM,IAAI,CA4BZ;AAiDD,wBAAsB,IAAI,CAAC,IAAI,WAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAGtE"}
1
+ {"version":3,"file":"fleet.d.ts","sourceRoot":"","sources":["../../src/cli/fleet.ts"],"names":[],"mappings":"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"}
package/dist/cli/fleet.js CHANGED
@@ -2,7 +2,7 @@ import { existsSync } from 'node:fs';
2
2
  import { readFile } from 'node:fs/promises';
3
3
  import { dirname, join, resolve } from 'node:path';
4
4
  import { ensureLocalMount } from '../mount/local-mount-preflight.js';
5
- import { FactoryConfigSchema, RelayfileCloudMountClient, checkFactoryLoopLiveness, closeProbePr, createFactory, createFleet, ensureRelayBroker, defaultGhRunner, githubIssuePathParts, isInFactoryScope, parseGithubFactoryIssue, readLinearIssueWithCanonicalFallback, reapFactoryOrphansOnce, readFactoryLoopHeartbeat, resolveFactoryStates, stateResolutionFromIds, resolveFactoryWorkspace, } from '../index.js';
5
+ import { FactoryConfigSchema, FileStateStore, RelayfileCloudMountClient, checkFactoryLoopLiveness, closeProbePr, createFactory, createFleet, ensureRelayBroker, defaultGhRunner, githubIssuePathParts, githubWatchStatePath, isInFactoryScope, parseGithubFactoryIssue, parseOwnedBrokerAgentExitTimeoutMs, readLinearIssueWithCanonicalFallback, reapFactoryOrphansOnce, readFactoryLoopHeartbeat, resolveFactoryStates, stateResolutionFromIds, resolveFactoryWorkspace, } from '../index.js';
6
6
  import { FakeFleetClient, FakeMountClient } from '../testing/index.js';
7
7
  export async function runFleetCli(argv, deps = {}) {
8
8
  const out = deps.stdout ?? process.stdout;
@@ -91,9 +91,14 @@ export async function runFleetCli(argv, deps = {}) {
91
91
  // for lifecycle state, so it must not depend on that provider at startup.
92
92
  const stateResolution = await resolveStatesForIssueSource(mount, loaded.config, deps.resolveStates);
93
93
  const logger = streamLogger(err);
94
+ const stateStore = new FileStateStore({
95
+ batchSize: loaded.config.batchSize,
96
+ watchStatePath: githubWatchStatePath(loaded.config.loop.registryPath),
97
+ });
94
98
  const factory = (deps.createFactory ?? createFactory)(loaded.config, {
95
99
  mount,
96
100
  fleet,
101
+ stateStore,
97
102
  stateResolution,
98
103
  probePrGhRunner: deps.probePrGhRunner ?? defaultGhRunner,
99
104
  logger,
@@ -161,7 +166,12 @@ function parseFleetSubcommand(args) {
161
166
  }
162
167
  export function parseGlobalOptions(argv) {
163
168
  const args = [];
164
- const globals = { backend: 'internal', dryRun: false };
169
+ const envAgentExitTimeoutMs = parseOwnedBrokerAgentExitTimeoutMs(process.env.FACTORY_AGENT_EXIT_TIMEOUT_MS);
170
+ const globals = {
171
+ backend: 'internal',
172
+ dryRun: false,
173
+ ...(envAgentExitTimeoutMs === undefined ? {} : { agentExitTimeoutMs: envAgentExitTimeoutMs }),
174
+ };
165
175
  for (let index = 0; index < argv.length; index += 1) {
166
176
  const arg = argv[index];
167
177
  if (arg === '--backend') {
@@ -173,6 +183,14 @@ export function parseGlobalOptions(argv) {
173
183
  else if (arg === '--config') {
174
184
  globals.config = requireValue(argv, ++index, '--config');
175
185
  }
186
+ else if (arg === '--agent-exit-timeout') {
187
+ const value = requireValue(argv, ++index, '--agent-exit-timeout');
188
+ const timeoutMs = parseOwnedBrokerAgentExitTimeoutMs(value);
189
+ if (timeoutMs === undefined) {
190
+ throw new Error('--agent-exit-timeout must be a positive integer number of milliseconds');
191
+ }
192
+ globals.agentExitTimeoutMs = timeoutMs;
193
+ }
176
194
  else if (arg === '--dry-run') {
177
195
  globals.dryRun = true;
178
196
  }
@@ -409,7 +427,7 @@ async function buildFleet(globals, loaded, deps) {
409
427
  // An injected createFleet owns fleet construction entirely (tests), so skip the
410
428
  // real broker bootstrap.
411
429
  if (deps.createFleet) {
412
- return deps.createFleet({ backend: globals.backend, cwd, connectionPath });
430
+ return deps.createFleet({ backend: globals.backend, cwd, connectionPath }, { ownedBrokerAgentExitTimeoutMs: globals.agentExitTimeoutMs });
413
431
  }
414
432
  // The internal backend talks to a relay broker. Reuse the one already running
415
433
  // for this workspace, or start one if none is up, so `factory <run-once|loop>`
@@ -419,7 +437,13 @@ async function buildFleet(globals, loaded, deps) {
419
437
  const stderr = deps.stderr ?? process.stderr;
420
438
  const logger = streamLogger(stderr);
421
439
  const { client, started, workspaceKey } = await (deps.ensureRelayBroker ?? ensureRelayBroker)({ cwd, connectionPath, logger });
422
- return createFleet({ backend: 'internal', cwd, connectionPath }, { harnessClient: client, ownsBroker: started, workspaceKey });
440
+ return createFleet({ backend: 'internal', cwd, connectionPath }, {
441
+ harnessClient: client,
442
+ ownsBroker: started,
443
+ ownedBrokerAgentExitTimeoutMs: globals.agentExitTimeoutMs,
444
+ workspaceKey,
445
+ logger,
446
+ });
423
447
  }
424
448
  return createFleet({ backend: globals.backend, cwd, connectionPath });
425
449
  }
@@ -700,6 +724,9 @@ Options:
700
724
  --config <path> Factory config JSON path (default: ./factory.config.json)
701
725
  --dry-run Discover and triage without writes or agent spawns
702
726
  --backend <backend> Fleet backend: internal or relay
727
+ --agent-exit-timeout <ms>
728
+ Max owned-broker wait for task-exit agents (default: 1800000;
729
+ env: FACTORY_AGENT_EXIT_TIMEOUT_MS)
703
730
  -h, --help Show this help
704
731
  `;
705
732
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fleet.js","sourceRoot":"","sources":["../../src/cli/fleet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fleet.js","sourceRoot":"","sources":["../../src/cli/fleet.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import { InternalFleetClient, type HarnessDriverClientLike } from './internal-fleet-client.js';
2
2
  import { RelayFleetClient } from './relay-fleet-client.js';
3
+ import type { Logger } from '../ports/system.js';
3
4
  export type FleetBackend = 'internal' | 'relay';
5
+ export declare const FACTORY_AGENT_EXIT_TIMEOUT_ENV = "FACTORY_AGENT_EXIT_TIMEOUT_MS";
4
6
  export interface CreateFleetOptions {
5
7
  backend?: FleetBackend;
6
8
  cwd?: string;
@@ -9,7 +11,11 @@ export interface CreateFleetOptions {
9
11
  export interface CreateFleetDeps {
10
12
  harnessClient?: HarnessDriverClientLike;
11
13
  ownsBroker?: boolean;
14
+ ownedBrokerAgentExitTimeoutMs?: number;
12
15
  workspaceKey?: string;
16
+ logger?: Logger;
13
17
  }
18
+ export declare function parseOwnedBrokerAgentExitTimeoutMs(value: unknown): number | undefined;
19
+ export declare function resolveOwnedBrokerAgentExitTimeoutMs(explicit: number | undefined, env?: NodeJS.ProcessEnv): number | undefined;
14
20
  export declare function createFleet(options?: CreateFleetOptions, deps?: CreateFleetDeps): InternalFleetClient | RelayFleetClient;
15
21
  //# sourceMappingURL=create-fleet.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-fleet.d.ts","sourceRoot":"","sources":["../../src/fleet/create-fleet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,KAAK,uBAAuB,EAAE,MAAM,yBAAyB,CAAA;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAEvD,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,OAAO,CAAA;AAE/C,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,aAAa,CAAC,EAAE,uBAAuB,CAAA;IAGvC,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,wBAAgB,WAAW,CAAC,OAAO,GAAE,kBAAuB,EAAE,IAAI,GAAE,eAAoB,0CAcvF"}
1
+ {"version":3,"file":"create-fleet.d.ts","sourceRoot":"","sources":["../../src/fleet/create-fleet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,KAAK,uBAAuB,EAAE,MAAM,yBAAyB,CAAA;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAE7C,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,OAAO,CAAA;AAC/C,eAAO,MAAM,8BAA8B,kCAAkC,CAAA;AAE7E,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,aAAa,CAAC,EAAE,uBAAuB,CAAA;IAGvC,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,6BAA6B,CAAC,EAAE,MAAM,CAAA;IACtC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAIrF;AAED,wBAAgB,oCAAoC,CAClD,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,GAAG,SAAS,CAWpB;AAED,wBAAgB,WAAW,CAAC,OAAO,GAAE,kBAAuB,EAAE,IAAI,GAAE,eAAoB,0CAgBvF"}
@@ -1,5 +1,24 @@
1
1
  import { InternalFleetClient } from './internal-fleet-client.js';
2
2
  import { RelayFleetClient } from './relay-fleet-client.js';
3
+ export const FACTORY_AGENT_EXIT_TIMEOUT_ENV = 'FACTORY_AGENT_EXIT_TIMEOUT_MS';
4
+ export function parseOwnedBrokerAgentExitTimeoutMs(value) {
5
+ if (value === undefined || value === null || value === '')
6
+ return undefined;
7
+ const parsed = typeof value === 'number' ? value : Number(value);
8
+ return Number.isSafeInteger(parsed) && parsed > 0 ? parsed : undefined;
9
+ }
10
+ export function resolveOwnedBrokerAgentExitTimeoutMs(explicit, env = process.env) {
11
+ if (explicit !== undefined) {
12
+ const parsed = parseOwnedBrokerAgentExitTimeoutMs(explicit);
13
+ if (parsed === undefined) {
14
+ throw new Error('ownedBrokerAgentExitTimeoutMs must be a positive integer number of milliseconds');
15
+ }
16
+ return parsed;
17
+ }
18
+ // Invalid environment values are treated as unset so InternalFleetClient's
19
+ // bounded 30-minute default remains the final fallback.
20
+ return parseOwnedBrokerAgentExitTimeoutMs(env[FACTORY_AGENT_EXIT_TIMEOUT_ENV]);
21
+ }
3
22
  export function createFleet(options = {}, deps = {}) {
4
23
  const backend = options.backend ?? 'internal';
5
24
  if (backend === 'relay') {
@@ -8,7 +27,9 @@ export function createFleet(options = {}, deps = {}) {
8
27
  return new InternalFleetClient({
9
28
  client: deps.harnessClient,
10
29
  ownsBroker: deps.ownsBroker,
30
+ ownedBrokerAgentExitTimeoutMs: resolveOwnedBrokerAgentExitTimeoutMs(deps.ownedBrokerAgentExitTimeoutMs),
11
31
  workspaceKey: deps.workspaceKey,
32
+ logger: deps.logger,
12
33
  cwd: options.cwd,
13
34
  connectionPath: options.connectionPath,
14
35
  });
@@ -1 +1 @@
1
- {"version":3,"file":"create-fleet.js","sourceRoot":"","sources":["../../src/fleet/create-fleet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAgC,MAAM,yBAAyB,CAAA;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAkBvD,MAAM,UAAU,WAAW,CAAC,UAA8B,EAAE,EAAE,OAAwB,EAAE;IACtF,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,UAAU,CAAA;IAE7C,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACxB,OAAO,IAAI,gBAAgB,EAAE,CAAA;IAC/B,CAAC;IAED,OAAO,IAAI,mBAAmB,CAAC;QAC7B,MAAM,EAAE,IAAI,CAAC,aAAa;QAC1B,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,cAAc,EAAE,OAAO,CAAC,cAAc;KACvC,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"create-fleet.js","sourceRoot":"","sources":["../../src/fleet/create-fleet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAgC,MAAM,yBAAyB,CAAA;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAIvD,MAAM,CAAC,MAAM,8BAA8B,GAAG,+BAA+B,CAAA;AAkB7E,MAAM,UAAU,kCAAkC,CAAC,KAAc;IAC/D,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,SAAS,CAAA;IAC3E,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAChE,OAAO,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;AACxE,CAAC;AAED,MAAM,UAAU,oCAAoC,CAClD,QAA4B,EAC5B,MAAyB,OAAO,CAAC,GAAG;IAEpC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,kCAAkC,CAAC,QAAQ,CAAC,CAAA;QAC3D,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAA;QACpG,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IACD,2EAA2E;IAC3E,wDAAwD;IACxD,OAAO,kCAAkC,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC,CAAA;AAChF,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,UAA8B,EAAE,EAAE,OAAwB,EAAE;IACtF,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,UAAU,CAAA;IAE7C,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACxB,OAAO,IAAI,gBAAgB,EAAE,CAAA;IAC/B,CAAC;IAED,OAAO,IAAI,mBAAmB,CAAC;QAC7B,MAAM,EAAE,IAAI,CAAC,aAAa;QAC1B,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,6BAA6B,EAAE,oCAAoC,CAAC,IAAI,CAAC,6BAA6B,CAAC;QACvG,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,cAAc,EAAE,OAAO,CAAC,cAAc;KACvC,CAAC,CAAA;AACJ,CAAC"}
@@ -43,6 +43,7 @@ export interface HarnessDriverClientLike {
43
43
  export interface InternalFleetClientOptions {
44
44
  client?: HarnessDriverClientLike;
45
45
  ownsBroker?: boolean;
46
+ ownedBrokerAgentExitTimeoutMs?: number;
46
47
  cwd?: string;
47
48
  connectionPath?: string;
48
49
  workspaceKey?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"internal-fleet-client.d.ts","sourceRoot":"","sources":["../../src/fleet/internal-fleet-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"internal-fleet-client.d.ts","sourceRoot":"","sources":["../../src/fleet/internal-fleet-client.ts"],"names":[],"mappings":"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"}
@@ -18,9 +18,13 @@ const selfNode = {
18
18
  const PID_RESOLVE_ATTEMPTS = 3;
19
19
  const PID_RESOLVE_BACKOFF_MS = 75;
20
20
  const READY_RESEND_DELAY_MS = 1_000;
21
+ // One-shot commands normally finish well inside this guard. Keep it bounded so
22
+ // a hung task_exit worker cannot hold a cold-started broker open indefinitely.
23
+ const OWNED_BROKER_AGENT_EXIT_TIMEOUT_MS = 30 * 60 * 1_000;
21
24
  export class InternalFleetClient {
22
25
  #client;
23
26
  #ownsBroker;
27
+ #ownedBrokerAgentExitTimeoutMs;
24
28
  #cwd;
25
29
  #connectionPath;
26
30
  #workspaceKey;
@@ -40,10 +44,14 @@ export class InternalFleetClient {
40
44
  #failedDeliveries = new Map();
41
45
  #failedDeliveryIds = [];
42
46
  #exitedAgentNames = new Set();
47
+ #agentExitSequences = new Map();
43
48
  #readyAgentNames = new Set();
49
+ #activeSpawnedAgentNames = new Set();
50
+ #activeAgentsDrainedListeners = new Set();
44
51
  #suppressedDuplicateEvents = 0;
45
52
  #suppressedDuplicateAgentExits = 0;
46
53
  #missingIdentityEvents = 0;
54
+ #agentExitSequence = 0;
47
55
  #subscribed = false;
48
56
  #disposed = false;
49
57
  constructor(options = {}) {
@@ -55,6 +63,7 @@ export class InternalFleetClient {
55
63
  this.#resolveAgentRelayMcpCommand = options.resolveAgentRelayMcpCommand ?? resolveAgentRelayMcpCommand;
56
64
  this.#client = options.client ?? HarnessDriverClient.connect({ cwd: options.cwd, connectionPath: options.connectionPath });
57
65
  this.#ownsBroker = options.ownsBroker ?? false;
66
+ this.#ownedBrokerAgentExitTimeoutMs = options.ownedBrokerAgentExitTimeoutMs ?? OWNED_BROKER_AGENT_EXIT_TIMEOUT_MS;
58
67
  }
59
68
  async spawn(input) {
60
69
  assertSelfNode(input.node);
@@ -75,8 +84,16 @@ export class InternalFleetClient {
75
84
  spawnMode: 'task_exit',
76
85
  exitAfterTask: true,
77
86
  });
78
- const handle = await this.#client.spawnPty(spawnInput);
79
- this.#clearAgentExitLatch(handle.name);
87
+ const exitSequenceAtSpawnStart = this.#trackAgentStart(input.name);
88
+ let handle;
89
+ try {
90
+ handle = await this.#client.spawnPty(spawnInput);
91
+ }
92
+ catch (error) {
93
+ this.#trackAgentExit(input.name);
94
+ throw error;
95
+ }
96
+ this.#reconcileTrackedAgentName(input.name, handle.name, exitSequenceAtSpawnStart);
80
97
  // A fresh broker's event stream can miss the first worker_ready edge while
81
98
  // it is still connecting. The successful spawn response is the broker's
82
99
  // authoritative registration signal, so feed it through the same bounded
@@ -95,8 +112,17 @@ export class InternalFleetClient {
95
112
  cwd: this.#cwd,
96
113
  continueFrom: input.sessionRef,
97
114
  });
98
- const handle = await this.#client.spawnPty(spawnInput);
99
- this.#clearAgentExitLatch(handle.name);
115
+ const requestedName = input.name ?? input.sessionRef;
116
+ const exitSequenceAtSpawnStart = this.#trackAgentStart(requestedName);
117
+ let handle;
118
+ try {
119
+ handle = await this.#client.spawnPty(spawnInput);
120
+ }
121
+ catch (error) {
122
+ this.#trackAgentExit(requestedName);
123
+ throw error;
124
+ }
125
+ this.#reconcileTrackedAgentName(requestedName, handle.name, exitSequenceAtSpawnStart);
100
126
  return { ...spawnResultFrom(handle), sessionRef: sessionRefFrom(handle) ?? input.sessionRef };
101
127
  }
102
128
  #withAgentRelayMcpHarness(input) {
@@ -122,6 +148,10 @@ export class InternalFleetClient {
122
148
  }
123
149
  finally {
124
150
  this.#readyAgentNames.delete(name);
151
+ // An explicit release attempt is terminal for this client's lifecycle
152
+ // bookkeeping even if the broker reports an error. Factory.stop() catches
153
+ // that error and dispose() must not then wait for the full agent timeout.
154
+ this.#trackAgentExit(name);
125
155
  }
126
156
  }
127
157
  async roster() {
@@ -264,6 +294,13 @@ export class InternalFleetClient {
264
294
  return;
265
295
  }
266
296
  this.#disposed = true;
297
+ // A one-shot command returns as soon as task injection is confirmed, while
298
+ // task_exit workers continue editing and opening their PR. If this client
299
+ // cold-started the broker, keep its event stream alive until those workers
300
+ // report exit; otherwise shutdown would terminate them mid-task.
301
+ if (this.#ownsBroker && this.#client.shutdown) {
302
+ await this.#waitForSpawnedAgentsToExit();
303
+ }
267
304
  const pending = [...this.#activeInjectedWaits];
268
305
  this.#activeInjectedWaits.clear();
269
306
  this.#pendingInjected.clear();
@@ -329,7 +366,7 @@ export class InternalFleetClient {
329
366
  return;
330
367
  }
331
368
  if (event.kind === 'delivery_injected') {
332
- this.#resolveInjected(event.event_id);
369
+ this.#resolveInjected(event.event_id, event.name);
333
370
  return;
334
371
  }
335
372
  if (event.kind === 'delivery_failed') {
@@ -380,13 +417,37 @@ export class InternalFleetClient {
380
417
  }
381
418
  }
382
419
  }
383
- #resolveInjected(eventId) {
420
+ #resolveInjected(eventId, name) {
384
421
  rememberRecent(eventId, this.#injectedEventIds, this.#injectedEventIdSet);
385
422
  const pending = this.#pendingInjected.get(eventId);
386
- if (!pending) {
423
+ if (pending) {
424
+ this.#resolvePendingInjected(pending, eventId);
387
425
  return;
388
426
  }
389
- this.#resolvePendingInjected(pending, eventId);
427
+ // The broker's delivery_injected event id belongs to its own
428
+ // delivery-tracking id space (a snowflake/`init_…` id) and does NOT equal
429
+ // the id sendMessage returned for our send — that is an inbound-request
430
+ // correlation id (`http_…`) the broker never re-emits on delivery events.
431
+ // So matching purely by event id can never confirm a real cold-start
432
+ // injection; the delivery lands and is read, yet the waiter times out.
433
+ // Correlate by the delivery target name instead: a delivery_injected for
434
+ // the agent we are waiting on confirms our injection reached its terminal.
435
+ // Waits are serialized per target (the orchestrator awaits each injection
436
+ // before the next), so at most one active waiter matches a given name.
437
+ if (name) {
438
+ const waiter = this.#activeInjectedWaitFor(name);
439
+ if (waiter) {
440
+ this.#resolvePendingInjected(waiter, eventId);
441
+ }
442
+ }
443
+ }
444
+ #activeInjectedWaitFor(name) {
445
+ for (const waiter of this.#activeInjectedWaits) {
446
+ if (!waiter.settled && waiter.input.to === name) {
447
+ return waiter;
448
+ }
449
+ }
450
+ return undefined;
390
451
  }
391
452
  #resolvePendingInjected(pending, eventId) {
392
453
  if (pending.settled)
@@ -502,6 +563,10 @@ export class InternalFleetClient {
502
563
  if (this.#rememberAgentExit(name)) {
503
564
  return;
504
565
  }
566
+ // Deduplicate before draining the tracked lifetime. In particular, an
567
+ // exact replay of an old exit must not finish a newly resumed same-name
568
+ // agent after #trackAgentStart() clears the per-name exit latch.
569
+ this.#trackAgentExit(name);
505
570
  for (const listener of this.#agentExitListeners) {
506
571
  listener(name, reason);
507
572
  }
@@ -518,11 +583,77 @@ export class InternalFleetClient {
518
583
  return true;
519
584
  }
520
585
  this.#exitedAgentNames.add(name);
586
+ this.#agentExitSequence += 1;
587
+ this.#agentExitSequences.set(name, this.#agentExitSequence);
521
588
  return false;
522
589
  }
523
590
  #clearAgentExitLatch(name) {
524
591
  this.#exitedAgentNames.delete(name);
525
592
  }
593
+ #trackAgentStart(name) {
594
+ const exitSequenceAtStart = this.#agentExitSequence;
595
+ this.#clearAgentExitLatch(name);
596
+ this.#activeSpawnedAgentNames.add(name);
597
+ return exitSequenceAtStart;
598
+ }
599
+ #reconcileTrackedAgentName(requestedName, actualName, exitSequenceAtSpawnStart) {
600
+ if (requestedName === actualName)
601
+ return;
602
+ this.#activeSpawnedAgentNames.delete(requestedName);
603
+ const actualExitSequence = this.#agentExitSequences.get(actualName) ?? 0;
604
+ const exitedDuringSpawn = this.#exitedAgentNames.has(actualName) && actualExitSequence > exitSequenceAtSpawnStart;
605
+ if (!exitedDuringSpawn) {
606
+ // An exit stamp at or before the spawn boundary belongs to an older
607
+ // lifetime of the broker-returned name and must not suppress tracking.
608
+ this.#clearAgentExitLatch(actualName);
609
+ this.#activeSpawnedAgentNames.add(actualName);
610
+ }
611
+ this.#notifyIfActiveAgentsDrained();
612
+ }
613
+ #trackAgentExit(name) {
614
+ if (!this.#activeSpawnedAgentNames.delete(name))
615
+ return;
616
+ this.#notifyIfActiveAgentsDrained();
617
+ }
618
+ #notifyIfActiveAgentsDrained() {
619
+ if (this.#activeSpawnedAgentNames.size > 0)
620
+ return;
621
+ for (const listener of [...this.#activeAgentsDrainedListeners]) {
622
+ listener();
623
+ }
624
+ }
625
+ async #waitForSpawnedAgentsToExit() {
626
+ if (this.#activeSpawnedAgentNames.size === 0)
627
+ return;
628
+ this.#logger?.info?.('[factory-sdk] waiting for spawned agents to exit before shutting down the owned relay broker', {
629
+ agents: [...this.#activeSpawnedAgentNames].sort(),
630
+ timeoutMs: this.#ownedBrokerAgentExitTimeoutMs,
631
+ remainingCount: this.#activeSpawnedAgentNames.size,
632
+ });
633
+ const timedOut = await new Promise((resolve) => {
634
+ let settled = false;
635
+ const settle = (didTimeOut) => {
636
+ if (settled)
637
+ return;
638
+ settled = true;
639
+ clearTimeout(timeout);
640
+ this.#activeAgentsDrainedListeners.delete(onDrained);
641
+ resolve(didTimeOut);
642
+ };
643
+ const onDrained = () => settle(false);
644
+ const timeout = setTimeout(() => settle(true), this.#ownedBrokerAgentExitTimeoutMs);
645
+ this.#activeAgentsDrainedListeners.add(onDrained);
646
+ // Close the gap between the initial size check and listener registration.
647
+ if (this.#activeSpawnedAgentNames.size === 0)
648
+ onDrained();
649
+ });
650
+ if (timedOut) {
651
+ this.#logger?.warn?.('[factory-sdk] timed out waiting for spawned agents to exit; shutting down the owned relay broker', {
652
+ timeoutMs: this.#ownedBrokerAgentExitTimeoutMs,
653
+ agents: [...this.#activeSpawnedAgentNames].sort(),
654
+ });
655
+ }
656
+ }
526
657
  #rememberEvent(identity) {
527
658
  const { key } = identity;
528
659
  if (!identity.hasStableId) {