crewly 1.20.354 → 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 (185) 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 +71 -0
  7. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  8. package/dist/backend/backend/src/constants.js +71 -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/session/tui-input-guard.d.ts +3 -1
  99. package/dist/backend/backend/src/services/session/tui-input-guard.d.ts.map +1 -1
  100. package/dist/backend/backend/src/services/session/tui-input-guard.js +11 -2
  101. package/dist/backend/backend/src/services/session/tui-input-guard.js.map +1 -1
  102. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts.map +1 -1
  103. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js +13 -0
  104. package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js.map +1 -1
  105. package/dist/backend/backend/src/services/workflow/scheduler.service.d.ts +22 -0
  106. package/dist/backend/backend/src/services/workflow/scheduler.service.d.ts.map +1 -1
  107. package/dist/backend/backend/src/services/workflow/scheduler.service.js +35 -1
  108. package/dist/backend/backend/src/services/workflow/scheduler.service.js.map +1 -1
  109. package/dist/backend/backend/src/types/index.d.ts +12 -0
  110. package/dist/backend/backend/src/types/index.d.ts.map +1 -1
  111. package/dist/backend/backend/src/types/index.js.map +1 -1
  112. package/dist/backend/backend/src/types/team-template.types.d.ts +1 -0
  113. package/dist/backend/backend/src/types/team-template.types.d.ts.map +1 -1
  114. package/dist/backend/backend/src/types/team-template.types.js.map +1 -1
  115. package/dist/backend/build-info.json +2 -2
  116. package/dist/cli/backend/src/constants.d.ts +71 -0
  117. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  118. package/dist/cli/backend/src/constants.js +71 -0
  119. package/dist/cli/backend/src/constants.js.map +1 -1
  120. package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts +11 -0
  121. package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  122. package/dist/cli/backend/src/services/agent/agent-registration.service.js +73 -1
  123. package/dist/cli/backend/src/services/agent/agent-registration.service.js.map +1 -1
  124. package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.d.ts +9 -1
  125. package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.d.ts.map +1 -1
  126. package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.js +60 -4
  127. package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.js.map +1 -1
  128. package/dist/cli/backend/src/services/agent/resource-mode.service.d.ts +50 -3
  129. package/dist/cli/backend/src/services/agent/resource-mode.service.d.ts.map +1 -1
  130. package/dist/cli/backend/src/services/agent/resource-mode.service.js +92 -10
  131. package/dist/cli/backend/src/services/agent/resource-mode.service.js.map +1 -1
  132. package/dist/cli/backend/src/services/harness/harness-relogin.service.d.ts +23 -0
  133. package/dist/cli/backend/src/services/harness/harness-relogin.service.d.ts.map +1 -1
  134. package/dist/cli/backend/src/services/harness/harness-relogin.service.js +47 -6
  135. package/dist/cli/backend/src/services/harness/harness-relogin.service.js.map +1 -1
  136. package/dist/cli/backend/src/services/messaging/queue-processor.service.d.ts.map +1 -1
  137. package/dist/cli/backend/src/services/messaging/queue-processor.service.js +10 -1
  138. package/dist/cli/backend/src/services/messaging/queue-processor.service.js.map +1 -1
  139. package/dist/cli/backend/src/services/open-items/open-items.service.d.ts +8 -0
  140. package/dist/cli/backend/src/services/open-items/open-items.service.d.ts.map +1 -1
  141. package/dist/cli/backend/src/services/open-items/open-items.service.js +33 -0
  142. package/dist/cli/backend/src/services/open-items/open-items.service.js.map +1 -1
  143. package/dist/cli/backend/src/services/open-items/question-card-gate.d.ts +49 -0
  144. package/dist/cli/backend/src/services/open-items/question-card-gate.d.ts.map +1 -0
  145. package/dist/cli/backend/src/services/open-items/question-card-gate.js +77 -0
  146. package/dist/cli/backend/src/services/open-items/question-card-gate.js.map +1 -0
  147. package/dist/cli/backend/src/services/orchestrator/orchestrator-restart.service.d.ts +2 -0
  148. package/dist/cli/backend/src/services/orchestrator/orchestrator-restart.service.d.ts.map +1 -1
  149. package/dist/cli/backend/src/services/orchestrator/orchestrator-restart.service.js +17 -0
  150. package/dist/cli/backend/src/services/orchestrator/orchestrator-restart.service.js.map +1 -1
  151. package/dist/cli/backend/src/services/orchestrator/orchestrator-status.service.d.ts +7 -0
  152. package/dist/cli/backend/src/services/orchestrator/orchestrator-status.service.d.ts.map +1 -1
  153. package/dist/cli/backend/src/services/orchestrator/orchestrator-status.service.js +22 -10
  154. package/dist/cli/backend/src/services/orchestrator/orchestrator-status.service.js.map +1 -1
  155. package/dist/cli/backend/src/services/runtime-fallback/effective-runtime.d.ts +16 -0
  156. package/dist/cli/backend/src/services/runtime-fallback/effective-runtime.d.ts.map +1 -1
  157. package/dist/cli/backend/src/services/runtime-fallback/effective-runtime.js +23 -0
  158. package/dist/cli/backend/src/services/runtime-fallback/effective-runtime.js.map +1 -1
  159. package/dist/cli/backend/src/services/runtime-fallback/reset-time.d.ts +2 -1
  160. package/dist/cli/backend/src/services/runtime-fallback/reset-time.d.ts.map +1 -1
  161. package/dist/cli/backend/src/services/runtime-fallback/reset-time.js +3 -2
  162. package/dist/cli/backend/src/services/runtime-fallback/reset-time.js.map +1 -1
  163. package/dist/cli/backend/src/services/runtime-fallback/usage-limit-rules.d.ts +78 -0
  164. package/dist/cli/backend/src/services/runtime-fallback/usage-limit-rules.d.ts.map +1 -1
  165. package/dist/cli/backend/src/services/runtime-fallback/usage-limit-rules.js +159 -1
  166. package/dist/cli/backend/src/services/runtime-fallback/usage-limit-rules.js.map +1 -1
  167. package/dist/cli/backend/src/services/runtime-fallback/usage-limit-screen.d.ts +63 -0
  168. package/dist/cli/backend/src/services/runtime-fallback/usage-limit-screen.d.ts.map +1 -0
  169. package/dist/cli/backend/src/services/runtime-fallback/usage-limit-screen.js +104 -0
  170. package/dist/cli/backend/src/services/runtime-fallback/usage-limit-screen.js.map +1 -0
  171. package/dist/cli/backend/src/services/runtime-fallback/usage-limit-state.d.ts +166 -0
  172. package/dist/cli/backend/src/services/runtime-fallback/usage-limit-state.d.ts.map +1 -0
  173. package/dist/cli/backend/src/services/runtime-fallback/usage-limit-state.js +207 -0
  174. package/dist/cli/backend/src/services/runtime-fallback/usage-limit-state.js.map +1 -0
  175. package/dist/cli/backend/src/services/session/tui-input-guard.d.ts +3 -1
  176. package/dist/cli/backend/src/services/session/tui-input-guard.d.ts.map +1 -1
  177. package/dist/cli/backend/src/services/session/tui-input-guard.js +11 -2
  178. package/dist/cli/backend/src/services/session/tui-input-guard.js.map +1 -1
  179. package/dist/cli/backend/src/types/index.d.ts +12 -0
  180. package/dist/cli/backend/src/types/index.d.ts.map +1 -1
  181. package/dist/cli/backend/src/types/index.js.map +1 -1
  182. package/dist/cli/backend/src/types/team-template.types.d.ts +1 -0
  183. package/dist/cli/backend/src/types/team-template.types.d.ts.map +1 -1
  184. package/dist/cli/backend/src/types/team-template.types.js.map +1 -1
  185. package/package.json +1 -1
