@agentmeshhq/agent 0.4.6 → 0.4.10

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 (65) hide show
  1. package/dist/__tests__/auth-doctor-integration.test.d.ts +14 -0
  2. package/dist/__tests__/auth-doctor-integration.test.js +130 -0
  3. package/dist/__tests__/auth-doctor-integration.test.js.map +1 -0
  4. package/dist/__tests__/auth-guard.integration.test.d.ts +12 -0
  5. package/dist/__tests__/auth-guard.integration.test.js +132 -0
  6. package/dist/__tests__/auth-guard.integration.test.js.map +1 -0
  7. package/dist/__tests__/auth-guard.test.d.ts +17 -0
  8. package/dist/__tests__/auth-guard.test.js +483 -0
  9. package/dist/__tests__/auth-guard.test.js.map +1 -0
  10. package/dist/__tests__/done-state-guard.integration.test.d.ts +1 -0
  11. package/dist/__tests__/done-state-guard.integration.test.js +281 -0
  12. package/dist/__tests__/done-state-guard.integration.test.js.map +1 -0
  13. package/dist/__tests__/done-state-guard.test.d.ts +1 -0
  14. package/dist/__tests__/done-state-guard.test.js +327 -0
  15. package/dist/__tests__/done-state-guard.test.js.map +1 -0
  16. package/dist/__tests__/tmux-runtime.test.d.ts +1 -0
  17. package/dist/__tests__/tmux-runtime.test.js +113 -0
  18. package/dist/__tests__/tmux-runtime.test.js.map +1 -0
  19. package/dist/cli/auth.d.ts +11 -0
  20. package/dist/cli/auth.js +92 -0
  21. package/dist/cli/auth.js.map +1 -0
  22. package/dist/cli/index.js +45 -1
  23. package/dist/cli/index.js.map +1 -1
  24. package/dist/cli/local.d.ts +4 -2
  25. package/dist/cli/local.js +257 -108
  26. package/dist/cli/local.js.map +1 -1
  27. package/dist/cli/migrate.d.ts +1 -0
  28. package/dist/cli/migrate.js +14 -10
  29. package/dist/cli/migrate.js.map +1 -1
  30. package/dist/cli/start.d.ts +2 -0
  31. package/dist/cli/start.js +3 -0
  32. package/dist/cli/start.js.map +1 -1
  33. package/dist/cli/test.d.ts +1 -0
  34. package/dist/cli/test.js +15 -9
  35. package/dist/cli/test.js.map +1 -1
  36. package/dist/config/schema.d.ts +11 -0
  37. package/dist/config/schema.js.map +1 -1
  38. package/dist/core/auth-guard.d.ts +155 -0
  39. package/dist/core/auth-guard.js +498 -0
  40. package/dist/core/auth-guard.js.map +1 -0
  41. package/dist/core/auth-sync.d.ts +105 -0
  42. package/dist/core/auth-sync.js +263 -0
  43. package/dist/core/auth-sync.js.map +1 -0
  44. package/dist/core/daemon/context-template.js +65 -0
  45. package/dist/core/daemon/context-template.js.map +1 -1
  46. package/dist/core/daemon/done-state-guard.d.ts +63 -0
  47. package/dist/core/daemon/done-state-guard.js +102 -0
  48. package/dist/core/daemon/done-state-guard.js.map +1 -0
  49. package/dist/core/daemon/tmux-session.d.ts +1 -0
  50. package/dist/core/daemon/tmux-session.js +1 -1
  51. package/dist/core/daemon/tmux-session.js.map +1 -1
  52. package/dist/core/daemon.d.ts +15 -1
  53. package/dist/core/daemon.js +155 -37
  54. package/dist/core/daemon.js.map +1 -1
  55. package/dist/core/registry.d.ts +9 -1
  56. package/dist/core/registry.js +28 -1
  57. package/dist/core/registry.js.map +1 -1
  58. package/dist/core/tmux-runtime.d.ts +11 -2
  59. package/dist/core/tmux-runtime.js +45 -19
  60. package/dist/core/tmux-runtime.js.map +1 -1
  61. package/dist/core/tmux.d.ts +1 -1
  62. package/dist/core/tmux.js +7 -3
  63. package/dist/core/tmux.js.map +1 -1
  64. package/package.json +12 -11
  65. package/LICENSE +0 -21
