@usejunior/docx-core 0.14.0 → 0.16.0

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 (154) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/generation/index.d.ts +0 -1
  3. package/dist/generation/index.d.ts.map +1 -1
  4. package/dist/generation/index.js +0 -1
  5. package/dist/generation/index.js.map +1 -1
  6. package/dist/index.d.ts +7 -25
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +7 -47
  9. package/dist/index.js.map +1 -1
  10. package/dist/primitives/accept_ai_edits.d.ts +87 -0
  11. package/dist/primitives/accept_ai_edits.d.ts.map +1 -0
  12. package/dist/primitives/accept_ai_edits.js +253 -0
  13. package/dist/primitives/accept_ai_edits.js.map +1 -0
  14. package/dist/primitives/accept_changes.d.ts +13 -1
  15. package/dist/primitives/accept_changes.d.ts.map +1 -1
  16. package/dist/primitives/accept_changes.js +44 -29
  17. package/dist/primitives/accept_changes.js.map +1 -1
  18. package/dist/primitives/document.d.ts +51 -0
  19. package/dist/primitives/document.d.ts.map +1 -1
  20. package/dist/primitives/document.js +144 -1
  21. package/dist/primitives/document.js.map +1 -1
  22. package/dist/primitives/index.d.ts +1 -0
  23. package/dist/primitives/index.d.ts.map +1 -1
  24. package/dist/primitives/index.js +1 -0
  25. package/dist/primitives/index.js.map +1 -1
  26. package/dist/primitives/reject_changes.d.ts +4 -1
  27. package/dist/primitives/reject_changes.d.ts.map +1 -1
  28. package/dist/primitives/reject_changes.js +54 -30
  29. package/dist/primitives/reject_changes.js.map +1 -1
  30. package/dist/primitives/relationships.d.ts +33 -0
  31. package/dist/primitives/relationships.d.ts.map +1 -1
  32. package/dist/primitives/relationships.js +84 -1
  33. package/dist/primitives/relationships.js.map +1 -1
  34. package/package.json +8 -9
  35. package/dist/atomizer.d.ts +0 -273
  36. package/dist/atomizer.d.ts.map +0 -1
  37. package/dist/atomizer.js +0 -1002
  38. package/dist/atomizer.js.map +0 -1
  39. package/dist/baselines/atomizer/atomLcs.d.ts +0 -82
  40. package/dist/baselines/atomizer/atomLcs.d.ts.map +0 -1
  41. package/dist/baselines/atomizer/atomLcs.js +0 -376
  42. package/dist/baselines/atomizer/atomLcs.js.map +0 -1
  43. package/dist/baselines/atomizer/auxiliaryIdCollision.d.ts +0 -99
  44. package/dist/baselines/atomizer/auxiliaryIdCollision.d.ts.map +0 -1
  45. package/dist/baselines/atomizer/auxiliaryIdCollision.js +0 -415
  46. package/dist/baselines/atomizer/auxiliaryIdCollision.js.map +0 -1
  47. package/dist/baselines/atomizer/consumerCompatibility.d.ts +0 -2
  48. package/dist/baselines/atomizer/consumerCompatibility.d.ts.map +0 -1
  49. package/dist/baselines/atomizer/consumerCompatibility.js +0 -188
  50. package/dist/baselines/atomizer/consumerCompatibility.js.map +0 -1
  51. package/dist/baselines/atomizer/debug.d.ts +0 -41
  52. package/dist/baselines/atomizer/debug.d.ts.map +0 -1
  53. package/dist/baselines/atomizer/debug.js +0 -85
  54. package/dist/baselines/atomizer/debug.js.map +0 -1
  55. package/dist/baselines/atomizer/documentReconstructor.d.ts +0 -75
  56. package/dist/baselines/atomizer/documentReconstructor.d.ts.map +0 -1
  57. package/dist/baselines/atomizer/documentReconstructor.js +0 -1449
  58. package/dist/baselines/atomizer/documentReconstructor.js.map +0 -1
  59. package/dist/baselines/atomizer/formattingFidelity.d.ts +0 -99
  60. package/dist/baselines/atomizer/formattingFidelity.d.ts.map +0 -1
  61. package/dist/baselines/atomizer/formattingFidelity.js +0 -449
  62. package/dist/baselines/atomizer/formattingFidelity.js.map +0 -1
  63. package/dist/baselines/atomizer/hierarchicalLcs.d.ts +0 -121
  64. package/dist/baselines/atomizer/hierarchicalLcs.d.ts.map +0 -1
  65. package/dist/baselines/atomizer/hierarchicalLcs.js +0 -753
  66. package/dist/baselines/atomizer/hierarchicalLcs.js.map +0 -1
  67. package/dist/baselines/atomizer/inPlaceModifier-bookmarks.d.ts +0 -37
  68. package/dist/baselines/atomizer/inPlaceModifier-bookmarks.d.ts.map +0 -1
  69. package/dist/baselines/atomizer/inPlaceModifier-bookmarks.js +0 -189
  70. package/dist/baselines/atomizer/inPlaceModifier-bookmarks.js.map +0 -1
  71. package/dist/baselines/atomizer/inPlaceModifier-containers.d.ts +0 -74
  72. package/dist/baselines/atomizer/inPlaceModifier-containers.d.ts.map +0 -1
  73. package/dist/baselines/atomizer/inPlaceModifier-containers.js +0 -171
  74. package/dist/baselines/atomizer/inPlaceModifier-containers.js.map +0 -1
  75. package/dist/baselines/atomizer/inPlaceModifier-deletion.d.ts +0 -88
  76. package/dist/baselines/atomizer/inPlaceModifier-deletion.d.ts.map +0 -1
  77. package/dist/baselines/atomizer/inPlaceModifier-deletion.js +0 -326
  78. package/dist/baselines/atomizer/inPlaceModifier-deletion.js.map +0 -1
  79. package/dist/baselines/atomizer/inPlaceModifier-postprocess.d.ts +0 -85
  80. package/dist/baselines/atomizer/inPlaceModifier-postprocess.d.ts.map +0 -1
  81. package/dist/baselines/atomizer/inPlaceModifier-postprocess.js +0 -402
  82. package/dist/baselines/atomizer/inPlaceModifier-postprocess.js.map +0 -1
  83. package/dist/baselines/atomizer/inPlaceModifier-presplit.d.ts +0 -39
  84. package/dist/baselines/atomizer/inPlaceModifier-presplit.d.ts.map +0 -1
  85. package/dist/baselines/atomizer/inPlaceModifier-presplit.js +0 -265
  86. package/dist/baselines/atomizer/inPlaceModifier-presplit.js.map +0 -1
  87. package/dist/baselines/atomizer/inPlaceModifier-shared.d.ts +0 -62
  88. package/dist/baselines/atomizer/inPlaceModifier-shared.d.ts.map +0 -1
  89. package/dist/baselines/atomizer/inPlaceModifier-shared.js +0 -139
  90. package/dist/baselines/atomizer/inPlaceModifier-shared.js.map +0 -1
  91. package/dist/baselines/atomizer/inPlaceModifier-wrappers.d.ts +0 -198
  92. package/dist/baselines/atomizer/inPlaceModifier-wrappers.d.ts.map +0 -1
  93. package/dist/baselines/atomizer/inPlaceModifier-wrappers.js +0 -475
  94. package/dist/baselines/atomizer/inPlaceModifier-wrappers.js.map +0 -1
  95. package/dist/baselines/atomizer/inPlaceModifier.d.ts +0 -27
  96. package/dist/baselines/atomizer/inPlaceModifier.d.ts.map +0 -1
  97. package/dist/baselines/atomizer/inPlaceModifier.js +0 -648
  98. package/dist/baselines/atomizer/inPlaceModifier.js.map +0 -1
  99. package/dist/baselines/atomizer/numberingIntegration.d.ts +0 -59
  100. package/dist/baselines/atomizer/numberingIntegration.d.ts.map +0 -1
  101. package/dist/baselines/atomizer/numberingIntegration.js +0 -209
  102. package/dist/baselines/atomizer/numberingIntegration.js.map +0 -1
  103. package/dist/baselines/atomizer/pipeline.d.ts +0 -103
  104. package/dist/baselines/atomizer/pipeline.d.ts.map +0 -1
  105. package/dist/baselines/atomizer/pipeline.js +0 -1160
  106. package/dist/baselines/atomizer/pipeline.js.map +0 -1
  107. package/dist/baselines/atomizer/premergeRuns.d.ts +0 -26
  108. package/dist/baselines/atomizer/premergeRuns.d.ts.map +0 -1
  109. package/dist/baselines/atomizer/premergeRuns.js +0 -153
  110. package/dist/baselines/atomizer/premergeRuns.js.map +0 -1
  111. package/dist/baselines/atomizer/trackChangesAcceptor.d.ts +0 -63
  112. package/dist/baselines/atomizer/trackChangesAcceptor.d.ts.map +0 -1
  113. package/dist/baselines/atomizer/trackChangesAcceptor.js +0 -254
  114. package/dist/baselines/atomizer/trackChangesAcceptor.js.map +0 -1
  115. package/dist/baselines/atomizer/trackChangesAcceptorAst.d.ts +0 -64
  116. package/dist/baselines/atomizer/trackChangesAcceptorAst.d.ts.map +0 -1
  117. package/dist/baselines/atomizer/trackChangesAcceptorAst.js +0 -642
  118. package/dist/baselines/atomizer/trackChangesAcceptorAst.js.map +0 -1
  119. package/dist/baselines/atomizer/xmlToWmlElement.d.ts +0 -65
  120. package/dist/baselines/atomizer/xmlToWmlElement.d.ts.map +0 -1
  121. package/dist/baselines/atomizer/xmlToWmlElement.js +0 -96
  122. package/dist/baselines/atomizer/xmlToWmlElement.js.map +0 -1
  123. package/dist/baselines/wmlcomparer/DocxodusWasm.d.ts +0 -51
  124. package/dist/baselines/wmlcomparer/DocxodusWasm.d.ts.map +0 -1
  125. package/dist/baselines/wmlcomparer/DocxodusWasm.js +0 -83
  126. package/dist/baselines/wmlcomparer/DocxodusWasm.js.map +0 -1
  127. package/dist/baselines/wmlcomparer/DotnetCli.d.ts +0 -40
  128. package/dist/baselines/wmlcomparer/DotnetCli.d.ts.map +0 -1
  129. package/dist/baselines/wmlcomparer/DotnetCli.js +0 -142
  130. package/dist/baselines/wmlcomparer/DotnetCli.js.map +0 -1
  131. package/dist/cli/compare-two.d.ts +0 -28
  132. package/dist/cli/compare-two.d.ts.map +0 -1
  133. package/dist/cli/compare-two.js +0 -112
  134. package/dist/cli/compare-two.js.map +0 -1
  135. package/dist/cli/index.d.ts +0 -3
  136. package/dist/cli/index.d.ts.map +0 -1
  137. package/dist/cli/index.js +0 -25
  138. package/dist/cli/index.js.map +0 -1
  139. package/dist/compare-types.d.ts +0 -197
  140. package/dist/compare-types.d.ts.map +0 -1
  141. package/dist/compare-types.js +0 -2
  142. package/dist/compare-types.js.map +0 -1
  143. package/dist/format-detection.d.ts +0 -120
  144. package/dist/format-detection.d.ts.map +0 -1
  145. package/dist/format-detection.js +0 -339
  146. package/dist/format-detection.js.map +0 -1
  147. package/dist/generation/recipes.d.ts +0 -144
  148. package/dist/generation/recipes.d.ts.map +0 -1
  149. package/dist/generation/recipes.js +0 -358
  150. package/dist/generation/recipes.js.map +0 -1
  151. package/dist/move-detection.d.ts +0 -211
  152. package/dist/move-detection.d.ts.map +0 -1
  153. package/dist/move-detection.js +0 -390
  154. package/dist/move-detection.js.map +0 -1
