@indigoai-us/hq-cloud 6.3.0 → 6.3.1
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 +22 -2
- package/dist/bin/sync-runner.d.ts.map +1 -1
- package/dist/bin/sync-runner.js +85 -2
- package/dist/bin/sync-runner.js.map +1 -1
- package/dist/bin/sync-runner.test.js +201 -0
- package/dist/bin/sync-runner.test.js.map +1 -1
- package/dist/cli/rescue-core.js +14 -2
- package/dist/cli/rescue-core.js.map +1 -1
- package/dist/cli/rescue-hq-root-guard.test.d.ts +2 -0
- package/dist/cli/rescue-hq-root-guard.test.d.ts.map +1 -0
- package/dist/cli/rescue-hq-root-guard.test.js +176 -0
- package/dist/cli/rescue-hq-root-guard.test.js.map +1 -0
- package/dist/sync/event-sync.d.ts +181 -0
- package/dist/sync/event-sync.d.ts.map +1 -0
- package/dist/sync/event-sync.js +316 -0
- package/dist/sync/event-sync.js.map +1 -0
- package/dist/sync/event-sync.test.d.ts +14 -0
- package/dist/sync/event-sync.test.d.ts.map +1 -0
- package/dist/sync/event-sync.test.js +440 -0
- package/dist/sync/event-sync.test.js.map +1 -0
- package/package.json +1 -1
- package/src/bin/sync-runner.test.ts +246 -0
- package/src/bin/sync-runner.ts +117 -3
- package/src/cli/rescue-core.ts +15 -2
- package/src/cli/rescue-hq-root-guard.test.ts +193 -0
- package/src/sync/event-sync.test.ts +533 -0
- package/src/sync/event-sync.ts +481 -0
- package/test/e2e/sync/cross-tenant-isolation.test.ts +126 -0
|
@@ -59,8 +59,9 @@ import { type VaultServiceConfig, type Membership, type EntityInfo, type Pending
|
|
|
59
59
|
import { PERSONAL_VAULT_EXCLUDED_TOP_LEVEL, computePersonalVaultPaths } from "../personal-vault.js";
|
|
60
60
|
import type { SyncOptions, SyncResult, SyncProgressEvent } from "../cli/sync.js";
|
|
61
61
|
import type { ShareOptions, ShareResult } from "../cli/share.js";
|
|
62
|
-
import { type Clock } from "../watcher.js";
|
|
62
|
+
import { type Clock, type TreeChangeBatch } from "../watcher.js";
|
|
63
63
|
import { type PushReceiver, type SyncEngineFn } from "../sync/push-receiver.js";
|
|
64
|
+
import { type EventSyncHandles, type StartEventSyncOptions } from "../sync/event-sync.js";
|
|
64
65
|
/**
|
|
65
66
|
* Sync direction for a run.
|
|
66
67
|
*
|
|
@@ -454,6 +455,25 @@ export interface RunnerLoopDeps {
|
|
|
454
455
|
syncFn: SyncEngineFn;
|
|
455
456
|
hqRoot: string;
|
|
456
457
|
}) => PushReceiver;
|
|
458
|
+
/**
|
|
459
|
+
* Phase 3 (US-017/US-018/US-019): factory for the event-driven publish +
|
|
460
|
+
* pull wiring, consulted only when `--event-push` is on AND the rollout
|
|
461
|
+
* gate ({@link resolveEventSync}) passes for the signed-in account.
|
|
462
|
+
* Defaults to the real {@link defaultStartEventSync}. Tests inject a stub
|
|
463
|
+
* to assert gate behavior without network/AWS.
|
|
464
|
+
*/
|
|
465
|
+
startEventSync?: (opts: StartEventSyncOptions) => Promise<EventSyncHandles | null>;
|
|
466
|
+
/**
|
|
467
|
+
* Identity-claims source for the Phase 3 rollout gate (the loop has no
|
|
468
|
+
* RunnerDeps; mirror of RunnerDeps.getIdTokenClaims). Defaults to reading
|
|
469
|
+
* the cached Cognito idToken.
|
|
470
|
+
*/
|
|
471
|
+
getIdTokenClaims?: () => IdTokenClaims | null;
|
|
472
|
+
/**
|
|
473
|
+
* Access-token source for the Phase 3 vault API calls (publish transport +
|
|
474
|
+
* subscribe). Defaults to {@link getValidAccessToken} non-interactive.
|
|
475
|
+
*/
|
|
476
|
+
getAccessToken?: () => Promise<string>;
|
|
457
477
|
}
|
|
458
478
|
/**
|
|
459
479
|
* The minimal watcher surface the loop drives. {@link TreeWatcher} satisfies
|
|
@@ -467,7 +487,7 @@ export interface RunnerLoopDeps {
|
|
|
467
487
|
* relative path so the loop targets just that company.
|
|
468
488
|
*/
|
|
469
489
|
export interface WatcherSurface {
|
|
470
|
-
onChange(listener: (changedRelPath?: string) => void): () => void;
|
|
490
|
+
onChange(listener: (changedRelPath?: string, batch?: TreeChangeBatch) => void): () => void;
|
|
471
491
|
start(): void;
|
|
472
492
|
stop(): void;
|
|
473
493
|
dispose(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-runner.d.ts","sourceRoot":"","sources":["../../src/bin/sync-runner.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AAMH,OAAO,EAOL,KAAK,kBAAkB,EACvB,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EACb,KAAK,oBAAoB,EACzB,KAAK,aAAa,EACnB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,iCAAiC,EACjC,yBAAyB,EAC1B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAmBjE,OAAO,EAIL,KAAK,KAAK,
|
|
1
|
+
{"version":3,"file":"sync-runner.d.ts","sourceRoot":"","sources":["../../src/bin/sync-runner.ts"],"names":[],"mappings":"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"}
|
package/dist/bin/sync-runner.js
CHANGED
|
@@ -75,6 +75,7 @@ import { describeError } from "../lib/describe-error.js";
|
|
|
75
75
|
import { getOrCreateMachineId } from "../lib/machine-id.js";
|
|
76
76
|
import { TreeWatcher, WatchPushDriver, systemClock, } from "../watcher.js";
|
|
77
77
|
import { NoopPushReceiver, } from "../sync/push-receiver.js";
|
|
78
|
+
import { resolveEventSync, startEventSync as defaultStartEventSync, } from "../sync/event-sync.js";
|
|
78
79
|
import { PERSONAL_VAULT_JOURNAL_SLUG, migratePersonalVaultJournal, } from "../journal.js";
|
|
79
80
|
// ---------------------------------------------------------------------------
|
|
80
81
|
// Defaults — mirror `hq-cli/src/utils/cognito-session.ts`. Inlined (not
|
|
@@ -1471,12 +1472,17 @@ export async function runRunnerWithLoop(argv, deps = {}) {
|
|
|
1471
1472
|
let driver = null;
|
|
1472
1473
|
let detachSignal = null;
|
|
1473
1474
|
let lastChangedRel = null;
|
|
1475
|
+
let lastBatch = null;
|
|
1474
1476
|
// ---- pull-on-event receiver (Phase 2, US-009) ------------------------
|
|
1475
1477
|
// Started after the watcher, disposed before the watcher (mirror of the
|
|
1476
1478
|
// PushTransport ordering). Dormant by default: the default factory returns
|
|
1477
1479
|
// a NoopPushReceiver, and even a real receiver stays dormant unless the
|
|
1478
1480
|
// per-tenant feature flag is on AND a queue URL is provisioned server-side.
|
|
1479
1481
|
let receiver = null;
|
|
1482
|
+
// ---- event-driven publish + pull (Phase 3, US-017/018/019) ------------
|
|
1483
|
+
// Brought up asynchronously after the watcher when the rollout gate
|
|
1484
|
+
// passes; null until ready (and stays null on startup failure → poll-only).
|
|
1485
|
+
let eventSync = null;
|
|
1480
1486
|
if (eventPush) {
|
|
1481
1487
|
const clock = deps.clock ?? systemClock;
|
|
1482
1488
|
const debounceMs = 2000;
|
|
@@ -1501,13 +1507,29 @@ export async function runRunnerWithLoop(argv, deps = {}) {
|
|
|
1501
1507
|
if (stopped)
|
|
1502
1508
|
return;
|
|
1503
1509
|
const rel = lastChangedRel;
|
|
1510
|
+
// Snapshot the settled batch BEFORE the await: a change landing
|
|
1511
|
+
// mid-pass overwrites lastBatch for the NEXT pass, and this pass
|
|
1512
|
+
// must only announce what it actually pushed.
|
|
1513
|
+
const batchForPublish = lastBatch;
|
|
1514
|
+
lastBatch = null;
|
|
1504
1515
|
const route = rel
|
|
1505
1516
|
? routeChangeToTarget(rel)
|
|
1506
1517
|
: { kind: "personal" };
|
|
1507
1518
|
if (!route)
|
|
1508
1519
|
return;
|
|
1509
1520
|
const targetedArgv = buildTargetedPushArgv(route, passArgv);
|
|
1510
|
-
await runGuarded(() => runPass(targetedArgv));
|
|
1521
|
+
const result = await runGuarded(() => runPass(targetedArgv));
|
|
1522
|
+
// Phase 3 (US-017): publish PushEvents only AFTER the targeted push
|
|
1523
|
+
// pass succeeded — an event must never announce bytes that are not
|
|
1524
|
+
// in S3 yet. A skipped pass (guard held) or a failed pass publishes
|
|
1525
|
+
// nothing; the cadence poll covers the miss. Fall back to a
|
|
1526
|
+
// single-path batch when the watcher emitted a bare path signal.
|
|
1527
|
+
if (result === 0 && eventSync) {
|
|
1528
|
+
const batch = batchForPublish ??
|
|
1529
|
+
(rel ? { paths: new Map([[path.join(hqRoot, rel), rel]]) } : null);
|
|
1530
|
+
if (batch)
|
|
1531
|
+
eventSync.publishBatch(batch);
|
|
1532
|
+
}
|
|
1511
1533
|
},
|
|
1512
1534
|
});
|
|
1513
1535
|
// A debounced TreeWatcher 'changed' signal feeds the driver, which fires
|
|
@@ -1515,10 +1537,11 @@ export async function runRunnerWithLoop(argv, deps = {}) {
|
|
|
1515
1537
|
// still serialized behind any in-flight pass. A path-aware watcher passes
|
|
1516
1538
|
// the changed relative path so the push targets just its owning company;
|
|
1517
1539
|
// the bare-signal TreeWatcher leaves it null → personal-vault route.
|
|
1518
|
-
watcher.onChange((changedRelPath) => {
|
|
1540
|
+
watcher.onChange((changedRelPath, batch) => {
|
|
1519
1541
|
if (stopped)
|
|
1520
1542
|
return;
|
|
1521
1543
|
lastChangedRel = changedRelPath ?? null;
|
|
1544
|
+
lastBatch = batch ?? null;
|
|
1522
1545
|
driver?.notifyChange();
|
|
1523
1546
|
});
|
|
1524
1547
|
watcher.start();
|
|
@@ -1547,6 +1570,57 @@ export async function runRunnerWithLoop(argv, deps = {}) {
|
|
|
1547
1570
|
// start also keeps the poll loop's microtask timing identical to the
|
|
1548
1571
|
// pre-US-009 wiring.)
|
|
1549
1572
|
void Promise.resolve(receiver.start()).catch(() => undefined);
|
|
1573
|
+
// ---- Phase 3: event-driven publish + pull (US-017/018/019) ----------
|
|
1574
|
+
// Gated to enrolled accounts (resolveEventSync — exact-email allowlist +
|
|
1575
|
+
// HQ_SYNC_EVENT_SYNC override). Brought up asynchronously so a slow
|
|
1576
|
+
// subscribe/vend can't delay the first poll pass; until (and unless) the
|
|
1577
|
+
// handles resolve, behavior is byte-identical to the gate-off path.
|
|
1578
|
+
const getClaims = deps.getIdTokenClaims ?? defaultGetIdTokenClaims;
|
|
1579
|
+
const email = getClaims()?.email;
|
|
1580
|
+
if (resolveEventSync(email, process.env.HQ_SYNC_EVENT_SYNC)) {
|
|
1581
|
+
const getAccessToken = deps.getAccessToken ??
|
|
1582
|
+
(() => getValidAccessToken(DEFAULT_COGNITO, { interactive: false }));
|
|
1583
|
+
const startES = deps.startEventSync ?? defaultStartEventSync;
|
|
1584
|
+
// Entirely async + caught: NOTHING in the Phase 3 bring-up (device-id
|
|
1585
|
+
// persistence, tenant resolution, subscribe) may crash or delay the
|
|
1586
|
+
// daemon — any failure degrades to poll-only.
|
|
1587
|
+
void (async () => {
|
|
1588
|
+
const handles = await startES({
|
|
1589
|
+
hqRoot,
|
|
1590
|
+
apiUrl: DEFAULT_VAULT_API_URL,
|
|
1591
|
+
authToken: getAccessToken,
|
|
1592
|
+
deviceId: getOrCreateMachineId(hqRoot),
|
|
1593
|
+
// The server rejects publishes whose originTenantId mismatches the
|
|
1594
|
+
// JWT principal, so resolve the SAME canonical person uid the vault
|
|
1595
|
+
// API derives from this token.
|
|
1596
|
+
resolveTenantId: async () => {
|
|
1597
|
+
const client = new VaultClient({
|
|
1598
|
+
apiUrl: DEFAULT_VAULT_API_URL,
|
|
1599
|
+
authToken: getAccessToken,
|
|
1600
|
+
region: DEFAULT_COGNITO.region,
|
|
1601
|
+
});
|
|
1602
|
+
const persons = await client.entity.listByType("person");
|
|
1603
|
+
const pick = pickCanonicalPersonEntity(persons);
|
|
1604
|
+
if (!pick?.uid) {
|
|
1605
|
+
throw new Error("no canonical person entity for this account");
|
|
1606
|
+
}
|
|
1607
|
+
return pick.uid;
|
|
1608
|
+
},
|
|
1609
|
+
syncFn: receiverSyncFn,
|
|
1610
|
+
log: (m) => process.stderr.write(`${m}\n`),
|
|
1611
|
+
});
|
|
1612
|
+
if (!handles)
|
|
1613
|
+
return;
|
|
1614
|
+
if (stopped) {
|
|
1615
|
+
// Shutdown raced the async bring-up — tear straight down.
|
|
1616
|
+
void handles.dispose();
|
|
1617
|
+
return;
|
|
1618
|
+
}
|
|
1619
|
+
eventSync = handles;
|
|
1620
|
+
})().catch((err) => {
|
|
1621
|
+
process.stderr.write(`event-sync: wiring failed, continuing poll-only: ${describeError(err)}\n`);
|
|
1622
|
+
});
|
|
1623
|
+
}
|
|
1550
1624
|
}
|
|
1551
1625
|
// ---- clean shutdown --------------------------------------------------
|
|
1552
1626
|
// SIGTERM (menubar stop_daemon) / SIGINT must tear down BOTH the watcher and
|
|
@@ -1572,6 +1646,15 @@ export async function runRunnerWithLoop(argv, deps = {}) {
|
|
|
1572
1646
|
catch {
|
|
1573
1647
|
/* ignore */
|
|
1574
1648
|
}
|
|
1649
|
+
// Phase 3 wiring (publish transport + live receiver) — torn down with
|
|
1650
|
+
// the same fire-and-forget posture as the Phase 2 receiver above.
|
|
1651
|
+
try {
|
|
1652
|
+
void eventSync?.dispose();
|
|
1653
|
+
}
|
|
1654
|
+
catch {
|
|
1655
|
+
/* ignore */
|
|
1656
|
+
}
|
|
1657
|
+
eventSync = null;
|
|
1575
1658
|
try {
|
|
1576
1659
|
driver?.dispose();
|
|
1577
1660
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-runner.js","sourceRoot":"","sources":["../../src/bin/sync-runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sync-runner.js","sourceRoot":"","sources":["../../src/bin/sync-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -2911,4 +2911,205 @@ describe("runRunnerWithLoop — operation lock", () => {
|
|
|
2911
2911
|
expect(held.command).toBe("sync");
|
|
2912
2912
|
});
|
|
2913
2913
|
});
|
|
2914
|
+
function makeBatchWatcherStub() {
|
|
2915
|
+
const listeners = new Set();
|
|
2916
|
+
return {
|
|
2917
|
+
disposed: false,
|
|
2918
|
+
onChange(listener) {
|
|
2919
|
+
listeners.add(listener);
|
|
2920
|
+
return () => listeners.delete(listener);
|
|
2921
|
+
},
|
|
2922
|
+
start() { },
|
|
2923
|
+
stop() { },
|
|
2924
|
+
dispose() {
|
|
2925
|
+
this.disposed = true;
|
|
2926
|
+
listeners.clear();
|
|
2927
|
+
},
|
|
2928
|
+
emit(changedRelPath, batch) {
|
|
2929
|
+
for (const l of [...listeners])
|
|
2930
|
+
l(changedRelPath, batch);
|
|
2931
|
+
},
|
|
2932
|
+
};
|
|
2933
|
+
}
|
|
2934
|
+
describe("runRunnerWithLoop — Phase 3 event-sync wiring (US-017/018/019)", () => {
|
|
2935
|
+
const ENROLLED_CLAIMS = { email: "hassaan@getindigo.ai" };
|
|
2936
|
+
const UNENROLLED_CLAIMS = { email: "someone@getindigo.ai" };
|
|
2937
|
+
function runLoop(opts) {
|
|
2938
|
+
const watcher = opts.watcher ?? makeBatchWatcherStub();
|
|
2939
|
+
const runPass = opts.runPass ?? vi.fn().mockResolvedValue(0);
|
|
2940
|
+
const clock = new FakeClock();
|
|
2941
|
+
let triggerShutdown = () => { };
|
|
2942
|
+
const loop = runRunnerWithLoop(["--companies", "--watch", "--event-push", "--hq-root", "/tmp/hq"], {
|
|
2943
|
+
runPass,
|
|
2944
|
+
clock,
|
|
2945
|
+
createWatcher: () => watcher,
|
|
2946
|
+
sleep: () => new Promise(() => { }),
|
|
2947
|
+
onShutdownSignal: (handler) => {
|
|
2948
|
+
triggerShutdown = handler;
|
|
2949
|
+
return () => { };
|
|
2950
|
+
},
|
|
2951
|
+
getIdTokenClaims: () => opts.claims,
|
|
2952
|
+
getAccessToken: async () => "jwt-test",
|
|
2953
|
+
startEventSync: (opts.startEventSync ??
|
|
2954
|
+
vi.fn().mockResolvedValue(null)),
|
|
2955
|
+
});
|
|
2956
|
+
return { loop, watcher, runPass, clock, shutdown: () => triggerShutdown() };
|
|
2957
|
+
}
|
|
2958
|
+
async function microtasks(n = 6) {
|
|
2959
|
+
for (let i = 0; i < n; i++)
|
|
2960
|
+
await Promise.resolve();
|
|
2961
|
+
}
|
|
2962
|
+
it("gate OFF (unenrolled email): the event-sync seam is never consulted", async () => {
|
|
2963
|
+
const startEventSync = vi.fn().mockResolvedValue(null);
|
|
2964
|
+
const { loop, shutdown } = runLoop({
|
|
2965
|
+
claims: UNENROLLED_CLAIMS,
|
|
2966
|
+
startEventSync,
|
|
2967
|
+
});
|
|
2968
|
+
await microtasks();
|
|
2969
|
+
shutdown();
|
|
2970
|
+
await loop;
|
|
2971
|
+
expect(startEventSync).not.toHaveBeenCalled();
|
|
2972
|
+
});
|
|
2973
|
+
it("gate OFF (no cached claims): the event-sync seam is never consulted", async () => {
|
|
2974
|
+
const startEventSync = vi.fn().mockResolvedValue(null);
|
|
2975
|
+
const { loop, shutdown } = runLoop({ claims: null, startEventSync });
|
|
2976
|
+
await microtasks();
|
|
2977
|
+
shutdown();
|
|
2978
|
+
await loop;
|
|
2979
|
+
expect(startEventSync).not.toHaveBeenCalled();
|
|
2980
|
+
});
|
|
2981
|
+
it("gate ON (enrolled email): wiring receives root, api url, auth + a sync bridge", async () => {
|
|
2982
|
+
const startEventSync = vi.fn().mockResolvedValue(null);
|
|
2983
|
+
const { loop, shutdown } = runLoop({
|
|
2984
|
+
claims: ENROLLED_CLAIMS,
|
|
2985
|
+
startEventSync,
|
|
2986
|
+
});
|
|
2987
|
+
await microtasks();
|
|
2988
|
+
shutdown();
|
|
2989
|
+
await loop;
|
|
2990
|
+
expect(startEventSync).toHaveBeenCalledTimes(1);
|
|
2991
|
+
const arg = startEventSync.mock.calls[0][0];
|
|
2992
|
+
expect(arg.hqRoot).toBe("/tmp/hq");
|
|
2993
|
+
expect(arg.apiUrl).toContain("https://");
|
|
2994
|
+
expect(typeof arg.deviceId).toBe("string");
|
|
2995
|
+
expect(arg.deviceId.length).toBeGreaterThan(0);
|
|
2996
|
+
expect(typeof arg.resolveTenantId).toBe("function");
|
|
2997
|
+
expect(typeof arg.syncFn).toBe("function");
|
|
2998
|
+
});
|
|
2999
|
+
it("publishes the batch ONLY after a successful targeted push pass", async () => {
|
|
3000
|
+
const publishBatch = vi.fn();
|
|
3001
|
+
const startEventSync = vi.fn().mockResolvedValue({
|
|
3002
|
+
publishBatch,
|
|
3003
|
+
receiver: { start: async () => { }, dispose: async () => { }, connected: true },
|
|
3004
|
+
ownDeviceId: "dev-test",
|
|
3005
|
+
dispose: vi.fn().mockResolvedValue(undefined),
|
|
3006
|
+
});
|
|
3007
|
+
const runPass = vi.fn().mockResolvedValue(0);
|
|
3008
|
+
const { loop, watcher, clock, shutdown } = runLoop({
|
|
3009
|
+
claims: ENROLLED_CLAIMS,
|
|
3010
|
+
startEventSync,
|
|
3011
|
+
runPass,
|
|
3012
|
+
});
|
|
3013
|
+
await microtasks(); // initial poll pass + async event-sync bring-up
|
|
3014
|
+
runPass.mockClear();
|
|
3015
|
+
const batch = {
|
|
3016
|
+
paths: new Map([["/tmp/hq/companies/indigo/a.md", "companies/indigo/a.md"]]),
|
|
3017
|
+
};
|
|
3018
|
+
watcher.emit("companies/indigo/a.md", batch);
|
|
3019
|
+
clock.advance(0);
|
|
3020
|
+
await microtasks();
|
|
3021
|
+
// Targeted push ran and succeeded → batch published.
|
|
3022
|
+
expect(runPass).toHaveBeenCalled();
|
|
3023
|
+
expect(publishBatch).toHaveBeenCalledTimes(1);
|
|
3024
|
+
expect(publishBatch.mock.calls[0][0]).toBe(batch);
|
|
3025
|
+
shutdown();
|
|
3026
|
+
await loop;
|
|
3027
|
+
});
|
|
3028
|
+
it("publishes NOTHING when the targeted push pass fails", async () => {
|
|
3029
|
+
const publishBatch = vi.fn();
|
|
3030
|
+
const startEventSync = vi.fn().mockResolvedValue({
|
|
3031
|
+
publishBatch,
|
|
3032
|
+
receiver: { start: async () => { }, dispose: async () => { }, connected: true },
|
|
3033
|
+
ownDeviceId: "dev-test",
|
|
3034
|
+
dispose: vi.fn().mockResolvedValue(undefined),
|
|
3035
|
+
});
|
|
3036
|
+
// Initial poll pass succeeds; the targeted pass fails.
|
|
3037
|
+
const runPass = vi
|
|
3038
|
+
.fn()
|
|
3039
|
+
.mockResolvedValueOnce(0)
|
|
3040
|
+
.mockResolvedValue(1);
|
|
3041
|
+
const { loop, watcher, clock, shutdown } = runLoop({
|
|
3042
|
+
claims: ENROLLED_CLAIMS,
|
|
3043
|
+
startEventSync,
|
|
3044
|
+
runPass,
|
|
3045
|
+
});
|
|
3046
|
+
await microtasks();
|
|
3047
|
+
watcher.emit("companies/indigo/a.md", { paths: new Map([["/tmp/hq/companies/indigo/a.md", "companies/indigo/a.md"]]) });
|
|
3048
|
+
clock.advance(0);
|
|
3049
|
+
await microtasks();
|
|
3050
|
+
expect(publishBatch).not.toHaveBeenCalled();
|
|
3051
|
+
shutdown();
|
|
3052
|
+
await loop;
|
|
3053
|
+
});
|
|
3054
|
+
it("falls back to a synthesized single-path batch when the watcher emits a bare path", async () => {
|
|
3055
|
+
const publishBatch = vi.fn();
|
|
3056
|
+
const startEventSync = vi.fn().mockResolvedValue({
|
|
3057
|
+
publishBatch,
|
|
3058
|
+
receiver: { start: async () => { }, dispose: async () => { }, connected: true },
|
|
3059
|
+
ownDeviceId: "dev-test",
|
|
3060
|
+
dispose: vi.fn().mockResolvedValue(undefined),
|
|
3061
|
+
});
|
|
3062
|
+
const { loop, watcher, clock, shutdown } = runLoop({
|
|
3063
|
+
claims: ENROLLED_CLAIMS,
|
|
3064
|
+
startEventSync,
|
|
3065
|
+
});
|
|
3066
|
+
await microtasks();
|
|
3067
|
+
watcher.emit("companies/indigo/b.md"); // no batch
|
|
3068
|
+
clock.advance(0);
|
|
3069
|
+
await microtasks();
|
|
3070
|
+
expect(publishBatch).toHaveBeenCalledTimes(1);
|
|
3071
|
+
const synthesized = publishBatch.mock.calls[0][0];
|
|
3072
|
+
expect([...synthesized.paths.values()]).toEqual(["companies/indigo/b.md"]);
|
|
3073
|
+
shutdown();
|
|
3074
|
+
await loop;
|
|
3075
|
+
});
|
|
3076
|
+
it("disposes the event-sync handles on shutdown", async () => {
|
|
3077
|
+
const dispose = vi.fn().mockResolvedValue(undefined);
|
|
3078
|
+
const startEventSync = vi.fn().mockResolvedValue({
|
|
3079
|
+
publishBatch: vi.fn(),
|
|
3080
|
+
receiver: { start: async () => { }, dispose: async () => { }, connected: true },
|
|
3081
|
+
ownDeviceId: "dev-test",
|
|
3082
|
+
dispose,
|
|
3083
|
+
});
|
|
3084
|
+
const { loop, shutdown } = runLoop({
|
|
3085
|
+
claims: ENROLLED_CLAIMS,
|
|
3086
|
+
startEventSync,
|
|
3087
|
+
});
|
|
3088
|
+
await microtasks();
|
|
3089
|
+
shutdown();
|
|
3090
|
+
await loop;
|
|
3091
|
+
expect(dispose).toHaveBeenCalled();
|
|
3092
|
+
});
|
|
3093
|
+
it("env override HQ_SYNC_EVENT_SYNC=0 keeps the seam dormant for the enrolled account", async () => {
|
|
3094
|
+
const prev = process.env.HQ_SYNC_EVENT_SYNC;
|
|
3095
|
+
process.env.HQ_SYNC_EVENT_SYNC = "0";
|
|
3096
|
+
try {
|
|
3097
|
+
const startEventSync = vi.fn().mockResolvedValue(null);
|
|
3098
|
+
const { loop, shutdown } = runLoop({
|
|
3099
|
+
claims: ENROLLED_CLAIMS,
|
|
3100
|
+
startEventSync,
|
|
3101
|
+
});
|
|
3102
|
+
await microtasks();
|
|
3103
|
+
shutdown();
|
|
3104
|
+
await loop;
|
|
3105
|
+
expect(startEventSync).not.toHaveBeenCalled();
|
|
3106
|
+
}
|
|
3107
|
+
finally {
|
|
3108
|
+
if (prev === undefined)
|
|
3109
|
+
delete process.env.HQ_SYNC_EVENT_SYNC;
|
|
3110
|
+
else
|
|
3111
|
+
process.env.HQ_SYNC_EVENT_SYNC = prev;
|
|
3112
|
+
}
|
|
3113
|
+
});
|
|
3114
|
+
});
|
|
2914
3115
|
//# sourceMappingURL=sync-runner.test.js.map
|