@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.
Files changed (143) hide show
  1. package/README.md +46 -1
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/cli/commands/edit.d.ts.map +1 -1
  4. package/dist/cli/commands/edit.js +2 -1
  5. package/dist/cli/commands/edit.js.map +1 -1
  6. package/dist/cli/commands/grep.d.ts.map +1 -1
  7. package/dist/cli/commands/grep.js +2 -1
  8. package/dist/cli/commands/grep.js.map +1 -1
  9. package/dist/cli/tool_runner.d.ts +6 -0
  10. package/dist/cli/tool_runner.d.ts.map +1 -1
  11. package/dist/cli/tool_runner.js +10 -1
  12. package/dist/cli/tool_runner.js.map +1 -1
  13. package/dist/odf_loader.d.ts +2 -0
  14. package/dist/odf_loader.d.ts.map +1 -0
  15. package/dist/odf_loader.js +19 -0
  16. package/dist/odf_loader.js.map +1 -0
  17. package/dist/server.d.ts +5 -2
  18. package/dist/server.d.ts.map +1 -1
  19. package/dist/server.js +110 -4
  20. package/dist/server.js.map +1 -1
  21. package/dist/session/manager.d.ts +44 -2
  22. package/dist/session/manager.d.ts.map +1 -1
  23. package/dist/session/manager.js +212 -2
  24. package/dist/session/manager.js.map +1 -1
  25. package/dist/tool_catalog.d.ts +40 -12
  26. package/dist/tool_catalog.d.ts.map +1 -1
  27. package/dist/tool_catalog.js +49 -17
  28. package/dist/tool_catalog.js.map +1 -1
  29. package/dist/tools/accept_changes.js +1 -1
  30. package/dist/tools/accept_changes.js.map +1 -1
  31. package/dist/tools/add_comment.d.ts.map +1 -1
  32. package/dist/tools/add_comment.js +4 -2
  33. package/dist/tools/add_comment.js.map +1 -1
  34. package/dist/tools/add_footnote.d.ts.map +1 -1
  35. package/dist/tools/add_footnote.js +3 -1
  36. package/dist/tools/add_footnote.js.map +1 -1
  37. package/dist/tools/apply_plan.d.ts.map +1 -1
  38. package/dist/tools/apply_plan.js +6 -4
  39. package/dist/tools/apply_plan.js.map +1 -1
  40. package/dist/tools/clear_formatting.d.ts +2 -1
  41. package/dist/tools/clear_formatting.d.ts.map +1 -1
  42. package/dist/tools/clear_formatting.js +62 -49
  43. package/dist/tools/clear_formatting.js.map +1 -1
  44. package/dist/tools/compare_documents.d.ts.map +1 -1
  45. package/dist/tools/compare_documents.js +11 -2
  46. package/dist/tools/compare_documents.js.map +1 -1
  47. package/dist/tools/delete_comment.d.ts.map +1 -1
  48. package/dist/tools/delete_comment.js +3 -1
  49. package/dist/tools/delete_comment.js.map +1 -1
  50. package/dist/tools/delete_footnote.d.ts.map +1 -1
  51. package/dist/tools/delete_footnote.js +3 -1
  52. package/dist/tools/delete_footnote.js.map +1 -1
  53. package/dist/tools/export.d.ts +20 -0
  54. package/dist/tools/export.d.ts.map +1 -0
  55. package/dist/tools/export.js +96 -0
  56. package/dist/tools/export.js.map +1 -0
  57. package/dist/tools/format_layout.d.ts.map +1 -1
  58. package/dist/tools/format_layout.js +5 -3
  59. package/dist/tools/format_layout.js.map +1 -1
  60. package/dist/tools/grep.d.ts.map +1 -1
  61. package/dist/tools/grep.js +4 -115
  62. package/dist/tools/grep.js.map +1 -1
  63. package/dist/tools/grep_core.d.ts +49 -0
  64. package/dist/tools/grep_core.d.ts.map +1 -0
  65. package/dist/tools/grep_core.js +126 -0
  66. package/dist/tools/grep_core.js.map +1 -0
  67. package/dist/tools/insert_paragraph.d.ts +2 -1
  68. package/dist/tools/insert_paragraph.d.ts.map +1 -1
  69. package/dist/tools/insert_paragraph.js +4 -2
  70. package/dist/tools/insert_paragraph.js.map +1 -1
  71. package/dist/tools/odf/add_comment.d.ts +21 -0
  72. package/dist/tools/odf/add_comment.d.ts.map +1 -0
  73. package/dist/tools/odf/add_comment.js +64 -0
  74. package/dist/tools/odf/add_comment.js.map +1 -0
  75. package/dist/tools/odf/close_file.d.ts +4 -0
  76. package/dist/tools/odf/close_file.d.ts.map +1 -0
  77. package/dist/tools/odf/close_file.js +16 -0
  78. package/dist/tools/odf/close_file.js.map +1 -0
  79. package/dist/tools/odf/compare_documents.d.ts +39 -0
  80. package/dist/tools/odf/compare_documents.d.ts.map +1 -0
  81. package/dist/tools/odf/compare_documents.js +156 -0
  82. package/dist/tools/odf/compare_documents.js.map +1 -0
  83. package/dist/tools/odf/get_comments.d.ts +11 -0
  84. package/dist/tools/odf/get_comments.d.ts.map +1 -0
  85. package/dist/tools/odf/get_comments.js +32 -0
  86. package/dist/tools/odf/get_comments.js.map +1 -0
  87. package/dist/tools/odf/get_file_status.d.ts +4 -0
  88. package/dist/tools/odf/get_file_status.d.ts.map +1 -0
  89. package/dist/tools/odf/get_file_status.js +28 -0
  90. package/dist/tools/odf/get_file_status.js.map +1 -0
  91. package/dist/tools/odf/grep.d.ts +19 -0
  92. package/dist/tools/odf/grep.d.ts.map +1 -0
  93. package/dist/tools/odf/grep.js +81 -0
  94. package/dist/tools/odf/grep.js.map +1 -0
  95. package/dist/tools/odf/insert_paragraph.d.ts +19 -0
  96. package/dist/tools/odf/insert_paragraph.d.ts.map +1 -0
  97. package/dist/tools/odf/insert_paragraph.js +50 -0
  98. package/dist/tools/odf/insert_paragraph.js.map +1 -0
  99. package/dist/tools/odf/read_file.d.ts +9 -0
  100. package/dist/tools/odf/read_file.d.ts.map +1 -0
  101. package/dist/tools/odf/read_file.js +124 -0
  102. package/dist/tools/odf/read_file.js.map +1 -0
  103. package/dist/tools/odf/replace_text.d.ts +9 -0
  104. package/dist/tools/odf/replace_text.d.ts.map +1 -0
  105. package/dist/tools/odf/replace_text.js +41 -0
  106. package/dist/tools/odf/replace_text.js.map +1 -0
  107. package/dist/tools/odf/save.d.ts +7 -0
  108. package/dist/tools/odf/save.d.ts.map +1 -0
  109. package/dist/tools/odf/save.js +48 -0
  110. package/dist/tools/odf/save.js.map +1 -0
  111. package/dist/tools/open_document.d.ts.map +1 -1
  112. package/dist/tools/open_document.js +39 -3
  113. package/dist/tools/open_document.js.map +1 -1
  114. package/dist/tools/path_policy.d.ts +9 -0
  115. package/dist/tools/path_policy.d.ts.map +1 -1
  116. package/dist/tools/path_policy.js +66 -5
  117. package/dist/tools/path_policy.js.map +1 -1
  118. package/dist/tools/provider_guard.d.ts +1 -0
  119. package/dist/tools/provider_guard.d.ts.map +1 -1
  120. package/dist/tools/provider_guard.js +10 -0
  121. package/dist/tools/provider_guard.js.map +1 -1
  122. package/dist/tools/read_file.d.ts +2 -0
  123. package/dist/tools/read_file.d.ts.map +1 -1
  124. package/dist/tools/read_file.js +370 -31
  125. package/dist/tools/read_file.js.map +1 -1
  126. package/dist/tools/replace_text.d.ts +2 -1
  127. package/dist/tools/replace_text.d.ts.map +1 -1
  128. package/dist/tools/replace_text.js +26 -5
  129. package/dist/tools/replace_text.js.map +1 -1
  130. package/dist/tools/save.d.ts.map +1 -1
  131. package/dist/tools/save.js +55 -8
  132. package/dist/tools/save.js.map +1 -1
  133. package/dist/tools/session_resolution.d.ts +25 -1
  134. package/dist/tools/session_resolution.d.ts.map +1 -1
  135. package/dist/tools/session_resolution.js +179 -2
  136. package/dist/tools/session_resolution.js.map +1 -1
  137. package/dist/tools/tag_parser.d.ts.map +1 -1
  138. package/dist/tools/tag_parser.js +69 -14
  139. package/dist/tools/tag_parser.js.map +1 -1
  140. package/dist/tools/update_footnote.d.ts.map +1 -1
  141. package/dist/tools/update_footnote.js +3 -1
  142. package/dist/tools/update_footnote.js.map +1 -1
  143. package/package.json +18 -13
