@herdctl/core 5.10.0 → 5.11.0

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 (63) hide show
  1. package/dist/fleet-manager/__tests__/agent-management.test.d.ts +9 -0
  2. package/dist/fleet-manager/__tests__/agent-management.test.d.ts.map +1 -0
  3. package/dist/fleet-manager/__tests__/agent-management.test.js +358 -0
  4. package/dist/fleet-manager/__tests__/agent-management.test.js.map +1 -0
  5. package/dist/fleet-manager/__tests__/errors.test.js +40 -2
  6. package/dist/fleet-manager/__tests__/errors.test.js.map +1 -1
  7. package/dist/fleet-manager/__tests__/session-control.test.d.ts +14 -0
  8. package/dist/fleet-manager/__tests__/session-control.test.d.ts.map +1 -0
  9. package/dist/fleet-manager/__tests__/session-control.test.js +240 -0
  10. package/dist/fleet-manager/__tests__/session-control.test.js.map +1 -0
  11. package/dist/fleet-manager/__tests__/trigger.test.js +137 -2
  12. package/dist/fleet-manager/__tests__/trigger.test.js.map +1 -1
  13. package/dist/fleet-manager/agent-management.d.ts +107 -0
  14. package/dist/fleet-manager/agent-management.d.ts.map +1 -0
  15. package/dist/fleet-manager/agent-management.js +237 -0
  16. package/dist/fleet-manager/agent-management.js.map +1 -0
  17. package/dist/fleet-manager/errors.d.ts +30 -0
  18. package/dist/fleet-manager/errors.d.ts.map +1 -1
  19. package/dist/fleet-manager/errors.js +40 -0
  20. package/dist/fleet-manager/errors.js.map +1 -1
  21. package/dist/fleet-manager/fleet-manager.d.ts +144 -2
  22. package/dist/fleet-manager/fleet-manager.d.ts.map +1 -1
  23. package/dist/fleet-manager/fleet-manager.js +260 -2
  24. package/dist/fleet-manager/fleet-manager.js.map +1 -1
  25. package/dist/fleet-manager/index.d.ts +1 -0
  26. package/dist/fleet-manager/index.d.ts.map +1 -1
  27. package/dist/fleet-manager/index.js +2 -0
  28. package/dist/fleet-manager/index.js.map +1 -1
  29. package/dist/fleet-manager/job-control.d.ts.map +1 -1
  30. package/dist/fleet-manager/job-control.js +54 -9
  31. package/dist/fleet-manager/job-control.js.map +1 -1
  32. package/dist/fleet-manager/types.d.ts +28 -0
  33. package/dist/fleet-manager/types.d.ts.map +1 -1
  34. package/dist/runner/index.d.ts +1 -1
  35. package/dist/runner/index.d.ts.map +1 -1
  36. package/dist/runner/index.js +1 -1
  37. package/dist/runner/index.js.map +1 -1
  38. package/dist/runner/runtime/__tests__/cli-runtime.test.js +35 -0
  39. package/dist/runner/runtime/__tests__/cli-runtime.test.js.map +1 -1
  40. package/dist/runner/runtime/__tests__/cli-session-path.test.js +63 -6
  41. package/dist/runner/runtime/__tests__/cli-session-path.test.js.map +1 -1
  42. package/dist/runner/runtime/__tests__/docker-security.test.js +39 -0
  43. package/dist/runner/runtime/__tests__/docker-security.test.js.map +1 -1
  44. package/dist/runner/runtime/cli-session-path.d.ts +18 -6
  45. package/dist/runner/runtime/cli-session-path.d.ts.map +1 -1
  46. package/dist/runner/runtime/cli-session-path.js +48 -8
  47. package/dist/runner/runtime/cli-session-path.js.map +1 -1
  48. package/dist/runner/runtime/index.d.ts +1 -0
  49. package/dist/runner/runtime/index.d.ts.map +1 -1
  50. package/dist/runner/runtime/index.js +5 -0
  51. package/dist/runner/runtime/index.js.map +1 -1
  52. package/dist/scheduler/errors.d.ts +1 -0
  53. package/dist/scheduler/errors.d.ts.map +1 -1
  54. package/dist/state/session-discovery.d.ts +18 -0
  55. package/dist/state/session-discovery.d.ts.map +1 -1
  56. package/dist/state/session-discovery.js +12 -1
  57. package/dist/state/session-discovery.js.map +1 -1
  58. package/dist/state/utils/__tests__/path-safety.test.js +26 -1
  59. package/dist/state/utils/__tests__/path-safety.test.js.map +1 -1
  60. package/dist/state/utils/path-safety.d.ts.map +1 -1
  61. package/dist/state/utils/path-safety.js +3 -2
  62. package/dist/state/utils/path-safety.js.map +1 -1
  63. package/package.json +1 -1
