@indigoai-us/hq-cloud 6.15.81 → 6.15.83
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/backup-prune.d.ts +18 -0
- package/dist/backup-prune.d.ts.map +1 -1
- package/dist/backup-prune.js +20 -0
- package/dist/backup-prune.js.map +1 -1
- package/dist/backup-prune.test.js +30 -1
- package/dist/backup-prune.test.js.map +1 -1
- package/dist/bin/backup-prune-runner.d.ts +4 -1
- package/dist/bin/backup-prune-runner.d.ts.map +1 -1
- package/dist/bin/backup-prune-runner.js +61 -38
- package/dist/bin/backup-prune-runner.js.map +1 -1
- package/dist/bin/backup-prune-runner.test.d.ts +2 -0
- package/dist/bin/backup-prune-runner.test.d.ts.map +1 -0
- package/dist/bin/backup-prune-runner.test.js +22 -0
- package/dist/bin/backup-prune-runner.test.js.map +1 -0
- package/dist/bin/layout-compatibility.d.ts +12 -0
- package/dist/bin/layout-compatibility.d.ts.map +1 -0
- package/dist/bin/layout-compatibility.js +50 -0
- package/dist/bin/layout-compatibility.js.map +1 -0
- package/dist/bin/layout-compatibility.test.d.ts +2 -0
- package/dist/bin/layout-compatibility.test.d.ts.map +1 -0
- package/dist/bin/layout-compatibility.test.js +87 -0
- package/dist/bin/layout-compatibility.test.js.map +1 -0
- package/dist/bin/sync-runner-watch-loop.d.ts +2 -0
- package/dist/bin/sync-runner-watch-loop.d.ts.map +1 -1
- package/dist/bin/sync-runner-watch-loop.js +81 -13
- package/dist/bin/sync-runner-watch-loop.js.map +1 -1
- package/dist/bin/sync-runner.d.ts.map +1 -1
- package/dist/bin/sync-runner.js +11 -1
- package/dist/bin/sync-runner.js.map +1 -1
- package/dist/bin/sync-runner.test.js +254 -2
- package/dist/bin/sync-runner.test.js.map +1 -1
- package/dist/index.d.ts +2 -2
- 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 +18 -0
- package/dist/journal.d.ts.map +1 -1
- package/dist/journal.js +41 -17
- package/dist/journal.js.map +1 -1
- package/dist/journal.test.js +8 -1
- package/dist/journal.test.js.map +1 -1
- package/dist/outposts/self-deploy.d.ts.map +1 -1
- package/dist/outposts/self-deploy.js +10 -1
- package/dist/outposts/self-deploy.js.map +1 -1
- package/dist/outposts/self-deploy.test.js +4 -1
- package/dist/outposts/self-deploy.test.js.map +1 -1
- package/dist/sync/area-ledger-migration.d.ts +8 -1
- package/dist/sync/area-ledger-migration.d.ts.map +1 -1
- package/dist/sync/area-ledger-migration.js +23 -0
- package/dist/sync/area-ledger-migration.js.map +1 -1
- package/dist/sync/area-ledger-migration.test.js +20 -0
- package/dist/sync/area-ledger-migration.test.js.map +1 -1
- package/dist/sync/area-ledger.d.ts +10 -0
- package/dist/sync/area-ledger.d.ts.map +1 -1
- package/dist/sync/area-ledger.js +11 -0
- package/dist/sync/area-ledger.js.map +1 -1
- package/dist/sync/feature-flags.d.ts +20 -0
- package/dist/sync/feature-flags.d.ts.map +1 -1
- package/dist/sync/feature-flags.js +25 -0
- package/dist/sync/feature-flags.js.map +1 -1
- package/dist/sync/feature-flags.test.js +28 -1
- package/dist/sync/feature-flags.test.js.map +1 -1
- package/dist/sync/index.d.ts +6 -0
- package/dist/sync/index.d.ts.map +1 -1
- package/dist/sync/index.js +3 -0
- package/dist/sync/index.js.map +1 -1
- package/dist/sync/layout-compatibility.d.ts +17 -0
- package/dist/sync/layout-compatibility.d.ts.map +1 -0
- package/dist/sync/layout-compatibility.js +29 -0
- package/dist/sync/layout-compatibility.js.map +1 -0
- package/dist/sync/per-area-maintenance.d.ts +45 -0
- package/dist/sync/per-area-maintenance.d.ts.map +1 -0
- package/dist/sync/per-area-maintenance.js +131 -0
- package/dist/sync/per-area-maintenance.js.map +1 -0
- package/dist/sync/per-area-maintenance.test.d.ts +2 -0
- package/dist/sync/per-area-maintenance.test.d.ts.map +1 -0
- package/dist/sync/per-area-maintenance.test.js +100 -0
- package/dist/sync/per-area-maintenance.test.js.map +1 -0
- package/dist/sync/realtime-telemetry.d.ts +49 -0
- package/dist/sync/realtime-telemetry.d.ts.map +1 -0
- package/dist/sync/realtime-telemetry.js +101 -0
- package/dist/sync/realtime-telemetry.js.map +1 -0
- package/dist/sync/realtime-telemetry.test.d.ts +2 -0
- package/dist/sync/realtime-telemetry.test.d.ts.map +1 -0
- package/dist/sync/realtime-telemetry.test.js +64 -0
- package/dist/sync/realtime-telemetry.test.js.map +1 -0
- package/dist/sync/state-store.d.ts +10 -0
- package/dist/sync/state-store.d.ts.map +1 -1
- package/dist/sync/state-store.js +18 -0
- package/dist/sync/state-store.js.map +1 -1
- package/package.json +3 -2
|
@@ -25,7 +25,7 @@ import { mkdtempSync, rmSync, writeFileSync } from "node:fs";
|
|
|
25
25
|
import { tmpdir } from "node:os";
|
|
26
26
|
import path from "node:path";
|
|
27
27
|
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
28
|
-
import { EVENT_SYNC_LOCAL_DISABLE_ENV_VAR, isEventSyncLocallyDisabled, isParallelCoordinatorEnabled, PARALLEL_COORDINATOR_ENV_VAR, } from "./feature-flags.js";
|
|
28
|
+
import { AREA_STORAGE_ENV_VAR, EVENT_SYNC_LOCAL_DISABLE_ENV_VAR, isAreaStorageEnabled, isEventSyncLocallyDisabled, isParallelCoordinatorEnabled, PARALLEL_COORDINATOR_ENV_VAR, resolveParallelSyncRollout, } from "./feature-flags.js";
|
|
29
29
|
import { HttpPushTransport, NoopPushTransport, getPublishFailureOutcome, getPublishSuccessOutcome, } from "./push-transport.js";
|
|
30
30
|
import { decodePushEvent } from "./push-event.js";
|
|
31
31
|
import { PushEventEmitter } from "../watcher.js";
|
|
@@ -78,6 +78,33 @@ describe("Parallel coordinator local control", () => {
|
|
|
78
78
|
expect(isParallelCoordinatorEnabled("anything else")).toBe(false);
|
|
79
79
|
});
|
|
80
80
|
it.each(["1", "true", "yes", "on", " TRUE "])("accepts %j as an explicit opt-in", (value) => expect(isParallelCoordinatorEnabled(value)).toBe(true));
|
|
81
|
+
it("keeps area storage and parallel execution independently switchable", () => {
|
|
82
|
+
expect(AREA_STORAGE_ENV_VAR).toBe("HQ_SYNC_AREA_STORAGE");
|
|
83
|
+
expect(isAreaStorageEnabled(undefined)).toBe(false);
|
|
84
|
+
expect(resolveParallelSyncRollout({})).toEqual({
|
|
85
|
+
areaStorageEnabled: false,
|
|
86
|
+
parallelExecutionEnabled: false,
|
|
87
|
+
executionMode: "dual-layout-serialized-bridge",
|
|
88
|
+
});
|
|
89
|
+
expect(resolveParallelSyncRollout({ [AREA_STORAGE_ENV_VAR]: "on" })).toEqual({
|
|
90
|
+
areaStorageEnabled: true,
|
|
91
|
+
parallelExecutionEnabled: false,
|
|
92
|
+
executionMode: "dual-layout-serialized-bridge",
|
|
93
|
+
});
|
|
94
|
+
expect(resolveParallelSyncRollout({ [PARALLEL_COORDINATOR_ENV_VAR]: "on" })).toEqual({
|
|
95
|
+
areaStorageEnabled: false,
|
|
96
|
+
parallelExecutionEnabled: true,
|
|
97
|
+
executionMode: "parallel",
|
|
98
|
+
});
|
|
99
|
+
expect(resolveParallelSyncRollout({
|
|
100
|
+
[AREA_STORAGE_ENV_VAR]: "on",
|
|
101
|
+
[PARALLEL_COORDINATOR_ENV_VAR]: "on",
|
|
102
|
+
})).toEqual({
|
|
103
|
+
areaStorageEnabled: true,
|
|
104
|
+
parallelExecutionEnabled: true,
|
|
105
|
+
executionMode: "parallel",
|
|
106
|
+
});
|
|
107
|
+
});
|
|
81
108
|
});
|
|
82
109
|
// ─── 2. POST (HttpPushTransport) ──────────────────────────────────────────────
|
|
83
110
|
describe("HttpPushTransport — POST /sync/push", () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature-flags.test.js","sourceRoot":"","sources":["../../src/sync/feature-flags.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"feature-flags.test.js","sourceRoot":"","sources":["../../src/sync/feature-flags.test.ts"],"names":[],"mappings":"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"}
|
package/dist/sync/index.d.ts
CHANGED
|
@@ -9,6 +9,12 @@ export type { PushEvent, PushEventInput, PushEventDecodeIssue, } from "./push-ev
|
|
|
9
9
|
export { NoopPushTransport, HttpPushTransport } from "./push-transport.js";
|
|
10
10
|
export type { PushTransport, HttpPushTransportOptions, AuthTokenSource, FetchLike, } from "./push-transport.js";
|
|
11
11
|
export { EVENT_SYNC_LOCAL_DISABLE_ENV_VAR, isEventSyncLocallyDisabled, StaticFlagProvider, } from "./feature-flags.js";
|
|
12
|
+
export { AREA_STORAGE_ENV_VAR, PARALLEL_COORDINATOR_ENV_VAR, isAreaStorageEnabled, isParallelCoordinatorEnabled, resolveParallelSyncRollout, } from "./feature-flags.js";
|
|
13
|
+
export type { ParallelSyncRollout } from "./feature-flags.js";
|
|
14
|
+
export { REALTIME_TELEMETRY_EVENT, REALTIME_TELEMETRY_SCHEMA_VERSION, RealtimeTelemetrySpan, assertRealtimeTelemetryLowCardinality } from "./realtime-telemetry.js";
|
|
15
|
+
export type { RealtimeTelemetryRecord, RealtimeTimingStage } from "./realtime-telemetry.js";
|
|
16
|
+
export { resolveLayoutCompatibility } from "./layout-compatibility.js";
|
|
17
|
+
export type { LauncherPinKind, LayoutCompatibility } from "./layout-compatibility.js";
|
|
12
18
|
export type { EventDrivenPushFlagProvider, FlagProviderWarnFn, EnvTenantListFlagProviderOptions, } from "./feature-flags.js";
|
|
13
19
|
export { NoopPushReceiver, SqsPushReceiver, InMemoryFanout, InMemoryPushReceiver, createPushReceiver, DEFAULT_RECEIVER_DISPOSE_DRAIN_MS, DEFAULT_WAIT_TIME_SECONDS, DEFAULT_MAX_MESSAGES, DEFAULT_RECEIVER_BATCH_MAX_PATHS, DEFAULT_RECEIVER_DRAIN_MAX_MESSAGES, } from "./push-receiver.js";
|
|
14
20
|
export type { PushReceiver, PushReceiverContext, PushReceiverBatchContext, SyncEngineFn, SyncBatchEngineFn, PublishMetricFn, ReceiverLogger, SqsClientLike, SqsMessageLike, SqsPushReceiverOptions, InMemoryPushReceiverOptions, CreatePushReceiverOptions, } from "./push-receiver.js";
|
package/dist/sync/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":"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"}
|
package/dist/sync/index.js
CHANGED
|
@@ -7,6 +7,9 @@
|
|
|
7
7
|
export { CONTENT_HASH_PATTERN, ISO8601_DATETIME_PATTERN, PushEventSchema, PushEventDecodeError, encodePushEvent, decodePushEvent, } from "./push-event.js";
|
|
8
8
|
export { NoopPushTransport, HttpPushTransport } from "./push-transport.js";
|
|
9
9
|
export { EVENT_SYNC_LOCAL_DISABLE_ENV_VAR, isEventSyncLocallyDisabled, StaticFlagProvider, } from "./feature-flags.js";
|
|
10
|
+
export { AREA_STORAGE_ENV_VAR, PARALLEL_COORDINATOR_ENV_VAR, isAreaStorageEnabled, isParallelCoordinatorEnabled, resolveParallelSyncRollout, } from "./feature-flags.js";
|
|
11
|
+
export { REALTIME_TELEMETRY_EVENT, REALTIME_TELEMETRY_SCHEMA_VERSION, RealtimeTelemetrySpan, assertRealtimeTelemetryLowCardinality } from "./realtime-telemetry.js";
|
|
12
|
+
export { resolveLayoutCompatibility } from "./layout-compatibility.js";
|
|
10
13
|
export { NoopPushReceiver, SqsPushReceiver, InMemoryFanout, InMemoryPushReceiver, createPushReceiver, DEFAULT_RECEIVER_DISPOSE_DRAIN_MS, DEFAULT_WAIT_TIME_SECONDS, DEFAULT_MAX_MESSAGES, DEFAULT_RECEIVER_BATCH_MAX_PATHS, DEFAULT_RECEIVER_DRAIN_MAX_MESSAGES, } from "./push-receiver.js";
|
|
11
14
|
export { SYNC_METRIC_NAMESPACE, SYNC_LATENCY_METRIC_NAME, _setSyncCloudWatchClient, publishSyncLatencyMetric, } from "./metrics.js";
|
|
12
15
|
export { createLogger } from "./logger.js";
|
package/dist/sync/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,eAAe,GAChB,MAAM,iBAAiB,CAAC;AAOzB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAQ3E,OAAO,EACL,gCAAgC,EAChC,0BAA0B,EAC1B,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,eAAe,GAChB,MAAM,iBAAiB,CAAC;AAOzB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAQ3E,OAAO,EACL,gCAAgC,EAChC,0BAA0B,EAC1B,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,oBAAoB,EACpB,4BAA4B,EAC5B,oBAAoB,EACpB,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,wBAAwB,EAAE,iCAAiC,EAAE,qBAAqB,EAAE,qCAAqC,EAAE,MAAM,yBAAyB,CAAC;AAGpK,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAQvE,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,iCAAiC,EACjC,yBAAyB,EACzB,oBAAoB,EACpB,gCAAgC,EAChC,mCAAmC,GACpC,MAAM,oBAAoB,CAAC;AAgB5B,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,cAAc,CAAC;AAMtB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAa7E,OAAO,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AAShF,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAiBzD,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAY3I,OAAO,EAAE,6BAA6B,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAE5G,OAAO,EAAE,4BAA4B,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export type LauncherPinKind = "dual-layout" | "v3-only";
|
|
2
|
+
export type LayoutCompatibility = {
|
|
3
|
+
schemaVersion: 1;
|
|
4
|
+
journalSlug: string;
|
|
5
|
+
pinKind: LauncherPinKind;
|
|
6
|
+
rollbackSafe: boolean;
|
|
7
|
+
compatible: boolean;
|
|
8
|
+
selectedRunner: "dual-layout-serialized-bridge" | "v3-only";
|
|
9
|
+
reason: "rollback-safe" | "rollback-unsafe-area-layout" | "legacy-layout";
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* A launcher must call this before selecting a v3-only pin. The bridge is
|
|
13
|
+
* always safe to start: it reads the committed layout state and can compose
|
|
14
|
+
* back, whereas a v3-only binary can strand the latest area mutation.
|
|
15
|
+
*/
|
|
16
|
+
export declare function resolveLayoutCompatibility(rootDir: string, journalSlug: string, pinKind: LauncherPinKind): LayoutCompatibility;
|
|
17
|
+
//# sourceMappingURL=layout-compatibility.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout-compatibility.d.ts","sourceRoot":"","sources":["../../src/sync/layout-compatibility.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG,SAAS,CAAC;AAExD,MAAM,MAAM,mBAAmB,GAAG;IAChC,aAAa,EAAE,CAAC,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,eAAe,CAAC;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,+BAA+B,GAAG,SAAS,CAAC;IAC5D,MAAM,EAAE,eAAe,GAAG,6BAA6B,GAAG,eAAe,CAAC;CAC3E,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,eAAe,GACvB,mBAAmB,CAoBrB"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/** Launcher-facing layout/pin compatibility decision. */
|
|
2
|
+
import { readAreaLayoutState } from "./area-ledger-migration.js";
|
|
3
|
+
/**
|
|
4
|
+
* A launcher must call this before selecting a v3-only pin. The bridge is
|
|
5
|
+
* always safe to start: it reads the committed layout state and can compose
|
|
6
|
+
* back, whereas a v3-only binary can strand the latest area mutation.
|
|
7
|
+
*/
|
|
8
|
+
export function resolveLayoutCompatibility(rootDir, journalSlug, pinKind) {
|
|
9
|
+
const state = readAreaLayoutState(rootDir, journalSlug);
|
|
10
|
+
const areaAuthoritative = state?.phase === "area-authoritative";
|
|
11
|
+
const rollbackSafe = !areaAuthoritative || state.rollbackSafe;
|
|
12
|
+
const compatible = pinKind === "dual-layout" || rollbackSafe;
|
|
13
|
+
return {
|
|
14
|
+
schemaVersion: 1,
|
|
15
|
+
journalSlug,
|
|
16
|
+
pinKind,
|
|
17
|
+
rollbackSafe,
|
|
18
|
+
compatible,
|
|
19
|
+
selectedRunner: compatible && pinKind === "v3-only"
|
|
20
|
+
? "v3-only"
|
|
21
|
+
: "dual-layout-serialized-bridge",
|
|
22
|
+
reason: !areaAuthoritative
|
|
23
|
+
? "legacy-layout"
|
|
24
|
+
: rollbackSafe
|
|
25
|
+
? "rollback-safe"
|
|
26
|
+
: "rollback-unsafe-area-layout",
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=layout-compatibility.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout-compatibility.js","sourceRoot":"","sources":["../../src/sync/layout-compatibility.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAcjE;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAAe,EACf,WAAmB,EACnB,OAAwB;IAExB,MAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACxD,MAAM,iBAAiB,GAAG,KAAK,EAAE,KAAK,KAAK,oBAAoB,CAAC;IAChE,MAAM,YAAY,GAAG,CAAC,iBAAiB,IAAI,KAAK,CAAC,YAAY,CAAC;IAC9D,MAAM,UAAU,GAAG,OAAO,KAAK,aAAa,IAAI,YAAY,CAAC;IAC7D,OAAO;QACL,aAAa,EAAE,CAAC;QAChB,WAAW;QACX,OAAO;QACP,YAAY;QACZ,UAAU;QACV,cAAc,EAAE,UAAU,IAAI,OAAO,KAAK,SAAS;YACjD,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,+BAA+B;QACnC,MAAM,EAAE,CAAC,iBAAiB;YACxB,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,YAAY;gBACZ,CAAC,CAAC,eAAe;gBACjB,CAAC,CAAC,6BAA6B;KACpC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export declare const AREA_MAINTENANCE_CURSOR_FORMAT = 1;
|
|
2
|
+
export type AreaMaintenanceCursor = {
|
|
3
|
+
format: typeof AREA_MAINTENANCE_CURSOR_FORMAT;
|
|
4
|
+
epoch: string;
|
|
5
|
+
pendingAreaIds: readonly string[];
|
|
6
|
+
nextIndex: number;
|
|
7
|
+
};
|
|
8
|
+
export type AreaMaintenanceCursorStoreOptions = {
|
|
9
|
+
rootDir: string;
|
|
10
|
+
journalSlug: string;
|
|
11
|
+
layoutEpoch: number;
|
|
12
|
+
};
|
|
13
|
+
export type AreaMaintenanceTarget = {
|
|
14
|
+
maintenanceAreaIds(): readonly string[];
|
|
15
|
+
maintainArea(areaId: string): unknown;
|
|
16
|
+
};
|
|
17
|
+
export type AreaMaintenanceOutcome = {
|
|
18
|
+
areaId: string;
|
|
19
|
+
status: "maintained";
|
|
20
|
+
result: unknown;
|
|
21
|
+
} | {
|
|
22
|
+
areaId: string;
|
|
23
|
+
status: "isolated";
|
|
24
|
+
error: string;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* One tiny cursor per journal layout. It is advanced after each area, not at
|
|
28
|
+
* the end of a sweep, so a worker restart cannot make a healthy area repeat a
|
|
29
|
+
* large maintenance pass because another area was corrupt.
|
|
30
|
+
*/
|
|
31
|
+
export declare class AreaMaintenanceCursorStore {
|
|
32
|
+
private readonly store;
|
|
33
|
+
private constructor();
|
|
34
|
+
static open(options: AreaMaintenanceCursorStoreOptions): AreaMaintenanceCursorStore;
|
|
35
|
+
read(): AreaMaintenanceCursor | undefined;
|
|
36
|
+
begin(epoch: string, areaIds: readonly string[]): AreaMaintenanceCursor;
|
|
37
|
+
completeUnit(cursor: AreaMaintenanceCursor, areaId: string): AreaMaintenanceCursor;
|
|
38
|
+
}
|
|
39
|
+
/** Execute at most one area maintenance unit and durably checkpoint its result. */
|
|
40
|
+
export declare function runBoundedAreaMaintenance(target: AreaMaintenanceTarget, cursorStore: AreaMaintenanceCursorStore, epoch: string): {
|
|
41
|
+
cursor: AreaMaintenanceCursor;
|
|
42
|
+
outcome?: AreaMaintenanceOutcome;
|
|
43
|
+
complete: boolean;
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=per-area-maintenance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"per-area-maintenance.d.ts","sourceRoot":"","sources":["../../src/sync/per-area-maintenance.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAEhD,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,OAAO,8BAA8B,CAAC;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,kBAAkB,IAAI,SAAS,MAAM,EAAE,CAAC;IACxC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAC9B;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GACzD;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAI1D;;;;GAIG;AACH,qBAAa,0BAA0B;IACrC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiD;IAEvE,OAAO;IAcP,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,iCAAiC,GAAG,0BAA0B;IAInF,IAAI,IAAI,qBAAqB,GAAG,SAAS;IAKzC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,qBAAqB;IAsBvE,YAAY,CAAC,MAAM,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,GAAG,qBAAqB;CAYnF;AAED,mFAAmF;AACnF,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,qBAAqB,EAC7B,WAAW,EAAE,0BAA0B,EACvC,KAAK,EAAE,MAAM,GACZ;IAAE,MAAM,EAAE,qBAAqB,CAAC;IAAC,OAAO,CAAC,EAAE,sBAAsB,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAmBxF"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Durable, bounded maintenance chores for an area-authoritative journal.
|
|
3
|
+
*
|
|
4
|
+
* This module deliberately knows nothing about the global operation lock.
|
|
5
|
+
* Normal rotation and healthy repair are per-area work; callers reserve the
|
|
6
|
+
* exclusive gate only for a format change or an authority cutover.
|
|
7
|
+
*/
|
|
8
|
+
import { StateStore } from "./state-store.js";
|
|
9
|
+
export const AREA_MAINTENANCE_CURSOR_FORMAT = 1;
|
|
10
|
+
const CURSOR_SET = 1;
|
|
11
|
+
/**
|
|
12
|
+
* One tiny cursor per journal layout. It is advanced after each area, not at
|
|
13
|
+
* the end of a sweep, so a worker restart cannot make a healthy area repeat a
|
|
14
|
+
* large maintenance pass because another area was corrupt.
|
|
15
|
+
*/
|
|
16
|
+
export class AreaMaintenanceCursorStore {
|
|
17
|
+
store;
|
|
18
|
+
constructor(options) {
|
|
19
|
+
if (!Number.isSafeInteger(options.layoutEpoch) || options.layoutEpoch < 1) {
|
|
20
|
+
throw new Error("area maintenance layoutEpoch must be a positive safe integer");
|
|
21
|
+
}
|
|
22
|
+
if (options.journalSlug.length === 0)
|
|
23
|
+
throw new Error("area maintenance journalSlug is required");
|
|
24
|
+
this.store = StateStore.open({
|
|
25
|
+
rootDir: options.rootDir,
|
|
26
|
+
scopeId: `area-maintenance:${options.journalSlug}:${options.layoutEpoch}`,
|
|
27
|
+
initialState: {},
|
|
28
|
+
reduce: reduceCursor,
|
|
29
|
+
validateRecord: validateCursorRecord,
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
static open(options) {
|
|
33
|
+
return new AreaMaintenanceCursorStore(options);
|
|
34
|
+
}
|
|
35
|
+
read() {
|
|
36
|
+
this.store.refresh();
|
|
37
|
+
return cloneCursor(this.store.getState().cursor);
|
|
38
|
+
}
|
|
39
|
+
begin(epoch, areaIds) {
|
|
40
|
+
if (epoch.length === 0)
|
|
41
|
+
throw new Error("area maintenance epoch is required");
|
|
42
|
+
const pendingAreaIds = [...new Set(areaIds)].sort((left, right) => left.localeCompare(right));
|
|
43
|
+
if (pendingAreaIds.some((areaId) => areaId.length === 0))
|
|
44
|
+
throw new Error("area maintenance areaId is required");
|
|
45
|
+
const current = this.read();
|
|
46
|
+
// A scheduler's calendar epoch can advance before a bounded sweep is
|
|
47
|
+
// complete. Keep that sweep's durable epoch until every area has been
|
|
48
|
+
// checkpointed; otherwise the next daily invocation would reset to index
|
|
49
|
+
// zero and starve every later area indefinitely.
|
|
50
|
+
if (current && sameAreas(current.pendingAreaIds, pendingAreaIds) && current.nextIndex < current.pendingAreaIds.length) {
|
|
51
|
+
return current;
|
|
52
|
+
}
|
|
53
|
+
const cursor = {
|
|
54
|
+
format: AREA_MAINTENANCE_CURSOR_FORMAT,
|
|
55
|
+
epoch,
|
|
56
|
+
pendingAreaIds,
|
|
57
|
+
nextIndex: 0,
|
|
58
|
+
};
|
|
59
|
+
this.store.append(CURSOR_SET, { cursor });
|
|
60
|
+
return cursor;
|
|
61
|
+
}
|
|
62
|
+
completeUnit(cursor, areaId) {
|
|
63
|
+
const current = this.read();
|
|
64
|
+
if (!current || current.epoch !== cursor.epoch || !sameAreas(current.pendingAreaIds, cursor.pendingAreaIds)) {
|
|
65
|
+
throw new Error("area maintenance cursor changed before checkpoint");
|
|
66
|
+
}
|
|
67
|
+
if (current.pendingAreaIds[current.nextIndex] !== areaId) {
|
|
68
|
+
throw new Error("area maintenance cursor checkpoint is out of order");
|
|
69
|
+
}
|
|
70
|
+
const next = { ...current, nextIndex: current.nextIndex + 1 };
|
|
71
|
+
this.store.append(CURSOR_SET, { cursor: next });
|
|
72
|
+
return next;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/** Execute at most one area maintenance unit and durably checkpoint its result. */
|
|
76
|
+
export function runBoundedAreaMaintenance(target, cursorStore, epoch) {
|
|
77
|
+
let cursor = cursorStore.begin(epoch, target.maintenanceAreaIds());
|
|
78
|
+
const areaId = cursor.pendingAreaIds[cursor.nextIndex];
|
|
79
|
+
if (areaId === undefined)
|
|
80
|
+
return { cursor, complete: true };
|
|
81
|
+
let outcome;
|
|
82
|
+
try {
|
|
83
|
+
outcome = { areaId, status: "maintained", result: target.maintainArea(areaId) };
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
// A malformed/corrupt area is recorded as its own completed unit. The
|
|
87
|
+
// next scheduler tick can continue the healthy areas while the operator
|
|
88
|
+
// receives the isolated error through its ordinary chore reporting path.
|
|
89
|
+
outcome = {
|
|
90
|
+
areaId,
|
|
91
|
+
status: "isolated",
|
|
92
|
+
error: error instanceof Error ? error.message : String(error),
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
cursor = cursorStore.completeUnit(cursor, areaId);
|
|
96
|
+
return { cursor, outcome, complete: cursor.nextIndex >= cursor.pendingAreaIds.length };
|
|
97
|
+
}
|
|
98
|
+
function reduceCursor(_state, record) {
|
|
99
|
+
if (record.type !== CURSOR_SET)
|
|
100
|
+
throw new Error(`area maintenance: unknown record type ${record.type}`);
|
|
101
|
+
return { cursor: cloneCursor(record.payload.cursor) };
|
|
102
|
+
}
|
|
103
|
+
function validateCursorRecord(record) {
|
|
104
|
+
if (record.type !== CURSOR_SET)
|
|
105
|
+
throw new Error(`area maintenance: unknown record type ${record.type}`);
|
|
106
|
+
const cursor = record.payload.cursor;
|
|
107
|
+
const nextIndex = cursor?.nextIndex;
|
|
108
|
+
if (!cursor ||
|
|
109
|
+
cursor.format !== AREA_MAINTENANCE_CURSOR_FORMAT ||
|
|
110
|
+
typeof cursor.epoch !== "string" ||
|
|
111
|
+
!Array.isArray(cursor.pendingAreaIds) ||
|
|
112
|
+
!cursor.pendingAreaIds.every((areaId) => typeof areaId === "string" && areaId.length > 0) ||
|
|
113
|
+
typeof nextIndex !== "number" ||
|
|
114
|
+
!Number.isSafeInteger(nextIndex) ||
|
|
115
|
+
nextIndex < 0 ||
|
|
116
|
+
nextIndex > cursor.pendingAreaIds.length) {
|
|
117
|
+
throw new Error("area maintenance: invalid cursor record");
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
function cloneCursor(cursor) {
|
|
121
|
+
return cursor && {
|
|
122
|
+
format: cursor.format,
|
|
123
|
+
epoch: cursor.epoch,
|
|
124
|
+
pendingAreaIds: [...cursor.pendingAreaIds],
|
|
125
|
+
nextIndex: cursor.nextIndex,
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
function sameAreas(left, right) {
|
|
129
|
+
return left.length === right.length && left.every((areaId, index) => areaId === right[index]);
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=per-area-maintenance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"per-area-maintenance.js","sourceRoot":"","sources":["../../src/sync/per-area-maintenance.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"per-area-maintenance.test.d.ts","sourceRoot":"","sources":["../../src/sync/per-area-maintenance.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import * as fs from "node:fs";
|
|
2
|
+
import * as os from "node:os";
|
|
3
|
+
import * as path from "node:path";
|
|
4
|
+
import { afterEach, describe, expect, it } from "vitest";
|
|
5
|
+
import { AreaLedger } from "./area-ledger.js";
|
|
6
|
+
import { runBoundedAreaMaintenance, AreaMaintenanceCursorStore } from "./per-area-maintenance.js";
|
|
7
|
+
import { setStateStoreAfterGenerationStageHookForTest } from "./state-store.js";
|
|
8
|
+
const roots = [];
|
|
9
|
+
afterEach(() => {
|
|
10
|
+
setStateStoreAfterGenerationStageHookForTest(undefined);
|
|
11
|
+
for (const root of roots.splice(0))
|
|
12
|
+
fs.rmSync(root, { recursive: true, force: true });
|
|
13
|
+
});
|
|
14
|
+
function makeRoot() {
|
|
15
|
+
const root = fs.mkdtempSync(path.join(os.tmpdir(), "hq-area-maintenance-test-"));
|
|
16
|
+
roots.push(root);
|
|
17
|
+
return root;
|
|
18
|
+
}
|
|
19
|
+
function entry(size) {
|
|
20
|
+
return { hash: `${size}`.repeat(64), size, syncedAt: "2026-08-27T00:00:00.000Z", direction: "up" };
|
|
21
|
+
}
|
|
22
|
+
function openLedger(root) {
|
|
23
|
+
return AreaLedger.open({
|
|
24
|
+
rootDir: root,
|
|
25
|
+
journalSlug: "personal-vault",
|
|
26
|
+
layoutEpoch: 1,
|
|
27
|
+
areaIds: ["root:alpha", "root:beta"],
|
|
28
|
+
resolveArea: (key) => key.startsWith("alpha/") ? "root:alpha" : "root:beta",
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
describe("per-area maintenance", () => {
|
|
32
|
+
it("rotates one area while a realtime append commits in another area", () => {
|
|
33
|
+
const root = makeRoot();
|
|
34
|
+
const ledger = openLedger(root);
|
|
35
|
+
ledger.append({ upserts: { "alpha/before.md": entry(1) } });
|
|
36
|
+
let appended = false;
|
|
37
|
+
setStateStoreAfterGenerationStageHookForTest(() => {
|
|
38
|
+
if (appended)
|
|
39
|
+
return;
|
|
40
|
+
appended = true;
|
|
41
|
+
ledger.append({ upserts: { "beta/realtime.md": entry(2) } });
|
|
42
|
+
});
|
|
43
|
+
ledger.maintainArea("root:alpha", { force: true });
|
|
44
|
+
expect(appended).toBe(true);
|
|
45
|
+
expect(openLedger(root).read().files).toMatchObject({
|
|
46
|
+
"alpha/before.md": { size: 1 },
|
|
47
|
+
"beta/realtime.md": { size: 2 },
|
|
48
|
+
});
|
|
49
|
+
const directories = ledger.stateDirectoriesForTest();
|
|
50
|
+
expect(directories.get("root:alpha")).not.toBe(directories.get("root:beta"));
|
|
51
|
+
});
|
|
52
|
+
it("isolates a corrupt area and continues to the next healthy area", () => {
|
|
53
|
+
const root = makeRoot();
|
|
54
|
+
const ledger = openLedger(root);
|
|
55
|
+
ledger.append({ upserts: { "alpha/bad.md": entry(1), "beta/good.md": entry(2) } });
|
|
56
|
+
const alphaDir = ledger.stateDirectoriesForTest().get("root:alpha");
|
|
57
|
+
const stateFiles = fs.readdirSync(alphaDir).filter((name) => /^(?:snapshot|wal)-\d+\.bin$/.test(name));
|
|
58
|
+
expect(stateFiles.length).toBeGreaterThan(0);
|
|
59
|
+
for (const stateFile of stateFiles)
|
|
60
|
+
fs.writeFileSync(path.join(alphaDir, stateFile), "corrupt");
|
|
61
|
+
const target = {
|
|
62
|
+
maintenanceAreaIds: () => ["root:alpha", "root:beta"],
|
|
63
|
+
maintainArea: (areaId) => openLedger(root).maintainArea(areaId, { force: true }),
|
|
64
|
+
};
|
|
65
|
+
const cursor = AreaMaintenanceCursorStore.open({ rootDir: root, journalSlug: "personal-vault", layoutEpoch: 1 });
|
|
66
|
+
const first = runBoundedAreaMaintenance(target, cursor, "daily-1");
|
|
67
|
+
const second = runBoundedAreaMaintenance(target, cursor, "daily-1");
|
|
68
|
+
expect(first.outcome).toMatchObject({ areaId: "root:alpha", status: "isolated" });
|
|
69
|
+
expect(second.outcome).toMatchObject({ areaId: "root:beta", status: "maintained" });
|
|
70
|
+
expect(second.complete).toBe(true);
|
|
71
|
+
});
|
|
72
|
+
it("durably resumes the next bounded unit after a worker restart", () => {
|
|
73
|
+
const root = makeRoot();
|
|
74
|
+
const calls = [];
|
|
75
|
+
const target = {
|
|
76
|
+
maintenanceAreaIds: () => ["root:beta", "root:alpha"],
|
|
77
|
+
maintainArea: (areaId) => calls.push(areaId),
|
|
78
|
+
};
|
|
79
|
+
const firstStore = AreaMaintenanceCursorStore.open({ rootDir: root, journalSlug: "personal-vault", layoutEpoch: 1 });
|
|
80
|
+
expect(runBoundedAreaMaintenance(target, firstStore, "daily-2").outcome).toMatchObject({ areaId: "root:alpha" });
|
|
81
|
+
const restartedStore = AreaMaintenanceCursorStore.open({ rootDir: root, journalSlug: "personal-vault", layoutEpoch: 1 });
|
|
82
|
+
expect(runBoundedAreaMaintenance(target, restartedStore, "daily-2").outcome).toMatchObject({ areaId: "root:beta" });
|
|
83
|
+
expect(calls).toEqual(["root:alpha", "root:beta"]);
|
|
84
|
+
});
|
|
85
|
+
it("finishes an incomplete sweep when the scheduler advances to a new day", () => {
|
|
86
|
+
const root = makeRoot();
|
|
87
|
+
const calls = [];
|
|
88
|
+
const target = {
|
|
89
|
+
maintenanceAreaIds: () => ["root:alpha", "root:beta"],
|
|
90
|
+
maintainArea: (areaId) => calls.push(areaId),
|
|
91
|
+
};
|
|
92
|
+
const cursor = AreaMaintenanceCursorStore.open({ rootDir: root, journalSlug: "personal-vault", layoutEpoch: 1 });
|
|
93
|
+
expect(runBoundedAreaMaintenance(target, cursor, "2026-08-27").outcome)
|
|
94
|
+
.toMatchObject({ areaId: "root:alpha" });
|
|
95
|
+
expect(runBoundedAreaMaintenance(target, cursor, "2026-08-28").outcome)
|
|
96
|
+
.toMatchObject({ areaId: "root:beta" });
|
|
97
|
+
expect(calls).toEqual(["root:alpha", "root:beta"]);
|
|
98
|
+
});
|
|
99
|
+
});
|
|
100
|
+
//# sourceMappingURL=per-area-maintenance.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"per-area-maintenance.test.js","sourceRoot":"","sources":["../../src/sync/per-area-maintenance.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Low-cardinality telemetry contract for coordinator-owned realtime work.
|
|
3
|
+
*
|
|
4
|
+
* The values are per-item observations and every timing carries an explicit
|
|
5
|
+
* denominator. Paths, causality IDs, area IDs, tenant IDs, and worker PIDs are
|
|
6
|
+
* intentionally excluded: they belong in bounded diagnostic traces, never in
|
|
7
|
+
* metric labels.
|
|
8
|
+
*/
|
|
9
|
+
export declare const REALTIME_TELEMETRY_EVENT = "sync.realtime.timing";
|
|
10
|
+
export declare const REALTIME_TELEMETRY_SCHEMA_VERSION = 1;
|
|
11
|
+
export declare const REALTIME_TIMING_STAGES: readonly ["queue", "conflict", "worker", "operationGate", "appendLock", "network", "commit"];
|
|
12
|
+
export type RealtimeTimingStage = (typeof REALTIME_TIMING_STAGES)[number];
|
|
13
|
+
export type RealtimeTelemetrySource = "watcher" | "receiver" | "wake";
|
|
14
|
+
export type RealtimeTelemetryDirection = "push" | "pull";
|
|
15
|
+
export type RealtimeTelemetryOutcome = "durable" | "retryable" | "refused";
|
|
16
|
+
export type RealtimeTelemetryRecord = {
|
|
17
|
+
event: typeof REALTIME_TELEMETRY_EVENT;
|
|
18
|
+
schemaVersion: typeof REALTIME_TELEMETRY_SCHEMA_VERSION;
|
|
19
|
+
source: RealtimeTelemetrySource;
|
|
20
|
+
direction: RealtimeTelemetryDirection;
|
|
21
|
+
outcome: RealtimeTelemetryOutcome;
|
|
22
|
+
items: number;
|
|
23
|
+
timingMs: Record<RealtimeTimingStage, number>;
|
|
24
|
+
denominator: Record<RealtimeTimingStage, number>;
|
|
25
|
+
};
|
|
26
|
+
export type RealtimeTelemetrySink = (record: RealtimeTelemetryRecord) => void;
|
|
27
|
+
export type RealtimeTelemetryClock = () => number;
|
|
28
|
+
/** Reject dynamic dimensions before they can become a metric-key convention. */
|
|
29
|
+
export declare function assertRealtimeTelemetryLowCardinality(record: RealtimeTelemetryRecord): void;
|
|
30
|
+
/**
|
|
31
|
+
* A bridge executor currently exposes one composite sync pass. It marks all
|
|
32
|
+
* seven contract stages around that pass so dashboards remain denominator-safe
|
|
33
|
+
* while child workers gain finer internal probes. The stages are separately
|
|
34
|
+
* named now, so that refinement does not change the published schema.
|
|
35
|
+
*/
|
|
36
|
+
export declare class RealtimeTelemetrySpan {
|
|
37
|
+
private readonly source;
|
|
38
|
+
private readonly direction;
|
|
39
|
+
private readonly items;
|
|
40
|
+
private readonly sink;
|
|
41
|
+
private readonly now;
|
|
42
|
+
private readonly startedAt;
|
|
43
|
+
private readonly marks;
|
|
44
|
+
constructor(source: RealtimeTelemetrySource, direction: RealtimeTelemetryDirection, items: number, sink: RealtimeTelemetrySink, now?: RealtimeTelemetryClock);
|
|
45
|
+
mark(stage: RealtimeTimingStage): void;
|
|
46
|
+
finish(outcome: RealtimeTelemetryOutcome): RealtimeTelemetryRecord;
|
|
47
|
+
}
|
|
48
|
+
export declare function writeRealtimeTelemetryToStderr(record: RealtimeTelemetryRecord): void;
|
|
49
|
+
//# sourceMappingURL=realtime-telemetry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"realtime-telemetry.d.ts","sourceRoot":"","sources":["../../src/sync/realtime-telemetry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,eAAO,MAAM,wBAAwB,yBAAyB,CAAC;AAC/D,eAAO,MAAM,iCAAiC,IAAI,CAAC;AAEnD,eAAO,MAAM,sBAAsB,8FAQzB,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC1E,MAAM,MAAM,uBAAuB,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;AACtE,MAAM,MAAM,0BAA0B,GAAG,MAAM,GAAG,MAAM,CAAC;AACzD,MAAM,MAAM,wBAAwB,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;AAE3E,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,OAAO,wBAAwB,CAAC;IACvC,aAAa,EAAE,OAAO,iCAAiC,CAAC;IACxD,MAAM,EAAE,uBAAuB,CAAC;IAChC,SAAS,EAAE,0BAA0B,CAAC;IACtC,OAAO,EAAE,wBAAwB,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;IAC9C,WAAW,EAAE,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,CAAC,MAAM,EAAE,uBAAuB,KAAK,IAAI,CAAC;AAC9E,MAAM,MAAM,sBAAsB,GAAG,MAAM,MAAM,CAAC;AAclD,gFAAgF;AAChF,wBAAgB,qCAAqC,CAAC,MAAM,EAAE,uBAAuB,GAAG,IAAI,CAa3F;AAED;;;;;GAKG;AACH,qBAAa,qBAAqB;IAK9B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,GAAG;IARtB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA0C;gBAG7C,MAAM,EAAE,uBAAuB,EAC/B,SAAS,EAAE,0BAA0B,EACrC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,qBAAqB,EAC3B,GAAG,GAAE,sBAAiC;IAKzD,IAAI,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI;IAItC,MAAM,CAAC,OAAO,EAAE,wBAAwB,GAAG,uBAAuB;CAwBnE;AAED,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,uBAAuB,GAAG,IAAI,CAEpF"}
|