verification-layer 0.24.5 → 0.25.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/README.md +39 -1
  2. package/dist/cli.js +76 -12
  3. package/dist/cli.js.map +1 -1
  4. package/dist/compliance-score.d.ts +1 -0
  5. package/dist/compliance-score.d.ts.map +1 -1
  6. package/dist/compliance-score.js +1 -1
  7. package/dist/compliance-score.js.map +1 -1
  8. package/dist/exclusions.d.ts +13 -0
  9. package/dist/exclusions.d.ts.map +1 -0
  10. package/dist/exclusions.js +27 -0
  11. package/dist/exclusions.js.map +1 -0
  12. package/dist/reporters/auditor-report.d.ts +2 -1
  13. package/dist/reporters/auditor-report.d.ts.map +1 -1
  14. package/dist/reporters/auditor-report.js +239 -21
  15. package/dist/reporters/auditor-report.js.map +1 -1
  16. package/dist/reporters/branding.d.ts +39 -0
  17. package/dist/reporters/branding.d.ts.map +1 -0
  18. package/dist/reporters/branding.js +124 -0
  19. package/dist/reporters/branding.js.map +1 -0
  20. package/dist/reporters/finding-presentation.d.ts +84 -0
  21. package/dist/reporters/finding-presentation.d.ts.map +1 -0
  22. package/dist/reporters/finding-presentation.js +217 -0
  23. package/dist/reporters/finding-presentation.js.map +1 -0
  24. package/dist/reporters/index.d.ts.map +1 -1
  25. package/dist/reporters/index.js +34 -0
  26. package/dist/reporters/index.js.map +1 -1
  27. package/dist/reporters/scan-pdf-report.d.ts +23 -0
  28. package/dist/reporters/scan-pdf-report.d.ts.map +1 -0
  29. package/dist/reporters/scan-pdf-report.js +325 -0
  30. package/dist/reporters/scan-pdf-report.js.map +1 -0
  31. package/dist/scan.d.ts +11 -0
  32. package/dist/scan.d.ts.map +1 -1
  33. package/dist/scan.js +46 -1
  34. package/dist/scan.js.map +1 -1
  35. package/dist/scanners/authentication/index.d.ts.map +1 -1
  36. package/dist/scanners/authentication/index.js +30 -23
  37. package/dist/scanners/authentication/index.js.map +1 -1
  38. package/dist/scanners/credentials/index.d.ts.map +1 -1
  39. package/dist/scanners/credentials/index.js +7 -2
  40. package/dist/scanners/credentials/index.js.map +1 -1
  41. package/dist/scanners/credentials/index.test.js +3 -3
  42. package/dist/scanners/credentials/patterns.d.ts.map +1 -1
  43. package/dist/scanners/credentials/patterns.js +3 -3
  44. package/dist/scanners/credentials/patterns.js.map +1 -1
  45. package/dist/scanners/hipaa2026/index.d.ts.map +1 -1
  46. package/dist/scanners/hipaa2026/index.js +7 -19
  47. package/dist/scanners/hipaa2026/index.js.map +1 -1
  48. package/dist/scanners/hipaa2026/index.test.js +2 -2
  49. package/dist/scanners/hipaa2026/patterns.d.ts.map +1 -1
  50. package/dist/scanners/hipaa2026/patterns.js +18 -5
  51. package/dist/scanners/hipaa2026/patterns.js.map +1 -1
  52. package/dist/scanners/operational/index.d.ts.map +1 -1
  53. package/dist/scanners/operational/index.js +24 -24
  54. package/dist/scanners/operational/index.js.map +1 -1
  55. package/dist/scanners/rbac/index.test.js +3 -0
  56. package/dist/scanners/rbac/index.test.js.map +1 -1
  57. package/dist/scanners/rbac/patterns.d.ts.map +1 -1
  58. package/dist/scanners/rbac/patterns.js +10 -3
  59. package/dist/scanners/rbac/patterns.js.map +1 -1
  60. package/dist/scanners/utils.d.ts +44 -0
  61. package/dist/scanners/utils.d.ts.map +1 -0
  62. package/dist/scanners/utils.js +77 -0
  63. package/dist/scanners/utils.js.map +1 -0
  64. package/dist/types.d.ts +38 -1
  65. package/dist/types.d.ts.map +1 -1
  66. package/package.json +2 -2
  67. package/dist/scan-code.d.ts +0 -12
  68. package/dist/scan-code.d.ts.map +0 -1
  69. package/dist/scan-code.js +0 -34
  70. package/dist/scan-code.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/reporters/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/reporters/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type { ScanResult, ResolvedBranding } from '../types.js';
