@indigoai-us/hq-cloud 5.22.0 → 5.24.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 +20 -0
- package/dist/bin/sync-runner.d.ts.map +1 -1
- package/dist/bin/sync-runner.js +18 -0
- package/dist/bin/sync-runner.js.map +1 -1
- package/dist/bin/sync-runner.test.js +46 -2
- package/dist/bin/sync-runner.test.js.map +1 -1
- package/dist/cli/share.d.ts +77 -20
- package/dist/cli/share.d.ts.map +1 -1
- package/dist/cli/share.js +278 -61
- package/dist/cli/share.js.map +1 -1
- package/dist/cli/share.test.js +484 -3
- package/dist/cli/share.test.js.map +1 -1
- package/dist/cli/sync.d.ts +27 -0
- package/dist/cli/sync.d.ts.map +1 -1
- package/dist/cli/sync.js.map +1 -1
- package/dist/index.d.ts +9 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -1
- package/dist/index.js.map +1 -1
- package/dist/journal.d.ts +76 -1
- package/dist/journal.d.ts.map +1 -1
- package/dist/journal.js +148 -1
- package/dist/journal.js.map +1 -1
- package/dist/journal.test.js +251 -5
- package/dist/journal.test.js.map +1 -1
- package/dist/prefix-coalesce.d.ts +38 -0
- package/dist/prefix-coalesce.d.ts.map +1 -0
- package/dist/prefix-coalesce.js +69 -0
- package/dist/prefix-coalesce.js.map +1 -0
- package/dist/prefix-coalesce.test.d.ts +2 -0
- package/dist/prefix-coalesce.test.d.ts.map +1 -0
- package/dist/prefix-coalesce.test.js +77 -0
- package/dist/prefix-coalesce.test.js.map +1 -0
- package/dist/public-surface.test.d.ts +15 -0
- package/dist/public-surface.test.d.ts.map +1 -0
- package/dist/public-surface.test.js +105 -0
- package/dist/public-surface.test.js.map +1 -0
- package/dist/remote-pull.d.ts +145 -1
- package/dist/remote-pull.d.ts.map +1 -1
- package/dist/remote-pull.js +258 -1
- package/dist/remote-pull.js.map +1 -1
- package/dist/remote-pull.test.js +470 -2
- package/dist/remote-pull.test.js.map +1 -1
- package/dist/scope-shrink.d.ts +109 -0
- package/dist/scope-shrink.d.ts.map +1 -0
- package/dist/scope-shrink.js +196 -0
- package/dist/scope-shrink.js.map +1 -0
- package/dist/scope-shrink.test.d.ts +13 -0
- package/dist/scope-shrink.test.d.ts.map +1 -0
- package/dist/scope-shrink.test.js +342 -0
- package/dist/scope-shrink.test.js.map +1 -0
- package/dist/types.d.ts +48 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/vault-client.d.ts +178 -0
- package/dist/vault-client.d.ts.map +1 -1
- package/dist/vault-client.js +73 -0
- package/dist/vault-client.js.map +1 -1
- package/dist/vault-client.test.js +226 -0
- package/dist/vault-client.test.js.map +1 -1
- package/package.json +1 -1
- package/src/bin/sync-runner.test.ts +56 -2
- package/src/bin/sync-runner.ts +39 -0
- package/src/cli/share.test.ts +577 -3
- package/src/cli/share.ts +395 -85
- package/src/cli/sync.ts +28 -0
- package/src/index.ts +67 -0
- package/src/journal.test.ts +284 -5
- package/src/journal.ts +167 -2
- package/src/prefix-coalesce.test.ts +95 -0
- package/src/prefix-coalesce.ts +72 -0
- package/src/public-surface.test.ts +112 -0
- package/src/remote-pull.test.ts +540 -3
- package/src/remote-pull.ts +419 -2
- package/src/scope-shrink.test.ts +402 -0
- package/src/scope-shrink.ts +264 -0
- package/src/types.ts +49 -1
- package/src/vault-client.test.ts +335 -0
- package/src/vault-client.ts +223 -0
|
@@ -520,6 +520,168 @@ describe("VaultClient identity bootstrap", () => {
|
|
|
520
520
|
});
|
|
521
521
|
});
|
|
522
522
|
// ---------------------------------------------------------------------------
|
|
523
|
+
// Browse-vs-sync SDK methods (US-004)
|
|
524
|
+
//
|
|
525
|
+
// listMyExplicitGrants, getMembershipSyncConfig, setMembershipSyncConfig
|
|
526
|
+
// wrap the US-002/US-003 hq-pro endpoints. Tests assert URL shape, payload
|
|
527
|
+
// shape, error mapping (401/404/network), and the empty-grants fallback
|
|
528
|
+
// that lets call sites treat "no grants" as a normal state.
|
|
529
|
+
// ---------------------------------------------------------------------------
|
|
530
|
+
describe("listMyExplicitGrants (US-004)", () => {
|
|
531
|
+
it("GETs /v1/files/grants with the company query param and returns grants[]", async () => {
|
|
532
|
+
const grant = {
|
|
533
|
+
companyUid: "cmp_abc",
|
|
534
|
+
path: "shared/docs",
|
|
535
|
+
permission: "read",
|
|
536
|
+
source: "person",
|
|
537
|
+
};
|
|
538
|
+
fetchSpy.mockResolvedValueOnce(jsonResponse(200, {
|
|
539
|
+
grants: [grant],
|
|
540
|
+
computedAt: "2026-05-20T12:00:00.000Z",
|
|
541
|
+
}));
|
|
542
|
+
const grants = await client.listMyExplicitGrants("cmp_abc");
|
|
543
|
+
expect(grants).toEqual([grant]);
|
|
544
|
+
const [url, init] = fetchSpy.mock.calls[0];
|
|
545
|
+
expect(url).toBe("https://vault.test.example.com/v1/files/grants?company=cmp_abc");
|
|
546
|
+
expect(init.method).toBe("GET");
|
|
547
|
+
expect(init.body).toBeUndefined();
|
|
548
|
+
});
|
|
549
|
+
it("URL-encodes the companyUid query parameter", async () => {
|
|
550
|
+
fetchSpy.mockResolvedValueOnce(jsonResponse(200, { grants: [], computedAt: "2026-05-20T12:00:00.000Z" }));
|
|
551
|
+
await client.listMyExplicitGrants("cmp/with spaces&weird=chars");
|
|
552
|
+
const [url] = fetchSpy.mock.calls[0];
|
|
553
|
+
expect(url).toBe("https://vault.test.example.com/v1/files/grants?company=cmp%2Fwith%20spaces%26weird%3Dchars");
|
|
554
|
+
});
|
|
555
|
+
it("returns [] when the server omits the grants key (empty graph)", async () => {
|
|
556
|
+
fetchSpy.mockResolvedValueOnce(jsonResponse(200, { computedAt: "2026-05-20T12:00:00.000Z" }));
|
|
557
|
+
const grants = await client.listMyExplicitGrants("cmp_abc");
|
|
558
|
+
expect(grants).toEqual([]);
|
|
559
|
+
});
|
|
560
|
+
it("maps 401 to VaultAuthError", async () => {
|
|
561
|
+
fetchSpy.mockResolvedValueOnce(jsonResponse(401, { error: "Missing or invalid authorization token" }));
|
|
562
|
+
await expect(client.listMyExplicitGrants("cmp_abc")).rejects.toThrow(VaultAuthError);
|
|
563
|
+
});
|
|
564
|
+
it("maps 404 to VaultNotFoundError", async () => {
|
|
565
|
+
fetchSpy.mockResolvedValueOnce(jsonResponse(404, { error: "Unknown route" }));
|
|
566
|
+
await expect(client.listMyExplicitGrants("cmp_abc")).rejects.toThrow(VaultNotFoundError);
|
|
567
|
+
});
|
|
568
|
+
it("surfaces transport errors after exhausting retries", async () => {
|
|
569
|
+
fetchSpy.mockRejectedValue(new Error("ECONNREFUSED"));
|
|
570
|
+
await expect(client.listMyExplicitGrants("cmp_abc")).rejects.toThrow(/ECONNREFUSED/);
|
|
571
|
+
// 1 initial + 3 retries = 4 attempts on a persistent network error.
|
|
572
|
+
expect(fetchSpy).toHaveBeenCalledTimes(4);
|
|
573
|
+
});
|
|
574
|
+
});
|
|
575
|
+
describe("getMembershipSyncConfig (US-004)", () => {
|
|
576
|
+
it("GETs /v1/memberships/{id}/sync-config and returns the row verbatim", async () => {
|
|
577
|
+
const row = {
|
|
578
|
+
membershipId: "psn_1#cmp_abc",
|
|
579
|
+
syncMode: "custom",
|
|
580
|
+
customPaths: ["shared/docs", "personal/psn_1"],
|
|
581
|
+
isDefault: false,
|
|
582
|
+
updatedAt: "2026-05-20T12:00:00.000Z",
|
|
583
|
+
updatedBy: "psn_admin",
|
|
584
|
+
};
|
|
585
|
+
fetchSpy.mockResolvedValueOnce(jsonResponse(200, row));
|
|
586
|
+
const result = await client.getMembershipSyncConfig("psn_1#cmp_abc");
|
|
587
|
+
expect(result).toEqual(row);
|
|
588
|
+
const [url, init] = fetchSpy.mock.calls[0];
|
|
589
|
+
expect(url).toBe(
|
|
590
|
+
// `#` in the membershipKey MUST be URL-encoded — otherwise the
|
|
591
|
+
// server sees a fragment, not a path segment.
|
|
592
|
+
"https://vault.test.example.com/v1/memberships/psn_1%23cmp_abc/sync-config");
|
|
593
|
+
expect(init.method).toBe("GET");
|
|
594
|
+
expect(init.body).toBeUndefined();
|
|
595
|
+
});
|
|
596
|
+
it("returns the default row (isDefault: true) without updatedAt/updatedBy", async () => {
|
|
597
|
+
fetchSpy.mockResolvedValueOnce(jsonResponse(200, {
|
|
598
|
+
membershipId: "psn_1#cmp_abc",
|
|
599
|
+
syncMode: "all",
|
|
600
|
+
isDefault: true,
|
|
601
|
+
}));
|
|
602
|
+
const result = await client.getMembershipSyncConfig("psn_1#cmp_abc");
|
|
603
|
+
expect(result.isDefault).toBe(true);
|
|
604
|
+
expect(result.updatedAt).toBeUndefined();
|
|
605
|
+
expect(result.updatedBy).toBeUndefined();
|
|
606
|
+
});
|
|
607
|
+
it("maps 401 to VaultAuthError", async () => {
|
|
608
|
+
fetchSpy.mockResolvedValueOnce(jsonResponse(401, { error: "Token expired" }));
|
|
609
|
+
await expect(client.getMembershipSyncConfig("psn_1#cmp_abc")).rejects.toThrow(VaultAuthError);
|
|
610
|
+
});
|
|
611
|
+
it("maps 404 to VaultNotFoundError (membership tombstoned or missing)", async () => {
|
|
612
|
+
fetchSpy.mockResolvedValueOnce(jsonResponse(404, {
|
|
613
|
+
error: "Membership not found or not active: psn_1#cmp_abc",
|
|
614
|
+
}));
|
|
615
|
+
await expect(client.getMembershipSyncConfig("psn_1#cmp_abc")).rejects.toThrow(VaultNotFoundError);
|
|
616
|
+
});
|
|
617
|
+
it("surfaces network errors after retry exhaustion", async () => {
|
|
618
|
+
fetchSpy.mockRejectedValue(new Error("socket hang up"));
|
|
619
|
+
await expect(client.getMembershipSyncConfig("psn_1#cmp_abc")).rejects.toThrow(/socket hang up/);
|
|
620
|
+
expect(fetchSpy).toHaveBeenCalledTimes(4);
|
|
621
|
+
});
|
|
622
|
+
});
|
|
623
|
+
describe("setMembershipSyncConfig (US-004)", () => {
|
|
624
|
+
it("PUTs the partial body to /v1/memberships/{id}/sync-config", async () => {
|
|
625
|
+
const persisted = {
|
|
626
|
+
membershipId: "psn_1#cmp_abc",
|
|
627
|
+
syncMode: "custom",
|
|
628
|
+
customPaths: ["shared/docs"],
|
|
629
|
+
isDefault: false,
|
|
630
|
+
updatedAt: "2026-05-20T12:00:00.000Z",
|
|
631
|
+
updatedBy: "psn_1",
|
|
632
|
+
};
|
|
633
|
+
fetchSpy.mockResolvedValueOnce(jsonResponse(200, persisted));
|
|
634
|
+
const result = await client.setMembershipSyncConfig("psn_1#cmp_abc", {
|
|
635
|
+
syncMode: "custom",
|
|
636
|
+
customPaths: ["shared/docs"],
|
|
637
|
+
});
|
|
638
|
+
expect(result).toEqual(persisted);
|
|
639
|
+
const [url, init] = fetchSpy.mock.calls[0];
|
|
640
|
+
expect(url).toBe("https://vault.test.example.com/v1/memberships/psn_1%23cmp_abc/sync-config");
|
|
641
|
+
expect(init.method).toBe("PUT");
|
|
642
|
+
const headers = init.headers;
|
|
643
|
+
expect(headers["Content-Type"]).toBe("application/json");
|
|
644
|
+
expect(headers.Authorization).toBe("Bearer test-jwt-token-123");
|
|
645
|
+
expect(JSON.parse(init.body)).toEqual({
|
|
646
|
+
syncMode: "custom",
|
|
647
|
+
customPaths: ["shared/docs"],
|
|
648
|
+
});
|
|
649
|
+
});
|
|
650
|
+
it("supports the shared mode without customPaths", async () => {
|
|
651
|
+
fetchSpy.mockResolvedValueOnce(jsonResponse(200, {
|
|
652
|
+
membershipId: "psn_1#cmp_abc",
|
|
653
|
+
syncMode: "shared",
|
|
654
|
+
isDefault: false,
|
|
655
|
+
updatedAt: "2026-05-20T12:00:00.000Z",
|
|
656
|
+
updatedBy: "psn_1",
|
|
657
|
+
}));
|
|
658
|
+
const result = await client.setMembershipSyncConfig("psn_1#cmp_abc", {
|
|
659
|
+
syncMode: "shared",
|
|
660
|
+
});
|
|
661
|
+
expect(result.syncMode).toBe("shared");
|
|
662
|
+
expect(result.customPaths).toBeUndefined();
|
|
663
|
+
const [, init] = fetchSpy.mock.calls[0];
|
|
664
|
+
expect(JSON.parse(init.body)).toEqual({ syncMode: "shared" });
|
|
665
|
+
});
|
|
666
|
+
it("maps 401 to VaultAuthError", async () => {
|
|
667
|
+
fetchSpy.mockResolvedValueOnce(jsonResponse(401, { error: "Token expired" }));
|
|
668
|
+
await expect(client.setMembershipSyncConfig("psn_1#cmp_abc", { syncMode: "all" })).rejects.toThrow(VaultAuthError);
|
|
669
|
+
});
|
|
670
|
+
it("maps 404 to VaultNotFoundError when the membership is gone", async () => {
|
|
671
|
+
fetchSpy.mockResolvedValueOnce(jsonResponse(404, { error: "Membership not found" }));
|
|
672
|
+
await expect(client.setMembershipSyncConfig("psn_1#cmp_abc", { syncMode: "all" })).rejects.toThrow(VaultNotFoundError);
|
|
673
|
+
});
|
|
674
|
+
it("maps 409 to VaultConflictError", async () => {
|
|
675
|
+
fetchSpy.mockResolvedValueOnce(jsonResponse(409, { error: "Concurrent write conflict" }));
|
|
676
|
+
await expect(client.setMembershipSyncConfig("psn_1#cmp_abc", { syncMode: "all" })).rejects.toThrow(VaultConflictError);
|
|
677
|
+
});
|
|
678
|
+
it("surfaces network errors after retry exhaustion", async () => {
|
|
679
|
+
fetchSpy.mockRejectedValue(new Error("ETIMEDOUT"));
|
|
680
|
+
await expect(client.setMembershipSyncConfig("psn_1#cmp_abc", { syncMode: "all" })).rejects.toThrow(/ETIMEDOUT/);
|
|
681
|
+
expect(fetchSpy).toHaveBeenCalledTimes(4);
|
|
682
|
+
});
|
|
683
|
+
});
|
|
684
|
+
// ---------------------------------------------------------------------------
|
|
523
685
|
// Refreshable authToken getter
|
|
524
686
|
//
|
|
525
687
|
// Regression for the personal-sync 401: a captured `authToken` string can
|
|
@@ -586,4 +748,68 @@ describe("authToken getter (refreshable token)", () => {
|
|
|
586
748
|
}
|
|
587
749
|
});
|
|
588
750
|
});
|
|
751
|
+
// ---------------------------------------------------------------------------
|
|
752
|
+
// Raw vend (POST /vend, purpose-aware after US-009)
|
|
753
|
+
// ---------------------------------------------------------------------------
|
|
754
|
+
describe("vend (POST /vend, purpose-aware)", () => {
|
|
755
|
+
it("POSTs to /vend with paths/operations/purpose and returns credentials + policySize", async () => {
|
|
756
|
+
fetchSpy.mockResolvedValueOnce(jsonResponse(200, {
|
|
757
|
+
credentials: {
|
|
758
|
+
accessKeyId: "AKIA-BROWSE",
|
|
759
|
+
secretAccessKey: "secret",
|
|
760
|
+
sessionToken: "token",
|
|
761
|
+
expiration: "2026-05-20T13:00:00.000Z",
|
|
762
|
+
},
|
|
763
|
+
paths: ["shared/docs/"],
|
|
764
|
+
operations: "read-only",
|
|
765
|
+
purpose: "browse",
|
|
766
|
+
policySize: 412,
|
|
767
|
+
requestId: "req_xyz",
|
|
768
|
+
}));
|
|
769
|
+
const out = await client.vend({
|
|
770
|
+
paths: ["shared/docs/"],
|
|
771
|
+
operations: "read-only",
|
|
772
|
+
purpose: "browse",
|
|
773
|
+
});
|
|
774
|
+
expect(out.purpose).toBe("browse");
|
|
775
|
+
expect(out.policySize).toBe(412);
|
|
776
|
+
expect(out.credentials.accessKeyId).toBe("AKIA-BROWSE");
|
|
777
|
+
expect(out.credentials.sessionToken).toBe("token");
|
|
778
|
+
const [url, init] = fetchSpy.mock.calls[0];
|
|
779
|
+
expect(url).toBe("https://vault.test.example.com/vend");
|
|
780
|
+
expect(init.method.toUpperCase()).toBe("POST");
|
|
781
|
+
expect(JSON.parse(init.body)).toEqual({
|
|
782
|
+
paths: ["shared/docs/"],
|
|
783
|
+
operations: "read-only",
|
|
784
|
+
purpose: "browse",
|
|
785
|
+
});
|
|
786
|
+
});
|
|
787
|
+
it("forwards purpose='sync' verbatim (no client-side defaulting)", async () => {
|
|
788
|
+
fetchSpy.mockResolvedValueOnce(jsonResponse(200, {
|
|
789
|
+
credentials: {
|
|
790
|
+
accessKeyId: "k",
|
|
791
|
+
secretAccessKey: "s",
|
|
792
|
+
sessionToken: "t",
|
|
793
|
+
expiration: "2026-05-20T13:00:00.000Z",
|
|
794
|
+
},
|
|
795
|
+
paths: ["shared/"],
|
|
796
|
+
operations: "read-only",
|
|
797
|
+
purpose: "sync",
|
|
798
|
+
policySize: 200,
|
|
799
|
+
}));
|
|
800
|
+
await client.vend({
|
|
801
|
+
paths: ["shared/"],
|
|
802
|
+
operations: "read-only",
|
|
803
|
+
purpose: "sync",
|
|
804
|
+
duration: 1800,
|
|
805
|
+
});
|
|
806
|
+
const [, init] = fetchSpy.mock.calls[0];
|
|
807
|
+
expect(JSON.parse(init.body)).toEqual({
|
|
808
|
+
paths: ["shared/"],
|
|
809
|
+
operations: "read-only",
|
|
810
|
+
purpose: "sync",
|
|
811
|
+
duration: 1800,
|
|
812
|
+
});
|
|
813
|
+
});
|
|
814
|
+
});
|
|
589
815
|
//# sourceMappingURL=vault-client.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vault-client.test.js","sourceRoot":"","sources":["../src/vault-client.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vault-client.test.js","sourceRoot":"","sources":["../src/vault-client.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -7,11 +7,11 @@
|
|
|
7
7
|
* its collaborators do.
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
import { describe, it, expect, vi, beforeEach } from "vitest";
|
|
10
|
+
import { describe, it, expect, vi, beforeEach, afterEach } from "vitest";
|
|
11
11
|
import * as fs from "fs";
|
|
12
12
|
import * as os from "os";
|
|
13
13
|
import * as path from "path";
|
|
14
|
-
import { runRunner } from "./sync-runner.js";
|
|
14
|
+
import { runRunner, resolveDeletePolicy } from "./sync-runner.js";
|
|
15
15
|
import type {
|
|
16
16
|
RunnerEvent,
|
|
17
17
|
RunnerDeps,
|
|
@@ -78,6 +78,8 @@ function defaultShareResult(overrides: Partial<ShareResult> = {}): ShareResult {
|
|
|
78
78
|
bytesUploaded: 0,
|
|
79
79
|
filesSkipped: 0,
|
|
80
80
|
filesDeleted: 0,
|
|
81
|
+
filesTombstoned: 0,
|
|
82
|
+
filesRefusedStale: 0,
|
|
81
83
|
conflictPaths: [],
|
|
82
84
|
aborted: false,
|
|
83
85
|
...overrides,
|
|
@@ -1703,3 +1705,55 @@ describe("watch mode argv parsing", () => {
|
|
|
1703
1705
|
beforeEach(() => {
|
|
1704
1706
|
vi.clearAllMocks();
|
|
1705
1707
|
});
|
|
1708
|
+
|
|
1709
|
+
// ── resolveDeletePolicy: env-var contract ───────────────────────────────────
|
|
1710
|
+
//
|
|
1711
|
+
// `HQ_SYNC_DELETE_POLICY` is the documented rollback knob for the
|
|
1712
|
+
// currency-gated default landed in 5.24. The helper centralizes the
|
|
1713
|
+
// allowlist + default so every callsite (both the personal and company push
|
|
1714
|
+
// paths in the runner) gets identical semantics. Tests pin the four expected
|
|
1715
|
+
// behaviors so a future regression on the allowlist or default surfaces here
|
|
1716
|
+
// instead of in the field.
|
|
1717
|
+
|
|
1718
|
+
describe("resolveDeletePolicy", () => {
|
|
1719
|
+
let originalEnv: string | undefined;
|
|
1720
|
+
|
|
1721
|
+
beforeEach(() => {
|
|
1722
|
+
originalEnv = process.env.HQ_SYNC_DELETE_POLICY;
|
|
1723
|
+
delete process.env.HQ_SYNC_DELETE_POLICY;
|
|
1724
|
+
});
|
|
1725
|
+
|
|
1726
|
+
afterEach(() => {
|
|
1727
|
+
if (originalEnv === undefined) {
|
|
1728
|
+
delete process.env.HQ_SYNC_DELETE_POLICY;
|
|
1729
|
+
} else {
|
|
1730
|
+
process.env.HQ_SYNC_DELETE_POLICY = originalEnv;
|
|
1731
|
+
}
|
|
1732
|
+
});
|
|
1733
|
+
|
|
1734
|
+
it("defaults to 'owned-only' in 5.24 (staged-default rollout, flip in 5.25)", () => {
|
|
1735
|
+
// 5.24 ships the currency-gated CODE PATH but holds the default flip
|
|
1736
|
+
// for a soak window. When the default flips to 'currency-gated' in
|
|
1737
|
+
// 5.25, this assertion changes — both edits live next to each other so
|
|
1738
|
+
// the rollout sequence is obvious from the diff.
|
|
1739
|
+
expect(resolveDeletePolicy()).toBe("owned-only");
|
|
1740
|
+
});
|
|
1741
|
+
|
|
1742
|
+
it.each(["currency-gated", "owned-only", "all"] as const)(
|
|
1743
|
+
"honors env value '%s'",
|
|
1744
|
+
(value) => {
|
|
1745
|
+
process.env.HQ_SYNC_DELETE_POLICY = value;
|
|
1746
|
+
expect(resolveDeletePolicy()).toBe(value);
|
|
1747
|
+
},
|
|
1748
|
+
);
|
|
1749
|
+
|
|
1750
|
+
it("falls back to default on unknown env values (no silent corruption)", () => {
|
|
1751
|
+
process.env.HQ_SYNC_DELETE_POLICY = "yolo";
|
|
1752
|
+
expect(resolveDeletePolicy()).toBe("owned-only");
|
|
1753
|
+
});
|
|
1754
|
+
|
|
1755
|
+
it("treats empty string as unset → default", () => {
|
|
1756
|
+
process.env.HQ_SYNC_DELETE_POLICY = "";
|
|
1757
|
+
expect(resolveDeletePolicy()).toBe("owned-only");
|
|
1758
|
+
});
|
|
1759
|
+
});
|
package/src/bin/sync-runner.ts
CHANGED
|
@@ -120,6 +120,34 @@ const DEFAULT_VAULT_API_URL =
|
|
|
120
120
|
|
|
121
121
|
const DEFAULT_HQ_ROOT = path.join(os.homedir(), "hq");
|
|
122
122
|
|
|
123
|
+
/**
|
|
124
|
+
* Delete-propagation policy honored by the push leg of bidirectional sync.
|
|
125
|
+
* Default `"owned-only"` in 5.24 — the pre-5.24 behavior is preserved so
|
|
126
|
+
* existing users see zero change in delete-propagation semantics. The
|
|
127
|
+
* stricter-and-safer `"currency-gated"` policy ships in 5.24 as opt-in
|
|
128
|
+
* (set `HQ_SYNC_DELETE_POLICY=currency-gated` to enable per-file ETag
|
|
129
|
+
* verification before any local-delete propagates to S3). Default flip
|
|
130
|
+
* to `"currency-gated"` is scheduled for 5.25 after a soak period during
|
|
131
|
+
* which currency-gated behavior is observed on at least one active
|
|
132
|
+
* machine.
|
|
133
|
+
*
|
|
134
|
+
* Env override `HQ_SYNC_DELETE_POLICY=owned-only|all|currency-gated` is
|
|
135
|
+
* also the rollback knob — once 5.25 flips the default, anyone surprised
|
|
136
|
+
* by the new behavior flips the env back to `owned-only` without
|
|
137
|
+
* re-deploying. `all` is the unsafe-mirror mode previously used by the
|
|
138
|
+
* runner pre-5.20 — included only as an emergency reconcile lever, not a
|
|
139
|
+
* recommended default.
|
|
140
|
+
*/
|
|
141
|
+
export type DeletePropagationPolicy = "currency-gated" | "owned-only" | "all";
|
|
142
|
+
|
|
143
|
+
export function resolveDeletePolicy(): DeletePropagationPolicy {
|
|
144
|
+
const env = process.env.HQ_SYNC_DELETE_POLICY;
|
|
145
|
+
if (env === "owned-only" || env === "all" || env === "currency-gated") {
|
|
146
|
+
return env;
|
|
147
|
+
}
|
|
148
|
+
return "owned-only";
|
|
149
|
+
}
|
|
150
|
+
|
|
123
151
|
// Personal-vault scope (exclusion list + path computer) lives in
|
|
124
152
|
// `../personal-vault.ts` so the `hq sync` CLI and this runner share the same
|
|
125
153
|
// rules. Re-exported here for back-compat with any callers still importing
|
|
@@ -799,6 +827,8 @@ export async function runRunner(
|
|
|
799
827
|
bytesUploaded: 0,
|
|
800
828
|
filesSkipped: 0,
|
|
801
829
|
filesDeleted: 0,
|
|
830
|
+
filesTombstoned: 0,
|
|
831
|
+
filesRefusedStale: 0,
|
|
802
832
|
conflictPaths: [],
|
|
803
833
|
aborted: false,
|
|
804
834
|
};
|
|
@@ -834,7 +864,16 @@ export async function runRunner(
|
|
|
834
864
|
// — DeleteObject writes a delete-marker, prior versions remain
|
|
835
865
|
// recoverable). Without this, a deleted file resurfaces on the
|
|
836
866
|
// next pull because the remote object is still listable.
|
|
867
|
+
//
|
|
868
|
+
// Policy default in 5.24 is `owned-only` (pre-5.24 behavior;
|
|
869
|
+
// preserved for the soak window). `HQ_SYNC_DELETE_POLICY` env
|
|
870
|
+
// can opt INTO the safer `currency-gated` (per-file HEAD + ETag
|
|
871
|
+
// verification) or the unsafe `all` (emergency reconcile only).
|
|
872
|
+
// Default flips to `currency-gated` in 5.25 after at least one
|
|
873
|
+
// machine has soaked the new path. Both personal and company
|
|
874
|
+
// targets use the same resolver — same engine, same flip.
|
|
837
875
|
propagateDeletes: true,
|
|
876
|
+
propagateDeletePolicy: resolveDeletePolicy(),
|
|
838
877
|
onEvent: tagAndEmit,
|
|
839
878
|
...(uploadAuthor ? { author: uploadAuthor } : {}),
|
|
840
879
|
// Mirror the pull-side seam: only spread these for the personal
|