@@ -4,13 +4,15 @@ import os from "node:os";
4
4
  import path from "node:path";
5
5
  import { getAgentState, loadState, updateAgentInState } from "../config/loader.js";
6
6
  import { loadContext, loadOrCreateContext, saveContext } from "../context/index.js";
7
+ import { preflightAgentAuth, startAuthHealthWatcher, } from "./auth-guard.js";
7
8
  import { startCleanupScheduler } from "./cleanup/scheduler.js";
8
9
  import { renderMissingWorkdirMessage } from "./daemon/assignment-message.js";
9
10
  import { bootstrapDaemon } from "./daemon/bootstrap.js";
10
11
  import { removeClaudeMd, writeClaudeMd } from "./daemon/context-template.js";
11
12
  import { formatCrashLog } from "./daemon/crash-log.js";
13
+ import { evaluateRestartState, filterActiveClaimsForAgent, filterCompletedHandoffsForAgent, formatRestartLifecycleLog, } from "./daemon/done-state-guard.js";
12
14
  import { cleanupGitAuth, setupGitAuth } from "./daemon/git-auth.js";
13
- import { getNudgeMessage, getStuckDetail, isWithinNudgeWaitWindow, } from "./daemon/health-policy.js";
15
+ import { getStuckDetail } from "./daemon/health-policy.js";
14
16
  import { writeSandboxOpencodeConfig } from "./daemon/sandbox-config.js";
15
17
  import { isRecoverableSessionFailure } from "./daemon/session-recovery.js";
16
18
  import { captureAgentChildPids, persistRunningState } from "./daemon/state.js";
@@ -18,8 +20,8 @@ import { startTmuxRuntimeSession } from "./daemon/tmux-session.js";
18
20
  import { configureGitIdentity, setupWorkspace, updateWorkspaceFromRemote, validatePushAccess, } from "./daemon/workspace.js";
19
21
  import { findPendingHandoffBreaches } from "./handoff-sla.js";
20
22
  import { Heartbeat } from "./heartbeat.js";
21
- import { handleWebSocketEvent, injectOnboardMessage, injectRestoredContext, injectStartupMessage, } from "./injector.js";
22
- import { checkInbox, createClaim, createSelfAssignment, fetchAssignments, fetchOnboard, fetchProjectByCode, getAgentAutonomyState, getHandoff, listClaims, registerAgent, releaseClaim, updateHandoffStatusWithRetry, } from "./registry.js";
23
+ import { handleWebSocketEvent, injectInboxItems, injectOnboardMessage, injectRestoredContext, injectStartupMessage, } from "./injector.js";
24
+ import { checkInbox, createClaim, createSelfAssignment, fetchAssignments, fetchHandoffsForAgent, fetchOnboard, fetchProjectByCode, getAgentAutonomyState, getHandoff, listClaims, registerAgent, releaseClaim, updateHandoffStatusWithRetry, } from "./registry.js";
23
25
  import { getRunnerDisplayName } from "./runner.js";
24
26
  import { DockerSandbox } from "./sandbox.js";
25
27
  import { getLatestSessionId, waitForNewSessionId } from "./session-id.js";
