@superdoc/mcp 1.3.0-next.6 → 1.3.0-next.7

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 +103 -34
  2. package/package.json +4 -4
package/dist/index.js CHANGED
@@ -31318,7 +31318,7 @@ var init_host = __esm(() => {
31318
31318
  });
31319
31319
 
31320
31320
  // ../../packages/sdk/langs/node/src/runtime/sdk-version.generated.ts
31321
- var SDK_VERSION = "2.16.0-next.6";
31321
+ var SDK_VERSION = "2.16.0-next.7";
31322
31322
 
31323
31323
  // ../../packages/sdk/langs/node/src/runtime/embedded-platform.ts
31324
31324
  import { chmodSync, existsSync } from "node:fs";
@@ -413754,7 +413754,35 @@ async function bootstrapV2Room(input) {
413754
413754
  diagnostics
413755
413755
  };
413756
413756
  }
413757
+ let supersededClaim = null;
413758
+ if (input.supersedeClaim) {
413759
+ const active = readBootstrapClaims(input.rootDoc).filter((claim) => claim.status === "pending");
413760
+ if (classification.classification !== ROOM_CLASSIFICATION.v2Pending || active.length !== 1 || active[0]?.claimerId !== input.supersedeClaim.claimerId || active[0]?.claimedAt !== input.supersedeClaim.claimedAt || active[0]?.sha256Zip !== seed.sha256Zip || input.supersedeClaim.claimerId === input.claimerId) {
413761
+ diagnostics.push({
413762
+ code: COLLAB_V2_DIAGNOSTICS.COLLAB_V2_BOOTSTRAP_CLAIM_LOST,
413763
+ message: "expired bootstrap claim changed before retry could take over"
413764
+ });
413765
+ return {
413766
+ classification: ROOM_CLASSIFICATION.v2Pending,
413767
+ committed: false,
413768
+ snapshot: readRoomManifest(input.rootDoc).snapshot,
413769
+ survivorClaimerId: active[0]?.claimerId ?? null,
413770
+ diagnostics
413771
+ };
413772
+ }
413773
+ supersededClaim = active[0] ?? null;
413774
+ }
413757
413775
  const publishPendingBootstrap = () => {
413776
+ if (supersededClaim) {
413777
+ writeBootstrapClaim({
413778
+ rootDoc: input.rootDoc,
413779
+ claimerId: supersededClaim.claimerId,
413780
+ claimedAt: supersededClaim.claimedAt,
413781
+ sha256Zip: supersededClaim.sha256Zip,
413782
+ byteLength: supersededClaim.byteLength,
413783
+ status: "aborted"
413784
+ });
413785
+ }
413758
413786
  writeBootstrapClaim({
413759
413787
  rootDoc: input.rootDoc,
413760
413788
  claimerId: input.claimerId,
@@ -413763,22 +413791,24 @@ async function bootstrapV2Room(input) {
413763
413791
  byteLength: seed.byteLength,
413764
413792
  status: "pending"
413765
413793
  });
413766
- writeRoomManifestMeta({
413767
- rootDoc: input.rootDoc,
413768
- roomDocumentId: rootId,
413769
- createdAt,
413770
- createdBy: input.createdBy ?? null,
413771
- createdFrom: {
413772
- kind: "docx",
413773
- sha256Zip: seed.sha256Zip,
413774
- byteLength: seed.byteLength,
413775
- filename: input.filename ?? null,
413776
- migration: input.migration ?? null
413777
- },
413778
- bootstrapState: BOOTSTRAP_STATE.pending,
413779
- compatibilityPolicy: input.compatibilityPolicy ?? DEFAULT_COMPATIBILITY_POLICY,
413780
- schemaVersion
413781
- });
413794
+ if (classification.classification !== ROOM_CLASSIFICATION.v2Pending) {
413795
+ writeRoomManifestMeta({
413796
+ rootDoc: input.rootDoc,
413797
+ roomDocumentId: rootId,
413798
+ createdAt,
413799
+ createdBy: input.createdBy ?? null,
413800
+ createdFrom: {
413801
+ kind: "docx",
413802
+ sha256Zip: seed.sha256Zip,
413803
+ byteLength: seed.byteLength,
413804
+ filename: input.filename ?? null,
413805
+ migration: input.migration ?? null
413806
+ },
413807
+ bootstrapState: BOOTSTRAP_STATE.pending,
413808
+ compatibilityPolicy: input.compatibilityPolicy ?? DEFAULT_COMPATIBILITY_POLICY,
413809
+ schemaVersion
413810
+ });
413811
+ }
413782
413812
  };
413783
413813
  if (replacingExistingRoom) {
413784
413814
  input.rootDoc.transact(() => {
@@ -413786,7 +413816,7 @@ async function bootstrapV2Room(input) {
413786
413816
  publishPendingBootstrap();
413787
413817
  }, "collab-v2:replace:prepare-bootstrap");
413788
413818
  } else {
413789
- publishPendingBootstrap();
413819
+ input.rootDoc.transact(publishPendingBootstrap, "collab-v2:create:prepare-bootstrap");
413790
413820
  }
413791
413821
  const waitForSettling = input.waitForSettling ?? DEFAULT_SETTLING_RESOLVER;
413792
413822
  await waitForSettling();
@@ -436119,6 +436149,8 @@ function createCollabV2SessionProjectionController(options) {
436119
436149
  subscription.unsubscribe();
436120
436150
  }
436121
436151
  for (const handle of options.projectionRegistry.listStories()) {
436152
+ if (handle.rootDoc && handle.scope && getUnitScope(handle.rootDoc, handle.shardId) !== handle.scope)
436153
+ continue;
436122
436154
  disposeStoryBlockIndex(shardReadTarget(handle));
436123
436155
  }
436124
436156
  if (SESSION_PROJECTION_CONTROLLERS.get(options.session) === controller) {
@@ -436727,6 +436759,7 @@ var init_session_controller = __esm(() => {
436727
436759
  init_runtime5();
436728
436760
  init_barrier();
436729
436761
  init_diagnostics2();
436762
+ init_content3();
436730
436763
  init_story_para_id_allocator();
436731
436764
  init_revision_wid_allocator2();
436732
436765
  init_session_controller_origin();
@@ -437093,6 +437126,7 @@ async function bootstrapV2RoomFromDocx(input) {
437093
437126
  docxBytes: input.docxBytes,
437094
437127
  filename: input.filename ?? null,
437095
437128
  claimerId: input.claimerId,
437129
+ ...input.supersedeClaim ? { supersedeClaim: input.supersedeClaim } : {},
437096
437130
  ...input.createdBy ? { createdBy: input.createdBy } : {},
437097
437131
  ...input.createdAt ? { createdAt: input.createdAt } : {},
437098
437132
  ...input.migration ? { migration: input.migration } : {},
@@ -437239,6 +437273,7 @@ async function bootstrapV2RoomFromDocxSingleDoc(input) {
437239
437273
  docxBytes: input.docxBytes,
437240
437274
  filename: input.filename ?? null,
437241
437275
  claimerId: input.claimerId,
437276
+ ...input.supersedeClaim ? { supersedeClaim: input.supersedeClaim } : {},
437242
437277
  ...input.createdBy ? { createdBy: input.createdBy } : {},
437243
437278
  ...input.createdAt ? { createdAt: input.createdAt } : {},
437244
437279
  ...input.migration ? { migration: input.migration } : {},
@@ -437516,7 +437551,8 @@ function createHeadlessCollabRoomCoordinator(options) {
437516
437551
  const manifestObserver = () => {
437517
437552
  if (disposed)
437518
437553
  return;
437519
- if (observeReplacementCommits())
437554
+ const replacementCommitted = observeReplacementCommits();
437555
+ if (replacementCommitted)
437520
437556
  pruneReplacedRoomOrphans(options.rootDoc);
437521
437557
  const nextParts = getPackagePartsMap(options.rootDoc);
437522
437558
  const generationChanged = nextParts !== packageParts;
@@ -437526,7 +437562,7 @@ function createHeadlessCollabRoomCoordinator(options) {
437526
437562
  packageParts = nextParts;
437527
437563
  packageParts.observe(manifestObserver);
437528
437564
  meta3.observe(manifestObserver);
437529
- packageReplacementPending = true;
437565
+ packageReplacementPending || (packageReplacementPending = replacementCommitted || Array.from(lock.entries()).some(([key2, value2]) => key2.startsWith("replaceFile:") && value2 != null && typeof value2 === "object" && (value2.state === "pending" || value2.state === "applying")));
437530
437566
  }
437531
437567
  syncCommittedRoomSourceIdentity();
437532
437568
  if (generationChanged)
@@ -441211,6 +441247,7 @@ function createHeadlessV2CollaborationRuntimeSkeleton(options) {
441211
441247
  docxBytes: request.docxBytes,
441212
441248
  filename: request.filename ?? null,
441213
441249
  claimerId: request.claimerId,
441250
+ ...request.supersedeClaim ? { supersedeClaim: request.supersedeClaim } : {},
441214
441251
  ...request.createdBy ? { createdBy: request.createdBy } : {},
441215
441252
  ...request.createdAt ? { createdAt: request.createdAt } : {},
441216
441253
  ...request.migration ? { migration: request.migration } : {},
@@ -441293,6 +441330,7 @@ function createHeadlessV2SingleDocCollaborationRuntimeSkeleton(options) {
441293
441330
  docxBytes: request.docxBytes,
441294
441331
  filename: request.filename ?? null,
441295
441332
  claimerId: request.claimerId,
441333
+ ...request.supersedeClaim ? { supersedeClaim: request.supersedeClaim } : {},
441296
441334
  ...request.createdBy ? { createdBy: request.createdBy } : {},
441297
441335
  ...request.createdAt ? { createdAt: request.createdAt } : {},
441298
441336
  ...request.migration ? { migration: request.migration } : {},
@@ -441411,6 +441449,7 @@ async function openV2CollaborativeDocumentSession(options) {
441411
441449
  const trace = createOpenTrace(options.runtime.rootId);
441412
441450
  const blobStore = runtimeBlobStore(options.runtime);
441413
441451
  const rootConn = options.runtime.connectRoot();
441452
+ const bootstrapClaimerId = options.claimerId ?? `headless-open-${crypto.randomUUID()}`;
441414
441453
  await rootConn.waitForSync();
441415
441454
  await waitForDocUpdateSettling(rootConn.ydoc, settleMaxMs);
441416
441455
  trace.mark("root-sync");
@@ -441483,7 +441522,10 @@ async function openV2CollaborativeDocumentSession(options) {
441483
441522
  }
441484
441523
  const pendingCreate = openIntent.mode === "create" && validation.classification.classification === ROOM_CLASSIFICATION.v2Pending;
441485
441524
  const pendingRoomStalled = validation.classification.classification === ROOM_CLASSIFICATION.v2Pending && isPendingRoomStalled(rootConn.ydoc);
441486
- if (openIntent.mode === "join" || pendingCreate && !canResumePendingBootstrap(rootConn.ydoc, options.claimerId ?? DEFAULT_CLAIMER_ID, sha256Hex2(resolveBootstrapBytes(openIntent, options.buffer)))) {
441525
+ const bootstrapSourceSha256 = openIntent.mode === "create" && pendingCreate ? sha256Hex2(resolveBootstrapBytes(openIntent, options.buffer)) : null;
441526
+ const resumableClaim = bootstrapSourceSha256 !== null ? resumablePendingBootstrapClaim(rootConn.ydoc, bootstrapSourceSha256) : null;
441527
+ const supersedeClaim = resumableClaim && options.profile === "browser" && options.claimerId === undefined ? { claimerId: resumableClaim.claimerId, claimedAt: resumableClaim.claimedAt } : null;
441528
+ if (openIntent.mode === "join" || pendingCreate && resumableClaim?.claimerId !== bootstrapClaimerId && !supersedeClaim) {
441487
441529
  const isPending = validation.classification.classification === ROOM_CLASSIFICATION.v2Pending;
441488
441530
  throw new CollabV2DiagnosticError(isPending ? pendingRoomStalled ? COLLAB_V2_DIAGNOSTICS.COLLAB_V2_ROOM_BOOTSTRAP_STALLED : COLLAB_V2_DIAGNOSTICS.COLLAB_V2_ROOM_INITIALIZING : COLLAB_V2_DIAGNOSTICS.COLLAB_V2_ROOM_NOT_FOUND, isPending ? pendingRoomStalled ? "v2 collaboration room bootstrap appears stalled; this open did not modify the room" : "v2 collaboration room bootstrap is incomplete; open will not write into a pending room" : "no committed v2 collaboration room exists for join intent", redactForDiagnostics({
441489
441531
  classification: validation.classification.classification,
@@ -441492,17 +441534,22 @@ async function openV2CollaborativeDocumentSession(options) {
441492
441534
  }));
441493
441535
  }
441494
441536
  if (openIntent.mode === "create") {
441495
- stopBootstrapHeartbeat = startBootstrapHeartbeat(rootConn.ydoc, options.claimerId ?? DEFAULT_CLAIMER_ID, () => rootConn.state);
441537
+ stopBootstrapHeartbeat = startBootstrapHeartbeat(rootConn.ydoc, bootstrapClaimerId, () => rootConn.state);
441496
441538
  }
441497
441539
  const bootstrapBytes = resolveBootstrapBytes(openIntent, options.buffer);
441498
441540
  bootstrap = await options.runtime.bootstrapFromDocx({
441499
441541
  docxBytes: bootstrapBytes,
441500
441542
  filename: options.filename ?? null,
441501
- claimerId: options.claimerId ?? DEFAULT_CLAIMER_ID,
441543
+ claimerId: bootstrapClaimerId,
441544
+ ...supersedeClaim ? { supersedeClaim } : {},
441502
441545
  ...options.createdBy ? { createdBy: options.createdBy } : {},
441503
441546
  ...options.createdAt ? { createdAt: options.createdAt } : {},
441504
441547
  ...options.migration ? { migration: options.migration } : {}
441505
441548
  });
441549
+ if (bootstrap.bootstrap.diagnostics.some((diagnostic2) => diagnostic2.code === COLLAB_V2_DIAGNOSTICS.COLLAB_V2_BOOTSTRAP_CLAIM_LOST)) {
441550
+ const roomCommitted = readRoomManifest(rootConn.ydoc).snapshot?.meta.bootstrapState === "committed";
441551
+ throw new CollabV2DiagnosticError(roomCommitted ? COLLAB_V2_DIAGNOSTICS.COLLAB_V2_ROOM_ALREADY_EXISTS : COLLAB_V2_DIAGNOSTICS.COLLAB_V2_ROOM_INITIALIZING, roomCommitted ? "create intent targeted an already-committed v2 collaboration room" : "another creator is initializing this v2 collaboration room", { rootId: options.runtime.rootId });
441552
+ }
441506
441553
  trace.mark("bootstrap");
441507
441554
  validation = options.runtime.validateLateJoin({
441508
441555
  compatibility: { supports: COLLAB_V2_ROOM_SCHEMA_VERSION },
@@ -441510,7 +441557,7 @@ async function openV2CollaborativeDocumentSession(options) {
441510
441557
  });
441511
441558
  trace.mark("post-bootstrap-validation");
441512
441559
  }
441513
- const expectedClaimerId = options.claimerId ?? DEFAULT_CLAIMER_ID;
441560
+ const expectedClaimerId = bootstrapClaimerId;
441514
441561
  const ownsPreparedBootstrap = bootstrap?.bootstrap.prepared === true && bootstrap.bootstrap.survivorClaimerId === expectedClaimerId;
441515
441562
  if (!validation.ok && !ownsPreparedBootstrap) {
441516
441563
  throwLateJoinValidationFailure(validation, options.runtime.rootId);
@@ -441551,6 +441598,13 @@ async function openV2CollaborativeDocumentSession(options) {
441551
441598
  trace,
441552
441599
  retainImportedStorySources: options.retainImportedStorySources
441553
441600
  });
441601
+ const assertCurrentRoomScopes = () => {
441602
+ for (const handle of [...canonical.storyHandles.values(), ...canonical.projectionHandles.values()]) {
441603
+ if (handle.scope && getUnitScope(rootConn.ydoc, handle.shardId) !== handle.scope) {
441604
+ throw new CollabV2DiagnosticError(COLLAB_V2_DIAGNOSTICS.COLLAB_V2_ROOM_INITIALIZING, "room content changed during this open; check the committed room and reopen with join", { rootId: options.runtime.rootId });
441605
+ }
441606
+ }
441607
+ };
441554
441608
  if (bootstrap?.bootstrap.prepared === true) {
441555
441609
  const finalized = finalizeV2RoomBootstrap({
441556
441610
  rootDoc: rootConn.ydoc,
@@ -441558,6 +441612,9 @@ async function openV2CollaborativeDocumentSession(options) {
441558
441612
  contentUnitIds: Array.from(canonical.contentUnitIds)
441559
441613
  });
441560
441614
  if (!finalized.committed) {
441615
+ if (finalized.diagnostics.some((diagnostic2) => diagnostic2.code === COLLAB_V2_DIAGNOSTICS.COLLAB_V2_BOOTSTRAP_CLAIM_LOST)) {
441616
+ throw new CollabV2DiagnosticError(COLLAB_V2_DIAGNOSTICS.COLLAB_V2_ROOM_INITIALIZING, "another creator is initializing this v2 collaboration room", { rootId: options.runtime.rootId });
441617
+ }
441561
441618
  throw new CollabV2DiagnosticError(COLLAB_V2_DIAGNOSTICS.COLLAB_V2_ROOM_MANIFEST_CORRUPT, "single-doc collaboration bootstrap could not prove complete content before commit", redactForDiagnostics({
441562
441619
  rootId: options.runtime.rootId,
441563
441620
  diagnostics: finalized.diagnostics
@@ -441593,7 +441650,7 @@ async function openV2CollaborativeDocumentSession(options) {
441593
441650
  session,
441594
441651
  rootDoc: rootConn.ydoc,
441595
441652
  beforeBarrier() {
441596
- return coordinator?.waitForManifestSettled();
441653
+ return coordinator?.waitForManifestSettled().then(assertCurrentRoomScopes);
441597
441654
  },
441598
441655
  packageMutationSync(prepared) {
441599
441656
  coordinator?.syncPreparedPackageMutation(prepared);
@@ -441663,6 +441720,7 @@ async function openV2CollaborativeDocumentSession(options) {
441663
441720
  await waitForProjectionDocsSettling(rootConn.ydoc, canonical, settleMaxMs);
441664
441721
  trace.mark("post-attach-settle");
441665
441722
  }
441723
+ assertCurrentRoomScopes();
441666
441724
  const refreshed = collab.refresh();
441667
441725
  trace.mark("initial-refresh");
441668
441726
  trace.sessionSnapshot("after-initial-refresh", session);
@@ -441742,7 +441800,7 @@ async function openV2CollaborativeDocumentSession(options) {
441742
441800
  try {
441743
441801
  coordinator?.dispose();
441744
441802
  } catch {}
441745
- if (bootstrap?.bootstrap.prepared === true)
441803
+ if (bootstrap?.bootstrap.prepared === true && bootstrap.bootstrap.survivorClaimerId === bootstrapClaimerId && readRoomManifest(rootConn.ydoc).snapshot?.meta.bootstrapState === "pending" && readBootstrapClaims(rootConn.ydoc).filter((claim) => claim.status === "pending").every((claim) => claim.claimerId === bootstrapClaimerId))
441746
441804
  abortBootstrapState(rootConn.ydoc);
441747
441805
  setLocalSelectionStoryHandles(options.runtime, null);
441748
441806
  await session?.dispose().catch(() => {
@@ -441848,24 +441906,35 @@ async function applyPreparedRoomReplacement(input) {
441848
441906
  function createReplacementOperationId(rootDoc) {
441849
441907
  return `${rootDoc.clientID.toString(36)}-${Date.now().toString(36)}-${(replacementSequence++).toString(36)}`;
441850
441908
  }
441851
- function canResumePendingBootstrap(rootDoc, claimerId, sourceSha256) {
441909
+ function resumablePendingBootstrapClaim(rootDoc, sourceSha256) {
441852
441910
  const activeClaims = readBootstrapClaims(rootDoc).filter((claim) => claim.status === "pending");
441853
- if (activeClaims.length !== 1 || activeClaims[0]?.claimerId !== claimerId || activeClaims[0].sha256Zip !== sourceSha256) {
441854
- return false;
441911
+ if (activeClaims.length !== 1 || activeClaims[0]?.sha256Zip !== sourceSha256) {
441912
+ return null;
441855
441913
  }
441856
441914
  if (!isBootstrapLeaseExpired(rootDoc, activeClaims[0]))
441857
- return false;
441915
+ return null;
441858
441916
  const content3 = rootDoc.getMap(ROOT_MAP.content);
441859
441917
  for (const [shardId, scope] of content3.entries()) {
441860
441918
  if (!(scope instanceof YMap))
441861
- return false;
441862
- if (scope.size === 0)
441919
+ return null;
441920
+ if (scope.size === 0 || isUntouchedPackagePartScope(scope))
441863
441921
  continue;
441864
441922
  const meta3 = scope.get("meta");
441865
441923
  if (!(meta3 instanceof YMap) || meta3.get("shardId") !== shardId || meta3.get(CONTENT_UNIT_META_KEY.seedComplete) !== true)
441924
+ return null;
441925
+ }
441926
+ return activeClaims[0];
441927
+ }
441928
+ function isUntouchedPackagePartScope(scope) {
441929
+ if (scope.size !== 5)
441930
+ return false;
441931
+ for (const key2 of [PACKAGE_PART_ROOT.meta, PACKAGE_PART_ROOT.records, PACKAGE_PART_ROOT.index, PACKAGE_PART_ROOT.opaque]) {
441932
+ const child = scope.get(key2);
441933
+ if (!(child instanceof YMap) || child.size !== 0)
441866
441934
  return false;
441867
441935
  }
441868
- return true;
441936
+ const diagnostics = scope.get(PACKAGE_PART_ROOT.diagnostics);
441937
+ return diagnostics instanceof YArray && diagnostics.length === 0;
441869
441938
  }
441870
441939
  function isPendingRoomStalled(rootDoc) {
441871
441940
  const claims = readBootstrapClaims(rootDoc).filter((claim) => claim.status === "pending");
@@ -442865,7 +442934,7 @@ function formatLateJoinValidationFailure(validation) {
442865
442934
  const diagnostics = validation.diagnostics.length > 0 ? validation.diagnostics.map((diagnostic2) => `${diagnostic2.code}: ${diagnostic2.message}`).join("; ") : "no diagnostics reported";
442866
442935
  return `v2 collaboration late-join validation failed (${validation.classification.classification}, ${readiness}): ${diagnostics}`;
442867
442936
  }
442868
- var TEXT_DECODER11, DEFAULT_CLAIMER_ID = "headless-open", REPLACEMENT_REQUEST_KEY_PREFIX = "replaceFile:", REPLACEMENT_HEARTBEAT_INTERVAL_MS = 5000, REPLACEMENT_LEASE_TIMEOUT_MS = 30000, BOOTSTRAP_HEARTBEAT_INTERVAL_MS = 5000, BOOTSTRAP_LEASE_TIMEOUT_MS = 30000, BOOTSTRAP_LEASE_KEY_PREFIX = "bootstrapSeed:", SETTINGS_PART_URI7 = "/word/settings.xml", WEB_SETTINGS_PART_URI2 = "/word/webSettings.xml", COMMENTS_PART_URI6 = "/word/comments.xml", COMMENTS_EXTENDED_PART_URI6 = "/word/commentsExtended.xml", COMMENTS_IDS_PART_URI6 = "/word/commentsIds.xml", PEOPLE_PART_URI2 = "/word/people.xml", MEDIA_OWNER_URI2 = "/word/media", INLINE_BINARY_FAMILIES, OPAQUE_PART_FAMILIES, DEFAULT_OPEN_INTENT, POST_SYNC_SETTLE_MAX_MS = 1000, POST_SYNC_QUIET_WINDOW_MS = 20, replacementSequence = 0, replacementHeartbeatObservations;
442937
+ var TEXT_DECODER11, REPLACEMENT_REQUEST_KEY_PREFIX = "replaceFile:", REPLACEMENT_HEARTBEAT_INTERVAL_MS = 5000, REPLACEMENT_LEASE_TIMEOUT_MS = 30000, BOOTSTRAP_HEARTBEAT_INTERVAL_MS = 5000, BOOTSTRAP_LEASE_TIMEOUT_MS = 30000, BOOTSTRAP_LEASE_KEY_PREFIX = "bootstrapSeed:", SETTINGS_PART_URI7 = "/word/settings.xml", WEB_SETTINGS_PART_URI2 = "/word/webSettings.xml", COMMENTS_PART_URI6 = "/word/comments.xml", COMMENTS_EXTENDED_PART_URI6 = "/word/commentsExtended.xml", COMMENTS_IDS_PART_URI6 = "/word/commentsIds.xml", PEOPLE_PART_URI2 = "/word/people.xml", MEDIA_OWNER_URI2 = "/word/media", INLINE_BINARY_FAMILIES, OPAQUE_PART_FAMILIES, DEFAULT_OPEN_INTENT, POST_SYNC_SETTLE_MAX_MS = 1000, POST_SYNC_QUIET_WINDOW_MS = 20, replacementSequence = 0, replacementHeartbeatObservations;
442869
442938
  var init_collaboration_v2_open = __esm(() => {
442870
442939
  init_dist9();
442871
442940
  init_setup();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@superdoc/mcp",
3
- "version": "1.3.0-next.6",
3
+ "version": "1.3.0-next.7",
4
4
  "description": "Model Context Protocol server for SuperDoc, giving an AI agent tools to read and edit .docx files.",
5
5
  "type": "module",
6
6
  "license": "AGPL-3.0",
@@ -24,13 +24,13 @@
24
24
  ],
25
25
  "dependencies": {
26
26
  "@modelcontextprotocol/sdk": "^1.26.0",
27
- "@superdoc/sdk": "2.16.0-next.6",
27
+ "@superdoc/sdk": "2.16.0-next.7",
28
28
  "debug": "^4.4.3",
29
29
  "zod": "^4.3.6"
30
30
  },
31
31
  "devDependencies": {
32
- "superdoc": "2.19.0-next.5",
33
- "@superdoc/docx-engine": "0.18.0-next.5",
32
+ "superdoc": "2.19.0-next.6",
33
+ "@superdoc/docx-engine": "0.18.0-next.6",
34
34
  "@superdoc/document-api": "0.1.0-alpha.0",
35
35
  "@types/bun": "^1.3.8",
36
36
  "@types/node": "22.19.2",