chore: CRM-NEW baseline
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
'use strict';
|
||||
|
||||
const test = require('node:test');
|
||||
const assert = require('node:assert/strict');
|
||||
const { extractUrls, auditAnswer } = require('../src/audit');
|
||||
|
||||
test('extractUrls: dedupes and strips punctuation', () => {
|
||||
const urls = extractUrls('See https://a.test/x, and https://a.test/x. Also https://b.test/y');
|
||||
assert.deepEqual(urls, ['https://a.test/x', 'https://b.test/y']);
|
||||
});
|
||||
|
||||
test('auditAnswer: flags URLs not present in tool results', () => {
|
||||
const audit = auditAnswer({
|
||||
finalContent: 'Policy: https://kb.test/policy and https://fake.test/x',
|
||||
toolResults: [{ results: [{ source_urls: ['https://kb.test/policy'] }] }],
|
||||
toolCalls: [{ name: 'search_kb', ok: true }],
|
||||
});
|
||||
assert.deepEqual(audit.unverified_urls, ['https://fake.test/x']);
|
||||
assert.equal(audit.has_unverified_urls, true);
|
||||
assert.equal(audit.tool_errors, 0);
|
||||
});
|
||||
|
||||
test('auditAnswer: counts tool errors and no unverified URLs', () => {
|
||||
const audit = auditAnswer({
|
||||
finalContent: 'See https://kb.test/policy',
|
||||
toolResults: [{ source_urls: ['https://kb.test/policy'] }],
|
||||
toolCalls: [{ name: 'search_kb', ok: true }, { name: 'search_orders', ok: false }],
|
||||
});
|
||||
assert.equal(audit.has_unverified_urls, false);
|
||||
assert.equal(audit.tool_errors, 1);
|
||||
});
|
||||
Reference in New Issue
Block a user