@usejunior/docx-mcp 0.19.1 → 0.21.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/cli/commands/compare.d.ts +13 -8
  3. package/dist/cli/commands/compare.d.ts.map +1 -1
  4. package/dist/cli/commands/compare.js +29 -34
  5. package/dist/cli/commands/compare.js.map +1 -1
  6. package/dist/cli/commands/edit.d.ts.map +1 -1
  7. package/dist/cli/commands/edit.js +5 -18
  8. package/dist/cli/commands/edit.js.map +1 -1
  9. package/dist/cli/commands/grep.d.ts.map +1 -1
  10. package/dist/cli/commands/grep.js +11 -4
  11. package/dist/cli/commands/grep.js.map +1 -1
  12. package/dist/cli/flag_parser.d.ts.map +1 -1
  13. package/dist/cli/flag_parser.js +11 -0
  14. package/dist/cli/flag_parser.js.map +1 -1
  15. package/dist/cli/help.d.ts +1 -0
  16. package/dist/cli/help.d.ts.map +1 -1
  17. package/dist/cli/help.js +35 -1
  18. package/dist/cli/help.js.map +1 -1
  19. package/dist/cli/index.d.ts.map +1 -1
  20. package/dist/cli/index.js +47 -18
  21. package/dist/cli/index.js.map +1 -1
  22. package/dist/cli/output_option.d.ts +22 -0
  23. package/dist/cli/output_option.d.ts.map +1 -0
  24. package/dist/cli/output_option.js +67 -0
  25. package/dist/cli/output_option.js.map +1 -0
  26. package/dist/cli/tool_runner.d.ts +39 -1
  27. package/dist/cli/tool_runner.d.ts.map +1 -1
  28. package/dist/cli/tool_runner.js +79 -5
  29. package/dist/cli/tool_runner.js.map +1 -1
  30. package/dist/cli.js +8 -2
  31. package/dist/cli.js.map +1 -1
  32. package/dist/server.d.ts.map +1 -1
  33. package/dist/server.js +28 -0
  34. package/dist/server.js.map +1 -1
  35. package/dist/session/manager.d.ts +5 -0
  36. package/dist/session/manager.d.ts.map +1 -1
  37. package/dist/session/manager.js +9 -2
  38. package/dist/session/manager.js.map +1 -1
  39. package/dist/tool_catalog.d.ts +104 -8
  40. package/dist/tool_catalog.d.ts.map +1 -1
  41. package/dist/tool_catalog.js +148 -5
  42. package/dist/tool_catalog.js.map +1 -1
  43. package/dist/tools/accept_ai_edits.d.ts.map +1 -1
  44. package/dist/tools/accept_ai_edits.js +4 -1
  45. package/dist/tools/accept_ai_edits.js.map +1 -1
  46. package/dist/tools/accept_changes.d.ts.map +1 -1
  47. package/dist/tools/accept_changes.js +4 -1
  48. package/dist/tools/accept_changes.js.map +1 -1
  49. package/dist/tools/add_comment.d.ts.map +1 -1
  50. package/dist/tools/add_comment.js +6 -4
  51. package/dist/tools/add_comment.js.map +1 -1
  52. package/dist/tools/add_footnote.js +2 -2
  53. package/dist/tools/add_footnote.js.map +1 -1
  54. package/dist/tools/ai_revision_guard.d.ts +49 -1
  55. package/dist/tools/ai_revision_guard.d.ts.map +1 -1
  56. package/dist/tools/ai_revision_guard.js +74 -10
  57. package/dist/tools/ai_revision_guard.js.map +1 -1
  58. package/dist/tools/batch_edit.d.ts.map +1 -1
  59. package/dist/tools/batch_edit.js +58 -7
  60. package/dist/tools/batch_edit.js.map +1 -1
  61. package/dist/tools/clear_formatting.d.ts.map +1 -1
  62. package/dist/tools/clear_formatting.js +3 -2
  63. package/dist/tools/clear_formatting.js.map +1 -1
  64. package/dist/tools/compare_documents.d.ts +0 -1
  65. package/dist/tools/compare_documents.d.ts.map +1 -1
  66. package/dist/tools/compare_documents.js +29 -36
  67. package/dist/tools/compare_documents.js.map +1 -1
  68. package/dist/tools/conformance_refusal.d.ts +13 -0
  69. package/dist/tools/conformance_refusal.d.ts.map +1 -0
  70. package/dist/tools/conformance_refusal.js +19 -0
  71. package/dist/tools/conformance_refusal.js.map +1 -0
  72. package/dist/tools/delete_comment.js +2 -2
  73. package/dist/tools/delete_comment.js.map +1 -1
  74. package/dist/tools/delete_footnote.js +2 -2
  75. package/dist/tools/delete_footnote.js.map +1 -1
  76. package/dist/tools/format_layout.js +2 -2
  77. package/dist/tools/format_layout.js.map +1 -1
  78. package/dist/tools/format_numbering.d.ts +12 -0
  79. package/dist/tools/format_numbering.d.ts.map +1 -0
  80. package/dist/tools/format_numbering.js +153 -0
  81. package/dist/tools/format_numbering.js.map +1 -0
  82. package/dist/tools/format_section.d.ts +21 -0
  83. package/dist/tools/format_section.d.ts.map +1 -0
  84. package/dist/tools/format_section.js +211 -0
  85. package/dist/tools/format_section.js.map +1 -0
  86. package/dist/tools/formatting_convention.d.ts +121 -0
  87. package/dist/tools/formatting_convention.d.ts.map +1 -0
  88. package/dist/tools/formatting_convention.js +477 -0
  89. package/dist/tools/formatting_convention.js.map +1 -0
  90. package/dist/tools/get_sections.d.ts +39 -0
  91. package/dist/tools/get_sections.d.ts.map +1 -0
  92. package/dist/tools/get_sections.js +59 -0
  93. package/dist/tools/get_sections.js.map +1 -0
  94. package/dist/tools/grep.d.ts.map +1 -1
  95. package/dist/tools/grep.js +18 -1
  96. package/dist/tools/grep.js.map +1 -1
  97. package/dist/tools/insert_paragraph.d.ts.map +1 -1
  98. package/dist/tools/insert_paragraph.js +12 -3
  99. package/dist/tools/insert_paragraph.js.map +1 -1
  100. package/dist/tools/insert_section_break.d.ts +11 -0
  101. package/dist/tools/insert_section_break.d.ts.map +1 -0
  102. package/dist/tools/insert_section_break.js +167 -0
  103. package/dist/tools/insert_section_break.js.map +1 -0
  104. package/dist/tools/open_document.d.ts.map +1 -1
  105. package/dist/tools/open_document.js +4 -0
  106. package/dist/tools/open_document.js.map +1 -1
  107. package/dist/tools/reject_ai_edits.d.ts.map +1 -1
  108. package/dist/tools/reject_ai_edits.js +4 -1
  109. package/dist/tools/reject_ai_edits.js.map +1 -1
  110. package/dist/tools/replace_text.d.ts.map +1 -1
  111. package/dist/tools/replace_text.js +53 -4
  112. package/dist/tools/replace_text.js.map +1 -1
  113. package/dist/tools/revision_result.d.ts +11 -0
  114. package/dist/tools/revision_result.d.ts.map +1 -0
  115. package/dist/tools/revision_result.js +18 -0
  116. package/dist/tools/revision_result.js.map +1 -0
  117. package/dist/tools/session_resolution.d.ts.map +1 -1
  118. package/dist/tools/session_resolution.js +13 -1
  119. package/dist/tools/session_resolution.js.map +1 -1
  120. package/dist/tools/update_footnote.js +2 -2
  121. package/dist/tools/update_footnote.js.map +1 -1
  122. package/package.json +6 -6
  123. package/dist/tools/comparison_defaults.d.ts +0 -9
  124. package/dist/tools/comparison_defaults.d.ts.map +0 -1
  125. package/dist/tools/comparison_defaults.js +0 -8
  126. package/dist/tools/comparison_defaults.js.map +0 -1
