awb-agent-manager 1.0.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/LICENSE +21 -0
- package/README.md +246 -0
- package/dist/lib/agent-lockfile.d.ts +37 -0
- package/dist/lib/agent-lockfile.js +205 -0
- package/dist/lib/agent-lockfile.js.map +1 -0
- package/dist/lib/agent-manager-commands.d.ts +34 -0
- package/dist/lib/agent-manager-commands.js +531 -0
- package/dist/lib/agent-manager-commands.js.map +1 -0
- package/dist/lib/base-session-manager.d.ts +127 -0
- package/dist/lib/base-session-manager.js +667 -0
- package/dist/lib/base-session-manager.js.map +1 -0
- package/dist/lib/chat-attachment-prep.d.ts +35 -0
- package/dist/lib/chat-attachment-prep.js +180 -0
- package/dist/lib/chat-attachment-prep.js.map +1 -0
- package/dist/lib/chat-session-manager.d.ts +29 -0
- package/dist/lib/chat-session-manager.js +400 -0
- package/dist/lib/chat-session-manager.js.map +1 -0
- package/dist/lib/circuit-breaker.d.ts +34 -0
- package/dist/lib/circuit-breaker.js +146 -0
- package/dist/lib/circuit-breaker.js.map +1 -0
- package/dist/lib/cli-adapters/antigravity.d.ts +15 -0
- package/dist/lib/cli-adapters/antigravity.js +114 -0
- package/dist/lib/cli-adapters/antigravity.js.map +1 -0
- package/dist/lib/cli-adapters/base.d.ts +115 -0
- package/dist/lib/cli-adapters/base.js +111 -0
- package/dist/lib/cli-adapters/base.js.map +1 -0
- package/dist/lib/cli-adapters/claude.d.ts +19 -0
- package/dist/lib/cli-adapters/claude.js +233 -0
- package/dist/lib/cli-adapters/claude.js.map +1 -0
- package/dist/lib/cli-adapters/codex.d.ts +14 -0
- package/dist/lib/cli-adapters/codex.js +152 -0
- package/dist/lib/cli-adapters/codex.js.map +1 -0
- package/dist/lib/cli-adapters/deepseek.d.ts +15 -0
- package/dist/lib/cli-adapters/deepseek.js +70 -0
- package/dist/lib/cli-adapters/deepseek.js.map +1 -0
- package/dist/lib/cli-adapters/index.d.ts +8 -0
- package/dist/lib/cli-adapters/index.js +27 -0
- package/dist/lib/cli-adapters/index.js.map +1 -0
- package/dist/lib/cli-adapters/model-introspect.d.ts +3 -0
- package/dist/lib/cli-adapters/model-introspect.js +65 -0
- package/dist/lib/cli-adapters/model-introspect.js.map +1 -0
- package/dist/lib/cli-error-signatures.d.ts +9 -0
- package/dist/lib/cli-error-signatures.js +22 -0
- package/dist/lib/cli-error-signatures.js.map +1 -0
- package/dist/lib/cli-output-summary.d.ts +2 -0
- package/dist/lib/cli-output-summary.js +104 -0
- package/dist/lib/cli-output-summary.js.map +1 -0
- package/dist/lib/cli-resolver.d.ts +2 -0
- package/dist/lib/cli-resolver.js +177 -0
- package/dist/lib/cli-resolver.js.map +1 -0
- package/dist/lib/config.d.ts +13 -0
- package/dist/lib/config.js +124 -0
- package/dist/lib/config.js.map +1 -0
- package/dist/lib/constants.d.ts +36 -0
- package/dist/lib/constants.js +51 -0
- package/dist/lib/constants.js.map +1 -0
- package/dist/lib/environment-provisioner.d.ts +31 -0
- package/dist/lib/environment-provisioner.js +182 -0
- package/dist/lib/environment-provisioner.js.map +1 -0
- package/dist/lib/error-log-uploader.d.ts +19 -0
- package/dist/lib/error-log-uploader.js +138 -0
- package/dist/lib/error-log-uploader.js.map +1 -0
- package/dist/lib/event-dispatcher.d.ts +149 -0
- package/dist/lib/event-dispatcher.js +799 -0
- package/dist/lib/event-dispatcher.js.map +1 -0
- package/dist/lib/event-log-recorder.d.ts +11 -0
- package/dist/lib/event-log-recorder.js +77 -0
- package/dist/lib/event-log-recorder.js.map +1 -0
- package/dist/lib/event-stream.d.ts +26 -0
- package/dist/lib/event-stream.js +177 -0
- package/dist/lib/event-stream.js.map +1 -0
- package/dist/lib/fs-browser.d.ts +30 -0
- package/dist/lib/fs-browser.js +287 -0
- package/dist/lib/fs-browser.js.map +1 -0
- package/dist/lib/host-mcp/logs.d.ts +19 -0
- package/dist/lib/host-mcp/logs.js +102 -0
- package/dist/lib/host-mcp/logs.js.map +1 -0
- package/dist/lib/host-mcp/platform.d.ts +24 -0
- package/dist/lib/host-mcp/platform.js +133 -0
- package/dist/lib/host-mcp/platform.js.map +1 -0
- package/dist/lib/host-mcp/screens.d.ts +22 -0
- package/dist/lib/host-mcp/screens.js +172 -0
- package/dist/lib/host-mcp/screens.js.map +1 -0
- package/dist/lib/host-mcp/server.d.ts +3 -0
- package/dist/lib/host-mcp/server.js +233 -0
- package/dist/lib/host-mcp/server.js.map +1 -0
- package/dist/lib/host-mcp/tools.d.ts +172 -0
- package/dist/lib/host-mcp/tools.js +1241 -0
- package/dist/lib/host-mcp/tools.js.map +1 -0
- package/dist/lib/instance-heartbeat.d.ts +55 -0
- package/dist/lib/instance-heartbeat.js +118 -0
- package/dist/lib/instance-heartbeat.js.map +1 -0
- package/dist/lib/legacy-import.d.ts +17 -0
- package/dist/lib/legacy-import.js +70 -0
- package/dist/lib/legacy-import.js.map +1 -0
- package/dist/lib/logging.d.ts +3 -0
- package/dist/lib/logging.js +65 -0
- package/dist/lib/logging.js.map +1 -0
- package/dist/lib/managed-agent-context.d.ts +25 -0
- package/dist/lib/managed-agent-context.js +33 -0
- package/dist/lib/managed-agent-context.js.map +1 -0
- package/dist/lib/managed-agent-store.d.ts +34 -0
- package/dist/lib/managed-agent-store.js +160 -0
- package/dist/lib/managed-agent-store.js.map +1 -0
- package/dist/lib/managed-agents.d.ts +24 -0
- package/dist/lib/managed-agents.js +87 -0
- package/dist/lib/managed-agents.js.map +1 -0
- package/dist/lib/mcp-client.d.ts +8 -0
- package/dist/lib/mcp-client.js +122 -0
- package/dist/lib/mcp-client.js.map +1 -0
- package/dist/lib/orphan-cleanup.d.ts +6 -0
- package/dist/lib/orphan-cleanup.js +108 -0
- package/dist/lib/orphan-cleanup.js.map +1 -0
- package/dist/lib/presence-heartbeat.d.ts +8 -0
- package/dist/lib/presence-heartbeat.js +61 -0
- package/dist/lib/presence-heartbeat.js.map +1 -0
- package/dist/lib/prompts.d.ts +29 -0
- package/dist/lib/prompts.js +208 -0
- package/dist/lib/prompts.js.map +1 -0
- package/dist/lib/rest.d.ts +61 -0
- package/dist/lib/rest.js +307 -0
- package/dist/lib/rest.js.map +1 -0
- package/dist/lib/run-provisioner.d.ts +21 -0
- package/dist/lib/run-provisioner.js +115 -0
- package/dist/lib/run-provisioner.js.map +1 -0
- package/dist/lib/self-path.d.ts +7 -0
- package/dist/lib/self-path.js +29 -0
- package/dist/lib/self-path.js.map +1 -0
- package/dist/lib/self-update.d.ts +46 -0
- package/dist/lib/self-update.js +482 -0
- package/dist/lib/self-update.js.map +1 -0
- package/dist/lib/service-install.d.ts +23 -0
- package/dist/lib/service-install.js +673 -0
- package/dist/lib/service-install.js.map +1 -0
- package/dist/lib/setup.d.ts +16 -0
- package/dist/lib/setup.js +157 -0
- package/dist/lib/setup.js.map +1 -0
- package/dist/lib/subagent-manager.d.ts +84 -0
- package/dist/lib/subagent-manager.js +793 -0
- package/dist/lib/subagent-manager.js.map +1 -0
- package/dist/lib/subagent-monitor.d.ts +43 -0
- package/dist/lib/subagent-monitor.js +229 -0
- package/dist/lib/subagent-monitor.js.map +1 -0
- package/dist/lib/ticket-session-manager.d.ts +23 -0
- package/dist/lib/ticket-session-manager.js +471 -0
- package/dist/lib/ticket-session-manager.js.map +1 -0
- package/dist/lib/worktree-manager.d.ts +39 -0
- package/dist/lib/worktree-manager.js +226 -0
- package/dist/lib/worktree-manager.js.map +1 -0
- package/dist/main.d.ts +2 -0
- package/dist/main.js +670 -0
- package/dist/main.js.map +1 -0
- package/dist/package.json +57 -0
- package/package.json +57 -0
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { type ChildProcessByStdio } from 'node:child_process';
|
|
2
|
+
import type { Readable, Writable } from 'node:stream';
|
|
3
|
+
import { type CliAdapter, type HarnessSpec, type ParseResult, type ResolvedEffortPreset, type TurnImage } from './cli-adapters/base.js';
|
|
4
|
+
import type { AwbConfig } from './rest.js';
|
|
5
|
+
import type { SubagentMonitor, SubagentTapHandle } from './subagent-monitor.js';
|
|
6
|
+
export interface BaseSessionOptions {
|
|
7
|
+
keyField: string;
|
|
8
|
+
logTag: string;
|
|
9
|
+
cfgPrefix: string;
|
|
10
|
+
kindLabel: 'chat_session' | 'ticket_session';
|
|
11
|
+
}
|
|
12
|
+
export interface SessionDelegationConfig {
|
|
13
|
+
enabled?: boolean;
|
|
14
|
+
maxConcurrent?: number;
|
|
15
|
+
ttlMinutes?: number;
|
|
16
|
+
idleMinutes?: number;
|
|
17
|
+
maxTurnsPerSession?: number;
|
|
18
|
+
claudeBin?: string;
|
|
19
|
+
persistentChatSessions?: boolean;
|
|
20
|
+
persistentTicketSessions?: boolean;
|
|
21
|
+
worktreeIsolation?: boolean;
|
|
22
|
+
}
|
|
23
|
+
export interface SessionAwareConfig extends AwbConfig {
|
|
24
|
+
delegation: SessionDelegationConfig;
|
|
25
|
+
}
|
|
26
|
+
export interface MonitorMeta {
|
|
27
|
+
ticket_id?: string;
|
|
28
|
+
ticket_title?: string;
|
|
29
|
+
role?: string;
|
|
30
|
+
trigger_source?: string;
|
|
31
|
+
}
|
|
32
|
+
export interface SpawnOpts {
|
|
33
|
+
onProgress?: (stage: string) => void;
|
|
34
|
+
monitorMeta?: MonitorMeta;
|
|
35
|
+
agentContext?: {
|
|
36
|
+
agent_id: string;
|
|
37
|
+
api_key: string;
|
|
38
|
+
cwd: string;
|
|
39
|
+
mcp_config_path: string;
|
|
40
|
+
cli: string;
|
|
41
|
+
cli_home_dir: string;
|
|
42
|
+
model?: string | null;
|
|
43
|
+
extra_env?: Record<string, string>;
|
|
44
|
+
credential_provider?: string | null;
|
|
45
|
+
};
|
|
46
|
+
firstTurnImages?: TurnImage[];
|
|
47
|
+
harness?: HarnessSpec | null;
|
|
48
|
+
effortPreset?: ResolvedEffortPreset | null;
|
|
49
|
+
envVars?: Record<string, string>;
|
|
50
|
+
}
|
|
51
|
+
interface TurnState {
|
|
52
|
+
onProgress: (stage: string) => void;
|
|
53
|
+
stage: string | null;
|
|
54
|
+
fired: {
|
|
55
|
+
thinking: boolean;
|
|
56
|
+
composing: boolean;
|
|
57
|
+
};
|
|
58
|
+
heartbeatTimer: NodeJS.Timeout | null;
|
|
59
|
+
}
|
|
60
|
+
export interface SessionRecord {
|
|
61
|
+
[key: string]: any;
|
|
62
|
+
pid: number;
|
|
63
|
+
cli_type: string;
|
|
64
|
+
adapter: CliAdapter;
|
|
65
|
+
child: ChildProcessByStdio<Writable, Readable, Readable>;
|
|
66
|
+
configPath: string | null;
|
|
67
|
+
configPathIsTemp: boolean;
|
|
68
|
+
pidPath: string | null;
|
|
69
|
+
turnCount: number;
|
|
70
|
+
startedAt: number;
|
|
71
|
+
lastTouchedAt: number;
|
|
72
|
+
idleTimer: NodeJS.Timeout | null;
|
|
73
|
+
unrespondedTurnCount: number;
|
|
74
|
+
unrespondedSince: number | null;
|
|
75
|
+
unhealthyKilled: boolean;
|
|
76
|
+
tap: SubagentTapHandle | null;
|
|
77
|
+
_currentTurn?: TurnState | null;
|
|
78
|
+
onResult?: (raw: any) => void;
|
|
79
|
+
splitRequested?: boolean;
|
|
80
|
+
splitReason?: string;
|
|
81
|
+
_effectiveApiKey?: string;
|
|
82
|
+
_lastLivenessPostAtMs?: number;
|
|
83
|
+
}
|
|
84
|
+
export interface InflightReservation {
|
|
85
|
+
agentId?: string;
|
|
86
|
+
ticketId?: string;
|
|
87
|
+
roomId?: string;
|
|
88
|
+
}
|
|
89
|
+
export declare class BaseSessionManager {
|
|
90
|
+
#private;
|
|
91
|
+
protected readonly _config: SessionAwareConfig;
|
|
92
|
+
protected readonly _sessions: Map<string, SessionRecord>;
|
|
93
|
+
protected readonly _inflight: Map<string, InflightReservation>;
|
|
94
|
+
protected readonly _outputRings: Map<number, string[]>;
|
|
95
|
+
constructor(config: SessionAwareConfig, options: BaseSessionOptions);
|
|
96
|
+
protected get _adapter(): CliAdapter;
|
|
97
|
+
protected _adapterFor(cli: string | null | undefined): CliAdapter;
|
|
98
|
+
setMonitor(monitor: SubagentMonitor | null): void;
|
|
99
|
+
protected _getSession(sessionKey: string): SessionRecord | undefined;
|
|
100
|
+
protected _isPidAlive(pid: number): boolean;
|
|
101
|
+
protected _getLiveSession(sessionKey: string): SessionRecord | undefined;
|
|
102
|
+
protected _ensureCapacity(): boolean;
|
|
103
|
+
protected _spawnSession(sessionKey: string, rolePrompt: string, firstTurnText: string, { onProgress, monitorMeta, agentContext, firstTurnImages, harness: rawHarness, effortPreset, envVars }?: SpawnOpts): Promise<SessionRecord | null>;
|
|
104
|
+
protected _sendFollowUp(sess: SessionRecord, turnText: string, { checkMaxTurns, onProgress, images, }?: {
|
|
105
|
+
checkMaxTurns?: boolean;
|
|
106
|
+
onProgress?: (stage: string) => void;
|
|
107
|
+
images?: TurnImage[];
|
|
108
|
+
}): void;
|
|
109
|
+
protected _writeTurn(sess: SessionRecord, text: string, images?: TurnImage[]): void;
|
|
110
|
+
protected _collectOutputTail(pid: number, maxChars: number): string;
|
|
111
|
+
protected _clearOutputBuffer(pid: number): void;
|
|
112
|
+
protected _resetIdleTimer(sess: SessionRecord): void;
|
|
113
|
+
protected _onStdoutParsed(_sess: SessionRecord, _parsed: ParseResult, _rawLine: string): void;
|
|
114
|
+
protected _onStderrLine(_sess: SessionRecord, _line: string): void;
|
|
115
|
+
protected _onChildExit(_sess: SessionRecord, _code: number | null, _signal: NodeJS.Signals | null): Promise<void>;
|
|
116
|
+
protected _rememberDedup(key: string): boolean;
|
|
117
|
+
protected _forgetDedup(key: string): void;
|
|
118
|
+
stopForAgent(agentId: string): Promise<{
|
|
119
|
+
count: number;
|
|
120
|
+
inflight: Array<{
|
|
121
|
+
ticketId: string;
|
|
122
|
+
role: string;
|
|
123
|
+
}>;
|
|
124
|
+
}>;
|
|
125
|
+
stop(): Promise<void>;
|
|
126
|
+
}
|
|
127
|
+
export {};
|