mrplex 0.0.1 → 0.0.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/README.md +5 -3
- package/dist/cli/main.js +10 -5
- package/dist/cli/main.js.map +1 -1
- package/dist/sync/converge.d.ts +27 -0
- package/dist/sync/converge.js +46 -0
- package/dist/sync/converge.js.map +1 -0
- package/dist/sync/daemon.d.ts +4 -0
- package/dist/sync/daemon.js +60 -7
- package/dist/sync/daemon.js.map +1 -1
- package/dist/sync/feed.d.ts +16 -0
- package/dist/sync/feed.js +81 -56
- package/dist/sync/feed.js.map +1 -1
- package/dist/sync/fs-store.js +10 -0
- package/dist/sync/fs-store.js.map +1 -1
- package/dist/sync/hot-path.d.ts +83 -0
- package/dist/sync/hot-path.js +232 -0
- package/dist/sync/hot-path.js.map +1 -0
- package/dist/sync/push.js +7 -31
- package/dist/sync/push.js.map +1 -1
- package/dist/sync/reconcile.d.ts +7 -1
- package/dist/sync/reconcile.js +59 -55
- package/dist/sync/reconcile.js.map +1 -1
- package/package.json +1 -1
package/dist/sync/push.js
CHANGED
|
@@ -17,11 +17,11 @@
|
|
|
17
17
|
* late-arriving dest after a premature delete restores from `:deleted`
|
|
18
18
|
* rather than parking a no-op conflict.
|
|
19
19
|
*/
|
|
20
|
-
import { pathIsInSystemNamespace
|
|
20
|
+
import { pathIsInSystemNamespace } from "../kernel/deletion.js";
|
|
21
21
|
import { KernelError } from "../kernel/errors.js";
|
|
22
22
|
import { HARDCODED_DEFAULTS } from "../kernel/path-config.js";
|
|
23
|
-
import {
|
|
24
|
-
import { isDirty, isIgnored, readFileIntrinsics,
|
|
23
|
+
import { ackLocalWrite, parkIgnoredSibling, putAndAck, stripToUserContent, } from "./converge.js";
|
|
24
|
+
import { isDirty, isIgnored, readFileIntrinsics, renderMaterialized } from "./intrinsics.js";
|
|
25
25
|
/**
|
|
26
26
|
* Process a debounce burst of paths together (§4.7). Present files (moves,
|
|
27
27
|
* edits, creates) run first so a rename's dest put supersedes the source
|
|
@@ -193,7 +193,7 @@ async function recoverStalePut(deps, path, user, computedHash, err) {
|
|
|
193
193
|
(rebaseErr.code === "stale_prev" || rebaseErr.code === "path_taken"))) {
|
|
194
194
|
throw rebaseErr;
|
|
195
195
|
}
|
|
196
|
-
await store
|
|
196
|
+
await parkIgnoredSibling(store, path, destCurrent);
|
|
197
197
|
log(`conflict\t${path}`);
|
|
198
198
|
return "conflict";
|
|
199
199
|
}
|
|
@@ -223,7 +223,7 @@ async function recoverStalePut(deps, path, user, computedHash, err) {
|
|
|
223
223
|
// Still live at another path with a newer version — local rename vs
|
|
224
224
|
// remote edit. Park the remote current; keep local bytes.
|
|
225
225
|
const current = await client.docs.get_version(repo, currentId);
|
|
226
|
-
await store
|
|
226
|
+
await parkIgnoredSibling(store, path, current);
|
|
227
227
|
log(`conflict\t${path}`);
|
|
228
228
|
return "conflict";
|
|
229
229
|
}
|
|
@@ -253,31 +253,12 @@ async function createAtPath(deps, path, user, computedHash) {
|
|
|
253
253
|
async function commitPut(deps, path, prevVersionId, user, logLabel) {
|
|
254
254
|
const { client, store, repo, map } = deps;
|
|
255
255
|
const log = deps.log ?? (() => { });
|
|
256
|
-
const v = await client
|
|
257
|
-
await ackLocalWrite(store, path, v, user);
|
|
256
|
+
const v = await putAndAck(client, store, repo, path, prevVersionId, user);
|
|
258
257
|
dropMapEntriesForVersion(map, prevVersionId, path);
|
|
259
258
|
map.set(path, { version_id: v.version_id, content_hash: v.content_hash });
|
|
260
259
|
log(`${logLabel}\t${path}`);
|
|
261
260
|
return "updated";
|
|
262
261
|
}
|
|
263
|
-
/**
|
|
264
|
-
* After a successful kernel write, restamp the local file. If the editor saved
|
|
265
|
-
* again during the round-trip, keep those bytes and only update provenance —
|
|
266
|
-
* never write the snapshot we just pushed over newer typing.
|
|
267
|
-
*/
|
|
268
|
-
async function ackLocalWrite(store, path, v, pushed) {
|
|
269
|
-
const now = await store.read(path);
|
|
270
|
-
if (now === null)
|
|
271
|
-
return;
|
|
272
|
-
const current = stripToUserContent(now);
|
|
273
|
-
if (current.body === pushed.body && current.frontmatter_raw === pushed.frontmatter_raw) {
|
|
274
|
-
await store.write(path, renderMaterialized(v), { preserveMtime: true });
|
|
275
|
-
return;
|
|
276
|
-
}
|
|
277
|
-
await store.write(path, stampProvenance(now, v.version_id, v.content_hash), {
|
|
278
|
-
preserveMtime: true,
|
|
279
|
-
});
|
|
280
|
-
}
|
|
281
262
|
/** The occupied-path rule (§4.4): hash match → adopt; differ → conflict park. */
|
|
282
263
|
async function occupiedPath(deps, path, computedHash, current) {
|
|
283
264
|
const { store, map } = deps;
|
|
@@ -289,7 +270,7 @@ async function occupiedPath(deps, path, computedHash, current) {
|
|
|
289
270
|
map.set(path, { version_id: current.version_id, content_hash: current.content_hash });
|
|
290
271
|
return "clean";
|
|
291
272
|
}
|
|
292
|
-
await store
|
|
273
|
+
await parkIgnoredSibling(store, path, current);
|
|
293
274
|
log(`conflict\t${path}`);
|
|
294
275
|
return "conflict";
|
|
295
276
|
}
|
|
@@ -320,9 +301,4 @@ function dropMapEntriesForVersion(map, versionId, keepPath) {
|
|
|
320
301
|
function isDeletedPath(path) {
|
|
321
302
|
return pathIsInSystemNamespace(path, HARDCODED_DEFAULTS.system_sigils);
|
|
322
303
|
}
|
|
323
|
-
function stripToUserContent(text) {
|
|
324
|
-
const lf = text.replace(/\r\n/g, "\n");
|
|
325
|
-
const { frontmatter_raw, body } = split(lf);
|
|
326
|
-
return { frontmatter_raw: extractSystemProperties(frontmatter_raw).raw, body };
|
|
327
|
-
}
|
|
328
304
|
//# sourceMappingURL=push.js.map
|
package/dist/sync/push.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"push.js","sourceRoot":"","sources":["../../src/sync/push.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"push.js","sourceRoot":"","sources":["../../src/sync/push.ts"],"names":[],"mappings":"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"}
|
package/dist/sync/reconcile.d.ts
CHANGED
|
@@ -31,11 +31,17 @@ export type FileStore = {
|
|
|
31
31
|
}): Promise<void>;
|
|
32
32
|
/** Remove the file at a doc path (no-op if already absent). */
|
|
33
33
|
remove(docPath: string): Promise<void>;
|
|
34
|
+
/**
|
|
35
|
+
* File mtime in epoch milliseconds, or null if absent. Used by the settle /
|
|
36
|
+
* hot-path gate (better-sync.plan); provenance-preserving writes must not
|
|
37
|
+
* advance this value.
|
|
38
|
+
*/
|
|
39
|
+
mtime(docPath: string): Promise<number | null>;
|
|
34
40
|
};
|
|
35
41
|
/** One reconciliation action, for reporting + dry-run (§4.1 `--dry-run`). */
|
|
36
42
|
export type SyncAction = {
|
|
37
43
|
path: string;
|
|
38
|
-
verdict: "clean" | "adopt" | "materialize" | "push" | "conflict" | "delete-local" | "resurrect" | "ignored" | "skip";
|
|
44
|
+
verdict: "clean" | "adopt" | "materialize" | "push" | "rebase" | "conflict" | "delete-local" | "resurrect" | "ignored" | "skip";
|
|
39
45
|
detail?: string;
|
|
40
46
|
};
|
|
41
47
|
export type ReconcileOptions = {
|
package/dist/sync/reconcile.js
CHANGED
|
@@ -12,10 +12,10 @@
|
|
|
12
12
|
* `FileStore` seam (real fs in `fs-store.ts`, in-memory in tests), so the whole
|
|
13
13
|
* §4.9 table is testable against a local kernel without touching disk.
|
|
14
14
|
*/
|
|
15
|
-
import { withVersionSuffix } from "../kernel/deletion.js";
|
|
16
15
|
import { KernelError } from "../kernel/errors.js";
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
16
|
+
import { materializeAt, parkIgnoredSibling, putAndAck, stripToUserContent, } from "./converge.js";
|
|
17
|
+
import { decideInbound, effectInbound } from "./hot-path.js";
|
|
18
|
+
import { isDirty, isIgnored, readFileIntrinsics, renderMaterialized, } from "./intrinsics.js";
|
|
19
19
|
/**
|
|
20
20
|
* Run the full §4.9 reconciliation once. Returns the safe head R (the cursor to
|
|
21
21
|
* persist) and the list of actions taken (or planned, under dryRun).
|
|
@@ -108,11 +108,12 @@ async function resolveLocalPath(client, store, opts, dryRun, ctx) {
|
|
|
108
108
|
return { path, verdict: "adopt", detail: "content matches remote; provenance repaired" };
|
|
109
109
|
}
|
|
110
110
|
if (!intr.version) {
|
|
111
|
-
// No embedded version and bytes differ
|
|
112
|
-
//
|
|
113
|
-
if (
|
|
114
|
-
|
|
115
|
-
|
|
111
|
+
// No embedded version and bytes differ → rebase onto remote, else park
|
|
112
|
+
// (better-sync WS2; formerly unconditional §4.9 row 6 park).
|
|
113
|
+
if (dryRun) {
|
|
114
|
+
return { path, verdict: "rebase", detail: "occupied path, no local provenance" };
|
|
115
|
+
}
|
|
116
|
+
return convergeOccupied(client, store, opts.repo, path);
|
|
116
117
|
}
|
|
117
118
|
if (intr.version === remote.version_id) {
|
|
118
119
|
// Embedded version is the remote current.
|
|
@@ -130,10 +131,11 @@ async function resolveLocalPath(client, store, opts, dryRun, ctx) {
|
|
|
130
131
|
await materializeVersion(client, store, opts.repo, path, remote.version_id);
|
|
131
132
|
return { path, verdict: "materialize", detail: "fast-forward to remote current" };
|
|
132
133
|
}
|
|
133
|
-
// Local edited AND remote advanced →
|
|
134
|
-
if (
|
|
135
|
-
|
|
136
|
-
|
|
134
|
+
// Local edited AND remote advanced → rebase, else park (better-sync WS2).
|
|
135
|
+
if (dryRun) {
|
|
136
|
+
return { path, verdict: "rebase", detail: "local edit vs advanced remote" };
|
|
137
|
+
}
|
|
138
|
+
return convergeOccupied(client, store, opts.repo, path);
|
|
137
139
|
}
|
|
138
140
|
// No remote doc at this path.
|
|
139
141
|
const embeddedVersion = intr.version;
|
|
@@ -160,7 +162,7 @@ async function resolveLocalPath(client, store, opts, dryRun, ctx) {
|
|
|
160
162
|
if (!intr.version) {
|
|
161
163
|
// No provenance, path absent remotely → a genuine local creation (row 7).
|
|
162
164
|
if (!dryRun)
|
|
163
|
-
await pushCreate(client, store, opts.repo, path);
|
|
165
|
+
return await pushCreate(client, store, opts.repo, path);
|
|
164
166
|
return { path, verdict: "push", detail: "local creation" };
|
|
165
167
|
}
|
|
166
168
|
// Embedded version exists but the document is no longer live at this path and
|
|
@@ -171,8 +173,9 @@ async function resolveLocalPath(client, store, opts, dryRun, ctx) {
|
|
|
171
173
|
await store.remove(path);
|
|
172
174
|
return { path, verdict: "delete-local", detail: "remote-deleted, local clean" };
|
|
173
175
|
}
|
|
174
|
-
if (!dryRun)
|
|
175
|
-
await pushCreate(client, store, opts.repo, path);
|
|
176
|
+
if (!dryRun) {
|
|
177
|
+
return await pushCreate(client, store, opts.repo, path, "resurrect", "remote-deleted, local dirty");
|
|
178
|
+
}
|
|
176
179
|
return { path, verdict: "resurrect", detail: "remote-deleted, local dirty" };
|
|
177
180
|
}
|
|
178
181
|
// --- effecting helpers -------------------------------------------------------
|
|
@@ -180,73 +183,74 @@ async function readUserContent(store, path) {
|
|
|
180
183
|
const text = (await store.read(path)) ?? "";
|
|
181
184
|
return stripToUserContent(text);
|
|
182
185
|
}
|
|
183
|
-
/** Split a file into stored-shape fields, dropping all `$*` intrinsic lines. */
|
|
184
|
-
function stripToUserContent(text) {
|
|
185
|
-
const lf = text.replace(/\r\n/g, "\n");
|
|
186
|
-
// Reuse the same split/strip path the hash uses so bytes are canonical.
|
|
187
|
-
const { frontmatter_raw, body } = split(lf);
|
|
188
|
-
return { frontmatter_raw: extractSystemProperties(frontmatter_raw).raw, body };
|
|
189
|
-
}
|
|
190
186
|
async function materializeVersion(client, store, repo, path, versionId) {
|
|
191
187
|
const v = await client.docs.get_version(repo, versionId);
|
|
192
|
-
await store
|
|
188
|
+
await materializeAt(store, path, v);
|
|
193
189
|
}
|
|
194
190
|
/** Repair a clean local file's embedded provenance to the given version. */
|
|
195
191
|
async function materializeInPlace(client, store, repo, path, versionId) {
|
|
196
|
-
// The content already equals the version; re-render from the authoritative
|
|
197
|
-
// remote version so intrinsics are exact. Keep mtime so a metadata-only
|
|
198
|
-
// stamp cannot win an Obsidian/iCloud race against unsynced typing.
|
|
199
192
|
const v = await client.docs.get_version(repo, versionId);
|
|
200
|
-
await store
|
|
193
|
+
await materializeAt(store, path, v, { preserveMtime: true });
|
|
201
194
|
}
|
|
202
195
|
async function pushEdit(client, store, repo, path, prevVersionId) {
|
|
203
|
-
const
|
|
204
|
-
|
|
205
|
-
await store.write(path, renderMaterialized(v), { preserveMtime: true });
|
|
196
|
+
const user = await readUserContent(store, path);
|
|
197
|
+
await putAndAck(client, store, repo, path, prevVersionId, user);
|
|
206
198
|
}
|
|
207
199
|
async function pushMove(client, store, repo, path, prevVersionId) {
|
|
208
|
-
const
|
|
200
|
+
const user = await readUserContent(store, path);
|
|
209
201
|
// A put whose path differs from prev's path is a move preserving identity.
|
|
210
|
-
|
|
211
|
-
await store.write(path, renderMaterialized(v), { preserveMtime: true });
|
|
202
|
+
await putAndAck(client, store, repo, path, prevVersionId, user);
|
|
212
203
|
}
|
|
213
|
-
async function pushCreate(client, store, repo, path) {
|
|
214
|
-
const
|
|
204
|
+
async function pushCreate(client, store, repo, path, successVerdict = "push", successDetail = "local creation") {
|
|
205
|
+
const user = await readUserContent(store, path);
|
|
215
206
|
try {
|
|
216
|
-
const v = await client.docs.create(repo, path,
|
|
207
|
+
const v = await client.docs.create(repo, path, user);
|
|
217
208
|
await store.write(path, renderMaterialized(v), { preserveMtime: true });
|
|
209
|
+
return { path, verdict: successVerdict, detail: successDetail };
|
|
218
210
|
}
|
|
219
211
|
catch (err) {
|
|
220
212
|
if (err instanceof KernelError && err.code === "create_conflict") {
|
|
221
|
-
// A doc appeared at this path since the index scan;
|
|
222
|
-
|
|
223
|
-
const current = err.data.current_version_id;
|
|
224
|
-
if (current)
|
|
225
|
-
await parkConflict(client, store, repo, path, current);
|
|
226
|
-
return;
|
|
213
|
+
// A doc appeared at this path since the index scan; rebase or park.
|
|
214
|
+
return await convergeOccupied(client, store, repo, path);
|
|
227
215
|
}
|
|
228
216
|
throw err;
|
|
229
217
|
}
|
|
230
218
|
}
|
|
231
219
|
/**
|
|
232
|
-
*
|
|
233
|
-
*
|
|
234
|
-
* `$sync: ignore`. Collision-safe (version ids are unique), so replay never
|
|
235
|
-
* sprays duplicates.
|
|
220
|
+
* Rebase local bytes onto the live remote current at `path`, else park a
|
|
221
|
+
* sibling (better-sync WS2). Used for §4.9 rows 5–6 and create races.
|
|
236
222
|
*/
|
|
237
|
-
async function
|
|
238
|
-
const
|
|
239
|
-
const
|
|
240
|
-
|
|
223
|
+
async function convergeOccupied(client, store, repo, path) {
|
|
224
|
+
const text = (await store.read(path)) ?? "";
|
|
225
|
+
const remote = await client.docs.get(repo, path);
|
|
226
|
+
const decision = decideInbound({
|
|
227
|
+
localText: text,
|
|
228
|
+
remote,
|
|
229
|
+
hot: false,
|
|
230
|
+
canDefer: false,
|
|
231
|
+
});
|
|
232
|
+
const result = await effectInbound(client, store, repo, path, decision);
|
|
233
|
+
if (result === "noop" || decision.action === "noop") {
|
|
234
|
+
if (isIgnored(readFileIntrinsics(text))) {
|
|
235
|
+
return { path, verdict: "ignored" };
|
|
236
|
+
}
|
|
237
|
+
return { path, verdict: "clean", detail: "already converged" };
|
|
238
|
+
}
|
|
239
|
+
if (result === "parked") {
|
|
240
|
+
return { path, verdict: "conflict", detail: "rebase failed; parked remote sibling" };
|
|
241
|
+
}
|
|
242
|
+
if (decision.action === "rebase" || result === "applied") {
|
|
243
|
+
return { path, verdict: "rebase", detail: "local bytes put onto remote current" };
|
|
244
|
+
}
|
|
245
|
+
if (decision.action === "adopt") {
|
|
246
|
+
return { path, verdict: "adopt", detail: "content matches remote; provenance repaired" };
|
|
247
|
+
}
|
|
248
|
+
return { path, verdict: "conflict", detail: "could not converge occupied path" };
|
|
241
249
|
}
|
|
242
250
|
/** Conflict park keyed off the doc's *current* remote version (move race). */
|
|
243
251
|
async function parkConflictForCurrent(client, store, repo, path, embeddedVersionId) {
|
|
244
|
-
// Resolve the document's current version from the embedded (now-superseded)
|
|
245
|
-
// one, then park it. get_version gives us the doc; docs.get by its path finds
|
|
246
|
-
// the live current.
|
|
247
252
|
const superseded = await client.docs.get_version(repo, embeddedVersionId);
|
|
248
253
|
const current = await client.docs.get(repo, superseded.path);
|
|
249
|
-
|
|
250
|
-
await store.write(siblingPath, renderIgnoredSibling(current));
|
|
254
|
+
await parkIgnoredSibling(store, path, current);
|
|
251
255
|
}
|
|
252
256
|
//# sourceMappingURL=reconcile.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reconcile.js","sourceRoot":"","sources":["../../src/sync/reconcile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"reconcile.js","sourceRoot":"","sources":["../../src/sync/reconcile.ts"],"names":[],"mappings":"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"}
|