@@ -27,10 +29,11 @@ import { captureSessionContext, captureSessionOutput, destroySession, isSessionH
27
29
  import { prepareOpenCodeRuntime } from "./tmux-runtime.js";
28
30
  import { checkAgentProgress, cleanupOrphanContainers, isProcessRunning, sendNudge, } from "./watchdog.js";
29
31
  import { AgentWebSocket } from "./websocket.js";
30
- // Time to wait after nudging before marking as stuck (2 minutes)
31
- const NUDGE_WAIT_MS = 2 * 60 * 1000;
32
- const PENDING_HANDOFF_SLA_MINUTES = 5;
33
- const PENDING_HANDOFF_ALERT_COOLDOWN_MS = 5 * 60 * 1000;
32
+ // SLA breach alert thresholds configurable via env vars
33
+ // AGENTMESH_HANDOFF_SLA_MINUTES: minutes before a pending handoff is considered a breach (default 5)
34
+ // AGENTMESH_HANDOFF_SLA_COOLDOWN_MS: ms between repeated SLA alerts for the same breach (default 5 min)
35
+ const PENDING_HANDOFF_SLA_MINUTES = Number(process.env.AGENTMESH_HANDOFF_SLA_MINUTES ?? 5);
36
+ const PENDING_HANDOFF_ALERT_COOLDOWN_MS = Number(process.env.AGENTMESH_HANDOFF_SLA_COOLDOWN_MS ?? 5 * 60 * 1000);
34
37
  const AUTO_CLAIM_SCOPE_PREFIX = "handoff:";
35
38
  const AUTO_CLAIM_TTL_SECONDS = 1800;
36
39
  // Path to the sandbox OpenCode config (permissive permissions)
@@ -66,20 +69,22 @@ export class AgentDaemon {
66
69
  projectCode;
67
70
  projectRole;
68
71
  autoAcceptHandoffs;
72
+ autonomous;
69
73
  healthCheckInterval = null;
70
74
  stopCleanupScheduler = null;
75
+ authHealthWatcher = null;
71
76
  // Session resume tracking
72
77
  _preStartSessionId;
73
78
  _attemptedResumeSessionId;
74
79
  // Stuck detection tracking
75
80
  stuckSince = null;
76
- nudgeSentAt = null;
77
81
  lastPendingHandoffAlertAt = null;
78
82
  remoteAutomationPaused = false;
79
83
  lastAutonomyPolicyFetchAt = null;
80
84
  pendingClaimCreations = new Set();
81
85
  sessionRecoveryAttempts = 0;
82
86
  lastSessionRecoveryAt = null;
87
+ initialInboxCheckComplete = false;
83
88
  constructor(options) {
84
89
  const boot = bootstrapDaemon(options);
85
90
  this.config = boot.config;
@@ -97,6 +102,7 @@ export class AgentDaemon {
97
102
  this.projectCode = boot.projectCode;
98
103
  this.projectRole = boot.projectRole;
99
104
  this.autoAcceptHandoffs = boot.autoAcceptHandoffs;
105
+ this.autonomous = options.autonomous ?? false;
100
106
  this.runnerConfig = boot.runnerConfig;
101
107
  const runnerName = getRunnerDisplayName(this.runnerConfig.type);
102
108
  console.log(`Runner: ${runnerName}`);
@@ -133,6 +139,13 @@ export class AgentDaemon {
133
139
  // Register with hub first (needed for assignment check)
134
140
  console.log("Registering with AgentMesh hub...");
135
141
  console.log(`Existing state: ${existingState ? `agentId=${existingState.agentId}` : "none"}`);
142
+ // Derive agent_type from runtime flags when not explicitly set in config.
143
+ // - explicit agentConfig.agentType always wins
144
+ // - --worker → "worker" (requires team_id on hub)
145
+ // - --autonomous (no --worker) → "autonomous" (standalone, visible, no team needed)
146
+ // - neither → "system" (hidden background agent)
147
+ const effectiveAgentType = this.agentConfig.agentType ??
148
+ (this.isWorkerAgent ? "worker" : this.autonomous ? "autonomous" : "system");
136
149
  const registration = await registerAgent({
137
150
  url: this.config.hubUrl,
138
151
  apiKey: this.config.apiKey,
@@ -141,6 +154,7 @@ export class AgentDaemon {
141
154
  agentName: this.agentName,
142
155
  model: this.agentConfig.model || this.config.defaults.model,
143
156
  restoreContext: this.shouldRestoreContext,
157
+ agentType: effectiveAgentType,
144
158
  });
145
159
  this.agentId = registration.agentId;
146
160
  this.token = registration.token;
@@ -217,6 +231,17 @@ export class AgentDaemon {
217
231
  `Use --serve-port to specify a different port.`);
218
232
  }
219
233
  }
234
+ // Preflight: ensure per-agent auth symlink is valid before launching runner (Epic #470)
235
+ if (this.runnerConfig.type === "opencode") {
236
+ const { ok, result } = preflightAgentAuth(this.agentName);
237
+ if (!ok) {
238
+ console.warn(`[AUTH] Startup preflight failed for ${this.agentName}: ${result.message}`);
239
+ console.warn("[AUTH] Agent may fail provider calls. Run: agentmesh auth doctor --repair");
240
+ }
241
+ else if (result.status === "repaired") {
242
+ console.log(`[AUTH] Auth repaired at startup: ${result.message}`);
243
+ }
244
+ }
220
245
  // Choose runtime mode: sandbox > serve > tmux
221
246
  if (this.sandboxMode) {
222
247
  await this.startSandboxMode();
@@ -232,6 +257,7 @@ export class AgentDaemon {
232
257
  workdir: this.agentConfig.workdir,
233
258
  runnerEnv: this.runnerConfig.env,
234
259
  shouldRestoreContext: this.shouldRestoreContext,
260
+ autonomous: this.autonomous,
235
261
  });
236
262
  this._preStartSessionId = sessionStart.preStartSessionId;
237
263
  this._attemptedResumeSessionId = sessionStart.attemptedResumeSessionId;
@@ -307,6 +333,7 @@ export class AgentDaemon {
307
333
  },
308
334
  onConnect: () => {
309
335
  console.log("WebSocket reconnected with new token");
336
+ void this.sweepInboxOnWebSocketConnect();
310
337
  },
311
338
  onDisconnect: () => {
312
339
  console.log("WebSocket disconnected");
@@ -336,6 +363,7 @@ export class AgentDaemon {
336
363
  },
337
364
  onConnect: () => {
338
365
  console.log("WebSocket connected");
366
+ void this.sweepInboxOnWebSocketConnect();
339
367
  },
340
368
  onDisconnect: () => {
341
369
  console.log("WebSocket disconnected");
@@ -348,17 +376,40 @@ export class AgentDaemon {
348
376
  // Wait for TUI to initialize before injecting messages
349
377
  await new Promise((resolve) => setTimeout(resolve, 3000));
350
378
  await this.refreshRemoteAutonomyPolicy(true);
379
+ // -----------------------------------------------------------------------
380
+ // Done-state guard (Epic #497): determine restart state before injecting
381
+ // any work. If prior cycle is done, come up idle and skip auto-accept.
382
+ // -----------------------------------------------------------------------
383
+ const restartDecision = await this.evaluateDoneStateGuard();
384
+ console.log(formatRestartLifecycleLog(restartDecision));
385
+ updateAgentInState(this.agentName, {
386
+ lastRestartState: restartDecision.state,
387
+ lastRestartReason: restartDecision.reason,
388
+ lastRestartDecisionAt: new Date().toISOString(),
389
+ });
351
390
  // Check inbox and auto-nudge with full handoff details
352
391
  console.log("Checking inbox...");
353
392
  try {
354
393
  const inboxItems = await checkInbox(this.config.hubUrl, this.config.workspace, this.token);
355
- const remainingItems = await this.autoAcceptPendingHandoffs(inboxItems);
356
- injectStartupMessage(this.agentName, remainingItems.length, remainingItems);
394
+ // If the done-state guard says prior work is done, do NOT auto-accept inbox
395
+ // items from the stale cycle — come up idle and wait for a fresh handoff.
396
+ if (restartDecision.state === "idle" || restartDecision.state === "blocked") {
397
+ console.log(`[RESTART] Skipping auto-accept: agent is ${restartDecision.state}. ` +
398
+ "Any inbox items will be surfaced but not auto-claimed.");
399
+ injectStartupMessage(this.agentName, inboxItems.length, inboxItems);
400
+ }
401
+ else {
402
+ const remainingItems = await this.autoAcceptPendingHandoffs(inboxItems);
403
+ injectStartupMessage(this.agentName, remainingItems.length, remainingItems);
404
+ }
357
405
  }
358
406
  catch (error) {
359
407
  console.error("Failed to check inbox:", error);
360
408
  injectStartupMessage(this.agentName, 0);
361
409
  }
410
+ finally {
411
+ this.initialInboxCheckComplete = true;
412
+ }
362
413
  // Inject onboard project context
363
414
  if (this.onboardData?.project) {
364
415
  await new Promise((resolve) => setTimeout(resolve, 1000));
@@ -551,6 +602,21 @@ Nudge agent:
551
602
  const state = getAgentState(this.agentName);
552
603
  return state?.automationPaused === true || this.remoteAutomationPaused;
553
604
  }
605
+ async sweepInboxOnWebSocketConnect() {
606
+ if (!this.token || !this.initialInboxCheckComplete) {
607
+ return;
608
+ }
609
+ try {
610
+ const inboxItems = await checkInbox(this.config.hubUrl, this.config.workspace, this.token);
611
+ const remainingItems = await this.autoAcceptPendingHandoffs(inboxItems);
612
+ if (remainingItems.length > 0) {
613
+ injectInboxItems(this.agentName, remainingItems);
614
+ }
615
+ }
616
+ catch (error) {
617
+ console.warn(`[WS] Failed inbox sweep on connect: ${error.message}`);
618
+ }
619
+ }
554
620
  async refreshRemoteAutonomyPolicy(force = false) {
555
621
  if (!this.token || !this.agentId) {
556
622
  return;
@@ -717,6 +783,19 @@ Nudge agent:
717
783
  // Skip health monitoring for serve mode (no tmux session)
718
784
  if (this.serveMode)
719
785
  return;
786
+ // Start periodic auth healthcheck for opencode runners (Epic #470)
787
+ if (this.runnerConfig.type === "opencode") {
788
+ this.authHealthWatcher = startAuthHealthWatcher(this.agentName, (event) => {
789
+ if (event.type === "auth-health-degraded") {
790
+ console.warn(`[AUTH] ${event.message}`);
791
+ console.warn("[AUTH] Run: agentmesh auth doctor --repair");
792
+ }
793
+ else if (event.type === "auth-health-repaired") {
794
+ console.log(`[AUTH] ${event.message}`);
795
+ }
796
+ // auth-health-ok is silent to avoid log noise
797
+ });
798
+ }
720
799
  const logDir = path.join(os.homedir(), ".agentmesh", "logs");
721
800
  if (!fs.existsSync(logDir)) {
722
801
  fs.mkdirSync(logDir, { recursive: true });
@@ -745,7 +824,6 @@ Nudge agent:
745
824
  if (this.stuckSince) {
746
825
  // Clear any prior stuck tracking since the agent signalled a legitimate wait
747
826
  this.stuckSince = null;
748
- this.nudgeSentAt = null;
749
827
  updateAgentInState(this.agentName, { stuckSince: undefined, status: "waiting" });
750
828
  }
751
829
  console.log(`[HEALTH] Agent is waiting for human input: ${progress.details}`);
@@ -758,7 +836,6 @@ Nudge agent:
758
836
  if (this.stuckSince) {
759
837
  console.log(`[HEALTH] Agent resumed activity`);
760
838
  this.stuckSince = null;
761
- this.nudgeSentAt = null;
762
839
  updateAgentInState(this.agentName, { stuckSince: undefined, status: "running" });
763
840
  }
764
841
  }
@@ -840,6 +917,7 @@ Nudge agent:
840
917
  workdir: this.agentConfig.workdir,
841
918
  runnerEnv: this.runnerConfig.env,
842
919
  shouldRestoreContext: false,
920
+ autonomous: this.autonomous,
843
921
  });
844
922
  this._preStartSessionId = sessionStart.preStartSessionId;
845
923
  this._attemptedResumeSessionId = sessionStart.attemptedResumeSessionId;
@@ -855,9 +933,23 @@ Nudge agent:
855
933
  return false;
856
934
  }
857
935
  if (this.token) {
936
+ // Re-evaluate done-state guard on session recovery (Epic #497)
937
+ const recoveryDecision = await this.evaluateDoneStateGuard();
938
+ console.log(`[RECOVERY] ${formatRestartLifecycleLog(recoveryDecision)}`);
939
+ updateAgentInState(this.agentName, {
940
+ lastRestartState: recoveryDecision.state,
941
+ lastRestartReason: recoveryDecision.reason,
942
+ lastRestartDecisionAt: new Date().toISOString(),
943
+ });
858
944
  const inboxItems = await checkInbox(this.config.hubUrl, this.config.workspace, this.token);
859
- const remainingItems = await this.autoAcceptPendingHandoffs(inboxItems);
860
- injectStartupMessage(this.agentName, remainingItems.length, remainingItems);
945
+ if (recoveryDecision.state === "idle" || recoveryDecision.state === "blocked") {
946
+ console.log(`[RECOVERY] Prior work done — coming up ${recoveryDecision.state}, not auto-resuming.`);
947
+ injectStartupMessage(this.agentName, inboxItems.length, inboxItems);
948
+ }
949
+ else {
950
+ const remainingItems = await this.autoAcceptPendingHandoffs(inboxItems);
951
+ injectStartupMessage(this.agentName, remainingItems.length, remainingItems);
952
+ }
861
953
  }
862
954
  return true;
863
955
  }
@@ -880,34 +972,15 @@ Nudge agent:
880
972
  status: "stuck",
881
973
  });
882
974
  }
883
- // Nudge worker agents don't escalate to restart
975
+ // Worker agents: log the stuck state but do not auto-nudge.
976
+ // Auto-nudging interrupts agents mid-task and causes more harm than good.
977
+ // Operators can nudge manually via CLI or the hub API if needed.
884
978
  if (this.isWorkerAgent) {
885
- // If we haven't sent a nudge yet, send one
886
- if (!this.nudgeSentAt) {
887
- console.log(`[HEALTH] Sending nudge to worker agent...`);
888
- const nudgeMessage = getNudgeMessage(progress);
889
- const sent = sendNudge(this.agentName, nudgeMessage);
890
- if (sent) {
891
- this.nudgeSentAt = now;
892
- console.log(`[HEALTH] Nudge sent successfully`);
893
- }
894
- else {
895
- console.log(`[HEALTH] Failed to send nudge`);
896
- }
897
- return;
898
- }
899
- // Check if enough time has passed since nudge
900
- if (isWithinNudgeWaitWindow(this.nudgeSentAt, NUDGE_WAIT_MS, now)) {
901
- // Still waiting for agent to respond to nudge
902
- return;
903
- }
904
- // Nudge grace period expired — log warning but do NOT restart
905
- console.log(`[HEALTH] Agent still stuck after nudge. Manual intervention required.`);
979
+ console.log(`[HEALTH] Worker agent stuck manual intervention required if needed.`);
906
980
  updateAgentInState(this.agentName, {
907
981
  status: "waiting",
908
982
  });
909
983
  void this.releaseAllAutoClaims("worker waiting for human intervention");
910
- sendNudge(this.agentName, "[AgentMesh] Worker still blocked after nudge. Please request human intervention or resume once approvals are available.");
911
984
  }
912
985
  }
913
986
  async stop() {
@@ -923,6 +996,11 @@ Nudge agent:
923
996
  this.stopCleanupScheduler();
924
997
  this.stopCleanupScheduler = null;
925
998
  }
999
+ // Stop auth health watcher
1000
+ if (this.authHealthWatcher) {
1001
+ this.authHealthWatcher.stop();
1002
+ this.authHealthWatcher = null;
1003
+ }
926
1004
  // Save context before stopping
927
1005
  if (this.agentId) {
928
1006
  console.log("Saving agent context...");
@@ -1254,6 +1332,46 @@ Logs: docker logs ${containerName}
1254
1332
  console.warn(`Could not auto-assign to project: ${error.message}`);
1255
1333
  }
1256
1334
  }
