@roj-ai/sdk 0.1.28 → 0.1.30

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 (127) hide show
  1. package/dist/core/agents/agent.d.ts +28 -0
  2. package/dist/core/agents/agent.d.ts.map +1 -1
  3. package/dist/core/agents/agent.js +116 -39
  4. package/dist/core/agents/agent.js.map +1 -1
  5. package/dist/core/agents/config.d.ts +9 -0
  6. package/dist/core/agents/config.d.ts.map +1 -1
  7. package/dist/core/agents/state.d.ts +9 -0
  8. package/dist/core/agents/state.d.ts.map +1 -1
  9. package/dist/core/agents/state.js +4 -0
  10. package/dist/core/agents/state.js.map +1 -1
  11. package/dist/core/context/state.d.ts +22 -13
  12. package/dist/core/context/state.d.ts.map +1 -1
  13. package/dist/core/context/state.js +78 -22
  14. package/dist/core/context/state.js.map +1 -1
  15. package/dist/core/error-recovery.integration.test.d.ts +2 -0
  16. package/dist/core/error-recovery.integration.test.d.ts.map +1 -0
  17. package/dist/core/error-recovery.integration.test.js +288 -0
  18. package/dist/core/error-recovery.integration.test.js.map +1 -0
  19. package/dist/core/llm/anthropic.d.ts.map +1 -1
  20. package/dist/core/llm/anthropic.js +6 -1
  21. package/dist/core/llm/anthropic.js.map +1 -1
  22. package/dist/core/llm/anthropic.test.js +7 -4
  23. package/dist/core/llm/anthropic.test.js.map +1 -1
  24. package/dist/core/llm/message-sanitization.d.ts +10 -0
  25. package/dist/core/llm/message-sanitization.d.ts.map +1 -0
  26. package/dist/core/llm/message-sanitization.js +53 -0
  27. package/dist/core/llm/message-sanitization.js.map +1 -0
  28. package/dist/core/llm/message-sanitization.test.d.ts +2 -0
  29. package/dist/core/llm/message-sanitization.test.d.ts.map +1 -0
  30. package/dist/core/llm/message-sanitization.test.js +181 -0
  31. package/dist/core/llm/message-sanitization.test.js.map +1 -0
  32. package/dist/core/llm/middleware.d.ts +3 -3
  33. package/dist/core/llm/middleware.js +3 -3
  34. package/dist/core/llm/openrouter-mapping.test.js +21 -3
  35. package/dist/core/llm/openrouter-mapping.test.js.map +1 -1
  36. package/dist/core/llm/openrouter.d.ts.map +1 -1
  37. package/dist/core/llm/openrouter.js +6 -1
  38. package/dist/core/llm/openrouter.js.map +1 -1
  39. package/dist/core/llm/provider.d.ts +13 -10
  40. package/dist/core/llm/provider.d.ts.map +1 -1
  41. package/dist/core/llm/provider.js.map +1 -1
  42. package/dist/core/llm/state.d.ts +10 -0
  43. package/dist/core/llm/state.d.ts.map +1 -1
  44. package/dist/core/llm/state.js +9 -0
  45. package/dist/core/llm/state.js.map +1 -1
  46. package/dist/core/plugins/plugin-builder.d.ts +2 -0
  47. package/dist/core/plugins/plugin-builder.d.ts.map +1 -1
  48. package/dist/core/plugins/plugin-builder.js.map +1 -1
  49. package/dist/core/sessions/session.d.ts.map +1 -1
  50. package/dist/core/sessions/session.js +12 -2
  51. package/dist/core/sessions/session.js.map +1 -1
  52. package/dist/core/sessions/state.d.ts.map +1 -1
  53. package/dist/core/sessions/state.js +43 -5
  54. package/dist/core/sessions/state.js.map +1 -1
  55. package/dist/plugins/context-compact/context-compact.integration.test.js +36 -20
  56. package/dist/plugins/context-compact/context-compact.integration.test.js.map +1 -1
  57. package/dist/plugins/context-compact/context-compactor.d.ts.map +1 -1
  58. package/dist/plugins/context-compact/context-compactor.js +54 -9
  59. package/dist/plugins/context-compact/context-compactor.js.map +1 -1
  60. package/dist/plugins/context-compact/context-compactor.test.js +127 -4
  61. package/dist/plugins/context-compact/context-compactor.test.js.map +1 -1
  62. package/dist/plugins/limits-guard/config.d.ts +2 -0
  63. package/dist/plugins/limits-guard/config.d.ts.map +1 -1
  64. package/dist/plugins/limits-guard/limit-guard.d.ts +1 -0
  65. package/dist/plugins/limits-guard/limit-guard.d.ts.map +1 -1
  66. package/dist/plugins/limits-guard/limit-guard.js +11 -1
  67. package/dist/plugins/limits-guard/limit-guard.js.map +1 -1
  68. package/dist/plugins/limits-guard/limit-guard.test.js +9 -0
  69. package/dist/plugins/limits-guard/limit-guard.test.js.map +1 -1
  70. package/dist/plugins/limits-guard/limits-guard.integration.test.js +216 -1
  71. package/dist/plugins/limits-guard/limits-guard.integration.test.js.map +1 -1
  72. package/dist/plugins/limits-guard/plugin.d.ts +3 -1
  73. package/dist/plugins/limits-guard/plugin.d.ts.map +1 -1
  74. package/dist/plugins/limits-guard/plugin.js +48 -2
  75. package/dist/plugins/limits-guard/plugin.js.map +1 -1
  76. package/dist/plugins/services/plugin.d.ts.map +1 -1
  77. package/dist/plugins/services/plugin.js +4 -1
  78. package/dist/plugins/services/plugin.js.map +1 -1
  79. package/dist/plugins/services/prompt.js +3 -3
  80. package/dist/plugins/services/prompt.js.map +1 -1
  81. package/dist/plugins/services/schema.d.ts +8 -0
  82. package/dist/plugins/services/schema.d.ts.map +1 -1
  83. package/dist/plugins/services/services.integration.test.js +112 -0
  84. package/dist/plugins/services/services.integration.test.js.map +1 -1
  85. package/dist/plugins/uploads/plugin.d.ts.map +1 -1
  86. package/dist/plugins/uploads/plugin.js +10 -1
  87. package/dist/plugins/uploads/plugin.js.map +1 -1
  88. package/dist/plugins/uploads/uploads.integration.test.js +74 -28
  89. package/dist/plugins/uploads/uploads.integration.test.js.map +1 -1
  90. package/dist/testing/test-harness.d.ts +8 -0
  91. package/dist/testing/test-harness.d.ts.map +1 -1
  92. package/dist/testing/test-harness.js +18 -0
  93. package/dist/testing/test-harness.js.map +1 -1
  94. package/dist/transport/http/middleware/error-handler.d.ts +1 -1
  95. package/package.json +2 -2
  96. package/src/core/agents/agent.ts +124 -36
  97. package/src/core/agents/config.ts +6 -0
  98. package/src/core/agents/state.ts +9 -0
  99. package/src/core/context/state.ts +86 -27
  100. package/src/core/error-recovery.integration.test.ts +343 -0
  101. package/src/core/llm/anthropic.test.ts +7 -4
  102. package/src/core/llm/anthropic.ts +6 -1
  103. package/src/core/llm/message-sanitization.test.ts +217 -0
  104. package/src/core/llm/message-sanitization.ts +70 -0
  105. package/src/core/llm/middleware.ts +3 -3
  106. package/src/core/llm/openrouter-mapping.test.ts +24 -3
  107. package/src/core/llm/openrouter.ts +7 -8
  108. package/src/core/llm/provider.ts +14 -10
  109. package/src/core/llm/state.ts +10 -0
  110. package/src/core/plugins/plugin-builder.ts +6 -2
  111. package/src/core/sessions/session.ts +13 -3
  112. package/src/core/sessions/state.ts +48 -9
  113. package/src/plugins/context-compact/context-compact.integration.test.ts +38 -21
  114. package/src/plugins/context-compact/context-compactor.test.ts +150 -4
  115. package/src/plugins/context-compact/context-compactor.ts +64 -10
  116. package/src/plugins/limits-guard/config.ts +2 -0
  117. package/src/plugins/limits-guard/limit-guard.test.ts +13 -0
  118. package/src/plugins/limits-guard/limit-guard.ts +13 -1
  119. package/src/plugins/limits-guard/limits-guard.integration.test.ts +246 -1
  120. package/src/plugins/limits-guard/plugin.ts +53 -3
  121. package/src/plugins/services/plugin.ts +4 -1
  122. package/src/plugins/services/prompt.ts +3 -3
  123. package/src/plugins/services/schema.ts +8 -0
  124. package/src/plugins/services/services.integration.test.ts +129 -0
  125. package/src/plugins/uploads/plugin.ts +11 -1
  126. package/src/plugins/uploads/uploads.integration.test.ts +82 -28
  127. package/src/testing/test-harness.ts +20 -0
