docrev 0.10.1 → 0.10.2

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 (119) hide show
  1. package/.gitattributes +1 -1
  2. package/CHANGELOG.md +184 -173
  3. package/PLAN-tables-and-postprocess.md +850 -850
  4. package/README.md +431 -431
  5. package/bin/rev.js +11 -11
  6. package/bin/rev.ts +145 -145
  7. package/completions/rev.bash +127 -127
  8. package/completions/rev.ps1 +210 -210
  9. package/completions/rev.zsh +207 -207
  10. package/dist/lib/anchor-match.d.ts +1 -1
  11. package/dist/lib/anchor-match.d.ts.map +1 -1
  12. package/dist/lib/anchor-match.js +47 -17
  13. package/dist/lib/anchor-match.js.map +1 -1
  14. package/dist/lib/build.js +4 -4
  15. package/dist/lib/commands/sync.d.ts.map +1 -1
  16. package/dist/lib/commands/sync.js +78 -100
  17. package/dist/lib/commands/sync.js.map +1 -1
  18. package/dist/lib/commands/utilities.js +164 -164
  19. package/dist/lib/commands/word-tools.js +8 -8
  20. package/dist/lib/grammar.js +3 -3
  21. package/dist/lib/macro-filter.lua +201 -201
  22. package/dist/lib/pdf-comments.js +44 -44
  23. package/dist/lib/plugins.js +57 -57
  24. package/dist/lib/pptx-color-filter.lua +37 -37
  25. package/dist/lib/pptx-themes.js +115 -115
  26. package/dist/lib/sections.d.ts.map +1 -1
  27. package/dist/lib/sections.js +5 -2
  28. package/dist/lib/sections.js.map +1 -1
  29. package/dist/lib/spelling.js +2 -2
  30. package/dist/lib/templates.js +387 -387
  31. package/dist/lib/themes.js +51 -51
  32. package/eslint.config.js +27 -27
  33. package/issues.md +180 -0
  34. package/lib/anchor-match.ts +308 -276
  35. package/lib/annotations.ts +644 -644
  36. package/lib/build.ts +1766 -1766
  37. package/lib/citations.ts +160 -160
  38. package/lib/commands/build.ts +855 -855
  39. package/lib/commands/citations.ts +515 -515
  40. package/lib/commands/comments.ts +1050 -1050
  41. package/lib/commands/context.ts +176 -176
  42. package/lib/commands/core.ts +309 -309
  43. package/lib/commands/doi.ts +435 -435
  44. package/lib/commands/file-ops.ts +372 -372
  45. package/lib/commands/history.ts +320 -320
  46. package/lib/commands/index.ts +87 -87
  47. package/lib/commands/init.ts +259 -259
  48. package/lib/commands/merge-resolve.ts +378 -378
  49. package/lib/commands/preview.ts +178 -178
  50. package/lib/commands/project-info.ts +244 -244
  51. package/lib/commands/quality.ts +517 -517
  52. package/lib/commands/response.ts +454 -454
  53. package/lib/commands/section-boundaries.ts +82 -82
  54. package/lib/commands/sections.ts +451 -451
  55. package/lib/commands/sync.ts +676 -709
  56. package/lib/commands/text-ops.ts +449 -449
  57. package/lib/commands/utilities.ts +448 -448
  58. package/lib/commands/verify-anchors.ts +272 -272
  59. package/lib/commands/word-tools.ts +340 -340
  60. package/lib/comment-realign.ts +517 -517
  61. package/lib/config.ts +84 -84
  62. package/lib/crossref.ts +781 -781
  63. package/lib/csl.ts +191 -191
  64. package/lib/dependencies.ts +98 -98
  65. package/lib/diff-engine.ts +465 -465
  66. package/lib/doi-cache.ts +115 -115
  67. package/lib/doi.ts +897 -897
  68. package/lib/equations.ts +506 -506
  69. package/lib/errors.ts +346 -346
  70. package/lib/format.ts +541 -541
  71. package/lib/git.ts +326 -326
  72. package/lib/grammar.ts +303 -303
  73. package/lib/image-registry.ts +180 -180
  74. package/lib/import.ts +911 -911
  75. package/lib/journals.ts +543 -543
  76. package/lib/macro-filter.lua +201 -201
  77. package/lib/macros.ts +273 -273
  78. package/lib/merge.ts +633 -633
  79. package/lib/orcid.ts +144 -144
  80. package/lib/pdf-comments.ts +263 -263
  81. package/lib/pdf-import.ts +524 -524
  82. package/lib/plugins.ts +362 -362
  83. package/lib/postprocess.ts +188 -188
  84. package/lib/pptx-color-filter.lua +37 -37
  85. package/lib/pptx-template.ts +469 -469
  86. package/lib/pptx-themes.ts +483 -483
  87. package/lib/protect-restore.ts +520 -520
  88. package/lib/rate-limiter.ts +94 -94
  89. package/lib/response.ts +197 -197
  90. package/lib/restore-references.ts +240 -240
  91. package/lib/review.ts +327 -327
  92. package/lib/schema.ts +488 -488
  93. package/lib/scientific-words.ts +73 -73
  94. package/lib/sections.ts +428 -425
  95. package/lib/slides.ts +756 -756
  96. package/lib/spelling.ts +334 -334
  97. package/lib/templates.ts +526 -526
  98. package/lib/themes.ts +742 -742
  99. package/lib/trackchanges.ts +247 -247
  100. package/lib/tui.ts +450 -450
  101. package/lib/types.ts +550 -550
  102. package/lib/undo.ts +250 -250
  103. package/lib/utils.ts +69 -69
  104. package/lib/variables.ts +179 -179
  105. package/lib/word-extraction.ts +806 -806
  106. package/lib/word.ts +643 -643
  107. package/lib/wordcomments.ts +840 -840
  108. package/package.json +137 -137
  109. package/scripts/postbuild.js +47 -47
  110. package/site/assets/extra.css +208 -0
  111. package/site/commands.html +926 -0
  112. package/site/configuration.html +469 -0
  113. package/site/index.html +288 -0
  114. package/site/troubleshooting.html +461 -0
  115. package/site/workflow.html +518 -0
  116. package/skill/REFERENCE.md +539 -539
  117. package/skill/SKILL.md +295 -295
  118. package/tsconfig.json +26 -26
  119. package/types/index.d.ts +525 -525
