@usejunior/docx-mcp 0.10.0 → 0.11.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 (74) hide show
  1. package/LICENSE +202 -21
  2. package/NOTICE +2 -0
  3. package/README.md +1 -1
  4. package/dist/.tsbuildinfo +1 -1
  5. package/dist/cli/help.d.ts.map +1 -1
  6. package/dist/cli/help.js +1 -0
  7. package/dist/cli/help.js.map +1 -1
  8. package/dist/odf_loader.d.ts.map +1 -1
  9. package/dist/odf_loader.js +6 -5
  10. package/dist/odf_loader.js.map +1 -1
  11. package/dist/server.d.ts +5 -2
  12. package/dist/server.d.ts.map +1 -1
  13. package/dist/server.js +3 -0
  14. package/dist/server.js.map +1 -1
  15. package/dist/session/manager.d.ts +4 -0
  16. package/dist/session/manager.d.ts.map +1 -1
  17. package/dist/session/manager.js +12 -54
  18. package/dist/session/manager.js.map +1 -1
  19. package/dist/tool_catalog.d.ts +20 -4
  20. package/dist/tool_catalog.d.ts.map +1 -1
  21. package/dist/tool_catalog.js +22 -2
  22. package/dist/tool_catalog.js.map +1 -1
  23. package/dist/tools/add_comment.d.ts.map +1 -1
  24. package/dist/tools/add_comment.js +19 -5
  25. package/dist/tools/add_comment.js.map +1 -1
  26. package/dist/tools/add_footnote.d.ts.map +1 -1
  27. package/dist/tools/add_footnote.js +13 -3
  28. package/dist/tools/add_footnote.js.map +1 -1
  29. package/dist/tools/ai_revision_guard.d.ts +38 -0
  30. package/dist/tools/ai_revision_guard.d.ts.map +1 -0
  31. package/dist/tools/ai_revision_guard.js +115 -0
  32. package/dist/tools/ai_revision_guard.js.map +1 -0
  33. package/dist/tools/apply_plan.d.ts.map +1 -1
  34. package/dist/tools/apply_plan.js +49 -1
  35. package/dist/tools/apply_plan.js.map +1 -1
  36. package/dist/tools/clear_formatting.d.ts.map +1 -1
  37. package/dist/tools/clear_formatting.js +52 -42
  38. package/dist/tools/clear_formatting.js.map +1 -1
  39. package/dist/tools/convert_to_odt.d.ts +20 -0
  40. package/dist/tools/convert_to_odt.d.ts.map +1 -0
  41. package/dist/tools/convert_to_odt.js +74 -0
  42. package/dist/tools/convert_to_odt.js.map +1 -0
  43. package/dist/tools/delete_comment.d.ts.map +1 -1
  44. package/dist/tools/delete_comment.js +10 -1
  45. package/dist/tools/delete_comment.js.map +1 -1
  46. package/dist/tools/delete_footnote.d.ts.map +1 -1
  47. package/dist/tools/delete_footnote.js +10 -1
  48. package/dist/tools/delete_footnote.js.map +1 -1
  49. package/dist/tools/format_layout.d.ts.map +1 -1
  50. package/dist/tools/format_layout.js +16 -0
  51. package/dist/tools/format_layout.js.map +1 -1
  52. package/dist/tools/get_comments.d.ts.map +1 -1
  53. package/dist/tools/get_comments.js +9 -0
  54. package/dist/tools/get_comments.js.map +1 -1
  55. package/dist/tools/insert_paragraph.d.ts +5 -0
  56. package/dist/tools/insert_paragraph.d.ts.map +1 -1
  57. package/dist/tools/insert_paragraph.js +36 -26
  58. package/dist/tools/insert_paragraph.js.map +1 -1
  59. package/dist/tools/read_file.d.ts +1 -0
  60. package/dist/tools/read_file.d.ts.map +1 -1
  61. package/dist/tools/read_file.js +65 -72
  62. package/dist/tools/read_file.js.map +1 -1
  63. package/dist/tools/replace_text.d.ts +5 -0
  64. package/dist/tools/replace_text.d.ts.map +1 -1
  65. package/dist/tools/replace_text.js +65 -60
  66. package/dist/tools/replace_text.js.map +1 -1
  67. package/dist/tools/save.d.ts +19 -0
  68. package/dist/tools/save.d.ts.map +1 -1
  69. package/dist/tools/save.js +109 -8
  70. package/dist/tools/save.js.map +1 -1
  71. package/dist/tools/update_footnote.d.ts.map +1 -1
  72. package/dist/tools/update_footnote.js +18 -7
  73. package/dist/tools/update_footnote.js.map +1 -1
  74. package/package.json +8 -7
