@roj-ai/sdk 0.1.19 → 0.1.21

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 (93) hide show
  1. package/dist/core/agents/agent.d.ts.map +1 -1
  2. package/dist/core/agents/agent.js +13 -3
  3. package/dist/core/agents/agent.js.map +1 -1
  4. package/dist/core/context/state.d.ts +8 -0
  5. package/dist/core/context/state.d.ts.map +1 -1
  6. package/dist/core/context/state.js +10 -0
  7. package/dist/core/context/state.js.map +1 -1
  8. package/dist/core/events/base-event-store.d.ts.map +1 -1
  9. package/dist/core/events/base-event-store.js +2 -0
  10. package/dist/core/events/base-event-store.js.map +1 -1
  11. package/dist/core/events/metadata-utils.d.ts.map +1 -1
  12. package/dist/core/events/metadata-utils.js +2 -0
  13. package/dist/core/events/metadata-utils.js.map +1 -1
  14. package/dist/core/llm/anthropic.test.js +27 -0
  15. package/dist/core/llm/anthropic.test.js.map +1 -1
  16. package/dist/core/llm/cache-breakpoints.d.ts +19 -5
  17. package/dist/core/llm/cache-breakpoints.d.ts.map +1 -1
  18. package/dist/core/llm/cache-breakpoints.js +40 -23
  19. package/dist/core/llm/cache-breakpoints.js.map +1 -1
  20. package/dist/core/llm/cache-breakpoints.test.d.ts +2 -0
  21. package/dist/core/llm/cache-breakpoints.test.d.ts.map +1 -0
  22. package/dist/core/llm/cache-breakpoints.test.js +45 -0
  23. package/dist/core/llm/cache-breakpoints.test.js.map +1 -0
  24. package/dist/core/llm/state.d.ts +22 -0
  25. package/dist/core/llm/state.d.ts.map +1 -1
  26. package/dist/core/llm/state.js +23 -11
  27. package/dist/core/llm/state.js.map +1 -1
  28. package/dist/index.d.ts +3 -3
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +1 -1
  31. package/dist/index.js.map +1 -1
  32. package/dist/lib/mime.d.ts +1 -1
  33. package/dist/lib/mime.d.ts.map +1 -1
  34. package/dist/lib/mime.js +7 -4
  35. package/dist/lib/mime.js.map +1 -1
  36. package/dist/plugins/agents/plugin.d.ts.map +1 -1
  37. package/dist/plugins/agents/plugin.js +7 -1
  38. package/dist/plugins/agents/plugin.js.map +1 -1
  39. package/dist/plugins/context-compact/context-compact.integration.test.js +54 -0
  40. package/dist/plugins/context-compact/context-compact.integration.test.js.map +1 -1
  41. package/dist/plugins/context-compact/context-compactor.d.ts +2 -0
  42. package/dist/plugins/context-compact/context-compactor.d.ts.map +1 -1
  43. package/dist/plugins/context-compact/context-compactor.js +29 -0
  44. package/dist/plugins/context-compact/context-compactor.js.map +1 -1
  45. package/dist/plugins/context-compact/context-compactor.test.js +6 -0
  46. package/dist/plugins/context-compact/context-compactor.test.js.map +1 -1
  47. package/dist/plugins/limits-guard/config.d.ts +30 -0
  48. package/dist/plugins/limits-guard/config.d.ts.map +1 -1
  49. package/dist/plugins/limits-guard/index.d.ts +3 -3
  50. package/dist/plugins/limits-guard/index.d.ts.map +1 -1
  51. package/dist/plugins/limits-guard/index.js +1 -1
  52. package/dist/plugins/limits-guard/index.js.map +1 -1
  53. package/dist/plugins/limits-guard/limit-guard.d.ts +27 -1
  54. package/dist/plugins/limits-guard/limit-guard.d.ts.map +1 -1
  55. package/dist/plugins/limits-guard/limit-guard.js +67 -0
  56. package/dist/plugins/limits-guard/limit-guard.js.map +1 -1
  57. package/dist/plugins/limits-guard/limit-guard.test.js +65 -1
  58. package/dist/plugins/limits-guard/limit-guard.test.js.map +1 -1
  59. package/dist/plugins/limits-guard/limits-guard.integration.test.js +295 -1
  60. package/dist/plugins/limits-guard/limits-guard.integration.test.js.map +1 -1
  61. package/dist/plugins/limits-guard/plugin.d.ts +23 -2
  62. package/dist/plugins/limits-guard/plugin.d.ts.map +1 -1
  63. package/dist/plugins/limits-guard/plugin.js +107 -2
  64. package/dist/plugins/limits-guard/plugin.js.map +1 -1
  65. package/dist/plugins/mailbox/plugin.d.ts.map +1 -1
  66. package/dist/plugins/mailbox/plugin.js +18 -0
  67. package/dist/plugins/mailbox/plugin.js.map +1 -1
  68. package/dist/plugins/session-stats/plugin.d.ts.map +1 -1
  69. package/dist/plugins/session-stats/plugin.js +5 -1
  70. package/dist/plugins/session-stats/plugin.js.map +1 -1
  71. package/package.json +2 -2
  72. package/src/core/agents/agent.ts +18 -2
  73. package/src/core/context/state.ts +10 -0
  74. package/src/core/events/base-event-store.ts +2 -0
  75. package/src/core/events/metadata-utils.ts +2 -0
  76. package/src/core/llm/anthropic.test.ts +34 -0
  77. package/src/core/llm/cache-breakpoints.test.ts +55 -0
  78. package/src/core/llm/cache-breakpoints.ts +39 -21
  79. package/src/core/llm/state.ts +25 -11
  80. package/src/index.ts +3 -3
  81. package/src/lib/mime.ts +7 -4
  82. package/src/plugins/agents/plugin.ts +7 -1
  83. package/src/plugins/context-compact/context-compact.integration.test.ts +62 -0
  84. package/src/plugins/context-compact/context-compactor.test.ts +6 -0
  85. package/src/plugins/context-compact/context-compactor.ts +31 -0
  86. package/src/plugins/limits-guard/config.ts +35 -0
  87. package/src/plugins/limits-guard/index.ts +3 -3
  88. package/src/plugins/limits-guard/limit-guard.test.ts +80 -1
  89. package/src/plugins/limits-guard/limit-guard.ts +98 -1
  90. package/src/plugins/limits-guard/limits-guard.integration.test.ts +331 -1
  91. package/src/plugins/limits-guard/plugin.ts +153 -3
  92. package/src/plugins/mailbox/plugin.ts +18 -0
  93. package/src/plugins/session-stats/plugin.ts +5 -1