@@ -335,7 +335,15 @@ export declare class OAuthReloginMonitorService {
335
335
  */
336
336
  inspectScreen(sessionName: string, screen: string, runtimeType?: RuntimeType | null): void;
337
337
  /**
338
- * Sweep every live PTY session's screen for a sign-in state.
338
+ * Keys + capture over the session backend, to answer the usage-limit menu.
339
+ *
340
+ * @param backend - Session backend
341
+ * @returns Menu IO
342
+ */
343
+ private usageLimitMenuIO;
344
+ /**
345
+ * Sweep every live PTY session's screen for a sign-in state and for a
346
+ * usage-limit state ({@link inspectUsageLimitScreen}).
339
347
  * Safe to call at any time; errors are swallowed per session.
340
348
  */
341
349
  sweepAllSessions(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-relogin-monitor.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/oauth-relogin-monitor.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth-relogin-monitor.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/oauth-relogin-monitor.service.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,10 @@
23
23
  */
24
24
  import { v4 as uuidv4 } from 'uuid';
25
25
  import { LoggerService } from '../core/logger.service.js';
26
- import { getSessionBackendSync, } from '../session/index.js';
26
+ import { getSessionBackendSync, createSessionCommandHelper, } from '../session/index.js';
27
+ import { inspectUsageLimitScreen } from '../runtime-fallback/usage-limit-screen.js';
28
+ import { detectUsageLimit, isExhaustingKind, isFreshNonLimitOutput } from '../runtime-fallback/usage-limit-rules.js';
29
+ import { liftUsageLimit, markUsageLimited } from '../runtime-fallback/usage-limit-state.js';
27
30
  import { stripAnsiCodes } from '../../utils/terminal-output.utils.js';
28
31
  import { OAUTH_RELOGIN_CONSTANTS, OAUTH_ERROR_PATTERN_SETS, LOGIN_REQUIRED_PATTERN_SETS, LOGIN_SCREEN_REGION, LOGIN_COMPLETED_MARKERS, LOGIN_REQUIRED_CONSTANTS, ORCHESTRATOR_SESSION_NAME, RUNTIME_TYPES, } from '../../constants.js';
29
32
  import { detectLoginExpiry } from '../harness/login-expiry-rules.js';
@@ -468,7 +471,22 @@ export class OAuthReloginMonitorService {
468
471
  });
469
472
  }