@@ -1,273 +0,0 @@
1
- /**
2
- * Atomizer Module
3
- *
4
- * Provides factory functions for creating ComparisonUnitAtom instances.
5
- * Implements the core atomization logic from WmlComparer.
6
- *
7
- * @see WmlComparer.cs ComparisonUnitAtom constructor (lines 2314-2343)
8
- */
9
- import { ComparisonUnitAtom, CorrelationStatus, OpcPart, WmlElement } from './core-types.js';
10
- /**
11
- * Calculate SHA1 hash of a string.
12
- *
13
- * Used for quick equality checking of comparison units.
14
- *
15
- * @param content - The string content to hash
16
- * @returns Hexadecimal SHA1 hash string
17
- */
18
- export declare function sha1(content: string): string;
19
- /**
20
- * Calculate SHA1 hash for a WmlElement.
21
- *
22
- * Includes tag name, attributes, and text content for uniqueness.
23
- * Excludes presentation-only attributes like xml:space that don't affect content.
24
- *
25
- * @param element - The element to hash
26
- * @returns Hexadecimal SHA1 hash string
27
- */
28
- export declare function hashElement(element: WmlElement): string;
29
- /**
30
- * Find a revision tracking element in the ancestor chain.
31
- *
32
- * Searches ancestors from nearest to root for w:ins, w:del, w:moveFrom, or w:moveTo.
33
- *
34
- * @param ancestors - Ancestor elements from root to parent
35
- * @returns The revision tracking element if found, undefined otherwise
36
- */
37
- export declare function findRevisionTrackingElement(ancestors: WmlElement[]): WmlElement | undefined;
38
- /**
39
- * Determine initial correlation status from revision tracking element.
40
- *
41
- * @param revTrackElement - The revision tracking element (if any)
42
- * @returns Initial correlation status
43
- */
44
- export declare function getStatusFromRevisionTracking(revTrackElement: WmlElement | undefined): CorrelationStatus;
45
- /**
46
- * Extract Unid attributes from ancestor elements.
47
- *
48
- * WmlComparer uses w:Unid attributes to correlate elements between documents.
49
- *
50
- * @param ancestors - Ancestor elements from root to parent
51
- * @returns Array of Unid values found in ancestors
52
- */
53
- export declare function extractAncestorUnids(ancestors: WmlElement[]): string[];
54
- /**
55
- * Tag names that are paragraph-level OOXML markers.
56
- *
57
- * These elements are valid as direct children of <w:p> (and revision wrappers
58
- * like <w:ins>/<w:del>/<w:moveFrom>/<w:moveTo>) but never inside <w:r>. The
59
- * rebuild reconstructor emits them as siblings of <w:r>, not leaves wrapped in
60
- * a synthetic run.
61
- *
62
- * Scope: commentRange, bookmark, moveFromRange / moveToRange, and
63
- * range-permission (permStart / permEnd) markers. Explicit move-range markers
64
- * coexist with the synthetic emission in wrapWithMoveFrom and wrapWithMoveTo:
65
- * the reconstructor suppresses synthesis for paragraphs whose atom stream
66
- * already carries explicit markers of the same kind, so the two paths never
67
- * double-emit.
68
- *
69
- * @conformance ECMA-376 edition 5, Part 1 § 17.13.5
70
- * @see https://github.com/UseJunior/safe-docx/issues/110
71
- * @see https://github.com/UseJunior/safe-docx/issues/111
72
- */
73
- export declare const PARAGRAPH_LEVEL_TAGS: Set<string>;
74
- /**
75
- * Special tag name for empty paragraph boundary atoms.
76
- * These atoms are created for paragraphs that have no content (only w:pPr).
77
- */
78
- export declare const EMPTY_PARAGRAPH_TAG = "__emptyParagraph__";
79
- export interface AtomizeTreeOptions {
80
- /**
81
- * Clone leaf nodes into atom.contentElement instead of reusing the parsed AST nodes.
82
- *
83
- * This prevents boundary normalization (merge/split) from mutating the document AST,
84
- * which is required for safe `reconstructionMode: 'inplace'`.
85
- *
86
- * Default: false (preserve historical behavior/perf).
87
- */
88
- cloneLeafNodes?: boolean;
89
- /**
90
- * Allow normalization to merge atoms across run boundaries if formatting matches.
91
- *
92
- * For `reconstructionMode: 'inplace'`, this should usually be false so that atom
93
- * ancestry continues to point at the correct run for wrapping.
94
- *
95
- * Default: true.
96
- */
97
- mergeAcrossRuns?: boolean;
98
- /**
99
- * Allow punctuation normalization to merge across run boundaries.
100
- *
101
- * Default: true.
102
- */
103
- mergePunctuationAcrossRuns?: boolean;
104
- /**
105
- * Split text atoms on word boundaries for fine-grained diffs.
106
- *
107
- * Default: true.
108
- */
109
- splitTextIntoWords?: boolean;
110
- /**
111
- * Atomize paragraph-level markers (commentRange*, bookmark*, moveFromRange*,
112
- * moveToRange*, perm* — see PARAGRAPH_LEVEL_TAGS) so the rebuild
113
- * reconstructor can re-emit them as siblings of <w:r>.
114
- *
115
- * MUST be false for inplace mode. Inplace handlers are run-anchored and
116
- * silently no-op on atoms with no sourceRunElement, but inplace's bookmark
117
- * reconciliation breaks if bookmarkStart/End atoms enter the stream
118
- * (orphaned bookmark warnings, round-trip safety check fails).
119
- *
120
- * Default: false.
121
- */
122
- atomizeParagraphLevelMarkers?: boolean;
123
- }
124
- /**
125
- * Check if an element is a leaf node for atomization.
126
- *
127
- * Leaf nodes are the smallest units that can be compared.
128
- *
129
- * @param element - The element to check
130
- * @returns True if this is a leaf node
131
- */
132
- export declare function isLeafNode(element: WmlElement): boolean;
133
- /**
134
- * Check if an element is a paragraph-level OOXML marker.
135
- *
136
- * Paragraph-level markers (PARAGRAPH_LEVEL_TAGS: commentRange*, bookmark*,
137
- * moveFromRange*, moveToRange*, perm*) are
138
- * atomized only when they sit inside a <w:p> ancestor — body/table-sibling
139
- * placements stay out of the atom stream and are handled by the scaffold-strip
140
- * block in the reconstructor.
141
- */
142
- export declare function isParagraphLevelLeaf(element: WmlElement): boolean;
143
- /**
144
- * Options for creating a ComparisonUnitAtom.
145
- */
146
- export interface CreateAtomOptions {
147
- /** The leaf element (w:t, w:br, etc.) */
148
- contentElement: WmlElement;
149
- /** Ancestor elements from root to parent of contentElement */
150
- ancestors: WmlElement[];
151
- /** The OPC part this atom belongs to */
152
- part: OpcPart;
153
- }
154
- /**
155
- * Create a ComparisonUnitAtom from a leaf element.
156
- *
157
- * Replicates the C# ComparisonUnitAtom constructor logic:
158
- * 1. Finds revision tracking elements in ancestors
159
- * 2. Sets initial correlation status based on revision type
160
- * 3. Extracts ancestor Unids for correlation
161
- * 4. Calculates SHA1 hash for equality checking
162
- *
163
- * @param options - Options containing element, ancestors, and part
164
- * @returns A new ComparisonUnitAtom
165
- *
166
- * @see WmlComparer.cs lines 2314-2343
167
- */
168
- export declare function createComparisonUnitAtom(options: CreateAtomOptions): ComparisonUnitAtom;
169
- /**
170
- * Atomize a document tree into a flat list of ComparisonUnitAtoms.
171
- *
172
- * Recursively traverses the tree, creating atoms for each leaf node.
173
- * Also creates special atoms for empty paragraphs to preserve document structure.
174
- *
175
- * @param node - The current node in the tree
176
- * @param ancestors - Ancestor elements from root to parent of node
177
- * @param part - The OPC part this tree belongs to
178
- * @returns Array of ComparisonUnitAtoms from leaf nodes
179
- */
180
- export declare function atomizeTree(node: WmlElement, ancestors: WmlElement[], part: OpcPart, options?: AtomizeTreeOptions): {
181
- atoms: ComparisonUnitAtom[];
182
- emptyParagraphCount: number;
183
- };
184
- /**
185
- * Get all ancestors of a node by following parent references.
186
- *
187
- * @param node - The node to get ancestors for
188
- * @returns Array of ancestors from root to immediate parent
189
- */
190
- export declare function getAncestors(node: WmlElement): WmlElement[];
191
- /**
192
- * Assign paragraph indices to atoms based on their w:p ancestors.
193
- *
194
- * This enables paragraph grouping in the document reconstructor when
195
- * merging atoms from different source trees (original vs revised).
196
- *
197
- * @param atoms - Array of atoms to assign indices to
198
- */
199
- export declare function assignParagraphIndices(atoms: ComparisonUnitAtom[]): void;
200
- /**
201
- * Special tag name for collapsed field atoms.
202
- * These represent Word field codes (REF, PAGEREF, etc.) collapsed to their visible result.
203
- */
204
- export declare const COLLAPSED_FIELD_TAG = "__collapsedField__";
205
- /**
206
- * Collapse field sequences into single atoms based on visible text.
207
- *
208
- * Word fields consist of:
209
- * - w:fldChar[begin] - field start
210
- * - w:instrText - field instruction (e.g., "REF _Ref123 \h")
211
- * - w:fldChar[separate] - separates instruction from result
212
- * - w:t (one or more) - visible result text
213
- * - w:fldChar[end] - field end
214
- *
215
- * This function collapses each field sequence into a single atom whose hash
216
- * is based only on the visible text. This allows matching between:
217
- * - Hardcoded text: "2.6"
218
- * - Field reference: [REF field]2.6[/field]
219
- *
220
- * Both will produce atoms with the same hash if the visible text matches.
221
- *
222
- * NOTE: Multi-paragraph fields (like TOC, INDEX) are NOT collapsed because
223
- * they would lose paragraph structure information.
224
- *
225
- * @param atoms - Array of atoms from atomization
226
- * @returns Array with field sequences collapsed to single atoms
227
- */
228
- export declare function collapseFieldSequences(atoms: ComparisonUnitAtom[]): ComparisonUnitAtom[];
229
- /**
230
- * Split all w:t atoms into word-level atoms.
231
- *
232
- * @param atoms - Array of atoms
233
- * @returns Array with w:t atoms split into words
234
- */
235
- export declare function splitAtomsIntoWords(atoms: ComparisonUnitAtom[]): ComparisonUnitAtom[];
236
- /**
237
- * Find the nearest `w:hyperlink` ancestor of an atom, or null.
238
- *
239
- * Boundary normalization must never merge text atoms across a hyperlink
240
- * boundary: the surviving atom keeps a single ancestor chain, so a
241
- * cross-boundary merge either absorbs adjacent plain text into the link
242
- * (formatting bleed) or detaches link text from its wrapper.
243
- *
244
- * @conformance ECMA-376 edition 5, Part 1 § 17.16.22
245
- * @see https://github.com/UseJunior/safe-docx/issues/368
246
- */
247
- export declare function nearestHyperlinkAncestor(atom: ComparisonUnitAtom): WmlElement | null;
248
- /**
249
- * Merge punctuation-only atoms with preceding text.
250
- *
251
- * This handles cases where documents have different w:t boundaries around
252
- * punctuation (e.g., "Conduct" + "," vs "Conduct,"). Punctuation is merged
253
- * with the preceding word regardless of run formatting differences.
254
- *
255
- * @param atoms - Array of atoms
256
- * @returns Atoms with punctuation merged into preceding text
257
- */
258
- export declare function mergePunctuationAtoms(atoms: ComparisonUnitAtom[], options?: Required<Pick<AtomizeTreeOptions, 'mergePunctuationAcrossRuns'>>): ComparisonUnitAtom[];
259
- /**
260
- * Merge contiguous w:t atoms within the same run into single atoms.
261
- *
262
- * This normalization ensures that identical text split differently across
263
- * w:t elements in original vs revised documents will produce matching hashes.
264
- *
265
- * Example:
266
- * Before: ["Def", "initions"] (2 atoms)
267
- * After: ["Definitions"] (1 atom)
268
- *
269
- * @param atoms - Array of atoms from atomization
270
- * @returns Normalized array with contiguous text atoms merged
271
- */
272
- export declare function mergeContiguousTextAtoms(atoms: ComparisonUnitAtom[], options?: Required<Pick<AtomizeTreeOptions, 'mergeAcrossRuns'>>): ComparisonUnitAtom[];
273
- //# sourceMappingURL=atomizer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"atomizer.d.ts","sourceRoot":"","sources":["../src/atomizer.ts"],"names":[],"mappings":"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"}