Files
NetMesh/infrastructure/ai/harness/promptContextSnapshot.test.ts

29 lines
1.1 KiB
TypeScript
Raw Permalink Normal View History

import assert from 'node:assert/strict';
import test from 'node:test';
import { buildPromptContextSnapshot } from './promptContextSnapshot';
test('buildPromptContextSnapshot records inspectable prompt inputs without credentials', () => {
const snapshot = buildPromptContextSnapshot({
providerId: 'openai',
modelId: 'gpt-test',
permissionMode: 'confirm',
scopeType: 'terminal',
scopeLabel: 'production',
toolNames: ['terminal_execute', 'terminal_poll'],
selectedSkillSlugs: ['diagnosing-bugs'],
systemPrompt: 'secret-free rendered prompt',
webSearchEnabled: false,
hostSessionIds: ['session-1'],
builtAt: 123,
});
assert.equal(snapshot.version, 2);
assert.deepEqual(snapshot.toolNames, ['terminal_execute', 'terminal_poll']);
assert.equal(snapshot.systemPromptChars, 27);
assert.match(snapshot.systemPromptHash, /^fnv1a-/);
assert.deepEqual(snapshot.injections.map(item => item.source), [
'system-prompt', 'capability-catalog', 'user-skills', 'terminal-scope', 'web-search',
]);
assert.equal(JSON.stringify(snapshot).includes('secret-free rendered prompt'), false);
});