@@ -1 +1 @@
1
- {"version":3,"file":"context-compactor.test.js","sourceRoot":"","sources":["../../../src/plugins/context-compact/context-compactor.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context-compactor.test.js","sourceRoot":"","sources":["../../../src/plugins/context-compact/context-compactor.test.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,8 @@ export interface AgentLimits {
19
19
  maxRepeatedToolCalls?: number;
20
20
  /** Maximum consecutive identical text-only responses. Default: 3 */
21
21
  maxRepeatedResponses?: number;
22
+ /** Maximum consecutive outbound-only turns without newly consumed inbound work. Default: 3 */
23
+ maxConsecutiveNoProgressTurns?: number;
22
24
  /**
23
25
  * Maximum cumulative LLM cost (USD) this agent may spend before it is paused.
24
26
  * Spend is summed from `inference_completed` metrics and, unlike the counter
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/plugins/limits-guard/config.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC3B,sDAAsD;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,6CAA6C;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,iFAAiF;IACjF,0BAA0B,CAAC,EAAE,MAAM,CAAA;IACnC,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,0DAA0D;IAC1D,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,yEAAyE;IACzE,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,kFAAkF;IAClF,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,oEAAoE;IACpE,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;CACvB;AAMD;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IACnC,8EAA8E;IAC9E,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,mFAAmF;IACnF,cAAc,CAAC,EAAE,MAAM,CAAA;CACvB"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/plugins/limits-guard/config.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC3B,sDAAsD;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,6CAA6C;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,iFAAiF;IACjF,0BAA0B,CAAC,EAAE,MAAM,CAAA;IACnC,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,0DAA0D;IAC1D,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,yEAAyE;IACzE,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,kFAAkF;IAClF,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,oEAAoE;IACpE,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,8FAA8F;IAC9F,6BAA6B,CAAC,EAAE,MAAM,CAAA;IACtC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;CACvB;AAMD;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IACnC,8EAA8E;IAC9E,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,mFAAmF;IACnF,cAAc,CAAC,EAAE,MAAM,CAAA;CACvB"}
@@ -14,6 +14,7 @@ export interface ResolvedAgentLimits {
14
14
  softLimitRatio: number;
15
15
  maxRepeatedToolCalls: number;
16
16
  maxRepeatedResponses: number;
17
+ maxConsecutiveNoProgressTurns: number;
17
18
  maxCost: number;
18
19
  maxTokens: number;
19
20
  maxCompactions: number;
@@ -1 +1 @@
1
- {"version":3,"file":"limit-guard.d.ts","sourceRoot":"","sources":["../../../src/plugins/limits-guard/limit-guard.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AACxF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAMhD,MAAM,WAAW,mBAAmB;IACnC,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,0BAA0B,EAAE,MAAM,CAAA;IAClC,gBAAgB,EAAE,MAAM,CAAA;IACxB,eAAe,EAAE,MAAM,CAAA;IACvB,cAAc,EAAE,MAAM,CAAA;IACtB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,oBAAoB,EAAE,MAAM,CAAA;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;CACtB;AAiBD,wBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,mBAAmB,CAe5E;AAMD,MAAM,WAAW,qBAAqB;IACrC,cAAc,EAAE,MAAM,CAAA;IACtB,gBAAgB,EAAE,MAAM,CAAA;IACxB,cAAc,EAAE,MAAM,CAAA;CACtB;AAQD,wBAAgB,oBAAoB,CAAC,MAAM,CAAC,EAAE,mBAAmB,GAAG,qBAAqB,CAOxF;AAED,gFAAgF;AAChF,MAAM,WAAW,WAAW;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAC1B,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACrC,gBAAgB,CAiClB;AAYD,MAAM,MAAM,gBAAgB,GACzB;IAAE,MAAM,EAAE,IAAI,CAAA;CAAE,GAChB;IAAE,MAAM,EAAE,cAAc,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACvG;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAMvG,wBAAgB,WAAW,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,mBAAmB,GAAG,gBAAgB,CAgFlG;AAMD;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,CAYpE"}
1
+ {"version":3,"file":"limit-guard.d.ts","sourceRoot":"","sources":["../../../src/plugins/limits-guard/limit-guard.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AACxF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAMhD,MAAM,WAAW,mBAAmB;IACnC,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,0BAA0B,EAAE,MAAM,CAAA;IAClC,gBAAgB,EAAE,MAAM,CAAA;IACxB,eAAe,EAAE,MAAM,CAAA;IACvB,cAAc,EAAE,MAAM,CAAA;IACtB,oBAAoB,EAAE,MAAM,CAAA;IAC5B,oBAAoB,EAAE,MAAM,CAAA;IAC5B,6BAA6B,EAAE,MAAM,CAAA;IACrC,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;CACtB;AAkBD,wBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,mBAAmB,CAiB5E;AAMD,MAAM,WAAW,qBAAqB;IACrC,cAAc,EAAE,MAAM,CAAA;IACtB,gBAAgB,EAAE,MAAM,CAAA;IACxB,cAAc,EAAE,MAAM,CAAA;CACtB;AAQD,wBAAgB,oBAAoB,CAAC,MAAM,CAAC,EAAE,mBAAmB,GAAG,qBAAqB,CAOxF;AAED,gFAAgF;AAChF,MAAM,WAAW,WAAW;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAC1B,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACrC,gBAAgB,CAiClB;AAYD,MAAM,MAAM,gBAAgB,GACzB;IAAE,MAAM,EAAE,IAAI,CAAA;CAAE,GAChB;IAAE,MAAM,EAAE,cAAc,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACvG;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAMvG,wBAAgB,WAAW,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,mBAAmB,GAAG,gBAAgB,CAwFlG;AAMD;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,CAYpE"}
@@ -12,6 +12,7 @@ const DEFAULTS = {
12
12
  softLimitRatio: 0.8,
13
13
  maxRepeatedToolCalls: 3,
14
14
  maxRepeatedResponses: 3,
15
+ maxConsecutiveNoProgressTurns: 3,
15
16
  // Budgets and the compaction cap are opt-in: unset means unlimited.
16
17
  maxCost: Number.POSITIVE_INFINITY,
17
18
  maxTokens: Number.POSITIVE_INFINITY,
@@ -29,6 +30,7 @@ export function resolveAgentLimits(config) {
29
30
  softLimitRatio: config.softLimitRatio ?? DEFAULTS.softLimitRatio,
30
31
  maxRepeatedToolCalls: config.maxRepeatedToolCalls ?? DEFAULTS.maxRepeatedToolCalls,
31
32
  maxRepeatedResponses: config.maxRepeatedResponses ?? DEFAULTS.maxRepeatedResponses,
33
+ maxConsecutiveNoProgressTurns: config.maxConsecutiveNoProgressTurns ?? DEFAULTS.maxConsecutiveNoProgressTurns,
32
34
  maxCost: config.maxCost ?? DEFAULTS.maxCost,
33
35
  maxTokens: config.maxTokens ?? DEFAULTS.maxTokens,
34
36
  maxCompactions: config.maxCompactions ?? DEFAULTS.maxCompactions,
@@ -104,15 +106,23 @@ export function checkLimits(counters, limits) {
104
106
  { name: 'maxSpawnedAgents', current: counters.spawnedAgentCount, max: limits.maxSpawnedAgents },
105
107
  { name: 'maxMessagesSent', current: counters.messagesSentCount, max: limits.maxMessagesSent },
106
108
  { name: 'maxCompactions', current: counters.compactionCount, max: limits.maxCompactions },
109
+ {
110
+ name: 'maxConsecutiveNoProgressTurns',
111
+ current: counters.consecutiveNoProgressTurns,
112
+ max: limits.maxConsecutiveNoProgressTurns,
113
+ },
107
114
  ];
108
115
  for (const check of hardChecks) {
109
116
  if (check.current >= check.max) {
117
+ const reason = check.name === 'maxConsecutiveNoProgressTurns'
118
+ ? `No progress detected: ${check.current} consecutive turns used only outbound communication without new input`
119
+ : `${check.name} reached: ${check.current}/${check.max}`;
110
120
  return {
111
121
  status: 'hard_limit',
112
122
  limitName: check.name,
113
123
  currentValue: check.current,
114
124
  hardLimit: check.max,
115
- reason: `${check.name} reached: ${check.current}/${check.max}`,
125
+ reason,
116
126
  };
117
127
  }
118
128
  }
@@ -1 +1 @@
1
- {"version":3,"file":"limit-guard.js","sourceRoot":"","sources":["../../../src/plugins/limits-guard/limit-guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"limit-guard.js","sourceRoot":"","sources":["../../../src/plugins/limits-guard/limit-guard.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ describe('resolveAgentLimits', () => {
12
12
  expect(limits.softLimitRatio).toBe(0.8);
13
13
  expect(limits.maxRepeatedToolCalls).toBe(3);
14
14
  expect(limits.maxRepeatedResponses).toBe(3);
15
+ expect(limits.maxConsecutiveNoProgressTurns).toBe(3);
15
16
  // Budgets and compaction cap are opt-in (unlimited by default)
16
17
  expect(limits.maxCost).toBe(Number.POSITIVE_INFINITY);
17
18
  expect(limits.maxTokens).toBe(Number.POSITIVE_INFINITY);
@@ -86,6 +87,14 @@ describe('checkLimits', () => {
86
87
  expect(result.limitName).toBe('maxRepeatedResponses');
87
88
  }
88
89
  });
90
+ it('detects consecutive no-progress turns', () => {
91
+ const result = checkLimits(makeCounters({ consecutiveNoProgressTurns: 3 }), defaultLimits);
92
+ expect(result.status).toBe('hard_limit');
93
+ if (result.status === 'hard_limit') {
94
+ expect(result.limitName).toBe('maxConsecutiveNoProgressTurns');
95
+ expect(result.reason).toContain('used only outbound communication');
96
+ }
97
+ });
89
98
  it('detects consecutive tool failures', () => {
90
99
  const result = checkLimits(makeCounters({ consecutiveToolFailures: { read_file: { count: 3, lastError: 'file not found' } } }), defaultLimits);
91
100
  expect(result.status).toBe('hard_limit');
@@ -1 +1 @@
1
- {"version":3,"file":"limit-guard.test.js","sourceRoot":"","sources":["../../../src/plugins/limits-guard/limit-guard.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"limit-guard.test.js","sourceRoot":"","sources":["../../../src/plugins/limits-guard/limit-guard.test.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,15 @@
1
1
  import { describe, expect, it } from 'bun:test';
2
+ import z from 'zod/v4';
2
3
  import { AgentId } from '../../core/agents/schema.js';
3
4
  import { agentEvents } from '../../core/agents/state.js';
4
5
  import { MockLLMProvider } from '../../core/llm/mock.js';
5
6
  import { ModelId } from '../../core/llm/schema.js';
6
7
  import { llmEvents } from '../../core/llm/state.js';
7
8
  import { selectPluginState } from '../../core/sessions/reducer.js';
9
+ import { createTool } from '../../core/tools/definition.js';
8
10
  import { ToolCallId } from '../../core/tools/schema.js';
11
+ import { toolEvents } from '../../core/tools/state.js';
12
+ import { Ok } from '../../lib/utils/result.js';
9
13
  import { contextCompactPlugin } from '../../plugins/context-compact/index.js';
10
14
  import { getAgentMailbox, selectMailboxState } from '../../plugins/mailbox/query.js';
11
15
  import { mailboxEvents } from '../../plugins/mailbox/state.js';
@@ -28,6 +32,15 @@ async function waitForAgentPaused(session, agentId, timeoutMs = 10000) {
28
32
  }
29
33
  throw new Error(`waitForAgentPaused timed out after ${timeoutMs}ms for agent ${agentId}`);
30
34
  }
35
+ async function waitUntil(predicate, timeoutMs = 10000) {
36
+ const deadline = Date.now() + timeoutMs;
37
+ while (Date.now() < deadline) {
38
+ if (predicate())
39
+ return;
40
+ await new Promise((resolve) => setTimeout(resolve, 10));
41
+ }
42
+ throw new Error(`waitUntil timed out after ${timeoutMs}ms`);
43
+ }
31
44
  /**
32
45
  * Wait for all agents to be either idle (pending with no work) or paused.
33
46
  */
@@ -156,6 +169,206 @@ describe('limits-guard plugin', () => {
156
169
  expect(counters.spawnedAgentCount).toBeGreaterThanOrEqual(10);
157
170
  await harness.shutdown();
158
171
  });
172
+ it('communication-only loop without new inbound work → soft-stops and remains wakeable', async () => {
173
+ let inferenceCount = 0;
174
+ const harness = createLimitsHarness({
175
+ presets: [createTestPreset({
176
+ orchestratorSystem: 'Test agent.',
177
+ orchestratorPlugins: [limitsGuardPlugin.configureAgent({
178
+ limits: { maxConsecutiveNoProgressTurns: 3, maxTurns: 100 },
179
+ })],
180
+ })],
181
+ mockHandler: () => {
182
+ inferenceCount++;
183
+ if (inferenceCount > 4) {
184
+ return {
185
+ content: 'Recovered for new work',
186
+ toolCalls: [],
187
+ finishReason: 'stop',
188
+ metrics: MockLLMProvider.defaultMetrics(),
189
+ };
190
+ }
191
+ return {
192
+ content: null,
193
+ toolCalls: [{
194
+ id: ToolCallId(`tc${inferenceCount}`),
195
+ name: 'tell_user',
196
+ input: { message: `Still waiting, update ${inferenceCount}` },
197
+ }],
198
+ finishReason: 'stop',
199
+ metrics: MockLLMProvider.defaultMetrics(),
200
+ };
201
+ },
202
+ });
203
+ const session = await harness.createSession('test');
204
+ const entryAgentId = session.getEntryAgentId();
205
+ await session.sendAndWaitForIdle('Start');
206
+ // The response to "Start" had inbound work. The next three turns were
207
+ // driven only by the previous tell_user result, so the fourth inference
208
+ // reaches the limit and its redundant tool call is suppressed.
209
+ expect(inferenceCount).toBe(4);
210
+ const toolStarted = await session.getEventsByType(toolEvents, 'tool_started');
211
+ expect(toolStarted).toHaveLength(3);
212
+ const pauseEvents = await session.getEventsByType(agentEvents, 'agent_paused');
213
+ expect(pauseEvents.some((event) => event.agentId === entryAgentId)).toBe(false);
214
+ const warningEvents = await session.getEventsByType(limitsEvents, 'limit_warning');
215
+ const noProgressEvent = warningEvents.find((event) => event.agentId === entryAgentId
216
+ && event.limitName === 'maxConsecutiveNoProgressTurns');
217
+ expect(noProgressEvent?.currentValue).toBe(3);
218
+ expect(noProgressEvent?.message).toContain('until new input arrives');
219
+ expect(session.state.agents.get(entryAgentId)?.status).toBe('pending');
220
+ // The stop is recoverable without agents.resume or human intervention.
221
+ await session.sendAndWaitForIdle('Now do real work');
222
+ expect(inferenceCount).toBe(5);
223
+ expect(session.state.agents.get(entryAgentId)?.status).toBe('pending');
224
+ await harness.shutdown();
225
+ });
226
+ it('communication-only replies to distinct user messages do not count as no progress', async () => {
227
+ let inferenceCount = 0;
228
+ let allowProcessing = false;
229
+ const preset = createTestPreset({
230
+ orchestratorSystem: 'Test agent.',
231
+ orchestratorPlugins: [limitsGuardPlugin.configureAgent({
232
+ limits: { maxConsecutiveNoProgressTurns: 3, maxTurns: 100 },
233
+ })],
234
+ });
235
+ preset.orchestrator.debounceCallback = () => {
236
+ if (!allowProcessing)
237
+ return 'wait';
238
+ allowProcessing = false;
239
+ return 'process_now';
240
+ };
241
+ preset.orchestrator.checkIntervalMs = 1;
242
+ const harness = createLimitsHarness({
243
+ presets: [preset],
244
+ mockHandler: () => {
245
+ inferenceCount++;
246
+ return {
247
+ content: null,
248
+ toolCalls: [{
249
+ id: ToolCallId(`reply-${inferenceCount}`),
250
+ name: 'tell_user',
251
+ input: { message: `Reply ${inferenceCount}` },
252
+ }],
253
+ finishReason: 'stop',
254
+ metrics: MockLLMProvider.defaultMetrics(),
255
+ };
256
+ },
257
+ });
258
+ const session = await harness.createSession('test');
259
+ const entryAgentId = session.getEntryAgentId();
260
+ for (let messageNumber = 1; messageNumber <= 3; messageNumber++) {
261
+ await session.sendMessage(`User message ${messageNumber}`);
262
+ allowProcessing = true;
263
+ await waitUntil(() => {
264
+ const state = session.state.agents.get(entryAgentId);
265
+ return inferenceCount === messageNumber && state?.pendingToolResults.length === 1;
266
+ });
267
+ const counters = selectPluginState(session.state, 'agentLimits')?.get(entryAgentId);
268
+ expect(counters?.consecutiveNoProgressTurns).toBe(0);
269
+ }
270
+ const consumedEvents = await session.getEventsByType(agentEvents, 'agent_input_consumed');
271
+ expect(consumedEvents).toHaveLength(3);
272
+ expect(consumedEvents.every((event) => event.sourcePlugins.includes('user-chat'))).toBe(true);
273
+ const pauseEvents = await session.getEventsByType(agentEvents, 'agent_paused');
274
+ expect(pauseEvents.some((event) => event.agentId === entryAgentId)).toBe(false);
275
+ const warningEvents = await session.getEventsByType(limitsEvents, 'limit_warning');
276
+ expect(warningEvents.some((event) => event.limitName === 'maxConsecutiveNoProgressTurns')).toBe(false);
277
+ await harness.shutdown();
278
+ });
279
+ it('send_message followed by non-communication work does not trip the no-progress limit', async () => {
280
+ let workerInferenceCount = 0;
281
+ let workCount = 0;
282
+ const recordWork = createTool({
283
+ name: 'record_work',
284
+ description: 'Record one unit of real work.',
285
+ input: z.object({}),
286
+ execute: async () => {
287
+ workCount++;
288
+ return Ok('work recorded');
289
+ },
290
+ });
291
+ const harness = createLimitsHarness({
292
+ presets: [createMultiAgentPreset([
293
+ {
294
+ name: 'worker',
295
+ system: 'Worker agent.',
296
+ tools: [recordWork],
297
+ agents: [],
298
+ plugins: [limitsGuardPlugin.configureAgent({
299
+ limits: { maxConsecutiveNoProgressTurns: 2, maxTurns: 100 },
300
+ })],
301
+ },
302
+ ], { orchestratorSystem: 'Orchestrator agent.' })],
303
+ mockHandler: (request) => {
304
+ if (request.systemPrompt.endsWith('Orchestrator agent.')) {
305
+ const hasStartedWorker = request.messages.some((message) => message.role === 'assistant'
306
+ && message.toolCalls?.some((toolCall) => toolCall.name === 'start_worker'));
307
+ if (!hasStartedWorker) {
308
+ return {
309
+ content: null,
310
+ toolCalls: [{ id: ToolCallId('start-worker'), name: 'start_worker', input: { message: 'Do the work' } }],
311
+ finishReason: 'stop',
312
+ metrics: MockLLMProvider.defaultMetrics(),
313
+ };
314
+ }
315
+ return {
316
+ content: 'Orchestration complete',
317
+ toolCalls: [],
318
+ finishReason: 'stop',
319
+ metrics: MockLLMProvider.defaultMetrics(),
320
+ };
321
+ }
322
+ workerInferenceCount++;
323
+ switch (workerInferenceCount) {
324
+ case 1:
325
+ return {
326
+ content: null,
327
+ toolCalls: [{
328
+ id: ToolCallId('worker-progress'),
329
+ name: 'send_message',
330
+ input: { to: 'parent', message: 'Starting real work' },
331
+ }],
332
+ finishReason: 'stop',
333
+ metrics: MockLLMProvider.defaultMetrics(),
334
+ };
335
+ case 2:
336
+ return {
337
+ content: null,
338
+ toolCalls: [{ id: ToolCallId('worker-work'), name: 'record_work', input: {} }],
339
+ finishReason: 'stop',
340
+ metrics: MockLLMProvider.defaultMetrics(),
341
+ };
342
+ case 3:
343
+ return {
344
+ content: null,
345
+ toolCalls: [{
346
+ id: ToolCallId('worker-result'),
347
+ name: 'send_message',
348
+ input: { to: 'parent', message: 'Real work complete' },
349
+ }],
350
+ finishReason: 'stop',
351
+ metrics: MockLLMProvider.defaultMetrics(),
352
+ };
353
+ default:
354
+ return {
355
+ content: 'WAITING',
356
+ toolCalls: [],
357
+ finishReason: 'stop',
358
+ metrics: MockLLMProvider.defaultMetrics(),
359
+ };
360
+ }
361
+ },
362
+ });
363
+ const session = await harness.createSession('test');
364
+ await session.sendAndWaitForIdle('Start', { timeoutMs: 10_000 });
365
+ expect(workCount).toBe(1);
366
+ expect(workerInferenceCount).toBe(4);
367
+ expect(session.state.agents.get(AgentId('worker_1'))?.status).toBe('pending');
368
+ const pauseEvents = await session.getEventsByType(agentEvents, 'agent_paused');
369
+ expect(pauseEvents.some((event) => event.agentId === AgentId('worker_1'))).toBe(false);
370
+ await harness.shutdown();
371
+ });
159
372
  });
160
373
  // =========================================================================
161
374
  // soft limits (status display)
@@ -167,7 +380,9 @@ describe('limits-guard plugin', () => {
167
380
  const harness = createLimitsHarness({
168
381
  presets: [createTestPreset({
169
382
  orchestratorSystem: 'Test agent.',
170
- orchestratorPlugins: [limitsGuardPlugin.configureAgent({ limits: { maxTurns: 5 } })],
383
+ orchestratorPlugins: [limitsGuardPlugin.configureAgent({
384
+ limits: { maxTurns: 5, maxConsecutiveNoProgressTurns: 100 },
385
+ })],
171
386
  })],
172
387
  mockHandler: (request) => {
173
388
  inferenceCount++;