@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.
- package/dist/index.js +103 -34
- 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.
|
|
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
|
-
|
|
413767
|
-
|
|
413768
|
-
|
|
413769
|
-
|
|
413770
|
-
|
|
413771
|
-
|
|
413772
|
-
|
|
413773
|
-
|
|
413774
|
-
|
|
413775
|
-
|
|
413776
|
-
|
|
413777
|
-
|
|
413778
|
-
|
|
413779
|
-
|
|
413780
|
-
|
|
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
|
-
|
|
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 =
|
|
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
|
-
|
|
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,
|
|
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:
|
|
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 =
|
|
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
|
|
441909
|
+
function resumablePendingBootstrapClaim(rootDoc, sourceSha256) {
|
|
441852
441910
|
const activeClaims = readBootstrapClaims(rootDoc).filter((claim) => claim.status === "pending");
|
|
441853
|
-
if (activeClaims.length !== 1 || activeClaims[0]?.
|
|
441854
|
-
return
|
|
441911
|
+
if (activeClaims.length !== 1 || activeClaims[0]?.sha256Zip !== sourceSha256) {
|
|
441912
|
+
return null;
|
|
441855
441913
|
}
|
|
441856
441914
|
if (!isBootstrapLeaseExpired(rootDoc, activeClaims[0]))
|
|
441857
|
-
return
|
|
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
|
|
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
|
-
|
|
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,
|
|
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.
|
|
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.
|
|
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.
|
|
33
|
-
"@superdoc/docx-engine": "0.18.0-next.
|
|
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",
|