@@ -13,46 +13,6 @@ var FieldState;
13
13
  FieldState[FieldState["IN_FIELD_CODE"] = 1] = "IN_FIELD_CODE";
14
14
  FieldState[FieldState["IN_FIELD_RESULT"] = 2] = "IN_FIELD_RESULT";
15
15
  })(FieldState || (FieldState = {}));
16
- function collectFootnoteMarkerSuffix(paragraphEl, displayNumberById) {
17
- // References inside field code (between fldChar begin and separate) are
18
- // hidden text and must not surface a marker — the view-level injection
19
- // skips them the same way, keeping clean_text and text in agreement on
20
- // which footnotes exist. @see #382
21
- const markers = [];
22
- let fieldState = FieldState.OUTSIDE_FIELD;
23
- for (const runEl of Array.from(paragraphEl.getElementsByTagNameNS(OOXML.W_NS, W.r))) {
24
- for (const child of Array.from(runEl.childNodes)) {
25
- if (child.nodeType !== 1)
26
- continue;
27
- const el = child;
28
- if (el.namespaceURI !== OOXML.W_NS)
29
- continue;
30
- if (el.localName === W.fldChar) {
31
- const type = getWAttr(el, 'fldCharType') ?? '';
32
- if (type === 'begin')
33
- fieldState = FieldState.IN_FIELD_CODE;
34
- else if (type === 'separate')
35
- fieldState = FieldState.IN_FIELD_RESULT;
36
- else if (type === 'end')
37
- fieldState = FieldState.OUTSIDE_FIELD;
38
- continue;
39
- }
40
- if (fieldState === FieldState.IN_FIELD_CODE)
41
- continue;
42
- if (el.localName !== W.footnoteReference)
43
- continue;
44
- const rawId = getWAttr(el, 'id');
45
- if (!rawId)
46
- continue;
47
- const numericId = Number.parseInt(rawId, 10);
48
- if (Number.isNaN(numericId))
49
- continue;
50
- const display = displayNumberById.get(numericId) ?? numericId;
51
- markers.push(`[^${display}]`);
52
- }
53
- }
54
- return markers.join('');
55
- }
56
16
  function escapeCommentSuffixText(text) {
57
17
  return text
58
18
  .replaceAll('\r\n', '\\n')
@@ -202,6 +162,28 @@ function attachParagraphComments(nodes, comments, options) {
202
162
  : node;
203
163
  });
204
164
  }
