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.
Files changed (154) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +246 -0
  3. package/dist/lib/agent-lockfile.d.ts +37 -0
  4. package/dist/lib/agent-lockfile.js +205 -0
  5. package/dist/lib/agent-lockfile.js.map +1 -0
  6. package/dist/lib/agent-manager-commands.d.ts +34 -0
  7. package/dist/lib/agent-manager-commands.js +531 -0
  8. package/dist/lib/agent-manager-commands.js.map +1 -0
  9. package/dist/lib/base-session-manager.d.ts +127 -0
  10. package/dist/lib/base-session-manager.js +667 -0
  11. package/dist/lib/base-session-manager.js.map +1 -0
  12. package/dist/lib/chat-attachment-prep.d.ts +35 -0
  13. package/dist/lib/chat-attachment-prep.js +180 -0
  14. package/dist/lib/chat-attachment-prep.js.map +1 -0
  15. package/dist/lib/chat-session-manager.d.ts +29 -0
  16. package/dist/lib/chat-session-manager.js +400 -0
  17. package/dist/lib/chat-session-manager.js.map +1 -0
  18. package/dist/lib/circuit-breaker.d.ts +34 -0
  19. package/dist/lib/circuit-breaker.js +146 -0
  20. package/dist/lib/circuit-breaker.js.map +1 -0
  21. package/dist/lib/cli-adapters/antigravity.d.ts +15 -0
  22. package/dist/lib/cli-adapters/antigravity.js +114 -0
  23. package/dist/lib/cli-adapters/antigravity.js.map +1 -0
  24. package/dist/lib/cli-adapters/base.d.ts +115 -0
  25. package/dist/lib/cli-adapters/base.js +111 -0
  26. package/dist/lib/cli-adapters/base.js.map +1 -0
  27. package/dist/lib/cli-adapters/claude.d.ts +19 -0
  28. package/dist/lib/cli-adapters/claude.js +233 -0
  29. package/dist/lib/cli-adapters/claude.js.map +1 -0
  30. package/dist/lib/cli-adapters/codex.d.ts +14 -0
  31. package/dist/lib/cli-adapters/codex.js +152 -0
  32. package/dist/lib/cli-adapters/codex.js.map +1 -0
  33. package/dist/lib/cli-adapters/deepseek.d.ts +15 -0
  34. package/dist/lib/cli-adapters/deepseek.js +70 -0
  35. package/dist/lib/cli-adapters/deepseek.js.map +1 -0
  36. package/dist/lib/cli-adapters/index.d.ts +8 -0
  37. package/dist/lib/cli-adapters/index.js +27 -0
  38. package/dist/lib/cli-adapters/index.js.map +1 -0
  39. package/dist/lib/cli-adapters/model-introspect.d.ts +3 -0
  40. package/dist/lib/cli-adapters/model-introspect.js +65 -0
  41. package/dist/lib/cli-adapters/model-introspect.js.map +1 -0
  42. package/dist/lib/cli-error-signatures.d.ts +9 -0
  43. package/dist/lib/cli-error-signatures.js +22 -0
  44. package/dist/lib/cli-error-signatures.js.map +1 -0
  45. package/dist/lib/cli-output-summary.d.ts +2 -0
  46. package/dist/lib/cli-output-summary.js +104 -0
  47. package/dist/lib/cli-output-summary.js.map +1 -0
  48. package/dist/lib/cli-resolver.d.ts +2 -0
  49. package/dist/lib/cli-resolver.js +177 -0
  50. package/dist/lib/cli-resolver.js.map +1 -0
  51. package/dist/lib/config.d.ts +13 -0
  52. package/dist/lib/config.js +124 -0
  53. package/dist/lib/config.js.map +1 -0
  54. package/dist/lib/constants.d.ts +36 -0
  55. package/dist/lib/constants.js +51 -0
  56. package/dist/lib/constants.js.map +1 -0
  57. package/dist/lib/environment-provisioner.d.ts +31 -0
  58. package/dist/lib/environment-provisioner.js +182 -0
  59. package/dist/lib/environment-provisioner.js.map +1 -0
  60. package/dist/lib/error-log-uploader.d.ts +19 -0
  61. package/dist/lib/error-log-uploader.js +138 -0
  62. package/dist/lib/error-log-uploader.js.map +1 -0
  63. package/dist/lib/event-dispatcher.d.ts +149 -0
  64. package/dist/lib/event-dispatcher.js +799 -0
  65. package/dist/lib/event-dispatcher.js.map +1 -0
  66. package/dist/lib/event-log-recorder.d.ts +11 -0
  67. package/dist/lib/event-log-recorder.js +77 -0
  68. package/dist/lib/event-log-recorder.js.map +1 -0
  69. package/dist/lib/event-stream.d.ts +26 -0
  70. package/dist/lib/event-stream.js +177 -0
  71. package/dist/lib/event-stream.js.map +1 -0
  72. package/dist/lib/fs-browser.d.ts +30 -0
  73. package/dist/lib/fs-browser.js +287 -0
  74. package/dist/lib/fs-browser.js.map +1 -0
  75. package/dist/lib/host-mcp/logs.d.ts +19 -0
  76. package/dist/lib/host-mcp/logs.js +102 -0
  77. package/dist/lib/host-mcp/logs.js.map +1 -0
  78. package/dist/lib/host-mcp/platform.d.ts +24 -0
  79. package/dist/lib/host-mcp/platform.js +133 -0
  80. package/dist/lib/host-mcp/platform.js.map +1 -0
  81. package/dist/lib/host-mcp/screens.d.ts +22 -0
  82. package/dist/lib/host-mcp/screens.js +172 -0
  83. package/dist/lib/host-mcp/screens.js.map +1 -0
  84. package/dist/lib/host-mcp/server.d.ts +3 -0
  85. package/dist/lib/host-mcp/server.js +233 -0
  86. package/dist/lib/host-mcp/server.js.map +1 -0
  87. package/dist/lib/host-mcp/tools.d.ts +172 -0
  88. package/dist/lib/host-mcp/tools.js +1241 -0
  89. package/dist/lib/host-mcp/tools.js.map +1 -0
  90. package/dist/lib/instance-heartbeat.d.ts +55 -0
  91. package/dist/lib/instance-heartbeat.js +118 -0
  92. package/dist/lib/instance-heartbeat.js.map +1 -0
  93. package/dist/lib/legacy-import.d.ts +17 -0
  94. package/dist/lib/legacy-import.js +70 -0
  95. package/dist/lib/legacy-import.js.map +1 -0
  96. package/dist/lib/logging.d.ts +3 -0
  97. package/dist/lib/logging.js +65 -0
  98. package/dist/lib/logging.js.map +1 -0
  99. package/dist/lib/managed-agent-context.d.ts +25 -0
  100. package/dist/lib/managed-agent-context.js +33 -0
  101. package/dist/lib/managed-agent-context.js.map +1 -0
  102. package/dist/lib/managed-agent-store.d.ts +34 -0
  103. package/dist/lib/managed-agent-store.js +160 -0
  104. package/dist/lib/managed-agent-store.js.map +1 -0
  105. package/dist/lib/managed-agents.d.ts +24 -0
  106. package/dist/lib/managed-agents.js +87 -0
  107. package/dist/lib/managed-agents.js.map +1 -0
  108. package/dist/lib/mcp-client.d.ts +8 -0
  109. package/dist/lib/mcp-client.js +122 -0
  110. package/dist/lib/mcp-client.js.map +1 -0
  111. package/dist/lib/orphan-cleanup.d.ts +6 -0
  112. package/dist/lib/orphan-cleanup.js +108 -0
  113. package/dist/lib/orphan-cleanup.js.map +1 -0
  114. package/dist/lib/presence-heartbeat.d.ts +8 -0
  115. package/dist/lib/presence-heartbeat.js +61 -0
  116. package/dist/lib/presence-heartbeat.js.map +1 -0
  117. package/dist/lib/prompts.d.ts +29 -0
  118. package/dist/lib/prompts.js +208 -0
  119. package/dist/lib/prompts.js.map +1 -0
  120. package/dist/lib/rest.d.ts +61 -0
  121. package/dist/lib/rest.js +307 -0
  122. package/dist/lib/rest.js.map +1 -0
  123. package/dist/lib/run-provisioner.d.ts +21 -0
  124. package/dist/lib/run-provisioner.js +115 -0
  125. package/dist/lib/run-provisioner.js.map +1 -0
  126. package/dist/lib/self-path.d.ts +7 -0
  127. package/dist/lib/self-path.js +29 -0
  128. package/dist/lib/self-path.js.map +1 -0
  129. package/dist/lib/self-update.d.ts +46 -0
  130. package/dist/lib/self-update.js +482 -0
  131. package/dist/lib/self-update.js.map +1 -0
  132. package/dist/lib/service-install.d.ts +23 -0
  133. package/dist/lib/service-install.js +673 -0
  134. package/dist/lib/service-install.js.map +1 -0
  135. package/dist/lib/setup.d.ts +16 -0
  136. package/dist/lib/setup.js +157 -0
  137. package/dist/lib/setup.js.map +1 -0
  138. package/dist/lib/subagent-manager.d.ts +84 -0
  139. package/dist/lib/subagent-manager.js +793 -0
  140. package/dist/lib/subagent-manager.js.map +1 -0
  141. package/dist/lib/subagent-monitor.d.ts +43 -0
  142. package/dist/lib/subagent-monitor.js +229 -0
  143. package/dist/lib/subagent-monitor.js.map +1 -0
  144. package/dist/lib/ticket-session-manager.d.ts +23 -0
  145. package/dist/lib/ticket-session-manager.js +471 -0
  146. package/dist/lib/ticket-session-manager.js.map +1 -0
  147. package/dist/lib/worktree-manager.d.ts +39 -0
  148. package/dist/lib/worktree-manager.js +226 -0
  149. package/dist/lib/worktree-manager.js.map +1 -0
  150. package/dist/main.d.ts +2 -0
  151. package/dist/main.js +670 -0
  152. package/dist/main.js.map +1 -0
  153. package/dist/package.json +57 -0
  154. package/package.json +57 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment-provisioner.js","sourceRoot":"","sources":["../../src/lib/environment-provisioner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { AwbConfig } from './rest.js';
