lody 0.57.1-next.8 → 0.57.1-next.9
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/chunks/{index-DwWVfBFT.js → index-Df0l2CCe.js} +81 -3
- package/dist/index.js +1868 -446
- package/package.json +4 -4
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a5 as deferredMake, a6 as deferredAwait, a7 as deferredSucceed, a8 as deferredFail, a9 as normalizeWorkspaceRelativePath, aa as DEFAULT_MAX_WATCHED_DIRECTORIES, ab as listNonIgnoredWorkspaceDirectories, ac as DEFAULT_IGNORED_DIRECTORY_NAMES, ad as runPromiseEffect, ae as map, af as gen, ag as trySyncEffect, ah as tryPromiseEffect, ai as scanWorkspaceEffect, aj as reconcileHostScanFileIds, ak as createHostScanResultWithFiles, al as resolveTransportAuth, am as ensureBucketEffect, an as forEach, ao as ensureDurableStreamEffect, ap as createFileMetadataSnapshotPayload, aq as succeed$1, ar as readEncryptedControlDocumentJsonEffect, as as createHostScanResultFromFileMetadataSnapshot, at as catchAll, au as sync, av as logCodeCollabRuntimeDebug, aw as writeEncryptedControlDocumentJsonEffect, c as validateMailboxSegment, n as createCodeCollabNamespace, ax as readStableFileBytesEffect, ay as isStableFileReadTooLargeError, az as fail$1, aA as FileRepoError, f as base64urlEncode, V as utf8Encode, l as canonicalJson, aB as all, aC as decodeUtf8Text, aD as DEFAULT_MAX_TEXT_LINE_UTF16_CODE_UNITS, aE as DEFAULT_MAX_TEXT_LINE_UTF8_BYTES, aF as DEFAULT_MAX_REALTIME_TEXT_BYTES, aG as assertMaterializerPathSafe, aH as flatMap, aI as either, U as utf8Decode, e as base64urlDecode, aJ as scoped, aK as acquireRelease, aL as promise, aM as async, aN as parseFileId, aO as assertDecodedTextLineLimits, aP as hasHostScanPathConflict, aQ as tryPromise, aR as _void, aS as normalizeWorkspacePath, aT as DEFAULT_MAX_BUCKET_BLOB_BYTES, O as serializeEncryptedBlobObjectV1, aU as isStableFileReadChangedError, w as encryptBlobObjectV1, aV as fetchWithAuthEffect, aW as putBlobRef, aX as
|
|
1
|
+
import { a5 as deferredMake, a6 as deferredAwait, a7 as deferredSucceed, a8 as deferredFail, a9 as normalizeWorkspaceRelativePath, aa as DEFAULT_MAX_WATCHED_DIRECTORIES, ab as listNonIgnoredWorkspaceDirectories, ac as DEFAULT_IGNORED_DIRECTORY_NAMES, ad as runPromiseEffect, ae as map, af as gen, ag as trySyncEffect, ah as tryPromiseEffect, ai as scanWorkspaceEffect, aj as reconcileHostScanFileIds, ak as createHostScanResultWithFiles, al as resolveTransportAuth, am as ensureBucketEffect, an as forEach, ao as ensureDurableStreamEffect, ap as createFileMetadataSnapshotPayload, aq as succeed$1, ar as readEncryptedControlDocumentJsonEffect, as as createHostScanResultFromFileMetadataSnapshot, at as catchAll, au as sync, av as logCodeCollabRuntimeDebug, aw as writeEncryptedControlDocumentJsonEffect, c as validateMailboxSegment, n as createCodeCollabNamespace, ax as readStableFileBytesEffect, ay as isStableFileReadTooLargeError, az as fail$1, aA as FileRepoError, f as base64urlEncode, V as utf8Encode, l as canonicalJson, aB as all, aC as decodeUtf8Text, aD as DEFAULT_MAX_TEXT_LINE_UTF16_CODE_UNITS, aE as DEFAULT_MAX_TEXT_LINE_UTF8_BYTES, aF as DEFAULT_MAX_REALTIME_TEXT_BYTES, aG as assertMaterializerPathSafe, aH as flatMap, aI as either, U as utf8Decode, e as base64urlDecode, aJ as scoped, aK as acquireRelease, aL as promise, aM as async, aN as parseFileId, aO as assertDecodedTextLineLimits, aP as hasHostScanPathConflict, aQ as tryPromise, aR as _void, aS as normalizeWorkspacePath, aT as DEFAULT_MAX_BUCKET_BLOB_BYTES, O as serializeEncryptedBlobObjectV1, aU as isStableFileReadChangedError, w as encryptBlobObjectV1, aV as fetchWithAuthEffect, aW as putBlobRef, aX as createStreamUrl, aY as StreamsCrdt, aZ as CODE_COLLAB_DURABLE_SSE_RECONNECT_CONFIG, a_ as InMemoryRemoteCursorStore, a$ as createDurableStreamsShardUrls, b0 as createSseOnlyFetch, b1 as createLoroDocAdapter, b2 as acquireUseRelease, b3 as createTurnHistoryMarker, b4 as parseTurnHistoryMarker, b5 as normalizeChangedFileEntries, b6 as createTurnHistoryPerTurnDiffRecord, b7 as parseTurnHistoryPerTurnDiffRecord, b8 as parseTurnHistorySessionBaseState, b9 as summarizeCanonicalJsonForDebug, ba as readHostRpcMessagesV1Effect, a2 as verifyHostRpcCancelV1, I as normalizeCanonicalJsonValue, N as requiredRpcCapabilityV1, bb as forkDaemon, bc as isMissingHostRpcStreamAppendError, a3 as verifyHostRpcRequestV1, bd as createHostRpcEncryptedEnvelopeV1Effect, be as appendHostRpcMessageToExistingStreamV1Effect, bf as parseDirectoryId, bg as tap, bh as as, bi as tapError, bj as asVoid, bk as appendEphemeralStream, bl as EphemeralStore, bm as EphemeralStreamCrdt, bn as EphemeralStoreAdaptor, M as randomBytes, bo as ensureDurableStreamWithStatusEffect, bp as createInitialRemoteCursor, bq as reconcileHostScanFileIdsByTextContent, br as DEFAULT_CODE_COLLAB_HOST_PRESENCE_MS, bs as DEFAULT_CODE_COLLAB_AUTOSAVE_DEBOUNCE_MS, bt as isTerminalTurnHistoryMarkerPhase, bu as match, bv as currentTimeMillis, bw as sleepWithAbortEffect, bx as raceFirst, by as updateTurnHistoryChangedFiles, bz as markTurnHistoryChangedFilesIncomplete, bA as parseHostRpcMessagesFromEncryptedEnvelopesV1Effect, bB as computeTurnHistorySnapshotLineStats, bC as createEncryptedControlDocumentWholeValueStore, _ as verifierFromPrivateKey, bD as initializeLazyDirectoryInScanEffect, bE as countTurnHistoryTextLineDiffStats, bF as addFinalizer, bG as forkScoped, bH as timeoutFail, bI as sleep, bJ as ignore, bK as createStreamsClient, bL as parseHostRpcMessagesFromPartV1Effect, o as createHostRpcCancelV1, p as createHostRpcRequestV1, bM as HostRpcStreamReadError, bN as canonicalPathKey, bO as option, bP as parseFileMetadataSnapshot, B as BLOB_CODE_COLLAB_FEATURES_V1, K as parseEncryptedBlobObjectV1, r as decryptBlobObjectV1, bQ as parseBlobRefV1, bR as runFork, __tla as __tla_0 } from "../index.js";
|
|
2
2
|
import { p as generateHostSessionSecretsV1, i as createInitialSessionStateV1, v as serializeShareLinkV1, m as createShareLinkSecretV1, o as encryptEphemeralPayloadV1, h as createHostPresenceV1, n as decryptEphemeralPayloadV1, z as verifyHostPresenceV1, e as computeEphemeralStateKeyV1, g as createEncryptedEphemeralStateEnvelopeV1, w as unwrapEncryptedEphemeralStateEnvelopeV1, r as parseHostPresenceV1, k as createParticipantPresenceV1, f as createCursorStateV1, l as createSelectionStateV1, s as parseParticipantPresenceV1, q as parseCursorStateV1, t as parseSelectionStateV1, u as parseShareLinkV1, a as assertCompatibleSessionStateV1, c as assertShareLinkMatchesSessionStateV1, __tla as __tla_1 } from "./share-link-DarNKeWd.js";
|
|
3
3
|
import { createHash, randomUUID } from "node:crypto";
|
|
4
4
|
import { lstat, realpath, writeFile, chmod, rename, unlink, mkdtemp, rm, readFile } from "node:fs/promises";
|
|
@@ -53,7 +53,7 @@ import "node:buffer";
|
|
|
53
53
|
import "node:async_hooks";
|
|
54
54
|
import { __tla as __tla_3 } from "../index.js";
|
|
55
55
|
import { bS, bT, bU, bV, bW, bX, bY, bZ, b_, b$, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, ca, cb, cc, cd, ce, cf, cg, ch, ci, cj, ck, i, cl, cm, cn, t, y, co, cp, cq, cr, cs, ct, cu, cv, cw, cx, cy, cz, cA, L, cB, cC, cD, cE, cF, cG, cH, cI, cJ, cK, cL, cM, cN, cO, cP, cQ, cR, cS, cT, cU, cV, cW, cX, cY, cZ } from "../index.js";
|
|
56
|
-
let CODE_COLLAB_PACKAGE, CodeCollabGuestSession, CodeCollabTextDocumentStore, DEFAULT_TEXT_DOCUMENT_UPDATE_TIMEOUT_MS, GuestRpcClient, WEB_JOIN_LINK_MAX_LENGTH, WEB_JOIN_LINK_WARNING_LENGTH, assertWebJoinLinkWithinBudget, buildCapturedTurnHistoryRecords, classifyHostFileWatchPathEvent, classifyHostLivenessFromPresences, clearTurnHistorySessionBase, clearTurnHistorySessionBaseEffect, computeHostFileWatcherMaxWaitMs, computeHostLoopSleepMs, createDiskTokenForPath, createDiskTokenForPathEffect, createHostHydrationContextFromSession, createHostLoopWakeSignal, createHostSaveEchoSuppressorV1, createLoroCursorAnchorV1, createWebJoinLink, createWebJoinLinks, dispatchHostRpcEnvelopeV1, dispatchHostRpcEnvelopeV1Effect, downloadBlobObjectEffect, getHostLivenessStatusV1, getHostLivenessStatusV1Effect, handleHostFileWatcherEventV1, hydrateBlobFile, hydrateBlobFileEffect, hydrateTextFile, hydrateTextFileEffect, initializeTextSaveStateV1, initializeTextSaveStateV1Effect, makeHostLoopTelemetryHandlers, markTextSaveStateDirtyForSnapshotV1, parseHostCommandArgs, prepareHostSession, prepareHostSessionEffect, prepareHostSessionRuntime, prepareHostSessionRuntimeEffect, prepareTextHydrationBaselineV1Effect, processHostRpcBatchEffect$1, processHostRpcBatchV1, projectTurnHistorySessionBaseRefs, publishCursorStateV1, publishCursorStateV1Effect, publishHostCursorV1, publishHostParticipantPresenceV1, publishHostPresenceV1, publishHostPresenceV1Effect, publishHostSelectionV1, publishHostSession, publishHostSessionEffect, publishHostSessionRuntime, publishHostSessionRuntimeEffect, publishParticipantPresenceV1, publishParticipantPresenceV1Effect, publishPreparedHostSessionRuntime, publishPreparedHostSessionRuntimeEffect, publishSelectionStateV1, publishSelectionStateV1Effect, readCursorStateSnapshotV1, readCursorStateSnapshotV1Effect, readHostCursorsV1, readHostParticipantPresenceV1, readHostPresencePeerSnapshotV1, readHostPresencePeerSnapshotV1Effect, readHostPresenceSnapshotV1, readHostPresenceSnapshotV1Effect, readHostSelectionsV1, readParticipantPresenceSnapshotV1, readParticipantPresenceSnapshotV1Effect, readSelectionStateSnapshotV1, readSelectionStateSnapshotV1Effect, readTurnHistoryChangedFiles, readTurnHistoryChangedFilesAtFrontiers, readTurnHistoryChangedFilesAtFrontiersEffect, readTurnHistoryChangedFilesAtMarker, readTurnHistoryChangedFilesAtMarkerEffect, readTurnHistoryChangedFilesEffect, readTurnHistoryInitialBase, readTurnHistoryInitialBaseEffect, readTurnHistoryMarkers, readTurnHistoryMarkersEffect, readTurnHistoryPerTurnDiffs, readTurnHistoryPerTurnDiffsEffect, readTurnHistorySessionBase, readTurnHistorySessionBaseEffect, readTurnHistorySessionBaseRefs, readTurnHistorySessionBaseRefsEffect, reconcileOpenTextDocumentRenamesByContent, reconcileOpenTextDocumentRenamesByContentEffect, recordTextHydrationBaselineV1Effect, recordTurnHistoryInitialBase, recordTurnHistoryInitialBaseEffect, recordTurnHistorySessionBase, recordTurnHistorySessionBaseEffect, reloadTextFileFromDiskIfChangedV1, reloadTextFileFromDiskIfChangedV1Effect, reloadTextFileFromDiskV1, reloadTextFileFromDiskV1Effect, requestPendingMetadataRescanV1, resolveHostLspDefinition, resolveHostLspDefinitionEffect, resolveHostLspReferences, resolveHostLspReferencesEffect, resolveLoroCursorAnchorOffsetV1, resolveSaveConflictV1, resolveSaveConflictV1Effect, runHostEventLoopEffect, runHostEventLoopV1, saveTextFileV1, saveTextFileV1Effect, shouldAutoSaveDirtyTextDocument, snapshotHostTurnHistoryFiles, snapshotHostTurnHistoryFilesEffect, startHostFileWatcher, startHostSession, startHostSessionEffect, startPreparedHostSession, startPreparedHostSessionEffect, takeDuePendingMetadataRescanV1, watchCursorStateV1, watchHostPresencePeerSnapshotV1, watchHostPresenceSnapshotV1, watchParticipantPresenceV1, watchSelectionStateV1, writeHostTurnHistoryChangedFiles, writeHostTurnHistoryChangedFilesEffect, writeHostTurnHistoryMarker, writeHostTurnHistoryMarkerEffect, writeTurnHistoryChangedFiles, writeTurnHistoryChangedFilesAndMarkerEffect, writeTurnHistoryChangedFilesEffect, writeTurnHistoryChangedFilesWithFrontiersEffect, writeTurnHistoryMarker, writeTurnHistoryMarkerEffect, writeTurnHistoryPerTurnDiff, writeTurnHistoryPerTurnDiffEffect;
|
|
56
|
+
let CODE_COLLAB_PACKAGE, CodeCollabGuestSession, CodeCollabTextDocumentStore, DEFAULT_TEXT_DOCUMENT_UPDATE_TIMEOUT_MS, GuestRpcClient, TurnHistoryDocStore, WEB_JOIN_LINK_MAX_LENGTH, WEB_JOIN_LINK_WARNING_LENGTH, assertWebJoinLinkWithinBudget, buildCapturedTurnHistoryRecords, classifyHostFileWatchPathEvent, classifyHostLivenessFromPresences, clearTurnHistorySessionBase, clearTurnHistorySessionBaseEffect, computeHostFileWatcherMaxWaitMs, computeHostLoopSleepMs, createDiskTokenForPath, createDiskTokenForPathEffect, createHostHydrationContextFromSession, createHostLoopWakeSignal, createHostSaveEchoSuppressorV1, createLoroCursorAnchorV1, createWebJoinLink, createWebJoinLinks, dispatchHostRpcEnvelopeV1, dispatchHostRpcEnvelopeV1Effect, downloadBlobObjectEffect, getHostLivenessStatusV1, getHostLivenessStatusV1Effect, handleHostFileWatcherEventV1, hydrateBlobFile, hydrateBlobFileEffect, hydrateTextFile, hydrateTextFileEffect, initializeTextSaveStateV1, initializeTextSaveStateV1Effect, makeHostLoopTelemetryHandlers, markTextSaveStateDirtyForSnapshotV1, parseHostCommandArgs, prepareHostSession, prepareHostSessionEffect, prepareHostSessionRuntime, prepareHostSessionRuntimeEffect, prepareTextHydrationBaselineV1Effect, processHostRpcBatchEffect$1, processHostRpcBatchV1, projectTurnHistorySessionBaseRefs, publishCursorStateV1, publishCursorStateV1Effect, publishHostCursorV1, publishHostParticipantPresenceV1, publishHostPresenceV1, publishHostPresenceV1Effect, publishHostSelectionV1, publishHostSession, publishHostSessionEffect, publishHostSessionRuntime, publishHostSessionRuntimeEffect, publishParticipantPresenceV1, publishParticipantPresenceV1Effect, publishPreparedHostSessionRuntime, publishPreparedHostSessionRuntimeEffect, publishSelectionStateV1, publishSelectionStateV1Effect, readCursorStateSnapshotV1, readCursorStateSnapshotV1Effect, readHostCursorsV1, readHostParticipantPresenceV1, readHostPresencePeerSnapshotV1, readHostPresencePeerSnapshotV1Effect, readHostPresenceSnapshotV1, readHostPresenceSnapshotV1Effect, readHostSelectionsV1, readParticipantPresenceSnapshotV1, readParticipantPresenceSnapshotV1Effect, readSelectionStateSnapshotV1, readSelectionStateSnapshotV1Effect, readTurnHistoryChangedFiles, readTurnHistoryChangedFilesAtFrontiers, readTurnHistoryChangedFilesAtFrontiersEffect, readTurnHistoryChangedFilesAtMarker, readTurnHistoryChangedFilesAtMarkerEffect, readTurnHistoryChangedFilesEffect, readTurnHistoryInitialBase, readTurnHistoryInitialBaseEffect, readTurnHistoryMarkers, readTurnHistoryMarkersEffect, readTurnHistoryPerTurnDiffs, readTurnHistoryPerTurnDiffsEffect, readTurnHistorySessionBase, readTurnHistorySessionBaseEffect, readTurnHistorySessionBaseRefs, readTurnHistorySessionBaseRefsEffect, reconcileOpenTextDocumentRenamesByContent, reconcileOpenTextDocumentRenamesByContentEffect, recordTextHydrationBaselineV1Effect, recordTurnHistoryInitialBase, recordTurnHistoryInitialBaseEffect, recordTurnHistorySessionBase, recordTurnHistorySessionBaseEffect, reloadTextFileFromDiskIfChangedV1, reloadTextFileFromDiskIfChangedV1Effect, reloadTextFileFromDiskV1, reloadTextFileFromDiskV1Effect, requestPendingMetadataRescanV1, resolveHostLspDefinition, resolveHostLspDefinitionEffect, resolveHostLspReferences, resolveHostLspReferencesEffect, resolveLoroCursorAnchorOffsetV1, resolveSaveConflictV1, resolveSaveConflictV1Effect, runHostEventLoopEffect, runHostEventLoopV1, saveTextFileV1, saveTextFileV1Effect, shouldAutoSaveDirtyTextDocument, snapshotHostTurnHistoryFiles, snapshotHostTurnHistoryFilesEffect, startHostFileWatcher, startHostSession, startHostSessionEffect, startPreparedHostSession, startPreparedHostSessionEffect, takeDuePendingMetadataRescanV1, watchCursorStateV1, watchHostPresencePeerSnapshotV1, watchHostPresenceSnapshotV1, watchParticipantPresenceV1, watchSelectionStateV1, writeHostTurnHistoryChangedFiles, writeHostTurnHistoryChangedFilesEffect, writeHostTurnHistoryMarker, writeHostTurnHistoryMarkerEffect, writeTurnHistoryChangedFiles, writeTurnHistoryChangedFilesAndMarkerEffect, writeTurnHistoryChangedFilesEffect, writeTurnHistoryChangedFilesWithFrontiersEffect, writeTurnHistoryMarker, writeTurnHistoryMarkerEffect, writeTurnHistoryPerTurnDiff, writeTurnHistoryPerTurnDiffEffect;
|
|
57
57
|
let __tla = Promise.all([
|
|
58
58
|
(() => {
|
|
59
59
|
try {
|
|
@@ -2977,6 +2977,77 @@ let __tla = Promise.all([
|
|
|
2977
2977
|
frontiers: input.marker.f
|
|
2978
2978
|
});
|
|
2979
2979
|
};
|
|
2980
|
+
TurnHistoryDocStore = class {
|
|
2981
|
+
doc;
|
|
2982
|
+
crdt;
|
|
2983
|
+
syncPromise;
|
|
2984
|
+
closePromise;
|
|
2985
|
+
closed = false;
|
|
2986
|
+
constructor(input) {
|
|
2987
|
+
this.doc = new LoroDoc();
|
|
2988
|
+
this.crdt = createTurnHistoryCrdt(input, this.doc);
|
|
2989
|
+
}
|
|
2990
|
+
readMarkersEffect() {
|
|
2991
|
+
return gen(this, function* () {
|
|
2992
|
+
yield* this.syncEffect();
|
|
2993
|
+
return yield* trySyncEffect(() => this.doc.getList(TURN_MARKERS_LIST_NAME).toArray().map((item) => parseTurnHistoryMarker(item)));
|
|
2994
|
+
});
|
|
2995
|
+
}
|
|
2996
|
+
readChangedFilesEffect() {
|
|
2997
|
+
return gen(this, function* () {
|
|
2998
|
+
yield* this.syncEffect();
|
|
2999
|
+
return yield* trySyncEffect(() => readChangedFilesFromDoc(this.doc));
|
|
3000
|
+
});
|
|
3001
|
+
}
|
|
3002
|
+
readPerTurnDiffsEffect() {
|
|
3003
|
+
return gen(this, function* () {
|
|
3004
|
+
yield* this.syncEffect();
|
|
3005
|
+
return yield* trySyncEffect(() => readPerTurnDiffsFromDoc(this.doc));
|
|
3006
|
+
});
|
|
3007
|
+
}
|
|
3008
|
+
readChangedFilesAtMarkerEffect(marker) {
|
|
3009
|
+
return this.readChangedFilesAtFrontiersEffect(marker.f);
|
|
3010
|
+
}
|
|
3011
|
+
readChangedFilesAtFrontiersEffect(frontiers) {
|
|
3012
|
+
return gen(this, function* () {
|
|
3013
|
+
yield* this.syncEffect();
|
|
3014
|
+
return yield* trySyncEffect(() => {
|
|
3015
|
+
const fork = this.doc.forkAt(parseFrontiersFromCanonicalJson$1(frontiers));
|
|
3016
|
+
return readChangedFilesFromDoc(fork);
|
|
3017
|
+
});
|
|
3018
|
+
});
|
|
3019
|
+
}
|
|
3020
|
+
closeEffect() {
|
|
3021
|
+
return tryPromiseEffect(() => this.close()).pipe(catchAll(() => _void));
|
|
3022
|
+
}
|
|
3023
|
+
syncEffect() {
|
|
3024
|
+
return tryPromiseEffect(() => this.syncOnce());
|
|
3025
|
+
}
|
|
3026
|
+
syncOnce() {
|
|
3027
|
+
this.assertOpen();
|
|
3028
|
+
let syncPromise = this.syncPromise;
|
|
3029
|
+
if (syncPromise === void 0) {
|
|
3030
|
+
syncPromise = runPromiseEffect(syncTurnHistoryCrdtEffect(this.crdt));
|
|
3031
|
+
this.syncPromise = syncPromise;
|
|
3032
|
+
syncPromise.then(() => {
|
|
3033
|
+
if (this.syncPromise === syncPromise) this.syncPromise = void 0;
|
|
3034
|
+
}, () => {
|
|
3035
|
+
if (this.syncPromise === syncPromise) this.syncPromise = void 0;
|
|
3036
|
+
});
|
|
3037
|
+
}
|
|
3038
|
+
return syncPromise.then(() => this.assertOpen());
|
|
3039
|
+
}
|
|
3040
|
+
assertOpen() {
|
|
3041
|
+
if (this.closed) throw new Error("turn history doc store is closed");
|
|
3042
|
+
}
|
|
3043
|
+
close() {
|
|
3044
|
+
this.closed = true;
|
|
3045
|
+
if (this.closePromise === void 0) {
|
|
3046
|
+
this.closePromise = this.crdt.close().catch(() => void 0);
|
|
3047
|
+
}
|
|
3048
|
+
return this.closePromise;
|
|
3049
|
+
}
|
|
3050
|
+
};
|
|
2980
3051
|
recordTurnHistorySessionBase = async function(input) {
|
|
2981
3052
|
return runPromiseEffect(recordTurnHistorySessionBaseEffect(input));
|
|
2982
3053
|
};
|
|
@@ -8114,10 +8185,16 @@ let __tla = Promise.all([
|
|
|
8114
8185
|
workspaceRoot: input.runtime.plan.scan.workspaceRoot,
|
|
8115
8186
|
scan: input.runtime.plan.scan,
|
|
8116
8187
|
onTextFileChanged: (fileId, filePath) => {
|
|
8117
|
-
|
|
8188
|
+
const nowMs = input.nowMs?.() ?? Date.now();
|
|
8189
|
+
if (input.hostSaveEchoSuppressor?.shouldSuppress(filePath, nowMs)) {
|
|
8118
8190
|
return;
|
|
8119
8191
|
}
|
|
8120
8192
|
input.pendingExternalReloadFileIds.add(fileId);
|
|
8193
|
+
requestPendingMetadataRescanV1({
|
|
8194
|
+
pending: input.pendingMetadataRescan,
|
|
8195
|
+
nowMs,
|
|
8196
|
+
debounceMs: input.debounceMs ?? 50
|
|
8197
|
+
});
|
|
8121
8198
|
input.externalChangeWakeSignal?.notify();
|
|
8122
8199
|
},
|
|
8123
8200
|
onWorkspaceChanged: (changedPath) => {
|
|
@@ -10417,6 +10494,7 @@ export {
|
|
|
10417
10494
|
HostRpcStreamReadError,
|
|
10418
10495
|
ca as HostScanLimitError,
|
|
10419
10496
|
cb as TURN_HISTORY_MARKER_KIND,
|
|
10497
|
+
TurnHistoryDocStore,
|
|
10420
10498
|
WEB_JOIN_LINK_MAX_LENGTH,
|
|
10421
10499
|
WEB_JOIN_LINK_WARNING_LENGTH,
|
|
10422
10500
|
__tla,
|