@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 +1 @@
1
- {"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../src/cli/commands/edit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../src/cli/commands/edit.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"grep.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/grep.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,eAAe,CA2D7D;AAqDD,wBAAsB,cAAc,CAClC,IAAI,EAAE,eAAe,EACrB,IAAI,EAAE;IAAE,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAAC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,GAC1E,OAAO,CAAC,IAAI,CAAC,CAgCf"}
1
+ {"version":3,"file":"grep.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/grep.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,eAAe,CA2D7D;AAqDD,wBAAsB,cAAc,CAClC,IAAI,EAAE,eAAe,EACrB,IAAI,EAAE;IAAE,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAAC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,GAC1E,OAAO,CAAC,IAAI,CAAC,CAgCf"}
@@ -9,6 +9,7 @@
9
9
  */
10
10
  import { SessionManager } from '../../session/manager.js';
11
11
  import { dispatchToolCall } from '../../server.js';
12
+ import { resolveCliAiAuthor } from '../tool_runner.js';
12
13
  export function parseGrepArgs(argv) {
13
14
  const files = [];
14
15
  let pattern;
@@ -96,7 +97,7 @@ function formatHumanOutput(result, filePath) {
96
97
  return lines.join('\n');
97
98
  }
98
99
  export async function runGrepCommand(args, opts) {
99
- const mgr = new SessionManager();
100
+ const mgr = new SessionManager({ defaultAiAuthor: resolveCliAiAuthor() });
100
101
  const toolArgs = {
101
102
  pattern: args.pattern,
102
103
  case_sensitive: args.caseSensitive ?? false,
@@ -1 +1 @@
1
- {"version":3,"file":"grep.js","sourceRoot":"","sources":["../../../src/cli/commands/grep.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grep.js","sourceRoot":"","sources":["../../../src/cli/commands/grep.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,11 @@ export interface ToolRunnerIO {
2
2
  write: (line: string) => void;
3
3
  writeError: (line: string) => void;
4
4
  }
5
+ /**
6
+ * Resolve the AI author for tracked-change emission from SAFE_DOCX_AI_AUTHOR.
7
+ * Empty string disables tracked emission (legacy behavior); unset defaults to 'SafeDocX'.
8
+ * Symmetric with the resolution in server.ts.
9
+ */
10
+ export declare function resolveCliAiAuthor(): string | null;
5
11
  export declare function runToolCommand(toolName: string, args: Record<string, unknown>, opts: ToolRunnerIO): Promise<void>;
6
12
  //# sourceMappingURL=tool_runner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool_runner.d.ts","sourceRoot":"","sources":["../../src/cli/tool_runner.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CAaf"}
1
+ {"version":3,"file":"tool_runner.d.ts","sourceRoot":"","sources":["../../src/cli/tool_runner.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,IAAI,CAGlD;AAED,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CAaf"}
@@ -3,8 +3,17 @@
3
3
  */
4
4
  import { SessionManager } from '../session/manager.js';
5
5
  import { dispatchToolCall } from '../server.js';
6
+ /**
7
+ * Resolve the AI author for tracked-change emission from SAFE_DOCX_AI_AUTHOR.
8
+ * Empty string disables tracked emission (legacy behavior); unset defaults to 'SafeDocX'.
9
+ * Symmetric with the resolution in server.ts.
10
+ */
11
+ export function resolveCliAiAuthor() {
12
+ const env = process.env.SAFE_DOCX_AI_AUTHOR;
13
+ return env === '' ? null : (env ?? 'SafeDocX');
14
+ }
6
15
  export async function runToolCommand(toolName, args, opts) {
7
- const mgr = new SessionManager();
16
+ const mgr = new SessionManager({ defaultAiAuthor: resolveCliAiAuthor() });
8
17
  const result = await dispatchToolCall(mgr, toolName, args);
9
18
  const json = JSON.stringify(result, null, 2);
10
19
  const success = result.success;
@@ -1 +1 @@
1
- {"version":3,"file":"tool_runner.js","sourceRoot":"","sources":["../../src/cli/tool_runner.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAOhD,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,QAAgB,EAChB,IAA6B,EAC7B,IAAkB;IAElB,MAAM,GAAG,GAAG,IAAI,cAAc,EAAE,CAAC;IACjC,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAE3D,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAI,MAAgC,CAAC,OAAO,CAAC;IAE1D,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,SAAS,QAAQ,UAAU,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"tool_runner.js","sourceRoot":"","sources":["../../src/cli/tool_runner.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAOhD;;;;GAIG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;IAC5C,OAAO,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,UAAU,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,QAAgB,EAChB,IAA6B,EAC7B,IAAkB;IAElB,MAAM,GAAG,GAAG,IAAI,cAAc,CAAC,EAAE,eAAe,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAC;IAC1E,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAE3D,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAI,MAAgC,CAAC,OAAO,CAAC;IAE1D,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,SAAS,QAAQ,UAAU,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACnB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function loadOdfCore(): Promise<typeof import('@usejunior/odf-core') | null>;
2
+ //# sourceMappingURL=odf_loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"odf_loader.d.ts","sourceRoot":"","sources":["../src/odf_loader.ts"],"names":[],"mappings":"AAOA,wBAAsB,WAAW,IAAI,OAAO,CAAC,cAAc,qBAAqB,CAAC,GAAG,IAAI,CAAC,CASxF"}
@@ -0,0 +1,19 @@
1
+ // Lazy loader for the OPTIONAL @usejunior/odf-core provider, mirroring gdocs_loader.
2
+ // odf-core is private/unpublished, so it is NOT a package.json dependency and may be
3
+ // absent from a production install of the published package. Always-loaded modules
4
+ // must reach ODF functionality through this loader (a dynamic import that returns
5
+ // null when odf-core is unavailable) rather than a static import.
6
+ let cached;
7
+ export async function loadOdfCore() {
8
+ if (cached !== undefined)
9
+ return cached;
10
+ try {
11
+ cached = await import('@usejunior/odf-core');
12
+ return cached;
13
+ }
14
+ catch {
15
+ cached = null;
16
+ return null;
17
+ }
18
+ }
19
+ //# sourceMappingURL=odf_loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"odf_loader.js","sourceRoot":"","sources":["../src/odf_loader.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,qFAAqF;AACrF,mFAAmF;AACnF,kFAAkF;AAClF,kEAAkE;AAClE,IAAI,MAA+D,CAAC;AAEpE,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACxC,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAC7C,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,GAAG,IAAI,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
package/dist/server.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import { SessionManager } from './session/manager.js';
2
2
  export declare const MCP_TRANSPORT: "stdio";
3
3
  export declare const MCP_TOOLS: {
4
- name: "read_file" | "grep" | "init_plan" | "merge_plans" | "apply_plan" | "replace_text" | "insert_paragraph" | "save" | "format_layout" | "accept_changes" | "has_tracked_changes" | "get_file_status" | "close_file" | "add_comment" | "get_comments" | "delete_comment" | "compare_documents" | "get_footnotes" | "add_footnote" | "update_footnote" | "delete_footnote" | "clear_formatting" | "extract_revisions";
5
- description: "Read document content (DOCX or Google Doc). Output is token-limited (~14k tokens) by default with pagination metadata (has_more, next_offset). Use offset/limit to paginate." | "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." | "Initialize revision-bound context metadata for coordinated multi-agent planning." | "Deterministically merge multiple sub-agent plans and detect hard conflicts before apply." | "Validate and apply a batch of edit steps (replace_text, insert_paragraph) to a document in one call. Validates all steps first; applies only if all pass. Accepts inline steps or a plan_file_path. Compatible with merge_plans output." | "Replace text in a paragraph by _bk_* id, preserving formatting. Supports DOCX and Google Docs." | "Insert a paragraph before/after an anchor paragraph by _bk_* id. Supports DOCX and Google Docs." | "Save document. For DOCX: saves clean and/or tracked changes output. For Google Docs: checkpoint (default) returns revisionId, or snapshot exports as DOCX." | "Apply layout controls (paragraph spacing, table row height, cell padding). Google Docs supports paragraph spacing only." | "Accept all tracked changes in the document body, producing a clean document with no revision markup. Returns acceptance stats." | "Check whether the document body contains tracked-change markers (insertions, deletions, moves, and property-change records). Read-only." | "Get file/session metadata including edit count, normalization stats, and cache info. Supports DOCX and Google Docs." | "Close an open file session, or close all sessions with explicit confirmation. Supports DOCX and Google Docs." | "Add a comment or threaded reply to a document. Provide target_paragraph_id + anchor_text for root comments, or parent_comment_id for replies." | "Get all comments from the document with IDs, authors, dates, text, and anchored paragraph IDs. Includes threaded replies. Read-only." | "Delete a comment and all its threaded replies from the document. Cascade-deletes all descendants." | "Compare two DOCX 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." | "Get all footnotes from the document with IDs, display numbers, text, and anchored paragraph IDs. Read-only." | "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." | "Update the text content of an existing footnote." | "Delete a footnote and its reference from the document." | "Clear specific run-level formatting (bold, italic, underline, highlight, color, font) from paragraphs." | "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.";
4
+ name: "read_file" | "grep" | "init_plan" | "merge_plans" | "apply_plan" | "replace_text" | "insert_paragraph" | "save" | "export" | "format_layout" | "accept_changes" | "has_tracked_changes" | "get_file_status" | "close_file" | "add_comment" | "get_comments" | "delete_comment" | "compare_documents" | "get_footnotes" | "add_footnote" | "update_footnote" | "delete_footnote" | "clear_formatting" | "extract_revisions";
5
+ 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." | "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." | "Initialize revision-bound context metadata for coordinated multi-agent planning." | "Deterministically merge multiple sub-agent plans and detect hard conflicts before apply." | "Validate and apply a batch of edit steps (replace_text, insert_paragraph) to a document in one call. Validates all steps first; applies only if all pass. Accepts inline steps or a plan_file_path. Compatible with merge_plans output." | "Replace text in a paragraph by provider paragraph id, preserving formatting where supported. Supports DOCX, ODT, and Google Docs." | "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.)" | "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." | "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." | "Apply layout controls (paragraph spacing, table row height, cell padding). Google Docs supports paragraph spacing only." | "Accept all tracked changes in the document body, producing a clean document with no revision markup. Returns acceptance stats." | "Check whether the document body contains tracked-change markers (insertions, deletions, moves, and property-change records). Read-only." | "Get file/session metadata including edit count, normalization stats, and cache info. Supports DOCX, ODT, and Google Docs." | "Close an open file session, or close all sessions with explicit confirmation. Supports DOCX, ODT, and Google Docs." | "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)." | "Get all comments from the document with IDs, authors, dates, text, and anchored paragraph IDs. Includes threaded replies (DOCX). Supports DOCX and ODT. Read-only." | "Delete a comment and all its threaded replies from the document. Cascade-deletes all descendants." | "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; ODF compares at inline granularity (a modified paragraph is marked up in place — only the changed spans are struck or inserted)." | "Get all footnotes from the document with IDs, display numbers, text, and anchored paragraph IDs. Read-only." | "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." | "Update the text content of an existing footnote." | "Delete a footnote and its reference from the document." | "Clear specific run-level formatting (bold, italic, underline, highlight, color, font) from paragraphs." | "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.";
6
6
  inputSchema: Record<string, unknown>;
7
7
  annotations: {
8
8
  readonly readOnlyHint: true;
@@ -28,6 +28,9 @@ export declare const MCP_TOOLS: {
28
28
  } | {
29
29
  readonly readOnlyHint: false;
30
30
  readonly destructiveHint: true;
31
+ } | {
32
+ readonly readOnlyHint: false;
33
+ readonly destructiveHint: false;
31
34
  } | {
32
35
  readonly readOnlyHint: false;
33
36
  readonly destructiveHint: true;
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAqB,MAAM,sBAAsB,CAAC;AA6BzE,eAAO,MAAM,aAAa,EAAG,OAAgB,CAAC;AAE9C,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAsB,CAAC;AAiD7C,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,cAAc,EACxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAkElC;AAED,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CA6B/C"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAsC,MAAM,sBAAsB,CAAC;AA8B1F,eAAO,MAAM,aAAa,EAAG,OAAgB,CAAC;AAE9C,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAsB,CAAC;AA+G7C,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,cAAc,EACxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAgGlC;AAED,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAmC/C"}
package/dist/server.js CHANGED
@@ -1,3 +1,4 @@
1
+ import path from 'node:path';
1
2
  import { Server } from '@modelcontextprotocol/sdk/server/index.js';
2
3
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
3
4
  import { CallToolRequestSchema, ListToolsRequestSchema } from '@modelcontextprotocol/sdk/types.js';
@@ -11,6 +12,7 @@ import { insertParagraph } from './tools/insert_paragraph.js';
11
12
  import { mergePlans } from './tools/merge_plans.js';
12
13
  import { applyPlan } from './tools/apply_plan.js';
13
14
  import { save } from './tools/save.js';
15
+ import { exportDocument } from './tools/export.js';
14
16
  import { getFileStatus } from './tools/get_file_status.js';
15
17
  import { hasTrackedChanges_tool } from './tools/has_tracked_changes.js';
16
18
  import { closeFile } from './tools/close_file.js';
@@ -26,15 +28,31 @@ import { deleteFootnote } from './tools/delete_footnote.js';
26
28
  import { compareDocuments_tool } from './tools/compare_documents.js';
27
29
  import { extractRevisions_tool } from './tools/extract_revisions.js';
28
30
  import { clearFormatting } from './tools/clear_formatting.js';
29
- import { resolveGDocsSessionForTool } from './tools/session_resolution.js';
30
- import { checkGDocsSupport } from './tools/provider_guard.js';
31
+ import { resolveGDocsSessionForTool, resolveOdfSessionForTool } from './tools/session_resolution.js';
32
+ import { checkGDocsSupport, checkOdfSupport } from './tools/provider_guard.js';
31
33
  export const MCP_TRANSPORT = 'stdio';
32
34
  export const MCP_TOOLS = SAFE_DOCX_MCP_TOOLS;
33
35
  function isGDocsRequest(args) {
34
36
  return typeof args.google_doc_id === 'string' && args.google_doc_id.trim().length > 0;
35
37
  }
38
+ function isOdfRequest(args) {
39
+ const filePath = typeof args.file_path === 'string' ? args.file_path.trim() : '';
40
+ return path.extname(filePath).toLowerCase() === '.odt';
41
+ }
42
+ /**
43
+ * True when any input-path field on the args points at a `.odt`. Used to guard tools
44
+ * that take path fields other than `file_path` (e.g. `compare_documents`'s two-file
45
+ * `original_file_path` / `revised_file_path`), which `isOdfRequest` does not cover.
46
+ */
47
+ function hasOdfInputPath(args, fields) {
48
+ return fields.some((f) => {
49
+ const v = args[f];
50
+ return typeof v === 'string' && path.extname(v.trim()).toLowerCase() === '.odt';
51
+ });
52
+ }
36
53
  // Lazy-loaded gdocs handler map (populated on first gdocs request)
37
54
  let gdocsHandlers = null;
55
+ let odfHandlers = null;
38
56
  async function loadGDocsHandlers() {
39
57
  if (gdocsHandlers)
40
58
  return gdocsHandlers;
@@ -60,6 +78,35 @@ async function loadGDocsHandlers() {
60
78
  };
61
79
  return gdocsHandlers;
62
80
  }
81
+ async function loadOdfHandlers() {
82
+ if (odfHandlers)
83
+ return odfHandlers;
84
+ const [readFile, replaceText, grep, insertParagraph, addComment, getComments, save, getFileStatus, closeFile, compareDocuments] = await Promise.all([
85
+ import('./tools/odf/read_file.js'),
86
+ import('./tools/odf/replace_text.js'),
87
+ import('./tools/odf/grep.js'),
88
+ import('./tools/odf/insert_paragraph.js'),
89
+ import('./tools/odf/add_comment.js'),
90
+ import('./tools/odf/get_comments.js'),
91
+ import('./tools/odf/save.js'),
92
+ import('./tools/odf/get_file_status.js'),
93
+ import('./tools/odf/close_file.js'),
94
+ import('./tools/odf/compare_documents.js'),
95
+ ]);
96
+ odfHandlers = {
97
+ read_file: readFile.odfReadFile,
98
+ replace_text: replaceText.odfReplaceText,
99
+ grep: grep.odfGrep,
100
+ insert_paragraph: insertParagraph.odfInsertParagraph,
101
+ add_comment: addComment.odfAddComment,
102
+ get_comments: getComments.odfGetComments,
103
+ save: save.odfSave,
104
+ get_file_status: getFileStatus.odfGetFileStatus,
105
+ close_file: closeFile.odfCloseFile,
106
+ compare_documents: compareDocuments.odfCompareDocumentsSession,
107
+ };
108
+ return odfHandlers;
109
+ }
63
110
  async function dispatchGDocs(manager, args, toolName) {
64
111
  const guard = checkGDocsSupport(toolName);
65
112
  if (guard)
@@ -73,15 +120,32 @@ async function dispatchGDocs(manager, args, toolName) {
73
120
  return { success: false, error: { code: 'UNKNOWN_TOOL', message: `No Google Docs handler for: ${toolName}` } };
74
121
  return handler(manager, resolved.session, args, resolved.metadata);
75
122
  }
123
+ async function dispatchOdf(manager, args, toolName) {
124
+ const guard = checkOdfSupport(toolName);
125
+ if (guard)
126
+ return guard;
127
+ const resolved = await resolveOdfSessionForTool(manager, args, { toolName });
128
+ if (!resolved.ok)
129
+ return resolved.response;
130
+ const handlers = await loadOdfHandlers();
131
+ const handler = handlers[toolName];
132
+ if (!handler)
133
+ return { success: false, error: { code: 'UNKNOWN_TOOL', message: `No ODF handler for: ${toolName}` } };
134
+ return handler(manager, resolved.session, args, resolved.metadata);
135
+ }
76
136
  export async function dispatchToolCall(sessions, name, args) {
77
137
  switch (name) {
78
138
  case 'read_file':
79
139
  if (isGDocsRequest(args))
80
140
  return await dispatchGDocs(sessions, args, 'read_file');
141
+ if (isOdfRequest(args))
142
+ return await dispatchOdf(sessions, args, 'read_file');
81
143
  return await readFile(sessions, args);
82
144
  case 'grep':
83
145
  if (isGDocsRequest(args))
84
146
  return await dispatchGDocs(sessions, args, 'grep');
147
+ if (isOdfRequest(args))
148
+ return await dispatchOdf(sessions, args, 'grep');
85
149
  return await grep(sessions, args);
86
150
  case 'init_plan':
87
151
  return await initPlan(sessions, args);
@@ -92,15 +156,23 @@ export async function dispatchToolCall(sessions, name, args) {
92
156
  case 'replace_text':
93
157
  if (isGDocsRequest(args))
94
158
  return await dispatchGDocs(sessions, args, 'replace_text');
159
+ if (isOdfRequest(args))
160
+ return await dispatchOdf(sessions, args, 'replace_text');
95
161
  return await replaceText(sessions, args);
96
162
  case 'insert_paragraph':
97
163
  if (isGDocsRequest(args))
98
164
  return await dispatchGDocs(sessions, args, 'insert_paragraph');
165
+ if (isOdfRequest(args))
166
+ return await dispatchOdf(sessions, args, 'insert_paragraph');
99
167
  return await insertParagraph(sessions, args);
100
168
  case 'save':
101
169
  if (isGDocsRequest(args))
102
170
  return await dispatchGDocs(sessions, args, 'save');
171
+ if (isOdfRequest(args))
172
+ return await dispatchOdf(sessions, args, 'save');
103
173
  return await save(sessions, args);
174
+ case 'export':
175
+ return await exportDocument(sessions, args);
104
176
  case 'format_layout':
105
177
  if (isGDocsRequest(args))
106
178
  return await dispatchGDocs(sessions, args, 'format_layout');
@@ -112,19 +184,47 @@ export async function dispatchToolCall(sessions, name, args) {
112
184
  case 'get_file_status':
113
185
  if (isGDocsRequest(args))
114
186
  return await dispatchGDocs(sessions, args, 'get_file_status');
187
+ if (isOdfRequest(args))
188
+ return await dispatchOdf(sessions, args, 'get_file_status');
115
189
  return await getFileStatus(sessions, args);
116
190
  case 'close_file':
117
191
  if (isGDocsRequest(args))
118
192
  return await dispatchGDocs(sessions, args, 'close_file');
193
+ if (isOdfRequest(args))
194
+ return await dispatchOdf(sessions, args, 'close_file');
119
195
  return await closeFile(sessions, args);
120
196
  case 'add_comment':
197
+ if (isOdfRequest(args))
198
+ return await dispatchOdf(sessions, args, 'add_comment');
121
199
  return await addComment(sessions, args);
122
200
  case 'get_comments':
201
+ if (isOdfRequest(args))
202
+ return await dispatchOdf(sessions, args, 'get_comments');
123
203
  return await getComments(sessions, args);
124
204
  case 'delete_comment':
125
205
  return await deleteComment(sessions, args);
126
- case 'compare_documents':
206
+ case 'compare_documents': {
207
+ // compare_documents has two modes. Two-file mode (original_file_path + revised_file_path)
208
+ // takes precedence for ALL providers — mirroring the DOCX tool's own twoFileMode precedence —
209
+ // so a stray file_path cannot preempt a two-file request (e.g. two `.docx` inputs plus a
210
+ // `.odt` file_path must run the DOCX comparison, not open an ODF session). Within two-file
211
+ // mode, `.odt` inputs route to the stateless ODF handler directly (it loads both files
212
+ // itself; it CANNOT go through dispatchOdf, whose resolveOdfSessionForTool requires a
213
+ // file_path). Session mode (file_path only) routes a `.odt` through the standard ODF session
214
+ // lane; otherwise the DOCX tool.
215
+ const hasOriginal = typeof args.original_file_path === 'string' && args.original_file_path.trim().length > 0;
216
+ const hasRevised = typeof args.revised_file_path === 'string' && args.revised_file_path.trim().length > 0;
217
+ if (hasOriginal && hasRevised) {
218
+ if (hasOdfInputPath(args, ['original_file_path', 'revised_file_path'])) {
219
+ const { odfCompareDocuments } = await import('./tools/odf/compare_documents.js');
220
+ return await odfCompareDocuments(sessions, args);
221
+ }
222
+ return await compareDocuments_tool(sessions, args);
223
+ }
224
+ if (isOdfRequest(args))
225
+ return await dispatchOdf(sessions, args, 'compare_documents');
127
226
  return await compareDocuments_tool(sessions, args);
227
+ }
128
228
  case 'get_footnotes':
129
229
  return await getFootnotes(sessions, args);
130
230
  case 'add_footnote':
@@ -154,7 +254,13 @@ export async function runServer() {
154
254
  tools: {},
155
255
  },
156
256
  });
157
- const sessions = new SessionManager();
257
+ // Default AI author for tracked-change emission at primitive write time.
258
+ // Configurable via SAFE_DOCX_AI_AUTHOR env var; defaults to "SafeDocX".
259
+ // Set to empty string explicitly to disable tracked emission and fall back
260
+ // to legacy untracked behavior.
261
+ const aiAuthorEnv = process.env.SAFE_DOCX_AI_AUTHOR;
262
+ const defaultAiAuthor = aiAuthorEnv === '' ? null : (aiAuthorEnv ?? 'SafeDocX');
263
+ const sessions = new SessionManager({ defaultAiAuthor });
158
264
  server.setRequestHandler(ListToolsRequestSchema, async () => {
159
265
  return { tools: MCP_TOOLS };
160
266
  });
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { DocxDocument, type NormalizationResult, type ParagraphRevision, type ReconstructionMode, type ReconstructionFallbackReason, type ReconstructionFallbackDiagnostics } from '@usejunior/docx-core';
1
+ import { DocxDocument, type NormalizationResult, type ParagraphRevision, type ReconstructionMode, type ReconstructionFallbackReason, type ReconstructionFallbackDiagnostics, type RevisionContext, type RevisionIdState } from '@usejunior/docx-core';
2
2
  export type SaveFormat = 'clean' | 'tracked' | 'both';
3
3
  export type TrackedChangesStats = {
4
4
  insertions: number;
@@ -46,6 +46,8 @@ export type DocxSession = {
46
46
  */
47
47
  comparisonBaselineWithBookmarks: Buffer | null;
48
48
  doc: DocxDocument;
49
+ aiAuthor: string | null;
50
+ revisionIdState: RevisionIdState | null;
49
51
  editCount: number;
50
52
  editRevision: number;
51
53
  saveCache: Map<string, SaveCacheEntry>;
@@ -66,17 +68,49 @@ export type GDocsSession = {
66
68
  lastAccessedAt: Date;
67
69
  expiresAt: Date;
68
70
  };
69
- export type Session = DocxSession | GDocsSession;
71
+ export type OdfSession = {
72
+ provider: 'odf';
73
+ sessionId: string;
74
+ filename: string;
75
+ tmpPath: string;
76
+ originalPath: string;
77
+ originalBuffer: Buffer;
78
+ archive: any;
79
+ doc: any;
80
+ editCount: number;
81
+ editRevision: number;
82
+ createdAt: Date;
83
+ lastAccessedAt: Date;
84
+ expiresAt: Date;
85
+ };
86
+ export type Session = DocxSession | GDocsSession | OdfSession;
87
+ /**
88
+ * Compute a starting `RevisionIdState` whose first allocated `w:id` is
89
+ * higher than any existing revision id found in the supplied documents.
90
+ *
91
+ * Only `w:id` attributes on revision-bearing elements
92
+ * (`REVISION_ID_ELEMENT_LOCAL_NAMES`) are considered. Non-revision IDs such
93
+ * as `<w:comment w:id>` or `<w:footnote w:id>` share the attribute name but
94
+ * occupy a different ID space and must not influence the counter.
95
+ *
96
+ * Callers should pass every available story/metadata part that can contain
97
+ * package-wide revision attributes, not just `document.xml`.
98
+ */
99
+ export declare function inferStartingRevisionIdState(...docs: Document[]): RevisionIdState;
100
+ export declare function getRevisionContextForSession(session: DocxSession): Promise<RevisionContext | undefined>;
70
101
  export declare function isDocxSession(s: Session): s is DocxSession;
71
102
  export declare function isGDocsSession(s: Session): s is GDocsSession;
103
+ export declare function isOdfSession(s: Session): s is OdfSession;
72
104
  export declare class SessionManager {
73
105
  /** Sessions keyed by canonical file path (realpath). */
74
106
  private sessions;
75
107
  private ttlMs;
108
+ private defaultAiAuthor;
76
109
  /** Concurrency guard: prevents double-generation of baselines for the same session. */
77
110
  private baselinePromises;
78
111
  constructor(opts?: {
79
112
  ttlMs?: number;
113
+ defaultAiAuthor?: string | null;
80
114
  });
81
115
  private expandPath;
82
116
  normalizePath(inputPath: string): string;
@@ -84,6 +118,13 @@ export declare class SessionManager {
84
118
  canonicalizePath(inputPath: string): Promise<string>;
85
119
  private newSessionId;
86
120
  createSession(documentContent: Buffer, filename: string, originalPath: string): Promise<DocxSession>;
121
+ /**
122
+ * Create an ODF session from an already-loaded `archive` + `doc`. The caller (the
123
+ * lazily-reached ODF resolver / open path) loads these via the optional odf-core
124
+ * provider — this method does NOT import odf-core, keeping the always-loaded
125
+ * SessionManager free of a hard dependency on the private package.
126
+ */
127
+ createOdfSession(documentContent: Buffer, filename: string, originalPath: string, archive: any, doc: any): Promise<OdfSession>;
87
128
  /**
88
129
  * Finalize a newly created session by normalizing the document and inserting
89
130
  * paragraph bookmarks. Baselines are lazily generated on first save/compare.
@@ -130,5 +171,6 @@ export declare class SessionManager {
130
171
  saveTo(session: DocxSession, savePath: string, opts?: {
131
172
  cleanBookmarks?: boolean;
132
173
  }): Promise<void>;
174
+ saveOdfTo(session: OdfSession, savePath: string): Promise<Buffer>;
133
175
  }
134
176
  //# sourceMappingURL=manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/session/manager.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,YAAY,EACZ,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,4BAA4B,EACjC,KAAK,iCAAiC,EACvC,MAAM,sBAAsB,CAAC;AAE9B,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAEtD,MAAM,MAAM,mBAAmB,GAAG;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,UAAU,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,MAAM,GAAG,UAAU,CAAC;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACzC,yBAAyB,CAAC,EAAE,kBAAkB,CAAC;IAC/C,qBAAqB,CAAC,EAAE,4BAA4B,CAAC;IACrD,0BAA0B,CAAC,EAAE,iCAAiC,CAAC;IAC/D,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,iBAAiB,EAAE,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC;;;;OAIG;IACH,+BAA+B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/C,GAAG,EAAE,YAAY,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACvC,eAAe,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC7C,SAAS,EAAE,IAAI,CAAC;IAChB,cAAc,EAAE,IAAI,CAAC;IACrB,SAAS,EAAE,IAAI,CAAC;IAChB,kBAAkB,EAAE,mBAAmB,GAAG,IAAI,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,GAAG,CAAC;IACT,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,IAAI,CAAC;IAChB,cAAc,EAAE,IAAI,CAAC;IACrB,SAAS,EAAE,IAAI,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG,WAAW,GAAG,YAAY,CAAC;AAEjD,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,WAAW,CAE1D;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,YAAY,CAE5D;AAED,qBAAa,cAAc;IACzB,wDAAwD;IACxD,OAAO,CAAC,QAAQ,CAA8B;IAC9C,OAAO,CAAC,KAAK,CAAS;IAEtB,uFAAuF;IACvF,OAAO,CAAC,gBAAgB,CAA6C;gBAEzD,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;IAIrC,OAAO,CAAC,UAAU;IAMlB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAIxC,kEAAkE;IAC5D,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAS1D,OAAO,CAAC,YAAY;IAWd,aAAa,CAAC,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAyC1G;;;;;;;OAOG;IACG,kBAAkB,CACtB,OAAO,EAAE,WAAW,EACpB,IAAI,CAAC,EAAE;QAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAE,GACrC,OAAO,CAAC;QAAE,kBAAkB,EAAE,mBAAmB,GAAG,IAAI,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,CAAC;IAUtF;;;;OAIG;IACG,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;YAa5C,kBAAkB;IAchC,qDAAqD;IAC/C,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAKrE,gFAAgF;IAChF,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IAWvD;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;YAexB,uBAAuB;IAQ/B,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAY5D,gBAAgB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAQ3C,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAM7B,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAWlC,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAI3E,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,GAAG,IAAI;IAI/D,kBAAkB,CAAC,OAAO,EAAE,WAAW,GAAG,oBAAoB,GAAG,IAAI;IASrE,kBAAkB,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,iBAAiB,EAAE,GAAG,IAAI;IAI5E;;;OAGG;IACH,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,YAAY;IAyBnD,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAIzG"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/session/manager.ts"],"names":[],"mappings":"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"}