Project Files
scripts / smoke-evidence.ts
import { buildEvidenceBlocks, dedupeEvidenceEntries, formatEvidenceBlocks } from "../packages/adapter-lmstudio/src/evidence";
import type { RetrievalResultEntry } from "@lmstudio/sdk";
function assert(condition: unknown, message: string): asserts condition {
if (!condition) {
throw new Error(message);
}
}
function makeEntry(
content: string,
score: number,
sourceIdentifier: string,
sourceName: string
): RetrievalResultEntry {
return {
content,
score,
source: {
identifier: sourceIdentifier,
name: sourceName,
} as any,
};
}
function main() {
const entries: Array<RetrievalResultEntry> = [
makeEntry(
"The session service uses PostgreSQL for durable session state.",
0.91,
"file-a",
"large-architecture-doc.md"
),
makeEntry(
"The session service uses PostgreSQL for durable session state and prioritizes consistency.",
0.88,
"file-a",
"large-architecture-doc.md"
),
makeEntry(
"The analytics service uses ClickHouse for event aggregation.",
0.63,
"file-a",
"large-architecture-doc.md"
),
];
const dedupedEntries = dedupeEvidenceEntries(entries, 0.5, 4);
assert(dedupedEntries.length === 2, "Expected near-duplicate evidence to be removed.");
assert(
dedupedEntries[0]?.content.includes("PostgreSQL"),
"Expected the strongest PostgreSQL entry to remain."
);
const evidenceBlocks = buildEvidenceBlocks(dedupedEntries);
const formatted = formatEvidenceBlocks(evidenceBlocks);
assert(
formatted.includes("Citation 1") && formatted.includes("file: large-architecture-doc.md"),
"Expected formatted evidence to include citation labels and file names."
);
assert(
formatted.includes("score:"),
"Expected formatted evidence to include evidence scores."
);
console.log("Evidence smoke test passed.\n");
console.log(formatted);
}
try {
main();
} catch (error) {
const message = error instanceof Error ? error.message : String(error);
console.error(`Evidence smoke test failed: ${message}`);
process.exit(1);
}