@superdoc-dev/mcp 0.12.0-next.50 → 0.12.0-next.51

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 (2) hide show
  1. package/dist/index.js +112 -36
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -50479,7 +50479,7 @@ var init_remark_gfm_BUJjZJLy_es = __esm(() => {
50479
50479
  emptyOptions2 = {};
50480
50480
  });
50481
50481
 
50482
- // ../../packages/superdoc/dist/chunks/SuperConverter-DlrS7cQT.es.js
50482
+ // ../../packages/superdoc/dist/chunks/SuperConverter-ObBDHFlA.es.js
50483
50483
  function getExtensionConfigField(extension$1, field, context = { name: "" }) {
50484
50484
  const fieldValue = extension$1.config[field];
50485
50485
  if (typeof fieldValue === "function")
@@ -59230,6 +59230,18 @@ function generateDocxRandomId(length = 8) {
59230
59230
  function generateRandomSigned32BitIntStrId() {
59231
59231
  return Math.floor(Math.random() * 2147483647).toString();
59232
59232
  }
59233
+ function addLinkMarkToContentNode(contentNode, linkMark, referenceNodeTypes) {
59234
+ if (contentNode.name === "w:ins" || contentNode.name === "w:del") {
59235
+ (contentNode.elements || []).forEach((child) => addLinkMarkToContentNode(child, linkMark, referenceNodeTypes));
59236
+ return;
59237
+ }
59238
+ if (contentNode.name !== "w:r" && !referenceNodeTypes.includes(contentNode.name))
59239
+ return;
59240
+ addLinkMark(contentNode, linkMark);
59241
+ }
59242
+ function addLinkMark(node2, linkMark) {
59243
+ node2.marks = [...(Array.isArray(node2.marks) ? node2.marks : []).filter((mark) => mark?.type !== "link"), linkMark];
59244
+ }
59233
59245
  function decode$68(params) {
59234
59246
  const { hyperlinkGroup = [params.node] } = params.extraParams || {};
59235
59247
  const linkMark = hyperlinkGroup[0].marks.find((m) => m.type === "link");
@@ -59238,17 +59250,29 @@ function decode$68(params) {
59238
59250
  node: linkMark
59239
59251
  });
59240
59252
  let { href: link2, anchor } = linkMark.attrs;
59241
- if (!linkAttrs["r:id"] && !anchor)
59242
- linkAttrs["r:id"] = _addNewLinkRelationship(params, link2);
59243
59253
  let contentNodes = [];
59244
59254
  hyperlinkGroup.forEach((linkNode) => {
59255
+ let nodeWithoutLink = linkNode;
59245
59256
  if ("marks" in linkNode)
59246
- linkNode.marks = linkNode.marks.filter((m) => m.type !== "link");
59257
+ nodeWithoutLink = {
59258
+ ...linkNode,
59259
+ marks: linkNode.marks.filter((m) => m.type !== "link")
59260
+ };
59247
59261
  else
59248
- linkNode.attrs.marksAsAttrs = linkNode.attrs.marksAsAttrs.filter((m) => m.type !== "link");
59262
+ nodeWithoutLink = {
59263
+ ...linkNode,
59264
+ attrs: {
59265
+ ...linkNode.attrs,
59266
+ marksAsAttrs: linkNode.attrs.marksAsAttrs.filter((m) => m.type !== "link")
59267
+ }
59268
+ };
59249
59269
  const outputNode = exportSchemaToJson({
59250
59270
  ...params,
59251
- node: linkNode
59271
+ node: nodeWithoutLink,
59272
+ extraParams: {
59273
+ ...params.extraParams,
59274
+ linkProcessed: true
59275
+ }
59252
59276
  });
59253
59277
  if (outputNode)
59254
59278
  if (outputNode instanceof Array)
@@ -59256,6 +59280,10 @@ function decode$68(params) {
59256
59280
  else
59257
59281
  contentNodes.push(outputNode);
59258
59282
  });
59283
+ if (!contentNodes.length)
59284
+ return null;
59285
+ if (!linkAttrs["r:id"] && !anchor)
59286
+ linkAttrs["r:id"] = _addNewLinkRelationship(params, link2);
59259
59287
  return {
59260
59288
  name: "w:hyperlink",
59261
59289
  type: "element",
@@ -99354,9 +99382,10 @@ var isRegExp = (value) => {
99354
99382
  "sd:autoPageNumber",
99355
99383
  "sd:totalPageNumber"
99356
99384
  ];
99357
- const contentNodes = node2.elements.filter((el) => el.name === "w:r" || referenceNodeTypes.includes(el.name));
99385
+ const revisionNodeTypes = ["w:ins", "w:del"];
99386
+ const contentNodes = node2.elements.filter((el) => el.name === "w:r" || revisionNodeTypes.includes(el.name) || referenceNodeTypes.includes(el.name));
99358
99387
  contentNodes.forEach((contentNode) => {
99359
- contentNode.marks = [...(Array.isArray(contentNode.marks) ? contentNode.marks : []).filter((mark) => mark?.type !== "link"), linkMark];
99388
+ addLinkMarkToContentNode(contentNode, linkMark, referenceNodeTypes);
99360
99389
  });
99361
99390
  return nodeListHandler.handler({
99362
99391
  ...params,
@@ -112310,6 +112339,12 @@ var isRegExp = (value) => {
112310
112339
  return null;
112311
112340
  const trackedMarks = ["trackDelete", "trackInsert"];
112312
112341
  const trackedMark = node2.marks?.find((m) => trackedMarks.includes(m.type));
112342
+ const isLinkNode = node2.marks?.some((m) => m.type === "link");
112343
+ const isGroupedHyperlinkExport = isLinkNode && !extraParams?.linkProcessed && Array.isArray(extraParams?.hyperlinkGroup) && extraParams.hyperlinkGroup.length > 1;
112344
+ if (params.isFinalDoc && trackedMark?.type === "trackDelete" && !isGroupedHyperlinkExport)
112345
+ return translator$59.decode(params);
112346
+ if (isLinkNode && trackedMark && !extraParams?.linkProcessed)
112347
+ return translator$78.decode(params);
112313
112348
  if (trackedMark)
112314
112349
  switch (trackedMark.type) {
112315
112350
  case "trackDelete":
@@ -112317,7 +112352,7 @@ var isRegExp = (value) => {
112317
112352
  case "trackInsert":
112318
112353
  return translator$84.decode(params);
112319
112354
  }
112320
- if (node2.marks?.some((m) => m.type === "link") && !extraParams?.linkProcessed)
112355
+ if (isLinkNode && !extraParams?.linkProcessed)
112321
112356
  return translator$78.decode(params);
112322
112357
  const { text: text$2, marks = [] } = node2;
112323
112358
  return getTextNodeForExport(text$2, marks, params);
@@ -119084,7 +119119,7 @@ Docs: https://docs.superdoc.dev/getting-started/fonts`);
119084
119119
  state.kern = kernNode.attributes["w:val"];
119085
119120
  }
119086
119121
  }, SuperConverter;
119087
- var init_SuperConverter_DlrS7cQT_es = __esm(() => {
119122
+ var init_SuperConverter_ObBDHFlA_es = __esm(() => {
119088
119123
  init_rolldown_runtime_Bg48TavK_es();
119089
119124
  init_jszip_C49i9kUs_es();
119090
119125
  init_xml_js_CqGKpaft_es();
@@ -148100,7 +148135,7 @@ var init_SuperConverter_DlrS7cQT_es = __esm(() => {
148100
148135
  };
148101
148136
  });
148102
148137
 
148103
- // ../../packages/superdoc/dist/chunks/create-headless-toolbar-0mIJ8-xU.es.js
148138
+ // ../../packages/superdoc/dist/chunks/create-headless-toolbar-DZSiiGb6.es.js
148104
148139
  function parseSizeUnit(val = "0") {
148105
148140
  const length = val.toString() || "0";
148106
148141
  const value = Number.parseFloat(length);
@@ -158921,9 +158956,9 @@ var CSS_DIMENSION_REGEX, DOM_SIZE_UNITS, MARK_KEYS, STEP_OP_CATALOG_UNFROZEN, PU
158921
158956
  }
158922
158957
  };
158923
158958
  };
158924
- var init_create_headless_toolbar_0mIJ8_xU_es = __esm(() => {
158959
+ var init_create_headless_toolbar_DZSiiGb6_es = __esm(() => {
158925
158960
  init_rolldown_runtime_Bg48TavK_es();
158926
- init_SuperConverter_DlrS7cQT_es();
158961
+ init_SuperConverter_ObBDHFlA_es();
158927
158962
  init_jszip_C49i9kUs_es();
158928
158963
  init_uuid_B2wVPhPi_es();
158929
158964
  init_constants_D9qj59G2_es();
@@ -214537,7 +214572,7 @@ var init_remark_gfm_DCND_V_3_es = __esm(() => {
214537
214572
  init_remark_gfm_BUJjZJLy_es();
214538
214573
  });
214539
214574
 
214540
- // ../../packages/superdoc/dist/chunks/src-Dra6R0wc.es.js
214575
+ // ../../packages/superdoc/dist/chunks/src-CHyLJ11V.es.js
214541
214576
  function deleteProps(obj, propOrProps) {
214542
214577
  const props = typeof propOrProps === "string" ? [propOrProps] : propOrProps;
214543
214578
  const removeNested = (target, pathParts, index2 = 0) => {
@@ -315524,13 +315559,13 @@ menclose::after {
315524
315559
  return;
315525
315560
  console.log(...args$1);
315526
315561
  }, HEADER_FOOTER_INIT_BUDGET_MS = 200, MAX_ZOOM_WARNING_THRESHOLD = 10, MAX_SELECTION_RECTS_PER_USER = 100, SEMANTIC_RESIZE_DEBOUNCE_MS = 120, MIN_SEMANTIC_CONTENT_WIDTH_PX = 1, GLOBAL_PERFORMANCE, PresentationEditor, ICONS, TEXTS, tableActionsOptions, TRACKED_MARK_NAMES;
315527
- var init_src_Dra6R0wc_es = __esm(() => {
315562
+ var init_src_CHyLJ11V_es = __esm(() => {
315528
315563
  init_rolldown_runtime_Bg48TavK_es();
315529
- init_SuperConverter_DlrS7cQT_es();
315564
+ init_SuperConverter_ObBDHFlA_es();
315530
315565
  init_jszip_C49i9kUs_es();
315531
315566
  init_xml_js_CqGKpaft_es();
315532
315567
  init_uuid_B2wVPhPi_es();
315533
- init_create_headless_toolbar_0mIJ8_xU_es();
315568
+ init_create_headless_toolbar_DZSiiGb6_es();
315534
315569
  init_constants_D9qj59G2_es();
315535
315570
  init_unified_BDuVPlMu_es();
315536
315571
  init_remark_gfm_BUJjZJLy_es();
@@ -358837,11 +358872,11 @@ function print() { __p += __j.call(arguments, '') }
358837
358872
  ]);
358838
358873
  });
358839
358874
 
358840
- // ../../packages/superdoc/dist/chunks/create-super-doc-ui-BNkolmSw.es.js
358875
+ // ../../packages/superdoc/dist/chunks/create-super-doc-ui-DwykmGCU.es.js
358841
358876
  var DEFAULT_TEXT_ALIGN_OPTIONS, DEFAULT_LINE_HEIGHT_OPTIONS, DEFAULT_ZOOM_OPTIONS, DEFAULT_DOCUMENT_MODE_OPTIONS, DEFAULT_FONT_SIZE_OPTIONS, headlessToolbarConstants, MOD_ALIASES, ALT_ALIASES, CTRL_ALIASES, SHIFT_ALIASES, BUILTIN_CONTEXT_MENU_GROUPS, BUILTIN_GROUP_ORDER, RESERVED_PROXY_PROPERTY_NAMES, ALL_TOOLBAR_COMMAND_IDS, EMPTY_ACTIVE_IDS, FONT_SIZE_OPTIONS;
358842
- var init_create_super_doc_ui_BNkolmSw_es = __esm(() => {
358843
- init_SuperConverter_DlrS7cQT_es();
358844
- init_create_headless_toolbar_0mIJ8_xU_es();
358877
+ var init_create_super_doc_ui_DwykmGCU_es = __esm(() => {
358878
+ init_SuperConverter_ObBDHFlA_es();
358879
+ init_create_headless_toolbar_DZSiiGb6_es();
358845
358880
  DEFAULT_TEXT_ALIGN_OPTIONS = [
358846
358881
  {
358847
358882
  label: "Left",
@@ -359132,15 +359167,15 @@ var init_zipper_BxRAi0_5_es = __esm(() => {
359132
359167
 
359133
359168
  // ../../packages/superdoc/dist/super-editor.es.js
359134
359169
  var init_super_editor_es = __esm(() => {
359135
- init_src_Dra6R0wc_es();
359136
- init_SuperConverter_DlrS7cQT_es();
359170
+ init_src_CHyLJ11V_es();
359171
+ init_SuperConverter_ObBDHFlA_es();
359137
359172
  init_jszip_C49i9kUs_es();
359138
359173
  init_xml_js_CqGKpaft_es();
359139
- init_create_headless_toolbar_0mIJ8_xU_es();
359174
+ init_create_headless_toolbar_DZSiiGb6_es();
359140
359175
  init_constants_D9qj59G2_es();
359141
359176
  init_unified_BDuVPlMu_es();
359142
359177
  init_DocxZipper_BzS208BW_es();
359143
- init_create_super_doc_ui_BNkolmSw_es();
359178
+ init_create_super_doc_ui_DwykmGCU_es();
359144
359179
  init_ui_CGB3qmy3_es();
359145
359180
  init_eventemitter3_UwU_CLPU_es();
359146
359181
  init_errors_C_DoKMoN_es();
@@ -430502,23 +430537,52 @@ var init_br_translator = __esm(() => {
430502
430537
  });
430503
430538
 
430504
430539
  // ../../packages/super-editor/src/editors/v1/core/super-converter/v3/handlers/w/hyperlink/hyperlink-translator.js
430540
+ function addLinkMarkToContentNode2(contentNode, linkMark, referenceNodeTypes) {
430541
+ if (contentNode.name === "w:ins" || contentNode.name === "w:del") {
430542
+ (contentNode.elements || []).forEach((child) => addLinkMarkToContentNode2(child, linkMark, referenceNodeTypes));
430543
+ return;
430544
+ }
430545
+ if (contentNode.name !== "w:r" && !referenceNodeTypes.includes(contentNode.name)) {
430546
+ return;
430547
+ }
430548
+ addLinkMark2(contentNode, linkMark);
430549
+ }
430550
+ function addLinkMark2(node4, linkMark) {
430551
+ const existingMarks = Array.isArray(node4.marks) ? node4.marks : [];
430552
+ const marksWithoutLink = existingMarks.filter((mark2) => mark2?.type !== "link");
430553
+ node4.marks = [...marksWithoutLink, linkMark];
430554
+ }
430505
430555
  function decode22(params3) {
430506
430556
  const { hyperlinkGroup = [params3.node] } = params3.extraParams || {};
430507
430557
  const node4 = hyperlinkGroup[0];
430508
430558
  const linkMark = node4.marks.find((m2) => m2.type === "link");
430509
430559
  const linkAttrs = this.decodeAttributes({ ...params3, node: linkMark });
430510
430560
  let { href: link3, anchor } = linkMark.attrs;
430511
- if (!linkAttrs["r:id"] && !anchor) {
430512
- linkAttrs["r:id"] = _addNewLinkRelationship2(params3, link3);
430513
- }
430514
430561
  let contentNodes = [];
430515
430562
  hyperlinkGroup.forEach((linkNode) => {
430563
+ let nodeWithoutLink = linkNode;
430516
430564
  if ("marks" in linkNode) {
430517
- linkNode.marks = linkNode.marks.filter((m2) => m2.type !== "link");
430565
+ nodeWithoutLink = {
430566
+ ...linkNode,
430567
+ marks: linkNode.marks.filter((m2) => m2.type !== "link")
430568
+ };
430518
430569
  } else {
430519
- linkNode.attrs.marksAsAttrs = linkNode.attrs.marksAsAttrs.filter((m2) => m2.type !== "link");
430570
+ nodeWithoutLink = {
430571
+ ...linkNode,
430572
+ attrs: {
430573
+ ...linkNode.attrs,
430574
+ marksAsAttrs: linkNode.attrs.marksAsAttrs.filter((m2) => m2.type !== "link")
430575
+ }
430576
+ };
430520
430577
  }
430521
- const outputNode = exportSchemaToJson2({ ...params3, node: linkNode });
430578
+ const outputNode = exportSchemaToJson2({
430579
+ ...params3,
430580
+ node: nodeWithoutLink,
430581
+ extraParams: {
430582
+ ...params3.extraParams,
430583
+ linkProcessed: true
430584
+ }
430585
+ });
430522
430586
  if (outputNode) {
430523
430587
  if (outputNode instanceof Array)
430524
430588
  contentNodes.push(...outputNode);
@@ -430526,6 +430590,12 @@ function decode22(params3) {
430526
430590
  contentNodes.push(outputNode);
430527
430591
  }
430528
430592
  });
430593
+ if (!contentNodes.length) {
430594
+ return null;
430595
+ }
430596
+ if (!linkAttrs["r:id"] && !anchor) {
430597
+ linkAttrs["r:id"] = _addNewLinkRelationship2(params3, link3);
430598
+ }
430529
430599
  const newNode = {
430530
430600
  name: "w:hyperlink",
430531
430601
  type: "element",
@@ -430564,11 +430634,10 @@ var XML_NODE_NAME7 = "w:hyperlink", SD_NODE_NAME5 = "link", _createAttributeHand
430564
430634
  let href = _resolveHref2(docx, encodedAttrs, params3.filename);
430565
430635
  const linkMark = { type: "link", attrs: { ...encodedAttrs, href } };
430566
430636
  const referenceNodeTypes = ["sd:pageReference", "sd:autoPageNumber", "sd:totalPageNumber"];
430567
- const contentNodes = node4.elements.filter((el) => el.name === "w:r" || referenceNodeTypes.includes(el.name));
430637
+ const revisionNodeTypes = ["w:ins", "w:del"];
430638
+ const contentNodes = node4.elements.filter((el) => el.name === "w:r" || revisionNodeTypes.includes(el.name) || referenceNodeTypes.includes(el.name));
430568
430639
  contentNodes.forEach((contentNode) => {
430569
- const existingMarks = Array.isArray(contentNode.marks) ? contentNode.marks : [];
430570
- const marksWithoutLink = existingMarks.filter((mark2) => mark2?.type !== "link");
430571
- contentNode.marks = [...marksWithoutLink, linkMark];
430640
+ addLinkMarkToContentNode2(contentNode, linkMark, referenceNodeTypes);
430572
430641
  });
430573
430642
  const updatedNode = nodeListHandler.handler({
430574
430643
  ...params3,
@@ -458774,6 +458843,14 @@ var XML_NODE_NAME41 = "w:t", SD_NODE_NAME35 = "text", validXmlAttributes14, enco
458774
458843
  }
458775
458844
  const trackedMarks = ["trackDelete", "trackInsert"];
458776
458845
  const trackedMark = node4.marks?.find((m2) => trackedMarks.includes(m2.type));
458846
+ const isLinkNode = node4.marks?.some((m2) => m2.type === "link");
458847
+ const isGroupedHyperlinkExport = isLinkNode && !extraParams?.linkProcessed && Array.isArray(extraParams?.hyperlinkGroup) && extraParams.hyperlinkGroup.length > 1;
458848
+ if (params3.isFinalDoc && trackedMark?.type === "trackDelete" && !isGroupedHyperlinkExport) {
458849
+ return translator118.decode(params3);
458850
+ }
458851
+ if (isLinkNode && trackedMark && !extraParams?.linkProcessed) {
458852
+ return translator116.decode(params3);
458853
+ }
458777
458854
  if (trackedMark) {
458778
458855
  switch (trackedMark.type) {
458779
458856
  case "trackDelete":
@@ -458782,7 +458859,6 @@ var XML_NODE_NAME41 = "w:t", SD_NODE_NAME35 = "text", validXmlAttributes14, enco
458782
458859
  return translator117.decode(params3);
458783
458860
  }
458784
458861
  }
458785
- const isLinkNode = node4.marks?.some((m2) => m2.type === "link");
458786
458862
  if (isLinkNode && !extraParams?.linkProcessed) {
458787
458863
  return translator116.decode(params3);
458788
458864
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@superdoc-dev/mcp",
3
- "version": "0.12.0-next.50",
3
+ "version": "0.12.0-next.51",
4
4
  "type": "module",
5
5
  "engines": {
6
6
  "node": ">=20"