@indigoai-us/hq-cloud 6.11.11 → 6.11.12
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 +2 -0
- package/dist/bin/sync-runner.d.ts.map +1 -1
- package/dist/bin/sync-runner.js +231 -52
- package/dist/bin/sync-runner.js.map +1 -1
- package/dist/bin/sync-runner.test.js +265 -11
- package/dist/bin/sync-runner.test.js.map +1 -1
- package/dist/cli/rescue-classify-ordering.test.js +58 -0
- package/dist/cli/rescue-classify-ordering.test.js.map +1 -1
- package/dist/cli/rescue-core.js +138 -15
- package/dist/cli/rescue-core.js.map +1 -1
- package/dist/cli/share.d.ts +2 -1
- package/dist/cli/share.d.ts.map +1 -1
- package/dist/cli/share.js +100 -32
- package/dist/cli/share.js.map +1 -1
- package/dist/cli/share.test.js +30 -0
- package/dist/cli/share.test.js.map +1 -1
- package/dist/cli/sync.d.ts +28 -1
- package/dist/cli/sync.d.ts.map +1 -1
- package/dist/cli/sync.js +178 -58
- package/dist/cli/sync.js.map +1 -1
- package/dist/cli/sync.test.js +362 -1
- package/dist/cli/sync.test.js.map +1 -1
- package/dist/cognito-auth.d.ts.map +1 -1
- package/dist/cognito-auth.js +55 -10
- package/dist/cognito-auth.js.map +1 -1
- package/dist/cognito-auth.test.js +61 -0
- package/dist/cognito-auth.test.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/journal.d.ts.map +1 -1
- package/dist/journal.js +93 -6
- package/dist/journal.js.map +1 -1
- package/dist/journal.test.js +59 -0
- package/dist/journal.test.js.map +1 -1
- package/dist/machine-auth.test.js +60 -2
- package/dist/machine-auth.test.js.map +1 -1
- package/dist/object-io.d.ts +37 -1
- package/dist/object-io.d.ts.map +1 -1
- package/dist/object-io.js +148 -29
- package/dist/object-io.js.map +1 -1
- package/dist/object-io.test.js +121 -0
- package/dist/object-io.test.js.map +1 -1
- package/dist/operation-lock.d.ts +8 -8
- package/dist/operation-lock.d.ts.map +1 -1
- package/dist/operation-lock.js +99 -32
- package/dist/operation-lock.js.map +1 -1
- package/dist/operation-lock.test.js +51 -4
- package/dist/operation-lock.test.js.map +1 -1
- package/dist/personal-vault.d.ts.map +1 -1
- package/dist/personal-vault.js +8 -2
- package/dist/personal-vault.js.map +1 -1
- package/dist/personal-vault.test.js +34 -0
- package/dist/personal-vault.test.js.map +1 -1
- package/dist/prefix-coalesce.d.ts +20 -9
- package/dist/prefix-coalesce.d.ts.map +1 -1
- package/dist/prefix-coalesce.js +124 -28
- package/dist/prefix-coalesce.js.map +1 -1
- package/dist/prefix-coalesce.test.js +57 -2
- package/dist/prefix-coalesce.test.js.map +1 -1
- package/dist/remote-pull.d.ts +6 -1
- package/dist/remote-pull.d.ts.map +1 -1
- package/dist/remote-pull.js +62 -13
- package/dist/remote-pull.js.map +1 -1
- package/dist/remote-pull.test.js +189 -0
- package/dist/remote-pull.test.js.map +1 -1
- package/dist/s3.d.ts +2 -0
- package/dist/s3.d.ts.map +1 -1
- package/dist/s3.js +197 -116
- package/dist/s3.js.map +1 -1
- package/dist/s3.test.js +109 -0
- package/dist/s3.test.js.map +1 -1
- package/dist/scope-shrink.d.ts +3 -2
- package/dist/scope-shrink.d.ts.map +1 -1
- package/dist/scope-shrink.js +1 -1
- package/dist/scope-shrink.js.map +1 -1
- package/dist/skill-telemetry.d.ts +1 -1
- package/dist/skill-telemetry.d.ts.map +1 -1
- package/dist/skill-telemetry.js +69 -9
- package/dist/skill-telemetry.js.map +1 -1
- package/dist/skill-telemetry.test.js +86 -0
- package/dist/skill-telemetry.test.js.map +1 -1
- package/dist/sync/event-sync.d.ts +6 -0
- package/dist/sync/event-sync.d.ts.map +1 -1
- package/dist/sync/event-sync.js +34 -1
- package/dist/sync/event-sync.js.map +1 -1
- package/dist/sync/event-sync.test.js +73 -0
- package/dist/sync/event-sync.test.js.map +1 -1
- package/dist/sync/metrics.d.ts +17 -1
- package/dist/sync/metrics.d.ts.map +1 -1
- package/dist/sync/metrics.js +32 -1
- package/dist/sync/metrics.js.map +1 -1
- package/dist/sync/metrics.test.js +74 -1
- package/dist/sync/metrics.test.js.map +1 -1
- package/dist/sync/pull-scope.d.ts.map +1 -1
- package/dist/sync/pull-scope.js +15 -7
- package/dist/sync/pull-scope.js.map +1 -1
- package/dist/sync/push-receiver.d.ts +6 -5
- package/dist/sync/push-receiver.d.ts.map +1 -1
- package/dist/sync/push-receiver.js +13 -15
- package/dist/sync/push-receiver.js.map +1 -1
- package/dist/sync/push-receiver.test.js +36 -1
- package/dist/sync/push-receiver.test.js.map +1 -1
- package/dist/telemetry.d.ts +1 -1
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js +59 -6
- package/dist/telemetry.js.map +1 -1
- package/dist/telemetry.test.js +74 -0
- package/dist/telemetry.test.js.map +1 -1
- package/dist/types.d.ts +8 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/watcher.d.ts +36 -0
- package/dist/watcher.d.ts.map +1 -1
- package/dist/watcher.js +152 -30
- package/dist/watcher.js.map +1 -1
- package/dist/watcher.test.js +103 -0
- package/dist/watcher.test.js.map +1 -1
- package/package.json +1 -1
- package/src/bin/sync-runner.test.ts +298 -11
- package/src/bin/sync-runner.ts +254 -52
- package/src/cli/rescue-classify-ordering.test.ts +61 -0
- package/src/cli/rescue-core.ts +174 -15
- package/src/cli/share.test.ts +38 -0
- package/src/cli/share.ts +103 -34
- package/src/cli/sync.test.ts +435 -1
- package/src/cli/sync.ts +217 -64
- package/src/cognito-auth.test.ts +77 -0
- package/src/cognito-auth.ts +73 -11
- package/src/index.ts +8 -0
- package/src/journal.test.ts +72 -0
- package/src/journal.ts +95 -8
- package/src/machine-auth.test.ts +64 -2
- package/src/object-io.test.ts +142 -0
- package/src/object-io.ts +182 -30
- package/src/operation-lock.test.ts +63 -4
- package/src/operation-lock.ts +99 -31
- package/src/personal-vault.test.ts +42 -0
- package/src/personal-vault.ts +8 -2
- package/src/prefix-coalesce.test.ts +71 -1
- package/src/prefix-coalesce.ts +155 -30
- package/src/remote-pull.test.ts +205 -0
- package/src/remote-pull.ts +77 -14
- package/src/s3.test.ts +126 -0
- package/src/s3.ts +237 -122
- package/src/scope-shrink.ts +6 -3
- package/src/skill-telemetry.test.ts +109 -0
- package/src/skill-telemetry.ts +82 -14
- package/src/sync/event-sync.test.ts +75 -0
- package/src/sync/event-sync.ts +54 -1
- package/src/sync/metrics.test.ts +81 -0
- package/src/sync/metrics.ts +59 -4
- package/src/sync/pull-scope.ts +23 -7
- package/src/sync/push-receiver.test.ts +38 -1
- package/src/sync/push-receiver.ts +15 -18
- package/src/telemetry.test.ts +85 -0
- package/src/telemetry.ts +69 -6
- package/src/types.ts +8 -0
- package/src/watcher.test.ts +117 -0
- package/src/watcher.ts +209 -33
package/dist/cli/sync.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/cli/sync.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/cli/sync.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/sync.test.js
CHANGED
|
@@ -6,6 +6,7 @@ import * as fs from "fs";
|
|
|
6
6
|
import * as path from "path";
|
|
7
7
|
import * as os from "os";
|
|
8
8
|
import { clearContextCache } from "../context.js";
|
|
9
|
+
import { lockPathFor } from "../operation-lock.js";
|
|
9
10
|
// Mock s3 module at the top level
|
|
10
11
|
vi.mock("../s3.js", async () => {
|
|
11
12
|
const { vi: innerVi } = await import("vitest");
|
|
@@ -36,7 +37,7 @@ vi.mock("../s3.js", async () => {
|
|
|
36
37
|
vi.mock("./reindex.js", () => ({
|
|
37
38
|
reindex: vi.fn(() => ({ status: 0 })),
|
|
38
39
|
}));
|
|
39
|
-
import { sync } from "./sync.js";
|
|
40
|
+
import { sync, reportNewFilesToNotify } from "./sync.js";
|
|
40
41
|
import * as s3Module from "../s3.js";
|
|
41
42
|
import { reindex } from "./reindex.js";
|
|
42
43
|
const mockConfig = {
|
|
@@ -126,6 +127,25 @@ describe("sync", () => {
|
|
|
126
127
|
// skipLock: the surrounding sync run already holds the per-root lock.
|
|
127
128
|
expect(reindex).toHaveBeenCalledWith({ repoRoot: tmpDir, skipLock: true });
|
|
128
129
|
});
|
|
130
|
+
it("F15: public sync entrypoint refuses an already-held operation lock", async () => {
|
|
131
|
+
process.env.HQ_OP_LOCK_TIMEOUT = "0";
|
|
132
|
+
const lockPath = lockPathFor(tmpDir);
|
|
133
|
+
fs.mkdirSync(path.dirname(lockPath), { recursive: true });
|
|
134
|
+
fs.writeFileSync(lockPath, JSON.stringify({
|
|
135
|
+
pid: 1,
|
|
136
|
+
command: "rescue",
|
|
137
|
+
startedAt: new Date().toISOString(),
|
|
138
|
+
hqRoot: path.resolve(tmpDir),
|
|
139
|
+
}));
|
|
140
|
+
try {
|
|
141
|
+
await expect(sync({ company: "acme", vaultConfig: mockConfig, hqRoot: tmpDir })).rejects.toThrow(/another HQ operation is already running/);
|
|
142
|
+
expect(s3Module.listRemoteFiles).not.toHaveBeenCalled();
|
|
143
|
+
expect(reindex).not.toHaveBeenCalled();
|
|
144
|
+
}
|
|
145
|
+
finally {
|
|
146
|
+
delete process.env.HQ_OP_LOCK_TIMEOUT;
|
|
147
|
+
}
|
|
148
|
+
});
|
|
129
149
|
it("skips reindex when skipReindex is set", async () => {
|
|
130
150
|
const result = await sync({
|
|
131
151
|
company: "acme",
|
|
@@ -432,6 +452,167 @@ describe("sync", () => {
|
|
|
432
452
|
// Local replaced with the (mock) remote content.
|
|
433
453
|
expect(fs.readFileSync(localPath, "utf-8")).toBe("mock file content");
|
|
434
454
|
});
|
|
455
|
+
it("RF-F02EXEC: refuses a download whose parent symlink appears after planning", async () => {
|
|
456
|
+
const companyRoot = path.join(tmpDir, "companies", "acme");
|
|
457
|
+
const outsideRoot = fs.mkdtempSync(path.join(os.tmpdir(), "hq-sync-escape-"));
|
|
458
|
+
const previousConcurrency = process.env.HQ_SYNC_TRANSFER_CONCURRENCY;
|
|
459
|
+
const defaultDownload = vi.mocked(s3Module.downloadFile).getMockImplementation();
|
|
460
|
+
process.env.HQ_SYNC_TRANSFER_CONCURRENCY = "1";
|
|
461
|
+
vi.mocked(s3Module.listRemoteFiles).mockResolvedValueOnce([
|
|
462
|
+
{ key: "docs/setup.md", size: 5, lastModified: new Date(), etag: '"setup"' },
|
|
463
|
+
{ key: "trap/secret.md", size: 6, lastModified: new Date(), etag: '"secret"' },
|
|
464
|
+
]);
|
|
465
|
+
vi.mocked(s3Module.downloadFile).mockImplementation(async (_ctx, key, localPath) => {
|
|
466
|
+
fs.mkdirSync(path.dirname(localPath), { recursive: true });
|
|
467
|
+
if (key === "docs/setup.md") {
|
|
468
|
+
fs.writeFileSync(localPath, "setup");
|
|
469
|
+
fs.symlinkSync(outsideRoot, path.join(companyRoot, "trap"), "dir");
|
|
470
|
+
}
|
|
471
|
+
else {
|
|
472
|
+
fs.writeFileSync(localPath, "escaped");
|
|
473
|
+
}
|
|
474
|
+
return { metadata: {} };
|
|
475
|
+
});
|
|
476
|
+
const events = [];
|
|
477
|
+
try {
|
|
478
|
+
const result = await sync({
|
|
479
|
+
company: "acme",
|
|
480
|
+
vaultConfig: mockConfig,
|
|
481
|
+
hqRoot: tmpDir,
|
|
482
|
+
onEvent: (e) => events.push(e),
|
|
483
|
+
});
|
|
484
|
+
expect(result.filesDownloaded).toBe(1);
|
|
485
|
+
expect(fs.readFileSync(path.join(companyRoot, "docs", "setup.md"), "utf-8")).toBe("setup");
|
|
486
|
+
expect(fs.existsSync(path.join(outsideRoot, "secret.md"))).toBe(false);
|
|
487
|
+
expect(events.some((e) => e.type === "error" &&
|
|
488
|
+
e.path === "trap/secret.md" &&
|
|
489
|
+
e.message?.includes("escaped the sync root"))).toBe(true);
|
|
490
|
+
}
|
|
491
|
+
finally {
|
|
492
|
+
if (defaultDownload)
|
|
493
|
+
vi.mocked(s3Module.downloadFile).mockImplementation(defaultDownload);
|
|
494
|
+
if (previousConcurrency === undefined) {
|
|
495
|
+
delete process.env.HQ_SYNC_TRANSFER_CONCURRENCY;
|
|
496
|
+
}
|
|
497
|
+
else {
|
|
498
|
+
process.env.HQ_SYNC_TRANSFER_CONCURRENCY = previousConcurrency;
|
|
499
|
+
}
|
|
500
|
+
fs.rmSync(outsideRoot, { recursive: true, force: true });
|
|
501
|
+
}
|
|
502
|
+
});
|
|
503
|
+
it("RF-F02EXEC-conflict", async () => {
|
|
504
|
+
const companyRoot = path.join(tmpDir, "companies", "acme");
|
|
505
|
+
const companyDocs = path.join(companyRoot, "docs");
|
|
506
|
+
const outsideRoot = fs.mkdtempSync(path.join(os.tmpdir(), "hq-sync-conflict-escape-"));
|
|
507
|
+
const localPath = path.join(companyDocs, "handoff.md");
|
|
508
|
+
fs.mkdirSync(companyDocs, { recursive: true });
|
|
509
|
+
fs.writeFileSync(localPath, "local version");
|
|
510
|
+
vi.mocked(s3Module.listRemoteFiles).mockResolvedValueOnce([
|
|
511
|
+
{ key: "docs/handoff.md", size: 42, lastModified: new Date(), etag: '"new-etag"' },
|
|
512
|
+
]);
|
|
513
|
+
fs.writeFileSync(journalPath, JSON.stringify({
|
|
514
|
+
version: "1",
|
|
515
|
+
lastSync: new Date().toISOString(),
|
|
516
|
+
files: {
|
|
517
|
+
"docs/handoff.md": {
|
|
518
|
+
hash: "stale-hash",
|
|
519
|
+
size: 20,
|
|
520
|
+
remoteEtag: "old-etag",
|
|
521
|
+
syncedAt: new Date(Date.now() - 3600000).toISOString(),
|
|
522
|
+
direction: "down",
|
|
523
|
+
},
|
|
524
|
+
},
|
|
525
|
+
}));
|
|
526
|
+
const events = [];
|
|
527
|
+
let swappedParent = false;
|
|
528
|
+
try {
|
|
529
|
+
const result = await sync({
|
|
530
|
+
company: "acme",
|
|
531
|
+
onConflict: "keep",
|
|
532
|
+
vaultConfig: mockConfig,
|
|
533
|
+
hqRoot: tmpDir,
|
|
534
|
+
onEvent: (e) => {
|
|
535
|
+
events.push(e);
|
|
536
|
+
if (e.type === "plan" && !swappedParent) {
|
|
537
|
+
swappedParent = true;
|
|
538
|
+
fs.rmSync(companyDocs, { recursive: true, force: true });
|
|
539
|
+
fs.symlinkSync(outsideRoot, companyDocs, "dir");
|
|
540
|
+
}
|
|
541
|
+
},
|
|
542
|
+
});
|
|
543
|
+
expect(swappedParent).toBe(true);
|
|
544
|
+
expect(result.conflicts).toBe(0);
|
|
545
|
+
expect(result.filesSkipped).toBeGreaterThanOrEqual(1);
|
|
546
|
+
expect(s3Module.downloadFile).not.toHaveBeenCalled();
|
|
547
|
+
expect(fs.readdirSync(outsideRoot)).toEqual([]);
|
|
548
|
+
expect(events.some((e) => e.type === "error" &&
|
|
549
|
+
e.path === "docs/handoff.md" &&
|
|
550
|
+
e.message?.includes("escaped the sync root"))).toBe(true);
|
|
551
|
+
}
|
|
552
|
+
finally {
|
|
553
|
+
fs.rmSync(outsideRoot, { recursive: true, force: true });
|
|
554
|
+
}
|
|
555
|
+
});
|
|
556
|
+
it("RF-F33: FILE_TOMBSTONE planned against absence does not delete a new untracked file", async () => {
|
|
557
|
+
const untrackedKey = "docs/untracked.md";
|
|
558
|
+
const trackedKey = "docs/tracked.md";
|
|
559
|
+
const companyRoot = path.join(tmpDir, "companies", "acme");
|
|
560
|
+
const untrackedPath = path.join(companyRoot, untrackedKey);
|
|
561
|
+
const trackedPath = path.join(companyRoot, trackedKey);
|
|
562
|
+
fs.mkdirSync(path.dirname(trackedPath), { recursive: true });
|
|
563
|
+
fs.writeFileSync(trackedPath, "tracked baseline");
|
|
564
|
+
const { hashFile } = await import("../journal.js");
|
|
565
|
+
setupFetchMock({
|
|
566
|
+
tombstones: [
|
|
567
|
+
{ key: untrackedKey, deletedAt: "2026-06-20T00:00:00.000Z" },
|
|
568
|
+
{ key: trackedKey, deletedAt: "2026-06-20T00:00:00.000Z" },
|
|
569
|
+
],
|
|
570
|
+
});
|
|
571
|
+
vi.mocked(s3Module.listRemoteFiles).mockResolvedValueOnce([
|
|
572
|
+
{
|
|
573
|
+
key: untrackedKey,
|
|
574
|
+
size: 10,
|
|
575
|
+
lastModified: new Date("2026-06-19T00:00:00.000Z"),
|
|
576
|
+
etag: '"untracked"',
|
|
577
|
+
},
|
|
578
|
+
{
|
|
579
|
+
key: trackedKey,
|
|
580
|
+
size: 16,
|
|
581
|
+
lastModified: new Date("2026-06-19T00:00:00.000Z"),
|
|
582
|
+
etag: '"tracked"',
|
|
583
|
+
},
|
|
584
|
+
]);
|
|
585
|
+
fs.writeFileSync(journalPath, JSON.stringify({
|
|
586
|
+
version: "2",
|
|
587
|
+
lastSync: "2026-06-19T00:00:00.000Z",
|
|
588
|
+
files: {
|
|
589
|
+
[trackedKey]: {
|
|
590
|
+
hash: hashFile(trackedPath),
|
|
591
|
+
size: Buffer.byteLength("tracked baseline"),
|
|
592
|
+
syncedAt: "2026-06-19T00:00:00.000Z",
|
|
593
|
+
direction: "down",
|
|
594
|
+
remoteEtag: "tracked",
|
|
595
|
+
},
|
|
596
|
+
},
|
|
597
|
+
pulls: [],
|
|
598
|
+
}));
|
|
599
|
+
await sync({
|
|
600
|
+
company: "acme",
|
|
601
|
+
vaultConfig: mockConfig,
|
|
602
|
+
hqRoot: tmpDir,
|
|
603
|
+
onEvent: (e) => {
|
|
604
|
+
if (e.type === "plan") {
|
|
605
|
+
fs.mkdirSync(path.dirname(untrackedPath), { recursive: true });
|
|
606
|
+
fs.writeFileSync(untrackedPath, "brand new local work");
|
|
607
|
+
}
|
|
608
|
+
},
|
|
609
|
+
});
|
|
610
|
+
expect(fs.readFileSync(untrackedPath, "utf-8")).toBe("brand new local work");
|
|
611
|
+
expect(fs.existsSync(trackedPath)).toBe(false);
|
|
612
|
+
const journal = JSON.parse(fs.readFileSync(journalPath, "utf-8"));
|
|
613
|
+
expect(journal.files[untrackedKey]).toBeUndefined();
|
|
614
|
+
expect(journal.files[trackedKey]).toBeUndefined();
|
|
615
|
+
});
|
|
435
616
|
it("aborts on --on-conflict abort", async () => {
|
|
436
617
|
const companyDocs = path.join(tmpDir, "companies", "acme", "docs");
|
|
437
618
|
fs.mkdirSync(companyDocs, { recursive: true });
|
|
@@ -911,6 +1092,50 @@ describe("sync", () => {
|
|
|
911
1092
|
expect(journal.files["docs/edited-locally.md"]).toBeDefined();
|
|
912
1093
|
expect(journal.files["docs/edited-locally.md"].hash).toBe(baselineHash);
|
|
913
1094
|
});
|
|
1095
|
+
it("F33: rechecks a tombstone candidate after HEAD verification and preserves a stale local edit", async () => {
|
|
1096
|
+
const companyRoot = path.join(tmpDir, "companies", "acme");
|
|
1097
|
+
fs.mkdirSync(path.join(companyRoot, "docs"), { recursive: true });
|
|
1098
|
+
const racedPath = path.join(companyRoot, "docs", "racy-delete.md");
|
|
1099
|
+
fs.writeFileSync(racedPath, "synced baseline");
|
|
1100
|
+
const crypto = await import("node:crypto");
|
|
1101
|
+
const baselineHash = crypto
|
|
1102
|
+
.createHash("sha256")
|
|
1103
|
+
.update("synced baseline")
|
|
1104
|
+
.digest("hex");
|
|
1105
|
+
fs.writeFileSync(journalPath, JSON.stringify({
|
|
1106
|
+
version: "1",
|
|
1107
|
+
lastSync: new Date(Date.now() - 60_000).toISOString(),
|
|
1108
|
+
files: {
|
|
1109
|
+
"docs/racy-delete.md": {
|
|
1110
|
+
hash: baselineHash,
|
|
1111
|
+
size: 15,
|
|
1112
|
+
syncedAt: new Date(Date.now() - 60_000).toISOString(),
|
|
1113
|
+
direction: "down",
|
|
1114
|
+
remoteEtag: "remote-before-delete",
|
|
1115
|
+
},
|
|
1116
|
+
},
|
|
1117
|
+
}));
|
|
1118
|
+
vi.mocked(s3Module.listRemoteFiles).mockResolvedValueOnce([]);
|
|
1119
|
+
let editInjected = false;
|
|
1120
|
+
vi.mocked(s3Module.headRemoteFile).mockImplementationOnce(async (_ctx, key) => {
|
|
1121
|
+
expect(key).toBe("docs/racy-delete.md");
|
|
1122
|
+
fs.writeFileSync(racedPath, "concurrent local edit");
|
|
1123
|
+
editInjected = true;
|
|
1124
|
+
return null;
|
|
1125
|
+
});
|
|
1126
|
+
const result = await sync({
|
|
1127
|
+
company: "acme",
|
|
1128
|
+
vaultConfig: mockConfig,
|
|
1129
|
+
hqRoot: tmpDir,
|
|
1130
|
+
});
|
|
1131
|
+
expect(editInjected).toBe(true);
|
|
1132
|
+
expect(result.filesTombstoned).toBe(0);
|
|
1133
|
+
expect(fs.existsSync(racedPath)).toBe(true);
|
|
1134
|
+
expect(fs.readFileSync(racedPath, "utf-8")).toBe("concurrent local edit");
|
|
1135
|
+
const journal = JSON.parse(fs.readFileSync(journalPath, "utf-8"));
|
|
1136
|
+
expect(journal.files["docs/racy-delete.md"]).toBeDefined();
|
|
1137
|
+
expect(journal.files["docs/racy-delete.md"].hash).toBe(baselineHash);
|
|
1138
|
+
});
|
|
914
1139
|
it("does NOT tombstone symlinks whose readlink target has diverged from the journal (Codex P1 round 4)", async () => {
|
|
915
1140
|
// Codex review on PR #24 round 4 caught: the round-3 local-edit
|
|
916
1141
|
// divergence guard only covered regular files (`isFile()` is false
|
|
@@ -1475,6 +1700,71 @@ describe("sync", () => {
|
|
|
1475
1700
|
expect(result.filesDownloaded).toBe(1);
|
|
1476
1701
|
expect(result.filesExcludedByPolicy).toBeGreaterThanOrEqual(1);
|
|
1477
1702
|
});
|
|
1703
|
+
it("F02: rejects traversal remote keys before they can escape the company root", async () => {
|
|
1704
|
+
const escapeName = `${path.basename(tmpDir)}-escaped.md`;
|
|
1705
|
+
const traversalKey = `../../../${escapeName}`;
|
|
1706
|
+
const escapedPath = path.join(path.dirname(tmpDir), escapeName);
|
|
1707
|
+
const companyRoot = path.join(tmpDir, "companies", "acme");
|
|
1708
|
+
vi.mocked(s3Module.listRemoteFiles).mockResolvedValueOnce([
|
|
1709
|
+
{
|
|
1710
|
+
key: traversalKey,
|
|
1711
|
+
size: 13,
|
|
1712
|
+
lastModified: new Date(),
|
|
1713
|
+
etag: '"traversal"',
|
|
1714
|
+
},
|
|
1715
|
+
]);
|
|
1716
|
+
try {
|
|
1717
|
+
const result = await sync({
|
|
1718
|
+
company: "acme",
|
|
1719
|
+
vaultConfig: mockConfig,
|
|
1720
|
+
hqRoot: tmpDir,
|
|
1721
|
+
});
|
|
1722
|
+
expect(result.filesDownloaded).toBe(0);
|
|
1723
|
+
expect(result.filesExcludedByPolicy).toBeGreaterThanOrEqual(1);
|
|
1724
|
+
expect(s3Module.downloadFile).not.toHaveBeenCalled();
|
|
1725
|
+
expect(fs.existsSync(escapedPath)).toBe(false);
|
|
1726
|
+
expect(fs.existsSync(path.join(companyRoot, traversalKey))).toBe(false);
|
|
1727
|
+
const journal = JSON.parse(fs.readFileSync(journalPath, "utf-8"));
|
|
1728
|
+
expect(journal.files[traversalKey]).toBeUndefined();
|
|
1729
|
+
}
|
|
1730
|
+
finally {
|
|
1731
|
+
fs.rmSync(escapedPath, { force: true });
|
|
1732
|
+
}
|
|
1733
|
+
});
|
|
1734
|
+
it("R-F02: rejects remote children under an in-root symlink directory", async () => {
|
|
1735
|
+
const companyRoot = path.join(tmpDir, "companies", "acme");
|
|
1736
|
+
const outsideDir = fs.mkdtempSync(path.join(os.tmpdir(), "hq-sync-escape-"));
|
|
1737
|
+
const linkDir = path.join(companyRoot, "linked-out");
|
|
1738
|
+
const remoteKey = "linked-out/owned-by-remote.md";
|
|
1739
|
+
const escapedPath = path.join(outsideDir, "owned-by-remote.md");
|
|
1740
|
+
fs.mkdirSync(companyRoot, { recursive: true });
|
|
1741
|
+
fs.symlinkSync(outsideDir, linkDir, "dir");
|
|
1742
|
+
vi.mocked(s3Module.listRemoteFiles).mockResolvedValueOnce([
|
|
1743
|
+
{
|
|
1744
|
+
key: remoteKey,
|
|
1745
|
+
size: 13,
|
|
1746
|
+
lastModified: new Date(),
|
|
1747
|
+
etag: '"symlink-dir-escape"',
|
|
1748
|
+
},
|
|
1749
|
+
]);
|
|
1750
|
+
try {
|
|
1751
|
+
const result = await sync({
|
|
1752
|
+
company: "acme",
|
|
1753
|
+
vaultConfig: mockConfig,
|
|
1754
|
+
hqRoot: tmpDir,
|
|
1755
|
+
});
|
|
1756
|
+
expect(result.filesDownloaded).toBe(0);
|
|
1757
|
+
expect(result.filesExcludedByPolicy).toBeGreaterThanOrEqual(1);
|
|
1758
|
+
expect(s3Module.downloadFile).not.toHaveBeenCalled();
|
|
1759
|
+
expect(fs.existsSync(escapedPath)).toBe(false);
|
|
1760
|
+
expect(fs.existsSync(path.join(companyRoot, remoteKey))).toBe(false);
|
|
1761
|
+
const journal = JSON.parse(fs.readFileSync(journalPath, "utf-8"));
|
|
1762
|
+
expect(journal.files[remoteKey]).toBeUndefined();
|
|
1763
|
+
}
|
|
1764
|
+
finally {
|
|
1765
|
+
fs.rmSync(outsideDir, { recursive: true, force: true });
|
|
1766
|
+
}
|
|
1767
|
+
});
|
|
1478
1768
|
it("overwrites local on --on-conflict overwrite", async () => {
|
|
1479
1769
|
const companyDocs = path.join(tmpDir, "companies", "acme", "docs");
|
|
1480
1770
|
fs.mkdirSync(companyDocs, { recursive: true });
|
|
@@ -2249,4 +2539,75 @@ describe("sync", () => {
|
|
|
2249
2539
|
expect(entry.remoteEtag).toBe(newRemoteEtagNormalized);
|
|
2250
2540
|
});
|
|
2251
2541
|
});
|
|
2542
|
+
describe("reportNewFilesToNotify chunking (server cap = 1000 files/report)", () => {
|
|
2543
|
+
// The /v1/notify/file-added endpoint rejects an oversized batch wholesale.
|
|
2544
|
+
// Without chunking, a first sync with >1000 new files reports NONE of them and
|
|
2545
|
+
// the same oversized batch re-triggers every cycle. These lock that the client
|
|
2546
|
+
// splits into chunks at or under the cap.
|
|
2547
|
+
const cfg = {
|
|
2548
|
+
apiUrl: "https://vault-api.test",
|
|
2549
|
+
authToken: "test-jwt-token",
|
|
2550
|
+
region: "us-east-1",
|
|
2551
|
+
};
|
|
2552
|
+
const mkFiles = (n) => Array.from({ length: n }, (_v, i) => ({
|
|
2553
|
+
path: `docs/file-${i}.md`,
|
|
2554
|
+
bytes: i,
|
|
2555
|
+
addedBy: null,
|
|
2556
|
+
}));
|
|
2557
|
+
const notifyBatchSizes = (fetchMock) => fetchMock.mock.calls
|
|
2558
|
+
.filter(([u]) => String(u).includes("/v1/notify/file-added"))
|
|
2559
|
+
.map(([, init]) => JSON.parse(String(init.body)).files.length);
|
|
2560
|
+
afterEach(() => {
|
|
2561
|
+
vi.unstubAllGlobals();
|
|
2562
|
+
vi.clearAllMocks();
|
|
2563
|
+
});
|
|
2564
|
+
it("sends a single request when exactly at the cap (1000 files)", async () => {
|
|
2565
|
+
const fetchMock = vi.fn().mockResolvedValue({ ok: true, status: 200, text: async () => "" });
|
|
2566
|
+
vi.stubGlobal("fetch", fetchMock);
|
|
2567
|
+
await reportNewFilesToNotify(cfg, "cmp_X", "acme", mkFiles(1000));
|
|
2568
|
+
const sizes = notifyBatchSizes(fetchMock);
|
|
2569
|
+
expect(sizes).toEqual([1000]); // one POST, exactly at the cap
|
|
2570
|
+
});
|
|
2571
|
+
it("splits an over-cap report into batches all at or under the cap", async () => {
|
|
2572
|
+
const fetchMock = vi.fn().mockResolvedValue({ ok: true, status: 200, text: async () => "" });
|
|
2573
|
+
vi.stubGlobal("fetch", fetchMock);
|
|
2574
|
+
await reportNewFilesToNotify(cfg, "cmp_X", "acme", mkFiles(1001));
|
|
2575
|
+
const sizes = notifyBatchSizes(fetchMock);
|
|
2576
|
+
expect(sizes).toEqual([1000, 1]); // 1001 → 1000 + 1, never one oversized POST
|
|
2577
|
+
expect(Math.max(...sizes)).toBeLessThanOrEqual(1000);
|
|
2578
|
+
expect(sizes.reduce((a, b) => a + b, 0)).toBe(1001); // every file reported
|
|
2579
|
+
});
|
|
2580
|
+
it("chunks a large report into ceil(n/1000) batches with no file dropped", async () => {
|
|
2581
|
+
const fetchMock = vi.fn().mockResolvedValue({ ok: true, status: 200, text: async () => "" });
|
|
2582
|
+
vi.stubGlobal("fetch", fetchMock);
|
|
2583
|
+
const all = mkFiles(2500);
|
|
2584
|
+
await reportNewFilesToNotify(cfg, "cmp_X", "acme", all);
|
|
2585
|
+
const calls = fetchMock.mock.calls.filter(([u]) => String(u).includes("/v1/notify/file-added"));
|
|
2586
|
+
const sizes = calls.map(([, init]) => JSON.parse(String(init.body)).files.length);
|
|
2587
|
+
expect(sizes).toEqual([1000, 1000, 500]); // 2500 → three batches
|
|
2588
|
+
// Union of all reported paths equals the input, in order, nothing lost.
|
|
2589
|
+
const reported = calls.flatMap(([, init]) => JSON.parse(String(init.body)).files.map((f) => f.path));
|
|
2590
|
+
expect(reported).toEqual(all.map((f) => f.path));
|
|
2591
|
+
});
|
|
2592
|
+
it("a failing chunk does not abort the remaining chunks (best-effort per batch)", async () => {
|
|
2593
|
+
let call = 0;
|
|
2594
|
+
const fetchMock = vi.fn().mockImplementation(async () => {
|
|
2595
|
+
call += 1;
|
|
2596
|
+
if (call === 1)
|
|
2597
|
+
throw new Error("notify endpoint down");
|
|
2598
|
+
return { ok: true, status: 200, text: async () => "" };
|
|
2599
|
+
});
|
|
2600
|
+
vi.stubGlobal("fetch", fetchMock);
|
|
2601
|
+
// Must not reject even though the first chunk throws.
|
|
2602
|
+
await expect(reportNewFilesToNotify(cfg, "cmp_X", "acme", mkFiles(2001))).resolves.toBeUndefined();
|
|
2603
|
+
// All three chunks were still attempted (1000 + 1000 + 1).
|
|
2604
|
+
expect(notifyBatchSizes(fetchMock)).toEqual([1000, 1000, 1]);
|
|
2605
|
+
});
|
|
2606
|
+
it("no request at all when there are no new files", async () => {
|
|
2607
|
+
const fetchMock = vi.fn().mockResolvedValue({ ok: true, status: 200, text: async () => "" });
|
|
2608
|
+
vi.stubGlobal("fetch", fetchMock);
|
|
2609
|
+
await reportNewFilesToNotify(cfg, "cmp_X", "acme", []);
|
|
2610
|
+
expect(fetchMock).not.toHaveBeenCalled();
|
|
2611
|
+
});
|
|
2612
|
+
});
|
|
2252
2613
|
//# sourceMappingURL=sync.test.js.map
|