docrev 0.10.2 → 0.11.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.
- package/CHANGELOG.md +13 -0
- package/README.md +2 -0
- package/dist/lib/anchor-match.d.ts +3 -1
- package/dist/lib/anchor-match.d.ts.map +1 -1
- package/dist/lib/anchor-match.js +5 -7
- package/dist/lib/anchor-match.js.map +1 -1
- package/dist/lib/annotations.d.ts +0 -6
- package/dist/lib/annotations.d.ts.map +1 -1
- package/dist/lib/annotations.js +26 -8
- package/dist/lib/annotations.js.map +1 -1
- package/dist/lib/build.d.ts +52 -0
- package/dist/lib/build.d.ts.map +1 -1
- package/dist/lib/build.js +135 -6
- package/dist/lib/build.js.map +1 -1
- package/dist/lib/commands/build.d.ts.map +1 -1
- package/dist/lib/commands/build.js +39 -12
- package/dist/lib/commands/build.js.map +1 -1
- package/dist/lib/commands/doi.d.ts.map +1 -1
- package/dist/lib/commands/doi.js +14 -2
- package/dist/lib/commands/doi.js.map +1 -1
- package/dist/lib/commands/sync.d.ts.map +1 -1
- package/dist/lib/commands/sync.js +24 -11
- package/dist/lib/commands/sync.js.map +1 -1
- package/dist/lib/comment-realign.d.ts +12 -21
- package/dist/lib/comment-realign.d.ts.map +1 -1
- package/dist/lib/comment-realign.js +40 -348
- package/dist/lib/comment-realign.js.map +1 -1
- package/dist/lib/dependencies.d.ts +10 -0
- package/dist/lib/dependencies.d.ts.map +1 -1
- package/dist/lib/dependencies.js +41 -9
- package/dist/lib/dependencies.js.map +1 -1
- package/dist/lib/doi.d.ts.map +1 -1
- package/dist/lib/doi.js +68 -80
- package/dist/lib/doi.js.map +1 -1
- package/dist/lib/errors.d.ts.map +1 -1
- package/dist/lib/errors.js +3 -1
- package/dist/lib/errors.js.map +1 -1
- package/dist/lib/import.d.ts +7 -4
- package/dist/lib/import.d.ts.map +1 -1
- package/dist/lib/import.js +58 -62
- package/dist/lib/import.js.map +1 -1
- package/dist/lib/ooxml.d.ts +207 -0
- package/dist/lib/ooxml.d.ts.map +1 -0
- package/dist/lib/ooxml.js +634 -0
- package/dist/lib/ooxml.js.map +1 -0
- package/dist/lib/rate-limiter.d.ts +8 -0
- package/dist/lib/rate-limiter.d.ts.map +1 -1
- package/dist/lib/rate-limiter.js +41 -4
- package/dist/lib/rate-limiter.js.map +1 -1
- package/dist/lib/trackchanges.d.ts +41 -25
- package/dist/lib/trackchanges.d.ts.map +1 -1
- package/dist/lib/trackchanges.js +90 -151
- package/dist/lib/trackchanges.js.map +1 -1
- package/dist/lib/types.d.ts +9 -8
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/word-extraction.d.ts.map +1 -1
- package/dist/lib/word-extraction.js +48 -307
- package/dist/lib/word-extraction.js.map +1 -1
- package/dist/lib/word.d.ts.map +1 -1
- package/dist/lib/word.js +80 -175
- package/dist/lib/word.js.map +1 -1
- package/dist/lib/wordcomments.d.ts.map +1 -1
- package/dist/lib/wordcomments.js +53 -92
- package/dist/lib/wordcomments.js.map +1 -1
- package/lib/anchor-match.ts +6 -7
- package/lib/annotations.ts +28 -8
- package/lib/build.ts +196 -6
- package/lib/commands/build.ts +42 -12
- package/lib/commands/doi.ts +17 -1
- package/lib/commands/sync.ts +26 -13
- package/lib/comment-realign.ts +46 -464
- package/lib/dependencies.ts +43 -9
- package/lib/doi.ts +76 -94
- package/lib/errors.ts +5 -1
- package/lib/import.ts +65 -70
- package/lib/ooxml.ts +768 -0
- package/lib/rate-limiter.ts +37 -4
- package/lib/trackchanges.ts +102 -183
- package/lib/types.ts +9 -13
- package/lib/word-extraction.ts +49 -330
- package/lib/word.ts +86 -203
- package/lib/wordcomments.ts +53 -104
- package/package.json +137 -137
- package/skill/REFERENCE.md +14 -3
- package/skill/SKILL.md +12 -5
- package/types/index.d.ts +16 -10
package/dist/lib/import.js
CHANGED
|
@@ -13,7 +13,7 @@ import { promisify } from 'util';
|
|
|
13
13
|
import { extractFromWord, } from './word-extraction.js';
|
|
14
14
|
import { generateSmartDiff, cleanupAnnotations, fixCitationAnnotations, } from './diff-engine.js';
|
|
15
15
|
import { restoreCrossrefFromWord, restoreImagesFromRegistry, convertVisibleComments, } from './restore-references.js';
|
|
16
|
-
import { findAnchorInText
|
|
16
|
+
import { findAnchorInText } from './anchor-match.js';
|
|
17
17
|
/**
|
|
18
18
|
* Pick the best position from candidate `occurrences` given the
|
|
19
19
|
* surrounding `before` / `after` context from the docx, while
|
|
@@ -22,7 +22,7 @@ import { findAnchorInText, findAllOccurrences } from './anchor-match.js';
|
|
|
22
22
|
*
|
|
23
23
|
* Returns the chosen position, or -1 if every candidate is already used.
|
|
24
24
|
*/
|
|
25
|
-
function pickBestOccurrence(occurrences, result, before, after, anchorLen, usedPositions) {
|
|
25
|
+
function pickBestOccurrence(occurrences, result, before, after, anchorLen, usedPositions, nearPos) {
|
|
26
26
|
if (occurrences.length === 0)
|
|
27
27
|
return -1;
|
|
28
28
|
if (occurrences.length === 1) {
|
|
@@ -32,6 +32,11 @@ function pickBestOccurrence(occurrences, result, before, after, anchorLen, usedP
|
|
|
32
32
|
if (bestIdx < 0)
|
|
33
33
|
return -1;
|
|
34
34
|
let bestScore = -1;
|
|
35
|
+
// Tie-break by context score first; when scores tie, prefer the occurrence
|
|
36
|
+
// nearest `nearPos` (a section-position estimate) if given, else the
|
|
37
|
+
// leftmost. The estimate only orders equally-scored candidates — it is never
|
|
38
|
+
// the returned position.
|
|
39
|
+
const closer = (pos, incumbent) => nearPos === undefined ? pos < incumbent : Math.abs(pos - nearPos) < Math.abs(incumbent - nearPos);
|
|
35
40
|
for (const pos of occurrences) {
|
|
36
41
|
if (usedPositions.has(pos))
|
|
37
42
|
continue;
|
|
@@ -58,7 +63,7 @@ function pickBestOccurrence(occurrences, result, before, after, anchorLen, usedP
|
|
|
58
63
|
if (contextAfter.includes(afterLower.slice(0, 30)))
|
|
59
64
|
score += 5;
|
|
60
65
|
}
|
|
61
|
-
if (score > bestScore || (score === bestScore && pos
|
|
66
|
+
if (score > bestScore || (score === bestScore && closer(pos, bestIdx))) {
|
|
62
67
|
bestScore = score;
|
|
63
68
|
bestIdx = pos;
|
|
64
69
|
}
|
|
@@ -70,6 +75,16 @@ export { extractFromWord, extractWordComments, extractCommentAnchors, extractHea
|
|
|
70
75
|
export { generateSmartDiff, generateAnnotatedDiff, cleanupAnnotations, fixCitationAnnotations, } from './diff-engine.js';
|
|
71
76
|
export { restoreCrossrefFromWord, restoreImagesFromRegistry, parseVisibleComments, convertVisibleComments, } from './restore-references.js';
|
|
72
77
|
const execAsync = promisify(exec);
|
|
78
|
+
/**
|
|
79
|
+
* Whether a resolved placement landed on matched anchor/context text (high) or
|
|
80
|
+
* on an approximate position the user should review (low). Low-confidence
|
|
81
|
+
* strategies place the comment without matching the anchor word itself.
|
|
82
|
+
*/
|
|
83
|
+
function placementConfidence(strategy) {
|
|
84
|
+
if (!strategy)
|
|
85
|
+
return 'high';
|
|
86
|
+
return /proportional|position-only|context/.test(strategy) ? 'low' : 'high';
|
|
87
|
+
}
|
|
73
88
|
// ============================================
|
|
74
89
|
// Functions
|
|
75
90
|
// ============================================
|
|
@@ -149,6 +164,7 @@ export function insertCommentsIntoMarkdown(markdown, comments, anchors, options
|
|
|
149
164
|
let result = markdown;
|
|
150
165
|
let unmatchedCount = 0;
|
|
151
166
|
let placedCount = 0;
|
|
167
|
+
let lowConfidenceCount = 0;
|
|
152
168
|
const duplicateWarnings = [];
|
|
153
169
|
const usedPositions = new Set(); // For tie-breaking: track used positions
|
|
154
170
|
// Resolve threading: replies share their parent's anchor in Word, so they
|
|
@@ -198,23 +214,18 @@ export function insertCommentsIntoMarkdown(markdown, comments, anchors, options
|
|
|
198
214
|
const after = typeof anchorData === 'object' ? anchorData.after : '';
|
|
199
215
|
const isEmpty = typeof anchorData === 'object' && anchorData.isEmpty;
|
|
200
216
|
const docPosition = typeof anchorData === 'object' ? anchorData.docPosition : undefined;
|
|
201
|
-
//
|
|
217
|
+
// Section-scoped insertion. The comment is known to belong to this
|
|
218
|
+
// section (the caller already filtered by docPosition); place it by
|
|
219
|
+
// matching its anchor text within the section, never by mapping a length
|
|
220
|
+
// ratio across the docx and markdown coordinate systems. The section
|
|
221
|
+
// estimate only seeds duplicate tie-breaking and the final fallback.
|
|
202
222
|
if (sectionBoundary && docPosition !== undefined) {
|
|
203
223
|
const sectionLength = sectionBoundary.end - sectionBoundary.start;
|
|
204
224
|
if (sectionLength > 0) {
|
|
205
|
-
|
|
206
|
-
if (docPosition < sectionBoundary.start) {
|
|
207
|
-
relativePos = 0;
|
|
208
|
-
}
|
|
209
|
-
else {
|
|
210
|
-
relativePos = docPosition - sectionBoundary.start;
|
|
211
|
-
}
|
|
225
|
+
const relativePos = docPosition < sectionBoundary.start ? 0 : docPosition - sectionBoundary.start;
|
|
212
226
|
const proportion = Math.min(relativePos / sectionLength, 1.0);
|
|
213
|
-
const
|
|
214
|
-
//
|
|
215
|
-
// pinpoints the original split — without it, proportional placement
|
|
216
|
-
// can land mid-word or split unrelated phrases. Try context match
|
|
217
|
-
// first; only fall through to proportional when context is gone.
|
|
227
|
+
const estimatedPos = Math.floor(proportion * result.length);
|
|
228
|
+
// Empty anchor: before/after context is the only text signal.
|
|
218
229
|
if ((!anchor || isEmpty) && (before || after)) {
|
|
219
230
|
const ctx = findAnchorInText('', result, before, after);
|
|
220
231
|
if (ctx.occurrences.length > 0) {
|
|
@@ -222,56 +233,31 @@ export function insertCommentsIntoMarkdown(markdown, comments, anchors, options
|
|
|
222
233
|
return { ...c, pos, anchorText: null, isEmpty: true, strategy: `ctx:${ctx.strategy}` };
|
|
223
234
|
}
|
|
224
235
|
}
|
|
225
|
-
|
|
226
|
-
//
|
|
227
|
-
|
|
228
|
-
const spaceIdx = searchWindow.indexOf(' ', 25);
|
|
229
|
-
if (spaceIdx !== -1 && spaceIdx < 50) {
|
|
230
|
-
insertPos = Math.max(0, markdownPos - 25) + spaceIdx;
|
|
231
|
-
}
|
|
232
|
-
// If we have anchor text, try to find it near this position.
|
|
233
|
-
// Collect ALL occurrences in the local window, then disambiguate
|
|
234
|
-
// via before/after context + usedPositions — otherwise two
|
|
235
|
-
// comments sharing the same anchor word would both collide at
|
|
236
|
-
// the leftmost match. The context-scoring helper handles the
|
|
237
|
-
// "repeated formulaic prose" case using docx-side context, which
|
|
238
|
-
// is a stronger signal than raw distance to the proportional
|
|
239
|
-
// insertPos (insertPos is itself an approximation).
|
|
236
|
+
// Non-empty anchor: locate it anywhere in the section text. Duplicates
|
|
237
|
+
// are disambiguated by before/after context and, only as a tie-break,
|
|
238
|
+
// by proximity to the section estimate.
|
|
240
239
|
if (anchor && !isEmpty) {
|
|
241
|
-
const
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
if (chosen >= 0) {
|
|
249
|
-
if (localHits.length > 1) {
|
|
250
|
-
duplicateWarnings.push(`"${anchor.slice(0, 40)}${anchor.length > 40 ? '...' : ''}" appears ${localHits.length} times in section window`);
|
|
251
|
-
}
|
|
252
|
-
usedPositions.add(chosen);
|
|
253
|
-
return { ...c, pos: chosen, anchorText: anchor, anchorEnd: chosen + anchor.length, strategy: 'position+text' };
|
|
240
|
+
const { occurrences, matchedAnchor, strategy } = findAnchorInText(anchor, result, before, after);
|
|
241
|
+
if (occurrences.length > 0) {
|
|
242
|
+
const anchorLen = matchedAnchor ? matchedAnchor.length : 0;
|
|
243
|
+
const chosen = pickBestOccurrence(occurrences, result, before, after, anchorLen, usedPositions, estimatedPos);
|
|
244
|
+
const finalIdx = chosen >= 0 ? chosen : occurrences[0];
|
|
245
|
+
if (occurrences.length > 1 && matchedAnchor) {
|
|
246
|
+
duplicateWarnings.push(`"${matchedAnchor.slice(0, 40)}${matchedAnchor.length > 40 ? '...' : ''}" appears ${occurrences.length} times in section`);
|
|
254
247
|
}
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
if (words.length >= 10) {
|
|
259
|
-
const partialHits = findAllOccurrences(localSearch, words).map(i => searchStart + i);
|
|
260
|
-
if (partialHits.length > 0) {
|
|
261
|
-
const chosen = pickBestOccurrence(partialHits, result, before, after, words.length, usedPositions);
|
|
262
|
-
if (chosen >= 0) {
|
|
263
|
-
usedPositions.add(chosen);
|
|
264
|
-
return { ...c, pos: chosen, anchorText: words, anchorEnd: chosen + words.length, strategy: 'position+partial' };
|
|
265
|
-
}
|
|
248
|
+
usedPositions.add(finalIdx);
|
|
249
|
+
if (matchedAnchor) {
|
|
250
|
+
return { ...c, pos: finalIdx, anchorText: matchedAnchor, anchorEnd: finalIdx + anchorLen, strategy: `section:${strategy}` };
|
|
266
251
|
}
|
|
252
|
+
return { ...c, pos: finalIdx, anchorText: null, strategy: `section:${strategy}` };
|
|
267
253
|
}
|
|
268
254
|
}
|
|
269
|
-
//
|
|
270
|
-
//
|
|
271
|
-
//
|
|
272
|
-
//
|
|
273
|
-
insertPos = pushPastSectionHeading(result,
|
|
274
|
-
return { ...c, pos: insertPos, anchorText: null, strategy: '
|
|
255
|
+
// Anchor text and context are both gone from the section. The docx
|
|
256
|
+
// marker's offset is the only remaining signal: map it proportionally
|
|
257
|
+
// and snap to a word boundary. This is an approximate placement, not a
|
|
258
|
+
// match — flagged low-confidence so the summary surfaces it.
|
|
259
|
+
const insertPos = pushPastSectionHeading(result, snapToWordBoundary(result, estimatedPos));
|
|
260
|
+
return { ...c, pos: insertPos, anchorText: null, strategy: 'proportional-fallback' };
|
|
275
261
|
}
|
|
276
262
|
}
|
|
277
263
|
// Handle empty anchors
|
|
@@ -410,10 +396,17 @@ export function insertCommentsIntoMarkdown(markdown, comments, anchors, options
|
|
|
410
396
|
else {
|
|
411
397
|
result = result.slice(0, c.pos) + combined + result.slice(c.pos);
|
|
412
398
|
}
|
|
413
|
-
|
|
399
|
+
// Replies inherit the root's confidence — they ride the same position.
|
|
400
|
+
if (placementConfidence(c.strategy) === 'low') {
|
|
401
|
+
lowConfidenceCount += 1 + replies.length;
|
|
402
|
+
}
|
|
403
|
+
else {
|
|
404
|
+
placedCount += 1 + replies.length;
|
|
405
|
+
}
|
|
414
406
|
}
|
|
415
407
|
if (outStats) {
|
|
416
408
|
outStats.placed = placedCount;
|
|
409
|
+
outStats.lowConfidence = lowConfidenceCount;
|
|
417
410
|
outStats.deduped = dedupedCount;
|
|
418
411
|
outStats.unmatched = unmatchedCount;
|
|
419
412
|
}
|
|
@@ -422,6 +415,9 @@ export function insertCommentsIntoMarkdown(markdown, comments, anchors, options
|
|
|
422
415
|
if (unmatchedCount > 0) {
|
|
423
416
|
console.warn(`Warning: ${unmatchedCount} comment(s) could not be matched to anchor text`);
|
|
424
417
|
}
|
|
418
|
+
if (lowConfidenceCount > 0) {
|
|
419
|
+
console.warn(`Note: ${lowConfidenceCount} comment(s) placed approximately — run \`rev verify-anchors\` to review`);
|
|
420
|
+
}
|
|
425
421
|
if (dedupedCount > 0) {
|
|
426
422
|
console.warn(`Note: ${dedupedCount} comment(s) already present at anchor — skipped to avoid duplication`);
|
|
427
423
|
}
|
package/dist/lib/import.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import.js","sourceRoot":"","sources":["../../lib/import.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"import.js","sourceRoot":"","sources":["../../lib/import.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parser-backed OOXML layer.
|
|
3
|
+
*
|
|
4
|
+
* A `.docx` is a zip of XML parts. Reading those parts with regexes breaks on
|
|
5
|
+
* the variability real Word emits: marker elements carry attributes beyond
|
|
6
|
+
* `w:id`, anchor text spans many runs, the WordprocessingML namespace can be
|
|
7
|
+
* bound to a prefix other than `w`, runs are separated by `<w:tab/>`/`<w:br/>`,
|
|
8
|
+
* and prose lives in parts other than `document.xml` (footnotes, endnotes,
|
|
9
|
+
* headers, footers).
|
|
10
|
+
*
|
|
11
|
+
* This module tokenizes the XML structurally and walks it once into an ordered
|
|
12
|
+
* flow of paragraphs, runs, text, track-change spans, and comment-range
|
|
13
|
+
* markers. Every reader (text extraction, comment anchors, headings) and the
|
|
14
|
+
* comment injector derive from that single walk — there is no second engine to
|
|
15
|
+
* drift from.
|
|
16
|
+
*/
|
|
17
|
+
import AdmZip from 'adm-zip';
|
|
18
|
+
export declare const WML_NS = "http://schemas.openxmlformats.org/wordprocessingml/2006/main";
|
|
19
|
+
/** Open a `.docx` package. Throws a clear error if it is not a valid zip. */
|
|
20
|
+
export declare function openDocx(docxPath: string): AdmZip;
|
|
21
|
+
/** Read a single part as UTF-8 text, or `null` when the part is absent. */
|
|
22
|
+
export declare function readPartText(zip: AdmZip, partName: string): string | null;
|
|
23
|
+
/**
|
|
24
|
+
* The WordprocessingML parts that carry running prose, in reading order:
|
|
25
|
+
* the main story first, then footnotes, endnotes, headers, and footers.
|
|
26
|
+
* A reader that opens only `document.xml` loses everything else.
|
|
27
|
+
*/
|
|
28
|
+
export declare function listProseParts(zip: AdmZip): string[];
|
|
29
|
+
/** Decode the XML entities that appear in `.docx` text and attribute values. */
|
|
30
|
+
export declare function decodeXmlEntities(text: string): string;
|
|
31
|
+
/** Encode text for placement inside an XML element (`<w:t>`). */
|
|
32
|
+
export declare function encodeXmlText(text: string): string;
|
|
33
|
+
/** Encode text for placement inside a double-quoted XML attribute value. */
|
|
34
|
+
export declare function encodeXmlAttr(text: string): string;
|
|
35
|
+
export interface XmlAttr {
|
|
36
|
+
/** Qualified name as written, e.g. `w:id`. */
|
|
37
|
+
name: string;
|
|
38
|
+
prefix: string;
|
|
39
|
+
local: string;
|
|
40
|
+
/** Entity-decoded value. */
|
|
41
|
+
value: string;
|
|
42
|
+
}
|
|
43
|
+
export type XmlTokenKind = 'open' | 'close' | 'selfclose' | 'text' | 'comment' | 'cdata' | 'decl' | 'pi';
|
|
44
|
+
export interface XmlToken {
|
|
45
|
+
kind: XmlTokenKind;
|
|
46
|
+
/** Byte offset of `<` (or text start) in the source. */
|
|
47
|
+
start: number;
|
|
48
|
+
/** Byte offset just past `>` (or text end) in the source. */
|
|
49
|
+
end: number;
|
|
50
|
+
/** Exact source slice [start, end). */
|
|
51
|
+
raw: string;
|
|
52
|
+
name?: string;
|
|
53
|
+
prefix?: string;
|
|
54
|
+
local?: string;
|
|
55
|
+
attrs?: XmlAttr[];
|
|
56
|
+
/** Entity-decoded text, for `text` and `cdata` tokens. */
|
|
57
|
+
text?: string;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Tokenize an XML string into an ordered, offset-tagged token stream.
|
|
61
|
+
* Quote-aware so a raw `>` inside an attribute value does not end a tag early.
|
|
62
|
+
*/
|
|
63
|
+
export declare function tokenizeXml(xml: string): XmlToken[];
|
|
64
|
+
export interface NsContext {
|
|
65
|
+
uriForPrefix(prefix: string): string | undefined;
|
|
66
|
+
/** True when an element token lives in the WordprocessingML namespace. */
|
|
67
|
+
isWml(token: XmlToken): boolean;
|
|
68
|
+
/** Value of the WML-namespaced attribute with the given local name, if present. */
|
|
69
|
+
wmlAttr(token: XmlToken, local: string): string | undefined;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Build a namespace context from a token stream. Declarations are read from
|
|
73
|
+
* every element (the root carries them in practice), so the WML namespace is
|
|
74
|
+
* matched by URI rather than by assuming the `w` prefix.
|
|
75
|
+
*/
|
|
76
|
+
export declare function resolveNamespaces(tokens: XmlToken[]): NsContext;
|
|
77
|
+
export type FlowItem = {
|
|
78
|
+
kind: 'text';
|
|
79
|
+
text: string;
|
|
80
|
+
} | {
|
|
81
|
+
kind: 'paraStart';
|
|
82
|
+
style: string | null;
|
|
83
|
+
level: number;
|
|
84
|
+
xmlStart: number;
|
|
85
|
+
} | {
|
|
86
|
+
kind: 'paraEnd';
|
|
87
|
+
} | {
|
|
88
|
+
kind: 'runStart';
|
|
89
|
+
xmlStart: number;
|
|
90
|
+
xmlContentStart: number;
|
|
91
|
+
} | {
|
|
92
|
+
kind: 'runEnd';
|
|
93
|
+
xmlEnd: number;
|
|
94
|
+
} | {
|
|
95
|
+
kind: 'commentStart';
|
|
96
|
+
id: string;
|
|
97
|
+
xmlStart: number;
|
|
98
|
+
xmlEnd: number;
|
|
99
|
+
} | {
|
|
100
|
+
kind: 'commentEnd';
|
|
101
|
+
id: string;
|
|
102
|
+
xmlStart: number;
|
|
103
|
+
xmlEnd: number;
|
|
104
|
+
} | {
|
|
105
|
+
kind: 'commentRef';
|
|
106
|
+
id: string;
|
|
107
|
+
} | {
|
|
108
|
+
kind: 'insStart';
|
|
109
|
+
} | {
|
|
110
|
+
kind: 'insEnd';
|
|
111
|
+
} | {
|
|
112
|
+
kind: 'delStart';
|
|
113
|
+
} | {
|
|
114
|
+
kind: 'delEnd';
|
|
115
|
+
};
|
|
116
|
+
/**
|
|
117
|
+
* Walk a part's XML once into an ordered flow. Text-bearing items appear in
|
|
118
|
+
* document order interleaved with paragraph, run, track-change, and
|
|
119
|
+
* comment-range boundaries, each tagged with the source offsets a later
|
|
120
|
+
* injection step needs.
|
|
121
|
+
*/
|
|
122
|
+
export declare function walkBody(xml: string, ns?: NsContext): FlowItem[];
|
|
123
|
+
export interface CommentRange {
|
|
124
|
+
id: string;
|
|
125
|
+
/** Concatenated anchor text between the range markers. */
|
|
126
|
+
anchor: string;
|
|
127
|
+
/** Start offset of the anchor in `text`. */
|
|
128
|
+
start: number;
|
|
129
|
+
/** End offset of the anchor in `text`. */
|
|
130
|
+
end: number;
|
|
131
|
+
/** True when the range encloses no text (a zero-width / point anchor). */
|
|
132
|
+
isEmpty: boolean;
|
|
133
|
+
}
|
|
134
|
+
export interface DocTextModel {
|
|
135
|
+
/** Plain text: runs concatenated, paragraphs joined with nothing between. */
|
|
136
|
+
text: string;
|
|
137
|
+
/** Comment ranges with offsets into `text`. */
|
|
138
|
+
comments: CommentRange[];
|
|
139
|
+
/** Heading paragraphs with their offset into `text`. */
|
|
140
|
+
headings: Array<{
|
|
141
|
+
style: string;
|
|
142
|
+
level: number;
|
|
143
|
+
text: string;
|
|
144
|
+
position: number;
|
|
145
|
+
}>;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Build the plain-text model used for comment-anchor matching. Runs are
|
|
149
|
+
* concatenated and paragraphs are joined with no separator, matching the
|
|
150
|
+
* coordinate system the placement engine expects, but namespace-aware and
|
|
151
|
+
* robust to marker-attribute variation and multi-run anchors.
|
|
152
|
+
*/
|
|
153
|
+
export declare function buildDocTextModel(xml: string): DocTextModel;
|
|
154
|
+
export interface TextRunSlot {
|
|
155
|
+
/** Source offset of the enclosing run's `<w:r>`. */
|
|
156
|
+
runOpenStart: number;
|
|
157
|
+
/** Source offset just past the enclosing run's `</w:r>`. */
|
|
158
|
+
runCloseEnd: number;
|
|
159
|
+
/** Raw `<w:rPr>...</w:rPr>` of the enclosing run, or '' when it has none. */
|
|
160
|
+
rPr: string;
|
|
161
|
+
/** Raw opening `<w:t ...>` tag of this text element. */
|
|
162
|
+
tOpenTag: string;
|
|
163
|
+
/** Source offset just past `<w:t ...>`. */
|
|
164
|
+
contentStart: number;
|
|
165
|
+
/** Source offset of `</w:t>`. */
|
|
166
|
+
contentEnd: number;
|
|
167
|
+
/** Raw (still XML-encoded) text between the `<w:t>` tags. */
|
|
168
|
+
content: string;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Index every `<w:t>` text element with its enclosing run's exact boundaries
|
|
172
|
+
* and run properties, derived from the token nesting rather than by scanning
|
|
173
|
+
* backwards for the nearest `<w:r`. This locates the correct run even when the
|
|
174
|
+
* text sits inside a hyperlink, a field, or an `mc:AlternateContent` block, and
|
|
175
|
+
* naturally ignores marker-like text that lives in attributes (it is not inside
|
|
176
|
+
* a `<w:t>`).
|
|
177
|
+
*/
|
|
178
|
+
export declare function indexTextRuns(xml: string): TextRunSlot[];
|
|
179
|
+
export interface ExtractedComment {
|
|
180
|
+
id: string;
|
|
181
|
+
author: string;
|
|
182
|
+
/** Full ISO date string as written, or '' when absent. */
|
|
183
|
+
date: string;
|
|
184
|
+
text: string;
|
|
185
|
+
/** Parent comment id for a reply, resolved from commentsExtended.xml. */
|
|
186
|
+
parentId?: string;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Extract comment bodies from `word/comments.xml` and reply threading from
|
|
190
|
+
* `word/commentsExtended.xml`. Structural elements are matched by local name
|
|
191
|
+
* in the WordprocessingML namespace, so a document that binds WML to a prefix
|
|
192
|
+
* other than `w` still yields its comments.
|
|
193
|
+
*/
|
|
194
|
+
export declare function extractComments(zip: AdmZip): ExtractedComment[];
|
|
195
|
+
/** Parts that can carry comment ranges, in reading order. */
|
|
196
|
+
export declare const COMMENT_PARTS: string[];
|
|
197
|
+
/**
|
|
198
|
+
* Comment ranges across every part that can hold them — not just
|
|
199
|
+
* `document.xml`, so a comment anchored in a footnote or endnote is found
|
|
200
|
+
* rather than silently lost. Positions are offsets into the concatenated
|
|
201
|
+
* `fullDocText`.
|
|
202
|
+
*/
|
|
203
|
+
export declare function buildCommentAnchorModel(zip: AdmZip): {
|
|
204
|
+
fullDocText: string;
|
|
205
|
+
comments: CommentRange[];
|
|
206
|
+
};
|
|
207
|
+
//# sourceMappingURL=ooxml.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ooxml.d.ts","sourceRoot":"","sources":["../../lib/ooxml.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,MAAM,MAAM,SAAS,CAAC;AAE7B,eAAO,MAAM,MAAM,iEAAiE,CAAC;AAMrF,6EAA6E;AAC7E,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMjD;AAED,2EAA2E;AAC3E,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAIzE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAapD;AAMD,gFAAgF;AAChF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAStD;AAED,iEAAiE;AACjE,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKlD;AAED,4EAA4E;AAC5E,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAMD,MAAM,WAAW,OAAO;IACtB,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,YAAY,GACpB,MAAM,GACN,OAAO,GACP,WAAW,GACX,MAAM,GACN,SAAS,GACT,OAAO,GACP,MAAM,GACN,IAAI,CAAC;AAET,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,YAAY,CAAC;IACnB,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,GAAG,EAAE,MAAM,CAAC;IACZ,uCAAuC;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;IAClB,0DAA0D;IAC1D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAoED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,EAAE,CA+DnD;AAMD,MAAM,WAAW,SAAS;IACxB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACjD,0EAA0E;IAC1E,KAAK,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC;IAChC,mFAAmF;IACnF,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CAC7D;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,CAuB/D;AAMD,MAAM,MAAM,QAAQ,GAChB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC5E;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,GAC/D;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACtE;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACpE;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEvB;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,SAAS,GAAG,QAAQ,EAAE,CA6HhE;AAMD,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,0DAA0D;IAC1D,MAAM,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,GAAG,EAAE,MAAM,CAAC;IACZ,0EAA0E;IAC1E,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,6EAA6E;IAC7E,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,wDAAwD;IACxD,QAAQ,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACnF;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAoD3D;AAMD,MAAM,WAAW,WAAW;IAC1B,oDAAoD;IACpD,YAAY,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,WAAW,EAAE,MAAM,CAAC;IACpB,6EAA6E;IAC7E,GAAG,EAAE,MAAM,CAAC;IACZ,wDAAwD;IACxD,QAAQ,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,YAAY,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;CACjB;AASD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,EAAE,CAuDxD;AAMD,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAUD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,EAAE,CA+E/D;AAED,6DAA6D;AAC7D,eAAO,MAAM,aAAa,UAAmE,CAAC;AAE9F;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,YAAY,EAAE,CAAA;CAAE,CActG"}
|