import assert from 'node:assert/strict'; import test from 'node:test'; import { buildHeadroomRunObservation, isHeadroomEligibleForSkill, resolveGoosedApiUrlWithHeadroom, resolveHeadroomMode, resolveHeadroomProxyBaseUrl, } from './memind-headroom-policy.mjs'; test('resolveHeadroomMode defaults to off and rejects unknown values', () => { assert.equal(resolveHeadroomMode({}), 'off'); assert.equal(resolveHeadroomMode({ MEMIND_HEADROOM_MODE: 'shadow' }), 'shadow'); assert.equal(resolveHeadroomMode({ MEMIND_HEADROOM_MODE: 'bogus' }), 'off'); }); test('resolveHeadroomProxyBaseUrl honors explicit override', () => { assert.equal( resolveHeadroomProxyBaseUrl({ MEMIND_HEADROOM_PROXY_BASE_URL: 'http://127.0.0.1:9999/v1' }), 'http://127.0.0.1:9999/v1', ); }); test('isHeadroomEligibleForSkill excludes page and code skills by default', () => { assert.equal(isHeadroomEligibleForSkill('web', { MEMIND_HEADROOM_MODE: 'shadow' }), true); assert.equal( isHeadroomEligibleForSkill('static-page-publish', { MEMIND_HEADROOM_MODE: 'shadow' }), false, ); assert.equal( isHeadroomEligibleForSkill('page-data-collect', { MEMIND_HEADROOM_MODE: 'active' }), false, ); }); test('resolveGoosedApiUrlWithHeadroom is fail-open in active mode', () => { const original = 'http://127.0.0.1:18036/v1'; const shadow = resolveGoosedApiUrlWithHeadroom({ apiUrl: original, mode: 'shadow', headroomReachable: false, eligible: true, env: { MEMIND_HEADROOM_PROXY_BASE_URL: 'http://127.0.0.1:8787/v1' }, }); assert.equal(shadow.apiUrl, original); assert.equal(shadow.routed, false); assert.equal(shadow.wouldRouteTo, 'http://127.0.0.1:8787/v1'); const activeFallback = resolveGoosedApiUrlWithHeadroom({ apiUrl: original, mode: 'active', headroomReachable: false, eligible: true, env: { MEMIND_HEADROOM_PROXY_BASE_URL: 'http://127.0.0.1:8787/v1' }, }); assert.equal(activeFallback.apiUrl, original); assert.equal(activeFallback.fallback, 'headroom_unreachable'); const active = resolveGoosedApiUrlWithHeadroom({ apiUrl: original, mode: 'active', headroomReachable: true, eligible: true, env: { MEMIND_HEADROOM_PROXY_BASE_URL: 'http://127.0.0.1:8787/v1' }, }); assert.equal(active.apiUrl, 'http://127.0.0.1:8787/v1'); assert.equal(active.routed, true); }); test('buildHeadroomRunObservation reports skill eligibility', () => { const observation = buildHeadroomRunObservation({ skillId: 'static-page-publish', env: { MEMIND_HEADROOM_MODE: 'shadow' }, }); assert.equal(observation.mode, 'shadow'); assert.equal(observation.eligible, false); assert.equal(observation.proxyBaseUrl, 'http://127.0.0.1:8787/v1'); });