@@ -0,0 +1,237 @@
1
+ /**
2
+ * Agent Management Module
3
+ *
4
+ * Centralizes programmatic (in-memory) agent registration for FleetManager.
5
+ *
6
+ * Unlike {@link ConfigReload}, which re-reads agent definitions from disk, this
7
+ * module lets a library consumer add or remove a single agent at runtime by
8
+ * passing an {@link AgentConfig} object directly. This avoids the
9
+ * write-yaml-then-reload() round trip that consumers building project-oriented
10
+ * apps on top of herdctl (e.g. paddock) would otherwise need.
11
+ *
12
+ * The resolved agent is integrated with the same plumbing reload() uses:
13
+ * - the stored {@link ResolvedConfig}'s `agents` array,
14
+ * - the {@link Scheduler} (via `setAgents`),
15
+ * so the new agent is immediately triggerable and appears in fleet status.
16
+ *
17
+ * @module agent-management
18
+ */
19
+ import { isAbsolute, resolve } from "node:path";
20
+ import { AgentConfigSchema, mergeAgentConfig, } from "../config/index.js";
21
+ import { ConfigurationError, InvalidStateError } from "./errors.js";
22
+ // =============================================================================
23
+ // AgentManagement Class
24
+ // =============================================================================
25
+ /**
26
+ * AgentManagement provides programmatic agent registration for the FleetManager.
27
+ *
28
+ * This class encapsulates resolving an {@link AgentConfig} into a
29
+ * {@link ResolvedAgent} and wiring it into the running fleet, using the
30
+ * {@link FleetManagerContext} pattern shared by the other module classes.
31
+ */
32
+ export class AgentManagement {
33
+ ctx;
34
+ setConfig;
35
+ getAgentInfoByName;
36
+ constructor(ctx, setConfig, getAgentInfoByName) {
37
+ this.ctx = ctx;
38
+ this.setConfig = setConfig;
39
+ this.getAgentInfoByName = getAgentInfoByName;
40
+ }
41
+ /**
42
+ * Register an agent at runtime without writing YAML or calling `reload()`.
43
+ *
44
+ * The provided config is validated against the agent schema, merged with
45
+ * fleet defaults (unless disabled), and normalized the same way agents loaded
46
+ * from disk are. The resolved agent is appended to the in-memory config and
47
+ * pushed to the scheduler so it is immediately triggerable and visible in
48
+ * fleet status. A `config:reloaded` event is emitted describing the change.
49
+ *
50
+ * @param agent - The agent configuration to register
51
+ * @param options - Resolution options (base dir, defaults merge, replace)
52
+ * @returns Info for the newly registered agent
53
+ * @throws {InvalidStateError} If the fleet manager is not yet initialized
54
+ * @throws {ConfigurationError} If validation fails or the qualified name
55
+ * collides with an existing agent (and `replace` is not set)
56
+ */
57
+ async addAgent(agent, options) {
58
+ const config = this.requireConfig("addAgent");
59
+ const logger = this.ctx.getLogger();
60
+ // Validate the incoming config against the agent schema. This applies the
61
+ // same defaults/coercions (e.g. schedule.enabled) that a file-loaded agent
62
+ // would receive, and produces a clear error on bad input.
63
+ let validated;
64
+ try {
65
+ validated = AgentConfigSchema.parse(agent);
66
+ }
67
+ catch (error) {
68
+ throw new ConfigurationError(`Invalid agent configuration for addAgent: ${error instanceof Error ? error.message : String(error)}`, { cause: error instanceof Error ? error : undefined });
69
+ }
70
+ const resolved = this.resolveAgent(validated, config, options);
71
+ // Detect collisions. Root-level programmatic agents use their name as the
72
+ // qualified name, so this also catches duplicate local names.
73
+ const existingIndex = config.agents.findIndex((a) => a.qualifiedName === resolved.qualifiedName);
74
+ if (existingIndex !== -1 && !options?.replace) {
75
+ throw new ConfigurationError(`Agent "${resolved.qualifiedName}" already exists. ` +
76
+ `Use removeAgent() first, or pass { replace: true } to overwrite.`);
77
+ }
78
+ const newAgents = [...config.agents];
79
+ if (existingIndex !== -1) {
80
+ newAgents[existingIndex] = resolved;
81
+ }
82
+ else {
83
+ newAgents.push(resolved);
84
+ }
85
+ this.commit(config, newAgents, [
86
+ buildChange(existingIndex !== -1 ? "modified" : "added", resolved),
87
+ ]);
88
+ logger.info(`Agent "${resolved.qualifiedName}" ${existingIndex !== -1 ? "replaced" : "added"} programmatically`);
89
+ return this.getAgentInfoByName(resolved.qualifiedName);
90
+ }
91
+ /**
92
+ * Unregister an agent at runtime.
93
+ *
94
+ * Removes the agent from the in-memory config and the scheduler. Accepts a
95
+ * qualified name (e.g. `"sub.agent"`) or a local name; qualified names are
96
+ * matched first. Running jobs are unaffected — the scheduler simply stops
97
+ * triggering the removed agent's schedules.
98
+ *
99
+ * @param name - The agent qualified name or local name to remove
100
+ * @returns `true` if an agent was removed, `false` if no match was found
101
+ * @throws {InvalidStateError} If the fleet manager is not yet initialized
102
+ */
103
+ async removeAgent(name) {
104
+ const config = this.requireConfig("removeAgent");
105
+ const logger = this.ctx.getLogger();
106
+ // Match qualified name first, fall back to local name (mirrors
107
+ // getAgentInfoByName / trigger lookup semantics).
108
+ const qualifiedIndex = config.agents.findIndex((a) => a.qualifiedName === name);
109
+ const index = qualifiedIndex !== -1 ? qualifiedIndex : config.agents.findIndex((a) => a.name === name);
110
+ if (index === -1) {
111
+ logger.debug(`removeAgent: no agent matching "${name}"`);
112
+ return false;
113
+ }
114
+ const removed = config.agents[index];
115
+ const newAgents = config.agents.filter((_, i) => i !== index);
116
+ this.commit(config, newAgents, [buildChange("removed", removed)]);
117
+ logger.info(`Agent "${removed.qualifiedName}" removed programmatically`);
118
+ return true;
119
+ }
120
+ // ===========================================================================
121
+ // Private Helpers
122
+ // ===========================================================================
123
+ /**
124
+ * Ensure the fleet is initialized and return the current config.
125
+ */
126
+ requireConfig(operation) {
127
+ const status = this.ctx.getStatus();
128
+ if (status === "uninitialized") {
129
+ throw new InvalidStateError(operation, status, [
130
+ "initialized",
131
+ "starting",
132
+ "running",
133
+ "stopping",
134
+ "stopped",
135
+ ]);
136
+ }
137
+ const config = this.ctx.getConfig();
138
+ if (!config) {
139
+ throw new InvalidStateError(operation, status, [
140
+ "initialized",
141
+ "starting",
142
+ "running",
143
+ "stopping",
144
+ "stopped",
145
+ ]);
146
+ }
147
+ return config;
148
+ }
149
+ /**
150
+ * Persist the new agent list to the stored config and the scheduler, then
151
+ * emit a `config:reloaded` event describing the change.
152
+ */
153
+ commit(config, newAgents, changes) {
154
+ const newConfig = { ...config, agents: newAgents };
155
+ this.setConfig(newConfig);
156
+ const scheduler = this.ctx.getScheduler();
157
+ if (scheduler) {
158
+ scheduler.setAgents(newAgents);
159
+ }
160
+ this.ctx.emit("config:reloaded", {
161
+ agentCount: newAgents.length,
162
+ agentNames: newAgents.map((a) => a.qualifiedName),
163
+ configPath: config.configPath,
164
+ changes,
165
+ timestamp: new Date().toISOString(),
166
+ });
167
+ }
168
+ /**
169
+ * Resolve a validated {@link AgentConfig} into a {@link ResolvedAgent},
170
+ * mirroring the loader's resolution: merge fleet defaults, normalize the
171
+ * working directory, and compute the qualified name.
172
+ *
173
+ * Programmatic agents are always registered at the root fleet level
174
+ * (`fleetPath: []`), so their qualified name equals their local name. This
175
+ * matches how a consumer-managed config dir references agents.
176
+ */
177
+ resolveAgent(agentConfig, config, options) {
178
+ const mergeDefaults = options?.mergeDefaults ?? true;
179
+ const baseDir = options?.baseDir ??
180
+ (config.configDir && config.configDir.length > 0 ? config.configDir : process.cwd());
181
+ let merged = agentConfig;
182
+ const defaults = config.fleet.defaults;
183
+ if (mergeDefaults && defaults) {
184
+ merged = mergeAgentConfig(defaults, agentConfig);
185
+ }
186
+ // Normalize working_directory: resolve relative paths against baseDir.
187
+ // (Absent working_directory is left undefined — programmatic consumers are
188
+ // expected to provide an absolute path, as paddock does.)
189
+ const normalized = normalizeWorkingDirectory(merged, baseDir);
190
+ return {
191
+ ...normalized,
192
+ configPath: config.configPath,
193
+ fleetPath: [],
194
+ qualifiedName: normalized.name,
195
+ };
196
+ }
197
+ }
198
+ // =============================================================================
199
+ // Module Helpers
200
+ // =============================================================================
201
+ /**
202
+ * Build a {@link ConfigChange} entry for an agent-level change.
203
+ */
204
+ function buildChange(type, agent) {
205
+ return {
206
+ type,
207
+ category: "agent",
208
+ name: agent.qualifiedName,
209
+ details: type === "removed" ? undefined : agent.description,
210
+ };
211
+ }
212
+ /**
213
+ * Resolve a relative `working_directory` to an absolute path against `baseDir`.
214
+ * Handles both the string form and the structured `{ root }` form. Returns a
215
+ * shallow copy of the agent so the caller's input is not mutated.
216
+ */
217
+ function normalizeWorkingDirectory(agent, baseDir) {
218
+ const wd = agent.working_directory;
219
+ if (wd === undefined) {
220
+ return { ...agent };
221
+ }
222
+ if (typeof wd === "string") {
223
+ return {
224
+ ...agent,
225
+ working_directory: isAbsolute(wd) ? wd : resolve(baseDir, wd),
226
+ };
227
+ }
228
+ // Structured working directory ({ root, ... })
229
+ if (wd.root && !isAbsolute(wd.root)) {
230
+ return {
231
+ ...agent,
232
+ working_directory: { ...wd, root: resolve(baseDir, wd.root) },
233
+ };
234
+ }
235
+ return { ...agent, working_directory: { ...wd } };
236
+ }
237
+ //# sourceMappingURL=agent-management.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-management.js","sourceRoot":"","sources":["../../src/fleet-manager/agent-management.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,7 @@ export declare const FleetManagerErrorCode: {
22
22
  readonly SHUTDOWN_ERROR: "SHUTDOWN_ERROR";
