@indigoai-us/hq-cloud 6.15.80 → 6.15.82

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.
Files changed (125) hide show
  1. package/dist/backup-prune.d.ts +18 -0
  2. package/dist/backup-prune.d.ts.map +1 -1
  3. package/dist/backup-prune.js +20 -0
  4. package/dist/backup-prune.js.map +1 -1
  5. package/dist/backup-prune.test.js +30 -1
  6. package/dist/backup-prune.test.js.map +1 -1
  7. package/dist/bin/backup-prune-runner.d.ts +4 -1
  8. package/dist/bin/backup-prune-runner.d.ts.map +1 -1
  9. package/dist/bin/backup-prune-runner.js +61 -38
  10. package/dist/bin/backup-prune-runner.js.map +1 -1
  11. package/dist/bin/backup-prune-runner.test.d.ts +2 -0
  12. package/dist/bin/backup-prune-runner.test.d.ts.map +1 -0
  13. package/dist/bin/backup-prune-runner.test.js +22 -0
  14. package/dist/bin/backup-prune-runner.test.js.map +1 -0
  15. package/dist/bin/layout-compatibility.d.ts +12 -0
  16. package/dist/bin/layout-compatibility.d.ts.map +1 -0
  17. package/dist/bin/layout-compatibility.js +50 -0
  18. package/dist/bin/layout-compatibility.js.map +1 -0
  19. package/dist/bin/layout-compatibility.test.d.ts +2 -0
  20. package/dist/bin/layout-compatibility.test.d.ts.map +1 -0
  21. package/dist/bin/layout-compatibility.test.js +87 -0
  22. package/dist/bin/layout-compatibility.test.js.map +1 -0
  23. package/dist/bin/sync-runner-company.d.ts.map +1 -1
  24. package/dist/bin/sync-runner-company.js +15 -0
  25. package/dist/bin/sync-runner-company.js.map +1 -1
  26. package/dist/bin/sync-runner-company.test.js +65 -0
  27. package/dist/bin/sync-runner-company.test.js.map +1 -1
  28. package/dist/bin/sync-runner-events.test.js +20 -0
  29. package/dist/bin/sync-runner-events.test.js.map +1 -1
  30. package/dist/bin/sync-runner-watch-loop.d.ts +9 -0
  31. package/dist/bin/sync-runner-watch-loop.d.ts.map +1 -1
  32. package/dist/bin/sync-runner-watch-loop.js +369 -21
  33. package/dist/bin/sync-runner-watch-loop.js.map +1 -1
  34. package/dist/bin/sync-runner.d.ts +5 -0
  35. package/dist/bin/sync-runner.d.ts.map +1 -1
  36. package/dist/bin/sync-runner.js +11 -1
  37. package/dist/bin/sync-runner.js.map +1 -1
  38. package/dist/bin/sync-runner.test.js +165 -2
  39. package/dist/bin/sync-runner.test.js.map +1 -1
  40. package/dist/cli/share.d.ts.map +1 -1
  41. package/dist/cli/share.js +29 -5
  42. package/dist/cli/share.js.map +1 -1
  43. package/dist/cli/share.test.js +131 -24
  44. package/dist/cli/share.test.js.map +1 -1
  45. package/dist/cli/sync.d.ts +23 -0
  46. package/dist/cli/sync.d.ts.map +1 -1
  47. package/dist/cli/sync.js +72 -7
  48. package/dist/cli/sync.js.map +1 -1
  49. package/dist/cli/sync.test.js +199 -0
  50. package/dist/cli/sync.test.js.map +1 -1
  51. package/dist/cli/watch-event-push-conflict.test.js +22 -11
  52. package/dist/cli/watch-event-push-conflict.test.js.map +1 -1
  53. package/dist/index.d.ts +2 -2
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +1 -1
  56. package/dist/index.js.map +1 -1
  57. package/dist/journal.d.ts +18 -0
  58. package/dist/journal.d.ts.map +1 -1
  59. package/dist/journal.js +41 -17
  60. package/dist/journal.js.map +1 -1
  61. package/dist/journal.test.js +8 -1
  62. package/dist/journal.test.js.map +1 -1
  63. package/dist/outposts/self-deploy.d.ts.map +1 -1
  64. package/dist/outposts/self-deploy.js +10 -1
  65. package/dist/outposts/self-deploy.js.map +1 -1
  66. package/dist/outposts/self-deploy.test.js +4 -1
  67. package/dist/outposts/self-deploy.test.js.map +1 -1
  68. package/dist/s3.d.ts +62 -0
  69. package/dist/s3.d.ts.map +1 -1
  70. package/dist/s3.js +91 -1
  71. package/dist/s3.js.map +1 -1
  72. package/dist/s3.rename-retry.test.d.ts +2 -0
  73. package/dist/s3.rename-retry.test.d.ts.map +1 -0
  74. package/dist/s3.rename-retry.test.js +153 -0
  75. package/dist/s3.rename-retry.test.js.map +1 -0
  76. package/dist/sync/area-ledger-migration.d.ts +8 -1
  77. package/dist/sync/area-ledger-migration.d.ts.map +1 -1
  78. package/dist/sync/area-ledger-migration.js +23 -0
  79. package/dist/sync/area-ledger-migration.js.map +1 -1
  80. package/dist/sync/area-ledger-migration.test.js +20 -0
  81. package/dist/sync/area-ledger-migration.test.js.map +1 -1
  82. package/dist/sync/area-ledger.d.ts +10 -0
  83. package/dist/sync/area-ledger.d.ts.map +1 -1
  84. package/dist/sync/area-ledger.js +11 -0
  85. package/dist/sync/area-ledger.js.map +1 -1
  86. package/dist/sync/feature-flags.d.ts +29 -0
  87. package/dist/sync/feature-flags.d.ts.map +1 -1
  88. package/dist/sync/feature-flags.js +44 -0
  89. package/dist/sync/feature-flags.js.map +1 -1
  90. package/dist/sync/feature-flags.test.js +38 -1
  91. package/dist/sync/feature-flags.test.js.map +1 -1
  92. package/dist/sync/index.d.ts +6 -0
  93. package/dist/sync/index.d.ts.map +1 -1
  94. package/dist/sync/index.js +3 -0
  95. package/dist/sync/index.js.map +1 -1
  96. package/dist/sync/layout-compatibility.d.ts +17 -0
  97. package/dist/sync/layout-compatibility.d.ts.map +1 -0
  98. package/dist/sync/layout-compatibility.js +29 -0
  99. package/dist/sync/layout-compatibility.js.map +1 -0
  100. package/dist/sync/parallel-sync-coordinator.d.ts.map +1 -1
  101. package/dist/sync/parallel-sync-coordinator.js +0 -3
  102. package/dist/sync/parallel-sync-coordinator.js.map +1 -1
  103. package/dist/sync/parallel-sync-coordinator.test.js +14 -0
  104. package/dist/sync/parallel-sync-coordinator.test.js.map +1 -1
  105. package/dist/sync/per-area-maintenance.d.ts +45 -0
  106. package/dist/sync/per-area-maintenance.d.ts.map +1 -0
  107. package/dist/sync/per-area-maintenance.js +131 -0
  108. package/dist/sync/per-area-maintenance.js.map +1 -0
  109. package/dist/sync/per-area-maintenance.test.d.ts +2 -0
  110. package/dist/sync/per-area-maintenance.test.d.ts.map +1 -0
  111. package/dist/sync/per-area-maintenance.test.js +100 -0
  112. package/dist/sync/per-area-maintenance.test.js.map +1 -0
  113. package/dist/sync/realtime-telemetry.d.ts +49 -0
  114. package/dist/sync/realtime-telemetry.d.ts.map +1 -0
  115. package/dist/sync/realtime-telemetry.js +101 -0
  116. package/dist/sync/realtime-telemetry.js.map +1 -0
  117. package/dist/sync/realtime-telemetry.test.d.ts +2 -0
  118. package/dist/sync/realtime-telemetry.test.d.ts.map +1 -0
  119. package/dist/sync/realtime-telemetry.test.js +64 -0
  120. package/dist/sync/realtime-telemetry.test.js.map +1 -0
  121. package/dist/sync/state-store.d.ts +10 -0
  122. package/dist/sync/state-store.d.ts.map +1 -1
  123. package/dist/sync/state-store.js +18 -0
  124. package/dist/sync/state-store.js.map +1 -1
  125. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"parallel-sync-coordinator.test.js","sourceRoot":"","sources":["../../src/sync/parallel-sync-coordinator.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parallel-sync-coordinator.test.js","sourceRoot":"","sources":["../../src/sync/parallel-sync-coordinator.test.ts"],"names":[],"mappings":"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"}
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=per-area-maintenance.test.d.ts.map
@@ -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"}
@@ -0,0 +1,101 @@
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 const REALTIME_TELEMETRY_EVENT = "sync.realtime.timing";
10
+ export const REALTIME_TELEMETRY_SCHEMA_VERSION = 1;
11
+ export const REALTIME_TIMING_STAGES = [
12
+ "queue",
13
+ "conflict",
14
+ "worker",
15
+ "operationGate",
16
+ "appendLock",
17
+ "network",
18
+ "commit",
19
+ ];
20
+ const sourceValues = new Set(["watcher", "receiver", "wake"]);
21
+ const directionValues = new Set(["push", "pull"]);
22
+ const outcomeValues = new Set(["durable", "retryable", "refused"]);
23
+ function emptyTiming() {
24
+ return Object.fromEntries(REALTIME_TIMING_STAGES.map((stage) => [stage, 0]));
25
+ }
26
+ function allDenominators(items) {
27
+ return Object.fromEntries(REALTIME_TIMING_STAGES.map((stage) => [stage, items]));
28
+ }
29
+ /** Reject dynamic dimensions before they can become a metric-key convention. */
30
+ export function assertRealtimeTelemetryLowCardinality(record) {
31
+ const allowed = new Set(["event", "schemaVersion", "source", "direction", "outcome", "items", "timingMs", "denominator"]);
32
+ if (Object.keys(record).some((key) => !allowed.has(key))) {
33
+ throw new Error("realtime telemetry: record contains a high-cardinality label");
34
+ }
35
+ if (!sourceValues.has(record.source) || !directionValues.has(record.direction) || !outcomeValues.has(record.outcome)) {
36
+ throw new Error("realtime telemetry: record contains an unsupported label value");
37
+ }
38
+ if (!Number.isSafeInteger(record.items) || record.items < 0)
39
+ throw new Error("realtime telemetry: items must be a non-negative integer");
40
+ for (const stage of REALTIME_TIMING_STAGES) {
41
+ if (!Number.isFinite(record.timingMs[stage]) || record.timingMs[stage] < 0)
42
+ throw new Error(`realtime telemetry: ${stage} timing is invalid`);
43
+ if (record.denominator[stage] !== record.items)
44
+ throw new Error(`realtime telemetry: ${stage} denominator must equal items`);
45
+ }
46
+ }
47
+ /**
48
+ * A bridge executor currently exposes one composite sync pass. It marks all
49
+ * seven contract stages around that pass so dashboards remain denominator-safe
50
+ * while child workers gain finer internal probes. The stages are separately
51
+ * named now, so that refinement does not change the published schema.
52
+ */
53
+ export class RealtimeTelemetrySpan {
54
+ source;
55
+ direction;
56
+ items;
57
+ sink;
58
+ now;
59
+ startedAt;
60
+ marks = new Map();
61
+ constructor(source, direction, items, sink, now = Date.now) {
62
+ this.source = source;
63
+ this.direction = direction;
64
+ this.items = items;
65
+ this.sink = sink;
66
+ this.now = now;
67
+ this.startedAt = now();
68
+ }
69
+ mark(stage) {
70
+ this.marks.set(stage, this.now());
71
+ }
72
+ finish(outcome) {
73
+ const end = this.now();
74
+ const timingMs = emptyTiming();
75
+ const workerStart = this.marks.get("worker") ?? end;
76
+ timingMs.queue = Math.max(0, workerStart - this.startedAt);
77
+ for (const stage of REALTIME_TIMING_STAGES) {
78
+ if (stage === "queue")
79
+ continue;
80
+ const stageStart = this.marks.get(stage) ?? workerStart;
81
+ timingMs[stage] = Math.max(0, end - stageStart);
82
+ }
83
+ const record = {
84
+ event: REALTIME_TELEMETRY_EVENT,
85
+ schemaVersion: REALTIME_TELEMETRY_SCHEMA_VERSION,
86
+ source: this.source,
87
+ direction: this.direction,
88
+ outcome,
89
+ items: this.items,
90
+ timingMs,
91
+ denominator: allDenominators(this.items),
92
+ };
93
+ assertRealtimeTelemetryLowCardinality(record);
94
+ this.sink(record);
95
+ return record;
96
+ }
97
+ }
98
+ export function writeRealtimeTelemetryToStderr(record) {
99
+ process.stderr.write(`${JSON.stringify(record)}\n`);
100
+ }
101
+ //# sourceMappingURL=realtime-telemetry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"realtime-telemetry.js","sourceRoot":"","sources":["../../src/sync/realtime-telemetry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=realtime-telemetry.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"realtime-telemetry.test.d.ts","sourceRoot":"","sources":["../../src/sync/realtime-telemetry.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,64 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { REALTIME_TELEMETRY_EVENT, RealtimeTelemetrySpan, assertRealtimeTelemetryLowCardinality, } from "./realtime-telemetry.js";
3
+ describe("realtime telemetry schema", () => {
4
+ it("emits every required timing with a per-item denominator and stable labels", () => {
5
+ let now = 100;
6
+ const records = [];
7
+ const span = new RealtimeTelemetrySpan("watcher", "push", 2, (record) => records.push(record), () => now);
8
+ now = 110;
9
+ span.mark("worker");
10
+ for (const stage of ["conflict", "operationGate", "appendLock", "network", "commit"])
11
+ span.mark(stage);
12
+ now = 135;
13
+ const record = span.finish("durable");
14
+ expect(records).toEqual([record]);
15
+ expect(record).toEqual({
16
+ event: REALTIME_TELEMETRY_EVENT,
17
+ schemaVersion: 1,
18
+ source: "watcher",
19
+ direction: "push",
20
+ outcome: "durable",
21
+ items: 2,
22
+ timingMs: {
23
+ queue: 10,
24
+ conflict: 25,
25
+ worker: 25,
26
+ operationGate: 25,
27
+ appendLock: 25,
28
+ network: 25,
29
+ commit: 25,
30
+ },
31
+ denominator: {
32
+ queue: 2,
33
+ conflict: 2,
34
+ worker: 2,
35
+ operationGate: 2,
36
+ appendLock: 2,
37
+ network: 2,
38
+ commit: 2,
39
+ },
40
+ });
41
+ });
42
+ it("rejects a path-shaped field before it can create a high-cardinality metric key", () => {
43
+ const record = {
44
+ event: REALTIME_TELEMETRY_EVENT,
45
+ schemaVersion: 1,
46
+ source: "watcher",
47
+ direction: "push",
48
+ outcome: "durable",
49
+ items: 1,
50
+ timingMs: { queue: 0, conflict: 0, worker: 0, operationGate: 0, appendLock: 0, network: 0, commit: 0 },
51
+ denominator: { queue: 1, conflict: 1, worker: 1, operationGate: 1, appendLock: 1, network: 1, commit: 1 },
52
+ path: "companies/indigo/private.md",
53
+ };
54
+ expect(() => assertRealtimeTelemetryLowCardinality(record)).toThrow("high-cardinality");
55
+ });
56
+ it("preserves pathless wake failures as zero-item retryable observations", () => {
57
+ const records = [];
58
+ const record = new RealtimeTelemetrySpan("wake", "pull", 0, (value) => records.push(value)).finish("retryable");
59
+ expect(records).toEqual([record]);
60
+ expect(record).toMatchObject({ source: "wake", outcome: "retryable", items: 0 });
61
+ expect(Object.values(record.denominator)).toEqual([0, 0, 0, 0, 0, 0, 0]);
62
+ });
63
+ });
64
+ //# sourceMappingURL=realtime-telemetry.test.js.map