@superdoc-dev/mcp 0.1.0-next.1 → 0.1.0-next.3
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/dist/index.js +152 -46
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -26928,6 +26928,9 @@ var require_he = __commonJS((exports, module) => {
|
|
|
26928
26928
|
})(exports);
|
|
26929
26929
|
});
|
|
26930
26930
|
|
|
26931
|
+
// src/index.ts
|
|
26932
|
+
import { createRequire as createRequire2 } from "node:module";
|
|
26933
|
+
|
|
26931
26934
|
// ../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/helpers/util.js
|
|
26932
26935
|
var util;
|
|
26933
26936
|
(function(util2) {
|
|
@@ -48750,10 +48753,10 @@ import { readFile, writeFile } from "node:fs/promises";
|
|
|
48750
48753
|
import { randomBytes } from "node:crypto";
|
|
48751
48754
|
import { resolve as resolve3, basename as basename2 } from "node:path";
|
|
48752
48755
|
|
|
48753
|
-
// ../../packages/superdoc/dist/chunks/src-
|
|
48756
|
+
// ../../packages/superdoc/dist/chunks/src-D3mGOQvT.es.js
|
|
48754
48757
|
init_rolldown_runtime_B2q5OVn9_es();
|
|
48755
|
-
var
|
|
48756
|
-
__export(
|
|
48758
|
+
var exports_src_D3mGOQvT_es = {};
|
|
48759
|
+
__export(exports_src_D3mGOQvT_es, {
|
|
48757
48760
|
zt: () => defineNode,
|
|
48758
48761
|
z: () => cM,
|
|
48759
48762
|
yt: () => map$12,
|
|
@@ -115435,7 +115438,7 @@ if (glo[importIdentifier] === true) {
|
|
|
115435
115438
|
}
|
|
115436
115439
|
glo[importIdentifier] = true;
|
|
115437
115440
|
|
|
115438
|
-
// ../../packages/superdoc/dist/chunks/src-
|
|
115441
|
+
// ../../packages/superdoc/dist/chunks/src-D3mGOQvT.es.js
|
|
115439
115442
|
function isNodeType(node2, name) {
|
|
115440
115443
|
return node2.type.name === name;
|
|
115441
115444
|
}
|
|
@@ -140721,8 +140724,26 @@ function executeListComments(adapter, query) {
|
|
|
140721
140724
|
return adapter.list(query);
|
|
140722
140725
|
}
|
|
140723
140726
|
function normalizeSelector(selector) {
|
|
140724
|
-
if ("type" in selector)
|
|
140727
|
+
if ("type" in selector) {
|
|
140728
|
+
if (selector.type === "text") {
|
|
140729
|
+
const text4 = selector;
|
|
140730
|
+
return {
|
|
140731
|
+
type: "text",
|
|
140732
|
+
pattern: text4.pattern,
|
|
140733
|
+
...text4.mode != null && { mode: text4.mode },
|
|
140734
|
+
...text4.caseSensitive != null && { caseSensitive: text4.caseSensitive }
|
|
140735
|
+
};
|
|
140736
|
+
}
|
|
140737
|
+
if (selector.type === "node") {
|
|
140738
|
+
const node2 = selector;
|
|
140739
|
+
return {
|
|
140740
|
+
type: "node",
|
|
140741
|
+
...node2.nodeType != null && { nodeType: node2.nodeType },
|
|
140742
|
+
...node2.kind != null && { kind: node2.kind }
|
|
140743
|
+
};
|
|
140744
|
+
}
|
|
140725
140745
|
return selector;
|
|
140746
|
+
}
|
|
140726
140747
|
return {
|
|
140727
140748
|
type: "node",
|
|
140728
140749
|
nodeType: selector.nodeType
|
|
@@ -141920,10 +141941,25 @@ function toBlockAddress(candidate) {
|
|
|
141920
141941
|
nodeId: candidate.nodeId
|
|
141921
141942
|
};
|
|
141922
141943
|
}
|
|
141944
|
+
function resolveParagraphAliasId(node2, primaryId) {
|
|
141945
|
+
if (node2.type.name !== "paragraph")
|
|
141946
|
+
return;
|
|
141947
|
+
const attrs = node2.attrs;
|
|
141948
|
+
const sdBlockId = toId(attrs?.sdBlockId);
|
|
141949
|
+
if (sdBlockId && sdBlockId !== primaryId)
|
|
141950
|
+
return sdBlockId;
|
|
141951
|
+
}
|
|
141923
141952
|
function buildBlockIndex(editor) {
|
|
141924
141953
|
const candidates = [];
|
|
141925
141954
|
const byId = /* @__PURE__ */ new Map;
|
|
141926
141955
|
const ambiguous = /* @__PURE__ */ new Set;
|
|
141956
|
+
function registerKey(key$1, candidate) {
|
|
141957
|
+
if (byId.has(key$1)) {
|
|
141958
|
+
ambiguous.add(key$1);
|
|
141959
|
+
byId.delete(key$1);
|
|
141960
|
+
} else if (!ambiguous.has(key$1))
|
|
141961
|
+
byId.set(key$1, candidate);
|
|
141962
|
+
}
|
|
141927
141963
|
editor.state.doc.descendants((node2, pos) => {
|
|
141928
141964
|
const nodeType = mapBlockNodeType(node2);
|
|
141929
141965
|
if (!nodeType)
|
|
@@ -141939,12 +141975,10 @@ function buildBlockIndex(editor) {
|
|
|
141939
141975
|
nodeId
|
|
141940
141976
|
};
|
|
141941
141977
|
candidates.push(candidate);
|
|
141942
|
-
|
|
141943
|
-
|
|
141944
|
-
|
|
141945
|
-
|
|
141946
|
-
} else if (!ambiguous.has(key$1))
|
|
141947
|
-
byId.set(key$1, candidate);
|
|
141978
|
+
registerKey(`${nodeType}:${nodeId}`, candidate);
|
|
141979
|
+
const aliasId = resolveParagraphAliasId(node2, nodeId);
|
|
141980
|
+
if (aliasId)
|
|
141981
|
+
registerKey(`${nodeType}:${aliasId}`, candidate);
|
|
141948
141982
|
});
|
|
141949
141983
|
return {
|
|
141950
141984
|
candidates,
|
|
@@ -141958,14 +141992,17 @@ function findBlockById(index2, address) {
|
|
|
141958
141992
|
}
|
|
141959
141993
|
function findBlockByNodeIdOnly(index2, nodeId) {
|
|
141960
141994
|
const matches2 = index2.candidates.filter((candidate) => candidate.nodeId === nodeId);
|
|
141961
|
-
if (matches2.length ===
|
|
141962
|
-
|
|
141995
|
+
if (matches2.length === 1)
|
|
141996
|
+
return matches2[0];
|
|
141963
141997
|
if (matches2.length > 1)
|
|
141964
141998
|
throw new DocumentApiAdapterError("AMBIGUOUS_TARGET", `Multiple blocks share nodeId "${nodeId}".`, {
|
|
141965
141999
|
nodeId,
|
|
141966
142000
|
count: matches2.length
|
|
141967
142001
|
});
|
|
141968
|
-
|
|
142002
|
+
for (const [key$1, candidate] of index2.byId)
|
|
142003
|
+
if (key$1.endsWith(`:${nodeId}`))
|
|
142004
|
+
return candidate;
|
|
142005
|
+
throw new DocumentApiAdapterError("TARGET_NOT_FOUND", `Block with nodeId "${nodeId}" was not found.`, { nodeId });
|
|
141969
142006
|
}
|
|
141970
142007
|
function isTextBlockCandidate(candidate) {
|
|
141971
142008
|
const node2 = candidate.node;
|
|
@@ -143140,8 +143177,7 @@ function createParagraphAdapter(editor, input2, options) {
|
|
|
143140
143177
|
clearIndexCache(editor);
|
|
143141
143178
|
try {
|
|
143142
143179
|
const paragraph2 = resolveCreatedParagraph(editor, paragraphId);
|
|
143143
|
-
|
|
143144
|
-
return buildParagraphCreateSuccess(paragraph2.nodeId, trackedChangeRefs);
|
|
143180
|
+
return buildParagraphCreateSuccess(paragraphId, mode === "tracked" ? collectTrackInsertRefsInRange(editor, paragraph2.pos, paragraph2.end) : undefined);
|
|
143145
143181
|
} catch {
|
|
143146
143182
|
return buildParagraphCreateSuccess(paragraphId);
|
|
143147
143183
|
}
|
|
@@ -143251,8 +143287,7 @@ function createHeadingAdapter(editor, input2, options) {
|
|
|
143251
143287
|
clearIndexCache(editor);
|
|
143252
143288
|
try {
|
|
143253
143289
|
const heading3 = resolveCreatedHeading(editor, headingId);
|
|
143254
|
-
|
|
143255
|
-
return buildHeadingCreateSuccess(heading3.nodeId, trackedChangeRefs);
|
|
143290
|
+
return buildHeadingCreateSuccess(headingId, mode === "tracked" ? collectTrackInsertRefsInRange(editor, heading3.pos, heading3.end) : undefined);
|
|
143256
143291
|
} catch {
|
|
143257
143292
|
return buildHeadingCreateSuccess(headingId);
|
|
143258
143293
|
}
|
|
@@ -144131,6 +144166,9 @@ function formatStrikethroughAdapter(editor, input2, options) {
|
|
|
144131
144166
|
return formatMarkAdapter(editor, "strike", "format.strikethrough", input2, options);
|
|
144132
144167
|
}
|
|
144133
144168
|
function findBlocksByTypeAndId(blockIndex, nodeType, nodeId) {
|
|
144169
|
+
const byIdMatch = blockIndex.byId.get(`${nodeType}:${nodeId}`);
|
|
144170
|
+
if (byIdMatch)
|
|
144171
|
+
return [byIdMatch];
|
|
144134
144172
|
return blockIndex.candidates.filter((candidate) => candidate.nodeType === nodeType && candidate.nodeId === nodeId);
|
|
144135
144173
|
}
|
|
144136
144174
|
function getNodeAdapter(editor, address) {
|
|
@@ -144162,14 +144200,20 @@ function resolveBlockById(editor, nodeId, nodeType) {
|
|
|
144162
144200
|
};
|
|
144163
144201
|
}
|
|
144164
144202
|
const matches2 = blockIndex.candidates.filter((candidate) => candidate.nodeId === nodeId);
|
|
144165
|
-
if (matches2.length ===
|
|
144166
|
-
|
|
144203
|
+
if (matches2.length === 1)
|
|
144204
|
+
return {
|
|
144205
|
+
candidate: matches2[0],
|
|
144206
|
+
resolvedType: matches2[0].nodeType
|
|
144207
|
+
};
|
|
144167
144208
|
if (matches2.length > 1)
|
|
144168
144209
|
throw new DocumentApiAdapterError("TARGET_NOT_FOUND", `Multiple nodes share id "${nodeId}". Provide nodeType to disambiguate.`);
|
|
144169
|
-
|
|
144170
|
-
|
|
144171
|
-
|
|
144172
|
-
|
|
144210
|
+
for (const [key$1, candidate] of blockIndex.byId)
|
|
144211
|
+
if (key$1.endsWith(`:${nodeId}`))
|
|
144212
|
+
return {
|
|
144213
|
+
candidate,
|
|
144214
|
+
resolvedType: candidate.nodeType
|
|
144215
|
+
};
|
|
144216
|
+
throw new DocumentApiAdapterError("TARGET_NOT_FOUND", `Node not found for id "${nodeId}".`);
|
|
144173
144217
|
}
|
|
144174
144218
|
function getNodeByIdAdapter(editor, input2) {
|
|
144175
144219
|
const { nodeId, nodeType } = input2;
|
|
@@ -208233,8 +208277,8 @@ function stubFalse() {
|
|
|
208233
208277
|
return false;
|
|
208234
208278
|
}
|
|
208235
208279
|
var stubFalse_default = stubFalse;
|
|
208236
|
-
var freeExports$2 = typeof
|
|
208237
|
-
var freeModule$2 = freeExports$2 && typeof
|
|
208280
|
+
var freeExports$2 = typeof exports_src_D3mGOQvT_es == "object" && exports_src_D3mGOQvT_es && !exports_src_D3mGOQvT_es.nodeType && exports_src_D3mGOQvT_es;
|
|
208281
|
+
var freeModule$2 = freeExports$2 && typeof module_src_D3mGOQvT_es == "object" && module_src_D3mGOQvT_es && !module_src_D3mGOQvT_es.nodeType && module_src_D3mGOQvT_es;
|
|
208238
208282
|
var Buffer$1 = freeModule$2 && freeModule$2.exports === freeExports$2 ? _root_default.Buffer : undefined;
|
|
208239
208283
|
var isBuffer_default = (Buffer$1 ? Buffer$1.isBuffer : undefined) || stubFalse_default;
|
|
208240
208284
|
var argsTag$1 = "[object Arguments]";
|
|
@@ -208274,8 +208318,8 @@ function baseUnary(func) {
|
|
|
208274
208318
|
};
|
|
208275
208319
|
}
|
|
208276
208320
|
var _baseUnary_default = baseUnary;
|
|
208277
|
-
var freeExports$1 = typeof
|
|
208278
|
-
var freeModule$1 = freeExports$1 && typeof
|
|
208321
|
+
var freeExports$1 = typeof exports_src_D3mGOQvT_es == "object" && exports_src_D3mGOQvT_es && !exports_src_D3mGOQvT_es.nodeType && exports_src_D3mGOQvT_es;
|
|
208322
|
+
var freeModule$1 = freeExports$1 && typeof module_src_D3mGOQvT_es == "object" && module_src_D3mGOQvT_es && !module_src_D3mGOQvT_es.nodeType && module_src_D3mGOQvT_es;
|
|
208279
208323
|
var freeProcess = freeModule$1 && freeModule$1.exports === freeExports$1 && _freeGlobal_default.process;
|
|
208280
208324
|
var _nodeUtil_default = function() {
|
|
208281
208325
|
try {
|
|
@@ -208656,8 +208700,8 @@ Stack.prototype.get = _stackGet_default;
|
|
|
208656
208700
|
Stack.prototype.has = _stackHas_default;
|
|
208657
208701
|
Stack.prototype.set = _stackSet_default;
|
|
208658
208702
|
var _Stack_default = Stack;
|
|
208659
|
-
var freeExports = typeof
|
|
208660
|
-
var freeModule = freeExports && typeof
|
|
208703
|
+
var freeExports = typeof exports_src_D3mGOQvT_es == "object" && exports_src_D3mGOQvT_es && !exports_src_D3mGOQvT_es.nodeType && exports_src_D3mGOQvT_es;
|
|
208704
|
+
var freeModule = freeExports && typeof module_src_D3mGOQvT_es == "object" && module_src_D3mGOQvT_es && !module_src_D3mGOQvT_es.nodeType && module_src_D3mGOQvT_es;
|
|
208661
208705
|
var Buffer4 = freeModule && freeModule.exports === freeExports ? _root_default.Buffer : undefined;
|
|
208662
208706
|
var allocUnsafe = Buffer4 ? Buffer4.allocUnsafe : undefined;
|
|
208663
208707
|
function cloneBuffer(buffer4, isDeep) {
|
|
@@ -219972,6 +220016,23 @@ function executeListComments2(adapter, query2) {
|
|
|
219972
220016
|
// ../../packages/document-api/src/find/find.ts
|
|
219973
220017
|
function normalizeSelector2(selector) {
|
|
219974
220018
|
if ("type" in selector) {
|
|
220019
|
+
if (selector.type === "text") {
|
|
220020
|
+
const text4 = selector;
|
|
220021
|
+
return {
|
|
220022
|
+
type: "text",
|
|
220023
|
+
pattern: text4.pattern,
|
|
220024
|
+
...text4.mode != null && { mode: text4.mode },
|
|
220025
|
+
...text4.caseSensitive != null && { caseSensitive: text4.caseSensitive }
|
|
220026
|
+
};
|
|
220027
|
+
}
|
|
220028
|
+
if (selector.type === "node") {
|
|
220029
|
+
const node3 = selector;
|
|
220030
|
+
return {
|
|
220031
|
+
type: "node",
|
|
220032
|
+
...node3.nodeType != null && { nodeType: node3.nodeType },
|
|
220033
|
+
...node3.kind != null && { kind: node3.kind }
|
|
220034
|
+
};
|
|
220035
|
+
}
|
|
219975
220036
|
return selector;
|
|
219976
220037
|
}
|
|
219977
220038
|
return { type: "node", nodeType: selector.nodeType };
|
|
@@ -225307,10 +225368,27 @@ function toBlockAddress2(candidate) {
|
|
|
225307
225368
|
nodeId: candidate.nodeId
|
|
225308
225369
|
};
|
|
225309
225370
|
}
|
|
225371
|
+
function resolveParagraphAliasId2(node3, primaryId) {
|
|
225372
|
+
if (node3.type.name !== "paragraph")
|
|
225373
|
+
return;
|
|
225374
|
+
const attrs = node3.attrs;
|
|
225375
|
+
const sdBlockId = toId2(attrs?.sdBlockId);
|
|
225376
|
+
if (sdBlockId && sdBlockId !== primaryId)
|
|
225377
|
+
return sdBlockId;
|
|
225378
|
+
return;
|
|
225379
|
+
}
|
|
225310
225380
|
function buildBlockIndex2(editor) {
|
|
225311
225381
|
const candidates = [];
|
|
225312
225382
|
const byId = new Map;
|
|
225313
225383
|
const ambiguous = new Set;
|
|
225384
|
+
function registerKey(key2, candidate) {
|
|
225385
|
+
if (byId.has(key2)) {
|
|
225386
|
+
ambiguous.add(key2);
|
|
225387
|
+
byId.delete(key2);
|
|
225388
|
+
} else if (!ambiguous.has(key2)) {
|
|
225389
|
+
byId.set(key2, candidate);
|
|
225390
|
+
}
|
|
225391
|
+
}
|
|
225314
225392
|
editor.state.doc.descendants((node3, pos) => {
|
|
225315
225393
|
const nodeType = mapBlockNodeType2(node3);
|
|
225316
225394
|
if (!nodeType)
|
|
@@ -225326,12 +225404,10 @@ function buildBlockIndex2(editor) {
|
|
|
225326
225404
|
nodeId
|
|
225327
225405
|
};
|
|
225328
225406
|
candidates.push(candidate);
|
|
225329
|
-
|
|
225330
|
-
|
|
225331
|
-
|
|
225332
|
-
|
|
225333
|
-
} else if (!ambiguous.has(key2)) {
|
|
225334
|
-
byId.set(key2, candidate);
|
|
225407
|
+
registerKey(`${nodeType}:${nodeId}`, candidate);
|
|
225408
|
+
const aliasId = resolveParagraphAliasId2(node3, nodeId);
|
|
225409
|
+
if (aliasId) {
|
|
225410
|
+
registerKey(`${nodeType}:${aliasId}`, candidate);
|
|
225335
225411
|
}
|
|
225336
225412
|
});
|
|
225337
225413
|
return { candidates, byId };
|
|
@@ -225343,16 +225419,19 @@ function findBlockById2(index2, address2) {
|
|
|
225343
225419
|
}
|
|
225344
225420
|
function findBlockByNodeIdOnly2(index2, nodeId) {
|
|
225345
225421
|
const matches3 = index2.candidates.filter((candidate) => candidate.nodeId === nodeId);
|
|
225346
|
-
if (matches3.length ===
|
|
225347
|
-
|
|
225348
|
-
}
|
|
225422
|
+
if (matches3.length === 1)
|
|
225423
|
+
return matches3[0];
|
|
225349
225424
|
if (matches3.length > 1) {
|
|
225350
225425
|
throw new DocumentApiAdapterError3("AMBIGUOUS_TARGET", `Multiple blocks share nodeId "${nodeId}".`, {
|
|
225351
225426
|
nodeId,
|
|
225352
225427
|
count: matches3.length
|
|
225353
225428
|
});
|
|
225354
225429
|
}
|
|
225355
|
-
|
|
225430
|
+
for (const [key2, candidate] of index2.byId) {
|
|
225431
|
+
if (key2.endsWith(`:${nodeId}`))
|
|
225432
|
+
return candidate;
|
|
225433
|
+
}
|
|
225434
|
+
throw new DocumentApiAdapterError3("TARGET_NOT_FOUND", `Block with nodeId "${nodeId}" was not found.`, { nodeId });
|
|
225356
225435
|
}
|
|
225357
225436
|
function isTextBlockCandidate2(candidate) {
|
|
225358
225437
|
const node3 = candidate.node;
|
|
@@ -226638,7 +226717,7 @@ function createParagraphAdapter2(editor, input2, options) {
|
|
|
226638
226717
|
try {
|
|
226639
226718
|
const paragraph2 = resolveCreatedParagraph2(editor, paragraphId);
|
|
226640
226719
|
const trackedChangeRefs = mode === "tracked" ? collectTrackInsertRefsInRange2(editor, paragraph2.pos, paragraph2.end) : undefined;
|
|
226641
|
-
return buildParagraphCreateSuccess2(
|
|
226720
|
+
return buildParagraphCreateSuccess2(paragraphId, trackedChangeRefs);
|
|
226642
226721
|
} catch {
|
|
226643
226722
|
return buildParagraphCreateSuccess2(paragraphId);
|
|
226644
226723
|
}
|
|
@@ -226753,7 +226832,7 @@ function createHeadingAdapter2(editor, input2, options) {
|
|
|
226753
226832
|
try {
|
|
226754
226833
|
const heading3 = resolveCreatedHeading2(editor, headingId);
|
|
226755
226834
|
const trackedChangeRefs = mode === "tracked" ? collectTrackInsertRefsInRange2(editor, heading3.pos, heading3.end) : undefined;
|
|
226756
|
-
return buildHeadingCreateSuccess2(
|
|
226835
|
+
return buildHeadingCreateSuccess2(headingId, trackedChangeRefs);
|
|
226757
226836
|
} catch {
|
|
226758
226837
|
return buildHeadingCreateSuccess2(headingId);
|
|
226759
226838
|
}
|
|
@@ -227635,6 +227714,9 @@ function formatStrikethroughAdapter2(editor, input2, options) {
|
|
|
227635
227714
|
|
|
227636
227715
|
// ../../packages/super-editor/src/document-api-adapters/get-node-adapter.ts
|
|
227637
227716
|
function findBlocksByTypeAndId2(blockIndex, nodeType, nodeId) {
|
|
227717
|
+
const byIdMatch = blockIndex.byId.get(`${nodeType}:${nodeId}`);
|
|
227718
|
+
if (byIdMatch)
|
|
227719
|
+
return [byIdMatch];
|
|
227638
227720
|
return blockIndex.candidates.filter((candidate) => candidate.nodeType === nodeType && candidate.nodeId === nodeId);
|
|
227639
227721
|
}
|
|
227640
227722
|
function getNodeAdapter2(editor, address2) {
|
|
@@ -227669,13 +227751,18 @@ function resolveBlockById2(editor, nodeId, nodeType) {
|
|
|
227669
227751
|
return { candidate: matches4[0], resolvedType: nodeType };
|
|
227670
227752
|
}
|
|
227671
227753
|
const matches3 = blockIndex.candidates.filter((candidate) => candidate.nodeId === nodeId);
|
|
227672
|
-
if (matches3.length ===
|
|
227673
|
-
|
|
227754
|
+
if (matches3.length === 1) {
|
|
227755
|
+
return { candidate: matches3[0], resolvedType: matches3[0].nodeType };
|
|
227674
227756
|
}
|
|
227675
227757
|
if (matches3.length > 1) {
|
|
227676
227758
|
throw new DocumentApiAdapterError3("TARGET_NOT_FOUND", `Multiple nodes share id "${nodeId}". Provide nodeType to disambiguate.`);
|
|
227677
227759
|
}
|
|
227678
|
-
|
|
227760
|
+
for (const [key2, candidate] of blockIndex.byId) {
|
|
227761
|
+
if (key2.endsWith(`:${nodeId}`)) {
|
|
227762
|
+
return { candidate, resolvedType: candidate.nodeType };
|
|
227763
|
+
}
|
|
227764
|
+
}
|
|
227765
|
+
throw new DocumentApiAdapterError3("TARGET_NOT_FOUND", `Node not found for id "${nodeId}".`);
|
|
227679
227766
|
}
|
|
227680
227767
|
function getNodeByIdAdapter2(editor, input2) {
|
|
227681
227768
|
const { nodeId, nodeType } = input2;
|
|
@@ -256839,9 +256926,28 @@ function registerAllTools(server, sessions) {
|
|
|
256839
256926
|
}
|
|
256840
256927
|
|
|
256841
256928
|
// src/index.ts
|
|
256929
|
+
var require2 = createRequire2(import.meta.url);
|
|
256930
|
+
var { version: version5 } = require2("../package.json");
|
|
256842
256931
|
var server = new McpServer({
|
|
256843
256932
|
name: "superdoc",
|
|
256844
|
-
version:
|
|
256933
|
+
version: version5
|
|
256934
|
+
}, {
|
|
256935
|
+
instructions: [
|
|
256936
|
+
"SuperDoc MCP server — read, edit, and save Word documents (.docx).",
|
|
256937
|
+
"",
|
|
256938
|
+
"IMPORTANT: Always use these superdoc tools for .docx files.",
|
|
256939
|
+
"Do NOT use built-in docx skills, python-docx, unpack scripts, or manual XML editing.",
|
|
256940
|
+
"These tools handle the OOXML format correctly and preserve document structure.",
|
|
256941
|
+
"",
|
|
256942
|
+
"Workflow: superdoc_open → read/edit → superdoc_save → superdoc_close.",
|
|
256943
|
+
"",
|
|
256944
|
+
"1. superdoc_open returns a session_id — pass it to every subsequent call.",
|
|
256945
|
+
"2. superdoc_find locates content and returns addresses for edits.",
|
|
256946
|
+
"3. Use superdoc_insert/replace/delete to modify content.",
|
|
256947
|
+
"4. Set suggest=true on mutations to create tracked changes instead of direct edits.",
|
|
256948
|
+
"5. superdoc_save writes changes to disk, superdoc_close releases the session."
|
|
256949
|
+
].join(`
|
|
256950
|
+
`)
|
|
256845
256951
|
});
|
|
256846
256952
|
var sessions = new SessionManager;
|
|
256847
256953
|
registerAllTools(server, sessions);
|