23
23
  readonly JOB_CANCEL_ERROR: "JOB_CANCEL_ERROR";
24
24
  readonly JOB_FORK_ERROR: "JOB_FORK_ERROR";
25
+ readonly INVALID_WORKING_DIRECTORY_OVERRIDE: "INVALID_WORKING_DIRECTORY_OVERRIDE";
25
26
  readonly SOURCE_PARSE_ERROR: "SOURCE_PARSE_ERROR";
26
27
  readonly REPOSITORY_FETCH_ERROR: "REPOSITORY_FETCH_ERROR";
27
28
  readonly AGENT_INSTALL_ERROR: "AGENT_INSTALL_ERROR";
@@ -358,6 +359,31 @@ export declare class JobForkError extends FleetManagerError {
358
359
  cause?: Error;
359
360
  });
360
361
  }
362
+ /**
363
+ * Error thrown when a per-trigger `workingDirectory` override is invalid
364
+ *
365
+ * This error is thrown when {@link TriggerOptions.workingDirectory} is provided
366
+ * but is not a non-empty string (e.g. an empty string, whitespace, or a
367
+ * non-string value passed from untyped/JS callers).
368
+ *
369
+ * @example
370
+ * ```typescript
371
+ * try {
372
+ * await manager.trigger("my-agent", undefined, { workingDirectory: "" });
373
+ * } catch (error) {
374
+ * if (error instanceof InvalidWorkingDirectoryOverrideError) {
375
+ * console.error(`Bad override: ${JSON.stringify(error.override)}`);
376
+ * }
377
+ * }
378
+ * ```
379
+ */
380
+ export declare class InvalidWorkingDirectoryOverrideError extends FleetManagerError {
381
+ /** The invalid override value that was provided */
382
+ readonly override: unknown;
383
+ constructor(override: unknown, options?: {
384
+ cause?: Error;
385
+ });
386
+ }
361
387
  /**
362
388
  * Type guard to check if an error is a FleetManagerError
363
389
  */
