@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
@@ -11,19 +11,23 @@
11
11
  * @module fleet-manager
12
12
  */
13
13
  import { EventEmitter } from "node:events";
14
+ import { rm } from "node:fs/promises";
14
15
  import { resolve } from "node:path";
15
16
  import { ConfigError, ConfigNotFoundError, loadConfig, } from "../config/index.js";
17
+ import { getCliSessionFile, getDockerSessionFile } from "../runner/runtime/cli-session-path.js";
16
18
  import { Scheduler } from "../scheduler/index.js";
17
- import { initStateDirectory } from "../state/index.js";
19
+ import { initStateDirectory, SessionDiscoveryService, SessionMetadataStore, } from "../state/index.js";
18
20
  import { createLogger } from "../utils/logger.js";
21
+ import { AgentManagement } from "./agent-management.js";
19
22
  import { ConfigReload, computeConfigChanges } from "./config-reload.js";
20
- import { ConfigurationError, FleetManagerShutdownError, FleetManagerStateDirError, InvalidStateError, } from "./errors.js";
23
+ import { AgentNotFoundError, ConfigurationError, FleetManagerShutdownError, FleetManagerStateDirError, InvalidStateError, } from "./errors.js";
21
24
  import { JobControl } from "./job-control.js";
22
25
  import { LogStreaming } from "./log-streaming.js";
23
26
  import { ScheduleExecutor } from "./schedule-executor.js";
24
27
  import { ScheduleManagement } from "./schedule-management.js";
25
28
  // Module classes
26
29
  import { StatusQueries } from "./status-queries.js";
30
+ import { resolveWorkingDirectory } from "./working-directory-helper.js";
27
31
  const DEFAULT_CHECK_INTERVAL = 1000;
