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,226 @@
1
+ import { promises as fsp } from 'node:fs';
2
+ import { join } from 'node:path';
3
+ import { execFile } from 'node:child_process';
4
+ import { log } from './logging.js';
5
+ const GIT_TIMEOUT_MS = 20_000;
6
+ function git(cwd, args, timeoutMs = GIT_TIMEOUT_MS) {
7
+ return new Promise((resolve) => {
8
+ execFile('git', ['-C', cwd, ...args], { timeout: timeoutMs, maxBuffer: 8 * 1024 * 1024, windowsHide: true }, (err, stdout, stderr) => {
9
+ resolve({
10
+ ok: !err,
11
+ stdout: (stdout ?? '').toString(),
12
+ stderr: (stderr ?? err?.message ?? '').toString(),
13
+ });
14
+ });
15
+ });
16
+ }
17
+ export function worktreeSlug(ticketId, role) {
18
+ const t = String(ticketId || '').slice(0, 8);
19
+ const r = String(role || 'role');
20
+ return `${t}-${r}`.replace(/[^A-Za-z0-9._-]/g, '_');
21
+ }
22
+ export class WorktreeManager {
23
+ #enabled;
24
+ constructor(opts = {}) {
25
+ this.#enabled = opts.enabled !== false;
26
+ }
27
+ get enabled() {
28
+ return this.#enabled;
29
+ }
30
+ async #freeBaseBranch(baseWorkingDir) {
31
+ const onBranch = await git(baseWorkingDir, ['symbolic-ref', '-q', 'HEAD']);
32
+ if (!onBranch.ok)
33
+ return;
34
+ const branch = onBranch.stdout.trim().replace(/^refs\/heads\//, '');
35
+ const det = await git(baseWorkingDir, ['checkout', '--detach']);
36
+ if (det.ok) {
37
+ log(`[worktree] detached base working_dir HEAD (was ${branch}) so ticket worktrees can check out the base branch: ${baseWorkingDir}`);
38
+ }
39
+ else {
40
+ log(`[worktree] could not detach base HEAD (${det.stderr.trim()}); ticket worktrees should branch off origin/<base> directly`);
41
+ }
42
+ }
43
+ async #isGitWorkTree(dir) {
44
+ const r = await git(dir, ['rev-parse', '--is-inside-work-tree']);
45
+ return r.ok && r.stdout.trim() === 'true';
46
+ }
47
+ async listWorktrees(baseWorkingDir) {
48
+ const r = await git(baseWorkingDir, ['worktree', 'list', '--porcelain']);
49
+ if (!r.ok)
50
+ return [];
51
+ const out = [];
52
+ let cur = null;
53
+ for (const rawLine of r.stdout.split('\n')) {
54
+ const line = rawLine.replace(/\r$/, '');
55
+ if (line.startsWith('worktree ')) {
56
+ if (cur)
57
+ out.push(cur);
58
+ cur = { path: line.slice('worktree '.length), head: null, branch: null, detached: false };
59
+ }
60
+ else if (!cur) {
61
+ continue;
62
+ }
63
+ else if (line.startsWith('HEAD ')) {
64
+ cur.head = line.slice('HEAD '.length);
65
+ }
66
+ else if (line.startsWith('branch ')) {
67
+ cur.branch = line.slice('branch '.length).replace(/^refs\/heads\//, '');
68
+ }
69
+ else if (line === 'detached') {
70
+ cur.detached = true;
71
+ }
72
+ else if (line === '') {
73
+ if (cur) {
74
+ out.push(cur);
75
+ cur = null;
76
+ }
77
+ }
78
+ }
79
+ if (cur)
80
+ out.push(cur);
81
+ return out;
82
+ }
83
+ async prune(baseWorkingDir) {
84
+ if (!this.#enabled)
85
+ return;
86
+ await git(baseWorkingDir, ['worktree', 'prune']).catch(() => { });
87
+ }
88
+ async resolveCwd(args) {
89
+ const { baseWorkingDir, worktreesRoot, ticketId, role } = args;
90
+ const fallback = (reason) => ({
91
+ cwd: baseWorkingDir,
92
+ isWorktree: false,
93
+ reason,
94
+ });
95
+ if (!this.#enabled)
96
+ return fallback('disabled');
97
+ if (!baseWorkingDir)
98
+ return fallback('no_base_dir');
99
+ if (!ticketId || !role)
100
+ return fallback('no_ticket_role');
101
+ if (!(await this.#isGitWorkTree(baseWorkingDir))) {
102
+ return fallback('not_a_git_repo');
103
+ }
104
+ const slug = worktreeSlug(ticketId, role);
105
+ const wtPath = join(worktreesRoot, slug);
106
+ await this.prune(baseWorkingDir);
107
+ const existing = (await this.listWorktrees(baseWorkingDir)).find((w) => samePath(w.path, wtPath));
108
+ if (existing) {
109
+ try {
110
+ const st = await fsp.stat(wtPath);
111
+ if (st.isDirectory()) {
112
+ return { cwd: wtPath, isWorktree: true, reused: true };
113
+ }
114
+ }
115
+ catch {
116
+ }
117
+ }
118
+ if (!existing && (await pathExists(wtPath))) {
119
+ log(`[worktree] path exists but is not a registered worktree, falling back to base cwd: ${wtPath}`);
120
+ return fallback('path_conflict');
121
+ }
122
+ try {
123
+ await fsp.mkdir(worktreesRoot, { recursive: true });
124
+ }
125
+ catch (err) {
126
+ return fallback(`mkdir_failed:${err?.message ?? err}`);
127
+ }
128
+ await this.#freeBaseBranch(baseWorkingDir);
129
+ const add = await git(baseWorkingDir, ['worktree', 'add', '--detach', wtPath]);
130
+ if (!add.ok) {
131
+ log(`[worktree] add failed for ticket=${ticketId.slice(0, 8)} role=${role}: ${add.stderr.trim()} — falling back to base cwd`);
132
+ return fallback('add_failed');
133
+ }
134
+ log(`[worktree] created ${wtPath} for ticket=${ticketId.slice(0, 8)} role=${role} (detached at base HEAD)`);
135
+ return { cwd: wtPath, isWorktree: true, reused: false };
136
+ }
137
+ async removeTicketWorktrees(opts) {
138
+ if (!this.#enabled)
139
+ return 0;
140
+ const { baseWorkingDir, worktreesRoot, ticketId } = opts;
141
+ if (!baseWorkingDir || !ticketId)
142
+ return 0;
143
+ if (!(await this.#isGitWorkTree(baseWorkingDir)))
144
+ return 0;
145
+ const prefix = `${String(ticketId).slice(0, 8)}-`;
146
+ await this.prune(baseWorkingDir);
147
+ const worktrees = await this.listWorktrees(baseWorkingDir);
148
+ let removed = 0;
149
+ for (const w of worktrees) {
150
+ if (!isUnder(w.path, worktreesRoot))
151
+ continue;
152
+ if (!lastSegment(w.path).startsWith(prefix))
153
+ continue;
154
+ const r = await git(baseWorkingDir, ['worktree', 'remove', '--force', w.path]);
155
+ if (r.ok || /is not a working tree|No such file/i.test(r.stderr)) {
156
+ removed++;
157
+ log(`[worktree] removed terminal-ticket worktree ${w.path}`);
158
+ }
159
+ else {
160
+ log(`[worktree] terminal remove failed ${w.path}: ${r.stderr.trim()}`);
161
+ }
162
+ }
163
+ if (removed > 0)
164
+ await this.prune(baseWorkingDir);
165
+ return removed;
166
+ }
167
+ async sweep(opts) {
168
+ if (!this.#enabled)
169
+ return 0;
170
+ const { baseWorkingDir, worktreesRoot, activeKeys } = opts;
171
+ if (!baseWorkingDir || !(await this.#isGitWorkTree(baseWorkingDir)))
172
+ return 0;
173
+ await this.prune(baseWorkingDir);
174
+ const worktrees = await this.listWorktrees(baseWorkingDir);
175
+ let removed = 0;
176
+ for (const w of worktrees) {
177
+ if (!isUnder(w.path, worktreesRoot))
178
+ continue;
179
+ const slug = lastSegment(w.path);
180
+ if (activeKeys.has(slug))
181
+ continue;
182
+ const status = await git(w.path, ['status', '--porcelain']);
183
+ if (!status.ok)
184
+ continue;
185
+ if (status.stdout.trim() !== '')
186
+ continue;
187
+ const r = await git(baseWorkingDir, ['worktree', 'remove', '--force', w.path]);
188
+ if (r.ok) {
189
+ removed++;
190
+ log(`[worktree] swept idle clean worktree ${w.path}`);
191
+ }
192
+ }
193
+ if (removed > 0)
194
+ await this.prune(baseWorkingDir);
195
+ return removed;
196
+ }
197
+ }
198
+ function normPath(p) {
199
+ let s = String(p || '').replace(/[/\\]+$/, '');
200
+ if (process.platform === 'win32')
201
+ s = s.replace(/\\/g, '/').toLowerCase();
202
+ return s;
203
+ }
204
+ function samePath(a, b) {
205
+ return normPath(a) === normPath(b);
206
+ }
207
+ function isUnder(child, parent) {
208
+ const c = normPath(child);
209
+ const p = normPath(parent);
210
+ return c === p ? false : c.startsWith(p + '/');
211
+ }
212
+ function lastSegment(p) {
213
+ const n = normPath(p);
214
+ const idx = n.lastIndexOf('/');
215
+ return idx >= 0 ? n.slice(idx + 1) : n;
216
+ }
217
+ async function pathExists(p) {
218
+ try {
219
+ await fsp.stat(p);
220
+ return true;
221
+ }
222
+ catch {
223
+ return false;
224
+ }
225
+ }
226
+ //# sourceMappingURL=worktree-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worktree-manager.js","sourceRoot":"","sources":["../../src/lib/worktree-manager.ts"],"names":[],"mappings":"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"}
package/dist/main.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};