@@ -1,5 +1,6 @@
1
1
  import { DocxDocument, type AiRevisionDiagnostic, type AiRevisionValidationTouchedContext, type RevisionContext } from '@usejunior/docx-core';
2
2
  import { type DocxSession } from '../session/manager.js';
3
+ import { type ConventionWarning } from './formatting_convention.js';
3
4
  import { type ToolResponse } from './types.js';
4
5
  export declare function cloneRevisionContext(ctx: RevisionContext | undefined): RevisionContext | undefined;
5
6
  export declare function aiRevisionValidationFailure(diagnostics: {
@@ -27,6 +28,40 @@ export declare function splitIntroducedDiagnostics(errors: AiRevisionDiagnostic[
27
28
  introduced: AiRevisionDiagnostic[];
28
29
  demoted: AiRevisionDiagnostic[];
29
30
  };
31
+ /**
32
+ * Renders one non-blocking diagnostic as a plain string, matching the
33
+ * plain-string `warnings` channels tool success responses already use
34
+ * (format_layout and read_file expose `warnings` as human-readable strings;
35
+ * batch_edit wraps the same human-readable strings with step metadata as
36
+ * `{ step_id, warning }` entries). Location fields are appended when present
37
+ * so an agent can act on the warning without re-running validation.
38
+ */
39
+ export declare function formatAiRevisionWarning(d: AiRevisionDiagnostic): string;
40
+ /**
41
+ * Outcome of {@link preflightAiRevisionMutation}.
42
+ *
43
+ * `blocked` is the historical `ToolResponse | null` contract: non-null means
44
+ * validation rejected the mutation and the caller must return that response
45
+ * without applying the edit. `warnings` carries the non-blocking diagnostics
46
+ * that used to be structurally dropped on the success path (issue #686), plus
47
+ * any advisory findings computed off the same preview document (the
48
+ * formatting-convention check, issue #687);
49
+ * callers should surface them on their success response as an optional
50
+ * `warnings?: string[]` field. When `blocked` is set, `warnings` is empty —
51
+ * the blocking response already carries the full diagnostics
52
+ * (errors + warnings) in its `diagnostics` field.
53
+ *
54
+ * `conventionWarnings` is the *same* findings as the convention entries in
55
+ * `warnings`, in structured form — not an addition to them. A caller renders
56
+ * `warnings` and ignores this, or (like batch_edit, which must attribute a
57
+ * finding back to the step that produced it) reads this and ignores those.
58
+ * Reading both double-reports.
59
+ */
60
+ export type AiRevisionPreflightResult = {
61
+ blocked: ToolResponse | null;
62
+ warnings: string[];
63
+ conventionWarnings: ConventionWarning[];
64
+ };
30
65
  /**
31
66
  * Error-fingerprint counts already present in the originally-loaded file.
32
67
  * Documents arrive from the wild with anomalies (unbalanced fields, odd
@@ -34,5 +69,18 @@ export declare function splitIntroducedDiagnostics(errors: AiRevisionDiagnostic[
34
69
  * hard-fail a write or save.
35
70
  */
36
71
  export declare function getAiRevisionBaseline(session: DocxSession): Promise<Map<string, number>>;
37
- export declare function preflightAiRevisionMutation(session: DocxSession, ctx: RevisionContext | undefined, mutatePreview: (doc: DocxDocument, ctx: RevisionContext | undefined) => Promise<void> | void, touched?: AiRevisionValidationTouchedContext): Promise<ToolResponse | null>;
72
+ /**
73
+ * Non-validation advisories the caller wants computed off the same preview
74
+ * round trip. `insertedText` is the text the mutation adds; supplying it opts
75
+ * the mutation into the formatting-convention check (#687), which is skipped
76
+ * outright when the inserted text carries no construct the check knows about.
77
+ *
78
+ * It rides here rather than on its own document load because the preview load
79
+ * + mutate + validate round trip is already paid for on every AI-attributed
80
+ * edit (150–195 ms measured on #687); a full run scan adds 1–2 ms on top.
81
+ */
82
+ export type AiRevisionPreflightAdvisories = {
83
+ insertedText?: string;
84
+ };
85
+ export declare function preflightAiRevisionMutation(session: DocxSession, ctx: RevisionContext | undefined, mutatePreview: (doc: DocxDocument, ctx: RevisionContext | undefined) => Promise<void> | void, touched?: AiRevisionValidationTouchedContext, advisories?: AiRevisionPreflightAdvisories): Promise<AiRevisionPreflightResult>;
38
86
  //# sourceMappingURL=ai_revision_guard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ai_revision_guard.d.ts","sourceRoot":"","sources":["../../src/tools/ai_revision_guard.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,KAAK,oBAAoB,EACzB,KAAK,kCAAkC,EACvC,KAAK,eAAe,EAErB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AASpD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,eAAe,GAAG,SAAS,GAAG,eAAe,GAAG,SAAS,CAOlG;AAED,wBAAgB,2BAA2B,CACzC,WAAW,EAAE;IAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAAC,QAAQ,EAAE,oBAAoB,EAAE,CAAA;CAAE,GAChF,YAAY,CASd;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,oBAAoB,GAAG,MAAM,CAEvE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,oBAAoB,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAO3F;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,oBAAoB,EAAE,EAC9B,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B;IAAE,UAAU,EAAE,oBAAoB,EAAE,CAAC;IAAC,OAAO,EAAE,oBAAoB,EAAE,CAAA;CAAE,CAezE;AAID;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAWxF;AAED,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,WAAW,EACpB,GAAG,EAAE,eAAe,GAAG,SAAS,EAChC,aAAa,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,eAAe,GAAG,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,EAC5F,OAAO,CAAC,EAAE,kCAAkC,GAC3C,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CA+B9B"}
1
+ {"version":3,"file":"ai_revision_guard.d.ts","sourceRoot":"","sources":["../../src/tools/ai_revision_guard.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,KAAK,oBAAoB,EACzB,KAAK,kCAAkC,EACvC,KAAK,eAAe,EAErB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAA6B,KAAK,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/F,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AASpD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,eAAe,GAAG,SAAS,GAAG,eAAe,GAAG,SAAS,CAOlG;AAED,wBAAgB,2BAA2B,CACzC,WAAW,EAAE;IAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAAC,QAAQ,EAAE,oBAAoB,EAAE,CAAA;CAAE,GAChF,YAAY,CASd;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,oBAAoB,GAAG,MAAM,CAEvE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,oBAAoB,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAO3F;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,oBAAoB,EAAE,EAC9B,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B;IAAE,UAAU,EAAE,oBAAoB,EAAE,CAAC;IAAC,OAAO,EAAE,oBAAoB,EAAE,CAAA;CAAE,CAezE;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,oBAAoB,GAAG,MAAM,CAUvE;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAC7B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;CACzC,CAAC;AAUF;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAWxF;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,6BAA6B,GAAG;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,WAAW,EACpB,GAAG,EAAE,eAAe,GAAG,SAAS,EAChC,aAAa,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,eAAe,GAAG,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,EAC5F,OAAO,CAAC,EAAE,kCAAkC,EAC5C,UAAU,CAAC,EAAE,6BAA6B,GACzC,OAAO,CAAC,yBAAyB,CAAC,CAyEpC"}
@@ -1,4 +1,5 @@
1
1
  import { DocxDocument, } from '@usejunior/docx-core';
2
+ import { checkFormattingConvention } from './formatting_convention.js';
2
3
  import { err } from './types.js';
3
4
  function cloneRevisionIdState(state) {
4
5
  return {
@@ -64,6 +65,30 @@ export function splitIntroducedDiagnostics(errors, preExisting) {
64
65
  }
65
66
  return { introduced, demoted };
66
67
  }
68
+ /**
69
+ * Renders one non-blocking diagnostic as a plain string, matching the
70
+ * plain-string `warnings` channels tool success responses already use
71
+ * (format_layout and read_file expose `warnings` as human-readable strings;
72
+ * batch_edit wraps the same human-readable strings with step metadata as
73
+ * `{ step_id, warning }` entries). Location fields are appended when present
74
+ * so an agent can act on the warning without re-running validation.
75
+ */
76
+ export function formatAiRevisionWarning(d) {
77
+ const location = [
78
+ d.part,
79
+ d.element,
80
+ d.id ? `id=${d.id}` : undefined,
81
+ d.author ? `author=${d.author}` : undefined,
82
+ ]
83
+ .filter((x) => Boolean(x))
84
+ .join(', ');
85
+ return location ? `${d.code}: ${d.message} (${location})` : `${d.code}: ${d.message}`;
86
+ }
87
+ const PREFLIGHT_PROCEED = Object.freeze({
88
+ blocked: null,
89
+ warnings: [],
90
+ conventionWarnings: [],
91
+ });
67
92
  const sessionBaselineDiagnostics = new WeakMap();
68
93
  /**
69
94
  * Error-fingerprint counts already present in the originally-loaded file.
@@ -83,15 +108,39 @@ export function getAiRevisionBaseline(session) {
83
108
  }
84
109
  return promise;
85
110
  }
86
- export async function preflightAiRevisionMutation(session, ctx, mutatePreview, touched) {
111
+ export async function preflightAiRevisionMutation(session, ctx, mutatePreview, touched, advisories) {
87
112
  if (!session.aiAuthor)
88
- return null;
113
+ return PREFLIGHT_PROCEED;
89
114
  const snapshot = await session.doc.toBuffer({ cleanBookmarks: false });
115
+ // Two loads of the same bytes: `previewDoc` is mutated below, `baselineDoc`
116
+ // stays as the document was before this mutation so the convention check can
117
+ // difference them. Loading it from the same snapshot (rather than reusing
118
+ // `session.doc`) keeps both sides on identical run boundaries, so the
119
+ // difference reflects the edit and not a serialization artefact. It is only
120
+ // paid for when a caller actually requests the advisory.
90
121
  const previewDoc = await DocxDocument.load(snapshot.buffer);
122
+ const baselineDoc = advisories?.insertedText
123
+ ? await DocxDocument.load(snapshot.buffer)
124
+ : null;
91
125
  await mutatePreview(previewDoc, cloneRevisionContext(ctx));
92
126
  const validation = await previewDoc.validateAiRevisions(session.aiAuthor, touched);
93
- if (validation.errors.length === 0)
94
- return null;
127
+ // Advisory only, and never on the blocked path: a blocked mutation is not
128
+ // applied, so its formatting is not a finding the caller can act on.
129
+ const conventionWarnings = advisories?.insertedText && baselineDoc
130
+ ? checkFormattingConvention(previewDoc, {
131
+ insertedText: advisories.insertedText,
132
+ aiAuthor: session.aiAuthor,
133
+ baselineDoc,
134
+ })
135
+ : [];
136
+ const conventionMessages = conventionWarnings.map((w) => w.message);
137
+ if (validation.errors.length === 0) {
138
+ return {
139
+ blocked: null,
140
+ warnings: [...validation.warnings.map(formatAiRevisionWarning), ...conventionMessages],
141
+ conventionWarnings,
142
+ };
143
+ }
95
144
  // AI-attributed errors always fail. Unattributable errors (field structure,
96
145
  // package invariants — no w:author to classify by) fail only when this
97
146
  // mutation introduced them: documents arrive from the wild with anomalies
@@ -105,11 +154,26 @@ export async function preflightAiRevisionMutation(session, ctx, mutatePreview, t
105
154
  ({ introduced, demoted } = splitIntroducedDiagnostics(unattributed, diagnosticCountMap(preMutation.errors)));
106
155
  }
107
156
  const failing = [...attributed, ...introduced];
108
- if (failing.length === 0)
109
- return null;
110
- return aiRevisionValidationFailure({
111
- errors: failing,
112
- warnings: [...validation.warnings, ...demoted],
113
- });
157
+ if (failing.length === 0) {
158
+ // Demoted diagnostics are pre-existing anomalies this mutation did not
159
+ // introduce; they must not block the write but they are still findings —
160
+ // merge them into the surfaced warnings exactly as the failure path does.
161
+ return {
162
+ blocked: null,
163
+ warnings: [
164
+ ...[...validation.warnings, ...demoted].map(formatAiRevisionWarning),
165
+ ...conventionMessages,
166
+ ],
167
+ conventionWarnings,
168
+ };
169
+ }
170
+ return {
171
+ blocked: aiRevisionValidationFailure({
172
+ errors: failing,
173
+ warnings: [...validation.warnings, ...demoted],
174
+ }),
175
+ warnings: [],
176
+ conventionWarnings: [],
177
+ };
114
178
  }
115
179
  //# sourceMappingURL=ai_revision_guard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ai_revision_guard.js","sourceRoot":"","sources":["../../src/tools/ai_revision_guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai_revision_guard.js","sourceRoot":"","sources":["../../src/tools/ai_revision_guard.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,GAKb,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,yBAAyB,EAA0B,MAAM,4BAA4B,CAAC;AAC/F,OAAO,EAAE,GAAG,EAAqB,MAAM,YAAY,CAAC;AAEpD,SAAS,oBAAoB,CAAC,KAAsB;IAClD,OAAO;QACL,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,YAAY,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC;KAC1C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,GAAgC;IACnE,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,OAAO;QACL,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,OAAO,EAAE,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC;KAC3C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,WAAiF;IAEjF,OAAO;QACL,GAAG,GAAG,CACJ,+BAA+B,EAC/B,6EAA6E,EAC7E,+DAA+D,CAChE;QACD,WAAW;KACZ,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,CAAuB;IAC7D,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClG,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,WAAmC;IACpE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CACxC,MAA8B,EAC9B,WAAgC;IAEhC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;IACvC,MAAM,UAAU,GAA2B,EAAE,CAAC;IAC9C,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,SAAkB,EAAE,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AACjC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CAAC,CAAuB;IAC7D,MAAM,QAAQ,GAAG;QACf,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS;QAC/B,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS;KAC5C;SACE,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SACtC,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,OAAO,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,KAAK,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;AACxF,CAAC;AA4BD,MAAM,iBAAiB,GAA8B,MAAM,CAAC,MAAM,CAAC;IACjE,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,EAAE;IACZ,kBAAkB,EAAE,EAAE;CACvB,CAAC,CAAC;AAEH,MAAM,0BAA0B,GAAG,IAAI,OAAO,EAA6C,CAAC;AAE5F;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAoB;IACxD,IAAI,OAAO,GAAG,0BAA0B,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACtD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,GAAG,CAAC,KAAK,IAAI,EAAE;YACpB,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YACpE,MAAM,UAAU,GAAG,MAAM,WAAW,CAAC,mBAAmB,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;YACjF,OAAO,kBAAkB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC,CAAC,EAAE,CAAC;QACL,0BAA0B,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAgBD,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,OAAoB,EACpB,GAAgC,EAChC,aAA4F,EAC5F,OAA4C,EAC5C,UAA0C;IAE1C,IAAI,CAAC,OAAO,CAAC,QAAQ;QAAE,OAAO,iBAAiB,CAAC;IAEhD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;IACvE,4EAA4E;IAC5E,6EAA6E;IAC7E,0EAA0E;IAC1E,sEAAsE;IACtE,4EAA4E;IAC5E,yDAAyD;IACzD,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,WAAW,GAAG,UAAU,EAAE,YAAY;QAC1C,CAAC,CAAC,MAAM,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC1C,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,aAAa,CAAC,UAAU,EAAE,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,mBAAmB,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACnF,0EAA0E;IAC1E,qEAAqE;IACrE,MAAM,kBAAkB,GACtB,UAAU,EAAE,YAAY,IAAI,WAAW;QACrC,CAAC,CAAC,yBAAyB,CAAC,UAAU,EAAE;YACpC,YAAY,EAAE,UAAU,CAAC,YAAY;YACrC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,WAAW;SACZ,CAAC;QACJ,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACpE,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO;YACL,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAAE,GAAG,kBAAkB,CAAC;YACtF,kBAAkB;SACnB,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,uEAAuE;IACvE,0EAA0E;IAC1E,iEAAiE;IACjE,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClF,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpF,IAAI,UAAU,GAAG,YAAY,CAAC;IAC9B,IAAI,OAAO,GAA2B,EAAE,CAAC;IACzC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrF,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,0BAA0B,CACnD,YAAY,EACZ,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,CACvC,CAAC,CAAC;IACL,CAAC;IACD,MAAM,OAAO,GAAG,CAAC,GAAG,UAAU,EAAE,GAAG,UAAU,CAAC,CAAC;IAC/C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,uEAAuE;QACvE,yEAAyE;QACzE,0EAA0E;QAC1E,OAAO;YACL,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE;gBACR,GAAG,CAAC,GAAG,UAAU,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAC;gBACpE,GAAG,kBAAkB;aACtB;YACD,kBAAkB;SACnB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,2BAA2B,CAAC;YACnC,MAAM,EAAE,OAAO;YACf,QAAQ,EAAE,CAAC,GAAG,UAAU,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC;SAC/C,CAAC;QACF,QAAQ,EAAE,EAAE;QACZ,kBAAkB,EAAE,EAAE;KACvB,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"batch_edit.d.ts","sourceRoot":"","sources":["../../src/tools/batch_edit.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,cAAc,EAAgC,MAAM,uBAAuB,CAAC;AAErF,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AA4dxD,wBAAsB,SAAS,CAC7B,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE;IACN,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GACA,OAAO,CAAC,YAAY,CAAC,CA8GvB"}
1
+ {"version":3,"file":"batch_edit.d.ts","sourceRoot":"","sources":["../../src/tools/batch_edit.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,cAAc,EAAgC,MAAM,uBAAuB,CAAC;AAErF,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAwgBxD,wBAAsB,SAAS,CAC7B,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE;IACN,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GACA,OAAO,CAAC,YAAY,CAAC,CAmIvB"}
@@ -1,5 +1,5 @@
1
1
  import fs from 'node:fs/promises';
2
- import { findUniqueSubstringMatch, replaceParagraphTextRange, } from '@usejunior/docx-core';
2
+ import { SafeDocxError, findUniqueSubstringMatch, replaceParagraphTextRange, } from '@usejunior/docx-core';
3
3
  import { getRevisionContextForSession } from '../session/manager.js';
4
4
  import { errorMessage } from '../error_utils.js';
5
5
  import { err, ok } from './types.js';
@@ -8,6 +8,7 @@ import { replaceText, stripSearchTags } from './replace_text.js';
8
8
  import { insertParagraph } from './insert_paragraph.js';
9
9
  import { resolveSessionForTool } from './session_resolution.js';
10
10
  import { preflightAiRevisionMutation } from './ai_revision_guard.js';
11
+ import { insertedConstructKeys } from './formatting_convention.js';
11
12
  const REPLACE_TEXT_FIELDS = new Set([
12
13
  'target_paragraph_id',
13
14
  'old_string',
@@ -388,6 +389,42 @@ function executeStepsOnDoc(doc, steps, ctx) {
388
389
  for (const step of steps)
389
390
  executeStepOnDoc(doc, step, ctx);
390
391
  }
392
+ /**
393
+ * Every step's inserted text, joined. The batch preflights once for the whole
394
+ * sequence, so the formatting-convention gate (#687) sees the sequence's
395
+ * inserted text as a unit; the newline join keeps one step's tail from fusing
396
+ * with the next step's head into a construct neither step contains.
397
+ */
398
+ function collectInsertedText(steps) {
399
+ return steps
400
+ .map((step) => step.fields.new_string)
401
+ .filter((value) => typeof value === 'string')
402
+ .map((value) => stripSearchTags(value))
403
+ .join('\n');
404
+ }
405
+ /**
406
+ * Attribute each convention warning to the step whose inserted text carries
407
+ * that construct. The preflight runs once for the whole sequence, so the step
408
+ * is not otherwise recoverable — and batch_edit's `warnings` channel is
409
+ * per-step `{ step_id, warning }` entries, so an unattributed warning has
410
+ * nowhere to go. A warning that matches no step (possible only if a step's
411
+ * text and the document disagree) falls back to the first step rather than
412
+ * being dropped.
413
+ */
414
+ function attributeConventionWarnings(steps, warnings) {
415
+ if (warnings.length === 0)
416
+ return [];
417
+ const byStep = steps.map((step) => ({
418
+ stepId: step.step_id,
419
+ keys: insertedConstructKeys(typeof step.fields.new_string === 'string' ? stripSearchTags(step.fields.new_string) : ''),
420
+ }));
421
+ const normalize = (value) => value.trim().replace(/\s+/g, ' ').toLowerCase();
422
+ return warnings.map((warning) => {
423
+ const term = normalize(warning.term);
424
+ const owner = byStep.find((entry) => entry.keys.get(warning.construct)?.has(term));
425
+ return { step_id: owner?.stepId ?? byStep[0]?.stepId ?? '', warning: warning.message };
426
+ });
427
+ }
391
428
  export async function batchEdit(manager, params) {
392
429
  try {
393
430
  if (params.steps !== undefined && params.plan_file_path) {
@@ -454,17 +491,28 @@ export async function batchEdit(manager, params) {
454
491
  };
455
492
  }
456
493
  const ctx = await getRevisionContextForSession(session);
457
- const revisionPreflight = await preflightAiRevisionMutation(session, ctx, (previewDoc, previewCtx) => executeStepsOnDoc(previewDoc, steps, previewCtx));
458
- if (revisionPreflight)
459
- return revisionPreflight;
494
+ const revisionPreflight = await preflightAiRevisionMutation(session, ctx, (previewDoc, previewCtx) => executeStepsOnDoc(previewDoc, steps, previewCtx), undefined, { insertedText: collectInsertedText(steps) });
495
+ if (revisionPreflight.blocked)
496
+ return revisionPreflight.blocked;
497
+ // Structured form only — `revisionPreflight.warnings` carries the same
498
+ // convention findings as flat strings, and reading both would report each
499
+ // finding twice.
500
+ allWarnings.push(...attributeConventionWarnings(steps, revisionPreflight.conventionWarnings));
460
501
  const result = await executeSteps(manager, manager.normalizePath(session.originalPath), steps, ctx);
461
502
  if (result.failed_step_id !== undefined) {
503
+ const failedStepResult = result.step_results.find((stepResult) => stepResult.step_id === result.failed_step_id && !stepResult.success)?.result;
504
+ const nestedError = failedStepResult?.error;
505
+ const preserveStructuralError = nestedError?.code === 'UNSAFE_CONTAINER_BOUNDARY' ||
506
+ nestedError?.code === 'UNSUPPORTED_EDIT';
462
507
  return {
463
508
  success: false,
464
509
  error: {
465
- code: 'BATCH_PARTIAL_FAILURE',
466
- message: `Batch execution stopped at step '${result.failed_step_id}' (index ${result.failed_step_index}).`,
467
- hint: 'Completed steps have already been applied. Reapply to original DOCX if rollback is needed.',
510
+ code: preserveStructuralError ? nestedError.code : 'BATCH_PARTIAL_FAILURE',
511
+ message: preserveStructuralError && nestedError.message
512
+ ? `Batch execution stopped at step '${result.failed_step_id}' (index ${result.failed_step_index}): ${nestedError.message}`
513
+ : `Batch execution stopped at step '${result.failed_step_id}' (index ${result.failed_step_index}).`,
514
+ hint: (preserveStructuralError ? nestedError.hint : undefined) ??
515
+ 'Completed steps have already been applied. Reapply to original DOCX if rollback is needed.',
468
516
  },
469
517
  file_path: manager.normalizePath(session.originalPath),
470
518
  completed_count: result.completed_step_ids.length,
@@ -486,6 +534,9 @@ export async function batchEdit(manager, params) {
486
534
  });
487
535
  }
488
536
  catch (e) {
537
+ if (e instanceof SafeDocxError) {
538
+ return err(e.code, e.message, e.hint);
539
+ }
489
540
  return err('BATCH_EDIT_ERROR', `Failed to apply batch edit: ${errorMessage(e)}`);
490
541
  }
491
542
  }
@@ -1 +1 @@
1
- {"version":3,"file":"batch_edit.js","sourceRoot":"","sources":["../../src/tools/batch_edit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"batch_edit.js","sourceRoot":"","sources":["../../src/tools/batch_edit.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"clear_formatting.d.ts","sourceRoot":"","sources":["../../src/tools/clear_formatting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAgC,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAGxD,OAAO,EAML,KAAK,eAAe,EACrB,MAAM,sBAAsB,CAAC;AA8C9B,wBAAsB,eAAe,CACnC,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE;IACN,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,EACD,GAAG,CAAC,EAAE,eAAe,GACpB,OAAO,CAAC,YAAY,CAAC,CA6FvB"}
1
+ {"version":3,"file":"clear_formatting.d.ts","sourceRoot":"","sources":["../../src/tools/clear_formatting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAgC,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAGxD,OAAO,EAML,KAAK,eAAe,EACrB,MAAM,sBAAsB,CAAC;AA8C9B,wBAAsB,eAAe,CACnC,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE;IACN,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,EACD,GAAG,CAAC,EAAE,eAAe,GACpB,OAAO,CAAC,YAAY,CAAC,CA8FvB"}
@@ -98,8 +98,8 @@ export async function clearFormatting(manager, params, ctx) {
98
98
  return modifiedCount;
99
99
  };
100
100
  const revisionPreflight = await preflightAiRevisionMutation(session, revisionCtx, (doc, activeCtx) => { mutate(doc, activeCtx); });
101
- if (revisionPreflight)
102
- return revisionPreflight;
101
+ if (revisionPreflight.blocked)
102
+ return revisionPreflight.blocked;
103
103
  const modifiedCount = mutate(session.doc, revisionCtx);
104
104
  if (modifiedCount > 0) {
105
105
  manager.markEdited(session);
@@ -108,6 +108,7 @@ export async function clearFormatting(manager, params, ctx) {
108
108
  success: true,
109
109
  file_path: manager.normalizePath(session.originalPath),
110
110
  paragraphs_modified: modifiedCount,
111
+ ...(revisionPreflight.warnings.length > 0 ? { warnings: revisionPreflight.warnings } : {}),
111
112
  }, metadata));
112
113
  }
113
114
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"clear_formatting.js","sourceRoot":"","sources":["../../src/tools/clear_formatting.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clear_formatting.js","sourceRoot":"","sources":["../../src/tools/clear_formatting.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,6 @@ export declare function compareDocuments_tool(manager: SessionManager, params: {
6
6
  file_path?: string;
7
7
  save_to_local_path: string;
8
8
  author?: string;
9
- engine?: string;
10
9
  ignore_formatting?: boolean;
11
10
  compare_moves?: boolean;
12
11
  }): Promise<ToolResponse>;
@@ -1 +1 @@
1
- {"version":3,"file":"compare_documents.d.ts","sourceRoot":"","sources":["../../src/tools/compare_documents.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAyBxD,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE;IACN,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,GACA,OAAO,CAAC,YAAY,CAAC,CA6HvB"}
1
+ {"version":3,"file":"compare_documents.d.ts","sourceRoot":"","sources":["../../src/tools/compare_documents.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAkBxD,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE;IACN,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,GACA,OAAO,CAAC,YAAY,CAAC,CA+HvB"}
@@ -2,25 +2,13 @@ import path from 'node:path';
2
2
  import { errorCode, errorMessage } from "../error_utils.js";
3
3
  import fs from 'node:fs/promises';
4
4
  import { err, ok } from './types.js';
5
- import { compareDocuments } from '@usejunior/docx-compare';
5
+ import { compareDocuments, formatUnrepresentedChangeWarnings, summarizeUnrepresentedChanges, } from '@usejunior/docx-compare';
6
6
  import { mergeSessionResolutionMetadata, resolveSessionForTool, validateAndLoadDocxFromPath, } from './session_resolution.js';
7
7
  import { enforceWritePathPolicy, resolvesToSamePath } from './path_policy.js';
8
- import { DEFAULT_RECONSTRUCTION_MODE } from './comparison_defaults.js';
8
+ import { conformanceRefusalResponse } from './conformance_refusal.js';
9
9
  function expandPath(inputPath) {
10
10
  return inputPath.startsWith('~') ? path.join(process.env.HOME || '', inputPath.slice(1)) : inputPath;
11
11
  }
12
- async function runWithoutConsoleLog(fn) {
13
- if (process.env.SAFE_DOCX_ALLOW_COMPARISON_STDOUT === '1')
14
- return fn();
15
- const originalLog = console.log;
16
- console.log = () => { };
17
- try {
18
- return await fn();
19
- }
20
- finally {
21
- console.log = originalLog;
22
- }
23
- }
24
12
  export async function compareDocuments_tool(manager, params) {
25
13
  try {
26
14
  const hasOriginal = typeof params.original_file_path === 'string' && params.original_file_path.trim().length > 0;
@@ -32,15 +20,6 @@ export async function compareDocuments_tool(manager, params) {
32
20
  if (!twoFileMode && !sessionMode) {
33
21
  return err('MISSING_PARAMS', 'Provide original_file_path + revised_file_path for two-file comparison, or file_path for session comparison.', 'Two-file mode compares two DOCX files. Session mode compares the current session state against the original.');
34
22
  }
35
- // Validate engine
36
- const engine = params.engine ?? 'auto';
37
- if (engine !== 'auto' && engine !== 'atomizer') {
38
- if (engine === 'wmlcomparer') {
39
- return err('INVALID_ENGINE', "Engine 'wmlcomparer' is not supported.", "Use 'auto' or 'atomizer'.");
40
- }
41
- return err('INVALID_ENGINE', `Invalid engine: ${String(engine)}`, "Use 'auto' or 'atomizer'.");
42
- }
43
- const compareEngine = engine;
44
23
  const author = params.author ?? 'Comparison';
45
24
  let originalBuffer;
46
25
  let revisedBuffer;
@@ -84,36 +63,47 @@ export async function compareDocuments_tool(manager, params) {
84
63
  return err('OVERWRITE_BLOCKED', `Refusing to overwrite a source document: ${source}`, 'Choose a different save_to_local_path.');
85
64
  }
86
65
  }
87
- // Run comparison
88
- const result = await runWithoutConsoleLog(() => compareDocuments(originalBuffer, revisedBuffer, {
66
+ // Run comparison. The comparison library writes nothing to stdout by default
67
+ // (issue #783 / PR #785 removed the last unconditional emit; remaining debug
68
+ // output is opt-in via DOCX_COMPARISON_DEBUG), so the stdio JSON-RPC stream
69
+ // stays clean without suppressing the process-global console.log — which was
70
+ // never concurrency-safe across an await (issue #809).
71
+ const result = await compareDocuments(originalBuffer, revisedBuffer, {
89
72
  author,
90
- engine: compareEngine,
91
73
  ignoreFormatting: params.ignore_formatting,
92
74
  detectMoves: params.compare_moves,
93
- reconstructionMode: DEFAULT_RECONSTRUCTION_MODE,
94
- }));
75
+ });
95
76
  // Validate and write output
96
77
  const writePolicy = await enforceWritePathPolicy(savePath);
97
78
  if (!writePolicy.ok)
98
79
  return writePolicy.response;
99
80
  await fs.mkdir(path.dirname(savePath), { recursive: true });
100
81
  await fs.writeFile(savePath, new Uint8Array(result.document));
82
+ // Pass through input differences the redline carries without revision
83
+ // markup (a removed section's footer, an unsupported header topology).
84
+ // Dropping them made an incomplete redline indistinguishable from a
85
+ // complete one (#1029).
86
+ const unrepresented = result.unrepresentedChanges ?? [];
87
+ const unrepresentedSummary = summarizeUnrepresentedChanges(unrepresented);
88
+ const baseMessage = twoFileMode
89
+ ? `Redline comparing '${path.basename(originalFilePath)}' vs '${path.basename(revisedFilePath)}' saved to ${savePath}`
90
+ : `Redline of session edits saved to ${savePath}`;
101
91
  const response = {
102
92
  mode: twoFileMode ? 'two_file' : 'session',
103
93
  original_file_path: originalFilePath,
104
94
  revised_file_path: revisedFilePath,
105
95
  saved_to: savePath,
106
96
  size_bytes: result.document.length,
107
- engine_requested: compareEngine,
108
- engine_used: result.engine,
97
+ package_base: 'revised',
109
98
  author,
110
99
  stats: result.stats,
111
- reconstruction_mode_requested: result.reconstructionModeRequested,
112
- reconstruction_mode_used: result.reconstructionModeUsed,
113
- fallback_reason: result.fallbackReason,
114
- message: twoFileMode
115
- ? `Redline comparing '${path.basename(originalFilePath)}' vs '${path.basename(revisedFilePath)}' saved to ${savePath}`
116
- : `Redline of session edits saved to ${savePath}`,
100
+ ...(unrepresented.length > 0
101
+ ? {
102
+ unrepresented_changes: unrepresented,
103
+ warnings: formatUnrepresentedChangeWarnings(unrepresented),
104
+ }
105
+ : {}),
106
+ message: unrepresentedSummary ? `${baseMessage}. ${unrepresentedSummary}` : baseMessage,
117
107
  };
118
108
  if (sessionMode) {
119
109
  return ok(mergeSessionResolutionMetadata(response, sessionMetadata));
@@ -121,6 +111,9 @@ export async function compareDocuments_tool(manager, params) {
121
111
  return ok(response);
122
112
  }
123
113
  catch (e) {
114
+ const refusal = conformanceRefusalResponse(e);
115
+ if (refusal)
116
+ return refusal;
124
117
  const msg = errorMessage(e);
125
118
  if (String(errorCode(e) ?? '').toUpperCase() === 'EACCES') {
126
119
  return err('PERMISSION_DENIED', `Cannot write to: ${params.save_to_local_path}`, 'Try saving to ~/Downloads/ or ~/Documents/ instead.');