28
32
  function createDefaultLogger() {
29
33
  return createLogger("fleet-manager");
@@ -55,9 +59,16 @@ export class FleetManager extends EventEmitter {
55
59
  statusQueries;
56
60
  scheduleManagement;
57
61
  configReloadModule;
62
+ agentManagement;
58
63
  jobControl;
59
64
  logStreaming;
60
65
  scheduleExecutor;
66
+ // Lazily-created session discovery service (for getAgentSessions/* helpers)
67
+ sessionDiscovery = null;
68
+ // Lazily-created session metadata store, shared with sessionDiscovery so a
69
+ // setSessionName() write is reflected by a subsequent getAgentSessions()
70
+ // without a stale in-memory cache.
71
+ sessionMetadataStore = null;
61
72
  // Chat managers (Discord, Slack, etc.)
62
73
  // Key is platform name (e.g., "discord", "slack")
63
74
  chatManagers = new Map();
@@ -385,6 +396,189 @@ export class FleetManager extends EventEmitter {
385
396
  computeConfigChanges(oldConfig, newConfig) {
386
397
  return computeConfigChanges(oldConfig, newConfig);
387
398
  }
399
+ // Programmatic Agent Management
400
+ /**
401
+ * Register an agent at runtime without writing YAML or calling `reload()`.
402
+ *
403
+ * The config is validated, merged with fleet defaults, normalized (working
404
+ * directory resolved to an absolute path), and wired into the running fleet
405
+ * so it is immediately triggerable and appears in fleet status. A
406
+ * `config:reloaded` event is emitted describing the change.
407
+ *
408
+ * This is the programmatic counterpart to editing `herdctl.yaml` and calling
409
+ * `reload()` — useful for apps that manage agents in memory rather than on
410
+ * disk.
411
+ *
412
+ * @param agent - The agent configuration to register (must include `name`)
413
+ * @param options - Resolution options (base dir, defaults merge, replace)
414
+ * @returns Info for the newly registered agent
415
+ * @throws {InvalidStateError} If the fleet manager is not yet initialized
416
+ * @throws {ConfigurationError} If validation fails or the name collides
417
+ *
418
+ * @example
419
+ * ```typescript
420
+ * await fleet.addAgent({
421
+ * name: "keeper-myproject",
422
+ * working_directory: "/abs/projects/myproject",
423
+ * runtime: "cli",
424
+ * permission_mode: "acceptEdits",
425
+ * });
426
+ * await fleet.trigger("keeper-myproject", undefined, { prompt: "Hello" });
427
+ * ```
428
+ */
429
+ async addAgent(agent, options) {
430
+ return this.agentManagement.addAgent(agent, options);
431
+ }
432
+ /**
433
+ * Unregister an agent at runtime.
434
+ *
435
+ * Removes the agent from the in-memory config and the scheduler. Accepts a
436
+ * qualified name or a local name. Running jobs are unaffected.
437
+ *
438
+ * @param name - The agent qualified name or local name to remove
439
+ * @returns `true` if an agent was removed, `false` if no match was found
440
+ * @throws {InvalidStateError} If the fleet manager is not yet initialized
441
+ */
442
+ async removeAgent(name) {
443
+ return this.agentManagement.removeAgent(name);
444
+ }
445
+ // Session Access (convenience wrappers over SessionDiscoveryService)
446
+ /**
447
+ * List discovered Claude Code sessions for an agent.
448
+ *
449
+ * Derives the agent's working directory and Docker mode from the loaded
450
+ * config, so consumers don't have to map agent → working directory by hand.
451
+ * Sessions are returned sorted by modification time (newest first).
452
+ *
453
+ * Note: sessions are keyed by working directory. This method uses the agent's
454
+ * *configured* `working_directory`. If you triggered the agent with a
455
+ * per-trigger `workingDirectory` override (see {@link TriggerOptions}), the
456
+ * resulting sessions live under that override directory and will NOT appear
457
+ * here — list them by scanning that directory instead (e.g. the directory
458
+ * grouped `getAllSessions` view on the underlying `SessionDiscoveryService`).
459
+ *
460
+ * @param name - The agent qualified name or local name
461
+ * @param options - Optional `limit` for top-N enrichment
462
+ * @returns Array of discovered sessions (empty if the agent has no working
463
+ * directory or no sessions yet)
464
+ * @throws {InvalidStateError} If the fleet manager is not yet initialized
465
+ * @throws {AgentNotFoundError} If no agent with that name exists
466
+ */
467
+ async getAgentSessions(name, options) {
468
+ const { agent, workingDirectory, dockerEnabled } = this.resolveAgentForSessions(name, "getAgentSessions");
469
+ if (!workingDirectory) {
470
+ return [];
471
+ }
472
+ return this.getSessionDiscovery().getAgentSessions(agent.qualifiedName, workingDirectory, dockerEnabled, options);
473
+ }
474
+ /**
475
+ * Get the parsed chat messages for one of an agent's sessions.
476
+ *
477
+ * Derives the working directory and Docker mode from the loaded config.
478
+ *
479
+ * @param name - The agent qualified name or local name
480
+ * @param sessionId - The session ID to read
481
+ * @returns Array of chat messages (empty if the agent has no working directory)
482
+ * @throws {InvalidStateError} If the fleet manager is not yet initialized
483
+ * @throws {AgentNotFoundError} If no agent with that name exists
484
+ */
485
+ async getAgentSessionMessages(name, sessionId) {
486
+ const { workingDirectory, dockerEnabled } = this.resolveAgentForSessions(name, "getAgentSessionMessages");
487
+ if (!workingDirectory) {
488
+ return [];
489
+ }
490
+ return this.getSessionDiscovery().getSessionMessages(workingDirectory, sessionId, {
491
+ dockerEnabled,
492
+ });
493
+ }
494
+ /**
495
+ * Delete one of an agent's Claude Code session transcripts from disk.
496
+ *
497
+ * Resolves the agent's working directory and Docker mode from the loaded
498
+ * config, computes the CLI (or Docker) transcript file path with the same
499
+ * encoder Claude Code uses, deletes it, and invalidates the session-discovery
500
+ * cache so a subsequent {@link getAgentSessions} no longer lists it.
501
+ *
502
+ * The `sessionId` is validated (only `[A-Za-z0-9-]` is allowed) to prevent
503
+ * path traversal before any filesystem access.
504
+ *
505
+ * @param name - The agent qualified name or local name
506
+ * @param sessionId - The session ID whose transcript should be removed
507
+ * @returns `true` if a file was removed, `false` if no transcript existed (or
508
+ * the agent has no working directory)
509
+ * @throws {InvalidStateError} If the fleet manager is not yet initialized
510
+ * @throws {AgentNotFoundError} If no agent with that name exists
511
+ * @throws {Error} If `sessionId` contains invalid characters
512
+ */
513
+ async deleteSession(name, sessionId) {
514
+ const { workingDirectory, dockerEnabled } = this.resolveAgentForSessions(name, "deleteSession");
515
+ if (!workingDirectory) {
516
+ return false;
517
+ }
518
+ // Compute the transcript path. getCliSessionFile/getDockerSessionFile both
519
+ // reject a sessionId containing anything other than [A-Za-z0-9-], so this
520
+ // throws before touching the filesystem when traversal is attempted.
521
+ const sessionFile = dockerEnabled
522
+ ? getDockerSessionFile(this.stateDir, sessionId)
523
+ : getCliSessionFile(workingDirectory, sessionId);
524
+ let removed;
525
+ try {
526
+ await rm(sessionFile);
527
+ removed = true;
528
+ }
529
+ catch (error) {
530
+ if (error.code === "ENOENT") {
531
+ // No transcript on disk — nothing to remove.
532
+ removed = false;
533
+ }
534
+ else {
535
+ throw error;
536
+ }
537
+ }
538
+ // Invalidate the discovery cache so the deleted session disappears from
539
+ // subsequent listings even within the cache TTL window.
540
+ this.getSessionDiscovery().invalidateCache(workingDirectory, { dockerEnabled });
541
+ this.logger.debug(`deleteSession: ${removed ? "removed" : "no file for"} session "${sessionId}" of agent "${name}"`);
542
+ return removed;
543
+ }
544
+ /**
545
+ * Set (or clear) the custom display name for one of an agent's sessions.
546
+ *
547
+ * Writes through this fleet's shared {@link SessionMetadataStore} — the same
548
+ * store the session-discovery service reads — so a subsequent
549
+ * {@link getAgentSessions} reflects the new `customName` immediately. Passing
550
+ * `null` or an empty/whitespace string clears any existing custom name.
551
+ *
552
+ * @param name - The agent qualified name or local name
553
+ * @param sessionId - The session ID to (re)name
554
+ * @param customName - The custom name to set, or `null`/empty to clear it
555
+ * @throws {InvalidStateError} If the fleet manager is not yet initialized
556
+ * @throws {AgentNotFoundError} If no agent with that name exists
557
+ */
558
+ async setSessionName(name, sessionId, customName) {
559
+ // Resolve to validate state + agent existence and to key metadata by the
560
+ // agent's qualified name (consistent with how discovery stores custom names).
561
+ const { agent } = this.resolveAgentForSessions(name, "setSessionName");
562
+ const store = this.getSessionMetadataStore();
563
+ const trimmed = customName?.trim();
564
+ if (trimmed) {
565
+ await store.setCustomName(agent.qualifiedName, sessionId, trimmed);
566
+ this.logger.debug(`setSessionName: set custom name for session "${sessionId}" of agent "${agent.qualifiedName}"`);
567
+ }
568
+ else {
569
+ await store.removeCustomName(agent.qualifiedName, sessionId);
570
+ this.logger.debug(`setSessionName: cleared custom name for session "${sessionId}" of agent "${agent.qualifiedName}"`);
571
+ }
572
+ // Custom names are read live (not part of the directory listing cache), and
573
+ // the metadata store is shared with discovery, so the change is already
574
+ // visible. Invalidate the directory listing too for safety/consistency.
575
+ const workingDirectory = resolveWorkingDirectory(agent);
576
+ if (workingDirectory) {
577
+ this.getSessionDiscovery().invalidateCache(workingDirectory, {
578
+ dockerEnabled: agent.docker?.enabled === true,
579
+ });
580
+ }
581
+ }
388
582
  // Job Control
389
583
  async trigger(agentName, scheduleName, options) {
390
584
  return this.jobControl.trigger(agentName, scheduleName, options);
@@ -417,6 +611,9 @@ export class FleetManager extends EventEmitter {
417
611
  this.configReloadModule = new ConfigReload(this, () => this.loadConfiguration(), (config) => {
418
612
  this.config = config;
419
613
  });
614
+ this.agentManagement = new AgentManagement(this, (config) => {
615
+ this.config = config;
616
+ }, (name) => this.statusQueries.getAgentInfoByName(name));
420
617
  this.jobControl = new JobControl(this, () => this.statusQueries.getAgentInfo());
421
618
  this.logStreaming = new LogStreaming(this);
422
619
  this.scheduleExecutor = new ScheduleExecutor(this);
@@ -576,6 +773,67 @@ export class FleetManager extends EventEmitter {
576
773
  throw new ConfigurationError(`Duplicate agent qualified names found: ${duplicateList}. Agent names must be unique within a fleet.`);
577
774
  }
578
775
  }
776
+ /**
777
+ * Get (lazily creating) the shared SessionMetadataStore bound to this fleet's
778
+ * state directory. Shared with the SessionDiscoveryService so metadata writes
779
+ * (e.g. {@link setSessionName}) and reads (during discovery) use one cache.
780
+ */
781
+ getSessionMetadataStore() {
782
+ if (!this.sessionMetadataStore) {
783
+ this.sessionMetadataStore = new SessionMetadataStore(this.stateDir);
784
+ }
785
+ return this.sessionMetadataStore;
786
+ }
787
+ /**
788
+ * Get (lazily creating) the SessionDiscoveryService bound to this fleet's
789
+ * state directory. Reused across calls so its caches are shared. The
790
+ * service shares this fleet's {@link SessionMetadataStore} so custom-name
791
+ * writes are immediately visible to discovery.
792
+ */
793
+ getSessionDiscovery() {
794
+ if (!this.sessionDiscovery) {
795
+ this.sessionDiscovery = new SessionDiscoveryService({
796
+ stateDir: this.stateDir,
797
+ sessionMetadataStore: this.getSessionMetadataStore(),
798
+ });
799
+ }
800
+ return this.sessionDiscovery;
801
+ }
802
+ /**
803
+ * Look up an agent by qualified or local name and derive the inputs the
804
+ * SessionDiscoveryService needs (working directory + Docker mode).
805
+ *
806
+ * @param name - The agent qualified name or local name
807
+ * @param operation - The public operation name, used for the
808
+ * {@link InvalidStateError} message when the fleet is uninitialized
809
+ * @throws {InvalidStateError} If the fleet manager is not yet initialized
810
+ * @throws {AgentNotFoundError} If no agent with that name exists
811
+ */
812
+ resolveAgentForSessions(name, operation) {
813
+ // Guard against pre-init calls. Without this, an uninitialized fleet has a
814
+ // null config, so the agent lookup below would throw AgentNotFoundError —
815
+ // masking the real cause and contradicting the documented behavior (these
816
+ // helpers throw InvalidStateError before initialize()).
817
+ if (this.status === "uninitialized" || !this.config) {
818
+ throw new InvalidStateError(operation, this.status, [
819
+ "initialized",
820
+ "starting",
821
+ "running",
822
+ "stopping",
823
+ "stopped",
824
+ ]);
825
+ }
826
+ const agents = this.config.agents;
827
+ const agent = agents.find((a) => a.qualifiedName === name) ?? agents.find((a) => a.name === name);
828
+ if (!agent) {
829
+ throw new AgentNotFoundError(name);
830
+ }
831
+ return {
832
+ agent,
833
+ workingDirectory: resolveWorkingDirectory(agent),
834
+ dockerEnabled: agent.docker?.enabled === true,
835
+ };
836
+ }
579
837
  async initializeStateDir() {
580
838
  try {
581
839
  return await initStateDirectory({ path: this.stateDir });
@@ -1 +1 @@
1
- {"version":3,"file":"fleet-manager.js","sourceRoot":"","sources":["../../src/fleet-manager/fleet-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fleet-manager.js","sourceRoot":"","sources":["../../src/fleet-manager/fleet-manager.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@
4
4
  * Provides the high-level FleetManager class for library consumers to
5
5
  * initialize and run agent fleets with minimal configuration.
6
6
  */
7
+ export { type AddAgentOptions, AgentManagement } from "./agent-management.js";
7
8
  export type { ChatManagerConnectorState, IChatManager } from "./chat-manager-interface.js";
8
9
  export { ConfigReload } from "./config-reload.js";
9
10
  export type { FleetManagerContext } from "./context.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fleet-manager/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fleet-manager/index.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,8 @@
4
4
  * Provides the high-level FleetManager class for library consumers to
5
5
  * initialize and run agent fleets with minimal configuration.
6
6
  */
7
+ // Programmatic agent management
8
+ export { AgentManagement } from "./agent-management.js";
7
9
  export { ConfigReload } from "./config-reload.js";
8
10
  // Main class
9
11
  export { FleetManager } from "./fleet-manager.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fleet-manager/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,aAAa;AACb,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,+CAA+C;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,+CAA+C;AAC/C,0EAA0E;AAE1E,2CAA2C;AAC3C,sEAAsE;AAEtE,kEAAkE;AAClE,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,8BAA8B,EAC9B,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAG5B,wBAAwB;AACxB,gBAAgB;AAChB,iCAAiC;AACjC,OAAO,EACL,kBAAkB,EAClB,qBAAqB;AACrB,gBAAgB;AAChB,kBAAkB;AAClB,aAAa;AACb,iBAAiB,EACjB,qBAAqB,EAErB,yBAAyB,EACzB,yBAAyB,EACzB,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB;AACnB,uCAAuC;AACvC,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,uBAAuB;AACvB,4BAA4B;AAC5B,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,uDAAuD;AACvD,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,aAAa,EACb,aAAa,EACb,mBAAmB,GAEpB,MAAM,qBAAqB,CAAC;AAY7B,qBAAqB;AACrB,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAa9C,yCAAyC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,kEAAkE;AAClE,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,EACb,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,mEAAmE;AACnE,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,kBAAkB,GAEnB,MAAM,qBAAqB,CAAC;AAoD7B,2BAA2B;AAC3B,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fleet-manager/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,gCAAgC;AAChC,OAAO,EAAwB,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG9E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,aAAa;AACb,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,+CAA+C;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,+CAA+C;AAC/C,0EAA0E;AAE1E,2CAA2C;AAC3C,sEAAsE;AAEtE,kEAAkE;AAClE,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,8BAA8B,EAC9B,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAG5B,wBAAwB;AACxB,gBAAgB;AAChB,iCAAiC;AACjC,OAAO,EACL,kBAAkB,EAClB,qBAAqB;AACrB,gBAAgB;AAChB,kBAAkB;AAClB,aAAa;AACb,iBAAiB,EACjB,qBAAqB,EAErB,yBAAyB,EACzB,yBAAyB,EACzB,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB;AACnB,uCAAuC;AACvC,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,uBAAuB;AACvB,4BAA4B;AAC5B,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,uDAAuD;AACvD,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,aAAa,EACb,aAAa,EACb,mBAAmB,GAEpB,MAAM,qBAAqB,CAAC;AAY7B,qBAAqB;AACrB,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAa9C,yCAAyC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,kEAAkE;AAClE,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,EACb,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,mEAAmE;AACnE,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,kBAAkB,GAEnB,MAAM,qBAAqB,CAAC;AAoD7B,2BAA2B;AAC3B,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"job-control.d.ts","sourceRoot":"","sources":["../../src/fleet-manager/job-control.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAUxD,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,aAAa,EACd,MAAM,YAAY,CAAC;AAMpB;;;;;GAKG;AACH,qBAAa,UAAU;IAEnB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,cAAc;gBADd,GAAG,EAAE,mBAAmB,EACxB,cAAc,EAAE,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC;IAGpD;;;;;;;;;;;;;;OAcG;IACG,OAAO,CACX,SAAS,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,aAAa,CAAC;IAgKzB;;;;;;;;OAQG;IACG,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IA2FxF;;;;;;;;;OASG;IACG,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC;IA0EtF;;;;;;;;OAQG;IACG,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAMvD;;;;OAIG;IACG,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsC7D;;OAEG;YACW,YAAY;IA0D1B;;;OAGG;YACW,gBAAgB;IA0C9B;;;;;;OAMG;YACW,iBAAiB;IAyC/B;;;;;OAKG;YACW,gBAAgB;IAmC9B;;OAEG;IACH,OAAO,CAAC,qBAAqB;CAa9B"}
1
+ {"version":3,"file":"job-control.d.ts","sourceRoot":"","sources":["../../src/fleet-manager/job-control.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAWxD,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,aAAa,EACd,MAAM,YAAY,CAAC;AAMpB;;;;;GAKG;AACH,qBAAa,UAAU;IAEnB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,cAAc;gBADd,GAAG,EAAE,mBAAmB,EACxB,cAAc,EAAE,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC;IAGpD;;;;;;;;;;;;;;OAcG;IACG,OAAO,CACX,SAAS,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,aAAa,CAAC;IA8KzB;;;;;;;;OAQG;IACG,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IA2FxF;;;;;;;;;OASG;IACG,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC;IA0EtF;;;;;;;;OAQG;IACG,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAMvD;;;;OAIG;IACG,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsC7D;;OAEG;YACW,YAAY;IA0D1B;;;OAGG;YACW,gBAAgB;IA0C9B;;;;;;OAMG;YACW,iBAAiB;IAyC/B;;;;;OAKG;YACW,gBAAgB;IAmC9B;;OAEG;IACH,OAAO,CAAC,qBAAqB;CAa9B"}
@@ -7,11 +7,11 @@
7
7
  * @module job-control
8
8
  */
9
9
  import { readFile } from "node:fs/promises";
10
- import { join } from "node:path";
10
+ import { isAbsolute, join, resolve } from "node:path";
11
11
  import { HookExecutor } from "../hooks/index.js";
12
12
  import { JobExecutor, RuntimeFactory } from "../runner/index.js";
13
13
  import { createJob, getJob, getSessionInfo, readJobOutputAll, updateJob } from "../state/index.js";
14
- import { AgentNotFoundError, ConcurrencyLimitError, InvalidStateError, JobCancelError, JobForkError, JobNotFoundError, ScheduleNotFoundError, } from "./errors.js";
14
+ import { AgentNotFoundError, ConcurrencyLimitError, InvalidStateError, InvalidWorkingDirectoryOverrideError, JobCancelError, JobForkError, JobNotFoundError, ScheduleNotFoundError, } from "./errors.js";
15
15
  // =============================================================================
16
16
  // JobControl Class
17
17
  // =============================================================================
@@ -81,6 +81,15 @@ export class JobControl {
81
81
  throw new ConcurrencyLimitError(agentName, runningCount, maxConcurrent);
82
82
  }
83
83
  }
84
+ // Apply a per-trigger working-directory override, if provided. We build an
85
+ // "effective agent" — a shallow clone of the resolved agent with its
86
+ // working_directory replaced — and pass that to the runtime and executor.
87
+ // Every cwd-dependent consumer (RuntimeFactory/CLI cwd, toSDKOptions cwd,
88
+ // Docker workspace mount, and session/transcript resolution) reads
89
+ // agent.working_directory, so swapping it at this single chokepoint makes
90
+ // them all honor the override without changing default behavior when the
91
+ // option is omitted.
92
+ const effectiveAgent = applyWorkingDirectoryOverride(agent, options?.workingDirectory);
84
93
  // Determine the prompt to use (priority: options > schedule > agent default > fallback)
85
94
  const prompt = options?.prompt ?? schedule?.prompt ?? agent.default_prompt ?? "Execute your configured task";
86
95
  const timestamp = new Date().toISOString();
@@ -109,14 +118,17 @@ export class JobControl {
109
118
  // Continue without resume - session failure shouldn't block execution
110
119
  }
111
120
  }
112
- // Create the JobExecutor and execute the job
113
- const runtime = RuntimeFactory.create(agent, { stateDir });
121
+ // Create the JobExecutor and execute the job.
122
+ // Use the effective agent so a per-trigger working-directory override flows
123
+ // into the runtime (process cwd / SDK cwd / Docker workspace mount) and into
124
+ // session/transcript resolution.
125
+ const runtime = RuntimeFactory.create(effectiveAgent, { stateDir });
114
126
  const executor = new JobExecutor(runtime, { logger });
115
127
  // Execute the job - this creates the job record and runs it
116
128
  // Note: Job output is written to JSONL by JobExecutor; log streaming picks it up
117
129
  // If onMessage callback is provided, it will be called for each SDK message
118
130
  const result = await executor.execute({
119
- agent,
131
+ agent: effectiveAgent,
120
132
  prompt,
121
133
  stateDir,
122
134
  triggerType: (options?.triggerType ??
@@ -148,8 +160,9 @@ export class JobControl {
148
160
  durationSeconds: result.durationSeconds ?? 0,
149
161
  timestamp: new Date().toISOString(),
150
162
  });
151
- // Execute hooks for completed job
152
- await this.executeHooks(agent, jobMetadata, "completed", scheduleName);
163
+ // Execute hooks for completed job (effective agent so hook cwd matches
164
+ // the directory this job actually ran in when an override was used)
165
+ await this.executeHooks(effectiveAgent, jobMetadata, "completed", scheduleName);
153
166
  }
154
167
  else {
155
168
  const error = result.error ?? new Error("Job failed without error details");
@@ -161,8 +174,8 @@ export class JobControl {
161
174
  durationSeconds: result.durationSeconds,
162
175
  timestamp: new Date().toISOString(),
163
176
  });
164
- // Execute hooks for failed job
165
- await this.executeHooks(agent, jobMetadata, "failed", scheduleName, error.message);
177
+ // Execute hooks for failed job (effective agent — see completed case)
178
+ await this.executeHooks(effectiveAgent, jobMetadata, "failed", scheduleName, error.message);
166
179
  }
167
180
  }
168
181
  logger.info(`Job ${result.jobId} ${result.success ? "completed" : "failed"} ` +
@@ -545,4 +558,36 @@ export class JobControl {
545
558
  return agent.working_directory.root;
546
559
  }
547
560
  }
561
+ /**
562
+ * Apply a per-trigger working-directory override to a resolved agent.
563
+ *
564
+ * Returns a shallow clone of `agent` whose `working_directory` is replaced with
565
+ * the (normalized, absolute) override. When `override` is `undefined`, the
566
+ * original agent is returned unchanged so default behavior is preserved exactly.
567
+ *
568
+ * The override is validated to be a non-empty string and is resolved to an
569
+ * absolute path against `process.cwd()` when relative — matching how
570
+ * `addAgent` / the config loader normalize a relative `working_directory`.
571
+ *
572
+ * @param agent - The resolved agent from the loaded config
573
+ * @param override - Optional per-trigger working directory (absolute or relative)
574
+ * @returns The original agent (no override) or a clone with the override applied
575
+ * @throws {InvalidWorkingDirectoryOverrideError} If the override is provided but
576
+ * not a non-empty string
577
+ */
578
+ function applyWorkingDirectoryOverride(agent, override) {
579
+ if (override === undefined) {
580
+ return agent;
581
+ }
582
+ if (typeof override !== "string" || override.trim() === "") {
583
+ throw new InvalidWorkingDirectoryOverrideError(override);
584
+ }
585
+ // Resolve relative overrides to absolute paths so session/transcript lookup
586
+ // (which encodes the absolute cwd) matches what Claude Code actually uses.
587
+ const absolute = isAbsolute(override) ? override : resolve(process.cwd(), override);
588
+ return {
589
+ ...agent,
590
+ working_directory: absolute,
591
+ };
592
+ }
548
593
  //# sourceMappingURL=job-control.js.map