@usejunior/docx-mcp 0.9.0 → 0.10.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 +46 -1
- package/dist/.tsbuildinfo +1 -1
- package/dist/cli/commands/edit.d.ts.map +1 -1
- package/dist/cli/commands/edit.js +2 -1
- package/dist/cli/commands/edit.js.map +1 -1
- package/dist/cli/commands/grep.d.ts.map +1 -1
- package/dist/cli/commands/grep.js +2 -1
- package/dist/cli/commands/grep.js.map +1 -1
- package/dist/cli/tool_runner.d.ts +6 -0
- package/dist/cli/tool_runner.d.ts.map +1 -1
- package/dist/cli/tool_runner.js +10 -1
- package/dist/cli/tool_runner.js.map +1 -1
- package/dist/odf_loader.d.ts +2 -0
- package/dist/odf_loader.d.ts.map +1 -0
- package/dist/odf_loader.js +19 -0
- package/dist/odf_loader.js.map +1 -0
- package/dist/server.d.ts +5 -2
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +110 -4
- package/dist/server.js.map +1 -1
- package/dist/session/manager.d.ts +44 -2
- package/dist/session/manager.d.ts.map +1 -1
- package/dist/session/manager.js +212 -2
- package/dist/session/manager.js.map +1 -1
- package/dist/tool_catalog.d.ts +40 -12
- package/dist/tool_catalog.d.ts.map +1 -1
- package/dist/tool_catalog.js +49 -17
- package/dist/tool_catalog.js.map +1 -1
- package/dist/tools/accept_changes.js +1 -1
- package/dist/tools/accept_changes.js.map +1 -1
- package/dist/tools/add_comment.d.ts.map +1 -1
- package/dist/tools/add_comment.js +4 -2
- 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 +3 -1
- package/dist/tools/add_footnote.js.map +1 -1
- package/dist/tools/apply_plan.d.ts.map +1 -1
- package/dist/tools/apply_plan.js +6 -4
- package/dist/tools/apply_plan.js.map +1 -1
- package/dist/tools/clear_formatting.d.ts +2 -1
- package/dist/tools/clear_formatting.d.ts.map +1 -1
- package/dist/tools/clear_formatting.js +62 -49
- package/dist/tools/clear_formatting.js.map +1 -1
- package/dist/tools/compare_documents.d.ts.map +1 -1
- package/dist/tools/compare_documents.js +11 -2
- package/dist/tools/compare_documents.js.map +1 -1
- package/dist/tools/delete_comment.d.ts.map +1 -1
- package/dist/tools/delete_comment.js +3 -1
- package/dist/tools/delete_comment.js.map +1 -1
- package/dist/tools/delete_footnote.d.ts.map +1 -1
- package/dist/tools/delete_footnote.js +3 -1
- package/dist/tools/delete_footnote.js.map +1 -1
- package/dist/tools/export.d.ts +20 -0
- package/dist/tools/export.d.ts.map +1 -0
- package/dist/tools/export.js +96 -0
- package/dist/tools/export.js.map +1 -0
- package/dist/tools/format_layout.d.ts.map +1 -1
- package/dist/tools/format_layout.js +5 -3
- package/dist/tools/format_layout.js.map +1 -1
- package/dist/tools/grep.d.ts.map +1 -1
- package/dist/tools/grep.js +4 -115
- package/dist/tools/grep.js.map +1 -1
- package/dist/tools/grep_core.d.ts +49 -0
- package/dist/tools/grep_core.d.ts.map +1 -0
- package/dist/tools/grep_core.js +126 -0
- package/dist/tools/grep_core.js.map +1 -0
- package/dist/tools/insert_paragraph.d.ts +2 -1
- package/dist/tools/insert_paragraph.d.ts.map +1 -1
- package/dist/tools/insert_paragraph.js +4 -2
- package/dist/tools/insert_paragraph.js.map +1 -1
- package/dist/tools/odf/add_comment.d.ts +21 -0
- package/dist/tools/odf/add_comment.d.ts.map +1 -0
- package/dist/tools/odf/add_comment.js +64 -0
- package/dist/tools/odf/add_comment.js.map +1 -0
- package/dist/tools/odf/close_file.d.ts +4 -0
- package/dist/tools/odf/close_file.d.ts.map +1 -0
- package/dist/tools/odf/close_file.js +16 -0
- package/dist/tools/odf/close_file.js.map +1 -0
- package/dist/tools/odf/compare_documents.d.ts +39 -0
- package/dist/tools/odf/compare_documents.d.ts.map +1 -0
- package/dist/tools/odf/compare_documents.js +156 -0
- package/dist/tools/odf/compare_documents.js.map +1 -0
- package/dist/tools/odf/get_comments.d.ts +11 -0
- package/dist/tools/odf/get_comments.d.ts.map +1 -0
- package/dist/tools/odf/get_comments.js +32 -0
- package/dist/tools/odf/get_comments.js.map +1 -0
- package/dist/tools/odf/get_file_status.d.ts +4 -0
- package/dist/tools/odf/get_file_status.d.ts.map +1 -0
- package/dist/tools/odf/get_file_status.js +28 -0
- package/dist/tools/odf/get_file_status.js.map +1 -0
- package/dist/tools/odf/grep.d.ts +19 -0
- package/dist/tools/odf/grep.d.ts.map +1 -0
- package/dist/tools/odf/grep.js +81 -0
- package/dist/tools/odf/grep.js.map +1 -0
- package/dist/tools/odf/insert_paragraph.d.ts +19 -0
- package/dist/tools/odf/insert_paragraph.d.ts.map +1 -0
- package/dist/tools/odf/insert_paragraph.js +50 -0
- package/dist/tools/odf/insert_paragraph.js.map +1 -0
- package/dist/tools/odf/read_file.d.ts +9 -0
- package/dist/tools/odf/read_file.d.ts.map +1 -0
- package/dist/tools/odf/read_file.js +124 -0
- package/dist/tools/odf/read_file.js.map +1 -0
- package/dist/tools/odf/replace_text.d.ts +9 -0
- package/dist/tools/odf/replace_text.d.ts.map +1 -0
- package/dist/tools/odf/replace_text.js +41 -0
- package/dist/tools/odf/replace_text.js.map +1 -0
- package/dist/tools/odf/save.d.ts +7 -0
- package/dist/tools/odf/save.d.ts.map +1 -0
- package/dist/tools/odf/save.js +48 -0
- package/dist/tools/odf/save.js.map +1 -0
- package/dist/tools/open_document.d.ts.map +1 -1
- package/dist/tools/open_document.js +39 -3
- package/dist/tools/open_document.js.map +1 -1
- package/dist/tools/path_policy.d.ts +9 -0
- package/dist/tools/path_policy.d.ts.map +1 -1
- package/dist/tools/path_policy.js +66 -5
- package/dist/tools/path_policy.js.map +1 -1
- package/dist/tools/provider_guard.d.ts +1 -0
- package/dist/tools/provider_guard.d.ts.map +1 -1
- package/dist/tools/provider_guard.js +10 -0
- package/dist/tools/provider_guard.js.map +1 -1
- package/dist/tools/read_file.d.ts +2 -0
- package/dist/tools/read_file.d.ts.map +1 -1
- package/dist/tools/read_file.js +370 -31
- package/dist/tools/read_file.js.map +1 -1
- package/dist/tools/replace_text.d.ts +2 -1
- package/dist/tools/replace_text.d.ts.map +1 -1
- package/dist/tools/replace_text.js +26 -5
- package/dist/tools/replace_text.js.map +1 -1
- package/dist/tools/save.d.ts.map +1 -1
- package/dist/tools/save.js +55 -8
- package/dist/tools/save.js.map +1 -1
- package/dist/tools/session_resolution.d.ts +25 -1
- package/dist/tools/session_resolution.d.ts.map +1 -1
- package/dist/tools/session_resolution.js +179 -2
- package/dist/tools/session_resolution.js.map +1 -1
- package/dist/tools/tag_parser.d.ts.map +1 -1
- package/dist/tools/tag_parser.js +69 -14
- package/dist/tools/tag_parser.js.map +1 -1
- package/dist/tools/update_footnote.d.ts.map +1 -1
- package/dist/tools/update_footnote.js +3 -1
- package/dist/tools/update_footnote.js.map +1 -1
- package/package.json +18 -13
package/dist/tools/read_file.js
CHANGED
|
@@ -1,28 +1,225 @@
|
|
|
1
1
|
import { errorMessage } from "../error_utils.js";
|
|
2
2
|
import { err, ok } from './types.js';
|
|
3
|
-
import { OOXML, W, renderToon, formatToonDataLine, collectTableMarkerInfo, formatTableMarker } from '@usejunior/docx-core';
|
|
3
|
+
import { OOXML, W, INLINE_COMMENT_MARKER_RUNTIME, renderToon, renderToonWithCommentEndnotes, formatToonDataLine, formatToonCommentLines, formatToonCommentsEndnotesBlock, collectInlineCommentMarkers, collectTableMarkerInfo, formatTableMarker, computeContentFingerprint, getParagraphBookmarkId, getParagraphText, } from '@usejunior/docx-core';
|
|
4
4
|
import { READ_SIMPLE_PREVIEW_CHARS, previewText } from './preview.js';
|
|
5
5
|
import { mergeSessionResolutionMetadata, resolveSessionForTool } from './session_resolution.js';
|
|
6
6
|
import { estimateTokens, DEFAULT_CONTENT_TOKEN_BUDGET, buildPaginationMeta } from './pagination.js';
|
|
7
7
|
function getWAttr(el, localName) {
|
|
8
8
|
return el.getAttributeNS(OOXML.W_NS, localName) ?? el.getAttribute(`w:${localName}`) ?? el.getAttribute(localName);
|
|
9
9
|
}
|
|
10
|
+
var FieldState;
|
|
11
|
+
(function (FieldState) {
|
|
12
|
+
FieldState[FieldState["OUTSIDE_FIELD"] = 0] = "OUTSIDE_FIELD";
|
|
13
|
+
FieldState[FieldState["IN_FIELD_CODE"] = 1] = "IN_FIELD_CODE";
|
|
14
|
+
FieldState[FieldState["IN_FIELD_RESULT"] = 2] = "IN_FIELD_RESULT";
|
|
15
|
+
})(FieldState || (FieldState = {}));
|
|
10
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
|
|
11
21
|
const markers = [];
|
|
12
|
-
|
|
13
|
-
for (
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
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
|
+
}
|
|
23
53
|
}
|
|
24
54
|
return markers.join('');
|
|
25
55
|
}
|
|
56
|
+
function escapeCommentSuffixText(text) {
|
|
57
|
+
return text
|
|
58
|
+
.replaceAll('\r\n', '\\n')
|
|
59
|
+
.replaceAll('\r', '\\r')
|
|
60
|
+
.replaceAll('\n', '\\n')
|
|
61
|
+
.replaceAll('|', '\\|');
|
|
62
|
+
}
|
|
63
|
+
function getCommentAnchorParagraphId(comment) {
|
|
64
|
+
return comment.anchoredParagraphId ?? comment.endParagraphId ?? null;
|
|
65
|
+
}
|
|
66
|
+
function getParagraphRunVisibleLengths(paragraphEl) {
|
|
67
|
+
const runLengths = [];
|
|
68
|
+
const runElements = Array.from(paragraphEl.getElementsByTagNameNS(OOXML.W_NS, W.r));
|
|
69
|
+
let fieldState = FieldState.OUTSIDE_FIELD;
|
|
70
|
+
for (const runEl of runElements) {
|
|
71
|
+
let visibleLength = 0;
|
|
72
|
+
for (const child of Array.from(runEl.childNodes)) {
|
|
73
|
+
if (child.nodeType !== 1)
|
|
74
|
+
continue;
|
|
75
|
+
const el = child;
|
|
76
|
+
if (el.namespaceURI !== OOXML.W_NS)
|
|
77
|
+
continue;
|
|
78
|
+
if (el.localName === W.fldChar) {
|
|
79
|
+
const type = getWAttr(el, 'fldCharType') ?? '';
|
|
80
|
+
if (type === 'begin')
|
|
81
|
+
fieldState = FieldState.IN_FIELD_CODE;
|
|
82
|
+
else if (type === 'separate')
|
|
83
|
+
fieldState = FieldState.IN_FIELD_RESULT;
|
|
84
|
+
else if (type === 'end')
|
|
85
|
+
fieldState = FieldState.OUTSIDE_FIELD;
|
|
86
|
+
continue;
|
|
87
|
+
}
|
|
88
|
+
if (fieldState === FieldState.IN_FIELD_CODE)
|
|
89
|
+
continue;
|
|
90
|
+
if (el.localName === W.t) {
|
|
91
|
+
visibleLength += (el.textContent ?? '').length;
|
|
92
|
+
}
|
|
93
|
+
else if (el.localName === W.tab || el.localName === W.br) {
|
|
94
|
+
visibleLength += 1;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
runLengths.push(visibleLength);
|
|
98
|
+
}
|
|
99
|
+
return runLengths;
|
|
100
|
+
}
|
|
101
|
+
function resolveCommentVisibleOffset(runVisibleLengths, runIndex, charOffset) {
|
|
102
|
+
if (runIndex == null || charOffset == null)
|
|
103
|
+
return undefined;
|
|
104
|
+
if (runIndex < 0 || runIndex >= runVisibleLengths.length)
|
|
105
|
+
return undefined;
|
|
106
|
+
const runVisibleLength = runVisibleLengths[runIndex];
|
|
107
|
+
if (runVisibleLength == null || charOffset < 0 || charOffset > runVisibleLength) {
|
|
108
|
+
return undefined;
|
|
109
|
+
}
|
|
110
|
+
let offset = charOffset;
|
|
111
|
+
for (let index = 0; index < runIndex; index++) {
|
|
112
|
+
offset += runVisibleLengths[index] ?? 0;
|
|
113
|
+
}
|
|
114
|
+
return offset;
|
|
115
|
+
}
|
|
116
|
+
function buildInlineCommentMarkerRuntime(comment, paragraphElementsById, paragraphRunLengthsById) {
|
|
117
|
+
if (!comment.anchoredParagraphId ||
|
|
118
|
+
!comment.endParagraphId ||
|
|
119
|
+
comment.startRunIndex == null ||
|
|
120
|
+
comment.startCharOffset == null ||
|
|
121
|
+
comment.endRunIndex == null ||
|
|
122
|
+
comment.endCharOffset == null) {
|
|
123
|
+
return undefined;
|
|
124
|
+
}
|
|
125
|
+
const getRunLengths = (paragraphId) => {
|
|
126
|
+
const cached = paragraphRunLengthsById.get(paragraphId);
|
|
127
|
+
if (cached)
|
|
128
|
+
return cached;
|
|
129
|
+
const paragraphEl = paragraphElementsById.get(paragraphId);
|
|
130
|
+
if (!paragraphEl)
|
|
131
|
+
return undefined;
|
|
132
|
+
const runLengths = getParagraphRunVisibleLengths(paragraphEl);
|
|
133
|
+
paragraphRunLengthsById.set(paragraphId, runLengths);
|
|
134
|
+
return runLengths;
|
|
135
|
+
};
|
|
136
|
+
const startRunLengths = getRunLengths(comment.anchoredParagraphId);
|
|
137
|
+
const endRunLengths = getRunLengths(comment.endParagraphId);
|
|
138
|
+
if (!startRunLengths || !endRunLengths)
|
|
139
|
+
return undefined;
|
|
140
|
+
const startVisibleOffset = resolveCommentVisibleOffset(startRunLengths, comment.startRunIndex, comment.startCharOffset);
|
|
141
|
+
const endVisibleOffset = resolveCommentVisibleOffset(endRunLengths, comment.endRunIndex, comment.endCharOffset);
|
|
142
|
+
if (startVisibleOffset == null || endVisibleOffset == null)
|
|
143
|
+
return undefined;
|
|
144
|
+
const endParagraphVisibleLength = endRunLengths.reduce((sum, length) => sum + length, 0);
|
|
145
|
+
return {
|
|
146
|
+
startVisibleOffset,
|
|
147
|
+
endVisibleOffset,
|
|
148
|
+
suppressInlineMarkers: comment.anchoredParagraphId === comment.endParagraphId &&
|
|
149
|
+
startVisibleOffset === 0 &&
|
|
150
|
+
endVisibleOffset === endParagraphVisibleLength,
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
function mapDocumentViewComment(comment, options) {
|
|
154
|
+
const mapped = {
|
|
155
|
+
id: comment.id,
|
|
156
|
+
author: comment.author,
|
|
157
|
+
date: comment.date || null,
|
|
158
|
+
initials: comment.initials,
|
|
159
|
+
text: comment.text,
|
|
160
|
+
replies: comment.replies.map((reply) => mapDocumentViewComment(reply, options)),
|
|
161
|
+
};
|
|
162
|
+
if (options?.includeRange && comment.anchoredParagraphId && comment.endParagraphId) {
|
|
163
|
+
mapped.range = {
|
|
164
|
+
startParagraphId: comment.anchoredParagraphId,
|
|
165
|
+
endParagraphId: comment.endParagraphId,
|
|
166
|
+
startRunIndex: comment.startRunIndex,
|
|
167
|
+
startCharOffset: comment.startCharOffset,
|
|
168
|
+
endRunIndex: comment.endRunIndex,
|
|
169
|
+
endCharOffset: comment.endCharOffset,
|
|
170
|
+
};
|
|
171
|
+
const runtime = options.paragraphElementsById && options.paragraphRunLengthsById
|
|
172
|
+
? buildInlineCommentMarkerRuntime(comment, options.paragraphElementsById, options.paragraphRunLengthsById)
|
|
173
|
+
: undefined;
|
|
174
|
+
if (runtime) {
|
|
175
|
+
Object.defineProperty(mapped, INLINE_COMMENT_MARKER_RUNTIME, {
|
|
176
|
+
value: runtime,
|
|
177
|
+
enumerable: false,
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
return mapped;
|
|
182
|
+
}
|
|
183
|
+
function attachParagraphComments(nodes, comments, options) {
|
|
184
|
+
const commentsByParagraph = new Map();
|
|
185
|
+
const paragraphRunLengthsById = new Map();
|
|
186
|
+
for (const comment of comments) {
|
|
187
|
+
const paragraphId = getCommentAnchorParagraphId(comment);
|
|
188
|
+
if (!paragraphId)
|
|
189
|
+
continue;
|
|
190
|
+
const rootComments = commentsByParagraph.get(paragraphId) ?? [];
|
|
191
|
+
rootComments.push(mapDocumentViewComment(comment, {
|
|
192
|
+
includeRange: options?.includeInlineMarkers,
|
|
193
|
+
paragraphElementsById: options?.paragraphElementsById,
|
|
194
|
+
paragraphRunLengthsById,
|
|
195
|
+
}));
|
|
196
|
+
commentsByParagraph.set(paragraphId, rootComments);
|
|
197
|
+
}
|
|
198
|
+
return nodes.map((node) => {
|
|
199
|
+
const nodeComments = commentsByParagraph.get(node.id);
|
|
200
|
+
return nodeComments && nodeComments.length > 0
|
|
201
|
+
? { ...node, comments: nodeComments }
|
|
202
|
+
: node;
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
function collectSimpleCommentSuffixes(comments, parentId) {
|
|
206
|
+
const suffixes = [];
|
|
207
|
+
for (const comment of comments) {
|
|
208
|
+
const text = escapeCommentSuffixText(comment.text);
|
|
209
|
+
suffixes.push(parentId == null
|
|
210
|
+
? `[c${comment.id}: ${text}]`
|
|
211
|
+
: `[c${comment.id}->c${parentId}: ${text}]`);
|
|
212
|
+
suffixes.push(...collectSimpleCommentSuffixes(comment.replies, comment.id));
|
|
213
|
+
}
|
|
214
|
+
return suffixes;
|
|
215
|
+
}
|
|
216
|
+
function formatSimpleTextLine(node) {
|
|
217
|
+
const preview = previewText(node.clean_text, READ_SIMPLE_PREVIEW_CHARS);
|
|
218
|
+
const commentSuffixes = node.comments ? collectSimpleCommentSuffixes(node.comments) : [];
|
|
219
|
+
return commentSuffixes.length > 0
|
|
220
|
+
? `${preview} ${commentSuffixes.join(' ')}`
|
|
221
|
+
: preview;
|
|
222
|
+
}
|
|
26
223
|
export async function readFile(manager, params) {
|
|
27
224
|
try {
|
|
28
225
|
const resolved = await resolveSessionForTool(manager, params, { toolName: 'read_file' });
|
|
@@ -33,6 +230,13 @@ export async function readFile(manager, params) {
|
|
|
33
230
|
if (format !== 'toon' && format !== 'json' && format !== 'simple') {
|
|
34
231
|
return err('INVALID_FORMAT', `Invalid format: ${params.format}`, "Use 'toon' (default), 'json', or 'simple'.");
|
|
35
232
|
}
|
|
233
|
+
const commentRendering = (params.comment_rendering ?? 'paragraph_notes').toLowerCase();
|
|
234
|
+
if (commentRendering !== 'none' &&
|
|
235
|
+
commentRendering !== 'paragraph_notes' &&
|
|
236
|
+
commentRendering !== 'endnotes' &&
|
|
237
|
+
commentRendering !== 'inline_markers') {
|
|
238
|
+
return err('INVALID_COMMENT_RENDERING', `Invalid comment_rendering: ${params.comment_rendering}`, "Use 'paragraph_notes' (default), 'inline_markers', 'endnotes', or 'none'.");
|
|
239
|
+
}
|
|
36
240
|
const showFormatting = params.show_formatting ?? true;
|
|
37
241
|
const { nodes } = session.doc.buildDocumentView({
|
|
38
242
|
includeSemanticTags: showFormatting,
|
|
@@ -60,6 +264,25 @@ export async function readFile(manager, params) {
|
|
|
60
264
|
const endIdx = hasExplicitLimit ? Math.min(totalParagraphs, startIdx + params.limit) : totalParagraphs;
|
|
61
265
|
filtered = nodes.slice(startIdx, endIdx);
|
|
62
266
|
}
|
|
267
|
+
// 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
|
|
270
|
+
// a linear scan and turn the read into O(N^2) on large documents.
|
|
271
|
+
const paragraphElementsById = (() => {
|
|
272
|
+
const map = new Map();
|
|
273
|
+
for (const p of session.doc.getParagraphs()) {
|
|
274
|
+
const id = getParagraphBookmarkId(p);
|
|
275
|
+
if (id)
|
|
276
|
+
map.set(id, p);
|
|
277
|
+
}
|
|
278
|
+
return map;
|
|
279
|
+
})();
|
|
280
|
+
// 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
|
|
63
286
|
let enriched = filtered;
|
|
64
287
|
try {
|
|
65
288
|
const footnotes = await session.doc.getFootnotes();
|
|
@@ -69,7 +292,7 @@ export async function readFile(manager, params) {
|
|
|
69
292
|
displayById.set(note.id, note.displayNumber > 0 ? note.displayNumber : note.id);
|
|
70
293
|
}
|
|
71
294
|
enriched = filtered.map((node) => {
|
|
72
|
-
const paragraphEl =
|
|
295
|
+
const paragraphEl = paragraphElementsById.get(node.id);
|
|
73
296
|
if (!paragraphEl)
|
|
74
297
|
return node;
|
|
75
298
|
const markerSuffix = collectFootnoteMarkerSuffix(paragraphEl, displayById);
|
|
@@ -78,8 +301,6 @@ export async function readFile(manager, params) {
|
|
|
78
301
|
return {
|
|
79
302
|
...node,
|
|
80
303
|
clean_text: `${node.clean_text}${markerSuffix}`,
|
|
81
|
-
tagged_text: `${node.tagged_text}${markerSuffix}`,
|
|
82
|
-
text: `${node.text}${markerSuffix}`,
|
|
83
304
|
};
|
|
84
305
|
});
|
|
85
306
|
}
|
|
@@ -87,27 +308,75 @@ export async function readFile(manager, params) {
|
|
|
87
308
|
catch {
|
|
88
309
|
enriched = filtered;
|
|
89
310
|
}
|
|
311
|
+
// When comment loading fails after add_comment ran (e.g., a third-party docx ships a
|
|
312
|
+
// comments.xml lacking xmlns:w14 and our writer wrote w14:paraId into it — see #154),
|
|
313
|
+
// surface the cause via metadata. We still don't fail the read so the body content
|
|
314
|
+
// remains consumable, but the caller (and our smoke tests) can detect the silent drop.
|
|
315
|
+
let commentLoadError = null;
|
|
316
|
+
if (commentRendering !== 'none') {
|
|
317
|
+
try {
|
|
318
|
+
const comments = await session.doc.getComments();
|
|
319
|
+
// Inline-marker rendering also needs paragraph elements for comment anchor
|
|
320
|
+
// paragraphs that may not appear in `enriched` (e.g., when a comment range
|
|
321
|
+
// spans into a paragraph outside the visible window). The shared index covers
|
|
322
|
+
// those because we built it from the full document above.
|
|
323
|
+
enriched = attachParagraphComments(enriched, comments, {
|
|
324
|
+
includeInlineMarkers: commentRendering === 'inline_markers',
|
|
325
|
+
paragraphElementsById: commentRendering === 'inline_markers' ? paragraphElementsById : undefined,
|
|
326
|
+
});
|
|
327
|
+
}
|
|
328
|
+
catch (e) {
|
|
329
|
+
commentLoadError = errorMessage(e);
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
// Optional content_fingerprint for JSON output. Computed from raw visible text
|
|
333
|
+
// (the same surface used by the _bk_* fallback seed), NOT from node.clean_text
|
|
334
|
+
// which has list labels stripped and footnote markers appended above.
|
|
335
|
+
let jsonNodes = enriched;
|
|
336
|
+
if (params.include_fingerprint && format === 'json') {
|
|
337
|
+
jsonNodes = enriched.map((node) => {
|
|
338
|
+
const paragraphEl = paragraphElementsById.get(node.id);
|
|
339
|
+
if (!paragraphEl)
|
|
340
|
+
return node;
|
|
341
|
+
const fingerprint = computeContentFingerprint(getParagraphText(paragraphEl));
|
|
342
|
+
return { ...node, content_fingerprint: fingerprint };
|
|
343
|
+
});
|
|
344
|
+
}
|
|
90
345
|
let content;
|
|
91
346
|
let paragraphsReturned;
|
|
92
347
|
if (!budgetActive) {
|
|
93
348
|
// Explicit limit/offset/node_ids — render everything, no budget
|
|
94
349
|
if (format === 'json') {
|
|
95
|
-
content = JSON.stringify(
|
|
350
|
+
content = JSON.stringify(jsonNodes, null, 2);
|
|
96
351
|
}
|
|
97
352
|
else if (format === 'simple') {
|
|
98
353
|
content = renderSimpleWithTableMarkers(enriched);
|
|
99
354
|
}
|
|
100
355
|
else {
|
|
101
|
-
content =
|
|
356
|
+
content = commentRendering === 'endnotes'
|
|
357
|
+
? renderToonWithCommentEndnotes(enriched)
|
|
358
|
+
: renderToon(enriched);
|
|
102
359
|
}
|
|
103
360
|
paragraphsReturned = enriched.length;
|
|
104
361
|
}
|
|
105
362
|
else {
|
|
106
363
|
// One-pass token-budget accumulation
|
|
107
364
|
const budget = DEFAULT_CONTENT_TOKEN_BUDGET;
|
|
108
|
-
const result =
|
|
365
|
+
const result = format === 'json'
|
|
366
|
+
? renderJsonWithBudget(jsonNodes, budget)
|
|
367
|
+
: renderWithBudget(enriched, format, budget, commentRendering);
|
|
109
368
|
content = result.content;
|
|
110
369
|
paragraphsReturned = result.count;
|
|
370
|
+
const paginationMeta = buildPaginationMeta(totalParagraphs, paragraphsReturned, startIdx);
|
|
371
|
+
return ok(mergeSessionResolutionMetadata({
|
|
372
|
+
file_path: manager.normalizePath(session.originalPath),
|
|
373
|
+
content,
|
|
374
|
+
total_paragraphs: totalParagraphs,
|
|
375
|
+
paragraphs_returned: paragraphsReturned,
|
|
376
|
+
...(result.warnings ? { warnings: result.warnings } : {}),
|
|
377
|
+
...paginationMeta,
|
|
378
|
+
...(commentLoadError != null ? { comment_load_error: commentLoadError } : {}),
|
|
379
|
+
}, metadata));
|
|
111
380
|
}
|
|
112
381
|
const paginationMeta = buildPaginationMeta(totalParagraphs, paragraphsReturned, startIdx);
|
|
113
382
|
return ok(mergeSessionResolutionMetadata({
|
|
@@ -116,6 +385,7 @@ export async function readFile(manager, params) {
|
|
|
116
385
|
total_paragraphs: totalParagraphs,
|
|
117
386
|
paragraphs_returned: paragraphsReturned,
|
|
118
387
|
...paginationMeta,
|
|
388
|
+
...(commentLoadError != null ? { comment_load_error: commentLoadError } : {}),
|
|
119
389
|
}, metadata));
|
|
120
390
|
}
|
|
121
391
|
catch (e) {
|
|
@@ -123,20 +393,33 @@ export async function readFile(manager, params) {
|
|
|
123
393
|
return err('READ_ERROR', msg, 'Check session status and try again.');
|
|
124
394
|
}
|
|
125
395
|
}
|
|
126
|
-
|
|
396
|
+
const BUDGET_EXCEEDED_BY_FIRST_NODE_WARNING = 'budget_exceeded_by_first_node';
|
|
397
|
+
function firstNodeOverflowWarnings(firstNodeOverflow) {
|
|
398
|
+
return firstNodeOverflow ? [BUDGET_EXCEEDED_BY_FIRST_NODE_WARNING] : undefined;
|
|
399
|
+
}
|
|
400
|
+
function renderWithBudget(enriched, format, budget, commentRendering) {
|
|
127
401
|
if (format === 'json') {
|
|
128
402
|
return renderJsonWithBudget(enriched, budget);
|
|
129
403
|
}
|
|
130
404
|
if (format === 'simple') {
|
|
131
405
|
return renderSimpleWithBudget(enriched, budget);
|
|
132
406
|
}
|
|
133
|
-
return renderToonWithBudget(enriched, budget);
|
|
407
|
+
return renderToonWithBudget(enriched, budget, commentRendering);
|
|
134
408
|
}
|
|
135
|
-
function renderToonWithBudget(enriched, budget) {
|
|
409
|
+
function renderToonWithBudget(enriched, budget, commentRendering) {
|
|
136
410
|
const headerLine = '#SCHEMA id | list_label | header | style | text';
|
|
137
411
|
let accumulated = headerLine;
|
|
138
412
|
let count = 0;
|
|
139
413
|
let currentTableIndex = null;
|
|
414
|
+
const includedNodes = [];
|
|
415
|
+
const useInlineMarkers = commentRendering === 'inline_markers';
|
|
416
|
+
const commentMarkers = useInlineMarkers ? collectInlineCommentMarkers(enriched) : undefined;
|
|
417
|
+
// Captured the moment node 0 is admitted, BEFORE post-loop closures
|
|
418
|
+
// (#END_TABLE, endnotes block) inflate `accumulated`. Computing this
|
|
419
|
+
// after the loop produces false positives when row 1 of a table fits but
|
|
420
|
+
// we break at row 2 — the closing #END_TABLE bumps the final size over
|
|
421
|
+
// budget, but node 1 itself was fine.
|
|
422
|
+
let firstNodeOverflow = false;
|
|
140
423
|
// Pre-scan: collect table marker info for #TABLE lines
|
|
141
424
|
const tableInfo = collectTableMarkerInfo(enriched);
|
|
142
425
|
for (const node of enriched) {
|
|
@@ -160,8 +443,24 @@ function renderToonWithBudget(enriched, budget) {
|
|
|
160
443
|
}
|
|
161
444
|
currentTableIndex = nodeTableIndex;
|
|
162
445
|
}
|
|
163
|
-
const dataLine =
|
|
164
|
-
|
|
446
|
+
const dataLine = useInlineMarkers
|
|
447
|
+
? formatToonDataLine(node, { commentMarkers })
|
|
448
|
+
: formatToonDataLine(node);
|
|
449
|
+
const commentLines = commentRendering === 'paragraph_notes' || useInlineMarkers
|
|
450
|
+
? formatToonCommentLines(node)
|
|
451
|
+
: [];
|
|
452
|
+
const nodeLines = [dataLine, ...commentLines].join('\n');
|
|
453
|
+
const candidateBase = accumulated + '\n' + nodeLines;
|
|
454
|
+
let candidate = candidateBase;
|
|
455
|
+
if (commentRendering === 'endnotes') {
|
|
456
|
+
if (nodeTableIndex !== null) {
|
|
457
|
+
candidate += '\n#END_TABLE';
|
|
458
|
+
}
|
|
459
|
+
const endnotesBlock = formatToonCommentsEndnotesBlock([...includedNodes, node]);
|
|
460
|
+
if (endnotesBlock.length > 0) {
|
|
461
|
+
candidate += '\n' + endnotesBlock.join('\n');
|
|
462
|
+
}
|
|
463
|
+
}
|
|
165
464
|
if (count > 0 && estimateTokens(candidate) > budget) {
|
|
166
465
|
// Close table before breaking
|
|
167
466
|
if (currentTableIndex !== null) {
|
|
@@ -169,14 +468,32 @@ function renderToonWithBudget(enriched, budget) {
|
|
|
169
468
|
}
|
|
170
469
|
break;
|
|
171
470
|
}
|
|
172
|
-
accumulated =
|
|
471
|
+
accumulated = candidateBase;
|
|
472
|
+
if (count === 0 && estimateTokens(candidate) > budget) {
|
|
473
|
+
// Use `candidate` (not `accumulated`) so endnotes-mode counts the
|
|
474
|
+
// endnotes block that's already part of node 1's first-page payload.
|
|
475
|
+
// This is substantive content, unlike the post-loop `#END_TABLE`
|
|
476
|
+
// structural closure that we deliberately exclude.
|
|
477
|
+
firstNodeOverflow = true;
|
|
478
|
+
}
|
|
479
|
+
includedNodes.push(node);
|
|
173
480
|
count++;
|
|
174
481
|
}
|
|
175
482
|
// Close any open table at end of loop
|
|
176
483
|
if (currentTableIndex !== null) {
|
|
177
484
|
accumulated += '\n#END_TABLE';
|
|
178
485
|
}
|
|
179
|
-
|
|
486
|
+
if (commentRendering === 'endnotes') {
|
|
487
|
+
const endnotesBlock = formatToonCommentsEndnotesBlock(includedNodes);
|
|
488
|
+
if (endnotesBlock.length > 0) {
|
|
489
|
+
accumulated += '\n' + endnotesBlock.join('\n');
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
return {
|
|
493
|
+
content: accumulated,
|
|
494
|
+
count,
|
|
495
|
+
warnings: firstNodeOverflowWarnings(firstNodeOverflow),
|
|
496
|
+
};
|
|
180
497
|
}
|
|
181
498
|
function renderSimpleWithTableMarkers(enriched) {
|
|
182
499
|
const lines = ['#TOON id | text'];
|
|
@@ -195,8 +512,7 @@ function renderSimpleWithTableMarkers(enriched) {
|
|
|
195
512
|
lines.push(formatTableMarker(info));
|
|
196
513
|
currentTableIndex = nodeTableIndex;
|
|
197
514
|
}
|
|
198
|
-
|
|
199
|
-
lines.push(`${n.id} | ${text}`);
|
|
515
|
+
lines.push(`${n.id} | ${formatSimpleTextLine(n)}`);
|
|
200
516
|
}
|
|
201
517
|
if (currentTableIndex !== null) {
|
|
202
518
|
lines.push('#END_TABLE');
|
|
@@ -208,6 +524,8 @@ function renderSimpleWithBudget(enriched, budget) {
|
|
|
208
524
|
let accumulated = headerLine;
|
|
209
525
|
let count = 0;
|
|
210
526
|
let currentTableIndex = null;
|
|
527
|
+
// Captured at admission of node 0; see comment in renderToonWithBudget.
|
|
528
|
+
let firstNodeOverflow = false;
|
|
211
529
|
const tableInfo = collectTableMarkerInfo(enriched);
|
|
212
530
|
for (const n of enriched) {
|
|
213
531
|
const tc = n.table_context;
|
|
@@ -227,8 +545,7 @@ function renderSimpleWithBudget(enriched, budget) {
|
|
|
227
545
|
}
|
|
228
546
|
currentTableIndex = nodeTableIndex;
|
|
229
547
|
}
|
|
230
|
-
const
|
|
231
|
-
const dataLine = `${n.id} | ${text}`;
|
|
548
|
+
const dataLine = `${n.id} | ${formatSimpleTextLine(n)}`;
|
|
232
549
|
const candidate = accumulated + '\n' + dataLine;
|
|
233
550
|
if (count > 0 && estimateTokens(candidate) > budget) {
|
|
234
551
|
if (currentTableIndex !== null) {
|
|
@@ -237,17 +554,26 @@ function renderSimpleWithBudget(enriched, budget) {
|
|
|
237
554
|
break;
|
|
238
555
|
}
|
|
239
556
|
accumulated = candidate;
|
|
557
|
+
if (count === 0 && estimateTokens(accumulated) > budget) {
|
|
558
|
+
firstNodeOverflow = true;
|
|
559
|
+
}
|
|
240
560
|
count++;
|
|
241
561
|
}
|
|
242
562
|
if (currentTableIndex !== null) {
|
|
243
563
|
accumulated += '\n#END_TABLE';
|
|
244
564
|
}
|
|
245
|
-
return {
|
|
565
|
+
return {
|
|
566
|
+
content: accumulated,
|
|
567
|
+
count,
|
|
568
|
+
warnings: firstNodeOverflowWarnings(firstNodeOverflow),
|
|
569
|
+
};
|
|
246
570
|
}
|
|
247
571
|
function renderJsonWithBudget(enriched, budget) {
|
|
248
572
|
const items = [];
|
|
249
573
|
let totalChars = 2; // for "[\n" and "]"
|
|
250
574
|
let count = 0;
|
|
575
|
+
// Captured at admission of node 0; see comment in renderToonWithBudget.
|
|
576
|
+
let firstNodeOverflow = false;
|
|
251
577
|
for (const node of enriched) {
|
|
252
578
|
const serialized = JSON.stringify(node, null, 2);
|
|
253
579
|
const overhead = items.length > 0 ? 2 : 0; // ",\n" between items
|
|
@@ -256,9 +582,22 @@ function renderJsonWithBudget(enriched, budget) {
|
|
|
256
582
|
break;
|
|
257
583
|
items.push(serialized);
|
|
258
584
|
totalChars = candidateChars;
|
|
585
|
+
if (count === 0) {
|
|
586
|
+
// Final render is `[\n${items.join(',\n')}\n]` — 4 chars of framing,
|
|
587
|
+
// not 2. The pagination break check uses the same approximation as
|
|
588
|
+
// the loop, but the warning needs to reflect the true final length.
|
|
589
|
+
const finalChars = candidateChars + 2; // closing `\n]`
|
|
590
|
+
if (Math.ceil(finalChars / 4) > budget) {
|
|
591
|
+
firstNodeOverflow = true;
|
|
592
|
+
}
|
|
593
|
+
}
|
|
259
594
|
count++;
|
|
260
595
|
}
|
|
261
596
|
const content = '[\n' + items.join(',\n') + '\n]';
|
|
262
|
-
return {
|
|
597
|
+
return {
|
|
598
|
+
content,
|
|
599
|
+
count,
|
|
600
|
+
warnings: firstNodeOverflowWarnings(firstNodeOverflow),
|
|
601
|
+
};
|
|
263
602
|
}
|
|
264
603
|
//# sourceMappingURL=read_file.js.map
|
|
@@ -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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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { SessionManager } from '../session/manager.js';
|
|
2
2
|
import { type ToolResponse } from './types.js';
|
|
3
|
+
import { type RevisionContext } from '@usejunior/docx-core';
|
|
3
4
|
export declare function stripSearchTags(text: string): string;
|
|
4
5
|
/**
|
|
5
6
|
* Count shared leading characters between two strings.
|
|
@@ -26,5 +27,5 @@ export declare function replaceText(manager: SessionManager, params: {
|
|
|
26
27
|
font_size?: number;
|
|
27
28
|
font_name?: string;
|
|
28
29
|
color?: string;
|
|
29
|
-
}): Promise<ToolResponse>;
|
|
30
|
+
}, ctx?: RevisionContext): Promise<ToolResponse>;
|
|
30
31
|
//# 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,
|
|
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"}
|