crewly 1.20.355 → 1.20.356

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 (177) hide show
  1. package/config/roles/team-leader/prompt.md +1 -1
  2. package/config/roles/team-leader/tl-addon.md +1 -1
  3. package/config/skills/team-leader/delegate-task/SKILL.md +23 -1
  4. package/config/skills/team-leader/delegate-task/execute.sh +44 -1
  5. package/config/skills/team-leader/delegate-task/execute.test.sh +95 -1
  6. package/dist/backend/backend/src/constants.d.ts +65 -0
  7. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  8. package/dist/backend/backend/src/constants.js +65 -0
  9. package/dist/backend/backend/src/constants.js.map +1 -1
  10. package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.controller.d.ts.map +1 -1
  11. package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.controller.js +10 -0
  12. package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.controller.js.map +1 -1
  13. package/dist/backend/backend/src/controllers/orchestrator/orchestrator.controller.d.ts.map +1 -1
  14. package/dist/backend/backend/src/controllers/orchestrator/orchestrator.controller.js +7 -0
  15. package/dist/backend/backend/src/controllers/orchestrator/orchestrator.controller.js.map +1 -1
  16. package/dist/backend/backend/src/controllers/team/team.controller.d.ts.map +1 -1
  17. package/dist/backend/backend/src/controllers/team/team.controller.js +5 -0
  18. package/dist/backend/backend/src/controllers/team/team.controller.js.map +1 -1
  19. package/dist/backend/backend/src/index.d.ts +15 -0
  20. package/dist/backend/backend/src/index.d.ts.map +1 -1
  21. package/dist/backend/backend/src/index.js +68 -11
  22. package/dist/backend/backend/src/index.js.map +1 -1
  23. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +11 -0
  24. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  25. package/dist/backend/backend/src/services/agent/agent-registration.service.js +73 -1
  26. package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
  27. package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.d.ts +9 -1
  28. package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.d.ts.map +1 -1
  29. package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.js +60 -4
  30. package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.js.map +1 -1
  31. package/dist/backend/backend/src/services/agent/resource-mode-protection.d.ts +22 -0
  32. package/dist/backend/backend/src/services/agent/resource-mode-protection.d.ts.map +1 -1
  33. package/dist/backend/backend/src/services/agent/resource-mode-protection.js +33 -0
  34. package/dist/backend/backend/src/services/agent/resource-mode-protection.js.map +1 -1
  35. package/dist/backend/backend/src/services/agent/resource-mode.service.d.ts +50 -3
  36. package/dist/backend/backend/src/services/agent/resource-mode.service.d.ts.map +1 -1
  37. package/dist/backend/backend/src/services/agent/resource-mode.service.js +92 -10
  38. package/dist/backend/backend/src/services/agent/resource-mode.service.js.map +1 -1
  39. package/dist/backend/backend/src/services/harness/harness-relogin.service.d.ts +23 -0
  40. package/dist/backend/backend/src/services/harness/harness-relogin.service.d.ts.map +1 -1
  41. package/dist/backend/backend/src/services/harness/harness-relogin.service.js +47 -6
  42. package/dist/backend/backend/src/services/harness/harness-relogin.service.js.map +1 -1
  43. package/dist/backend/backend/src/services/messaging/deferred-start-retry.d.ts +14 -2
  44. package/dist/backend/backend/src/services/messaging/deferred-start-retry.d.ts.map +1 -1
  45. package/dist/backend/backend/src/services/messaging/deferred-start-retry.js +21 -4
  46. package/dist/backend/backend/src/services/messaging/deferred-start-retry.js.map +1 -1
  47. package/dist/backend/backend/src/services/messaging/queue-processor.service.d.ts.map +1 -1
  48. package/dist/backend/backend/src/services/messaging/queue-processor.service.js +10 -1
  49. package/dist/backend/backend/src/services/messaging/queue-processor.service.js.map +1 -1
  50. package/dist/backend/backend/src/services/open-items/open-items.service.d.ts +8 -0
  51. package/dist/backend/backend/src/services/open-items/open-items.service.d.ts.map +1 -1
  52. package/dist/backend/backend/src/services/open-items/open-items.service.js +33 -0
  53. package/dist/backend/backend/src/services/open-items/open-items.service.js.map +1 -1
  54. package/dist/backend/backend/src/services/open-items/open-items.wiring.js +2 -2
  55. package/dist/backend/backend/src/services/open-items/open-items.wiring.js.map +1 -1
  56. package/dist/backend/backend/src/services/open-items/question-card-gate.d.ts +49 -0
  57. package/dist/backend/backend/src/services/open-items/question-card-gate.d.ts.map +1 -0
  58. package/dist/backend/backend/src/services/open-items/question-card-gate.js +77 -0
  59. package/dist/backend/backend/src/services/open-items/question-card-gate.js.map +1 -0
  60. package/dist/backend/backend/src/services/orchestrator/orchestrator-heartbeat-monitor.service.d.ts.map +1 -1
  61. package/dist/backend/backend/src/services/orchestrator/orchestrator-heartbeat-monitor.service.js +10 -0
  62. package/dist/backend/backend/src/services/orchestrator/orchestrator-heartbeat-monitor.service.js.map +1 -1
  63. package/dist/backend/backend/src/services/orchestrator/orchestrator-restart.service.d.ts +2 -0
  64. package/dist/backend/backend/src/services/orchestrator/orchestrator-restart.service.d.ts.map +1 -1
  65. package/dist/backend/backend/src/services/orchestrator/orchestrator-restart.service.js +17 -0
  66. package/dist/backend/backend/src/services/orchestrator/orchestrator-restart.service.js.map +1 -1
  67. package/dist/backend/backend/src/services/orchestrator/orchestrator-status.service.d.ts +7 -0
  68. package/dist/backend/backend/src/services/orchestrator/orchestrator-status.service.d.ts.map +1 -1
  69. package/dist/backend/backend/src/services/orchestrator/orchestrator-status.service.js +22 -10
  70. package/dist/backend/backend/src/services/orchestrator/orchestrator-status.service.js.map +1 -1
  71. package/dist/backend/backend/src/services/runtime-fallback/effective-runtime.d.ts +16 -0
  72. package/dist/backend/backend/src/services/runtime-fallback/effective-runtime.d.ts.map +1 -1
  73. package/dist/backend/backend/src/services/runtime-fallback/effective-runtime.js +23 -0
  74. package/dist/backend/backend/src/services/runtime-fallback/effective-runtime.js.map +1 -1
  75. package/dist/backend/backend/src/services/runtime-fallback/reset-time.d.ts +2 -1
  76. package/dist/backend/backend/src/services/runtime-fallback/reset-time.d.ts.map +1 -1
  77. package/dist/backend/backend/src/services/runtime-fallback/reset-time.js +3 -2
  78. package/dist/backend/backend/src/services/runtime-fallback/reset-time.js.map +1 -1
  79. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.service.d.ts +101 -5
  80. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.service.d.ts.map +1 -1
  81. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.service.js +247 -19
  82. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.service.js.map +1 -1
  83. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.wiring.d.ts.map +1 -1
  84. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.wiring.js +10 -2
  85. package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.wiring.js.map +1 -1
  86. package/dist/backend/backend/src/services/runtime-fallback/usage-limit-rules.d.ts +78 -0
  87. package/dist/backend/backend/src/services/runtime-fallback/usage-limit-rules.d.ts.map +1 -1
  88. package/dist/backend/backend/src/services/runtime-fallback/usage-limit-rules.js +159 -1
  89. package/dist/backend/backend/src/services/runtime-fallback/usage-limit-rules.js.map +1 -1
  90. package/dist/backend/backend/src/services/runtime-fallback/usage-limit-screen.d.ts +63 -0
  91. package/dist/backend/backend/src/services/runtime-fallback/usage-limit-screen.d.ts.map +1 -0
  92. package/dist/backend/backend/src/services/runtime-fallback/usage-limit-screen.js +104 -0
  93. package/dist/backend/backend/src/services/runtime-fallback/usage-limit-screen.js.map +1 -0
  94. package/dist/backend/backend/src/services/runtime-fallback/usage-limit-state.d.ts +166 -0
  95. package/dist/backend/backend/src/services/runtime-fallback/usage-limit-state.d.ts.map +1 -0
  96. package/dist/backend/backend/src/services/runtime-fallback/usage-limit-state.js +207 -0
  97. package/dist/backend/backend/src/services/runtime-fallback/usage-limit-state.js.map +1 -0
  98. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts.map +1 -1
  99. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js +13 -0
  100. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js.map +1 -1
  101. package/dist/backend/backend/src/services/workflow/scheduler.service.d.ts +22 -0
  102. package/dist/backend/backend/src/services/workflow/scheduler.service.d.ts.map +1 -1
  103. package/dist/backend/backend/src/services/workflow/scheduler.service.js +35 -1
  104. package/dist/backend/backend/src/services/workflow/scheduler.service.js.map +1 -1
  105. package/dist/backend/backend/src/types/index.d.ts +12 -0
  106. package/dist/backend/backend/src/types/index.d.ts.map +1 -1
  107. package/dist/backend/backend/src/types/index.js.map +1 -1
  108. package/dist/backend/backend/src/types/team-template.types.d.ts +1 -0
  109. package/dist/backend/backend/src/types/team-template.types.d.ts.map +1 -1
  110. package/dist/backend/backend/src/types/team-template.types.js.map +1 -1
  111. package/dist/backend/build-info.json +2 -2
  112. package/dist/cli/backend/src/constants.d.ts +65 -0
  113. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  114. package/dist/cli/backend/src/constants.js +65 -0
  115. package/dist/cli/backend/src/constants.js.map +1 -1
  116. package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts +11 -0
  117. package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  118. package/dist/cli/backend/src/services/agent/agent-registration.service.js +73 -1
  119. package/dist/cli/backend/src/services/agent/agent-registration.service.js.map +1 -1
  120. package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.d.ts +9 -1
  121. package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.d.ts.map +1 -1
  122. package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.js +60 -4
  123. package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.js.map +1 -1
  124. package/dist/cli/backend/src/services/agent/resource-mode.service.d.ts +50 -3
  125. package/dist/cli/backend/src/services/agent/resource-mode.service.d.ts.map +1 -1
  126. package/dist/cli/backend/src/services/agent/resource-mode.service.js +92 -10
  127. package/dist/cli/backend/src/services/agent/resource-mode.service.js.map +1 -1
  128. package/dist/cli/backend/src/services/harness/harness-relogin.service.d.ts +23 -0
  129. package/dist/cli/backend/src/services/harness/harness-relogin.service.d.ts.map +1 -1
  130. package/dist/cli/backend/src/services/harness/harness-relogin.service.js +47 -6
  131. package/dist/cli/backend/src/services/harness/harness-relogin.service.js.map +1 -1
  132. package/dist/cli/backend/src/services/messaging/queue-processor.service.d.ts.map +1 -1
  133. package/dist/cli/backend/src/services/messaging/queue-processor.service.js +10 -1
  134. package/dist/cli/backend/src/services/messaging/queue-processor.service.js.map +1 -1
  135. package/dist/cli/backend/src/services/open-items/open-items.service.d.ts +8 -0
  136. package/dist/cli/backend/src/services/open-items/open-items.service.d.ts.map +1 -1
  137. package/dist/cli/backend/src/services/open-items/open-items.service.js +33 -0
  138. package/dist/cli/backend/src/services/open-items/open-items.service.js.map +1 -1
  139. package/dist/cli/backend/src/services/open-items/question-card-gate.d.ts +49 -0
  140. package/dist/cli/backend/src/services/open-items/question-card-gate.d.ts.map +1 -0
  141. package/dist/cli/backend/src/services/open-items/question-card-gate.js +77 -0
  142. package/dist/cli/backend/src/services/open-items/question-card-gate.js.map +1 -0
  143. package/dist/cli/backend/src/services/orchestrator/orchestrator-restart.service.d.ts +2 -0
  144. package/dist/cli/backend/src/services/orchestrator/orchestrator-restart.service.d.ts.map +1 -1
  145. package/dist/cli/backend/src/services/orchestrator/orchestrator-restart.service.js +17 -0
  146. package/dist/cli/backend/src/services/orchestrator/orchestrator-restart.service.js.map +1 -1
  147. package/dist/cli/backend/src/services/orchestrator/orchestrator-status.service.d.ts +7 -0
  148. package/dist/cli/backend/src/services/orchestrator/orchestrator-status.service.d.ts.map +1 -1
  149. package/dist/cli/backend/src/services/orchestrator/orchestrator-status.service.js +22 -10
  150. package/dist/cli/backend/src/services/orchestrator/orchestrator-status.service.js.map +1 -1
  151. package/dist/cli/backend/src/services/runtime-fallback/effective-runtime.d.ts +16 -0
  152. package/dist/cli/backend/src/services/runtime-fallback/effective-runtime.d.ts.map +1 -1
  153. package/dist/cli/backend/src/services/runtime-fallback/effective-runtime.js +23 -0
  154. package/dist/cli/backend/src/services/runtime-fallback/effective-runtime.js.map +1 -1
  155. package/dist/cli/backend/src/services/runtime-fallback/reset-time.d.ts +2 -1
  156. package/dist/cli/backend/src/services/runtime-fallback/reset-time.d.ts.map +1 -1
  157. package/dist/cli/backend/src/services/runtime-fallback/reset-time.js +3 -2
  158. package/dist/cli/backend/src/services/runtime-fallback/reset-time.js.map +1 -1
  159. package/dist/cli/backend/src/services/runtime-fallback/usage-limit-rules.d.ts +78 -0
  160. package/dist/cli/backend/src/services/runtime-fallback/usage-limit-rules.d.ts.map +1 -1
  161. package/dist/cli/backend/src/services/runtime-fallback/usage-limit-rules.js +159 -1
  162. package/dist/cli/backend/src/services/runtime-fallback/usage-limit-rules.js.map +1 -1
  163. package/dist/cli/backend/src/services/runtime-fallback/usage-limit-screen.d.ts +63 -0
  164. package/dist/cli/backend/src/services/runtime-fallback/usage-limit-screen.d.ts.map +1 -0
  165. package/dist/cli/backend/src/services/runtime-fallback/usage-limit-screen.js +104 -0
  166. package/dist/cli/backend/src/services/runtime-fallback/usage-limit-screen.js.map +1 -0
  167. package/dist/cli/backend/src/services/runtime-fallback/usage-limit-state.d.ts +166 -0
  168. package/dist/cli/backend/src/services/runtime-fallback/usage-limit-state.d.ts.map +1 -0
  169. package/dist/cli/backend/src/services/runtime-fallback/usage-limit-state.js +207 -0
  170. package/dist/cli/backend/src/services/runtime-fallback/usage-limit-state.js.map +1 -0
  171. package/dist/cli/backend/src/types/index.d.ts +12 -0
  172. package/dist/cli/backend/src/types/index.d.ts.map +1 -1
  173. package/dist/cli/backend/src/types/index.js.map +1 -1
  174. package/dist/cli/backend/src/types/team-template.types.d.ts +1 -0
  175. package/dist/cli/backend/src/types/team-template.types.d.ts.map +1 -1
  176. package/dist/cli/backend/src/types/team-template.types.js.map +1 -1
  177. package/package.json +1 -1
