import assert from 'node:assert/strict'; import test from 'node:test'; import { MEMORY_INTERVENTION_LIMIT, MEMORY_INTERVENTION_MODE, memoryLimitForIntervention, resolveMemoryInterventionMode, } from './memory-intervention.mjs'; test('resolveMemoryInterventionMode uses heavy only for deep reasoning', () => { assert.equal( resolveMemoryInterventionMode({ forceDeepReasoning: true, context: 'agent' }), MEMORY_INTERVENTION_MODE.HEAVY, ); assert.equal( resolveMemoryInterventionMode({ recallQuestion: true, context: 'router' }), MEMORY_INTERVENTION_MODE.LIGHT, ); assert.equal(resolveMemoryInterventionMode({ context: 'router' }), MEMORY_INTERVENTION_MODE.SKIP); assert.equal(resolveMemoryInterventionMode({ context: 'agent' }), MEMORY_INTERVENTION_MODE.LIGHT); }); test('memoryLimitForIntervention maps modes to bounded limits', () => { assert.equal(memoryLimitForIntervention(MEMORY_INTERVENTION_MODE.SKIP), 0); assert.equal( memoryLimitForIntervention(MEMORY_INTERVENTION_MODE.HEAVY, { context: 'agent' }), MEMORY_INTERVENTION_LIMIT.HEAVY, ); assert.equal( memoryLimitForIntervention(MEMORY_INTERVENTION_MODE.LIGHT, { context: 'direct_chat' }), MEMORY_INTERVENTION_LIMIT.LIGHT_DIRECT_CHAT, ); assert.equal( memoryLimitForIntervention(MEMORY_INTERVENTION_MODE.LIGHT, { context: 'agent' }), MEMORY_INTERVENTION_LIMIT.LIGHT_AGENT, ); });