@usejunior/docx-mcp 0.15.0 → 0.17.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.
- package/README.md +16 -268
- package/dist/.tsbuildinfo +1 -1
- package/dist/cli/commands/compare.js +1 -1
- package/dist/cli/commands/compare.js.map +1 -1
- package/dist/server.d.ts +6 -70
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +9 -0
- package/dist/server.js.map +1 -1
- package/dist/session/manager.d.ts +37 -7
- package/dist/session/manager.d.ts.map +1 -1
- package/dist/session/manager.js +10 -0
- package/dist/session/manager.js.map +1 -1
- package/dist/tool_catalog.d.ts +125 -85
- package/dist/tool_catalog.d.ts.map +1 -1
- package/dist/tool_catalog.js +133 -17
- package/dist/tool_catalog.js.map +1 -1
- package/dist/tools/accept_ai_edits.d.ts +13 -0
- package/dist/tools/accept_ai_edits.d.ts.map +1 -0
- package/dist/tools/accept_ai_edits.js +41 -0
- package/dist/tools/accept_ai_edits.js.map +1 -0
- package/dist/tools/add_comment.d.ts.map +1 -1
- package/dist/tools/add_comment.js +40 -0
- package/dist/tools/add_comment.js.map +1 -1
- package/dist/tools/add_footnote.d.ts.map +1 -1
- package/dist/tools/add_footnote.js +21 -0
- package/dist/tools/add_footnote.js.map +1 -1
- package/dist/tools/compare_documents.js +1 -1
- package/dist/tools/compare_documents.js.map +1 -1
- package/dist/tools/comparison_defaults.d.ts +1 -1
- package/dist/tools/comparison_defaults.d.ts.map +1 -1
- package/dist/tools/delete_comment.d.ts.map +1 -1
- package/dist/tools/delete_comment.js +34 -0
- package/dist/tools/delete_comment.js.map +1 -1
- package/dist/tools/get_document_outline.d.ts +29 -0
- package/dist/tools/get_document_outline.d.ts.map +1 -0
- package/dist/tools/get_document_outline.js +67 -0
- package/dist/tools/get_document_outline.js.map +1 -0
- package/dist/tools/read_file.d.ts +1 -0
- package/dist/tools/read_file.d.ts.map +1 -1
- package/dist/tools/read_file.js +46 -2
- package/dist/tools/read_file.js.map +1 -1
- package/dist/tools/reject_ai_edits.d.ts +14 -0
- package/dist/tools/reject_ai_edits.d.ts.map +1 -0
- package/dist/tools/reject_ai_edits.js +42 -0
- package/dist/tools/reject_ai_edits.js.map +1 -0
- package/dist/tools/save.d.ts +1 -21
- package/dist/tools/save.d.ts.map +1 -1
- package/dist/tools/save.js +84 -129
- package/dist/tools/save.js.map +1 -1
- package/package.json +10 -9
package/dist/tool_catalog.js
CHANGED
|
@@ -5,6 +5,11 @@ const FILE_FIELD = {
|
|
|
5
5
|
const FILE_FIELD_OPTIONAL = {
|
|
6
6
|
file_path: z.string().optional().describe('Path to the DOCX or ODT file.'),
|
|
7
7
|
};
|
|
8
|
+
// DOCX-only tools reject `.odt` paths with UNSUPPORTED_FOR_ODF, so their
|
|
9
|
+
// file_path description must not advertise ODT support.
|
|
10
|
+
const FILE_FIELD_OPTIONAL_DOCX_ONLY = {
|
|
11
|
+
file_path: z.string().optional().describe('Path to the DOCX file.'),
|
|
12
|
+
};
|
|
8
13
|
const GOOGLE_DOC_ID_FIELD = {
|
|
9
14
|
google_doc_id: z.string().optional().describe('Google Doc ID or URL (alternative to file_path). ' +
|
|
10
15
|
'Extract from URL: docs.google.com/document/d/{ID}/edit'),
|
|
@@ -12,6 +17,7 @@ const GOOGLE_DOC_ID_FIELD = {
|
|
|
12
17
|
export const SAFE_DOCX_TOOL_CATALOG = [
|
|
13
18
|
{
|
|
14
19
|
name: 'read_file',
|
|
20
|
+
surface: 'internal',
|
|
15
21
|
description: 'Read document content (DOCX, ODT, or Google Doc). Output is token-limited (~14k tokens) by default with pagination metadata (has_more, next_offset). Use offset/limit to paginate.',
|
|
16
22
|
input: z.object({
|
|
17
23
|
...FILE_FIELD_OPTIONAL,
|
|
@@ -31,7 +37,11 @@ export const SAFE_DOCX_TOOL_CATALOG = [
|
|
|
31
37
|
include_fingerprint: z
|
|
32
38
|
.boolean()
|
|
33
39
|
.optional()
|
|
34
|
-
.describe('When true and format="json", include a portable content_fingerprint ("sha256:nfkc:<32hex>") on each paragraph. Read-only metadata derived from the paragraph\'s normalized visible text; NOT an edit anchor. Edit tools accept
|
|
40
|
+
.describe('When true and format="json", include a portable content_fingerprint ("sha256:nfkc:<32hex>") on each paragraph. Read-only metadata derived from the paragraph\'s normalized visible text; NOT an edit anchor. Edit tools accept a `_bk_*` ID, or (DOCX only) any other bookmark name whose w:id-paired range covers exactly that one paragraph. No effect on TOON/simple output. Ignored for Google Docs and ODT.'),
|
|
41
|
+
include_fingerprint_ordinal: z
|
|
42
|
+
.boolean()
|
|
43
|
+
.optional()
|
|
44
|
+
.describe('When true together with include_fingerprint and format="json", add duplicate-disambiguation metadata to each paragraph: `content_fingerprint_ordinal` (1-based document-order position among paragraphs sharing the same content_fingerprint), `content_fingerprint_count_in_document` (total paragraphs sharing it, document-wide even under pagination), and `portable_paragraph_ref` ("<content_fingerprint>#<ordinal>"). Read-only disambiguator, NOT an edit anchor; reordering duplicates may change ordinals. No effect without include_fingerprint, and no effect on TOON/simple output. Ignored for Google Docs and ODT. Default: false.'),
|
|
35
45
|
include_footnotes: z
|
|
36
46
|
.boolean()
|
|
37
47
|
.optional()
|
|
@@ -39,8 +49,26 @@ export const SAFE_DOCX_TOOL_CATALOG = [
|
|
|
39
49
|
}),
|
|
40
50
|
annotations: { readOnlyHint: true, destructiveHint: false },
|
|
41
51
|
},
|
|
52
|
+
{
|
|
53
|
+
name: 'get_document_outline',
|
|
54
|
+
surface: 'internal',
|
|
55
|
+
description: 'Get a compact structural map of a document\'s headings (DOCX only). Returns one entry per heading paragraph with its text, outline level, source, and stable `_bk_*` paragraph_id — so an agent can read the cheap outline first, then scope a targeted read_file/replace_text to the right section instead of scanning the whole body. Style-based (Word HeadingN) headings only by default; set include_heuristic_headings=true to also include heuristic titles/run-in headers. Read-only.',
|
|
56
|
+
input: z.object({
|
|
57
|
+
...FILE_FIELD_OPTIONAL_DOCX_ONLY,
|
|
58
|
+
format: z
|
|
59
|
+
.enum(['json', 'markdown'])
|
|
60
|
+
.optional()
|
|
61
|
+
.describe("Output format: 'json' (default, structured outline array) or 'markdown' (indented ATX outline under `content`)."),
|
|
62
|
+
include_heuristic_headings: z
|
|
63
|
+
.boolean()
|
|
64
|
+
.optional()
|
|
65
|
+
.describe('When true, also include heuristically-detected headings (manual title / run-in / centered-caps) alongside Word HeadingN styles. Default: false (style-based only).'),
|
|
66
|
+
}),
|
|
67
|
+
annotations: { readOnlyHint: true, destructiveHint: false },
|
|
68
|
+
},
|
|
42
69
|
{
|
|
43
70
|
name: 'grep',
|
|
71
|
+
surface: 'internal',
|
|
44
72
|
description: 'Search paragraphs with regex. Use file_path for session-based search, file_paths for stateless multi-file search, or google_doc_id for Google Docs. ODT supported via file_path (single-file) only.',
|
|
45
73
|
input: z.object({
|
|
46
74
|
...FILE_FIELD_OPTIONAL,
|
|
@@ -60,7 +88,8 @@ export const SAFE_DOCX_TOOL_CATALOG = [
|
|
|
60
88
|
},
|
|
61
89
|
{
|
|
62
90
|
name: 'batch_edit',
|
|
63
|
-
|
|
91
|
+
surface: 'revisionable',
|
|
92
|
+
description: 'Single-agent front door for applying multiple edit steps (replace_text, insert_paragraph) to a document in one call. Validates all steps first, rejects conflicts before applying anything, then executes valid steps sequentially. Accepts inline steps or a plan_file_path JSON array. Surface: revisionable — every applied step emits native OOXML tracked changes.',
|
|
64
93
|
input: z.object({
|
|
65
94
|
...FILE_FIELD,
|
|
66
95
|
steps: z
|
|
@@ -76,11 +105,14 @@ export const SAFE_DOCX_TOOL_CATALOG = [
|
|
|
76
105
|
},
|
|
77
106
|
{
|
|
78
107
|
name: 'replace_text',
|
|
79
|
-
|
|
108
|
+
surface: 'revisionable',
|
|
109
|
+
description: 'Replace text in a paragraph by provider paragraph id, preserving formatting where supported. Supports DOCX, ODT, and Google Docs. Surface: revisionable — DOCX edits emit native OOXML tracked changes (w:ins/w:del/w:rPrChange).',
|
|
80
110
|
input: z.object({
|
|
81
111
|
...FILE_FIELD_OPTIONAL,
|
|
82
112
|
...GOOGLE_DOC_ID_FIELD,
|
|
83
|
-
target_paragraph_id: z
|
|
113
|
+
target_paragraph_id: z
|
|
114
|
+
.string()
|
|
115
|
+
.describe('Paragraph anchor. Accepts a safe-docx `_bk_*` id, or (DOCX only) any other bookmark name — e.g. a host application\'s own stable paragraph bookmark — whose w:id-paired range covers exactly this one paragraph. Exact name match; a point bookmark or a multi-paragraph range is refused.'),
|
|
84
116
|
old_string: z.string(),
|
|
85
117
|
new_string: z.string(),
|
|
86
118
|
instruction: z.string(),
|
|
@@ -93,24 +125,28 @@ export const SAFE_DOCX_TOOL_CATALOG = [
|
|
|
93
125
|
},
|
|
94
126
|
{
|
|
95
127
|
name: 'insert_paragraph',
|
|
96
|
-
|
|
128
|
+
surface: 'revisionable',
|
|
129
|
+
description: 'Insert a paragraph before/after an anchor paragraph by paragraph id. Supports DOCX, ODT, and Google Docs. (ODT paragraph ids are positional and shift after insertion — re-read before further edits.) Surface: revisionable — DOCX insertions emit native OOXML tracked changes.',
|
|
97
130
|
input: z.object({
|
|
98
131
|
...FILE_FIELD_OPTIONAL,
|
|
99
132
|
...GOOGLE_DOC_ID_FIELD,
|
|
100
|
-
positional_anchor_node_id: z
|
|
133
|
+
positional_anchor_node_id: z
|
|
134
|
+
.string()
|
|
135
|
+
.describe('Anchor paragraph. Accepts a safe-docx `_bk_*` id, or (DOCX only) any other bookmark name — e.g. a host application\'s own stable paragraph bookmark — whose w:id-paired range covers exactly this one paragraph. Exact name match; a point bookmark or a multi-paragraph range is refused.'),
|
|
101
136
|
new_string: z.string(),
|
|
102
137
|
instruction: z.string(),
|
|
103
138
|
position: z.enum(['BEFORE', 'AFTER']).optional(),
|
|
104
139
|
style_source_id: z
|
|
105
140
|
.string()
|
|
106
141
|
.optional()
|
|
107
|
-
.describe('Paragraph
|
|
142
|
+
.describe('Paragraph anchor to clone formatting (pPr and template run) from instead of the positional anchor. Accepts a `_bk_*` ID, or (DOCX only) any other bookmark name whose w:id-paired range covers exactly that one paragraph. Falls back to anchor with a warning if not found.'),
|
|
108
143
|
}),
|
|
109
144
|
annotations: { readOnlyHint: false, destructiveHint: true },
|
|
110
145
|
},
|
|
111
146
|
{
|
|
112
147
|
name: 'save',
|
|
113
|
-
|
|
148
|
+
surface: 'revisionable',
|
|
149
|
+
description: 'Save document. For DOCX: saves clean and/or tracked changes output. For ODT: saves an .odt package. For Google Docs: checkpoint (default) returns revisionId, or snapshot exports as DOCX. Surface: revisionable — the save report lists both the AI revisions applied and a non-revision change manifest of any package-level mutations (comment/footnote side parts, relationships) that have no tracked-change wrapper.',
|
|
114
150
|
input: z.object({
|
|
115
151
|
...FILE_FIELD_OPTIONAL,
|
|
116
152
|
...GOOGLE_DOC_ID_FIELD,
|
|
@@ -120,16 +156,20 @@ export const SAFE_DOCX_TOOL_CATALOG = [
|
|
|
120
156
|
allow_overwrite: z.boolean().optional(),
|
|
121
157
|
tracked_save_to_local_path: z.string().optional(),
|
|
122
158
|
tracked_changes_author: z.string().optional(),
|
|
123
|
-
tracked_changes_engine: z
|
|
159
|
+
tracked_changes_engine: z
|
|
160
|
+
.enum(['auto', 'atomizer'])
|
|
161
|
+
.optional()
|
|
162
|
+
.describe('Deprecated and ignored (#126). The redline is now the session\'s write-time tracked markup, serialized directly — there is no comparison engine to select. Use the compare_documents tool for comparison-based redlines.'),
|
|
124
163
|
fail_on_rebuild_fallback: z
|
|
125
164
|
.boolean()
|
|
126
165
|
.optional()
|
|
127
|
-
.describe('
|
|
166
|
+
.describe('Deprecated and ignored (#126). The default save no longer runs the comparison reconstruction engine, so there is no rebuild fallback to guard against; accepted for backward compatibility only.'),
|
|
128
167
|
}),
|
|
129
168
|
annotations: { readOnlyHint: false, destructiveHint: true },
|
|
130
169
|
},
|
|
131
170
|
{
|
|
132
171
|
name: 'export',
|
|
172
|
+
surface: 'internal',
|
|
133
173
|
description: 'Export a document to a portable rendering (Markdown, semantic HTML, or plain text). Writes an output file (default: source path with the format extension, e.g. .md, .html, or .txt) and returns its path, byte count, and the rendered content (under `content`). Intentionally lossy (no round-trip); HTML is the semantic tier, not pixel-faithful. DOCX only — Google Docs is not supported.',
|
|
134
174
|
input: z.object({
|
|
135
175
|
...FILE_FIELD_OPTIONAL,
|
|
@@ -154,6 +194,7 @@ export const SAFE_DOCX_TOOL_CATALOG = [
|
|
|
154
194
|
},
|
|
155
195
|
{
|
|
156
196
|
name: 'convert_to_odt',
|
|
197
|
+
surface: 'internal',
|
|
157
198
|
description: 'Convert a DOCX document to OpenDocument Text (.odt) using the native model-to-model converter (no LibreOffice involved). Writes the .odt (default: source path with the .odt extension), validates ODF packaging safety before writing, and returns the output path plus a `lossiness` summary itemizing every downgraded construct. Conversion is semantic and intentionally lossy: text, headings, bold/italic/underline, hyperlinks, lists, and tables are mapped; richer styling, tracked changes, comments, and headers/footers are not. DOCX in, ODT out — Google Docs and .odt inputs are not supported.',
|
|
158
199
|
input: z.object({
|
|
159
200
|
...FILE_FIELD_OPTIONAL,
|
|
@@ -170,7 +211,8 @@ export const SAFE_DOCX_TOOL_CATALOG = [
|
|
|
170
211
|
},
|
|
171
212
|
{
|
|
172
213
|
name: 'format_layout',
|
|
173
|
-
|
|
214
|
+
surface: 'revisionable',
|
|
215
|
+
description: 'Apply layout controls (paragraph spacing, table row height, cell padding). Google Docs supports paragraph spacing only. Surface: revisionable — DOCX geometry edits emit native property-change revisions (w:pPrChange/w:trPrChange/w:tcPrChange).',
|
|
174
216
|
input: z.object({
|
|
175
217
|
...FILE_FIELD_OPTIONAL,
|
|
176
218
|
...GOOGLE_DOC_ID_FIELD,
|
|
@@ -208,14 +250,58 @@ export const SAFE_DOCX_TOOL_CATALOG = [
|
|
|
208
250
|
},
|
|
209
251
|
{
|
|
210
252
|
name: 'accept_changes',
|
|
253
|
+
surface: 'internal',
|
|
211
254
|
description: 'Accept all tracked changes in the document body, producing a clean document with no revision markup. Returns acceptance stats.',
|
|
212
255
|
input: z.object({
|
|
213
256
|
...FILE_FIELD,
|
|
214
257
|
}),
|
|
215
258
|
annotations: { readOnlyHint: false, destructiveHint: true },
|
|
216
259
|
},
|
|
260
|
+
{
|
|
261
|
+
name: 'accept_ai_edits',
|
|
262
|
+
surface: 'internal',
|
|
263
|
+
description: 'Selectively accept tracked changes by revision id or author, leaving all other (e.g. third-party reviewer) revisions byte-untouched. Provide revision_ids (array of w:id values) to target specific revisions, or author to accept every revision by one actor. Sweeps document.xml and supported side-story parts (footnotes, endnotes, comments). An ambiguous overlap — a targeted revision structurally containing, or contained by, a non-targeted revision (nested ins/del/move) — hard-errors with code AMBIGUOUS_REVISION_OVERLAP and a structured `overlaps` list unless normalize_first is set (best-effort, no byte-identical promise).',
|
|
264
|
+
input: z.object({
|
|
265
|
+
...FILE_FIELD,
|
|
266
|
+
revision_ids: z
|
|
267
|
+
.array(z.union([z.string(), z.number()]))
|
|
268
|
+
.optional()
|
|
269
|
+
.describe('w:id values of the revisions to accept. Mutually preferred over author.'),
|
|
270
|
+
author: z
|
|
271
|
+
.string()
|
|
272
|
+
.optional()
|
|
273
|
+
.describe('Accept every revision authored by this w:author. Convenience alternative to revision_ids.'),
|
|
274
|
+
normalize_first: z
|
|
275
|
+
.boolean()
|
|
276
|
+
.optional()
|
|
277
|
+
.describe('Attempt best-effort resolution on an ambiguous (overlapping) revision graph instead of hard-erroring. No byte-identical guarantee. Default: false.'),
|
|
278
|
+
}),
|
|
279
|
+
annotations: { readOnlyHint: false, destructiveHint: true },
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
name: 'reject_ai_edits',
|
|
283
|
+
surface: 'internal',
|
|
284
|
+
description: 'Selectively reject tracked changes by revision id or author (restoring their pre-edit state), leaving all other revisions byte-untouched. Symmetric to accept_ai_edits: provide revision_ids or author, sweeps document.xml and supported side-story parts, and hard-errors on an ambiguous overlap (code AMBIGUOUS_REVISION_OVERLAP with a structured `overlaps` list) unless normalize_first is set.',
|
|
285
|
+
input: z.object({
|
|
286
|
+
...FILE_FIELD,
|
|
287
|
+
revision_ids: z
|
|
288
|
+
.array(z.union([z.string(), z.number()]))
|
|
289
|
+
.optional()
|
|
290
|
+
.describe('w:id values of the revisions to reject. Mutually preferred over author.'),
|
|
291
|
+
author: z
|
|
292
|
+
.string()
|
|
293
|
+
.optional()
|
|
294
|
+
.describe('Reject every revision authored by this w:author. Convenience alternative to revision_ids.'),
|
|
295
|
+
normalize_first: z
|
|
296
|
+
.boolean()
|
|
297
|
+
.optional()
|
|
298
|
+
.describe('Attempt best-effort resolution on an ambiguous (overlapping) revision graph instead of hard-erroring. No byte-identical guarantee. Default: false.'),
|
|
299
|
+
}),
|
|
300
|
+
annotations: { readOnlyHint: false, destructiveHint: true },
|
|
301
|
+
},
|
|
217
302
|
{
|
|
218
303
|
name: 'has_tracked_changes',
|
|
304
|
+
surface: 'internal',
|
|
219
305
|
description: 'Check whether the document body contains tracked-change markers (insertions, deletions, moves, and property-change records). Read-only.',
|
|
220
306
|
input: z.object({
|
|
221
307
|
...FILE_FIELD,
|
|
@@ -224,6 +310,7 @@ export const SAFE_DOCX_TOOL_CATALOG = [
|
|
|
224
310
|
},
|
|
225
311
|
{
|
|
226
312
|
name: 'get_file_status',
|
|
313
|
+
surface: 'internal',
|
|
227
314
|
description: 'Get file/session metadata including edit count, normalization stats, and cache info. Supports DOCX, ODT, and Google Docs.',
|
|
228
315
|
input: z.object({
|
|
229
316
|
...FILE_FIELD_OPTIONAL,
|
|
@@ -233,6 +320,7 @@ export const SAFE_DOCX_TOOL_CATALOG = [
|
|
|
233
320
|
},
|
|
234
321
|
{
|
|
235
322
|
name: 'close_file',
|
|
323
|
+
surface: 'internal',
|
|
236
324
|
description: 'Close an open file session, or close all sessions with explicit confirmation. Supports DOCX, ODT, and Google Docs.',
|
|
237
325
|
input: z.object({
|
|
238
326
|
...FILE_FIELD_OPTIONAL,
|
|
@@ -244,7 +332,9 @@ export const SAFE_DOCX_TOOL_CATALOG = [
|
|
|
244
332
|
},
|
|
245
333
|
{
|
|
246
334
|
name: 'add_comment',
|
|
247
|
-
|
|
335
|
+
surface: 'revisionable',
|
|
336
|
+
emitsNonRevisionChanges: true,
|
|
337
|
+
description: 'Add a comment or threaded reply to a document. Provide target_paragraph_id + anchor_text for root comments, or parent_comment_id for replies. Supports DOCX and ODT (ODT backs comments with office:annotation; threaded replies are DOCX-only). Surface: revisionable + package-mutation — the body-story comment reference is tracked (w:ins), while comment text and author metadata are recorded in the save report non-revision change manifest.',
|
|
248
338
|
input: z.object({
|
|
249
339
|
...FILE_FIELD,
|
|
250
340
|
target_paragraph_id: z.string().optional().describe('Paragraph ID to anchor the comment to (for root comments).'),
|
|
@@ -258,6 +348,7 @@ export const SAFE_DOCX_TOOL_CATALOG = [
|
|
|
258
348
|
},
|
|
259
349
|
{
|
|
260
350
|
name: 'get_comments',
|
|
351
|
+
surface: 'internal',
|
|
261
352
|
description: 'Get all comments from the document with IDs, authors, dates, text, and anchored paragraph IDs. Range-anchored DOCX comments also expose optional end_paragraph_id, start_run_index, start_char_offset, end_run_index, and end_char_offset fields describing the covered span. Includes threaded replies (DOCX). Supports DOCX and ODT. Read-only.',
|
|
262
353
|
input: z.object({
|
|
263
354
|
...FILE_FIELD,
|
|
@@ -266,7 +357,9 @@ export const SAFE_DOCX_TOOL_CATALOG = [
|
|
|
266
357
|
},
|
|
267
358
|
{
|
|
268
359
|
name: 'delete_comment',
|
|
269
|
-
|
|
360
|
+
surface: 'revisionable',
|
|
361
|
+
emitsNonRevisionChanges: true,
|
|
362
|
+
description: 'Delete a comment and all its threaded replies from the document. Cascade-deletes all descendants. Surface: revisionable + package-mutation — the body-story comment reference removal is tracked (w:del), while comment/reply text cleanup is recorded in the save report non-revision change manifest.',
|
|
270
363
|
input: z.object({
|
|
271
364
|
...FILE_FIELD,
|
|
272
365
|
comment_id: z.number().describe('Comment ID to delete.'),
|
|
@@ -275,6 +368,7 @@ export const SAFE_DOCX_TOOL_CATALOG = [
|
|
|
275
368
|
},
|
|
276
369
|
{
|
|
277
370
|
name: 'compare_documents',
|
|
371
|
+
surface: 'revisionable',
|
|
278
372
|
description: 'Compare two documents and produce a tracked-changes output document. Provide original_file_path + revised_file_path for standalone comparison, or file_path to compare session edits against the original. DOCX and ODF (.odt) support both modes. DOCX stats count insertions/deletions as contiguous ranges, expose atom totals as insertedAtoms/deletedAtoms, and report formatChanges separately from modifiedParagraphs. ODF compares at inline granularity (a modified paragraph is marked up in place — only the changed spans are struck or inserted).',
|
|
279
373
|
input: z.object({
|
|
280
374
|
original_file_path: z.string().optional().describe('Path to the original DOCX or .odt file.'),
|
|
@@ -288,6 +382,7 @@ export const SAFE_DOCX_TOOL_CATALOG = [
|
|
|
288
382
|
},
|
|
289
383
|
{
|
|
290
384
|
name: 'get_footnotes',
|
|
385
|
+
surface: 'internal',
|
|
291
386
|
description: 'Get all footnotes from the document with IDs, display numbers, text, and anchored paragraph IDs. Read-only.',
|
|
292
387
|
input: z.object({
|
|
293
388
|
...FILE_FIELD,
|
|
@@ -296,7 +391,9 @@ export const SAFE_DOCX_TOOL_CATALOG = [
|
|
|
296
391
|
},
|
|
297
392
|
{
|
|
298
393
|
name: 'add_footnote',
|
|
299
|
-
|
|
394
|
+
surface: 'revisionable',
|
|
395
|
+
emitsNonRevisionChanges: true,
|
|
396
|
+
description: 'Add a footnote anchored to a paragraph. Optionally position the reference after specific text using after_text. Note: [^N] markers in read_file output are display-only and not part of the editable text used by replace_text. Surface: revisionable + package-mutation — the footnote reference and note text are tracked (w:ins), while footnote-part creation and registration are recorded in the save report non-revision change manifest.',
|
|
300
397
|
input: z.object({
|
|
301
398
|
...FILE_FIELD,
|
|
302
399
|
target_paragraph_id: z.string().describe('Paragraph ID to anchor the footnote to.'),
|
|
@@ -307,7 +404,8 @@ export const SAFE_DOCX_TOOL_CATALOG = [
|
|
|
307
404
|
},
|
|
308
405
|
{
|
|
309
406
|
name: 'update_footnote',
|
|
310
|
-
|
|
407
|
+
surface: 'revisionable',
|
|
408
|
+
description: 'Update the text content of an existing footnote. Surface: revisionable — note-text changes emit native OOXML tracked changes (w:ins/w:del) inside the footnote body.',
|
|
311
409
|
input: z.object({
|
|
312
410
|
...FILE_FIELD,
|
|
313
411
|
note_id: z.number().describe('Footnote ID to update.'),
|
|
@@ -317,7 +415,8 @@ export const SAFE_DOCX_TOOL_CATALOG = [
|
|
|
317
415
|
},
|
|
318
416
|
{
|
|
319
417
|
name: 'delete_footnote',
|
|
320
|
-
|
|
418
|
+
surface: 'revisionable',
|
|
419
|
+
description: 'Delete a footnote and its reference from the document. Surface: revisionable — the reference and note text are removed as native OOXML tracked deletions (w:del).',
|
|
321
420
|
input: z.object({
|
|
322
421
|
...FILE_FIELD,
|
|
323
422
|
note_id: z.number().describe('Footnote ID to delete.'),
|
|
@@ -326,7 +425,8 @@ export const SAFE_DOCX_TOOL_CATALOG = [
|
|
|
326
425
|
},
|
|
327
426
|
{
|
|
328
427
|
name: 'clear_formatting',
|
|
329
|
-
|
|
428
|
+
surface: 'revisionable',
|
|
429
|
+
description: 'Clear specific run-level formatting (bold, italic, underline, highlight, color, font) from paragraphs. Surface: revisionable — clearing emits a native run-property-change revision (w:rPrChange).',
|
|
330
430
|
input: z.object({
|
|
331
431
|
...FILE_FIELD,
|
|
332
432
|
paragraph_ids: z.array(z.string()).optional().describe('Paragraph IDs to clear formatting from. If omitted, clears from all paragraphs.'),
|
|
@@ -341,6 +441,7 @@ export const SAFE_DOCX_TOOL_CATALOG = [
|
|
|
341
441
|
},
|
|
342
442
|
{
|
|
343
443
|
name: 'extract_revisions',
|
|
444
|
+
surface: 'internal',
|
|
344
445
|
description: 'Extract tracked changes as structured JSON with before/after text per paragraph, revision details, and comments. Supports pagination via offset and limit. Read-only - does not modify the document.',
|
|
345
446
|
input: z.object({
|
|
346
447
|
...FILE_FIELD,
|
|
@@ -362,5 +463,20 @@ export const SAFE_DOCX_MCP_TOOLS = SAFE_DOCX_TOOL_CATALOG.map((tool) => ({
|
|
|
362
463
|
description: tool.description,
|
|
363
464
|
inputSchema: toJsonObjectSchema(tool.input, tool.name),
|
|
364
465
|
annotations: tool.annotations,
|
|
466
|
+
// #122: contract-surface classification, advertised alongside the tool so
|
|
467
|
+
// clients can distinguish tracked (revisionable) writes from untracked
|
|
468
|
+
// package mutations without reading SUPPORT.md.
|
|
469
|
+
surface: tool.surface,
|
|
470
|
+
emitsNonRevisionChanges: tool.emitsNonRevisionChanges ?? false,
|
|
365
471
|
}));
|
|
472
|
+
/**
|
|
473
|
+
* Programmatic index of the contract surface each tool writes to (#122),
|
|
474
|
+
* mirroring the ratified inventory in `packages/docx-core/SUPPORT.md`.
|
|
475
|
+
* Consumed by the revisionable-surface property test and by the classification
|
|
476
|
+
* coverage test.
|
|
477
|
+
*/
|
|
478
|
+
export const TOOL_SURFACE_INDEX = Object.fromEntries(SAFE_DOCX_TOOL_CATALOG.map((tool) => [
|
|
479
|
+
tool.name,
|
|
480
|
+
{ surface: tool.surface, emitsNonRevisionChanges: tool.emitsNonRevisionChanges ?? false },
|
|
481
|
+
]));
|
|
366
482
|
//# sourceMappingURL=tool_catalog.js.map
|
package/dist/tool_catalog.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool_catalog.js","sourceRoot":"","sources":["../src/tool_catalog.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tool_catalog.js","sourceRoot":"","sources":["../src/tool_catalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { SessionManager } from '../session/manager.js';
|
|
2
|
+
import { type ToolResponse } from './types.js';
|
|
3
|
+
/**
|
|
4
|
+
* accept_ai_edits — selectively accept tracked changes by revision id or author
|
|
5
|
+
* (#123), leaving all other (e.g. third-party reviewer) revisions untouched.
|
|
6
|
+
*/
|
|
7
|
+
export declare function acceptAiEdits(manager: SessionManager, params: {
|
|
8
|
+
file_path?: string;
|
|
9
|
+
revision_ids?: Array<string | number>;
|
|
10
|
+
author?: string;
|
|
11
|
+
normalize_first?: boolean;
|
|
12
|
+
}): Promise<ToolResponse>;
|
|
13
|
+
//# sourceMappingURL=accept_ai_edits.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accept_ai_edits.d.ts","sourceRoot":"","sources":["../../src/tools/accept_ai_edits.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAGxD;;;GAGG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE;IACN,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,GACA,OAAO,CAAC,YAAY,CAAC,CAuCvB"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { errorMessage } from '../error_utils.js';
|
|
2
|
+
import { resolveSessionForTool, mergeSessionResolutionMetadata } from './session_resolution.js';
|
|
3
|
+
import { ok, err } from './types.js';
|
|
4
|
+
import { AmbiguousRevisionOverlapError } from '@usejunior/docx-core';
|
|
5
|
+
/**
|
|
6
|
+
* accept_ai_edits — selectively accept tracked changes by revision id or author
|
|
7
|
+
* (#123), leaving all other (e.g. third-party reviewer) revisions untouched.
|
|
8
|
+
*/
|
|
9
|
+
export async function acceptAiEdits(manager, params) {
|
|
10
|
+
const resolved = await resolveSessionForTool(manager, params, { toolName: 'accept_ai_edits' });
|
|
11
|
+
if (!resolved.ok)
|
|
12
|
+
return resolved.response;
|
|
13
|
+
const { session, metadata } = resolved;
|
|
14
|
+
const hasIds = Array.isArray(params.revision_ids) && params.revision_ids.length > 0;
|
|
15
|
+
if (!hasIds && (params.author == null || params.author === '')) {
|
|
16
|
+
return err('MISSING_PARAMETER', 'Provide revision_ids or author.', "Target specific w:id values with revision_ids, or every revision by one actor with author.");
|
|
17
|
+
}
|
|
18
|
+
try {
|
|
19
|
+
const { result, selectedIds } = await session.doc.acceptAIEdits({
|
|
20
|
+
revisionIds: params.revision_ids,
|
|
21
|
+
author: params.author,
|
|
22
|
+
normalizeFirst: params.normalize_first,
|
|
23
|
+
});
|
|
24
|
+
manager.markEdited(session);
|
|
25
|
+
return ok(mergeSessionResolutionMetadata({
|
|
26
|
+
...result,
|
|
27
|
+
selected_revision_ids: selectedIds,
|
|
28
|
+
file_path: manager.normalizePath(session.originalPath),
|
|
29
|
+
}, metadata));
|
|
30
|
+
}
|
|
31
|
+
catch (e) {
|
|
32
|
+
if (e instanceof AmbiguousRevisionOverlapError) {
|
|
33
|
+
return {
|
|
34
|
+
...err('AMBIGUOUS_REVISION_OVERLAP', e.message, 'Pass normalize_first=true for best-effort resolution, or target a non-overlapping revision set.'),
|
|
35
|
+
overlaps: e.overlaps,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
return err('ACCEPT_AI_EDITS_ERROR', errorMessage(e));
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=accept_ai_edits.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accept_ai_edits.js","sourceRoot":"","sources":["../../src/tools/accept_ai_edits.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AAChG,OAAO,EAAE,EAAE,EAAE,GAAG,EAAqB,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AAErE;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAAuB,EACvB,MAKC;IAED,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC/F,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,QAAQ,CAAC,QAAQ,CAAC;IAC3C,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;IAEvC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;IACpF,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,KAAK,EAAE,CAAC,EAAE,CAAC;QAC/D,OAAO,GAAG,CACR,mBAAmB,EACnB,iCAAiC,EACjC,4FAA4F,CAC7F,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;YAC9D,WAAW,EAAE,MAAM,CAAC,YAAY;YAChC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,cAAc,EAAE,MAAM,CAAC,eAAe;SACvC,CAAC,CAAC;QACH,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,EAAE,CAAC,8BAA8B,CAAC;YACvC,GAAG,MAAM;YACT,qBAAqB,EAAE,WAAW;YAClC,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC;SACvD,EAAE,QAAQ,CAAC,CAAC,CAAC;IAChB,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QACpB,IAAI,CAAC,YAAY,6BAA6B,EAAE,CAAC;YAC/C,OAAO;gBACL,GAAG,GAAG,CACJ,4BAA4B,EAC5B,CAAC,CAAC,OAAO,EACT,iGAAiG,CAClG;gBACD,QAAQ,EAAE,CAAC,CAAC,QAAQ;aACrB,CAAC;QACJ,CAAC;QACD,OAAO,GAAG,CAAC,uBAAuB,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add_comment.d.ts","sourceRoot":"","sources":["../../src/tools/add_comment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAgC,MAAM,uBAAuB,CAAC;AAGrF,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"add_comment.d.ts","sourceRoot":"","sources":["../../src/tools/add_comment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAgC,MAAM,uBAAuB,CAAC;AAGrF,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAmCxD,wBAAsB,UAAU,CAC9B,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE;IACN,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GACA,OAAO,CAAC,YAAY,CAAC,CAmIvB"}
|
|
@@ -8,6 +8,30 @@ const COMMENT_TOUCHED_CONTEXT = {
|
|
|
8
8
|
relationshipParts: ['word/_rels/document.xml.rels'],
|
|
9
9
|
sideParts: ['word/comments.xml', 'word/commentsExtended.xml', 'word/people.xml'],
|
|
10
10
|
};
|
|
11
|
+
// Non-revision parts a *root* comment can mutate without a tracked-change
|
|
12
|
+
// wrapper. Unlike the body-story w:commentReference run (which is wrapped in
|
|
13
|
+
// w:ins, Table A), the w:commentRangeStart/End milestones are written to
|
|
14
|
+
// word/document.xml as structural markers and are NOT revision-wrapped (Word's
|
|
15
|
+
// own behavior; see SUPPORT.md Table A note), so document.xml belongs here. The
|
|
16
|
+
// content-types and relationship parts are touched only when comment
|
|
17
|
+
// infrastructure is bootstrapped; they are declared conservatively so the
|
|
18
|
+
// manifest never under-reports a package mutation.
|
|
19
|
+
const ROOT_COMMENT_NON_REVISION_PARTS = [
|
|
20
|
+
'word/document.xml',
|
|
21
|
+
'word/comments.xml',
|
|
22
|
+
'word/commentsExtended.xml',
|
|
23
|
+
'word/people.xml',
|
|
24
|
+
'[Content_Types].xml',
|
|
25
|
+
'word/_rels/document.xml.rels',
|
|
26
|
+
];
|
|
27
|
+
// A threaded reply has no body anchor at all: the entire write is side-part
|
|
28
|
+
// metadata (comments.xml text + commentsExtended.xml graph + people.xml), so no
|
|
29
|
+
// tracked-change marker is emitted and document.xml is untouched.
|
|
30
|
+
const REPLY_COMMENT_NON_REVISION_PARTS = [
|
|
31
|
+
'word/comments.xml',
|
|
32
|
+
'word/commentsExtended.xml',
|
|
33
|
+
'word/people.xml',
|
|
34
|
+
];
|
|
11
35
|
export async function addComment(manager, params) {
|
|
12
36
|
const resolved = await resolveSessionForTool(manager, params, { toolName: 'add_comment' });
|
|
13
37
|
if (!resolved.ok)
|
|
@@ -29,6 +53,13 @@ export async function addComment(manager, params) {
|
|
|
29
53
|
return revisionPreflight;
|
|
30
54
|
const result = await mutate(session.doc, ctx);
|
|
31
55
|
manager.markEdited(session);
|
|
56
|
+
// Replies have no body anchor, so the whole write is package-mutation
|
|
57
|
+
// side-part metadata (#122): record it in the non-revision manifest.
|
|
58
|
+
manager.recordNonRevisionChange(session, {
|
|
59
|
+
tool: 'add_comment',
|
|
60
|
+
parts: REPLY_COMMENT_NON_REVISION_PARTS,
|
|
61
|
+
description: `Threaded reply to comment ${parentCommentId} written to comment side-story parts (comments.xml, commentsExtended.xml, people.xml). Reply mode is package-mutation only: it has no body anchor, so no tracked-change marker is emitted and word/document.xml is untouched.`,
|
|
62
|
+
});
|
|
32
63
|
return ok(mergeSessionResolutionMetadata({
|
|
33
64
|
comment_id: result.commentId,
|
|
34
65
|
parent_comment_id: result.parentCommentId,
|
|
@@ -78,6 +109,15 @@ export async function addComment(manager, params) {
|
|
|
78
109
|
return revisionPreflight;
|
|
79
110
|
const result = await mutate(session.doc, ctx);
|
|
80
111
|
manager.markEdited(session);
|
|
112
|
+
// The body-story w:commentReference run is wrapped in w:ins (Table A), but
|
|
113
|
+
// the comment body text, author metadata, and any comment-infrastructure
|
|
114
|
+
// bootstrap are package-mutation side-part writes with no revision wrapper
|
|
115
|
+
// (#122): record them in the non-revision manifest.
|
|
116
|
+
manager.recordNonRevisionChange(session, {
|
|
117
|
+
tool: 'add_comment',
|
|
118
|
+
parts: ROOT_COMMENT_NON_REVISION_PARTS,
|
|
119
|
+
description: `Comment ${result.commentId}: body text and author metadata written to comment side parts (comments.xml, people.xml), and w:commentRangeStart/End milestones written to word/document.xml as structural markers (not revision-wrapped). Comment infrastructure and its content-type/relationship registration are created when the package lacked them. The body-story w:commentReference run is tracked separately as a w:ins revision.`,
|
|
120
|
+
});
|
|
81
121
|
return ok(mergeSessionResolutionMetadata({
|
|
82
122
|
comment_id: result.commentId,
|
|
83
123
|
anchor_paragraph_id: pid,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add_comment.js","sourceRoot":"","sources":["../../src/tools/add_comment.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"add_comment.js","sourceRoot":"","sources":["../../src/tools/add_comment.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add_footnote.d.ts","sourceRoot":"","sources":["../../src/tools/add_footnote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAgC,MAAM,uBAAuB,CAAC;AAGrF,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"add_footnote.d.ts","sourceRoot":"","sources":["../../src/tools/add_footnote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAgC,MAAM,uBAAuB,CAAC;AAGrF,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAsBxD,wBAAsB,WAAW,CAC/B,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE;IACN,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GACA,OAAO,CAAC,YAAY,CAAC,CA+DvB"}
|
|
@@ -7,6 +7,18 @@ const FOOTNOTE_TOUCHED_CONTEXT = {
|
|
|
7
7
|
relationshipParts: ['word/_rels/document.xml.rels'],
|
|
8
8
|
sideParts: ['word/footnotes.xml'],
|
|
9
9
|
};
|
|
10
|
+
// Non-revision parts add_footnote can mutate without a tracked-change wrapper.
|
|
11
|
+
// The note text runs and the body-story w:footnoteReference are wrapped in w:ins
|
|
12
|
+
// (Table A), but the <w:footnote> container element appended to footnotes.xml is
|
|
13
|
+
// a structural addition with no revision wrapper, and the content-type /
|
|
14
|
+
// relationship registration is created when footnote infrastructure is
|
|
15
|
+
// bootstrapped. [Content_Types].xml is declared so bootstrap registration is
|
|
16
|
+
// never under-reported.
|
|
17
|
+
const FOOTNOTE_NON_REVISION_PARTS = [
|
|
18
|
+
'word/footnotes.xml',
|
|
19
|
+
'[Content_Types].xml',
|
|
20
|
+
'word/_rels/document.xml.rels',
|
|
21
|
+
];
|
|
10
22
|
export async function addFootnote(manager, params) {
|
|
11
23
|
const resolved = await resolveSessionForTool(manager, params, { toolName: 'add_footnote' });
|
|
12
24
|
if (!resolved.ok)
|
|
@@ -36,6 +48,15 @@ export async function addFootnote(manager, params) {
|
|
|
36
48
|
return revisionPreflight;
|
|
37
49
|
const result = await mutate(session.doc, ctx);
|
|
38
50
|
manager.markEdited(session);
|
|
51
|
+
// The body-story w:footnoteReference and note text are tracked as w:ins
|
|
52
|
+
// (Table A), but creating word/footnotes.xml and registering the part in
|
|
53
|
+
// relationships/content-types is a package mutation with no revision
|
|
54
|
+
// wrapper (#122): record it in the non-revision manifest.
|
|
55
|
+
manager.recordNonRevisionChange(session, {
|
|
56
|
+
tool: 'add_footnote',
|
|
57
|
+
parts: FOOTNOTE_NON_REVISION_PARTS,
|
|
58
|
+
description: `Footnote ${result.noteId}: the <w:footnote> container element is appended to word/footnotes.xml as a structural addition (the note text runs are tracked separately as w:ins). When the document lacked footnote infrastructure, the part and its content-type/relationship registration were bootstrapped. The body-story footnote reference is also tracked as a w:ins revision.`,
|
|
59
|
+
});
|
|
39
60
|
return ok(mergeSessionResolutionMetadata({
|
|
40
61
|
note_id: result.noteId,
|
|
41
62
|
target_paragraph_id: pid,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add_footnote.js","sourceRoot":"","sources":["../../src/tools/add_footnote.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"add_footnote.js","sourceRoot":"","sources":["../../src/tools/add_footnote.ts"],"names":[],"mappings":"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"}
|