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.
- package/config/roles/team-leader/prompt.md +1 -1
- package/config/roles/team-leader/tl-addon.md +1 -1
- package/config/skills/team-leader/delegate-task/SKILL.md +23 -1
- package/config/skills/team-leader/delegate-task/execute.sh +44 -1
- package/config/skills/team-leader/delegate-task/execute.test.sh +95 -1
- package/dist/backend/backend/src/constants.d.ts +71 -0
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +71 -0
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.controller.js +10 -0
- package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/orchestrator/orchestrator.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/orchestrator/orchestrator.controller.js +7 -0
- package/dist/backend/backend/src/controllers/orchestrator/orchestrator.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/team/team.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/team/team.controller.js +5 -0
- package/dist/backend/backend/src/controllers/team/team.controller.js.map +1 -1
- package/dist/backend/backend/src/index.d.ts +15 -0
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +68 -11
- package/dist/backend/backend/src/index.js.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +11 -0
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.js +73 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.d.ts +9 -1
- package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.js +60 -4
- package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/resource-mode-protection.d.ts +22 -0
- package/dist/backend/backend/src/services/agent/resource-mode-protection.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/resource-mode-protection.js +33 -0
- package/dist/backend/backend/src/services/agent/resource-mode-protection.js.map +1 -1
- package/dist/backend/backend/src/services/agent/resource-mode.service.d.ts +50 -3
- package/dist/backend/backend/src/services/agent/resource-mode.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/resource-mode.service.js +92 -10
- package/dist/backend/backend/src/services/agent/resource-mode.service.js.map +1 -1
- package/dist/backend/backend/src/services/harness/harness-relogin.service.d.ts +23 -0
- package/dist/backend/backend/src/services/harness/harness-relogin.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/harness/harness-relogin.service.js +47 -6
- package/dist/backend/backend/src/services/harness/harness-relogin.service.js.map +1 -1
- package/dist/backend/backend/src/services/messaging/deferred-start-retry.d.ts +14 -2
- package/dist/backend/backend/src/services/messaging/deferred-start-retry.d.ts.map +1 -1
- package/dist/backend/backend/src/services/messaging/deferred-start-retry.js +21 -4
- package/dist/backend/backend/src/services/messaging/deferred-start-retry.js.map +1 -1
- package/dist/backend/backend/src/services/messaging/queue-processor.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/messaging/queue-processor.service.js +10 -1
- package/dist/backend/backend/src/services/messaging/queue-processor.service.js.map +1 -1
- package/dist/backend/backend/src/services/open-items/open-items.service.d.ts +8 -0
- package/dist/backend/backend/src/services/open-items/open-items.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/open-items/open-items.service.js +33 -0
- package/dist/backend/backend/src/services/open-items/open-items.service.js.map +1 -1
- package/dist/backend/backend/src/services/open-items/open-items.wiring.js +2 -2
- package/dist/backend/backend/src/services/open-items/open-items.wiring.js.map +1 -1
- package/dist/backend/backend/src/services/open-items/question-card-gate.d.ts +49 -0
- package/dist/backend/backend/src/services/open-items/question-card-gate.d.ts.map +1 -0
- package/dist/backend/backend/src/services/open-items/question-card-gate.js +77 -0
- package/dist/backend/backend/src/services/open-items/question-card-gate.js.map +1 -0
- package/dist/backend/backend/src/services/orchestrator/orchestrator-heartbeat-monitor.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/orchestrator-heartbeat-monitor.service.js +10 -0
- package/dist/backend/backend/src/services/orchestrator/orchestrator-heartbeat-monitor.service.js.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/orchestrator-restart.service.d.ts +2 -0
- package/dist/backend/backend/src/services/orchestrator/orchestrator-restart.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/orchestrator-restart.service.js +17 -0
- package/dist/backend/backend/src/services/orchestrator/orchestrator-restart.service.js.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/orchestrator-status.service.d.ts +7 -0
- package/dist/backend/backend/src/services/orchestrator/orchestrator-status.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/orchestrator/orchestrator-status.service.js +22 -10
- package/dist/backend/backend/src/services/orchestrator/orchestrator-status.service.js.map +1 -1
- package/dist/backend/backend/src/services/runtime-fallback/effective-runtime.d.ts +16 -0
- package/dist/backend/backend/src/services/runtime-fallback/effective-runtime.d.ts.map +1 -1
- package/dist/backend/backend/src/services/runtime-fallback/effective-runtime.js +23 -0
- package/dist/backend/backend/src/services/runtime-fallback/effective-runtime.js.map +1 -1
- package/dist/backend/backend/src/services/runtime-fallback/reset-time.d.ts +2 -1
- package/dist/backend/backend/src/services/runtime-fallback/reset-time.d.ts.map +1 -1
- package/dist/backend/backend/src/services/runtime-fallback/reset-time.js +3 -2
- package/dist/backend/backend/src/services/runtime-fallback/reset-time.js.map +1 -1
- package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.service.d.ts +101 -5
- package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.service.js +247 -19
- package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.service.js.map +1 -1
- package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.wiring.d.ts.map +1 -1
- package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.wiring.js +10 -2
- package/dist/backend/backend/src/services/runtime-fallback/runtime-fallback.wiring.js.map +1 -1
- package/dist/backend/backend/src/services/runtime-fallback/usage-limit-rules.d.ts +78 -0
- package/dist/backend/backend/src/services/runtime-fallback/usage-limit-rules.d.ts.map +1 -1
- package/dist/backend/backend/src/services/runtime-fallback/usage-limit-rules.js +159 -1
- package/dist/backend/backend/src/services/runtime-fallback/usage-limit-rules.js.map +1 -1
- package/dist/backend/backend/src/services/runtime-fallback/usage-limit-screen.d.ts +63 -0
- package/dist/backend/backend/src/services/runtime-fallback/usage-limit-screen.d.ts.map +1 -0
- package/dist/backend/backend/src/services/runtime-fallback/usage-limit-screen.js +104 -0
- package/dist/backend/backend/src/services/runtime-fallback/usage-limit-screen.js.map +1 -0
- package/dist/backend/backend/src/services/runtime-fallback/usage-limit-state.d.ts +166 -0
- package/dist/backend/backend/src/services/runtime-fallback/usage-limit-state.d.ts.map +1 -0
- package/dist/backend/backend/src/services/runtime-fallback/usage-limit-state.js +207 -0
- package/dist/backend/backend/src/services/runtime-fallback/usage-limit-state.js.map +1 -0
- package/dist/backend/backend/src/services/session/tui-input-guard.d.ts +3 -1
- package/dist/backend/backend/src/services/session/tui-input-guard.d.ts.map +1 -1
- package/dist/backend/backend/src/services/session/tui-input-guard.js +11 -2
- package/dist/backend/backend/src/services/session/tui-input-guard.js.map +1 -1
- package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js +13 -0
- package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js.map +1 -1
- package/dist/backend/backend/src/services/workflow/scheduler.service.d.ts +22 -0
- package/dist/backend/backend/src/services/workflow/scheduler.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/workflow/scheduler.service.js +35 -1
- package/dist/backend/backend/src/services/workflow/scheduler.service.js.map +1 -1
- package/dist/backend/backend/src/types/index.d.ts +12 -0
- package/dist/backend/backend/src/types/index.d.ts.map +1 -1
- package/dist/backend/backend/src/types/index.js.map +1 -1
- package/dist/backend/backend/src/types/team-template.types.d.ts +1 -0
- package/dist/backend/backend/src/types/team-template.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/team-template.types.js.map +1 -1
- package/dist/backend/build-info.json +2 -2
- package/dist/cli/backend/src/constants.d.ts +71 -0
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +71 -0
- package/dist/cli/backend/src/constants.js.map +1 -1
- package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts +11 -0
- package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/agent/agent-registration.service.js +73 -1
- package/dist/cli/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.d.ts +9 -1
- package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.js +60 -4
- package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.js.map +1 -1
- package/dist/cli/backend/src/services/agent/resource-mode.service.d.ts +50 -3
- package/dist/cli/backend/src/services/agent/resource-mode.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/agent/resource-mode.service.js +92 -10
- package/dist/cli/backend/src/services/agent/resource-mode.service.js.map +1 -1
- package/dist/cli/backend/src/services/harness/harness-relogin.service.d.ts +23 -0
- package/dist/cli/backend/src/services/harness/harness-relogin.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/harness/harness-relogin.service.js +47 -6
- package/dist/cli/backend/src/services/harness/harness-relogin.service.js.map +1 -1
- package/dist/cli/backend/src/services/messaging/queue-processor.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/messaging/queue-processor.service.js +10 -1
- package/dist/cli/backend/src/services/messaging/queue-processor.service.js.map +1 -1
- package/dist/cli/backend/src/services/open-items/open-items.service.d.ts +8 -0
- package/dist/cli/backend/src/services/open-items/open-items.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/open-items/open-items.service.js +33 -0
- package/dist/cli/backend/src/services/open-items/open-items.service.js.map +1 -1
- package/dist/cli/backend/src/services/open-items/question-card-gate.d.ts +49 -0
- package/dist/cli/backend/src/services/open-items/question-card-gate.d.ts.map +1 -0
- package/dist/cli/backend/src/services/open-items/question-card-gate.js +77 -0
- package/dist/cli/backend/src/services/open-items/question-card-gate.js.map +1 -0
- package/dist/cli/backend/src/services/orchestrator/orchestrator-restart.service.d.ts +2 -0
- package/dist/cli/backend/src/services/orchestrator/orchestrator-restart.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/orchestrator/orchestrator-restart.service.js +17 -0
- package/dist/cli/backend/src/services/orchestrator/orchestrator-restart.service.js.map +1 -1
- package/dist/cli/backend/src/services/orchestrator/orchestrator-status.service.d.ts +7 -0
- package/dist/cli/backend/src/services/orchestrator/orchestrator-status.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/orchestrator/orchestrator-status.service.js +22 -10
- package/dist/cli/backend/src/services/orchestrator/orchestrator-status.service.js.map +1 -1
- package/dist/cli/backend/src/services/runtime-fallback/effective-runtime.d.ts +16 -0
- package/dist/cli/backend/src/services/runtime-fallback/effective-runtime.d.ts.map +1 -1
- package/dist/cli/backend/src/services/runtime-fallback/effective-runtime.js +23 -0
- package/dist/cli/backend/src/services/runtime-fallback/effective-runtime.js.map +1 -1
- package/dist/cli/backend/src/services/runtime-fallback/reset-time.d.ts +2 -1
- package/dist/cli/backend/src/services/runtime-fallback/reset-time.d.ts.map +1 -1
- package/dist/cli/backend/src/services/runtime-fallback/reset-time.js +3 -2
- package/dist/cli/backend/src/services/runtime-fallback/reset-time.js.map +1 -1
- package/dist/cli/backend/src/services/runtime-fallback/usage-limit-rules.d.ts +78 -0
- package/dist/cli/backend/src/services/runtime-fallback/usage-limit-rules.d.ts.map +1 -1
- package/dist/cli/backend/src/services/runtime-fallback/usage-limit-rules.js +159 -1
- package/dist/cli/backend/src/services/runtime-fallback/usage-limit-rules.js.map +1 -1
- package/dist/cli/backend/src/services/runtime-fallback/usage-limit-screen.d.ts +63 -0
- package/dist/cli/backend/src/services/runtime-fallback/usage-limit-screen.d.ts.map +1 -0
- package/dist/cli/backend/src/services/runtime-fallback/usage-limit-screen.js +104 -0
- package/dist/cli/backend/src/services/runtime-fallback/usage-limit-screen.js.map +1 -0
- package/dist/cli/backend/src/services/runtime-fallback/usage-limit-state.d.ts +166 -0
- package/dist/cli/backend/src/services/runtime-fallback/usage-limit-state.d.ts.map +1 -0
- package/dist/cli/backend/src/services/runtime-fallback/usage-limit-state.js +207 -0
- package/dist/cli/backend/src/services/runtime-fallback/usage-limit-state.js.map +1 -0
- package/dist/cli/backend/src/services/session/tui-input-guard.d.ts +3 -1
- package/dist/cli/backend/src/services/session/tui-input-guard.d.ts.map +1 -1
- package/dist/cli/backend/src/services/session/tui-input-guard.js +11 -2
- package/dist/cli/backend/src/services/session/tui-input-guard.js.map +1 -1
- package/dist/cli/backend/src/types/index.d.ts +12 -0
- package/dist/cli/backend/src/types/index.d.ts.map +1 -1
- package/dist/cli/backend/src/types/index.js.map +1 -1
- package/dist/cli/backend/src/types/team-template.types.d.ts +1 -0
- package/dist/cli/backend/src/types/team-template.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/team-template.types.js.map +1 -1
- package/package.json +1 -1
|
@@ -76,6 +76,8 @@ export declare class AgentRegistrationService {
|
|
|
76
76
|
private busyHoldSince;
|
|
77
77
|
/** Re-check timers for messages held for a busy agent */
|
|
78
78
|
private busyHoldTimers;
|
|
79
|
+
/** Timers that write out messages held for a usage-limited agent */
|
|
80
|
+
private usageLimitFlushTimers;
|
|
79
81
|
private guardRefusalCount;
|
|
80
82
|
private inProcessRuntimes;
|
|
81
83
|
/** #167: Optional scheduler service for DLQ drain on agent activation. */
|
|
@@ -923,6 +925,15 @@ export declare class AgentRegistrationService {
|
|
|
923
925
|
position: number;
|
|
924
926
|
queueSize: number;
|
|
925
927
|
} | null>;
|
|
928
|
+
/**
|
|
929
|
+
* Write out the messages held for a usage-limited agent once its limit
|
|
930
|
+
* has reset. One timer per agent; the flush re-checks (still limited
|
|
931
|
+
* means held again and a new timer).
|
|
932
|
+
*
|
|
933
|
+
* @param sessionName - The agent session
|
|
934
|
+
* @param delayMs - Time until the limit's retry time
|
|
935
|
+
*/
|
|
936
|
+
private scheduleUsageLimitFlush;
|
|
926
937
|
/**
|
|
927
938
|
* Messages held for a busy agent are normally sent when it goes idle
|
|
928
939
|
* (agent:idle drains the queue). A busy screen the activity monitor has
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-registration.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/agent-registration.service.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,iCAAiC,EAAE,MAAM,yDAAyD,CAAC;AAM5G,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EACN,gBAAgB,EAOhB,WAAW,
|
|
1
|
+
{"version":3,"file":"agent-registration.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/agent-registration.service.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,iCAAiC,EAAE,MAAM,yDAAyD,CAAC;AAM5G,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EACN,gBAAgB,EAOhB,WAAW,EAoBX,MAAM,oBAAoB,CAAC;AA0E5B,OAAO,EAA4B,KAAK,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAkC9G,MAAM,WAAW,kBAAkB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uJAAuJ;IACvJ,WAAW,CAAC,EAAE,WAAW,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;aACnB,QAAQ,EAAE,OAAO;gBAAjB,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM;CAc/D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,IAAI,MAAM,CAQzF;AAED;;;;;;;;;GASG;AACH;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,qBAAa,wBAAwB;IACpC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,cAAc,CAAqC;IAC3D,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,WAAW,CAAS;IAG5B,OAAO,CAAC,WAAW,CAA6B;IAGhD,OAAO,CAAC,oBAAoB,CAAgI;IAK5J,OAAO,CAAC,iBAAiB,CAA0C;IAGnE,OAAO,CAAC,yBAAyB,CAA+C;IAGhF,OAAO,CAAC,kBAAkB,CAAkC;IAI5D,OAAO,CAAC,kBAAkB,CAWpB;IAKN,OAAO,CAAC,oBAAoB,CAAoC;IAIhE,OAAO,CAAC,mBAAmB,CAAuD;IAKlF,OAAO,CAAC,gBAAgB,CAAyC;IACjE;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAqB;IACrC,iGAAiG;IACjG,OAAO,CAAC,aAAa,CAAsD;IAC3E,yDAAyD;IACzD,OAAO,CAAC,cAAc,CAAoD;IAC1E,oEAAoE;IACpE,OAAO,CAAC,qBAAqB,CAAoD;IAEjF,OAAO,CAAC,iBAAiB,CAA6B;IAItD,OAAO,CAAC,iBAAiB,CAAwD;IAEjF,0EAA0E;IAC1E,OAAO,CAAC,gBAAgB,CAA+E;IAEvG,qFAAqF;IACrF,OAAO,CAAC,eAAe,CAAmK;IAK1L,OAAO,CAAC,MAAM,KAAK,wBAAwB,GAE1C;gBAGA,kBAAkB,EAAE,OAAO,EAAE,+CAA+C;IAC5E,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,cAAc,EAAE,cAAc;IA2B/B;;;;OAIG;IACH,mBAAmB,CAAC,SAAS,EAAE;QAAE,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;KAAE,GAAG,IAAI;IAIpG;;;;OAIG;IACH,kBAAkB,CAAC,QAAQ,EAAE;QAAE,SAAS,CAAC,KAAK,EAAE,OAAO,gCAAgC,EAAE,uBAAuB,GAAG,OAAO,gCAAgC,EAAE,iBAAiB,CAAA;KAAE,GAAG,IAAI;IAItL;;;;;;;OAOG;IACH,yBAAyB,CACxB,WAAW,EAAE,MAAM,EACnB,MAAM,GAAE,4BAA+C,GACrD,IAAI;IAMP;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB;IASzB;;;;;;;;OAQG;IACH,OAAO,CAAC,eAAe;IAQvB;;;;;;;;;OASG;IACG,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUrE;;OAEG;YACW,gBAAgB;IA2B9B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAW5B;;;;;;;;;OASG;YACW,yBAAyB;IAiCvC;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,4BAA4B;IAwDpC;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,OAAO,CAAC,6BAA6B;IA0KrC;;OAEG;IACH,OAAO,CAAC,eAAe;IAwBvB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,iBAAiB;IAUzB;;;;;;;;;OASG;YACW,mBAAmB;IA2DjC;;;;;;OAMG;YACW,iBAAiB;IAgB/B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAI5B;;;;;;OAMG;IACH,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,iCAAiC,GAAG,SAAS;IAIvF;;;;;;;;OAQG;IACH,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAKtD;;;;;;;;;;OAUG;YACW,mBAAmB;IAgGjC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,sBAAsB;IAmC9B;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,0BAA0B;IAgDlC;;;;;;;;;;OAUG;IACH;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAKzB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,+BAA+B;IAwCvC;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,wCAAwC;IA6ChD;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAIxB;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;;OAGG;YACW,qBAAqB;IAkBnC;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAOrC;IAEH;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAgB;IAEzD,sEAAsE;IACtE,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IAExD;;;;;;;OAOG;IACH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA6B;IAC7D,8FAA8F;IAC9F,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAuD;IACxF,+IAA+I;IAC/I,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA6B;IAEjE;;;;;;;;;;OAUG;YACW,0BAA0B;IAqCxC;;;OAGG;YACW,oBAAoB;IAuBlC;;;OAGG;IACG,+BAA+B,CACpC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,GAAE,MAAoD,EAC7D,QAAQ,CAAC,EAAE,MAAM,EACjB,WAAW,GAAE,WAAuC,EACpD,YAAY,CAAC,EAAE,MAAM,EAAE,EACvB,wBAAwB,CAAC,EAAE,MAAM,EAAE,GACjC,OAAO,CAAC;QACV,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,gEAAgE;QAChE,SAAS,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IAqGF;;;OAGG;YACW,qBAAqB;IA8CnC;;;OAGG;YACW,mBAAmB;IAyJjC;;;;;;;;;;;OAWG;YACW,uBAAuB;IAmDrC;;;;;;;;;;;;;;OAcG;YACW,0BAA0B;IAkExC;;;;OAIG;YACW,2BAA2B;IA+DzC;;;;;;;;;;OAUG;YACW,gBAAgB;IAY9B;;;;;;;;;;;;;OAaG;YACW,wBAAwB;IAkEtC;;;;;;;OAOG;IACH,OAAO,CAAC,0BAA0B;IAMlC;;;;;;;;;;;OAWG;YACW,uBAAuB;IAkDrC;;;OAGG;YACW,iBAAiB;IAiP/B;;;;;;;;;OASG;YACW,oBAAoB;IA0DlC;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,0BAA0B;IAqDlC;;OAEG;IACH;;;;;;;OAOG;YACW,uBAAuB;YASvB,sBAAsB;IAubpC;;;;;;;;;;;OAWG;YACW,eAAe;IAsC7B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,qBAAqB;IAQ7B;;OAEG;YACW,mBAAmB;IA8BjC;;OAEG;YACW,sBAAsB;IAiCpC;;;;OAIG;YACW,mCAAmC;IAiJjD;;OAEG;YACW,uBAAuB;IA8BrC;;;;;;;;;OASG;IACG,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC;IA8B/C;;OAEG;YACW,yBAAyB;IA2BvC;;;;;;;OAOG;YACW,iBAAiB;IAU/B;;;;;;;;OAQG;IACH,OAAO,CAAC,YAAY;IAgBpB;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;IAM1B;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,OAAO,CAAC,qBAAqB;IAsB7B;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;YACW,cAAc;IA8B5B;;;;;;;;;;;;;;;;;;OAkBG;YACW,iBAAiB;IAmB/B;;;;OAIG;IACG,kBAAkB,CAAC,MAAM,EAAE;QAChC,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB;;;;WAIG;QACH,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB;;;;;WAKG;QACH,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;KACpC,GAAG,OAAO,CAAC;QACX,OAAO,EAAE,OAAO,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,gEAAgE;QAChE,SAAS,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IAqHF;;;;OAIG;YACW,uBAAuB;IAmoBrC;;;;;;;OAOG;IACG,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA2BnE;;;;;OAKG;IACG,qBAAqB,CAC1B,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE,MAAkB,GACtB,OAAO,CAAC;QACV,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IA0FF;;;;;;;OAOG;YACW,mBAAmB;IAYjC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,kBAAkB,CACvB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,WAAW,GACvB,OAAO,CAAC;QACV,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,OAAO,CAAC;KACjB,CAAC;IAifF;;;;;;OAMG;IACH,OAAO,CAAC,kBAAkB;IAQ1B;;;;;OAKG;YACW,mBAAmB;IAQjC;;;;;;;;;;;OAWG;IACG,iBAAiB,CACtB,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,MAAqD,EAChE,WAAW,CAAC,EAAE,WAAW,GACvB,OAAO,CAAC,OAAO,CAAC;IA4InB;;;;;;;;;;;OAWG;IACH,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;IAW/F;;;;;;;;;OASG;YACW,iBAAiB;IAY/B;;;;;;;;;OASG;IACG,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUlF;;;;;;;OAOG;YACW,iBAAiB;IAY/B;;;;;;;;;;;;;OAaG;IACG,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAalH;;;;;;;OAOG;IACH,OAAO,CAAC,uBAAuB;IAiB/B;;;;;;;;OAQG;IACH,OAAO,CAAC,uBAAuB;IAiB/B;;;;;;;;;OASG;YACW,oBAAoB;IA0BlC;;;;;;;;OAQG;YACW,4BAA4B;IA00B1C;;;;;;;;;;OAUG;YACW,sBAAsB;IAmDpC;;;;;;;;;;;;;;;;OAgBG;IACH,OAAO,CAAC,sBAAsB;IAyD9B;;;;;;;OAOG;YACW,sBAAsB;IAwBpC;;;;;;;;;;OAUG;IACH,yBAAyB,IAAI,IAAI;IAsBjC;;OAEG;IACH,wBAAwB,IAAI,IAAI;IAQhC;;;;;;;;OAQG;YACW,oBAAoB;IAiLlC;;;;;OAKG;IACH,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAK/C;;;;;;;OAOG;IACH,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAuB5D;;;;;;;;OAQG;IACH;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,uBAAuB;IAqB/B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,cAAc;IAItB;;;;;;;;;;;;;;;OAeG;YACW,qBAAqB;IAiBnC,OAAO,CAAC,gBAAgB;IAkDxB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,mBAAmB;IA0B3B;;;;;;;;;OASG;YACW,qBAAqB;IA+BnC;;;;;OAKG;IACG,cAAc,CACnB,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,GACT,OAAO,CAAC;QACV,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IAyCF;;;;;;OAMG;IACG,gBAAgB,CACrB,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,MAAM,EACb,OAAO,GAAE,MAAa,GACpB,OAAO,CAAC;QACV,OAAO,EAAE,OAAO,CAAC;QACjB,IAAI,CAAC,EAAE;YACN,KAAK,EAAE;gBACN,WAAW,EAAE,MAAM,CAAC;gBACpB,IAAI,CAAC,EAAE,MAAM,CAAC;gBACd,OAAO,EAAE,OAAO,CAAC;gBACjB,MAAM,EAAE,CAAC,OAAO,gBAAgB,CAAC,cAAc,CAAC,CAAC,MAAM,OAAO,gBAAgB,CAAC,cAAc,CAAC,CAAC;aAC/F,CAAC;YACF,SAAS,EAAE,MAAM,CAAC;SAClB,CAAC;QACF,KAAK,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IAuCF;;;;;;;;;;;;;OAaG;YACW,kBAAkB;IAqLhC;;;;;;;;;OASG;IACG,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,SAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAW3E;AAGD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAG9E;AAMD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEtD"}
|
|
@@ -14,7 +14,7 @@ import { RuntimeServiceFactory } from './runtime-service.factory.js';
|
|
|
14
14
|
import { OrcReplyRouteService } from '../orc/orc-reply-route.service.js';
|
|
15
15
|
import { registerInProcessRuntime, unregisterInProcessRuntime, } from './crewly-agent/in-process-runtime-registry.js';
|
|
16
16
|
import { getCrewlyHomePath } from '../core/crewly-home.utils.js';
|
|
17
|
-
import { CREWLY_CONSTANTS, ENV_CONSTANTS, OWNER_AUTH_CONSTANTS, AGENT_TIMEOUTS, ORCHESTRATOR_SESSION_NAME, ORCHESTRATOR_ROLE, RUNTIME_TYPES, SESSION_COMMAND_DELAYS, SUB_AGENT_QUEUE_CONSTANTS, SESSION_RECREATION_CONSTANTS, EVENT_DELIVERY_CONSTANTS, TERMINAL_PATTERNS, GEMINI_SHELL_MODE_CONSTANTS, GEMINI_STUCK_CONNECTIVITY_PATTERN, GEMINI_ERROR_STATE_CONSTANTS, REGISTRATION_DELIVERY_CONSTANTS, ORC_CONVERSATION_CONSTANTS, SLACK_THREAD_KEY_CONSTANTS, OPEN_ITEMS_CONSTANTS, BROWSER_PRIORITY_CONSTANTS, WORKTREE_JANITOR_CONSTANTS, SPEND_CAP_CONSTANTS, RUNTIME_INPUT_SAFETY, TUI_INPUT_GUARD, INPUT_BLOCKED_RETRY_CONSTANTS, } from '../../constants.js';
|
|
17
|
+
import { CREWLY_CONSTANTS, ENV_CONSTANTS, OWNER_AUTH_CONSTANTS, AGENT_TIMEOUTS, ORCHESTRATOR_SESSION_NAME, ORCHESTRATOR_ROLE, RUNTIME_TYPES, SESSION_COMMAND_DELAYS, SUB_AGENT_QUEUE_CONSTANTS, SESSION_RECREATION_CONSTANTS, EVENT_DELIVERY_CONSTANTS, TERMINAL_PATTERNS, GEMINI_SHELL_MODE_CONSTANTS, GEMINI_STUCK_CONNECTIVITY_PATTERN, GEMINI_ERROR_STATE_CONSTANTS, REGISTRATION_DELIVERY_CONSTANTS, ORC_CONVERSATION_CONSTANTS, SLACK_THREAD_KEY_CONSTANTS, OPEN_ITEMS_CONSTANTS, BROWSER_PRIORITY_CONSTANTS, WORKTREE_JANITOR_CONSTANTS, SPEND_CAP_CONSTANTS, RUNTIME_INPUT_SAFETY, TUI_INPUT_GUARD, INPUT_BLOCKED_RETRY_CONSTANTS, USAGE_LIMIT_STATE_CONSTANTS, } from '../../constants.js';
|
|
18
18
|
import { TuiInputGuardError, TuiPasteHoldError, screenShowsTurnInProgress } from '../session/tui-input-guard.js';
|
|
19
19
|
import { InputBlockedRetryService } from '../messaging/input-blocked-retry.service.js';
|
|
20
20
|
import { extractSlackThreadKeys, formatSlackThreadKey } from '../slack/slack-thread-key.js';
|
|
@@ -55,6 +55,8 @@ import { buildResumedKickoff } from './resumed-kickoff.js';
|
|
|
55
55
|
import { claudeAccountConfigDir, claudeAccountEnv } from '../harness/claude-accounts.js';
|
|
56
56
|
import { effectiveClaudeAccount, effectiveRuntimeType, resolveLaunchRuntime, runtimeFallbackBeforeDelivery, takeRuntimeSwitchKickoffNote, } from '../runtime-fallback/effective-runtime.js';
|
|
57
57
|
import { spendCapReason, spendCapStopOf } from '../spend/spend-cap.gate.js';
|
|
58
|
+
import { inspectUsageLimitScreen } from '../runtime-fallback/usage-limit-screen.js';
|
|
59
|
+
import { usageLimitOf, usageLimitReason, usageLimitRemainingMs } from '../runtime-fallback/usage-limit-state.js';
|
|
58
60
|
import { noteTurnDelivery, traceTurnActivity, traceTurnError } from '../trace/trace-recorder.js';
|
|
59
61
|
import { stripTraceMarkers } from '../trace/trace-markers.js';
|
|
60
62
|
import { mintAgentBadge } from '../core/owner-auth.service.js';
|
|
@@ -180,6 +182,8 @@ export class AgentRegistrationService {
|
|
|
180
182
|
busyHoldSince = new Map();
|
|
181
183
|
/** Re-check timers for messages held for a busy agent */
|
|
182
184
|
busyHoldTimers = new Map();
|
|
185
|
+
/** Timers that write out messages held for a usage-limited agent */
|
|
186
|
+
usageLimitFlushTimers = new Map();
|
|
183
187
|
// Consecutive guard refusals per session, for escalation.
|
|
184
188
|
guardRefusalCount = new Map();
|
|
185
189
|
// In-process Crewly Agent runtimes (sessionName → runtime instance).
|
|
@@ -4046,6 +4050,25 @@ Loop until done, blocked, or explicitly reassigned:
|
|
|
4046
4050
|
message: `${SPEND_CAP_CONSTANTS.QUEUED_MARKER} ${spendCapReason(spendStop)}; message queued`,
|
|
4047
4051
|
};
|
|
4048
4052
|
}
|
|
4053
|
+
// Out of usage (e.g. Claude Code's weekly limit): typing into it would
|
|
4054
|
+
// only be lost (or land in its usage-limit menu). Hold the message and
|
|
4055
|
+
// write it out once the limit has reset.
|
|
4056
|
+
const usageLimit = usageLimitOf(sessionName);
|
|
4057
|
+
if (usageLimit) {
|
|
4058
|
+
SubAgentMessageQueue.getInstance().enqueue(sessionName, message);
|
|
4059
|
+
this.scheduleUsageLimitFlush(sessionName, usageLimitRemainingMs(usageLimit));
|
|
4060
|
+
this.logger.info('Agent is out of usage — message queued until the limit resets', {
|
|
4061
|
+
sessionName,
|
|
4062
|
+
until: usageLimit.until ?? null,
|
|
4063
|
+
retryAt: usageLimit.retryAt,
|
|
4064
|
+
messageLength: message.length,
|
|
4065
|
+
});
|
|
4066
|
+
return {
|
|
4067
|
+
success: true,
|
|
4068
|
+
queued: true,
|
|
4069
|
+
message: `${USAGE_LIMIT_STATE_CONSTANTS.QUEUED_MARKER} ${usageLimitReason(sessionName, usageLimit)}; message queued`,
|
|
4070
|
+
};
|
|
4071
|
+
}
|
|
4049
4072
|
// ===== In-process Crewly Agent delivery =====
|
|
4050
4073
|
// Route directly to the in-process runtime, bypassing PTY entirely.
|
|
4051
4074
|
// Fire-and-forget: mirrors PTY runtimes where the write returns immediately.
|
|
@@ -4467,6 +4490,22 @@ Loop until done, blocked, or explicitly reassigned:
|
|
|
4467
4490
|
// idle-detection already refuses to suspend on this signal; delivery
|
|
4468
4491
|
// now refuses to write on it.
|
|
4469
4492
|
const currentOutput = sessionHelper.capturePane(sessionName);
|
|
4493
|
+
// Out of usage (Claude Code's weekly-limit menu, a "You've hit your …
|
|
4494
|
+
// limit" line): its prompt will not come back before the reset, so do
|
|
4495
|
+
// not wait for it (2026-10-16: "Waiting for agent to return to prompt …
|
|
4496
|
+
// Timed out" every ~17s for ~38 hours).
|
|
4497
|
+
const limited = await inspectUsageLimitScreen(sessionName, currentOutput, runtimeType ?? null, {
|
|
4498
|
+
io: {
|
|
4499
|
+
sendKey: (s, key) => sessionHelper.sendKey(s, key),
|
|
4500
|
+
sendEnter: (s) => sessionHelper.sendEnter(s),
|
|
4501
|
+
capture: (s) => sessionHelper.capturePane(s),
|
|
4502
|
+
},
|
|
4503
|
+
logger: this.logger,
|
|
4504
|
+
});
|
|
4505
|
+
if (limited) {
|
|
4506
|
+
this.logger.debug('Agent is out of usage — not waiting for its prompt', { sessionName, retryAt: limited.retryAt });
|
|
4507
|
+
return false;
|
|
4508
|
+
}
|
|
4470
4509
|
if (this.isAtIdlePrompt(sessionHelper, sessionName, currentOutput, runtimeType) && !(await this.isBusyByWorkingStatus(sessionName))) {
|
|
4471
4510
|
this.logger.debug('Agent already at prompt', { sessionName });
|
|
4472
4511
|
return true;
|
|
@@ -4501,6 +4540,13 @@ Loop until done, blocked, or explicitly reassigned:
|
|
|
4501
4540
|
if (resolved)
|
|
4502
4541
|
return;
|
|
4503
4542
|
pollCount++;
|
|
4543
|
+
// Marked out of usage meanwhile (by the screen sweep): stop waiting.
|
|
4544
|
+
if (usageLimitOf(sessionName)) {
|
|
4545
|
+
this.logger.info('Agent is out of usage — stopped waiting for its prompt', { sessionName, pollCount });
|
|
4546
|
+
cleanup();
|
|
4547
|
+
resolve(false);
|
|
4548
|
+
return;
|
|
4549
|
+
}
|
|
4504
4550
|
const output = sessionHelper.capturePane(sessionName);
|
|
4505
4551
|
if (this.isAtIdlePrompt(sessionHelper, sessionName, output, runtimeType)) {
|
|
4506
4552
|
void this.isBusyByWorkingStatus(sessionName).then((busy) => {
|
|
@@ -4670,6 +4716,32 @@ Loop until done, blocked, or explicitly reassigned:
|
|
|
4670
4716
|
}
|
|
4671
4717
|
return this.holdForBusyAgent(sessionName, message);
|
|
4672
4718
|
}
|
|
4719
|
+
/**
|
|
4720
|
+
* Write out the messages held for a usage-limited agent once its limit
|
|
4721
|
+
* has reset. One timer per agent; the flush re-checks (still limited
|
|
4722
|
+
* means held again and a new timer).
|
|
4723
|
+
*
|
|
4724
|
+
* @param sessionName - The agent session
|
|
4725
|
+
* @param delayMs - Time until the limit's retry time
|
|
4726
|
+
*/
|
|
4727
|
+
scheduleUsageLimitFlush(sessionName, delayMs) {
|
|
4728
|
+
if (this.usageLimitFlushTimers.has(sessionName))
|
|
4729
|
+
return;
|
|
4730
|
+
const timer = setTimeout(() => {
|
|
4731
|
+
this.usageLimitFlushTimers.delete(sessionName);
|
|
4732
|
+
const queue = SubAgentMessageQueue.getInstance();
|
|
4733
|
+
if (!queue.hasPending(sessionName))
|
|
4734
|
+
return;
|
|
4735
|
+
void queue
|
|
4736
|
+
.flush(sessionName, (data) => this.sendMessageToAgent(sessionName, data), SUB_AGENT_QUEUE_CONSTANTS.FLUSH_INTER_MESSAGE_DELAY)
|
|
4737
|
+
.catch((err) => this.logger.warn('Writing out messages held for a usage-limited agent failed', {
|
|
4738
|
+
sessionName,
|
|
4739
|
+
error: err instanceof Error ? err.message : String(err),
|
|
4740
|
+
}));
|
|
4741
|
+
}, delayMs);
|
|
4742
|
+
timer.unref?.();
|
|
4743
|
+
this.usageLimitFlushTimers.set(sessionName, timer);
|
|
4744
|
+
}
|
|
4673
4745
|
/**
|
|
4674
4746
|
* Messages held for a busy agent are normally sent when it goes idle
|
|
4675
4747
|
* (agent:idle drains the queue). A busy screen the activity monitor has
|