165
+ function attachParagraphFootnotes(nodes, footnotes) {
166
+ const footnotesByParagraph = new Map();
167
+ for (const footnote of footnotes) {
168
+ // Eligibility (#158): bootstrap scaffolding (display_number 0 / empty
169
+ // body) and orphaned notes (no anchored paragraph) never attach inline.
170
+ // get_footnotes stays the authoritative whole-document enumeration that
171
+ // still returns them.
172
+ if (footnote.displayNumber <= 0 || footnote.text.trim().length === 0)
173
+ continue;
174
+ if (!footnote.anchoredParagraphId)
175
+ continue;
176
+ const anchored = footnotesByParagraph.get(footnote.anchoredParagraphId) ?? [];
177
+ anchored.push({ id: footnote.id, display_number: footnote.displayNumber, text: footnote.text });
178
+ footnotesByParagraph.set(footnote.anchoredParagraphId, anchored);
179
+ }
180
+ return nodes.map((node) => {
181
+ const nodeFootnotes = footnotesByParagraph.get(String(node.id));
182
+ return nodeFootnotes && nodeFootnotes.length > 0
183
+ ? { ...node, footnotes: nodeFootnotes }
184
+ : node;
185
+ });
186
+ }
205
187
  function collectSimpleCommentSuffixes(comments, parentId) {
206
188
  const suffixes = [];
207
189
  for (const comment of comments) {
@@ -265,8 +247,8 @@ export async function readFile(manager, params) {
265
247
  filtered = nodes.slice(startIdx, endIdx);
266
248
  }
267
249
  // Build a single paragraph-element index up front. All downstream enrichment
268
- // passes (footnote markers, comment inline markers, content_fingerprint) consult
269
- // this map instead of calling getParagraphElementById() per node, which would be
250
+ // passes (comment inline markers, content_fingerprint) consult this map
251
+ // instead of calling getParagraphElementById() per node, which would be
270
252
  // a linear scan and turn the read into O(N^2) on large documents.
271
253
  const paragraphElementsById = (() => {
272
254
  const map = new Map();
@@ -278,36 +260,23 @@ export async function readFile(manager, params) {
278
260
  return map;
279
261
  })();
280
262
  // Footnote [^N] markers: the document view already injects them into
281
- // tagged_text/text at the reference's visible offset (injectFootnoteMarkers
282
- // in docx-core's document_view.ts). Only clean_text is enriched here — the
283
- // view deliberately keeps it marker-free for core consumers (edit matching,
284
- // signature-cluster detection), so the suffix is a read_file output concern.
285
- // Appending to all three fields doubled every marker. @see #382
286
- let enriched = filtered;
287
- try {
288
- const footnotes = await session.doc.getFootnotes();
289
- if (footnotes.length > 0) {
290
- const displayById = new Map();
291
- for (const note of footnotes) {
292
- displayById.set(note.id, note.displayNumber > 0 ? note.displayNumber : note.id);
293
- }
294
- enriched = filtered.map((node) => {
295
- const paragraphEl = paragraphElementsById.get(node.id);
296
- if (!paragraphEl)
297
- return node;
298
- const markerSuffix = collectFootnoteMarkerSuffix(paragraphEl, displayById);
299
- if (!markerSuffix)
300
- return node;
301
- return {
302
- ...node,
303
- clean_text: `${node.clean_text}${markerSuffix}`,
304
- };
305
- });
306
- }
307
- }
308
- catch {
309
- enriched = filtered;
310
- }
263
+ // tagged_text/text at the reference's visible offset AND exposes the same
264
+ // derivation as node.footnote_refs one fldChar walk, one numbering
265
+ // authority, so the fields cannot disagree about which footnotes exist
266
+ // (#382's failure shape). @see #393. Only clean_text is enriched here
267
+ // the view deliberately keeps it marker-free for core consumers (edit
268
+ // matching, signature-cluster detection), so the suffix is a read_file
269
+ // output concern. Appending to all three fields doubled every marker.
270
+ // @see #382
271
+ let enriched = filtered.map((node) => {
272
+ if (!node.footnote_refs || node.footnote_refs.length === 0)
273
+ return node;
274
+ const markerSuffix = node.footnote_refs.map(({ display }) => `[^${display}]`).join('');
275
+ return {
276
+ ...node,
277
+ clean_text: `${node.clean_text}${markerSuffix}`,
278
+ };
279
+ });
311
280
  // When comment loading fails after add_comment ran (e.g., a third-party docx ships a
312
281
  // comments.xml lacking xmlns:w14 and our writer wrote w14:paraId into it — see #154),
313
282
  // surface the cause via metadata. We still don't fail the read so the body content
@@ -342,6 +311,28 @@ export async function readFile(manager, params) {
342
311
  return { ...node, content_fingerprint: fingerprint };
343
312
  });
344
313
  }
314
+ // Opt-in inline footnote bodies (#158), JSON-only in v1. Attachment runs
315
+ // on the already-windowed slice, so pagination semantics come for free:
316
+ // a footnote appears exactly on the page whose slice contains its anchor
317
+ // paragraph. Attaching BEFORE the budget renderers means the payload
318
+ // counts toward the same token budget as the rest of the node — no
319
+ // exemption. Mirrors the comment_load_error contract: a footnote part
320
+ // that fails to parse degrades to metadata, never fails the read.
321
+ let footnoteLoadError = null;
322
+ if (params.include_footnotes && format === 'json') {
323
+ try {
324
+ // ODT and Google Doc sessions have no footnote primitive; the flag
325
+ // no-ops there (same contract as include_fingerprint) instead of
326
+ // reporting a missing-method as a load error.
327
+ if (typeof session.doc.getFootnotes === 'function') {
328
+ const footnotes = await session.doc.getFootnotes();
329
+ jsonNodes = attachParagraphFootnotes(jsonNodes, footnotes);
330
+ }
331
+ }
332
+ catch (e) {
333
+ footnoteLoadError = errorMessage(e);
334
+ }
335
+ }
345
336
  let content;
346
337
  let paragraphsReturned;
347
338
  if (!budgetActive) {
@@ -376,6 +367,7 @@ export async function readFile(manager, params) {
376
367
  ...(result.warnings ? { warnings: result.warnings } : {}),
377
368
  ...paginationMeta,
378
369
  ...(commentLoadError != null ? { comment_load_error: commentLoadError } : {}),
370
+ ...(footnoteLoadError != null ? { footnote_load_error: footnoteLoadError } : {}),
379
371
  }, metadata));
