@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 +4 -2
- package/dist/cli/fleet.d.ts +1 -0
- package/dist/cli/fleet.d.ts.map +1 -1
- package/dist/cli/fleet.js +31 -4
- package/dist/cli/fleet.js.map +1 -1
- package/dist/fleet/create-fleet.d.ts +6 -0
- package/dist/fleet/create-fleet.d.ts.map +1 -1
- package/dist/fleet/create-fleet.js +21 -0
- package/dist/fleet/create-fleet.js.map +1 -1
- package/dist/fleet/internal-fleet-client.d.ts +1 -0
- package/dist/fleet/internal-fleet-client.d.ts.map +1 -1
- package/dist/fleet/internal-fleet-client.js +139 -8
- package/dist/fleet/internal-fleet-client.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/orchestrator/factory.d.ts +1 -0
- package/dist/orchestrator/factory.d.ts.map +1 -1
- package/dist/orchestrator/factory.js +615 -15
- package/dist/orchestrator/factory.js.map +1 -1
- package/dist/ports/state.d.ts +23 -0
- package/dist/ports/state.d.ts.map +1 -1
- package/dist/state/file-state-store.d.ts +20 -0
- package/dist/state/file-state-store.d.ts.map +1 -0
- package/dist/state/file-state-store.js +132 -0
- package/dist/state/file-state-store.js.map +1 -0
- package/dist/state/in-memory-state-store.d.ts +4 -1
- package/dist/state/in-memory-state-store.d.ts.map +1 -1
- package/dist/state/in-memory-state-store.js +30 -0
- package/dist/state/in-memory-state-store.js.map +1 -1
- package/dist/triage/schema.d.ts +44 -44
- package/package.json +3 -1
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
|
|
118
|
-
already running for your workspace, and
|
|
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.)
|
package/dist/cli/fleet.d.ts
CHANGED
package/dist/cli/fleet.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleet.d.ts","sourceRoot":"","sources":["../../src/cli/fleet.ts"],"names":[],"mappings":"AAKA,OAAO,
|
|
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
|
|
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 }, {
|
|
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
|
}
|
package/dist/cli/fleet.js.map
CHANGED
|
@@ -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;
|
|
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;
|
|
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":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAE1G,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAChJ,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAK7C,KAAK,iBAAiB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AACtH,KAAK,oBAAoB,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAA;AACxD,KAAK,eAAe,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AACzE,KAAK,uBAAuB,GAAG,WAAW,CAAA;AAC1C,MAAM,MAAM,oBAAoB,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAAA;AAEtE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAA;IAC1D,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACjE,UAAU,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAA;IACxE,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAA;IACvF,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACvD,aAAa,CAAC,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvC,UAAU,CAAC,IAAI,IAAI,CAAA;IAGnB,QAAQ,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACjC,OAAO,CAAC,CAAC,QAAQ,EAAE,oBAAoB,GAAG,MAAM,IAAI,CAAA;IACpD,WAAW,CAAC,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,GAAG,MAAM,IAAI,CAAA;IAC1F,WAAW,CAAC,CAAC,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,IAAI,GAAG,MAAM,IAAI,CAAA;CACtG;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,CAAC,EAAE,uBAAuB,CAAA;IAGhC,UAAU,CAAC,EAAE,OAAO,CAAA;
|
|
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
|
|
79
|
-
|
|
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
|
|
99
|
-
this.#
|
|
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 (
|
|
423
|
+
if (pending) {
|
|
424
|
+
this.#resolvePendingInjected(pending, eventId);
|
|
387
425
|
return;
|
|
388
426
|
}
|
|
389
|
-
|
|
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) {
|