2
+ interface UploadEntry {
3
+ occurred_at: string;
4
+ level: 'fatal' | 'error' | 'warn' | 'info';
5
+ category: string;
6
+ message: string;
7
+ raw_line: string;
8
+ pid: string;
9
+ }
10
+ export declare function scanErrorsSince(logPath: string, sinceMs: number): Promise<UploadEntry[]>;
11
+ export interface UploadResult {
12
+ uploaded: number;
13
+ errors?: number;
14
+ events?: number;
15
+ last_occurred_at?: string | null;
16
+ reason?: string;
17
+ }
18
+ export declare function uploadIfNewErrors(config: AwbConfig | null | undefined, agentId: string | null | undefined, pluginVersion: string): Promise<UploadResult>;
19
+ export {};
@@ -0,0 +1,138 @@
1
+ import { readFile, writeFile } from 'node:fs/promises';
2
+ import { join } from 'node:path';
3
+ import { AGENT_MANAGER_HOME, LOG_PATH } from './constants.js';
4
+ import { log } from './logging.js';
5
+ import { drainEvents } from './event-log-recorder.js';
6
+ const MARKER_PATH = join(AGENT_MANAGER_HOME, 'error-upload.json');
7
+ const LINE_RE = /^\[([^\]]+)\] \[pid=([^\]]+)\] (.+)$/;
8
+ const MAX_ENTRIES = 500;
9
+ const DEFAULT_LOOKBACK_MS = 24 * 60 * 60 * 1000;
10
+ function classify(msg) {
11
+ if (/^\[uploader\]/.test(msg))
12
+ return null;
13
+ if (/^\[DIAG\]/.test(msg))
14
+ return null;
15
+ if (/^\[claude-bin\]/.test(msg))
16
+ return null;
17
+ if (/^Uncaught error:|^Unhandled rejection:/.test(msg))
18
+ return { level: 'fatal', category: 'crash' };
19
+ if (/^EXIT code=[1-9]/.test(msg))
20
+ return { level: 'fatal', category: 'crash' };
21
+ if (/^SSE error:/.test(msg))
22
+ return { level: 'error', category: 'sse' };
23
+ if (/^Presence ping failed:/.test(msg))
24
+ return { level: 'error', category: 'presence' };
25
+ if (/stdout error:|EPIPE/.test(msg))
26
+ return { level: 'error', category: 'ipc' };
27
+ if (/result subtype=error|is_error=true/.test(msg))
28
+ return { level: 'error', category: 'subagent' };
29
+ if (/error|failed/i.test(msg))
30
+ return { level: 'warn', category: 'misc' };
31
+ return null;
32
+ }
33
+ export async function scanErrorsSince(logPath, sinceMs) {
34
+ let text;
35
+ try {
36
+ text = await readFile(logPath, 'utf8');
37
+ }
38
+ catch {
39
+ return [];
40
+ }
41
+ const out = [];
42
+ for (const line of text.split('\n')) {
43
+ const m = LINE_RE.exec(line);
44
+ if (!m)
45
+ continue;
46
+ const [, isoTs, pid, msg] = m;
47
+ const ms = Date.parse(isoTs);
48
+ if (!Number.isFinite(ms) || ms <= sinceMs)
49
+ continue;
50
+ const klass = classify(msg);
51
+ if (!klass)
52
+ continue;
53
+ out.push({
54
+ occurred_at: new Date(ms).toISOString(),
55
+ level: klass.level,
56
+ category: klass.category,
57
+ message: msg.slice(0, 2000),
58
+ raw_line: line.slice(0, 4000),
59
+ pid,
60
+ });
61
+ }
62
+ return out.slice(-MAX_ENTRIES);
63
+ }
64
+ async function readMarker() {
65
+ try {
66
+ const raw = await readFile(MARKER_PATH, 'utf8');
67
+ const j = JSON.parse(raw);
68
+ return typeof j.last_occurred_at === 'string'
69
+ ? Date.parse(j.last_occurred_at)
70
+ : null;
71
+ }
72
+ catch {
73
+ return null;
74
+ }
75
+ }
76
+ async function writeMarker(agentId, lastOccurredAt, uploadedAt) {
77
+ try {
78
+ await writeFile(MARKER_PATH, JSON.stringify({
79
+ agent_id: agentId,
80
+ last_occurred_at: lastOccurredAt,
81
+ last_uploaded_at: uploadedAt,
82
+ }, null, 2));
83
+ }
84
+ catch (err) {
85
+ log(`[uploader] marker write failed: ${err?.message ?? err}`);
86
+ }
87
+ }
88
+ export async function uploadIfNewErrors(config, agentId, pluginVersion) {
89
+ if (!config?.url || !config?.apiKey || !agentId)
90
+ return { uploaded: 0, reason: 'missing_config' };
91
+ const markerMs = await readMarker();
92
+ const sinceMs = markerMs ?? Date.now() - DEFAULT_LOOKBACK_MS;
93
+ const errorEntries = await scanErrorsSince(LOG_PATH, sinceMs);
94
+ const eventEntries = drainEvents();
95
+ const combined = errorEntries
96
+ .concat(eventEntries)
97
+ .slice(0, MAX_ENTRIES);
98
+ if (combined.length === 0)
99
+ return { uploaded: 0, reason: 'no_new_entries' };
100
+ const url = `${config.url.replace(/\/$/, '')}/api/agent/error-logs`;
101
+ try {
102
+ const resp = await fetch(url, {
103
+ method: 'POST',
104
+ headers: {
105
+ 'Content-Type': 'application/json',
106
+ 'X-Agent-Key': config.apiKey,
107
+ },
108
+ body: JSON.stringify({
109
+ agent_id: agentId,
110
+ workspace_id: config.workspace_id ?? null,
111
+ plugin_version: pluginVersion,
112
+ entries: combined,
113
+ }),
114
+ });
115
+ if (!resp.ok) {
116
+ log(`[uploader] upload failed: HTTP ${resp.status}`);
117
+ return { uploaded: 0, reason: `http_${resp.status}` };
118
+ }
119
+ const data = await resp.json().catch(() => ({}));
120
+ const lastErrorOccurredAt = errorEntries.length > 0 ? errorEntries[errorEntries.length - 1].occurred_at : null;
121
+ const uploadedAt = data.uploaded_at ?? new Date().toISOString();
122
+ if (lastErrorOccurredAt) {
123
+ await writeMarker(agentId, lastErrorOccurredAt, uploadedAt);
124
+ }
125
+ log(`[uploader] uploaded ${data.accepted ?? combined.length} entries (errors=${errorEntries.length} events=${eventEntries.length}), marker=${lastErrorOccurredAt ?? '(unchanged)'}`);
126
+ return {
127
+ uploaded: combined.length,
128
+ errors: errorEntries.length,
129
+ events: eventEntries.length,
130
+ last_occurred_at: lastErrorOccurredAt,
131
+ };
132
+ }
133
+ catch (err) {
134
+ log(`[uploader] upload error: ${err?.message ?? err}`);
135
+ return { uploaded: 0, reason: 'network_error' };
136
+ }
137
+ }
138
+ //# sourceMappingURL=error-log-uploader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-log-uploader.js","sourceRoot":"","sources":["../../src/lib/error-log-uploader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,149 @@
1
+ import type { AwbConfig } from './rest.js';
2
+ import type { ManagedAgentContextRegistry } from './managed-agent-context.js';
3
+ import type { WorktreeManager } from './worktree-manager.js';
4
+ import type { HarnessSpec, ResolvedEffortPreset } from './cli-adapters/base.js';
5
+ import { EnvironmentProvisioner } from './environment-provisioner.js';
6
+ import type { ResolvedEnvironmentConfig } from './environment-provisioner.js';
7
+ export declare function parseHarnessConfig(raw: unknown): HarnessSpec | null;
8
+ export declare function parseEffortPreset(raw: unknown): ResolvedEffortPreset | null;
9
+ export declare function parseEnvironmentConfig(raw: unknown): ResolvedEnvironmentConfig | null;
10
+ export interface AgentExecutionContext {
11
+ agent_id: string;
12
+ api_key: string;
13
+ cwd: string;
14
+ mcp_config_path: string;
15
+ cli: string;
16
+ cli_home_dir: string;
17
+ extra_env?: Record<string, string>;
18
+ credential_provider?: string | null;
19
+ model?: string | null;
20
+ }
21
+ export interface SubagentSpawnArgs {
22
+ kind: 'trigger' | 'chat';
23
+ taskText: string;
24
+ rolePrompt: string;
25
+ triggerId?: string;
26
+ chatRequestId?: string;
27
+ ticketId: string;
28
+ agentId: string;
29
+ role?: string;
30
+ triggerSource?: string;
31
+ roomId?: string;
32
+ agentContext?: AgentExecutionContext;
33
+ harness?: HarnessSpec | null;
34
+ effortPreset?: ResolvedEffortPreset | null;
35
+ envVars?: Record<string, string>;
36
+ }
37
+ export interface SubagentSpawnResult {
38
+ spawned: boolean;
39
+ pid?: number;
40
+ reason?: string;
41
+ }
42
+ export interface SubagentManager {
43
+ canSpawn(): boolean;
44
+ spawn(args: SubagentSpawnArgs): Promise<SubagentSpawnResult>;
45
+ }
46
+ export interface ChatDispatchArgs {
47
+ roomId: string;
48
+ agentId: string;
49
+ senderId: string;
50
+ senderName: string;
51
+ createdAt: string;
52
+ content: string;
53
+ rolePrompt: string;
54
+ onProgress?: (stage: string) => void;
55
+ agentContext?: AgentExecutionContext;
56
+ attachments?: any[];
57
+ }
58
+ export interface ChatDispatchResult {
59
+ dispatched: boolean;
60
+ pid?: number;
61
+ firstTurn?: boolean;
62
+ reason?: string;
63
+ }
64
+ export interface ChatSessionManager {
65
+ dispatch(args: ChatDispatchArgs): Promise<ChatDispatchResult>;
66
+ recordRoomMessage(payload: any): void;
67
+ }
68
+ export interface ColumnPrompt {
69
+ name?: string;
70
+ content?: string;
71
+ }
72
+ export interface TicketTriggerArgs {
73
+ ticketId: string;
74
+ role: string;
75
+ triggerId: string;
76
+ agentId: string;
77
+ rolePrompt: string;
78
+ ticketPrompt: string;
79
+ columnPrompt: ColumnPrompt | null;
80
+ ticket: any;
81
+ forceRespawn: boolean;
82
+ triggerSource?: string;
83
+ agentContext?: AgentExecutionContext;
84
+ maxConcurrentTicketsPerAgent?: number;
85
+ harness?: HarnessSpec | null;
86
+ effortPreset?: ResolvedEffortPreset | null;
87
+ envVars?: Record<string, string>;
88
+ }
89
+ export interface TicketDispatchResult {
90
+ dispatched: boolean;
91
+ pid?: number;
92
+ firstTurn?: boolean;
93
+ reason?: string;
94
+ }
95
+ export interface TicketSessionManager {
96
+ dispatchTrigger(args: TicketTriggerArgs): Promise<TicketDispatchResult>;
97
+ forwardCommentMention(ticketId: string, mention: any, targetAgentId?: string): boolean;
98
+ forwardBoardUpdate(ticketId: string, ev: any): boolean;
99
+ }
100
+ export interface FsBrowserResult {
101
+ ok: boolean;
102
+ error?: string;
103
+ code?: string;
104
+ [key: string]: any;
105
+ }
106
+ export interface FsBrowser {
107
+ handle(args: {
108
+ op: string;
109
+ path: string;
110
+ offset?: number;
111
+ limit?: number;
112
+ name?: string;
113
+ }): Promise<FsBrowserResult>;
114
+ }
115
+ export interface PromptComposer {
116
+ composeTriggerPrompt(ticket: any, rolePrompt: string, ticketPrompt: string, ticketId: string, columnPrompt: ColumnPrompt | null): string;
117
+ composeChatPrompt(rolePrompt: string, history: any[], newMessage: string, roomId?: string, usesNativeMcp?: boolean): string;
118
+ composeChatRoomPrompt(roomId: string, history: any[], msg: {
119
+ content: string;
120
+ sender_name: string;
121
+ sender_id: string;
122
+ }, attachments?: any[], usesNativeMcp?: boolean, historyAttachments?: Map<any, any[]>): string;
123
+ composeCommentMentionPrompt(ticket: any, rolePrompt: string, mention: any, ticketId: string): string;
124
+ }
125
+ export interface AgentManagerCommandSink {
126
+ handle(raw: string): Promise<void>;
127
+ }
128
+ export interface EventDispatcherDeps {
129
+ subagentManager?: SubagentManager | null;
130
+ chatSessionManager?: ChatSessionManager | null;
131
+ ticketSessionManager?: TicketSessionManager | null;
132
+ fsBrowser?: FsBrowser | null;
133
+ prompts?: PromptComposer | null;
134
+ agentManagerCommandHandler?: AgentManagerCommandSink | null;
135
+ managedAgentContexts?: ManagedAgentContextRegistry | null;
136
+ worktreeManager?: WorktreeManager | null;
137
+ environmentProvisioner?: EnvironmentProvisioner | null;
138
+ }
139
+ export declare class EventDispatcher {
140
+ #private;
141
+ constructor(config: AwbConfig, deps?: EventDispatcherDeps);
142
+ dispatch(eventType: string, raw: string): void | Promise<void>;
143
+ handleFsRequest(raw: string): Promise<void>;
144
+ handleTrigger(raw: string): Promise<void>;
145
+ handleChatRequest(raw: string): Promise<void>;
146
+ handleCommentMention(raw: string): Promise<void>;
147
+ handleBoardUpdate(raw: string): void;
148
+ handleChatRoomMessage(raw: string): Promise<void>;
149
+ }