1335
+ // ---------------------------------------------------------------------------
1336
+ // Done-state guard (Epic #497)
1337
+ // ---------------------------------------------------------------------------
1338
+ /**
1339
+ * Evaluates whether this restart should resume in-flight work or come up idle.
1340
+ *
1341
+ * Pulls claims, inbox, and recent handoff history from HQ, then delegates to
1342
+ * the pure `evaluateRestartState` function for the actual decision.
1343
+ *
1344
+ * Failures are non-fatal — defaults to `idle` so we fail safe.
1345
+ */
1346
+ async evaluateDoneStateGuard() {
1347
+ const safeIdle = (reason) => ({
1348
+ state: "idle",
1349
+ reason,
1350
+ });
1351
+ if (!this.token || !this.agentId) {
1352
+ return safeIdle("no token or agentId — cannot evaluate done-state");
1353
+ }
1354
+ try {
1355
+ const [claimsRaw, inboxRaw, handoffsRaw] = await Promise.all([
1356
+ listClaims(this.config.hubUrl, this.config.workspace, this.token).catch(() => []),
1357
+ checkInbox(this.config.hubUrl, this.config.workspace, this.token).catch(() => []),
1358
+ fetchHandoffsForAgent(this.config.hubUrl, this.config.workspace, this.token, this.agentId).catch(() => []),
1359
+ ]);
1360
+ const activeClaims = filterActiveClaimsForAgent(claimsRaw, this.agentId);
1361
+ const completedHandoffs = filterCompletedHandoffsForAgent(handoffsRaw, this.agentId);
1362
+ return evaluateRestartState({
1363
+ activeClaims,
1364
+ inboxItems: inboxRaw,
1365
+ completedHandoffs,
1366
+ automationPaused: this.isAutomationPaused(),
1367
+ });
1368
+ }
1369
+ catch (error) {
1370
+ // Fail safe to idle — do not speculatively resume on error
1371
+ console.warn(`[RESTART] Done-state guard error (defaulting to idle): ${error.message}`);
1372
+ return safeIdle(`guard evaluation failed: ${error.message}`);
1373
+ }
1374
+ }
1257
1375
  /**
1258
1376
  * Fetches assignments from HQ and validates workdir setup
1259
1377
  * Uses project.workdir from HQ as source of truth, falls back to helpful instructions
@@ -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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"}
@@ -7,7 +7,7 @@ export interface RegisterOptions {
7
7
  model: string;
8
8
  capabilities?: string[];
9
9
  restoreContext?: boolean;
10
- agentType?: "worker" | "system";
10
+ agentType?: "worker" | "system" | "autonomous";
11
11
  }
12
12
  export type ServerContext = Record<string, Record<string, unknown>>;
13
13
  export interface RegisterResult {
@@ -201,3 +201,11 @@ export declare function createSelfAssignment(url: string, token: string, params:
201
201
  * Fetch the agent's project assignments from HQ
202
202
  */
203
203
  export declare function fetchAssignments(url: string, token: string): Promise<ProjectAssignment[]>;
204
+ /**
205
+ * Fetch recent handoffs addressed TO a specific agent from the hub.
206
+ * Used by the done-state guard at restart time to detect whether prior work
207
+ * has already been completed/rejected.
208
+ *
209
+ * Falls back to empty array on any network/auth error so startup is non-blocking.
210
+ */
211
+ export declare function fetchHandoffsForAgent(url: string, workspace: string, token: string, agentId: string, limit?: number): Promise<HandoffRecord[]>;