2
+ export interface ScanPdfReportOptions {
3
+ organizationName?: string;
4
+ reportPeriod?: string;
5
+ auditorName?: string;
6
+ includeBaseline?: boolean;
7
+ branding?: ResolvedBranding;
8
+ }
9
+ /**
10
+ * Generate a branded PDF compliance report from a scan result.
11
+ *
12
+ * Mirrors the HTML auditor report: a cover with the brand logo + "Prepared by",
13
+ * a scan summary, a findings table, and a footer that repeats on every page
14
+ * ("Prepared by {brand} · Powered by VLayer"). With no branding it falls back
15
+ * to default VLayer presentation.
16
+ *
17
+ * @returns the PDF as a Buffer plus its SHA256 hash for integrity verification.
18
+ */
19
+ export declare function generateScanPdf(result: ScanResult, targetPath: string, options?: ScanPdfReportOptions): Promise<{
20
+ buffer: Buffer;
21
+ hash: string;
22
+ }>;
23
+ //# sourceMappingURL=scan-pdf-report.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scan-pdf-report.d.ts","sourceRoot":"","sources":["../../src/reporters/scan-pdf-report.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAW,UAAU,EAAE,gBAAgB,EAAY,MAAM,aAAa,CAAC;AAqCnF,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAiD3C"}
@@ -0,0 +1,325 @@
1
+ import PDFDocument from 'pdfkit';
2
+ import { createHash } from 'crypto';
3
+ import { resolve as resolvePath, basename } from 'path';
4
+ import { brandFooterText, brandPreparedBy, pdfLogoPath } from './branding.js';
5
+ import { groupFindingsByLocation, countFindingsBySeverity, formatHipaaRef, partitionFindingsByStatus, sortProposedFindings, toRelativeDisplayPath, } from './finding-presentation.js';
6
+ const COLORS = {
7
+ primary: '#4f46e5',
8
+ headerStart: '#667eea',
9
+ text: '#1f2937',
10
+ secondary: '#6b7280',
11
+ muted: '#9ca3af',
12
+ critical: '#dc2626',
13
+ high: '#ea580c',
14
+ medium: '#ca8a04',
15
+ low: '#2563eb',
16
+ info: '#6b7280',
17
+ proposed: '#64748b',
18
+ background: '#f9fafb',
19
+ border: '#e5e7eb',
20
+ white: '#ffffff',
21
+ };
22
+ const SEVERITY_COLOR = {
23
+ critical: COLORS.critical,
24
+ high: COLORS.high,
25
+ medium: COLORS.medium,
26
+ low: COLORS.low,
27
+ info: COLORS.info,
28
+ };
29
+ /**
30
+ * Generate a branded PDF compliance report from a scan result.
31
+ *
32
+ * Mirrors the HTML auditor report: a cover with the brand logo + "Prepared by",
33
+ * a scan summary, a findings table, and a footer that repeats on every page
34
+ * ("Prepared by {brand} · Powered by VLayer"). With no branding it falls back
35
+ * to default VLayer presentation.
36
+ *
37
+ * @returns the PDF as a Buffer plus its SHA256 hash for integrity verification.
38
+ */
39
+ export function generateScanPdf(result, targetPath, options = {}) {
40
+ return new Promise((resolve, reject) => {
41
+ const branding = options.branding;
42
+ const preparedBy = brandPreparedBy(branding);
43
+ const footerLine = brandFooterText(branding);
44
+ const logoPath = pdfLogoPath(branding);
45
+ const doc = new PDFDocument({
46
+ size: 'A4',
47
+ margins: { top: 50, bottom: 60, left: 50, right: 50 },
48
+ bufferPages: true,
49
+ info: {
50
+ Title: 'HIPAA Compliance Report',
51
+ Author: preparedBy,
52
+ Subject: 'HIPAA Compliance Assessment',
53
+ Creator: 'vlayer - HIPAA Compliance Scanner',
54
+ },
55
+ });
56
+ const chunks = [];
57
+ doc.on('data', chunk => chunks.push(chunk));
58
+ doc.on('end', () => {
59
+ const buffer = Buffer.concat(chunks);
60
+ const hash = createHash('sha256').update(buffer).digest('hex');
61
+ resolve({ buffer, hash });
62
+ });
63
+ doc.on('error', reject);
64
+ const activeFindings = result.findings.filter(f => !f.isBaseline && !f.suppressed);
65
+ const { current, proposed: proposedRaw } = partitionFindingsByStatus(activeFindings);
66
+ const proposed = sortProposedFindings(proposedRaw);
67
+ // Resolve the scan root so every file path can be rendered relative to it —
68
+ // a white-label PDF must never leak the developer's absolute machine path.
69
+ const absTargetRoot = resolvePath(targetPath);
70
+ try {
71
+ const groups = groupFindingsByLocation(current);
72
+ renderCover(doc, result, absTargetRoot, options, preparedBy, logoPath, current, groups.length, proposed.length);
73
+ doc.addPage();
74
+ renderFindings(doc, groups, current.length, absTargetRoot);
75
+ if (proposed.length > 0)
76
+ renderProposedSection(doc, proposed, absTargetRoot);
77
+ stampFooters(doc, footerLine);
78
+ doc.end();
79
+ }
80
+ catch (err) {
81
+ reject(err instanceof Error ? err : new Error(String(err)));
82
+ }
83
+ });
84
+ }
85
+ const PAGE_WIDTH = (doc) => doc.page.width - doc.page.margins.left - doc.page.margins.right;
86
+ function renderCover(doc, result, absTargetRoot, options, preparedBy, logoPath, currentFindings, locationCount, proposedCount) {
87
+ const left = doc.page.margins.left;
88
+ const contentWidth = PAGE_WIDTH(doc);
89
+ // Header band
90
+ doc.rect(0, 0, doc.page.width, 210).fill(COLORS.headerStart);
91
+ // Brand logo (PNG/JPG only — SVG is skipped upstream and falls through to text).
92
+ if (logoPath) {
93
+ try {
94
+ doc.image(logoPath, left, 36, { fit: [180, 60] });
95
+ }
96
+ catch {
97
+ // Corrupt/unsupported image data: render without the logo rather than fail.
98
+ }
99
+ }
100
+ doc.fillColor(COLORS.white)
101
+ .font('Helvetica-Bold')
102
+ .fontSize(30)
103
+ .text('HIPAA Compliance Report', left, 108, { width: contentWidth });
104
+ doc.font('Helvetica')
105
+ .fontSize(13)
106
+ .text(`Prepared by ${preparedBy}`, left, 150, { width: contentWidth });
107
+ if (options.reportPeriod) {
108
+ doc.fontSize(11).text(options.reportPeriod, left, 172, { width: contentWidth });
109
+ }
110
+ // Project info box
111
+ doc.fillColor(COLORS.text);
112
+ const boxY = 250;
113
+ doc.rect(left, boxY, contentWidth, 150).fill(COLORS.background);
114
+ doc.rect(left, boxY, contentWidth, 150).stroke(COLORS.border);
115
+ doc.fillColor(COLORS.primary).font('Helvetica-Bold').fontSize(15)
116
+ .text('Project Information', left + 20, boxY + 18);
117
+ const infoItems = [
118
+ ['Target Path:', basename(absTargetRoot) || absTargetRoot],
119
+ ['Organization:', options.organizationName || 'Not specified'],
120
+ ['Report Generated:', new Date().toLocaleString()],
121
+ ['Files Scanned:', String(result.scannedFiles)],
122
+ ];
123
+ let y = boxY + 48;
124
+ doc.fontSize(11);
125
+ for (const [label, value] of infoItems) {
126
+ doc.fillColor(COLORS.secondary).font('Helvetica-Bold').text(label, left + 20, y, { continued: true });
127
+ doc.fillColor(COLORS.text).font('Helvetica').text(` ${value}`, { width: contentWidth - 40 });
128
+ y += 22;
129
+ }
130
+ // Summary stat cards
131
+ const statsY = 430;
132
+ doc.fillColor(COLORS.primary).font('Helvetica-Bold').fontSize(15)
133
+ .text('Scan Summary', left + 20, statsY);
134
+ doc.fillColor(COLORS.secondary).font('Helvetica').fontSize(10)
135
+ .text(`${currentFindings.length} findings grouped into ${locationCount} location${locationCount === 1 ? '' : 's'}`, left + 20, statsY + 20);
136
+ if (proposedCount > 0) {
137
+ doc.fillColor(COLORS.secondary).font('Helvetica-Oblique').fontSize(9)
138
+ .text(`+ ${proposedCount} upcoming requirement${proposedCount === 1 ? '' : 's'} (NPRM — proposed rule), excluded from the counts below`, left + 20, statsY + 33);
139
+ }
140
+ const counts = countFindingsBySeverity(currentFindings);
141
+ const stats = [
142
+ { label: 'Critical', value: String(counts.critical), color: COLORS.critical },
143
+ { label: 'High', value: String(counts.high), color: COLORS.high },
144
+ { label: 'Medium', value: String(counts.medium), color: COLORS.medium },
145
+ { label: 'Low', value: String(counts.low), color: COLORS.low },
146
+ ];
147
+ const gap = 10;
148
+ const cardW = (contentWidth - gap * 3) / 4;
149
+ const cardsY = statsY + 44;
150
+ stats.forEach((stat, i) => {
151
+ const x = left + i * (cardW + gap);
152
+ doc.rect(x, cardsY, cardW, 70).fill(stat.color);
153
+ doc.fillColor(COLORS.white).font('Helvetica-Bold').fontSize(24)
154
+ .text(stat.value, x, cardsY + 14, { width: cardW, align: 'center' });
155
+ doc.font('Helvetica').fontSize(10)
156
+ .text(stat.label, x, cardsY + 46, { width: cardW, align: 'center' });
157
+ });
158
+ // Compliance score
159
+ if (result.complianceScore) {
160
+ const score = result.complianceScore;
161
+ const scoreY = cardsY + 100;
162
+ doc.fillColor(COLORS.text).font('Helvetica-Bold').fontSize(13)
163
+ .text(`Compliance Score: ${score.score}/100 (Grade ${score.grade})`, left + 20, scoreY);
164
+ doc.fillColor(COLORS.secondary).font('Helvetica').fontSize(11)
165
+ .text(`Status: ${score.status}`, left + 20, scoreY + 18);
166
+ }
167
+ }
168
+ /**
169
+ * Render findings grouped by location. A location with a single finding renders
170
+ * as one entry; a location with several rules renders as one consolidated entry
171
+ * with the file:line header and an indented list of the controls flagged there.
172
+ * No finding is dropped — every member of every group is printed.
173
+ */
174
+ function renderFindings(doc, groups, findingCount, absTargetRoot) {
175
+ const left = doc.page.margins.left;
176
+ const contentWidth = PAGE_WIDTH(doc);
177
+ doc.fillColor(COLORS.primary).font('Helvetica-Bold').fontSize(20)
178
+ .text('Findings by Location', left, doc.page.margins.top);
179
+ doc.fillColor(COLORS.secondary).font('Helvetica').fontSize(10)
180
+ .text(`${findingCount} findings grouped into ${groups.length} location${groups.length === 1 ? '' : 's'} — multiple controls at the same file & line are shown together, each counted individually.`, { width: contentWidth });
181
+ doc.moveDown(0.6);
182
+ if (groups.length === 0) {
183
+ doc.fillColor(COLORS.text).font('Helvetica').fontSize(12)
184
+ .text('No active compliance findings. ✅', { width: contentWidth });
185
+ return;
186
+ }
187
+ const refX = left + 16;
188
+ const refW = contentWidth - 16;
189
+ for (const g of groups) {
190
+ if (g.members.length === 1) {
191
+ renderSingleEntry(doc, g.members[0], left, contentWidth, absTargetRoot);
192
+ }
193
+ else {
194
+ renderGroupedEntry(doc, g, left, contentWidth, refX, refW, absTargetRoot);
195
+ }
196
+ }
197
+ }
198
+ /** Add a page (with a continued header) if `needed` vertical space is unavailable. */
199
+ function ensureSpace(doc, needed) {
200
+ if (doc.y + needed > doc.page.height - doc.page.margins.bottom) {
201
+ doc.addPage();
202
+ doc.fillColor(COLORS.primary).font('Helvetica-Bold').fontSize(14)
203
+ .text('Findings by Location (continued)', doc.page.margins.left, doc.page.margins.top);
204
+ doc.moveDown(0.6);
205
+ }
206
+ }
207
+ function severityBadge(doc, severity, x, y, width = 62) {
208
+ const color = SEVERITY_COLOR[severity] || COLORS.info;
209
+ doc.roundedRect(x, y, width, 15, 3).fill(color);
210
+ doc.fillColor(COLORS.white).font('Helvetica-Bold').fontSize(7.5)
211
+ .text(severity.toUpperCase(), x, y + 4, { width, align: 'center' });
212
+ }
213
+ function renderSingleEntry(doc, f, left, contentWidth, absTargetRoot) {
214
+ const textX = left + 72;
215
+ const textW = contentWidth - 72;
216
+ const ref = formatHipaaRef(f.hipaaReference);
217
+ const relFile = toRelativeDisplayPath(f.file, absTargetRoot);
218
+ const titleH = doc.font('Helvetica-Bold').fontSize(10.5).heightOfString(f.title, { width: textW });
219
+ const refH = doc.font('Helvetica').fontSize(8).heightOfString(ref, { width: textW });
220
+ const blockH = Math.max(titleH + refH + 8, 30);
221
+ ensureSpace(doc, blockH + 8);
222
+ const y = doc.y;
223
+ severityBadge(doc, f.severity, left, y);
224
+ doc.fillColor(COLORS.text).font('Helvetica-Bold').fontSize(10.5)
225
+ .text(f.title, textX, y, { width: textW });
226
+ doc.fillColor(COLORS.muted).font('Courier').fontSize(8)
227
+ .text(`${relFile}${f.line ? `:${f.line}` : ''}`, textX, doc.y + 1, { width: textW });
228
+ doc.fillColor(COLORS.secondary).font('Helvetica').fontSize(8)
229
+ .text(ref, textX, doc.y + 1, { width: textW });
230
+ doc.y = y + blockH;
231
+ doc.moveTo(left, doc.y - 4).lineTo(left + contentWidth, doc.y - 4).strokeColor(COLORS.border).stroke();
232
+ }
233
+ function renderGroupedEntry(doc, g, left, contentWidth, refX, refW, absTargetRoot) {
234
+ // Header: group-severity badge + file:line + control count.
235
+ const relFile = toRelativeDisplayPath(g.file, absTargetRoot);
236
+ const headerText = `${relFile}${g.line ? `:${g.line}` : ''} · ${g.members.length} controls flagged at this location`;
237
+ const headerH = doc.font('Helvetica-Bold').fontSize(10).heightOfString(headerText, { width: contentWidth - 72 });
238
+ ensureSpace(doc, Math.max(headerH, 16) + 14);
239
+ const hy = doc.y;
240
+ severityBadge(doc, g.severity, left, hy);
241
+ doc.fillColor(COLORS.text).font('Helvetica-Bold').fontSize(10)
242
+ .text(headerText, left + 72, hy, { width: contentWidth - 72 });
243
+ doc.y = Math.max(doc.y, hy + 16) + 4;
244
+ // One indented line block per control.
245
+ for (const f of g.members) {
246
+ const label = `${f.severity.toUpperCase()} · ${f.title}`;
247
+ const ref = formatHipaaRef(f.hipaaReference);
248
+ const labelH = doc.font('Helvetica').fontSize(9.5).heightOfString(label, { width: refW });
249
+ const refH = doc.font('Helvetica').fontSize(8).heightOfString(ref, { width: refW - 12 });
250
+ const memberH = labelH + refH + 6;
251
+ ensureSpace(doc, memberH + 2);
252
+ const my = doc.y;
253
+ doc.fillColor(SEVERITY_COLOR[f.severity] || COLORS.info).font('Helvetica-Bold').fontSize(9.5)
254
+ .text(`${f.severity.toUpperCase()} · `, refX, my, { continued: true });
255
+ doc.fillColor(COLORS.text).font('Helvetica').fontSize(9.5)
256
+ .text(f.title, { width: refW });
257
+ doc.fillColor(COLORS.secondary).font('Helvetica').fontSize(8)
258
+ .text(ref, refX + 12, doc.y + 1, { width: refW - 12 });
259
+ doc.y = my + memberH;
260
+ }
261
+ doc.moveDown(0.2);
262
+ doc.moveTo(left, doc.y).lineTo(left + contentWidth, doc.y).strokeColor(COLORS.border).stroke();
263
+ doc.moveDown(0.4);
264
+ }
265
+ /**
266
+ * Render proposed (NPRM) requirements in their own subsection, after the current
267
+ * findings. Neutral "PROPOSED" badge — never a red/critical severity — so a
268
+ * proposed rule is never shown as a current violation.
269
+ */
270
+ function renderProposedSection(doc, proposed, absTargetRoot) {
271
+ const left = doc.page.margins.left;
272
+ const contentWidth = PAGE_WIDTH(doc);
273
+ doc.moveDown(0.8);
274
+ ensureSpace(doc, 110);
275
+ doc.fillColor(COLORS.proposed).font('Helvetica-Bold').fontSize(16)
276
+ .text('Upcoming Requirements', left, doc.y, { width: contentWidth });
277
+ doc.fillColor(COLORS.secondary).font('Helvetica-Oblique').fontSize(9.5)
278
+ .text('NPRM — proposed rule, not yet in effect', { width: contentWidth });
279
+ doc.moveDown(0.4);
280
+ doc.fillColor(COLORS.secondary).font('Helvetica').fontSize(9)
281
+ .text('These reference the proposed 2026 HIPAA Security Rule (NPRM). They are not current obligations and are excluded from the severity summary above. They will apply if and when the rule is finalized.', { width: contentWidth });
282
+ doc.moveDown(0.6);
283
+ for (const f of proposed) {
284
+ const ref = formatHipaaRef(f.hipaaReference);
285
+ const textX = left + 72;
286
+ const textW = contentWidth - 72;
287
+ const titleH = doc.font('Helvetica-Bold').fontSize(10.5).heightOfString(f.title, { width: textW });
288
+ const refH = doc.font('Helvetica').fontSize(8).heightOfString(ref, { width: textW });
289
+ const blockH = Math.max(titleH + refH + 8, 30);
290
+ ensureSpace(doc, blockH + 8);
291
+ const y = doc.y;
292
+ doc.roundedRect(left, y, 62, 15, 3).fill(COLORS.proposed);
293
+ doc.fillColor(COLORS.white).font('Helvetica-Bold').fontSize(7.5)
294
+ .text('PROPOSED', left, y + 4, { width: 62, align: 'center' });
295
+ doc.fillColor(COLORS.text).font('Helvetica-Bold').fontSize(10.5)
296
+ .text(f.title, textX, y, { width: textW });
297
+ doc.fillColor(COLORS.muted).font('Courier').fontSize(8)
298
+ .text(`${toRelativeDisplayPath(f.file, absTargetRoot)}${f.line ? `:${f.line}` : ''}`, textX, doc.y + 1, { width: textW });
299
+ doc.fillColor(COLORS.secondary).font('Helvetica').fontSize(8)
300
+ .text(ref, textX, doc.y + 1, { width: textW });
301
+ doc.y = y + blockH;
302
+ doc.moveTo(left, doc.y - 4).lineTo(left + contentWidth, doc.y - 4).strokeColor(COLORS.border).stroke();
303
+ }
304
+ }
305
+ /** Stamp the brand footer + page numbers on every buffered page. */
306
+ function stampFooters(doc, footerLine) {
307
+ const range = doc.bufferedPageRange();
308
+ for (let i = range.start; i < range.start + range.count; i++) {
309
+ doc.switchToPage(i);
310
+ // Drop the bottom margin so footer text near the page edge doesn't spill
311
+ // onto a fresh page.
312
+ doc.page.margins.bottom = 0;
313
+ const width = PAGE_WIDTH(doc);
314
+ const footerY = doc.page.height - 40;
315
+ doc.fillColor(COLORS.secondary).font('Helvetica').fontSize(8)
316
+ .text(footerLine, doc.page.margins.left, footerY, { width, align: 'center', lineBreak: false });
317
+ doc.fillColor(COLORS.muted).fontSize(7)
318
+ .text(`Page ${i - range.start + 1} of ${range.count}`, doc.page.margins.left, footerY + 12, {
319
+ width,
320
+ align: 'center',
321
+ lineBreak: false,
322
+ });
323
+ }
324
+ }
325
+ //# sourceMappingURL=scan-pdf-report.js.map