docrev 0.9.5 → 0.9.6

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 (76) hide show
  1. package/dist/lib/commands/file-ops.d.ts +11 -0
  2. package/dist/lib/commands/file-ops.d.ts.map +1 -0
  3. package/dist/lib/commands/file-ops.js +301 -0
  4. package/dist/lib/commands/file-ops.js.map +1 -0
  5. package/dist/lib/commands/index.d.ts +9 -1
  6. package/dist/lib/commands/index.d.ts.map +1 -1
  7. package/dist/lib/commands/index.js +17 -1
  8. package/dist/lib/commands/index.js.map +1 -1
  9. package/dist/lib/commands/merge-resolve.d.ts +12 -0
  10. package/dist/lib/commands/merge-resolve.d.ts.map +1 -0
  11. package/dist/lib/commands/merge-resolve.js +318 -0
  12. package/dist/lib/commands/merge-resolve.js.map +1 -0
  13. package/dist/lib/commands/preview.d.ts +11 -0
  14. package/dist/lib/commands/preview.d.ts.map +1 -0
  15. package/dist/lib/commands/preview.js +138 -0
  16. package/dist/lib/commands/preview.js.map +1 -0
  17. package/dist/lib/commands/project-info.d.ts +11 -0
  18. package/dist/lib/commands/project-info.d.ts.map +1 -0
  19. package/dist/lib/commands/project-info.js +187 -0
  20. package/dist/lib/commands/project-info.js.map +1 -0
  21. package/dist/lib/commands/quality.d.ts +11 -0
  22. package/dist/lib/commands/quality.d.ts.map +1 -0
  23. package/dist/lib/commands/quality.js +384 -0
  24. package/dist/lib/commands/quality.js.map +1 -0
  25. package/dist/lib/commands/sections.d.ts +3 -2
  26. package/dist/lib/commands/sections.d.ts.map +1 -1
  27. package/dist/lib/commands/sections.js +4 -736
  28. package/dist/lib/commands/sections.js.map +1 -1
  29. package/dist/lib/commands/sync.d.ts +11 -0
  30. package/dist/lib/commands/sync.d.ts.map +1 -0
  31. package/dist/lib/commands/sync.js +441 -0
  32. package/dist/lib/commands/sync.js.map +1 -0
  33. package/dist/lib/commands/text-ops.d.ts +11 -0
  34. package/dist/lib/commands/text-ops.d.ts.map +1 -0
  35. package/dist/lib/commands/text-ops.js +357 -0
  36. package/dist/lib/commands/text-ops.js.map +1 -0
  37. package/dist/lib/commands/utilities.d.ts +2 -4
  38. package/dist/lib/commands/utilities.d.ts.map +1 -1
  39. package/dist/lib/commands/utilities.js +3 -1572
  40. package/dist/lib/commands/utilities.js.map +1 -1
  41. package/dist/lib/commands/word-tools.d.ts +11 -0
  42. package/dist/lib/commands/word-tools.d.ts.map +1 -0
  43. package/dist/lib/commands/word-tools.js +272 -0
  44. package/dist/lib/commands/word-tools.js.map +1 -0
  45. package/dist/lib/diff-engine.d.ts +25 -0
  46. package/dist/lib/diff-engine.d.ts.map +1 -0
  47. package/dist/lib/diff-engine.js +354 -0
  48. package/dist/lib/diff-engine.js.map +1 -0
  49. package/dist/lib/import.d.ts +37 -117
  50. package/dist/lib/import.d.ts.map +1 -1
  51. package/dist/lib/import.js +10 -1030
  52. package/dist/lib/import.js.map +1 -1
  53. package/dist/lib/restore-references.d.ts +35 -0
  54. package/dist/lib/restore-references.d.ts.map +1 -0
  55. package/dist/lib/restore-references.js +188 -0
  56. package/dist/lib/restore-references.js.map +1 -0
  57. package/dist/lib/word-extraction.d.ts +77 -0
  58. package/dist/lib/word-extraction.d.ts.map +1 -0
  59. package/dist/lib/word-extraction.js +515 -0
  60. package/dist/lib/word-extraction.js.map +1 -0
  61. package/lib/commands/file-ops.ts +372 -0
  62. package/lib/commands/index.ts +24 -0
  63. package/lib/commands/merge-resolve.ts +378 -0
  64. package/lib/commands/preview.ts +178 -0
  65. package/lib/commands/project-info.ts +244 -0
  66. package/lib/commands/quality.ts +517 -0
  67. package/lib/commands/sections.ts +3 -870
  68. package/lib/commands/sync.ts +536 -0
  69. package/lib/commands/text-ops.ts +449 -0
  70. package/lib/commands/utilities.ts +62 -2043
  71. package/lib/commands/word-tools.ts +340 -0
  72. package/lib/diff-engine.ts +465 -0
  73. package/lib/import.ts +78 -1338
  74. package/lib/restore-references.ts +240 -0
  75. package/lib/word-extraction.ts +666 -0
  76. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"sections.js","sourceRoot":"","sources":["../../../lib/commands/sections.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sections.js","sourceRoot":"","sources":["../../../lib/commands/sections.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * SYNC command: Import feedback from Word/PDF back to section files
3
+ *
4
+ * Split from sections.ts for maintainability.
5
+ */
6
+ import type { Command } from 'commander';
7
+ /**
8
+ * Register the sync command with the program
9
+ */
10
+ export declare function register(program: Command): void;
11
+ //# sourceMappingURL=sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../lib/commands/sync.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAeH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoBzC;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6e/C"}
@@ -0,0 +1,441 @@
1
+ /**
2
+ * SYNC command: Import feedback from Word/PDF back to section files
3
+ *
4
+ * Split from sections.ts for maintainability.
5
+ */
6
+ import { chalk, fs, path, fmt, findFiles, loadConfig, extractSectionsFromText, countAnnotations, buildRegistry, convertHardcodedRefs, inlineDiffPreview, } from './context.js';
7
+ import * as readline from 'readline';
8
+ /**
9
+ * Register the sync command with the program
10
+ */
11
+ export function register(program) {
12
+ // ==========================================================================
13
+ // SYNC command - Import with section awareness
14
+ // ==========================================================================
15
+ program
16
+ .command('sync')
17
+ .alias('sections')
18
+ .description('Sync feedback from Word/PDF back to section files')
19
+ .argument('[file]', 'Word (.docx) or PDF file from reviewer (default: most recent)')
20
+ .argument('[sections...]', 'Specific sections to sync (default: all)')
21
+ .option('-c, --config <file>', 'Sections config file', 'sections.yaml')
22
+ .option('-d, --dir <directory>', 'Directory with section files', '.')
23
+ .option('--no-crossref', 'Skip converting hardcoded figure/table refs')
24
+ .option('--no-diff', 'Skip showing diff preview')
25
+ .option('--force', 'Overwrite files without conflict warning')
26
+ .option('--dry-run', 'Preview without writing files')
27
+ .action(async (docx, sections, options) => {
28
+ // Auto-detect most recent docx or pdf if not provided
29
+ if (!docx) {
30
+ const docxFiles = findFiles('.docx');
31
+ const pdfFiles = findFiles('.pdf');
32
+ const allFiles = [...docxFiles, ...pdfFiles];
33
+ if (allFiles.length === 0) {
34
+ console.error(fmt.status('error', 'No .docx or .pdf files found in current directory.'));
35
+ process.exit(1);
36
+ }
37
+ const sorted = allFiles
38
+ .map(f => ({ name: f, mtime: fs.statSync(f).mtime }))
39
+ .sort((a, b) => b.mtime.getTime() - a.mtime.getTime());
40
+ docx = sorted[0].name;
41
+ console.log(fmt.status('info', `Using most recent: ${docx}`));
42
+ console.log();
43
+ }
44
+ if (!fs.existsSync(docx)) {
45
+ console.error(fmt.status('error', `File not found: ${docx}`));
46
+ process.exit(1);
47
+ }
48
+ // Handle PDF files
49
+ if (docx.toLowerCase().endsWith('.pdf')) {
50
+ const { extractPdfComments, formatPdfComments, getPdfCommentStats } = await import('../pdf-import.js');
51
+ const spin = fmt.spinner(`Extracting comments from ${path.basename(docx)}...`).start();
52
+ try {
53
+ const comments = await extractPdfComments(docx);
54
+ spin.stop();
55
+ if (comments.length === 0) {
56
+ console.log(fmt.status('info', 'No comments found in PDF.'));
57
+ return;
58
+ }
59
+ const stats = getPdfCommentStats(comments);
60
+ console.log(fmt.header(`PDF Comments from ${path.basename(docx)}`));
61
+ console.log();
62
+ console.log(formatPdfComments(comments));
63
+ console.log();
64
+ const authorList = Object.entries(stats.byAuthor)
65
+ .map(([author, count]) => `${author} (${count})`)
66
+ .join(', ');
67
+ console.log(chalk.dim(`Total: ${stats.total} comments from ${authorList}`));
68
+ console.log();
69
+ const configPath = path.resolve(options.dir, options.config);
70
+ if (fs.existsSync(configPath) && !options.dryRun) {
71
+ const config = loadConfig(configPath);
72
+ const mainSection = config.sections?.[0];
73
+ if (mainSection && typeof mainSection === 'string') {
74
+ const mainPath = path.join(options.dir, mainSection);
75
+ if (fs.existsSync(mainPath)) {
76
+ console.log(chalk.dim(`Use 'rev pdf-comments ${docx} --append ${mainSection}' to add comments to markdown.`));
77
+ }
78
+ }
79
+ }
80
+ }
81
+ catch (err) {
82
+ spin.stop();
83
+ const error = err;
84
+ console.error(fmt.status('error', `Failed to extract PDF comments: ${error.message}`));
85
+ if (process.env.DEBUG)
86
+ console.error(error.stack);
87
+ process.exit(1);
88
+ }
89
+ return;
90
+ }
91
+ const configPath = path.resolve(options.dir, options.config);
92
+ if (!fs.existsSync(configPath)) {
93
+ console.error(fmt.status('error', `Config not found: ${configPath}`));
94
+ console.error(chalk.dim(' Run "rev init" first to generate sections.yaml'));
95
+ process.exit(1);
96
+ }
97
+ // Check pandoc availability upfront and warn
98
+ const { hasPandoc, getInstallInstructions } = await import('../dependencies.js');
99
+ if (!hasPandoc()) {
100
+ console.log(fmt.status('warning', `Pandoc not installed. Track changes will be extracted from XML (formatting may differ).`));
101
+ console.log(chalk.dim(` Install for best results: ${getInstallInstructions('pandoc')}`));
102
+ console.log();
103
+ }
104
+ const spin = fmt.spinner(`Importing ${path.basename(docx)}...`).start();
105
+ try {
106
+ const config = loadConfig(configPath);
107
+ const { importFromWord, extractWordComments, extractCommentAnchors, insertCommentsIntoMarkdown, extractFromWord } = await import('../import.js');
108
+ let registry = null;
109
+ let totalRefConversions = 0;
110
+ if (options.crossref !== false) {
111
+ registry = buildRegistry(options.dir);
112
+ }
113
+ const comments = await extractWordComments(docx);
114
+ const { anchors, fullDocText: xmlDocText } = await extractCommentAnchors(docx);
115
+ // Extract Word text (uses pandoc if available, falls back to XML extraction)
116
+ const wordExtraction = await extractFromWord(docx, { mediaDir: options.dir });
117
+ let wordText = wordExtraction.text;
118
+ const wordTables = wordExtraction.tables || [];
119
+ // Log extraction messages (warnings about pandoc, track change stats, etc.)
120
+ for (const msg of wordExtraction.messages || []) {
121
+ if (msg.type === 'warning') {
122
+ spin.stop();
123
+ console.log(fmt.status('warning', msg.message));
124
+ spin.start();
125
+ }
126
+ }
127
+ // Restore crossref on FULL text BEFORE splitting into sections
128
+ // This ensures duplicate labels from track changes are handled correctly
129
+ // (the same figure may appear multiple times in old/new versions)
130
+ const { restoreCrossrefFromWord, restoreImagesFromRegistry } = await import('../import.js');
131
+ const crossrefResult = restoreCrossrefFromWord(wordText, options.dir);
132
+ wordText = crossrefResult.text;
133
+ if (crossrefResult.restored > 0) {
134
+ console.log(`Restored ${crossrefResult.restored} crossref reference(s)`);
135
+ }
136
+ // Also restore images from registry using shared restoredLabels
137
+ const imageRestoreResult = restoreImagesFromRegistry(wordText, options.dir, crossrefResult.restoredLabels);
138
+ wordText = imageRestoreResult.text;
139
+ if (imageRestoreResult.restored > 0) {
140
+ console.log(`Restored ${imageRestoreResult.restored} image(s) from registry`);
141
+ }
142
+ let wordSections = extractSectionsFromText(wordText, config.sections);
143
+ if (wordSections.length === 0) {
144
+ spin.stop();
145
+ console.error(fmt.status('warning', 'No sections detected in Word document.'));
146
+ console.error(chalk.dim(' Check that headings match sections.yaml'));
147
+ process.exit(1);
148
+ }
149
+ if (sections && sections.length > 0) {
150
+ const onlyList = sections.map(s => s.trim().toLowerCase());
151
+ wordSections = wordSections.filter(section => {
152
+ const fileName = section.file.replace(/\.md$/i, '').toLowerCase();
153
+ const header = section.header.toLowerCase();
154
+ return onlyList.some(name => fileName === name || fileName.includes(name) || header.includes(name));
155
+ });
156
+ if (wordSections.length === 0) {
157
+ spin.stop();
158
+ console.error(fmt.status('error', `No sections matched: ${sections.join(', ')}`));
159
+ console.error(chalk.dim(` Available: ${extractSectionsFromText(wordText, config.sections).map(s => s.file.replace(/\.md$/i, '')).join(', ')}`));
160
+ process.exit(1);
161
+ }
162
+ }
163
+ spin.stop();
164
+ console.log(fmt.header(`Import from ${path.basename(docx)}`));
165
+ console.log();
166
+ // Conflict detection
167
+ if (!options.force && !options.dryRun) {
168
+ const conflicts = [];
169
+ for (const section of wordSections) {
170
+ const sectionPath = path.join(options.dir, section.file);
171
+ if (fs.existsSync(sectionPath)) {
172
+ const existing = fs.readFileSync(sectionPath, 'utf-8');
173
+ const existingCounts = countAnnotations(existing);
174
+ if (existingCounts.total > 0) {
175
+ conflicts.push({
176
+ file: section.file,
177
+ annotations: existingCounts.total,
178
+ });
179
+ }
180
+ }
181
+ }
182
+ if (conflicts.length > 0) {
183
+ console.log(fmt.status('warning', 'Files with existing annotations will be overwritten:'));
184
+ for (const c of conflicts) {
185
+ console.log(chalk.yellow(` - ${c.file} (${c.annotations} annotations)`));
186
+ }
187
+ console.log();
188
+ const rl = readline.createInterface({
189
+ input: process.stdin,
190
+ output: process.stdout,
191
+ });
192
+ const answer = await new Promise((resolve) => rl.question(chalk.cyan('Continue and overwrite? [y/N] '), resolve));
193
+ rl.close();
194
+ if (answer.toLowerCase() !== 'y') {
195
+ console.log(chalk.dim('Aborted. Use --force to skip this check.'));
196
+ process.exit(0);
197
+ }
198
+ console.log();
199
+ }
200
+ }
201
+ const sectionResults = [];
202
+ let totalChanges = 0;
203
+ // Calculate section boundaries in the XML document text for comment filtering
204
+ // Comment positions (docPosition) are relative to xmlDocText, NOT wordText
205
+ // So we must find section headers in xmlDocText to get matching boundaries
206
+ const sectionBoundaries = [];
207
+ const xmlLower = xmlDocText.toLowerCase();
208
+ // Standard section header keywords to search for in XML
209
+ // Map from file name pattern to search terms
210
+ const sectionKeywords = {
211
+ 'abstract': ['abstract', 'summary'],
212
+ 'introduction': ['introduction', 'background'],
213
+ 'methods': ['methods', 'materials and methods', 'methodology'],
214
+ 'results': ['results'],
215
+ 'discussion': ['discussion'],
216
+ 'conclusion': ['conclusion', 'conclusions'],
217
+ };
218
+ // Helper: find section header (skip labels like "Methods:" in structured abstracts)
219
+ // Real section headers are NOT followed by ":" immediately
220
+ function findSectionHeader(text, keyword, startFrom = 0) {
221
+ const lower = text.toLowerCase();
222
+ let idx = startFrom;
223
+ while ((idx = lower.indexOf(keyword, idx)) !== -1) {
224
+ // Check what follows the keyword
225
+ const afterKeyword = text.slice(idx + keyword.length, idx + keyword.length + 5);
226
+ // Skip if followed by ":" (this is a label, not a section header)
227
+ // Real headers are followed by text content, a newline, or a subheading
228
+ if (!afterKeyword.startsWith(':') && !afterKeyword.startsWith(' :')) {
229
+ return idx;
230
+ }
231
+ idx++;
232
+ }
233
+ return -1;
234
+ }
235
+ for (const section of wordSections) {
236
+ const fileBase = section.file.replace(/\.md$/i, '').toLowerCase();
237
+ // Get keywords for this section
238
+ const keywords = sectionKeywords[fileBase] || [fileBase];
239
+ // Find the first valid keyword that exists in XML (not a label)
240
+ let headerIdx = -1;
241
+ for (const kw of keywords) {
242
+ const idx = findSectionHeader(xmlDocText, kw, 0);
243
+ if (idx >= 0 && (headerIdx < 0 || idx < headerIdx)) {
244
+ headerIdx = idx;
245
+ }
246
+ }
247
+ if (headerIdx >= 0) {
248
+ // Find the next section's start to determine end boundary
249
+ let nextHeaderIdx = xmlDocText.length;
250
+ const sectionIdx = wordSections.indexOf(section);
251
+ if (sectionIdx < wordSections.length - 1) {
252
+ const nextFileBase = wordSections[sectionIdx + 1].file.replace(/\.md$/i, '').toLowerCase();
253
+ const nextKeywords = sectionKeywords[nextFileBase] || [nextFileBase];
254
+ for (const nkw of nextKeywords) {
255
+ const foundNext = findSectionHeader(xmlDocText, nkw, headerIdx + 10);
256
+ if (foundNext >= 0 && foundNext < nextHeaderIdx) {
257
+ nextHeaderIdx = foundNext;
258
+ }
259
+ }
260
+ }
261
+ sectionBoundaries.push({
262
+ file: section.file,
263
+ start: headerIdx,
264
+ end: nextHeaderIdx
265
+ });
266
+ }
267
+ }
268
+ // Document length is the XML text length (same coordinate system as docPosition)
269
+ const docLength = xmlDocText.length;
270
+ for (const section of wordSections) {
271
+ const sectionPath = path.join(options.dir, section.file);
272
+ if (!fs.existsSync(sectionPath)) {
273
+ sectionResults.push({
274
+ file: section.file,
275
+ header: section.header,
276
+ status: 'skipped',
277
+ stats: undefined,
278
+ });
279
+ continue;
280
+ }
281
+ const result = await importFromWord(docx, sectionPath, {
282
+ sectionContent: section.content,
283
+ author: 'Reviewer',
284
+ wordTables: wordTables,
285
+ });
286
+ let { annotated, stats } = result;
287
+ let refConversions = [];
288
+ if (registry && options.crossref !== false) {
289
+ const crossrefResult = convertHardcodedRefs(annotated, registry);
290
+ annotated = crossrefResult.converted;
291
+ refConversions = crossrefResult.conversions;
292
+ totalRefConversions += refConversions.length;
293
+ }
294
+ let commentsInserted = 0;
295
+ if (comments.length > 0 && anchors.size > 0) {
296
+ // Filter comments to only those that belong to this section
297
+ // Use exact position matching: docPosition is in xmlDocText coordinates,
298
+ // and sectionBoundaries are also in xmlDocText coordinates (same source!)
299
+ const boundary = sectionBoundaries.find(b => b.file === section.file);
300
+ const isFirstSection = wordSections.indexOf(section) === 0;
301
+ const firstBoundaryStart = sectionBoundaries.length > 0 ? Math.min(...sectionBoundaries.map(b => b.start)) : 0;
302
+ const sectionComments = comments.filter((c) => {
303
+ const anchorData = anchors.get(c.id);
304
+ if (!anchorData)
305
+ return false;
306
+ // Use exact position - no scaling needed since both are in xmlDocText coordinates
307
+ if (anchorData.docPosition !== undefined && boundary) {
308
+ // Include comments within section boundaries
309
+ if (anchorData.docPosition >= boundary.start && anchorData.docPosition < boundary.end) {
310
+ return true;
311
+ }
312
+ // Also include "outside" comments (before first section) in the first section file
313
+ if (isFirstSection && anchorData.docPosition < firstBoundaryStart) {
314
+ return true;
315
+ }
316
+ }
317
+ return false;
318
+ });
319
+ if (process.env.DEBUG) {
320
+ console.log(`[DEBUG] ${section.file}: ${sectionComments.length} comments to place (boundary: ${boundary?.start}-${boundary?.end})`);
321
+ }
322
+ if (sectionComments.length > 0) {
323
+ // Use a more robust pattern that handles < in comment text
324
+ const commentPattern = /\{>>.*?<<\}/gs;
325
+ const beforeCount = (annotated.match(commentPattern) || []).length;
326
+ annotated = insertCommentsIntoMarkdown(annotated, sectionComments, anchors, {
327
+ quiet: !process.env.DEBUG,
328
+ sectionBoundary: boundary // Pass section boundary for position-based insertion
329
+ });
330
+ const afterCount = (annotated.match(commentPattern) || []).length;
331
+ commentsInserted = afterCount - beforeCount;
332
+ if (process.env.DEBUG) {
333
+ console.log(`[DEBUG] ${section.file}: inserted ${commentsInserted} of ${sectionComments.length} comments`);
334
+ }
335
+ if (commentsInserted > 0) {
336
+ stats.comments = (stats.comments || 0) + commentsInserted;
337
+ }
338
+ }
339
+ }
340
+ totalChanges += stats.total;
341
+ sectionResults.push({
342
+ file: section.file,
343
+ header: section.header,
344
+ status: 'ok',
345
+ stats,
346
+ refs: refConversions.length,
347
+ });
348
+ if (!options.dryRun) {
349
+ // Preserve any preamble content (YAML frontmatter, author blocks, metadata)
350
+ // that exists before the first heading in the original file.
351
+ // This content is never included in the Word build output, so it won't
352
+ // appear in the Word doc and would otherwise be lost during sync.
353
+ const originalContent = fs.readFileSync(sectionPath, 'utf-8');
354
+ const firstHeadingMatch = originalContent.match(/^(#\s)/m);
355
+ if (firstHeadingMatch && firstHeadingMatch.index !== undefined && firstHeadingMatch.index > 0) {
356
+ const preamble = originalContent.slice(0, firstHeadingMatch.index);
357
+ // Only prepend if preamble has non-whitespace content
358
+ if (preamble.trim().length > 0) {
359
+ annotated = preamble + annotated;
360
+ }
361
+ }
362
+ fs.writeFileSync(sectionPath, annotated, 'utf-8');
363
+ }
364
+ }
365
+ const tableRows = sectionResults.map((r) => {
366
+ if (r.status === 'skipped') {
367
+ return [
368
+ chalk.dim(r.file),
369
+ chalk.dim(r.header.slice(0, 25)),
370
+ chalk.yellow('skipped'),
371
+ '',
372
+ '',
373
+ '',
374
+ '',
375
+ ];
376
+ }
377
+ const s = r.stats;
378
+ return [
379
+ chalk.bold(r.file),
380
+ r.header.length > 25 ? r.header.slice(0, 22) + '...' : r.header,
381
+ s.insertions > 0 ? chalk.green(`+${s.insertions}`) : chalk.dim('-'),
382
+ s.deletions > 0 ? chalk.red(`-${s.deletions}`) : chalk.dim('-'),
383
+ s.substitutions > 0 ? chalk.yellow(`~${s.substitutions}`) : chalk.dim('-'),
384
+ s.comments > 0 ? chalk.blue(`#${s.comments}`) : chalk.dim('-'),
385
+ r.refs > 0 ? chalk.magenta(`@${r.refs}`) : chalk.dim('-'),
386
+ ];
387
+ });
388
+ console.log(fmt.table(['File', 'Section', 'Ins', 'Del', 'Sub', 'Cmt', 'Ref'], tableRows, { align: ['left', 'left', 'right', 'right', 'right', 'right', 'right'] }));
389
+ console.log();
390
+ if (options.diff !== false && totalChanges > 0) {
391
+ console.log(fmt.header('Changes Preview'));
392
+ console.log();
393
+ for (const result of sectionResults) {
394
+ if (result.status === 'ok' && result.stats && result.stats.total > 0) {
395
+ const sectionPath = path.join(options.dir, result.file);
396
+ if (fs.existsSync(sectionPath)) {
397
+ const content = fs.readFileSync(sectionPath, 'utf-8');
398
+ const preview = inlineDiffPreview(content, { maxLines: 3 });
399
+ if (preview) {
400
+ console.log(chalk.bold(result.file) + ':');
401
+ console.log(preview);
402
+ console.log();
403
+ }
404
+ }
405
+ }
406
+ }
407
+ }
408
+ if (options.dryRun) {
409
+ console.log(fmt.box(chalk.yellow('Dry run - no files written'), { padding: 0 }));
410
+ }
411
+ else if (totalChanges > 0 || totalRefConversions > 0 || comments.length > 0) {
412
+ const summaryLines = [];
413
+ summaryLines.push(`${chalk.bold(wordSections.length)} sections processed`);
414
+ if (totalChanges > 0)
415
+ summaryLines.push(`${chalk.bold(totalChanges)} annotations imported`);
416
+ if (comments.length > 0)
417
+ summaryLines.push(`${chalk.bold(comments.length)} comments placed`);
418
+ if (totalRefConversions > 0)
419
+ summaryLines.push(`${chalk.bold(totalRefConversions)} refs converted to @-syntax`);
420
+ console.log(fmt.box(summaryLines.join('\n'), { title: 'Summary', padding: 0 }));
421
+ console.log();
422
+ console.log(chalk.dim('Next steps:'));
423
+ console.log(chalk.dim(' 1. rev review <section.md> - Accept/reject changes'));
424
+ console.log(chalk.dim(' 2. rev comments <section.md> - View/address comments'));
425
+ console.log(chalk.dim(' 3. rev build docx - Rebuild Word doc'));
426
+ }
427
+ else {
428
+ console.log(fmt.status('success', 'No changes detected.'));
429
+ }
430
+ }
431
+ catch (err) {
432
+ spin.stop();
433
+ const error = err;
434
+ console.error(fmt.status('error', error.message));
435
+ if (process.env.DEBUG)
436
+ console.error(error.stack);
437
+ process.exit(1);
438
+ }
439
+ });
440
+ }
441
+ //# sourceMappingURL=sync.js.map