@@ -1 +1 @@
1
- {"version":3,"file":"context-compactor.d.ts","sourceRoot":"","sources":["../../../src/plugins/context-compact/context-compactor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context-compactor.d.ts","sourceRoot":"","sources":["../../../src/plugins/context-compact/context-compactor.ts"],"names":[],"mappings":"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"}
@@ -165,6 +165,7 @@ export class ContextCompactor {
165
165
  this.logger.warn('No messages to compact', { sessionId, agentId });
166
166
  return Ok({
167
167
  compactedMessages: messages,
168
+ originalMessages: [],
168
169
  summary: '',
169
170
  originalTokens,
170
171
  compactedTokens: originalTokens,
@@ -232,6 +233,7 @@ export class ContextCompactor {
232
233
  });
233
234
  return Ok({
234
235
  compactedMessages,
236
+ originalMessages: toCompact,
235
237
  summary,
236
238
  originalTokens,
237
239
  compactedTokens,
@@ -252,6 +254,7 @@ export function createContextCompactedEvent(sessionId, agentId, result) {
252
254
  return withSessionId(sessionId, contextEvents.create('context_compacted', {
253
255
  agentId,
254
256
  compactedContent: result.summary,
257
+ originalMessages: result.originalMessages.map(toDisplayMessage),
255
258
  newConversationHistory,
256
259
  originalTokens: result.originalTokens,
257
260
  compactedTokens: result.compactedTokens,
@@ -259,4 +262,30 @@ export function createContextCompactedEvent(sessionId, agentId, result) {
259
262
  historyPath: result.historyPath,
260
263
  }));
261
264
  }
265
+ /**
266
+ * Convert an LLM message into a display-only conversation message, preserving
267
+ * tool-call and tool-result detail in the rendered content. Used for the
268
+ * compaction "input" snapshot shown in the debug UI — not for reconstruction.
269
+ */
270
+ function toDisplayMessage(msg) {
271
+ if (msg.role === 'assistant') {
272
+ const parts = [];
273
+ if (msg.content)
274
+ parts.push(msg.content);
275
+ if (msg.toolCalls?.length) {
276
+ for (const tc of msg.toolCalls) {
277
+ parts.push(`[tool call: ${tc.name}(${JSON.stringify(tc.input)})]`);
278
+ }
279
+ }
280
+ return { role: 'assistant', content: parts.join('\n') };
281
+ }
282
+ if (msg.role === 'tool') {
283
+ const content = typeof msg.content === 'string' ? msg.content : JSON.stringify(msg.content);
284
+ return { role: 'system', content: `[tool result${msg.toolName ? `: ${msg.toolName}` : ''}]\n${content}` };
285
+ }
286
+ return {
287
+ role: msg.role,
288
+ content: typeof msg.content === 'string' ? msg.content : JSON.stringify(msg.content),
289
+ };
290
+ }
262
291
  //# sourceMappingURL=context-compactor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context-compactor.js","sourceRoot":"","sources":["../../../src/plugins/context-compact/context-compactor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context-compactor.js","sourceRoot":"","sources":["../../../src/plugins/context-compact/context-compactor.ts"],"names":[],"mappings":"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"}
@@ -238,6 +238,7 @@ describe('createContextCompactedEvent', () => {
238
238
  { role: 'system', content: 'summary' },
239
239
  { role: 'user', content: 'recent' },
240
240
  ],
241
+ originalMessages: [{ role: 'user', content: 'old message' }],
241
242
  summary: 'The summary',
242
243
  originalTokens: 1000,
243
244
  compactedTokens: 200,
@@ -254,6 +255,8 @@ describe('createContextCompactedEvent', () => {
254
255
  expect(event.newConversationHistory.length).toBe(2);
255
256
  expect(event.newConversationHistory[0].role).toBe('system');
256
257
  expect(event.newConversationHistory[0].content).toBe('summary');
258
+ expect(event.originalMessages?.length).toBe(1);
259
+ expect(event.originalMessages?.[0].content).toBe('old message');
257
260
  expect(event.timestamp).toBeDefined();
258
261
  });
259
262
  it('converts tool role to system in history', () => {
@@ -262,6 +265,7 @@ describe('createContextCompactedEvent', () => {
262
265
  const toolCallId = generateToolCallId();
263
266
  const result = {
264
267
  compactedMessages: [{ role: 'tool', content: 'tool result', toolCallId }],
268
+ originalMessages: [],
265
269
  summary: '',
266
270
  originalTokens: 100,
267
271
  compactedTokens: 50,
@@ -701,6 +705,7 @@ describe('createContextCompactedEvent with historyPath', () => {
701
705
  compactedMessages: [
702
706
  { role: 'system', content: 'summary' },
703
707
  ],
708
+ originalMessages: [],
704
709
  summary: 'The summary',
705
710
  originalTokens: 1000,
706
711
  compactedTokens: 200,
@@ -717,6 +722,7 @@ describe('createContextCompactedEvent with historyPath', () => {
717
722
  compactedMessages: [
718
723
  { role: 'system', content: 'summary' },
719
724
  ],
725
+ originalMessages: [],
720
726
  summary: 'The summary',
721
727
  originalTokens: 1000,
722
728
  compactedTokens: 200,
@@ -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,5 +19,35 @@ export interface AgentLimits {
19
19
  maxRepeatedToolCalls?: number;
20
20
  /** Maximum consecutive identical text-only responses. Default: 3 */
21
21
  maxRepeatedResponses?: number;
22
+ /**
23
+ * Maximum cumulative LLM cost (USD) this agent may spend before it is paused.
24
+ * Spend is summed from `inference_completed` metrics and, unlike the counter
25
+ * limits, is NOT reset on resume. Default: unlimited.
26
+ */
27
+ maxCost?: number;
28
+ /**
29
+ * Maximum cumulative total tokens (prompt + completion) this agent may consume
30
+ * before it is paused. Useful as a fallback when providers don't report cost.
31
+ * Not reset on resume. Default: unlimited.
32
+ */
33
+ maxTokens?: number;
34
+ /**
35
+ * Maximum number of context compaction events for this agent before it is paused.
36
+ * Guards against pathological compaction loops. Reset on resume. Default: unlimited.
37
+ */
38
+ maxCompactions?: number;
39
+ }
40
+ /**
41
+ * Session-wide budget, summed across every agent in the session. Configured via
42
+ * the plugin's session-level config (`pluginConfig`), independent of per-agent
43
+ * limits. All fields optional - defaults applied via resolveSessionLimits().
44
+ */
45
+ export interface LimitsSessionConfig {
46
+ /** Maximum cumulative LLM cost (USD) across all agents. Default: unlimited */
47
+ maxSessionCost?: number;
48
+ /** Maximum cumulative total tokens across all agents. Default: unlimited */
49
+ maxSessionTokens?: number;
50
+ /** Ratio of the session budget at which a soft warning is emitted. Default: 0.8 */
51
+ softLimitRatio?: number;
22
52
  }
23
53
  //# sourceMappingURL=config.d.ts.map
@@ -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;CAC7B"}
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,5 +1,5 @@
1
- export type { AgentLimits } from './config.js';
1
+ export type { AgentLimits, LimitsSessionConfig } from './config.js';
2
2
  export { limitsGuardPlugin } from './plugin.js';
3
- export type { AgentCounters, LimitsAgentConfig, LimitWarningEvent } from './plugin.js';
4
- export { createAgentCounters, limitsEvents } from './plugin.js';
3
+ export type { AgentCounters, BudgetExceededEvent, LimitsAgentConfig, LimitWarningEvent } from './plugin.js';
4
+ export { createAgentCounters, limitsEvents, sumSessionSpend } from './plugin.js';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/limits-guard/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC/C,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AACtF,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/limits-guard/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC/C,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC3G,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA"}
@@ -1,3 +1,3 @@
1
1
  export { limitsGuardPlugin } from './plugin.js';
2
- export { createAgentCounters, limitsEvents } from './plugin.js';
2
+ export { createAgentCounters, limitsEvents, sumSessionSpend } from './plugin.js';
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/limits-guard/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAE/C,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/limits-guard/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAE/C,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Returns the worst result: hard_limit > soft_warning > ok.
5
5
  */
6
- import type { AgentLimits } from '../../plugins/limits-guard/config.js';
6
+ import type { AgentLimits, LimitsSessionConfig } from '../../plugins/limits-guard/config.js';
7
7
  import type { AgentCounters } from './plugin.js';
8
8
  export interface ResolvedAgentLimits {
9
9
  maxTurns: number;
@@ -14,8 +14,34 @@ export interface ResolvedAgentLimits {
14
14
  softLimitRatio: number;
15
15
  maxRepeatedToolCalls: number;
16
16
  maxRepeatedResponses: number;
17
+ maxCost: number;
18
+ maxTokens: number;
19
+ maxCompactions: number;
17
20
  }
18
21
  export declare function resolveAgentLimits(config?: AgentLimits): ResolvedAgentLimits;
22
+ export interface ResolvedSessionLimits {
23
+ maxSessionCost: number;
24
+ maxSessionTokens: number;
25
+ softLimitRatio: number;
26
+ }
27
+ export declare function resolveSessionLimits(config?: LimitsSessionConfig): ResolvedSessionLimits;
28
+ /** Cumulative spend, either for a single agent or summed across the session. */
29
+ export interface BudgetSpend {
30
+ costSpent: number;
31
+ tokensUsed: number;
32
+ }
33
+ /**
34
+ * Budget check (cost + tokens) shared by per-agent and session-wide budgets.
35
+ *
36
+ * Kept separate from {@link checkLimits} so it can run in `beforeInference` —
37
+ * blocking the *next* call once the budget is exhausted — without also tripping
38
+ * the counter/pattern limits (those are enforced in `afterInference`). Uses
39
+ * float-aware comparisons (no flooring) so sub-dollar budgets behave correctly.
40
+ */
41
+ export declare function checkBudget(spend: BudgetSpend, costLimit: number, tokenLimit: number, softLimitRatio: number, names: {
42
+ cost: string;
43
+ tokens: string;
44
+ }): LimitCheckResult;
19
45
  export type LimitCheckResult = {
20
46
  status: 'ok';
21
47
  } | {
@@ -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,MAAM,kCAAkC,CAAA;AACnE,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;CAC5B;AAaD,wBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,mBAAmB,CAY5E;AAMD,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,CA+ElG;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,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"}
@@ -12,6 +12,10 @@ const DEFAULTS = {
12
12
  softLimitRatio: 0.8,
13
13
  maxRepeatedToolCalls: 3,
14
14
  maxRepeatedResponses: 3,
15
+ // Budgets and the compaction cap are opt-in: unset means unlimited.
16
+ maxCost: Number.POSITIVE_INFINITY,
17
+ maxTokens: Number.POSITIVE_INFINITY,
18
+ maxCompactions: Number.POSITIVE_INFINITY,
15
19
  };
16
20
  export function resolveAgentLimits(config) {
17
21
  if (!config)
@@ -25,8 +29,70 @@ export function resolveAgentLimits(config) {
25
29
  softLimitRatio: config.softLimitRatio ?? DEFAULTS.softLimitRatio,
26
30
  maxRepeatedToolCalls: config.maxRepeatedToolCalls ?? DEFAULTS.maxRepeatedToolCalls,
27
31
  maxRepeatedResponses: config.maxRepeatedResponses ?? DEFAULTS.maxRepeatedResponses,
32
+ maxCost: config.maxCost ?? DEFAULTS.maxCost,
33
+ maxTokens: config.maxTokens ?? DEFAULTS.maxTokens,
34
+ maxCompactions: config.maxCompactions ?? DEFAULTS.maxCompactions,
28
35
  };
29
36
  }
37
+ const SESSION_DEFAULTS = {
38
+ maxSessionCost: Number.POSITIVE_INFINITY,
39
+ maxSessionTokens: Number.POSITIVE_INFINITY,
40
+ softLimitRatio: 0.8,
41
+ };
42
+ export function resolveSessionLimits(config) {
43
+ if (!config)
44
+ return SESSION_DEFAULTS;
45
+ return {
46
+ maxSessionCost: config.maxSessionCost ?? SESSION_DEFAULTS.maxSessionCost,
47
+ maxSessionTokens: config.maxSessionTokens ?? SESSION_DEFAULTS.maxSessionTokens,
48
+ softLimitRatio: config.softLimitRatio ?? SESSION_DEFAULTS.softLimitRatio,
49
+ };
50
+ }
51
+ /**
52
+ * Budget check (cost + tokens) shared by per-agent and session-wide budgets.
53
+ *
54
+ * Kept separate from {@link checkLimits} so it can run in `beforeInference` —
55
+ * blocking the *next* call once the budget is exhausted — without also tripping
56
+ * the counter/pattern limits (those are enforced in `afterInference`). Uses
57
+ * float-aware comparisons (no flooring) so sub-dollar budgets behave correctly.
58
+ */
59
+ export function checkBudget(spend, costLimit, tokenLimit, softLimitRatio, names) {
60
+ const checks = [
61
+ { name: names.cost, current: spend.costSpent, max: costLimit },
62
+ { name: names.tokens, current: spend.tokensUsed, max: tokenLimit },
63
+ ];
64
+ // Hard limits
65
+ for (const check of checks) {
66
+ if (check.current >= check.max) {
67
+ return {
68
+ status: 'hard_limit',
69
+ limitName: check.name,
70
+ currentValue: check.current,
71
+ hardLimit: check.max,
72
+ reason: `${check.name} reached: ${formatBudget(check.current)}/${formatBudget(check.max)}`,
73
+ };
74
+ }
75
+ }
76
+ // Soft warnings
77
+ for (const check of checks) {
78
+ if (check.max !== Number.POSITIVE_INFINITY && check.current >= check.max * softLimitRatio) {
79
+ return {
80
+ status: 'soft_warning',
81
+ limitName: check.name,
82
+ currentValue: check.current,
83
+ hardLimit: check.max,
84
+ message: `Approaching ${check.name} limit: ${formatBudget(check.current)}/${formatBudget(check.max)}`,
85
+ };
86
+ }
87
+ }
88
+ return { status: 'ok' };
89
+ }
90
+ /** Format a budget value compactly — 4 decimals for fractional (cost), integer otherwise. */
91
+ function formatBudget(value) {
92
+ if (value === Number.POSITIVE_INFINITY)
93
+ return '∞';
94
+ return Number.isInteger(value) ? String(value) : value.toFixed(4);
95
+ }
30
96
  // ============================================================================
31
97
  // Check logic
32
98
  // ============================================================================
@@ -37,6 +103,7 @@ export function checkLimits(counters, limits) {
37
103
  { name: 'maxToolCalls', current: counters.toolCallCount, max: limits.maxToolCalls },
38
104
  { name: 'maxSpawnedAgents', current: counters.spawnedAgentCount, max: limits.maxSpawnedAgents },
39
105
  { name: 'maxMessagesSent', current: counters.messagesSentCount, max: limits.maxMessagesSent },
106
+ { name: 'maxCompactions', current: counters.compactionCount, max: limits.maxCompactions },
40
107
  ];
41
108
  for (const check of hardChecks) {
42
109
  if (check.current >= check.max) {
@@ -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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"}
@@ -1,5 +1,5 @@
1
1
  import { describe, expect, it } from 'bun:test';
2
- import { checkLimits, resolveAgentLimits } from './limit-guard.js';
2
+ import { checkBudget, checkLimits, resolveAgentLimits, resolveSessionLimits } from './limit-guard.js';
3
3
  import { createAgentCounters } from './plugin.js';
4
4
  describe('resolveAgentLimits', () => {
5
5
  it('returns defaults when no config', () => {
@@ -12,6 +12,10 @@ 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
+ // Budgets and compaction cap are opt-in (unlimited by default)
16
+ expect(limits.maxCost).toBe(Number.POSITIVE_INFINITY);
17
+ expect(limits.maxTokens).toBe(Number.POSITIVE_INFINITY);
18
+ expect(limits.maxCompactions).toBe(Number.POSITIVE_INFINITY);
15
19
  });
16
20
  it('returns defaults when empty config', () => {
17
21
  const limits = resolveAgentLimits({});
@@ -117,5 +121,65 @@ describe('checkLimits', () => {
117
121
  }), defaultLimits);
118
122
  expect(result.status).toBe('hard_limit');
119
123
  });
124
+ // --- Compaction limit ---
125
+ it('detects maxCompactions hard limit', () => {
126
+ const limits = resolveAgentLimits({ maxCompactions: 5 });
127
+ const result = checkLimits(makeCounters({ compactionCount: 5 }), limits);
128
+ expect(result.status).toBe('hard_limit');
129
+ if (result.status === 'hard_limit') {
130
+ expect(result.limitName).toBe('maxCompactions');
131
+ }
132
+ });
133
+ it('does not cap compactions by default (unlimited)', () => {
134
+ const result = checkLimits(makeCounters({ compactionCount: 9999 }), defaultLimits);
135
+ expect(result.status).toBe('ok');
136
+ });
137
+ });
138
+ describe('checkBudget', () => {
139
+ const names = { cost: 'maxCost', tokens: 'maxTokens' };
140
+ it('returns ok when under budget', () => {
141
+ const result = checkBudget({ costSpent: 1, tokensUsed: 100 }, 5, 1000, 0.8, names);
142
+ expect(result.status).toBe('ok');
143
+ });
144
+ it('returns ok when unlimited (Infinity)', () => {
145
+ const result = checkBudget({ costSpent: 1_000_000, tokensUsed: 1_000_000 }, Number.POSITIVE_INFINITY, Number.POSITIVE_INFINITY, 0.8, names);
146
+ expect(result.status).toBe('ok');
147
+ });
148
+ it('detects cost hard limit', () => {
149
+ const result = checkBudget({ costSpent: 5.01, tokensUsed: 0 }, 5, Number.POSITIVE_INFINITY, 0.8, names);
150
+ expect(result.status).toBe('hard_limit');
151
+ if (result.status === 'hard_limit')
152
+ expect(result.limitName).toBe('maxCost');
153
+ });
154
+ it('detects token hard limit', () => {
155
+ const result = checkBudget({ costSpent: 0, tokensUsed: 1000 }, Number.POSITIVE_INFINITY, 1000, 0.8, names);
156
+ expect(result.status).toBe('hard_limit');
157
+ if (result.status === 'hard_limit')
158
+ expect(result.limitName).toBe('maxTokens');
159
+ });
160
+ it('emits soft warning approaching cost budget', () => {
161
+ const result = checkBudget({ costSpent: 4.2, tokensUsed: 0 }, 5, Number.POSITIVE_INFINITY, 0.8, names);
162
+ expect(result.status).toBe('soft_warning');
163
+ if (result.status === 'soft_warning')
164
+ expect(result.limitName).toBe('maxCost');
165
+ });
166
+ it('handles sub-dollar budgets without spurious warnings', () => {
167
+ // floor-based logic would warn at $0 for a $0.50 budget — float-aware must not.
168
+ const result = checkBudget({ costSpent: 0.1, tokensUsed: 0 }, 0.5, Number.POSITIVE_INFINITY, 0.8, names);
169
+ expect(result.status).toBe('ok');
170
+ });
171
+ });
172
+ describe('resolveSessionLimits', () => {
173
+ it('defaults to unlimited', () => {
174
+ const limits = resolveSessionLimits();
175
+ expect(limits.maxSessionCost).toBe(Number.POSITIVE_INFINITY);
176
+ expect(limits.maxSessionTokens).toBe(Number.POSITIVE_INFINITY);
177
+ expect(limits.softLimitRatio).toBe(0.8);
178
+ });
179
+ it('overrides specific values', () => {
180
+ const limits = resolveSessionLimits({ maxSessionCost: 10 });
181
+ expect(limits.maxSessionCost).toBe(10);
182
+ expect(limits.maxSessionTokens).toBe(Number.POSITIVE_INFINITY);
183
+ });
120
184
  });
121
185
  //# sourceMappingURL=limit-guard.test.js.map