docrev 0.9.4 → 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 (141) hide show
  1. package/dist/lib/commands/comments.d.ts.map +1 -1
  2. package/dist/lib/commands/comments.js +19 -27
  3. package/dist/lib/commands/comments.js.map +1 -1
  4. package/dist/lib/commands/context.d.ts +1 -0
  5. package/dist/lib/commands/context.d.ts.map +1 -1
  6. package/dist/lib/commands/context.js +1 -2
  7. package/dist/lib/commands/context.js.map +1 -1
  8. package/dist/lib/commands/file-ops.d.ts +11 -0
  9. package/dist/lib/commands/file-ops.d.ts.map +1 -0
  10. package/dist/lib/commands/file-ops.js +301 -0
  11. package/dist/lib/commands/file-ops.js.map +1 -0
  12. package/dist/lib/commands/index.d.ts +9 -1
  13. package/dist/lib/commands/index.d.ts.map +1 -1
  14. package/dist/lib/commands/index.js +17 -1
  15. package/dist/lib/commands/index.js.map +1 -1
  16. package/dist/lib/commands/merge-resolve.d.ts +12 -0
  17. package/dist/lib/commands/merge-resolve.d.ts.map +1 -0
  18. package/dist/lib/commands/merge-resolve.js +318 -0
  19. package/dist/lib/commands/merge-resolve.js.map +1 -0
  20. package/dist/lib/commands/preview.d.ts +11 -0
  21. package/dist/lib/commands/preview.d.ts.map +1 -0
  22. package/dist/lib/commands/preview.js +138 -0
  23. package/dist/lib/commands/preview.js.map +1 -0
  24. package/dist/lib/commands/project-info.d.ts +11 -0
  25. package/dist/lib/commands/project-info.d.ts.map +1 -0
  26. package/dist/lib/commands/project-info.js +187 -0
  27. package/dist/lib/commands/project-info.js.map +1 -0
  28. package/dist/lib/commands/quality.d.ts +11 -0
  29. package/dist/lib/commands/quality.d.ts.map +1 -0
  30. package/dist/lib/commands/quality.js +384 -0
  31. package/dist/lib/commands/quality.js.map +1 -0
  32. package/dist/lib/commands/sections.d.ts +3 -2
  33. package/dist/lib/commands/sections.d.ts.map +1 -1
  34. package/dist/lib/commands/sections.js +4 -723
  35. package/dist/lib/commands/sections.js.map +1 -1
  36. package/dist/lib/commands/sync.d.ts +11 -0
  37. package/dist/lib/commands/sync.d.ts.map +1 -0
  38. package/dist/lib/commands/sync.js +441 -0
  39. package/dist/lib/commands/sync.js.map +1 -0
  40. package/dist/lib/commands/text-ops.d.ts +11 -0
  41. package/dist/lib/commands/text-ops.d.ts.map +1 -0
  42. package/dist/lib/commands/text-ops.js +357 -0
  43. package/dist/lib/commands/text-ops.js.map +1 -0
  44. package/dist/lib/commands/utilities.d.ts +2 -4
  45. package/dist/lib/commands/utilities.d.ts.map +1 -1
  46. package/dist/lib/commands/utilities.js +3 -1605
  47. package/dist/lib/commands/utilities.js.map +1 -1
  48. package/dist/lib/commands/word-tools.d.ts +11 -0
  49. package/dist/lib/commands/word-tools.d.ts.map +1 -0
  50. package/dist/lib/commands/word-tools.js +272 -0
  51. package/dist/lib/commands/word-tools.js.map +1 -0
  52. package/dist/lib/comment-realign.d.ts.map +1 -1
  53. package/dist/lib/comment-realign.js +0 -7
  54. package/dist/lib/comment-realign.js.map +1 -1
  55. package/dist/lib/dependencies.d.ts.map +1 -1
  56. package/dist/lib/dependencies.js +11 -23
  57. package/dist/lib/dependencies.js.map +1 -1
  58. package/dist/lib/diff-engine.d.ts +25 -0
  59. package/dist/lib/diff-engine.d.ts.map +1 -0
  60. package/dist/lib/diff-engine.js +354 -0
  61. package/dist/lib/diff-engine.js.map +1 -0
  62. package/dist/lib/git.d.ts.map +1 -1
  63. package/dist/lib/git.js +18 -28
  64. package/dist/lib/git.js.map +1 -1
  65. package/dist/lib/import.d.ts +37 -117
  66. package/dist/lib/import.d.ts.map +1 -1
  67. package/dist/lib/import.js +10 -1039
  68. package/dist/lib/import.js.map +1 -1
  69. package/dist/lib/merge.d.ts.map +1 -1
  70. package/dist/lib/merge.js +29 -117
  71. package/dist/lib/merge.js.map +1 -1
  72. package/dist/lib/pdf-comments.d.ts.map +1 -1
  73. package/dist/lib/pdf-comments.js +1 -13
  74. package/dist/lib/pdf-comments.js.map +1 -1
  75. package/dist/lib/pptx-themes.d.ts.map +1 -1
  76. package/dist/lib/pptx-themes.js +0 -403
  77. package/dist/lib/pptx-themes.js.map +1 -1
  78. package/dist/lib/protect-restore.d.ts.map +1 -1
  79. package/dist/lib/protect-restore.js +34 -36
  80. package/dist/lib/protect-restore.js.map +1 -1
  81. package/dist/lib/restore-references.d.ts +35 -0
  82. package/dist/lib/restore-references.d.ts.map +1 -0
  83. package/dist/lib/restore-references.js +188 -0
  84. package/dist/lib/restore-references.js.map +1 -0
  85. package/dist/lib/slides.d.ts.map +1 -1
  86. package/dist/lib/slides.js +0 -35
  87. package/dist/lib/slides.js.map +1 -1
  88. package/dist/lib/trackchanges.d.ts.map +1 -1
  89. package/dist/lib/trackchanges.js +1 -11
  90. package/dist/lib/trackchanges.js.map +1 -1
  91. package/dist/lib/tui.d.ts +36 -45
  92. package/dist/lib/tui.d.ts.map +1 -1
  93. package/dist/lib/tui.js +92 -108
  94. package/dist/lib/tui.js.map +1 -1
  95. package/dist/lib/undo.d.ts +3 -4
  96. package/dist/lib/undo.d.ts.map +1 -1
  97. package/dist/lib/undo.js +0 -7
  98. package/dist/lib/undo.js.map +1 -1
  99. package/dist/lib/utils.d.ts +12 -0
  100. package/dist/lib/utils.d.ts.map +1 -1
  101. package/dist/lib/utils.js +26 -0
  102. package/dist/lib/utils.js.map +1 -1
  103. package/dist/lib/word-extraction.d.ts +77 -0
  104. package/dist/lib/word-extraction.d.ts.map +1 -0
  105. package/dist/lib/word-extraction.js +515 -0
  106. package/dist/lib/word-extraction.js.map +1 -0
  107. package/dist/lib/wordcomments.d.ts.map +1 -1
  108. package/dist/lib/wordcomments.js +1 -8
  109. package/dist/lib/wordcomments.js.map +1 -1
  110. package/dist/package.json +137 -0
  111. package/lib/commands/comments.ts +20 -25
  112. package/lib/commands/context.ts +1 -2
  113. package/lib/commands/file-ops.ts +372 -0
  114. package/lib/commands/index.ts +24 -0
  115. package/lib/commands/merge-resolve.ts +378 -0
  116. package/lib/commands/preview.ts +178 -0
  117. package/lib/commands/project-info.ts +244 -0
  118. package/lib/commands/quality.ts +517 -0
  119. package/lib/commands/sections.ts +3 -857
  120. package/lib/commands/sync.ts +536 -0
  121. package/lib/commands/text-ops.ts +449 -0
  122. package/lib/commands/utilities.ts +62 -2066
  123. package/lib/commands/word-tools.ts +340 -0
  124. package/lib/comment-realign.ts +0 -8
  125. package/lib/dependencies.ts +12 -20
  126. package/lib/diff-engine.ts +465 -0
  127. package/lib/git.ts +24 -31
  128. package/lib/import.ts +78 -1348
  129. package/lib/merge.ts +42 -132
  130. package/lib/pdf-comments.ts +2 -14
  131. package/lib/pptx-themes.ts +0 -413
  132. package/lib/protect-restore.ts +48 -44
  133. package/lib/restore-references.ts +240 -0
  134. package/lib/slides.ts +0 -37
  135. package/lib/trackchanges.ts +1 -12
  136. package/lib/{tui.js → tui.ts} +139 -126
  137. package/lib/undo.ts +3 -12
  138. package/lib/utils.ts +28 -0
  139. package/lib/word-extraction.ts +666 -0
  140. package/lib/wordcomments.ts +1 -9
  141. package/package.json +1 -1