380
372
  }
381
373
  const paginationMeta = buildPaginationMeta(totalParagraphs, paragraphsReturned, startIdx);
@@ -386,6 +378,7 @@ export async function readFile(manager, params) {
386
378
  paragraphs_returned: paragraphsReturned,
387
379
  ...paginationMeta,
388
380
  ...(commentLoadError != null ? { comment_load_error: commentLoadError } : {}),
381
+ ...(footnoteLoadError != null ? { footnote_load_error: footnoteLoadError } : {}),
389
382
  }, metadata));
390
383
  }
391
384
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"read_file.js","sourceRoot":"","sources":["../../src/tools/read_file.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"read_file.js","sourceRoot":"","sources":["../../src/tools/read_file.ts"],"names":[],"mappings":"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"}
@@ -27,5 +27,10 @@ export declare function replaceText(manager: SessionManager, params: {
27
27
  font_size?: number;
28
28
  font_name?: string;
29
29
  color?: string;
30
+ /**
31
+ * Internal (not exposed in the MCP tool schema): set by apply_plan, which
32
+ * preflights the whole step sequence once instead of per step.
33
+ */
34
+ skip_ai_revision_preflight?: boolean;
30
35
  }, ctx?: RevisionContext): Promise<ToolResponse>;
31
36
  //# sourceMappingURL=replace_text.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"replace_text.d.ts","sourceRoot":"","sources":["../../src/tools/replace_text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAkD,MAAM,uBAAuB,CAAC;AAEvG,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAGxD,OAAO,EAYL,KAAK,eAAe,EACrB,MAAM,sBAAsB,CAAC;AAwD9B,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEpD;AA2CD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAK/D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAKlF;AAaD,wBAAsB,WAAW,CAC/B,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE;IACN,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,EACD,GAAG,CAAC,EAAE,eAAe,GACpB,OAAO,CAAC,YAAY,CAAC,CAuIvB"}
1
+ {"version":3,"file":"replace_text.d.ts","sourceRoot":"","sources":["../../src/tools/replace_text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAgC,MAAM,uBAAuB,CAAC;AAErF,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAIxD,OAAO,EAaL,KAAK,eAAe,EACrB,MAAM,sBAAsB,CAAC;AAwD9B,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEpD;AA2CD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAK/D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAKlF;AAaD,wBAAsB,WAAW,CAC/B,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE;IACN,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC,EACD,GAAG,CAAC,EAAE,eAAe,GACpB,OAAO,CAAC,YAAY,CAAC,CA6IvB"}
@@ -3,6 +3,7 @@ import { errorMessage } from "../error_utils.js";
3
3
  import { err, ok } from './types.js';
4
4
  import { ERROR_PREVIEW_CHARS, RESULT_PREVIEW_CHARS, previewText } from './preview.js';
5
5
  import { mergeSessionResolutionMetadata, resolveSessionForTool } from './session_resolution.js';
6
+ import { preflightAiRevisionMutation } from './ai_revision_guard.js';
6
7
  import { OOXML, W, findUniqueSubstringMatch, applyDocumentQuoteStyle, getParagraphRuns, hasHighlightTags, hasHyperlinkTags, replaceParagraphTextRange, stripHyperlinkTags, stripAllInlineTags, } from '@usejunior/docx-core';
7
8
  import { splitTaggedText, segmentAddRunProps, hasAnyMarkupTags, } from './tag_parser.js';
8
9
  function mergeAddRunProps(a, b) {
@@ -38,8 +39,8 @@ function headerFormattingToAddRunProps(formatting) {
38
39
  add.underline = true;
39
40
  return Object.keys(add).length > 0 ? add : null;
40
41
  }
41
- function findHeaderRoleModelAddRunProps(session, anchorParagraphId) {
42
- const { nodes } = session.doc.buildDocumentView({ includeSemanticTags: false });
42
+ function findHeaderRoleModelAddRunProps(doc, anchorParagraphId) {
43
+ const { nodes } = doc.buildDocumentView({ includeSemanticTags: false });
43
44
  const anchorIdx = nodes.findIndex((n) => n.id === anchorParagraphId);
44
45
  if (anchorIdx < 0)
45
46
  return null;
@@ -129,9 +130,6 @@ export async function replaceText(manager, params, ctx) {
129
130
  return resolved.response;
130
131
  const { session, metadata } = resolved;
131
132
  const revisionCtx = ctx ?? await getRevisionContextForSession(session);
132
- if (params.normalize_first) {
133
- session.doc.mergeRunsOnly();
134
- }
135
133
  const { target_paragraph_id: pid } = params;
136
134
  const oldStr = stripSearchTags(params.old_string);
137
135
  let newStr = params.new_string;
@@ -150,15 +148,9 @@ export async function replaceText(manager, params, ctx) {
150
148
  if (textMatch.status === 'multiple') {
151
149
  return err('MULTIPLE_MATCHES', `Found ${textMatch.matchCount} matches for '${previewText(oldStr, ERROR_PREVIEW_CHARS)}' in paragraph. Need unique match.`);
152
150
  }
153
- const pEl = session.doc.getParagraphElementById(pid);
154
- if (!pEl) {
155
- return err('ANCHOR_NOT_FOUND', `Paragraph ID ${pid} not found in document`);
156
- }
157
151
  const matchedOldStr = textMatch.matchedText;
158
152
  const matchStart = textMatch.start;
159
153
  const matchEnd = textMatch.end;
160
- const paraRuns = getParagraphRuns(pEl);
161
- const { templateRun: contextTemplateRun, allOverlappedRunsHighlighted } = chooseContextTemplateRun(paraRuns, matchStart, matchEnd);
162
154
  const explicitAddProps = {};
163
155
  if (params.bold !== undefined)
164
156
  explicitAddProps.bold = params.bold;
@@ -174,74 +166,87 @@ export async function replaceText(manager, params, ctx) {
174
166
  explicitAddProps.fontName = params.font_name;
175
167
  if (params.color !== undefined)
176
168
  explicitAddProps.color = params.color;
177
- const shouldClearHighlight = params.clear_highlight || (allOverlappedRunsHighlighted && !hasHighlightTags(newStr) && isLikelyFieldPlaceholder(oldStr));
178
- let replaceText = newStr;
179
169
  const hasMarkup = hasAnyMarkupTags(newStr);
180
170
  if (hasMarkup) {
181
- let segs;
182
171
  try {
183
- segs = splitTaggedText(newStr);
172
+ splitTaggedText(newStr);
184
173
  }
185
174
  catch (e) {
186
175
  return err(errorMessage(e), `Tag parse error in new_string: ${errorMessage(e)}`);
187
176
  }
188
- const headerAddProps = segs.some((s) => s.header) ? findHeaderRoleModelAddRunProps(session, pid) : null;
189
- const parts = [];
190
- for (const s of segs) {
191
- if (!s.text)
192
- continue;
193
- const segAddProps = mergeAddRunProps(mergeAddRunProps(segmentAddRunProps(s), explicitAddProps), s.header ? headerAddProps : null);
194
- const clearHighlight = shouldClearHighlight && !s.highlighting;
195
- parts.push({ text: s.text, templateRun: contextTemplateRun ?? undefined, addRunProps: segAddProps, clearHighlight });
196
- }
197
- replaceText = parts;
198
- if (revisionCtx) {
199
- replaceParagraphTextRange(pEl, matchStart, matchEnd, replaceText, revisionCtx);
200
- invalidateDocumentCaches(session.doc);
201
- }
202
- else {
203
- session.doc.replaceText({ targetParagraphId: pid, findText: matchedOldStr, replaceText });
204
- }
205
177
  }
206
178
  else {
207
179
  // Fix 2: Transfer document quote style to new_string for non-exact matches.
208
180
  if (textMatch.mode !== 'exact' && textMatch.mode !== 'clean') {
209
181
  newStr = applyDocumentQuoteStyle(matchedOldStr, newStr);
210
182
  }
211
- // Fix 1: Range trimming — compute common prefix/suffix between matched old text
212
- // and new text, then only replace the changed middle. This preserves formatting
213
- // on unchanged prefix/suffix characters and naturally avoids field intersections.
183
+ }
184
+ const mutate = (doc, activeCtx) => {
185
+ if (params.normalize_first) {
186
+ doc.mergeRunsOnly();
187
+ }
188
+ const pEl = doc.getParagraphElementById(pid);
189
+ if (!pEl) {
190
+ throw new Error(`Paragraph ID ${pid} not found in document`);
191
+ }
192
+ const paraRuns = getParagraphRuns(pEl);
193
+ const { templateRun: contextTemplateRun, allOverlappedRunsHighlighted } = chooseContextTemplateRun(paraRuns, matchStart, matchEnd);
194
+ const localShouldClearHighlight = params.clear_highlight || (allOverlappedRunsHighlighted && !hasHighlightTags(newStr) && isLikelyFieldPlaceholder(oldStr));
195
+ if (hasMarkup) {
196
+ const segs = splitTaggedText(newStr);
197
+ const headerAddProps = segs.some((s) => s.header) ? findHeaderRoleModelAddRunProps(doc, pid) : null;
198
+ const parts = [];
199
+ for (const s of segs) {
200
+ if (!s.text)
201
+ continue;
202
+ const segAddProps = mergeAddRunProps(mergeAddRunProps(segmentAddRunProps(s), explicitAddProps), s.header ? headerAddProps : null);
203
+ const clearHighlight = localShouldClearHighlight && !s.highlighting;
204
+ parts.push({ text: s.text, templateRun: contextTemplateRun ?? undefined, addRunProps: segAddProps, clearHighlight });
205
+ }
206
+ if (activeCtx) {
207
+ replaceParagraphTextRange(pEl, matchStart, matchEnd, parts, activeCtx);
208
+ invalidateDocumentCaches(doc);
209
+ }
210
+ else {
211
+ doc.replaceText({ targetParagraphId: pid, findText: matchedOldStr, replaceText: parts });
212
+ }
213
+ return;
214
+ }
214
215
  const prefixLen = commonPrefixLength(matchedOldStr, newStr);
215
216
  const suffixLen = commonSuffixLength(matchedOldStr, newStr, prefixLen);
216
217
  const trimmedNewStr = newStr.slice(prefixLen, newStr.length - suffixLen);
217
218
  const trimmedStart = matchStart + prefixLen;
218
219
  const trimmedEnd = matchEnd - suffixLen;
219
- if (trimmedStart < trimmedEnd || trimmedNewStr.length > 0) {
220
- // There IS a changed middle — trim and replace.
221
- let trimmedReplace;
222
- if (shouldClearHighlight || Object.keys(explicitAddProps).length > 0) {
223
- const { templateRun } = chooseContextTemplateRun(paraRuns, trimmedStart, trimmedEnd);
224
- trimmedReplace = [{ text: trimmedNewStr, templateRun: templateRun ?? undefined,
225
- addRunProps: explicitAddProps, clearHighlight: shouldClearHighlight }];
226
- }
227
- else {
228
- trimmedReplace = trimmedNewStr;
229
- }
230
- if (revisionCtx) {
231
- replaceParagraphTextRange(pEl, trimmedStart, trimmedEnd, trimmedReplace, revisionCtx);
232
- invalidateDocumentCaches(session.doc);
233
- }
234
- else {
235
- session.doc.replaceTextAtRange({ targetParagraphId: pid, start: trimmedStart, end: trimmedEnd, replaceText: trimmedReplace });
236
- }
237
- // Range trimming splits the original run at prefix/suffix boundaries, producing
238
- // adjacent runs with identical formatting. Merge them back to keep output clean.
239
- // preserveRsidIdentity keeps the merge from rewriting rsids on runs the caller
240
- // never touched — see #286.
241
- session.doc.mergeRunsOnly({ preserveRsidIdentity: true });
220
+ if (trimmedStart >= trimmedEnd && trimmedNewStr.length === 0)
221
+ return;
222
+ let trimmedReplace;
223
+ if (localShouldClearHighlight || Object.keys(explicitAddProps).length > 0) {
224
+ const { templateRun } = chooseContextTemplateRun(paraRuns, trimmedStart, trimmedEnd);
225
+ trimmedReplace = [{
226
+ text: trimmedNewStr,
227
+ templateRun: templateRun ?? undefined,
228
+ addRunProps: explicitAddProps,
229
+ clearHighlight: localShouldClearHighlight,
230
+ }];
242
231
  }
243
- // else: text is identical after normalization — no-op
244
- }
232
+ else {
233
+ trimmedReplace = trimmedNewStr;
234
+ }
235
+ if (activeCtx) {
236
+ replaceParagraphTextRange(pEl, trimmedStart, trimmedEnd, trimmedReplace, activeCtx);
237
+ invalidateDocumentCaches(doc);
238
+ }
239
+ else {
240
+ doc.replaceTextAtRange({ targetParagraphId: pid, start: trimmedStart, end: trimmedEnd, replaceText: trimmedReplace });
241
+ }
242
+ doc.mergeRunsOnly({ preserveRsidIdentity: true });
243
+ };
244
+ const revisionPreflight = params.skip_ai_revision_preflight
245
+ ? null
246
+ : await preflightAiRevisionMutation(session, revisionCtx, mutate);
247
+ if (revisionPreflight)
248
+ return revisionPreflight;
249
+ mutate(session.doc, revisionCtx);
245
250
  manager.markEdited(session);
246
251
  return ok(mergeSessionResolutionMetadata({
247
252
  success: true,
@@ -1 +1 @@
1
- {"version":3,"file":"replace_text.js","sourceRoot":"","sources":["../../src/tools/replace_text.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"replace_text.js","sourceRoot":"","sources":["../../src/tools/replace_text.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,25 @@ import { SessionManager } from '../session/manager.js';
2
2
  import { type ToolResponse } from './types.js';
3
3
  import { type CompareOptions } from '@usejunior/docx-core';
4
4
  type SaveFormat = 'clean' | 'tracked' | 'both';
5
+ /**
6
+ * Restoration is best-effort: on any failure the tracked artifact degrades to
7
+ * the unrestored comparison output (the pre-restore behavior), which is valid
8
+ * — just fully re-serialized. The error is returned rather than thrown so the
9
+ * save still succeeds, but callers must surface it: a swallowed error is
10
+ * indistinguishable from "document fully edited, nothing to restore"
11
+ * (`blocksRestored: 0` reads as benign), so a restore-path regression would
12
+ * otherwise go dark.
13
+ *
14
+ * Exported for direct testing of the failure path; production callers go
15
+ * through `save`.
16
+ *
17
+ * @see https://github.com/UseJunior/safe-docx/issues/436
18
+ */
19
+ export declare function restoreTrackedUntouchedBlocks(trackedBuffer: Buffer, originalBuffer: Buffer): Promise<{
20
+ buffer: Buffer;
21
+ blocksRestored: number;
22
+ restoreError?: string;
23
+ }>;
5
24
  export declare function save(manager: SessionManager, params: {
6
25
  file_path?: string;
7
26
  save_to_local_path: string;
@@ -1 +1 @@
1
- {"version":3,"file":"save.d.ts","sourceRoot":"","sources":["../../src/tools/save.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAuC,KAAK,cAAc,EAAsB,MAAM,sBAAsB,CAAC;AAKpH,KAAK,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AA4F/C,wBAAsB,IAAI,CACxB,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE;IACN,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,UAAU,CAAC;IAEzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,sBAAsB,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IAClD,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC,GACA,OAAO,CAAC,YAAY,CAAC,CA6OvB"}
1
+ {"version":3,"file":"save.d.ts","sourceRoot":"","sources":["../../src/tools/save.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAOL,KAAK,cAAc,EAEpB,MAAM,sBAAsB,CAAC;AAM9B,KAAK,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AA2F/C;;;;;;;;;;;;;GAaG;AACH,wBAAsB,6BAA6B,CACjD,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAqB5E;AAED,wBAAsB,IAAI,CACxB,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE;IACN,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,UAAU,CAAC;IAEzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,sBAAsB,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IAClD,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC,GACA,OAAO,CAAC,YAAY,CAAC,CAkTvB"}