@indigoai-us/hq-cloud 5.32.0 → 5.34.0
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/bin/sync-runner.d.ts +9 -0
- package/dist/bin/sync-runner.d.ts.map +1 -1
- package/dist/bin/sync-runner.js +53 -27
- package/dist/bin/sync-runner.js.map +1 -1
- package/dist/bin/sync-runner.test.js +69 -0
- package/dist/bin/sync-runner.test.js.map +1 -1
- package/dist/cli/share.d.ts +60 -4
- package/dist/cli/share.d.ts.map +1 -1
- package/dist/cli/share.js +129 -8
- package/dist/cli/share.js.map +1 -1
- package/dist/cli/share.test.js +104 -6
- package/dist/cli/share.test.js.map +1 -1
- package/dist/cli/sync.d.ts +20 -0
- package/dist/cli/sync.d.ts.map +1 -1
- package/dist/cli/sync.js +260 -7
- package/dist/cli/sync.js.map +1 -1
- package/dist/cli/sync.test.js +469 -0
- package/dist/cli/sync.test.js.map +1 -1
- package/dist/ignore.d.ts.map +1 -1
- package/dist/ignore.js +7 -1
- package/dist/ignore.js.map +1 -1
- package/dist/ignore.test.js +19 -3
- package/dist/ignore.test.js.map +1 -1
- package/dist/lib/conflict-file.d.ts +7 -6
- package/dist/lib/conflict-file.d.ts.map +1 -1
- package/dist/lib/conflict-file.js +7 -27
- package/dist/lib/conflict-file.js.map +1 -1
- package/dist/lib/conflict.test.d.ts +4 -3
- package/dist/lib/conflict.test.d.ts.map +1 -1
- package/dist/lib/conflict.test.js +5 -33
- package/dist/lib/conflict.test.js.map +1 -1
- package/dist/lib/machine-id.d.ts +108 -0
- package/dist/lib/machine-id.d.ts.map +1 -0
- package/dist/lib/machine-id.js +170 -0
- package/dist/lib/machine-id.js.map +1 -0
- package/dist/lib/machine-id.test.d.ts +8 -0
- package/dist/lib/machine-id.test.d.ts.map +1 -0
- package/dist/lib/machine-id.test.js +195 -0
- package/dist/lib/machine-id.test.js.map +1 -0
- package/dist/s3.d.ts +21 -0
- package/dist/s3.d.ts.map +1 -1
- package/dist/s3.js +69 -2
- package/dist/s3.js.map +1 -1
- package/dist/s3.test.js +129 -2
- package/dist/s3.test.js.map +1 -1
- package/package.json +1 -1
- package/src/bin/sync-runner.test.ts +85 -0
- package/src/bin/sync-runner.ts +62 -25
- package/src/cli/share.test.ts +115 -6
- package/src/cli/share.ts +149 -9
- package/src/cli/sync.test.ts +529 -0
- package/src/cli/sync.ts +295 -8
- package/src/ignore.test.ts +20 -3
- package/src/ignore.ts +7 -1
- package/src/lib/conflict-file.ts +7 -27
- package/src/lib/conflict.test.ts +4 -40
- package/src/lib/machine-id.test.ts +221 -0
- package/src/lib/machine-id.ts +175 -0
- package/src/s3.test.ts +142 -2
- package/src/s3.ts +71 -2
package/dist/cli/share.js
CHANGED
|
@@ -7,16 +7,22 @@
|
|
|
7
7
|
import * as fs from "fs";
|
|
8
8
|
import * as path from "path";
|
|
9
9
|
import { resolveEntityContext, isExpiringSoon, refreshEntityContext } from "../context.js";
|
|
10
|
-
import { uploadFile, uploadSymlink, headRemoteFile, deleteRemoteFile } from "../s3.js";
|
|
10
|
+
import { uploadFile, uploadSymlink, headRemoteFile, deleteRemoteFile, downloadFile } from "../s3.js";
|
|
11
|
+
import * as crypto from "crypto";
|
|
11
12
|
import { readJournal, writeJournal, hashFile, hashSymlinkTarget, updateEntry, removeEntry, normalizeEtag, } from "../journal.js";
|
|
12
13
|
import { createIgnoreFilter, isWithinSizeLimit } from "../ignore.js";
|
|
13
14
|
import { wrapFilterWithPersonalVaultDefaults, } from "../personal-vault-exclusions.js";
|
|
14
15
|
import { resolveConflict } from "./conflict.js";
|
|
16
|
+
import { buildConflictId, buildConflictPath, readShortMachineId, } from "../lib/conflict-file.js";
|
|
17
|
+
import { appendConflictEntry } from "../lib/conflict-index.js";
|
|
15
18
|
/**
|
|
16
19
|
* Local-only ephemeral artifacts: conflict-mirror files written by the pull
|
|
17
20
|
* leg whenever a 3-way merge keeps local AND wants to preserve the remote
|
|
18
|
-
* version for inspection. Format: `<orig>.conflict-<ISO-utc>-<machineHash
|
|
19
|
-
* (e.g. `.claude/CLAUDE.md.conflict-2026-05-13T19-40-40Z-e5797a.md
|
|
21
|
+
* version for inspection. Format: `<orig>.conflict-<ISO-utc>-<machineHash>[.ext]`
|
|
22
|
+
* (e.g. `.claude/CLAUDE.md.conflict-2026-05-13T19-40-40Z-e5797a.md`,
|
|
23
|
+
* or `.gitignore.conflict-2026-05-13T19-40-40Z-e5797a` — extensionless
|
|
24
|
+
* originals produce no trailing dot, see `buildConflictPath` in
|
|
25
|
+
* `../lib/conflict-file.ts`).
|
|
20
26
|
*
|
|
21
27
|
* These files MUST never round-trip to S3 — they're local-only safety backups
|
|
22
28
|
* the user reviews and deletes once the merge is resolved. Pre-fix, the push
|
|
@@ -25,19 +31,44 @@ import { resolveConflict } from "./conflict.js";
|
|
|
25
31
|
* deleted them locally (because pull-confirmation had stamped them as
|
|
26
32
|
* `direction: "down"`). Net effect: a permanent litter ratchet on remote.
|
|
27
33
|
*
|
|
34
|
+
* Two known producer-shapes the regex must accommodate (both observed on
|
|
35
|
+
* affected user trees prior to this fix):
|
|
36
|
+
*
|
|
37
|
+
* 1. **`unknown` machine token.** Pre-`<hqRoot>/.hq/machine-id`
|
|
38
|
+
* provisioning (see `../lib/machine-id.ts`), hosts without
|
|
39
|
+
* `~/.hq/menubar.json` — every Linux HQ Pro Outpost, every fresh CLI
|
|
40
|
+
* install — fell through to the literal string `"unknown"` from the
|
|
41
|
+
* old `readShortMachineId()` fallback. The letters `k`, `n`, `o`, `w`
|
|
42
|
+
* live outside `[a-f]`, so the pre-fix `[a-f0-9]+` class refused those
|
|
43
|
+
* filenames. They round-tripped to S3 as ordinary files (which IS the
|
|
44
|
+
* "permanent litter ratchet" this module's contract was supposed to
|
|
45
|
+
* prevent). The new machine-id provisioning closes the producer side,
|
|
46
|
+
* but we still accept `unknown` here so legacy files already on disk
|
|
47
|
+
* are filtered out by the next push.
|
|
48
|
+
*
|
|
49
|
+
* 2. **Extensionless originals.** `path.extname('.gitignore')` returns
|
|
50
|
+
* `''` in Node, so `buildConflictPath` produces no trailing `.<ext>`
|
|
51
|
+
* segment for hidden-but-extensionless files like `.gitignore`,
|
|
52
|
+
* `.hqignore`, or any `.agents/skills`-style entry. The pre-fix `\.`
|
|
53
|
+
* tail was mandatory, so those names slipped through.
|
|
54
|
+
*
|
|
28
55
|
* Wire-points: (1) push walker — `collectFiles` / `walkDir` skip these so
|
|
29
56
|
* they never upload; (2) `computeDeletePlan` — skip these so an already-
|
|
30
57
|
* journaled mirror that's been deleted locally doesn't get included in the
|
|
31
58
|
* regular delete plan (the dedicated reconcile path handles existing litter).
|
|
32
59
|
*/
|
|
33
|
-
const EPHEMERAL_PATH_PATTERN = /\.conflict-\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}Z-[a-f0-9]
|
|
60
|
+
export const EPHEMERAL_PATH_PATTERN = /\.conflict-\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}Z-(?:[a-f0-9]+|unknown)(?:\.[^/]*)?$/;
|
|
34
61
|
/**
|
|
35
62
|
* Cheap pure check — pass the relative key OR a basename; either works. Used
|
|
36
63
|
* in both the file walker (basename matching) and the delete-plan walker
|
|
37
|
-
* (relative-key matching)
|
|
38
|
-
*
|
|
64
|
+
* (relative-key matching), and also by the pull walker in sync.ts to refuse
|
|
65
|
+
* downloading legacy conflict-mirror files that still live in cloud staging
|
|
66
|
+
* (Bug #2 in the 5.33.0 deep-test report — push-side filtered them since
|
|
67
|
+
* 5.33.0 but pull-side downloaded them freely until this export). The regex
|
|
68
|
+
* matches anywhere in the string, which is fine: the
|
|
69
|
+
* `.conflict-<ISO>-<hash>.` token is unambiguous.
|
|
39
70
|
*/
|
|
40
|
-
function isEphemeralPath(p) {
|
|
71
|
+
export function isEphemeralPath(p) {
|
|
41
72
|
return EPHEMERAL_PATH_PATTERN.test(p);
|
|
42
73
|
}
|
|
43
74
|
/**
|
|
@@ -228,6 +259,9 @@ export async function share(options) {
|
|
|
228
259
|
// propagateDeletes=false path.
|
|
229
260
|
let filesTombstoned = 0;
|
|
230
261
|
let filesRefusedStale = 0;
|
|
262
|
+
// Capped at 50 to bound event payload size — `newFiles` uses the same cap.
|
|
263
|
+
const REFUSED_STALE_PATH_CAP = 50;
|
|
264
|
+
const filesRefusedStalePaths = [];
|
|
231
265
|
const conflictPaths = [];
|
|
232
266
|
// Collect all files to share
|
|
233
267
|
const filesToShare = collectFiles(paths, hqRoot, syncRoot, shouldSync);
|
|
@@ -331,12 +365,57 @@ export async function share(options) {
|
|
|
331
365
|
// the current remote ETag against the one captured at last sync; when
|
|
332
366
|
// missing (legacy entries), we fall back to the same `lastModified >
|
|
333
367
|
// syncedAt` heuristic the pull side uses.
|
|
368
|
+
//
|
|
369
|
+
// Bug #7 (data-loss class — see workspace/reports/hq-cloud-5.33.0-
|
|
370
|
+
// deep-test.md): for a path with NO prior journal entry (first push
|
|
371
|
+
// from this machine), the localChanged/remoteChanged predicates above
|
|
372
|
+
// both evaluate FALSE (their guards require `!!journalEntry`). Push
|
|
373
|
+
// fell through to an unconditional PUT, silently clobbering any
|
|
374
|
+
// peer's content already at that key. The verification report's V7
|
|
375
|
+
// isolated this — the bug is independent of \`--on-conflict\` mode;
|
|
376
|
+
// it's keyed on "do I have a prior journal entry?" not on the flag.
|
|
377
|
+
//
|
|
378
|
+
// Fresh-collision branch: when remoteMeta exists and there's no
|
|
379
|
+
// journal entry, hash the local body (MD5 for parity with S3's
|
|
380
|
+
// single-part etag) and compare. Match → no conflict, silently skip
|
|
381
|
+
// the PUT (the bytes are already there). Mismatch → treat as a
|
|
382
|
+
// conflict in the same shared branch below.
|
|
334
383
|
const remoteMeta = await headRemoteFile(ctx, relativePath);
|
|
335
384
|
if (remoteMeta) {
|
|
336
385
|
const journalEntry = journal.files[relativePath];
|
|
337
386
|
const localChanged = !!journalEntry && journalEntry.hash !== localHash;
|
|
338
387
|
const remoteChanged = !!journalEntry && hasRemoteChanged(remoteMeta, journalEntry);
|
|
339
|
-
|
|
388
|
+
let isFreshCollision = false;
|
|
389
|
+
if (!journalEntry && item.kind === "file") {
|
|
390
|
+
// Single-part S3 PUT etag is MD5 of the body. Multipart uploads
|
|
391
|
+
// produce \`<md5>-<partCount>\`; we treat any non-single-part etag
|
|
392
|
+
// as ambiguous and DO classify as a conflict (safer for the
|
|
393
|
+
// first-time path — false positives prompt the operator, false
|
|
394
|
+
// negatives lose data). Symlink records (\`kind: "symlink"\`)
|
|
395
|
+
// skip the check entirely — the wire body shape (\`hq-symlink:\`
|
|
396
|
+
// prefix + target) isn't a pure byte mirror and would mis-
|
|
397
|
+
// classify; symlink overwrites are rare and an audit pass after
|
|
398
|
+
// the broader bug-cleanup wave can extend coverage if needed.
|
|
399
|
+
const remoteEtagNormalized = normalizeEtag(remoteMeta.etag);
|
|
400
|
+
const isMultipart = /-\d+$/.test(remoteEtagNormalized);
|
|
401
|
+
if (!isMultipart) {
|
|
402
|
+
const localBody = fs.readFileSync(absolutePath);
|
|
403
|
+
const localMd5 = crypto.createHash("md5").update(localBody).digest("hex");
|
|
404
|
+
if (localMd5 !== remoteEtagNormalized) {
|
|
405
|
+
isFreshCollision = true;
|
|
406
|
+
}
|
|
407
|
+
// Match → bytes are already there; fall through to upload
|
|
408
|
+
// path which is idempotent (S3 will overwrite with identical
|
|
409
|
+
// content + carry our metadata). Cheap, no behavior change.
|
|
410
|
+
}
|
|
411
|
+
else {
|
|
412
|
+
// Multipart object pre-exists with unknown body shape — assume
|
|
413
|
+
// collision rather than risk a silent overwrite. The operator
|
|
414
|
+
// can resolve via the standard conflict prompt.
|
|
415
|
+
isFreshCollision = true;
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
if ((localChanged && remoteChanged) || isFreshCollision) {
|
|
340
419
|
conflictPaths.push(relativePath);
|
|
341
420
|
const resolution = await resolveConflict({
|
|
342
421
|
path: relativePath,
|
|
@@ -361,6 +440,10 @@ export async function share(options) {
|
|
|
361
440
|
// ShareResult shape stable for consumers that destructure.
|
|
362
441
|
filesTombstoned,
|
|
363
442
|
filesRefusedStale,
|
|
443
|
+
// Always present so consumers can destructure without a
|
|
444
|
+
// defaulting fallback. Empty on the abort path because the
|
|
445
|
+
// delete-plan execution loop is short-circuited.
|
|
446
|
+
filesRefusedStalePaths,
|
|
364
447
|
// Exclusions are computed during the upload walk which has
|
|
365
448
|
// already completed by the time we hit a per-file conflict-
|
|
366
449
|
// abort, so the count is meaningful here. No event emit on
|
|
@@ -372,6 +455,40 @@ export async function share(options) {
|
|
|
372
455
|
};
|
|
373
456
|
}
|
|
374
457
|
if (resolution === "keep" || resolution === "skip") {
|
|
458
|
+
// Bug #7 mirror branch: when the resolution is keep/skip on a
|
|
459
|
+
// FRESH collision (no prior journal entry), download the
|
|
460
|
+
// remote bytes to \`<orig>.conflict-<ts>-<short>\` so both
|
|
461
|
+
// versions survive on disk. Mirrors the pull-side mirror-write
|
|
462
|
+
// routine in sync.ts exactly. Skipped for stale-journal
|
|
463
|
+
// conflicts (the pre-Bug-#7 codepath) — those already produce
|
|
464
|
+
// a pull-side mirror on the next sync cycle.
|
|
465
|
+
if (isFreshCollision) {
|
|
466
|
+
try {
|
|
467
|
+
const detectedAt = new Date().toISOString();
|
|
468
|
+
const machineId = readShortMachineId(hqRoot);
|
|
469
|
+
const originalRelative = path.relative(hqRoot, absolutePath);
|
|
470
|
+
const conflictRelative = buildConflictPath(originalRelative, detectedAt, machineId);
|
|
471
|
+
const conflictAbs = path.join(hqRoot, conflictRelative);
|
|
472
|
+
await downloadFile(ctx, relativePath, conflictAbs);
|
|
473
|
+
appendConflictEntry(hqRoot, {
|
|
474
|
+
id: buildConflictId(originalRelative, detectedAt),
|
|
475
|
+
originalPath: originalRelative,
|
|
476
|
+
conflictPath: conflictRelative,
|
|
477
|
+
detectedAt,
|
|
478
|
+
side: "push",
|
|
479
|
+
machineId,
|
|
480
|
+
localHash,
|
|
481
|
+
remoteHash: normalizeEtag(remoteMeta.etag),
|
|
482
|
+
});
|
|
483
|
+
}
|
|
484
|
+
catch (mirrorErr) {
|
|
485
|
+
emit({
|
|
486
|
+
type: "error",
|
|
487
|
+
path: relativePath,
|
|
488
|
+
message: `conflict mirror write failed: ${mirrorErr instanceof Error ? mirrorErr.message : String(mirrorErr)}`,
|
|
489
|
+
});
|
|
490
|
+
}
|
|
491
|
+
}
|
|
375
492
|
filesSkipped++;
|
|
376
493
|
continue;
|
|
377
494
|
}
|
|
@@ -491,6 +608,9 @@ export async function share(options) {
|
|
|
491
608
|
if (decommissionedSet && decommissionedSet.has(refused.key))
|
|
492
609
|
continue;
|
|
493
610
|
filesRefusedStale++;
|
|
611
|
+
if (filesRefusedStalePaths.length < REFUSED_STALE_PATH_CAP) {
|
|
612
|
+
filesRefusedStalePaths.push(refused.key);
|
|
613
|
+
}
|
|
494
614
|
emit({
|
|
495
615
|
type: "delete-refused-stale-etag",
|
|
496
616
|
path: refused.key,
|
|
@@ -528,6 +648,7 @@ export async function share(options) {
|
|
|
528
648
|
filesDeleted,
|
|
529
649
|
filesTombstoned,
|
|
530
650
|
filesRefusedStale,
|
|
651
|
+
filesRefusedStalePaths,
|
|
531
652
|
filesExcludedByPolicy: excludedSet.size,
|
|
532
653
|
conflictPaths,
|
|
533
654
|
aborted: false,
|
package/dist/cli/share.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"share.js","sourceRoot":"","sources":["../../src/cli/share.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"share.js","sourceRoot":"","sources":["../../src/cli/share.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/share.test.js
CHANGED
|
@@ -314,6 +314,84 @@ describe("share", () => {
|
|
|
314
314
|
resolution: "keep",
|
|
315
315
|
});
|
|
316
316
|
});
|
|
317
|
+
it("first-time-upload-with-cloud-collision: emits conflict + writes mirror under --on-conflict keep (Bug #7)", async () => {
|
|
318
|
+
// Bug #7 (data-loss class) from the 5.33.0 deep test: when a file has
|
|
319
|
+
// NO prior journal entry (fresh upload from this machine) but the
|
|
320
|
+
// remote already has a different object at that key (a peer pushed
|
|
321
|
+
// first), the previous detector required \`!!journalEntry\` for BOTH
|
|
322
|
+
// localChanged and remoteChanged, so the whole \`localChanged &&
|
|
323
|
+
// remoteChanged\` predicate evaluated false. Push fell through to
|
|
324
|
+
// an unconditional PUT, silently overwriting the peer's content
|
|
325
|
+
// without recording a conflict event or writing a mirror.
|
|
326
|
+
//
|
|
327
|
+
// The verification report's V7 isolated the mechanism: the bug is
|
|
328
|
+
// independent of \`--on-conflict\` mode — the conflict-detection
|
|
329
|
+
// branch is keyed on "do I have a prior journal entry?", not on the
|
|
330
|
+
// policy flag. \`s13-conflict.txt\` (had a journal entry) correctly
|
|
331
|
+
// aborted under --on-conflict abort; \`v7b-fresh-collision.txt\`
|
|
332
|
+
// (no journal entry) was never even reported.
|
|
333
|
+
//
|
|
334
|
+
// Fix: even on first-time upload, if HEAD shows remote exists and
|
|
335
|
+
// its content (etag) differs from what we'd put, emit a conflict.
|
|
336
|
+
// Under keep, the existing pull-side mirror routine downloads the
|
|
337
|
+
// remote bytes to \`<orig>.conflict-<ts>-<short>\` so both versions
|
|
338
|
+
// survive on disk; under abort, the company aborts before PUT.
|
|
339
|
+
const companyRoot = path.join(tmpDir, "companies", "acme");
|
|
340
|
+
fs.mkdirSync(companyRoot, { recursive: true });
|
|
341
|
+
const testFile = path.join(companyRoot, "v7b-fresh.txt");
|
|
342
|
+
fs.writeFileSync(testFile, "macos-fresh-collision-content");
|
|
343
|
+
// Remote exists with a different etag — and there is NO journal
|
|
344
|
+
// entry for this path (this is the first push from this machine).
|
|
345
|
+
vi.mocked(headRemoteFile).mockResolvedValueOnce({
|
|
346
|
+
lastModified: new Date(),
|
|
347
|
+
etag: '"remote-version-etag"',
|
|
348
|
+
size: 40,
|
|
349
|
+
});
|
|
350
|
+
// No journal file written — first-time upload contract.
|
|
351
|
+
const events = [];
|
|
352
|
+
const result = await share({
|
|
353
|
+
paths: [testFile],
|
|
354
|
+
company: "acme",
|
|
355
|
+
vaultConfig: mockConfig,
|
|
356
|
+
hqRoot: tmpDir,
|
|
357
|
+
onConflict: "keep",
|
|
358
|
+
onEvent: (e) => events.push(e),
|
|
359
|
+
});
|
|
360
|
+
expect(result.conflictPaths).toEqual(["v7b-fresh.txt"]);
|
|
361
|
+
// Under keep, local stays as-is (no upload) and the mirror records
|
|
362
|
+
// the remote bytes so neither version is lost.
|
|
363
|
+
expect(result.filesUploaded).toBe(0);
|
|
364
|
+
const conflicts = events.filter((e) => typeof e === "object" && e !== null && e.type === "conflict");
|
|
365
|
+
expect(conflicts).toHaveLength(1);
|
|
366
|
+
expect(conflicts[0].path).toBe("v7b-fresh.txt");
|
|
367
|
+
// Local file unmodified — it must still contain the local content.
|
|
368
|
+
expect(fs.readFileSync(testFile, "utf-8")).toBe("macos-fresh-collision-content");
|
|
369
|
+
});
|
|
370
|
+
it("first-time-upload-with-cloud-collision: aborts company under --on-conflict abort (Bug #7)", async () => {
|
|
371
|
+
// Symmetric to the keep case: when --on-conflict abort is passed, a
|
|
372
|
+
// first-time-upload-with-cloud-collision must abort the share leg
|
|
373
|
+
// before the PUT (preserving remote intact) and surface
|
|
374
|
+
// \`aborted: true\` + \`conflicts: 1\` in the result.
|
|
375
|
+
const companyRoot = path.join(tmpDir, "companies", "acme");
|
|
376
|
+
fs.mkdirSync(companyRoot, { recursive: true });
|
|
377
|
+
const testFile = path.join(companyRoot, "v7b-abort.txt");
|
|
378
|
+
fs.writeFileSync(testFile, "local-version");
|
|
379
|
+
vi.mocked(headRemoteFile).mockResolvedValueOnce({
|
|
380
|
+
lastModified: new Date(),
|
|
381
|
+
etag: '"different-remote"',
|
|
382
|
+
size: 99,
|
|
383
|
+
});
|
|
384
|
+
const result = await share({
|
|
385
|
+
paths: [testFile],
|
|
386
|
+
company: "acme",
|
|
387
|
+
vaultConfig: mockConfig,
|
|
388
|
+
hqRoot: tmpDir,
|
|
389
|
+
onConflict: "abort",
|
|
390
|
+
});
|
|
391
|
+
expect(result.aborted).toBe(true);
|
|
392
|
+
expect(result.conflictPaths).toEqual(["v7b-abort.txt"]);
|
|
393
|
+
expect(result.filesUploaded).toBe(0);
|
|
394
|
+
});
|
|
317
395
|
it("uploads (no conflict) when only the local side changed since last sync", async () => {
|
|
318
396
|
// Regression for hq-cloud#<conflict-detection>: a local edit to a file
|
|
319
397
|
// that exists on S3 used to trigger a push conflict because the
|
|
@@ -2014,6 +2092,23 @@ describe("isEphemeralPath (conflict-mirror pattern contract)", () => {
|
|
|
2014
2092
|
["foo.conflict-2026-05-19T17-05-56Z-deadbeef.md", true],
|
|
2015
2093
|
// Non-markdown extensions also valid (sh scripts, ts files, etc.).
|
|
2016
2094
|
["foo.sh.conflict-2026-05-19T17-05-56Z-abc123.sh", true],
|
|
2095
|
+
// ── extensionless originals (regression: `path.extname('.gitignore')`
|
|
2096
|
+
// returns '' in Node, so `buildConflictPath` produces no trailing
|
|
2097
|
+
// `.<ext>` segment for hidden-but-extensionless files).
|
|
2098
|
+
[".gitignore.conflict-2026-05-23T19-51-38Z-4dff71", true],
|
|
2099
|
+
[".hqignore.conflict-2026-05-23T19-51-38Z-4dff71", true],
|
|
2100
|
+
[".agents/skills.conflict-2026-05-19T17-07-01Z-0a513b", true],
|
|
2101
|
+
// ── legacy "unknown" machine token (regression: hosts without
|
|
2102
|
+
// `~/.hq/menubar.json` pre-Fix-3 fell through to the literal string
|
|
2103
|
+
// `"unknown"`, which `[a-f0-9]+` refused. Producer side is closed in
|
|
2104
|
+
// `../lib/machine-id.ts`, but the regex still must filter the
|
|
2105
|
+
// already-on-disk legacy files so the next push removes them).
|
|
2106
|
+
[".gitignore.conflict-2026-05-15T15-10-35Z-unknown", true],
|
|
2107
|
+
[".agents/skills.conflict-2026-05-15T15-10-35Z-unknown", true],
|
|
2108
|
+
["notes.md.conflict-2026-05-15T15-10-35Z-unknown.md", true],
|
|
2109
|
+
[".hq/install-manifest.json.conflict-2026-05-15T15-11-58Z-unknown.json", true],
|
|
2110
|
+
// Multi-dot extension (e.g., archive tarballs that conflicted).
|
|
2111
|
+
["dump.conflict-2026-05-13T19-40-40Z-abc.tar.gz", true],
|
|
2017
2112
|
])("matches conflict mirror: %s", (p, expected) => {
|
|
2018
2113
|
expect(isEphemeralPath(p)).toBe(expected);
|
|
2019
2114
|
});
|
|
@@ -2026,17 +2121,20 @@ describe("isEphemeralPath (conflict-mirror pattern contract)", () => {
|
|
|
2026
2121
|
["conflict-resolution.md", false],
|
|
2027
2122
|
["my-conflict.md", false],
|
|
2028
2123
|
["foo.conflict-handler.md", false],
|
|
2029
|
-
//
|
|
2030
|
-
// always carry a file extension; the trailing `\.` in the pattern is the
|
|
2031
|
-
// safety against bare-substring false positives).
|
|
2032
|
-
["foo.conflict-2026-05-13T19-40-40Z-abc", false],
|
|
2033
|
-
// Wrong-case or non-hex machine hash.
|
|
2124
|
+
// Wrong-case or non-hex/non-"unknown" machine hash.
|
|
2034
2125
|
["foo.conflict-2026-05-13T19-40-40Z-ZZZZZZ.md", false],
|
|
2035
2126
|
// Wrong timestamp format (real conflicts use UTC ISO with Z suffix).
|
|
2036
2127
|
["foo.conflict-2026-05-13-abc123.md", false],
|
|
2037
|
-
// Missing leading dot before "conflict" (
|
|
2128
|
+
// Missing leading dot before "conflict" (protects against legitimate
|
|
2038
2129
|
// files that happen to contain the word "conflict" mid-name).
|
|
2039
2130
|
["fooconflict-2026-05-13T19-40-40Z-abc.md", false],
|
|
2131
|
+
// Extra trailing segments after the machine hash — the `$` anchor +
|
|
2132
|
+
// `[^/]*` ext class ensure a conflict marker can't appear mid-path.
|
|
2133
|
+
["foo.conflict-2026-05-13T19-40-40Z-abc/extra/path", false],
|
|
2134
|
+
["foo.conflict-2026-05-13T19-40-40Z-abc-then-more-text", false],
|
|
2135
|
+
// Bare "unknown"-like tokens that aren't the literal sentinel.
|
|
2136
|
+
["foo.conflict-2026-05-13T19-40-40Z-unknowing.md", false],
|
|
2137
|
+
["foo.conflict-2026-05-13T19-40-40Z-UNKNOWN.md", false],
|
|
2040
2138
|
])("rejects non-mirror: %s", (p, expected) => {
|
|
2041
2139
|
expect(isEphemeralPath(p)).toBe(expected);
|
|
2042
2140
|
});
|