@@ -394,4 +420,8 @@ export declare function isJobCancelError(error: unknown): error is JobCancelErro
394
420
  * Type guard to check if an error is a JobForkError
395
421
  */
396
422
  export declare function isJobForkError(error: unknown): error is JobForkError;
423
+ /**
424
+ * Type guard to check if an error is an InvalidWorkingDirectoryOverrideError
425
+ */
426
+ export declare function isInvalidWorkingDirectoryOverrideError(error: unknown): error is InvalidWorkingDirectoryOverrideError;
397
427
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/fleet-manager/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/fleet-manager/errors.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,7 @@ export const FleetManagerErrorCode = {
31
31
  // Job control errors (US-6)
32
32
  JOB_CANCEL_ERROR: "JOB_CANCEL_ERROR",
33
33
  JOB_FORK_ERROR: "JOB_FORK_ERROR",
34
+ INVALID_WORKING_DIRECTORY_OVERRIDE: "INVALID_WORKING_DIRECTORY_OVERRIDE",
34
35
  // Distribution errors
35
36
  SOURCE_PARSE_ERROR: "SOURCE_PARSE_ERROR",
36
37
  REPOSITORY_FETCH_ERROR: "REPOSITORY_FETCH_ERROR",
@@ -486,6 +487,39 @@ export class JobForkError extends FleetManagerError {
486
487
  }
487
488
  }
