import { createHash } from 'node:crypto'; import attack from '../../src/assets/data/attack-reference-v19.2.json'; import d3fend from '../../src/assets/data/d3fend-reference-v1.6.0.json'; import type { ReferenceCatalog, ReferenceCatalogSnapshot } from '../../src/domain/reference-recognition'; import { canonicalJson } from '../../src/shared/canonical-json'; export const referenceHash = (value: unknown): string => createHash('sha256').update(canonicalJson(value)).digest('hex'); export function referenceSnapshot(catalog: ReferenceCatalog): ReferenceCatalogSnapshot { return { ...catalog, sha256: referenceHash(catalog) }; } export const bundledReferenceCatalogs = [attack, d3fend].map(catalog => referenceSnapshot(catalog as ReferenceCatalog));