@@ -114,7 +114,8 @@ export function register(program) {
114
114
  const spin = fmt.spinner(`Importing ${path.basename(docx)}...`).start();
115
115
  try {
116
116
  const config = sectionsConfig;
117
- const { importFromWord, extractWordComments, extractCommentAnchors, insertCommentsIntoMarkdown, extractFromWord } = await import('../import.js');
117
+ const { importFromWord, extractWordComments, extractCommentAnchors, insertCommentsIntoMarkdown, extractFromWord, extractHeadings } = await import('../import.js');
118
+ const { computeSectionBoundaries } = await import('./section-boundaries.js');
118
119
  let registry = null;
119
120
  let totalRefConversions = 0;
120
121
  if (options.crossref !== false) {
@@ -210,73 +211,24 @@ export function register(program) {
210
211
  }
211
212
  const sectionResults = [];
212
213
  let totalChanges = 0;
213
- // Calculate section boundaries in the XML document text for comment filtering
214
- // Comment positions (docPosition) are relative to xmlDocText, NOT wordText
215
- // So we must find section headers in xmlDocText to get matching boundaries
216
- const sectionBoundaries = [];
217
- const xmlLower = xmlDocText.toLowerCase();
218
- // Standard section header keywords to search for in XML
219
- // Map from file name pattern to search terms
220
- const sectionKeywords = {
221
- 'abstract': ['abstract', 'summary'],
222
- 'introduction': ['introduction', 'background'],
223
- 'methods': ['methods', 'materials and methods', 'methodology'],
224
- 'results': ['results'],
225
- 'discussion': ['discussion'],
226
- 'conclusion': ['conclusion', 'conclusions'],
227
- };
228
- // Helper: find section header (skip labels like "Methods:" in structured abstracts)
229
- // Real section headers are NOT followed by ":" immediately
230
- function findSectionHeader(text, keyword, startFrom = 0) {
231
- const lower = text.toLowerCase();
232
- let idx = startFrom;
233
- while ((idx = lower.indexOf(keyword, idx)) !== -1) {
234
- // Check what follows the keyword
235
- const afterKeyword = text.slice(idx + keyword.length, idx + keyword.length + 5);
236
- // Skip if followed by ":" (this is a label, not a section header)
237
- // Real headers are followed by text content, a newline, or a subheading
238
- if (!afterKeyword.startsWith(':') && !afterKeyword.startsWith(' :')) {
239
- return idx;
240
- }
241
- idx++;
242
- }
243
- return -1;
244
- }
245
- for (const section of wordSections) {
246
- const fileBase = section.file.replace(/\.md$/i, '').toLowerCase();
247
- // Get keywords for this section
248
- const keywords = sectionKeywords[fileBase] || [fileBase];
249
- // Find the first valid keyword that exists in XML (not a label)
250
- let headerIdx = -1;
251
- for (const kw of keywords) {
252
- const idx = findSectionHeader(xmlDocText, kw, 0);
253
- if (idx >= 0 && (headerIdx < 0 || idx < headerIdx)) {
254
- headerIdx = idx;
255
- }
256
- }
257
- if (headerIdx >= 0) {
258
- // Find the next section's start to determine end boundary
259
- let nextHeaderIdx = xmlDocText.length;
260
- const sectionIdx = wordSections.indexOf(section);
261
- if (sectionIdx < wordSections.length - 1) {
262
- const nextFileBase = wordSections[sectionIdx + 1].file.replace(/\.md$/i, '').toLowerCase();
263
- const nextKeywords = sectionKeywords[nextFileBase] || [nextFileBase];
264
- for (const nkw of nextKeywords) {
265
- const foundNext = findSectionHeader(xmlDocText, nkw, headerIdx + 10);
266
- if (foundNext >= 0 && foundNext < nextHeaderIdx) {
267
- nextHeaderIdx = foundNext;
268
- }
269
- }
270
- }
271
- sectionBoundaries.push({
272
- file: section.file,
273
- start: headerIdx,
274
- end: nextHeaderIdx
275
- });
276
- }
277
- }
278
- // Document length is the XML text length (same coordinate system as docPosition)
279
- const docLength = xmlDocText.length;
214
+ // Route comments to sections using boundaries from the document's real
215
+ // heading paragraphs. docPosition (from extractCommentAnchors) and each
216
+ // heading's docPosition share one coordinate system over xmlDocText, so
217
+ // every configured section gets a boundary — not only the handful that
218
+ // matched a hardcoded keyword list. Sections named "Objectives" or
219
+ // "Annex 2" used to get no boundary, so their comments were silently
220
+ // dropped while the summary still claimed every comment was placed.
221
+ // This is the same routing path as `sync --comments-only`.
222
+ const headings = await extractHeadings(docx);
223
+ const sectionBoundaries = computeSectionBoundaries(config.sections, headings, xmlDocText.length);
224
+ const firstBoundaryStart = sectionBoundaries.length > 0 ? sectionBoundaries[0].start : 0;
225
+ // Truthful comment accounting: track which comments were routed to a
226
+ // synced section and how many were actually written, so the summary
227
+ // reports placements rather than the raw extracted count.
228
+ const routedCommentIds = new Set();
229
+ let totalCommentsPlaced = 0;
230
+ let totalCommentsDeduped = 0;
231
+ let totalCommentsUnmatched = 0;
280
232
  for (const section of wordSections) {
281
233
  const sectionPath = path.join(options.dir, section.file);
282
234
  if (!fs.existsSync(sectionPath)) {
@@ -288,6 +240,21 @@ export function register(program) {
288
240
  });
289
241
  continue;
290
242
  }
243
+ // A section that appears in the reviewed document as a bare heading
244
+ // with no body was not really part of this build (e.g. a "no-annex"
245
+ // export synced against the full project). Importing it would diff
246
+ // real prose against an empty body and rewrite the file to near-empty.
247
+ // Leave it untouched.
248
+ const bodyEmpty = section.content.trim() === section.header.trim();
249
+ if (bodyEmpty) {
250
+ sectionResults.push({
251
+ file: section.file,
252
+ header: section.header,
253
+ status: 'untouched',
254
+ stats: undefined,
255
+ });
256
+ continue;
257
+ }
291
258
  const result = await importFromWord(docx, sectionPath, {
292
259
  sectionContent: section.content,
293
260
  author: 'Reviewer',
@@ -301,49 +268,41 @@ export function register(program) {
301
268
  refConversions = crossrefResult.conversions;
302
269
  totalRefConversions += refConversions.length;
303
270
  }
304
- let commentsInserted = 0;
305
271
  if (comments.length > 0 && anchors.size > 0) {
306
- // Filter comments to only those that belong to this section
307
- // Use exact position matching: docPosition is in xmlDocText coordinates,
308
- // and sectionBoundaries are also in xmlDocText coordinates (same source!)
272
+ // Filter comments to those whose docPosition falls in this section's
273
+ // boundary (docPosition and boundaries share xmlDocText coordinates).
274
+ // The section owning the first boundary also catches comments placed
275
+ // before any heading.
309
276
  const boundary = sectionBoundaries.find(b => b.file === section.file);
310
- const isFirstSection = wordSections.indexOf(section) === 0;
311
- const firstBoundaryStart = sectionBoundaries.length > 0 ? Math.min(...sectionBoundaries.map(b => b.start)) : 0;
277
+ const ownsFirstBoundary = !!boundary && boundary.start === firstBoundaryStart;
312
278
  const sectionComments = comments.filter((c) => {
313
279
  const anchorData = anchors.get(c.id);
314
- if (!anchorData)
280
+ if (!anchorData || anchorData.docPosition === undefined || !boundary)
315
281
  return false;
316
- // Use exact position - no scaling needed since both are in xmlDocText coordinates
317
- if (anchorData.docPosition !== undefined && boundary) {
318
- // Include comments within section boundaries
319
- if (anchorData.docPosition >= boundary.start && anchorData.docPosition < boundary.end) {
320
- return true;
321
- }
322
- // Also include "outside" comments (before first section) in the first section file
323
- if (isFirstSection && anchorData.docPosition < firstBoundaryStart) {
324
- return true;
325
- }
326
- }
282
+ if (anchorData.docPosition >= boundary.start && anchorData.docPosition < boundary.end)
283
+ return true;
284
+ if (ownsFirstBoundary && anchorData.docPosition < firstBoundaryStart)
285
+ return true;
327
286
  return false;
328
287
  });
329
288
  if (process.env.DEBUG) {
330
289
  console.log(`[DEBUG] ${section.file}: ${sectionComments.length} comments to place (boundary: ${boundary?.start}-${boundary?.end})`);
331
290
  }
332
291
  if (sectionComments.length > 0) {
333
- // Use a more robust pattern that handles < in comment text
334
- const commentPattern = /\{>>.*?<<\}/gs;
335
- const beforeCount = (annotated.match(commentPattern) || []).length;
292
+ for (const c of sectionComments)
293
+ routedCommentIds.add(c.id);
294
+ const cstats = { placed: 0, deduped: 0, unmatched: 0 };
336
295
  annotated = insertCommentsIntoMarkdown(annotated, sectionComments, anchors, {
337
296
  quiet: !process.env.DEBUG,
338
- sectionBoundary: boundary // Pass section boundary for position-based insertion
297
+ sectionBoundary: boundary,
298
+ outStats: cstats,
339
299
  });
340
- const afterCount = (annotated.match(commentPattern) || []).length;
341
- commentsInserted = afterCount - beforeCount;
300
+ stats.comments = (stats.comments || 0) + cstats.placed;
301
+ totalCommentsPlaced += cstats.placed;
302
+ totalCommentsDeduped += cstats.deduped;
303
+ totalCommentsUnmatched += cstats.unmatched;
342
304
  if (process.env.DEBUG) {
343
- console.log(`[DEBUG] ${section.file}: inserted ${commentsInserted} of ${sectionComments.length} comments`);
344
- }
345
- if (commentsInserted > 0) {
346
- stats.comments = (stats.comments || 0) + commentsInserted;
305
+ console.log(`[DEBUG] ${section.file}: placed ${cstats.placed}, deduped ${cstats.deduped}, unmatched ${cstats.unmatched} of ${sectionComments.length}`);
347
306
  }
348
307
  }
349
308
  }
@@ -373,11 +332,11 @@ export function register(program) {
373
332
  }
374
333
  }
375
334
  const tableRows = sectionResults.map((r) => {
376
- if (r.status === 'skipped') {
335
+ if (r.status === 'skipped' || r.status === 'untouched') {
377
336
  return [
378
337
  chalk.dim(r.file),
379
338
  chalk.dim(r.header.slice(0, 25)),
380
- chalk.yellow('skipped'),
339
+ chalk.yellow(r.status),
381
340
  '',
382
341
  '',
383
342
  '',
@@ -415,6 +374,11 @@ export function register(program) {
415
374
  }
416
375
  }
417
376
  }
377
+ // Comments carried by the document but never routed to a synced section
378
+ // (they fell in a skipped/untouched/absent section). Surfacing these
379
+ // keeps the summary honest instead of reporting every extracted comment
380
+ // as placed.
381
+ const unroutedComments = comments.length - routedCommentIds.size;
418
382
  if (options.dryRun) {
419
383
  console.log(fmt.box(chalk.yellow('Dry run - no files written'), { padding: 0 }));
420
384
  }
@@ -423,12 +387,26 @@ export function register(program) {
423
387
  summaryLines.push(`${chalk.bold(wordSections.length)} sections processed`);
424
388
  if (totalChanges > 0)
425
389
  summaryLines.push(`${chalk.bold(totalChanges)} annotations imported`);
426
- if (comments.length > 0)
427
- summaryLines.push(`${chalk.bold(comments.length)} comments placed`);
390
+ if (totalCommentsPlaced > 0) {
391
+ summaryLines.push(`${chalk.bold(totalCommentsPlaced)} of ${comments.length} comments placed`);
392
+ }
393
+ if (totalCommentsDeduped > 0) {
394
+ summaryLines.push(`${chalk.cyan(totalCommentsDeduped)} already present (skipped)`);
395
+ }
396
+ if (totalCommentsUnmatched > 0) {
397
+ summaryLines.push(`${chalk.yellow(totalCommentsUnmatched)} unmatched (anchor not in current prose)`);
398
+ }
399
+ if (unroutedComments > 0) {
400
+ summaryLines.push(`${chalk.yellow(unroutedComments)} not routed to any synced section`);
401
+ }
428
402
  if (totalRefConversions > 0)
429
403
  summaryLines.push(`${chalk.bold(totalRefConversions)} refs converted to @-syntax`);
430
404
  console.log(fmt.box(summaryLines.join('\n'), { title: 'Summary', padding: 0 }));
431
405
  console.log();
406
+ if (totalCommentsUnmatched > 0 || unroutedComments > 0) {
407
+ console.log(chalk.yellow(` ${totalCommentsUnmatched + unroutedComments} comment(s) were not written. Run "rev verify-anchors" or re-sync with the full document.`));
408
+ console.log();
409
+ }
432
410
  console.log(chalk.dim('Next steps:'));
433
411
  console.log(chalk.dim(' 1. rev review <section.md> - Accept/reject changes'));
434
412
  console.log(chalk.dim(' 2. rev comments <section.md> - View/address comments'));
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../lib/commands/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../lib/commands/sync.ts"],"names":[],"mappings":"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"}