488
489
  // =============================================================================
490
+ // Trigger Override Errors
491
+ // =============================================================================
492
+ /**
493
+ * Error thrown when a per-trigger `workingDirectory` override is invalid
494
+ *
495
+ * This error is thrown when {@link TriggerOptions.workingDirectory} is provided
496
+ * but is not a non-empty string (e.g. an empty string, whitespace, or a
497
+ * non-string value passed from untyped/JS callers).
498
+ *
499
+ * @example
500
+ * ```typescript
501
+ * try {
502
+ * await manager.trigger("my-agent", undefined, { workingDirectory: "" });
503
+ * } catch (error) {
504
+ * if (error instanceof InvalidWorkingDirectoryOverrideError) {
505
+ * console.error(`Bad override: ${JSON.stringify(error.override)}`);
506
+ * }
507
+ * }
508
+ * ```
509
+ */
510
+ export class InvalidWorkingDirectoryOverrideError extends FleetManagerError {
511
+ /** The invalid override value that was provided */
512
+ override;
513
+ constructor(override, options) {
514
+ super(`Invalid workingDirectory override: expected a non-empty string, received ${JSON.stringify(override)}`, {
515
+ cause: options?.cause,
516
+ code: FleetManagerErrorCode.INVALID_WORKING_DIRECTORY_OVERRIDE,
517
+ });
518
+ this.name = "InvalidWorkingDirectoryOverrideError";
519
+ this.override = override;
520
+ }
521
+ }
522
+ // =============================================================================
489
523
  // Type Guards
