@indigoai-us/hq-cloud 6.18.95 → 6.18.97
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-company.d.ts.map +1 -1
- package/dist/bin/sync-runner-company.js +3 -0
- package/dist/bin/sync-runner-company.js.map +1 -1
- package/dist/bin/sync-runner-watch-loop.d.ts.map +1 -1
- package/dist/bin/sync-runner-watch-loop.js +12 -3
- package/dist/bin/sync-runner-watch-loop.js.map +1 -1
- package/dist/bin/sync-runner.d.ts +8 -0
- package/dist/bin/sync-runner.d.ts.map +1 -1
- package/dist/bin/sync-runner.js +8 -2
- package/dist/bin/sync-runner.js.map +1 -1
- package/dist/cli/conflict.d.ts +12 -1
- package/dist/cli/conflict.d.ts.map +1 -1
- package/dist/cli/conflict.js +6 -2
- package/dist/cli/conflict.js.map +1 -1
- package/dist/cli/rescue-core.d.ts +3 -2
- package/dist/cli/rescue-core.d.ts.map +1 -1
- package/dist/cli/rescue-core.js +144 -21
- package/dist/cli/rescue-core.js.map +1 -1
- package/dist/cli/rescue.d.ts +9 -1
- package/dist/cli/rescue.d.ts.map +1 -1
- package/dist/cli/rescue.js +47 -11
- package/dist/cli/rescue.js.map +1 -1
- package/dist/cli/share.d.ts +18 -0
- package/dist/cli/share.d.ts.map +1 -1
- package/dist/cli/share.js +46 -5
- package/dist/cli/share.js.map +1 -1
- package/dist/cli/sync.d.ts +37 -1
- package/dist/cli/sync.d.ts.map +1 -1
- package/dist/cli/sync.js +156 -14
- package/dist/cli/sync.js.map +1 -1
- package/dist/cli/tombstones.d.ts +8 -0
- package/dist/cli/tombstones.d.ts.map +1 -1
- package/dist/cli/tombstones.js +9 -0
- package/dist/cli/tombstones.js.map +1 -1
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +61 -79
- package/dist/context.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/journal.d.ts +57 -0
- package/dist/journal.d.ts.map +1 -1
- package/dist/journal.js +242 -0
- package/dist/journal.js.map +1 -1
- package/dist/lib/net-errors.d.ts +14 -0
- package/dist/lib/net-errors.d.ts.map +1 -1
- package/dist/lib/net-errors.js +49 -0
- package/dist/lib/net-errors.js.map +1 -1
- package/dist/lib/server-owned-skips.d.ts +64 -0
- package/dist/lib/server-owned-skips.d.ts.map +1 -0
- package/dist/lib/server-owned-skips.js +182 -0
- package/dist/lib/server-owned-skips.js.map +1 -0
- package/dist/sync/state-store.d.ts +8 -1
- package/dist/sync/state-store.d.ts.map +1 -1
- package/dist/sync/state-store.js +96 -9
- package/dist/sync/state-store.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plain-language report of the server-owned vault paths that sync skips.
|
|
3
|
+
*
|
|
4
|
+
* Push refuses to upload server-owned paths (see `isLocallyIneligibleForPush`
|
|
5
|
+
* in ./cloud-authoritative.ts). That refusal is correct, but it used to be
|
|
6
|
+
* reported only as a count, so a user who wrote a file under `sources/` or
|
|
7
|
+
* `signals/` saw the file never reach the cloud and concluded that sync was
|
|
8
|
+
* broken. This module names each skipped folder and says why it is skipped.
|
|
9
|
+
*
|
|
10
|
+
* It reads only. It does not change which paths are server-owned, does not
|
|
11
|
+
* upload or ingest local files, and does not change permissions. The
|
|
12
|
+
* classifier delegates to `isLocallyIneligibleForPush`, so the report and the
|
|
13
|
+
* push refusal cannot disagree about which paths are skipped.
|
|
14
|
+
*/
|
|
15
|
+
import * as fs from "fs";
|
|
16
|
+
import * as path from "path";
|
|
17
|
+
import { isTombstone } from "../journal.js";
|
|
18
|
+
import { isLocallyIneligibleForPush } from "./cloud-authoritative.js";
|
|
19
|
+
/**
|
|
20
|
+
* Server-owned folders, most specific first. `sources/slack-dm/` is listed
|
|
21
|
+
* before `sources/` so Slack DM files get their own line.
|
|
22
|
+
*/
|
|
23
|
+
export const SERVER_OWNED_FOLDERS = [
|
|
24
|
+
{
|
|
25
|
+
folder: "sources/slack-dm/",
|
|
26
|
+
reason: "The server writes these Slack DM files for each person. Sync downloads them but never uploads local changes.",
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
folder: "sources/",
|
|
30
|
+
reason: "The server writes these from connected integrations and ingestion. Sync downloads them but never uploads local changes. Add sources through the integration or ingestion flow.",
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
folder: "signals/",
|
|
34
|
+
reason: "The server's signals pipeline writes these. Sync downloads them but never uploads local changes.",
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
folder: "ontology/",
|
|
38
|
+
reason: "The server's ontology gardener writes these. Sync downloads them but never uploads local changes, except entity files when checkpoint ontology push is on for the company.",
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
folder: "company-brief.md",
|
|
42
|
+
reason: "The server regenerates the company brief. Sync downloads it but never uploads local changes.",
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
folder: "secrets/",
|
|
46
|
+
reason: "The server manages these credentials. Sync never uploads or downloads them, and local copies stay where they are.",
|
|
47
|
+
},
|
|
48
|
+
];
|
|
49
|
+
function toVaultRelative(relPath) {
|
|
50
|
+
return relPath
|
|
51
|
+
.split("\\")
|
|
52
|
+
.join("/")
|
|
53
|
+
.replace(/^\.?\//, "")
|
|
54
|
+
.replace(/^companies\/[^/]+\//, "");
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* The server-owned folder a path belongs to, or undefined when push would
|
|
58
|
+
* upload it. Accepts a vault-relative or hqRoot-relative (`companies/<slug>/…`)
|
|
59
|
+
* path. board.json is client-owned for push and is never reported.
|
|
60
|
+
*/
|
|
61
|
+
export function serverOwnedSkipFolder(relPath, options = {}) {
|
|
62
|
+
if (!isLocallyIneligibleForPush(relPath, {
|
|
63
|
+
boardClientOwned: true,
|
|
64
|
+
ontologyEntityPush: options.ontologyEntityPush,
|
|
65
|
+
})) {
|
|
66
|
+
return undefined;
|
|
67
|
+
}
|
|
68
|
+
const vaultRel = toVaultRelative(relPath);
|
|
69
|
+
return SERVER_OWNED_FOLDERS.find((entry) => entry.folder.endsWith("/") ? vaultRel.startsWith(entry.folder) : vaultRel === entry.folder);
|
|
70
|
+
}
|
|
71
|
+
export const SERVER_OWNED_SKIP_SAMPLE_CAP = 3;
|
|
72
|
+
/**
|
|
73
|
+
* Group skipped paths by server-owned folder, in {@link SERVER_OWNED_FOLDERS}
|
|
74
|
+
* order. Paths that push would upload are ignored.
|
|
75
|
+
*/
|
|
76
|
+
export function groupServerOwnedSkips(paths, options = {}) {
|
|
77
|
+
const sampleCap = options.sampleCap ?? SERVER_OWNED_SKIP_SAMPLE_CAP;
|
|
78
|
+
const byFolder = new Map();
|
|
79
|
+
for (const relPath of paths) {
|
|
80
|
+
const entry = serverOwnedSkipFolder(relPath, options);
|
|
81
|
+
if (!entry)
|
|
82
|
+
continue;
|
|
83
|
+
const list = byFolder.get(entry.folder) ?? [];
|
|
84
|
+
list.push(relPath);
|
|
85
|
+
byFolder.set(entry.folder, list);
|
|
86
|
+
}
|
|
87
|
+
const groups = [];
|
|
88
|
+
for (const entry of SERVER_OWNED_FOLDERS) {
|
|
89
|
+
const list = byFolder.get(entry.folder);
|
|
90
|
+
if (!list)
|
|
91
|
+
continue;
|
|
92
|
+
list.sort();
|
|
93
|
+
groups.push({ ...entry, count: list.length, samplePaths: list.slice(0, sampleCap) });
|
|
94
|
+
}
|
|
95
|
+
return groups;
|
|
96
|
+
}
|
|
97
|
+
const IGNORED_BASENAMES = new Set([".DS_Store", "Thumbs.db"]);
|
|
98
|
+
function walkFiles(absDir, relDir, out) {
|
|
99
|
+
let entries;
|
|
100
|
+
try {
|
|
101
|
+
entries = fs.readdirSync(absDir, { withFileTypes: true });
|
|
102
|
+
}
|
|
103
|
+
catch {
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
for (const entry of entries) {
|
|
107
|
+
if (IGNORED_BASENAMES.has(entry.name) || entry.name.startsWith("._"))
|
|
108
|
+
continue;
|
|
109
|
+
const rel = `${relDir}/${entry.name}`;
|
|
110
|
+
// Links are listed but never followed, so the scan stays inside the vault.
|
|
111
|
+
if (entry.isDirectory())
|
|
112
|
+
walkFiles(path.join(absDir, entry.name), rel, out);
|
|
113
|
+
else
|
|
114
|
+
out.push(rel);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Scan a company folder for files under server-owned paths and split them by
|
|
119
|
+
* whether sync tracks them. Only the server-owned top-level entries are read,
|
|
120
|
+
* so the cost does not grow with the rest of the vault.
|
|
121
|
+
*/
|
|
122
|
+
export function scanServerOwnedSkips(options) {
|
|
123
|
+
const found = [];
|
|
124
|
+
const topLevel = new Set(SERVER_OWNED_FOLDERS.map((entry) => entry.folder.split("/")[0]));
|
|
125
|
+
for (const name of topLevel) {
|
|
126
|
+
const abs = path.join(options.companyRoot, name);
|
|
127
|
+
let stat;
|
|
128
|
+
try {
|
|
129
|
+
stat = fs.lstatSync(abs);
|
|
130
|
+
}
|
|
131
|
+
catch {
|
|
132
|
+
continue;
|
|
133
|
+
}
|
|
134
|
+
if (stat.isDirectory())
|
|
135
|
+
walkFiles(abs, name, found);
|
|
136
|
+
else
|
|
137
|
+
found.push(name);
|
|
138
|
+
}
|
|
139
|
+
const files = options.journal?.files ?? {};
|
|
140
|
+
const localOnly = [];
|
|
141
|
+
const tracked = [];
|
|
142
|
+
for (const relPath of found) {
|
|
143
|
+
const row = files[relPath];
|
|
144
|
+
if (row && !isTombstone(row))
|
|
145
|
+
tracked.push(relPath);
|
|
146
|
+
else
|
|
147
|
+
localOnly.push(relPath);
|
|
148
|
+
}
|
|
149
|
+
const groupOptions = {
|
|
150
|
+
ontologyEntityPush: options.ontologyEntityPush,
|
|
151
|
+
sampleCap: options.sampleCap,
|
|
152
|
+
};
|
|
153
|
+
return {
|
|
154
|
+
localOnly: groupServerOwnedSkips(localOnly, groupOptions),
|
|
155
|
+
tracked: groupServerOwnedSkips(tracked, groupOptions),
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
function plural(count, one, many) {
|
|
159
|
+
return `${count} ${count === 1 ? one : many}`;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Human lines for a status surface such as `hq sync status`. Returns no lines
|
|
163
|
+
* when nothing is skipped.
|
|
164
|
+
*/
|
|
165
|
+
export function formatServerOwnedSkipReport(report) {
|
|
166
|
+
if (report.localOnly.length === 0 && report.tracked.length === 0)
|
|
167
|
+
return [];
|
|
168
|
+
const lines = ["Server-owned paths (sync does not upload these):"];
|
|
169
|
+
for (const group of report.localOnly) {
|
|
170
|
+
lines.push(` ${group.folder}: ${plural(group.count, "local file was", "local files were")} not uploaded. ${group.reason}`);
|
|
171
|
+
for (const sample of group.samplePaths)
|
|
172
|
+
lines.push(` · ${sample}`);
|
|
173
|
+
if (group.count > group.samplePaths.length) {
|
|
174
|
+
lines.push(` ... and ${group.count - group.samplePaths.length} more`);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
for (const group of report.tracked) {
|
|
178
|
+
lines.push(` ${group.folder}: ${plural(group.count, "file is", "files are")} kept in step with the cloud copy by pull. ${group.reason}`);
|
|
179
|
+
}
|
|
180
|
+
return lines;
|
|
181
|
+
}
|
|
182
|
+
//# sourceMappingURL=server-owned-skips.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server-owned-skips.js","sourceRoot":"","sources":["../../src/lib/server-owned-skips.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAStE;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAiC;IAChE;QACE,MAAM,EAAE,mBAAmB;QAC3B,MAAM,EACJ,8GAA8G;KACjH;IACD;QACE,MAAM,EAAE,UAAU;QAClB,MAAM,EACJ,gLAAgL;KACnL;IACD;QACE,MAAM,EAAE,UAAU;QAClB,MAAM,EACJ,kGAAkG;KACrG;IACD;QACE,MAAM,EAAE,WAAW;QACnB,MAAM,EACJ,4KAA4K;KAC/K;IACD;QACE,MAAM,EAAE,kBAAkB;QAC1B,MAAM,EACJ,8FAA8F;KACjG;IACD;QACE,MAAM,EAAE,UAAU;QAClB,MAAM,EACJ,mHAAmH;KACtH;CACF,CAAC;AAEF,SAAS,eAAe,CAAC,OAAe;IACtC,OAAO,OAAO;SACX,KAAK,CAAC,IAAI,CAAC;SACX,IAAI,CAAC,GAAG,CAAC;SACT,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;AACxC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAAe,EACf,UAA4C,EAAE;IAE9C,IACE,CAAC,0BAA0B,CAAC,OAAO,EAAE;QACnC,gBAAgB,EAAE,IAAI;QACtB,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;KAC/C,CAAC,EACF,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAC1C,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CACzC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,MAAM,CAC3F,CAAC;AACJ,CAAC;AASD,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC;AAE9C;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CACnC,KAAuB,EACvB,UAAgE,EAAE;IAElE,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,4BAA4B,CAAC;IACpE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC7C,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC9C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnB,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IACD,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,KAAK,IAAI,oBAAoB,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAeD,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;AAE9D,SAAS,SAAS,CAAC,MAAc,EAAE,MAAc,EAAE,GAAa;IAC9D,IAAI,OAAoB,CAAC;IACzB,IAAI,CAAC;QACH,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,SAAS;QAC/E,MAAM,GAAG,GAAG,GAAG,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACtC,2EAA2E;QAC3E,IAAI,KAAK,CAAC,WAAW,EAAE;YAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;;YACvE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAKpC;IACC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1F,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACjD,IAAI,IAAc,CAAC;QACnB,IAAI,CAAC;YACH,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,EAAE;YAAE,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;;YAC/C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC;IAC3C,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3B,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;;YAC/C,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IACD,MAAM,YAAY,GAAG;QACnB,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;QAC9C,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC;IACF,OAAO;QACL,SAAS,EAAE,qBAAqB,CAAC,SAAS,EAAE,YAAY,CAAC;QACzD,OAAO,EAAE,qBAAqB,CAAC,OAAO,EAAE,YAAY,CAAC;KACtD,CAAC;AACJ,CAAC;AAED,SAAS,MAAM,CAAC,KAAa,EAAE,GAAW,EAAE,IAAY;IACtD,OAAO,GAAG,KAAK,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAChD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CAAC,MAA6B;IACvE,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC5E,MAAM,KAAK,GAAa,CAAC,kDAAkD,CAAC,CAAC;IAC7E,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CACR,KAAK,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,kBAAkB,KAAK,CAAC,MAAM,EAAE,CAChH,CAAC;QACF,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,WAAW;YAAE,KAAK,CAAC,IAAI,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;QACtE,IAAI,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;YAC3C,KAAK,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,OAAO,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,CACR,KAAK,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,8CAA8C,KAAK,CAAC,MAAM,EAAE,CAC9H,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -248,7 +248,13 @@ export declare class StateStoreCorruptionError extends Error {
|
|
|
248
248
|
}
|
|
249
249
|
/** A well-formed WAL record this client version's reducer cannot read. */
|
|
250
250
|
export interface StateStoreRecoveryMarker {
|
|
251
|
-
|
|
251
|
+
/**
|
|
252
|
+
* `rebuilt_from_prefix`: a reducer-rejected WAL suffix was quarantined and
|
|
253
|
+
* the valid prefix kept. `rebuilt_empty`: no snapshot/WAL generation could
|
|
254
|
+
* be read at all, so every generation file was quarantined and the store
|
|
255
|
+
* restarted empty. Both hold remote deletes until a full listing.
|
|
256
|
+
*/
|
|
257
|
+
kind: "rebuilt_from_prefix" | "rebuilt_empty";
|
|
252
258
|
createdAt: string;
|
|
253
259
|
quarantinePath: string;
|
|
254
260
|
}
|
|
@@ -287,6 +293,7 @@ export declare class StateStoreLockError extends Error {
|
|
|
287
293
|
reason?: StateStoreLockErrorReason;
|
|
288
294
|
});
|
|
289
295
|
}
|
|
296
|
+
export declare function isStateStoreNoValidGenerationError(error: unknown): boolean;
|
|
290
297
|
/** A recovered v3 store. `append` is the ordinary hot path. */
|
|
291
298
|
export declare class StateStore<T> {
|
|
292
299
|
private readonly options;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-store.d.ts","sourceRoot":"","sources":["../../src/sync/state-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"state-store.d.ts","sourceRoot":"","sources":["../../src/sync/state-store.ts"],"names":[],"mappings":"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"}
|
package/dist/sync/state-store.js
CHANGED
|
@@ -349,7 +349,7 @@ export function readStateStoreRecoveryMarker(rootDir, scopeId) {
|
|
|
349
349
|
if (!parsed || typeof parsed !== "object")
|
|
350
350
|
throw new Error(`state-store: invalid recovery marker at ${markerPath}`);
|
|
351
351
|
const marker = parsed;
|
|
352
|
-
if (marker.kind !== "rebuilt_from_prefix" || typeof marker.createdAt !== "string" || typeof marker.quarantinePath !== "string") {
|
|
352
|
+
if ((marker.kind !== "rebuilt_from_prefix" && marker.kind !== "rebuilt_empty") || typeof marker.createdAt !== "string" || typeof marker.quarantinePath !== "string") {
|
|
353
353
|
throw new Error(`state-store: invalid recovery marker at ${markerPath}`);
|
|
354
354
|
}
|
|
355
355
|
return marker;
|
|
@@ -433,6 +433,17 @@ class StateStoreReducerError extends Error {
|
|
|
433
433
|
/** A sampled generation disappeared while it was being read off-lock. */
|
|
434
434
|
class StateStoreGenerationMissingError extends StateStoreCorruptionError {
|
|
435
435
|
}
|
|
436
|
+
/**
|
|
437
|
+
* Marks a StateStoreCorruptionError raised because every snapshot/WAL
|
|
438
|
+
* generation on disk failed its integrity checks. A property, not a subclass:
|
|
439
|
+
* diagnostics (manifest ledgerUnavailable, journal ledger index) report the
|
|
440
|
+
* constructor name, which must stay "StateStoreCorruptionError".
|
|
441
|
+
*/
|
|
442
|
+
const NO_VALID_GENERATION = Symbol("state-store.no-valid-generation");
|
|
443
|
+
export function isStateStoreNoValidGenerationError(error) {
|
|
444
|
+
return error instanceof StateStoreCorruptionError &&
|
|
445
|
+
error[NO_VALID_GENERATION] === true;
|
|
446
|
+
}
|
|
436
447
|
/** A recovered v3 store. `append` is the ordinary hot path. */
|
|
437
448
|
export class StateStore {
|
|
438
449
|
options;
|
|
@@ -483,9 +494,17 @@ export class StateStore {
|
|
|
483
494
|
recovered = readNewestGenerationOptimistically(dir, scopeDigest, normalized.reduce, normalized.snapshotDecoder, normalized.snapshotMagics);
|
|
484
495
|
}
|
|
485
496
|
catch (error) {
|
|
486
|
-
if (!normalized.recoverRejectedDelta
|
|
497
|
+
if (!normalized.recoverRejectedDelta)
|
|
487
498
|
throw error;
|
|
488
|
-
|
|
499
|
+
if (isReducerRejectedGeneration(error)) {
|
|
500
|
+
recovered = recoverRejectedDeltaGeneration(dir, scopeDigest, normalized);
|
|
501
|
+
}
|
|
502
|
+
else if (isNoValidGeneration(error)) {
|
|
503
|
+
recovered = recoverNoValidGeneration(dir, scopeDigest, normalized);
|
|
504
|
+
}
|
|
505
|
+
else {
|
|
506
|
+
throw error;
|
|
507
|
+
}
|
|
489
508
|
}
|
|
490
509
|
if (recovered) {
|
|
491
510
|
const store = new StateStore(normalized, recovered, false);
|
|
@@ -539,9 +558,17 @@ export class StateStore {
|
|
|
539
558
|
recovered = await readNewestGenerationOptimisticallyAsync(dir, scopeDigest, normalized.reduce, normalized.snapshotDecoder, normalized.snapshotMagics);
|
|
540
559
|
}
|
|
541
560
|
catch (error) {
|
|
542
|
-
if (!normalized.recoverRejectedDelta
|
|
561
|
+
if (!normalized.recoverRejectedDelta)
|
|
562
|
+
throw error;
|
|
563
|
+
if (isReducerRejectedGeneration(error)) {
|
|
564
|
+
recovered = recoverRejectedDeltaGeneration(dir, scopeDigest, normalized);
|
|
565
|
+
}
|
|
566
|
+
else if (isNoValidGeneration(error)) {
|
|
567
|
+
recovered = recoverNoValidGeneration(dir, scopeDigest, normalized);
|
|
568
|
+
}
|
|
569
|
+
else {
|
|
543
570
|
throw error;
|
|
544
|
-
|
|
571
|
+
}
|
|
545
572
|
}
|
|
546
573
|
if (recovered) {
|
|
547
574
|
const store = new StateStore(normalized, recovered, false);
|
|
@@ -1385,6 +1412,62 @@ function isReducerRejectedGeneration(error) {
|
|
|
1385
1412
|
return reducerError instanceof StateStoreReducerError &&
|
|
1386
1413
|
!(reducerError.cause instanceof StateStoreUnsupportedRecordTypeError);
|
|
1387
1414
|
}
|
|
1415
|
+
function isNoValidGeneration(error) {
|
|
1416
|
+
return isStateStoreNoValidGenerationError(error);
|
|
1417
|
+
}
|
|
1418
|
+
/**
|
|
1419
|
+
* Every generation on disk is unreadable (bad checksums, torn snapshots, a
|
|
1420
|
+
* missing pair). Without this the scope fails every open forever and the user
|
|
1421
|
+
* has to delete state by hand. Under the scope lock, re-check (a torn tail is
|
|
1422
|
+
* repaired by the locked read), then move every generation file into a
|
|
1423
|
+
* quarantine folder, write the recovery marker so remote deletes are held
|
|
1424
|
+
* until a full authoritative listing, and start a fresh empty generation.
|
|
1425
|
+
* No bytes are discarded.
|
|
1426
|
+
*/
|
|
1427
|
+
function recoverNoValidGeneration(dir, scopeDigest, options) {
|
|
1428
|
+
return withScopeLock(dir, () => {
|
|
1429
|
+
cleanupUnpublishedInitialGeneration(dir);
|
|
1430
|
+
try {
|
|
1431
|
+
const readable = readNewestGeneration(dir, scopeDigest, options.reduce, options.snapshotDecoder, options.snapshotMagics, undefined, true);
|
|
1432
|
+
if (readable)
|
|
1433
|
+
return readable;
|
|
1434
|
+
}
|
|
1435
|
+
catch (error) {
|
|
1436
|
+
if (!isNoValidGeneration(error))
|
|
1437
|
+
throw error;
|
|
1438
|
+
}
|
|
1439
|
+
const names = fs.readdirSync(dir).filter((name) => name === "current" || /^(?:snapshot|wal)-\d+\.bin$/.test(name));
|
|
1440
|
+
const highest = highestGenerationOnDisk(dir);
|
|
1441
|
+
const quarantinePath = path.join(dir, `quarantine-${Date.now()}-${crypto.randomBytes(5).toString("hex")}`);
|
|
1442
|
+
try {
|
|
1443
|
+
fs.mkdirSync(quarantinePath);
|
|
1444
|
+
for (const name of names)
|
|
1445
|
+
fs.renameSync(path.join(dir, name), path.join(quarantinePath, name));
|
|
1446
|
+
fsyncDirectory(quarantinePath);
|
|
1447
|
+
fsyncDirectory(dir);
|
|
1448
|
+
const marker = {
|
|
1449
|
+
kind: "rebuilt_empty",
|
|
1450
|
+
createdAt: new Date().toISOString(),
|
|
1451
|
+
quarantinePath,
|
|
1452
|
+
};
|
|
1453
|
+
writeDurableTempThenRename(dir, recoveryMarkerPath(dir), [Buffer.from(JSON.stringify(marker), "utf8")]);
|
|
1454
|
+
const next = {
|
|
1455
|
+
generation: highest + 1,
|
|
1456
|
+
state: options.initialState,
|
|
1457
|
+
lastRecordSequence: 0,
|
|
1458
|
+
recordCount: 0,
|
|
1459
|
+
walBytes: WAL_HEADER_BYTES,
|
|
1460
|
+
maxReadBytes: 0,
|
|
1461
|
+
};
|
|
1462
|
+
writeGeneration(dir, scopeDigest, next, options.snapshotEncoder);
|
|
1463
|
+
writeCurrentPointer(dir, next.generation);
|
|
1464
|
+
return next;
|
|
1465
|
+
}
|
|
1466
|
+
catch (error) {
|
|
1467
|
+
throw new Error(`state-store: unreadable-generation recovery failed; inspect state path ${dir} and preserve ${quarantinePath}`, { cause: error });
|
|
1468
|
+
}
|
|
1469
|
+
});
|
|
1470
|
+
}
|
|
1388
1471
|
function recoveryMarkerPath(dir) {
|
|
1389
1472
|
return path.join(dir, "recovery-marker.json");
|
|
1390
1473
|
}
|
|
@@ -1500,12 +1583,16 @@ function readNewestGeneration(dir, scopeDigest, reduce, snapshotDecoder, snapsho
|
|
|
1500
1583
|
}
|
|
1501
1584
|
}
|
|
1502
1585
|
if (generations.length > 0) {
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
1586
|
+
if (sawMissingGeneration) {
|
|
1587
|
+
throw new StateStoreGenerationMissingError("no valid snapshot/WAL generation remains", {
|
|
1588
|
+
cause: errors[0],
|
|
1589
|
+
});
|
|
1590
|
+
}
|
|
1591
|
+
const noValid = new StateStoreCorruptionError("no valid snapshot/WAL generation remains", {
|
|
1507
1592
|
cause: errors[0],
|
|
1508
1593
|
});
|
|
1594
|
+
Object.defineProperty(noValid, NO_VALID_GENERATION, { value: true });
|
|
1595
|
+
throw noValid;
|
|
1509
1596
|
}
|
|
1510
1597
|
return undefined;
|
|
1511
1598
|
}
|