'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); });