490
524
  // =============================================================================
491
525
  /**
@@ -542,4 +576,10 @@ export function isJobCancelError(error) {
542
576
  export function isJobForkError(error) {
543
577
  return error instanceof JobForkError;
544
578
  }
579
+ /**
580
+ * Type guard to check if an error is an InvalidWorkingDirectoryOverrideError
581
+ */
582
+ export function isInvalidWorkingDirectoryOverrideError(error) {
583
+ return error instanceof InvalidWorkingDirectoryOverrideError;
584
+ }
545
585
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/fleet-manager/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/fleet-manager/errors.ts"],"names":[],"mappings":"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"}
@@ -11,9 +11,10 @@
11
11
  * @module fleet-manager
12
12
  */
13
13
  import { EventEmitter } from "node:events";
14
- import { type ResolvedAgent, type ResolvedConfig } from "../config/index.js";
14
+ import { type AgentConfig, type ResolvedAgent, type ResolvedConfig } from "../config/index.js";
15
15
  import { Scheduler } from "../scheduler/index.js";
16
- import { type StateDirectory } from "../state/index.js";
16
+ import { type ChatMessage, type DiscoveredSession, type StateDirectory } from "../state/index.js";
17
+ import { type AddAgentOptions } from "./agent-management.js";
17
18
  import type { IChatManager } from "./chat-manager-interface.js";
18
19
  import type { FleetManagerContext } from "./context.js";
19
20
  import type { AgentInfo, CancelJobResult, ConfigChange, ConfigReloadedPayload, FleetManagerLogger, FleetManagerOptions, FleetManagerState, FleetManagerStatus, FleetManagerStopOptions, FleetStatus, ForkJobResult, JobModifications, LogEntry, LogStreamOptions, ScheduleInfo, TriggerOptions, TriggerResult } from "./types.js";
@@ -40,9 +41,12 @@ export declare class FleetManager extends EventEmitter implements FleetManagerCo
40
41
  private statusQueries;
41
42
  private scheduleManagement;
42
43
  private configReloadModule;
44
+ private agentManagement;
43
45
  private jobControl;
44
46
  private logStreaming;
45
47
  private scheduleExecutor;
48
+ private sessionDiscovery;
49
+ private sessionMetadataStore;
46
50
  private chatManagers;
47
51
  constructor(options: FleetManagerOptions);
48
52
  getConfig(): ResolvedConfig | null;
@@ -92,6 +96,120 @@ export declare class FleetManager extends EventEmitter implements FleetManagerCo
92
96
  disableSchedule(agentName: string, scheduleName: string): Promise<ScheduleInfo>;
93
97
  reload(): Promise<ConfigReloadedPayload>;
94
98
  computeConfigChanges(oldConfig: ResolvedConfig | null, newConfig: ResolvedConfig): ConfigChange[];