@@ -30,6 +30,20 @@ export const RESOURCE_MODE_CONSTANTS = {
30
30
  * blocked forever.
31
31
  */
32
32
  RELAX_AFTER_MS: 3 * 60_000,
33
+ /**
34
+ * An agent started less than this long ago is never stopped to free a slot
35
+ * (except at critical memory). Starting an agent and stopping it minutes
36
+ * later wastes the whole start and releases its work back to the pool
37
+ * (2026-10-16: Luna stopped 8 times in 2 h, some after 0-3 min idle).
38
+ */
39
+ MIN_RUN_BEFORE_EVICT_MS: 10 * 60_000,
40
+ /**
41
+ * Hysteresis: for this long after A was stopped to start B, A's own start
42
+ * may not stop B (2026-10-16: Luna and Max evicted each other back and forth).
43
+ * Longer than MIN_RUN_BEFORE_EVICT_MS so it still holds once B's own start
44
+ * protection has run out.
45
+ */
46
+ DISPLACED_GUARD_MS: 30 * 60_000,
33
47
  /** A wait record older than this since its last touch is a new wait */
34
48
  WAIT_RECORD_TTL_MS: 10 * 60_000,
35
49
  /** A started agent counts against the cap even before it shows as running */
@@ -76,6 +90,10 @@ export class ResourceModeService {
76
90
  /** Agents seen busy by a pump (their idle time starts at that sighting at the earliest) */
77
91
  lastSeenBusy = new Map();
78
92
  lastCap = RESOURCE_MODE_CONSTANTS.DEFAULT_MAX_RUNNING_AGENTS;
93
+ /** When each agent's start was last allowed (it counts as freshly started for MIN_RUN_BEFORE_EVICT_MS) */
94
+ startedAt = new Map();
95
+ /** Who displaced each agent stopped for a slot, and when (hysteresis, DISPLACED_GUARD_MS) */
96
+ displacedBy = new Map();
79
97
  /** Readings, overridable in tests. */
80
98
  memoryStats = getMemoryStats;
81
99
  loadAvg = () => os.loadavg()[1];
@@ -228,8 +246,10 @@ export class ResourceModeService {
228
246
  * @returns True when the start may proceed
229
247
  */
230
248
  async requestStart(sessionName, ownerTriggered) {
231
- if (this.mode !== 'pressure' || !this.deps)
249
+ if (this.mode !== 'pressure' || !this.deps) {
250
+ this.startedAt.set(sessionName, Date.now());
232
251
  return true;
252
+ }
233
253
  // One place in line per agent (CREW-304): a second request for an agent
234
254
  // already waiting joins that wait instead of queuing it twice. An owner
235
255
  // message moves the existing place to the front.
@@ -292,6 +312,12 @@ export class ResourceModeService {
292
312
  for (const [n, at] of this.admitted)
293
313
  if (now - at > RESOURCE_MODE_CONSTANTS.ADMIT_TTL_MS)
294
314
  this.admitted.delete(n);
315
+ for (const [n, at] of this.startedAt)
316
+ if (now - at >= RESOURCE_MODE_CONSTANTS.MIN_RUN_BEFORE_EVICT_MS)
317
+ this.startedAt.delete(n);
318
+ for (const [n, d] of this.displacedBy)
319
+ if (now - d.at >= RESOURCE_MODE_CONSTANTS.DISPLACED_GUARD_MS)
320
+ this.displacedBy.delete(n);
295
321
  const { maxRunning, idleTimeoutMinutes } = await this.deps.limits();
296
322
  this.lastCap = maxRunning;
297
323
  const running = this.withHonestIdle(await this.deps.listRunning(), now);
@@ -308,7 +334,9 @@ export class ResourceModeService {
308
334
  }
309
335
  while (this.waiters.length > 0) {
310
336
  if (this.mode !== 'pressure') {
311
- this.release(this.waiters.shift());
337
+ const w = this.waiters.shift();
338
+ this.startedAt.set(w.name, Date.now());
339
+ this.release(w);
312
340
  continue;
313
341
  }
314
342
  if (count >= maxRunning) {
@@ -317,7 +345,7 @@ export class ResourceModeService {
317
345
  if (rec)
318
346
  rec.touched = now;
319
347
  const waitedMs = rec ? now - rec.since : 0;
320
- const { victim, skipped, relaxedBecause } = await this.pickVictim(pool, idleTimeoutMinutes, waitedMs >= RESOURCE_MODE_CONSTANTS.RELAX_AFTER_MS, head.owner);
348
+ const { victim, skipped, relaxedBecause } = await this.pickVictim(pool, idleTimeoutMinutes, waitedMs >= RESOURCE_MODE_CONSTANTS.RELAX_AFTER_MS, head.owner, head.name, now);
321
349
  if (victim && relaxedBecause !== undefined) {
322
350
  this.logger.warn('A start has waited too long for a slot; relaxing the eviction rules', {
323
351
  waiter: head.name,
@@ -342,6 +370,8 @@ export class ResourceModeService {
342
370
  }
343
371
  pool = pool.filter((r) => r !== victim);
344
372
  count--;
373
+ this.displacedBy.set(victim.sessionName, { by: head.name, at: Date.now() });
374
+ this.startedAt.delete(victim.sessionName);
345
375
  try {
346
376
  this.deps.onStoppedForSlot?.(victim.sessionName);
347
377
  }
@@ -349,6 +379,7 @@ export class ResourceModeService {
349
379
  }
350
380
  const w = this.waiters.shift();
351
381
  this.admitted.set(w.name, Date.now());
382
+ this.startedAt.set(w.name, Date.now());
352
383
  count++;
353
384
  this.release(w);
354
385
  }
@@ -367,18 +398,32 @@ export class ResourceModeService {
367
398
  * Longest-idle agent that may be stopped for a slot. Never one that is
368
399
  * busy, waiting for a start itself, always-on, holding an owner message,
369
400
  * Drive-warm, idle for less than the pressure idle timeout, or protected
370
- * by {@link ResourceModeDeps.protectedReason} (pending work, an open
371
- * ticket, an open delegation). An agent that owes the owner is never picked
372
- * unless memory is critical.
401
+ * by {@link ResourceModeDeps.protectedReason} (queued messages, pending
402
+ * work, an open ticket, an open delegation). An agent that owes the owner
403
+ * is never picked unless memory is critical.
404
+ *
405
+ * Anti-thrash rules (2026-10-16, Luna and Max evicting each other), which
406
+ * hold in every mode, relaxed included, unless memory is critical:
407
+ * - an agent started less than MIN_RUN_BEFORE_EVICT_MS ago is kept,
408
+ * - an agent whose work the waiter waits on ({@link ResourceModeDeps.waitsOn}) is kept,
409
+ * - an agent that displaced the waiter less than DISPLACED_GUARD_MS ago is kept (hysteresis).
410
+ * An owner-message waiter skips the first and last rule (owner messages are
411
+ * rare, so they cannot thrash, and the owner must never wait); it keeps only
412
+ * the waits-on rule and the protections above.
413
+ * Relaxing only lifts the idle timeout; protected agents are never stopped.
414
+ * When no agent qualifies, the waiter waits.
373
415
  *
374
416
  * @param running - Running agents
375
417
  * @param idleTimeoutMinutes - Pressure idle timeout; a younger idle is never stopped
376
418
  * @param relax - The first waiter has waited past RELAX_AFTER_MS: when no agent passes the rules, stop the best one anyway
377
419
  * @param ownerWaiter - The first waiter carries an owner message: the idle timeout does not protect an agent (the longest-idle one goes at once); busy, owner-message, Drive-warm and pending-work/ticket/delegation protections still apply
420
+ * @param waiterName - The first waiter (for the waits-on and hysteresis rules)
421
+ * @param now - Epoch ms of this pump
378
422
  * @returns The victim (if any), why each skipped agent was kept, and, when the rules were relaxed, why the victim had been kept
379
423
  */
380
- async pickVictim(running, idleTimeoutMinutes, relax = false, ownerWaiter = false) {
424
+ async pickVictim(running, idleTimeoutMinutes, relax = false, ownerWaiter = false, waiterName = '', now = Date.now()) {
381
425
  const waiting = new Set(this.waiters.map((w) => w.name));
426
+ const critical = this.memoryCritical();
382
427
  const minIdleMs = ownerWaiter ? 0 : Math.max(0, idleTimeoutMinutes) * 60_000;
383
428
  const skipped = [];
384
429
  const ordered = running
@@ -393,6 +438,11 @@ export class ResourceModeService {
393
438
  const keptBecause = new Map();
394
439
  const unprotected = [];
395
440
  for (const r of ordered) {
441
+ const thrash = critical ? null : await this.thrashReason(r.sessionName, waiterName, now, ownerWaiter);
442
+ if (thrash) {
443
+ skipped.push(`${r.sessionName}: ${thrash}`);
444
+ continue;
445
+ }
396
446
  let why;
397
447
  try {
398
448
  why = await this.deps.protectedReason?.(r.sessionName);
@@ -411,7 +461,6 @@ export class ResourceModeService {
411
461
  }
412
462
  candidates.push(r);
413
463
  }
414
- const critical = this.memoryCritical();
415
464
  const owes = (r) => {
416
465
  try {
417
466
  return this.deps.owesOwnerThread?.(r.sessionName) === true;
@@ -434,10 +483,43 @@ export class ResourceModeService {
434
483
  const victim = choose(candidates);
435
484
  if (victim || !relax)
436
485
  return { victim, skipped };
437
- // Relaxed: agents kept only by the idle timeout first, then the rest; longest idle within each.
438
- const fallback = choose(unprotected) ?? choose(ordered);
486
+ // Relaxed: only agents kept by nothing but the idle timeout; longest idle
487
+ // first. A protected agent (queued messages, work in hand, an open
488
+ // ticket or delegation) is never stopped: the waiter waits instead.
489
+ const fallback = choose(unprotected);
439
490
  return fallback ? { victim: fallback, skipped, relaxedBecause: keptBecause.get(fallback) ?? '' } : { skipped };
440
491
  }
492
+ /**
493
+ * Why stopping this agent for the waiter would thrash, or null when it would not.
494
+ *
495
+ * @param candidate - Running agent considered as a victim
496
+ * @param waiter - First waiting start
497
+ * @param now - Epoch ms of this pump
498
+ * @param ownerWaiter - The waiter carries an owner message: the start window and the hysteresis do not apply (waits-on still does)
499
+ * @returns English reason, or null
500
+ */
501
+ async thrashReason(candidate, waiter, now, ownerWaiter = false) {
502
+ const started = this.startedAt.get(candidate);
503
+ if (!ownerWaiter && started !== undefined && now - started < RESOURCE_MODE_CONSTANTS.MIN_RUN_BEFORE_EVICT_MS) {
504
+ return `started ${Math.round((now - started) / 60000)} min ago, under the ${RESOURCE_MODE_CONSTANTS.MIN_RUN_BEFORE_EVICT_MS / 60000} min protection window`;
505
+ }
506
+ const displaced = this.displacedBy.get(waiter);
507
+ if (!ownerWaiter && displaced && displaced.by === candidate && now - displaced.at < RESOURCE_MODE_CONSTANTS.DISPLACED_GUARD_MS) {
508
+ return `it displaced ${waiter} ${Math.round((now - displaced.at) / 60000)} min ago (no ping-pong)`;
509
+ }
510
+ if (waiter && this.deps?.waitsOn) {
511
+ let dependsOn = false;
512
+ try {
513
+ dependsOn = await this.deps.waitsOn(waiter, candidate);
514
+ }
515
+ catch {
516
+ dependsOn = false;
517
+ }
518
+ if (dependsOn)
519
+ return `${waiter} is waiting on its work`;
520
+ }
521
+ return null;
522
+ }
441
523
  /** Log why a waiting start got no slot (at most once a minute per agent). */
442
524
  logNoSlot(waiter, running, cap, idleTimeoutMinutes, skipped) {
443
525
  const now = Date.now();
@@ -1 +1 @@
1
- {"version":3,"file":"resource-mode.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/resource-mode.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource-mode.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/resource-mode.service.ts"],"names":[],"mappings":"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"}
@@ -195,6 +195,14 @@ export interface HarnessReloginDeps {
195
195
  onLoginRestored?: (harnessId: HarnessId, resumed: readonly string[]) => Promise<number> | number;
196
196
  /** After one of the owner's other Claude Code accounts was signed in (the runtime fallback) */
197
197
  onAccountLogin?: (account: string) => Promise<void> | void;
198
+ /** After a harness's default login was signed in again (the runtime fallback re-checks its usage mark) */
199
+ onHarnessLogin?: (harnessId: HarnessId) => Promise<void> | void;
200
+ /**
201
+ * The owner's other Claude Code account an agent session runs on right now
202
+ * (the runtime fallback moved it there), or null for the default login.
203
+ * Default: the runtime fallback's {@link effectiveClaudeAccount}.
204
+ */
205
+ accountOfSession?: (sessionName: string) => string | null;
198
206
  /** The owner's existing other Claude Code accounts (default: claude-accounts.ts) */
199
207
  listClaudeAccounts?: () => string[];
200
208
  /** This machine's name, for the owner ("iriss-air.lan") */
@@ -404,6 +412,8 @@ export declare class HarnessReloginService {
404
412
  private sessionNeedsLogin;
405
413
  private onLoginRestored;
406
414
  private onAccountLogin;
415
+ private onHarnessLogin;
416
+ private readonly accountOfSession;
407
417
  private readonly listClaudeAccounts;
408
418
  private readonly machineName;
409
419
  private readonly state;
@@ -460,6 +470,12 @@ export declare class HarnessReloginService {
460
470
  * @param handler - Handler (the runtime fallback), or null
461
471
  */
462
472
  setAccountLoginHandler(handler: HarnessReloginDeps['onAccountLogin'] | null): void;
473
+ /**
474
+ * Set what learns that a harness's default login was signed in again.
475
+ *
476
+ * @param handler - Handler (the runtime fallback), or null
477
+ */
478
+ setHarnessLoginHandler(handler: HarnessReloginDeps['onHarnessLogin'] | null): void;
463
479
  /**
464
480
  * Set how the configured agents (running or not) are listed.
465
481
  *
@@ -500,6 +516,13 @@ export declare class HarnessReloginService {
500
516
  * @returns True when consumed; the caller must then NOT pass it on as a chat message
501
517
  */
502
518
  handleOwnerReply(text: string, target?: ReloginReplyTarget | null, scope?: OwnerReplyScope): boolean;
519
+ /**
520
+ * The other Claude Code account a session runs on, never throwing.
521
+ *
522
+ * @param sessionName - Agent session
523
+ * @returns Account name, or null for the default login
524
+ */
525
+ private safeAccountOf;
503
526
  /**
504
527
  * The owner's existing other Claude Code accounts (for "login claude work").
505
528
  *
@@ -1 +1 @@
1
- {"version":3,"file":"harness-relogin.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/harness/harness-relogin.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"harness-relogin.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/harness/harness-relogin.service.ts"],"names":[],"mappings":"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"}
@@ -58,6 +58,7 @@
58
58
  import * as os from 'os';
59
59
  import { HARNESS_CONSTANTS } from '../../constants.js';
60
60
  import { listClaudeAccounts } from './claude-accounts.js';
61
+ import { effectiveClaudeAccount } from '../runtime-fallback/effective-runtime.js';
61
62
  import { LoggerService } from '../core/logger.service.js';
62
63
  import { getHarnessCredentialsStore } from './harness-credentials.store.js';
63
64
  import { createHarnessLoginProbe } from './harness-login-probe.js';
@@ -449,6 +450,8 @@ export class HarnessReloginService {
449
450
  sessionNeedsLogin;
450
451
  onLoginRestored;
451
452
  onAccountLogin;
453
+ onHarnessLogin;
454
+ accountOfSession;
452
455
  listClaudeAccounts;
453
456
  machineName;
454
457
  state;
@@ -491,6 +494,8 @@ export class HarnessReloginService {
491
494
  this.sessionNeedsLogin = deps.sessionNeedsLogin ?? null;
492
495
  this.onLoginRestored = deps.onLoginRestored ?? null;
493
496
  this.onAccountLogin = deps.onAccountLogin ?? null;
497
+ this.onHarnessLogin = deps.onHarnessLogin ?? null;
498
+ this.accountOfSession = deps.accountOfSession ?? ((sessionName) => effectiveClaudeAccount(sessionName));
494
499
  this.listClaudeAccounts = deps.listClaudeAccounts ?? (() => listClaudeAccounts());
495
500
  this.machineName = deps.machineName ?? (() => os.hostname());
496
501
  this.state = deps.state ?? new MemoryReloginStateStore();
@@ -533,6 +538,14 @@ export class HarnessReloginService {
533
538
  setAccountLoginHandler(handler) {
534
539
  this.onAccountLogin = handler ?? null;
535
540
  }
541
+ /**
542
+ * Set what learns that a harness's default login was signed in again.
543
+ *
544
+ * @param handler - Handler (the runtime fallback), or null
545
+ */
546
+ setHarnessLoginHandler(handler) {
547
+ this.onHarnessLogin = handler ?? null;
548
+ }
536
549
  /**
537
550
  * Set how the configured agents (running or not) are listed.
538
551
  *
@@ -620,12 +633,18 @@ export class HarnessReloginService {
620
633
  return false;
621
634
  if (this.flows.size > 0 && this.consumeFlowReply(text, target))
622
635
  return true;
623
- // `login` in an agent's DM while that agent sits at a sign-in screen:
624
- // sign in its harness (the watchdog's note asks for exactly this).
625
- if (scope === 'agent' && isLoginKeyword(text) && target?.agentSession) {
626
- const harnessId = this.harnessOfSession(target.agentSession);
627
- if (harnessId && hasBrokerLogin(harnessId) && (this.isSignedOut(harnessId) || this.sessionNeedsLogin?.(target.agentSession))) {
628
- this.startOwnerLogin(harnessId, { replyTarget: target, requestedBy: 'owner_dm' });
636
+ // `login` in an agent's own bot DM (the orc's too) while that agent sits
637
+ // at a sign-in screen: sign in the login it actually runs on (the
638
+ // watchdog's note asks for exactly this). An agent the runtime fallback
639
+ // moved to another Claude Code account needs THAT account signed in, not
640
+ // the default login.
641
+ if (isLoginKeyword(text) && target?.agentSession) {
642
+ const session = target.agentSession;
643
+ const harnessId = this.harnessOfSession(session);
644
+ const account = harnessId === HARNESS_CONSTANTS.IDS.CLAUDE_CODE ? this.safeAccountOf(session) : null;
645
+ const waitsForLogin = this.sessionNeedsLogin?.(session) === true;
646
+ if (harnessId && hasBrokerLogin(harnessId) && (waitsForLogin || (!account && this.isSignedOut(harnessId)))) {
647
+ this.startOwnerLogin(harnessId, { replyTarget: target, requestedBy: 'owner_dm', ...(account ? { account } : {}) });
629
648
  return true;
630
649
  }
631
650
  }
@@ -637,6 +656,20 @@ export class HarnessReloginService {
637
656
  void this.handleOwnerLoginRequest(request, target);
638
657
  return true;
639
658
  }
659
+ /**
660
+ * The other Claude Code account a session runs on, never throwing.
661
+ *
662
+ * @param sessionName - Agent session
663
+ * @returns Account name, or null for the default login
664
+ */
665
+ safeAccountOf(sessionName) {
666
+ try {
667
+ return this.accountOfSession(sessionName);
668
+ }
669
+ catch {
670
+ return null;
671
+ }
672
+ }
640
673
  /**
641
674
  * The owner's existing other Claude Code accounts (for "login claude work").
642
675
  *
@@ -1368,6 +1401,14 @@ export class HarnessReloginService {
1368
1401
  }
1369
1402
  }
1370
1403
  this.logger.info('Re-login finished', { harnessId, resumed: result.resumed.length, failed: result.failed.length, redelivered });
1404
+ if (this.onHarnessLogin) {
1405
+ try {
1406
+ await this.onHarnessLogin(harnessId);
1407
+ }
1408
+ catch (error) {
1409
+ this.logger.warn('Harness sign-in handler failed', { harnessId, error: error instanceof Error ? error.message : String(error) });
1410
+ }
1411
+ }
1371
1412
  if (notify) {
1372
1413
  const text = flow.trigger === 'owner'
1373
1414
  ? formatOwnerSuccessDm(harnessId, result, redelivered)