470
473
  /**
471
- * Sweep every live PTY session's screen for a sign-in state.
474
+ * Keys + capture over the session backend, to answer the usage-limit menu.
475
+ *
476
+ * @param backend - Session backend
477
+ * @returns Menu IO
478
+ */
479
+ usageLimitMenuIO(backend) {
480
+ const helper = createSessionCommandHelper(backend);
481
+ return {
482
+ sendKey: (sessionName, key) => helper.sendKey(sessionName, key),
483
+ sendEnter: (sessionName) => helper.sendEnter(sessionName),
484
+ capture: (sessionName) => backend.captureOutput(sessionName, LOGIN_REQUIRED_CONSTANTS.SWEEP_CAPTURE_LINES),
485
+ };
486
+ }
487
+ /**
488
+ * Sweep every live PTY session's screen for a sign-in state and for a
489
+ * usage-limit state ({@link inspectUsageLimitScreen}).
472
490
  * Safe to call at any time; errors are swallowed per session.
473
491
  */
474
492
  sweepAllSessions() {
@@ -485,7 +503,15 @@ export class OAuthReloginMonitorService {
485
503
  for (const sessionName of names) {
486
504
  try {
487
505
  const screen = backend.captureOutput(sessionName, LOGIN_REQUIRED_CONSTANTS.SWEEP_CAPTURE_LINES);
488
- this.inspectScreen(sessionName, screen, this.sessions.get(sessionName)?.runtimeType ?? null);
506
+ const runtimeType = this.sessions.get(sessionName)?.runtimeType ?? null;
507
+ this.inspectScreen(sessionName, screen, runtimeType);
508
+ // Out of usage (e.g. Claude Code's weekly-limit menu): record it so
509
+ // nothing restarts or waits on the agent until the reset, and answer
510
+ // the menu with "wait, then continue automatically".
511
+ void inspectUsageLimitScreen(sessionName, screen, runtimeType, {
512
+ io: this.usageLimitMenuIO(backend),
513
+ logger: this.logger,
514
+ });
489
515
  }
490
516
  catch (err) {
491
517
  this.logger.debug('Login-required sweep failed for session (ignored)', {
@@ -895,7 +921,37 @@ export class OAuthReloginMonitorService {
895
921
  }
896
922
  // A usage limit (not a login problem) goes to the runtime fallback,
897
923
  // which moves the agent to its next runtime until the limit resets
898
- // (specs/2026-10-01-runtime-fallback.md).
924
+ // (specs/2026-10-01-runtime-fallback.md). The session itself is marked
925
+ // out of usage too, whether or not a fallback exists, so nothing
926
+ // restarts it or waits on its prompt until the reset.
927
+ const liveLimit = detectUsageLimit(data, state.runtimeType);
928
+ if (liveLimit && isExhaustingKind(liveLimit.kind)) {
929
+ const { info, isNew } = markUsageLimited({
930
+ sessionName,
931
+ runtime: state.runtimeType,
932
+ ruleId: liveLimit.ruleId,
933
+ resetAt: liveLimit.resetAt,
934
+ source: 'output',
935
+ });
936
+ if (isNew) {
937
+ this.logger.warn('Agent runtime is out of usage — no restarts or deliveries until it resets', {
938
+ sessionName,
939
+ runtime: state.runtimeType,
940
+ rule: liveLimit.ruleId,
941
+ until: info.until ?? null,
942
+ retryAt: info.retryAt,
943
+ });
944
+ }
945
+ }
946
+ else if (state.runtimeType && isFreshNonLimitOutput(data, state.runtimeType)) {
947
+ // The agent writes new, non-limit output: it works again (the limit
948
+ // reset, or the owner switched account). Lift the state at once
949
+ // instead of waiting for the parsed reset time.
950
+ const lifted = liftUsageLimit(sessionName);
951
+ if (lifted) {
952
+ this.logger.info('Agent works again — usage-limit state lifted', { sessionName, until: lifted.until ?? null });
953
+ }
954
+ }
899
955
  if (reportRuntimeOutput(sessionName, state.runtimeType, data, 'output')) {
900
956
  return;
901
957
  }
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-relogin-monitor.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/oauth-relogin-monitor.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth-relogin-monitor.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/oauth-relogin-monitor.service.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,20 @@ export declare const RESOURCE_MODE_CONSTANTS: {
25
25
  * blocked forever.
26
26
  */
27
27
  readonly RELAX_AFTER_MS: number;
28
+ /**
29
+ * An agent started less than this long ago is never stopped to free a slot
30
+ * (except at critical memory). Starting an agent and stopping it minutes
31
+ * later wastes the whole start and releases its work back to the pool
32
+ * (2026-10-16: Luna stopped 8 times in 2 h, some after 0-3 min idle).
33
+ */
34
+ readonly MIN_RUN_BEFORE_EVICT_MS: number;
35
+ /**
36
+ * Hysteresis: for this long after A was stopped to start B, A's own start
37
+ * may not stop B (2026-10-16: Luna and Max evicted each other back and forth).
38
+ * Longer than MIN_RUN_BEFORE_EVICT_MS so it still holds once B's own start
39
+ * protection has run out.
40
+ */
41
+ readonly DISPLACED_GUARD_MS: number;
28
42
  /** A wait record older than this since its last touch is a new wait */
29
43
  readonly WAIT_RECORD_TTL_MS: number;
30
44
  /** A started agent counts against the cap even before it shows as running */
@@ -77,6 +91,12 @@ export interface ResourceModeDeps {
77
91
  * still to come). Null/undefined = free to stop. Errors count as free.
78
92
  */
79
93
  protectedReason?: (sessionName: string) => Promise<string | null | undefined>;
94
+ /**
95
+ * Whether the waiter is waiting on the candidate's work (it delegated an
96
+ * open work item or ticket to it). Such a candidate is never stopped for
97
+ * that waiter. Errors count as false.
98
+ */
99
+ waitsOn?: (waiter: string, candidate: string) => Promise<boolean>;
80
100
  /** An agent was stopped to free a slot (the owner thread it owes is told) */
81
101
  onStoppedForSlot?: (sessionName: string) => void;
82
102
  /** A start waited for a slot and got none (deferred; its messages stay queued) */
@@ -107,6 +127,10 @@ export declare class ResourceModeService {
107
127
  /** Agents seen busy by a pump (their idle time starts at that sighting at the earliest) */
108
128
  private lastSeenBusy;
109
129
  private lastCap;
130
+ /** When each agent's start was last allowed (it counts as freshly started for MIN_RUN_BEFORE_EVICT_MS) */
131
+ private startedAt;
132
+ /** Who displaced each agent stopped for a slot, and when (hysteresis, DISPLACED_GUARD_MS) */
133
+ private displacedBy;
110
134
  /** Readings, overridable in tests. */
111
135
  memoryStats: () => MemoryReading;
112
136
  loadAvg: () => number;
@@ -186,17 +210,40 @@ export declare class ResourceModeService {
186
210
  * Longest-idle agent that may be stopped for a slot. Never one that is
187
211
  * busy, waiting for a start itself, always-on, holding an owner message,
188
212
  * Drive-warm, idle for less than the pressure idle timeout, or protected
189
- * by {@link ResourceModeDeps.protectedReason} (pending work, an open
190
- * ticket, an open delegation). An agent that owes the owner is never picked
191
- * unless memory is critical.
213
+ * by {@link ResourceModeDeps.protectedReason} (queued messages, pending
214
+ * work, an open ticket, an open delegation). An agent that owes the owner
215
+ * is never picked unless memory is critical.
216
+ *
217
+ * Anti-thrash rules (2026-10-16, Luna and Max evicting each other), which
218
+ * hold in every mode, relaxed included, unless memory is critical:
219
+ * - an agent started less than MIN_RUN_BEFORE_EVICT_MS ago is kept,
220
+ * - an agent whose work the waiter waits on ({@link ResourceModeDeps.waitsOn}) is kept,
221
+ * - an agent that displaced the waiter less than DISPLACED_GUARD_MS ago is kept (hysteresis).
222
+ * An owner-message waiter skips the first and last rule (owner messages are
223
+ * rare, so they cannot thrash, and the owner must never wait); it keeps only
224
+ * the waits-on rule and the protections above.
225
+ * Relaxing only lifts the idle timeout; protected agents are never stopped.
226
+ * When no agent qualifies, the waiter waits.
192
227
  *
193
228
  * @param running - Running agents
194
229
  * @param idleTimeoutMinutes - Pressure idle timeout; a younger idle is never stopped
195
230
  * @param relax - The first waiter has waited past RELAX_AFTER_MS: when no agent passes the rules, stop the best one anyway
196
231
  * @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
232
+ * @param waiterName - The first waiter (for the waits-on and hysteresis rules)
233
+ * @param now - Epoch ms of this pump
197
234
  * @returns The victim (if any), why each skipped agent was kept, and, when the rules were relaxed, why the victim had been kept
198
235
  */
199
236
  private pickVictim;
237
+ /**
238
+ * Why stopping this agent for the waiter would thrash, or null when it would not.
239
+ *
240
+ * @param candidate - Running agent considered as a victim
241
+ * @param waiter - First waiting start
242
+ * @param now - Epoch ms of this pump
243
+ * @param ownerWaiter - The waiter carries an owner message: the start window and the hysteresis do not apply (waits-on still does)
244
+ * @returns English reason, or null
245
+ */
246
+ private thrashReason;
200
247
  /** Log why a waiting start got no slot (at most once a minute per agent). */
201
248
  private logNoSlot;
202
249
  private release;
@@ -1 +1 @@
1
- {"version":3,"file":"resource-mode.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/resource-mode.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource-mode.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/resource-mode.service.ts"],"names":[],"mappings":"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"}
@@ -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();