99
+ /**
100
+ * Register an agent at runtime without writing YAML or calling `reload()`.
101
+ *
102
+ * The config is validated, merged with fleet defaults, normalized (working
103
+ * directory resolved to an absolute path), and wired into the running fleet
104
+ * so it is immediately triggerable and appears in fleet status. A
105
+ * `config:reloaded` event is emitted describing the change.
106
+ *
107
+ * This is the programmatic counterpart to editing `herdctl.yaml` and calling
108
+ * `reload()` — useful for apps that manage agents in memory rather than on
109
+ * disk.
110
+ *
111
+ * @param agent - The agent configuration to register (must include `name`)
112
+ * @param options - Resolution options (base dir, defaults merge, replace)
113
+ * @returns Info for the newly registered agent
114
+ * @throws {InvalidStateError} If the fleet manager is not yet initialized
115
+ * @throws {ConfigurationError} If validation fails or the name collides
116
+ *
117
+ * @example
118
+ * ```typescript
119
+ * await fleet.addAgent({
120
+ * name: "keeper-myproject",
121
+ * working_directory: "/abs/projects/myproject",
122
+ * runtime: "cli",
123
+ * permission_mode: "acceptEdits",
124
+ * });
125
+ * await fleet.trigger("keeper-myproject", undefined, { prompt: "Hello" });
126
+ * ```
127
+ */
128
+ addAgent(agent: AgentConfig | (Record<string, unknown> & {
129
+ name: string;
130
+ }), options?: AddAgentOptions): Promise<AgentInfo>;
131
+ /**
132
+ * Unregister an agent at runtime.
133
+ *
134
+ * Removes the agent from the in-memory config and the scheduler. Accepts a
135
+ * qualified name or a local name. Running jobs are unaffected.
136
+ *
137
+ * @param name - The agent qualified name or local name to remove
138
+ * @returns `true` if an agent was removed, `false` if no match was found
139
+ * @throws {InvalidStateError} If the fleet manager is not yet initialized
140
+ */
141
+ removeAgent(name: string): Promise<boolean>;
142
+ /**
143
+ * List discovered Claude Code sessions for an agent.
144
+ *
145
+ * Derives the agent's working directory and Docker mode from the loaded
146
+ * config, so consumers don't have to map agent → working directory by hand.
147
+ * Sessions are returned sorted by modification time (newest first).
148
+ *
149
+ * Note: sessions are keyed by working directory. This method uses the agent's
150
+ * *configured* `working_directory`. If you triggered the agent with a
151
+ * per-trigger `workingDirectory` override (see {@link TriggerOptions}), the
152
+ * resulting sessions live under that override directory and will NOT appear
153
+ * here — list them by scanning that directory instead (e.g. the directory
154
+ * grouped `getAllSessions` view on the underlying `SessionDiscoveryService`).
155
+ *
156
+ * @param name - The agent qualified name or local name
157
+ * @param options - Optional `limit` for top-N enrichment
158
+ * @returns Array of discovered sessions (empty if the agent has no working
159
+ * directory or no sessions yet)
160
+ * @throws {InvalidStateError} If the fleet manager is not yet initialized
161
+ * @throws {AgentNotFoundError} If no agent with that name exists
162
+ */
163
+ getAgentSessions(name: string, options?: {
164
+ limit?: number;
165
+ }): Promise<DiscoveredSession[]>;
166
+ /**
167
+ * Get the parsed chat messages for one of an agent's sessions.
168
+ *
169
+ * Derives the working directory and Docker mode from the loaded config.
170
+ *
171
+ * @param name - The agent qualified name or local name
172
+ * @param sessionId - The session ID to read
173
+ * @returns Array of chat messages (empty if the agent has no working directory)
174
+ * @throws {InvalidStateError} If the fleet manager is not yet initialized
175
+ * @throws {AgentNotFoundError} If no agent with that name exists
176
+ */
177
+ getAgentSessionMessages(name: string, sessionId: string): Promise<ChatMessage[]>;
178
+ /**
179
+ * Delete one of an agent's Claude Code session transcripts from disk.
180
+ *
181
+ * Resolves the agent's working directory and Docker mode from the loaded
182
+ * config, computes the CLI (or Docker) transcript file path with the same
183
+ * encoder Claude Code uses, deletes it, and invalidates the session-discovery
184
+ * cache so a subsequent {@link getAgentSessions} no longer lists it.
185
+ *
186
+ * The `sessionId` is validated (only `[A-Za-z0-9-]` is allowed) to prevent
187
+ * path traversal before any filesystem access.
188
+ *
189
+ * @param name - The agent qualified name or local name
190
+ * @param sessionId - The session ID whose transcript should be removed
191
+ * @returns `true` if a file was removed, `false` if no transcript existed (or
192
+ * the agent has no working directory)
193
+ * @throws {InvalidStateError} If the fleet manager is not yet initialized
194
+ * @throws {AgentNotFoundError} If no agent with that name exists
195
+ * @throws {Error} If `sessionId` contains invalid characters
196
+ */
197
+ deleteSession(name: string, sessionId: string): Promise<boolean>;
198
+ /**
199
+ * Set (or clear) the custom display name for one of an agent's sessions.
200
+ *
201
+ * Writes through this fleet's shared {@link SessionMetadataStore} — the same
202
+ * store the session-discovery service reads — so a subsequent
203
+ * {@link getAgentSessions} reflects the new `customName` immediately. Passing
204
+ * `null` or an empty/whitespace string clears any existing custom name.
205
+ *
206
+ * @param name - The agent qualified name or local name
207
+ * @param sessionId - The session ID to (re)name
208
+ * @param customName - The custom name to set, or `null`/empty to clear it
209
+ * @throws {InvalidStateError} If the fleet manager is not yet initialized
210
+ * @throws {AgentNotFoundError} If no agent with that name exists
211
+ */
212
+ setSessionName(name: string, sessionId: string, customName: string | null): Promise<void>;
95
213
  trigger(agentName: string, scheduleName?: string, options?: TriggerOptions): Promise<TriggerResult>;