@@ -1,8 +1,9 @@
1
+ import { getRevisionContextForSession } from '../session/manager.js';
1
2
  import { errorMessage } from "../error_utils.js";
2
3
  import { err, ok } from './types.js';
3
4
  import { ERROR_PREVIEW_CHARS, RESULT_PREVIEW_CHARS, previewText } from './preview.js';
4
5
  import { mergeSessionResolutionMetadata, resolveSessionForTool } from './session_resolution.js';
5
- import { OOXML, W, findUniqueSubstringMatch, applyDocumentQuoteStyle, getParagraphRuns, hasHighlightTags, hasHyperlinkTags, stripHyperlinkTags, stripAllInlineTags, } from '@usejunior/docx-core';
6
+ import { OOXML, W, findUniqueSubstringMatch, applyDocumentQuoteStyle, getParagraphRuns, hasHighlightTags, hasHyperlinkTags, replaceParagraphTextRange, stripHyperlinkTags, stripAllInlineTags, } from '@usejunior/docx-core';
6
7
  import { splitTaggedText, segmentAddRunProps, hasAnyMarkupTags, } from './tag_parser.js';
7
8
  function mergeAddRunProps(a, b) {
8
9
  const out = { ...a };
@@ -116,12 +117,18 @@ function isLikelyFieldPlaceholder(text) {
116
117
  const t = text.trim();
117
118
  return (t.startsWith('[') && t.endsWith(']')) || (t.startsWith('«') && t.endsWith('»'));
118
119
  }
119
- export async function replaceText(manager, params) {
120
+ function invalidateDocumentCaches(doc) {
121
+ const mutableDoc = doc;
122
+ mutableDoc.dirty = true;
123
+ mutableDoc.documentViewCache = null;
124
+ }
125
+ export async function replaceText(manager, params, ctx) {
120
126
  try {
121
127
  const resolved = await resolveSessionForTool(manager, params, { toolName: 'replace_text' });
122
128
  if (!resolved.ok)
123
129
  return resolved.response;
124
130
  const { session, metadata } = resolved;
131
+ const revisionCtx = ctx ?? await getRevisionContextForSession(session);
125
132
  if (params.normalize_first) {
126
133
  session.doc.mergeRunsOnly();
127
134
  }
@@ -188,7 +195,13 @@ export async function replaceText(manager, params) {
188
195
  parts.push({ text: s.text, templateRun: contextTemplateRun ?? undefined, addRunProps: segAddProps, clearHighlight });
189
196
  }
190
197
  replaceText = parts;
191
- session.doc.replaceText({ targetParagraphId: pid, findText: matchedOldStr, replaceText });
198
+ if (revisionCtx) {
199
+ replaceParagraphTextRange(pEl, matchStart, matchEnd, replaceText, revisionCtx);
200
+ invalidateDocumentCaches(session.doc);
201
+ }
202
+ else {
203
+ session.doc.replaceText({ targetParagraphId: pid, findText: matchedOldStr, replaceText });
204
+ }
192
205
  }
193
206
  else {
194
207
  // Fix 2: Transfer document quote style to new_string for non-exact matches.
@@ -214,10 +227,18 @@ export async function replaceText(manager, params) {
214
227
  else {
215
228
  trimmedReplace = trimmedNewStr;
216
229
  }
217
- session.doc.replaceTextAtRange({ targetParagraphId: pid, start: trimmedStart, end: trimmedEnd, replaceText: trimmedReplace });
230
+ if (revisionCtx) {
231
+ replaceParagraphTextRange(pEl, trimmedStart, trimmedEnd, trimmedReplace, revisionCtx);
232
+ invalidateDocumentCaches(session.doc);
233
+ }
234
+ else {
235
+ session.doc.replaceTextAtRange({ targetParagraphId: pid, start: trimmedStart, end: trimmedEnd, replaceText: trimmedReplace });
236
+ }
218
237
  // Range trimming splits the original run at prefix/suffix boundaries, producing
219
238
  // adjacent runs with identical formatting. Merge them back to keep output clean.
220
- session.doc.mergeRunsOnly();
239
+ // preserveRsidIdentity keeps the merge from rewriting rsids on runs the caller
240
+ // never touched — see #286.
241
+ session.doc.mergeRunsOnly({ preserveRsidIdentity: true });
221
242
  }
222
243
  // else: text is identical after normalization — no-op
223
244
  }
@@ -1 +1 @@
1
- {"version":3,"file":"replace_text.js","sourceRoot":"","sources":["../../src/tools/replace_text.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"replace_text.js","sourceRoot":"","sources":["../../src/tools/replace_text.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"save.d.ts","sourceRoot":"","sources":["../../src/tools/save.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAoB,KAAK,cAAc,EAAsB,MAAM,sBAAsB,CAAC;AAKjG,KAAK,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAsC/C,wBAAsB,IAAI,CACxB,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE;IACN,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,UAAU,CAAC;IAEzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,sBAAsB,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IAClD,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC,GACA,OAAO,CAAC,YAAY,CAAC,CAyOvB"}
1
+ {"version":3,"file":"save.d.ts","sourceRoot":"","sources":["../../src/tools/save.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAuC,KAAK,cAAc,EAAsB,MAAM,sBAAsB,CAAC;AAKpH,KAAK,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AA4F/C,wBAAsB,IAAI,CACxB,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE;IACN,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,UAAU,CAAC;IAEzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,sBAAsB,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IAClD,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC,GACA,OAAO,CAAC,YAAY,CAAC,CA6OvB"}
@@ -2,10 +2,12 @@ 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-core';
5
+ import { DocxZip, compareDocuments, parseXml } from '@usejunior/docx-core';
6
6
  import { mergeSessionResolutionMetadata, resolveSessionForTool } from './session_resolution.js';
7
- import { enforceWritePathPolicy } from './path_policy.js';
7
+ import { enforceWritePathPolicy, resolvesToSamePath } from './path_policy.js';
8
8
  import { DEFAULT_RECONSTRUCTION_MODE } from './comparison_defaults.js';
9
+ const WORDPROCESSING_ML_NS = 'http://schemas.openxmlformats.org/wordprocessingml/2006/main';
10
+ const REVISION_ELEMENT_NAMES = new Set(['ins', 'del', 'pPrChange', 'rPrChange', 'trPrChange', 'tcPrChange']);
9
11
  function expandPath(inputPath) {
10
12
  return inputPath.startsWith('~') ? path.join(process.env.HOME || '', inputPath.slice(1)) : inputPath;
11
13
  }
@@ -39,6 +41,48 @@ async function runWithoutConsoleLog(fn) {
39
41
  console.log = originalLog;
40
42
  }
41
43
  }
44
+ function getWordAttr(element, localName) {
45
+ return (element.getAttributeNS(WORDPROCESSING_ML_NS, localName)
46
+ ?? element.getAttribute(`w:${localName}`)
47
+ ?? element.getAttribute(localName));
48
+ }
49
+ async function collectAiRevisionSummary(buffer, author) {
50
+ if (!author)
51
+ return undefined;
52
+ const zip = await DocxZip.load(buffer);
53
+ const revisionIds = new Set();
54
+ let count = 0;
55
+ for (const fileName of zip.listFiles()) {
56
+ if (!fileName.startsWith('word/') || !fileName.endsWith('.xml'))
57
+ continue;
58
+ const xml = await zip.readTextOrNull(fileName);
59
+ if (!xml)
60
+ continue;
61
+ const doc = parseXml(xml);
62
+ for (const node of Array.from(doc.getElementsByTagName('*'))) {
63
+ if (node.namespaceURI !== WORDPROCESSING_ML_NS || !REVISION_ELEMENT_NAMES.has(node.localName)) {
64
+ continue;
65
+ }
66
+ if (getWordAttr(node, 'author') !== author)
67
+ continue;
68
+ count += 1;
69
+ const id = getWordAttr(node, 'id');
70
+ if (!id)
71
+ continue;
72
+ const parsed = Number.parseInt(id, 10);
73
+ if (Number.isFinite(parsed)) {
74
+ revisionIds.add(parsed);
75
+ }
76
+ }
77
+ }
78
+ if (count === 0)
79
+ return undefined;
80
+ return {
81
+ count,
82
+ author,
83
+ ...(revisionIds.size > 0 ? { ids: [...revisionIds].sort((a, b) => a - b) } : {}),
84
+ };
85
+ }
42
86
  export async function save(manager, params) {
43
87
  try {
44
88
  const resolved = await resolveSessionForTool(manager, params, { toolName: 'save' });
@@ -87,7 +131,7 @@ export async function save(manager, params) {
87
131
  }
88
132
  const trackedEngine = engine;
89
133
  const clean = params.clean_bookmarks ?? true;
90
- const author = params.tracked_changes_author ?? params.author ?? 'Safe-Docx';
134
+ const author = params.tracked_changes_author ?? params.author ?? 'SafeDocX';
91
135
  const allowOverwrite = params.allow_overwrite ?? false;
92
136
  const cacheKey = JSON.stringify({
93
137
  revision: session.editRevision,
@@ -173,14 +217,13 @@ export async function save(manager, params) {
173
217
  ? expandPath(params.tracked_save_to_local_path)
174
218
  : defaultTrackedPath(savePath, exportTimestamp);
175
219
  }
176
- const originalPathResolved = path.resolve(session.originalPath);
177
- const cleanPathResolved = path.resolve(savePath);
178
- const trackedPathResolved = trackedPath ? path.resolve(trackedPath) : null;
220
+ // Compare against the original via realpath (issue #313) so a symlinked save_to_local_path pointing
221
+ // back at the source can't slip past a purely lexical check and overwrite the original through the link.
179
222
  if (!allowOverwrite) {
180
- if ((format === 'clean' || format === 'both') && cleanPathResolved === originalPathResolved) {
223
+ if ((format === 'clean' || format === 'both') && await resolvesToSamePath(savePath, session.originalPath)) {
181
224
  return err('OVERWRITE_BLOCKED', `Refusing to overwrite original file: ${savePath}`, "Save to a different path, or set allow_overwrite=true if you explicitly want in-place overwrite.");
182
225
  }
183
- if ((format === 'tracked' || format === 'both') && trackedPathResolved === originalPathResolved) {
226
+ if ((format === 'tracked' || format === 'both') && trackedPath && await resolvesToSamePath(trackedPath, session.originalPath)) {
184
227
  return err('OVERWRITE_BLOCKED', `Refusing to overwrite original file with tracked output: ${trackedPath}`, "Use tracked_save_to_local_path to write redline elsewhere, or set allow_overwrite=true to force overwrite.");
185
228
  }
186
229
  }
@@ -198,6 +241,9 @@ export async function save(manager, params) {
198
241
  await fs.mkdir(path.dirname(trackedPath), { recursive: true });
199
242
  await fs.writeFile(trackedPath, new Uint8Array(trackedBuffer));
200
243
  }
244
+ const revisions = format === 'tracked'
245
+ ? undefined
246
+ : await collectAiRevisionSummary(revisedBuffer, session.aiAuthor);
201
247
  const returnedVariants = format === 'clean'
202
248
  ? ['clean']
203
249
  : format === 'tracked'
@@ -223,6 +269,7 @@ export async function save(manager, params) {
223
269
  tracked_rebuild_warning: trackedReconstructionMode === 'rebuild'
224
270
  ? 'Rebuild mode was used which may alter document structure (tables, fonts, etc.)'
225
271
  : undefined,
272
+ revisions,
226
273
  exported_at_utc: exportTimestamp,
227
274
  bookmarks_removed: clean ? bookmarksRemoved : 0,
228
275
  returned_variants: returnedVariants,
@@ -1 +1 @@
1
- {"version":3,"file":"save.js","sourceRoot":"","sources":["../../src/tools/save.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"save.js","sourceRoot":"","sources":["../../src/tools/save.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type DocxSession, type GDocsSession, SessionManager } from '../session/manager.js';
1
+ import { type DocxSession, type GDocsSession, type OdfSession, SessionManager } from '../session/manager.js';
2
2
  import { type ToolResponse } from './types.js';
3
3
  export type SessionResolutionMode = 'opened' | 'reused';
4
4
  export type ResolvedSession = {
@@ -18,6 +18,14 @@ export type GDocsSessionResolutionOutcome = {
18
18
  ok: false;
19
19
  response: ToolResponse;
20
20
  };
21
+ export type OdfSessionResolutionOutcome = {
22
+ ok: true;
23
+ session: OdfSession;
24
+ metadata: Record<string, unknown>;
25
+ } | {
26
+ ok: false;
27
+ response: ToolResponse;
28
+ };
21
29
  export declare function validateAndLoadDocxFromPath(manager: SessionManager, filePath: string): Promise<{
22
30
  ok: true;
23
31
  normalizedPath: string;
@@ -27,12 +35,28 @@ export declare function validateAndLoadDocxFromPath(manager: SessionManager, fil
27
35
  ok: false;
28
36
  response: ToolResponse;
29
37
  }>;
38
+ export declare function validateAndLoadOdfFromPath(manager: SessionManager, filePath: string): Promise<{
39
+ ok: true;
40
+ normalizedPath: string;
41
+ filename: string;
42
+ content: Buffer;
43
+ archive: any;
44
+ doc: any;
45
+ } | {
46
+ ok: false;
47
+ response: ToolResponse;
48
+ }>;
30
49
  export declare function mergeSessionResolutionMetadata(extra: Record<string, unknown>, metadata: Record<string, unknown>): Record<string, unknown>;
31
50
  export declare function resolveSessionForTool(manager: SessionManager, params: {
32
51
  file_path?: unknown;
33
52
  }, opts: {
34
53
  toolName: string;
35
54
  }): Promise<SessionResolutionOutcome>;
55
+ export declare function resolveOdfSessionForTool(manager: SessionManager, params: {
56
+ file_path?: unknown;
57
+ }, opts: {
58
+ toolName: string;
59
+ }): Promise<OdfSessionResolutionOutcome>;
36
60
  export declare function resolveGDocsSessionForTool(manager: SessionManager, params: {
37
61
  google_doc_id?: unknown;
38
62
  }, opts: {
@@ -1 +1 @@
1
- {"version":3,"file":"session_resolution.d.ts","sourceRoot":"","sources":["../../src/tools/session_resolution.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,YAAY,EAAgB,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC1G,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAOpD,MAAM,MAAM,qBAAqB,GAC7B,QAAQ,GACR,QAAQ,CAAC;AAEb,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,IAAI,CAAC;IACT,OAAO,EAAE,WAAW,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAChC,eAAe,GACf;IACE,EAAE,EAAE,KAAK,CAAC;IACV,QAAQ,EAAE,YAAY,CAAC;CACxB,CAAC;AAEN,MAAM,MAAM,6BAA6B,GACrC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GACtE;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE,CAAC;AAiB1C,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,MAAM,GACf,OAAO,CACN;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACvE;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE,CACxC,CAkEA;AAED,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzB;AAoBD,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,EAC/B,IAAI,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GACzB,OAAO,CAAC,wBAAwB,CAAC,CAuGnC;AAuBD,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE;IAAE,aAAa,CAAC,EAAE,OAAO,CAAA;CAAE,EACnC,IAAI,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GACzB,OAAO,CAAC,6BAA6B,CAAC,CA2FxC"}
1
+ {"version":3,"file":"session_resolution.d.ts","sourceRoot":"","sources":["../../src/tools/session_resolution.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { err } from './types.js';
4
4
  import { enforceReadPathPolicy } from './path_policy.js';
5
5
  import { validateDocxArchiveSafety } from './docx_archive_guard.js';
6
6
  import { loadGDocsCore } from '../gdocs_loader.js';
7
+ import { loadOdfCore } from '../odf_loader.js';
7
8
  const MAX_DOCX_BYTES = 50 * 1024 * 1024;
8
9
  // ---------------------------------------------------------------------------
9
10
  // Concurrent auto-open deduplication
@@ -68,6 +69,68 @@ export async function validateAndLoadDocxFromPath(manager, filePath) {
68
69
  content: content,
69
70
  };
70
71
  }
72
+ export async function validateAndLoadOdfFromPath(manager, filePath) {
73
+ const normalizedPath = manager.normalizePath(filePath);
74
+ const stat = await fs.stat(normalizedPath).catch(() => null);
75
+ if (!stat || !stat.isFile()) {
76
+ return {
77
+ ok: false,
78
+ response: err('FILE_NOT_FOUND', `File not found: ${filePath}`, 'Copy the file to ~/Downloads/ or ~/Documents/ first, then pass that path.'),
79
+ };
80
+ }
81
+ if (path.extname(normalizedPath).toLowerCase() !== '.odt') {
82
+ return {
83
+ ok: false,
84
+ response: err('INVALID_FILE_TYPE', `Invalid file type: ${path.extname(normalizedPath)}`, 'Only .odt files are supported by the ODF provider.'),
85
+ };
86
+ }
87
+ const policy = await enforceReadPathPolicy(filePath);
88
+ if (!policy.ok) {
89
+ return {
90
+ ok: false,
91
+ response: policy.response,
92
+ };
93
+ }
94
+ const safePath = policy.normalizedPath;
95
+ const safeStat = await fs.stat(safePath).catch(() => null);
96
+ if (!safeStat || !safeStat.isFile()) {
97
+ return {
98
+ ok: false,
99
+ response: err('FILE_NOT_FOUND', `File not found: ${filePath}`, 'Copy the file to ~/Downloads/ or ~/Documents/ first, then pass that path.'),
100
+ };
101
+ }
102
+ if (safeStat.size > MAX_DOCX_BYTES) {
103
+ return {
104
+ ok: false,
105
+ response: err('VALIDATION_ERROR', 'File too large', 'Check file type (.odt only) and size (max 50MB).'),
106
+ };
107
+ }
108
+ const odf = await loadOdfCore();
109
+ if (!odf) {
110
+ return {
111
+ ok: false,
112
+ response: err('MISSING_DEPENDENCY', 'ODF (.odt) support requires @usejunior/odf-core.', 'Install @usejunior/odf-core to enable ODF editing.'),
113
+ };
114
+ }
115
+ const content = await fs.readFile(safePath);
116
+ const archiveGuard = await odf.validateOdfArchiveSafety(content);
117
+ if (!archiveGuard.ok) {
118
+ return {
119
+ ok: false,
120
+ response: err(archiveGuard.code, archiveGuard.message, archiveGuard.hint),
121
+ };
122
+ }
123
+ const archive = await odf.OdfArchive.load(content);
124
+ const doc = odf.OdfDocument.fromContentXml(await archive.getContentXml());
125
+ return {
126
+ ok: true,
127
+ normalizedPath: safePath,
128
+ filename: path.basename(safePath),
129
+ content: content,
130
+ archive,
131
+ doc,
132
+ };
133
+ }
71
134
  export function mergeSessionResolutionMetadata(extra, metadata) {
72
135
  return { ...extra, ...metadata };
73
136
  }
@@ -95,8 +158,15 @@ export async function resolveSessionForTool(manager, params, opts) {
95
158
  };
96
159
  }
97
160
  const canonicalPath = await manager.canonicalizePath(filePath);
98
- // Check for existing session (file-path keyed sessions are always DocxSession)
99
- const existing = manager.getSessionByPath(canonicalPath);
161
+ // Check for existing session. ODF is path-keyed too, but this resolver must remain DOCX-only.
162
+ const existingSession = manager.getSessionByPath(canonicalPath);
163
+ if (existingSession && existingSession.provider !== 'docx') {
164
+ return {
165
+ ok: false,
166
+ response: err('UNSUPPORTED_FOR_ODF', `Tool '${opts.toolName}' is not supported for ODF (.odt) files.`, 'Use read_file, replace_text, grep, insert_paragraph, add_comment, get_comments, compare_documents, save, get_file_status, or close_file for .odt files.'),
167
+ };
168
+ }
169
+ const existing = existingSession;
100
170
  if (existing) {
101
171
  const reuseLastUsed = existing.lastAccessedAt.toISOString();
102
172
  manager.touch(existing);
@@ -117,6 +187,16 @@ export async function resolveSessionForTool(manager, params, opts) {
117
187
  },
118
188
  };
119
189
  }
190
+ // Fail fast for unsupported tools on a `.odt` path BEFORE touching the pending map.
191
+ // This must be a synchronous early return: registering it as a leader promise would
192
+ // resolve before `pendingMap.set` runs, leaving a stale entry that replays THIS tool's
193
+ // error (and tool name) for the next unsupported tool on the same path.
194
+ if (path.extname(manager.normalizePath(filePath)).toLowerCase() === '.odt') {
195
+ return {
196
+ ok: false,
197
+ response: err('UNSUPPORTED_FOR_ODF', `Tool '${opts.toolName}' is not supported for ODF (.odt) files.`, 'Use read_file, replace_text, grep, insert_paragraph, add_comment, get_comments, compare_documents, save, get_file_status, or close_file for .odt files.'),
198
+ };
199
+ }
120
200
  // --- Concurrent auto-open deduplication ---
121
201
  const pendingMap = getPendingMap(manager);
122
202
  const pending = pendingMap.get(canonicalPath);
@@ -143,6 +223,8 @@ export async function resolveSessionForTool(manager, params, opts) {
143
223
  let storedPromise;
144
224
  const outcomePromise = (async () => {
145
225
  try {
226
+ // `.odt` is already handled by the synchronous early return above, so by here
227
+ // the path is a non-`.odt` DOCX candidate.
146
228
  const loaded = await validateAndLoadDocxFromPath(manager, filePath);
147
229
  if (!loaded.ok) {
148
230
  return { ok: false, response: loaded.response };
@@ -172,6 +254,101 @@ export async function resolveSessionForTool(manager, params, opts) {
172
254
  return await outcomePromise;
173
255
  }
174
256
  // ---------------------------------------------------------------------------
257
+ // ODF session resolution
258
+ // ---------------------------------------------------------------------------
259
+ const odfPendingByManager = new WeakMap();
260
+ function getOdfPendingMap(manager) {
261
+ let map = odfPendingByManager.get(manager);
262
+ if (!map) {
263
+ map = new Map();
264
+ odfPendingByManager.set(manager, map);
265
+ }
266
+ return map;
267
+ }
268
+ export async function resolveOdfSessionForTool(manager, params, opts) {
269
+ const filePath = typeof params.file_path === 'string' ? params.file_path.trim() : '';
270
+ if (!filePath) {
271
+ return {
272
+ ok: false,
273
+ response: err('MISSING_FILE_PATH', `Tool '${opts.toolName}' requires file_path.`, "Provide the path to a .odt file in ~/Downloads/ or ~/Documents/."),
274
+ };
275
+ }
276
+ const canonicalPath = await manager.canonicalizePath(filePath);
277
+ const existing = manager.getSessionByPath(canonicalPath);
278
+ if (existing && existing.provider === 'odf') {
279
+ const reuseLastUsed = existing.lastAccessedAt.toISOString();
280
+ manager.touch(existing);
281
+ const staleWarning = await checkStaleness(existing, canonicalPath);
282
+ return {
283
+ ok: true,
284
+ session: existing,
285
+ metadata: {
286
+ session_resolution: 'reused',
287
+ resolved_file_path: canonicalPath,
288
+ ...(staleWarning ? { stale_warning: staleWarning } : {}),
289
+ reused_session_context: {
290
+ edit_revision: existing.editRevision,
291
+ edit_count: existing.editCount,
292
+ created_at: existing.createdAt.toISOString(),
293
+ last_used_at: reuseLastUsed,
294
+ },
295
+ },
296
+ };
297
+ }
298
+ if (existing) {
299
+ return {
300
+ ok: false,
301
+ response: err('INVALID_FILE_TYPE', `Existing session for ${filePath} is provider '${existing.provider}', not ODF.`, 'Use the matching provider arguments for the active session.'),
302
+ };
303
+ }
304
+ const pendingMap = getOdfPendingMap(manager);
305
+ const pending = pendingMap.get(canonicalPath);
306
+ if (pending) {
307
+ const outcome = await pending;
308
+ if (outcome.ok) {
309
+ manager.touch(outcome.session);
310
+ return {
311
+ ok: true,
312
+ session: outcome.session,
313
+ metadata: {
314
+ ...outcome.metadata,
315
+ session_resolution: 'reused',
316
+ session_resolution_detail: 'awaited_concurrent_open',
317
+ resolved_file_path: canonicalPath,
318
+ },
319
+ };
320
+ }
321
+ return outcome;
322
+ }
323
+ let storedPromise;
324
+ const outcomePromise = (async () => {
325
+ try {
326
+ const loaded = await validateAndLoadOdfFromPath(manager, filePath);
327
+ if (!loaded.ok) {
328
+ return { ok: false, response: loaded.response };
329
+ }
330
+ const session = await manager.createOdfSession(loaded.content, loaded.filename, loaded.normalizedPath, loaded.archive, loaded.doc);
331
+ return {
332
+ ok: true,
333
+ session,
334
+ metadata: {
335
+ session_resolution: 'opened',
336
+ resolved_file_path: canonicalPath,
337
+ },
338
+ };
339
+ }
340
+ finally {
341
+ if (pendingMap.get(canonicalPath) === storedPromise) {
342
+ pendingMap.delete(canonicalPath);
343
+ }
344
+ }
345
+ })();
346
+ storedPromise = outcomePromise;
347
+ outcomePromise.catch(() => { });
348
+ pendingMap.set(canonicalPath, outcomePromise);
349
+ return await outcomePromise;
350
+ }
351
+ // ---------------------------------------------------------------------------
175
352
  // Google Docs session resolution
176
353
  // ---------------------------------------------------------------------------
177
354
  function extractGoogleDocId(input) {
@@ -1 +1 @@
1
- {"version":3,"file":"session_resolution.js","sourceRoot":"","sources":["../../src/tools/session_resolution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session_resolution.js","sourceRoot":"","sources":["../../src/tools/session_resolution.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tag_parser.d.ts","sourceRoot":"","sources":["../../src/tools/tag_parser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG5D,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAI9B,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,kBAAkB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAM7E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAOnD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CASxD;AA0SD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,wBAAwB,EAAE,CAiBxE;AAID,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,wBAAwB,GAAG,WAAW,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,GAAG,SAAS,CAUzH"}
1
+ {"version":3,"file":"tag_parser.d.ts","sourceRoot":"","sources":["../../src/tools/tag_parser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG5D,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAI9B,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,kBAAkB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAM7E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAOnD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CASxD;AAqWD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,wBAAwB,EAAE,CAyBxE;AAID,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,wBAAwB,GAAG,WAAW,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,GAAG,SAAS,CAUzH"}