@agentmeshhq/agent 0.1.13 → 0.1.14
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/__tests__/loader.test.js +44 -1
- package/dist/__tests__/loader.test.js.map +1 -1
- package/dist/__tests__/runner.test.js.map +1 -1
- package/dist/__tests__/sandbox.test.js.map +1 -1
- package/dist/__tests__/watchdog.test.d.ts +1 -0
- package/dist/__tests__/watchdog.test.js +290 -0
- package/dist/__tests__/watchdog.test.js.map +1 -0
- package/dist/cli/attach.js +20 -1
- package/dist/cli/attach.js.map +1 -1
- package/dist/cli/build.js +8 -2
- package/dist/cli/build.js.map +1 -1
- package/dist/cli/context.js.map +1 -1
- package/dist/cli/deploy.js +1 -1
- package/dist/cli/deploy.js.map +1 -1
- package/dist/cli/init.js +1 -1
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/list.js +3 -3
- package/dist/cli/list.js.map +1 -1
- package/dist/cli/local.js +5 -3
- package/dist/cli/local.js.map +1 -1
- package/dist/cli/migrate.js +1 -1
- package/dist/cli/migrate.js.map +1 -1
- package/dist/cli/nudge.js +16 -3
- package/dist/cli/nudge.js.map +1 -1
- package/dist/cli/restart.js.map +1 -1
- package/dist/cli/slack.js +1 -1
- package/dist/cli/slack.js.map +1 -1
- package/dist/cli/stop.js +13 -5
- package/dist/cli/stop.js.map +1 -1
- package/dist/cli/test.js +1 -1
- package/dist/cli/test.js.map +1 -1
- package/dist/cli/token.js +2 -2
- package/dist/cli/token.js.map +1 -1
- package/dist/config/loader.d.ts +5 -1
- package/dist/config/loader.js +27 -2
- package/dist/config/loader.js.map +1 -1
- package/dist/config/schema.d.ts +13 -0
- package/dist/core/daemon.d.ts +32 -1
- package/dist/core/daemon.js +362 -19
- package/dist/core/daemon.js.map +1 -1
- package/dist/core/injector.d.ts +2 -2
- package/dist/core/injector.js +23 -4
- package/dist/core/injector.js.map +1 -1
- package/dist/core/runner.d.ts +1 -1
- package/dist/core/runner.js +23 -1
- package/dist/core/runner.js.map +1 -1
- package/dist/core/sandbox.d.ts +11 -0
- package/dist/core/sandbox.js +34 -2
- package/dist/core/sandbox.js.map +1 -1
- package/dist/core/tmux.d.ts +8 -0
- package/dist/core/tmux.js +28 -1
- package/dist/core/tmux.js.map +1 -1
- package/dist/core/watchdog.d.ts +41 -0
- package/dist/core/watchdog.js +198 -0
- package/dist/core/watchdog.js.map +1 -0
- package/dist/core/websocket.js +1 -1
- package/dist/core/websocket.js.map +1 -1
- package/dist/index.d.ts +5 -5
- package/dist/index.js +5 -5
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/__tests__/loader.test.ts +52 -4
- package/src/__tests__/runner.test.ts +1 -2
- package/src/__tests__/sandbox.test.ts +1 -1
- package/src/__tests__/watchdog.test.ts +368 -0
- package/src/cli/attach.ts +22 -1
- package/src/cli/build.ts +12 -4
- package/src/cli/context.ts +0 -1
- package/src/cli/deploy.ts +7 -5
- package/src/cli/init.ts +7 -19
- package/src/cli/list.ts +6 -10
- package/src/cli/local.ts +21 -12
- package/src/cli/migrate.ts +6 -4
- package/src/cli/nudge.ts +29 -14
- package/src/cli/restart.ts +1 -1
- package/src/cli/slack.ts +16 -15
- package/src/cli/stop.ts +14 -5
- package/src/cli/test.ts +5 -3
- package/src/cli/token.ts +4 -4
- package/src/config/loader.ts +29 -2
- package/src/config/schema.ts +14 -0
- package/src/core/daemon.ts +439 -24
- package/src/core/injector.ts +27 -4
- package/src/core/runner.ts +26 -1
- package/src/core/sandbox.ts +47 -2
- package/src/core/tmux.ts +35 -2
- package/src/core/watchdog.ts +238 -0
- package/src/core/websocket.ts +2 -2
- package/src/index.ts +6 -5
package/dist/core/daemon.js
CHANGED
|
@@ -2,15 +2,29 @@ import { execSync, spawn } from "node:child_process";
|
|
|
2
2
|
import fs from "node:fs";
|
|
3
3
|
import os from "node:os";
|
|
4
4
|
import path from "node:path";
|
|
5
|
-
import { addAgentToState, getAgentState, loadConfig, updateAgentInState, } from "../config/loader.js";
|
|
5
|
+
import { addAgentToState, getAgentState, loadConfig, resetAgentRestartCount, updateAgentInState, } from "../config/loader.js";
|
|
6
6
|
import { loadContext, loadOrCreateContext, saveContext } from "../context/index.js";
|
|
7
7
|
import { Heartbeat } from "./heartbeat.js";
|
|
8
8
|
import { handleWebSocketEvent, injectRestoredContext, injectStartupMessage } from "./injector.js";
|
|
9
9
|
import { checkInbox, fetchAssignments, registerAgent } from "./registry.js";
|
|
10
|
-
import { buildRunnerConfig, getRunnerDisplayName
|
|
10
|
+
import { buildRunnerConfig, getRunnerDisplayName } from "./runner.js";
|
|
11
11
|
import { DockerSandbox } from "./sandbox.js";
|
|
12
|
-
import { captureSessionContext, createSession, destroySession, getSessionName, sessionExists, updateSessionEnvironment, } from "./tmux.js";
|
|
12
|
+
import { captureSessionContext, captureSessionOutput, createSession, destroySession, getSessionName, isSessionHealthy, sessionExists, updateSessionEnvironment, } from "./tmux.js";
|
|
13
|
+
import { checkAgentProgress, cleanupOrphanContainers, isProcessRunning, sendNudge, } from "./watchdog.js";
|
|
13
14
|
import { AgentWebSocket } from "./websocket.js";
|
|
15
|
+
// Maximum number of auto-restart attempts
|
|
16
|
+
const MAX_RESTART_ATTEMPTS = 3;
|
|
17
|
+
// Time after which restart count resets (30 minutes of stable operation)
|
|
18
|
+
const RESTART_COUNT_RESET_MS = 30 * 60 * 1000;
|
|
19
|
+
// Time to wait after nudging before restarting (2 minutes)
|
|
20
|
+
const NUDGE_WAIT_MS = 2 * 60 * 1000;
|
|
21
|
+
// Path to the sandbox OpenCode config (permissive permissions)
|
|
22
|
+
const SANDBOX_OPENCODE_CONFIG_PATH = path.join(os.homedir(), ".agentmesh", "opencode-sandbox.json");
|
|
23
|
+
// Sandbox OpenCode config content - allow everything since container is sandboxed
|
|
24
|
+
const SANDBOX_OPENCODE_CONFIG = {
|
|
25
|
+
$schema: "https://opencode.ai/config.json",
|
|
26
|
+
permission: "allow",
|
|
27
|
+
};
|
|
14
28
|
export class AgentDaemon {
|
|
15
29
|
agentName;
|
|
16
30
|
config;
|
|
@@ -27,17 +41,28 @@ export class AgentDaemon {
|
|
|
27
41
|
serveMode;
|
|
28
42
|
servePort;
|
|
29
43
|
serveProcess = null;
|
|
30
|
-
serverContext;
|
|
31
44
|
sandboxMode;
|
|
32
45
|
sandboxImage;
|
|
33
46
|
sandboxCpu;
|
|
34
47
|
sandboxMemory;
|
|
35
48
|
sandbox = null;
|
|
49
|
+
healthCheckInterval = null;
|
|
50
|
+
serverContext;
|
|
51
|
+
// Auto-restart tracking
|
|
52
|
+
restartCount = 0;
|
|
53
|
+
lastStableTime = null;
|
|
54
|
+
stuckSince = null;
|
|
55
|
+
nudgeSentAt = null;
|
|
36
56
|
constructor(options) {
|
|
37
57
|
const config = loadConfig();
|
|
38
58
|
if (!config) {
|
|
39
59
|
throw new Error("No config found. Run 'agentmesh init' first.");
|
|
40
60
|
}
|
|
61
|
+
// Ensure config has required fields with defaults
|
|
62
|
+
if (!config.agents)
|
|
63
|
+
config.agents = [];
|
|
64
|
+
if (!config.defaults)
|
|
65
|
+
config.defaults = { command: "opencode", model: "claude-sonnet-4" };
|
|
41
66
|
this.config = config;
|
|
42
67
|
this.agentName = options.name;
|
|
43
68
|
this.shouldRestoreContext = options.restoreContext !== false;
|
|
@@ -83,9 +108,28 @@ export class AgentDaemon {
|
|
|
83
108
|
return;
|
|
84
109
|
}
|
|
85
110
|
console.log(`Starting agent: ${this.agentName}`);
|
|
111
|
+
// Check for duplicate process
|
|
112
|
+
const existingState = getAgentState(this.agentName);
|
|
113
|
+
if (existingState && existingState.pid > 0) {
|
|
114
|
+
if (isProcessRunning(existingState.pid)) {
|
|
115
|
+
throw new Error(`Agent "${this.agentName}" is already running (PID: ${existingState.pid}). ` +
|
|
116
|
+
`Use 'agentmesh stop ${this.agentName}' first.`);
|
|
117
|
+
}
|
|
118
|
+
// Process not running, clean up stale state
|
|
119
|
+
console.log(`Cleaning up stale state for PID ${existingState.pid}`);
|
|
120
|
+
}
|
|
121
|
+
// Clean up orphan containers in sandbox mode
|
|
122
|
+
if (this.sandboxMode) {
|
|
123
|
+
const cleaned = cleanupOrphanContainers(this.agentName);
|
|
124
|
+
if (cleaned > 0) {
|
|
125
|
+
console.log(`Cleaned up ${cleaned} orphan container(s)`);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
// Reset restart count on manual start
|
|
129
|
+
this.restartCount = 0;
|
|
130
|
+
this.lastStableTime = new Date();
|
|
86
131
|
// Register with hub first (needed for assignment check)
|
|
87
132
|
console.log("Registering with AgentMesh hub...");
|
|
88
|
-
const existingState = getAgentState(this.agentName);
|
|
89
133
|
console.log(`Existing state: ${existingState ? `agentId=${existingState.agentId}` : "none"}`);
|
|
90
134
|
const registration = await registerAgent({
|
|
91
135
|
url: this.config.hubUrl,
|
|
@@ -155,6 +199,7 @@ export class AgentDaemon {
|
|
|
155
199
|
assignedProject: this.assignedProject,
|
|
156
200
|
runtimeModel: this.runnerConfig.model,
|
|
157
201
|
runnerType: this.runnerConfig.type,
|
|
202
|
+
sandboxContainer: this.sandbox?.getContainerName(),
|
|
158
203
|
});
|
|
159
204
|
// Start heartbeat with auto-refresh
|
|
160
205
|
console.log("Starting heartbeat...");
|
|
@@ -235,11 +280,11 @@ export class AgentDaemon {
|
|
|
235
280
|
},
|
|
236
281
|
});
|
|
237
282
|
this.ws.connect();
|
|
238
|
-
// Check inbox and auto-nudge
|
|
283
|
+
// Check inbox and auto-nudge with full handoff details
|
|
239
284
|
console.log("Checking inbox...");
|
|
240
285
|
try {
|
|
241
286
|
const inboxItems = await checkInbox(this.config.hubUrl, this.config.workspace, this.token);
|
|
242
|
-
injectStartupMessage(this.agentName, inboxItems.length);
|
|
287
|
+
injectStartupMessage(this.agentName, inboxItems.length, inboxItems);
|
|
243
288
|
}
|
|
244
289
|
catch (error) {
|
|
245
290
|
console.error("Failed to check inbox:", error);
|
|
@@ -257,6 +302,8 @@ export class AgentDaemon {
|
|
|
257
302
|
}
|
|
258
303
|
}
|
|
259
304
|
this.isRunning = true;
|
|
305
|
+
// Start session health monitoring (every 60 seconds)
|
|
306
|
+
this.startHealthMonitor();
|
|
260
307
|
console.log(`
|
|
261
308
|
Agent "${this.agentName}" is running.
|
|
262
309
|
|
|
@@ -273,9 +320,227 @@ Nudge agent:
|
|
|
273
320
|
process.on("SIGINT", () => this.stop());
|
|
274
321
|
process.on("SIGTERM", () => this.stop());
|
|
275
322
|
}
|
|
323
|
+
/**
|
|
324
|
+
* Starts periodic health monitoring for the tmux session
|
|
325
|
+
* Includes auto-restart logic and progress watchdog
|
|
326
|
+
*/
|
|
327
|
+
startHealthMonitor() {
|
|
328
|
+
// Skip health monitoring for serve mode (no tmux session)
|
|
329
|
+
if (this.serveMode)
|
|
330
|
+
return;
|
|
331
|
+
const logDir = path.join(os.homedir(), ".agentmesh", "logs");
|
|
332
|
+
if (!fs.existsSync(logDir)) {
|
|
333
|
+
fs.mkdirSync(logDir, { recursive: true });
|
|
334
|
+
}
|
|
335
|
+
this.healthCheckInterval = setInterval(async () => {
|
|
336
|
+
if (!this.isRunning)
|
|
337
|
+
return;
|
|
338
|
+
// Reset restart count after stable operation
|
|
339
|
+
if (this.lastStableTime && this.restartCount > 0) {
|
|
340
|
+
const stableTime = Date.now() - this.lastStableTime.getTime();
|
|
341
|
+
if (stableTime > RESTART_COUNT_RESET_MS) {
|
|
342
|
+
console.log(`[HEALTH] Agent stable for 30+ minutes, resetting restart count`);
|
|
343
|
+
this.restartCount = 0;
|
|
344
|
+
resetAgentRestartCount(this.agentName);
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
const health = isSessionHealthy(this.agentName);
|
|
348
|
+
if (!health.healthy) {
|
|
349
|
+
// Session died - attempt restart
|
|
350
|
+
await this.handleSessionDeath(health.reason || "unknown", logDir);
|
|
351
|
+
return;
|
|
352
|
+
}
|
|
353
|
+
// Session is alive - check progress watchdog
|
|
354
|
+
const containerName = this.sandboxMode ? this.sandbox?.getContainerName() : undefined;
|
|
355
|
+
const progress = checkAgentProgress(this.agentName, containerName);
|
|
356
|
+
if (progress.status === "permission_blocked" || progress.status === "stuck") {
|
|
357
|
+
await this.handleStuckAgent(progress);
|
|
358
|
+
}
|
|
359
|
+
else if (progress.status === "active") {
|
|
360
|
+
// Agent is working - reset stuck tracking
|
|
361
|
+
if (this.stuckSince) {
|
|
362
|
+
console.log(`[HEALTH] Agent resumed activity`);
|
|
363
|
+
this.stuckSince = null;
|
|
364
|
+
this.nudgeSentAt = null;
|
|
365
|
+
updateAgentInState(this.agentName, { stuckSince: undefined, status: "running" });
|
|
366
|
+
}
|
|
367
|
+
this.lastStableTime = new Date();
|
|
368
|
+
}
|
|
369
|
+
}, 60000); // Check every 60 seconds
|
|
370
|
+
}
|
|
371
|
+
/**
|
|
372
|
+
* Handles session death - logs crash and attempts auto-restart
|
|
373
|
+
*/
|
|
374
|
+
async handleSessionDeath(reason, logDir) {
|
|
375
|
+
const timestamp = new Date().toISOString();
|
|
376
|
+
const logFile = path.join(logDir, `crash-${this.agentName}.log`);
|
|
377
|
+
// Capture last session output before it's gone
|
|
378
|
+
let lastOutput = "";
|
|
379
|
+
try {
|
|
380
|
+
lastOutput = captureSessionOutput(this.agentName, 200) || "Unable to capture output";
|
|
381
|
+
}
|
|
382
|
+
catch {
|
|
383
|
+
lastOutput = "Failed to capture session output";
|
|
384
|
+
}
|
|
385
|
+
const crashLog = `
|
|
386
|
+
================================================================================
|
|
387
|
+
AGENT CRASH DETECTED
|
|
388
|
+
================================================================================
|
|
389
|
+
Timestamp: ${timestamp}
|
|
390
|
+
Agent: ${this.agentName}
|
|
391
|
+
Agent ID: ${this.agentId}
|
|
392
|
+
Reason: ${reason}
|
|
393
|
+
Restart Count: ${this.restartCount}/${MAX_RESTART_ATTEMPTS}
|
|
394
|
+
Sandbox: ${this.sandboxMode ? this.sandbox?.getContainerName() : "none"}
|
|
395
|
+
Workdir: ${this.agentConfig.workdir}
|
|
396
|
+
Model: ${this.runnerConfig.model}
|
|
397
|
+
|
|
398
|
+
--- Last Session Output ---
|
|
399
|
+
${lastOutput}
|
|
400
|
+
================================================================================
|
|
401
|
+
|
|
402
|
+
`;
|
|
403
|
+
fs.appendFileSync(logFile, crashLog);
|
|
404
|
+
// Check if we can restart
|
|
405
|
+
if (this.restartCount < MAX_RESTART_ATTEMPTS) {
|
|
406
|
+
this.restartCount++;
|
|
407
|
+
console.error(`[CRASH] Session died: ${reason}. Attempting restart (${this.restartCount}/${MAX_RESTART_ATTEMPTS})...`);
|
|
408
|
+
updateAgentInState(this.agentName, {
|
|
409
|
+
restartCount: this.restartCount,
|
|
410
|
+
lastRestartAt: timestamp,
|
|
411
|
+
status: "running",
|
|
412
|
+
});
|
|
413
|
+
try {
|
|
414
|
+
await this.restartSession();
|
|
415
|
+
console.log(`[RESTART] Agent restarted successfully`);
|
|
416
|
+
this.lastStableTime = new Date();
|
|
417
|
+
}
|
|
418
|
+
catch (error) {
|
|
419
|
+
console.error(`[RESTART] Failed to restart: ${error.message}`);
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
else {
|
|
423
|
+
// Exceeded restart limit - mark as failed
|
|
424
|
+
console.error(`[FAILED] Agent exceeded restart limit (${MAX_RESTART_ATTEMPTS}). Manual intervention required.`);
|
|
425
|
+
// Terminal bell to alert user
|
|
426
|
+
process.stdout.write("\x07");
|
|
427
|
+
updateAgentInState(this.agentName, {
|
|
428
|
+
status: "failed",
|
|
429
|
+
restartCount: this.restartCount,
|
|
430
|
+
});
|
|
431
|
+
// Stop monitoring
|
|
432
|
+
this.isRunning = false;
|
|
433
|
+
if (this.healthCheckInterval) {
|
|
434
|
+
clearInterval(this.healthCheckInterval);
|
|
435
|
+
this.healthCheckInterval = null;
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
/**
|
|
440
|
+
* Handles stuck agent - sends nudge first, then restarts if still stuck
|
|
441
|
+
*/
|
|
442
|
+
async handleStuckAgent(progress) {
|
|
443
|
+
const now = new Date();
|
|
444
|
+
if (!this.stuckSince) {
|
|
445
|
+
// First detection of stuck state
|
|
446
|
+
this.stuckSince = now;
|
|
447
|
+
console.log(`[HEALTH] Agent appears stuck: ${progress.details || progress.blockedOn || "no activity"}`);
|
|
448
|
+
updateAgentInState(this.agentName, {
|
|
449
|
+
stuckSince: now.toISOString(),
|
|
450
|
+
status: "stuck",
|
|
451
|
+
});
|
|
452
|
+
}
|
|
453
|
+
// If we haven't sent a nudge yet, send one
|
|
454
|
+
if (!this.nudgeSentAt) {
|
|
455
|
+
console.log(`[HEALTH] Sending nudge to unstick agent...`);
|
|
456
|
+
const nudgeMessage = progress.status === "permission_blocked"
|
|
457
|
+
? "Please continue with your task. If you see a permission prompt, try an alternative approach that doesn't require that permission."
|
|
458
|
+
: "Please continue with your current task.";
|
|
459
|
+
const sent = sendNudge(this.agentName, nudgeMessage);
|
|
460
|
+
if (sent) {
|
|
461
|
+
this.nudgeSentAt = now;
|
|
462
|
+
console.log(`[HEALTH] Nudge sent successfully`);
|
|
463
|
+
}
|
|
464
|
+
else {
|
|
465
|
+
console.log(`[HEALTH] Failed to send nudge`);
|
|
466
|
+
}
|
|
467
|
+
return;
|
|
468
|
+
}
|
|
469
|
+
// Check if enough time has passed since nudge
|
|
470
|
+
const timeSinceNudge = now.getTime() - this.nudgeSentAt.getTime();
|
|
471
|
+
if (timeSinceNudge < NUDGE_WAIT_MS) {
|
|
472
|
+
// Still waiting for agent to respond to nudge
|
|
473
|
+
return;
|
|
474
|
+
}
|
|
475
|
+
// Agent still stuck after nudge - trigger restart
|
|
476
|
+
console.log(`[HEALTH] Agent still stuck after nudge, triggering restart...`);
|
|
477
|
+
this.stuckSince = null;
|
|
478
|
+
this.nudgeSentAt = null;
|
|
479
|
+
await this.handleSessionDeath("stuck_after_nudge", path.join(os.homedir(), ".agentmesh", "logs"));
|
|
480
|
+
}
|
|
481
|
+
/**
|
|
482
|
+
* Restarts the agent session (sandbox or non-sandbox)
|
|
483
|
+
*/
|
|
484
|
+
async restartSession() {
|
|
485
|
+
// Destroy existing session
|
|
486
|
+
destroySession(this.agentName);
|
|
487
|
+
if (this.sandboxMode && this.sandbox) {
|
|
488
|
+
// Restart sandbox container
|
|
489
|
+
const newContainerId = await this.sandbox.restart();
|
|
490
|
+
console.log(`[RESTART] New container: ${newContainerId.substring(0, 12)}`);
|
|
491
|
+
// Recreate tmux session for sandbox
|
|
492
|
+
const containerName = this.sandbox.getContainerName();
|
|
493
|
+
const sessionName = getSessionName(this.agentName);
|
|
494
|
+
// Build environment args for docker exec
|
|
495
|
+
const envArgs = [];
|
|
496
|
+
const allEnv = {
|
|
497
|
+
...this.runnerConfig.env,
|
|
498
|
+
AGENT_TOKEN: this.token,
|
|
499
|
+
AGENTMESH_AGENT_ID: this.agentId,
|
|
500
|
+
};
|
|
501
|
+
for (const [key, value] of Object.entries(allEnv)) {
|
|
502
|
+
if (value !== undefined && value !== "") {
|
|
503
|
+
envArgs.push(`-e "${key}=${value}"`);
|
|
504
|
+
}
|
|
505
|
+
}
|
|
506
|
+
const envString = envArgs.join(" ");
|
|
507
|
+
const modelArg = this.runnerConfig.env?.OPENCODE_MODEL
|
|
508
|
+
? ` --model ${this.runnerConfig.env.OPENCODE_MODEL}`
|
|
509
|
+
: "";
|
|
510
|
+
const dockerExecCommand = `docker exec -it ${envString} ${containerName} opencode${modelArg}`;
|
|
511
|
+
const created = createSession(this.agentName, dockerExecCommand, undefined, undefined);
|
|
512
|
+
if (!created) {
|
|
513
|
+
throw new Error("Failed to create tmux session for restarted sandbox");
|
|
514
|
+
}
|
|
515
|
+
// Update state with new container name
|
|
516
|
+
updateAgentInState(this.agentName, {
|
|
517
|
+
sandboxContainer: containerName,
|
|
518
|
+
});
|
|
519
|
+
}
|
|
520
|
+
else {
|
|
521
|
+
// Non-sandbox restart - just recreate tmux session
|
|
522
|
+
const created = createSession(this.agentName, this.agentConfig.command, this.agentConfig.workdir, this.runnerConfig.env);
|
|
523
|
+
if (!created) {
|
|
524
|
+
throw new Error("Failed to create tmux session");
|
|
525
|
+
}
|
|
526
|
+
// Re-inject environment
|
|
527
|
+
updateSessionEnvironment(this.agentName, {
|
|
528
|
+
AGENT_TOKEN: this.token,
|
|
529
|
+
AGENTMESH_AGENT_ID: this.agentId,
|
|
530
|
+
...this.runnerConfig.env,
|
|
531
|
+
});
|
|
532
|
+
}
|
|
533
|
+
// Wait for session to be ready
|
|
534
|
+
await new Promise((resolve) => setTimeout(resolve, 2000));
|
|
535
|
+
}
|
|
276
536
|
async stop() {
|
|
277
537
|
console.log(`\nStopping agent: ${this.agentName}`);
|
|
278
538
|
this.isRunning = false;
|
|
539
|
+
// Stop health monitor
|
|
540
|
+
if (this.healthCheckInterval) {
|
|
541
|
+
clearInterval(this.healthCheckInterval);
|
|
542
|
+
this.healthCheckInterval = null;
|
|
543
|
+
}
|
|
279
544
|
// Save context before stopping
|
|
280
545
|
if (this.agentId) {
|
|
281
546
|
console.log("Saving agent context...");
|
|
@@ -293,7 +558,11 @@ Nudge agent:
|
|
|
293
558
|
}
|
|
294
559
|
// Stop sandbox, serve process, or destroy tmux session
|
|
295
560
|
if (this.sandboxMode && this.sandbox) {
|
|
296
|
-
console.log("Stopping sandbox
|
|
561
|
+
console.log("Stopping sandbox...");
|
|
562
|
+
// In sandbox mode, we have both a tmux session (on host) and a Docker container
|
|
563
|
+
// Destroy tmux session first (this stops docker exec)
|
|
564
|
+
destroySession(this.agentName);
|
|
565
|
+
// Then destroy the container
|
|
297
566
|
await this.sandbox.destroy();
|
|
298
567
|
this.sandbox = null;
|
|
299
568
|
}
|
|
@@ -357,6 +626,10 @@ Nudge agent:
|
|
|
357
626
|
/**
|
|
358
627
|
* Starts agent in Docker sandbox mode
|
|
359
628
|
* Provides filesystem isolation with only workspace mounted
|
|
629
|
+
*
|
|
630
|
+
* Strategy: Start Docker container with tail -f /dev/null, then create
|
|
631
|
+
* a tmux session on the HOST that runs `docker exec -it <container> opencode`.
|
|
632
|
+
* This way tmux provides the TTY that docker exec needs.
|
|
360
633
|
*/
|
|
361
634
|
async startSandboxMode() {
|
|
362
635
|
console.log("Starting in Docker sandbox mode...");
|
|
@@ -369,9 +642,48 @@ Nudge agent:
|
|
|
369
642
|
const existingContainer = DockerSandbox.findExisting(this.agentName);
|
|
370
643
|
if (existingContainer) {
|
|
371
644
|
console.log(`Found existing sandbox container: ${existingContainer}`);
|
|
372
|
-
console.log(
|
|
645
|
+
console.log(`Stop it with: agentmesh stop ${this.agentName}`);
|
|
373
646
|
throw new Error("Sandbox container already exists");
|
|
374
647
|
}
|
|
648
|
+
// Build additional mounts for credentials and config
|
|
649
|
+
// The entrypoint script copies these from /tmp/ to the correct locations
|
|
650
|
+
const additionalMounts = [];
|
|
651
|
+
// Mount git credentials
|
|
652
|
+
const gitCredentialsPath = path.join(os.homedir(), ".git-credentials");
|
|
653
|
+
if (fs.existsSync(gitCredentialsPath)) {
|
|
654
|
+
additionalMounts.push(`${gitCredentialsPath}:/tmp/.git-credentials-host:ro`);
|
|
655
|
+
}
|
|
656
|
+
// Mount OpenCode auth.json for API provider tokens (Anthropic, OpenAI, etc.)
|
|
657
|
+
const opencodeAuthPath = path.join(os.homedir(), ".local", "share", "opencode", "auth.json");
|
|
658
|
+
if (fs.existsSync(opencodeAuthPath)) {
|
|
659
|
+
additionalMounts.push(`${opencodeAuthPath}:/tmp/.opencode-auth-host:ro`);
|
|
660
|
+
}
|
|
661
|
+
// Mount AgentMesh config for hub URL, API key, workspace
|
|
662
|
+
const agentmeshConfigPath = path.join(os.homedir(), ".agentmesh", "config.json");
|
|
663
|
+
if (fs.existsSync(agentmeshConfigPath)) {
|
|
664
|
+
additionalMounts.push(`${agentmeshConfigPath}:/tmp/.agentmesh-config-host:ro`);
|
|
665
|
+
}
|
|
666
|
+
// Create and mount permissive OpenCode config for sandbox
|
|
667
|
+
// This allows all permissions since the container is already sandboxed
|
|
668
|
+
this.ensureSandboxOpencodeConfig();
|
|
669
|
+
additionalMounts.push(`${SANDBOX_OPENCODE_CONFIG_PATH}:/workspace/opencode.json:ro`);
|
|
670
|
+
// Pass GitHub token as environment variable for git operations
|
|
671
|
+
const gitCredentials = fs.existsSync(gitCredentialsPath)
|
|
672
|
+
? fs.readFileSync(gitCredentialsPath, "utf-8").trim()
|
|
673
|
+
: "";
|
|
674
|
+
const gitHubToken = gitCredentials.match(/github_pat_[^\s@]+/)?.[0] || "";
|
|
675
|
+
// Build the command to run inside the container
|
|
676
|
+
// The agentmesh CLI inside the container will create tmux + opencode
|
|
677
|
+
const model = this.runnerConfig.env?.OPENCODE_MODEL || this.runnerConfig.model || "claude-sonnet-4";
|
|
678
|
+
const containerCommand = [
|
|
679
|
+
"agentmesh",
|
|
680
|
+
"start",
|
|
681
|
+
"--name",
|
|
682
|
+
this.agentName,
|
|
683
|
+
"--model",
|
|
684
|
+
model,
|
|
685
|
+
"--foreground",
|
|
686
|
+
];
|
|
375
687
|
// Create sandbox configuration
|
|
376
688
|
this.sandbox = new DockerSandbox({
|
|
377
689
|
agentName: this.agentName,
|
|
@@ -383,38 +695,47 @@ Nudge agent:
|
|
|
383
695
|
...this.runnerConfig.env,
|
|
384
696
|
AGENT_TOKEN: this.token,
|
|
385
697
|
AGENTMESH_AGENT_ID: this.agentId,
|
|
698
|
+
// Git credentials for pushing to GitHub
|
|
699
|
+
...(gitHubToken && { GH_TOKEN: gitHubToken, GITHUB_TOKEN: gitHubToken }),
|
|
386
700
|
},
|
|
387
701
|
serveMode: this.serveMode,
|
|
388
702
|
servePort: this.servePort,
|
|
389
703
|
networkMode: "bridge",
|
|
704
|
+
additionalMounts: additionalMounts.length > 0 ? additionalMounts : undefined,
|
|
705
|
+
command: this.serveMode ? undefined : containerCommand,
|
|
390
706
|
});
|
|
391
707
|
// Validate mount policy (will throw if denied)
|
|
392
708
|
this.sandbox.validateMountPolicy();
|
|
393
709
|
// Pull image if needed
|
|
394
710
|
await this.sandbox.pullImage();
|
|
395
|
-
// Start container
|
|
711
|
+
// Start container with agentmesh running inside
|
|
712
|
+
// The entrypoint script sets up credentials before agentmesh starts
|
|
396
713
|
await this.sandbox.start();
|
|
714
|
+
const containerName = this.sandbox.getContainerName();
|
|
397
715
|
console.log(`
|
|
398
716
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
399
|
-
|
|
717
|
+
SANDBOX MODE ACTIVE
|
|
400
718
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
401
719
|
|
|
402
|
-
Container: ${
|
|
720
|
+
Container: ${containerName}
|
|
403
721
|
Image: ${this.sandboxImage}
|
|
404
722
|
Workspace: ${workdir} -> /workspace
|
|
405
723
|
CPU: ${this.sandboxCpu} core(s)
|
|
406
724
|
Memory: ${this.sandboxMemory}
|
|
725
|
+
Model: ${model}
|
|
407
726
|
|
|
408
|
-
The agent is running
|
|
409
|
-
|
|
727
|
+
The agent daemon is running INSIDE the Docker container.
|
|
728
|
+
tmux session and OpenCode are managed inside the container.
|
|
729
|
+
|
|
730
|
+
Attach: agentmesh attach ${this.agentName}
|
|
731
|
+
Nudge: agentmesh nudge ${this.agentName} "message"
|
|
732
|
+
Stop: agentmesh stop ${this.agentName}
|
|
733
|
+
Logs: docker logs ${containerName}
|
|
410
734
|
|
|
411
735
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
412
736
|
`);
|
|
413
|
-
//
|
|
414
|
-
|
|
415
|
-
console.log("Starting opencode in sandbox container...");
|
|
416
|
-
await this.sandbox.spawnOpencode();
|
|
417
|
-
}
|
|
737
|
+
// No host tmux session needed - the container runs agentmesh which creates its own tmux
|
|
738
|
+
// Heartbeats are sent by the daemon running inside the container
|
|
418
739
|
}
|
|
419
740
|
/**
|
|
420
741
|
* Saves the current agent context to disk
|
|
@@ -575,5 +896,27 @@ Option 3: Use --auto-setup to automatically clone the repository:
|
|
|
575
896
|
console.log(`✓ Workspace ready: ${workspacePath}\n`);
|
|
576
897
|
return workspacePath;
|
|
577
898
|
}
|
|
899
|
+
/**
|
|
900
|
+
* Ensures the sandbox OpenCode config exists
|
|
901
|
+
* Creates ~/.agentmesh/opencode-sandbox.json with permissive permissions and model
|
|
902
|
+
*/
|
|
903
|
+
ensureSandboxOpencodeConfig() {
|
|
904
|
+
const configDir = path.dirname(SANDBOX_OPENCODE_CONFIG_PATH);
|
|
905
|
+
if (!fs.existsSync(configDir)) {
|
|
906
|
+
fs.mkdirSync(configDir, { recursive: true });
|
|
907
|
+
}
|
|
908
|
+
// Build config with model if available
|
|
909
|
+
const config = {
|
|
910
|
+
...SANDBOX_OPENCODE_CONFIG,
|
|
911
|
+
};
|
|
912
|
+
// Include model from runner config
|
|
913
|
+
const model = this.runnerConfig.env?.OPENCODE_MODEL;
|
|
914
|
+
if (model) {
|
|
915
|
+
config.model = model;
|
|
916
|
+
}
|
|
917
|
+
// Always write to ensure model is up to date
|
|
918
|
+
fs.writeFileSync(SANDBOX_OPENCODE_CONFIG_PATH, JSON.stringify(config, null, 2));
|
|
919
|
+
console.log(`Updated sandbox OpenCode config: ${SANDBOX_OPENCODE_CONFIG_PATH}`);
|
|
920
|
+
}
|
|
578
921
|
}
|
|
579
922
|
//# sourceMappingURL=daemon.js.map
|
package/dist/core/daemon.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/core/daemon.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/core/daemon.ts"],"names":[],"mappings":"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"}
|
package/dist/core/injector.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { AgentContext } from "../context/schema.js";
|
|
2
2
|
import type { InboxItem } from "./registry.js";
|
|
3
3
|
import type { WebSocketEvent } from "./websocket.js";
|
|
4
|
-
export declare function injectStartupMessage(agentName: string, pendingCount: number): void;
|
|
4
|
+
export declare function injectStartupMessage(agentName: string, pendingCount: number, inboxItems?: InboxItem[]): void;
|
|
5
5
|
export declare function injectHandoffReceived(agentName: string, event: WebSocketEvent): void;
|
|
6
6
|
export declare function injectNudge(agentName: string, event: WebSocketEvent): void;
|
|
7
7
|
export declare function injectBlockerResolved(agentName: string, event: WebSocketEvent): void;
|
|
@@ -9,7 +9,7 @@ export interface EventContext {
|
|
|
9
9
|
hubUrl?: string;
|
|
10
10
|
token?: string;
|
|
11
11
|
}
|
|
12
|
-
export declare function injectSlackMessage(agentName: string, event: WebSocketEvent,
|
|
12
|
+
export declare function injectSlackMessage(agentName: string, event: WebSocketEvent, _context?: EventContext): void;
|
|
13
13
|
export declare function injectInboxItems(agentName: string, items: InboxItem[]): void;
|
|
14
14
|
export declare function handleWebSocketEvent(agentName: string, event: WebSocketEvent, context?: EventContext): void;
|
|
15
15
|
/**
|