package/dist/lib/tui.js CHANGED
@@ -4,6 +4,39 @@
4
4
  */
5
5
  import chalk from 'chalk';
6
6
  import * as readline from 'readline';
7
+ // =============================================================================
8
+ // Utility Functions
9
+ // =============================================================================
10
+ /**
11
+ * Strip ANSI codes for length calculation
12
+ */
13
+ export function stripAnsi(str) {
14
+ return str.replace(/\x1b\[[0-9;]*m/g, '');
15
+ }
16
+ /**
17
+ * Word wrap text to fit within width
18
+ */
19
+ function wordWrap(text, width) {
20
+ const words = text.split(/\s+/);
21
+ const lines = [];
22
+ let currentLine = '';
23
+ for (const word of words) {
24
+ if (currentLine.length + word.length + 1 <= width) {
25
+ currentLine += (currentLine ? ' ' : '') + word;
26
+ }
27
+ else {
28
+ if (currentLine)
29
+ lines.push(currentLine);
30
+ currentLine = word;
31
+ }
32
+ }
33
+ if (currentLine)
34
+ lines.push(currentLine);
35
+ return lines;
36
+ }
37
+ // =============================================================================
38
+ // Screen Functions
39
+ // =============================================================================
7
40
  /**
8
41
  * Clear the terminal screen
9
42
  */
@@ -12,15 +45,12 @@ export function clearScreen() {
12
45
  }
13
46
  /**
14
47
  * Move cursor to position
15
- * @param {number} row
16
- * @param {number} col
17
48
  */
18
49
  export function moveCursor(row, col) {
19
50
  process.stdout.write(`\x1B[${row};${col}H`);
20
51
  }
21
52
  /**
22
53
  * Get terminal dimensions
23
- * @returns {{rows: number, cols: number}}
24
54
  */
25
55
  export function getTerminalSize() {
26
56
  return {
@@ -28,20 +58,18 @@ export function getTerminalSize() {
28
58
  cols: process.stdout.columns || 80,
29
59
  };
30
60
  }
61
+ // =============================================================================
62
+ // Drawing Functions
63
+ // =============================================================================
31
64
  /**
32
65
  * Draw a box with content
33
- * @param {object} options
34
- * @param {string} options.title
35
- * @param {string[]} options.content
36
- * @param {number} options.width
37
- * @param {string} options.borderColor
38
- * @returns {string[]}
39
66
  */
40
- export function drawBox({ title = '', content = [], width = 60, borderColor = 'dim' }) {
67
+ export function drawBox({ title = '', content = [], width = 60, borderColor = 'dim' } = {}) {
41
68
  const border = {
42
- tl: '', tr: '', bl: '', br: '',
43
- h: '', v: '',
69
+ tl: '\u256D', tr: '\u256E', bl: '\u2570', br: '\u256F',
70
+ h: '\u2500', v: '\u2502',
44
71
  };
72
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
45
73
  const colorFn = chalk[borderColor] || chalk.dim;
46
74
  const lines = [];
47
75
  // Top border with title
@@ -67,9 +95,6 @@ export function drawBox({ title = '', content = [], width = 60, borderColor = 'd
67
95
  }
68
96
  /**
69
97
  * Draw a status bar at the bottom of the screen
70
- * @param {string} left - Left-aligned text
71
- * @param {string} right - Right-aligned text
72
- * @returns {string}
73
98
  */
74
99
  export function statusBar(left, right = '') {
75
100
  const { cols } = getTerminalSize();
@@ -80,28 +105,19 @@ export function statusBar(left, right = '') {
80
105
  }
81
106
  /**
82
107
  * Draw a progress indicator
83
- * @param {number} current
84
- * @param {number} total
85
- * @param {number} width
86
- * @returns {string}
87
108
  */
88
109
  export function progressIndicator(current, total, width = 20) {
89
110
  const ratio = current / total;
90
111
  const filled = Math.round(ratio * width);
91
112
  const empty = width - filled;
92
- const bar = chalk.cyan(''.repeat(filled)) + chalk.dim(''.repeat(empty));
113
+ const bar = chalk.cyan('\u2588'.repeat(filled)) + chalk.dim('\u2591'.repeat(empty));
93
114
  return `${bar} ${current}/${total}`;
94
115
  }
95
116
  /**
96
117
  * Format a comment for TUI display
97
- * @param {object} comment
98
- * @param {number} index
99
- * @param {number} total
100
- * @param {number} width
101
- * @returns {string[]}
102
118
  */
103
119
  export function formatCommentCard(comment, index, total, width = 70) {
104
- const statusIcon = comment.resolved ? chalk.green('') : chalk.yellow('');
120
+ const statusIcon = comment.resolved ? chalk.green('\u2713') : chalk.yellow('\u25CB');
105
121
  const author = comment.author || 'Anonymous';
106
122
  const content = [];
107
123
  // Author and status line
@@ -130,54 +146,68 @@ export function formatCommentCard(comment, index, total, width = 70) {
130
146
  }
131
147
  /**
132
148
  * Draw the action menu
133
- * @param {string[]} options - Array of [key, description] tuples
134
- * @returns {string}
135
149
  */
136
150
  export function actionMenu(options) {
137
151
  return options
138
152
  .map(([key, desc]) => chalk.bold(`[${key}]`) + chalk.dim(desc))
139
153
  .join(' ');
140
154
  }
155
+ // =============================================================================
156
+ // Interactive TUI Review
157
+ // =============================================================================
141
158
  /**
142
- * Word wrap text to fit within width
143
- * @param {string} text
144
- * @param {number} width
145
- * @returns {string[]}
159
+ * Prompt for a single keypress
146
160
  */
147
- function wordWrap(text, width) {
148
- const words = text.split(/\s+/);
149
- const lines = [];
150
- let currentLine = '';
151
- for (const word of words) {
152
- if (currentLine.length + word.length + 1 <= width) {
153
- currentLine += (currentLine ? ' ' : '') + word;
154
- }
155
- else {
156
- if (currentLine)
157
- lines.push(currentLine);
158
- currentLine = word;
161
+ function promptKey(validKeys) {
162
+ return new Promise((resolve) => {
163
+ const rl = readline.createInterface({
164
+ input: process.stdin,
165
+ output: process.stdout,
166
+ });
167
+ if (process.stdin.isTTY) {
168
+ process.stdin.setRawMode(true);
159
169
  }
160
- }
161
- if (currentLine)
162
- lines.push(currentLine);
163
- return lines;
170
+ process.stdin.resume();
171
+ process.stdin.once('data', (key) => {
172
+ const char = key.toString();
173
+ if (process.stdin.isTTY) {
174
+ process.stdin.setRawMode(false);
175
+ }
176
+ rl.close();
177
+ if (char === '\u0003') {
178
+ // Ctrl+C
179
+ clearScreen();
180
+ process.exit(0);
181
+ }
182
+ if (validKeys.includes(char.toLowerCase()) || validKeys.includes(char)) {
183
+ resolve(char);
184
+ }
185
+ else {
186
+ resolve(promptKey(validKeys));
187
+ }
188
+ });
189
+ });
164
190
  }
165
191
  /**
166
- * Strip ANSI codes for length calculation
167
- * @param {string} str
168
- * @returns {string}
192
+ * Prompt for text input
169
193
  */
170
- function stripAnsi(str) {
171
- return str.replace(/\x1b\[[0-9;]*m/g, '');
194
+ function promptText(prompt) {
195
+ return new Promise((resolve) => {
196
+ const rl = readline.createInterface({
197
+ input: process.stdin,
198
+ output: process.stdout,
199
+ });
200
+ rl.question(prompt, (answer) => {
201
+ rl.close();
202
+ resolve(answer);
203
+ });
204
+ });
172
205
  }
173
206
  /**
174
207
  * Run TUI comment review session
175
- * @param {string} text
176
- * @param {object} options
177
- * @returns {Promise<{text: string, resolved: number, replied: number, skipped: number}>}
178
208
  */
179
209
  export async function tuiCommentReview(text, options = {}) {
180
- const { getComments, setCommentStatus } = await import('./annotations.js');
210
+ const { getComments } = await import('./annotations.js');
181
211
  const { createDocumentSession } = await import('./undo.js');
182
212
  const { author = 'Author', addReply, setStatus } = options;
183
213
  const comments = getComments(text, { pendingOnly: true });
@@ -191,8 +221,7 @@ export async function tuiCommentReview(text, options = {}) {
191
221
  let resolved = 0;
192
222
  let replied = 0;
193
223
  let skipped = 0;
194
- let message = ''; // Status message to display
195
- // Helper to render current state
224
+ let message = '';
196
225
  const render = () => {
197
226
  clearScreen();
198
227
  const { cols } = getTerminalSize();
@@ -233,50 +262,6 @@ export async function tuiCommentReview(text, options = {}) {
233
262
  console.log(' ' + actionMenu(menuItems));
234
263
  console.log();
235
264
  };
236
- // Prompt for keypress
237
- const promptKey = (validKeys) => {
238
- return new Promise((resolve) => {
239
- const rl = readline.createInterface({
240
- input: process.stdin,
241
- output: process.stdout,
242
- });
243
- if (process.stdin.isTTY) {
244
- process.stdin.setRawMode(true);
245
- }
246
- process.stdin.resume();
247
- process.stdin.once('data', (key) => {
248
- const char = key.toString();
249
- if (process.stdin.isTTY) {
250
- process.stdin.setRawMode(false);
251
- }
252
- rl.close();
253
- if (char === '\u0003') {
254
- // Ctrl+C
255
- clearScreen();
256
- process.exit(0);
257
- }
258
- if (validKeys.includes(char.toLowerCase()) || validKeys.includes(char)) {
259
- resolve(char);
260
- }
261
- else {
262
- resolve(promptKey(validKeys));
263
- }
264
- });
265
- });
266
- };
267
- // Prompt for text input
268
- const promptText = (prompt) => {
269
- return new Promise((resolve) => {
270
- const rl = readline.createInterface({
271
- input: process.stdin,
272
- output: process.stdout,
273
- });
274
- rl.question(prompt, (answer) => {
275
- rl.close();
276
- resolve(answer);
277
- });
278
- });
279
- };
280
265
  // Main loop
281
266
  while (currentIndex < comments.length) {
282
267
  render();
@@ -291,12 +276,10 @@ export async function tuiCommentReview(text, options = {}) {
291
276
  console.log(chalk.yellow('Aborted.'));
292
277
  return { text: session.getText(), resolved, replied, skipped: comments.length - currentIndex };
293
278
  case 'u':
294
- // Undo last change
295
279
  if (session.canUndo()) {
296
280
  const undone = session.undo();
297
281
  if (undone) {
298
282
  message = chalk.yellow(`Undone: ${undone.description}`);
299
- // Adjust counters (approximate)
300
283
  if (undone.description.includes('Resolved'))
301
284
  resolved = Math.max(0, resolved - 1);
302
285
  if (undone.description.includes('Reply'))
@@ -306,8 +289,7 @@ export async function tuiCommentReview(text, options = {}) {
306
289
  }
307
290
  }
308
291
  break;
309
- case 'A':
310
- // Resolve all remaining
292
+ case 'A': {
311
293
  let newText = session.getText();
312
294
  for (let j = currentIndex; j < comments.length; j++) {
313
295
  if (setStatus) {
@@ -318,6 +300,7 @@ export async function tuiCommentReview(text, options = {}) {
318
300
  resolved += comments.length - currentIndex;
319
301
  currentIndex = comments.length;
320
302
  break;
303
+ }
321
304
  case 'm':
322
305
  if (setStatus) {
323
306
  const newText = setStatus(session.getText(), comment, true);
@@ -326,7 +309,7 @@ export async function tuiCommentReview(text, options = {}) {
326
309
  resolved++;
327
310
  currentIndex++;
328
311
  break;
329
- case 'r':
312
+ case 'r': {
330
313
  console.log();
331
314
  const replyText = await promptText(chalk.cyan(' Reply: '));
332
315
  if (replyText.trim() && addReply) {
@@ -336,6 +319,7 @@ export async function tuiCommentReview(text, options = {}) {
336
319
  }
337
320
  currentIndex++;
338
321
  break;
322
+ }
339
323
  case 's':
340
324
  skipped++;
341
325
  currentIndex++;
@@ -1 +1 @@
1
- {"version":3,"file":"tui.js","sourceRoot":"","sources":["../../lib/tui.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tui.js","sourceRoot":"","sources":["../../lib/tui.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ interface HistoryEntry {
13
13
  current: boolean;
14
14
  index: number;
15
15
  }
16
- interface StackInfo {
16
+ export interface StackInfo {
17
17
  position: number;
18
18
  size: number;
19
19
  undoSteps: number;
@@ -28,14 +28,13 @@ interface UndoStack {
28
28
  canRedo(): boolean;
29
29
  info(): StackInfo;
30
30
  history(limit?: number): HistoryEntry[];
31
- clear(): void;
32
31
  getStack(): StackEntry[];
33
32
  }
34
- interface DocumentChange {
33
+ export interface DocumentChange {
35
34
  text: string;
36
35
  description: string;
37
36
  }
38
- interface DocumentSession {
37
+ export interface DocumentSession {
39
38
  getText(): string;
40
39
  applyChange(newText: string, description: string): void;
41
40
  undo(): DocumentChange | null;
@@ -1 +1 @@
1
- {"version":3,"file":"undo.d.ts","sourceRoot":"","sources":["../../lib/undo.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,UAAU,UAAU;IAClB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,YAAY;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,SAAS;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,SAAS;IACjB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzD,IAAI,IAAI,UAAU,GAAG,IAAI,CAAC;IAC1B,IAAI,IAAI,UAAU,GAAG,IAAI,CAAC;IAC1B,OAAO,IAAI,UAAU,GAAG,IAAI,CAAC;IAC7B,OAAO,IAAI,OAAO,CAAC;IACnB,OAAO,IAAI,OAAO,CAAC;IACnB,IAAI,IAAI,SAAS,CAAC;IAClB,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,YAAY,EAAE,CAAC;IACxC,KAAK,IAAI,IAAI,CAAC;IACd,QAAQ,IAAI,UAAU,EAAE,CAAC;CAC1B;AAED,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,eAAe;IACvB,OAAO,IAAI,MAAM,CAAC;IAClB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACxD,IAAI,IAAI,cAAc,GAAG,IAAI,CAAC;IAC9B,IAAI,IAAI,cAAc,GAAG,IAAI,CAAC;IAC9B,OAAO,IAAI,OAAO,CAAC;IACnB,OAAO,IAAI,OAAO,CAAC;IACnB,IAAI,IAAI,SAAS,CAAC;IAClB,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,YAAY,EAAE,CAAC;CACzC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAE,MAAW,GAAG,SAAS,CAsH/D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,eAAe,CA8E1E"}
1
+ {"version":3,"file":"undo.d.ts","sourceRoot":"","sources":["../../lib/undo.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,UAAU,UAAU;IAClB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,YAAY;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,SAAS;IACjB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzD,IAAI,IAAI,UAAU,GAAG,IAAI,CAAC;IAC1B,IAAI,IAAI,UAAU,GAAG,IAAI,CAAC;IAC1B,OAAO,IAAI,UAAU,GAAG,IAAI,CAAC;IAC7B,OAAO,IAAI,OAAO,CAAC;IACnB,OAAO,IAAI,OAAO,CAAC;IACnB,IAAI,IAAI,SAAS,CAAC;IAClB,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,YAAY,EAAE,CAAC;IACxC,QAAQ,IAAI,UAAU,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,IAAI,MAAM,CAAC;IAClB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACxD,IAAI,IAAI,cAAc,GAAG,IAAI,CAAC;IAC9B,IAAI,IAAI,cAAc,GAAG,IAAI,CAAC;IAC9B,OAAO,IAAI,OAAO,CAAC;IACnB,OAAO,IAAI,OAAO,CAAC;IACnB,IAAI,IAAI,SAAS,CAAC;IAClB,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,YAAY,EAAE,CAAC;CACzC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAE,MAAW,GAAG,SAAS,CA8G/D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,eAAe,CA8E1E"}
package/dist/lib/undo.js CHANGED
@@ -94,13 +94,6 @@ export function createUndoStack(maxSize = 50) {
94
94
  index: start + i,
95
95
  }));
96
96
  },
97
- /**
98
- * Clear the stack
99
- */
100
- clear() {
101
- stack.length = 0;
102
- position = -1;
103
- },
104
97
  /**
105
98
  * Get the full stack (for debugging)
106
99
  */
@@ -1 +1 @@
1
- {"version":3,"file":"undo.js","sourceRoot":"","sources":["../../lib/undo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"undo.js","sourceRoot":"","sources":["../../lib/undo.ts"],"names":[],"mappings":"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"}
@@ -13,4 +13,16 @@ export declare function countWords(text: string): number;
13
13
  * @returns Normalized text
14
14
  */
15
15
  export declare function normalizeWhitespace(text: string): string;
16
+ /**
17
+ * Escape XML special characters
18
+ * @param str - Input string
19
+ * @returns XML-safe string
20
+ */
21
+ export declare function escapeXml(str: string): string;
22
+ /**
23
+ * Escape LaTeX special characters
24
+ * @param text - Text to escape
25
+ * @returns Escaped text
26
+ */
27
+ export declare function escapeLatex(text: string): string;
16
28
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAkB/C;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMxD"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAkB/C;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMxD;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAO7C;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAOhD"}
package/dist/lib/utils.js CHANGED
@@ -37,4 +37,30 @@ export function normalizeWhitespace(text) {
37
37
  .replace(/ +/g, ' ')
38
38
  .trim();
39
39
  }
40
+ /**
41
+ * Escape XML special characters
42
+ * @param str - Input string
43
+ * @returns XML-safe string
44
+ */
45
+ export function escapeXml(str) {
46
+ return str
47
+ .replace(/&/g, '&amp;')
48
+ .replace(/</g, '&lt;')
49
+ .replace(/>/g, '&gt;')
50
+ .replace(/"/g, '&quot;')
51
+ .replace(/'/g, '&apos;');
52
+ }
53
+ /**
54
+ * Escape LaTeX special characters
55
+ * @param text - Text to escape
56
+ * @returns Escaped text
57
+ */
58
+ export function escapeLatex(text) {
59
+ return text
60
+ .replace(/\\/g, '\\textbackslash{}')
61
+ .replace(/([#$%&_{}])/g, '\\$1')
62
+ .replace(/\^/g, '\\textasciicircum{}')
63
+ .replace(/~/g, '\\textasciitilde{}')
64
+ .replace(/\n/g, ' ');
65
+ }
40
66
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,IAAI;SACR,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,0BAA0B;SAC1D,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,gBAAgB;SAChD,OAAO,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC,iBAAiB;SACzD,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,iBAAiB;SACvC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,oBAAoB;SAClD,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,qBAAqB;SACpD,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,qCAAqC;SAC/D,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,0BAA0B;SACnD,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,mBAAmB;SACxC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,qBAAqB;SAChD,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,0BAA0B;SACnD,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,qBAAqB;SAC1C,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,2BAA2B;SAChD,IAAI,EAAE;SACN,KAAK,CAAC,KAAK,CAAC;SACZ,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;AACtC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,IAAI;SACR,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;SACtB,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;SACtB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,IAAI,EAAE,CAAC;AACZ,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,IAAI;SACR,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,0BAA0B;SAC1D,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,gBAAgB;SAChD,OAAO,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC,iBAAiB;SACzD,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,iBAAiB;SACvC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,oBAAoB;SAClD,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,qBAAqB;SACpD,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,qCAAqC;SAC/D,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,0BAA0B;SACnD,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,mBAAmB;SACxC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,qBAAqB;SAChD,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,0BAA0B;SACnD,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,qBAAqB;SAC1C,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,2BAA2B;SAChD,IAAI,EAAE;SACN,KAAK,CAAC,KAAK,CAAC;SACZ,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;AACtC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,IAAI;SACR,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;SACtB,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;SACtB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,IAAI,EAAE,CAAC;AACZ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,GAAW;IACnC,OAAO,GAAG;SACP,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;SACvB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC7B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,IAAI;SACR,OAAO,CAAC,KAAK,EAAE,mBAAmB,CAAC;SACnC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC;SAC/B,OAAO,CAAC,KAAK,EAAE,qBAAqB,CAAC;SACrC,OAAO,CAAC,IAAI,EAAE,oBAAoB,CAAC;SACnC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACzB,CAAC"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Word document data extraction - raw extraction from .docx files
3
+ */
4
+ export interface WordComment {
5
+ id: string;
6
+ author: string;
7
+ date: string;
8
+ text: string;
9
+ }
10
+ export interface TextNode {
11
+ xmlStart: number;
12
+ xmlEnd: number;
13
+ textStart: number;
14
+ textEnd: number;
15
+ text: string;
16
+ }
17
+ export interface CommentAnchorData {
18
+ anchor: string;
19
+ before: string;
20
+ after: string;
21
+ docPosition: number;
22
+ docLength: number;
23
+ isEmpty: boolean;
24
+ }
25
+ export interface CommentAnchorsResult {
26
+ anchors: Map<string, CommentAnchorData>;
27
+ fullDocText: string;
28
+ }
29
+ export interface WordTable {
30
+ markdown: string;
31
+ rowCount: number;
32
+ colCount: number;
33
+ }
34
+ export interface ParsedRow {
35
+ cells: string[];
36
+ colSpans: number[];
37
+ }
38
+ export interface ExtractFromWordOptions {
39
+ mediaDir?: string;
40
+ skipMediaExtraction?: boolean;
41
+ }
42
+ export interface ExtractMessage {
43
+ type: 'info' | 'warning';
44
+ message: string;
45
+ }
46
+ export interface ExtractFromWordResult {
47
+ text: string;
48
+ comments: WordComment[];
49
+ anchors: Map<string, CommentAnchorData>;
50
+ messages: ExtractMessage[];
51
+ extractedMedia: string[];
52
+ tables: WordTable[];
53
+ hasTrackChanges: boolean;
54
+ trackChangeStats: {
55
+ insertions: number;
56
+ deletions: number;
57
+ };
58
+ }
59
+ /**
60
+ * Extract comments directly from Word docx comments.xml
61
+ */
62
+ export declare function extractWordComments(docxPath: string): Promise<WordComment[]>;
63
+ /**
64
+ * Extract comment anchor texts from document.xml with surrounding context
65
+ * Returns map of comment ID -> {anchor, before, after, docPosition, isEmpty} for better matching
66
+ * Also returns fullDocText for section boundary matching
67
+ */
68
+ export declare function extractCommentAnchors(docxPath: string): Promise<CommentAnchorsResult>;
69
+ /**
70
+ * Extract tables directly from Word document XML and convert to markdown pipe tables
71
+ */
72
+ export declare function extractWordTables(docxPath: string): Promise<WordTable[]>;
73
+ /**
74
+ * Extract text from Word document using pandoc with track changes preserved
75
+ */
76
+ export declare function extractFromWord(docxPath: string, options?: ExtractFromWordOptions): Promise<ExtractFromWordResult>;
77
+ //# sourceMappingURL=word-extraction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"word-extraction.d.ts","sourceRoot":"","sources":["../../lib/word-extraction.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACxC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACxC,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7D;AAMD;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAoFlF;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA6J3F;AA2GD;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CA2C9E;AAqCD;;GAEG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,qBAAqB,CAAC,CA0IhC"}