96
214
  cancelJob(jobId: string, options?: {
97
215
  timeout?: number;
@@ -133,6 +251,30 @@ export declare class FleetManager extends EventEmitter implements FleetManagerCo
133
251
  * @throws ConfigurationError if duplicate qualified names are found
134
252
  */
135
253
  private validateUniqueAgentNames;
254
+ /**
255
+ * Get (lazily creating) the shared SessionMetadataStore bound to this fleet's
256
+ * state directory. Shared with the SessionDiscoveryService so metadata writes
257
+ * (e.g. {@link setSessionName}) and reads (during discovery) use one cache.
258
+ */
259
+ private getSessionMetadataStore;
260
+ /**
261
+ * Get (lazily creating) the SessionDiscoveryService bound to this fleet's
262
+ * state directory. Reused across calls so its caches are shared. The
263
+ * service shares this fleet's {@link SessionMetadataStore} so custom-name
264
+ * writes are immediately visible to discovery.
265
+ */
266
+ private getSessionDiscovery;
267
+ /**
268
+ * Look up an agent by qualified or local name and derive the inputs the
269
+ * SessionDiscoveryService needs (working directory + Docker mode).
270
+ *
271
+ * @param name - The agent qualified name or local name
272
+ * @param operation - The public operation name, used for the
273
+ * {@link InvalidStateError} message when the fleet is uninitialized
274
+ * @throws {InvalidStateError} If the fleet manager is not yet initialized
275
+ * @throws {AgentNotFoundError} If no agent with that name exists
276
+ */
277
+ private resolveAgentForSessions;
136
278
  private initializeStateDir;
137
279
  private startSchedulerAsync;
138
280
  private handleScheduleTrigger;
@@ -1 +1 @@
1
- {"version":3,"file":"fleet-manager.d.ts","sourceRoot":"","sources":["../../src/fleet-manager/fleet-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fleet-manager.d.ts","sourceRoot":"","sources":["../../src/fleet-manager/fleet-manager.ts"],"names":[],"mappings":"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"}