@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.
- package/dist/fleet-manager/__tests__/agent-management.test.d.ts +9 -0
- package/dist/fleet-manager/__tests__/agent-management.test.d.ts.map +1 -0
- package/dist/fleet-manager/__tests__/agent-management.test.js +358 -0
- package/dist/fleet-manager/__tests__/agent-management.test.js.map +1 -0
- package/dist/fleet-manager/__tests__/errors.test.js +40 -2
- package/dist/fleet-manager/__tests__/errors.test.js.map +1 -1
- package/dist/fleet-manager/__tests__/session-control.test.d.ts +14 -0
- package/dist/fleet-manager/__tests__/session-control.test.d.ts.map +1 -0
- package/dist/fleet-manager/__tests__/session-control.test.js +240 -0
- package/dist/fleet-manager/__tests__/session-control.test.js.map +1 -0
- package/dist/fleet-manager/__tests__/trigger.test.js +137 -2
- package/dist/fleet-manager/__tests__/trigger.test.js.map +1 -1
- package/dist/fleet-manager/agent-management.d.ts +107 -0
- package/dist/fleet-manager/agent-management.d.ts.map +1 -0
- package/dist/fleet-manager/agent-management.js +237 -0
- package/dist/fleet-manager/agent-management.js.map +1 -0
- package/dist/fleet-manager/errors.d.ts +30 -0
- package/dist/fleet-manager/errors.d.ts.map +1 -1
- package/dist/fleet-manager/errors.js +40 -0
- package/dist/fleet-manager/errors.js.map +1 -1
- package/dist/fleet-manager/fleet-manager.d.ts +144 -2
- package/dist/fleet-manager/fleet-manager.d.ts.map +1 -1
- package/dist/fleet-manager/fleet-manager.js +260 -2
- package/dist/fleet-manager/fleet-manager.js.map +1 -1
- package/dist/fleet-manager/index.d.ts +1 -0
- package/dist/fleet-manager/index.d.ts.map +1 -1
- package/dist/fleet-manager/index.js +2 -0
- package/dist/fleet-manager/index.js.map +1 -1
- package/dist/fleet-manager/job-control.d.ts.map +1 -1
- package/dist/fleet-manager/job-control.js +54 -9
- package/dist/fleet-manager/job-control.js.map +1 -1
- package/dist/fleet-manager/types.d.ts +28 -0
- package/dist/fleet-manager/types.d.ts.map +1 -1
- package/dist/runner/index.d.ts +1 -1
- package/dist/runner/index.d.ts.map +1 -1
- package/dist/runner/index.js +1 -1
- package/dist/runner/index.js.map +1 -1
- package/dist/runner/runtime/__tests__/cli-runtime.test.js +35 -0
- package/dist/runner/runtime/__tests__/cli-runtime.test.js.map +1 -1
- package/dist/runner/runtime/__tests__/cli-session-path.test.js +63 -6
- package/dist/runner/runtime/__tests__/cli-session-path.test.js.map +1 -1
- package/dist/runner/runtime/__tests__/docker-security.test.js +39 -0
- package/dist/runner/runtime/__tests__/docker-security.test.js.map +1 -1
- package/dist/runner/runtime/cli-session-path.d.ts +18 -6
- package/dist/runner/runtime/cli-session-path.d.ts.map +1 -1
- package/dist/runner/runtime/cli-session-path.js +48 -8
- package/dist/runner/runtime/cli-session-path.js.map +1 -1
- package/dist/runner/runtime/index.d.ts +1 -0
- package/dist/runner/runtime/index.d.ts.map +1 -1
- package/dist/runner/runtime/index.js +5 -0
- package/dist/runner/runtime/index.js.map +1 -1
- package/dist/scheduler/errors.d.ts +1 -0
- package/dist/scheduler/errors.d.ts.map +1 -1
- package/dist/state/session-discovery.d.ts +18 -0
- package/dist/state/session-discovery.d.ts.map +1 -1
- package/dist/state/session-discovery.js +12 -1
- package/dist/state/session-discovery.js.map +1 -1
- package/dist/state/utils/__tests__/path-safety.test.js +26 -1
- package/dist/state/utils/__tests__/path-safety.test.js.map +1 -1
- package/dist/state/utils/path-safety.d.ts.map +1 -1
- package/dist/state/utils/path-safety.js +3 -2
- package/dist/state/utils/path-safety.js.map +1 -1
- 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":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,UAAU,GAGX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAoB,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAuB,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAExE,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,yBAAyB,EACzB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,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,iBAAiB;AACjB,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAsBpD,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAEpC,SAAS,mBAAmB;IAC1B,OAAO,YAAY,CAAC,eAAe,CAAC,CAAC;AACvC,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,YAAa,SAAQ,YAAY;IAC5C,gBAAgB;IACC,UAAU,CAAU;IACpB,QAAQ,CAAS;IACjB,MAAM,CAAqB;IAC3B,aAAa,CAAS;IACtB,eAAe,CAAwB;IAExD,iBAAiB;IACT,MAAM,GAAuB,eAAe,CAAC;IAC7C,MAAM,GAA0B,IAAI,CAAC;IACrC,YAAY,GAA0B,IAAI,CAAC;IAC3C,SAAS,GAAqB,IAAI,CAAC;IAE3C,cAAc;IACN,aAAa,GAAkB,IAAI,CAAC;IACpC,SAAS,GAAkB,IAAI,CAAC;IAChC,SAAS,GAAkB,IAAI,CAAC;IAChC,SAAS,GAAkB,IAAI,CAAC;IAExC,yBAAyB;IACjB,aAAa,CAAiB;IAC9B,kBAAkB,CAAsB;IACxC,kBAAkB,CAAgB;IAClC,UAAU,CAAc;IACxB,YAAY,CAAgB;IAC5B,gBAAgB,CAAoB;IAE5C,uCAAuC;IACvC,kDAAkD;IAC1C,YAAY,GAA8B,IAAI,GAAG,EAAE,CAAC;IAE5D,YAAY,OAA4B;QACtC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,mBAAmB,EAAE,CAAC;QACtD,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,sBAAsB,CAAC;QACrE,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAE/C,+EAA+E;QAC/E,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED,8EAA8E;IAC9E,qCAAqC;IACrC,8EAA8E;IAE9E,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IACD,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IACD,eAAe;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IACD,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IACD,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IACD,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IACD,gBAAgB;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IACD,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IACD,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IACD,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IACD,gBAAgB;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IACD,UAAU;QACR,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,QAAgB;QAC7B,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,8EAA8E;IAC9E,yBAAyB;IACzB,8EAA8E;IAE9E,IAAI,KAAK;QACP,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC;YAC3C,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;IACJ,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC;IACnC,CAAC;IAED,8EAA8E;IAC9E,oBAAoB;IACpB,8EAA8E;IAE9E;;;;;;;;OAQG;IACH,KAAK,CAAC,iBAAiB,CAAC,OAA0C;QAChE,IAAI,IAAI,CAAC,MAAM,KAAK,eAAe,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAC5F,MAAM,IAAI,iBAAiB,CAAC,mBAAmB,EAAE,IAAI,CAAC,MAAM,EAAE;gBAC5D,eAAe;gBACf,SAAS;gBACT,OAAO;aACR,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAEpE,IAAI,CAAC;YACH,kEAAkE;YAClE,IAAI,CAAC,MAAM,GAAG;gBACZ,KAAK,EAAE;oBACL,OAAO,EAAE,CAAC;oBACV,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC1B,MAAM,EAAE,EAAE;oBACV,MAAM,EAAE,EAAE;oBACV,GAAG,EAAE;wBACH,OAAO,EAAE,IAAI;wBACb,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,IAAI;wBAC3B,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,WAAW;wBAClC,oBAAoB,EAAE,EAAE;wBACxB,YAAY,EAAE,KAAK;wBACnB,YAAY,EAAE,IAAI;wBAClB,gBAAgB,EAAE,UAAU;qBAC7B;iBACF;gBACD,MAAM,EAAE,EAAE;gBACV,UAAU,EAAE,EAAE;gBACd,SAAS,EAAE,OAAO,CAAC,GAAG,EAAE;aACzB,CAAC;YAEF,oDAAoD;YACpD,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACzB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvD,CAAC;YAED,IAAI,CAAC,YAAY,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACpD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAEjD,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC;gBAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC;aACtD,CAAC,CAAC;YAEH,yFAAyF;YACzF,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAEpC,MAAM,OAAO,CAAC,UAAU,CACtB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,EAAE;gBACxE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,QAAQ,kBAAkB,CAAC,CAAC;gBAC9D,IAAI,CAAC;oBACH,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;gBAC7B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC5E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,QAAQ,kBAAkB,YAAY,EAAE,CAAC,CAAC;oBACpF,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC,CAAC,CACH,CAAC;YAEF,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC;YAC5B,IAAI,CAAC,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC9C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YAEtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;YAC/D,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;YACtB,IAAI,CAAC,SAAS,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACxE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC9E,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,IAAI,CAAC,MAAM,KAAK,eAAe,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACjE,MAAM,IAAI,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC,CAAC;QACvF,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAEnD,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,uBAAuB,CAAC,CAAC;YAE9E,kCAAkC;YAClC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAElD,IAAI,CAAC,YAAY,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACpD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAEjD,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC;gBAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC;aACtD,CAAC,CAAC;YAEH,uEAAuE;YACvE,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAEpC,uEAAuE;YACvE,gDAAgD;YAChD,MAAM,OAAO,CAAC,UAAU,CACtB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,EAAE;gBACxE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,QAAQ,kBAAkB,CAAC,CAAC;gBAC9D,IAAI,CAAC;oBACH,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;gBAC7B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC5E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,QAAQ,kBAAkB,YAAY,EAAE,CAAC,CAAC;oBACpF,6DAA6D;oBAC7D,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC,CAAC,CACH,CAAC;YAEF,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC;YAC5B,IAAI,CAAC,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC9C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YAEtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;YAC3D,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;YACtB,IAAI,CAAC,SAAS,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACxE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC9E,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;YAClC,MAAM,IAAI,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;QAEzB,IAAI,CAAC;YACH,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAO,CAAC,MAAM,CAAC,CAAC;YAE9C,kEAAkE;YAClE,sFAAsF;YACtF,MAAM,OAAO,CAAC,UAAU,CACtB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,EAAE;gBACxE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,QAAQ,kBAAkB,CAAC,CAAC;gBAC1D,IAAI,CAAC;oBACH,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;gBACxB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC5E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,QAAQ,kBAAkB,YAAY,EAAE,CAAC,CAAC;oBAC/E,sEAAsE;gBACxE,CAAC;YACH,CAAC,CAAC,CACH,CAAC;YAEF,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YACxB,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC1C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YAEtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YAC1C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;YACtB,IAAI,CAAC,SAAS,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACxE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC9E,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAiC;QAC1C,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YAC5D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,IAAI,CAAC,MAAM,aAAa,CAAC,CAAC;YAC1E,OAAO;QACT,CAAC;QAED,MAAM,EACJ,WAAW,GAAG,IAAI,EAClB,OAAO,GAAG,KAAK,EACf,eAAe,GAAG,KAAK,EACvB,aAAa,GAAG,KAAK,GACtB,GAAG,OAAO,IAAI,EAAE,CAAC;QAElB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;QAEzB,IAAI,CAAC;YACH,qDAAqD;YACrD,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,QAAQ,kBAAkB,CAAC,CAAC;gBAC1D,IAAI,CAAC;oBACH,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;gBACvB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,kBAAkB,QAAQ,kBAAkB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACrG,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;gBACtD,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;wBACtE,IAAI,eAAe,EAAE,CAAC;4BACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;4BAChE,MAAM,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;wBACzD,CAAC;6BAAM,CAAC;4BACN,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;4BACtB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC;4BAC/B,MAAM,IAAI,yBAAyB,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;wBACvF,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,MAAM,KAAK,CAAC;oBACd,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAClC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YACxB,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAE1C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;YAC1C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;YACtB,IAAI,CAAC,SAAS,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACxE,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,uDAAuD;IACvD,8EAA8E;IAE9E,iBAAiB;IACjB,KAAK,CAAC,cAAc;QAClB,OAAO,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC;IAC7C,CAAC;IACD,KAAK,CAAC,YAAY;QAChB,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;IAC3C,CAAC;IACD,KAAK,CAAC,kBAAkB,CAAC,IAAY;QACnC,OAAO,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,sBAAsB;IACtB,KAAK,CAAC,YAAY;QAChB,OAAO,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;IAChD,CAAC;IACD,KAAK,CAAC,WAAW,CAAC,SAAiB,EAAE,YAAoB;QACvD,OAAO,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IACtE,CAAC;IACD,KAAK,CAAC,cAAc,CAAC,SAAiB,EAAE,YAAoB;QAC1D,OAAO,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IACzE,CAAC;IACD,KAAK,CAAC,eAAe,CAAC,SAAiB,EAAE,YAAoB;QAC3D,OAAO,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAC1E,CAAC;IAED,gBAAgB;IAChB,KAAK,CAAC,MAAM;QACV,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC;IAC1C,CAAC;IACD,oBAAoB,CAClB,SAAgC,EAChC,SAAyB;QAEzB,OAAO,oBAAoB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACpD,CAAC;IAED,cAAc;IACd,KAAK,CAAC,OAAO,CACX,SAAiB,EACjB,YAAqB,EACrB,OAAwB;QAExB,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;IACD,KAAK,CAAC,SAAS,CAAC,KAAa,EAAE,OAA8B;QAC3D,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IACD,KAAK,CAAC,OAAO,CAAC,KAAa,EAAE,aAAgC;QAC3D,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IACvD,CAAC;IACD,KAAK,CAAC,iBAAiB,CAAC,KAAa;QACnC,OAAO,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,gBAAgB;IAChB,KAAK,CAAC,CAAC,UAAU,CAAC,OAA0B;QAC1C,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IACD,KAAK,CAAC,CAAC,eAAe,CAAC,KAAa;QAClC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IACD,KAAK,CAAC,CAAC,eAAe,CAAC,SAAiB;QACtC,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IACtD,CAAC;IAED,8EAA8E;IAC9E,kBAAkB;IAClB,8EAA8E;IAEtE,iBAAiB;QACvB,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,kBAAkB,GAAG,IAAI,kBAAkB,CAAC,IAAI,EAAE,GAAG,EAAE,CAC1D,IAAI,CAAC,aAAa,CAAC,sBAAsB,EAAE,CAC5C,CAAC;QACF,IAAI,CAAC,kBAAkB,GAAG,IAAI,YAAY,CACxC,IAAI,EACJ,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAC9B,CAAC,MAAM,EAAE,EAAE;YACT,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,CAAC,CACF,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,CAAC;QAChF,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAEnD,oEAAoE;QACpE,mDAAmD;IACrD,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,sBAAsB;QAClC,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QAEzB,8CAA8C;QAC9C,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC;QAE/F,IAAI,gBAAgB,EAAE,CAAC;YACrB,IAAI,CAAC;gBACH,qCAAqC;gBACrC,6EAA6E;gBAC7E,iFAAiF;gBACjF,MAAM,GAAG,GAAG,CAAC,MAAM,MAAM,CAAC,kBAA4B,CAAC,CAEtD,CAAC;gBACF,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBAC7C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBAC1C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YACpD,CAAC;YAAC,MAAM,CAAC;gBACP,sEAAsE;gBACtE,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,2GAA2G,CAC5G,CAAC;YACJ,CAAC;QACH,CAAC;QAED,4CAA4C;QAC5C,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC;QAE3F,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC;gBACH,mCAAmC;gBACnC,6EAA6E;gBAC7E,+EAA+E;gBAC/E,MAAM,GAAG,GAAG,CAAC,MAAM,MAAM,CAAC,gBAA0B,CAAC,CAEpD,CAAC;gBACF,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;gBAC3C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAClD,CAAC;YAAC,MAAM,CAAC;gBACP,oEAAoE;gBACpE,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,qGAAqG,CACtG,CAAC;YACJ,CAAC;QACH,CAAC;QAED,8EAA8E;QAC9E,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC;YACnC,IAAI,CAAC;gBACH,iCAAiC;gBACjC,6EAA6E;gBAC7E,6EAA6E;gBAC7E,MAAM,GAAG,GAAG,CAAC,MAAM,MAAM,CAAC,cAAwB,CAAC,CAElD,CAAC;gBACF,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACzC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBACtC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAChD,CAAC;YAAC,MAAM,CAAC;gBACP,yEAAyE;gBACzE,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,6FAA6F,CAC9F,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,iBAAiB;QAC7B,IAAI,MAAsB,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,mBAAmB,EAAE,CAAC;gBACzC,MAAM,IAAI,kBAAkB,CAAC,iCAAiC,KAAK,CAAC,OAAO,EAAE,EAAE;oBAC7E,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,KAAK,EAAE,KAAK;iBACb,CAAC,CAAC;YACL,CAAC;YACD,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;gBACjC,MAAM,IAAI,kBAAkB,CAAC,0BAA0B,KAAK,CAAC,OAAO,EAAE,EAAE;oBACtE,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,KAAK,EAAE,KAAK;iBACb,CAAC,CAAC;YACL,CAAC;YACD,MAAM,IAAI,kBAAkB,CAC1B,iCAAiC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EACzF,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,CACnF,CAAC;QACJ,CAAC;QAED,wDAAwD;QACxD,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACK,oBAAoB,CAAC,MAAsB;QACjD,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC;QACvC,IAAI,CAAC,SAAS;YAAE,OAAO,MAAM,CAAC;QAE9B,6DAA6D;QAC7D,MAAM,KAAK,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;QAElC,sBAAsB;QACtB,IAAI,SAAS,CAAC,GAAG,EAAE,CAAC;YAClB,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,IAAI;gBAC/B,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,WAAW;gBACjB,oBAAoB,EAAE,EAAE;gBACxB,YAAY,EAAE,KAAK;gBACnB,YAAY,EAAE,IAAI;gBAClB,gBAAgB,EAAE,UAAU;aAC7B,CAAC;YAEF,KAAK,CAAC,GAAG,GAAG;gBACV,GAAG,WAAW;gBACd,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;gBAC9E,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBACrE,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;aACtE,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED;;;;;;;;;;;;;OAaG;IACK,wBAAwB,CAAC,MAAuB;QACtD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;QAE5C,2CAA2C;QAC3C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACpF,CAAC;QAED,kBAAkB;QAClB,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;aAC/C,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC;aAChC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QAEzB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,6EAA6E;YAC7E,MAAM,IAAI,kBAAkB,CAC1B,0CAA0C,UAAU,CAAC,CAAC,CAAC,+CAA+C,CACvG,CAAC;QACJ,CAAC;aAAM,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,yCAAyC;YACzC,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvE,MAAM,IAAI,kBAAkB,CAC1B,0CAA0C,aAAa,8CAA8C,CACtG,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,kBAAkB;QAC9B,IAAI,CAAC;YACH,OAAO,MAAM,kBAAkB,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,yBAAyB,CACjC,yCAAyC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EACjG,IAAI,CAAC,QAAQ,EACb,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,CACtD,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,mBAAmB,CAAC,MAAuB;QACjD,IAAI,CAAC,SAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YAC5C,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBAC5D,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,oBAAoB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC7E,CAAC;gBACF,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;gBACtB,IAAI,CAAC,SAAS,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACxE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAChF,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAC,IAAiB;QACnD,MAAM,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IAEO,KAAK,CAAC,oBAAoB;QAChC,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO;QAE/B,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;QACpE,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,sBAAsB,EAAE,CAAC;QACvE,MAAM,YAAY,GAAG;YACnB,GAAG,YAAY;YACf,KAAK,EAAE,EAAE,GAAG,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE;SACtE,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;YACjE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAmC,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;CACF"}
|
|
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;
|
|
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;
|
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
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
|